/* ============================================================================ */
/* MOM THEME — Source de vérité des couleurs                                    */
/* ---------------------------------------------------------------------------- */
/* Palette MOM (éditable) basée sur Bootstrap, puis remap des variables --bs-*  */
/* dessus. Chargé APRÈS bootstrap.css : nos valeurs gagnent en clair ET sombre. */
/* Pour changer une couleur de l'app : modifie la PALETTE ci-dessous.           */
/* ============================================================================ */

/* ============================ a) PALETTE MOM ============================ */
:root {
  /* --- Couleurs de base --- */
  --mom-blue: #0d6efd;
  --mom-indigo: #6610f2;
  --mom-purple: #6f42c1;
  --mom-pink: #d63384;
  --mom-red: #dc3545;
  --mom-orange: #fd7e14;
  --mom-yellow: #ffc107;
  --mom-green: #198754;
  --mom-teal: #20c997;
  --mom-cyan: #0dcaf0;
  --mom-black: #000;
  --mom-white: #fff;
  --mom-gray: #6c757d;
  --mom-gray-dark: #343a40;
  --mom-gray-100: #f8f9fa;
  --mom-gray-200: #e9ecef;
  --mom-gray-300: #dee2e6;
  --mom-gray-400: #ced4da;
  --mom-gray-500: #adb5bd;
  --mom-gray-600: #6c757d;
  --mom-gray-700: #495057;
  --mom-gray-800: #343a40;
  --mom-gray-900: #212529;

  /* --- Couleurs de marque MOM --- */
  --mom-bg-body: rgb(171 32 32);
  --mom-red: rgb(171 32 32);
  --mom-my-color: white;
  --mom-logo-color: black;
  --mom-bg-body-004: rgb(171 32 32 / 4%);
  --mom-bg-body-05: rgb(171 32 32 / 50%);
  --mom-text-on-bg-body: #ffffff;
  --mom-text-on-bg-body-subtle: #aab2c2;
  --mom-nav-bar-sep: #ffffff;
  --bg-context-menu: #ffffff;
  --red-neon: rgba(255, 49, 49, 1);
  --blue-neon: rgba(18, 18, 18, 1);
  --blue-neon-90: rgba(18, 18, 18, 0.9);
  --blue-neon-80: rgba(18, 18, 18, 0.8);
  --blue-neon-70: #f8f8f8;
  --blue-neon-60: rgba(18, 18, 18, 0.6);
  --blue-neon-10: rgba(0, 206, 206, 0.1);
  --yellow-neon: rgba(250, 237, 39, 1);
  --border-card: #cccccc;

  /* --- Tokens sémantiques (réfèrent la palette) --- */
  --mom-primary: var(--mom-blue);
  --mom-secondary: var(--mom-gray-600);
  --mom-success: var(--mom-green);
  --mom-info: var(--mom-cyan);
  --mom-warning: var(--mom-yellow);
  --mom-danger: var(--mom-red);
  --mom-light: var(--mom-gray-100);
  --mom-dark: var(--mom-gray-900);

  /* Triplets RGB (pour rgba(var(--…-rgb), x)) */
  --mom-primary-rgb: 13, 110, 253;
  --mom-secondary-rgb: 108, 117, 125;
  --mom-success-rgb: 25, 135, 84;
  --mom-info-rgb: 13, 202, 240;
  --mom-warning-rgb: 255, 193, 7;
  --mom-danger-rgb: 220, 53, 69;
  --mom-light-rgb: 248, 249, 250;
  --mom-dark-rgb: 33, 37, 41;
  --mom-white-rgb: 255, 255, 255;
  --mom-black-rgb: 0, 0, 0;

  /* --- Surfaces / texte (thème clair) --- */
  --mom-body-color: #212529;
  --mom-body-color-rgb: 33, 37, 41;
  --mom-body-bg: #fff;
  --mom-body-bg-rgb: 255, 255, 255;
  --mom-emphasis-color: #000;
  --mom-emphasis-color-rgb: 0, 0, 0;
  --mom-secondary-color: rgba(33, 37, 41, 0.75);
  --mom-secondary-color-rgb: 33, 37, 41;
  --mom-secondary-bg: #e9ecef;
  --mom-secondary-bg-rgb: 233, 236, 239;
  --mom-tertiary-color: rgba(33, 37, 41, 0.5);
  --mom-tertiary-color-rgb: 33, 37, 41;
  --mom-tertiary-bg: #f8f9fa;
  --mom-tertiary-bg-rgb: 248, 249, 250;
  --mom-border-color: #dee2e6;
  --mom-border-color-translucent: rgba(0, 0, 0, 0.175);
  --mom-link: #0d6efd;
  --mom-link-rgb: 13, 110, 253;
  --mom-link-hover: #0a58ca;
  --mom-link-hover-rgb: 10, 88, 202;
  --mom-code-color: #d63384;
  --mom-highlight-color: #212529;
  --mom-highlight-bg: #fff3cd;
  --mom-focus-ring-color: rgba(13, 110, 253, 0.25);
  --mom-form-valid-color: #198754;
  --mom-form-valid-border-color: #198754;
  --mom-form-invalid-color: #dc3545;
  --mom-form-invalid-border-color: #dc3545;

  /* --- Variantes text-emphasis / bg-subtle / border-subtle (thème clair) --- */
  --mom-primary-text-emphasis: #052c65;
  --mom-secondary-text-emphasis: #2b2f32;
  --mom-success-text-emphasis: #0a3622;
  --mom-info-text-emphasis: #055160;
  --mom-warning-text-emphasis: #664d03;
  --mom-danger-text-emphasis: #58151c;
  --mom-light-text-emphasis: #495057;
  --mom-dark-text-emphasis: #495057;
  --mom-primary-bg-subtle: #cfe2ff;
  --mom-secondary-bg-subtle: #e2e3e5;
  --mom-success-bg-subtle: #d1e7dd;
  --mom-info-bg-subtle: #cff4fc;
  --mom-warning-bg-subtle: #fff3cd;
  --mom-danger-bg-subtle: #f8d7da;
  --mom-light-bg-subtle: #fcfcfd;
  --mom-dark-bg-subtle: #ced4da;
  --mom-primary-border-subtle: #9ec5fe;
  --mom-secondary-border-subtle: #c4c8cb;
  --mom-success-border-subtle: #a3cfbb;
  --mom-info-border-subtle: #9eeaf9;
  --mom-warning-border-subtle: #ffe69c;
  --mom-danger-border-subtle: #f1aeb5;
  --mom-light-border-subtle: #e9ecef;
  --mom-dark-border-subtle: #adb5bd;

  /* Navbar — état actif/hover (tunable) */
  --mom-nav-hover-bg: rgba(0, 0, 0, 0.08);
  --mom-nav-active-bg: rgba(0, 0, 0, 0.18);
  --mom-nav-active-accent: var(--mom-text-on-bg-body);
  --mom-nav-active-color: var(--mom-text-on-bg-body);

  /* Divers (repris de mom-classic) */
  --bs-table-hover-bg: rgba(0, 0, 0, 0.075) !important;
}

/* ====================== b) MAPPING BOOTSTRAP → PALETTE ====================== */
/* Repointe toutes les variables COULEUR de Bootstrap sur la palette MOM.       */
/* (On ne touche pas aux variables non-couleur : fonts, radius, shadow, etc.)   */
:root {
  --bs-blue: var(--mom-blue);
  --bs-indigo: var(--mom-indigo);
  --bs-purple: var(--mom-purple);
  --bs-pink: var(--mom-pink);
  --bs-red: var(--mom-red);
  --bs-orange: var(--mom-orange);
  --bs-yellow: var(--mom-yellow);
  --bs-green: var(--mom-green);
  --bs-teal: var(--mom-teal);
  --bs-cyan: var(--mom-cyan);
  --bs-black: var(--mom-black);
  --bs-white: var(--mom-white);
  --bs-gray: var(--mom-gray);
  --bs-gray-dark: var(--mom-gray-dark);
  --bs-gray-100: var(--mom-gray-100);
  --bs-gray-200: var(--mom-gray-200);
  --bs-gray-300: var(--mom-gray-300);
  --bs-gray-400: var(--mom-gray-400);
  --bs-gray-500: var(--mom-gray-500);
  --bs-gray-600: var(--mom-gray-600);
  --bs-gray-700: var(--mom-gray-700);
  --bs-gray-800: var(--mom-gray-800);
  --bs-gray-900: var(--mom-gray-900);

  --bs-primary: var(--mom-primary);
  --bs-secondary: var(--mom-secondary);
  --bs-success: var(--mom-success);
  --bs-info: var(--mom-info);
  --bs-warning: var(--mom-warning);
  --bs-danger: var(--mom-danger);
  --bs-light: var(--mom-light);
  --bs-dark: var(--mom-dark);

  --bs-primary-rgb: var(--mom-primary-rgb);
  --bs-secondary-rgb: var(--mom-secondary-rgb);
  --bs-success-rgb: var(--mom-success-rgb);
  --bs-info-rgb: var(--mom-info-rgb);
  --bs-warning-rgb: var(--mom-warning-rgb);
  --bs-danger-rgb: var(--mom-danger-rgb);
  --bs-light-rgb: var(--mom-light-rgb);
  --bs-dark-rgb: var(--mom-dark-rgb);
  --bs-white-rgb: var(--mom-white-rgb);
  --bs-black-rgb: var(--mom-black-rgb);

  --bs-primary-text-emphasis: var(--mom-primary-text-emphasis);
  --bs-secondary-text-emphasis: var(--mom-secondary-text-emphasis);
  --bs-success-text-emphasis: var(--mom-success-text-emphasis);
  --bs-info-text-emphasis: var(--mom-info-text-emphasis);
  --bs-warning-text-emphasis: var(--mom-warning-text-emphasis);
  --bs-danger-text-emphasis: var(--mom-danger-text-emphasis);
  --bs-light-text-emphasis: var(--mom-light-text-emphasis);
  --bs-dark-text-emphasis: var(--mom-dark-text-emphasis);

  --bs-primary-bg-subtle: var(--mom-primary-bg-subtle);
  --bs-secondary-bg-subtle: var(--mom-secondary-bg-subtle);
  --bs-success-bg-subtle: var(--mom-success-bg-subtle);
  --bs-info-bg-subtle: var(--mom-info-bg-subtle);
  --bs-warning-bg-subtle: var(--mom-warning-bg-subtle);
  --bs-danger-bg-subtle: var(--mom-danger-bg-subtle);
  --bs-light-bg-subtle: var(--mom-light-bg-subtle);
  --bs-dark-bg-subtle: var(--mom-dark-bg-subtle);

  --bs-primary-border-subtle: var(--mom-primary-border-subtle);
  --bs-secondary-border-subtle: var(--mom-secondary-border-subtle);
  --bs-success-border-subtle: var(--mom-success-border-subtle);
  --bs-info-border-subtle: var(--mom-info-border-subtle);
  --bs-warning-border-subtle: var(--mom-warning-border-subtle);
  --bs-danger-border-subtle: var(--mom-danger-border-subtle);
  --bs-light-border-subtle: var(--mom-light-border-subtle);
  --bs-dark-border-subtle: var(--mom-dark-border-subtle);

  --bs-body-color: var(--mom-body-color);
  --bs-body-color-rgb: var(--mom-body-color-rgb);
  --bs-body-bg: var(--mom-body-bg);
  --bs-body-bg-rgb: var(--mom-body-bg-rgb);
  --bs-emphasis-color: var(--mom-emphasis-color);
  --bs-emphasis-color-rgb: var(--mom-emphasis-color-rgb);
  --bs-secondary-color: var(--mom-secondary-color);
  --bs-secondary-color-rgb: var(--mom-secondary-color-rgb);
  --bs-secondary-bg: var(--mom-secondary-bg);
  --bs-secondary-bg-rgb: var(--mom-secondary-bg-rgb);
  --bs-tertiary-color: var(--mom-tertiary-color);
  --bs-tertiary-color-rgb: var(--mom-tertiary-color-rgb);
  --bs-tertiary-bg: var(--mom-tertiary-bg);
  --bs-tertiary-bg-rgb: var(--mom-tertiary-bg-rgb);

  --bs-link-color: var(--mom-link);
  --bs-link-color-rgb: var(--mom-link-rgb);
  --bs-link-hover-color: var(--mom-link-hover);
  --bs-link-hover-color-rgb: var(--mom-link-hover-rgb);

  --bs-code-color: var(--mom-code-color);
  --bs-highlight-color: var(--mom-highlight-color);
  --bs-highlight-bg: var(--mom-highlight-bg);
  --bs-border-color: var(--mom-border-color);
  --bs-border-color-translucent: var(--mom-border-color-translucent);
  --bs-focus-ring-color: var(--mom-focus-ring-color);
  --bs-form-valid-color: var(--mom-form-valid-color);
  --bs-form-valid-border-color: var(--mom-form-valid-border-color);
  --bs-form-invalid-color: var(--mom-form-invalid-color);
  --bs-form-invalid-border-color: var(--mom-form-invalid-border-color);
}

/* ============================ c) THÈME SOMBRE ============================ */
/* Les --bs-* réfèrent la palette : on ne redéfinit QUE les tokens MOM dépendants
   du thème, et tout suit. */
[data-bs-theme="dark"] {
  color-scheme: dark;

  /* Marque MOM (dark) */
  --mom-bg-body: #1f2530;
  --mom-bg-body-004: #f4f6f9;
  --mom-bg-body-05: #f4f6f9;
  --mom-text-on-bg-body: #ffffff;
  --mom-text-on-bg-body-subtle: #aab2c2;
  --mom-nav-bar-sep: #aab2c2;
  --bg-context-menu: #212529;
  --mom-my-color: rgb(171 32 32);
  --mom-logo-color : white;

  /* Navbar — état actif/hover (sidebar sombre + accent rouge, cf. image) */
  --mom-nav-hover-bg: rgba(255, 255, 255, 0.06);
  --mom-nav-active-bg: rgba(255, 255, 255, 0.1);
  --mom-nav-active-accent: var(--mom-red);
  --mom-nav-active-color: #ffffff;

  /* Surfaces / texte */
  /* --- Surfaces / texte (thème clair) --- */
  --mom-body-color: #212529;
  --mom-body-color-rgb: 33, 37, 41;
  --mom-body-bg: #fff;
  --mom-body-bg-rgb: 255, 255, 255;
  --mom-emphasis-color: #000;
  --mom-emphasis-color-rgb: 0, 0, 0;
  --mom-secondary-color: rgba(33, 37, 41, 0.75);
  --mom-secondary-color-rgb: 33, 37, 41;
  --mom-secondary-bg: #e9ecef;
  --mom-secondary-bg-rgb: 233, 236, 239;
  --mom-tertiary-color: rgba(33, 37, 41, 0.5);
  --mom-tertiary-color-rgb: 33, 37, 41;
  --mom-tertiary-bg: #f8f9fa;
  --mom-tertiary-bg-rgb: 248, 249, 250;
  --mom-border-color: #dee2e6;
  --mom-border-color-translucent: rgba(0, 0, 0, 0.175);
  --mom-link: #0d6efd;
  --mom-link-rgb: 13, 110, 253;
  --mom-link-hover: #0a58ca;
  --mom-link-hover-rgb: 10, 88, 202;
  --mom-code-color: #d63384;
  --mom-highlight-color: #212529;
  --mom-highlight-bg: #fff3cd;
  --mom-focus-ring-color: rgba(13, 110, 253, 0.25);
  --mom-form-valid-color: #198754;
  --mom-form-valid-border-color: #198754;
  --mom-form-invalid-color: #dc3545;
  --mom-form-invalid-border-color: #dc3545;

  /* --- Variantes text-emphasis / bg-subtle / border-subtle (thème clair) --- */
  --mom-primary-text-emphasis: #052c65;
  --mom-secondary-text-emphasis: #2b2f32;
  --mom-success-text-emphasis: #0a3622;
  --mom-info-text-emphasis: #055160;
  --mom-warning-text-emphasis: #664d03;
  --mom-danger-text-emphasis: #58151c;
  --mom-light-text-emphasis: #495057;
  --mom-dark-text-emphasis: #495057;
  --mom-primary-bg-subtle: #cfe2ff;
  --mom-secondary-bg-subtle: #e2e3e5;
  --mom-success-bg-subtle: #d1e7dd;
  --mom-info-bg-subtle: #cff4fc;
  --mom-warning-bg-subtle: #fff3cd;
  --mom-danger-bg-subtle: #f8d7da;
  --mom-light-bg-subtle: #fcfcfd;
  --mom-dark-bg-subtle: #ced4da;
  --mom-primary-border-subtle: #9ec5fe;
  --mom-secondary-border-subtle: #c4c8cb;
  --mom-success-border-subtle: #a3cfbb;
  --mom-info-border-subtle: #9eeaf9;
  --mom-warning-border-subtle: #ffe69c;
  --mom-danger-border-subtle: #f1aeb5;
  --mom-light-border-subtle: #e9ecef;
  --mom-dark-border-subtle: #adb5bd;

}

/* ============================ thème "second" ============================ */
[data-bs-theme="second"] {
  --mom-bg-body-004: #f4f6f9;
  --mom-bg-body-05: #f4f6f9;
  --mom-bg-body: #1f2530;
  --mom-text-on-bg-body: #ffffff;
  --bg-context-menu: #212529;
}
