.gallery-hero { padding: 82px 0 70px; background: linear-gradient(135deg, var(--navy-dark), var(--navy)); }
.gallery-hero-inner { max-width: 760px; text-align: center; }
.gallery-hero .eyebrow { color: #f6d875; text-shadow: 0 1px 10px rgba(0,0,0,.12); }
.gallery-hero h1 { margin: 0 0 18px; color: #fffdf7; font-size: clamp(2.8rem, 7vw, 5.4rem); letter-spacing: -.045em; text-shadow: 0 2px 18px rgba(0,0,0,.16); }
.gallery-hero p:last-child { max-width: 620px; margin: 0 auto; color: rgba(255,253,247,.88); }
.photo-gallery-section { background: var(--ivory); }
.gallery-toolbar { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; margin-bottom: 34px; }
.gallery-filter { padding: 9px 16px; border: 1px solid rgba(23,54,82,.14); border-radius: 999px; background: var(--white); color: #27465f; font-size: .78rem; font-weight: 800; cursor: pointer; transition: .2s ease; }
.gallery-filter:hover, .gallery-filter.active { border-color: var(--gold); background: var(--gold); color: var(--navy-dark); transform: translateY(-1px); }
.club-gallery { columns: 3 280px; column-gap: 16px; }
.club-photo { position: relative; margin: 0 0 16px; break-inside: avoid; overflow: hidden; border-radius: 16px; background: var(--cream); box-shadow: 0 10px 28px rgba(22,52,78,.08); cursor: zoom-in; }
.club-photo img { width: 100%; height: auto; transition: transform .35s ease; }
.club-photo:hover img { transform: scale(1.025); }
.club-photo figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 34px 16px 14px; background: linear-gradient(transparent, rgba(16,42,65,.78)); color: #fffdf7; font-size: .82rem; font-weight: 800; text-shadow: 0 1px 4px rgba(0,0,0,.35); }
.gallery-empty { padding: 70px 20px; text-align: center; }
.gallery-empty p { color: var(--muted); }
.photo-lightbox { position: fixed; inset: 0; z-index: 4000; display: none; align-items: center; justify-content: center; padding: 28px; }
.photo-lightbox.open { display: flex; }
.lightbox-backdrop { position: absolute; inset: 0; width: 100%; border: 0; background: rgba(7,20,31,.88); cursor: zoom-out; }
.lightbox-card { position: relative; z-index: 1; width: min(100%, 1050px); max-height: 90vh; display: flex; flex-direction: column; align-items: center; }
.lightbox-card img { width: auto; max-width: 100%; max-height: 78vh; object-fit: contain; border-radius: 12px; }
.lightbox-caption { margin-top: 12px; color: #fffdf7; font-weight: 750; text-align: center; text-shadow: 0 1px 5px rgba(0,0,0,.35); }
.lightbox-close { position: absolute; top: -18px; right: -8px; z-index: 2; width: 42px; height: 42px; border: 0; border-radius: 50%; background: var(--gold); color: var(--navy-dark); font-size: 1.7rem; cursor: pointer; }
.gallery-footer { padding-top: 0; }
.gallery-footer .footer-bottom { margin-top: 0; }
@media (max-width: 600px) { .gallery-hero { padding: 62px 0 52px; } .club-gallery { columns: 2 145px; column-gap: 10px; } .club-photo { margin-bottom: 10px; border-radius: 12px; } .club-photo figcaption { font-size: .72rem; padding: 28px 10px 10px; } .photo-lightbox { padding: 16px; } }

/* ===== FINAL GALLERY TITLE OVERRIDE ===== */
.gallery-hero h1 {
    font-size: 52px !important;
    line-height: 1.08 !important;
    font-weight: 700 !important;
    letter-spacing: -1px !important;
    margin: 8px 0 18px !important;
    color: #fffdf7 !important;
    text-shadow: 0 3px 18px rgba(0,0,0,.14) !important;
}
.gallery-hero .eyebrow {
    margin-bottom: 14px !important;
    color: #f4df9c !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
}
.gallery-hero p:last-child {
    max-width: 650px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    color: rgba(255,255,255,.82) !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
}
@media (max-width: 780px) {
    .gallery-hero h1 { font-size: 42px !important; letter-spacing: -.75px !important; }
}
@media (max-width: 600px) {
    .gallery-hero h1 { font-size: 34px !important; line-height: 1.1 !important; letter-spacing: -.5px !important; }
    .gallery-hero .eyebrow { font-size: 12px !important; letter-spacing: 2.5px !important; }
    .gallery-hero p:last-child { font-size: 14px !important; line-height: 1.6 !important; }
}
