@font-face{font-family:Oswald;font-weight:500;font-display:swap;src:url(/fonts/oswald-cyrillic-500-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Oswald;font-weight:500;font-display:swap;src:url(/fonts/oswald-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Oswald;font-weight:700;font-display:swap;src:url(/fonts/oswald-cyrillic-700-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Oswald;font-weight:700;font-display:swap;src:url(/fonts/oswald-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;font-weight:400;font-display:swap;src:url(/fonts/inter-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Inter;font-weight:400;font-display:swap;src:url(/fonts/inter-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;font-weight:600;font-display:swap;src:url(/fonts/inter-cyrillic-600-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Inter;font-weight:600;font-display:swap;src:url(/fonts/inter-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --bg:#0b0b0c; --surface:#141416; --surface-2:#1c1c1f; --line:#2a2a2e;
  --text:#f2efec; --muted:#a29d98; --red:#d4141c; --red-hover:#ef2a32; --red-deep:#7d0b10;
  --ok:#3fbf7f; --warn:#e8b13a;
  --font-head:Oswald,"Arial Narrow",Impact,sans-serif; --font-body:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --gut:16px; --max:1320px; --hdr-h:60px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:400 15px/1.55 var(--font-body);min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}
img,video{max-width:100%;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.03em;line-height:1.15;margin:0 0 .6em;font-weight:700}
h1{font-size:clamp(1.8rem,5vw,3rem)} h2{font-size:clamp(1.4rem,3.6vw,2rem)} h3{font-size:1.1rem}
p{margin:0 0 1em}
:focus-visible{outline:2px solid var(--red-hover);outline-offset:2px}
[hidden]{display:none!important}
.skip{position:absolute;left:-999px;top:0;background:var(--red);color:#fff;padding:.6rem 1rem;z-index:300}
.skip:focus{left:0}
main{flex:1;width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gut) 3rem;outline:none}
.muted{color:var(--muted)} .center{text-align:center} .mt{margin-top:1.5rem}
.soon{font-style:normal;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--warn);border:1px solid var(--warn);padding:0 .35rem;margin-left:.3rem;border-radius:2px}

/* кнопки и формы */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:46px;padding:.65rem 1.4rem;border:1px solid var(--text);background:transparent;color:var(--text);font:600 .85rem var(--font-body);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s,color .15s}
.btn:hover{background:var(--text);color:var(--bg)}
.btn--red{background:var(--red);border-color:var(--red);color:#fff}
.btn--red:hover{background:var(--red-hover);border-color:var(--red-hover);color:#fff}
.btn--block{width:100%} .btn--sm{min-height:36px;padding:.4rem .9rem;font-size:.75rem}
.btn[disabled]{opacity:.45;cursor:not-allowed;pointer-events:none}
.linklike{background:none;border:0;padding:0;cursor:pointer;color:inherit;text-align:left}
.linklike:hover{color:var(--red-hover)}
.icon-btn{position:relative;background:none;border:0;color:var(--text);width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none}
.icon-btn:hover{color:var(--red-hover)}
.badge{position:absolute;top:4px;right:2px;min-width:18px;height:18px;padding:0 4px;background:var(--red);color:#fff;font:600 11px/18px var(--font-body);text-align:center;border-radius:9px}
input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=color]):not([type=range]),select,textarea{width:100%;min-height:46px;padding:.6rem .85rem;background:var(--surface);border:1px solid var(--line);border-radius:0;color:var(--text)}
textarea{min-height:90px;resize:vertical}
input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{border-color:var(--red-hover);outline:none}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:2rem}
label.f{display:block;margin-bottom:.9rem}
label.f>span{display:block;font-size:.8rem;color:var(--muted);margin-bottom:.25rem}
.check{display:flex;gap:.6rem;align-items:flex-start;font-size:.85rem;color:var(--muted);margin:.6rem 0;cursor:pointer}
.check input{margin-top:.2rem;accent-color:var(--red);width:18px;height:18px;flex:none}
.check a{color:var(--text)}
.err{color:#ff6b6b;font-size:.85rem;margin:.4rem 0}
.ok-msg{color:var(--ok);font-size:.9rem}
.row{display:grid;gap:0 1rem;grid-template-columns:1fr}
.alert{border:1px solid var(--warn);background:rgba(232,177,58,.08);padding:.8rem 1rem;margin:0 0 1rem;font-size:.9rem}

/* шапка */
.hdr{position:sticky;top:0;z-index:100;border-bottom:1px solid var(--line)}
/* размытие вынесено на подложку: backdrop-filter на самой шапке делает её «рамкой» для position:fixed и схлопывает мобильное меню */
.hdr::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(11,11,12,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none}
.hdr__top{display:flex;align-items:center;gap:.25rem;height:var(--hdr-h);padding:0 .5rem;max-width:var(--max);margin:0 auto}
.logo{display:block;height:40px;margin:0 auto 0 .25rem;flex:none}
.logo img{height:100%;width:auto;aspect-ratio:1200/407;object-fit:contain}
.hdr__tools{display:flex;align-items:center;margin-left:auto}
.cart-btn{width:auto;padding:0 .5rem;gap:.4rem}
.cart-btn__sum{display:none;font-size:.85rem;font-weight:600}
.nav{position:fixed;inset:var(--hdr-h) 0 0 0;background:var(--bg);display:none;flex-direction:column;padding:1rem var(--gut);overflow:auto;z-index:99}
.nav.open{display:flex}
.nav a{font:700 1.5rem var(--font-head);text-transform:uppercase;text-decoration:none;padding:.8rem 0;border-bottom:1px solid var(--line);letter-spacing:.04em}
.nav a.active{color:var(--red-hover)} .nav__sale{color:var(--red-hover)}
.search{border-top:1px solid var(--line);padding:.6rem var(--gut);position:relative;max-width:var(--max);margin:0 auto}
.suggest{position:absolute;left:var(--gut);right:var(--gut);top:100%;background:var(--surface);border:1px solid var(--line);z-index:5;max-height:70vh;overflow:auto}
.suggest a{display:flex;gap:.75rem;align-items:center;padding:.6rem .8rem;text-decoration:none;border-bottom:1px solid var(--line)}
.suggest a:hover,.suggest a:focus{background:var(--surface-2)}
.suggest img,.suggest .ph{width:44px;height:56px;object-fit:cover;flex:none}
.suggest .empty{padding:.8rem;color:var(--muted)}

/* заглушки изображений */
.ph{position:relative;background:radial-gradient(120% 90% at 50% 20%,#2a0b0e,#0f0f11 70%);display:flex;align-items:center;justify-content:center;overflow:hidden}
.ph img,.tile__img .ph img,.gallery__main .ph img,.line__img .ph img,.suggest .ph img{position:static;width:48%;height:auto;inset:auto;opacity:.32;object-fit:contain;aspect-ratio:auto}
.suggest .ph img{width:70%}

/* герой */
.hero{position:relative;isolation:isolate;margin:0 calc(var(--gut)*-1);display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(90% 80% at 50% 25%,#3a0b0f,#0b0b0c 70%)}
.hero__bg{position:absolute;left:50%;top:150px;width:min(100%,640px);height:auto;transform:translate(-50%,-50%);opacity:.14;pointer-events:none;z-index:0}
.hero__mascot{order:-1;align-self:center;height:300px;width:auto;margin-top:1.2rem;object-fit:contain;filter:drop-shadow(0 0 30px rgba(212,20,28,.35));position:relative;z-index:2}
.hero__txt{position:relative;padding:2rem var(--gut) 2.5rem;max-width:560px;z-index:2}
.hero__txt h1{margin-bottom:.4em}
.hero__txt p{color:var(--muted);max-width:30ch}
.hero__btns{display:flex;gap:.7rem;flex-wrap:wrap}
.section{margin-top:2.5rem}
.section__head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.section__head a{color:var(--muted);font-size:.85rem}
.cats{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.cat{position:relative;aspect-ratio:4/3;display:flex;align-items:flex-end;padding:1rem;text-decoration:none;background:linear-gradient(160deg,#2a0b0e,#111);border:1px solid var(--line);font:700 1.3rem var(--font-head);text-transform:uppercase;letter-spacing:.05em;overflow:hidden}
.cat:hover{border-color:var(--red)}
.cat img{position:absolute;right:-8%;top:5%;width:56%;height:auto;opacity:.3;transform-origin:60% 50%;transition:transform .3s ease,opacity .3s ease,filter .3s ease}
.cat:hover img,.cat:focus-visible img{transform:scale(1.14);opacity:.6;filter:brightness(1.35) saturate(1.1)}
.cat span{position:relative}
.usp{display:grid;gap:.6rem;grid-template-columns:1fr 1fr;margin-top:2.5rem}
.usp div{border:1px solid var(--line);padding:1rem;background:var(--surface)}
.usp b{display:block;font:700 1rem var(--font-head);text-transform:uppercase;margin-bottom:.2rem}
.usp span{color:var(--muted);font-size:.85rem}

/* каталог */
.crumbs{font-size:.8rem;color:var(--muted);padding:1rem 0 .5rem}
.crumbs a{color:var(--muted)}
.cat-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.cat-head h1{margin:0}
.toolbar{display:flex;gap:.6rem;align-items:center;margin-bottom:1rem}
.toolbar select{min-height:42px;flex:1}
.toolbar .btn{flex:none;min-height:42px}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem .7rem}
.tile{position:relative;display:flex;flex-direction:column;min-width:0}
.tile__img{position:relative;aspect-ratio:3/4;background:var(--surface);overflow:hidden;display:block}
.tile__img img,.tile__img video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .25s}
.tile__img .alt{opacity:0}
@media(hover:hover){.tile:hover .tile__img .alt{opacity:1}}
.tile__flags{position:absolute;left:.5rem;top:.5rem;display:flex;flex-direction:column;gap:.25rem;z-index:2}
.flag{background:var(--text);color:var(--bg);font:600 .68rem var(--font-body);text-transform:uppercase;letter-spacing:.06em;padding:.15rem .45rem}
.flag--sale{background:var(--red);color:#fff} .flag--pre{background:var(--warn);color:#111}
.tile__fav{position:absolute;right:.2rem;top:.2rem;z-index:2;color:#fff;filter:drop-shadow(0 1px 3px #000)}
.tile__fav.on svg{fill:var(--red);stroke:var(--red)}
.tile__acts{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;gap:1px;opacity:0;transform:translateY(6px);transition:.2s}
@media(hover:hover){.tile:hover .tile__acts,.tile:focus-within .tile__acts{opacity:1;transform:none}}
@media(hover:none){.tile__acts{opacity:1;transform:none;position:static;margin-top:.3rem}}
.tile__acts button{flex:1;min-height:36px;background:rgba(11,11,12,.88);border:0;color:var(--text);font:600 .72rem var(--font-body);text-transform:uppercase;letter-spacing:.05em;cursor:pointer}
@media(hover:none){.tile__acts button{background:var(--surface-2)}}
.tile__acts button:hover{background:var(--red)}
.tile__name{margin:.6rem 0 .1rem;font-size:.9rem;text-decoration:none;line-height:1.3}
.tile__price{font-weight:600}
.price-old{color:var(--muted);text-decoration:line-through;font-weight:400;margin-left:.4rem;font-size:.85em}
.price-sale{color:var(--red-hover)}
.tile__colors{display:flex;gap:.25rem;margin-top:.3rem}
.dot{width:12px;height:12px;border-radius:50%;border:1px solid var(--line);display:inline-block}
.empty-state{text-align:center;padding:3rem 1rem}
.empty-state img{height:200px;width:auto;margin:0 auto 1rem}
.more{text-align:center;margin-top:2rem}

/* фильтры */
.filters{position:fixed;inset:0;z-index:150;background:var(--bg);display:none;flex-direction:column}
.filters.open{display:flex}
.filters__head{display:flex;justify-content:space-between;align-items:center;padding:.8rem var(--gut);border-bottom:1px solid var(--line)}
.filters__body{flex:1;overflow:auto;padding:1rem var(--gut)}
.filters__foot{padding:.8rem var(--gut);border-top:1px solid var(--line);display:flex;gap:.6rem}
.fgroup{border-bottom:1px solid var(--line);padding:.9rem 0}
.fgroup h4{font-size:.9rem;margin:0 0 .6rem}
.chips{display:flex;flex-wrap:wrap;gap:.4rem}
.chip{min-width:44px;min-height:38px;padding:.3rem .8rem;border:1px solid var(--line);background:transparent;cursor:pointer;font-size:.85rem;display:inline-flex;align-items:center;gap:.4rem}
.chip:hover{border-color:var(--text)}
.chip.on{background:var(--text);color:var(--bg);border-color:var(--text)}
.chip[disabled]{opacity:.35;text-decoration:line-through;cursor:not-allowed}
.chip .dot{width:14px;height:14px}
.pricerange{display:flex;gap:.5rem;align-items:center}
.pricerange input{min-width:0;padding:.6rem .5rem}

/* карточка товара */
.pdp{display:grid;gap:1.5rem;padding-top:.5rem}
.gallery{position:relative}
.gallery__main{position:relative;aspect-ratio:3/4;background:var(--surface);overflow:hidden;cursor:zoom-in;touch-action:pan-y}
.gallery__main img,.gallery__main video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gallery__main.zoom img{transform:scale(2.2);cursor:zoom-out}
.gallery__thumbs{display:flex;gap:.4rem;margin-top:.5rem;overflow:auto;padding-bottom:.2rem}
.gallery__thumbs button{flex:none;width:64px;aspect-ratio:3/4;padding:0;border:1px solid var(--line);background:var(--surface);cursor:pointer;position:relative;overflow:hidden}
.gallery__thumbs button.on{border-color:var(--red-hover)}
.gallery__thumbs img{width:100%;height:100%;object-fit:cover}
.gallery__thumbs .tag{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:700 .75rem var(--font-head);background:var(--surface-2)}
.pdp__info h1{font-size:clamp(1.5rem,4vw,2.2rem)}
.pdp__price{font:700 1.6rem var(--font-head);margin-bottom:1rem}
.pdp__label{display:flex;justify-content:space-between;align-items:center;margin:1.1rem 0 .5rem;font-size:.85rem;color:var(--muted)}
.pdp__buy{display:grid;gap:.6rem;margin:1.4rem 0}
.pdp__meta{border-top:1px solid var(--line);margin-top:1.5rem}
.pdp__meta details{border-bottom:1px solid var(--line);padding:.9rem 0}
.pdp__meta summary{cursor:pointer;font:700 .95rem var(--font-head);text-transform:uppercase;letter-spacing:.04em;list-style:none}
.pdp__meta summary::after{content:"+";float:right}
.pdp__meta details[open] summary::after{content:"–"}
.pdp__meta p{margin:.7rem 0 0;color:var(--muted)}
.presale-note{border:1px solid var(--warn);color:var(--warn);padding:.6rem .8rem;font-size:.85rem;margin-bottom:1rem}
.stock-note{font-size:.8rem;color:var(--muted);margin-top:.4rem}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.95);z-index:220;display:flex;align-items:center;justify-content:center}
.lightbox img{max-height:96vh;max-width:96vw;object-fit:contain}
model-viewer{width:100%;height:min(70vh,520px);background:var(--surface);--poster-color:transparent}

/* корзина */
.drawer-shade{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:180}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:var(--bg);border-left:1px solid var(--line);z-index:190;transform:translateX(100%);transition:transform .25s;display:flex;flex-direction:column;visibility:hidden}
.drawer.open{transform:none;visibility:visible}
.drawer__head{display:flex;justify-content:space-between;align-items:center;padding:.8rem var(--gut);border-bottom:1px solid var(--line)}
.drawer__head h2{margin:0;font-size:1.2rem}
.drawer__body{flex:1;overflow:auto;padding:0 var(--gut)}
.drawer__foot{padding:1rem var(--gut);border-top:1px solid var(--line)}
.line{display:grid;grid-template-columns:72px 1fr;gap:.8rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.line__img{aspect-ratio:3/4;background:var(--surface);overflow:hidden}
.line__img img{width:100%;height:100%;object-fit:cover}
.line__name{font-size:.9rem;text-decoration:none;display:block;line-height:1.3}
.line__opts{font-size:.8rem;color:var(--muted);margin:.15rem 0 .5rem}
.line__row{display:flex;justify-content:space-between;align-items:center;gap:.5rem}
.qty{display:inline-flex;border:1px solid var(--line)}
.qty button{width:34px;height:34px;background:none;border:0;cursor:pointer;font-size:1.1rem}
.qty button:hover{background:var(--surface-2)}
.qty span{min-width:30px;text-align:center;line-height:34px}
.rm{background:none;border:0;color:var(--muted);cursor:pointer;font-size:.8rem;text-decoration:underline;padding:.3rem}
.sumrow{display:flex;justify-content:space-between;padding:.25rem 0}
.sumrow--total{font:700 1.3rem var(--font-head);border-top:1px solid var(--line);margin-top:.4rem;padding-top:.7rem}
.promo{display:flex;gap:.4rem;margin:.8rem 0}
.promo input{text-transform:uppercase}
.cart-page{display:grid;gap:1.5rem}
.box{border:1px solid var(--line);background:var(--surface);padding:1rem}

/* оформление заказа */
.checkout{display:grid;gap:1.5rem}
.step{margin-bottom:1.5rem}
.step h2{font-size:1.15rem;display:flex;align-items:center;gap:.6rem}
.step h2 i{font:700 .9rem var(--font-head);font-style:normal;background:var(--red);width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}
.opts{display:grid;gap:.5rem}
.opt{display:flex;gap:.7rem;align-items:flex-start;border:1px solid var(--line);padding:.8rem;cursor:pointer;background:var(--surface)}
.opt:hover{border-color:var(--muted)}
.opt:has(input:checked){border-color:var(--red-hover);background:#1a0e0f}
.opt input{margin-top:.25rem;accent-color:var(--red);flex:none}
.opt b{display:block} .opt small{color:var(--muted);display:block}
.opt__price{margin-left:auto;font-weight:600;white-space:nowrap}
.mapbox{border:1px dashed var(--line);padding:1rem;text-align:center;color:var(--muted);margin:.6rem 0;font-size:.85rem}
.pay-box{border:1px solid var(--line);background:var(--surface);padding:1rem;margin:1rem 0}
.pay-box dl{display:grid;grid-template-columns:1fr;gap:0;margin:0}
.pay-box dt{color:var(--muted);font-size:.8rem;margin-top:.7rem} .pay-box dd{margin:0;word-break:break-all;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.copy{background:none;border:1px solid var(--line);color:var(--muted);font-size:.7rem;padding:.1rem .5rem;cursor:pointer}
.copy:hover{color:var(--text);border-color:var(--text)}

/* кабинет */
.tabs{display:flex;gap:.3rem;overflow:auto;border-bottom:1px solid var(--line);margin-bottom:1.2rem}
.tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:.7rem .9rem;cursor:pointer;font:700 .95rem var(--font-head);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);white-space:nowrap}
.tabs button.on{color:var(--text);border-color:var(--red-hover)}
.ord{border:1px solid var(--line);background:var(--surface);padding:1rem;margin-bottom:.8rem}
.ord__head{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}
.status{display:inline-block;padding:.1rem .6rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--muted);color:var(--muted)}
.status--paid,.status--packing{border-color:var(--ok);color:var(--ok)}
.status--shipped{border-color:var(--warn);color:var(--warn)}
.status--delivered{border-color:var(--ok);background:var(--ok);color:#06180e}
.status--cancelled{border-color:#a33;color:#ff6b6b}
.bonus-card{background:linear-gradient(120deg,#2a0b0e,#141416);border:1px solid var(--red-deep);padding:1.2rem;margin-bottom:1.2rem}
.bonus-card b{font:700 2.2rem var(--font-head);display:block}
.auth{max-width:440px;margin:1rem auto}
.auth .tabs{margin-bottom:1rem}

/* страницы */
.prose{max-width:760px}
.prose h2{margin-top:1.8em;font-size:1.2rem}
.legal-draft{border:1px solid var(--warn);color:var(--warn);padding:.6rem .8rem;font-size:.85rem}
.table{width:100%;border-collapse:collapse;font-size:.9rem}
.table th,.table td{text-align:left;padding:.55rem .6rem;border-bottom:1px solid var(--line)}
.table th{color:var(--muted);font-weight:600;font-size:.8rem}

/* подвал */
.ftr{border-top:1px solid var(--line);background:#080809;margin-top:3rem}
.ftr__grid{max-width:var(--max);margin:0 auto;padding:2rem var(--gut);display:grid;gap:1.8rem;grid-template-columns:1fr 1fr}
.ftr h3{font-size:.95rem;margin-bottom:.8rem}
.ftr ul{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}
.ftr a,.ftr .linklike{text-decoration:none;color:var(--muted);font-size:.9rem}
.ftr a:hover{color:var(--text)}
.ftr__sub{grid-column:1/-1}
.ftr__sub form{display:grid;gap:.5rem;max-width:420px}
.ftr__bottom{border-top:1px solid var(--line);padding:1rem var(--gut);text-align:center;font-size:.78rem;color:var(--muted)}
.social{display:flex;gap:.5rem;flex-wrap:wrap}
.social a{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--line);padding:.45rem .8rem;font-size:.85rem;color:var(--text)}
.social a:hover{border-color:var(--red-hover);color:var(--text)}
.pay-badges{display:flex;gap:.4rem;flex-wrap:wrap}
.pay-badges span{border:1px solid var(--line);padding:.25rem .6rem;font:700 .8rem var(--font-head);letter-spacing:.04em;color:var(--muted)}

/* всплывающие элементы */
.modal{position:fixed;inset:0;z-index:210;background:rgba(0,0,0,.75);display:flex;align-items:flex-end;justify-content:center;overflow:auto}
.modal__box{position:relative;background:var(--bg);border:1px solid var(--line);width:100%;max-width:560px;max-height:92vh;overflow:auto;padding:1.4rem var(--gut) 1.6rem}
.modal__box.wide{max-width:900px}
.modal__x{position:absolute;right:.4rem;top:.4rem}
.guide{text-align:center}
.guide img{height:180px;width:auto;margin:0 auto 1rem}
.guide__dots{display:flex;gap:.4rem;justify-content:center;margin:1rem 0}
.guide__dots i{width:8px;height:8px;border-radius:50%;background:var(--line)} .guide__dots i.on{background:var(--red-hover)}
.help-btn{position:fixed;right:14px;bottom:14px;z-index:120;width:46px;height:46px;border-radius:50%;background:var(--red);border:0;color:#fff;font:700 1.3rem var(--font-head);cursor:pointer;box-shadow:0 4px 18px rgba(0,0,0,.5)}
.help-btn:hover{background:var(--red-hover)}
.toasts{position:fixed;left:0;right:0;bottom:70px;z-index:250;display:flex;flex-direction:column;align-items:center;gap:.5rem;pointer-events:none;padding:0 var(--gut)}
.toast{background:var(--text);color:var(--bg);padding:.7rem 1.1rem;font-weight:600;font-size:.9rem;max-width:420px;animation:tin .2s}
.toast--err{background:#ff6b6b;color:#200}
@keyframes tin{from{opacity:0;transform:translateY(8px)}}
.cookie{position:fixed;left:var(--gut);right:var(--gut);bottom:70px;z-index:230;background:var(--surface-2);border:1px solid var(--line);padding:.9rem;display:flex;gap:1rem;align-items:center;flex-wrap:wrap;max-width:720px;font-size:.82rem}
.cookie p{margin:0;flex:1 1 240px;color:var(--muted)}
.skeleton{background:linear-gradient(90deg,var(--surface),var(--surface-2),var(--surface));background-size:200% 100%;animation:sk 1.2s infinite;min-height:200px}
@keyframes sk{to{background-position:-200% 0}}
.spin{padding:3rem;text-align:center;color:var(--muted)}

/* ---------- планшет и компьютер ---------- */
@media(min-width:720px){
  :root{--gut:28px}
  .grid{grid-template-columns:repeat(3,1fr);gap:2rem 1rem}
  .cats{grid-template-columns:repeat(4,1fr)} .usp{grid-template-columns:repeat(4,1fr)}
  .row{grid-template-columns:1fr 1fr}
  .ftr__grid{grid-template-columns:repeat(4,1fr)} .ftr__sub{grid-column:auto}
  .modal{align-items:center} .modal__box{padding:1.8rem}
  .help-btn{right:24px;bottom:24px}
  .toasts,.cookie{bottom:24px} .cookie{left:24px;right:auto}
}
@media(min-width:1024px){
  :root{--hdr-h:72px}
  .logo{height:46px;margin:0 1.5rem 0 .5rem}
  .hdr__top{padding:0 var(--gut)}
  .hdr__top>#burger{display:none}
  .nav{position:static;display:flex;flex-direction:row;padding:0;overflow:visible;gap:1.6rem;background:none;margin-right:auto}
  .nav a{font-size:1rem;padding:.4rem 0;border:0;position:relative}
  .nav a.active::after,.nav a:hover::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--red)}
  .cart-btn__sum{display:inline}
  .hero{display:grid;align-items:end;min-height:600px;margin:0 calc(var(--gut)*-1);background:radial-gradient(26% 52% at 69% 66%,rgba(212,20,28,.16),rgba(212,20,28,0) 100%),radial-gradient(90% 80% at 70% 30%,#3a0b0f,#0b0b0c 70%)}
  .hero{isolation:isolate}
  /* эмблема: целиком в границах блока, правым краём вплотную к границе; Чупи стоит строго по её центру */
  .hero__bg{left:auto;right:0;top:50%;transform:translateY(-50%);width:min(62%,760px);height:auto;z-index:0;
    -webkit-mask-image:linear-gradient(to right,#000 0,#000 55%,transparent 100%);mask-image:linear-gradient(to right,#000 0,#000 55%,transparent 100%)}
  /* мягкое растворение правого края блока в фон страницы (зеркало левого затемнения) */
  .hero::after{content:"";position:absolute;top:0;right:0;bottom:0;width:22%;z-index:1;pointer-events:none;background:linear-gradient(to left,var(--bg) 0%,rgba(11,11,12,.85) 25%,rgba(11,11,12,.45) 60%,rgba(11,11,12,0) 100%)}
  .hero__mascot{position:absolute;order:0;left:calc(100% - min(62%,760px)/2);right:auto;transform:translateX(-50%);bottom:0;height:78%;max-height:560px;margin:0;z-index:2;filter:none}
  .hero__txt{z-index:2}
  .grid{grid-template-columns:repeat(4,1fr)}
  .catalog-layout{display:grid;grid-template-columns:260px 1fr;gap:2rem;align-items:start}
  .filters{position:sticky;top:calc(var(--hdr-h) + 12px);inset:auto;z-index:1;display:flex;max-height:calc(100vh - var(--hdr-h) - 24px);background:none}
  .filters__head,.filters__foot{display:none}
  .filters__body{padding:0 .5rem 0 0}
  .toolbar #filterBtn{display:none} .toolbar select{flex:none;width:240px;margin-left:auto}
  .pdp{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:3rem}
  .pdp__info{position:sticky;top:calc(var(--hdr-h) + 16px);align-self:start}
  .gallery{display:grid;grid-template-columns:72px 1fr;gap:.6rem}
  .gallery__thumbs{flex-direction:column;margin:0;order:-1;overflow:auto;max-height:640px}
  .pdp__buy{grid-template-columns:1fr 1fr}
  .cart-page,.checkout{grid-template-columns:minmax(0,1fr) 380px;align-items:start}
  .aside-sticky{position:sticky;top:calc(var(--hdr-h) + 16px)}
  .pay-box dl{grid-template-columns:200px 1fr}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.meta-note{font-size:.72rem;line-height:1.4;color:var(--muted);margin:.6rem 0 0;max-width:34em}

/* ---- карта выбора пункта выдачи ---- */
.pvzmap{position:fixed;inset:0;z-index:240;background:var(--bg);display:flex;flex-direction:column}
.pvzmap__head{display:flex;justify-content:space-between;align-items:center;padding:.6rem var(--gut);border-bottom:1px solid var(--line)}
.pvzmap__head h2{font-size:1.15rem;margin:0}
.pvzmap__x{background:none;border:1px solid var(--line);color:var(--text);width:40px;height:40px;font-size:1.5rem;line-height:1;cursor:pointer}
.pvzmap__tabs{display:flex;gap:.4rem;padding:.6rem var(--gut) 0;overflow:auto}
.pvzmap__tabs button{display:inline-flex;align-items:center;gap:.4rem;background:var(--surface);border:1px solid var(--line);color:var(--muted);padding:.45rem .8rem;cursor:pointer;font:600 .85rem var(--font-body);white-space:nowrap}
.pvzmap__tabs button.on{color:var(--text);border-color:var(--red-hover)}
.pvzmap__tabs i{width:10px;height:10px;border-radius:50%;display:inline-block}
.pvzmap__tabs small{color:var(--muted)}
.pvzmap__tools{display:flex;gap:.5rem;padding:.6rem var(--gut)}
.pvzmap__search{position:relative;flex:1}
.pvzmap__search input{width:100%;min-height:42px}
.pvzmap__sug{position:absolute;left:0;right:0;top:100%;z-index:1000;background:var(--surface);border:1px solid var(--line);max-height:50vh;overflow:auto}
.pvzmap__sug button{display:flex;justify-content:space-between;gap:.6rem;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);color:var(--text);padding:.6rem .8rem;cursor:pointer;font:inherit}
.pvzmap__sug button:hover{background:var(--surface-2)}
.pvzmap__sug small,.pvzmap__none{color:var(--muted);font-size:.8rem}
.pvzmap__none{padding:.7rem .8rem}
.pvzmap__demo{background:#3a2d00;color:#ffd666;font-size:.8rem;padding:.4rem var(--gut)}
.pvzmap__body{flex:1;min-height:0;display:flex;flex-direction:column}
.pvzmap__map{flex:0 0 45%;min-height:200px;background:#1a1a1c;isolation:isolate}
.pvzmap__list{flex:1;min-height:0;overflow:auto;border-top:1px solid var(--line)}
.pvzmap__hint{font-size:.8rem;color:var(--muted);padding:.5rem var(--gut)}
.pvzmap__list ul{list-style:none;margin:0;padding:0}
.pvzmap__list li{padding:.7rem var(--gut);border-top:1px solid var(--line);cursor:pointer;font-size:.9rem;display:grid;gap:.15rem}
.pvzmap__list li.is-sel{background:var(--surface-2);box-shadow:inset 3px 0 var(--red)}
.pvzitem__top{display:flex;justify-content:space-between;gap:.6rem}
.pvzitem__top span{color:var(--muted);white-space:nowrap}
.pvzitem__m{color:var(--muted);font-size:.8rem}
.pvzitem__bot{display:flex;justify-content:space-between;align-items:center;margin-top:.3rem}
.pvzpin-wrap{background:none;border:0}
.pvzpin{display:block;width:22px;height:22px;margin:3px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--c);border:2px solid #fff;box-shadow:0 2px 5px rgba(0,0,0,.5)}
.pvzpin.is-sel{width:28px;height:28px;margin:0;border-width:3px;box-shadow:0 0 0 3px var(--red),0 2px 8px rgba(0,0,0,.6)}
.pvzmap .leaflet-popup-content-wrapper,.pvzmap .leaflet-popup-tip{background:#161618;color:var(--text);border-radius:0}
.pvzmap .leaflet-popup-content{margin:.7rem .8rem;font:.85rem/1.4 var(--font-body)}
.pvzpop{display:grid;gap:.25rem}
.pvzpop__m{color:var(--muted);font-size:.78rem}
.pvzpop .btn{margin-top:.4rem}
.pvzmap .leaflet-control-attribution{background:rgba(255,255,255,.85);color:#333}
.pvzsel{border:1px solid var(--line);background:var(--surface);padding:.8rem;margin:.6rem 0;font-size:.9rem}
.pvzsel.is-empty{color:var(--muted);border-style:dashed}
.pvzsel b{display:block}
.pvzsel small{color:var(--muted)}
@media(min-width:900px){
  .pvzmap{inset:4vh 4vw;border:1px solid var(--line);box-shadow:0 0 0 100vmax rgba(0,0,0,.75)}
  .pvzmap__body{flex-direction:row}
  .pvzmap__map{flex:1 1 auto}
  .pvzmap__list{flex:0 0 380px;border-top:0;border-left:1px solid var(--line)}
}

/* ---- страница «Промо» ---- */
.pgpromo{max-width:980px}
.pgpromo__nav{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 1.6rem}
.pgpromo__nav button{background:var(--surface);border:1px solid var(--line);color:var(--text);padding:.5rem .9rem;cursor:pointer;font:600 .9rem var(--font-body)}
.pgpromo__nav button:hover{border-color:var(--red-hover)}
.coll{padding:1.6rem 0;border-top:1px solid var(--line);scroll-margin-top:calc(var(--hdr-h) + 12px)}
.coll h2{margin:0 0 1rem}
.coll__text{margin-top:1rem;max-width:68ch}
.coll__text p{margin:0 0 .8rem}

/* ---- видео коллекции: обложка + Play ---- */
.coll__media{position:relative;display:block;background:#000;border:1px solid var(--line);overflow:hidden;max-width:100%}
.coll__cover{display:block;width:100%;max-height:70vh;object-fit:contain;background:#000}
.coll__cover--solo{border:1px solid var(--line)}
.coll__media--ph{aspect-ratio:16/9;display:grid;place-items:center;background:radial-gradient(80% 90% at 50% 40%,#3a0b0f,#0b0b0c 75%)}
.coll__logo{width:min(55%,380px);height:auto;opacity:.9}
.coll__play{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;border:2px solid #fff;background:rgba(212,20,28,.92);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 28px rgba(0,0,0,.6);transition:transform .15s,background .15s;padding:0 0 0 4px}
.coll__play:hover,.coll__play:focus-visible{background:var(--red-hover);transform:scale(1.07)}
.coll__player{display:block;width:100%;height:100%;max-height:70vh;background:#000;object-fit:contain}
.coll__media.is-playing{max-height:70vh}
.coll__err{position:absolute;left:0;right:0;bottom:0;margin:0;padding:.6rem 1rem;background:rgba(0,0,0,.85);color:#ff8a8a;font-size:.85rem}
