/* Olcha guli — 03-video: to‘q bordo bulutsimon eshiklar, pushti olcha gullari, bokeh, chapga tekislangan matn. Ranglar manifest (--sh-*) dan. */
.t-olcha-guli{--sh-rule:var(--gl);--sh-blossom:#F2CED6}
.t-olcha-guli .inv{background:var(--sh-paper)}
.t-olcha-guli .caps{color:var(--sh-ink2)}
/* --- Intro: bulutsimon qirrali bordo eshiklar (mask bilan yirik dumaloq to‘lqinlar), gulli shox, qopqoqlar; ochilish — yonga surilish --- */
.t-olcha-guli .in-scallop{background:var(--sh-door2)}
.t-olcha-guli .in-scallop::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%,rgba(255,255,255,.08),transparent 60%),repeating-linear-gradient(45deg,rgba(0,0,0,.05) 0 2px,transparent 2px 6px)}
html.t-olcha-guli .in-scallop .in-door{top:0;bottom:0;width:53%;z-index:1;background:var(--sh-door);clip-path:none;transform-origin:center;transition:transform 1.5s var(--sh-ease) .35s}
html.t-olcha-guli .in-scallop .in-door.l{clip-path:none;-webkit-mask:linear-gradient(#000,#000) left 0 top 0/calc(100% - 46px) 100% no-repeat,radial-gradient(circle closest-side,#000 97%,transparent 100%) right 0 top -30px/92px 120px repeat-y;mask:linear-gradient(#000,#000) left 0 top 0/calc(100% - 46px) 100% no-repeat,radial-gradient(circle closest-side,#000 97%,transparent 100%) right 0 top -30px/92px 120px repeat-y}
html.t-olcha-guli .in-scallop .in-door.r{clip-path:none;-webkit-mask:linear-gradient(#000,#000) right 0 top 0/calc(100% - 46px) 100% no-repeat,radial-gradient(circle closest-side,#000 97%,transparent 100%) left 0 top 30px/92px 120px repeat-y;mask:linear-gradient(#000,#000) right 0 top 0/calc(100% - 46px) 100% no-repeat,radial-gradient(circle closest-side,#000 97%,transparent 100%) left 0 top 30px/92px 120px repeat-y}
html.t-olcha-guli .in-scallop .in-door::after{background:linear-gradient(90deg,rgba(0,0,0,.18),transparent 35%,transparent 65%,rgba(0,0,0,.18)),repeating-linear-gradient(0deg,rgba(255,255,255,.02) 0 1px,transparent 1px 3px)}
.t-olcha-guli .in-scallop .in-door img{position:absolute;top:-2%;height:104%;width:auto;max-width:none;opacity:.96}
.t-olcha-guli .in-scallop .in-door.l img{right:-6%}
.t-olcha-guli .in-scallop .in-door.r img{left:-6%;transform:scaleX(-1)}
html.t-olcha-guli .in-scallop.sh-open .in-door.l{transform:translateX(-104%)}
html.t-olcha-guli .in-scallop.sh-open .in-door.r{transform:translateX(104%)}
html.t-olcha-guli .in-scallop .in-lid{background:var(--sh-door2);height:15%;clip-path:none;z-index:0}
/* Eshik ochilayotganda orqada 1-sahna ko‘rinadi (matn intro tugagach .on bilan chiqadi) */
html.t-olcha-guli.sh-opening #story .sc.first{opacity:1;visibility:visible;transition:none}
html.t-olcha-guli.sh-intro-on #story .sc.first .tx{opacity:0}
html.t-olcha-guli .in-scallop .in-lid.t{clip-path:none;-webkit-mask:linear-gradient(#000,#000) 0 0/100% calc(100% - 40px) no-repeat,radial-gradient(circle closest-side,#000 97%,transparent 100%) -20px bottom/110px 80px repeat-x;mask:linear-gradient(#000,#000) 0 0/100% calc(100% - 40px) no-repeat,radial-gradient(circle closest-side,#000 97%,transparent 100%) -20px bottom/110px 80px repeat-x}
html.t-olcha-guli .in-scallop .in-lid.b{clip-path:none;-webkit-mask:linear-gradient(#000,#000) 0 100%/100% calc(100% - 40px) no-repeat,radial-gradient(circle closest-side,#000 97%,transparent 100%) 30px top/110px 80px repeat-x;mask:linear-gradient(#000,#000) 0 100%/100% calc(100% - 40px) no-repeat,radial-gradient(circle closest-side,#000 97%,transparent 100%) 30px top/110px 80px repeat-x}
.t-olcha-guli .og-open{position:absolute;left:50%;bottom:16%;transform:translateX(-50%);z-index:7;display:flex;flex-direction:column;align-items:center;gap:8px;border:0;background:transparent;color:var(--sh-blossom);cursor:pointer;padding:10px;animation:ogPulse 2.4s ease-in-out infinite}
.t-olcha-guli .og-open svg{width:56px;height:56px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.4))}
.t-olcha-guli .og-open-t{font-family:var(--sh-sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--sh-blossom);opacity:.9}
.t-olcha-guli .og-open:focus-visible{outline:2px solid var(--sh-blossom);outline-offset:4px;border-radius:8px}
.t-olcha-guli .in-scallop.sh-open .og-open{opacity:0;transition:opacity .3s;animation:none}
@keyframes ogPulse{0%,100%{transform:translateX(-50%) scale(1)}50%{transform:translateX(-50%) scale(1.06)}}
/* --- Story --- */
.t-olcha-guli .story{background:var(--sh-scene)}
.t-olcha-guli .og-bg{background:radial-gradient(ellipse at 50% 35%,rgba(255,255,255,.06),transparent 55%),repeating-linear-gradient(0deg,rgba(0,0,0,.05) 0 1px,transparent 1px 3px),var(--sh-scene)}
.t-olcha-guli .og-bokeh{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.t-olcha-guli .og-bokeh i{position:absolute;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,var(--sh-bokeh),transparent 70%);filter:blur(6px);animation:ogBokeh 14s ease-in-out infinite alternate}
.t-olcha-guli .og-bokeh i:nth-child(1){left:-6%;top:18%;animation-delay:-2s}
.t-olcha-guli .og-bokeh i:nth-child(2){left:60%;top:6%;width:120px;height:120px;animation-delay:-6s}
.t-olcha-guli .og-bokeh i:nth-child(3){left:20%;top:52%;width:200px;height:200px;animation-delay:-9s}
.t-olcha-guli .og-bokeh i:nth-child(4){left:70%;top:60%;animation-delay:-4s}
.t-olcha-guli .og-bokeh i:nth-child(5){left:-4%;top:78%;width:140px;height:140px;animation-delay:-11s}
.t-olcha-guli .og-bokeh i:nth-child(6){left:45%;top:82%;width:110px;height:110px;animation-delay:-7s}
@keyframes ogBokeh{from{transform:translate(0,0) scale(1);opacity:.7}to{transform:translate(24px,-30px) scale(1.15);opacity:1}}
.t-olcha-guli .og-branch{width:86%;height:auto;transition:transform 1.6s var(--sh-ease),opacity 1.2s}
.t-olcha-guli .og-branch.tl{left:-32%;top:-18%}
.t-olcha-guli .og-branch.br{right:-32%;bottom:-18%;transform:rotate(180deg)}
.t-olcha-guli .og-branch.tl.out{transform:translate(-8%,-6%)}
.t-olcha-guli .sc.on .og-branch.tl.out{transform:translate(-45%,-70%);opacity:0}
.t-olcha-guli .og-branch.bl{left:-30%;bottom:-12%;width:82%;transform:rotate(180deg) translate(-30%,0)}
.t-olcha-guli .sc.on .og-branch.bl{transform:rotate(180deg) translate(0,0)}
html.t-olcha-guli .sc .tx{left:10%;right:10%}
html.t-olcha-guli .sc .tx.og-tx1{top:26%}
.t-olcha-guli .og-callig{display:block;width:60%;max-width:220px;margin:0 auto 6px;color:#fff}
.t-olcha-guli .og-callig path,.t-olcha-guli .og-callig circle{stroke-width:2.2}
.t-olcha-guli .og-ayah{font-size:9px;letter-spacing:.12em;text-transform:none;color:var(--sh-ink);opacity:.85;margin-bottom:22px}
.t-olcha-guli .og-serif{font-family:var(--sh-serif);font-weight:400;font-size:22px;line-height:1.45;color:var(--sh-ink);margin:0;letter-spacing:-.01em}
.t-olcha-guli .og-serif p{margin:0 0 8px;font-family:inherit;font-size:inherit;line-height:inherit;white-space:pre-line;font-style:normal;color:inherit}
.t-olcha-guli .og-serif p::first-line{font-family:var(--sh-serif);font-size:inherit;color:var(--gl)}
html.t-olcha-guli .sc .tx.og-tx2{top:17%;left:15%;right:6%;text-align:left}
.t-olcha-guli .og-small{font-family:var(--sh-serif);font-size:15px;line-height:1.4;color:var(--sh-ink);margin:0 0 22px;max-width:250px}
.t-olcha-guli .og-names{font-family:var(--sh-script);font-weight:400;font-size:34px;line-height:1.25;color:var(--gl);margin:0 0 24px;text-align:left}
.t-olcha-guli .og-names .n{display:block}
.t-olcha-guli .og-names .amp{display:block;font-family:var(--sh-script);font-size:26px;line-height:1.2;color:var(--gl);margin:2px 0}
.t-olcha-guli .og-date{font-family:var(--sh-serif);font-weight:400;font-size:28px;letter-spacing:.02em;color:var(--sh-ink2);margin-bottom:18px}
.t-olcha-guli .og-line{font-family:var(--sh-serif);font-size:19px;line-height:1.4;color:var(--sh-ink);margin-bottom:14px}
.t-olcha-guli .og-rsvp-note{font-family:var(--sh-serif);font-size:12px;letter-spacing:.04em;line-height:1.5;color:var(--sh-ink);opacity:.85;margin-top:10px;text-transform:none;max-width:250px}
/* --- Scroll bo‘limlar (bordo fonda pushti) --- */
.t-olcha-guli .sc-anchor{height:1px}
.t-olcha-guli .og-salut{padding:26px 22px 0}
.t-olcha-guli .og-count{padding:52px 22px 40px}
.t-olcha-guli .og-until{margin-top:12px}
.t-olcha-guli .cd3>div{border-color:var(--sh-line)}
.t-olcha-guli .og-events{padding:34px 18px 24px}
.t-olcha-guli .og-cards{display:flex;flex-direction:column;gap:20px;margin-top:22px}
.t-olcha-guli .og-card{position:relative;padding:30px 20px 26px;background:var(--p2);border:1px solid var(--sh-line);text-align:center}
.t-olcha-guli .og-cc{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--gl);opacity:.7}
.t-olcha-guli .og-cc.tl{left:-6px;top:-6px}.t-olcha-guli .og-cc.tr{right:-6px;top:-6px}.t-olcha-guli .og-cc.bl{left:-6px;bottom:-6px}.t-olcha-guli .og-cc.br{right:-6px;bottom:-6px}
.t-olcha-guli .og-card .evc-v{font-family:var(--sh-script);font-size:30px;margin:8px 0 4px;color:var(--gl)}
.t-olcha-guli .og-addr{font-family:var(--sh-sans);font-weight:300;font-size:14px;line-height:1.5;color:var(--sh-ink2);max-width:290px;margin:0 auto}
.t-olcha-guli .og-land{font-size:14px;margin-top:6px}
.t-olcha-guli .og-cdate{margin-top:10px;font-size:15px}
.t-olcha-guli .og-time{font-family:var(--sh-serif);font-size:28px;color:var(--gl);margin-top:4px}
.t-olcha-guli .og-note{padding:34px 22px}
.t-olcha-guli .og-dress{font-family:var(--sh-serif);font-size:22px;margin-top:10px;color:var(--gl)}
.t-olcha-guli .og-notes-t{margin-top:22px}
.t-olcha-guli .og-notes{margin:8px auto 0;max-width:330px;font-size:15px}
.t-olcha-guli .og-gift{padding:34px 22px}
.t-olcha-guli .og-gift-t{margin:12px auto 6px;max-width:330px;font-size:16px}
.t-olcha-guli .gift .card{color:var(--sh-ink)}
.t-olcha-guli .og-rsvp{padding:40px 22px}
.t-olcha-guli .og-rsvp .caps{margin-top:12px;line-height:1.9}
.t-olcha-guli .rsvp2 .form input,.t-olcha-guli .rsvp2 .form select,.t-olcha-guli .rsvp2 .form textarea{background:rgba(255,255,255,.08);color:var(--sh-ink)}
.t-olcha-guli .rsvp2 .form select option{color:#333}
.t-olcha-guli .rsvp2 .btn.solid,.t-olcha-guli .btn.solid,.t-olcha-guli .today{color:var(--sh-btn-ink)}
.t-olcha-guli .btn{border-color:var(--sh-line);color:var(--sh-ink)}
.t-olcha-guli .langs{background:rgba(0,0,0,.25);border-color:rgba(255,255,255,.18)}
.t-olcha-guli .langs button{color:var(--sh-ink2)}
.t-olcha-guli .langs button[aria-pressed="true"]{background:var(--gl);color:var(--sh-btn-ink)}
.t-olcha-guli .music{background:rgba(255,255,255,.14);color:var(--sh-ink);border-color:rgba(255,255,255,.2)}
.t-olcha-guli .music.on{background:rgba(255,255,255,.14);color:var(--sh-ink)}
.t-olcha-guli .in-skip,.t-olcha-guli .in-silent{background:rgba(255,255,255,.14);color:var(--sh-ink);border-color:rgba(255,255,255,.28)}
.t-olcha-guli .wi{background:rgba(255,255,255,.06)}
.t-olcha-guli .parents>div{border-color:var(--sh-line)}
.t-olcha-guli .h-serif{font-size:34px;color:var(--gl)}
.t-olcha-guli .closing{font-family:var(--sh-script);font-size:30px;color:var(--gl)}
.t-olcha-guli .smp,.t-olcha-guli .next,.t-olcha-guli .tl .it{background:rgba(255,255,255,.06);color:var(--sh-ink)}
.t-olcha-guli .tl .h{color:var(--sh-ink)}
.t-olcha-guli .smp-n,.t-olcha-guli .wm,.t-olcha-guli .wm a,.t-olcha-guli .smp-l a{color:var(--sh-ink2)}
.t-olcha-guli .smp-b{color:var(--gl)}
.t-olcha-guli .sc-dots i{background:rgba(243,218,223,.4)}
.t-olcha-guli .sc-dots i.on{background:var(--gl)}
@media (prefers-reduced-motion:reduce){.t-olcha-guli .og-bokeh i,.t-olcha-guli .og-open{animation:none}.t-olcha-guli .og-branch{transition:none}}
@media (max-width:360px){.t-olcha-guli .og-names{font-size:30px}.t-olcha-guli .og-serif{font-size:20px}html.t-olcha-guli .sc .tx.og-tx2{top:14%;left:12%}}
