/* =============================================================================
   bookfest.cz — designové tokeny
   Základ: handoff Claude Design (custom-v2.css, §1).
   Úpravy implementace 2026-09-12:
     · barvy převedené z hex do oklch()
     · čtyři dvojice opravené na WCAG 2.1 AA
     · akcenty měst přepočítané na jednotná L, aby kontrast platil ve všech
   Ověřené poměry jsou u každé hodnoty v komentáři.
   ========================================================================== */

:root {
  color-scheme: light;

  /* ---- Papír a inkoust ---------------------------------------------------- */
  --bf-ink:         oklch(0.219 0.000 0);      /* #1A1A1A  15.2:1 na papíru (přepočteno z oklch 2026-10-19) */
  --bf-ink-2:       oklch(0.286 0.010 265);    /* #24262A  měkčí čerň          */
  --bf-muted:       oklch(0.470 0.008 240);    /* #55595C   6.26:1  sekundární */
  --bf-faint:       oklch(0.530 0.009 237);    /* #676D70   4.62:1  OPRAVENO 2026-10-19
                                                  (0.539 dávalo 4.45:1 — hex komentář neodpovídal oklch) */
  --bf-paper:       oklch(0.955 0.006 90);     /* #F3F1EC  výchozí pozadí      */
  --bf-paper-2:     oklch(0.983 0.004 90);     /* #FBFAF7  karty, proužky      */
  --bf-paper-3:     oklch(0.905 0.003 90);     /* #E3E3DF  obrazové sloty      */
  --bf-rule:        oklch(0.855 0.005 90);     /* #D3D1CA  vlasová linka       */
  --bf-rule-strong: oklch(0.712 0.005 240);    /* #A4A8AA  linka oddílu        */

  /* Dekorativní — NEPOUŽÍVAT na text. Kontrast na papíru 3.00:1,
     stačí na grafické plochy a obrysy (WCAG 1.4.11), ne na písmo.          */
  --bf-slate:       oklch(0.637 0.013 232);    /* #848D92  OPRAVENO z #8E979C  */

  /* ---- Tmavý oddíl (tmavá sekce uvnitř světlé stránky) -------------------- */
  --bf-dark-bg:     oklch(0.219 0.000 0);      /* #1A1A1A                      */
  --bf-dark-text:   oklch(0.928 0.006 85);     /* #EDEBE6  15.72:1             */
  --bf-dark-muted:  oklch(0.729 0.006 235);    /* #A6ABAE   8.08:1             */
  --bf-dark-faint:  oklch(0.615 0.008 235);    /* #808589   4.68:1  OPRAVENO 2026-10-19 (bylo 4.08:1) */
  --bf-dark-rule:   oklch(0.320 0.008 255);    /* #33363A                      */

  /* ---- Akcent ------------------------------------------------------------
     Nastavuje se na <body> třídou .bf-city--<mesto>. Výchozí = Praha.
     Tři stupně, každý s ověřeným kontrastem:
       --bf-red        plocha, na které stojí BÍLÝ text   ≥ 4,80:1
       --bf-accent     barva TEXTU na papíru              ≥ 5,00:1
       --bf-accent-ink hover / aktivní stav               ≥ 6,70:1
     ------------------------------------------------------------------------ */
  --bf-red:         oklch(0.576 0.217 29.2);
  --bf-accent:      oklch(0.536 0.203 29.2);
  --bf-accent-ink:  oklch(0.466 0.176 29.2);
  --bf-accent-veil: oklch(0.576 0.217 29.2 / 0.09);
  --bf-red-light:   oklch(0.700 0.190 29.2);   /* drobný text na tmavém 6.37:1 */

  /* Dekorativní signatura a slepotisk. Na text jen ve velikosti ≥ 24 px.     */
  /* Dekorativní signatura, nadřádkové „Kolofon", značka edice.
     Tlumená mosaz mimo červenou rodinu — potvrzeno designem 2026-09-13.
     Kontrast na papíru 3,23:1, tedy POD 4,5:1: je to dekorace, na text se
     nepoužívá. Kdyby na něm někdy měl stát text, musí zesvětlit papír
     nebo ztmavit tento token. */
  --bf-gold:        oklch(0.62 0.055 85);      /* #958460 */

  /* ---- Písmo -------------------------------------------------------------- */
  --bf-display: "Archivo Display", "Archivo Display fallback", system-ui, sans-serif;
  --bf-text:    "Literata", "Literata fallback", Georgia, "Times New Roman", serif;
  --bf-micro:   "Archivo Text", "Archivo Text fallback", system-ui, sans-serif;
  --bf-display-wdth: 62;     /* NEPOUŽITÝ po přechodu na statické řezy Archiva (2026-09) —
                                 nadpisy teď používají fixní wdth=62 zapečené přímo ve woff2,
                                 font-variation-settings v base.css odstraněn. Token ponechán
                                 pro handoff z Claude Design, který se na něj může odkazovat. */

  /* ---- Typografická škála — baseline grid 28 px (půlkrok 14 px) ----------- */
  --bf-baseline:   1.75rem;
  --bf-fs-display: clamp(4rem, 17vw, 12.5rem);
  --bf-fs-h1:      clamp(2.5rem, 8vw, 5.25rem);
  --bf-fs-h2:      clamp(1.875rem, 4.2vw, 3rem);
  --bf-fs-h3:      clamp(1.3125rem, 2.4vw, 1.75rem);
  --bf-fs-h4:      1.125rem;
  --bf-fs-lead:    clamp(1.125rem, 1.6vw, 1.375rem);
  --bf-fs-body:    1.0625rem;
  --bf-fs-small:   0.9375rem;
  --bf-fs-micro:   0.75rem;
  --bf-fs-nano:    0.6875rem;

  --bf-lh-display: .82;
  --bf-lh-tight:   1.06;
  --bf-lh-title:   1.18;
  --bf-lh-body:    1.647;    /* 17 × 1.647 = 28 px                           */
  --bf-lh-meta:    1.45;

  --bf-tr-display: -0.015em;
  --bf-tr-micro:    0.18em;
  --bf-tr-nano:     0.24em;

  /* ---- Prostor — násobky půlkroku 14 px ----------------------------------- */
  --bf-sp-1: 0.4375rem;  --bf-sp-2: 0.875rem;  --bf-sp-3: 1.75rem;
  --bf-sp-4: 2.625rem;   --bf-sp-5: 3.5rem;    --bf-sp-6: 5.25rem;
  --bf-sp-7: 7rem;       --bf-sp-8: 10.5rem;

  /* ---- Sazební plocha ----------------------------------------------------- */
  --bf-measure:  34rem;      /* ~68 znaků                                     */
  --bf-page-max: 90rem;
  --bf-gutter:   1.25rem;
  --bf-gap:      var(--bf-sp-3);

  /* ---- Pohyb (z handoffu Claude Design, kolo 3) --------------------------- */
  --bf-ease:     cubic-bezier(.2, 0, 0, 1);
  --bf-ease-std: cubic-bezier(.4, 0, .2, 1);
  --bf-dur-1:    140ms;
  --bf-dur-2:    260ms;
  --bf-dur-3:    620ms;

  --bf-hair: 1px;
  --bf-hair-2: 2px;
  --bf-radius: 0px;          /* kniha nemá zaoblení                           */
  --bf-radius-pill: 999px;   /* jediná výjimka: štítky žánru                  */
}

/* =============================================================================
   Akcenty měst

   PRAVIDLO PRO PŘIDÁNÍ MĚSTA
   Světlost (L) je pevná a garantuje kontrast — měnit se smí jen odstín (H)
   a sytost (C). Postup:
     1. vyber odstín H (0–360)
     2. najdi nejvyšší C, které při daném L zůstane v sRGB gamutu; vezmi 92 %
     3. ověř: bílá na --bf-red ≥ 4,5:1, --bf-accent na papíru ≥ 4,5:1
   Skript, který to spočítá, je v projektu: migrace/nastroje/paleta.py
   ========================================================================== */

.bf-city--praha {
  --bf-red:         oklch(0.576 0.217 29.2);   /* bílá na ploše  4.86:1 */
  --bf-accent:      oklch(0.536 0.203 29.2);   /* text na papíru 5.04:1 */
  --bf-accent-ink:  oklch(0.466 0.176 29.2);   /* hover          6.72:1 */
  --bf-accent-veil: oklch(0.576 0.217 29.2 / 0.09);
  --bf-red-light:   oklch(0.700 0.190 29.2);
}

.bf-city--plzen {
  --bf-red:         oklch(0.579 0.213 17.0);   /* 4.81:1 */
  --bf-accent:      oklch(0.536 0.198 17.0);   /* 5.06:1 */
  --bf-accent-ink:  oklch(0.466 0.172 17.0);   /* 6.74:1 */
  --bf-accent-veil: oklch(0.579 0.213 17.0 / 0.09);
  --bf-red-light:   oklch(0.700 0.185 17.0);
}

.bf-city--budejovice {
  --bf-red:         oklch(0.566 0.144 47.0);   /* 4.81:1 — bylo #D8501B = 4.13:1 */
  --bf-accent:      oklch(0.527 0.134 47.0);   /* 5.01:1 */
  --bf-accent-ink:  oklch(0.457 0.116 47.0);   /* 6.72:1 */
  --bf-accent-veil: oklch(0.566 0.144 47.0 / 0.09);
  --bf-red-light:   oklch(0.700 0.130 47.0);
}
