/* ============================================================
   Golden Key Africa — tokeny projektowe
   Kierunek: „Premium” — wg briefu klienta v1.0, §7 i §89

   Biel bazowa, grafit jako kolor tekstu i ciemnych bloków,
   złoto wyłącznie jako akcent na przyciskach i wyróżnieniach.
   Duża ilość białej przestrzeni (§83).

   Poprzedni kierunek „Kataster” (petrol + mosiądz) zastąpiony
   po rozstrzygnięciu z 27.08.2026: brief jest specyfikacją
   klienta i ma pierwszeństwo w warstwie wizualnej.

   Neutralne trzymamy na chromie 0.002–0.010 w hue 260, żeby
   szarości nie wpadały w zieleń ani w fiolet przy zestawieniu
   ze złotem.
   ============================================================ */

:root {
  /* --- Kolor -------------------------------------------------- */
  /* Grafit pełni dwie role: kolor tekstu i tło ciemnych bloków
     (stopka, §23). Dlatego „brand” to teraz grafit, a nie osobny
     kolor marki — marka wybrzmiewa złotem, nie płaszczyzną. */
  --brand:          oklch(0.28 0.008 260);   /* #23262b — grafit */
  --brand-dark:     oklch(0.21 0.008 260);   /* #14171b */
  --brand-tint:     oklch(0.975 0.020 92);   /* #faf5e6 — ślad złota */
  --accent:         oklch(0.735 0.125 92);   /* #c9a227 — złoto */
  --accent-dark:    oklch(0.545 0.098 90);   /* #8a6f18 */
  --ink:            oklch(0.28 0.008 260);   /* #23262b */
  /* 0.555 dawało 4,33:1 na tle --bg-alt, czyli poniżej progu AA dla
     tekstu podstawowego. Na bieli przechodziło (4,77), więc usterka
     dotyczyła wyłącznie sekcji pasmowych — czyli mniej więcej połowy
     tekstu pomocniczego na stronie. */
  /* Przyciemnione z 0.535: teksty opisowe stanowią połowę treści,
     a nie przypisy. Na bieli daje to ok. 7:1 zamiast 5,3:1. */
  --muted:          oklch(0.455 0.014 260);
  --bg:             #ffffff;                 /* biel bazowa, §7 */
  --bg-alt:         oklch(0.966 0.002 260);  /* #f4f5f6 — jasnoszary */
  --border:         oklch(0.915 0.003 260);  /* #e4e6e9 */
  --border-strong:  oklch(0.715 0.008 260);  /* #a8adb5 */
  --success:        oklch(0.52 0.105 155);   /* #2b7a4d */
  --warn:           oklch(0.62 0.140 52);    /* #c66a28 — tylko jako tło */
  /* Ten sam pomarańcz jako tekst na bieli daje 3,47:1, czyli poniżej AA.
     Rozdzielamy role: --warn wypełnia plakietki (z ciemnym tekstem),
     --warn-text niesie ostrzeżenia pisane na jasnym tle. Komunikat
     o niepotwierdzonej klasyfikacji gruntu jest jedną z ważniejszych
     informacji na karcie, więc nie może być najsłabiej czytelną. */
  --warn-text:      oklch(0.50 0.130 48);    /* #9c4d16 */
  --danger:         oklch(0.50 0.170 25);    /* #b02a2d */
  --focus:          oklch(0.50 0.150 255);   /* #1762b6 */
  --on-brand:       #ffffff;                 /* biel na graficie: 14,8:1 */
  --on-accent:      oklch(0.28 0.008 260);   /* grafit na złocie: 6,1:1 */

  /* ZAKAZ: biel na --accent daje 2,4:1 i nie przechodzi kontrastu
     (§105). Złote tło zawsze z --on-accent, nigdy z bielą. */

  /* --- Typografia --------------------------------------------- */
  --font-ui: 'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-doc: 'Source Serif 4', Georgia, 'Times New Roman', serif;
  /* Krój wyświetleniowy podmieniany przez [data-display] — patrz gka.css */
  --font-display: var(--font-ui);

  --fs-display:    clamp(2.75rem, 2rem + 3.4vw, 5rem);
  --fs-h1:         clamp(2.25rem, 1.8rem + 2.2vw, 3.75rem);
  --fs-h2:         clamp(1.75rem, 1.5rem + 1.15vw, 2.625rem);
  --fs-h3:         clamp(1.375rem, 1.24rem + 0.6vw, 1.75rem);
  --fs-h4:         clamp(1.125rem, 1.05rem + 0.35vw, 1.3125rem);
  --fs-lead:       clamp(1.125rem, 1.05rem + 0.35vw, 1.3125rem);
  /* 17–18 px. Poprzednie 16–17 px czytało się na desktopie jak druk
     ulotny, a strona ma być czytana długo i na kanapie. */
  --fs-body:       clamp(1.0625rem, 1rem + 0.25vw, 1.125rem);
  /* 15–16 px zamiast 14 px: to jest stopień tekstów opisowych, podpisów
     sekcji i opisów kroków, czyli połowy treści na stronie. */
  --fs-sm:         clamp(0.9375rem, 0.9rem + 0.15vw, 1rem);
  --fs-label:      0.75rem;
  --fs-price:      clamp(1.75rem, 1.5rem + 1vw, 2.375rem);
  --fs-price-card: clamp(1.25rem, 1.15rem + 0.45vw, 1.5rem);

  --lh-display: 1.02;
  --lh-h1: 1.06;
  --lh-h2: 1.12;
  --lh-h3: 1.20;
  --lh-h4: 1.28;
  --lh-lead: 1.55;
  --lh-body: 1.65;

  --tr-display: -0.022em;
  --tr-h1: -0.018em;
  --tr-h2: -0.012em;
  --tr-h3: -0.006em;
  --tr-label: 0.07em;
  --tr-price: -0.015em;

  /* --- Układ --------------------------------------------------- */
  --w-text:    min(68ch, 100%);
  --w-content: 1200px;
  --w-wide:    1400px;   /* §82 briefu */
  --gutter:    clamp(1rem, 0.5rem + 2vw, 2rem);
  --header-h:  72px;

  --s-1: 0.25rem;  --s-2: 0.5rem;  --s-3: 0.75rem; --s-4: 1rem;
  --s-5: 1.5rem;   --s-6: 2rem;    --s-7: 3rem;    --s-8: 4rem;
  --s-9: 6rem;     --s-10: 8rem;   --s-11: 12rem;

  /* Rytm sekcji jest zmienny: dowód dostaje więcej ciszy niż listing. */
  --pad-evidence: clamp(4rem, 3rem + 5vw, 8rem);
  --pad-listing:  clamp(3rem, 2rem + 3vw, 5rem);
  --pad-trust:    clamp(1.25rem, 1rem + 1vw, 2rem);

  /* Dokumenty nie mają zaokrąglonych rogów. */
  --r-sm: 2px;
  --r-md: 3px;

  /* Brak cieni w treści. Wyjątki wyłącznie funkcjonalne. */
  --shadow-sticky: 0 -1px 0 var(--border), 0 -10px 28px -12px oklch(0.22 0.008 260 / 0.22);
  --shadow-sheet:  0 -2px 0 var(--border), 0 -24px 48px -20px oklch(0.22 0.008 260 / 0.28);

  --dur-fast: 120ms;
  --dur-base: 200ms;
  --ease: cubic-bezier(0.2, 0, 0.2, 1);
}

/* Fallback dla przeglądarek bez oklch() — wartości hex z tej samej tabeli. */
@supports not (color: oklch(0.5 0.1 200)) {
  :root {
    --brand: #025763;        --brand-dark: #06343b;   --brand-tint: #def1f4;
    --accent: #cd9b3c;       --accent-dark: #8b5e1d;
    --ink: #131c1e;          --muted: #626d6f;
    --bg: #f7fbfc;           --bg-alt: #eaf2f3;
    --border: #d3dcde;       --border-strong: #79888b;
    --success: #2b7a4d;      --warn: #c66a28;         --danger: #b02a2d;
    --focus: #1762b6;
  }
}
