/* RTHD дизайн-токены. Перенос из бренд-гайда (§4–7) и дизайн-системы _ds.
   Единственный источник истины по стилям сайта. Правится здесь. */

:root{
  /* --- Семейства шрифтов (файлы — fonts.css) --- */
  --font-ui:"Inter","Helvetica Neue",Arial,sans-serif;
  --font-mono:"JetBrains Mono","SF Mono",Consolas,monospace;
  --font-display:"Oswald","Inter Tight",Impact,sans-serif;
  --font-display-tracking:0.08em;

  /* --- Поверхности (§4) --- */
  --surface-base:#101210;--surface-raised:#191C18;--surface-sunken:#0B0C0A;
  --border:#2E332A;--border-strong:#414737;
  /* --- Акценты --- */
  --gold:#E0B54A;--gold-dim:#8A7433;--gold-olive:#C4B565;--hazard:#F2C230;--olive:#5A6440;
  /* --- Текст --- */
  --text-primary:#E8E6DF;--text-secondary:#A8AB9F;--text-muted:#6E7267;--text-on-gold:#2A2003;
  /* --- Семантика --- */
  --success:#7A9A4B;--danger:#B04A2A;
  /* --- Семантические алиасы --- */
  --page-bg:var(--surface-base);--card-bg:var(--surface-raised);--input-bg:var(--surface-sunken);
  --accent:var(--gold);--accent-quiet:var(--gold-dim);
  --price:var(--gold);--number:var(--gold);
  --btn-primary-bg:var(--gold);--btn-primary-fg:var(--text-on-gold);
  --btn-secondary-border:var(--border-strong);--btn-secondary-fg:var(--text-primary);
  --focus-ring:0 0 0 2px var(--gold-dim);
  --link:var(--gold);--link-hover:var(--gold-olive);
  --press-veil:rgba(0,0,0,0.08); /* затемнение нажатия 8% */

  /* --- Типографика: шкала (§5) --- */
  --type-logo:20px;--type-logo-lh:1;--type-logo-tracking:0.08em;
  --type-label:11px;--type-label-lh:1.2;--type-label-tracking:0.1em;
  --type-page-title:24px;--type-page-title-lh:1.25;
  --type-block-title:17px;--type-block-title-lh:1.3;
  --type-body:15px;--type-body-lh:1.6;
  --type-caption:13px;--type-caption-lh:1.5;
  --type-meta:11px;--type-meta-lh:1.4;
  --type-number-lg:20px;--type-number-lg-lh:1;
  --type-price:15px;--type-price-lh:1.2;
  --type-code:12px;--type-code-lh:1.2;
  --weight-regular:400;--weight-medium:500;

  /* --- Отступы (§6) --- */
  --space-1:2px;--space-2:4px;--space-3:6px;--space-4:8px;--space-5:10px;--space-6:14px;
  --space-7:18px;--space-8:24px;--space-9:32px;--space-10:48px;--space-11:64px;
  --gutter-page:14px;--gap-card:8px;--gap-section:24px;--pad-card:12px;--tap-min:44px;
  /* Боковые поля лендинга: на телефоне заметно больше, чем в узком магазине */
  --gutter-landing:clamp(18px,4vw,28px);
  --shop-max-width:520px;--landing-max-width:1200px;
  --control-height:48px;--control-height-sm:36px;

  /* --- Геометрия (§6) --- */
  --radius:4px;--radius-lg:6px;--radius-full:50%;
  --border-width:1px;--border-width-strong:2px;
  --shadow-none:none;--transition:120ms linear;

  /* --- Предупреждающая штриховка (§7): 115°, полоса 9px --- */
  --hazard-angle:115deg;--hazard-stripe:9px;--hazard-height:5px;
  --hazard-pattern:repeating-linear-gradient(var(--hazard-angle),var(--hazard) 0 var(--hazard-stripe),var(--surface-base) var(--hazard-stripe) calc(var(--hazard-stripe) * 2));
}

/* --- База (§6: границы вместо теней, фокус-ринг — единственная тень) --- */
html{background:var(--surface-base)}
body{margin:0;background:var(--surface-base);color:var(--text-primary);
  font-family:var(--font-ui);font-size:var(--type-body);line-height:var(--type-body-lh);
  -webkit-font-smoothing:antialiased;text-wrap:pretty}
*{box-sizing:border-box}
a{color:var(--link);text-decoration:none}
a:hover{color:var(--link-hover);text-decoration:underline;text-underline-offset:2px}
:focus-visible{outline:none;box-shadow:var(--focus-ring)}
button{font-family:inherit}

/* --- Утилиты-роли типографики: вешать на элемент напрямую --- */
.rt-logo{font-family:var(--font-display);font-size:var(--type-logo);line-height:var(--type-logo-lh);letter-spacing:var(--type-logo-tracking);text-transform:uppercase;color:var(--text-primary)}
.rt-label{font-family:var(--font-display);font-size:var(--type-label);line-height:var(--type-label-lh);letter-spacing:var(--type-label-tracking);text-transform:uppercase;color:var(--text-secondary)}
.rt-page-title{font-family:var(--font-ui);font-size:var(--type-page-title);line-height:var(--type-page-title-lh);font-weight:var(--weight-medium);color:var(--text-primary)}
.rt-block-title{font-family:var(--font-ui);font-size:var(--type-block-title);line-height:var(--type-block-title-lh);font-weight:var(--weight-medium);color:var(--text-primary)}
.rt-body{font-family:var(--font-ui);font-size:var(--type-body);line-height:var(--type-body-lh);color:var(--text-primary)}
.rt-caption{font-family:var(--font-ui);font-size:var(--type-caption);line-height:var(--type-caption-lh);color:var(--text-secondary)}
.rt-meta{font-family:var(--font-ui);font-size:var(--type-meta);line-height:var(--type-meta-lh);color:var(--text-muted)}
.rt-number{font-family:var(--font-mono);font-size:var(--type-number-lg);line-height:var(--type-number-lg-lh);color:var(--text-primary)}
.rt-price{font-family:var(--font-mono);font-size:var(--type-price);line-height:var(--type-price-lh);color:var(--price)}
.rt-code{font-family:var(--font-mono);font-size:var(--type-code);line-height:var(--type-code-lh);color:var(--text-secondary)}
.rt-hazard{height:var(--hazard-height);background:var(--hazard-pattern)}
