/* Invitation gallery — full-screen peek carousel (all themes). #inv-gallery stays hidden. */
#gallery-section #inv-gallery{display:none!important}

/* Full-screen album chapter. */
#gallery-section:not([hidden]){min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:88px 0 92px!important;box-sizing:border-box;background:var(--paper);overflow:hidden}
#gallery-section>.kicker{margin:0 auto 4px}
#gallery-section>h2{font-size:clamp(31px,8.5vw,44px);margin:0 auto 10px;max-width:92%;text-wrap:balance;text-align:center}
#gallery-section .premium-gallery-hint{display:none!important}

.ku-carousel{width:100%;display:flex;flex-direction:column;align-items:center;gap:22px;flex-shrink:0;outline:none}
.ku-carousel[hidden]{display:none}
.ku-carousel-stage{position:relative;width:100%;height:clamp(360px,60svh,600px)}
.ku-carousel-track{position:absolute;inset:0}

.ku-slide{position:absolute;top:50%;left:50%;width:clamp(226px,60vw,340px);cursor:pointer;transform:translate(-50%,-50%);transition:transform .62s cubic-bezier(.22,.61,.36,1),opacity .62s ease,filter .62s ease;will-change:transform,opacity}
.ku-slide-frame{position:relative;margin:0;aspect-ratio:3/4;border-radius:20px;overflow:hidden;background:#e8ddd0;box-shadow:0 22px 44px -16px #1c130a66,0 6px 16px -8px #1c130a40}
.ku-slide-frame img{width:100%;height:100%;object-fit:cover;display:block}
.ku-slide[data-pos="0"] .ku-slide-frame{box-shadow:0 34px 64px -20px #1c130ab0,0 12px 24px -10px #1c130a55}
.ku-slide[data-active="false"] .ku-slide-frame:after{content:'';position:absolute;inset:0;background:#15100a30;transition:background .5s}
.ku-slide[data-active="false"]{filter:saturate(.85) brightness(.92)}

.ku-carousel-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:70;width:48px;height:48px;border-radius:50%;border:1px solid #00000012;background:#fffffff2;color:var(--color);display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 22px -8px #1c130a66;transition:background .2s,transform .2s,box-shadow .2s}
.ku-carousel-nav:hover{background:#fff;transform:translateY(-50%) scale(1.08);box-shadow:0 14px 26px -8px #1c130a77}
.ku-carousel-nav:active{transform:translateY(-50%) scale(.95)}
.ku-carousel-nav:focus-visible{outline:2px solid var(--color);outline-offset:3px}
.ku-carousel-nav[hidden]{display:none}
.ku-carousel-nav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ku-carousel-prev{left:clamp(10px,4vw,46px)}
.ku-carousel-next{right:clamp(10px,4vw,46px)}

.ku-carousel-dots{display:flex;gap:9px;align-items:center;justify-content:center;min-height:10px}
.ku-carousel-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:color-mix(in srgb,var(--color) 38%,transparent);cursor:pointer;transition:width .3s,background .3s,border-radius .3s}
.ku-carousel-dots button:hover{background:color-mix(in srgb,var(--color) 62%,transparent)}
.ku-carousel-dots button[aria-current="true"]{background:var(--color);width:24px;border-radius:5px}
.ku-carousel-dots button:focus-visible{outline:2px solid var(--color);outline-offset:3px}

.ku-carousel-live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}

@media(max-width:600px){
 .ku-carousel-nav{width:42px;height:42px}
 .ku-carousel-prev{left:7px}
 .ku-carousel-next{right:7px}
}
@media(prefers-reduced-motion:reduce){
 .ku-slide{transition:opacity .2s}
}
.ku-carousel-stage{touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
.ku-carousel-stage.is-dragging,.ku-carousel-stage.is-dragging .ku-slide{cursor:grabbing}
.ku-carousel-stage.is-dragging .ku-slide{transition:none}
.ku-carousel-stage img{-webkit-user-drag:none;user-select:none}
.ku-carousel-nav{z-index:120}

/* Keep native vertical scrolling and pinch zoom available through the gallery. */
.ku-carousel,.ku-carousel-stage,.ku-carousel-track,.ku-slide,.ku-slide-frame,.ku-slide-frame img{touch-action:pan-y pinch-zoom}
