/* ==========================================================================
   ШАБЛОН apothecary — банковский скелет сети (нейтральная палитра, плейсхолдеры)
   --------------------------------------------------------------------------
   ПАРАДИГМА
   Аптечный шкаф. Страница — фасад высокого шкафа с выдвижными ящичками:
     · КОРПУС     — .ahwood, фиксированный слой волокна под контентом, и .ahcab,
                    вертикаль самого шкафа;
     · ЯЩИЧЕК     — .ahdrawer, главная единица раскладки. Состоит из ДВУХ частей:
                    .ahdrawer__face — фронт (фаска, латунная ручка .ahpull,
                    рукописный ярлык .ahlabel с номером ящика) и
                    .ahdrawer__in — «выдвинутое нутро», куда падает контент;
     · СЕТКА      — .ahbank раскладывает ящички в 2 колонки: по умолчанию ящик
                    занимает всю ширину (grid-column:1/-1), .ahdrawer--half
                    встаёт в половину. Пары половинок дают настоящую сетку шкафа;
     · СКЛЯНКИ    — .ahvial, карточка-флакон с притёртой пробкой .ahvial__cork
                    и уровнем налива .ahvial__fill (двойная роль: декор + шкала);
     · ВЕСЫ       — .ahscale, аптечный балансир: коромысло + две чаши с цифрами;
     · БЛАНК      — .ahscript, рецептурный бланк на кремовой бумаге в линейку,
                    единственный СВЕТЛЫЙ блок шаблона (заметка автора).
   Дерево, латунь, стекло и бумага нарисованы ТОЛЬКО градиентами, тенями и
   inline-SVG. Растровых картинок в шаблоне нет и добавлять их не нужно.

   NAMESPACE
   Все классы начинаются на .ah — .ahwood, .ahcase, .ahmini, .ahflask, .ahcab,
   .ahcornice, .ahmark, .ahnav, .ahcounter, .ahscale, .ahkpi, .ahcta/.ahbtn,
   .ahrule, .ahbank, .ahdrawer, .ahpull, .ahlabel, .ahgrid, .ahcard, .ahvials,
   .ahvial, .ahscroll/.ahtab, .ahtiers, .ahrev, .ahfaq, .ahscript, .ahfoot,
   .ahh/.ahkick/.ahlead/.ahmut/.ahem/.ahem2/.ahnum/.ahage.
   Вне .ah* объявляются только base-правила body/p/a/img — пересечений с другими
   шаблонами банка нет.

   ПОРЯДОК БЛОКОВ (см. apothecary.sample.html)
   .ahwood → .ahcase--l/--r → .ahcab[ .ahcornice → .ahcounter (H1 + лид + 2 CTA
   + .ahscale + .ahkpi) → .ahrule → main.ahbank (.ahdrawer × N) → .ahscript
   (E-E-A-T) → .ahfoot (18+) ].
   Ящички идут ПОДРЯД внутри .ahbank: чередование фактуры фронтов держится на
   :nth-of-type, посторонний элемент между ними сбивает ритм фасада.
   Половинки ставятся только парами, иначе в сетке остаётся дыра.

   АДАПТИВ
   ≤1180px — боковые кассеты .ahcase снимаются; ≤900px — .ahbank в одну колонку,
   герой в одну колонку, сетки в 2; ≤620px — всё в колонку, ярлык распрямляется
   (rotate:0), кнопки на всю ширину. Горизонтального скролла у страницы нет:
   широкие таблицы лежат в .ahscroll{overflow-x:auto}, у всех грид-колонок
   minmax(0,1fr), у ячеек min-width:0 — иначе min-width таблицы протекает в
   грид-трек и на 390px появляется горизонтальный скролл.

   ЛОВУШКИ ПЕРЕКРАСКИ
   1. Весь цвет собран из --ah-h / --ah-h2 через hsl(var(--ah-h) …) прямо в
      объявлениях, поэтому смена двух чисел в :root перекрашивает шаблон целиком.
      НО светлота подобрана под ТЁМНЫЙ корпус: если ставите светлую тему, руками
      правьте --ah-ink/--ah-mut (они станут нечитаемы) и тени .ahdrawer__in
      (inset-тень рассчитана на тёмное нутро и на светлом даёт грязь).
   2. .ahscript — единственный блок со СВЕТЛОЙ подложкой и ТЁМНЫМ текстом. Цвет
      текста, ссылок и заголовка внутри него задан явно (--ah-paper-ink). При
      смене hue проверяйте контраст именно здесь: наследование от body сделает
      кремовый лист с кремовым текстом. То же касается .ahlabel и .ahrev — это
      бумага, у них своя пара цветов.
   3. Латунь (.ahpull, .ahrule, .ahcornice::after, .ahage, обводки .ahbtn--p)
      живёт на --ah-h2. Триадная/комплементарная схема второго акцента обязана
      оставаться заметно ТЕПЛЕЕ и СВЕТЛЕЕ корпуса, иначе ручки сливаются с
      фасадом и шкаф перестаёт читаться как шкаф.
   4. .ahvial__fill и .ahtiers li:nth-child(n) берут прозрачность из --ah-glass:
      цвет и alpha меняются только парой. На светлом корпусе стекло с alpha .18
      исчезает, на тёмном при alpha .6 флакон превращается в кирпич.
   5. .ahdrawer__face:nth-of-type — фактуры фронтов (шаг волокна) заданы шагом в
      px, а не цветом; при смене шрифта/размеров шаг НЕ пересчитывается — ящик
      выше 340px начинает выглядеть полосатым. Держите шаг 7-9px.
   6. У КАЖДОГО font-family обязателен фолбэк-стек. Голое имя вебшрифта роняет
      страницу в Times New Roman и ломает всю вертикальную ритмику.

   ПЛЕЙСХОЛДЕРЫ
   {{FONT_DISPLAY}} — заголовочная гарнитура, {{FONT_BODY}} — текстовая.
   Обе обязаны содержать кириллицу (см. templates/README.md).
   Палитра ниже намеренно нейтральная (графит-корпус + песочная латунь) и
   вынесена в блок @palette:start/end: подставьте свой hue в --ah-h и схему
   второго акцента в --ah-h2, остальные переменные пересчитаются сами.
   ========================================================================== */

/* @palette:start — перекраска сайта = правка двух чисел ниже (нейтральный банк) */
:root{
  --ah-h:210;          /* корпус, стекло, тени: базовый hue сайта */
  --ah-h2:40;          /* латунь, ярлыки: второй акцент, схема из набора параметров */
}
/* @palette:end */

:root{
  --ah-bg:hsl(var(--ah-h) 12% 8%);
  --ah-bg2:hsl(var(--ah-h) 12% 11%);
  --ah-wood:hsl(var(--ah-h) 14% 14%);
  --ah-wood2:hsl(var(--ah-h) 14% 18%);
  --ah-cav:hsl(var(--ah-h) 16% 10%);      /* нутро ящика */
  --ah-line:hsl(var(--ah-h) 10% 27%);
  --ah-ink:hsl(var(--ah-h2) 14% 93%);
  --ah-mut:hsl(var(--ah-h2) 8% 72%);
  --ah-acc:hsl(var(--ah-h) 24% 62%);
  --ah-acc-d:hsl(var(--ah-h) 26% 34%);
  --ah-brass:hsl(var(--ah-h2) 42% 62%);
  --ah-brass-d:hsl(var(--ah-h2) 34% 33%);

  /* бумага: ярлыки, отзывы, рецептурный бланк */
  --ah-paper:hsl(var(--ah-h2) 30% 90%);
  --ah-paper2:hsl(var(--ah-h2) 26% 82%);
  --ah-paper-ink:hsl(var(--ah-h) 22% 15%);
  --ah-paper-mut:hsl(var(--ah-h) 12% 36%);

  /* стекло склянок: цвет и alpha меняются только парой — ловушка 4 */
  --ah-glass:hsl(var(--ah-h) 30% 55% / .3);
  --ah-glass2:hsl(var(--ah-h2) 40% 58% / .26);

  --ah-fd:"{{FONT_DISPLAY}}",system-ui,"Segoe UI",Arial,sans-serif;
  --ah-fb:"{{FONT_BODY}}",system-ui,"Segoe UI",Arial,sans-serif;

  --ah-rad:4px;
  --ah-gut:clamp(14px,3vw,28px);
  --ah-max:1160px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--ah-bg);
  color:var(--ah-ink);
  font-family:var(--ah-fb);
  font-size:17px;
  line-height:1.68;
  overflow-x:hidden;
}
img,svg{max-width:100%;height:auto}
p{margin:0 0 14px}
a{color:var(--ah-brass);text-decoration:none}
a:hover{text-decoration:underline}

/* ---------- корпус: волокно дерева через всю страницу ---------- */
.ahwood{
  position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    repeating-linear-gradient(90deg,
      hsl(var(--ah-h) 14% 22% / .5) 0 1px,transparent 1px 8px),
    repeating-linear-gradient(90deg,
      hsl(var(--ah-h) 16% 30% / .16) 0 2px,transparent 2px 63px),
    linear-gradient(180deg,var(--ah-bg2),var(--ah-bg) 60%,var(--ah-bg2));
  opacity:.9;
}

/* ---------- боковые кассеты: слева мелкие ящички, справа склянки ---------- */
.ahcase{
  position:fixed;top:0;bottom:0;width:56px;z-index:1;pointer-events:none;
  display:flex;flex-direction:column;justify-content:space-around;align-items:center;
  padding:18px 0;
  background:linear-gradient(180deg,transparent,hsl(var(--ah-h) 18% 6% / .6),transparent);
}
.ahcase--l{left:0;color:var(--ah-brass)}
.ahcase--r{right:0;color:var(--ah-acc)}
.ahmini{
  width:34px;height:26px;flex:none;border-radius:2px;
  border:1px solid hsl(var(--ah-h) 12% 32%);
  background:linear-gradient(180deg,var(--ah-wood2),var(--ah-wood));
  position:relative;opacity:.72;
}
.ahmini::after{
  content:"";position:absolute;left:50%;top:50%;width:14px;height:3px;
  transform:translate(-50%,-50%);border-radius:2px;
  background:linear-gradient(180deg,var(--ah-brass),var(--ah-brass-d));
}
.ahflask{width:26px;height:52px;opacity:.55;display:block}
.ahflask__g{fill:none;stroke:currentColor;stroke-width:2}
.ahflask__c{fill:currentColor;opacity:.8}
.ahflask__l{stroke:currentColor;stroke-width:1.3;opacity:.6}

/* ---------- вертикаль шкафа ---------- */
.ahcab{position:relative;z-index:2}
.ahshell{max-width:var(--ah-max);margin:0 auto;padding:0 var(--ah-gut)}

/* ---------- карниз (шапка) ---------- */
.ahcornice{
  position:relative;
  border-bottom:1px solid var(--ah-line);
  background:linear-gradient(180deg,
    hsl(var(--ah-h) 16% 15% / .97),
    hsl(var(--ah-h) 16% 9% / .94));
}
.ahcornice::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;
  background:linear-gradient(90deg,
    transparent,var(--ah-brass-d) 12%,var(--ah-brass) 50%,var(--ah-brass-d) 88%,transparent);
  opacity:.85;
}
.ahcornice__in{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:13px 0}
.ahmark{display:flex;align-items:center;gap:11px;min-width:0}
.ahmark__cap{
  width:40px;height:34px;flex:none;border-radius:3px;position:relative;
  border:1px solid var(--ah-brass-d);
  background:
    repeating-linear-gradient(90deg,hsl(var(--ah-h) 14% 30% / .45) 0 1px,transparent 1px 7px),
    linear-gradient(180deg,var(--ah-wood2),var(--ah-wood));
}
.ahmark__cap::after{
  content:"";position:absolute;left:50%;top:50%;width:18px;height:5px;
  transform:translate(-50%,-50%);border-radius:3px;
  background:linear-gradient(180deg,var(--ah-brass),var(--ah-brass-d));
  box-shadow:0 1px 0 hsl(var(--ah-h) 20% 8% / .8);
}
.ahmark__t{font-family:var(--ah-fd);font-weight:700;font-size:19px;line-height:1.1;letter-spacing:.01em}
.ahmark__s{
  display:block;font-family:var(--ah-fb);font-weight:400;font-size:11px;
  letter-spacing:.24em;text-transform:uppercase;color:var(--ah-mut);
}
.ahnav{display:flex;gap:4px 16px;flex-wrap:wrap;margin-left:auto}
.ahnav a{color:var(--ah-mut);font-size:14.5px;padding:6px 2px;border-bottom:1px solid transparent}
.ahnav a:hover{color:var(--ah-ink);border-bottom-color:var(--ah-brass);text-decoration:none}

/* ---------- рецептурная стойка (герой) ---------- */
.ahcounter{padding:36px 0 30px}
.ahcounter__grid{
  display:grid;grid-template-columns:minmax(0,1.42fr) minmax(0,1fr);
  gap:26px;align-items:start;
}
.ahkick{
  font-family:var(--ah-fd);font-size:11.5px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--ah-brass);margin:0 0 12px;
}
.ahh{font-family:var(--ah-fd);font-weight:700;line-height:1.18;margin:0 0 14px;letter-spacing:-.004em}
h1.ahh{font-size:clamp(26px,4.3vw,43px)}
h2.ahh{font-size:clamp(19px,2.5vw,27px);margin:0}
h3.ahh{font-size:clamp(17px,2vw,20.5px);font-weight:600;margin:24px 0 10px}
h4.ahh{font-size:15.5px;font-weight:600;margin:0 0 6px}
.ahlead{font-size:clamp(16.5px,1.8vw,19.5px);max-width:63ch}
.ahmut{color:var(--ah-mut)}
.ahem{color:var(--ah-acc)}
.ahem2{color:var(--ah-brass)}
.ahnum{font-family:var(--ah-fd);font-weight:700;font-variant-numeric:tabular-nums}

/* аптечные весы */
.ahscale{
  min-width:0;padding:18px 16px 16px;border:1px solid var(--ah-line);border-radius:var(--ah-rad);
  background:linear-gradient(180deg,var(--ah-wood2),var(--ah-bg2));
  box-shadow:inset 0 1px 0 hsl(var(--ah-h) 20% 40% / .3);
}
.ahscale__t{
  font-family:var(--ah-fd);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ah-mut);margin:0 0 12px;
}
.ahscale__beam{
  height:3px;border-radius:2px;margin:0 0 2px;
  background:linear-gradient(90deg,var(--ah-brass-d),var(--ah-brass),var(--ah-brass-d));
  position:relative;
}
.ahscale__beam::after{
  content:"";position:absolute;left:50%;top:-9px;width:2px;height:9px;
  transform:translateX(-50%);background:var(--ah-brass);
}
.ahscale__pans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ahscale__pan{
  min-width:0;text-align:center;margin-top:14px;padding:12px 8px 10px;
  border:1px solid var(--ah-line);border-radius:0 0 22px 22px;
  background:linear-gradient(180deg,hsl(var(--ah-h) 16% 16%),hsl(var(--ah-h) 16% 12%));
  position:relative;
}
.ahscale__pan::before{
  content:"";position:absolute;left:50%;top:-14px;width:1px;height:14px;
  background:var(--ah-brass-d);
}
.ahscale__v{display:block;font-family:var(--ah-fd);font-weight:700;font-size:23px;color:var(--ah-brass);font-variant-numeric:tabular-nums}
.ahscale__l{display:block;font-size:12.5px;color:var(--ah-mut);line-height:1.35}
.ahscale dl{margin:16px 0 0;display:grid;gap:9px}
.ahscale dt{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--ah-mut)}
.ahscale dd{margin:0;font-family:var(--ah-fd);font-size:16.5px;font-weight:600}

/* ---------- CTA ---------- */
.ahcta{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 22px}
.ahbtn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:52px;padding:12px 26px;border-radius:var(--ah-rad);
  font-family:var(--ah-fd);font-size:16.5px;font-weight:600;
  border:1px solid transparent;cursor:pointer;text-align:center;
}
.ahbtn--p{
  color:hsl(var(--ah-h) 30% 8%);
  background:linear-gradient(180deg,
    hsl(var(--ah-h2) 60% 68%),hsl(var(--ah-h2) 52% 52%));
  border-color:hsl(var(--ah-h2) 60% 76%);
  box-shadow:0 2px 0 hsl(var(--ah-h2) 40% 30%),0 10px 24px hsl(var(--ah-h) 30% 5% / .7);
}
.ahbtn--p:hover{filter:brightness(1.07);text-decoration:none}
.ahbtn--s{color:var(--ah-ink);border-color:var(--ah-line);background:var(--ah-wood)}
.ahbtn--s:hover{border-color:var(--ah-brass);text-decoration:none}

/* ---------- навески (KPI) ---------- */
.ahkpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
.ahkpi li{
  min-width:0;padding:13px 14px 12px;border:1px solid var(--ah-line);border-radius:var(--ah-rad);
  background:linear-gradient(180deg,var(--ah-wood2),var(--ah-wood));
  border-top:3px solid var(--ah-brass-d);
}
.ahkpi__v{display:block;font-family:var(--ah-fd);font-weight:700;font-size:22px;color:var(--ah-acc);font-variant-numeric:tabular-nums}
.ahkpi span:last-child{display:block;font-size:13px;color:var(--ah-mut);line-height:1.35}

/* ---------- латунная планка-разделитель ---------- */
.ahrule{
  height:10px;border:0;margin:0 0 22px;
  background:
    linear-gradient(180deg,var(--ah-brass) 0 2px,var(--ah-brass-d) 2px 4px,transparent 4px),
    repeating-linear-gradient(90deg,hsl(var(--ah-h) 14% 26% / .6) 0 2px,transparent 2px 10px);
  opacity:.8;
}

/* ---------- банк ящичков ---------- */
.ahbank{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.ahdrawer{grid-column:1 / -1;min-width:0;border-radius:var(--ah-rad);overflow:hidden;border:1px solid var(--ah-line)}
.ahdrawer--half{grid-column:auto}

.ahdrawer__face{
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  padding:14px 18px;min-width:0;
  border-bottom:1px solid var(--ah-line);
  background:
    repeating-linear-gradient(90deg,hsl(var(--ah-h) 14% 32% / .3) 0 1px,transparent 1px 8px),
    linear-gradient(180deg,var(--ah-wood2),var(--ah-wood));
  box-shadow:inset 0 1px 0 hsl(var(--ah-h) 22% 45% / .28),
             inset 0 -1px 0 hsl(var(--ah-h) 22% 4% / .55);
}
.ahdrawer:nth-of-type(2n) .ahdrawer__face{
  background:
    repeating-linear-gradient(90deg,hsl(var(--ah-h) 14% 32% / .22) 0 1px,transparent 1px 7px),
    linear-gradient(180deg,var(--ah-wood),var(--ah-bg2));
}
.ahdrawer:nth-of-type(3n) .ahdrawer__face{
  background:
    repeating-linear-gradient(90deg,hsl(var(--ah-h) 14% 34% / .26) 0 1px,transparent 1px 9px),
    linear-gradient(180deg,var(--ah-wood2),var(--ah-bg2));
}
/* латунная ручка */
.ahpull{
  flex:none;width:56px;height:18px;border-radius:9px;
  background:linear-gradient(180deg,
    hsl(var(--ah-h2) 55% 74%),var(--ah-brass) 45%,var(--ah-brass-d));
  box-shadow:0 1px 0 hsl(var(--ah-h) 24% 6% / .8),inset 0 1px 0 hsl(var(--ah-h2) 70% 88% / .7);
  position:relative;
}
.ahpull::before,.ahpull::after{
  content:"";position:absolute;top:50%;width:5px;height:5px;border-radius:50%;
  transform:translateY(-50%);
  background:radial-gradient(circle at 35% 30%,hsl(var(--ah-h2) 50% 84%),var(--ah-brass-d));
}
.ahpull::before{left:-11px}
.ahpull::after{right:-11px}
/* рукописный ярлык */
.ahlabel{
  min-width:0;flex:1 1 260px;
  padding:9px 14px;border-radius:2px;
  background:linear-gradient(180deg,var(--ah-paper),var(--ah-paper2));
  color:var(--ah-paper-ink);
  border:1px dashed hsl(var(--ah-h) 12% 55%);
  box-shadow:0 2px 6px hsl(var(--ah-h) 24% 4% / .6);
  transform:rotate(-.5deg);
}
.ahlabel__no{
  display:block;font-family:var(--ah-fd);font-size:10.5px;letter-spacing:.24em;
  text-transform:uppercase;color:var(--ah-paper-mut);
}
/* margin:0 обязателен: в ярлык кладут и h2, и h3 (отзывы, FAQ), а у h3.ahh
   свои margin 24px/10px — они рвут фронт ящика (7k147r.casino, 2026-07-31) */
.ahlabel .ahh{color:var(--ah-paper-ink);margin:0}

/* нутро ящика */
.ahdrawer__in{
  padding:20px 18px 22px;min-width:0;
  background:var(--ah-cav);
  box-shadow:inset 0 12px 22px hsl(var(--ah-h) 26% 3% / .6),
             inset 0 -6px 14px hsl(var(--ah-h) 26% 3% / .45);
}
.ahdrawer__in > :last-child{margin-bottom:0}

/* ---------- сетки и карточки ---------- */
.ahgrid{display:grid;gap:13px;margin:0 0 15px}
.ahgrid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ahgrid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ahgrid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ahcard{
  min-width:0;padding:15px 16px;border:1px solid var(--ah-line);border-radius:var(--ah-rad);
  background:linear-gradient(180deg,var(--ah-bg2),var(--ah-wood));
}
.ahcard--tag{border-left:4px solid var(--ah-brass-d)}
.ahcard p:last-child{margin-bottom:0}

/* ---------- склянки с притёртой пробкой ---------- */
.ahvials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 15px;list-style:none;padding:0}
.ahvial{min-width:0;position:relative;padding-top:14px}
.ahvial__cork{
  position:absolute;top:0;left:22px;width:34px;height:15px;border-radius:3px 3px 1px 1px;
  background:linear-gradient(180deg,var(--ah-brass),var(--ah-brass-d));
  box-shadow:inset 0 -2px 0 hsl(var(--ah-h) 24% 10% / .45);
}
.ahvial__glass{
  min-width:0;padding:16px 16px 14px;border:1px solid var(--ah-line);
  border-radius:2px 2px 10px 10px;
  background:linear-gradient(160deg,var(--ah-glass),transparent 55%),
             linear-gradient(180deg,var(--ah-bg2),var(--ah-cav));
  box-shadow:inset 1px 0 0 hsl(var(--ah-h) 40% 70% / .18),
             inset -1px 0 0 hsl(var(--ah-h) 40% 70% / .1);
}
.ahvial__t{display:block;font-family:var(--ah-fd);font-weight:600;font-size:16px;margin:0 0 4px}
.ahvial__meta{display:block;font-size:12.5px;color:var(--ah-mut);letter-spacing:.04em;margin:0 0 9px}
/* display:block обязателен: разметка отдаёт <span>, инлайн игнорирует height
   и шкала налива схлопывается в ноль (найдено на 7k147r.casino, 2026-07-31) */
.ahvial__fill{
  display:block;height:8px;border-radius:4px;margin:0 0 10px;
  background:hsl(var(--ah-h) 14% 24%);overflow:hidden;
}
.ahvial__fill i{
  display:block;height:100%;
  background:linear-gradient(90deg,var(--ah-glass2),var(--ah-brass));
}
.ahvial p{margin:0;font-size:15px;color:var(--ah-mut)}

/* ---------- таблицы ---------- */
.ahscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 16px;min-width:0}
table.ahtab{border-collapse:collapse;width:100%;min-width:530px;font-size:15.5px}
table.ahtab caption{
  caption-side:top;text-align:left;font-family:var(--ah-fd);font-size:12.5px;
  letter-spacing:.15em;text-transform:uppercase;color:var(--ah-mut);padding:0 0 8px;
}
table.ahtab th,table.ahtab td{border:1px solid var(--ah-line);padding:9px 12px;text-align:left;vertical-align:top}
table.ahtab thead th{
  background:linear-gradient(180deg,var(--ah-brass-d),hsl(var(--ah-h2) 30% 20%));
  color:var(--ah-ink);font-family:var(--ah-fd);font-weight:600;font-size:14px;letter-spacing:.03em;
}
table.ahtab tbody tr:nth-child(2n){background:hsl(var(--ah-h) 16% 13% / .8)}
table.ahtab td .ahnum{color:var(--ah-acc)}

/* ---------- ступени: ряд мелких ящичков ---------- */
.ahtiers{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;list-style:none;margin:0 0 15px;padding:0}
.ahtiers li{
  min-width:0;text-align:center;padding:12px 8px 11px;border:1px solid var(--ah-line);
  border-radius:var(--ah-rad);position:relative;
  background:linear-gradient(180deg,var(--ah-wood2),var(--ah-wood));
}
.ahtiers li::before{
  content:"";position:absolute;left:50%;top:7px;width:20px;height:4px;border-radius:2px;
  transform:translateX(-50%);
  background:linear-gradient(180deg,var(--ah-brass),var(--ah-brass-d));
}
.ahtiers li:nth-child(2n){background:linear-gradient(180deg,var(--ah-wood),var(--ah-bg2))}
.ahtiers__n{display:block;margin-top:9px;font-family:var(--ah-fd);font-weight:700;font-size:15px}
.ahtiers__c{display:block;font-size:13.5px;color:var(--ah-brass);font-variant-numeric:tabular-nums}
.ahtiers__r{display:block;font-size:12px;color:var(--ah-mut)}

/* ---------- отзывы: бумажные ярлыки ---------- */
.ahrev{
  min-width:0;margin:0;padding:15px 16px;border-radius:2px;
  background:linear-gradient(180deg,var(--ah-paper),var(--ah-paper2));
  color:var(--ah-paper-ink);
  border:1px solid hsl(var(--ah-h) 12% 62%);
  box-shadow:0 3px 8px hsl(var(--ah-h) 24% 4% / .55);
}
.ahrev:nth-child(2n){transform:rotate(.4deg)}
.ahrev__h{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:7px}
.ahrev__n{font-family:var(--ah-fd);font-weight:700;font-size:15.5px}
.ahrev__c{font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ah-paper-mut)}
.ahrev__d{font-size:12.5px;color:var(--ah-paper-mut);margin-left:auto}
.ahrev blockquote{margin:0}
.ahrev p{margin:0;font-size:15.5px}

/* ---------- FAQ ---------- */
.ahfaq{border-top:1px solid var(--ah-line)}
.ahfaq details{border-bottom:1px solid var(--ah-line)}
.ahfaq summary{
  cursor:pointer;list-style:none;position:relative;
  padding:13px 40px 13px 2px;min-height:44px;
  font-family:var(--ah-fd);font-weight:600;font-size:16.5px;
}
.ahfaq summary::-webkit-details-marker{display:none}
.ahfaq summary::after{
  content:"";position:absolute;right:10px;top:21px;width:14px;height:3px;border-radius:2px;
  background:var(--ah-brass);
  box-shadow:0 0 0 0 transparent;
}
.ahfaq summary::before{
  content:"";position:absolute;right:15.5px;top:16px;width:3px;height:14px;border-radius:2px;
  background:var(--ah-brass);
}
.ahfaq details[open] summary::before{display:none}
.ahfaq details p{margin:0 0 14px;color:var(--ah-mut);padding-right:8px}

/* ---------- рецептурный бланк (заметка автора) ---------- */
.ahscript{
  margin:22px 0 0;padding:22px 22px 20px;border-radius:3px;
  color:var(--ah-paper-ink);
  background:
    repeating-linear-gradient(180deg,
      transparent 0 27px,hsl(var(--ah-h) 26% 40% / .16) 27px 28px),
    linear-gradient(180deg,var(--ah-paper),var(--ah-paper2));
  border:1px solid hsl(var(--ah-h) 12% 58%);
  border-top:5px solid var(--ah-brass-d);
  box-shadow:0 6px 18px hsl(var(--ah-h) 26% 3% / .6);
  position:relative;
}
.ahscript__rp{
  font-family:var(--ah-fd);font-weight:700;font-size:26px;line-height:1;
  color:var(--ah-paper-mut);margin:0 0 6px;letter-spacing:.02em;
}
.ahscript .ahh{color:var(--ah-paper-ink)}
.ahscript a{color:hsl(var(--ah-h) 40% 30%)}
.ahscript__who{font-size:14px;color:var(--ah-paper-mut);margin:0;border-top:1px dashed hsl(var(--ah-h) 12% 55%);padding-top:10px}

/* ---------- плинтус (подвал) ---------- */
.ahfoot{
  margin-top:26px;padding:26px 0 38px;
  border-top:3px solid var(--ah-brass-d);
  background:hsl(var(--ah-h) 18% 6%);
  font-size:14.5px;color:var(--ah-mut);
}
.ahfoot__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ahfoot .ahh{color:var(--ah-ink)}
.ahfoot__bot{
  display:flex;gap:14px;align-items:center;flex-wrap:wrap;
  margin-top:22px;padding-top:16px;border-top:1px solid var(--ah-line);
}
.ahage{
  display:inline-flex;align-items:center;justify-content:center;flex:none;
  width:44px;height:44px;border:2px solid var(--ah-brass);border-radius:50%;
  font-family:var(--ah-fd);font-weight:700;font-size:14px;color:var(--ah-brass);
}

/* ---------- адаптив ---------- */
@media (max-width:1180px){
  .ahcase{display:none}
}
@media (max-width:900px){
  .ahcounter__grid{grid-template-columns:minmax(0,1fr)}
  .ahbank{grid-template-columns:minmax(0,1fr)}
  .ahdrawer--half{grid-column:1 / -1}
  .ahgrid--4,.ahgrid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ahkpi{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ahtiers{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ahvials{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ahfoot__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:620px){
  body{font-size:16.5px}
  .ahcounter{padding:24px 0 22px}
  .ahdrawer__face{padding:12px 13px;gap:11px}
  .ahdrawer__in{padding:16px 13px 18px}
  .ahlabel{transform:none;flex:1 1 100%}
  .ahpull{width:44px}
  .ahgrid--2,.ahgrid--3,.ahgrid--4{grid-template-columns:minmax(0,1fr)}
  .ahvials{grid-template-columns:minmax(0,1fr)}
  .ahtiers{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ahfoot__grid{grid-template-columns:minmax(0,1fr)}
  .ahnav{width:100%;margin-left:0;gap:2px 12px}
  /* тач-минимум 44px: на десктопе ссылка 35.7px, на мобиле это уже кнопка */
  .ahnav a{display:inline-flex;align-items:center;min-height:44px;padding:6px 2px;font-size:13.5px}
  .ahbtn{width:100%}
  .ahscript{padding:18px 15px 16px}
}

.entities{display:flex;flex-wrap:wrap;gap:8px}.entities span{padding:6px 9px;border:1px solid currentColor}a[href="/goto/"]{display:inline-flex;align-items:center;min-height:44px;padding:10px 18px}blockquote{padding:14px;border-left:3px solid currentColor}@media(max-width:650px){h1{overflow-wrap:anywhere}}