/* Club information and photo albums. Shared header and account styles stay in site-chrome.css. */
.club-page{margin:0;min-width:280px;background:radial-gradient(ellipse at 85% 0%,#e8f0ed,transparent 45%),#f3f6fa;color:#173a5e;font-family:Inter,"Segoe UI",system-ui,-apple-system,sans-serif;line-height:1.5;font-synthesis:none}
.club-page *{box-sizing:border-box}
.club-page a{color:inherit}
.club-page :is(a,button):focus-visible{outline:3px solid #c68a20;outline-offset:5px}
.club-shell{width:min(1120px,calc(100% - 80px));margin:30px auto 48px}
.club-breadcrumb{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-bottom:16px;color:#496b5b!important;font-size:13px;font-weight:650;text-decoration:none}
.club-breadcrumb svg{width:17px;height:17px}
.club-breadcrumb:hover{text-decoration:underline;text-underline-offset:4px}
.club-eyebrow{margin:0 0 9px;color:#28724e;font-size:11px;font-weight:750;letter-spacing:1.6px;text-transform:uppercase}
.club-intro h1{margin:0;font-size:clamp(30px,4.5vw,46px);font-weight:750;line-height:1.15;letter-spacing:-1px;text-wrap:balance}
.club-lead{max-width:850px;margin:16px 0 0;color:#52697d;font-size:16px;line-height:1.75}
.club-thanks{max-width:950px;margin:18px 0 0;padding:19px 22px;border:1px solid #d9e6df;border-left:4px solid #287b50;border-radius:0 12px 12px 0;background:#fff;color:#365b49;font-size:15px;line-height:1.75}
.club-section-nav{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0 28px}
.club-section-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border:1px solid #d1dfd7;border-radius:999px;background:#fff;color:#416853;font-size:12px;font-weight:650;line-height:1.4;text-decoration:none}
.club-section-nav a:hover{border-color:#86ac97;background:#edf5ef}
.club-section-nav a[aria-current="page"]{border-color:#1b633f;background:#216b45;color:#fff}
.gallery-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:15px}
.gallery-heading h2{margin:0;color:#173a5e;font-size:18px;font-weight:750}
.gallery-heading p{margin:0;color:#61738a;font-size:12px}
.gallery-count{display:inline-block;margin-left:8px;color:#61738a;font-size:12px;font-weight:450}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.gallery-item{display:block;min-width:0;overflow:hidden;border:1px solid #d9e3e9;border-radius:15px;background:#fff;text-decoration:none;box-shadow:0 4px 15px #173a5e05;transition:border-color .18s,box-shadow .18s}
.gallery-frame{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#e7eeea}
.gallery-frame img{display:block;width:100%;height:100%;object-fit:contain}
.gallery-zoom{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:34px;height:34px;border:1px solid #ffffff42;border-radius:50%;background:#173a5ed9;color:#fff;transition:background .18s}
.gallery-zoom svg{width:18px;height:18px}
.gallery-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;color:#3f6351;font-size:11px;font-weight:650;letter-spacing:.15px}
.gallery-caption small{color:#61738a;font-size:10px;font-weight:450}
.gallery-item:hover{border-color:#87ae98;box-shadow:0 8px 22px #173a5e12}
.gallery-item:hover .gallery-zoom{background:#216b45}
.club-symbols{position:absolute;width:0;height:0;overflow:hidden}
.club-page svg,.about-choice svg{display:block;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex:none}
.about-choice{gap:12px}
.about-choice-icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border:1px solid #d6e7dc;border-radius:11px;background:#edf5ef;color:#28724e}
.about-choice-icon svg{width:23px;height:23px}
.about-choice-copy{flex:1;min-width:0}
.about-options .destination:hover{background:#edf5ef;border-color:#a0beac}
.gallery-viewer{width:min(1050px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:17px;overflow:auto;overscroll-behavior:contain;border:1px solid #365949;border-radius:18px;background:#142c22;color:#fff;font-family:Inter,"Segoe UI",system-ui,sans-serif;box-shadow:0 30px 90px #10284250}
.gallery-viewer::backdrop{background:#0a181cde;backdrop-filter:blur(5px)}
body:has(.gallery-viewer[open]){overflow:hidden}
.viewer-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.viewer-top h2{margin:0;font-size:18px;line-height:1.35;font-weight:650}
.viewer-close{display:grid;place-items:center;flex:none;width:42px;height:42px;padding:0;border:1px solid #ffffff3d;border-radius:50%;background:#ffffff0c;color:#fff;cursor:pointer}
.viewer-close svg{width:20px;height:20px}
.viewer-frame{position:relative;display:flex;align-items:center;justify-content:center;height:min(66dvh,700px);min-height:180px;border-radius:10px;overflow:hidden;background:#0c1e16}
.viewer-photo{display:block;width:100%;height:100%;object-fit:contain}
.viewer-photo[hidden]{display:none}
.viewer-status{position:absolute;inset:0;display:grid;place-items:center;margin:0;padding:25px;text-align:center;font-size:14px;color:#d9e8df;pointer-events:none}
.viewer-status:empty{display:none}
.viewer-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}
.viewer-controls button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;margin:0;padding:9px 14px;border:1px solid #ffffff3d;border-radius:10px;background:#ffffff0c;color:#fff;font:650 12px/1.4 Inter,"Segoe UI",system-ui,sans-serif;cursor:pointer}
.viewer-controls button:disabled{opacity:.35;cursor:default}
.viewer-controls button:not(:disabled):hover,.viewer-close:hover{background:#ffffff22}
.viewer-controls svg{width:18px;height:18px}
.viewer-original{color:#dcebe1!important;font-size:12px;text-underline-offset:4px}
.viewer-help{margin:11px 0 0;text-align:center;color:#afc5b8;font-size:11px;line-height:1.6}
.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.contact-card{padding:27px;border:1px solid #d8e4dc;border-radius:17px;background:#fff;box-shadow:0 5px 18px #173a5e05}
.contact-icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:17px;border-radius:12px;background:#edf5ef;color:#28724e}
.contact-icon svg{width:25px;height:25px}
.contact-card h2{margin:0;font-size:21px;line-height:1.3}
.contact-name{margin:8px 0 0;color:#3f6351;font-size:15px;font-weight:650}
.contact-description{margin:12px 0 17px;color:#61738a;font-size:14px;line-height:1.7}
.contact-email{display:inline-flex;align-items:center;min-height:44px;max-width:100%;padding:10px 15px;border:1px solid #c4daca;border-radius:10px;background:#edf5ef;color:#216b45!important;font-size:14px;font-weight:650;text-decoration:none;overflow-wrap:anywhere}
.contact-email:hover{border-color:#87ae98;background:#dfeee3}
.contact-note{max-width:740px;margin:24px 0 0;color:#61738a;font-size:13px;line-height:1.7}
.contact-note a{text-underline-offset:3px}
@media(max-width:760px){
  .club-shell{width:calc(100% - 36px);margin:22px auto 35px}
  .club-breadcrumb{margin-bottom:12px}
  .club-lead{font-size:14px}
  .club-thanks{padding:16px 18px;font-size:14px}
  .club-section-nav{gap:7px;margin:23px 0}
  .club-section-nav a{padding:9px 12px;font-size:11px}
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .gallery-item{border-radius:12px}
  .gallery-caption{padding:10px;font-size:10px}
  .gallery-caption small{font-size:9px}
  .gallery-zoom{right:8px;bottom:8px;width:29px;height:29px}
  .gallery-zoom svg{width:16px;height:16px}
  .contact-grid{grid-template-columns:1fr;gap:14px}
  .contact-card{padding:23px}
}
@media(max-width:480px){
  .gallery-heading p{font-size:11px}
  .gallery-viewer{width:calc(100% - 20px);max-height:calc(100dvh - 20px);padding:12px;border-radius:14px}
  .viewer-top h2{font-size:15px}
  .viewer-frame{height:60dvh}
  .viewer-controls button{padding:10px}
  .viewer-control-label{display:none}
  .viewer-original{font-size:11px}
  .viewer-help{font-size:10px}
}
@media(max-width:340px){.gallery-grid{grid-template-columns:1fr}.gallery-caption{font-size:11px}}
@media(prefers-reduced-motion:reduce){.gallery-item,.gallery-zoom{transition:none}}

/* Album slideshows share the existing viewer and remain usable on small screens. */
.gallery-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px}
.gallery-speed{display:block;margin-top:3px}
.gallery-start{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:11px 17px;border:1px solid #29557e;border-radius:11px;background:#173a5e;color:#fff;font:650 13px/1.4 Inter,"Segoe UI",system-ui,sans-serif;cursor:pointer}
.gallery-start[hidden]{display:none}
.gallery-start svg{width:19px;height:19px;color:#f5cc70}
.gallery-start:hover{background:#244f79}
html[data-theme="dark"] .gallery-start{border-color:#527ca4;background:#21486f;color:#fff}
html[data-theme="dark"] .gallery-start:hover{background:#2d5c87}
.gallery-viewer[open]{display:flex;flex-direction:column}
.viewer-frame{flex:1 1 auto;min-height:100px}
.viewer-top,.viewer-controls,.viewer-slideshow,.viewer-help{flex:none}
.viewer-slideshow{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:12px}
.viewer-play{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 15px;border:1px solid #ffffff3d;border-radius:10px;background:#ffffff0c;color:#fff;font:650 12px/1.4 Inter,"Segoe UI",system-ui,sans-serif;cursor:pointer}
.viewer-play:hover{background:#ffffff22}
.viewer-play svg{width:18px;height:18px;color:#f5cc70}
.viewer-play .viewer-pause-icon{display:none}
.viewer-play[aria-pressed="true"] .viewer-play-icon{display:none}
.viewer-play[aria-pressed="true"] .viewer-pause-icon{display:block}
.viewer-interval{color:#afc5b8;font-size:11px}
@media(max-width:480px){
  .gallery-actions{width:100%;justify-content:space-between;gap:10px}
  .gallery-start{padding:10px 13px;font-size:12px}
  .viewer-slideshow{gap:9px}
}
