/* ==========================================================================
   BookMint — WARSTWA KANONICZNA (atom pack)
   JEDYNE ŹRÓDŁO PRAWDY dla wartości: kolorów, fontów, promieni, cieni, skal.

   Architektura trzech warstw:
     1. bookmint-core.css  ← ten plik. Prymitywy (--bm-*) + fonty lokalne.
     2. tokens.css         ← warstwa kontekstowa (panel: .bm-app / front: .bmf).
                             Aliasuje prymitywy na role i nadpisuje to, co się
                             różni między panelem a frontem (udokumentowane).
     3. components.css     ← klasy komponentów. Nigdy nie zawierają hexów.

   Kolejność wczytania: bookmint-core.css → tokens.css → components.css

   ZASADA: żaden plik poza tym nie definiuje wartości koloru. Jeśli w warstwie
   2 lub 3 pojawia się hex, to błąd — wartość należy dodać tutaj.
   ========================================================================== */

/* --- FONTY LOKALNE --------------------------------------------------------
   Bez @import z Google Fonts: wtyczka w repozytorium WordPress.org nie może
   ładować zasobów z zewnętrznych domen (prywatność + Plugin Check).
   Pliki .woff2 spakować w katalogu wtyczki i zarejestrować przez
   wp_enqueue_style() — ścieżki poniżej są relatywne do tego arkusza.
   Subset: latin + latin-ext (polskie znaki diakrytyczne).
   -------------------------------------------------------------------------- */
/* Każda waga w dwóch subsetach: latin (ASCII + zł/€) oraz latin-ext (polskie diakrytyki ą ć ę ł ń ó ś ź ż). */
@font-face { font-family:'BookMint Display'; src:url('../fonts/space-grotesk-600-latin.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap; unicode-range:U+0000-00FF,U+0131,U+2000-206F,U+2074,U+20AC,U+2122,U+2212; }
@font-face { font-family:'BookMint Display'; src:url('../fonts/space-grotesk-600-latin-ext.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap; unicode-range:U+0100-024F,U+1E00-1EFF,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'BookMint Display'; src:url('../fonts/space-grotesk-700-latin.woff2') format('woff2'); font-weight:700; font-style:normal; font-display:swap; unicode-range:U+0000-00FF,U+0131,U+2000-206F,U+2074,U+20AC,U+2122,U+2212; }
@font-face { font-family:'BookMint Display'; src:url('../fonts/space-grotesk-700-latin-ext.woff2') format('woff2'); font-weight:700; font-style:normal; font-display:swap; unicode-range:U+0100-024F,U+1E00-1EFF,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'BookMint UI'; src:url('../fonts/plus-jakarta-sans-400-latin.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; unicode-range:U+0000-00FF,U+0131,U+2000-206F,U+2074,U+20AC,U+2122,U+2212; }
@font-face { font-family:'BookMint UI'; src:url('../fonts/plus-jakarta-sans-400-latin-ext.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; unicode-range:U+0100-024F,U+1E00-1EFF,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'BookMint UI'; src:url('../fonts/plus-jakarta-sans-500-latin.woff2') format('woff2'); font-weight:500; font-style:normal; font-display:swap; unicode-range:U+0000-00FF,U+0131,U+2000-206F,U+2074,U+20AC,U+2122,U+2212; }
@font-face { font-family:'BookMint UI'; src:url('../fonts/plus-jakarta-sans-500-latin-ext.woff2') format('woff2'); font-weight:500; font-style:normal; font-display:swap; unicode-range:U+0100-024F,U+1E00-1EFF,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'BookMint UI'; src:url('../fonts/plus-jakarta-sans-600-latin.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap; unicode-range:U+0000-00FF,U+0131,U+2000-206F,U+2074,U+20AC,U+2122,U+2212; }
@font-face { font-family:'BookMint UI'; src:url('../fonts/plus-jakarta-sans-600-latin-ext.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap; unicode-range:U+0100-024F,U+1E00-1EFF,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'BookMint UI'; src:url('../fonts/plus-jakarta-sans-700-latin.woff2') format('woff2'); font-weight:700; font-style:normal; font-display:swap; unicode-range:U+0000-00FF,U+0131,U+2000-206F,U+2074,U+20AC,U+2122,U+2212; }
@font-face { font-family:'BookMint UI'; src:url('../fonts/plus-jakarta-sans-700-latin-ext.woff2') format('woff2'); font-weight:700; font-style:normal; font-display:swap; unicode-range:U+0100-024F,U+1E00-1EFF,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'BookMint Mono'; src:url('../fonts/jetbrains-mono-400-latin.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; unicode-range:U+0000-00FF,U+0131,U+2000-206F,U+2074,U+20AC,U+2122,U+2212; }
@font-face { font-family:'BookMint Mono'; src:url('../fonts/jetbrains-mono-400-latin-ext.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; unicode-range:U+0100-024F,U+1E00-1EFF,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'BookMint Mono'; src:url('../fonts/jetbrains-mono-500-latin.woff2') format('woff2'); font-weight:500; font-style:normal; font-display:swap; unicode-range:U+0000-00FF,U+0131,U+2000-206F,U+2074,U+20AC,U+2122,U+2212; }
@font-face { font-family:'BookMint Mono'; src:url('../fonts/jetbrains-mono-500-latin-ext.woff2') format('woff2'); font-weight:500; font-style:normal; font-display:swap; unicode-range:U+0100-024F,U+1E00-1EFF,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'BookMint Mono'; src:url('../fonts/jetbrains-mono-700-latin.woff2') format('woff2'); font-weight:700; font-style:normal; font-display:swap; unicode-range:U+0000-00FF,U+0131,U+2000-206F,U+2074,U+20AC,U+2122,U+2212; }
@font-face { font-family:'BookMint Mono'; src:url('../fonts/jetbrains-mono-700-latin-ext.woff2') format('woff2'); font-weight:700; font-style:normal; font-display:swap; unicode-range:U+0100-024F,U+1E00-1EFF,U+2C60-2C7F,U+A720-A7FF; }

:root {
  /* ======================================================================
     1. PRYMITYWY — nazwy opisują KOLOR, nie zastosowanie.
     ====================================================================== */

  /* --- Mięta: kolor marki BookMint (8 stopni) ---
     Uwaga historyczna: w starszej wersji atom packa ta skala nazywała się
     --bm-primary-*, a --bm-accent-* oznaczało fiolet statusu „nowe". Było to
     mylące. Obecnie: marka = --bm-mint-*, fiolet = --bm-violet-*. */
  --bm-mint-50:  #F0FAF6;
  --bm-mint-100: #DFF3EB;
  --bm-mint-200: #BCE4D5;
  --bm-mint-300: #7FCFB0;
  --bm-mint-500: #14A87F;
  --bm-mint-600: #0E8F6B;
  --bm-mint-700: #0A7154;
  --bm-mint-800: #08543F;

  /* --- Szarości chłodne (zielonawe) — panel administracyjny --- */
  --bm-cool-25:  #FCFDFC;
  --bm-cool-50:  #F5F8F6;
  --bm-cool-100: #EEF2F0;
  --bm-cool-200: #E2E9E5;
  --bm-cool-300: #A8B8B2;
  --bm-cool-500: #7A8F89;
  --bm-cool-700: #3D5750;
  --bm-cool-800: #1B322C;
  --bm-cool-900: #10201C;

  /* --- Szarości ciepłe (neutralne) — frontend publiczny ---
     Front używa cieplejszej, całkowicie odbarwionej skali, żeby wtapiać się
     w dowolny motyw WordPressa. To świadoma różnica kontekstowa. */
  --bm-warm-25:  #FBFBFA;
  --bm-warm-50:  #F7F7F6;
  --bm-warm-100: #EFEFEC;
  --bm-warm-200: #E5E5E2;
  --bm-warm-300: #D6D6D2;
  --bm-warm-400: #C9CCC9;
  --bm-warm-450: #A9AEB2;
  --bm-warm-500: #7C8388;
  --bm-warm-600: #8D9390;
  --bm-warm-700: #43484D;
  --bm-warm-900: #15171A;

  /* --- Grafity: hero frontendu i lightbox (neutralne, nie zieleń) --- */
  --bm-graphite-700: #3C4E45;
  --bm-graphite-800: #26302C;
  --bm-graphite-850: #23302B;
  --bm-graphite-900: #1E2422;
  --bm-graphite-950: #0F1110;

  /* --- Statusy: trójki tło / tekst / obramowanie --- */
  --bm-ok-bg: #DFF3EB;     --bm-ok-fg: #0A7154;    --bm-ok-line: #BCE4D5;
  --bm-warn-bg: #FDF0DC;   --bm-warn-fg: #92600F;  --bm-warn-line: #F4DDB4;
  --bm-error-bg: #FBE7E4;  --bm-error-fg: #A32B20; --bm-error-line: #F3C9C3;
  --bm-info-bg: #E4EEFA;   --bm-info-fg: #1F5493;  --bm-info-line: #C3D8F1;
  --bm-violet-bg: #EDE7FA; --bm-violet-fg: #59399C;--bm-violet-line: #D8CCF3;
  --bm-violet-500: #6D4AA8;

  /* Warianty przygaszone — front (mniejsza saturacja, nie konkurują z akcentem) */
  --bm-ok-fg-quiet: #2F6A52;     --bm-ok-bg-quiet: #ECF3EF;
  --bm-warn-fg-quiet: #8A5B12;   --bm-warn-bg-quiet: #FBF3E4;
  --bm-error-fg-quiet: #8E2F26;  --bm-error-bg-quiet: #FBEEEC;  --bm-error-line-quiet: #F0D3CE;
  --bm-info-fg-quiet: #2C5478;   --bm-info-bg-quiet: #ECF1F5;

  /* --- Kolory identyfikacyjne usług (kropki, obramowania zdarzeń) --- */
  --bm-tag-1: #0E8F6B;
  --bm-tag-2: #1F5493;
  --bm-tag-3: #C2372C;
  --bm-tag-4: #6D4AA8;
  --bm-tag-5: #C58215;
  --bm-tag-6: #14A87F;

  /* --- Zestawy awatarów (tło / tekst), przydzielane po indeksie rekordu --- */
  --bm-av-1-bg: #DFF3EB; --bm-av-1-fg: #0A7154;
  --bm-av-2-bg: #FDF0DC; --bm-av-2-fg: #92600F;
  --bm-av-3-bg: #E4EEFA; --bm-av-3-fg: #1F5493;
  --bm-av-4-bg: #EDE7FA; --bm-av-4-fg: #59399C;
  --bm-av-5-bg: #FBE7E4; --bm-av-5-fg: #A32B20;
  --bm-av-6-bg: #EEF2F0; --bm-av-6-fg: #3D5750;

  /* --- Ciemny motyw panelu (jedyne miejsce z tymi wartościami) --- */
  --bm-dark-page: #0B1512;
  --bm-dark-surface: #10201C;
  --bm-dark-surface-2: #132520;
  --bm-dark-line: #22403A;
  --bm-dark-hair: #1B322C;
  --bm-dark-ink: #EAF2EE;
  --bm-dark-ink-2: #B7C6C0;
  --bm-dark-muted: #8AA09A;
  --bm-dark-disabled: #5E736D;
  --bm-dark-mint-50: #0F2A22;
  --bm-dark-mint-100: #123328;
  --bm-dark-mint-200: #1C4C3C;
  --bm-dark-ok-bg: #123328;    --bm-dark-ok-fg: #7FCFB0;  --bm-dark-ok-line: #1C4C3C;
  --bm-dark-warn-bg: #33260E;  --bm-dark-warn-fg: #E0B45E;--bm-dark-warn-line: #4A3714;
  --bm-dark-error-bg: #361A16; --bm-dark-error-fg: #E9948A;--bm-dark-error-line: #4E2620;
  --bm-dark-info-bg: #152A44;  --bm-dark-info-fg: #8FB6E6;--bm-dark-info-line: #22405F;
  --bm-dark-violet-bg: #241C3C;--bm-dark-violet-fg: #B9A6E6;--bm-dark-violet-line: #372B57;
  --bm-dark-wp: #071310;
  --bm-dark-wp-active: #0F241E;
  --bm-elev-1-dark: 0 1px 2px rgba(0, 0, 0, .4);
  --bm-elev-2-dark: 0 4px 12px rgba(0, 0, 0, .45);
  --bm-elev-3-dark: 0 16px 40px rgba(0, 0, 0, .55);
  --bm-elev-sticky-dark: 0 -6px 20px rgba(0, 0, 0, .4);

  /* --- Chrome wp-admin: tekst menu --- */
  --bm-wp-text: #B7C6C0;

  /* --- Hero i overlay frontendu --- */
  --bm-hero-ink: #F6F7F5;
  --bm-hero-ink-2: rgba(246, 247, 245, .78);
  --bm-hero-ink-3: rgba(255, 255, 255, .62);
  --bm-hero-chip: rgba(255, 255, 255, .14);
  --bm-hero-chip-line: rgba(255, 255, 255, .24);
  --bm-scrim: linear-gradient(180deg, rgba(15, 17, 16, .32), rgba(15, 17, 16, .78));
  --bm-overlay: rgba(12, 14, 13, .86);
  --bm-spinner-track: rgba(255, 255, 255, .35);

  /* --- Domyślny akcent frontendu (preset „szałwia"; nadpisywany ustawieniem
         wtyczki). Fallbacki soft/line dla przeglądarek bez color-mix(). --- */
  --bm-accent-default: #2E5C4E;
  --bm-accent-soft-fallback: #EDF3F0;
  --bm-accent-line-fallback: #CBDCD4;

  /* --- Absolutne --- */
  --bm-white: #FFFFFF;
  --bm-black: #000000;
  --bm-ink-absolute: #15171A; /* ciemny tekst reguły auto-kontrastu */

  /* ======================================================================
     2. FONTY
     ====================================================================== */
  --bm-font-display: 'BookMint Display', 'Space Grotesk', system-ui, sans-serif;
  --bm-font-ui: 'BookMint UI', 'Plus Jakarta Sans', system-ui, sans-serif;
  --bm-font-mono: 'BookMint Mono', 'JetBrains Mono', ui-monospace, monospace;
  /* Tryb „dziedzicz z motywu" (front, domyślny): tekst przejmuje font motywu. */
  --bm-font-inherit: inherit;

  /* ======================================================================
     3. PROMIENIE
     ====================================================================== */
  --bm-radius-xs: 6px;
  --bm-radius-sm: 9px;
  --bm-radius-sm-panel: 10px;  /* panel: przyciski i pola są o 1px bardziej miękkie */
  --bm-radius-md: 12px;
  --bm-radius-md-panel: 14px;
  --bm-radius-lg: 14px;
  --bm-radius-xl: 16px;
  --bm-radius-xxl: 20px;       /* panel: karty główne i tabele */
  --bm-radius-pill: 999px;

  /* ======================================================================
     4. CIENIE
     ====================================================================== */
  --bm-elev-1: 0 1px 2px rgba(16, 32, 28, .06);
  --bm-elev-2: 0 4px 12px rgba(16, 32, 28, .08);
  --bm-elev-3: 0 16px 40px rgba(16, 32, 28, .16);
  --bm-elev-sticky: 0 -6px 20px rgba(16, 32, 28, .10);
  /* Front: cienie liczone na ciepłym atramencie, szersze i miękcze */
  --bm-elev-1-warm: 0 1px 2px rgba(21, 23, 26, .05);
  --bm-elev-2-warm: 0 6px 22px rgba(21, 23, 26, .07);
  --bm-elev-3-warm: 0 18px 50px rgba(21, 23, 26, .14);
  --bm-elev-bar-warm: 0 -6px 22px rgba(21, 23, 26, .08);

  /* ======================================================================
     5. ODSTĘPY (krok 4px)
     ====================================================================== */
  --bm-space-1: 4px;  --bm-space-2: 8px;  --bm-space-3: 12px; --bm-space-4: 16px;
  --bm-space-5: 20px; --bm-space-6: 24px; --bm-space-7: 28px; --bm-space-8: 32px;
  /* Front operuje szerszym rytmem sekcji */
  --bm-space-6-wide: 26px; --bm-space-7-wide: 34px; --bm-space-8-wide: 46px;

  /* ======================================================================
     6. PIERŚCIEŃ FOCUS — jedna definicja dla całego produktu.
        Stosowany na KAŻDYM elemencie interaktywnym przez :focus-visible.
        Nie usuwać i nie zastępować `outline: none`.
     ====================================================================== */
  --bm-focus-width: 2px;
  --bm-focus-offset: 2px;
  --bm-focus-color: var(--bm-mint-500);
  --bm-focus-ring: var(--bm-focus-width) solid var(--bm-focus-color);
  /* Wariant na ciemnym tle (hero, pasek admina, lightbox) */
  --bm-focus-color-invert: var(--bm-white);

  /* ======================================================================
     7. DOTYK
     ====================================================================== */
  --bm-tap: 44px;
}
