/**
 * Blaminhor Essentials — Design Tokens
 *
 * Set MINIMAL : 1 valeur par usage réel, pas une à choisir au cas où.
 * Si tu ajoutes un token ici, justifie-le par "X modules l'utilisent ou en ont besoin".
 *
 * Loaded BEFORE _components.css / admin.css / modules.css.
 */

:root {
    /* ---------- Primary — accent du schéma de couleur admin de l'utilisateur --
     * Aucune couleur de marque. La valeur est injectée en PHP (wp_add_inline_
     * style) selon le schéma choisi par l'utilisateur — voir
     * Blaminhor_Essentials_Admin::get_admin_color_accent(). -hover et -soft en
     * dérivent. Le #2271b1 ci-dessous (accent du schéma WP par défaut) n'est
     * qu'un fallback si l'inline style ne charge pas — jamais une teinte BE. */
    --be-color-primary:           #2271b1;
    --be-color-primary-hover:     color-mix(in srgb, var(--be-color-primary) 85%, #000);
    --be-color-primary-soft:      color-mix(in srgb, var(--be-color-primary) 8%, transparent);

    /* ---------- Status (4 valeurs, chacune + soft bg) ---------- */
    --be-color-success:           #00a32a;
    --be-color-success-soft:      rgba(0, 163, 42, 0.08);
    --be-color-warning:           #dba617;
    --be-color-warning-soft:      rgba(219, 166, 23, 0.10);
    --be-color-danger:            #d63638;
    --be-color-danger-soft:       rgba(214, 54, 56, 0.08);
    --be-color-info:              #2271b1;
    --be-color-info-soft:         rgba(34, 113, 177, 0.08);

    /* ---------- Neutrals (6 nuances) ---------- */
    --be-color-gray-50:           #f9fafb;   /* page bg / stripes */
    --be-color-gray-200:          #e6e8ec;   /* borders */
    --be-color-gray-400:          #9ca3af;   /* placeholder, icon muted */
    --be-color-gray-600:          #6b7280;   /* secondary text */
    --be-color-gray-700:          #3e444d;   /* dark surfaces (active tab pill) — gris doux foncé entre gray-600 et gray-900 */
    --be-color-gray-900:          #1f2937;   /* primary text, tooltip bg */

    /* ---------- Surfaces (5) ---------- */
    --be-surface-bg:              #f0f0f1;   /* WP admin native bg — align with #wpfooter to avoid seam */
    --be-surface-card:            #ffffff;
    --be-surface-border:          #e6e8ec;   /* bord doux des cartes BE */
    --be-surface-border-strong:   #c3c4c7;   /* bord de contrôle natif WP — form-table, listes, inputs */
    --be-surface-overlay:         rgba(15, 23, 42, 0.55);

    /* ---------- Text (3) ---------- */
    --be-text-default:            #1f2937;
    --be-text-muted:              #6b7280;
    --be-text-on-dark:            #ffffff;

    /* ---------- Typo (4 sizes + 3 weights) ---------- */
    --be-font-size-sm:            12px;
    --be-font-size-md:            13px;      /* WP admin default */
    --be-font-size-lg:            14px;
    --be-font-size-xl:            22px;      /* h1 page header */

    --be-font-weight-regular:     400;
    --be-font-weight-medium:      500;
    --be-font-weight-semibold:    600;

    --be-line-height-base:        1.5;      /* corps de texte (notices, modals) */

    /* ---------- Spacing (5 valeurs, 4px base) ---------- */
    --be-space-1:                 4px;
    --be-space-2:                 8px;
    --be-space-3:                 16px;
    --be-space-4:                 24px;
    --be-space-5:                 32px;

    /* ---------- Radius ---------- */
    --be-radius-sm:               4px;       /* badges, inputs WP natifs */
    --be-radius-button:           2px;       /* boutons : aligné sur WordPress 7 (.button) */
    --be-radius-md:               8px;       /* modals, notices, sections */
    --be-radius-lg:               10px;      /* cards (dashboard baseline) */

    /* ---------- Shadows (2 suffisent) ---------- */
    --be-shadow-card:             0 1px 2px rgba(16, 24, 40, 0.04), 0 1px 3px rgba(16, 24, 40, 0.06);
    --be-shadow-overlay:          0 8px 24px rgba(16, 24, 40, 0.18);

    /* ---------- Motion (1 durée + 1 easing) ---------- */
    --be-duration:                150ms;
    --be-ease:                    cubic-bezier(0.4, 0, 0.2, 1);

    /* ---------- Z-index (réservés au runtime) ----------
     * Au-dessus du chrome WP admin (#adminmenuwrap = 9990, #wpadminbar = 99999)
     * — sinon le backdrop .be-modal-overlay ne masque pas la sidebar/topbar. */
    --be-z-modal:                 100000;
    --be-z-tooltip:               100100;

    /* ---------- Compatibility tokens ----------
     * Référencés par _components.css et ui-kit/ui-kit.css mais pas dans la liste
     * minimale ci-dessus. Soit alias d'un token canonique, soit valeur littérale.
     */
    --be-color-gray-100:          var(--be-color-gray-50);   /* approximation */
    --be-font-family:             -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    --be-font-mono:               ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Courier New", monospace;
    --be-font-size-xs:            11px;        /* badges, captions */
    --be-font-size-3xl:           28px;        /* hero UI Kit uniquement */
    --be-shadow-sm:               var(--be-shadow-card);
    --be-text-heading:            var(--be-text-default);
    --be-text-link:               var(--be-color-primary);
    --be-text-max:                65ch;
    --be-text-subtle:             var(--be-color-gray-400);
}

/* Legacy --ap-* and --bm-* aliases removed in Q3 (cleanup) — all CSS now
   consumes --be-* tokens directly. If a 3rd-party customization still
   references the old names, restore as needed. */
