/* Ёлки оптом — elkioptom.com. Макет «Вариант 1 — Лес»: палитра «Природа в деталях», Manrope + Playfair Display Bold Italic, единое скругление 16 */
:root{--forest:#0F2D1F;--black:#0B0B0B;--milk:#F8F7F3;--beige:#D8C9B2;--pine:#2E4A3B;--goldd:#B89B6B;--mut:#6B6B6B;--wine:#600B13;--gold:#D4AF7C;
--soft:#EDE6DA;--ln:#E2DACB;--gr2:#E3E8E0;--lightb:#EFE9DE;--err:#B4462B;--r:16px;--g:24px;--top:108px}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:var(--top)}
body{font-family:Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.55;color:var(--black);background:var(--milk);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.lock{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
ul,ol{list-style:none}
.i{flex:none}
:focus-visible{outline:2px solid var(--pine);outline-offset:2px}
.wrap{max-width:1296px;margin:0 auto;padding-left:24px;padding-right:24px}
h1,h2,h3{font-weight:600;letter-spacing:-.02em;line-height:1.08}
h1{font-size:clamp(36px,4.6vw,64px)}
h2{font-size:clamp(30px,3.6vw,52px)}
h3{letter-spacing:-.01em}
em{font-family:"Playfair Display",Georgia,serif;font-style:italic;font-weight:700;color:var(--pine);letter-spacing:-.01em}
.cap{font-size:14px;font-weight:500;color:var(--pine);margin-bottom:16px}
.lead{font-size:17px;color:var(--mut);line-height:1.55}
.note{font-size:12px;color:var(--mut);line-height:1.5}
.note a,.lead a,.card p a{color:var(--pine);text-decoration:underline;text-underline-offset:3px}
hr{border:0;border-top:1px solid var(--ln)}
.sec{padding-top:96px;padding-bottom:96px}
.pt0{padding-top:0!important}
.sec-soft{background:var(--soft)}
.sec-white{background:#fff}
.link{color:var(--pine);font-weight:600;text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;gap:6px}
.link.c{align-self:center;font-size:14px;color:var(--mut);text-decoration:none}

/* ── кнопки ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 28px;border-radius:var(--r);font-size:15px;font-weight:600;line-height:1;white-space:nowrap;transition:filter .2s,background .2s,border-color .2s;border:1px solid transparent}
.btn:hover{filter:brightness(1.07)}
.btn-s{height:44px;padding:0 20px}
.btn.w{width:100%}
.btn-dark{background:linear-gradient(90deg,#1A3D2B,var(--forest));color:#fff;border-color:rgba(212,175,124,.5)}
.btn-light{background:var(--lightb);border-color:var(--ln);color:var(--forest)}
.btn-lightb{background:var(--lightb);color:var(--forest)}
.btn-line{border-color:var(--ln);background:#fff;color:var(--forest)}
.btn-line:hover{border-color:var(--beige);filter:none}
.btn-p3{background:var(--forest);color:#fff;border-color:rgba(212,175,124,.55);justify-content:space-between;height:60px;padding:0 24px;box-shadow:inset 0 1px 0 rgba(255,255,255,.12);gap:20px}
.btn-p3.big{height:68px;padding:0 26px}
.btn-p3.btn-s{height:44px;padding:0 18px;gap:8px;justify-content:center}
.btn-p3:disabled{opacity:.6;cursor:wait}
.b-l{display:flex;flex-direction:column;gap:6px;text-align:left;align-items:flex-start;min-width:0}
.b-l b{font-size:16px;font-weight:600}
.big .b-l b{font-size:17px}
.b-l small{font-size:12px;font-weight:400;color:rgba(255,255,255,.6);white-space:nowrap}
.btn-line .b-l small{color:var(--mut)}
.btn-line.big{height:56px;justify-content:space-between;padding:0 26px}
.b-r{display:flex;align-items:center;gap:12px;color:var(--gold);font-size:16px;font-weight:600;padding-left:20px;border-left:1px solid rgba(255,255,255,.2);height:34px}
.rb{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:none;position:relative;transition:filter .2s}
.rb:hover{filter:brightness(1.1)}
.rb-l{background:var(--lightb);color:var(--forest)}
.rb-d{background:var(--forest);color:#fff}
.rb-s{width:40px;height:40px;background:var(--soft);color:var(--forest)}
.rb-f{background:rgba(255,255,255,.1);color:#fff;width:40px;height:40px}
.cnt{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;border-radius:9px;background:var(--forest);color:#fff;font-size:10px;font-weight:600;font-style:normal;display:flex;align-items:center;justify-content:center;padding:0 4px;box-shadow:0 0 0 2px #fff;font-family:Manrope,sans-serif}

/* ── шапка ── */
.hdr{position:sticky;top:16px;z-index:50;padding:0 24px;margin-top:32px}
.hdr-in{max-width:1096px;margin:0 auto;height:76px;background:#fff;border:1px solid var(--ln);border-radius:var(--r);box-shadow:0 8px 30px rgba(0,0,0,.06);display:flex;align-items:center;justify-content:space-between;padding:0 16px 0 26px;gap:16px}
.logo{display:flex;align-items:center;gap:10px;color:var(--pine);flex:none}
.logo b{display:block;font-size:17px;font-weight:700;color:var(--black);line-height:1}
.logo small{display:block;font-size:11px;color:var(--mut);line-height:1;margin-top:4px}
.nav{display:flex;gap:30px;align-items:center;font-size:15px;font-weight:600;color:var(--forest)}
.nav > a:hover,.dd-t:hover{color:var(--pine)}
.dd{position:relative}
.dd-t{display:flex;align-items:center;gap:6px;height:76px}
.dd-m{position:absolute;top:66px;left:-22px;background:#fff;border:1px solid var(--ln);border-radius:var(--r);box-shadow:0 18px 40px rgba(0,0,0,.1);padding:10px;min-width:270px;display:none;flex-direction:column;font-weight:500}
.dd:hover .dd-m,.dd:focus-within .dd-m{display:flex}
.dd-m a{padding:11px 14px;border-radius:12px}
.dd-m a:hover{background:var(--soft)}
.dd-all{display:flex;justify-content:space-between;align-items:center;font-weight:600;border-top:1px solid var(--ln);border-radius:0 0 12px 12px!important;margin-top:6px}
.hdr-r{display:flex;gap:8px;align-items:center}
.burger{display:none}

/* ── хлебные крошки ── */
.crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px;font-weight:500;color:var(--mut);padding-top:28px;padding-bottom:8px}
.crumbs a:hover{color:var(--pine)}
.crumbs span{color:var(--black)}

/* ── шапки блоков ── */
.shead{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:40px}
.shead > div{max-width:840px}
.shead .lead{margin-top:16px;max-width:612px}
.shead.c{justify-content:center;text-align:center}
.shead.c .lead{margin-left:auto;margin-right:auto}
.h2s{font-size:clamp(26px,2.5vw,36px);margin-bottom:28px}

/* ── первый экран ── */
.hero{display:grid;grid-template-columns:1fr 1fr;gap:var(--g);padding-top:32px;padding-bottom:56px}
.hero-l{display:flex;flex-direction:column;justify-content:space-between;gap:32px;min-width:0}
.hero h1{font-size:clamp(40px,5.3vw,76px);line-height:1.06}
.minis{display:flex;gap:14px;margin-top:32px}
.minis figure{width:150px;min-width:0}
.minis img{width:100%;aspect-ratio:150/112;height:auto;object-fit:cover;border-radius:var(--r)}
.minis figcaption{font-size:12px;color:var(--mut);font-weight:500;margin-top:8px}
.hero-b{display:flex;flex-direction:column;gap:24px}
.hero-b .lead{font-size:18px;font-weight:300;max-width:486px}
.cta{display:flex;flex-direction:column;gap:10px;max-width:486px}
.hfacts{display:flex;flex-wrap:wrap;gap:10px 26px;font-size:13px;font-weight:500}
.hfacts li{display:flex;gap:8px;align-items:center}
.hfacts .i{color:var(--pine)}
.hero-r{min-width:0}
.hero-ph{position:relative;aspect-ratio:1;border-radius:var(--r);overflow:hidden;background:var(--soft)}
.hero-ph > img{width:100%;height:100%;object-fit:cover;filter:saturate(1.1) contrast(1.04)}
.pin{position:absolute;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.9);box-shadow:0 0 0 6px rgba(255,255,255,.35);transform:translate(-50%,-50%)}
.pin::before,.pin::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;background:var(--forest);transform:translate(-50%,-50%)}
.pin::after{transform:translate(-50%,-50%) rotate(90deg)}
.chipcard{position:absolute;background:#fff;border-radius:var(--r);box-shadow:0 12px 30px rgba(0,0,0,.1);display:flex;align-items:center;gap:12px;font-size:13px;font-weight:600}
.hc-card{right:3%;top:24%;padding:14px 16px}
.hc-card .th{width:64px;height:64px;border-radius:14px;object-fit:cover}
.hc-card small{display:block;font-size:12px;color:var(--mut);font-weight:500}
.hc-card b{display:block;font-size:16px;font-weight:600;margin:4px 0}
.hc-card strong{display:block;font-size:18px;font-weight:700}
.hc-tip{right:3%;top:68%;padding:10px 16px}

/* ── преимущества ── */
.sec-adv{padding-top:56px}
.adv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 48px}
.adv{display:flex;flex-direction:column;gap:10px}
.ic-f{width:48px;height:48px;border-radius:50%;background:var(--forest);color:var(--gold);display:flex;align-items:center;justify-content:center;flex:none}
.ic-g{width:56px;height:56px;border-radius:50%;background:var(--gr2);color:var(--pine);display:flex;align-items:center;justify-content:center;flex:none}
.adv h3{font-size:18px;line-height:1.25}
.adv p{font-size:13px;color:var(--mut);font-weight:500;line-height:1.45}

/* ── каталог по типам ── */
.sec-cat{padding-top:40px}
.bento{display:grid;grid-template-columns:1fr 1fr;gap:var(--g)}
.bento-r{display:grid;grid-template-columns:1fr 1fr;gap:var(--g)}
.cat{position:relative;border-radius:var(--r);overflow:hidden;background:var(--soft);min-height:288px;display:block;color:#fff;isolation:isolate}
.cat.big{min-height:600px}
.cat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s;z-index:-1}
.cat:hover img{transform:scale(1.04)}
.cat::after{content:"";position:absolute;left:0;right:0;bottom:0;height:62%;background:linear-gradient(180deg,rgba(11,11,11,0),rgba(11,11,11,.55) 45%,rgba(11,11,11,.88));z-index:-1}
.cat-ar{position:absolute;top:16px;right:16px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.7);display:flex;align-items:center;justify-content:center}
.cat-t{position:absolute;left:20px;right:20px;bottom:20px;display:flex;flex-direction:column;gap:10px}
.cat-t small{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;opacity:.8}
.cat-t b{font-size:21px;font-weight:600;line-height:1.15}
.cat.big .cat-t b{font-size:30px}
.cat-t span{font-size:14px;font-weight:500;opacity:.9}
.cat.big .cat-t span{font-size:16px}

/* ── карточки товаров ── */
.sec-hits{padding-top:72px}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:48px var(--g)}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px var(--g)}
.pc{display:flex;flex-direction:column;gap:14px;min-width:0}
.pc-ph{position:relative;display:block;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;background:var(--soft)}
.pc-ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.pc:hover .pc-ph img{transform:scale(1.03)}
.badge{position:absolute;top:14px;left:14px;background:#fff;color:var(--forest);font-size:12px;font-weight:600;height:30px;padding:0 12px;border-radius:var(--r);display:flex;align-items:center}
.pc-t h3{font-size:18px;line-height:1.25}
.pc-t h3 a:hover{color:var(--pine)}
.pc-t p{font-size:13px;color:var(--mut);font-weight:500;margin-top:4px}
.pc-hs{display:flex;flex-wrap:wrap;gap:6px}
.hp{height:28px;padding:0 10px;border-radius:var(--r);border:1px solid var(--ln);font-size:12px;font-weight:600;color:var(--forest);background:transparent;transition:.15s}
.hp:hover{border-color:var(--beige)}
.hp.on{background:var(--forest);border-color:var(--forest);color:#fff}
.hp-one{font-size:12px;color:var(--mut);font-weight:600;height:28px;display:flex;align-items:center}
.pc-b{display:flex;justify-content:space-between;align-items:flex-end;gap:8px;margin-top:auto}
.pc-b small{display:block;font-size:12px;color:var(--mut);font-weight:500;margin-bottom:5px}
.pc-b b{font-size:22px;font-weight:700;line-height:1;white-space:nowrap}
.mob-btn{margin-top:28px}

/* ── в интерьере ── */
.sec-mood{padding-top:120px;padding-bottom:120px}
.rooms{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--g)}
.room{position:relative;aspect-ratio:928/1120;border-radius:var(--r);overflow:hidden;display:block;background:var(--soft)}
.room img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.room:hover img{transform:scale(1.03)}
.room-c{position:absolute;left:12px;right:12px;bottom:12px;background:#fff;border-radius:var(--r);padding:10px 10px 10px 16px;display:flex;align-items:center;justify-content:space-between;gap:8px;box-shadow:0 10px 24px rgba(0,0,0,.12)}
.room-c b{display:block;font-size:15px;font-weight:600;line-height:1.2}
.room-c small{font-size:12px;color:var(--mut);font-weight:500}
.room-c .rb{width:40px;height:40px}
.room-cta{border-radius:var(--r);background:linear-gradient(180deg,#173B29,var(--forest));color:#fff;padding:24px 22px;display:flex;flex-direction:column;gap:14px}
.room-cta > .i{color:var(--gold)}
.room-cta .rc-t{font-size:24px;color:#fff;font-weight:600;line-height:1.2;letter-spacing:-.01em}
.room-cta p{font-size:14px;color:rgba(255,255,255,.7)}
.room-cta .btn{margin-top:auto;height:48px}

/* ── дешевле рынка ── */
.mk{display:grid;grid-template-columns:4fr 8fr;gap:72px;align-items:center}
.mk-l h2{font-size:clamp(28px,2.7vw,40px);margin-bottom:18px}
.mk-row{display:grid;grid-template-columns:1fr 170px 150px 76px;gap:var(--g);align-items:center;padding:26px 0;border-top:1px solid var(--ln)}
.mk-row:last-of-type{border-bottom:1px solid var(--ln)}
.mk-n{font-size:20px;font-weight:600;line-height:1.2}
.mk-m{font-size:20px;color:var(--mut);white-space:nowrap}
.mk-m small,.mk-u small{display:block;font-size:12px;font-weight:500;margin-bottom:4px;color:var(--mut)}
.mk-u{font-size:28px;font-weight:700;white-space:nowrap;line-height:1.1}
.mk-u small{color:var(--pine)}
.mk-p{justify-self:end;background:var(--wine);color:#fff;font-size:12px;font-weight:600;height:36px;padding:0 12px;border-radius:var(--r);display:flex;align-items:center;white-space:nowrap}
.mk .note{margin-top:16px}

/* ── подбор высоты ── */
.hgts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--g);align-items:end}
.stage{position:relative;height:400px;overflow:hidden;border-bottom:1px solid var(--beige)}
.room-bg{position:absolute;left:0;right:0;bottom:0;background:var(--soft);border-radius:4px 4px 0 0}
.ceil{position:absolute;left:0;right:0;height:2px;background:var(--pine)}
.ceil span{position:absolute;left:12px;top:12px;font-size:12px;font-weight:600;color:var(--pine);white-space:nowrap;font-style:normal}
.stage img{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:auto;max-width:none}
.hgt > b{display:block;font-size:28px;font-weight:700;line-height:1;margin-top:12px}
.hgt p{font-size:14px;color:var(--mut);font-weight:500;margin-top:10px}
.hint{display:flex;gap:10px;align-items:center;font-size:15px;margin-top:40px;flex-wrap:wrap}
.hint .i{color:var(--pine)}
.hint.c{justify-content:center}
.flt .hint,.quiz .hint{font-size:13px;color:var(--pine);font-weight:500;margin-top:0;gap:8px}

/* ── хвоя ── */
.ndl{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.ndl-ph{height:620px;border-radius:var(--r);overflow:hidden;background:var(--soft)}
.ndl-ph img{width:100%;height:100%;object-fit:cover;filter:saturate(1.1) contrast(1.04)}
.ndl-r{display:flex;flex-direction:column;gap:22px;min-width:0}
.ndl-r h2{font-size:clamp(30px,3.3vw,48px)}
.ndl-r .cap{margin-bottom:-6px}
.checks{display:flex;flex-direction:column;gap:14px}
.checks li{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.45}
.checks .i{color:var(--pine);margin-top:2px}
.ndl-mini{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--g);align-items:center}
.ndl-mini img{height:300px;width:100%;object-fit:cover;border-radius:var(--r)}
.ndl-mini h3{font-size:18px;margin-bottom:10px}
.ndl-mini p{font-size:15px;color:var(--mut)}

/* ── доставка ── */
.sec-dl{padding-top:40px}
.dls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--g)}
.dl{display:flex;flex-direction:column;gap:14px}
.dl h3{font-size:20px;line-height:1.2}
.dl p{font-size:15px;color:var(--mut)}
.sec-dl hr{margin:48px 0}
.stps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--g)}
.stp{display:flex;gap:12px}
.stp > b{font-size:15px;font-weight:700;color:var(--pine);width:28px;flex:none;line-height:1.4}
.stp h3{font-size:16px;line-height:1.4;letter-spacing:0}
.stp p{font-size:14px;color:var(--mut);margin-top:4px}

/* ── вопросы ── */
.faq{display:grid;grid-template-columns:4fr 8fr;gap:48px;align-items:start}
.faq-l .shead{margin-bottom:20px}
.faq-l .lead{font-size:16px}
.btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.qas{display:flex;flex-direction:column;gap:10px}
.qa{border-radius:var(--r);background:var(--soft);border:1px solid var(--soft);padding:22px 26px;transition:background .2s}
.qa[open]{background:#fff;border-color:var(--ln)}
.qa summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:20px;font-weight:600;line-height:1.3;cursor:pointer}
.qa summary::-webkit-details-marker{display:none}
.qa-i{width:36px;height:36px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;flex:none;transition:.25s}
.qa[open] .qa-i{background:var(--forest);color:#fff;transform:rotate(45deg)}
.qa p{font-size:16px;color:var(--mut);margin-top:14px;max-width:720px}

/* ── подвал ── */
.ftr{background:var(--forest);color:#fff;padding:80px 0 40px}
.f-grid{display:grid;grid-template-columns:4fr 2fr 2fr 2fr 2fr;gap:var(--g)}
.f-brand{display:flex;flex-direction:column;gap:18px;padding-right:24px}
.ftr .logo{color:var(--gold)}
.ftr .logo b{color:#fff}
.ftr .logo small{color:rgba(255,255,255,.6)}
.f-brand p{font-size:14px;color:rgba(255,255,255,.7)}
.f-brand .f-pick{font-size:13px}
.f-msg{display:flex;gap:8px}
.link-f{color:#fff;display:inline-flex;gap:8px;align-items:center;font-size:14px;font-weight:600;border:1px solid rgba(255,255,255,.25);height:40px;padding:0 16px;border-radius:var(--r)}
.fcol{display:flex;flex-direction:column;gap:12px}
.fh{font-size:13px;color:rgba(255,255,255,.5);font-weight:500}
.fcol a{font-size:15px;line-height:1.4}
.fcol a:hover,.f-bot a:hover{color:var(--gold)}
.f-bot{display:flex;justify-content:space-between;gap:24px;border-top:1px solid rgba(255,255,255,.15);margin-top:48px;padding-top:24px;font-size:13px;color:rgba(255,255,255,.5)}

/* ── формы ── */
.form{display:flex;flex-direction:column;gap:18px}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.fld{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;min-width:0}
.fld input,.fld textarea,.fld select{height:52px;border:1px solid var(--ln);border-radius:var(--r);background:#fff;padding:0 18px;font-size:15px;font-weight:400;width:100%;outline:none;transition:border-color .2s}
.fld textarea{height:auto;min-height:110px;padding:16px 18px;resize:vertical;line-height:1.45}
.fld input::placeholder,.fld textarea::placeholder{color:#A6A29B}
.fld input:focus,.fld textarea:focus{border-color:var(--pine)}
.fld.sm input{height:44px;padding:0 14px}
.fld.bad input,.fld.bad textarea{border-color:var(--err)}
.err{font-size:12px;color:var(--err);font-style:normal;font-weight:500;font-family:Manrope,sans-serif}
.hp-f{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.chk{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer;position:relative;line-height:1.35}
.chk input{position:absolute;opacity:0;width:20px;height:20px;margin:0;left:0}
.chk > i{width:20px;height:20px;border-radius:6px;border:1px solid var(--beige);background:#fff;display:flex;align-items:center;justify-content:center;flex:none;color:transparent;transition:.15s}
.chk input:checked + i{background:var(--pine);border-color:var(--pine);color:#fff}
.chk input:focus-visible + i{outline:2px solid var(--pine);outline-offset:2px}
.chk span{flex:1}
.chk span a{color:var(--pine);text-decoration:underline}
.chk > em{font-family:inherit;font-style:normal;font-size:13px;color:var(--mut);font-weight:500}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative;cursor:pointer;display:inline-flex}
.chip input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;margin:0}
.chip span{height:38px;padding:0 16px;border-radius:var(--r);border:1px solid var(--ln);background:#fff;display:inline-flex;align-items:center;font-size:13px;font-weight:600;transition:.15s;white-space:nowrap}
.chip input:checked + span{background:var(--forest);color:#fff;border-color:var(--forest)}
.chip input:focus-visible + span{outline:2px solid var(--pine);outline-offset:2px}
.ok-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:16px 0}
.ok-state p:last-child{color:var(--mut);font-size:15px}
.ok-ico{width:84px;height:84px;border-radius:50%;background:var(--pine);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}
.ok-ico.warn{background:var(--wine)}
.ok-ico.wait{background:var(--goldd)}
.ok-t{font-size:22px;font-weight:600;line-height:1.25}
.err-box{background:#FBEDEA;color:#8a2f1c;border-radius:12px;padding:12px 14px;font-size:13px;line-height:1.45}
.card{background:#fff;border:1px solid var(--ln);border-radius:var(--r);padding:28px;min-width:0}
.tag{height:30px;padding:0 12px;border-radius:var(--r);background:var(--gr2);color:var(--pine);font-size:12px;font-weight:600;display:inline-flex;align-items:center;align-self:flex-start;white-space:nowrap}
.tag-s{background:var(--soft);color:var(--forest)}
.tag-d{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.2)}

/* ── каталог ── */
.cat-pg{padding-top:16px;padding-bottom:96px}
.cat-h{display:flex;align-items:flex-end;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.cat-h h1{font-size:clamp(34px,3.9vw,56px)}
.cnt-t{font-size:15px;color:var(--mut);font-weight:500;padding-bottom:8px}
.cat-pg > .lead{max-width:720px;margin:-4px 0 32px}
.types{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin-bottom:28px;padding-bottom:2px}
.types::-webkit-scrollbar{display:none}
.tchip{height:40px;padding:0 16px;border-radius:var(--r);border:1px solid var(--ln);background:#fff;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;white-space:nowrap;flex:none}
.tchip:hover{border-color:var(--beige)}
.tchip em{font-family:inherit;font-style:normal;font-weight:500;color:var(--mut);font-size:12px}
.tchip.on{background:var(--forest);border-color:var(--forest);color:#fff}
.tchip.on em{color:rgba(255,255,255,.6)}
.cat-l{display:grid;grid-template-columns:3fr 9fr;gap:var(--g);align-items:start}
.cat-f{background:#fff;border:1px solid var(--ln);border-radius:var(--r);padding:24px;position:sticky;top:var(--top)}
.flt{display:flex;flex-direction:column;gap:20px}
.flt-b{display:flex;flex-direction:column;gap:14px}
.flt-h{font-size:15px;font-weight:600}
.flt .chip span{height:36px;padding:0 14px}
.flt-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.cat-m{min-width:0}
.cat-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:28px;flex-wrap:wrap}
.act{display:flex;flex-wrap:wrap;gap:8px;align-items:center;flex:1;min-width:0}
.act button{height:34px;padding:0 12px 0 14px;border-radius:var(--r);background:var(--gr2);display:inline-flex;gap:8px;align-items:center;font-size:13px;font-weight:600}
.act .clr{background:none;color:var(--mut);padding:0 6px}
.sort{position:relative;display:flex;align-items:center;gap:8px;height:44px;border:1px solid var(--ln);border-radius:var(--r);background:#fff;padding:0 14px 0 16px;font-size:14px;flex:none}
.sort span{color:var(--mut);font-weight:500}
.sort select{appearance:none;-webkit-appearance:none;border:0;background:none;font-weight:600;padding-right:2px;cursor:pointer;outline:none}
.help{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--ln);border-radius:var(--r);padding:20px 24px;margin-top:48px}
.help > .i{color:var(--pine)}
.help div{flex:1;min-width:0}
.help b{font-size:18px;font-weight:600;display:block;line-height:1.25}
.help p{font-size:14px;color:var(--mut);margin-top:4px}
.empty{text-align:center;padding:60px 0;display:flex;flex-direction:column;align-items:center;gap:14px}
.empty.big{padding:80px 0}
.empty > .i{color:var(--beige)}
.empty p{color:var(--mut)}
.empty .ok-t{color:var(--black)}
.acc-sec{padding-bottom:96px}

/* ── карточка ёлки ── */
.pd{display:grid;grid-template-columns:7fr 5fr;gap:var(--g);padding-top:12px;padding-bottom:64px;align-items:start}
.gal{display:flex;gap:var(--g);min-width:0}
.g-ths{display:flex;flex-direction:column;gap:10px;width:94px;flex:none;max-height:660px;overflow-y:auto;scrollbar-width:none}
.g-ths::-webkit-scrollbar{display:none}
.g-th{width:94px;height:110px;border-radius:var(--r);padding:3px;border:2px solid transparent;flex:none;transition:border-color .2s}
.g-th.on{border-color:var(--pine)}
.g-th img{width:100%;height:100%;object-fit:cover;border-radius:12px}
.g-main{position:relative;flex:1;min-width:0;height:660px;border-radius:var(--r);overflow:hidden;background:var(--soft)}
.g-track{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth}
.g-track::-webkit-scrollbar{display:none}
.g-sl{flex:0 0 100%;height:100%;scroll-snap-align:start}
.g-sl img{width:100%;height:100%;object-fit:cover}
.g-main .badge{top:18px;left:18px}
.g-dots{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:5px;padding:6px 8px;border-radius:10px;background:rgba(255,255,255,.7)}
.g-dots:empty{display:none}
.g-dots i{width:6px;height:6px;border-radius:3px;background:var(--beige);transition:.2s}
.g-dots i.on{width:18px;background:var(--forest)}
.pd-i{display:flex;flex-direction:column;gap:18px;position:sticky;top:var(--top);min-width:0}
.tags{display:flex;gap:8px;flex-wrap:wrap}
.pd h1{font-size:clamp(32px,3vw,44px);line-height:1.1}
.pd-sub{font-size:14px;color:var(--mut);margin-top:-6px}
.pd-hh{display:flex;justify-content:space-between;align-items:center;gap:12px}
.pd-hh b{font-size:15px}
.pd-hh .link{font-size:13px;text-decoration:none}
.hrows{display:flex;flex-direction:column;gap:6px}
.hrow{display:flex;align-items:center;gap:14px;min-height:50px;padding:6px 16px;border:1px solid var(--ln);border-radius:var(--r);background:#fff;cursor:pointer;position:relative;transition:.15s}
.hrow input{position:absolute;opacity:0;pointer-events:none}
.hrow > i{width:20px;height:20px;border-radius:50%;border:1px solid var(--beige);flex:none;display:flex;align-items:center;justify-content:center;background:#fff}
.hrow input:checked + i{background:var(--forest);border-color:var(--forest)}
.hrow input:checked + i::after{content:"";width:8px;height:8px;border-radius:50%;background:#fff}
.hrow input:focus-visible + i{outline:2px solid var(--pine);outline-offset:2px}
.hrow:has(input:checked){background:var(--gr2);border-color:var(--forest);box-shadow:inset 0 0 0 .5px var(--forest)}
.hrow b{width:64px;font-size:15px;font-weight:600;flex:none}
.hrow span{flex:1;font-size:13px;color:var(--mut);font-weight:500}
.hrow strong{font-size:15px;font-weight:600;white-space:nowrap}
.addon{display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:var(--r);background:var(--gr2);cursor:pointer;position:relative}
.addon input{position:absolute;opacity:0;pointer-events:none}
.addon > i{width:22px;height:22px;border-radius:6px;border:1px solid var(--beige);background:#fff;display:flex;align-items:center;justify-content:center;flex:none;color:transparent}
.addon input:checked + i{background:var(--pine);border-color:var(--pine);color:#fff}
.addon input:focus-visible + i{outline:2px solid var(--pine);outline-offset:2px}
.addon .th{width:52px;height:52px;border-radius:14px;object-fit:cover;flex:none}
.addon > span{flex:1;min-width:0}
.addon b{display:block;font-size:14px;line-height:1.25}
.addon small{font-size:12px;color:var(--mut)}
.addon strong{font-size:15px;font-weight:600;white-space:nowrap}
.perks{display:flex;flex-direction:column;gap:14px}
.perks li{display:flex;gap:12px;align-items:center}
.perks .i{color:var(--pine)}
.perks b{display:block;font-size:14px;font-weight:600;line-height:1.3}
.perks small{font-size:12px;color:var(--mut)}
.pd-low{padding-top:72px;padding-bottom:80px}
.tabs{display:flex;gap:36px;border-bottom:1px solid var(--ln);margin-bottom:24px}
.tabs a{font-size:16px;font-weight:600;color:var(--mut);padding-bottom:12px;border-bottom:2px solid transparent;margin-bottom:-1px}
.tabs a.on{color:var(--black);border-color:var(--black)}
.pd-lg{display:grid;grid-template-columns:7fr 5fr;gap:var(--g);align-items:start}
.pd-ll{display:flex;flex-direction:column;gap:28px;min-width:0}
.specs .sp-r{display:grid;grid-template-columns:240px minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid var(--ln);font-size:14px;line-height:1.4}
.specs .sp-r:last-child{border-bottom:0}
.sp-r span{color:var(--mut)}
.sp-r b{font-weight:600}
.cmp{padding:22px}
.cmp h3{font-size:18px;margin-bottom:10px}
.tbl-w{overflow-x:auto}
.cmp table{width:100%;border-collapse:collapse;font-size:13px}
.cmp td,.cmp th{padding:10px 8px;text-align:center;border-bottom:1px solid var(--ln);font-weight:400;white-space:nowrap}
.cmp tr:last-child td{border-bottom:0}
.cmp td:first-child,.cmp th:first-child{text-align:left;color:var(--mut)}
.cmp th{font-weight:600}
.cmp .on{background:var(--forest);color:#fff;font-weight:600}
.cmp .note{margin-top:10px}
.pd-side{display:flex;flex-direction:column;gap:22px;padding:24px}
.pd-side h3{font-size:20px;display:flex;gap:10px;align-items:center;margin-bottom:12px}
.pd-side h3 .i{color:var(--pine)}
.pd-side p{font-size:15px;color:var(--mut)}
.pk .sumrow:first-of-type{margin-top:12px}
.sumrow{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:15px;padding:5px 0}
.sumrow span{color:var(--mut)}
.sumrow b{font-weight:600;text-align:right}
.sumrow.big span{font-size:17px;font-weight:600;color:var(--black)}
.sumrow.big b{font-size:22px;font-weight:700;white-space:nowrap}
.cert{display:flex;gap:14px;align-items:center}
.cert img{width:64px;height:92px;object-fit:cover;object-position:top;border-radius:10px;border:1px solid var(--ln);flex:none}
.cert b{display:block;font-size:15px}
.cert small{display:block;font-size:12px;color:var(--mut);margin:6px 0;line-height:1.4}
.cert em,.odoc em{font-family:inherit;font-style:normal;font-size:13px;font-weight:600;color:var(--pine);display:inline-flex;gap:6px;align-items:center}
.pd-dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--g);margin-top:48px;padding-top:48px;border-top:1px solid var(--ln);scroll-margin-top:var(--top)}
.pd-dl .dl{flex-direction:row;align-items:flex-start}
.pd-dl .dl h3{font-size:17px;margin-bottom:6px}
.pd-dl .dl p{font-size:14px}
.pd-sticky{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--ln);box-shadow:0 -4px 20px rgba(0,0,0,.08);padding:12px 20px calc(12px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:40}
.pd-sticky small{display:block;font-size:12px;color:var(--mut)}
.pd-sticky b{font-size:19px;font-weight:700}
.pd-sticky .btn{height:48px}

/* ── корзина и оформление ── */
.cart-pg,.co{padding-top:16px;padding-bottom:96px}
.cart-l{display:grid;grid-template-columns:8fr 4fr;gap:var(--g);align-items:start}
.cart-lines{display:flex;flex-direction:column;gap:14px;min-width:0}
[data-cart-lines],.d-lines{display:flex;flex-direction:column;gap:14px}
.cl{display:flex;align-items:center;gap:24px;background:#fff;border:1px solid var(--ln);border-radius:var(--r);padding:16px 24px 16px 16px}
.cl > a img{width:112px;height:112px;border-radius:14px;object-fit:cover;flex:none}
.cl-t{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}
.cl-t a{font-size:18px;font-weight:600;line-height:1.25}
.cl-t small{font-size:13px;color:var(--mut)}
.step-q{display:inline-flex;align-items:center;gap:4px;height:40px;border:1px solid var(--ln);border-radius:20px;background:#fff;padding:0 2px;flex:none}
.step-q button{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.step-q button:hover{background:var(--soft)}
.step-q b{min-width:22px;text-align:center;font-size:15px;font-weight:600}
.cl-s{width:120px;text-align:right;font-size:18px;font-weight:700;white-space:nowrap;flex:none}
.cl-x{width:40px;height:40px;border-radius:50%;color:var(--mut);display:flex;align-items:center;justify-content:center;flex:none}
.cl-x:hover{background:var(--soft)}
.upsell{display:flex;align-items:center;gap:14px;background:var(--gr2);border-radius:var(--r);padding:12px 16px}
.upsell .th{width:56px;height:56px;border-radius:14px;object-fit:cover;flex:none}
.upsell > span{flex:1;min-width:0}
.upsell b{display:block;font-size:14px}
.upsell small{font-size:12px;color:var(--mut)}
.back{display:inline-flex;gap:8px;align-items:center;font-size:14px;font-weight:600;align-self:flex-start}
.sum{display:flex;flex-direction:column;gap:14px;padding:26px;position:sticky;top:var(--top)}
.sum-t{font-size:20px;font-weight:600}
.mini-lines{display:flex;flex-direction:column;gap:12px}
.ml{display:flex;gap:12px;align-items:center}
.ml img{width:48px;height:48px;border-radius:12px;object-fit:cover;flex:none}
.ml span{flex:1;font-size:13px;font-weight:600;line-height:1.25;min-width:0}
.ml small{display:block;font-size:12px;color:var(--mut);font-weight:400;margin-top:2px}
.ml b{font-size:14px;font-weight:600;white-space:nowrap}
.co-hdr{display:flex;justify-content:space-between;align-items:center;padding-top:32px;padding-bottom:8px;gap:16px}
.safe{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--mut)}
.safe .i{color:var(--pine)}
.co h1{font-size:clamp(32px,3.3vw,48px);margin:24px 0 28px}
.co-f{display:flex;flex-direction:column;gap:16px;min-width:0}
.step{display:flex;flex-direction:column;gap:18px;padding:26px;border:1px solid var(--ln)}
.step legend{display:flex;align-items:center;gap:14px;font-size:22px;font-weight:600;float:left;width:100%;margin-bottom:4px;letter-spacing:-.01em}
.step legend + *{clear:both}
.num{width:32px;height:32px;border-radius:50%;background:var(--forest);color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none}
.radios{display:flex;flex-direction:column;gap:10px}
.radio{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--ln);border-radius:var(--r);cursor:pointer;position:relative;background:#fff;transition:.15s}
.radio input{position:absolute;opacity:0;pointer-events:none}
.radio > i{width:22px;height:22px;border-radius:50%;border:1px solid var(--beige);flex:none;display:flex;align-items:center;justify-content:center}
.radio input:checked + i{background:var(--pine);border-color:var(--pine)}
.radio input:checked + i::after{content:"";width:10px;height:10px;border-radius:50%;background:#fff}
.radio input:focus-visible + i{outline:2px solid var(--pine);outline-offset:2px}
.radio:has(input:checked){border-color:var(--pine);box-shadow:inset 0 0 0 .5px var(--pine)}
.radio > .i{color:var(--pine)}
.radio > span{flex:1;min-width:0}
.radio b{display:block;font-size:15px;font-weight:600}
.radio small{font-size:13px;color:var(--mut);line-height:1.4}
.cdek-f,.pick-f{display:flex;flex-direction:column;gap:12px}
.co-sum .btn{margin-top:4px}

/* ── заказ ── */
.ord{padding-top:40px;padding-bottom:120px}
.ord-c{max-width:640px;margin:0 auto;padding:40px;display:flex;flex-direction:column;gap:22px;text-align:center;align-items:center}
.ord-c h1{font-size:clamp(28px,3vw,40px);line-height:1.15}
.ord-load{display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--mut);padding:40px 0}
.spin{width:40px;height:40px;border:3px solid var(--ln);border-top-color:var(--pine);border-radius:50%;animation:sp 1s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
.ord-steps{text-align:left;display:flex;flex-direction:column;gap:18px;width:100%;border-top:1px solid var(--ln);padding-top:22px}
.ord-steps li{display:flex;gap:12px}
.ord-steps li > b{color:var(--pine);width:32px;flex:none;font-size:14px;line-height:1.5}
.ord-steps strong{display:block;font-size:16px;font-weight:600}
.ord-steps small{font-size:14px;color:var(--mut)}
.ord-items{width:100%;text-align:left}
.ord-btns{display:flex;gap:10px;width:100%;flex-wrap:wrap}
.ord-btns > *{flex:1}
.big-n{font-size:96px;font-weight:700;color:var(--soft);line-height:1;letter-spacing:-.04em}

/* ── информационные страницы ── */
.info{padding-top:16px;padding-bottom:96px}
.info h1{font-size:clamp(34px,3.9vw,56px);margin-bottom:32px}
.info .h2s{margin-top:64px}
.two-c{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--g)}
.three-c{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--g)}
.mt{margin-top:24px}
.way{display:flex;flex-direction:column;gap:14px}
.way h3{font-size:20px}
.way p{font-size:15px;color:var(--mut)}
.way > b{font-size:15px}
.metro{display:flex;flex-direction:column;gap:8px}
.metro li{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px}
.metro .m{width:20px;height:20px;border-radius:50%;background:var(--wine);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none}
.metro small{color:var(--mut);font-size:13px}
.pay{display:flex;flex-direction:column;gap:10px;padding:22px}
.pay .i,.odoc .i{color:var(--pine)}
.pay h3,.odoc h3{font-size:17px;line-height:1.25}
.pay p,.odoc p{font-size:13px;color:var(--mut)}
.note-box{display:flex;gap:12px;align-items:center;background:var(--gr2);border-radius:var(--r);padding:16px 20px;margin-top:24px;font-size:15px;font-weight:500;line-height:1.45}
.note-box .i{color:var(--pine)}
.h3b{font-size:22px;margin-bottom:14px}
.card > p{font-size:15px;color:var(--mut)}
.doc{display:grid;grid-template-columns:4fr 8fr;gap:48px;padding:32px;align-items:start}
.doc-img img{width:100%;border-radius:var(--r);border:1px solid var(--ln);box-shadow:0 14px 34px rgba(0,0,0,.1)}
.doc-i{display:flex;flex-direction:column;gap:20px;min-width:0}
.doc-i h2{font-size:clamp(28px,2.8vw,40px);line-height:1.12}
.doc-i .btns{margin-top:0}
.req{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
.req h3{font-size:16px;margin-bottom:6px}
.req .sp-r,.legal .sp-r{grid-template-columns:200px minmax(0,1fr);font-size:13px;padding:10px 0}
.req p{font-size:14px;color:var(--mut)}
.req p a{color:var(--pine);text-decoration:underline}
.odoc{display:flex;flex-direction:column;gap:10px;padding:22px;transition:border-color .2s}
.odoc:hover{border-color:var(--beige)}
.cont{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--g)}
.cont .card{display:flex;flex-direction:column;gap:14px}
.cont h3{font-size:20px}
.cont .lead{color:var(--black);font-weight:500}
.cont .btns{margin-top:4px}
.map{margin-top:24px;border-radius:var(--r);overflow:hidden;height:420px;border:1px solid var(--ln);background:var(--soft)}
.map iframe{width:100%;height:100%;border:0;display:block}
.legal{max-width:928px}
.legal h2{font-size:22px;margin:32px 0 10px;letter-spacing:-.01em;line-height:1.25}
.legal p{font-size:15px;color:#333;margin-bottom:10px}
.legal p a{color:var(--pine);text-decoration:underline}
.legal .note{margin-top:32px}

/* ── оптовикам ── */
.b2b-hero{display:grid;grid-template-columns:minmax(0,1fr) 620px;gap:24px;min-height:640px;border-radius:var(--r);background:linear-gradient(180deg,#173B29,var(--forest));padding:24px 24px 24px 56px;color:#fff;overflow:hidden;margin-top:12px}
.b2b-t{display:flex;flex-direction:column;gap:22px;padding:32px 0 8px;min-width:0}
.b2b-t h1{font-size:clamp(34px,3.8vw,54px);line-height:1.06}
.b2b-t h1 em,.b2b-fl h2 em{color:var(--gold)}
.b2b-t > p{font-size:16px;color:rgba(255,255,255,.8);max-width:470px}
.b2b-t .btns{margin-top:0;align-items:center;gap:22px}
.link-w{display:inline-flex;gap:8px;align-items:center;font-size:15px;font-weight:600;color:#fff}
.b2b-f{display:grid;grid-template-columns:1fr 1fr;gap:22px var(--g);margin-top:auto;padding-top:24px;border-top:1px solid rgba(255,255,255,.15)}
.b2b-f b{display:block;font-size:30px;font-weight:600;color:var(--gold);letter-spacing:-.01em;line-height:1}
.b2b-f span{display:block;font-size:13px;color:rgba(255,255,255,.7);margin-top:6px}
.b2b-st{position:relative;border-radius:var(--r);background:linear-gradient(180deg,#F8F7F3,#E6DCCB);overflow:hidden;min-height:400px}
.b2b-st img{position:absolute;bottom:34px;width:auto;max-width:none;filter:drop-shadow(0 18px 10px rgba(0,0,0,.16))}
.who{display:flex;flex-direction:column;gap:14px;padding:24px}
.who h3{font-size:19px;line-height:1.25}
.who p{font-size:14px;color:var(--mut)}
.fmt{background:#fff;border:1px solid var(--ln);border-radius:var(--r);padding:32px 30px;display:flex;flex-direction:column;gap:22px}
.fmt.dark{background:var(--forest);color:#fff;border-color:var(--forest)}
.fmt-h{display:flex;justify-content:space-between;align-items:center;gap:12px}
.fmt-h b{font-size:24px;font-weight:600}
.fmt-h span{background:var(--forest);color:#fff;font-size:13px;font-weight:600;padding:8px 14px;border-radius:var(--r);white-space:nowrap}
.fmt.dark .fmt-h span{background:var(--gold);color:var(--forest)}
.fmt.dark .checks .i{color:var(--gold)}
.fmt.dark hr{border-color:rgba(255,255,255,.2)}
.fmt .checks li{font-size:15px}
.fmt-n{display:flex;gap:10px;align-items:center;font-size:14px;font-weight:600}
.fmt-n .i{color:var(--pine)}
.fmt.dark .fmt-n .i{color:var(--gold)}
.kit{display:grid;grid-template-columns:4fr 8fr;gap:48px}
.kit h2{font-size:clamp(30px,3vw,44px);margin-bottom:18px}
.kit-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 48px}
.b2b-form{display:grid;grid-template-columns:5fr 6fr;gap:48px;border-radius:var(--r);background:linear-gradient(180deg,#173B29,var(--forest));padding:48px;color:#fff}
.b2b-fl{display:flex;flex-direction:column;gap:24px;min-width:0}
.b2b-fl h2{font-size:clamp(30px,3vw,44px)}
.b2b-steps li{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.15)}
.b2b-steps li:last-child{border:0}
.b2b-steps b{color:var(--gold);font-size:14px;width:32px;flex:none;line-height:1.5}
.b2b-steps strong{display:block;font-size:16px;font-weight:600}
.b2b-steps small{font-size:14px;color:rgba(255,255,255,.7)}
.b2b-card{color:var(--black)}

/* ── окна ── */
.modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px}
.m-bg{position:absolute;inset:0;background:rgba(11,11,11,.45);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.m-box{position:relative;background:#fff;border-radius:var(--r);box-shadow:0 30px 70px rgba(0,0,0,.22);width:min(560px,100%);max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;padding:32px;display:flex;flex-direction:column;gap:20px;animation:mIn .25s ease}
@keyframes mIn{from{opacity:0;transform:translateY(12px)}}
.m-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.m-title{font-size:28px;font-weight:600;line-height:1.2;letter-spacing:-.01em}
.m-sub{font-size:14px;color:var(--mut);margin-top:6px}
.m-top{align-items:flex-start;padding-top:10vh}
.m-top .m-box{width:min(640px,100%)}
.m-drawer,.m-side{justify-content:flex-end;padding:0}
.m-drawer .m-box,.m-side .m-box{width:min(480px,100%);height:100%;max-height:none;border-radius:0;animation:dIn .3s ease}
.m-side .m-box{width:min(400px,100%)}
@keyframes dIn{from{transform:translateX(40px);opacity:0}}
.added{display:flex;gap:10px;align-items:center;background:var(--gr2);color:var(--pine);font-size:14px;font-weight:600;border-radius:14px;padding:12px 14px}
.d-lines .cl{padding:0;border:0;gap:14px;align-items:flex-start;flex-wrap:wrap}
.d-lines .cl > a img{width:72px;height:72px}
.d-lines .cl-t a{font-size:15px}
.d-lines .cl-s{width:auto;font-size:15px;margin-left:auto}
.d-lines .cl-x{display:none}
.d-lines .cl-row{display:flex;justify-content:space-between;align-items:center;width:100%;gap:12px}
.d-up{display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--ln);padding-top:16px}
.d-up:empty{display:none}
.d-up p{font-size:15px;font-weight:600}
.up-it{display:flex;gap:12px;align-items:center}
.up-it img{width:52px;height:52px;border-radius:12px;object-fit:cover;flex:none}
.up-it span{flex:1;font-size:13px;font-weight:600;line-height:1.25;min-width:0}
.up-it span small{display:block;color:var(--mut);font-weight:400}
.up-it .rb{width:32px;height:32px}
.srch{flex-direction:row;align-items:center;gap:12px;border:1px solid var(--ln);border-radius:var(--r);padding:0 16px;color:var(--mut)}
.srch input{border:0!important;height:54px;padding:0!important;font-size:17px!important;color:var(--black)}
.s-res{display:flex;flex-direction:column;gap:4px}
.s-it{display:flex;gap:14px;align-items:center;padding:8px;border-radius:14px}
.s-it:hover,.s-it:focus-visible{background:var(--soft)}
.s-it img{width:52px;height:52px;border-radius:12px;object-fit:cover;flex:none}
.s-it span{flex:1;min-width:0}
.s-it b{display:block;font-size:15px;font-weight:600}
.s-it small{font-size:12px;color:var(--mut)}
.s-it strong{font-size:14px;white-space:nowrap}
.quiz .q-t{font-size:24px;font-weight:600;margin-bottom:18px;line-height:1.25;letter-spacing:-.01em}
.q-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.q-opt{text-align:left;padding:18px;border:1px solid var(--ln);border-radius:var(--r);background:#fff;display:flex;flex-direction:column;gap:6px;transition:.15s}
.q-opt b{font-size:18px;font-weight:600}
.q-opt small{font-size:13px;color:var(--mut)}
.q-opt:hover{background:var(--forest);color:#fff;border-color:var(--forest)}
.q-opt:hover small{color:rgba(255,255,255,.6)}
.q-step[data-q="2"]{display:flex;flex-direction:column;gap:12px}
.q-step[data-q="2"] .q-t{margin-bottom:0}
.m-nav{display:flex;flex-direction:column}
.m-nav a{padding:9px 0 9px 14px;font-size:15px;color:var(--mut)}
.m-nav a.big{font-size:19px;font-weight:600;color:var(--black);padding:14px 0;border-top:1px solid var(--ln)}
.m-nav a.big:first-child{border-top:0}
.oc-item{display:flex;gap:14px;align-items:center;background:var(--soft);border-radius:var(--r);padding:12px 16px 12px 12px}
.oc-item img{width:64px;height:64px;border-radius:14px;object-fit:cover;flex:none}
.oc-item span{flex:1}
.oc-item b{display:block;font-size:16px}
.oc-item small{font-size:12px;color:var(--mut)}
.oc-item strong{font-size:16px;white-space:nowrap}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--forest);color:#fff;padding:14px 20px;border-radius:var(--r);font-size:14px;font-weight:600;z-index:200;box-shadow:0 12px 30px rgba(0,0,0,.2);max-width:calc(100% - 40px);text-align:center}

/* ── плашка cookie ── */
.cookie{position:fixed;left:16px;bottom:16px;z-index:60;max-width:560px;display:flex;align-items:center;gap:18px;background:#fff;border:1px solid var(--ln);border-radius:var(--r);padding:14px 16px 14px 22px;box-shadow:0 12px 30px rgba(0,0,0,.12)}
.cookie p{font-size:14px;line-height:1.45;flex:1}
.cookie a{color:var(--pine);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.cookie .btn{flex:none}

/* ── адаптив ── */
@media (min-width:768px){.mob-only{display:none!important}}
@media (min-width:1024px){.lt-lg{display:none!important}}
@media (max-width:1199px){
 .nav{gap:22px}
 .hdr-call{display:none}
 .mk{gap:48px}
 .mk-row{grid-template-columns:1fr 150px 130px 70px;gap:16px}
 .mk-u{font-size:24px}
 .f-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .f-brand{grid-column:1/-1;padding-right:0;max-width:560px}
}
@media (max-width:1023px){
 :root{--top:96px}
 .nav{display:none}
 .burger{display:inline-flex}
 .hero{grid-template-columns:1fr;gap:28px}
 .hero-l{gap:24px}
 .hero-ph{max-width:640px}
 .bento{grid-template-columns:1fr}
 .cat.big{min-height:420px}
 .rooms{grid-template-columns:repeat(2,minmax(0,1fr))}
 .mk,.ndl,.faq,.kit,.doc,.req,.b2b-form{grid-template-columns:1fr}
 .ndl-ph{height:480px}
 .grid4{grid-template-columns:repeat(3,minmax(0,1fr))}
 .stps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}
 .cat-l{grid-template-columns:1fr}
 .cat-f{position:fixed;inset:0;z-index:90;border-radius:0;border:0;overflow-y:auto;padding:20px 20px calc(20px + env(safe-area-inset-bottom));transform:translateX(-100%);transition:transform .3s;visibility:hidden}
 .cat-f.open{transform:none;visibility:visible}
 .pd,.pd-lg,.cart-l{grid-template-columns:1fr}
 .pd-i,.sum{position:static}
 .g-main{height:auto;aspect-ratio:4/5}
 .g-ths{display:none}
 .pd-dl{grid-template-columns:1fr}
 .b2b-hero{grid-template-columns:1fr;padding:32px}
 .b2b-st{min-height:380px}
 .doc-img{max-width:420px}
}
@media (max-width:767px){
 :root{--g:10px;--top:84px}
 body{font-size:15px}
 .wrap{padding-left:20px;padding-right:20px}
 .sec{padding-top:56px;padding-bottom:56px}
 .hdr{margin-top:12px;top:10px;padding:0 12px}
 .hdr-in{height:64px;padding:0 10px 0 16px}
 .hdr-r .rb{width:40px;height:40px}
 .hdr-r [data-open="search"]{display:none}
 .logo .mark{width:30px;height:30px}
 .logo b{font-size:16px}
 .hero{padding-top:24px;padding-bottom:40px}
 .hero h1{font-size:40px;line-height:1.1}
 .minis{display:none}
 .hero-b .lead{font-size:16px}
 .cta{max-width:none}
 .btn-p3.big{height:64px;padding:0 20px}
 .b-r{padding-left:14px;gap:8px}
 .hfacts{flex-direction:column;gap:10px}
 .hc-card{top:auto;bottom:14px;right:14px;padding:8px 8px 8px 12px}
 .hc-card .th,.hc-card small{display:none}
 .hc-card b{font-size:14px;margin:0 0 3px}
 .hc-card strong{font-size:16px}
 .hc-card .rb{width:36px;height:36px}
 .hc-tip{display:none}
 .sec-adv{padding-top:40px}
 .adv-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}
 .adv h3{font-size:16px}
 .shead{margin-bottom:28px}
 .shead > .btn{display:none}
 h2{font-size:32px}
 .sec-cat{padding-top:24px}
 .bento-r{grid-template-columns:1fr;gap:10px}
 .bento{gap:10px}
 .cat,.cat.big{min-height:220px}
 .cat.big{min-height:300px}
 .cat-t b,.cat.big .cat-t b{font-size:20px}
 .sec-hits{padding-top:40px}
 .grid4,.grid3{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 10px}
 .pc{gap:10px}
 .pc-t h3{font-size:16px}
 .pc-b b{font-size:19px}
 .pc-b .rb{width:40px;height:40px}
 .badge{top:10px;left:10px;height:26px;font-size:11px;padding:0 10px}
 .sec-mood{padding-top:64px;padding-bottom:64px}
 .rooms{grid-template-columns:repeat(2,minmax(0,1fr))}
 .rooms > :first-child{grid-column:1/-1;aspect-ratio:auto;height:420px}
 .room-c{left:8px;right:8px;bottom:8px;padding:8px 8px 8px 12px}
 .room-c b{font-size:13px}
 .room-c small{display:none}
 .room-c .rb{width:32px;height:32px}
 .rooms > :first-child .room-c small{display:block}
 .room-cta{grid-column:1/-1}
 .mk{gap:24px}
 .mk-row{grid-template-columns:1fr auto auto;gap:6px 12px;padding:20px 0}
 .mk-n{grid-column:1/-1;font-size:16px}
 .mk-m{font-size:15px}
 .mk-u{font-size:20px}
 .stage{height:230px}
 .hgts{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 10px}
 .hgt > b{font-size:22px}
 .ceil span{left:6px;font-size:11px}
 .hint{font-size:14px;margin-top:28px}
 .ndl{gap:28px}
 .ndl-ph{height:380px}
 .ndl-mini{grid-template-columns:1fr}
 .ndl-mini img{display:none}
 .dls{grid-template-columns:1fr;gap:28px}
 .sec-dl{padding-top:24px}
 .sec-dl hr{margin:32px 0}
 .stps{grid-template-columns:1fr;gap:18px}
 .faq{gap:24px}
 .qa{padding:18px 20px}
 .qa summary{font-size:16px}
 .ftr{padding:48px 0 32px}
 .f-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 10px}
 .f-bot{flex-direction:column;gap:6px;margin-top:32px}
 .crumbs{padding-top:20px}
 .cat-pg,.cart-pg,.co,.info{padding-bottom:64px}
 .cat-h{margin-bottom:16px}
 .types{margin-bottom:18px;margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}
 .cat-bar{gap:10px;margin-bottom:20px}
 .cat-bar .btn{flex:1}
 .sort{flex:1;justify-content:center}
 .sort span{display:none}
 .act{order:3;flex-basis:100%}
 .help{flex-direction:column;align-items:flex-start;padding:20px}
 .help .btn{width:100%}
 .pd{gap:24px;padding-bottom:40px}
 .pd h1{font-size:32px}
 .hrow{padding:6px 14px;gap:10px}
 .hrow b{width:58px}
 .pd-low{padding-top:48px;padding-bottom:48px}
 .specs .sp-r,.req .sp-r,.legal .sp-r{grid-template-columns:130px minmax(0,1fr)}
 .tabs{gap:24px}
 body.pg-pdp,body.pg-cart{padding-bottom:76px}
 .cl{flex-wrap:wrap;gap:14px;padding:16px;position:relative}
 .cl > a img{width:84px;height:84px}
 .cl-t{flex-basis:calc(100% - 100px);padding-right:36px}
 .cl-t a{font-size:15px}
 .cl-x{position:absolute;top:10px;right:10px}
 .cl-s{margin-left:auto;width:auto;font-size:17px}
 .co-hdr .safe{display:none}
 .step{padding:20px}
 .step legend{font-size:18px}
 .two{grid-template-columns:1fr;gap:18px}
 .flt .two{grid-template-columns:1fr 1fr;gap:10px}
 .ord-c{padding:28px 20px}
 .two-c,.three-c,.cont{grid-template-columns:1fr;gap:12px}
 .card{padding:20px}
 .doc{padding:20px;gap:24px}
 .map{height:320px}
 .b2b-hero{padding:24px;min-height:0}
 .b2b-f b{font-size:22px}
 .b2b-st{min-height:280px}
 .b2b-st img{bottom:20px}
 .kit-g{grid-template-columns:1fr 1fr;gap:24px 12px}
 .b2b-form{padding:24px;gap:28px}
 .b2b-card{padding:20px}
 .modal{padding:0;align-items:flex-end}
 .m-box{width:100%;max-height:92vh;max-height:92dvh;border-radius:var(--r) var(--r) 0 0;padding:24px 20px calc(24px + env(safe-area-inset-bottom));animation:sIn .3s ease}
 @keyframes sIn{from{transform:translateY(40px);opacity:0}}
 .m-top{padding-top:0}
 .m-drawer .m-box,.m-side .m-box{width:100%;height:auto;max-height:92vh;max-height:92dvh;border-radius:var(--r) var(--r) 0 0}
 .m-title{font-size:22px}
 .cookie{left:10px;right:10px;bottom:10px;max-width:none;flex-direction:column;align-items:stretch;gap:12px;padding:14px 16px}
 body.pg-pdp .cookie,body.pg-cart .cookie{bottom:calc(84px + env(safe-area-inset-bottom))}
 .q-opt{padding:14px}
 .q-opt b{font-size:16px}
 .quiz .q-t{font-size:20px}
}
@media (max-width:380px){
 .hero h1{font-size:34px}
 .b-l small{display:none}
 .pc-b b{font-size:17px}
 .hp{padding:0 8px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ── отзывы ── */
.fld select{height:52px;border:1px solid var(--ln);border-radius:var(--r);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230F2D1F' stroke-width='1.8'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center;padding:0 44px 0 18px;font-size:15px;font-weight:400;width:100%;outline:none;appearance:none;-webkit-appearance:none}
.fld select:focus{border-color:var(--pine)}
.stars-in{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px}
.stars-in input{position:absolute;opacity:0;width:1px;height:1px}
.stars-in label{color:var(--ln);cursor:pointer;transition:color .15s;line-height:0}
.stars-in input:checked ~ label,.stars-in label:hover,.stars-in label:hover ~ label{color:var(--gold)}
.stars-in input:focus-visible + label{outline:2px solid var(--pine);outline-offset:2px;border-radius:4px}
.rv-st{display:inline-flex;gap:2px;color:var(--ln)}
.rv-st i{display:inline-flex}
.rv-st i.on{color:var(--gold)}
.rv-sec .shead{align-items:flex-end}
.rv-badge{display:flex;align-items:center;gap:12px}
.rv-bi{width:44px;height:44px;border-radius:50%;background:var(--forest);color:var(--gold);display:flex;align-items:center;justify-content:center;flex:none}
.rv-bi .i{width:20px;height:20px}
.rv-badge b{display:block;font-size:22px;font-weight:700;line-height:1}
.rv-badge small{display:block;font-size:13px;color:var(--mut);font-weight:500;margin-top:4px}
.rv-home{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--g)}
.rv-ph{border-radius:var(--r);overflow:hidden;min-height:330px;background:var(--soft)}
.rv-ph img{width:100%;height:100%;object-fit:cover}
.rv-list{grid-column:span 2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--g)}
.rv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--g);align-items:start}
.rv{background:#fff;border:1px solid var(--ln);border-radius:var(--r);padding:28px 26px;display:flex;flex-direction:column;gap:18px;min-width:0}
.rv-home .rv{min-height:330px}
.rv-h{display:flex;justify-content:space-between;align-items:center;gap:10px}
.rv-v{font-size:12px;font-weight:600;color:var(--pine);background:var(--gr2);height:26px;padding:0 10px;border-radius:13px;display:inline-flex;align-items:center}
.rv-t{font-size:16px;line-height:1.55;color:var(--black);flex:1;overflow-wrap:anywhere}
.rv-home .rv-t{display:-webkit-box;-webkit-line-clamp:8;-webkit-box-orient:vertical;overflow:hidden}
.rv-reply{background:var(--soft);border-radius:12px;padding:12px 14px;font-size:14px}
.rv-reply b{display:block;font-size:12px;color:var(--pine);margin-bottom:4px}
.rv-reply p{color:var(--mut)}
.rv-a{display:flex;align-items:center;gap:12px}
.rv-av{width:40px;height:40px;border-radius:50%;background:var(--soft);color:var(--pine);font-weight:700;display:flex;align-items:center;justify-content:center;flex:none}
.rv-a b{display:block;font-size:15px;font-weight:600;line-height:1.2}
.rv-a small{display:block;font-size:12px;color:var(--mut);margin-top:3px}
.rv-a small a{color:var(--pine);text-decoration:underline;text-underline-offset:2px}
.rv-empty{grid-column:1/-1;background:#fff;border:1px dashed var(--beige);border-radius:var(--r);padding:36px 32px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:14px}
.rv-empty p:not(.ok-t){color:var(--mut);max-width:520px}
.rv-more{margin-top:28px}
.pd-rate{display:inline-flex;align-items:center;gap:10px;margin-top:-8px;font-size:13px;color:var(--mut);font-weight:500}
.pd-rate b{color:var(--black);font-size:14px}
.tabs a i{font-style:normal;color:var(--mut);font-weight:500}
.rv-pd{scroll-margin-top:var(--top)}
.rv-pd .shead{margin-bottom:28px}
.rv-pd .h2s{margin-bottom:0}
.rv-top{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.rv-top h1{margin-bottom:12px}
.rv-top .lead{max-width:640px}
.rv-sum{display:flex;align-items:center;gap:14px}
.rv-sum > b{font-size:56px;font-weight:700;line-height:1;letter-spacing:-.02em}
.rv-sum small{display:block;font-size:13px;color:var(--mut);margin-top:6px}
.rv-top-btn{margin:24px 0 32px}
@media (max-width:1023px){.rv-home{grid-template-columns:1fr 1fr}.rv-ph{display:none}.rv-list{grid-column:1/-1}.rv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){
 .rv-list,.rv-grid{grid-template-columns:1fr;gap:10px}.rv-home{grid-template-columns:1fr}.rv-ph{display:block;min-height:240px;height:240px}
 .rv-home .rv{min-height:0}.rv{padding:22px 20px}.rv-sec .shead{flex-direction:column;align-items:flex-start}.rv-sec .shead > .rv-badge{display:flex}
 .rv-empty{padding:26px 22px}.rv-sum > b{font-size:44px}.rv-pd .shead > .btn{display:inline-flex}.rv-pd .shead{flex-direction:column;align-items:flex-start}
 .stars-in label svg{width:32px;height:32px}
}
