/* Четыре слайда: приглашение, дата с календарём, обратный отсчёт, подпись. Значения из макета. */
.scroller{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;scroll-snap-type:y proximity;scroll-behavior:smooth;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.scroller::-webkit-scrollbar{display:none}
.scroller.locked{overflow:hidden}
.scroller:focus{outline:none}
.slide{position:relative;min-height:100%;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:64px 32px 90px}
.paper{background-color:#F6EFE3;background-image:radial-gradient(130% 90% at 50% 40%,rgba(255,252,246,.9) 0%,rgba(246,239,227,0) 60%),radial-gradient(160% 120% at 50% 50%,rgba(0,0,0,0) 55%,rgba(150,110,70,.16) 100%)}
.wine{background-color:#5A1224;background-image:radial-gradient(120% 80% at 50% 35%,#761C33 0%,#5A1224 55%,#3F0A18 100%);color:#F1E4CF}
.frame::before{content:"";position:absolute;inset:10px;pointer-events:none;border:72px solid transparent;border-image:url(../assets/frame.webp) 216 stretch}

/* раскладка содержимого */
.slide-body{position:relative;z-index:1;width:100%;max-width:330px;display:flex;flex-direction:column;align-items:center;gap:22px}
.slide-body--tight{gap:18px}
.slide-body--loose{gap:26px}
.stack{display:flex;flex-direction:column;align-items:center}
.gap-2{gap:2px}
.gap-6{gap:6px}
.gap-8{gap:8px}

/* слайд 1: приглашение */
.greeting{margin:0;font-size:27px;font-style:italic;font-weight:600;line-height:1.2;color:#5A1424}
.lead{margin:0;font-size:19px;font-weight:500;line-height:1.4;color:#5A1424;text-wrap:balance}
.names{display:flex;align-items:baseline;justify-content:center;gap:8px;white-space:nowrap;padding:2px 4px 0}
.name{font-size:42px;line-height:1.15;color:#6E1A2C}
.names-and{font-size:24px;font-style:italic;font-weight:500;color:#9C7A34}
.text{margin:0;font-size:18px;line-height:1.4;color:#5A1424}
.venue{font-size:32px;font-style:italic;font-weight:600;line-height:1.2;color:#6E1A2C}

/* кнопка карты и стрелки */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 26px;border-radius:999px;border:1px solid #6E1A2C;color:#6E1A2C;text-decoration:none;font-size:18px;font-weight:600;letter-spacing:.03em;background:rgba(255,255,255,.4);transition:background .25s,color .25s}
.btn:hover{background:#6E1A2C;color:#F6EFE3}
.next{position:absolute;left:50%;bottom:26px;width:44px;height:44px;margin-left:-22px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8A5A60;text-decoration:none;z-index:2}
.next:hover{color:#6E1A2C}
.next svg{animation:nudge 1.8s ease-in-out infinite}
.next-txt{width:140px;height:56px;margin-left:-70px;gap:0;font-style:italic;font-size:16px;letter-spacing:.05em}
.wine .next{color:#E2C47F}
@keyframes nudge{0%,100%{transform:translateY(0);opacity:.6}50%{transform:translateY(5px);opacity:1}}

/* слайд 2: дата и календарь */
.day{font-size:104px;font-weight:500;line-height:.95;color:#6E1A2C}
.month{font-size:36px;font-style:italic;font-weight:500;line-height:1.1;color:#5A1424}
.time-row{display:flex;align-items:center;gap:12px;width:220px}
.time{font-size:22px;font-style:italic;font-weight:600;letter-spacing:.06em;color:#7E5C1F;white-space:nowrap}
.cal{width:100%;max-width:320px;padding:20px 14px 14px;background:rgba(255,251,244,.72);border:1px solid rgba(176,138,62,.45);border-radius:2px}
.cal-title{font-size:24px;font-style:italic;font-weight:600;color:#5A1424;margin-bottom:12px}
.cal-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.cal-head{margin-bottom:6px}
.cal-days{row-gap:2px}
.cal-cell{position:relative;height:38px;display:flex;align-items:center;justify-content:center}
.cal-wd{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#8A5A60;font-weight:600}
.cal-n{position:relative;font-size:18px;font-weight:500;color:#5A1424}
.cal-n.w{color:#FBF3E6;font-weight:600}
.heart{position:absolute;left:50%;top:50%;width:38px;height:36px;transform:translate(-50%,-42%);fill:#6E1A2C;filter:drop-shadow(0 3px 6px rgba(110,26,44,.35))}
.seen .heart{animation:beat 1.8s ease-in-out 1.4s infinite}
@keyframes beat{0%,100%{transform:translate(-50%,-42%) scale(1)}12%{transform:translate(-50%,-42%) scale(1.13)}24%{transform:translate(-50%,-42%) scale(1)}36%{transform:translate(-50%,-42%) scale(1.07)}50%{transform:translate(-50%,-42%) scale(1)}}

/* слайд 3: обратный отсчёт */
.cd-title{margin:0;font-size:36px;font-style:italic;font-weight:500;line-height:1.15;color:#F1E4CF}
.cd{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%;max-width:330px}
.cd-cell{display:flex;flex-direction:column;align-items:center;gap:6px;padding:22px 2px 14px;border:1px solid rgba(226,196,127,.55);border-radius:999px 999px 6px 6px;background:rgba(255,236,200,.05)}
.cd-num{display:inline-block;font-size:40px;font-weight:600;line-height:1;font-variant-numeric:lining-nums tabular-nums;padding:0 2px}
.cd-lab{font-size:15px;font-style:italic;color:rgba(241,228,207,.88)}

/* слайд 4: подпись */
.closing{margin:0;font-size:32px;font-style:italic;font-weight:500;line-height:1.25;color:#5A1424;text-wrap:balance}
.regards{font-size:20px;font-style:italic;color:#7A4A50}
.signature{font-size:44px;line-height:1.2;color:#6E1A2C;padding:0 10px;text-wrap:balance}
.seal{position:relative;width:124px;height:124px}

@media (prefers-reduced-motion: reduce){
.heart,.next svg{animation:none !important}
.scroller{scroll-behavior:auto}
}
