/* ============================================================
   UniBuilder — «Строгая» (strict-theme)   [Epic 9 · Тема №4, Public-референс]
   Confident editorial: высококонтрастный МОНОХРОМ (чёрный текст на белом) +
   ЕДИНСТВЕННЫЙ ультрамариновый акцент (#0027b3) для действий. Серифные display-
   заголовки (Source Serif 4/Georgia), OUTLINED pill-CTA (прозрачный, ультрамарин-бордер —
   определяющая черта Public), МИНИМАЛИЗМ без теней и градиентов (бордеры вместо
   elevation), просторный вертикальный ритм.

   Level-A: ОДИН override :root токен-контракта (_base) — красит ВСЕ base-блоки
   (Ф3 токенизировала base). Своих блоков НЕТ (падает на base-вёрстку). Грузится
   ПОСЛЕ templates/_base/global.css → переопределяет :root каскадом.

   ⚠️ Цвета primary/accent доставляются НЕ отсюда, а через manifest defaults{}
   (theme_color=#0027b3 / theme_accent=#0027b3) → Ф4-попап «Применить цвета темы» →
   ColorPaletteService → --ub-primary/--ub-accent → base --p:var(--ub-primary). Здесь
   --p/--a продублированы формой var(--ub-*, ultramarine-fallback) — зеркало base:
   owner-override («Оставить свои цвета») СОХРАНЁН. Хардкод литерала --ub-primary
   сломал бы это — сознательно НЕ делаем (вводная показывала литерал иллюстративно).

   🖋 Шрифт: сериф-заголовки 'Source Serif 4'→Georgia (кириллица). [follow-up 08.07] Source
   Serif 4 SELF-HOSTED (woff2 400-600 кириллица, fonts.css) — «один сериф на все три серифные
   темы» (soft/strict/artistic, решение Михаила); был Playfair Display (не self-hosted → фактически
   Georgia; выровнен на общий Source Serif 4). Body/структурный = Inter (sans, локальный).

   🎯 CTA = FILLED ультрамарин (Вариант B — ОБОСНОВАННЫЙ КОМПРОМИСС, доложено). Public-
   референс несёт OUTLINED pill (прозрачный+бордер). Вариант A (outlined .btn-p) ПРОТЕСТИРОВАН
   на реальной странице (side-render page-63) и ОТКЛОНЁН — 2 факта-проблемы: (1) form-submit
   кнопки рендерятся как `.btn.btn-p.btn-l` («Отправить») → outlined-сабмит = слабый CTA/UX-
   регресс; (2) 5×`var(--dk)`/5×`var(--gh)` тёмные секции → outlined ультрамарин #0027b3 на
   near-black = ~1.5:1 контраст, почти невидим. Вариант B: `.btn-p` остаётся FILLED (база
   `background:var(--gp)`; у Строгой --p=--a=ультрамарин → --gp ПЛОСКИЙ ультрамарин) +
   `--sh-btn:none` (flat, без тени) → белый-на-ультрамарине ~14:1 везде, сабмиты заметны,
   тёмные секции безопасны. Всё ещё строго/editorial (плоский filled ультрамарин на моно).
   Базовый `.btn-o` (outline) остаётся доступен блокам, желающим outline-кнопку.
   ============================================================ */
:root{
  /* — Бренд/акцент: ЕДИНСТВЕННЫЙ ультрамарин (Public монохром + один цвет действия).
       --p и --a ОДИН цвет → --gp плоский (без радуги). Форма var(--ub-*,fallback). — */
  --p:var(--ub-primary,#0027b3);--ph:var(--ub-primary-hover,#001f8f);--pl:var(--ub-primary-light,#e8ecf9);--p50:#f2f4fc;
  --a:var(--ub-accent,#0027b3);--ah:var(--ub-accent-hover,#001f8f);--al:var(--ub-accent-light,#e8ecf9);

  /* — Градиент бренда: МОНО-ультрамарин (--p→--ph, чуть темнее) — плоский для .bg-g/сабмита.
       .btn-p всё равно outlined (override ниже), .gp тут для form-submit/bg-g. — */
  --gp:linear-gradient(135deg,var(--p),var(--ph));
  --gs:linear-gradient(135deg,var(--surface-3),var(--pl));

  /* — Тёмные секции → Public чёрный (high-contrast Ink), для hero-dark/футер-вариантов. — */
  --dk:#000000;--dc:#111111;--ds:#1a1a1a;
  --gd:linear-gradient(135deg,#000000,#111111,#1a1a1a);
  --gh:linear-gradient(160deg,#000000 0%,#111111 55%,#1a1a1a 100%);

  /* — Поверхности: Public high-contrast моно (Ghost White / near-white). — */
  --surface:#ffffff;--surface-2:#fafafa;--surface-3:#f5f5f7;

  /* — Нейтрали/текст: Public PURE MONO (Ink #000 → серый #555 → бордер #e9edf3). — */
  --n50:#fafafa;--n100:#f5f5f7;--n200:#e9edf3;--n300:#e9edf3;
  --n400:#888888;--n500:#555555;--n600:#555555;--n700:#1a1a1a;
  --n800:#0d0d0d;--n900:#000000;

  /* — Радиусы: Public pill-кнопки (--r-btn:9999) + строгие карты 16px. — */
  --rs:4px;--rm:8px;--rl:12px;--rxl:16px;--rf:9999px;
  --r-btn:9999px;--r-card:16px;--r-input:8px;
  --bw:1px;

  /* — Тени: Public БЕЗ теней (минимал, бордеры вместо elevation). — */
  --sh-sm:none;
  --sh-brand:rgba(0,0,0,0.04) 0px 0px 0px 1px;
  --sh-modal:rgba(0,0,0,0.12) 0px 12px 40px 0px;

  /* — Шрифт: сериф-заголовки Source Serif 4 (self-hosted woff2, кириллица) + Inter body. — */
  --fh:'Source Serif 4','PT Serif',Georgia,'Times New Roman',ui-serif,serif;
  --fb:'Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;

  /* ============================================================
     ОБОГАЩЕНИЕ — Public-ЗНАЧЕНИЯ токенов (тема ЗАДАЁТ, база ЧИТАЕТ — Ф3d).
     ============================================================ */
  /* — Заголовки: Public editorial display крупные, сериф. — */
  --h1:clamp(2.5rem,5.5vw,4rem);--h2:clamp(1.875rem,4vw,2.75rem);
  --h3:clamp(1.5rem,3vw,2rem);--h4:clamp(1.25rem,2vw,1.5rem);
  /* — 🖋 ВЕС 500 (Public сериф-display — editorial, не жирный крик) + плотный трекинг + lh 1.1. — */
  --heading-weight:500;--heading-tracking:-.02em;--lh-heading:1.1;--lh-body:1.55;
  /* — БЕЗ градиент-заголовка (Public моно): сплошной ЧЁРНЫЙ. — */
  --heading-gradient:var(--n900);
  /* — Featured-карта: Public тонкий ультрамарин-бордер (без теней/планки). — */
  --card-featured-border:1px solid var(--p);--card-featured-accent:transparent;
  /* — Эмфатика (числа/цены): Public вес 500, умеренно. — */
  --title-weight:500;--stat-value-size:clamp(2.25rem,4.5vw,3.25rem);--stat-value-size-sm:clamp(1.75rem,3.5vw,2.25rem);
  --price-size:clamp(2rem,4vw,2.75rem);
  /* — Вертикальный ритм: Public spacious editorial. — */
  --section-py:clamp(64px,8vw,112px);--section-py-lg:clamp(80px,10vw,144px);--section-py-md:clamp(48px,6vw,72px);
  /* — Тень CTA: Public БЕЗ (flat outlined). — */
  --sh-btn:none;--sh-btn-hover:none;
  /* — [футер-хром] Public-подвал: СВЕТЛЫЙ минимал (spacious white editorial), чёрный текст,
       hairline-разделитель, ультрамарин-hover ссылок. — */
  --footer-bg:#ffffff;--footer-text:#000000;--footer-muted:#555555;--footer-heading:#000000;
  --footer-link:#333333;--footer-link-hover:#0027b3;--footer-border:#e9edf3;
  /* [follow-up] соц-круги: белый футер #fff → тёмный-субтл (white/10 невидим). */
  --footer-social-bg:rgba(0,0,0,0.06);--footer-social-hover:rgba(0,0,0,0.12);
}
/* CTA = FILLED ультрамарин (Вариант B, см. шапку). Override .btn-p НЕ делаем — база
   `background:var(--gp)` + наш --gp плоский ультрамарин + --sh-btn:none = flat filled pill. */
