:root{--ink:#101a3a;--mute:#5d6a8a;--bl:#1f5eff;--or:#ff6b1a;--line:#e3e9f6;--card:#fff;--r:22px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;font-family:Montserrat,"Segoe UI",Arial,sans-serif;color:var(--ink);background:linear-gradient(180deg,#f3f7ff 0,#fbfcff 520px,#f6f8fd 100%);-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.dk{filter:none}
/* шапка */
.hdr{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;gap:26px;height:68px}
.logo{display:flex;align-items:center;gap:10px}
.logo span{display:flex;flex-direction:column;line-height:1.1}
.logo b{font-size:20px;font-weight:800;letter-spacing:-.3px}
.logo small{font-size:10.5px;color:var(--mute);margin-top:2px}
.nav{display:flex;gap:22px;font-size:13.5px;font-weight:500;flex:1;justify-content:center}
.nav a{color:#2b3558;padding:6px 0}
.nav a:hover{color:var(--bl)}
.nav i{font-style:normal;font-size:10px}
.hdr-ic{display:flex;align-items:center;gap:10px}
.ic{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;border-radius:12px;padding:7px 10px}
.ic img{width:20px;height:20px}
.ic.wa img{filter:invert(58%) sepia(60%) saturate(560%) hue-rotate(95deg)}
.ic.tg img{filter:invert(50%) sepia(80%) saturate(1500%) hue-rotate(177deg)}
.ic.wa,.ic.tg{background:#f3f6ff}
.ic img.dk{width:18px;height:18px}
.burger{display:none;background:none;border:0;padding:6px}
.burger img{width:26px;height:26px}
/* кнопки */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;cursor:pointer;font:600 15px Montserrat,sans-serif;border-radius:14px;padding:15px 26px;transition:.15s;white-space:nowrap}
.btn span{font-size:17px}
.btn.or{background:linear-gradient(180deg,#ff8a3a,#ff6212);color:#fff;box-shadow:0 8px 22px rgba(255,107,26,.35)}
.btn.bl{background:linear-gradient(180deg,#3a78ff,#1f5eff);color:#fff;box-shadow:0 8px 22px rgba(31,94,255,.3)}
.btn.wh{background:#fff;color:var(--ink);box-shadow:0 4px 16px rgba(30,60,140,.12)}
.btn img{width:18px;height:18px}
.btn:hover{transform:translateY(-2px)}
.btn.full{width:100%}
.btn.sm{padding:11px 18px;font-size:13px;border-radius:12px}
/* hero */
.hero{overflow:hidden}
.hero-in{display:grid;grid-template-columns:1.05fr 1fr;gap:20px;align-items:center;padding-top:44px;padding-bottom:40px;min-height:470px}
h1{font-size:clamp(34px,4.6vw,56px);line-height:1.08;margin:0 0 16px;font-weight:800;letter-spacing:-1.2px}
h1 em{font-style:normal;color:var(--bl)}
.lead{font-size:18px;color:#3b4669;line-height:1.5;margin:0 0 26px}
.chips{display:flex;gap:12px;list-style:none;margin:0 0 30px;padding:0;flex-wrap:wrap}
.chips li{display:flex;align-items:center;gap:10px;background:#fff;border-radius:16px;padding:10px 14px;font-size:12.5px;font-weight:600;line-height:1.25;box-shadow:0 6px 18px rgba(30,60,140,.08)}
.ci,.pi{width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--c) 14%,#fff);display:grid;place-items:center;flex:none}
.ci img,.pi img{width:22px;height:22px;filter:brightness(0) saturate(100%)}
.cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-v{position:relative;height:440px}
.hero-card{position:absolute;right:30px;top:20px;width:min(430px,92%);transform:rotate(5deg);filter:drop-shadow(0 22px 30px rgba(20,40,100,.3))}
.note{position:absolute;left:0;top:10px;font-family:"Marck Script",cursive;font-size:23px;line-height:1.1;color:#233;transform:rotate(-8deg);z-index:2}
.tag-q{position:absolute;right:0;bottom:30px;background:#fff;font-family:"Marck Script",cursive;font-size:25px;line-height:1.05;padding:12px 22px;border-radius:50% 46% 52% 48%;transform:rotate(-7deg);box-shadow:0 10px 24px rgba(20,40,100,.2);text-align:center}
.fl{position:absolute;filter:drop-shadow(0 10px 14px rgba(20,40,100,.25));opacity:.95}
.f1{left:8%;bottom:20px;width:90px;transform:rotate(-14deg)}
.f2{left:38%;bottom:-6px;width:78px;transform:rotate(10deg)}
.f3{right:2%;top:0;width:70px;transform:rotate(18deg)}
/* карточки категорий */
.cats{display:grid;grid-template-columns:repeat(7,1fr);gap:14px;margin-top:6px}
.cat{position:relative;border-radius:var(--r);padding:16px 14px;min-height:190px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 10px 26px rgba(30,60,140,.1);transition:.2s;background:var(--g)}
.cat:hover{transform:translateY(-5px)}
.cat b{font-size:13.5px;font-weight:700;line-height:1.2;position:relative;z-index:2}
.cat b small{display:block;font-weight:500;color:#445;font-size:12.5px;margin-top:2px}
.cat .art{position:absolute;left:50%;bottom:6px;width:74%;transform:translateX(-50%)}
.cat .go{position:absolute;right:9px;bottom:9px;width:32px;height:32px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:3;font-size:15px}
/* панели */
.panel{background:linear-gradient(180deg,#fff,#f8faff);border-radius:26px;padding:26px 28px;box-shadow:0 14px 40px rgba(30,60,140,.09);border:1px solid #edf1fb}
.panel h2{font-size:25px;margin:0 0 4px;font-weight:800;letter-spacing:-.4px}
.sub{color:var(--mute);margin:0 0 18px;font-size:14px;line-height:1.45}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}
.duo2{display:grid;grid-template-columns:1.9fr 1fr;gap:20px;margin-top:22px;margin-bottom:40px}
label{display:block;font-size:12.5px;color:var(--mute);font-weight:500}
input,select,textarea{width:100%;font:500 15px Montserrat,sans-serif;color:var(--ink);padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;margin-top:5px}
input:focus,select:focus,textarea:focus{outline:2px solid #b9ccff;border-color:var(--bl)}
/* конструктор-тизер */
.cst{display:grid;grid-template-columns:110px 1fr 1fr;gap:14px;align-items:stretch}
.cst-tools{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500}
.cst-tools li{display:flex;align-items:center;gap:8px;padding:7px 6px;border-radius:10px}
.cst-tools li:first-child{background:#eef3ff;color:var(--bl)}
.cst-tools img{width:17px;height:17px}
.cst-view{background:repeating-conic-gradient(#f0f3fa 0 25%,#fbfcff 0 50%) 0 0/16px 16px;border-radius:16px;display:grid;place-items:center;min-height:330px;padding:14px;border:1px solid var(--line)}
.cst-st{position:relative;width:100%;max-width:250px}
.cst-st svg{width:100%;display:block;filter:drop-shadow(0 8px 12px rgba(20,40,100,.25))}
.cst-st .tx{position:absolute;left:0;right:0;bottom:14%;text-align:center;font-size:20px;line-height:1.05;color:#7a1038;text-shadow:0 0 6px #fff,0 0 3px #fff;padding:0 8%;word-break:break-word}
.cst-form .btn{width:100%;margin-top:12px}
.sw{display:flex;gap:10px;margin-top:12px}
.sw button{width:28px;height:28px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line);cursor:pointer;padding:0}
.sw button.on{box-shadow:0 0 0 2px var(--bl)}
/* калькулятор */
.calc{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}
.lbl{font-size:13px;font-weight:600;margin-bottom:8px}
.seg{display:flex;gap:8px;margin-bottom:14px}
.seg label{flex:1}
.seg label{position:relative}
.seg input{position:absolute;opacity:0;pointer-events:none;width:0;height:0;margin:0;padding:0;left:0;top:0}
.seg span{display:block;text-align:center;padding:11px 6px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer}
.seg input:checked+span{background:#eaf1ff;border-color:var(--bl);color:var(--bl)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hint{font-size:12px;color:var(--mute);margin:8px 0 12px}
.total{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(180deg,#edf2ff,#e6edff);border-radius:16px;padding:14px 18px;margin-bottom:14px;font-size:14px;font-weight:600}
.total small{display:block;font-weight:400;color:var(--mute);font-size:12px}
.total b{font-size:30px;font-weight:800;white-space:nowrap}
.link{display:block;text-align:center;margin-top:12px;font-size:13px;font-weight:600;color:var(--bl)}
.calc-v{position:relative;display:grid;place-items:center}
.pile{width:100%;max-width:250px;position:relative}
.note2{position:absolute;right:-6px;top:-8px;font-family:"Marck Script",cursive;font-size:21px;line-height:1.05;text-align:right;color:#223;transform:rotate(-6deg)}
/* плюсы */
.perks{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:22px}
.perks>div{display:grid;grid-template-columns:50px 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center;background:#fff;border-radius:20px;padding:18px;box-shadow:0 8px 24px rgba(30,60,140,.07);border:1px solid #edf1fb}
.perks .pi{grid-row:1/3;width:50px;height:50px;border-radius:50%}
.perks b{font-size:14px;align-self:end}
.perks small{color:var(--mute);font-size:12.5px;align-self:start}
/* примеры */
.works-h{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:16px}
.works-h h2{margin:0}
.tabs{display:flex;gap:6px;flex-wrap:wrap}
.tabs button{border:0;background:transparent;padding:8px 14px;border-radius:12px;font:600 13px Montserrat,sans-serif;cursor:pointer;color:#445}
.tabs button.on{background:#e9f0ff;color:var(--bl)}
.gal{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-bottom:16px}
.gal figure{margin:0;position:relative;aspect-ratio:3/4;border-radius:16px;overflow:hidden;display:grid;place-items:center;background:var(--g);box-shadow:0 6px 16px rgba(30,60,140,.1)}
.gal svg{width:82%}.gal img{width:100%;height:100%;object-fit:cover}
.upl .drop{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;border:2px dashed #b9ccff;border-radius:18px;padding:22px;background:#f6f9ff;cursor:pointer;font-size:14px;transition:.15s}
.upl .drop.over,.upl .drop:hover{background:#eaf1ff;border-color:var(--bl)}
.drop img{width:42px;filter:invert(32%) sepia(90%) saturate(3000%) hue-rotate(215deg)}
.drop u{color:var(--bl)}
.fmt{display:block;color:var(--mute);font-size:12px;margin:8px 0 14px;text-align:center}
.upl h2{font-size:21px}
/* подвал */
.ftr{background:#0f1a3d;color:#c5d0ee;padding:38px 0 18px;font-size:14px}
.ftr-in{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}
.ftr p{margin:8px 0 0;line-height:1.6}
.fl-t{color:#fff;font-size:20px}
.fc{display:flex;flex-direction:column;gap:9px}
.fc a:hover{color:#fff}
.copy{margin-top:26px;padding-top:16px;border-top:1px solid #243362;font-size:12.5px;color:#8b99c4}
/* модалка */
.modal{position:fixed;inset:0;background:rgba(10,20,50,.55);display:grid;place-items:center;z-index:100;padding:16px}
.modal[hidden]{display:none}
.mbox{position:relative;background:#fff;border-radius:24px;padding:28px;width:min(440px,100%);max-height:94vh;overflow:auto}
.mbox h3{margin:0 0 6px;font-size:22px}
.mbox label{margin-top:12px}
.mx{position:absolute;right:14px;top:10px;border:0;background:none;font-size:30px;cursor:pointer;color:var(--mute)}
.mfile{margin-top:10px;font-size:13px;background:#eef3ff;border-radius:10px;padding:9px 12px}
.mbox .btn{margin-top:16px}
.msg{margin:12px 0 0;font-size:14px;font-weight:600}
.msg.ok{color:#15803d}.msg.er{color:#b91c1c}
/* адаптив */
@media(max-width:1100px){
  .cats{grid-template-columns:repeat(4,1fr)}
  .duo,.duo2{grid-template-columns:1fr}
  .perks{grid-template-columns:1fr 1fr}
  .gal{grid-template-columns:repeat(4,1fr)}
  .nav{gap:14px}
  .ic span{display:none}
}
@media(max-width:820px){
  .hero-in{grid-template-columns:1fr;padding-top:26px}
  .hero-v{height:340px}
  .nav{display:none;position:absolute;left:0;right:0;top:68px;background:#fff;flex-direction:column;padding:14px 24px 20px;border-bottom:1px solid var(--line);gap:4px}
  .nav.open{display:flex}
  .nav a{padding:11px 0;font-size:15px}
  .burger{display:block}
  .hdr-in{gap:10px}.hdr-ic{margin-left:auto}
  .cst{grid-template-columns:1fr}
  .cst-tools{flex-direction:row;flex-wrap:wrap}
  .calc{grid-template-columns:1fr}
  .calc-v{display:none}
  .ftr-in{grid-template-columns:1fr}
  .cats{grid-template-columns:repeat(2,1fr)}
  .gal{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:520px){.wrap{padding:0 16px}.perks{grid-template-columns:1fr}.panel{padding:20px 16px}.logo small{display:none}.cta .btn{width:100%}}

html,body{overflow-x:hidden}

/* ===== v4: корзина, кабинет, конструктор на главной ===== */
.hdr-in{gap:18px}
.nav{gap:18px}
.ic.av{background:#f0fbf3;color:#117a3e}.ic.av img{filter:invert(33%) sepia(80%) saturate(900%) hue-rotate(104deg)}
.ic.tel{font-weight:700}
.ic.me{background:#f3f6ff}
.ic.cartb{position:relative;background:#eef3ff;padding:8px 10px}
.ic.cartb b{position:absolute;right:-5px;top:-5px;background:var(--or);color:#fff;font-size:11px;min-width:19px;height:19px;border-radius:10px;display:grid;place-items:center;padding:0 5px}
.ic.cartb b[hidden]{display:none}
.hero-img{position:absolute;right:20px;top:10px;width:min(460px,92%);border-radius:28px;box-shadow:0 22px 40px rgba(20,40,100,.25);transform:rotate(3deg)}
.hc-in{background:#fff;border-radius:44% 56% 50% 50%/48% 44% 56% 52%;padding:22px 26px 18px;text-align:center}
.hc-in svg{width:62%;margin:0 auto;display:block}
.hc-t{font-weight:800;font-size:clamp(22px,3vw,34px);line-height:1;letter-spacing:-.5px;margin-top:-8px}
.cat .art img{width:100%;border-radius:12px}
.gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:18px 8px 7px;font-size:11.5px;font-weight:600;text-align:center;background:linear-gradient(transparent,rgba(16,26,58,.7));color:#fff}
.pulse{animation:pulse 1.2s ease}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(31,94,255,.5)}60%{box-shadow:0 0 0 18px rgba(31,94,255,0)}100%{box-shadow:0 14px 40px rgba(30,60,140,.09)}}

/* конструктор на главной */
.cst-panel{padding:26px 24px 22px;margin-top:22px}
.cst-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.cst-head .sub{margin-bottom:16px}
.cst-frame{border-radius:20px;overflow:hidden;border:1px solid #e3e9f6;background:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)}
.cst-frame iframe{display:block;width:100%;height:780px;border:0}
.cst-mobile{display:none}

/* калькулятор */
.ladder{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 0}
.ladder button{flex:1;min-width:78px;border:1px solid var(--line);background:#fff;border-radius:12px;padding:7px 6px;cursor:pointer;font-family:inherit;color:var(--ink);transition:.12s}
.ladder button b{display:block;font-size:12.5px}.ladder button small{font-size:11.5px;color:var(--mute)}
.ladder button.on{border-color:var(--bl);background:#eaf1ff}
.ladder button:hover{border-color:#9db9ff}
.hint.er{color:#b91c1c;font-weight:600}
.link.soft{font-weight:500;color:var(--mute);margin-top:6px}
.dsg{display:flex;flex-direction:column;background:linear-gradient(160deg,#fff,#eef3ff)}
.dsg-ic{width:54px;height:54px;border-radius:16px;background:#e6edff;display:grid;place-items:center;margin-bottom:14px}
.dsg-ic img{width:28px;filter:invert(32%) sepia(90%) saturate(3000%) hue-rotate(215deg)}
.dsg-pts{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:9px;font-size:14px}
.dsg-pts li{padding-left:28px;position:relative;line-height:1.4}
.dsg-pts li::before{content:"✓";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:#dff7e7;color:#15803d;font-size:12px;display:grid;place-items:center;font-weight:800}
.dsg-price{margin-top:auto;margin-bottom:14px;font-size:15px}
.dsg-price b{font-size:22px}
.avito{display:flex;align-items:center;gap:22px;background:linear-gradient(100deg,#0d8f4e,#12b76a);color:#fff;border-radius:26px;padding:26px 32px;margin:0 0 40px;box-shadow:0 14px 34px rgba(18,183,106,.28)}
.avito h2{margin:0 0 4px;font-size:24px;font-weight:800}.avito p{margin:0;opacity:.92;line-height:1.5}
.av-ic{width:60px;height:60px;border-radius:18px;background:rgba(255,255,255,.2);display:grid;place-items:center}.av-ic img{width:30px;filter:invert(1)}
.av-t{flex:1}
/* модальное окно */
.mbox.wide{width:min(560px,100%)}
.mi-box{display:flex;align-items:center;gap:12px;background:#f3f7ff;border-radius:14px;padding:10px 12px;margin-bottom:10px}
.mi-file{flex:1;font-size:13px;word-break:break-all}
#mi-form{margin-top:10px}
#mi-brief-box{margin-bottom:6px}
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,30px);background:#101a3a;color:#fff;padding:13px 20px;border-radius:14px;font-size:14px;font-weight:600;opacity:0;pointer-events:none;transition:.25s;z-index:200;max-width:92vw;box-shadow:0 12px 30px rgba(0,0,0,.3)}
.toast.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.toast a{color:#ffb780;margin-left:8px;white-space:nowrap}

/* внутренние страницы */
.page{padding-top:30px;padding-bottom:50px;min-height:60vh}
.ph{font-size:clamp(26px,3.4vw,38px);margin:0 0 18px;letter-spacing:-.6px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.lnk{color:var(--bl);font-weight:600;background:none;border:0;padding:0;font:inherit;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.empty{text-align:center;padding:50px 20px}.empty img{width:54px;opacity:.5}.empty h2{margin:12px 0 6px}
label.chk{display:flex;align-items:flex-start;gap:9px;color:var(--ink);font-size:13px;margin-top:12px;cursor:pointer}
label.chk input{width:18px;height:18px;margin:1px 0 0;flex:none;padding:0}
.cart-grid{display:grid;grid-template-columns:1fr 410px;gap:20px;align-items:start}
.co{position:sticky;top:84px}
.co h2{margin:0 0 6px;font-size:22px}
.co label{margin-top:10px}
.sum{margin:16px 0 6px;display:grid;gap:7px;font-size:14px}
.sum>div{display:flex;justify-content:space-between}
.sum .big{font-size:18px;font-weight:800;border-top:1px solid var(--line);padding-top:10px;margin-top:2px}
.sum .big b{font-size:26px}
.citem{display:grid;grid-template-columns:128px 1fr;gap:18px;background:#fff;border:1px solid #edf1fb;border-radius:22px;padding:16px;margin-bottom:14px;box-shadow:0 8px 24px rgba(30,60,140,.06)}
.ci-th{aspect-ratio:1;border-radius:16px;background:repeating-conic-gradient(#eef1f8 0 25%,#fafbff 0 50%) 0 0/14px 14px;display:grid;place-items:center;overflow:hidden}
.ci-th img{width:100%;height:100%;object-fit:contain}.ci-th.sm{width:68px;height:68px;aspect-ratio:auto;flex:none}
.ph-shape{width:56%;aspect-ratio:1;border-radius:14px;background:linear-gradient(135deg,#c9d7ff,#e8eeff);border:2px dashed #9db9ff}.ph-shape.c{border-radius:50%}
.ci-h{display:flex;justify-content:space-between;gap:10px;font-size:16px}
.ci-x{border:0;background:#f3f5fb;border-radius:10px;width:32px;height:32px;font-size:20px;cursor:pointer;color:var(--mute);flex:none}.ci-x:hover{background:#ffe4e4;color:#b91c1c}
.ci-m{font-size:13px;color:var(--mute);margin:3px 0 8px;line-height:1.45}
.ci-row{display:grid;grid-template-columns:1.5fr 110px auto;gap:12px;align-items:end}
.ci-row label{margin:0}
.ci-price{text-align:right;white-space:nowrap}.ci-price b{display:block;font-size:22px}.ci-price small{color:var(--mute);font-size:12px}
.lay-pick{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:12px;font-size:13px}
.lay-pick>span{color:var(--mute);font-weight:600;margin-right:2px}
.lay-pick button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:7px 11px;font:600 12.5px Montserrat,sans-serif;cursor:pointer;color:var(--ink)}
.lay-pick button.on{background:#eaf1ff;border-color:var(--bl);color:var(--bl)}
.lay{margin-top:10px;font-size:13px;background:#f6f8fd;border-radius:12px;padding:9px 12px;line-height:1.5}
.lay.ok{background:#effaf3}.lay.warn{background:#fff6e8}
.lay small{display:block;color:var(--mute)}
.lay-b{margin-top:10px}
.bn{border-radius:16px;padding:14px 18px;background:#eef3ff;margin-bottom:18px;font-size:14.5px;line-height:1.5}
.bn.ok{background:#e8f8ee}.bn.er{background:#fdeaea}
.ord-grid{display:grid;grid-template-columns:1fr 380px;gap:20px;align-items:start}
.ord-grid h2{margin:0 0 12px;font-size:20px}
.oi{display:grid;grid-template-columns:68px 1fr auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.oi:last-child{border:0}
.oi-p{font-size:17px;white-space:nowrap}
.badge{display:inline-block;font-size:12px;font-weight:700;padding:4px 11px;border-radius:20px;background:#eef1f8;color:#445;letter-spacing:0}
.st-new{background:#fff0d6;color:#9a5b00}.st-confirmed{background:#e0ecff;color:#1d4ed8}.st-printing{background:#efe4ff;color:#6d28d9}.st-ready,.st-done{background:#dff7e7;color:#15803d}.st-shipped{background:#d9f3f9;color:#0e7490}.st-canceled{background:#fde2e2;color:#b91c1c}
.pay-paid{background:#dff7e7;color:#15803d}.pay-pending{background:#fff0d6;color:#9a5b00}.pay-failed{background:#fde2e2;color:#b91c1c}
.auth-box{max-width:460px;margin:20px auto}
.tabs2{display:flex;gap:6px;margin-bottom:12px;background:#eef2fb;border-radius:14px;padding:5px}
.tabs2 button{flex:1;border:0;background:none;padding:11px;border-radius:10px;font:700 14px Montserrat,sans-serif;cursor:pointer;color:var(--mute)}.tabs2 button.on{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(30,60,140,.12)}
.auth-box form label{margin-top:12px}.auth-box .btn{margin-top:16px}
.acc-grid{display:grid;grid-template-columns:320px 1fr;gap:20px;align-items:start}
.acc-grid h2{margin:0 0 6px;font-size:20px}.sec{margin:0 0 14px!important;font-size:22px!important}
details.acc{border-top:1px solid var(--line);padding:10px 0}details.acc summary{cursor:pointer;font-weight:600;font-size:14px}details.acc form{margin-top:6px}details.acc .btn{margin-top:12px}
.oc{margin-bottom:14px;padding:18px 22px}
.oc-h{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.oc-h>b:first-child{font-size:18px}.oc-t{margin-left:auto;font-size:20px}
.oc-l{margin:10px 0;padding-left:18px;font-size:13.5px;color:#334;line-height:1.55}
.oc-b{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.ftr .fc b{color:#fff;margin-bottom:2px}.ftr .fc span{color:#8b99c4}
.copy{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}.copy a:hover{color:#fff}
@media(max-width:1100px){.cart-grid,.ord-grid,.acc-grid{grid-template-columns:1fr}.co{position:static}.ic.tel span,.ic.me span{display:none}.hdr-in{gap:10px}.nav{gap:12px;font-size:13px}}
@media(max-width:820px){
  .cst-frame{display:none}.cst-mobile{display:flex;margin-top:6px}.cst-full{display:none}
  .avito{flex-direction:column;text-align:center;padding:22px}
  .citem{grid-template-columns:84px 1fr;gap:12px}.ci-row{grid-template-columns:1fr 90px}.ci-price{grid-column:1/3;text-align:left;display:flex;align-items:baseline;gap:8px}
}
#constructor.wrap{max-width:1480px}
[hidden]{display:none!important}
.nav a{white-space:nowrap}
.ic.wa span,.ic.tg span{display:none}
.ic.tel{white-space:nowrap}
.dsg-art{width:150px;margin:6px auto 14px;filter:drop-shadow(0 10px 14px rgba(20,40,100,.2));transform:rotate(-6deg)}
@media(max-width:1280px){.ic.tel span{display:none}}

/* формы наклейки: 2×2, чтобы названия помещались полностью */
.seg{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.seg span{padding:11px 8px;white-space:nowrap}

.cb-calc{background:#f2f5ff;border-radius:12px;padding:10px 12px;font-size:13px;font-weight:600;margin:0 0 10px;color:#1f3a8a}

.ic.av{white-space:nowrap;gap:8px;padding:6px 12px 6px 10px}
.ic.av span{white-space:nowrap}
.ic.av .avlogo{width:26px;height:26px;flex:none}
.ic.av .avt{display:flex;flex-direction:column;line-height:1.15}.ic.av .avt b{font-size:13px;font-weight:700}.ic.av .avt small{font-size:11px;font-weight:600;color:#6b7488}
.av-ic .avlogo.big{width:46px;height:46px}.av-ic{background:#fff!important;border-radius:16px;display:grid;place-items:center;width:68px;height:68px}
.av-rate{margin-top:8px;display:inline-block;background:rgba(255,255,255,.2);border-radius:20px;padding:4px 12px;font-weight:700;font-size:14px}

.logo-img{height:44px;max-width:200px;width:auto;object-fit:contain;display:block}

.rv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:18px}
.rv{margin:0;background:#f7f9ff;border:1px solid #e3e9f6;border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:12px}
.rv .stars{color:#ffb400;letter-spacing:2px;font-size:17px}.rv .stars i{font-style:normal;color:#d8deec}
.rv blockquote{margin:0;line-height:1.55;font-size:14.5px;flex:1}
.rv figcaption{display:flex;align-items:center;gap:12px}.rv figcaption img,.rv-ph{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:none}
.rv-ph{background:#dfe8ff;color:#1f5eff;font-weight:800;display:grid;place-items:center}
.rv figcaption b{display:block}.rv figcaption small{color:var(--mute)}
/* иконки в шапке не сжимаются, лишнее прячем на средних экранах */
.ic img,.ic svg{flex:none}
.logo{margin-right:12px}.nav{min-width:0}
@media(max-width:1480px){.ic.tel span{display:none}}
@media(max-width:1380px){.nav{gap:14px;font-size:13px}.ic.av .avt small .rf{display:none}}
@media(max-width:1200px){.ic.av .avt{display:none}.ic.av{padding:6px 8px}}
@media(max-width:700px){.ic.wa,.ic.tg,.ic.av .avt{display:none}.ic.av{padding:8px}.logo-img{height:36px;max-width:130px}}
@media(max-width:700px){.ic.tel{display:none}.hdr-in{gap:6px}.logo b{font-size:17px}}
.burger{flex:none}.burger img{flex:none}
@media(max-width:520px){.ic.av{display:none}.hdr-in{justify-content:space-between}}
.logo{flex:none;white-space:nowrap}.hdr-in>.nav{flex:1 1 auto;min-width:0;justify-content:center}
.hdr-in .ic{flex:none}
@media(max-width:1340px){.nav{gap:12px;font-size:12.5px}.ic.me span{display:none}}
@media(max-width:1180px){.ic.wa,.ic.tg{display:none}}
/* калькулятор: ровная сетка */
.calc-f label{display:block;margin:0 0 12px;font-size:13px;font-weight:600;color:var(--mute)}
.calc-f label>input,.calc-f label>select{display:block;width:100%;margin-top:5px;color:var(--ink)}
.calc-f .lbl{margin:0 0 8px}
.calc-f .two{margin-bottom:0}.calc-f .two:has(> [hidden]){grid-template-columns:1fr}
.calc-f .ladder{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:2px 0 12px}
.calc-f .ladder button{min-width:0;flex:none}
.calc-f .hint{min-height:0;margin:0 0 10px}
.calc{align-items:stretch}
.calc-v{align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding-top:34px}
.calc-v .pile{max-width:230px}
.calc-v .note2{position:static;transform:rotate(-4deg);text-align:center;order:-1}
.seg label{margin:0!important}

.rv-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.rv-pic{position:relative;display:block;width:100%;aspect-ratio:4/3;border:0;padding:0;border-radius:14px;overflow:hidden;cursor:zoom-in;background:#e8edf8}
.rv-pic img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}.rv-pic:hover img{transform:scale(1.04)}
.rv-cnt{position:absolute;right:10px;bottom:10px;background:rgba(16,26,58,.78);color:#fff;border-radius:14px;padding:3px 10px;font-weight:700;font-size:13px}
.rv-zoom{position:absolute;left:10px;bottom:10px;background:rgba(255,255,255,.9);border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font-size:15px}
.lb{position:fixed;inset:0;background:rgba(8,12,28,.92);z-index:300;display:flex;align-items:center;justify-content:center;padding:56px 64px 96px}
.lb-i{max-width:100%;max-height:100%;object-fit:contain;border-radius:10px;box-shadow:0 10px 50px rgba(0,0,0,.5)}
.lb-x{position:absolute;top:14px;right:18px;background:none;border:0;color:#fff;font-size:38px;line-height:1;cursor:pointer}
.lb-n{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.14);border:0;color:#fff;font-size:42px;width:52px;height:68px;border-radius:14px;cursor:pointer}.lb-p{left:10px}.lb-f{right:10px}.lb-n:hover{background:rgba(255,255,255,.28)}
.lb-c{position:absolute;top:20px;left:50%;transform:translateX(-50%);color:#cfd6ee;font-weight:600;font-size:14px}
.lb-t{position:absolute;left:0;right:0;bottom:14px;display:flex;gap:8px;justify-content:center;overflow:auto;padding:0 12px}
.lb-t button{width:64px;height:64px;flex:none;border:2px solid transparent;border-radius:10px;padding:0;overflow:hidden;background:#000;cursor:pointer;opacity:.6}.lb-t button.on{border-color:#fff;opacity:1}.lb-t img{width:100%;height:100%;object-fit:cover}
@media(max-width:700px){.lb{padding:50px 8px 90px}.lb-n{width:40px;height:54px;font-size:32px}}
.rv-grid{align-items:start}
/* шапка: меню не наезжает на логотип; на средних экранах — кнопка «Меню» */
.hdr-in>.nav{justify-content:flex-start;overflow:hidden;white-space:nowrap}
@media(max-width:1300px){.ic.wa,.ic.tg{display:none}}
@media(max-width:1260px){
  .hdr-in>.nav{display:none;position:absolute;left:0;right:0;top:68px;background:#fff;flex-direction:column;align-items:flex-start;padding:14px 24px 20px;border-bottom:1px solid var(--line);gap:4px;overflow:visible;z-index:50}
  .hdr-in>.nav.open{display:flex}
  .hdr-in>.nav a{padding:11px 0;font-size:15px}
  .burger{display:block}.hdr-ic{margin-left:auto}
}
.hdr-in.wrap{max-width:1480px}
@media(max-width:1500px){.ic.tel span,.ic.me span{display:none}}
@media(max-width:1380px){.ic.wa,.ic.tg{display:none}}
.ic.me span{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.av-rate{display:inline-flex;align-items:center;gap:8px;margin-top:10px;background:#fff;color:#111;border-radius:999px;padding:6px 14px;font-weight:700;font-size:15px}.av-rate .stars{color:#f5a623;letter-spacing:2px;font-size:17px}

/* корзина: аккуратные итоги, галочки и кнопка */
.sum{gap:9px}
.sum>div{align-items:baseline}
.sum>div span{color:var(--mute)}
.sum .big{align-items:baseline;padding-top:14px;margin-top:4px}
.sum .big span{color:var(--ink);font-size:18px}
.co label.chk{display:grid;grid-template-columns:22px 1fr;column-gap:10px;align-items:start;margin-top:14px;line-height:1.45;font-size:13px}
.co label.chk input{appearance:none;-webkit-appearance:none;width:22px;height:22px;margin:0;border:1.5px solid #b8c2d4;border-radius:7px;background:#fff;display:grid;place-content:center;cursor:pointer;transition:.15s;padding:0}
.co label.chk input::after{content:"";width:10px;height:6px;border:2.5px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px) scale(0);transition:.12s}
.co label.chk input:checked{background:var(--bl);border-color:var(--bl)}
.co label.chk input:checked::after{transform:rotate(-45deg) translate(1px,-1px) scale(1)}
.co label.chk span{padding-top:1px}
.co #f-submit{margin-top:18px}
.co .hint#f-note{margin:12px 2px 0;text-align:center;line-height:1.5}
.co label.chk{column-gap:14px;margin-top:18px}
.co .sum{margin-bottom:10px}
.co #f-submit{margin-top:22px}
.co .hint#f-note{margin:16px 6px 0}
.co .msg{margin:10px 2px 0}

/* блок «Где удобно продолжить общение» */
.msgr{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#f7f9ff,#fff)}
.mg-h b{display:block;font-size:15px;color:var(--ink)}.mg-h small{display:block;margin-top:4px;color:var(--mute);font-size:12px;line-height:1.5}
.mg-g{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.mg-c{border:1.5px solid var(--line);border-radius:14px;background:#fff;padding:10px;transition:.15s;display:flex;flex-direction:column;gap:8px}
.mg-c:hover{border-color:#b9c8f5}
.mg-c.on{border-color:var(--bl);box-shadow:0 0 0 3px rgba(31,94,255,.12)}
.mg-top{display:flex;align-items:center;gap:10px;margin:0!important;cursor:pointer;color:var(--ink)}
.mg-top input{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
.mg-ic{width:34px;height:34px;flex:none;display:block}.mg-ic svg{width:100%;height:100%;display:block}
.mg-tx{flex:1;min-width:0}.mg-tx b{display:block;font-size:13.5px;line-height:1.2}.mg-tx em{display:block;font-style:normal;color:var(--mute);font-size:11px;line-height:1.3;margin-top:2px}
.mg-ok{width:20px;height:20px;border-radius:50%;background:var(--bl);color:#fff;font-size:12px;display:grid;place-items:center;opacity:0;transform:scale(.6);transition:.15s;flex:none}
.mg-c.on .mg-ok{opacity:1;transform:none}
.mg-in{display:flex;gap:6px;align-items:center}
.mg-in input{flex:1;min-width:0;padding:9px 10px;font-size:13px;border-radius:10px}
.mg-same{border:0;background:#eef3ff;color:var(--bl);font:600 11px Montserrat,sans-serif;border-radius:8px;padding:6px 8px;cursor:pointer;white-space:nowrap}
.mg-same:hover{background:#dfe9ff}
@media(max-width:520px){.mg-g{grid-template-columns:1fr}}
.co .mg-g{grid-template-columns:1fr}
.acc-grid aside .mg-g{grid-template-columns:1fr}.acc-grid aside .msgr{padding:12px}
.mgl{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:13px}.mgl .mg-ic{width:22px;height:22px}.mgl i{font-style:normal;font-size:10px;background:#e8fff1;color:#0a7a3d;border-radius:6px;padding:2px 6px;font-weight:700}
.stp{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0 16px}
.stp>div{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;font-size:12px;color:var(--mute);font-weight:600;position:relative}
.stp>div:not(:last-child)::after{content:"";position:absolute;top:15px;left:calc(50% + 20px);right:calc(-50% + 20px);height:2px;background:var(--line)}
.stp i{width:30px;height:30px;border-radius:50%;background:#eef2fb;color:var(--mute);display:grid;place-items:center;font-style:normal;font-weight:800;font-size:13px}
.stp .done i{background:#12b76a;color:#fff}.stp .done{color:var(--ink)}.stp .done:not(:last-child)::after{background:#12b76a}
.stp .cur i{background:var(--bl);color:#fff;box-shadow:0 0 0 4px rgba(31,94,255,.15)}.stp .cur{color:var(--ink)}
@media(max-width:560px){.stp{font-size:11px}.stp>div:not(:last-child)::after{display:none}}
.mg-g{grid-template-columns:1fr!important}.mg-c{padding:10px 12px}
/* выпадающий список мессенджеров */
.mg-dd{position:relative;margin-top:14px}
.mg-btn{width:100%;display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:10px 12px;cursor:pointer;text-align:left;font-family:inherit;color:var(--ink);transition:.15s}
.mg-btn:hover,.mg-btn.open{border-color:var(--bl)}.mg-btn.open{box-shadow:0 0 0 3px rgba(31,94,255,.12)}
.mg-ar{color:var(--mute);font-size:14px;transition:.15s}.mg-btn.open .mg-ar{transform:rotate(180deg)}
.mg-list{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px rgba(16,26,58,.18);padding:6px;max-height:340px;overflow:auto}
.mg-list[hidden]{display:none}
.mg-opt{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;cursor:pointer}
.mg-opt:hover{background:#f1f5ff}.mg-opt.on{background:#eaf0ff}.mg-opt .mg-ok{opacity:0;transform:none}.mg-opt.on .mg-ok{opacity:1}
.mg-in{margin-top:10px}.mg-in[hidden]{display:none}
.msgr .mg-in input{padding:11px 12px;font-size:14px}

.ic.av .avt small .rs{display:none}
@media(max-width:1500px){.ic.av .avt small .rf{display:none}.ic.av .avt small .rs{display:inline}}
