/* ═══════════════════════════════════════════════════════
   ODINTRI v2 — ядро. Один файл на все страницы.
   Правишь здесь — меняется везде.
   ═══════════════════════════════════════════════════════ */

/* ── ШРИФТЫ ── */
@font-face{font-family:'Bebas';src:url('./fonts/BebasNeueCyrillic.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Museo';src:url('./fonts/museosanscyrl-300.woff2') format('woff2');font-weight:300;font-display:swap}
@font-face{font-family:'Museo';src:url('./fonts/museosanscyrl-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Museo';src:url('./fonts/museosanscyrl-700.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Museo';src:url('./fonts/museosanscyrl-900.woff2') format('woff2');font-weight:900;font-display:swap}

/* ── ТЕМЫ ── */
:root[data-theme="light"]{
  --bg:#F7F6F2; --bg2:#EFEDE7; --line:#DEDBD3;
  --tx:#171715; --tx2:#5F5F59; --stone:#6B6960;
  --acc:#C9A24B; --acc-soft:rgba(201,162,75,.18);
  --glass:rgba(247,246,242,.55); --glass-b:rgba(255,255,255,.6);
  --shadow:rgba(23,23,21,.10);
}
:root[data-theme="dark"]{
  --bg:#0B0B0A; --bg2:#141412; --line:#26251F;
  --tx:#F5F3EE; --tx2:#9A9A92; --stone:#55544D;
  --acc:#D8B25E; --acc-soft:rgba(216,178,94,.16);
  --glass:rgba(18,18,16,.55); --glass-b:rgba(255,255,255,.10);
  --shadow:rgba(0,0,0,.5);
}
:root{
  --disp:'Bebas',Impact,sans-serif;
  --sans:'Museo','Helvetica Neue',-apple-system,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --pad:clamp(1.2rem,4vw,3.5rem);
  --maxw:1500px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--bg)}
body{background:var(--bg);color:var(--tx);font-family:var(--sans);font-weight:300;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
  transition:background .4s var(--ease),color .4s var(--ease)}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;background:var(--bg2)}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}

/* ── ТИПОГРАФИКА ── */
h1,h2,h3{font-family:var(--disp);font-weight:400;letter-spacing:.02em;line-height:.92}
.h-xl{font-size:clamp(3rem,11vw,9rem);margin-top:.5rem}
.h-lg{font-size:clamp(2.2rem,6vw,4.5rem);margin-top:.4rem}
.h-md{font-size:clamp(1.6rem,3.6vw,2.6rem);margin-top:.35rem}
/* кикер всегда занимает одну и ту же высоту строки — заголовок под ним стартует
   на одной визуальной линии на любой странице, независимо от длины текста метки */
.kick{display:block;line-height:1.4;min-height:1.4em}
h1 .kick, h2 .kick{display:inline}
.kick{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--tx2);font-weight:500}
.lead{font-size:clamp(.95rem,1.5vw,1.1rem);line-height:1.7;color:var(--tx2);max-width:62ch}
.small{font-size:.88rem;line-height:1.6;color:var(--tx2)}
.mono{font-variant-numeric:tabular-nums;letter-spacing:.04em}

/* ── СТЕКЛО ── */
.glass{
  background:var(--glass);
  backdrop-filter:blur(26px) saturate(1.5);-webkit-backdrop-filter:blur(26px) saturate(1.5);
  border:1px solid var(--glass-b);
  box-shadow:0 1px 0 rgba(255,255,255,.22) inset, 0 24px 70px -24px var(--shadow);
}
@supports not (backdrop-filter:blur(1px)){ .glass{background:var(--bg2)} }

/* ── ШАПКА ── */
.nav{position:fixed;top:0;left:0;right:0;z-index:300;display:flex;align-items:center;
  justify-content:space-between;padding:1.1rem var(--pad);transition:background .35s var(--ease),
  backdrop-filter .35s var(--ease),padding .35s var(--ease),border-color .35s var(--ease)}
.nav .brand,.nav .nav-r{position:relative;z-index:2}
/* пока не проскроллено — подложка еле заметно проявляется при наведении на меню,
   отделяя ссылки от фото-фона без резкого появления полосы */
.nav:not(.on):hover{background:rgba(0,0,0,.16);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
:root[data-theme="light"] .nav:not(.on):hover{background:rgba(255,255,255,.14)}
.nav.on{background:var(--glass);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  border-bottom:1px solid var(--line);padding:.75rem var(--pad)}
.brand{font-family:var(--disp);font-size:1.6rem;letter-spacing:.14em}
.nav-r{display:flex;align-items:center;gap:1.4rem}
.menu{display:flex;gap:1.8rem}
.menu a{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--tx2);
  text-shadow:0 1px 3px rgba(0,0,0,0);
  transition:color .22s var(--ease),transform .22s var(--ease),text-shadow .22s;
  position:relative;padding:.3rem 0;display:inline-block}
.menu a::after{content:"";position:absolute;left:0;right:100%;bottom:-3px;height:2px;
  background:var(--acc);transition:right .28s var(--ease)}
.menu a:hover{color:#fff;transform:translateY(-1px) scale(1.06)}
.menu a:hover::after{right:0;background:#fff}
/* пока шапка на прозрачном фоне (баннер) — белый читается на любом фото.
   когда шапка легла на сплошной фон страницы (после скролла) — используем
   цвет текста темы, чтобы не тонуть в светлом фоне светлой темы */
.nav.on .menu a:hover{color:var(--tx)}
.nav.on .menu a:hover::after{background:var(--tx)}
.menu a[aria-current]{color:var(--tx);font-weight:700}
.menu a[aria-current]::after{right:0;background:var(--tx2)}

/* Burn The Dust — выделенный пункт меню, свой бренд внутри бренда */
.menu a.menu-burn{color:var(--acc);font-weight:700}
.menu a.menu-burn::after{background:var(--tx)}
.menu a.menu-burn:hover{color:var(--tx)}
.menu a.menu-burn[aria-current]{color:var(--tx)}
.menu a.menu-burn[aria-current]::after{right:0;background:var(--acc)}
/* пока шапка прозрачная (на фоне баннера) — подсветка ссылок читаема на любом фото */
.nav:not(.on) .menu a{text-shadow:0 1px 6px rgba(0,0,0,.35)}
:root[data-theme="dark"] .nav:not(.on) .menu a{text-shadow:0 1px 8px rgba(0,0,0,.6)}
.pill{display:inline-flex;align-items:center;gap:.3rem;padding:.45rem .75rem;border-radius:99px;
  border:1px solid var(--line);font-size:.76rem;letter-spacing:.1em;font-weight:700;color:var(--tx2);
  transition:transform .16s var(--ease),border-color .25s}
.pill:hover{border-color:var(--acc);color:var(--acc);transform:translateY(-1px) scale(1.05);box-shadow:0 6px 16px -8px var(--acc)}
.pill:active{transform:scale(.96)}
:root[data-lang="ru"] .pill .ru,:root[data-lang="en"] .pill .en{color:var(--acc)}
.burger{display:none;font-size:1.3rem;padding:.2rem .4rem}

/* ── КНОПКИ ── */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:var(--btn-py,.9rem) 1.7rem;
  font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;
  border-radius:var(--btn-r,2px);transition:transform .16s var(--ease),box-shadow .3s,background .3s,border-color .3s}
.btn:active{transform:scale(.97)}
.btn-fill{background:var(--acc);color:#171715}
.btn-fill:hover{box-shadow:0 12px 28px -12px var(--shadow);filter:brightness(1.06)}
.btn-line{border:1px solid var(--line);color:var(--tx)}
.btn-line:hover{border-color:var(--tx)}

/* ── СЕКЦИИ ── */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
.sec{padding:var(--sec-gap,clamp(3.5rem,8vw,7rem)) 0}
.sec-h{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;
  flex-wrap:wrap;margin-bottom:clamp(1.5rem,3vw,2.5rem)}
.rule{height:1px;background:var(--line);width:100%}

/* ── СЕТКИ ── */
.g2{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(10px,1.4vw,18px)}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,1.4vw,18px)}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,1.4vw,18px)}

/* ── КАРТОЧКА ТОВАРА / РАБОТЫ ── */
.card{position:relative;background:var(--bg2);border:1px solid var(--line);overflow:hidden;
  transition:border-color .3s,box-shadow .35s var(--ease),transform .35s var(--ease)}
.card:hover{border-color:var(--acc);box-shadow:0 18px 50px -24px var(--shadow);transform:translateY(-3px)}
.card-media{position:relative;aspect-ratio:var(--card-r,4/5);overflow:hidden;background:var(--bg2)}
.card-media img{width:100%;height:100%;object-fit:cover;transition:opacity .35s var(--ease)}
.card-body{padding:.9rem 1rem 1.1rem}
.card-t{font-family:var(--disp);font-size:1.25rem;letter-spacing:.03em}
.card-m{font-size:.82rem;color:var(--tx2);margin-top:.2rem}
.card-p{font-size:1rem;color:var(--tx);font-weight:700;margin-top:.5rem;letter-spacing:.02em}
.card-p s{color:var(--stone);font-weight:300;margin-right:.4rem}
.tag{position:absolute;top:.7rem;left:.7rem;z-index:3;font-size:.68rem;letter-spacing:.14em;
  text-transform:uppercase;padding:.25rem .55rem;border-radius:99px;color:#171715;background:var(--acc)}
.tag.sold{background:var(--stone)}
.tag.order{background:var(--tx2)}

/* мини-галерея в карточке: точки + стрелки, листать не открывая */
.dots{position:absolute;bottom:.6rem;left:0;right:0;z-index:3;display:flex;gap:5px;
  justify-content:center;opacity:0;transition:opacity .25s}
.card:hover .dots,.card:focus-within .dots{opacity:1}
.dot{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.5);
  box-shadow:0 0 0 1px rgba(0,0,0,.25)}
.dot.on{background:#fff;width:14px;border-radius:99px}
.arw{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:34px;height:34px;
  border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;
  background:rgba(0,0,0,.32);color:#fff;backdrop-filter:blur(6px);opacity:0;transition:opacity .25s}
.card:hover .arw,.card:focus-within .arw{opacity:1}
.arw.l{left:.5rem}.arw.r{right:.5rem}
.arw:hover{background:var(--acc);color:#171715}
.shots{position:absolute;top:.7rem;right:.7rem;z-index:3;font-size:.68rem;letter-spacing:.06em;
  padding:.2rem .45rem;border-radius:99px;background:rgba(0,0,0,.4);color:#fff}

/* ── БОЛЬШОЙ СЛАЙДЕР (герой витрины) ── */
.hero-slider{position:relative;height:var(--hero-h,clamp(420px,72vh,760px));overflow:hidden;background:var(--bg2);isolation:isolate}
.hs-track{display:flex;height:100%;width:100%;transition:transform .8s var(--ease);will-change:transform}
.hs-slide{flex:0 0 100%;min-width:100%;position:relative;height:100%}
.hs-slide img{width:100%;height:100%;object-fit:cover}
.hs-slide::after{content:"";position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(0,0,0,var(--veil,.55)),transparent 55%)}
.hs-cap{position:absolute;inset:0;z-index:2;padding:var(--pad);
  max-width:var(--maxw);margin:0 auto;color:#fff;
  display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start}
.hs-cap .kick{color:rgba(255,255,255,.75)}
.hs-cap h2{color:#fff;margin:.4rem 0 .6rem;font-size:calc(clamp(3rem,11vw,9rem) * var(--title-scale,1))}
.hs-cap p{color:rgba(255,255,255,.9);max-width:46ch;font-size:.98rem;line-height:1.6}
/* управление из админки: горизонталь и вертикаль текста на баннере */
.hs-cap[data-pos="center"]{align-items:center;text-align:center}
.hs-cap[data-pos="right"]{align-items:flex-end;text-align:right}
.hs-cap[data-pos="right"] p{margin-left:auto}
.hs-cap[data-valign="top"]{justify-content:flex-start}
.hs-cap[data-valign="center"]{justify-content:center}
.hs-nav{position:absolute;bottom:var(--pad);right:var(--pad);z-index:3;display:flex;gap:.5rem}
.hs-btn{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.45);
  color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.15rem;
  background:rgba(0,0,0,.2);backdrop-filter:blur(6px);
  transition:transform .22s var(--ease),background .22s,border-color .22s,box-shadow .22s}
.hs-btn:hover{background:var(--acc);border-color:var(--acc);color:#171715;
  transform:scale(1.14);box-shadow:0 8px 24px -6px var(--acc)}
:root[data-theme="dark"] .hs-btn:hover{color:#0B0B0A}
.hs-dots{position:absolute;bottom:calc(var(--pad) + 14px);left:var(--pad);z-index:3;display:flex;gap:6px}
.hs-dots i{width:22px;height:2px;background:rgba(255,255,255,.35);display:block;transition:.3s}
.hs-dots i.on{background:#fff}

/* ── ФИЛЬТРЫ ── */
.filters{display:flex;gap:.5rem;flex-wrap:wrap;padding:1rem 0;border-bottom:1px solid var(--line);
  margin-bottom:clamp(1.2rem,3vw,2rem)}
.filters button{border:1px solid var(--line);padding:.55rem 1.05rem;border-radius:99px;
  font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tx2);
  transition:.25s;font-weight:500}
.filters button:hover{border-color:var(--acc);color:var(--tx)}
.filters button.on{background:var(--tx);color:var(--bg);border-color:var(--tx)}
.lb-thumbs img.on{border-color:var(--acc)}
.filters .cnt{opacity:.55;margin-left:.35rem}

/* ── ЛАЙТБОКС ── */
.lb{position:fixed;inset:0;z-index:900;background:rgba(8,8,7,.92);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  display:none;align-items:center;justify-content:center;padding:clamp(.5rem,3vw,2rem);opacity:0;transition:opacity .3s}
.lb.open{display:flex;opacity:1}
.lb-in{width:100%;max-width:1280px;max-height:92vh;display:grid;grid-template-columns:1.35fr .85fr;
  background:var(--bg);border-radius:10px;overflow:hidden}
.lb-gal{position:relative;background:#0a0a09;display:flex;flex-direction:column;min-width:0}
.lb-stage{position:relative;flex:1;display:flex;align-items:center;justify-content:center;min-height:0}
.lb-stage img{max-width:100%;max-height:78vh;object-fit:contain}
.lb-thumbs{display:flex;gap:6px;padding:8px;overflow-x:auto;background:#111110;flex:0 0 auto}
.lb-thumbs img{width:62px;height:62px;object-fit:cover;opacity:.45;border:2px solid transparent;
  cursor:pointer;flex:0 0 auto;transition:.2s}
.lb-thumbs img.on{opacity:1;border-color:var(--acc)}
.lb-side{padding:clamp(1.4rem,2.5vw,2.4rem);display:flex;flex-direction:column;overflow-y:auto;background:var(--bg)}
.lb-side h3{margin:.4rem 0 .5rem}
.lb-cta{margin-top:auto;padding-top:1.4rem;display:grid;gap:.5rem}
.lb-x{position:absolute;top:1rem;right:1rem;z-index:10;width:42px;height:42px;border-radius:50%;
  background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.25);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:1.2rem}
.lb-x:hover{border-color:var(--acc);color:var(--acc)}
.lb-count{position:absolute;bottom:.7rem;left:50%;transform:translateX(-50%);z-index:5;
  font-size:.74rem;color:#fff;background:rgba(0,0,0,.5);padding:.2rem .6rem;border-radius:99px}

/* ── ПОДВАЛ ── */
.foot{border-top:1px solid var(--line);padding:clamp(2rem,4vw,3rem) 0 2rem;margin-top:2rem}
.foot-g{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem}
.foot h4{font-family:var(--sans);font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--tx2);font-weight:700;margin-bottom:.9rem}
.foot ul{list-style:none;display:grid;gap:.45rem}
.foot a{font-size:.88rem;color:var(--tx2);transition:color .2s}
.foot a:hover{color:var(--acc)}
.foot-b{margin-top:2rem;padding:1.2rem .2rem 0;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.76rem;color:var(--stone)}

/* ── АНИМАЦИИ ── */
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv.in{opacity:1;transform:none}
.plx{will-change:transform}

/* ── АДАПТИВ ── */
@media(max-width:1000px){
  .g4{grid-template-columns:repeat(3,1fr)}
  .lb-in{grid-template-columns:1fr;max-height:94vh;overflow-y:auto}
  .lb-stage img{max-height:52vh}
  .foot-g{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .burger{display:block}
  .menu{position:fixed;inset:0 0 auto 0;top:0;flex-direction:column;gap:1.2rem;
    padding:5.5rem var(--pad) 2rem;background:var(--bg);border-bottom:1px solid var(--line);
    transform:translateY(-110%);transition:transform .4s var(--ease);z-index:1;
    box-shadow:0 20px 50px -30px var(--shadow)}
  .menu.open{transform:none}
  .menu a{font-size:1.1rem;letter-spacing:.12em}
  .g3,.g4{grid-template-columns:repeat(2,1fr)}
  .foot-g{grid-template-columns:1fr}
  .plx{transform:none!important}
}
@media(max-width:460px){ .g2,.g3,.g4{grid-template-columns:1fr} }
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition-duration:.01ms!important}
  .plx{transform:none!important}
}

/* ═══════════════════════════════════════════════════════
   СТЕКЛО НА КАРТОЧКАХ И ПОДЛОЖКАХ
   Секции с фоном: <section class="sec has-bg" style="--bgimg:url(...)">
   Тогда карточки внутри становятся стеклянными поверх фона.
   ═══════════════════════════════════════════════════════ */

/* карточка-стекло (по умолчанию для всех карточек) */
.card{
  background:var(--glass);
  backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);
  border:1px solid var(--glass-b);
  box-shadow:0 1px 0 rgba(255,255,255,.18) inset, 0 18px 46px -22px var(--shadow);
}
.card-body{
  background:linear-gradient(180deg, transparent, var(--glass) 40%);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
/* плашка поверх фото — читается на любой картинке */
.card-over{
  position:absolute;left:.6rem;right:.6rem;bottom:.6rem;z-index:3;
  padding:.7rem .85rem;border-radius:8px;
  background:var(--glass);
  backdrop-filter:blur(22px) saturate(1.5);-webkit-backdrop-filter:blur(22px) saturate(1.5);
  border:1px solid var(--glass-b);
  box-shadow:0 1px 0 rgba(255,255,255,.2) inset;
}

/* подложка секции: фоновое изображение + затемнение под стекло */
.has-bg{position:relative;isolation:isolate;padding-left:clamp(1rem,3vw,2rem);padding-right:clamp(1rem,3vw,2rem);border-radius:14px}
.has-bg::before{
  content:"";position:absolute;inset:0;z-index:-2;
  background-image:var(--bgimg);background-size:cover;background-position:center;
  background-attachment:scroll;
}
.has-bg::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,var(--bg) 0%,transparent 18%,transparent 82%,var(--bg) 100%);
}
:root[data-theme="dark"] .has-bg::before{opacity:.55}
:root[data-theme="light"] .has-bg::before{opacity:.4}

/* стеклянный блок-контейнер (для текстовых панелей на подложке) */
.panel{
  padding:1.75rem;border-radius:12px;
  background:var(--glass);
  backdrop-filter:blur(26px) saturate(1.5);-webkit-backdrop-filter:blur(26px) saturate(1.5);
  border:1px solid var(--glass-b);
  box-shadow:0 1px 0 rgba(255,255,255,.22) inset, 0 26px 70px -28px var(--shadow);
}

/* фильтры тоже стеклянные, липнут под шапкой */
.filters.sticky{
  position:sticky;top:56px;z-index:120;
  background:var(--glass);
  backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);
  border-radius:99px;padding:.6rem .8rem;border:1px solid var(--glass-b);
  box-shadow:0 10px 30px -18px var(--shadow);
}
@media(max-width:760px){ .filters.sticky{position:static;border-radius:0;padding:1rem 0;background:none;backdrop-filter:none;border:none;box-shadow:none;border-bottom:1px solid var(--line)} }

/* блик по стеклу при наведении */
.card,.panel{position:relative;overflow:hidden}
.card::after,.panel::after{
  content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;pointer-events:none;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.28),transparent);
  transform:skewX(-18deg);transition:left .8s var(--ease)}
.card:hover::after,.panel:hover::after{left:130%}


/* ═══ ВИДЕО В СЛАЙДЕРАХ И ПОДЛОЖКАХ ═══ */
.hs-slide video{width:100%;height:100%;object-fit:cover;display:block}
.hs-slide .vwrap{position:absolute;inset:0}
/* видео-фон секции: <section class="sec has-bg"><video class="bg-video" ...> */
.bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;pointer-events:none}
:root[data-theme="dark"] .bg-video{opacity:.5}
:root[data-theme="light"] .bg-video{opacity:.35}
/* кнопка звука для баннер-видео */
.vsound{position:absolute;top:1rem;right:1rem;z-index:6;width:38px;height:38px;border-radius:50%;
  background:rgba(0,0,0,.4);color:#fff;border:1px solid rgba(255,255,255,.3);
  display:flex;align-items:center;justify-content:center;font-size:.9rem;backdrop-filter:blur(6px)}
.vsound:hover{border-color:var(--acc);color:var(--acc)}
@media(prefers-reduced-motion:reduce){ .hs-slide video,.bg-video{display:none} }

/* ═══ CV — боковая вкладка ═══ */
.cv-tab{position:fixed;right:0;top:50%;transform:translateY(-50%) translateX(0);z-index:280;
  writing-mode:vertical-rl;padding:1.1rem .62rem;border-radius:10px 0 0 10px;cursor:pointer;
  background:var(--glass);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);
  border:1px solid var(--glass-b);border-right:none;
  box-shadow:0 1px 0 rgba(255,255,255,.2) inset,-10px 0 34px -18px var(--shadow);
  font-size:.76rem;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--tx);
  transition:transform .3s var(--ease),color .25s,background .3s}
.cv-tab:hover{color:var(--acc);transform:translateY(-50%) translateX(-4px)}
.cv-tab .dotmark{width:5px;height:5px;border-radius:50%;background:var(--acc);display:block;margin:0 auto .5rem}

.cv-panel{position:fixed;top:0;right:0;bottom:0;width:min(560px,100%);z-index:400;
  transform:translateX(101%);transition:transform .45s var(--ease);
  background:var(--glass);backdrop-filter:blur(34px) saturate(1.5);-webkit-backdrop-filter:blur(34px) saturate(1.5);
  border-left:1px solid var(--glass-b);box-shadow:-30px 0 80px -30px var(--shadow);
  display:flex;flex-direction:column}
.cv-panel.open{transform:none}
.cv-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;
  padding:1.4rem var(--pad);border-bottom:1px solid var(--line);flex:0 0 auto}
.cv-body{flex:1;overflow-y:auto;padding:1.4rem var(--pad) 2rem}
.cv-body h4{font-family:var(--sans);font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--tx2);font-weight:700;margin:1.8rem 0 .7rem;padding-bottom:.5rem;border-bottom:1px solid var(--line)}
.cv-body h4:first-child{margin-top:0}
.cv-row{display:grid;grid-template-columns:58px 1fr;gap:.9rem;padding:.5rem 0;align-items:baseline}
.cv-row .y{font-family:var(--disp);font-size:1.05rem;color:var(--acc)}
.cv-row .t{font-size:.9rem;line-height:1.5}
.cv-row .p{font-size:.82rem;color:var(--tx2)}
.cv-chips{display:flex;flex-wrap:wrap;gap:.4rem}
.cv-chips span{padding:.34rem .8rem;border:1px solid var(--line);border-radius:99px;
  font-size:.8rem;color:var(--tx2)}
.cv-back{position:fixed;inset:0;z-index:390;background:rgba(8,8,7,.5);backdrop-filter:blur(3px);
  opacity:0;visibility:hidden;transition:.35s}
.cv-back.open{opacity:1;visibility:visible}
@media(max-width:760px){
  .cv-tab{top:auto;bottom:1.1rem;right:1.1rem;transform:none;writing-mode:horizontal-tb;
    border-radius:99px;border-right:1px solid var(--glass-b);padding:.7rem 1.1rem;
    box-shadow:0 12px 30px -14px var(--shadow)}
  .cv-tab:hover{transform:none}
  .cv-tab .dotmark{display:inline-block;margin:0 .45rem 0 0}
  .cv-panel{width:100%}
}


/* ═══ ПРАВКИ ПО АУДИТУ ═══ */
/* в тёмной теме — нейтральная тень вместо цветного ореола */
:root[data-theme="dark"] .btn-fill:hover{box-shadow:0 12px 30px -12px rgba(0,0,0,.75)}
:root[data-theme="dark"] .card:hover{box-shadow:0 18px 50px -24px rgba(0,0,0,.7)}
/* заголовки подвала — h3, чтобы не рвать иерархию */
.foot h3{font-family:var(--sans);font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--tx2);font-weight:700;margin-bottom:.9rem}
/* картинки, которые заполняет скрипт — не «битые» до загрузки */
img[data-fill]{min-height:1px}

@media(max-width:560px){ .panel{padding:1.3rem} }


/* ═══ МОБИЛЬНЫЕ ДОРАБОТКИ ═══ */
@media(max-width:760px){
  .hero-slider{height:clamp(360px,58vh,520px)}
  .hs-cap h2{font-size:clamp(2.2rem,13vw,3.4rem)}
  .hs-cap p{font-size:.86rem}
  .hs-nav{bottom:auto;top:50%;transform:translateY(-50%);left:0;right:0;
    justify-content:space-between;padding:0 .6rem;pointer-events:none}
  .hs-btn{pointer-events:auto;width:38px;height:38px;background:rgba(0,0,0,.35)}
  .hs-dots{bottom:.9rem}
  /* тап-цели не меньше 44px */
  .pill,.burger,.hs-btn,.filters button{min-height:44px}
  .filters button{padding:.7rem 1.1rem}
  /* стрелки галереи в карточке всегда видны на тач-устройствах */
  .card .arw,.card .dots{opacity:1}
  .arw{width:38px;height:38px}
  /* лайтбокс: фото крупнее, панель под ним */
  .lb{padding:0}
  .lb-in{border-radius:0;max-height:100vh}
  .lb-stage img{max-height:56vh}
  .lb-side{padding:1.2rem}
  .lb-x{top:.7rem;right:.7rem}
  .lb-price-box{padding:.8rem 1rem}
  .sec-h{align-items:flex-start;flex-direction:column}
  /* бутик: подпись «Смотреть →» всегда видна без hover */
  .boutique-info .view{opacity:1;transform:none;color:var(--acc)}
  .boutique-hero h1{font-size:clamp(3rem,15vw,5rem)}
  .boutique-hero p{font-size:.9rem;max-width:32ch}
  .boutique-filters{gap:1.2rem;padding-bottom:1.5rem;margin-bottom:1.5rem;overflow-x:auto;
    flex-wrap:nowrap;-webkit-overflow-scrolling:touch}
  .boutique-filters button{white-space:nowrap;padding:.3rem 0}
  .boutique-custom-note{font-size:.78rem;padding:2rem 0}
  /* промо-баннер: текст не обрезается на узких экранах */
  .promo-in{max-width:80%}
}
@media(hover:none){
  /* без наведения — блик и hover-подъём не нужны */
  .card::after,.panel::after{display:none}
  .card:hover{transform:none}
}

/* ═══════════════════════════════════════════════════════
   ВИТРИНА МАГАЗИНА — воздух, иерархия, ритм
   ═══════════════════════════════════════════════════════ */
.shop-grid{
  display:grid;grid-template-columns:repeat(var(--cols,3),1fr);
  gap:clamp(10px,1.3vw,18px);
}
/* первая работа — крупным блоком на две колонки */
.shop-grid .card.feat{grid-column:span 2}
.shop-grid .card.feat .card-media{aspect-ratio:16/11}
.shop-grid .card.feat .card-t{font-size:1.8rem}
.shop-grid .card.feat .card-body{padding:1.2rem 1.4rem 1.5rem}
/* крупнее сетка на широких экранах — меньше колонок, больше фото */
@media(min-width:1300px){ .shop-grid{grid-template-columns:repeat(var(--cols,2),1fr)} }

/* пропорции по типу работы — сетка перестаёт быть таблицей */
.card-media[data-shape="tall"]{aspect-ratio:3/4}
.card-media[data-shape="square"]{aspect-ratio:1}
.card-media[data-shape="wide"]{aspect-ratio:4/3}

/* действие прямо на карточке */
.card-act{
  display:block;width:100%;margin-top:.9rem;padding:.7rem 1rem;text-align:center;
  border:1px solid var(--line);border-radius:4px;
  font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;
  color:var(--tx);transition:.22s var(--ease)
}
.card-act:hover{background:var(--acc);border-color:var(--acc);color:#171715}
.card-act.muted{color:var(--tx2);border-style:dashed}
.card-act.muted:hover{background:transparent;color:var(--tx);border-color:var(--tx2)}

/* строка подлинности — рядом с ценой, а не в подвале страницы */
.card-auth{
  display:flex;align-items:center;gap:.4rem;margin-top:.45rem;
  font-size:.82rem;color:var(--tx2)
}
.card-auth::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--acc);flex:0 0 auto}

/* цена крупнее, акцент только здесь и на кнопке */

.shop-grid .card.feat .card-p{font-size:1.25rem}

/* приглушаем золото там, где оно расползлось */
.kick{color:var(--tx2)}
.card-m{color:var(--tx2)}

@media(max-width:1000px){
  .shop-grid{grid-template-columns:repeat(2,1fr);gap:14px}
  .shop-grid .card.feat{grid-column:span 2}
}
@media(max-width:620px){
  .shop-grid{grid-template-columns:1fr;gap:14px}
  .shop-grid .card.feat{grid-column:span 1}
  .shop-grid .card.feat .card-media{aspect-ratio:4/3}
  .shop-grid .card.feat .card-t{font-size:1.45rem}
  .card-act{opacity:1}
}

:root[data-theme="dark"] .btn-fill{color:#0B0B0A}
:root[data-theme="dark"] .tag{color:#0B0B0A}
:root[data-theme="dark"] .card-act:hover{color:#0B0B0A}

/* ═══════════════════════════════════════════════════════
   СОВРЕМЕННАЯ ПОДАЧА — вход, глубина, счётчики
   ═══════════════════════════════════════════════════════ */

/* глубина между крупными has-bg подложками — параллакс фона внутри блока */
/* параллакс на фоне подложки убран — он расходился с затемняющим градиентом и давал видимый шов сверху */

/* hero-слайдер — лёгкий параллакс картинки/видео при скролле мимо */
.hs-slide{overflow:hidden}
.hs-slide img,.hs-slide video{transform:scale(1.06);transition:transform .1s linear}

/* счётчик — моноширинные цифры, не прыгает при смене значения */
[data-count]{font-variant-numeric:tabular-nums}

@media(prefers-reduced-motion:reduce){
  body{opacity:1!important}
}


/* вход страницы: мягкое проявление. Надёжно — стартовое состояние задаёт САМА анимация,
   поэтому если JS/анимация не выполнится, контент остаётся видимым (opacity:1 по умолчанию). */
@keyframes od-fade-in{from{opacity:0}to{opacity:1}}
body.od-anim{animation:od-fade-in .5s var(--ease)}

/* ═══ ПРОМО-БАННЕР (переход на подраздел, напр. BURN THE DUST) ═══ */
.promo-band{
  display:block;position:relative;overflow:hidden;
  height:clamp(140px,20vw,220px);
  margin-bottom:clamp(1.5rem,3vw,2.5rem);
  border-radius:12px;border:1px solid var(--line);
  background-image:var(--bimg);background-size:cover;background-position:center;
  text-decoration:none;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease)
}
.promo-band::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.35) 55%,transparent 100%)
}
.promo-band:hover{transform:translateY(-2px);box-shadow:0 20px 50px -24px var(--shadow)}
.promo-in{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:center;
  padding:1.4rem 1.7rem;max-width:70%}
.promo-in .kick{color:rgba(255,255,255,.75)}
.promo-in .h-md{color:#fff}
.promo-in .small{color:rgba(255,255,255,.85)}
.promo-arrow{position:absolute;z-index:1;right:1.4rem;top:50%;transform:translateY(-50%);
  color:#fff;font-size:1.3rem;transition:transform .3s var(--ease)}
.promo-band:hover .promo-arrow{transform:translateY(-50%) translateX(6px)}
@media(max-width:620px){
  .promo-band{height:170px}
  .promo-in{max-width:85%;padding:1.1rem 1.3rem}
}

/* ═══ КАРТОЧКА ТОВАРА В ЛАЙТБОКСЕ — структура ═══ */
.lb-price-box{
  margin-top:1.1rem;padding:.9rem 1.1rem;border-radius:8px;
  background:var(--bg2);border:1px solid var(--line)
}

/* ═══════════════════════════════════════════════════════
   BURN THE DUST — БУТИК. Другая атмосфера, не витрина shop.
   Крупные снимки, минимум текста на плитке, цена скрыта до клика.
   ═══════════════════════════════════════════════════════ */

/* полноэкранный hero без карусели — один цельный кадр, как обложка лукбука */
.boutique-hero{
  position:relative;height:100svh;min-height:560px;max-height:900px;
  overflow:hidden;isolation:isolate;background:#0a0a09
}
.boutique-hero img{width:100%;height:100%;object-fit:cover;opacity:.92}
.boutique-hero::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,.1) 45%,rgba(8,8,7,.92) 100%)
}
.boutique-hero-in{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:0 var(--pad) clamp(3rem,7vw,5.5rem)}
.boutique-hero .kick{color:rgba(255,255,255,.6);font-size:.72rem}
.boutique-hero h1{
  color:#fff;font-size:calc(clamp(3.5rem,11vw,8.5rem) * var(--title-scale,1));line-height:.86;margin:.5rem 0 1rem
}
.boutique-hero p{color:rgba(255,255,255,.78);max-width:44ch;font-size:1.02rem;line-height:1.7}
.boutique-scroll{
  position:absolute;left:50%;bottom:1.6rem;z-index:2;transform:translateX(-50%);
  color:rgba(255,255,255,.5);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;
  display:flex;flex-direction:column;align-items:center;gap:.5rem
}
.boutique-scroll::after{content:"";width:1px;height:26px;background:rgba(255,255,255,.4);
  animation:boutique-scroll-move 1.8s ease-in-out infinite}
@keyframes boutique-scroll-move{0%,100%{transform:scaleY(.4);opacity:.3}50%{transform:scaleY(1);opacity:1}}

/* сетка бутика — крупнее промежутки, воздух вместо плотности */
.boutique-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,44px)}
.boutique-card{position:relative;cursor:pointer}
.boutique-media{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--bg2)}
.boutique-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.boutique-card:hover .boutique-media img{transform:scale(1.045)}
.boutique-status{
  position:absolute;top:1rem;left:1rem;z-index:2;font-size:.62rem;letter-spacing:.14em;
  text-transform:uppercase;padding:.3rem .65rem;border-radius:99px;
  background:rgba(0,0,0,.45);color:#fff;backdrop-filter:blur(6px)
}
.boutique-status.sold{opacity:.7}
.boutique-status.order{background:rgba(0,0,0,.45)}
/* текст на плитке минимальный — название и материал, цена НЕ показана (только при открытии) */
.boutique-info{padding:.9rem .1rem 0;text-align:left}
.boutique-info .t{font-family:var(--disp);font-size:1.15rem;letter-spacing:.03em;color:var(--tx)}
.boutique-info .m{font-size:.76rem;color:var(--tx2);margin-top:.15rem;letter-spacing:.01em}
.boutique-info .view{
  font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tx2);
  margin-top:.5rem;opacity:0;transform:translateY(4px);
  transition:opacity .25s,transform .25s
}
.boutique-card:hover .boutique-info .view{opacity:1;transform:none}

/* фильтры бутика — тоньше, без счётчиков, больше пробелов между */
.boutique-filters{display:flex;gap:2rem;flex-wrap:wrap;padding-bottom:clamp(2rem,4vw,3rem);
  border-bottom:1px solid var(--line);margin-bottom:clamp(2rem,4vw,3rem)}
.boutique-filters button{
  font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tx2);
  padding:0;position:relative;transition:color .25s
}
.boutique-filters button::after{content:"";position:absolute;left:0;right:100%;bottom:-.5rem;
  height:1px;background:var(--acc);transition:right .3s var(--ease)}
.boutique-filters button:hover{color:var(--tx)}
.boutique-filters button.on{color:var(--tx);font-weight:700}
.boutique-filters button.on::after{right:0}

/* сноска про кастом — одна строка, не блок-CTA */
.boutique-custom-note{
  text-align:center;padding:2.5rem 0;font-size:.82rem;color:var(--tx2);
  border-top:1px solid var(--line);margin-top:1rem
}
.boutique-custom-note a{color:var(--acc);border-bottom:1px solid transparent;transition:border-color .2s}
.boutique-custom-note a:hover{border-color:var(--acc)}

@media(max-width:1000px){ .boutique-grid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:620px){
  .boutique-hero{height:82svh}
  .boutique-grid{grid-template-columns:1fr;gap:2rem}
  .boutique-filters{gap:1.2rem}
}

/* ═══ СОГЛАСИЕ НА ОБРАБОТКУ ПЕРСОНАЛЬНЫХ ДАННЫХ ═══ */
.consent{display:flex;gap:.6rem;align-items:flex-start;cursor:pointer;
  padding:.6rem .7rem;border-radius:8px;border:1px solid transparent;transition:border-color .25s,background .25s}
.consent input[type="checkbox"]{
  appearance:none;-webkit-appearance:none;flex:0 0 auto;
  width:20px;height:20px;margin-top:.1rem;border:1.5px solid var(--stone);border-radius:4px;
  background:var(--bg);cursor:pointer;position:relative;transition:.2s
}
.consent input[type="checkbox"]:checked{background:var(--acc);border-color:var(--acc)}
.consent input[type="checkbox"]:checked::after{
  content:"✓";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:.8rem;color:#171715;font-weight:700
}
.consent input[type="checkbox"]:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.consent a{color:var(--acc);border-bottom:1px solid transparent;transition:border-color .2s}
.consent a:hover{border-color:var(--acc)}
.consent.need{border-color:#c0392b;background:rgba(192,57,43,.06)}
.consent.need input[type="checkbox"]{border-color:#c0392b}

/* ═══ ЖУРНАЛЬНЫЕ БАННЕРЫ ПРОЕКТОВ (страница Artist) ═══ */
.feat-banner{
  position:relative;overflow:hidden;border-radius:12px;margin-bottom:1.4rem;
  aspect-ratio:21/9;background:var(--bg2)
}
.feat-banner img{width:100%;height:100%;object-fit:cover}
.feat-banner::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.3) 55%,transparent 100%)
}
.feat-in{position:absolute;left:0;top:0;bottom:0;z-index:1;display:flex;flex-direction:column;
  justify-content:center;padding:clamp(1.2rem,3.5vw,2.6rem);max-width:min(78%,560px);color:#fff}
.feat-in .kick{color:var(--acc);font-size:.7rem}
.feat-in .t{font-family:var(--disp);font-size:clamp(1.6rem,3.4vw,2.6rem);line-height:1;margin:.35rem 0 .5rem;color:#fff}
.feat-in .p{font-size:.78rem;color:rgba(255,255,255,.65);margin-bottom:.6rem;letter-spacing:.03em}
.feat-in .d{font-size:.88rem;line-height:1.6;color:rgba(255,255,255,.85);max-width:44ch}
@media(max-width:760px){
  .feat-banner{aspect-ratio:4/5}
  .feat-in{max-width:88%}
}

/* короткие проекты списком под баннерами */
.oproj-row{display:grid;grid-template-columns:60px 1fr auto;gap:1rem;align-items:baseline;
  padding:.8rem 0;border-top:1px solid var(--line)}
.oproj-row .y{font-family:var(--disp);color:var(--acc);font-size:1.05rem}
.oproj-row .t{font-size:.88rem}
.oproj-row .p{font-size:.78rem;color:var(--tx2);text-align:right}

/* ═══ ПЕЧАТЬ / СКАЧИВАНИЕ В PDF (кнопка ⭳ PDF на странице Artist) ═══ */
@media print{
  .nav,.foot,.cv-tab,.cv-panel,.boutique-scroll,.filters,.hs-nav,.hs-dots,.lb,
  .pill,.burger,.btn,.rule ~ .btn{display:none !important}
  body{background:#fff !important;color:#111 !important}
  .sec{padding:.6rem 0 !important;break-inside:avoid}
  .feat-banner{aspect-ratio:auto;height:220px;break-inside:avoid}
  .card,.panel{box-shadow:none !important;border:1px solid #ddd !important}
  a{color:#111 !important;text-decoration:none !important}
  .wrap{max-width:100% !important;padding:0 !important}
  section[style*="height:clamp"]{height:220px !important}
  .plx{transform:none !important}
}

/* ═══ ЧЕКАУТ — форма оформления заказа поверх карточки товара ═══ */
.checkout{
  position:fixed;inset:0;z-index:950;background:rgba(8,8,7,.92);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  display:none;align-items:center;justify-content:center;padding:clamp(.5rem,3vw,2rem);opacity:0;transition:opacity .3s
}
.checkout.open{display:flex;opacity:1}
.checkout-in{
  width:100%;max-width:520px;max-height:92vh;overflow-y:auto;border-radius:12px;
  background:var(--bg);padding:clamp(1.4rem,3vw,2.2rem)
}
.checkout-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.4rem}
.checkout-item{display:flex;gap:.9rem;align-items:center;padding:.9rem;border-radius:8px;
  background:var(--bg2);border:1px solid var(--line);margin-bottom:1.4rem}
.checkout-item img{width:56px;height:56px;object-fit:cover;border-radius:6px;flex:0 0 auto}
.checkout-item .t{font-family:var(--disp);font-size:1.1rem}
.checkout-item .p{font-size:.85rem;color:var(--acc);font-weight:700;margin-top:.15rem}
.checkout-step-t{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--tx2);
  font-weight:700;margin:1.3rem 0 .7rem}
.checkout-step-t:first-of-type{margin-top:0}
.checkout-opt{display:flex;gap:.7rem;align-items:flex-start;padding:.8rem;border-radius:8px;
  border:1px solid var(--line);margin-bottom:.5rem;cursor:pointer;transition:border-color .2s,background .2s}
.checkout-opt:hover{border-color:var(--acc)}
.checkout-opt.on{border-color:var(--acc);background:var(--acc-soft)}
.checkout-opt input{margin-top:.2rem;accent-color:var(--acc)}
.checkout-opt .lbl{font-size:.88rem;font-weight:700}
.checkout-opt .sub{font-size:.76rem;color:var(--tx2);margin-top:.1rem}
.checkout input[type="text"],.checkout input[type="tel"],.checkout textarea{
  width:100%;padding:.75rem .85rem;background:var(--bg2);border:1px solid var(--line);
  color:var(--tx);border-radius:8px;font-family:inherit;font-size:.9rem;margin-bottom:.7rem
}
.checkout textarea{resize:vertical;min-height:70px}
.checkout-total{display:flex;justify-content:space-between;align-items:baseline;
  padding:1rem 0;border-top:1px solid var(--line);margin-top:1rem}
.checkout-total .lbl{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tx2)}
.checkout-total .sum{font-family:var(--disp);font-size:1.7rem;color:var(--tx)}
.checkout-note{font-size:.76rem;color:var(--tx2);text-align:center;margin-top:.8rem;line-height:1.6}
.checkout-x{background:none;border:none;color:var(--tx2);font-size:1.3rem;cursor:pointer;padding:0;line-height:1}
.checkout-x:hover{color:var(--acc)}

/* ═══ СВОРАЧИВАЕМАЯ ВКЛАДКА (доставка, как купить, и т.п.) ═══ */
.acc{border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:.8rem;background:var(--bg2)}
.acc-h{display:flex;justify-content:space-between;align-items:center;gap:1rem;
  padding:1rem 1.2rem;cursor:pointer;user-select:none}
.acc-h .t{display:flex;align-items:center;gap:.7rem}
.acc-h .kick{margin:0}
.acc-h .h-md{margin:0;font-size:1.15rem}
.acc-arrow{flex:0 0 auto;font-size:1.1rem;color:var(--tx2);transition:transform .3s var(--ease)}
.acc.open .acc-arrow{transform:rotate(180deg)}
.acc-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s var(--ease)}
.acc-body>div{overflow:hidden;min-height:0}
.acc.open .acc-body{grid-template-rows:1fr}
.acc-inner{padding:0 1.2rem 1.2rem}
.acc-inner p{margin-bottom:.6rem}
.acc-inner ul{padding-left:1.2rem;margin-bottom:.6rem}
.acc-inner li{font-size:.86rem;line-height:1.7;color:var(--tx2);margin-bottom:.3rem}

/* ── управление видом из админки (theme на сервере) ── */
html{font-size:calc(100% * var(--fs,1))}
:root[data-custom] .card-media[data-shape]{aspect-ratio:var(--card-r,4/5)}
