/* Kashta — 08-video: zig‘ir eshiklar + kashta gullar, pushti tosh arka, ipak mato kartalari, lavanda fon. Ranglar manifest sxemasidan (--sh-*). */
.t-kashta{--sh-rule:var(--sh-line)}
.t-kashta .inv{background:var(--sh-paper)}
/* --- Intro: zig‘ir eshiklar + kashta, oq atlas lenta --- */
.t-kashta .in-ribbon .in-door{background:var(--sh-door)}
.t-kashta .ks-linen{position:absolute;top:0;height:100%;width:50.4vw;background:var(--sh-door);
  background-image:repeating-linear-gradient(0deg,rgba(0,0,0,.028) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(0,0,0,.028) 0 1px,transparent 1px 3px)}
.t-kashta .in-door.l>.ks-linen{left:0;box-shadow:inset -10px 0 20px -12px rgba(0,0,0,.25)}
.t-kashta .in-door.r>.ks-linen{right:0;left:auto;box-shadow:inset 10px 0 20px -12px rgba(0,0,0,.25)}
.t-kashta .ks-demb{position:absolute;top:0;height:100%;width:auto;max-width:100%;object-fit:contain;object-position:left top}
.t-kashta .in-door.l .ks-demb{left:0}
.t-kashta .in-door.r .ks-demb{right:0;transform:scaleX(-1)}
.t-kashta .in-ribbon .in-band{height:30px;background:linear-gradient(180deg,#FFFFFF,#F1EEF3 55%,#FAF8FB);box-shadow:0 4px 12px rgba(60,40,80,.14)}
.t-kashta .in-ribbon .in-bow{width:220px;height:186px}
.t-kashta .in-ribbon .in-bow:focus-visible{outline:3px solid #fff;outline-offset:6px;border-radius:50%}
/* --- Hero: arka + ko‘l + balyustrada --- */
.t-kashta .ks-hero{position:relative;min-height:100svh;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:120px 60px 160px;overflow:hidden;background:var(--sh-paper)}
.t-kashta .ks-art{position:absolute;inset:0;pointer-events:none;transform-origin:50% 45%}
.t-kashta .ks-lake{position:absolute;left:0;top:0;width:100%;height:84%;object-fit:cover}
.t-kashta .ks-arch{position:absolute;left:0;top:0;width:100%;height:84%;object-fit:fill}
.t-kashta .ks-balu{position:absolute;left:0;bottom:0;width:100%;height:16.5%;object-fit:cover;object-position:top}
.t-kashta .ks-hero-in{position:relative;z-index:1;max-width:240px;padding:10px 0}
.t-kashta .ks-hostof{color:var(--sh-ink);font-size:10px}
.t-kashta .ks-names{font-family:var(--sh-script);font-size:40px;line-height:1.2;margin:0 0 14px;color:var(--sh-ink);font-weight:400;text-shadow:0 1px 0 rgba(255,255,255,.6)}
.t-kashta .ks-names .n{display:block}
.t-kashta .ks-names .amp{display:block;font-family:var(--sh-script);font-size:26px;color:var(--sh-ink);margin:2px 0;line-height:1}
.t-kashta .ks-hline{font-size:9px;letter-spacing:.26em;color:var(--sh-ink);text-shadow:0 1px 0 rgba(255,255,255,.6);line-height:1.8}
/* --- Umumiy: sarlavha, chiziqcha, burchak gullari --- */
.t-kashta .h-script,.t-kashta .ks-h{font-family:var(--sh-script);font-size:36px;line-height:1.15;color:var(--sh-ink);margin:0;font-weight:400}
.t-kashta .ks-dash{width:26px;height:1px;background:var(--sh-ink2);margin:10px auto;opacity:.6}
.t-kashta .ks-corner{position:absolute;width:96px;height:auto;pointer-events:none;opacity:.9}
.t-kashta .ks-corner.l{left:-6px;top:6px}
.t-kashta .ks-corner.r{right:-6px;top:6px;transform:scaleX(-1)}
.t-kashta .caps{color:var(--sh-ink2)}
/* --- Oilalar + sanoq --- */
.t-kashta .ks-fam{position:relative;padding:54px 30px 44px}
.t-kashta .ks-parents{margin:14px 0 6px}
.t-kashta .ks-parents p{margin:4px 0;font-size:15px;color:var(--sh-ink)}
.t-kashta .ks-until{margin-top:22px;font-size:10px}
.t-kashta .cd3{margin-top:14px}
.t-kashta .cd3>div>b{font-size:30px;font-weight:500}
.t-kashta .cd3>div>span{font-size:10px}
/* --- Taklif matni --- */
.t-kashta .ks-greet{padding:30px 30px 20px}
.t-kashta .ks-photo{width:180px;height:180px;margin:0 auto 20px;border-radius:50%;overflow:hidden;border:5px solid rgba(255,255,255,.85);box-shadow:0 12px 30px rgba(80,60,120,.15)}
.t-kashta .ks-photo img{width:100%;height:100%;object-fit:cover}
.t-kashta .ks-greeting p{font-size:17px}
.t-kashta .ks-greeting p::first-line{font-family:var(--sh-script);font-size:28px}
.t-kashta .ks-quote{margin:16px 0 0}
/* --- Ipak mato kartasi --- */
.t-kashta .ks-silk{position:relative;margin:0 auto;max-width:400px;padding:44px 26px 40px;text-align:center;
  background:linear-gradient(135deg,rgba(255,255,255,.62),rgba(255,255,255,.3) 45%,rgba(255,255,255,.58)),repeating-linear-gradient(90deg,transparent 0 46px,rgba(255,255,255,.4) 46px 50px,transparent 50px 54px,rgba(120,90,140,.05) 54px 56px);
  border-top:1px solid rgba(255,255,255,.85);border-bottom:1px solid rgba(255,255,255,.85);box-shadow:0 16px 40px -14px rgba(80,60,120,.22);transform:rotate(-1.2deg)}
.t-kashta .ks-silk>*{transform:rotate(1.2deg)}
.t-kashta .ks-silk::before,.t-kashta .ks-silk::after{content:"";position:absolute;top:-2px;bottom:-2px;width:9px;background:repeating-linear-gradient(180deg,rgba(255,255,255,.9) 0 2px,transparent 2px 5px,rgba(255,255,255,.6) 5px 6px,transparent 6px 9px)}
.t-kashta .ks-silk::before{left:-8px}
.t-kashta .ks-silk::after{right:-8px}
.t-kashta .ks-silk .ks-h{font-size:34px;margin-bottom:14px}
/* --- Tafsilotlar --- */
.t-kashta .ks-details{padding:30px 22px 34px}
.t-kashta .ks-details .ks-silk{padding-top:96px;padding-bottom:150px}
.t-kashta .ks-lemonb{position:absolute;left:-10px;top:-14px;width:150px;height:auto}
.t-kashta .ks-umb{position:absolute;right:-6px;top:120px;width:112px;height:auto}
.t-kashta .ks-villa-s{position:absolute;right:-6px;bottom:-8px;width:190px;height:auto}
.t-kashta .ks-det{margin:16px auto 0;max-width:260px}
.t-kashta .ks-det-t{font-family:var(--sh-script);font-size:26px;color:var(--sh-ink);line-height:1.2;margin-bottom:4px}
.t-kashta .ks-det .caps{font-size:9.5px;letter-spacing:.24em;line-height:1.9}
/* --- Tantanalar --- */
.t-kashta .ks-cel{padding:30px 22px 30px}
.t-kashta .ks-villa{width:260px;height:auto;margin:16px auto 0}
.t-kashta .ks-glass{position:relative;margin:-14px auto 0;max-width:400px;padding:44px 24px 34px;background:rgba(255,255,255,.34);border:1px solid rgba(255,255,255,.7);border-radius:6px;backdrop-filter:blur(2px)}
.t-kashta .ks-venue{font-family:var(--sh-script);font-size:34px;line-height:1.25;color:var(--sh-ink);margin:8px 0 6px}
.t-kashta .ks-note{font-family:var(--sh-serif);font-size:14px;line-height:1.6;color:var(--sh-ink2);margin:6px auto 10px;max-width:290px}
.t-kashta .ks-glass .ital{font-size:15px}
.t-kashta .ks-glass .caps.dark{margin-top:4px}
.t-kashta .ks-glass .lnk{margin-top:12px;font-size:12px}
.t-kashta .ks-glass-dress{position:relative;margin-top:24px;padding:20px 60px 10px 0;border-top:1px solid var(--sh-line);text-align:left}
.t-kashta .ks-dress-s{font-family:var(--sh-script);font-size:26px;color:var(--sh-ink);line-height:1.25;margin:4px 0 4px}
.t-kashta .ks-glass-dress .ks-note{margin:4px 0 0;max-width:none}
.t-kashta .ks-key{position:absolute;right:-4px;top:12px;width:44px;height:auto}
/* --- Kiyim uslubi ipak kartasi --- */
.t-kashta .ks-dressc{padding:30px 22px 30px}
.t-kashta .ks-dressc .ks-silk{padding-top:96px}
.t-kashta .ks-lemon2{position:absolute;left:-8px;top:-10px;width:120px;height:auto}
.t-kashta .ks-olive{position:absolute;right:6px;top:10px;width:90px;height:auto}
.t-kashta .ks-arch-s{width:220px;height:auto;margin:0 auto -20px}
.t-kashta .ks-guests{width:100%;max-width:340px;height:auto;margin:0 auto 14px}
.t-kashta .ks-dress-v{font-family:var(--sh-script);font-size:28px;color:var(--sh-ink);line-height:1.25;margin:6px 0 8px}
.t-kashta .ks-dress-n{font-size:9.5px;letter-spacing:.22em;line-height:1.9;max-width:280px;margin:0 auto}
.t-kashta .ks-acc{width:200px;height:auto;margin:22px auto 0}
/* --- Qanday yetib borish --- */
.t-kashta .ks-getting{padding:30px 22px 30px}
.t-kashta .ks-getting .ks-silk{padding:70px 26px 120px}
.t-kashta .ks-car{position:absolute;left:8px;top:10px;width:110px;height:auto}
.t-kashta .ks-compass{position:absolute;right:14px;top:12px;width:56px;height:auto}
.t-kashta .ks-boat{position:absolute;left:10px;bottom:14px;width:110px;height:auto}
.t-kashta .ks-road{position:absolute;right:6px;bottom:6px;width:120px;height:auto}
.t-kashta .ks-way{margin:14px auto 0;max-width:260px}
.t-kashta .ks-way-t{font-family:var(--sh-script);font-size:26px;color:var(--sh-ink);line-height:1.2}
.t-kashta .ks-way .caps{font-size:9.5px;letter-spacing:.2em;line-height:1.8;color:var(--sh-ink)}
.t-kashta .ks-getting .lnk{margin-top:16px;font-size:12px}
/* --- To‘yona --- */
.t-kashta .ks-gift{padding:26px 22px 26px}
.t-kashta .ks-gglass{margin-top:0;padding:44px 24px 34px;overflow:visible}
.t-kashta .ks-cf{position:absolute;width:96px;height:auto;pointer-events:none}
.t-kashta .ks-cf.l{left:-24px;top:-24px}
.t-kashta .ks-cf.r{right:-24px;bottom:-24px;transform:rotate(180deg)}
.t-kashta .ks-gift .card{margin:14px auto 8px;max-width:300px;background:rgba(255,255,255,.4)}
.t-kashta .ks-gift .ital{font-size:16px;margin:12px 0 0}
.t-kashta .ks-gift .btn.sm{margin-top:8px}
/* --- Javob --- */
.t-kashta .ks-rsvp{padding:30px 26px 40px}
.t-kashta .ks-badge{position:relative;width:120px;margin:0 auto 10px}
.t-kashta .ks-badge img{width:100%;height:auto;display:block}
.t-kashta .ks-badge-t{position:absolute;left:0;right:0;top:57%;transform:translateY(-50%);font-family:var(--sh-script);font-size:24px;color:#6E5A2C;line-height:1}
.t-kashta .ks-rsvp .ks-h{margin-top:4px}
.t-kashta .rsvp2 .form{margin-top:18px}
.t-kashta .rsvp2 label.lb,.t-kashta .rsvp2 .lb{font-size:14px}
.t-kashta .ks-ic{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;vertical-align:-3px;margin-right:2px}
.t-kashta .ks-checks{display:flex;flex-direction:column;gap:10px;text-align:left}
.t-kashta .ks-check{display:flex;align-items:flex-start;gap:12px;font-family:var(--sh-serif);font-size:15px;line-height:1.35;color:var(--sh-ink);cursor:pointer}
.t-kashta .ks-check input{position:absolute;opacity:0;width:1px;height:1px}
.t-kashta .ks-check i{flex:0 0 auto;width:16px;height:16px;border:1.5px solid var(--sh-ink2);border-radius:3px;margin-top:2px;position:relative;background:rgba(255,255,255,.5)}
.t-kashta .ks-check i.r{border-radius:50%}
.t-kashta .ks-check input:checked+i{border-color:var(--sh-accent);background:var(--sh-accent)}
.t-kashta .ks-check input:checked+i::after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.t-kashta .ks-check input:checked+i.r::after{left:4px;top:4px;width:6px;height:6px;border:0;border-radius:50%;background:#fff;transform:none}
.t-kashta .ks-check input:focus-visible+i{outline:2px solid var(--sh-ink);outline-offset:2px}
.t-kashta .ks-step{display:flex;align-items:center;gap:14px}
.t-kashta .ks-step-b{width:40px;height:40px;border:1px solid var(--sh-line);border-radius:4px;background:rgba(255,255,255,.55);font:400 20px/1 var(--sh-serif);color:var(--sh-ink);cursor:pointer}
.t-kashta .ks-step-v{font-family:var(--sh-serif);font-size:18px;min-width:24px;text-align:center;color:var(--sh-ink)}
.t-kashta .ks-hidden-sel{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.t-kashta .rsvp2 .form input,.t-kashta .rsvp2 .form textarea{background:rgba(255,255,255,.5)}
.t-kashta .rsvp2 .btn.solid{border-radius:4px}
/* --- Footer --- */
.t-kashta .ks-foot{position:relative;padding:60px 22px 10px}
.t-kashta .ks-foot-n{font-family:var(--sh-script);font-size:38px;line-height:1.2;margin:0 0 12px;color:var(--sh-ink);font-weight:400}
.t-kashta .ks-foot-n .n,.t-kashta .ks-foot-n .amp{display:inline;font-family:var(--sh-script);color:var(--sh-ink)}
.t-kashta .ks-foot .caps{font-size:9px;letter-spacing:.26em}
.t-kashta .closing{font-family:var(--sh-script);font-size:28px}
.t-kashta .wi,.t-kashta .smp,.t-kashta .next,.t-kashta .tl .it{background:rgba(255,255,255,.4)}
/* Kashta ipi «tebranishi»: glitsiniya sekin — faqat hero arkasi */
.t-kashta .ks-arch{animation:ksSway 9s ease-in-out infinite alternate;transform-origin:50% 0}
@keyframes ksSway{from{transform:translateX(0)}to{transform:translateX(1.5px)}}
@media (prefers-reduced-motion:reduce){.t-kashta .ks-arch{animation:none}}
@media (max-width:360px){.t-kashta .ks-names{font-size:34px}.t-kashta .ks-hero{padding:110px 50px 150px}.t-kashta .cd3>div{padding:0 12px;min-width:70px}}
