/* ==========================================================================
   Design tokens - единственото място с цветове, размери и сенки.
   Palette: Posteri Design System (ivory · warm charcoal · dusty blue · coral).
   Имената на променливите са същите както досега - нищо в логиката не се пипа.
   ========================================================================== */
/* Шрифтовете са в assets/fonts (OFL): същите файлове, които Google Fonts даваше, орязани до
   кирилица и основна латиница. Без чужд домейн и без @import-верига преди първото рисуване.
   Golos и Literata са променливи (един файл покрива теглата) и са block: страниците ги
   preload-ват, а с swap заглавието първо се рисува с резервния шрифт и после скача (CLS). */
@font-face { font-family: 'Golos Text'; font-style: normal; font-weight: 400 600; font-display: block; src: url('../fonts/golos-cyrillic.woff2') format('woff2'); unicode-range: U+0400-045F, U+2116; }
@font-face { font-family: 'Golos Text'; font-style: normal; font-weight: 400 600; font-display: block; src: url('../fonts/golos-latin.woff2') format('woff2'); unicode-range: U+0020-007E, U+00A0-00BF, U+00D7, U+00F7, U+2010-2027, U+2030-203A, U+20AC, U+2122; }
@font-face { font-family: 'Literata'; font-style: normal; font-weight: 400 500; font-display: block; src: url('../fonts/literata-cyrillic.woff2') format('woff2'); unicode-range: U+0400-045F, U+2116; }
@font-face { font-family: 'Literata'; font-style: normal; font-weight: 400 500; font-display: block; src: url('../fonts/literata-latin.woff2') format('woff2'); unicode-range: U+0020-007E, U+00A0-00BF, U+00D7, U+00F7, U+2010-2027, U+2030-203A, U+20AC, U+2122; }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/plexmono-400-cyrillic.woff2') format('woff2'); unicode-range: U+0400-045F, U+2116; }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/plexmono-400-latin.woff2') format('woff2'); unicode-range: U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+2000-206F, U+20AC, U+2122, U+2190-2199, U+2212, U+2215; }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/plexmono-500-cyrillic.woff2') format('woff2'); unicode-range: U+0400-045F, U+2116; }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/plexmono-500-latin.woff2') format('woff2'); unicode-range: U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+2000-206F, U+20AC, U+2122, U+2190-2199, U+2212, U+2215; }

:root {
  /* хартия */
  --color-bg: #FCFBF7;
  --color-surface: #FFFFFF;
  --color-surface-2: #F6F4EE;
  --color-surface-3: #EDEAE2;

  /* мастило (топъл графит, никога чисто черно) */
  --color-ink: #2B2A28;
  --color-ink-soft: #55534E;
  --color-muted: #6E6B64;   /* 4.8:1 и върху --color-surface-2 (футър) и --color-accent-soft */
  --color-disabled: #A9A59D;

  /* линии - те носят структурата вместо кутии и сенки */
  --color-line: #ECE9E2;
  --color-line-strong: #DBD7CE;
  --color-line-hover: #C0BBB1;

  /* dusty blue - единственият цвят, който носи действие */
  --color-primary: #4F7191;
  --color-primary-deep: #3D5B78;
  --color-primary-press: #334E67;
  --color-primary-soft: #EDF2F6;
  --color-primary-mid: #B9CDDC;
  --color-primary-ink: #FFFFFF;

  /* корал - акцент, най-много веднъж на екран. Никога бутон. */
  --color-accent: #D9705C;
  --color-accent-ink: #A8483A;
  --color-accent-soft: #FDF1EE;
  --color-accent-mid: #F6CFC6;

  /* семантика */
  --color-success: #46785A;
  --color-success-soft: #EDF3EF;
  --color-danger: #A8352F;
  --color-danger-soft: #FAEDEC;
  --color-warning: #8A6A2E;
  --color-warning-soft: #F7F2E6;

  /* типография */
  --font-body: "Golos Text", "Helvetica Neue", Arial, sans-serif;
  --font-display: "Literata", Georgia, "Times New Roman", serif;
  --font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, monospace;
  --text-xs: 0.8125rem;
  --text-s: 0.9375rem;
  --text-m: 1.0625rem;
  --text-l: 1.1875rem;
  --text-xl: 1.5rem;
  --text-2xl: 2rem;
  --text-3xl: clamp(2.25rem, 4.6vw, 3.5rem);
  --leading: 1.7;
  --leading-tight: 1.22;
  --leading-display: 1.06;
  --track-display: -0.02em;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;

  /* отстояния */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4.5rem;
  --section: clamp(4rem, 9vw, 7.5rem);

  /* форми - обли краища, бутоните са пълно закръглени */
  --radius-s: 12px;
  --radius-m: 16px;
  --radius-l: 22px;
  --radius-xl: 28px;
  --radius-pill: 999px;
  --radius-round: 50%;

  /* меки сенки, ниски и топли */
  --shadow-s: 0 1px 2px rgba(43, 42, 40, 0.04), 0 8px 24px rgba(43, 42, 40, 0.05);
  --shadow-m: 0 18px 48px rgba(43, 42, 40, 0.14);
  --shadow-artwork: 0 2px 6px rgba(43, 42, 40, 0.05), 0 18px 44px rgba(43, 42, 40, 0.10);
  --shadow-artwork-lift: 0 4px 10px rgba(43, 42, 40, 0.05), 0 30px 70px rgba(43, 42, 40, 0.13);
  --focus-ring: 0 0 0 2px var(--color-bg), 0 0 0 4px var(--color-primary);

  /* размери */
  --tap: 48px;
  --content-max: 680px;
  --wide-max: 1100px;
  --measure: 62ch;
  --gutter: clamp(20px, 5vw, 48px);

  /* движение - само избледняване и 8px повдигане */
  --duration: 160ms;
  --duration-state: 240ms;
  --duration-step: 420ms;
  --rise: 8px;
  --ease: cubic-bezier(0.2, 0.6, 0.2, 1);
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
}

@media (prefers-reduced-motion: reduce) {
  :root { --duration: 0ms; --duration-state: 0ms; --duration-step: 0ms; --rise: 0px; }
}
