/* ============================================================
   MEGASHOP — design system v2 «Деталь»
   Напряжение: инженерная точность (сетка-чертёж, моно-цифры, cyan)
   × детская радость (монументальная типографика, orange, разлёт деталей)
   Правила: без градиентов cyan→orange; orange = ТОЛЬКО действие;
   easing только кастомный; анимируем только transform/opacity.
   ============================================================ */

/* ---------- 1. TOKENS ---------- */
:root{
  /* paper & ink — никакого чистого #fff/#000 */
  --paper:#F7F6F2;
  --paper-2:#EFEDE6;
  --paper-3:#E6E3DA;
  --card:#FFFDF9;
  --ink:#0F1519;
  --ink-70:rgba(15,21,25,.70);
  --ink-50:rgba(15,21,25,.62);
  --ink-35:rgba(15,21,25,.50);
  --line:rgba(15,21,25,.11);
  --line-2:rgba(15,21,25,.06);
  /* каёмка карточки: нейтральная (3D-доработка позже, в стиле Z-Cortex) */
  --card-edge:rgba(15,21,25,.12);
  --card-edge-hover:rgba(15,21,25,.24);

  /* технический слой */
  --cyan:#3E8E2C;
  --cyan-ink:#2C6A1E;
  --cyan-08:rgba(62,142,44,.08);
  --cyan-16:rgba(62,142,44,.16);
  /* единственный цвет действия */
  --orange:#E73624;
  --orange-ink:#CF2C1C;
  --orange-08:rgba(231,54,36,.08);

  --ok:#1B7F4B;
  --ok-bg:rgba(27,127,75,.10);

  /* тени: мягкие, «бумажные» */
  --sh-1:0 1px 2px rgba(15,21,25,.04), 0 8px 24px -16px rgba(15,21,25,.20);
  --sh-2:0 2px 4px rgba(15,21,25,.05), 0 24px 56px -28px rgba(15,21,25,.32);
  --sh-3:0 40px 90px -40px rgba(15,21,25,.42);

  /* easing */
  --e-out:cubic-bezier(.16,1,.3,1);
  --e-quart:cubic-bezier(.25,1,.5,1);
  --e-inout:cubic-bezier(.87,0,.13,1);
  --e-back:cubic-bezier(.34,1.56,.64,1);

  /* шкала типографики (fluid) */
  --t-display:clamp(36px,5.45vw,80px);
  --t-h1:clamp(32px,4.4vw,64px);
  --t-h2:clamp(26px,3.2vw,46px);
  --t-h3:clamp(19px,1.6vw,25px);
  --t-body:clamp(15.5px,1.05vw,17.5px);
  --t-sm:14.5px;
  --t-mono:12px;

  /* ритм */
  --gap:clamp(14px,1.4vw,22px);
  --pad-sec:clamp(64px,7.5vw,132px);
  --pad-sec-tight:clamp(40px,4vw,64px);
  --hh:74px;
  --r:6px;          /* «деталь» — радиус мелкий, инженерный */
  --r-lg:14px;
  --shell:1440px;
}

/* ---------- 2. RESET / BASE ---------- */
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{
  font-family:'Onest',system-ui,sans-serif;
  font-size:var(--t-body);line-height:1.55;
  color:var(--ink);background:var(--paper);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit;color:inherit}
::selection{background:var(--orange);color:#fff}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:4px}

h1,h2,h3,h4{font-family:'Manrope',system-ui,sans-serif;font-weight:800;line-height:.97;letter-spacing:-.035em;text-wrap:balance}
p{text-wrap:pretty}

.shell{width:min(var(--shell),calc(100% - clamp(28px,4.4vw,72px)));margin-inline:auto}
.shell-wide{width:min(1720px,calc(100% - clamp(20px,2.4vw,44px)));margin-inline:auto}

/* моно-слой: артикулы, счётчики, лейблы-«чертёж» */
.mono{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:var(--t-mono);
  letter-spacing:.12em;text-transform:uppercase;font-weight:500}
.tech{color:var(--cyan-ink)}
.num{font-family:'JetBrains Mono',ui-monospace,monospace;font-variant-numeric:tabular-nums;letter-spacing:-.02em}

/* ---------- 3. КНОПКИ ---------- */
.btn{position:relative;display:inline-flex;align-items:center;gap:10px;
  font-family:'Onest';font-weight:700;font-size:15.5px;letter-spacing:-.01em;
  padding:16px 26px;border-radius:var(--r);border:1.5px solid transparent;cursor:pointer;
  transition:transform .5s var(--e-out),background-color .35s var(--e-out),border-color .35s,color .35s;
  will-change:transform;overflow:hidden;isolation:isolate}
.btn svg{flex:none;transition:transform .5s var(--e-out)}
.btn:hover svg{transform:translateX(4px)}
.btn-a{background:var(--orange);color:#fff}
.btn-a::before{content:"";position:absolute;inset:0;background:var(--orange-ink);
  transform:translateY(101%);transition:transform .55s var(--e-out);z-index:-1}
.btn-a:hover::before{transform:translateY(0)}
.btn-b{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-b:hover{border-color:var(--ink);background:var(--ink);color:var(--paper)}
.btn-b:hover svg{stroke:var(--paper)}
.btn-lg{padding:19px 32px;font-size:16.5px}
.btn-sm{padding:11px 18px;font-size:14px}
.btn[disabled]{background:var(--paper-3);color:var(--ink-50);border-color:var(--line);
  box-shadow:none;pointer-events:none;opacity:1}
.btn[disabled]::before{display:none}

/* подчёркивание-ссылка */
.ul{position:relative;font-weight:700;display:inline-flex;align-items:center;gap:7px}
.ul::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1.5px;background:currentColor;
  transform-origin:100% 50%;transform:scaleX(0);transition:transform .5s var(--e-out)}
.ul:hover::after{transform-origin:0 50%;transform:scaleX(1)}

/* ---------- 4. HEADER ---------- */
.hd{position:fixed;top:0;left:0;right:0;z-index:90;height:var(--hh);display:flex;align-items:center;
  transition:background-color .4s var(--e-out),border-color .4s,backdrop-filter .4s}
.hd::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--line);
  transform:scaleX(0);transform-origin:0 50%;transition:transform .6s var(--e-out)}
.hd.stuck{background:rgba(247,246,242,.86);backdrop-filter:blur(14px) saturate(180%)}
.hd.stuck::after{transform:scaleX(1)}
.hd .shell{display:flex;align-items:center;gap:clamp(16px,2.4vw,38px)}
.logo{display:flex;align-items:center;line-height:1}
.logo img{height:54px;width:auto;display:block}
.nav{display:flex;gap:clamp(12px,1.5vw,24px);font-size:14.5px;font-weight:600;color:var(--ink-70)}
.nav a{position:relative;padding:6px 0;transition:color .3s}
.nav a::after{content:"";position:absolute;left:0;bottom:0;height:1.5px;width:100%;background:var(--ink);
  transform:scaleX(0);transform-origin:100% 50%;transition:transform .45s var(--e-out)}
.nav a:hover{color:var(--ink)}
.nav a:hover::after{transform-origin:0 50%;transform:scaleX(1)}
.tools{margin-left:auto;display:flex;align-items:center;gap:10px}
.srch{display:flex;align-items:center;gap:9px;background:transparent;border:1.5px solid var(--line);
  border-radius:var(--r);padding:9px 14px;min-width:210px;transition:border-color .3s,background-color .3s}
.srch:focus-within{border-color:var(--ink);background:var(--card)}
.srch input{border:none;outline:none;background:none;font-size:14px;width:100%}
.srch input::placeholder{color:var(--ink-35)}
input::placeholder,textarea::placeholder{color:rgba(15,21,25,.38);opacity:1}
.cart-b{display:flex;align-items:center;gap:9px;font-weight:700;font-size:14.5px;
  padding:11px 17px;border-radius:var(--r);border:1.5px solid var(--ink);background:var(--ink);color:var(--paper);
  transition:transform .5s var(--e-out)}
.cart-b:hover{transform:translateY(-2px)}
.cart-n{font-family:'JetBrains Mono',monospace;font-size:11px;min-width:19px;height:19px;border-radius:3px;
  background:var(--orange);color:#fff;display:grid;place-items:center;padding:0 4px;font-variant-numeric:tabular-nums}
.burger{display:none;width:42px;height:42px;border:1.5px solid var(--line);border-radius:var(--r);
  background:none;cursor:pointer;place-items:center}
.burger span{display:block;width:18px;height:1.6px;background:var(--ink);position:relative}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:18px;height:1.6px;background:var(--ink);
  transition:transform .4s var(--e-out)}
.burger span::before{top:-6px}.burger span::after{top:6px}
/* прогресс чтения */
.hd-prog{position:absolute;left:0;bottom:0;height:2px;background:var(--orange);width:0;z-index:2}

/* мобильное меню */
.mnav{visibility:hidden;position:fixed;inset:0;z-index:95;background:var(--paper);padding:calc(var(--hh) + 20px) 24px 30px;
  display:flex;flex-direction:column;gap:2px;transform:translateY(-101%);transition:transform .7s var(--e-inout);overflow-y:auto}
.mnav.on{transform:none;visibility:visible}
.mnav a{font-family:'Manrope';font-weight:700;font-size:clamp(24px,7vw,34px);letter-spacing:-.04em;
  padding:12px 0;border-bottom:1px solid var(--line-2)}
.mnav .mx{position:absolute;top:16px;right:20px;width:44px;height:44px;border:1.5px solid var(--line);
  border-radius:var(--r);background:none;font-size:22px;cursor:pointer;line-height:1}

/* ---------- 5. HERO — ровно один экран ---------- */
.hero{position:relative;min-height:100svh;padding-top:var(--hh);display:flex;flex-direction:column;
  overflow:hidden;background:var(--paper)}
/* сетка-чертёж */
.hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(var(--cyan-08) 1px,transparent 1px),linear-gradient(90deg,var(--cyan-08) 1px,transparent 1px);
  background-size:26px 26px;
  -webkit-mask-image:radial-gradient(120% 90% at 72% 40%,#000 0%,transparent 72%);
  mask-image:radial-gradient(120% 90% at 72% 40%,#000 0%,transparent 72%)}
.hero-in{position:relative;z-index:1;flex:1;display:grid;
  grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr);
  align-items:center;gap:clamp(20px,3vw,56px);
  padding-block:clamp(16px,2.4vh,34px)}
.hero-l{max-width:min(52ch,100%)}
.eyebrow{display:inline-flex;align-items:center;gap:9px;margin-bottom:clamp(14px,2.2vh,26px)}
.eyebrow .dot{width:6px;height:6px;border-radius:1px;background:var(--orange);flex:none}
.hero h1{font-size:var(--t-display);line-height:.9;letter-spacing:-.05em;margin-bottom:clamp(14px,2vh,24px)}
.hero h1 .li{display:block;overflow:visible;padding-bottom:.09em;
  clip-path:inset(0 -100vw 0 -100vw)}
.hero h1 .li>span{display:block;will-change:transform}
.hero h1 .accent{color:var(--orange)}
.hero-sub{font-size:clamp(15px,1.15vw,18px);color:var(--ink-70);max-width:40ch;margin-bottom:clamp(18px,2.6vh,30px)}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:clamp(16px,2.4vh,28px)}
.hero-facts{display:flex;gap:clamp(14px,2vw,30px);flex-wrap:wrap;color:var(--ink-50)}
.hero-facts b{display:block;font-family:'Manrope';font-size:clamp(17px,1.5vw,22px);color:var(--ink);letter-spacing:-.04em;margin-bottom:3px}

/* правая колонка: студийный packshot + инженерные выноски */
.hero-r{position:relative;height:min(66svh,600px);display:flex;align-items:center;justify-content:center}
.hero-shot{display:block;position:relative;width:100%;height:100%;
  background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);
  box-shadow:var(--sh-1);overflow:visible}
.hero-shot img{width:100%;height:100%;object-fit:contain;
  border-radius:var(--r-lg);will-change:transform}
/* выноска-«чертёж» */
.hero-tag{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:8px;
  background:rgba(255,253,249,.92);backdrop-filter:blur(6px);
  border:1px solid var(--line);border-radius:var(--r);padding:8px 12px;box-shadow:var(--sh-1);
  color:var(--ink-70)}
.hero-tag.t1{top:18px;left:-14px}
.hero-tag.t2{top:62px;left:-14px}
.hero-tag .k{width:5px;height:5px;background:var(--cyan);border-radius:1px;flex:none}
/* плашка товара — ink-карточка внахлёст на нижний край фото */
.hero-card{position:absolute;left:-14px;right:12%;bottom:-14px;z-index:2;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  background:var(--ink);color:var(--paper);border-radius:var(--r-lg);
  padding:16px 18px;box-shadow:var(--sh-2);
  transition:transform .6s var(--e-out)}
.hero-shot:hover .hero-card{transform:translateY(-3px)}
.hero-card .hc-m{color:rgba(247,246,242,.66);margin-bottom:7px}
.hero-card .hc-t{font-family:'Manrope';font-weight:700;font-size:clamp(13.5px,1.05vw,16px);
  letter-spacing:-.03em;line-height:1.2;max-width:24ch}
.hero-card .hc-r{display:flex;align-items:center;gap:14px;flex:none}
.hero-card .hc-p{font-family:'Manrope';font-weight:800;font-size:clamp(18px,1.6vw,24px);letter-spacing:-.05em}
.hc-go{flex:none;width:44px;height:44px;border-radius:var(--r);background:var(--orange);color:#fff;
  display:grid;place-items:center;transition:transform .5s var(--e-out)}
.hero-shot:hover .hc-go{transform:translateX(3px)}

/* маркиза — низ героя, служит affordance к скроллу */
.marq{position:relative;z-index:1;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  overflow:hidden;padding:12px 0;background:var(--paper);flex:none}
.marq-in{display:flex;gap:34px;width:max-content;will-change:transform}
.marq span{display:inline-flex;align-items:center;gap:34px;color:var(--ink-50);white-space:nowrap}
.marq i{font-style:normal;color:var(--orange)}

/* ---------- 6. СЕКЦИИ ---------- */
.sec{padding:var(--pad-sec) 0;position:relative}
.sec-tight{padding:var(--pad-sec-tight) 0}
.sec-ink{background:var(--ink);color:var(--paper)}
.sec-ink h2,.sec-ink h3{color:var(--paper)}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
  margin-bottom:clamp(28px,3.4vw,52px);flex-wrap:wrap}
.sec-head h2{font-size:var(--t-h2);max-width:16ch}
.sec-head .sh-l{max-width:62ch}
.sec-head p{color:var(--ink-50);margin-top:12px;max-width:52ch}
.sec-num{display:block;margin-bottom:14px;color:var(--cyan-ink)}
/* крок-лейбл: без caps, щоб «з» не читалось як «3» (Крок 1 з 2) */
.sec-num.step{text-transform:none;letter-spacing:.04em}

/* ---------- 7. КАТЕГОРИИ — bento, все 16, тайл-«кнопка» ---------- */
.cats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap);grid-auto-flow:dense}
.cat-c{position:relative;display:flex;flex-direction:column;background:#fff;
  border:1.5px solid rgba(15,21,25,.15);border-radius:var(--r-lg);overflow:hidden;isolation:isolate;
  box-shadow:0 2px 4px rgba(15,21,25,.035),0 14px 30px rgba(15,21,25,.07);aspect-ratio:1/1;
  transition:transform .55s var(--e-out),box-shadow .55s var(--e-out),border-color .35s}
.cat-c.feat{grid-column:span 2;grid-row:span 2}          /* крупный первый */
.cat-c:hover{transform:translateY(-6px);box-shadow:var(--sh-2);border-color:var(--cyan)}
/* картинка по центру, крупно, на тёплой подложке */
.cc-media{position:relative;flex:1;display:grid;place-items:center;padding:12px;min-height:0;
  background:radial-gradient(120% 100% at 50% 32%,#ffffff 0%,#f8f5ef 68%,#f1eae0 100%)}
.cc-img{max-width:82%;max-height:84%;width:auto;height:auto;object-fit:contain;
  filter:drop-shadow(0 14px 24px rgba(15,21,25,.18));
  transition:transform .6s var(--e-out),filter .5s var(--e-out)}
.cat-c:hover .cc-img{transform:scale(1.07);
  filter:saturate(1.08) brightness(1.03) drop-shadow(0 22px 32px rgba(15,21,25,.24))}
.cc-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:12px 15px;border-top:1px solid var(--line-2);background:#fff}
.cc-name{font-family:'Manrope';font-weight:800;font-size:clamp(14.5px,1.05vw,17px);
  letter-spacing:-.03em;line-height:1.05}
.cat-c.feat .cc-name{font-size:clamp(22px,2.1vw,34px)}
.cat-c.feat .cc-foot{padding:18px 22px}
.cc-count{font-size:11.5px;color:var(--cyan-ink);white-space:nowrap;flex:none}
.cc-go{position:absolute;top:11px;right:11px;z-index:2;display:inline-flex;align-items:center;gap:6px;
  font-weight:700;font-size:12px;color:var(--ink);background:rgba(255,255,255,.92);backdrop-filter:blur(4px);
  border:1px solid var(--line);border-radius:100px;padding:6px 11px;
  opacity:0;transform:translateY(-4px);transition:.45s var(--e-out)}
.cat-c:hover .cc-go{opacity:1;transform:none}
.cc-name{min-width:0;overflow:hidden;text-overflow:ellipsis}
@media(max-width:900px){
  .cats{grid-template-columns:repeat(2,1fr)}
  .cat-c.feat{grid-column:span 2;grid-row:span 1;aspect-ratio:1/1}
  .cat-c.feat .cc-name{font-size:clamp(22px,5vw,30px)}
  .cat-c.feat .cc-foot{padding:16px 18px}
}
@media(max-width:520px){
  .cats{grid-template-columns:repeat(2,1fr);gap:12px}
  .cc-foot{padding:11px 13px;gap:8px}
  .cc-name{font-size:14px}
  .cat-c.feat .cc-name{font-size:22px}
  .cat-c.feat .cc-foot{padding:14px 16px}
  .cc-count{font-size:10.5px}
}

/* ---------- 8. КАРТОЧКА ТОВАРА (subgrid — ровные строки) ---------- */
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap) var(--gap)}
.pgrid.dense-3{grid-template-columns:repeat(3,1fr)}
.pc{position:relative;display:grid;grid-template-rows:subgrid;grid-row:span 3;
  background:#fff;border:1.5px solid var(--card-edge);border-radius:var(--r-lg);overflow:hidden;
  box-shadow:0 2px 4px rgba(15,21,25,.03),0 12px 28px rgba(15,21,25,.055);
  transition:transform .6s var(--e-out),box-shadow .6s var(--e-out),border-color .4s}
@supports not (grid-template-rows:subgrid){.pc{display:flex;flex-direction:column}}
.pc:hover{transform:translateY(-5px);box-shadow:var(--sh-2);border-color:var(--card-edge-hover)}
.pc-link{color:inherit}
.pc-link::after{content:"";position:absolute;inset:0;z-index:1}
.pc-add,.pc-out{position:relative;z-index:2}
.pc:focus-within{box-shadow:var(--sh-2)}
.pc-img{position:relative;aspect-ratio:1;background:#fff;overflow:hidden;grid-row:span 1}
/* верхний градиент-hairline на ховере (house-стиль) */
.pc::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;z-index:4;
  background:linear-gradient(90deg,transparent,var(--orange) 30%,var(--cyan) 70%,transparent);
  opacity:0;transition:opacity .45s var(--e-out)}
.pc:hover::before{opacity:.92}

/* ---------- КУРСОР-ТОЧКА (десктоп, тонкий приём Awwwards) ---------- */
.cur{position:fixed;top:0;left:0;width:24px;height:24px;border:1.5px solid var(--orange);
  border-radius:50%;pointer-events:none;z-index:9999;opacity:0;
  transition:width .28s var(--e-out),height .28s var(--e-out),background-color .28s,opacity .35s;
  will-change:transform}
.has-cur{cursor:none}
.has-cur a,.has-cur button,.has-cur [data-mag],.has-cur .pc,.has-cur .cat-c,.has-cur input{cursor:none}
.has-cur .cur{opacity:1}
.cur.cur-lg{width:48px;height:48px;background:var(--orange-08);border-color:var(--orange)}
.cur.cur-dn{width:18px;height:18px;background:var(--orange-08)}
@media (hover:none),(pointer:coarse){.cur{display:none}.has-cur{cursor:auto}}

/* ====== ГОЛОВНА: заставка (mhero) ====== */
body:has(.mhero) .hd:not(.stuck){opacity:0;pointer-events:none}
.mhero{position:relative;height:100svh;min-height:600px;overflow:hidden;isolation:isolate}
.mhero::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(10,12,16,.72),rgba(10,12,16,.34) 44%,rgba(10,12,16,.05) 78%),
  linear-gradient(180deg,rgba(10,12,16,.42),transparent 22%),linear-gradient(0deg,rgba(10,12,16,.55),transparent 32%)}
.mhero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.mhero-wrap{position:relative;z-index:2;max-width:1360px;margin:0 auto;padding:0 clamp(20px,4vw,56px);height:100%;display:flex;flex-direction:column}
.mhero-nav{display:flex;align-items:flex-start;justify-content:space-between;padding:14px 0 0;color:#fff}
.mhero-logo img{height:clamp(104px,10.5vw,142px);width:auto;display:block;transform:translate(-40px,74px);filter:drop-shadow(0 8px 22px rgba(0,0,0,.5))}
.mhero-menu{display:flex;gap:32px;font-weight:700;font-size:15.5px}
.mhero-menu a{color:#fff;opacity:.95}.mhero-menu a:hover{opacity:1}
.mhero-cart{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.32);backdrop-filter:blur(8px);color:#fff;padding:12px 22px;border-radius:100px;font-weight:700;font-size:14.5px;white-space:nowrap}
.mhero-center{flex:1;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(2px,0.6vh,10px) 0 clamp(36px,6.8vh,80px);color:#fff}
.mhero-topgrp{transform:translate(clamp(118px,12vw,176px),-84px)}
.mhero-eyebrow{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:13.5px;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:16px;text-shadow:0 2px 8px rgba(0,0,0,.5)}
.mhero-eyebrow::before{content:"";width:30px;height:3px;background:linear-gradient(90deg,var(--orange),var(--cyan));border-radius:3px}
.mhero-h1{font-family:'Manrope';font-weight:800;font-size:clamp(28px,4.4vw,60px);line-height:1.05;letter-spacing:-.03em;white-space:nowrap;color:#fff}
.mhero-h1 .hl{display:inline-block;background:linear-gradient(100deg,rgba(12,14,18,.5),rgba(12,14,18,.28));backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);padding:.16em .38em;border-radius:16px}
.mhero-h1 u{text-decoration:none;position:relative}
.mhero-h1 u::after{content:"";position:absolute;left:0;right:0;bottom:0;height:.12em;background:var(--orange);border-radius:5px;z-index:-1}
.mhero-blk{max-width:740px}
.mhero-sub{font-size:clamp(15px,1.35vw,18.5px);font-weight:500;opacity:.95;max-width:500px;margin-bottom:24px;line-height:1.5;text-shadow:0 2px 10px rgba(0,0,0,.5);color:#fff}
.mhero-search{display:flex;background:#fff;border-radius:100px;padding:9px 9px 9px 28px;max-width:600px;box-shadow:0 26px 66px -20px rgba(0,0,0,.6)}
.mhero-search input{flex:1;border:0;outline:0;font-size:16.5px;font-weight:500;color:var(--ink);background:none}
.mhero-search button{background:var(--orange);color:#fff;border:0;border-radius:100px;padding:16px 36px;font-family:inherit;font-weight:800;font-size:15.5px;cursor:pointer;transition:.2s}
.mhero-search button:hover{background:var(--orange-ink)}
.mhero-chips{display:flex;gap:11px;flex-wrap:nowrap;margin-top:22px}
.mhero-chips a{color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(6px);padding:11px 17px;border-radius:100px;font-weight:600;font-size:14px;white-space:nowrap}
.mhero-trust{display:flex;align-items:center;gap:24px;margin-top:20px;color:#fff;font-weight:600;font-size:14px;flex-wrap:wrap;text-shadow:0 2px 8px rgba(0,0,0,.5)}
.mhero-trust span{display:inline-flex;align-items:center;gap:9px}
.mhero-trust span::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px rgba(62,142,44,.9)}
@media(max-width:860px){.mhero-h1{white-space:normal;font-size:clamp(28px,7vw,42px)}.mhero-chips{flex-wrap:wrap}.mhero-menu{display:none}.mhero-topgrp{transform:none}.mhero-logo img{transform:translateY(20px)}}
.pc-img img{width:100%;height:100%}
/* разлёт деталей на hover */
.bricks{position:absolute;inset:0;pointer-events:none;z-index:2}
.bricks i{position:absolute;width:14px;height:14px;border-radius:2px;opacity:0;
  will-change:transform,opacity;box-shadow:inset 0 -3px 0 rgba(0,0,0,.14)}
/* чистая белая пилюля-бейдж (не кричащая): «Хіт» с красной точкой */
.pc-badge{position:absolute;top:13px;left:13px;z-index:3;display:inline-flex;align-items:center;gap:6px;
  background:rgba(255,255,255,.94);color:var(--ink);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  font-family:'Manrope';font-weight:800;font-size:11px;letter-spacing:.02em;text-transform:uppercase;
  padding:6px 12px;border-radius:100px;box-shadow:0 3px 12px -3px rgba(15,21,25,.22)}
.pc-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--orange)}
.pc-code{position:absolute;top:12px;right:12px;z-index:3;font-family:'JetBrains Mono',monospace;font-size:10.5px;
  color:var(--ink-35);background:rgba(247,246,242,.8);padding:5px 8px;border-radius:3px;letter-spacing:.06em}
.pc-b{padding:16px 17px 8px;grid-row:span 1}
.pc-cat{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--cyan-ink);margin-bottom:9px}
.pc-name{font-family:'Onest';font-weight:600;font-size:15px;line-height:1.32;letter-spacing:-.01em;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* ФУТЕР карточки — гибрид «як на FANTASY»: ціна+статус, потім явна кнопка «Купити» */
.pc-f{padding:0 16px 16px;display:flex;flex-direction:column;gap:11px;grid-row:span 1}
.pc-meta{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.pc-price{font-family:'Manrope';font-weight:800;font-size:18px;letter-spacing:-.045em}
.pc-stock{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:12px;color:var(--ok);white-space:nowrap}
.pc-stock::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px var(--ok-bg)}
.pc-stock.out{color:var(--ink-35)}.pc-stock.out::before{background:var(--ink-35);box-shadow:none}
.pc-buy{display:block;width:100%;border:0;border-radius:var(--r);padding:12px 14px;cursor:pointer;
  font-family:'Manrope';font-weight:800;font-size:14.5px;letter-spacing:-.01em;text-align:center;
  color:#fff;background:var(--ink);transition:background-color .3s var(--e-out),transform .4s var(--e-out)}
.pc-buy:hover{background:var(--orange)}
.pc-buy:active{transform:scale(.98)}
.pc-buy.ok{background:var(--ok)}
.pc-buy.dim{background:transparent;color:var(--ink-50);border:1.5px solid var(--line);text-decoration:none;box-sizing:border-box}
.pc-buy.dim:hover{background:var(--paper-2);color:var(--ink)}
.pc.out .pc-img img{filter:grayscale(1);opacity:.55}
.pc-badge.out{background:var(--ink);color:var(--paper)}
.pc-badge.out::before{background:var(--paper)}
.pc-out{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-35);border:1px solid var(--line);border-radius:3px;padding:7px 9px}

/* примечание продавца — свёрнуто, не мешает описанию */
.note{margin-top:22px;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
.note summary{cursor:pointer;padding:14px 16px;font-weight:600;font-size:14.5px;list-style:none;
  display:flex;align-items:center;justify-content:space-between;color:var(--ink)}
.note summary::after{content:"+";font-family:'JetBrains Mono',monospace;color:var(--ink-35);font-size:17px}
.note[open] summary::after{content:"−"}
.note summary::-webkit-details-marker{display:none}
.note p{padding:0 16px 16px;font-size:14px;color:var(--ink-50);margin:0}

/* платёжные логотипы под кнопкой заказа */
.paylogos{display:flex;flex-wrap:wrap;gap:8px;margin-top:-4px}
.paylogos span{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.08em;
  color:var(--ink-50);border:1px solid var(--line);border-radius:4px;padding:7px 10px;background:var(--card)}

/* skip-link */
.skip:focus{left:16px!important;top:16px!important;z-index:200;background:var(--ink);color:var(--paper);
  padding:12px 18px;border-radius:var(--r)}

/* ---------- 9. ПОЛОСА ДОВЕРИЯ ---------- */
.strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
  border-block:1px solid var(--line)}
.strip>div{background:var(--paper);padding:clamp(22px,2.6vw,34px) clamp(16px,1.8vw,26px)}
.strip b{display:block;font-family:'Manrope';font-size:clamp(15px,1.25vw,18px);letter-spacing:-.03em;margin:12px 0 6px}
.strip p{font-size:14.5px;color:var(--ink-50);line-height:1.5}
.strip .ic{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--cyan-16);
  border-radius:var(--r);color:var(--cyan)}

/* ---------- 10. КАТАЛОГ ---------- */
.page{padding-top:calc(var(--hh) + clamp(22px,3vw,44px));padding-bottom:clamp(50px,6vw,96px);min-height:70vh}
.crumb{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-35);margin-bottom:clamp(18px,2.2vw,30px)}
.crumb a{transition:color .3s}.crumb a:hover{color:var(--cyan-ink)}
.crumb span{color:var(--ink-70)}
.p-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;flex-wrap:wrap;
  margin-bottom:clamp(20px,2.4vw,32px);padding-bottom:22px;border-bottom:1px solid var(--line)}
.p-head h1{font-size:var(--t-h1)}
.p-head .cnt{color:var(--ink-50)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(22px,2.6vw,34px)}
.chip{border:1.5px solid var(--line);border-radius:999px;padding:9px 16px;font-size:13.5px;font-weight:600;
  color:var(--ink-70);transition:.35s var(--e-out);cursor:pointer;background:transparent}
.chip:hover{border-color:var(--ink);color:var(--ink)}
.chip.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.sortbar{display:flex;align-items:center;gap:10px;margin-left:auto}
.sortbar select{border:1.5px solid var(--line);border-radius:var(--r);padding:10px 14px;background:transparent;
  font-size:14px;font-weight:600;cursor:pointer}

/* ---------- 11. КАРТОЧКА ТОВАРА (страница) ---------- */
.pd{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:clamp(28px,4vw,68px);align-items:start}
.pd-gal{position:sticky;top:calc(var(--hh) + 20px)}
.pd-main{position:relative;aspect-ratio:1;background:var(--card);border:1px solid var(--line);
  border-radius:var(--r-lg);overflow:hidden}
.pd-main img{width:100%;height:100%;object-fit:contain}
.pd-zoom{position:absolute;right:14px;bottom:14px;font-family:'JetBrains Mono',monospace;font-size:10.5px;
  letter-spacing:.1em;color:var(--ink-35);background:var(--paper);border:1px solid var(--line);
  border-radius:3px;padding:6px 9px;pointer-events:none}
.pd-th{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:9px;margin-top:12px}
.pd-th button{aspect-ratio:1;border-radius:var(--r);overflow:hidden;border:1.5px solid var(--line);
  background:var(--card);cursor:pointer;padding:4px;transition:border-color .3s,transform .5s var(--e-out)}
.pd-th button:hover{transform:translateY(-2px)}
.pd-th button.on{border-color:var(--ink)}
.pd-th img{width:100%;height:100%;object-fit:contain}
.pd-i .art{display:flex;align-items:center;gap:12px;margin-bottom:16px;color:var(--ink-35)}
.pd-i h1{font-size:clamp(24px,2.55vw,40px);line-height:1.02;margin-bottom:18px}
.avail{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;
  padding:8px 14px;border-radius:999px;margin-bottom:20px}
.avail.ok{background:var(--ok-bg);color:var(--ok)}
.avail.no{background:rgba(233,63,17,.09);color:var(--orange-ink)}
.avail .d{width:6px;height:6px;border-radius:50%;background:currentColor}
.price-row{display:flex;align-items:baseline;gap:14px;margin-bottom:8px}
.price{font-family:'Manrope';font-weight:800;font-size:clamp(30px,3.2vw,46px);letter-spacing:-.05em}
.price-old{font-family:'JetBrains Mono',monospace;font-size:16px;color:var(--ink-35);text-decoration:line-through}
.price-note{color:var(--ink-50);font-size:14px;margin-bottom:24px}
.pd-act{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:28px}
.oos{border:1.5px solid var(--line);border-radius:var(--r-lg);padding:20px;background:var(--card);display:grid;gap:8px;justify-items:start}
.oos b{font-family:'Manrope';font-size:16px;letter-spacing:-.03em}
.oos span{color:var(--ink-50);font-size:14.5px}
.oos .btn{margin-top:6px}
.pd-spec{margin-top:6px;display:grid;gap:1px;background:var(--line);
  border-radius:var(--r);overflow:hidden;border:1px solid var(--line);margin-bottom:26px}
.pd-spec div{background:var(--paper);display:flex;justify-content:space-between;gap:16px;padding:13px 16px;font-size:14.5px}
.pd-spec dt,.pd-spec .k{color:var(--ink-50)}
.pd-spec .v{font-weight:600;text-align:right}
.trust{display:grid;gap:12px}
.trust li{list-style:none;display:flex;gap:11px;align-items:flex-start;font-size:14.5px;color:var(--ink-70)}
.trust .ic{flex:none;width:22px;height:22px;border-radius:4px;background:var(--cyan-08);color:var(--cyan);
  display:grid;place-items:center;margin-top:1px}
.pd-desc{margin-top:clamp(50px,6vw,90px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);
  gap:clamp(24px,4vw,60px);align-items:start}
.pd-desc h2{font-size:var(--t-h3);position:sticky;top:calc(var(--hh) + 20px)}
.rte{font-size:16px;line-height:1.72;color:var(--ink-70);max-width:72ch}
.rte h2,.rte h3{font-family:'Manrope';font-size:19px;color:var(--ink);margin:26px 0 12px;letter-spacing:-.03em;line-height:1.2}
.rte p{margin:12px 0}
.rte ul,.rte ol{margin:12px 0 12px 20px}
.rte li{margin:6px 0}
.rte strong,.rte b{color:var(--ink);font-weight:700}
.rte img{border-radius:var(--r);margin:18px 0}
.rte a{color:var(--cyan-ink);text-decoration:underline;text-underline-offset:3px}

/* ---------- 12. КОРЗИНА / ЧЕКАУТ ---------- */
.narrow{width:min(1040px,calc(100% - clamp(24px,4vw,60px)));margin-inline:auto}
.empty{border:1px dashed var(--line);border-radius:var(--r-lg);padding:clamp(36px,6vw,72px);text-align:center;
  color:var(--ink-50);background:var(--card)}
.empty b{display:block;font-family:'Manrope';font-size:20px;color:var(--ink);margin-bottom:10px;letter-spacing:-.03em}
.ci{display:grid;grid-template-columns:88px minmax(0,1fr) auto auto;gap:18px;align-items:center;
  background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px;margin-bottom:10px}
.ci img{width:88px;height:88px;object-fit:contain;background:var(--paper-2);border-radius:var(--r);padding:6px}
.ci-n{font-weight:600;font-size:15px;line-height:1.35}
.ci-p{font-family:'Manrope';font-weight:800;margin-top:6px;letter-spacing:-.04em}
.qty{display:flex;align-items:center;gap:4px;border:1.5px solid var(--line);border-radius:var(--r);padding:4px}
.qty button{width:32px;height:32px;border:none;background:transparent;border-radius:4px;cursor:pointer;
  font-size:17px;line-height:1;transition:background-color .3s}
.qty button:hover{background:var(--paper-2)}
.qty span{min-width:26px;text-align:center;font-family:'JetBrains Mono',monospace;font-size:14px}
.ci-x{background:none;border:none;color:var(--ink-35);cursor:pointer;font-size:20px;line-height:1;padding:8px;
  transition:color .3s}
.ci-x:hover{color:var(--orange)}
.cart-sum{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;
  margin-top:26px;padding-top:24px;border-top:1.5px solid var(--ink)}
.cart-sum .t{font-family:'Manrope';font-weight:800;font-size:clamp(22px,2.4vw,32px);letter-spacing:-.05em}
.co{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:clamp(22px,3vw,44px);align-items:start}
.form{display:grid;gap:16px}
.fgroup{display:grid;gap:16px;grid-template-columns:1fr 1fr}
.field{display:flex;flex-direction:column;gap:7px}
.field span{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-50)}
.field input,.field select,.field textarea{border:1.5px solid var(--line);border-radius:var(--r);
  padding:14px 15px;background:var(--card);font-size:15.5px;outline:none;transition:border-color .3s,box-shadow .3s}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink);box-shadow:0 0 0 4px var(--cyan-08)}
.field.err input,.field.err select,.field.err textarea{border-color:var(--orange)}
.field .msg{display:none;font-size:12.5px;color:var(--orange-ink);font-family:'Onest';
  letter-spacing:0;text-transform:none}
.field.err .msg{display:flex;align-items:center;gap:6px}
.field.err .msg::before{content:"!";width:14px;height:14px;border-radius:50%;background:var(--orange);
  color:#fff;font-size:10px;display:grid;place-items:center;flex:none}
.pay{display:grid;gap:10px}
.pay label span{font-family:'Onest';font-size:15.5px;letter-spacing:0;text-transform:none;
  color:var(--ink);font-weight:500}
.pay label{display:flex;align-items:center;gap:12px;border:1.5px solid var(--line);border-radius:var(--r);
  padding:15px;cursor:pointer;transition:border-color .3s,background-color .3s}
.pay label:has(input:checked){border-color:var(--ink);background:var(--card)}
.pay input{accent-color:var(--orange);width:17px;height:17px}
.osum{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;
  position:sticky;top:calc(var(--hh) + 20px)}
.osum h3{font-size:16px;margin-bottom:16px}
.oline{display:flex;justify-content:space-between;gap:14px;padding:9px 0;font-size:14px;border-bottom:1px solid var(--line-2)}
.ototal{display:flex;justify-content:space-between;align-items:baseline;margin-top:16px;
  font-family:'Manrope';font-weight:800;font-size:21px;letter-spacing:-.04em}

/* ---------- 12.5 SPOTLIGHT — кино-глава с пиннингом ---------- */
.spot{position:relative;height:250vh;background:var(--ink);color:var(--paper)}
.spot-sticky{position:sticky;top:0;height:100svh;overflow:hidden;display:flex;align-items:center}
.spot-bg{position:absolute;inset:0;z-index:0}
.spot-bg img{width:100%;height:100%;object-fit:cover;object-position:72% 45%;
  transform:scale(1.12);will-change:transform;opacity:.55}
.spot-bg #assembly{position:absolute;inset:0;width:100%;height:100%;opacity:.62;
  mix-blend-mode:normal;pointer-events:none}
/* когда canvas жив — прячем статичную запаску */
.js-assembly .spot-bg .spot-img{opacity:0}
.spot-bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(15,21,25,.97) 0%,rgba(15,21,25,.92) 42%,rgba(15,21,25,.35) 100%)}
.spot-in{position:relative;z-index:2;max-width:min(640px,100%)}
.spot-num{color:#4FB8DE}
.spot-h{font-size:clamp(34px,5.2vw,76px);line-height:.94;letter-spacing:-.05em;margin-bottom:20px}
.spot-h .li{display:block;overflow:visible;padding-bottom:.09em;clip-path:inset(0 -100vw 0 -100vw)}
.spot-h .li>span{display:block}
.spot-h .accent{font-style:normal;color:var(--orange);letter-spacing:-.06em}
.spot-sub{color:rgba(247,246,242,.66);max-width:46ch;margin-bottom:clamp(24px,3.4vh,38px)}
.spot-calls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.14);border-radius:var(--r-lg);overflow:hidden;
  margin-bottom:clamp(22px,3vh,34px)}
.spot-calls .call{background:#0F1519;padding:18px 20px}
.spot-calls b{display:block;font-family:'Manrope';font-weight:800;font-size:clamp(19px,1.9vw,26px);
  letter-spacing:-.05em;margin-bottom:5px}
.spot-calls span{color:rgba(247,246,242,.66)}

/* ---------- 13. CTA-БЛОК ---------- */
.cta{background:var(--ink);color:var(--paper);border-radius:var(--r-lg);padding:clamp(34px,5vw,72px);
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;position:relative;overflow:hidden}
.cta::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:26px 26px;-webkit-mask-image:radial-gradient(80% 100% at 100% 0%,#000,transparent 70%);
  mask-image:radial-gradient(80% 100% at 100% 0%,#000,transparent 70%)}
.cta>*{position:relative}
.cta h2{font-size:var(--t-h2);max-width:18ch}
.cta p{color:rgba(247,246,242,.62);margin-top:14px;max-width:44ch}

/* ---------- 14. FOOTER ---------- */
.ft{background:var(--ink);color:rgba(247,246,242,.62);padding:clamp(48px,6vw,88px) 0 26px;margin-top:clamp(40px,5vw,80px)}
.ft-g{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:clamp(24px,3vw,48px)}
.ft .logo{color:var(--paper);font-size:26px;display:inline-block;margin-bottom:16px}
.ft p{font-size:14.5px;line-height:1.6;max-width:34ch}
.ft h4{font-family:'JetBrains Mono',monospace;font-weight:500;font-size:11px;letter-spacing:.13em;
  text-transform:uppercase;color:rgba(247,246,242,.62);margin-bottom:16px}
.ft-col a{display:block;font-size:14.5px;padding:6px 0;transition:color .3s,transform .4s var(--e-out)}
.ft-col a:hover{color:var(--paper);transform:translateX(3px)}
.ft-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
  margin-top:clamp(34px,4vw,58px);padding-top:22px;border-top:1px solid rgba(247,246,242,.1);font-size:13px}
.ft-bar .made{display:inline-flex;align-items:center;gap:9px;padding:8px 16px 8px 13px;
  border-radius:999px;font-weight:600;font-size:12.5px;letter-spacing:.01em;color:#EAF3F6;
  background:linear-gradient(100deg,rgba(124,58,237,.24),rgba(46,155,196,.20) 58%,rgba(181,242,60,.16));
  border:1px solid rgba(255,255,255,.16);box-shadow:0 10px 30px -14px rgba(124,58,237,.6);
  transition:transform .3s var(--e-out),box-shadow .3s var(--e-out),color .3s}
.ft-bar .made::before{content:"";width:9px;height:9px;border-radius:50%;flex:none;
  background:linear-gradient(135deg,#b5f23c,#7c3aed);box-shadow:0 0 12px rgba(181,242,60,.75)}
.ft-bar .made:hover{transform:translateY(-2px);color:#fff;box-shadow:0 16px 36px -14px rgba(124,58,237,.85)}

/* ---------- 15. TOAST ---------- */
.toast{position:fixed;left:50%;bottom:26px;z-index:200;transform:translate(-50%,24px);opacity:0;
  background:var(--ink);color:var(--paper);padding:15px 22px;border-radius:var(--r);font-weight:600;font-size:14.5px;
  display:flex;align-items:center;gap:11px;box-shadow:var(--sh-2);pointer-events:none;
  transition:opacity .45s var(--e-out),transform .55s var(--e-out)}
.toast.on{opacity:1;transform:translate(-50%,0)}
.toast .k{width:7px;height:7px;border-radius:1px;background:var(--orange)}

/* ---------- 16. REVEAL / MOTION ---------- */
[data-rv]{opacity:0;transform:translateY(26px)}
[data-rv].in{opacity:1;transform:none;transition:opacity .9s var(--e-out),transform .9s var(--e-out)}
[data-rv-d="1"].in{transition-delay:.07s}[data-rv-d="2"].in{transition-delay:.14s}
[data-rv-d="3"].in{transition-delay:.21s}[data-rv-d="4"].in{transition-delay:.28s}
[data-rv-d="5"].in{transition-delay:.35s}[data-rv-d="6"].in{transition-delay:.42s}
.clip{clip-path:inset(0 0 100% 0)}
.clip.in{clip-path:inset(0 0 0 0);transition:clip-path 1.1s var(--e-out)}

/* View Transitions — фото каталог→карточка */
@view-transition{navigation:auto}
::view-transition-group(*){animation-duration:.5s;animation-timing-function:cubic-bezier(.16,1,.3,1)}
::view-transition-old(root),::view-transition-new(root){animation-duration:.35s}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important}
  [data-rv]{opacity:1;transform:none}
  .clip{clip-path:none}
  @view-transition{navigation:none}
}

/* ---------- 17. RESPONSIVE ---------- */
@media(max-width:1240px){
  .pgrid{grid-template-columns:repeat(3,1fr)}
  .nav{display:none}
}
@media(max-width:1024px){
  .hero-in{grid-template-columns:1fr;align-content:center;gap:24px}
  .hero-r{height:min(46svh,420px);order:-1}
  .hero-tag{display:none}
  .hero-l{max-width:none}
  .pd{grid-template-columns:1fr;gap:26px}
  .pd-gal{position:static}
  .pd-desc{grid-template-columns:1fr}
  .pd-desc h2{position:static}
  .co{grid-template-columns:1fr}
  .osum{position:static}
  .cta{grid-template-columns:1fr}
  .strip{grid-template-columns:repeat(2,1fr)}
  .ft-g{grid-template-columns:1fr 1fr}
}
@media(max-width:860px){
  .srch{display:none}
  .burger{display:grid}
  .cart-b span{display:none}
}
@media(max-width:640px){
  :root{--hh:64px}
  .pgrid,.pgrid.dense-3{grid-template-columns:repeat(2,1fr);gap:10px}
  /* лічильник під заголовком, а не збоку (не обрізається на 390px) */
  .p-head{flex-direction:column;align-items:flex-start;gap:6px}
  .p-head .cnt{font-size:13px}
  .hero h1{font-size:clamp(34px,10.5vw,52px)}
  .hero-r{height:38svh}
  .hero-facts{gap:16px}
  .hero-cta .btn{flex:1;justify-content:center}
  .pc-b{padding:12px 12px 6px}.pc-f{padding:0 12px 12px}
  .pc-name{font-size:13.5px}.pc-price{font-size:16px}
  .pc-add{width:38px;height:38px}
  .pc-code{display:none}
  .ci{grid-template-columns:64px minmax(0,1fr);gap:12px}
  .ci img{width:64px;height:64px}
  .ci .qty{grid-column:2}
  .ci-x{position:absolute;right:10px;top:10px}
  .ci{position:relative}
  .fgroup{grid-template-columns:1fr}
  .strip{grid-template-columns:1fr}
  .ft-g{grid-template-columns:1fr;gap:26px}
  .pd-th{grid-template-columns:repeat(auto-fill,minmax(54px,1fr))}
}
@media(max-width:390px){
  .shell{width:calc(100% - 24px)}
  .hero h1{font-size:clamp(30px,10vw,40px)}
}
@media(hover:none){
  .pc:hover{transform:none;box-shadow:none}
  .bricks{display:none}
}

/* ---------- мобильная доводка (проверено рендером 390px через iframe) ---------- */
@media(max-width:640px){
  .hero-r{height:32svh}
  .hero h1{font-size:clamp(30px,9.4vw,46px)}
  .hero-sub{font-size:14.5px;margin-bottom:16px}
  .hero-card{left:-8px;right:6%;bottom:-10px;padding:12px 14px;gap:10px}
  .hero-card .hc-t{font-size:13px;max-width:none;display:-webkit-box;-webkit-line-clamp:2;
    -webkit-box-orient:vertical;overflow:hidden}
  .hero-card .hc-p{font-size:18px}
  .hc-go{width:38px;height:38px}
  .hero-facts b{font-size:16px}
  /* чипы категорий — одна строка с горизонтальным скроллом, а не пол-экрана */
  .chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;
    padding-bottom:4px;margin-inline:calc(-1 * clamp(12px,3vw,16px));
    padding-inline:clamp(12px,3vw,16px)}
  .chips::-webkit-scrollbar{display:none}
  .chip{flex:none}
  .chips .srch{flex:none;min-width:200px}
  .sortbar{margin-left:0;flex:none}
}

/* ---------- правки после дизайн-приёмки (5.8/10 → добор) ---------- */
/* итог заказа обязан быть ПЕРЕД формой на мобильном: человек должен видеть, что покупает */
@media(max-width:1024px){
  .co{display:flex;flex-direction:column}
  .osum{order:-1}
}
@media(max-width:640px){
  .hero-card{left:0;right:0}
  .hero-cta{display:grid;grid-template-columns:1fr;gap:10px}
  .hero-cta .btn{width:100%;justify-content:center;white-space:nowrap}
  .pd-act{display:grid;grid-template-columns:1fr;gap:10px}
  .pd-act .btn{width:100%;justify-content:center}
  .oos{width:100%}
  /* сетка-чертёж на узком экране — только шум */
  .hero::before{opacity:.5;-webkit-mask-image:radial-gradient(90% 50% at 50% 22%,#000,transparent 75%);
    mask-image:radial-gradient(90% 50% at 50% 22%,#000,transparent 75%)}
}

/* ============================================================
   КАРТОЧКА ТОВАРА — «оживает» на ховере (перекрывает ранние правила)
   Цель: при наведении товар становится ЯРЧЕ и КРУПНЕЕ, появляется
   мягкая тёплая подложка, кроссфейд на 2-й кадр и пилюля «в кошик».
   Никакого затемнения (кроме честного grayscale для «немає в наявності»).
   ============================================================ */
.pc{transition:transform .55s var(--e-out),box-shadow .55s var(--e-out),border-color .4s var(--e-out)}
.pc-img{position:relative;aspect-ratio:1;overflow:hidden;background:#fff;
  transition:background .5s var(--e-out)}
/* мягкая тёплая «подложка-плинт» проявляется на ховере */
.pc:hover .pc-img{background:radial-gradient(120% 108% at 50% 24%,#ffffff 0%,#faf5ee 58%,#f2ebe0 100%)}
.pc-i1,.pc-i2{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;
  transition:transform .6s var(--e-out),opacity .5s var(--e-out);will-change:transform,opacity}
.pc-i2{opacity:0}
/* зум + товар становится ярче/сочнее (прямой ответ «должен оживляться, ярче») */
.pc-i1{transition:transform .6s var(--e-out),opacity .5s var(--e-out),filter .5s var(--e-out)}
.pc:hover .pc-i1{transform:scale(1.065);filter:saturate(1.08) brightness(1.03) contrast(1.02)}
.pc:hover .pc-i2{opacity:1;transform:scale(1.065)}
.pc:has(.pc-i2:not([src=""])):hover .pc-i1{opacity:0}
/* подъём карточки + богатая тень */
.pc:hover{transform:translateY(-7px);box-shadow:var(--sh-2);border-color:var(--card-edge-hover)}
/* верхний бренд-hairline (ярче на ховере) */
.pc:hover::before{opacity:1}
/* пилюля быстрого добавления */
.pc-quick{position:absolute;left:12px;right:12px;bottom:12px;z-index:3;
  border:0;border-radius:100px;padding:13px 16px;cursor:pointer;
  font-family:'Manrope';font-weight:800;font-size:14px;letter-spacing:-.01em;
  color:#fff;background:var(--ink);box-shadow:0 10px 26px -10px rgba(15,21,25,.5);
  transform:translateY(150%);opacity:0;transition:transform .5s var(--e-out),opacity .4s,background .25s}
.pc:hover .pc-quick{transform:translateY(0);opacity:1}
.pc-quick:hover{background:var(--orange)}
.pc-quick.ok{background:var(--ok)}
/* out-of-stock: честное приглушение (это НЕ ховер-эффект) */
.pc.out .pc-i1,.pc.out .pc-i2{filter:grayscale(1);opacity:.5}
.pc.out:hover .pc-img{background:#fff}
@media (hover:none),(pointer:coarse){
  .pc-quick{display:none}.pc-i2{display:none}
  .pc:hover{transform:none;box-shadow:none}
  .pc:hover .pc-i1{transform:none}
}
/* принудительный ховер для само-аудита рендером (снимается перед деплоем) */
.pc.force-hover .pc-img{background:radial-gradient(120% 108% at 50% 24%,#ffffff 0%,#faf5ee 58%,#f2ebe0 100%)}
.pc.force-hover{transform:translateY(-7px);box-shadow:var(--sh-2);border-color:var(--card-edge-hover)}
.pc.force-hover .pc-i1{transform:scale(1.065);filter:saturate(1.08) brightness(1.03) contrast(1.02)}
.pc.force-hover:has(.pc-i2:not([src=""])) .pc-i1{opacity:0}
.pc.force-hover .pc-i2{opacity:1;transform:scale(1.065)}
.pc.force-hover .pc-quick{transform:translateY(0);opacity:1}
.cat-c.force-hover{transform:translateY(-6px);box-shadow:var(--sh-2);border-color:var(--cyan)}
.cat-c.force-hover .cc-go{opacity:1;transform:none}
.cat-c.force-hover .cc-img{transform:scale(1.07);filter:saturate(1.08) brightness(1.03) drop-shadow(0 22px 32px rgba(15,21,25,.24))}
