.st-gallery { width:100%; min-width:0; --st-gold:#cfac68; }
.st-gallery h2 { margin:0 0 1.5rem; font-family:var(--wp--preset--font-family--display,serif); font-size:clamp(2rem,4vw,3.5rem); font-weight:400; }
.st-gallery__stage { position:relative; isolation:isolate; display:grid; width:100%; box-sizing:border-box; height:clamp(320px,75vh,900px); max-height:80vh; overflow:hidden; background:#090a0d; border:1px solid #cfac6838; border-radius:4px; touch-action:pan-y pinch-zoom; }
.st-gallery__slide { position:absolute; inset:0; width:100%; height:100%; min-height:0; margin:0; opacity:0; transition:opacity 1000ms ease; pointer-events:none; }
.st-gallery__slide.is-active { opacity:1; z-index:1; }
.st-gallery__slide img { display:block; width:100%; height:100%; object-fit:contain; }
.st-gallery__empty { grid-area:1/1; align-self:center; text-align:center; padding:2rem; color:#b9b6af; }
.st-gallery__footer { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:1.5rem; padding-top:1.25rem; }
.st-gallery__metadata { min-width:0; overflow-wrap:anywhere; block-size:8rem; overflow-y:auto; scrollbar-color:#cfac6866 transparent; }
.st-gallery__metadata p { margin:0 0 .4rem; color:#b9b6af; }
.st-gallery__metadata .st-gallery__title { color:#f4f0e8; font-size:1.25rem; }
.st-gallery__metadata .st-gallery__location { color:var(--st-gold); font-size:.85rem; letter-spacing:.06em; }
.st-gallery__controls { display:flex; align-items:center; gap:1rem; flex-shrink:0; }
.st-gallery__controls button, .st-gallery__arrow { display:grid; place-items:center; width:48px; height:48px; padding:0; border:1px solid #cfac6866; border-radius:50%; background:transparent; color:#f4f0e8; font:inherit; font-size:1.6rem; cursor:pointer; transition:background 180ms ease,border-color 180ms ease,box-shadow 180ms ease,transform 180ms ease; }
.st-gallery__controls button:hover, .st-gallery__arrow:hover { background:#cfac681a; border-color:var(--st-gold); box-shadow:0 0 16px #cfac6814; }
.st-gallery :focus-visible { outline:2px solid var(--st-gold); outline-offset:5px; }
.st-gallery__counter { color:#cfac68; font-size:.85rem; font-variant-numeric:tabular-nums; white-space:nowrap; }
.st-gallery [hidden] { display:none !important; }
.st-gallery__sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:600px) { .st-gallery__stage { height:clamp(220px,55vh,520px); height:clamp(220px,55svh,520px); max-height:65vh; max-height:65svh; } .st-gallery__footer { grid-template-columns:minmax(0,1fr); gap:.75rem; } .st-gallery__controls { grid-row:1; justify-self:end; } .st-gallery__metadata { grid-row:2; } }
@media(prefers-reduced-motion:reduce) { .st-gallery__slide,.st-gallery__controls button { transition:none; } }

.st-gallery__collection { color:var(--st-gold); font-size:.85rem; text-underline-offset:.25em; }

.st-gallery { scroll-margin-top:6rem; }

/* Homepage-only three-photo presentation; ordered collection viewers remain manual. */
.st-gallery--cinematic .st-gallery__slide { left:var(--st-center-inset,0px); right:var(--st-center-inset,0px); width:auto; z-index:2; }
.st-gallery__arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:5; background:rgba(9,10,13,.8); backdrop-filter:blur(6px); }
.st-gallery__arrow--prev { left:12px; }
.st-gallery__arrow--next { right:12px; }
.st-gallery__arrow:hover { transform:translateY(-50%) scale(1.06); }
.st-gallery__preview { position:absolute; top:0; bottom:0; width:var(--st-side-width,0px); padding:0; border:0; overflow:hidden; background:#090a0d; cursor:pointer; z-index:1; }
.st-gallery__preview--previous { left:0; }
.st-gallery__preview--next { right:0; }
.st-gallery__preview img { display:block; width:100%; height:100%; object-fit:cover; filter:blur(16px) brightness(.4); transform:scale(1.12); pointer-events:none; }
.st-gallery__preview::after { content:''; position:absolute; inset:0; background:rgba(9,10,13,.2); transition:background 250ms ease; pointer-events:none; }
.st-gallery__preview:hover::after { background:rgba(9,10,13,.05); }
.st-gallery--cinematic .st-gallery__controls { min-height:48px; }
.st-gallery--cinematic .st-gallery__rotation { width:auto; min-width:72px; border-radius:24px; font-size:.8rem; padding-inline:14px; }
.st-gallery__rotation:disabled { cursor:default; opacity:.65; }
@media(max-width:600px) { .st-gallery__preview { display:none; } .st-gallery__arrow--prev { left:8px; } .st-gallery__arrow--next { right:8px; } .st-gallery--cinematic .st-gallery__slide { left:0; right:0; } }
@media(prefers-reduced-motion:reduce) { .st-gallery__arrow,.st-gallery__preview::after { transition:none; } .st-gallery__arrow:hover { transform:translateY(-50%); } }
