:root{
  --bg:#FFF7F3; --card:#fff; --ink:#2B2430; --mut:#6E6577;
  --pink:#F5317F; --pink-d:#D91E68; --coral:#FF7A4D; --teal:#14BFAE;
  --purple:#7A5CFF; --gold:#F2B24B; --wine:#E0446B; --baby:#7FC0EA; --wa:#22C55E;
  --r:22px; --sh:0 10px 30px -12px rgba(43,36,48,.18);
  --disp:'Unbounded','Noto Sans Thai',sans-serif; --body:'Golos Text','Noto Sans Thai',system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--body);color:var(--ink);background:var(--bg);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
:focus-visible{outline:3px solid var(--teal);outline-offset:2px;border-radius:8px}
.wrap{max-width:1180px;margin-inline:auto;padding-inline:clamp(16px,4vw,32px)}
.sec{padding-block:clamp(56px,8.5vw,100px);position:relative}
.sec[id]{scroll-margin-top:92px}
h1,h2,h3,h4{font-family:var(--disp);line-height:1.18;margin:0;font-weight:600;letter-spacing:-.01em}
h2{font-size:clamp(24px,3.6vw,38px)}
.kick{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--pink);margin-bottom:14px}
.kick::before{content:"";width:22px;height:2px;background:currentColor;border-radius:2px}
.sub{color:var(--mut);font-size:clamp(15px,1.6vw,17.5px);max-width:660px;margin:12px 0 0}
.shead{margin-bottom:clamp(26px,4vw,42px)}
.center{text-align:center;margin-top:34px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 27px;border-radius:999px;font-weight:600;font-size:15.5px;background:var(--pink);color:#fff;box-shadow:0 12px 26px -10px rgba(245,49,127,.55);transition:transform .2s,box-shadow .2s,background .2s}
.btn:hover{transform:translateY(-2px);background:var(--pink-d);box-shadow:0 16px 32px -10px rgba(245,49,127,.6)}
.btn.ghost{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1.5px #EBDFE6,0 8px 20px -12px rgba(43,36,48,.15)}
.btn.ghost:hover{background:#fff;box-shadow:inset 0 0 0 1.5px var(--pink),0 12px 24px -12px rgba(245,49,127,.35)}
.btn.cor{background:var(--coral);box-shadow:0 12px 26px -10px rgba(255,122,77,.55)}
.btn.cor:hover{background:#F0663B}
.btn.wa{background:var(--wa);box-shadow:0 12px 26px -10px rgba(34,197,94,.5)}
.btn.wa:hover{background:#1CA84F}
.btn.lite{background:#fff;color:var(--pink);box-shadow:0 12px 26px -12px rgba(0,0,0,.3)}
.btn.lite:hover{background:#FFF0F6}
.btn.line{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.75)}
.btn.line:hover{background:rgba(255,255,255,.12)}
.btn.sm{padding:10px 18px;font-size:14px}

/* header */
.hdr{position:sticky;top:0;z-index:60;background:rgba(255,247,243,.87);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:box-shadow .25s,transform .38s cubic-bezier(.2,.7,.2,1),background .3s}
.hdr.sc{box-shadow:0 6px 24px -14px rgba(43,36,48,.28)}
.hdr .row{display:flex;align-items:center;gap:20px;padding-block:15px;transition:padding .25s}
.hdr.sc .row{padding-block:9px}
.logo{display:flex;align-items:center;gap:10px;flex-shrink:0}
.logo .lt{font-family:var(--disp);font-weight:700;font-size:18px;line-height:1.05}
.logo .lt small{display:block;font-family:var(--body);font-weight:600;font-size:9.5px;letter-spacing:.36em;color:var(--mut)}
.nl{display:flex;gap:clamp(16px,2.4vw,28px);margin-inline:auto}
.nl a{font-weight:500;font-size:15px;color:#4A4152;position:relative;padding-block:4px}
.nl a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:2px;border-radius:2px;background:var(--pink);transition:right .25s}
.nl a:hover{color:var(--ink)}
.nl a:hover::after{right:0}
.hact{display:flex;align-items:center;gap:11px}
.lang{display:flex;background:#fff;border:1.5px solid #EBDFE6;border-radius:999px;padding:3px}
.lang button{padding:5px 12px;border-radius:999px;font-weight:600;font-size:13px;color:var(--mut);transition:.2s}
.lang button.on{background:var(--ink);color:#fff}
.hwa{width:41px;height:41px;border-radius:50%;background:var(--wa);display:grid;place-items:center;color:#fff;box-shadow:0 8px 18px -8px rgba(34,197,94,.6);transition:transform .2s}
.hwa:hover{transform:scale(1.08)}
.burg{display:none;width:41px;height:41px;border-radius:12px;background:#fff;border:1.5px solid #EBDFE6;place-items:center}
@media(max-width:920px){.nl{display:none}.burg{display:grid}}
@media(max-width:430px){.lang button{padding:4px 7px;font-size:12px}.logo .lt small{display:none}.hdr .row{gap:9px}}

/* fullscreen nav */
.mnav{position:fixed;inset:0;z-index:58;background:linear-gradient(150deg,#241E2B 20%,#3A2B4E);padding:110px 8vw 36px;display:flex;flex-direction:column;transform:translateY(-102%);transition:transform .6s cubic-bezier(.76,0,.24,1)}
.mnav.open{transform:none}
.mnav a{display:block;padding:15px 0;font-family:var(--disp);font-weight:600;font-size:clamp(25px,6.5vw,38px);color:#fff;border-bottom:1px solid rgba(255,255,255,.1);opacity:0;transform:translateY(26px);transition:opacity .45s ease,transform .45s cubic-bezier(.2,.7,.2,1),color .2s}
.mnav a:hover{color:var(--pink)}
.mnav.open a{opacity:1;transform:none;transition-delay:calc(.16s + var(--mi,0)*.06s)}
.mnav .btn{margin-top:auto;width:100%;font-size:17px;opacity:0;transition-delay:.5s}
.mnav.open .btn{opacity:1}

/* hero */
.hero{padding-block:clamp(36px,5.5vw,74px) clamp(44px,6.5vw,84px);position:relative}
.hero .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,56px);align-items:center}
.hero h1{font-size:clamp(29px,4.5vw,53px);font-weight:700}
.hero h1 .grad{background:linear-gradient(92deg,var(--pink),var(--coral) 55%,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .sub{margin:18px 0 26px;font-size:clamp(15.5px,1.7vw,18px)}
.hbtns{display:flex;gap:13px;flex-wrap:wrap}
.hchips{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:26px}
.hchips span{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#584E62}
.hchips svg{color:var(--teal);flex-shrink:0}
.art{position:relative;min-height:clamp(320px,40vw,500px)}
.blob{position:absolute;inset:4% 0;border-radius:50%;background:
  radial-gradient(58% 58% at 62% 38%,rgba(245,49,127,.16),transparent 70%),
  radial-gradient(50% 50% at 22% 70%,rgba(20,191,174,.15),transparent 70%),
  radial-gradient(46% 46% at 82% 80%,rgba(242,178,75,.18),transparent 70%);
  filter:blur(2px)}
.hb{position:absolute;will-change:transform}
.bob{display:block;animation:bob var(--bd,5.6s) ease-in-out var(--bdel,0s) infinite}
.inf{display:block;transform-origin:50% 64%;animation:inflate .95s cubic-bezier(.34,1.3,.5,1) both;animation-delay:var(--idel,0s)}
.hb svg{width:100%;height:auto;filter:drop-shadow(0 14px 16px rgba(43,36,48,.15));cursor:pointer;transition:transform .2s}
.hb svg:hover{transform:scale(1.07) rotate(-2deg)}
.hb.hide{visibility:hidden}
.bigb{position:absolute;will-change:transform,opacity}
.bigb svg{width:100%;height:auto;cursor:pointer;filter:drop-shadow(0 28px 34px rgba(43,36,48,.22));transition:transform .25s}
.bigb svg:hover{transform:scale(1.025)}
.bigb.hide{visibility:hidden}
.sp{position:absolute;color:var(--gold);font-size:18px;animation:spk 2.8s ease-in-out var(--sdl,0s) infinite;pointer-events:none}
.hint{position:absolute;bottom:0;right:2%;font-size:13px;font-weight:500;color:var(--mut);background:#fff;padding:8px 15px;border-radius:999px;box-shadow:var(--sh)}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-2.2deg) scale(1,1)}50%{transform:translateY(-14px) rotate(2.4deg) scale(1.015,.985)}}
@keyframes inflate{0%{transform:scale(.1,.08);opacity:0}12%{opacity:1}45%{transform:scale(.76,1.12)}66%{transform:scale(1.1,.9)}83%{transform:scale(.96,1.05)}100%{transform:scale(1,1);opacity:1}}
@keyframes spk{0%,100%{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}
@media(max-width:860px){
  .hero .grid{grid-template-columns:1fr}
  .art{min-height:340px;order:2}
}

/* marquee */
.mq{background:var(--ink);color:#fff;padding-block:13px;overflow:hidden}
.mq .track{display:flex;width:max-content;animation:mqm 30s linear infinite}
.mq .gr{display:flex;align-items:center;gap:40px;padding-right:40px;white-space:nowrap;font-family:var(--disp);font-weight:500;font-size:13.5px;letter-spacing:.03em}
.mq i{font-style:normal;color:var(--coral)}
@keyframes mqm{to{transform:translateX(-50%)}}

/* categories */
.cgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:15px}
.cat{--c:var(--pink);position:relative;display:block;background:color-mix(in srgb,var(--c) 9%,#fff);border:1.5px solid color-mix(in srgb,var(--c) 20%,#fff);border-radius:var(--r);padding:20px 17px 17px;transition:transform .22s,box-shadow .22s}
.cat:hover{transform:translateY(-5px);box-shadow:0 18px 30px -16px color-mix(in srgb,var(--c) 55%,transparent)}
.cat .ic{width:34px;margin-bottom:12px}
.cat h3{font-size:15px;font-weight:600}
.cat p{margin:6px 0 0;font-size:12.5px;color:var(--mut);line-height:1.4}
.cat .go{position:absolute;top:15px;right:15px;color:var(--c);opacity:0;transform:translateX(-5px);transition:.22s}
.cat:hover .go{opacity:1;transform:none}
@media(max-width:1020px){.cgrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.cgrid{grid-template-columns:repeat(2,1fr);gap:11px}.cat{padding:16px 14px 14px}}

/* sets */
.sgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:19px}
.set{background:#fff;border-radius:26px;overflow:hidden;box-shadow:var(--sh);display:flex;flex-direction:column;transition:transform .22s,box-shadow .22s}
.set:hover{transform:translateY(-6px);box-shadow:0 24px 44px -18px rgba(43,36,48,.3)}
.set .media{position:relative;aspect-ratio:10/9;background:linear-gradient(160deg,var(--m1,#FFE3EE),var(--m2,#FFF6E8))}
.set .media svg{width:100%;height:100%}
.bdgs{position:absolute;top:12px;left:12px;display:flex;gap:6px;flex-wrap:wrap;z-index:2}
.bdg{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:#fff;box-shadow:0 4px 10px -4px rgba(0,0,0,.25)}
.bdg.hot{background:var(--pink);color:#fff}
.bdg.new{background:var(--teal);color:#fff}
.bdg.day{background:var(--gold);color:#4A3208}
.bdg.site{background:var(--purple);color:#fff}
.set .bd{padding:17px 18px 19px;display:flex;flex-direction:column;gap:7px;flex:1}
.set h3{font-size:16.5px}
.set .d{font-size:13.5px;color:var(--mut);flex:1}
.prow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}
.price{font-family:var(--disp);font-weight:700;font-size:18px;white-space:nowrap}
@media(max-width:1020px){.sgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.sgrid{grid-template-columns:1fr}}

/* picker */
.pick{background:#fff;border-radius:30px;box-shadow:var(--sh);padding:clamp(26px,4vw,44px);position:relative;overflow:hidden}
.pick .deco{position:absolute;right:-14px;top:-20px;width:130px;opacity:.14;pointer-events:none}
.pgrid{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:14px;align-items:end;margin-top:26px;position:relative}
.fld label{display:block;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);margin-bottom:8px}
.fld select,.fld input{width:100%;padding:13px 14px;border-radius:14px;border:1.5px solid #EBDFE6;background:#FFFBF9;font:inherit;color:var(--ink);transition:border-color .2s}
.fld select:focus,.fld input:focus{outline:none;border-color:var(--pink)}
@media(max-width:980px){.pgrid{grid-template-columns:1fr 1fr}.pgrid .btn{grid-column:span 2}}
@media(max-width:540px){.pgrid{grid-template-columns:1fr}.pgrid .btn{grid-column:span 1}}

/* events dark card */
.ev{background:linear-gradient(135deg,#2B2430 0%,#3A2B4E 58%,#4E2B58 100%);color:#fff;border-radius:36px;padding:clamp(30px,5vw,58px);position:relative;overflow:hidden}
.ev::after{content:"";position:absolute;right:-140px;top:-140px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(245,49,127,.28),transparent 68%);pointer-events:none}
.ev .kick{color:var(--coral)}
.ev .sub{color:#CDBFD9}
.echips{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 30px;position:relative;z-index:1}
.echips span{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);font-size:14px;font-weight:500}

/* steps */
.stgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}
.step{--a:var(--pink);background:#fff;border-radius:24px;padding:23px 21px;box-shadow:var(--sh)}
.step:nth-child(2){--a:var(--coral)}
.step:nth-child(3){--a:var(--teal)}
.step:nth-child(4){--a:var(--purple)}
.step .num{font-family:var(--disp);font-weight:700;font-size:15px;width:40px;height:40px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--a) 13%,#fff);color:var(--a);margin-bottom:14px}
.step h3{font-size:15.5px}
.step p{margin:8px 0 0;font-size:13.5px;color:var(--mut)}
@media(max-width:940px){.stgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.stgrid{grid-template-columns:1fr}}

/* advantages */
.agrid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}
.adv{display:flex;gap:12px;align-items:center;background:#fff;border-radius:18px;padding:15px 16px;box-shadow:0 6px 18px -12px rgba(43,36,48,.16)}
.adv .em{font-size:19px;line-height:1;background:#FFF0F6;border-radius:12px;padding:9px;flex-shrink:0}
.adv:nth-child(4n+2) .em{background:#FFF2EB}
.adv:nth-child(4n+3) .em{background:#E9FAF7}
.adv:nth-child(4n) .em{background:#F1EDFF}
.adv span{font-size:13.5px;font-weight:500;line-height:1.35}
@media(max-width:940px){.agrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.agrid{grid-template-columns:1fr}}

/* reviews */
.rwrap{display:grid;grid-template-columns:280px 1fr;gap:16px;align-items:stretch}
.rate{background:linear-gradient(150deg,#FFF0F6,#FFF6E8);border:1.5px solid #F6DFEA;border-radius:24px;padding:26px 24px;display:flex;flex-direction:column;justify-content:center;gap:8px}
.rate .num{font-family:var(--disp);font-weight:700;font-size:46px;line-height:1}
.rate .strs{display:flex;gap:3px;color:var(--gold)}
.rate p{margin:4px 0 0;font-size:13.5px;color:var(--mut)}
.rcarw{position:relative;min-width:0}
.rcar{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 2px 8px;cursor:grab}
.rcar::-webkit-scrollbar{display:none}
.rcar.drag{cursor:grabbing;scroll-snap-type:none}
.rev{flex:0 0 min(320px,80vw);scroll-snap-align:start;background:#fff;border-radius:24px;padding:22px;box-shadow:var(--sh);display:flex;flex-direction:column}
.rev p{margin:0;font-size:14px;color:#4A4152;flex:1}
.rev .meta{margin-top:16px;font-size:12.5px;font-weight:600;color:var(--mut);display:flex;align-items:center;gap:7px}
.rev .meta b{width:20px;height:20px;border-radius:50%;background:#F2F2F2;display:grid;place-items:center;font-family:var(--body);font-weight:700;font-size:11px;color:#4285F4}
.rnav{display:flex;gap:9px;justify-content:flex-end;margin-top:14px}
.rnav button{width:42px;height:42px;border-radius:50%;background:#fff;border:1.5px solid #EBDFE6;display:grid;place-items:center;font-size:17px;transition:.2s}
.rnav button:hover{border-color:var(--pink);color:var(--pink);transform:translateY(-2px)}
@media(max-width:860px){.rwrap{grid-template-columns:1fr}.rate{flex-direction:row;align-items:center;gap:18px;padding:20px 22px}.rate p{margin:0}}

/* ideas / blog */
.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}
.bcard{background:#fff;border-radius:26px;overflow:hidden;box-shadow:var(--sh);display:flex;flex-direction:column;transition:transform .22s,box-shadow .22s}
.bcard:hover{transform:translateY(-6px);box-shadow:0 24px 44px -18px rgba(43,36,48,.3)}
.bcard .media{position:relative;aspect-ratio:16/9;background:linear-gradient(160deg,var(--m1),var(--m2));overflow:hidden}
.bcard .media svg{width:100%;height:100%}
.bcard .tag{position:absolute;top:12px;left:12px;font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:#fff;box-shadow:0 4px 10px -4px rgba(0,0,0,.25)}
.bcard .bd{padding:18px 19px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.bcard h3{font-size:16.5px;line-height:1.3}
.bcard .d{font-size:13.5px;color:var(--mut);flex:1}
.bcard .go2{font-weight:600;font-size:14px;color:var(--pink);display:inline-flex;gap:7px;align-items:center;margin-top:6px}
@media(max-width:940px){.bgrid{grid-template-columns:1fr}}

/* delivery map */
.pmap{background:linear-gradient(180deg,#EDF6FA,#F5FBF6);border:1.5px solid #DCEBF0;border-radius:26px;padding:14px;overflow:hidden}
.pmapsvg{width:100%;height:auto;display:block}
.zn circle{fill:#AEC6B8;transition:fill .3s}
.zn text{font-family:var(--body,'Golos Text');font-size:9px;font-weight:600;fill:#75857C;transition:fill .3s}
.zn.zon circle{fill:#F5317F}
.zn.zon text{fill:#D91E68}
.stlb{font-family:var(--body,'Golos Text');font-size:10px;font-weight:700;fill:#D91E68}
.wv{fill:none;stroke:#CBDFEC;stroke-width:1.3;stroke-linecap:round}
.rt{fill:none;stroke:#F5317F;stroke-width:1.7;stroke-linecap:round;opacity:0}
.tstr{fill:none;stroke:rgba(43,36,48,.35);stroke-width:.9}
.pring{animation:ppls 2.8s ease-out infinite;transform-origin:196px 392px}
@keyframes ppls{from{transform:scale(1);opacity:.6}to{transform:scale(2.1);opacity:0}}
.pb{opacity:0;transition:opacity .25s ease}
.pb.show{opacity:1}
.pbtx{font-family:var(--body,'Golos Text');font-size:9.5px;font-weight:700;fill:#fff}
@media(prefers-reduced-motion:reduce){.pring{animation:none}}

/* zones *//* zones */
.zgrid{display:grid;grid-template-columns:1fr .9fr;gap:24px;align-items:start}
.zchips{display:flex;flex-wrap:wrap;gap:9px}
.zc{padding:9px 15px;border-radius:999px;background:#fff;border:1.5px solid #EBDFE6;font-size:13.5px;font-weight:500;transition:.2s;cursor:default}
.zc:hover{border-color:var(--teal);color:#0E9C8E;transform:translateY(-2px)}
.znote{background:linear-gradient(150deg,#E9FBF7,#FDF3E4);border:1.5px solid #D9F2EA;border-radius:24px;padding:24px}
.znote h3{font-size:16.5px;display:flex;align-items:center;gap:9px}
.znote p{margin:10px 0 0;font-size:14px;color:#5A5262}
@media(max-width:860px){.zgrid{grid-template-columns:1fr}}

/* cta */
.cta{background:linear-gradient(120deg,var(--pink),var(--coral) 58%,var(--gold));border-radius:36px;padding:clamp(38px,6vw,72px) clamp(22px,5vw,60px);text-align:center;color:#fff;position:relative;overflow:hidden;box-shadow:0 30px 60px -24px rgba(245,49,127,.5)}
.cta h2{font-size:clamp(25px,4vw,42px);max-width:660px;margin-inline:auto;position:relative;z-index:1}
.cta .hbtns{justify-content:center;margin-top:28px;position:relative;z-index:1}
.cta .cb{position:absolute;opacity:.35;pointer-events:none}

/* footer */
.ftr{background:#241E2B;color:#CFC6D6;padding:clamp(44px,6vw,62px) 0 26px}
.fgrid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:30px}
.ftr .logo .lt{color:#fff}
.ftr .logo .lt small{color:#9A8FA5}
.ftr p.fd{font-size:14px;margin:14px 0 0;max-width:280px;color:#B4A8C0}
.ftr h4{color:#fff;font-size:13.5px;margin:0 0 14px;letter-spacing:.05em}
.ftr .fl a{display:block;padding:5px 0;font-size:14px;transition:color .2s}
.ftr .fl a:hover{color:#fff}
.ftr .fl span{display:block;padding:5px 0;font-size:14px}
.fbot{border-top:1px solid rgba(255,255,255,.12);margin-top:36px;padding-top:20px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px;color:#9A8FA5}
@media(max-width:860px){.fgrid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.fgrid{grid-template-columns:1fr}}

/* floating whatsapp */
.waf{position:fixed;right:20px;bottom:20px;z-index:70;width:57px;height:57px;border-radius:50%;background:var(--wa);display:grid;place-items:center;color:#fff;box-shadow:0 14px 30px -8px rgba(34,197,94,.6);transition:transform .2s}
.waf:hover{transform:scale(1.08)}
.waf::before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--wa);opacity:.4;animation:puls 2.2s ease-out infinite;z-index:-1}
@keyframes puls{from{transform:scale(1);opacity:.45}to{transform:scale(1.7);opacity:0}}

/* ai chat */
.chf{position:fixed;right:20px;bottom:90px;z-index:70;width:57px;height:57px;border-radius:50%;background:linear-gradient(135deg,var(--pink),var(--coral));display:grid;place-items:center;color:#fff;box-shadow:0 14px 30px -8px rgba(245,49,127,.55);transition:transform .2s;border:0;cursor:pointer}
.chf:hover{transform:scale(1.08)}
.chp{position:fixed;right:20px;bottom:158px;z-index:76;width:min(380px,calc(100vw - 32px));height:min(540px,68vh);background:#fff;border-radius:24px;box-shadow:0 30px 70px -20px rgba(43,36,48,.45);display:flex;flex-direction:column;overflow:hidden;opacity:0;pointer-events:none;transform:translateY(18px) scale(.97);transition:opacity .3s ease,transform .3s cubic-bezier(.2,.7,.2,1.2)}
.chp.open{opacity:1;pointer-events:auto;transform:none}
.chh{background:linear-gradient(135deg,var(--pink),var(--coral));color:#fff;padding:15px 18px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.chh b{display:block;font-family:var(--disp);font-weight:600;font-size:14.5px}
.chh span{display:block;font-size:11.5px;opacity:.85;margin-top:2px}
.chh button{color:#fff;font-size:22px;line-height:1;padding:2px 6px;cursor:pointer}
.chm{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:9px;background:#FFFBF9}
.chm .m{max-width:82%;padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.45}
.chm .m.a{background:#fff;box-shadow:0 4px 14px -8px rgba(43,36,48,.2);border-bottom-left-radius:5px;align-self:flex-start}
.chm .m.u{background:var(--pink);color:#fff;border-bottom-right-radius:5px;align-self:flex-end}
.chm .tp i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#C9BFCE;margin-right:4px;animation:tpb 1.1s ease-in-out infinite}
.chm .tp i:nth-child(2){animation-delay:.15s}
.chm .tp i:nth-child(3){animation-delay:.3s}
@keyframes tpb{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(-4px);opacity:1}}
.chwa{color:var(--pink);font-weight:600;text-decoration:underline}
.chi{display:flex;gap:8px;padding:12px;border-top:1.5px solid #F4E8EE;background:#fff}
.chi input{flex:1;border:1.5px solid #EBDFE6;border-radius:999px;padding:11px 16px;font:inherit;font-size:14px}
.chi input:focus{outline:none;border-color:var(--pink)}
.chi button{width:44px;height:44px;border-radius:50%;background:var(--pink);color:#fff;display:grid;place-items:center;cursor:pointer;flex-shrink:0;transition:background .2s}
.chi button:hover{background:var(--pink-d)}
@media(max-width:560px){.chp{right:12px;bottom:150px}}

/* ambient balloon layer */
#fl{position:fixed;inset:0;z-index:5;pointer-events:none;overflow:hidden}
.floater{position:absolute;bottom:4px;animation:rise var(--rd,18s) linear var(--rdel,1.05s) forwards;will-change:transform}
.floater .sway{animation:swx var(--sd,3.4s) ease-in-out infinite alternate;pointer-events:auto;cursor:pointer}
.floater svg{width:var(--w,44px);height:auto;opacity:.92;filter:drop-shadow(0 10px 12px rgba(43,36,48,.13))}
@keyframes rise{to{transform:translateY(calc(-100vh - 340px))}}
@keyframes swx{from{transform:translateX(-14px) rotate(-3deg)}to{transform:translateX(14px) rotate(3deg)}}
.popping svg{animation:pop .22s ease-in forwards!important}
@keyframes pop{45%{transform:scale(1.32)}100%{transform:scale(0);opacity:0}}
.cf{position:fixed;z-index:80;width:9px;height:13px;border-radius:3px;pointer-events:none;animation:cff .8s cubic-bezier(.16,.84,.44,1) forwards}
@keyframes cff{from{transform:translate(-50%,-50%) rotate(0);opacity:1}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(var(--rot));opacity:0}}

/* scroll reveal */
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.rv.on{opacity:1;transform:none}

/* premium motion layer */
.mw{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.13em;margin-bottom:-.13em}
.mwi{display:inline-block;transform:translateY(118%);transition:transform .95s cubic-bezier(.19,.66,.15,1);transition-delay:calc(var(--wi)*.045s)}
.on .mwi{transform:none}
body.noanim .mwi{transition:none!important}
.grad .mwi{background:linear-gradient(92deg,var(--pink),var(--coral) 55%,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}
.hrv .kick,.hrv .sub,.hrv .hbtns,.hrv .hchips{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.65,.2,1)}
.hrv .kick{transition-delay:.05s}.hrv .sub{transition-delay:.28s}.hrv .hbtns{transition-delay:.42s}.hrv .hchips{transition-delay:.56s}
.hrv.on .kick,.hrv.on .sub,.hrv.on .hbtns,.hrv.on .hchips{opacity:1;transform:none}
body:not(.ready) .inf{animation-play-state:paused}
.curtain{position:fixed;inset:0;z-index:200;background:linear-gradient(120deg,var(--pink),var(--coral) 60%,var(--gold));display:grid;place-items:center;transition:transform .85s cubic-bezier(.76,0,.24,1)}
.curtain.up{transform:translateY(-101%)}
.curtain .logo{transform:scale(1.7)}
.curtain .logo .lt{color:#fff}
.curtain .logo .lt small{color:rgba(255,255,255,.8)}
.hdr.away{transform:translateY(-100%)}
.ar{position:relative;display:inline-block;width:1.05em;height:1em;overflow:hidden;line-height:1}
.ar i{position:absolute;inset:0;font-style:normal;transition:transform .35s cubic-bezier(.3,.7,.3,1)}
.ar i:last-child{transform:translateX(-160%)}
.btn:hover .ar i:first-child{transform:translateX(160%)}
.btn:hover .ar i:last-child{transform:none}
.set .media{overflow:hidden}
.set.rv .media svg{transform:scale(1.14);transition:transform 1.2s cubic-bezier(.2,.6,.2,1) .15s}
.set.rv.on .media svg{transform:scale(1)}
body.menuopen{overflow:hidden}
.menuopen .hdr{background:transparent;backdrop-filter:none;box-shadow:none}
.menuopen .logo .lt{color:#fff}
.menuopen .logo .lt small{color:#CFC6D6}
.menuopen .burg{background:transparent;border-color:rgba(255,255,255,.35)}
.menuopen .burg path{stroke:#fff}
.menuopen .lang{background:transparent;border-color:rgba(255,255,255,.3)}
.menuopen .lang button{color:#CFC6D6}
.menuopen .lang button.on{background:#fff;color:#241E2B}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .rv{opacity:1;transform:none}
  .mwi{transform:none}
  .hrv .kick,.hrv .sub,.hrv .hbtns,.hrv .hchips{opacity:1;transform:none}
  .mnav a{opacity:1;transform:none}
  .curtain{display:none}
  html{scroll-behavior:auto}
}

/* --- inline additions --- */
.media .mb{animation:mbob 4.6s ease-in-out infinite}
.media .mb:nth-child(2n){animation-duration:5.4s;animation-delay:.6s}
.media .mb:nth-child(3n){animation-delay:1.1s}
@keyframes mbob{50%{transform:translateY(-4px)}}
.adv .em{display:grid;place-items:center;color:var(--pink)}
.adv:nth-child(4n+2) .em{color:var(--coral)}
.adv:nth-child(4n+3) .em{color:#0EA695}
.adv:nth-child(4n) .em{color:var(--purple)}
@media (prefers-reduced-motion:reduce){.media .mb{animation:none}}

/* ============ добавлено при рефакторинге ============ */

/* переключатель языка ссылками */
.lang a{display:inline-block;padding:5px 12px;border-radius:999px;font-weight:600;font-size:13px;color:var(--mut);transition:.2s;text-decoration:none}
.lang a.on{background:var(--ink);color:#fff}
.lang a:hover{color:var(--ink)}
.lang a.on:hover{color:#fff}
@media(max-width:430px){.lang a{padding:4px 7px;font-size:12px}}

/* цены на оформление */
.eprice{margin:26px 0 24px;text-align:left;background:rgba(255,255,255,.55);border:1.5px solid #EFE2EA;border-radius:20px;padding:20px 22px}
.eprice .epk{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--pink)}
.eprice .epk::before{content:"";width:20px;height:2px;background:currentColor;border-radius:2px}
.eprice ul{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:9px 24px}
.eprice li{position:relative;padding-left:18px;font-size:15px;font-weight:500}
.eprice li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--coral)}
.eprice .epn{margin:14px 0 0;font-size:13.5px;color:var(--mut);max-width:62ch}

/* баннер согласия */
.ccbar{position:fixed;left:14px;right:14px;bottom:14px;z-index:70;max-width:640px;margin-inline:auto;
  background:var(--card);border:1.5px solid #EBDFE6;border-radius:20px;padding:16px 18px;
  box-shadow:0 18px 44px -18px rgba(43,36,48,.35);display:flex;gap:14px;align-items:center;flex-wrap:wrap;
  opacity:0;transform:translateY(14px);transition:opacity .35s,transform .35s}
.ccbar.on{opacity:1;transform:none}
.ccbar p{margin:0;flex:1 1 260px;font-size:13.5px;color:var(--mut);line-height:1.45}
.ccbar p a{color:var(--pink);text-decoration:underline;text-underline-offset:2px}
.ccbar .ccb{display:flex;gap:8px;margin-left:auto}
.ccbar button{padding:9px 16px;border-radius:999px;font-weight:600;font-size:13.5px;white-space:nowrap}
.ccbar .ccno{background:#F4EEF2;color:var(--ink-2,#584E62)}
.ccbar .ccok{background:var(--ink);color:#fff}
.ccbar .ccok:hover{background:var(--pink)}

/* подсказка языка */
.lbar{position:fixed;left:50%;top:76px;z-index:69;transform:translate(-50%,-12px);opacity:0;transition:opacity .3s,transform .3s;
  display:flex;align-items:center;gap:12px;background:var(--ink);color:#fff;border-radius:999px;padding:8px 10px 8px 18px;
  box-shadow:0 14px 30px -14px rgba(43,36,48,.5);font-size:13.5px;max-width:calc(100vw - 28px)}
.lbar.on{opacity:1;transform:translate(-50%,0)}
.lbar .lgo{background:#fff;color:var(--ink);padding:6px 14px;border-radius:999px;font-weight:600;font-size:13px}
.lbar .lno{color:#fff;opacity:.6;font-size:20px;line-height:1;padding:0 6px}
.lbar .lno:hover{opacity:1}

/* ---- внутренние страницы ---- */
.page{padding-block:clamp(34px,6vw,66px) clamp(46px,7vw,80px)}
.page .lead{font-size:clamp(16px,2vw,18.5px);color:#584E62;max-width:66ch;margin:0 0 30px}
.page h1{font-size:clamp(28px,4.6vw,46px);font-weight:700;margin:0 0 16px}
.page h2{margin:38px 0 14px}
.page h3{font-size:18px;margin:26px 0 8px}
.page p{max-width:70ch}
.crumbs{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--mut);margin-bottom:18px;flex-wrap:wrap}
.crumbs a{color:var(--mut)}
.crumbs a:hover{color:var(--pink)}
.prose p{margin:0 0 14px;color:#4A4152}
.prose ul{margin:0 0 18px;padding-left:20px;color:#4A4152}
.prose li{margin:6px 0;max-width:68ch}
.card{background:var(--card);border:1.5px solid #EFE2EA;border-radius:var(--r);padding:22px 24px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin:22px 0}
.cards h3{margin:0 0 6px;font-size:16.5px}
.cards p{margin:0;font-size:14.5px;color:var(--mut)}
.factbox{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;background:#EFE2EA;border:1.5px solid #EFE2EA;border-radius:var(--r);overflow:hidden;margin:26px 0}
.factbox div{background:var(--card);padding:16px 18px}
.factbox b{display:block;font-family:var(--disp);font-size:15px}
.factbox span{display:block;margin-top:4px;font-size:13.5px;color:var(--mut)}

/* ---- галерея ---- */
.gfils{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}
.gfil{padding:8px 15px;border-radius:999px;font-weight:600;font-size:13.5px;background:var(--card);border:1.5px solid #EBDFE6;color:#584E62;transition:.2s}
.gfil:hover{border-color:var(--pink);color:var(--pink)}
.gfil.on{background:var(--ink);border-color:var(--ink);color:#fff}
.ggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.gitem{margin:0;position:relative;border-radius:18px;overflow:hidden;background:#F4EEF2;box-shadow:var(--sh);cursor:zoom-in;aspect-ratio:4/5}
.gitem img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gitem:hover img{transform:scale(1.04)}
.gitem figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 12px;color:#fff;font-size:13px;font-weight:500;
  background:linear-gradient(to top,rgba(20,14,24,.72),transparent)}
.gempty{background:var(--card);border:1.5px dashed #E3D3DD;border-radius:var(--r);padding:34px 26px;text-align:center;color:var(--mut)}
.gempty p{margin:0 auto 18px;max-width:52ch}
.glb{position:fixed;inset:0;z-index:90;background:rgba(20,14,24,.88);display:grid;place-items:center;padding:24px;
  opacity:0;transition:opacity .25s;cursor:zoom-out}
.glb.on{opacity:1}
.glb img{max-width:min(1100px,94vw);max-height:88vh;border-radius:14px;box-shadow:0 30px 70px -24px rgba(0,0,0,.7)}
.glb button{position:absolute;top:18px;right:22px;color:#fff;font-size:34px;line-height:1;opacity:.8}
.glb button:hover{opacity:1}

@media (prefers-reduced-motion:reduce){
  .ccbar,.lbar,.glb,.gitem img{transition:none}
}

/* таблица зон доставки */
.ztable{overflow-x:auto;border:1.5px solid #EFE2EA;border-radius:var(--r);background:var(--card);margin:6px 0 8px}
.ztable table{border-collapse:collapse;width:100%;min-width:340px;font-size:15px}
.ztable th,.ztable td{padding:12px 18px;text-align:left;border-bottom:1px solid #F5EDF1}
.ztable th{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);background:#FBF5F8;font-weight:600}
.ztable tr:last-child td{border-bottom:0}
.ztable td.v{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.nl a{white-space:nowrap}

/* внутренние страницы: комфортная ширина колонки */
.wrap.page.prose{max-width:880px}
.page h2{font-size:clamp(19px,2.4vw,26px);margin:34px 0 12px}
.page h1{text-wrap:balance}
.page .cards{margin-inline:0}

/* ============ популярные виды шаров ============ */
.popgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pop{position:relative;display:block;border-radius:26px;overflow:hidden;background:#F4EEF2;
  box-shadow:var(--sh);aspect-ratio:1/1;isolation:isolate;
  transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s}
.pop::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(to top,rgba(22,15,26,.82) 0%,rgba(22,15,26,.5) 34%,rgba(22,15,26,.05) 62%,rgba(22,15,26,0) 100%)}
.pop-media{position:absolute;inset:0}
.pop-img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.pop:hover{transform:translateY(-6px);box-shadow:0 28px 50px -20px rgba(43,36,48,.4)}
.pop:hover .pop-img{transform:scale(1.06)}
.pop-body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:clamp(18px,2.4vw,26px);color:#fff;
  display:flex;flex-direction:column;gap:3px}
.pop-t{font-family:var(--disp);font-weight:700;font-size:clamp(19px,2.3vw,25px);line-height:1.15;letter-spacing:-.01em}
.pop-p{font-weight:600;font-size:clamp(15px,1.7vw,17px);color:#FFD9E8;margin-top:5px}
.pop-d{font-size:13.5px;color:rgba(255,255,255,.78);line-height:1.35}
.pop-go{position:absolute;top:16px;right:16px;z-index:2;display:inline-flex;align-items:center;gap:7px;
  background:rgba(255,255,255,.94);color:var(--ink);font-weight:600;font-size:12.5px;
  padding:8px 14px;border-radius:999px;opacity:0;transform:translateY(-6px);transition:.28s}
.pop-go i{font-style:normal;color:var(--pink)}
.pop:hover .pop-go,.pop:focus-visible .pop-go{opacity:1;transform:none}
@media(max-width:1020px){.popgrid{grid-template-columns:repeat(3,1fr);gap:12px}}
@media(max-width:760px){
  .popgrid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;
    margin-inline:calc(clamp(16px,4vw,32px) * -1);padding:4px clamp(16px,4vw,32px) 14px;
    -webkit-overflow-scrolling:touch;scrollbar-width:none}
  .popgrid::-webkit-scrollbar{display:none}
  .pop{flex:0 0 78vw;max-width:340px;scroll-snap-align:center}
  .pop-go{opacity:1;transform:none}
}

/* ============ каталог наборов ============ */
.setgroup{margin-bottom:clamp(30px,4vw,44px)}
.setgroup[hidden]{display:none}
.setgroup-head{display:flex;align-items:baseline;gap:14px;margin:0 0 16px;flex-wrap:wrap}
.setgroup-head h3{font-family:var(--disp);font-weight:600;font-size:clamp(17px,2.2vw,22px);margin:0;letter-spacing:-.01em}
.setgroup-from{font-size:13px;font-weight:600;color:var(--mut);background:#fff;border:1.5px solid #EFE2EA;
  padding:4px 11px;border-radius:999px;white-space:nowrap}
.setgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(238px,1fr));gap:16px}
.setc{background:var(--card);border-radius:24px;overflow:hidden;box-shadow:var(--sh);
  display:flex;flex-direction:column;transition:transform .22s,box-shadow .22s}
.setc:hover{transform:translateY(-5px);box-shadow:0 24px 44px -18px rgba(43,36,48,.3)}
.setc-media{position:relative;aspect-ratio:1/1;background:#F4EEF2;overflow:hidden}
.setc-img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.setc:hover .setc-img{transform:scale(1.05)}
.setcode{position:absolute;top:10px;left:10px;background:rgba(255,255,255,.92);color:var(--mut);
  font-size:11px;font-weight:600;letter-spacing:.04em;padding:4px 9px;border-radius:999px}
.setc-body{padding:15px 17px 17px;display:flex;flex-direction:column;gap:6px;flex:1}
.setc-body h4{font-family:var(--disp);font-weight:600;font-size:15.5px;margin:0;line-height:1.25}
.setc-body p{margin:0;font-size:13.2px;color:var(--mut);line-height:1.42;flex:1}
.setc-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:8px;flex-wrap:wrap}
.setc-row .price{font-family:var(--disp);font-weight:700;font-size:16px;white-space:nowrap}
.setc-row .price small{font-family:var(--body);font-weight:500;font-size:11.5px;color:var(--mut);margin-right:2px}
@media(max-width:520px){.setgrid{grid-template-columns:repeat(2,1fr);gap:11px}
  .setc-body{padding:12px 13px 14px}.setc-body h4{font-size:14px}.setc-body p{font-size:12.2px}}

/* ============ страница товара и конфигуратор ============ */
.cfg-page{max-width:1180px}
.cfg-head{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(22px,4vw,44px);align-items:center;margin-bottom:clamp(28px,4vw,44px)}
.cfg-head h1{margin:0 0 12px}
.cfg-head .lead{margin:0 0 18px}
.cfg-cover{border-radius:26px;overflow:hidden;box-shadow:var(--sh);aspect-ratio:1/1;background:#F4EEF2}
.cfg-cover img{width:100%;height:100%;object-fit:cover}
.cfg-price{display:flex;align-items:baseline;gap:10px;margin:0 0 18px;flex-wrap:wrap}
.cfg-price span{font-size:12px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--mut)}
.cfg-price b{font-family:var(--disp);font-weight:700;font-size:clamp(18px,2.4vw,24px);color:var(--pink)}
.cfg-incl{background:#fff;border:1.5px solid #EFE2EA;border-radius:18px;padding:15px 18px}
.cfg-incl-t{display:block;font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);margin-bottom:8px}
.cfg-incl ul{margin:0;padding-left:18px;font-size:14.5px;color:#4A4152}
.cfg-incl li{margin:3px 0}
@media(max-width:860px){.cfg-head{grid-template-columns:1fr}.cfg-cover{order:-1;max-width:460px}}

.cfg-wrap{display:grid;grid-template-columns:1fr 340px;gap:clamp(18px,3vw,32px);align-items:start}
@media(max-width:960px){.cfg-wrap{grid-template-columns:1fr}}

.cfg{display:flex;flex-direction:column;gap:14px;border:0;margin:0;padding:0}
.cfg-g{border:1.5px solid #EFE2EA;border-radius:20px;background:var(--card);padding:16px 18px 18px;margin:0}
.cfg-g legend{font-family:var(--disp);font-weight:600;font-size:14.5px;padding:0 8px;margin-left:-4px}
.cfg-hint{margin:0 0 10px;font-size:13px;color:var(--mut)}
.cfg-hint a{color:var(--pink);text-decoration:underline;text-underline-offset:2px}
.opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:9px}
.opts-2{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.opt{position:relative;display:block;cursor:pointer}
.opt input{position:absolute;opacity:0;width:0;height:0}
.opt-in{display:flex;align-items:center;gap:11px;padding:12px 13px;border-radius:15px;
  border:1.5px solid #EBDFE6;background:#FDFAFC;transition:.18s;height:100%}
.opt:hover .opt-in{border-color:#E0C4D3}
.opt input:checked + .opt-in{border-color:var(--pink);background:#FFF2F7;box-shadow:0 0 0 1px var(--pink) inset}
.opt input:focus-visible + .opt-in{outline:3px solid var(--teal);outline-offset:2px}
.opt-sw{width:22px;height:22px;border-radius:50%;flex-shrink:0;box-shadow:inset 0 0 0 1px rgba(43,36,48,.14)}
.opt-txt{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.opt-t{font-weight:600;font-size:14.2px;line-height:1.25}
.opt-d{font-size:12.2px;color:var(--mut);line-height:1.3}
.opt-p{margin-left:auto;font-weight:600;font-size:13px;color:var(--pink);white-space:nowrap}

.col{position:relative;display:inline-flex;cursor:pointer}
.col input{position:absolute;opacity:0;width:0;height:0}
.col-sw{width:26px;height:26px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(43,36,48,.16);flex-shrink:0}
.col > span:first-of-type{transition:transform .18s}
.col-t{font-size:13.5px;font-weight:500}
.col{align-items:center;gap:9px;padding:7px 13px 7px 8px;border-radius:999px;border:1.5px solid #EBDFE6;background:#FDFAFC;transition:.18s}
.col:hover{border-color:#E0C4D3}
.col input:checked ~ .col-t{font-weight:700}
.col:has(input:checked){border-color:var(--pink);background:#FFF2F7;box-shadow:0 0 0 1px var(--pink) inset}
.col input:focus-visible ~ .col-sw{outline:3px solid var(--teal);outline-offset:2px}
.cfg-g .opts:has(.col){display:flex;flex-wrap:wrap;gap:8px}

.qrow{display:inline-flex;align-items:center;gap:0;border:1.5px solid #EBDFE6;border-radius:999px;background:#FDFAFC;overflow:hidden}
.qbtn{width:44px;height:44px;font-size:20px;line-height:1;color:var(--ink);background:none;transition:.18s}
.qbtn:hover{background:#FFF2F7;color:var(--pink)}
.qrow input{width:74px;height:44px;border:0;background:none;text-align:center;font:inherit;font-weight:700;
  font-variant-numeric:tabular-nums;-moz-appearance:textfield}
.qrow input::-webkit-outer-spin-button,.qrow input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.qchips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}
.qchip{padding:7px 14px;border-radius:999px;border:1.5px solid #EBDFE6;background:#FDFAFC;
  font-weight:600;font-size:13.5px;color:#584E62;transition:.18s;font-variant-numeric:tabular-nums}
.qchip:hover{border-color:var(--pink);color:var(--pink)}
.qchip.on{background:var(--ink);border-color:var(--ink);color:#fff}

.cfg-g input[type=text],.cfg-g input[type=date],.cfg-g textarea{
  width:100%;padding:12px 14px;border-radius:14px;border:1.5px solid #EBDFE6;background:#FDFAFC;
  font:inherit;font-size:15px;color:var(--ink);resize:vertical}
.cfg-g input[type=text]:focus,.cfg-g input[type=date]:focus,.cfg-g textarea:focus{
  outline:none;border-color:var(--pink);box-shadow:0 0 0 1px var(--pink)}
.cfg-g input[type=date]{max-width:230px}
#cfgDigits{max-width:170px;font-family:var(--disp);font-weight:700;font-size:22px;letter-spacing:.06em;text-align:center}
.cfg-extra{margin:2px 0 0;font-size:13.5px;color:var(--mut);background:#FFF7F3;border:1.5px dashed #EFD9E4;
  border-radius:14px;padding:12px 15px}

.cfg-sum{position:sticky;top:96px}
.cfg-sum-in{background:var(--card);border:1.5px solid #EFE2EA;border-radius:22px;padding:20px 20px 22px;box-shadow:var(--sh)}
.cfg-sum h3{font-family:var(--disp);font-weight:600;font-size:16px;margin:0 0 12px}
.cfg-lines{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:8px}
.cfg-lines li{display:flex;justify-content:space-between;gap:12px;font-size:13.5px;align-items:baseline}
.cfg-lines li span{color:var(--mut);flex-shrink:0}
.cfg-lines li b{font-weight:600;text-align:right;word-break:break-word}
.cfg-lines li i{font-style:normal;color:var(--pink);font-weight:600;white-space:nowrap}
.cfg-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  border-top:1.5px solid #F0E4EB;padding-top:14px;margin-bottom:14px}
.cfg-total span{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.cfg-total b{font-family:var(--disp);font-weight:700;font-size:clamp(21px,2.6vw,26px);font-variant-numeric:tabular-nums}
.cfg-warn{margin:0 0 12px;font-size:12.8px;line-height:1.4;color:var(--wine);background:#FFF0F4;
  border-radius:12px;padding:10px 12px}
.cfg-go{width:100%;justify-content:center}
.cfg-gal{margin-top:clamp(38px,5vw,60px)}
.cfg-gal h2{margin:0 0 18px}
.cfg-back{margin-top:28px}
@media(max-width:960px){
  /* на телефоне панель прижата к низу и показывает только итог и кнопку */
  .cfg-sum{position:sticky;bottom:0;top:auto;z-index:65;
    margin-inline:calc(clamp(16px,4vw,32px) * -1);padding-inline:clamp(16px,4vw,32px)}
  .cfg-sum-in{border-radius:20px 20px 0 0;padding:12px 16px 14px;
    box-shadow:0 -14px 34px -18px rgba(43,36,48,.45)}
  .cfg-sum h3,.cfg-lines{display:none}
  .cfg-total{border-top:0;padding-top:0;margin-bottom:10px}
  .cfg-total b{font-size:23px}
  .cfg-warn{margin-bottom:10px;font-size:12px;padding:8px 10px}
  .cfg-wrap{padding-bottom:4px}
}
.ph-missing{display:block;width:100%;height:100%;background:linear-gradient(150deg,#FFE3EE,#FFF6E8)}
/* на страницах с конфигуратором плавающая кнопка WhatsApp дублирует кнопку заказа */
body:has(#cfg) .waf{display:none}
body:has(#cfg) .chf{bottom:20px}
@media(max-width:960px){body:has(#cfg) .chf{display:none}}

/* ============ карусель фотографий ============ */
.crs{position:relative;border-radius:26px;overflow:hidden;background:#F4EEF2;box-shadow:var(--sh)}
.crs:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
.crs-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;
  -webkit-overflow-scrolling:touch;aspect-ratio:1/1}
.crs-track::-webkit-scrollbar{display:none}
.crs-s{flex:0 0 100%;margin:0;scroll-snap-align:center;scroll-snap-stop:always;height:100%}
.crs-s img{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in}
.crs-b{position:absolute;top:50%;transform:translateY(-50%);z-index:2;
  width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
  background:rgba(255,255,255,.93);color:var(--ink);font-size:17px;line-height:1;
  box-shadow:0 8px 20px -8px rgba(43,36,48,.4);transition:opacity .2s,transform .2s,background .2s}
.crs-b.prev{left:12px}
.crs-b.next{right:12px}
.crs-b:hover{background:#fff;transform:translateY(-50%) scale(1.07)}
.crs-b[disabled]{opacity:.32;pointer-events:none}
.crs-count{position:absolute;top:12px;right:12px;z-index:2;
  background:rgba(22,15,26,.62);color:#fff;font-size:12px;font-weight:600;
  padding:5px 11px;border-radius:999px;font-variant-numeric:tabular-nums;backdrop-filter:blur(6px)}
.crs-dots{position:absolute;left:0;right:0;bottom:12px;z-index:2;
  display:flex;justify-content:center;gap:6px;flex-wrap:wrap;padding:0 44px;pointer-events:none}
.crs-d{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.55);
  box-shadow:0 1px 3px rgba(0,0,0,.3);transition:.22s;pointer-events:auto;padding:0}
.crs-d.on{background:#fff;width:20px;border-radius:999px}
.crs-d:hover{background:#fff}
@media(max-width:640px){
  .crs-b{width:36px;height:36px;font-size:15px}
  .crs-b.prev{left:8px}.crs-b.next{right:8px}
  .crs-dots{padding:0 34px;bottom:10px}
}
@media(hover:none){.crs-b{display:none}}
@media(prefers-reduced-motion:reduce){.crs-track{scroll-behavior:auto}}

/* строка "что входит в цену" одной строкой */
.cfg-incl-line{margin:0;display:inline-flex;align-items:center;gap:9px;
  background:#fff;border:1.5px solid #EFE2EA;border-radius:999px;padding:9px 16px;
  font-family:var(--mono,var(--body));font-size:14px;font-weight:600;color:#4A4152;letter-spacing:.01em}
.cfg-incl-line::before{content:"";width:8px;height:8px;border-radius:50%;
  background:linear-gradient(135deg,var(--pink),var(--coral));flex-shrink:0}
/* длинные подписи опций не наезжают на цену */
.opt-in{flex-wrap:wrap;row-gap:2px}
.opt-txt{flex:1 1 100px}
.opt-p{margin-left:auto}
@media(max-width:520px){.opt-p{margin-left:0;flex-basis:100%}}
.crs--many .crs-dots{display:none}
@media(max-width:640px){.crs--mid .crs-dots{display:none}}
.cfg-head-txt .cfg-extra{margin-top:18px;max-width:46ch}

/* ======================= поводы: большие фотокарточки ======================= */
.occgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.occ{position:relative;display:block;border-radius:26px;overflow:hidden;background:#F4EEF2;
  box-shadow:var(--sh);aspect-ratio:4/3;isolation:isolate;
  transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s}
.occ--wide{grid-column:1/-1;aspect-ratio:auto;min-height:clamp(210px,26vw,300px)}
.occ::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(to top,rgba(22,15,26,.84) 0%,rgba(22,15,26,.46) 38%,rgba(22,15,26,.04) 68%,rgba(22,15,26,0) 100%)}
.occ-media{position:absolute;inset:0}
.occ-img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.occ:hover{transform:translateY(-6px);box-shadow:0 28px 50px -20px rgba(43,36,48,.4)}
.occ:hover .occ-img{transform:scale(1.05)}
.occ-body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:clamp(18px,2.4vw,26px);color:#fff;
  display:flex;flex-direction:column;gap:4px}
.occ-t{font-family:var(--disp);font-weight:700;font-size:clamp(18px,2.1vw,24px);line-height:1.15;letter-spacing:-.01em}
.occ--wide .occ-t{font-size:clamp(22px,3vw,32px)}
.occ-p{font-weight:600;font-size:clamp(14.5px,1.6vw,16.5px);color:#FFD9E8}
.occ-go{position:absolute;top:16px;right:16px;z-index:2;display:inline-flex;align-items:center;gap:7px;
  background:rgba(255,255,255,.94);color:var(--ink);font-weight:600;font-size:12.5px;
  padding:8px 14px;border-radius:999px;opacity:0;transform:translateY(-6px);transition:.28s}
.occ-go i{font-style:normal;color:var(--pink)}
.occ:hover .occ-go,.occ:focus-visible .occ-go{opacity:1;transform:none}
@media(max-width:1020px){.occgrid{grid-template-columns:repeat(2,1fr);gap:14px}}
@media(max-width:700px){
  /* на телефоне поводы листаются вбок, а не растягивают страницу */
  .occgrid{display:flex;grid-template-columns:none;gap:12px;overflow-x:auto;
    scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;
    margin-inline:calc(clamp(16px,4vw,32px) * -1);
    padding:4px clamp(16px,4vw,32px) 14px}
  .occgrid::-webkit-scrollbar{display:none}
  .occ{flex:0 0 78vw;max-width:340px;scroll-snap-align:center;aspect-ratio:4/3}
  .occ-go{opacity:1;transform:none;top:14px;right:14px;padding:7px 12px;font-size:12px}
}

/* ======================= блок "соберите свой набор" ======================= */
.bcta{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(20px,3vw,44px);align-items:center;
  background:linear-gradient(135deg,#2B2430 0%,#4A2A45 55%,#7A2B52 100%);
  color:#fff;border-radius:var(--r);padding:clamp(26px,4vw,48px);box-shadow:var(--sh)}
.bcta .kick{color:#FFC9DE}
.bcta h2{color:#fff}
.bcta p{color:rgba(255,255,255,.82);max-width:46ch;margin:12px 0 0;font-size:clamp(15px,1.6vw,17px)}
.bcta-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.bcta .btn.ghost{background:transparent;color:#fff;
  box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5)}
.bcta .btn.ghost:hover{background:rgba(255,255,255,.14);
  box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.9)}
.bcta-media{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bcta-i{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:16px}
.bcta-media img:nth-child(2){transform:translateY(14px)}
.bcta-media img:nth-child(3){transform:translateY(-14px)}
@media(max-width:860px){
  .bcta{grid-template-columns:1fr}
  .bcta-media{grid-template-columns:repeat(4,1fr);gap:8px}
  .bcta-media img{transform:none !important}
}

/* ======================= страница конструктора ======================= */
.bs-page{padding-bottom:clamp(40px,6vw,80px)}
.bs-head{margin:8px 0 clamp(22px,3vw,36px);max-width:720px}
.bs-head h1{font-size:clamp(28px,4.4vw,44px)}
.bs-head .lead{color:var(--mut);font-size:clamp(15px,1.7vw,18px);margin:12px 0 0}
.bs-wrap{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(18px,3vw,38px);align-items:start}
.bs{display:flex;flex-direction:column;gap:14px;min-width:0}
.bstep{background:var(--card);border-radius:var(--r);padding:clamp(18px,2.6vw,28px);
  box-shadow:0 6px 22px -14px rgba(43,36,48,.3);scroll-margin-top:86px}
.bstep-h{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.bstep-n{flex:0 0 auto;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;
  background:var(--pink);color:#fff;font-weight:700;font-size:15px;font-family:var(--disp)}
.bstep-h h2{font-size:clamp(19px,2.3vw,25px)}
.bhint{color:var(--mut);font-size:13.5px;margin:0 0 12px}
.bhint a{color:var(--pink);text-decoration:underline}
.bsublbl{font-weight:600;font-size:14px;margin:18px 0 8px}
.bnext{margin-top:16px;display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px;
  color:var(--pink);padding:8px 0}
.bnext i{font-style:normal}
.bsub{margin-top:14px;padding-top:14px;border-top:1px dashed rgba(43,36,48,.14)}

.bopts{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}
.bopts-photo{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.bopt{display:block;cursor:pointer}
.bopt input{position:absolute;opacity:0;width:0;height:0}
.bopt-in{display:flex;flex-direction:column;gap:8px;height:100%;
  border:2px solid rgba(43,36,48,.12);border-radius:18px;padding:12px;transition:.2s;background:#fff}
.bopts:not(.bopts-photo) .bopt-in{flex-direction:row;align-items:center;justify-content:space-between;gap:10px}
.bopt:hover .bopt-in{border-color:rgba(245,49,127,.45)}
.bopt input:checked + .bopt-in{border-color:var(--pink);background:#FFF2F7;
  box-shadow:0 0 0 3px rgba(245,49,127,.12)}
.bopt input:focus-visible + .bopt-in{outline:3px solid var(--teal);outline-offset:2px}
.bopt-media{display:block;border-radius:12px;overflow:hidden;background:#F4EEF2}
.bopt-img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}
.bopt-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.bopts-photo .bopt-in:not(:has(.bopt-media)){justify-content:center}
.bopt-t{font-weight:600;font-size:14.5px;line-height:1.25}
.bopt-d{font-size:12.5px;color:var(--mut);line-height:1.3}
.bopt-p{font-size:13px;font-weight:600;color:var(--pink);margin-top:2px;white-space:nowrap}

.bpals{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.bpal{cursor:pointer}
.bpal input{position:absolute;opacity:0;width:0;height:0}
.bpal-in{display:flex;align-items:center;gap:10px;border:2px solid rgba(43,36,48,.12);
  border-radius:999px;padding:8px 14px 8px 10px;transition:.2s;background:#fff}
.bpal input:checked + .bpal-in{border-color:var(--pink);background:#FFF2F7}
.bpal-sw{display:inline-flex}
.bpal-sw i{width:18px;height:18px;border-radius:50%;display:block;border:1.5px solid rgba(0,0,0,.08)}
.bpal-sw i + i{margin-left:-7px}
.bpal-any{width:18px;height:18px;border-radius:50%;display:block;
  background:conic-gradient(#F5317F,#FF7A4D,#F2B24B,#14BFAE,#7A5CFF,#F5317F)}
.bpal-t{font-weight:600;font-size:14px}

.bfld{display:flex;flex-direction:column;gap:6px;margin-top:12px}
.bfld > span{font-weight:600;font-size:13.5px}
.bfld input,.bfld select,.bfld textarea{width:100%;font:inherit;font-size:15px;padding:11px 13px;
  border:1.5px solid rgba(43,36,48,.16);border-radius:12px;background:#fff;color:inherit}
.bfld input:focus,.bfld select:focus,.bfld textarea:focus{outline:none;border-color:var(--pink)}
.bgrid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.opts.cols{display:flex;flex-wrap:wrap;gap:8px}
.qunit{color:var(--mut);font-size:14px;margin-left:4px}

.bsum{position:sticky;top:86px}
.bsum-in{background:var(--card);border-radius:var(--r);padding:20px;box-shadow:var(--sh)}
.bsum-in h3{font-size:19px;margin-bottom:12px}
.bsum-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.bsum-lines li{display:flex;justify-content:space-between;gap:12px;font-size:13.5px;
  padding-bottom:9px;border-bottom:1px solid rgba(43,36,48,.08)}
.bsum-lines span{color:var(--mut);flex:0 0 auto;max-width:44%}
.bsum-lines b{font-weight:600;text-align:right;overflow-wrap:anywhere}
.bsum-lines i{font-style:normal;color:var(--pink);white-space:nowrap}
.bsum-empty{color:var(--mut);font-size:13.5px;margin:0}
.bsum-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:16px;
  font-family:var(--disp)}
.bsum-total span{color:var(--mut);font-size:14px}
.bsum-total b{font-size:26px;font-weight:700}
.bsum-go{width:100%;margin-top:14px;justify-content:center}

.bbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;align-items:center;gap:12px;
  padding:10px clamp(12px,4vw,20px);background:rgba(255,255,255,.97);
  box-shadow:0 -8px 26px -14px rgba(43,36,48,.45);
  padding-bottom:calc(10px + env(safe-area-inset-bottom))}
.bbar-t{color:var(--mut);font-size:13px}
.bbar b{font-family:var(--disp);font-size:19px;margin-right:auto}
body:has(#bset) .waf{display:none}

@media(max-width:940px){
  .bs-wrap{grid-template-columns:1fr}
  .bsum{position:static}
  .bsum-go{display:none}
  .bbar.on{display:flex}
  .bs-page{padding-bottom:88px}
}
@media(max-width:520px){
  .bgrid2{grid-template-columns:1fr}
  .bopts-photo{grid-template-columns:1fr 1fr}
  .bopt-t{font-size:13.5px}
}

/* длинные группы каталога показываем частями */
.setgroup:not(.open) .setgrid > .setc:nth-child(n+9){display:none}
.setmore{display:block;margin:18px auto 0;font-weight:600;font-size:14.5px;color:var(--pink);
  padding:10px 22px;border-radius:999px;box-shadow:inset 0 0 0 1.5px #EBDFE6;background:#fff}
.setmore:hover{box-shadow:inset 0 0 0 1.5px var(--pink)}
.setgroup.open .setmore{display:none}

/* ======================= перестройка главной ======================= */
/* кнопка чата переехала в шапку, плавающей осталась только WhatsApp */
.hch{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--pink),var(--coral));color:#fff;flex:0 0 auto;
  box-shadow:0 8px 18px -8px rgba(245,49,127,.6);transition:transform .2s}
.hch:hover{transform:scale(1.08)}
.chp{bottom:90px}
@media(max-width:860px){.hch{width:34px;height:34px}.hact{gap:8px}}
/* на узком экране WhatsApp в шапке лишний: он и так висит кнопкой внизу */
@media(max-width:560px){.hwa{display:none}}

/* преимущества одной компактной лентой под шагами */
.agrid--flat{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.agrid--flat .adv{display:inline-flex;align-items:center;gap:8px;margin:0;padding:9px 15px;
  background:var(--card);border-radius:999px;font-size:13.5px;box-shadow:0 4px 14px -10px rgba(43,36,48,.35)}
.agrid--flat .adv .em{width:17px;height:17px;flex:0 0 auto}

/* кадры фотозон внутри блока оформления */
.evp{margin:22px 0 4px}
.evp-p{display:inline-flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.evp-p b{font-family:var(--disp);font-size:17px}
.evp-p span{color:var(--pink);font-weight:600;font-size:15px}
.evp-p:hover b{color:var(--pink)}
.evp-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.evp-i{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:16px}
@media(max-width:600px){.evp-row{grid-template-columns:1fr 1fr}}

/* страница каталога */
.cat-page{padding-bottom:clamp(40px,6vw,80px)}
.cat-head{margin:8px 0 clamp(20px,3vw,32px);max-width:720px}
.cat-head h1{font-size:clamp(28px,4.4vw,44px)}
.cat-head .lead{color:var(--mut);font-size:clamp(15px,1.7vw,18px);margin:12px 0 0}
.cat-page .setgroup{scroll-margin-top:92px}
.setc{scroll-margin-top:110px}
.setc--found{animation:setfound 2.4s ease}
@keyframes setfound{0%,70%{box-shadow:0 0 0 3px var(--pink),0 18px 40px -18px rgba(245,49,127,.5)}100%{box-shadow:0 0 0 0 rgba(245,49,127,0),0 10px 30px -18px rgba(43,36,48,.2)}}
@media(prefers-reduced-motion:reduce){.setc--found{animation:none;box-shadow:0 0 0 3px var(--pink)}}
.cat-page .center{margin-top:34px}

/* ======================= сколько летают шары ======================= */
.flyn{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px 16px;
  margin:26px 0 0;padding:16px 20px;border-radius:18px;background:#FFF3E6;
  border:1px solid #F6DFC4}
.flyn b{grid-column:1/2;font-family:var(--disp);font-size:15px;white-space:nowrap}
.flyn p{grid-column:2/3;margin:0;font-size:13.6px;color:#6B5A48;line-height:1.45}
.flyn a{grid-column:3/4;white-space:nowrap;font-weight:600;font-size:13.5px;color:var(--pink)}
.flyn a i{font-style:normal}
.flyn a:hover{text-decoration:underline;text-underline-offset:3px}
.flyn--sm{display:block;margin:14px 0 0;padding:13px 15px;border-radius:14px}
.flyn--sm b{display:block;font-size:13.5px;margin-bottom:4px}
.flyn--sm p{font-size:12.6px}
.flyn--sm a{display:inline-block;margin-top:6px}
@media(max-width:820px){
  .flyn{grid-template-columns:1fr;gap:6px}
  .flyn b,.flyn p,.flyn a{grid-column:1/-1}
}

/* ======================= частые вопросы ======================= */
.faq-page{padding-bottom:clamp(40px,6vw,80px)}
.faq-head{margin:8px 0 clamp(20px,3vw,32px);max-width:720px}
.faq-head h1{font-size:clamp(28px,4.4vw,44px)}
.faq-head .lead{color:var(--mut);font-size:clamp(15px,1.7vw,18px);margin:12px 0 0}
.faq-list{max-width:820px;display:flex;flex-direction:column;gap:10px}
.faq{background:var(--card);border-radius:18px;box-shadow:0 6px 22px -16px rgba(43,36,48,.4);
  scroll-margin-top:92px;overflow:hidden}
.faq summary{display:flex;align-items:center;gap:14px;cursor:pointer;list-style:none;
  padding:17px 20px;font-family:var(--disp);font-weight:600;font-size:16.5px;line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";margin-left:auto;font-family:var(--body);font-weight:400;
  font-size:22px;color:var(--pink);line-height:1;transition:transform .2s}
.faq[open] summary::after{content:"\2212"}
.faq summary:hover{color:var(--pink)}
.faq-a{padding:0 20px 18px}
.faq-a p{margin:0;color:var(--mut);font-size:15px;line-height:1.6}
@media(max-width:520px){
  .faq summary{font-size:15px;padding:15px 16px}
  .faq-a{padding:0 16px 16px}
  .faq-a p{font-size:14.2px}
}

/* ======================= плавающая кнопка связи ======================= */
/* одна кнопка вместо WhatsApp внизу и чата в шапке; меню каналов всплывает над ней */
.nl a.nb{color:var(--pink);font-weight:600;display:inline-flex;align-items:center;gap:6px}
.nl a.nb::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--pink);box-shadow:0 0 0 3px rgba(245,49,127,.18)}
.mnav a.nb{color:#FF8FB8}
.cfab{position:fixed;right:20px;bottom:20px;z-index:77;display:flex;flex-direction:column;align-items:flex-end;gap:12px;pointer-events:none}
.cfab>*{pointer-events:auto}
.cfab-btn{position:relative;display:inline-flex;align-items:center;gap:10px;height:58px;padding:0 22px 0 17px;border-radius:999px;border:0;cursor:pointer;
  background:linear-gradient(135deg,var(--pink),var(--coral));color:#fff;font:600 15px/1 var(--body);
  box-shadow:0 16px 34px -12px rgba(245,49,127,.65),inset 0 1px 0 rgba(255,255,255,.25);transition:transform .2s,box-shadow .2s,padding .25s}
.cfab-btn:hover{transform:translateY(-2px);box-shadow:0 20px 40px -12px rgba(245,49,127,.7),inset 0 1px 0 rgba(255,255,255,.25)}
.cfab-btn::before{content:"";position:absolute;inset:0;border-radius:inherit;background:inherit;opacity:.45;z-index:-1;animation:cfabp 2.6s ease-out infinite}
.cfab.open .cfab-btn::before,.cfab.chat .cfab-btn::before{animation:none;opacity:0}
@keyframes cfabp{0%{transform:scale(1);opacity:.45}70%,100%{transform:scale(1.35,1.6);opacity:0}}
.cfab-ico{position:relative;width:24px;height:24px;flex-shrink:0}
.cfab-ico svg{position:absolute;inset:0;width:24px;height:24px;transition:transform .3s cubic-bezier(.3,1.4,.5,1),opacity .2s}
.cfab-i2{opacity:0;transform:rotate(-90deg) scale(.5)}
.cfab.open .cfab-i1,.cfab.chat .cfab-i1{opacity:0;transform:rotate(90deg) scale(.5)}
.cfab.open .cfab-i2,.cfab.chat .cfab-i2{opacity:1;transform:none}
.cfab.open .cfab-btn,.cfab.chat .cfab-btn{background:var(--ink);box-shadow:0 14px 30px -12px rgba(43,36,48,.6)}
.cfab.open .cfab-lbl,.cfab.chat .cfab-lbl{display:none}
.cfab.open .cfab-btn,.cfab.chat .cfab-btn{padding:0 17px}

.cfab-menu{width:min(330px,calc(100vw - 32px));background:#fff;border-radius:24px;padding:8px;
  box-shadow:0 30px 70px -20px rgba(43,36,48,.45),0 0 0 1px rgba(43,36,48,.05);
  transform-origin:100% 100%;transform:translateY(12px) scale(.94);opacity:0;visibility:hidden;
  transition:transform .28s cubic-bezier(.2,.9,.3,1.15),opacity .2s,visibility 0s .28s}
.cfab.open .cfab-menu{transform:none;opacity:1;visibility:visible;transition:transform .32s cubic-bezier(.2,.9,.3,1.15),opacity .2s}
.cfab-head{padding:14px 14px 12px;border-radius:18px;background:linear-gradient(135deg,#FFF0F5,#FFF6EE);margin-bottom:6px}
.cfab-head b{display:block;font-family:var(--disp);font-weight:600;font-size:16px;color:var(--ink)}
.cfab-head span{display:flex;align-items:center;gap:7px;margin-top:5px;font-size:12.5px;color:var(--mut)}
.cfab-dot{width:8px;height:8px;border-radius:50%;background:#22C55E;box-shadow:0 0 0 3px rgba(34,197,94,.2);flex-shrink:0}
.cfab-list{display:flex;flex-direction:column}
.cfab-it{display:flex;align-items:center;gap:12px;width:100%;padding:9px 10px;border:0;border-radius:16px;background:none;cursor:pointer;
  text-align:left;color:var(--ink);font:inherit;transition:background .15s,transform .15s;
  opacity:0;transform:translateY(6px)}
.cfab.open .cfab-it{opacity:1;transform:none;transition:background .15s,transform .3s cubic-bezier(.2,.9,.3,1.2),opacity .25s}
.cfab.open .cfab-it:nth-child(1){transition-delay:.03s}.cfab.open .cfab-it:nth-child(2){transition-delay:.06s}
.cfab.open .cfab-it:nth-child(3){transition-delay:.09s}.cfab.open .cfab-it:nth-child(4){transition-delay:.12s}
.cfab.open .cfab-it:nth-child(5){transition-delay:.15s}
.cfab-it:hover,.cfab-it:focus-visible{background:#FBF3F6}
.cfab-ic{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;flex-shrink:0;color:#fff}
.cfab-ic svg{width:22px;height:22px}
.ic-whatsapp{background:#22C55E;box-shadow:0 8px 16px -8px rgba(34,197,94,.7)}
.ic-telegram{background:#2AABEE;box-shadow:0 8px 16px -8px rgba(42,171,238,.7)}
.ic-line{background:#06C755;box-shadow:0 8px 16px -8px rgba(6,199,85,.7)}
.ic-phone{background:var(--ink);box-shadow:0 8px 16px -8px rgba(43,36,48,.6)}
.ic-ai{background:linear-gradient(135deg,var(--pink),var(--coral));box-shadow:0 8px 16px -8px rgba(245,49,127,.7)}
.cfab-tx{flex:1;min-width:0}
.cfab-tx b{display:block;font-weight:600;font-size:15px;line-height:1.2}
.cfab-tx small{display:block;font-size:12.5px;color:var(--mut);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cfab-go{width:18px;height:18px;color:#C9BFCE;flex-shrink:0;transition:transform .15s,color .15s}
.cfab-it:hover .cfab-go{transform:translateX(3px);color:var(--pink)}
.chp{bottom:92px}
@media(max-width:560px){
  .cfab{right:14px;bottom:14px}
  .cfab-btn{height:56px;padding:0 16px}
  .cfab-lbl{display:none}
  .chp{right:12px;bottom:84px;height:min(540px,calc(100dvh - 170px))}
}
/* пока висит баннер cookies на узком экране - кнопка не перекрывает его */
@media(max-width:760px){body:has(.ccbar) .cfab{opacity:0;pointer-events:none}}
/* в конструкторе внизу своя панель с ценой - поднимаем кнопку над ней */
body:has(#ppc) .cfab{bottom:94px}
body:has(#ppc) .chp{bottom:166px}
@media(max-width:900px){body:has(#ppc) .cfab{bottom:84px}body:has(#ppc) .chp{bottom:150px;height:min(480px,calc(100dvh - 230px))}}
@media(prefers-reduced-motion:reduce){.cfab-btn::before{animation:none}}
/* с пунктом "Конструктор" меню шире: на планшетах уходим в бургер раньше */
@media(max-width:1180px){.nl{gap:18px}.nl a{font-size:14.5px}}
@media(max-width:1090px){.nl{display:none}.burg{display:grid}.hact{margin-left:auto}}

/* ---------- 12.10.2026: быстрая кнопка мессенджера, значок на «Заказать», сезонная плашка ---------- */
.cfab-q{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;color:#fff;margin-right:3px;transition:transform .2s}
.cfab-q svg{width:27px;height:27px}
.cfab-q:hover{transform:translateY(-2px)}
.cfab.open .cfab-q,.cfab.chat .cfab-q{display:none}
@media(max-width:560px){.cfab-q{margin-right:2px}}
.setc-row .btn{gap:7px}
.btn .oico{width:16px;height:16px;flex-shrink:0;margin-left:-2px}
.hseason{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:9px 16px;border-radius:999px;background:#2B2430;color:#fff;font-weight:600;font-size:13.5px;line-height:1.3;box-shadow:0 10px 24px -12px rgba(43,36,48,.6);transition:transform .2s}
.hseason i{font-style:normal;color:#FF7A4D}
.hseason:hover{transform:translateY(-2px)}
.cat-head .hseason{margin-top:14px}
.hrv .hseason{margin:-10px 0 24px}

/* Хэллоуин, сезонный блок (12.10.2026). Исчезает сам после 2026-11-01 - см. data-until в tail.js */
.hwsec{background:linear-gradient(165deg,#241B2E 0%,#17121F 55%,#2A1A12 100%);color:#F6F0FA;padding:clamp(40px,6vw,66px) 0;margin:clamp(26px,4vw,40px) 0}
.hwsec .shead{max-width:720px}
.hwsec .kick{color:#FF8A1F}
.hwsec .kick::before{background:#FF8A1F}
.hwsec h2{color:#fff}
.hwsec .sub{color:rgba(246,240,250,.74)}
.hwgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:8px}
.hwc{display:flex;flex-direction:column;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1);border-radius:22px;overflow:hidden}
.hwc-media{aspect-ratio:4/3;background:radial-gradient(120% 100% at 50% 0,rgba(255,138,31,.22),rgba(122,79,201,.16) 55%,transparent 80%)}
.hwc-media svg{display:block;width:100%;height:100%}
.hwc-body{display:flex;flex-direction:column;gap:7px;padding:14px 16px 16px;flex:1}
.hwc h3{font-family:var(--disp);font-weight:600;font-size:15.5px;line-height:1.3;margin:0;color:#fff}
.hwc p{margin:0;font-size:13.5px;line-height:1.5;color:rgba(246,240,250,.7);flex:1}
.hwc-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px}
.hwc .price{font-weight:700;font-size:16px;color:#fff;white-space:nowrap}
.hwc .price small{font-weight:600;font-size:11px;color:rgba(246,240,250,.6);margin-right:3px}
.hwsec .btn{background:#FF8A1F;color:#1B1320;box-shadow:0 12px 26px -10px rgba(255,138,31,.5)}
.hwsec .btn:hover{background:#FF9C3F;box-shadow:0 16px 32px -10px rgba(255,138,31,.55)}
.hwsec .btn.ghost{background:transparent;color:#F6F0FA;box-shadow:inset 0 0 0 1.5px rgba(246,240,250,.3)}
.hwsec .btn.ghost:hover{background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1.5px rgba(246,240,250,.6)}
.hwnote{margin:20px 0 0;font-size:13.5px;line-height:1.55;color:rgba(246,240,250,.6);max-width:640px}
.hwcta{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
@media(max-width:940px){.hwgrid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.hwgrid{gap:12px}.hwc-body{padding:12px 13px 14px}.hwc h3{font-size:14.5px}.hwc p{font-size:13px}.hwc-row{flex-direction:column;align-items:stretch;gap:9px}.hwc-row .btn{width:100%}.hwc .price{font-size:15px}.hwcta .btn{flex:1 1 100%}}
