/* Theme photo galleries (tools/gallery.py). Mobile first: swipe sideways, each photo snaps into place. */
.gx{--gx-accent:#f26a1b;--gx-ink:#141712;--gx-bg:#f2f4ef;--gx-radius:4px;padding:56px 0 40px;background:var(--gx-bg);color:var(--gx-ink);overflow:hidden}
.gx-head{padding:0 22px;margin-bottom:22px;max-width:760px}
.gx-head h2{margin:0 0 10px;font-size:clamp(28px,7.4vw,48px);line-height:1.3;font-weight:900;letter-spacing:-.04em}
.gx-head p{margin:0;font-size:14px;line-height:1.9;opacity:.8}
.gx-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:22px;padding:4px 22px 18px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.gx-track:focus-visible{outline:3px solid var(--gx-accent);outline-offset:-3px}
.gx-item{flex:0 0 74vw;max-width:380px;margin:0;scroll-snap-align:start}
.gx-item img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:var(--gx-radius);background:#0001}
.gx-item figcaption{margin-top:8px;font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--gx-accent)}
.gx-source{padding:0 22px;margin:4px 0 0;font-size:11px;opacity:.65}
.gx-club{--gx-bg:#141712;--gx-ink:#fff}
.gx-club .gx-item:nth-child(odd){transform:translateY(14px)}
.gx-story{--gx-bg:#f4efe4;--gx-ink:#193d32;--gx-accent:#e0601c;--gx-radius:18px}
.gx-path{--gx-bg:#fff;--gx-ink:#203c34;--gx-accent:#ce571d;--gx-radius:10px}
.gx-next{--gx-bg:#f6f5ef;--gx-ink:#171916;--gx-accent:#f26522}
.gx-material{--gx-bg:#fff8f4;--gx-ink:#251a15;--gx-accent:#a83b08;--gx-radius:24px;margin:24px 0;border-radius:32px}
@media(min-width:768px){
  .gx{padding:96px 0 64px}
  .gx-head{padding:0 clamp(22px,5.5vw,96px);margin-bottom:32px}
  .gx-head p{font-size:16px}
  .gx-track{gap:18px;padding-inline:clamp(22px,5.5vw,96px);scroll-padding-inline:clamp(22px,5.5vw,96px)}
  .gx-item{flex-basis:clamp(240px,24vw,360px)}
  .gx-source{padding:0 clamp(22px,5.5vw,96px)}
}
@media print{.gx-track{flex-wrap:wrap;overflow:visible}.gx-item{flex-basis:30%}}
