/**
 * APNT Design System — TOKENS (sursa unică de adevăr)
 * =====================================================
 * Generat din handoff-ul de design aprobat (design_handoff_apnt_unificare/apnt.css
 * + DESIGN-SYSTEM-unificat.md §2–4, §7). Se importă PRIMUL în fiecare pagină.
 *
 * Reguli:
 *  - toate valorile de culoare/geometrie vin de aici — zero hex hardcodat în pagini
 *  - dark mode = UN singur mecanism: :root[data-theme="dark"] (toggle manual)
 *  - secțiunile setează --apnt-section-accent pe containerul rădăcină;
 *    componentele folosesc var(--apnt-section-accent, var(--apnt-primary))
 *
 * @author     Canny Agency SRL <office@canny.ro>
 * @copyright  2026 Canny Agency SRL
 */

:root {
  /* ── Brand ─────────────────────────────────────────────────────────── */
  --apnt-primary:         #7b1420;
  --apnt-primary-hover:   #9a1a2a;
  --apnt-primary-active:  #5e0f18;
  --apnt-primary-soft:    #f9f0f1;
  --apnt-primary-softer:  #fdf6f7;
  --apnt-on-primary:      #ffffff;
  /* text-accent pe fundal închis (linkuri/accente text în dark; NU fill de buton) */
  --apnt-primary-on-dark: #d98a94;

  --apnt-gold:      #c9a227;
  --apnt-gold-dark: #a68617;
  --apnt-gold-soft: rgba(201, 162, 39, .12);

  --apnt-grad-primary: linear-gradient(135deg, #7b1420, #5a0f18);

  /* ── Neutre calde (scala 50–900) ───────────────────────────────────── */
  --apnt-neutral-50:  #faf7f4;
  --apnt-neutral-100: #f1ebe7;
  --apnt-neutral-150: #f7f3f0;
  --apnt-neutral-200: #e8e4e0;
  --apnt-neutral-300: #d8d2cc;
  --apnt-neutral-400: #b0a8a0;
  --apnt-neutral-500: #8a827a;
  --apnt-neutral-600: #595959; /* muted — AAA 7:1 pe alb */
  --apnt-neutral-700: #3d3a37;
  --apnt-neutral-800: #26221f;
  --apnt-neutral-900: #1a1a1a;

  /* aliasuri semantice de suprafață */
  --apnt-bg:           var(--apnt-neutral-100);
  --apnt-bg-warm:      var(--apnt-neutral-150);
  --apnt-surface:      #ffffff;
  --apnt-surface-2:    var(--apnt-neutral-50);
  --apnt-border:       var(--apnt-neutral-200);
  --apnt-border-light: #f0ece8;
  --apnt-fg:           var(--apnt-neutral-900);
  --apnt-fg-muted:     var(--apnt-neutral-600);
  --apnt-link:         var(--apnt-primary);

  /* ── Semantice (o singură scală) ───────────────────────────────────── */
  --apnt-success:    #1e7a44;
  --apnt-success-bg: #e6f4ec;
  --apnt-success-fg: #14562f;
  --apnt-warning:    #b8770d;
  --apnt-warning-bg: #fef3c7;
  --apnt-warning-fg: #8a5808;
  --apnt-danger:     #c0281f;
  --apnt-danger-bg:  #fdeceb;
  --apnt-danger-fg:  #8f1c15;
  --apnt-info:       #1565c0;
  --apnt-info-bg:    #e7f0fb;
  --apnt-info-fg:    #0f4a8a;

  /* ── Accente de secțiune (comutate prin --apnt-section-accent) ─────── */
  --apnt-accent-bible:      #2e7d4f;
  --apnt-accent-bible-dark: #1e5c38;
  --apnt-accent-prayer:     #c0392b;
  --apnt-accent-events:     var(--apnt-primary);
  --apnt-accent-info-sec:   #3d7d92;
  --apnt-accent-spiritual:  #5f7d54;
  --apnt-accent-projects:   #8b7355;
  --apnt-accent-kids:       var(--apnt-primary);

  /* set jucăuș Copii (4 accente derivate) */
  --apnt-kids-1: #c0392b;
  --apnt-kids-2: #2e7d4f;
  --apnt-kids-3: #c9a227;
  --apnt-kids-4: #3d7d92;

  /* ── Badge-uri rol membri (= și culorile grup credințe) ────────────── */
  --apnt-role-pastor:    #7b1420;
  --apnt-role-diakon:    #1a5276;
  --apnt-role-diakonita: #6c3483;
  --apnt-role-tanar:     #1e7a44;
  --apnt-role-muzica:    #b8770d;
  --apnt-role-membre:    #2e6da4;
  --apnt-role-altul:     #566573;

  /* ── Tipografie ────────────────────────────────────────────────────── */
  --apnt-font-sans:  'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --apnt-font-serif: Georgia, 'Times New Roman', serif; /* DOAR versete/citate */
  --apnt-font-mono:  ui-monospace, 'Cascadia Code', 'Courier New', monospace;
  --apnt-font-kids:  'Lexend', var(--apnt-font-sans);   /* DOAR Copii (decizia 10) */

  /* ── Spacing (scala 4pt) ───────────────────────────────────────────── */
  --apnt-space-2xs: 4px;
  --apnt-space-xs:  8px;
  --apnt-space-sm:  12px;
  --apnt-space-md:  16px;
  --apnt-space-lg:  24px;
  --apnt-space-xl:  32px;
  --apnt-space-2xl: 48px;
  --apnt-space-3xl: 64px;

  /* ── Radius ────────────────────────────────────────────────────────── */
  --apnt-radius-xs:   6px;
  --apnt-radius-sm:   8px;   /* buton canonic */
  --apnt-radius-md:   12px;
  --apnt-radius-lg:   16px;
  --apnt-radius-xl:   24px;
  --apnt-radius-pill: 999px;
  --apnt-radius-full: 50%;

  /* ── Umbre ─────────────────────────────────────────────────────────── */
  --apnt-shadow-xs:      0 1px 2px rgba(0, 0, 0, .04);
  --apnt-shadow-sm:      0 2px 6px rgba(0, 0, 0, .06);
  --apnt-shadow-md:      0 4px 12px rgba(0, 0, 0, .08);
  --apnt-shadow-lg:      0 8px 24px rgba(0, 0, 0, .10);
  --apnt-shadow-xl:      0 16px 40px rgba(0, 0, 0, .14);
  --apnt-shadow-primary: 0 2px 8px rgba(123, 20, 32, .22);

  /* ── Border & tranziții ────────────────────────────────────────────── */
  --apnt-border-width:    1px;
  --apnt-border-width-2:  1.5px;
  --apnt-transition-fast: 140ms ease;
  --apnt-transition-base: 200ms ease;
  --apnt-transition-slow: 300ms ease;
  --apnt-ease-bounce:     cubic-bezier(.34, 1.4, .64, 1);

  /* ── Z-index (scala unică) ─────────────────────────────────────────── */
  --apnt-z-base:     0;
  --apnt-z-sticky:   100;
  --apnt-z-dropdown: 1000;
  --apnt-z-fab:      1100;
  --apnt-z-overlay:  1200;
  --apnt-z-modal:    1300;
  --apnt-z-toast:    1400;
  --apnt-z-tooltip:  1500;
  --apnt-z-skiplink: 1600;

  /* ── Chrome (header/footer unic — decizia 2/3 din handoff) ─────────── */
  --apnt-footer-bg:      #220a0e; /* burgundy foarte închis */
  --apnt-footer-link:    #cbb6b3;
  --apnt-header-topbar:  linear-gradient(90deg, var(--apnt-primary), var(--apnt-gold));
}

/* ═══ DARK MODE — :root[data-theme="dark"] (toggle manual, un singur mecanism) ═══ */
:root[data-theme="dark"] {
  --apnt-bg:           #16130f;
  --apnt-bg-warm:      #1c1815;
  --apnt-surface:      #23201c;
  --apnt-surface-2:    #2a2622;
  --apnt-border:       #3a352f;
  --apnt-border-light: #2e2a25;
  --apnt-fg:           #ece7e1;
  --apnt-fg-muted:     #b0a89f;

  --apnt-primary-soft:   #3a1a1e;
  --apnt-primary-softer: #2b1a1c;
  --apnt-gold-soft:      rgba(201, 162, 39, .18);
  --apnt-link:           var(--apnt-primary-on-dark);

  --apnt-success-bg: #173423;
  --apnt-success-fg: #8fd8ab;
  --apnt-warning-bg: #33270d;
  --apnt-warning-fg: #e5b95f;
  --apnt-danger-bg:  #361613;
  --apnt-danger-fg:  #efa39c;
  --apnt-info-bg:    #122a44;
  --apnt-info-fg:    #93bdec;

  --apnt-shadow-sm: 0 2px 6px rgba(0, 0, 0, .35);
  --apnt-shadow-md: 0 4px 14px rgba(0, 0, 0, .4);
  --apnt-shadow-lg: 0 8px 26px rgba(0, 0, 0, .5);

  --apnt-grad-primary: linear-gradient(135deg, #8f1826, #4a0c13);

  /* accent secțiune Biblie — contrast pe surface închis */
  --apnt-accent-bible: #4caf7d;

  --apnt-footer-bg: #100507;
}

/* ═══ HIGH CONTRAST (prefers-contrast) ═══ */
@media (prefers-contrast: more) {
  :root {
    --apnt-border: #767676;
    --apnt-fg-muted: #444444;
  }
}

/* ═══ ALIASURI DE COMPATIBILITATE (Faza 0 → se șterg în Faza 6) ═══
   Permit codului vechi să meargă neschimbat în timpul migrării.
   Paginile nemigrate își suprascriu oricum :root-ul propriu (încărcat după). */
:root {
  --primary:       var(--apnt-primary);
  --primary-hover: var(--apnt-primary-hover);
  --gold:          var(--apnt-gold);
  --bg:            var(--apnt-bg);
  --bg-warm:       var(--apnt-bg-warm);
  --surface:       var(--apnt-surface);
  --border:        var(--apnt-border);
  --fg:            var(--apnt-fg);
  --fg-muted:      var(--apnt-fg-muted);
  --bible-primary: var(--apnt-accent-bible);
  --kids-primary:  var(--apnt-primary);
}
