/* Theme-aware album, inert unless a couple publishes photos. */
.wedding-body .wedding-gallery[class]{display:block;padding:clamp(70px,8vw,120px) clamp(20px,6vw,100px);background:var(--theme-paper,#fbf9f3);color:var(--theme-ink,#173d32);position:relative;isolation:isolate}
.wedding-gallery .wedding-gallery-heading{max-width:720px;text-align:center;margin:0 auto clamp(35px,5vw,65px)}.wedding-gallery-heading h2{font-family:var(--w-font,Georgia,serif);font-weight:400;font-size:clamp(37px,4.5vw,64px);line-height:1.12;margin:16px 0 20px}.wedding-gallery-heading p{font-size:13px;line-height:1.8}.wedding-gallery-heading .eyebrow{color:var(--theme-accent,currentColor);font-size:10px;letter-spacing:.2em}.wedding-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,42px);max-width:1280px;margin-inline:auto}.wedding-gallery-grid[data-count="1"]{max-width:660px;grid-template-columns:1fr}.wedding-gallery-grid[data-count="2"]{max-width:1050px;grid-template-columns:repeat(2,minmax(0,1fr))}.wedding-gallery-grid figure{min-width:0;margin:0}.wedding-gallery-grid a{display:block;position:relative;overflow:hidden;outline-offset:5px;border:1px solid color-mix(in srgb,var(--theme-accent,#a97d3e) 25%,transparent);padding:7px}.wedding-gallery-grid img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;transition:transform .45s ease}.wedding-gallery-grid a:hover img{transform:scale(1.025)}.wedding-gallery-grid figcaption{font-size:12px;line-height:1.7;padding:15px 5px 0;text-align:center;overflow-wrap:anywhere}.wedding-gallery-zoom{position:absolute;right:18px;bottom:18px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--theme-paper,#fbf9f3);color:var(--theme-ink,#173d32);box-shadow:0 2px 20px #0002}.wedding-gallery-zoom svg{width:19px;height:19px}
.wedding-gallery .wedding-gallery-lightbox{position:fixed;inset:0;margin:auto;width:min(1100px,94vw);max-width:94vw;max-height:94dvh;padding:clamp(16px,3vw,28px);box-sizing:border-box;border:1px solid color-mix(in srgb,var(--theme-accent,#a97d3e) 30%,transparent);border-radius:12px;background:var(--theme-paper,#fbf9f3);color:var(--theme-ink,#173d32);overflow:auto;box-shadow:0 15px 100px #0007}.wedding-gallery-lightbox:not([open]){display:none}.wedding-gallery-lightbox::backdrop{background:#081910d9;backdrop-filter:blur(8px)}.wgl-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px}.wgl-toolbar h3{font-family:var(--w-font,Georgia,serif);font-size:24px;line-height:1.2;font-weight:400;margin:0}.wgl-toolbar button,.wgl-controls button{display:flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;color:inherit;background:transparent;border:1px solid color-mix(in srgb,var(--theme-accent,#a97d3e) 30%,transparent);border-radius:50%;cursor:pointer}.wgl-toolbar svg,.wgl-controls svg{width:20px;height:20px}.wgl-frame{margin:0}.wgl-frame>img{display:block;width:100%;max-width:100%;height:min(64dvh,720px);object-fit:contain}.wgl-frame figcaption{font-size:13px;line-height:1.6;text-align:center;margin:15px auto 0;max-width:680px;overflow-wrap:anywhere}.wgl-controls{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:18px}.wgl-controls button{border-radius:99px;padding:9px 14px;font-size:11px}.wgl-controls>span{font-size:11px;white-space:nowrap}.wgl-controls button:disabled{opacity:.35;cursor:default}.wedding-gallery :is(a,button):focus-visible{outline:2px solid var(--theme-accent,#a97d3e);outline-offset:4px}
@media(max-width:760px){.wedding-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.wedding-gallery-grid a{padding:4px}.wedding-gallery-grid figcaption{font-size:11px;padding-top:11px}.wedding-gallery-zoom{right:12px;bottom:12px;width:32px;height:32px}.wedding-gallery .wedding-gallery-lightbox{width:96vw;max-width:96vw;max-height:96dvh;padding:14px}.wgl-frame>img{height:60dvh}.wgl-controls button{padding:8px 10px}.wgl-toolbar h3{font-size:23px}}
@media(max-width:380px){.wedding-gallery-grid{gap:18px 10px}.wgl-controls button span{display:none}.wgl-controls button{width:44px}}
@media(prefers-reduced-motion:reduce){.wedding-gallery-grid img{transition:none}.wedding-gallery-grid a:hover img{transform:none}}
