/* ============================================================================
   ObMoA — Thème de couleurs personnalisé
   ----------------------------------------------------------------------------
   Ce fichier surcharge la palette Bootstrap par défaut sans toucher au reste
   du CSS ni au HTML existant. Il suffit de le charger APRÈS bootstrap.min.css
   et APRÈS style.css.

   - primary, danger, success, warning : recolorés
   - light, secondary, dark            : inchangés (valeurs Bootstrap standard)
   - 4 couleurs de marque additionnelles, utilisables comme les couleurs
     Bootstrap classiques : .text-marine / .bg-marine / .btn-marine /
     .btn-outline-marine / .badge.text-bg-marine, etc.
     (marine, violet, olive, ambre)
   ============================================================================ */

:root,
[data-bs-theme="light"] {
    /* --- Primary : #00939A --- */
    --bs-primary: #00939A;
    --bs-primary-rgb: 0, 147, 154;
    --bs-primary-text-emphasis: #00676C;
    --bs-primary-bg-subtle: #D9EFF0;
    --bs-primary-border-subtle: #99D4D7;
    --bs-link-color: #00939A;
    --bs-link-color-rgb: 0, 147, 154;
    --bs-link-hover-color: #007D83;
    --bs-link-hover-color-rgb: 0, 125, 131;

    /* --- Danger : #C00000 --- */
    --bs-danger: #C00000;
    --bs-danger-rgb: 192, 0, 0;
    --bs-danger-text-emphasis: #860000;
    --bs-danger-bg-subtle: #F6D9D9;
    --bs-danger-border-subtle: #E69999;

    /* --- Success : #37953B --- */
    --bs-success: #37953B;
    --bs-success-rgb: 55, 149, 59;
    --bs-success-text-emphasis: #266829;
    --bs-success-bg-subtle: #E1EFE2;
    --bs-success-border-subtle: #AFD5B1;

    /* --- Warning : #FFC000 --- */
    --bs-warning: #FFC000;
    --bs-warning-rgb: 255, 192, 0;
    --bs-warning-text-emphasis: #B28600;
    --bs-warning-bg-subtle: #FFF6D9;
    --bs-warning-border-subtle: #FFE699;

    /* --- Couleurs de marque additionnelles --- */
    --bs-marine: #1F4E78;
    --bs-marine-rgb: 31, 78, 120;
    --bs-violet: #9B0084;
    --bs-violet-rgb: 155, 0, 132;
    --bs-olive: #859C30;
    --bs-olive-rgb: 133, 156, 48;
    --bs-ambre: #E67300;
    --bs-ambre-rgb: 230, 115, 0;

}

/* ----------------------------------------------------------------------------
   Boutons pleins — recalculés (fond, bordure, hover, active, focus)
   Bootstrap "fige" ces couleurs par composant : il faut donc les redéfinir
   explicitement (une simple variable --bs-primary ne suffit pas pour .btn-*).
   ---------------------------------------------------------------------------- */
.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #00939A;
    --bs-btn-border-color: #00939A;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #007D83;
    --bs-btn-hover-border-color: #00767B;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #00767B;
    --bs-btn-active-border-color: #006F74;
    --bs-btn-disabled-bg: #00939A;
    --bs-btn-disabled-border-color: #00939A;
    --bs-btn-focus-shadow-rgb: 38, 165, 171;
}
.btn-danger {
    --bs-btn-color: #fff;
    --bs-btn-bg: #C00000;
    --bs-btn-border-color: #C00000;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #A30000;
    --bs-btn-hover-border-color: #9A0000;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #9A0000;
    --bs-btn-active-border-color: #910000;
    --bs-btn-disabled-bg: #C00000;
    --bs-btn-disabled-border-color: #C00000;
    --bs-btn-focus-shadow-rgb: 202, 38, 38;
}
.btn-success {
    --bs-btn-color: #fff;
    --bs-btn-bg: #37953B;
    --bs-btn-border-color: #37953B;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #2F7F32;
    --bs-btn-hover-border-color: #2C772F;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #2C772F;
    --bs-btn-active-border-color: #29702C;
    --bs-btn-disabled-bg: #37953B;
    --bs-btn-disabled-border-color: #37953B;
    --bs-btn-focus-shadow-rgb: 87, 167, 91;
}
.btn-warning {
    --bs-btn-color: #212529;
    --bs-btn-bg: #FFC000;
    --bs-btn-border-color: #FFC000;
    --bs-btn-hover-color: #212529;
    --bs-btn-hover-bg: #D9A300;
    --bs-btn-hover-border-color: #CC9A00;
    --bs-btn-active-color: #212529;
    --bs-btn-active-bg: #CC9A00;
    --bs-btn-active-border-color: #BF9100;
    --bs-btn-disabled-bg: #FFC000;
    --bs-btn-disabled-border-color: #FFC000;
    --bs-btn-focus-shadow-rgb: 217, 163, 0;
}

/* ----------------------------------------------------------------------------
   Boutons "outline"
   ---------------------------------------------------------------------------- */
.btn-outline-primary {
    --bs-btn-color: #00939A;
    --bs-btn-border-color: #00939A;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #00939A;
    --bs-btn-hover-border-color: #00939A;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #00939A;
    --bs-btn-active-border-color: #00939A;
    --bs-btn-disabled-color: #00939A;
    --bs-btn-disabled-border-color: #00939A;
    --bs-gradient: none;
    --bs-btn-focus-shadow-rgb: 0, 147, 154;
}
.btn-outline-danger {
    --bs-btn-color: #C00000;
    --bs-btn-border-color: #C00000;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #C00000;
    --bs-btn-hover-border-color: #C00000;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #C00000;
    --bs-btn-active-border-color: #C00000;
    --bs-btn-disabled-color: #C00000;
    --bs-btn-disabled-border-color: #C00000;
    --bs-btn-focus-shadow-rgb: 192, 0, 0;
}
.btn-outline-success {
    --bs-btn-color: #37953B;
    --bs-btn-border-color: #37953B;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #37953B;
    --bs-btn-hover-border-color: #37953B;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #37953B;
    --bs-btn-active-border-color: #37953B;
    --bs-btn-disabled-color: #37953B;
    --bs-btn-disabled-border-color: #37953B;
    --bs-btn-focus-shadow-rgb: 55, 149, 59;
}
.btn-outline-warning {
    --bs-btn-color: #FFC000;
    --bs-btn-border-color: #FFC000;
    --bs-btn-hover-color: #212529;
    --bs-btn-hover-bg: #FFC000;
    --bs-btn-hover-border-color: #FFC000;
    --bs-btn-active-color: #212529;
    --bs-btn-active-bg: #FFC000;
    --bs-btn-active-border-color: #FFC000;
    --bs-btn-disabled-color: #FFC000;
    --bs-btn-disabled-border-color: #FFC000;
    --bs-btn-focus-shadow-rgb: 255, 192, 0;
}

/* ----------------------------------------------------------------------------
   Badges, alertes, barres de progression, form-check (recalculés eux aussi)
   ---------------------------------------------------------------------------- */
.badge.text-bg-primary { background-color: #00939A !important; color: #fff !important; }
.badge.text-bg-danger  { background-color: #C00000 !important; color: #fff !important; }
.badge.text-bg-success { background-color: #37953B !important; color: #fff !important; }
.badge.text-bg-warning { background-color: #FFC000 !important; color: #212529 !important; }

.alert-primary { --bs-alert-color: #00676C; --bs-alert-bg: #D9EFF0; --bs-alert-border-color: #99D4D7; --bs-alert-link-color: #005458; }
.alert-danger  { --bs-alert-color: #860000; --bs-alert-bg: #F6D9D9; --bs-alert-border-color: #E69999; --bs-alert-link-color: #6B0000; }
.alert-success { --bs-alert-color: #266829; --bs-alert-bg: #E1EFE2; --bs-alert-border-color: #AFD5B1; --bs-alert-link-color: #1E5320; }
.alert-warning { --bs-alert-color: #806000; --bs-alert-bg: #FFF6D9; --bs-alert-border-color: #FFE699; --bs-alert-link-color: #664D00; }

.progress-bar.bg-primary { background-color: #00939A !important; }
.progress-bar.bg-danger  { background-color: #C00000 !important; }
.progress-bar.bg-success { background-color: #37953B !important; }
.progress-bar.bg-warning { background-color: #FFC000 !important; }

.form-check-input:checked {
    background-color: #00939A;
    border-color: #00939A;
}
.form-check-input:focus {
    border-color: #66c1c5;
    box-shadow: 0 0 0 0.25rem rgba(0, 147, 154, 0.25);
}
.form-control:focus,
.form-select:focus {
    border-color: #66c1c5;
    box-shadow: 0 0 0 0.25rem rgba(0, 147, 154, 0.25);
}

.list-group-item-primary { color: #00676C; background-color: #D9EFF0; }
.list-group-item-danger  { color: #860000; background-color: #F6D9D9; }
.list-group-item-success { color: #266829; background-color: #E1EFE2; }
.list-group-item-warning { color: #806000; background-color: #FFF6D9; }

.table-primary { --bs-table-bg: #D9EFF0; --bs-table-border-color: #c3d8d9; }
.table-danger  { --bs-table-bg: #F6D9D9; --bs-table-border-color: #ddc3c3; }
.table-success { --bs-table-bg: #E1EFE2; --bs-table-border-color: #cad8cb; }
.table-warning { --bs-table-bg: #FFF6D9; --bs-table-border-color: #e6ddc3; }

.page-link { color: #00939A; }
.page-item.active .page-link { background-color: #00939A; border-color: #00939A; }
.page-link:focus { box-shadow: 0 0 0 0.25rem rgba(0, 147, 154, 0.25); }

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link { background-color: #00939A; }

.dropdown-item.active,
.dropdown-item:active { background-color: #00939A; }

.accordion-button:not(.collapsed) {
    color: #00676C;
    background-color: #D9EFF0;
}
.accordion-button:focus {
    box-shadow: 0 0 0 0.25rem rgba(0, 147, 154, 0.25);
}

/* ============================================================================
   Couleurs de marque additionnelles : marine, violet, olive, ambre
   Utilisables avec les mêmes conventions que Bootstrap :
     .text-marine   .bg-marine   .border-marine
     .btn-marine    .btn-outline-marine
     .badge.text-bg-marine
   ============================================================================ */

/* --- Utilitaires texte / fond / bordure --- */
.text-marine { color: #1F4E78 !important; }
.text-violet { color: #9B0084 !important; }
.text-olive  { color: #859C30 !important; }
.text-ambre  { color: #E67300 !important; }

.bg-marine { background-color: #1F4E78 !important; }
.bg-violet { background-color: #9B0084 !important; }
.bg-olive  { background-color: #859C30 !important; }
.bg-ambre  { background-color: #E67300 !important; }

.border-marine { border-color: #1F4E78 !important; }
.border-violet { border-color: #9B0084 !important; }
.border-olive  { border-color: #859C30 !important; }
.border-ambre  { border-color: #E67300 !important; }

/* --- Badges (fond + texte blanc) --- */
.badge.text-bg-marine { background-color: #1F4E78 !important; color: #fff !important; }
.badge.text-bg-violet { background-color: #9B0084 !important; color: #fff !important; }
.badge.text-bg-olive  { background-color: #859C30 !important; color: #fff !important; }
.badge.text-bg-ambre  { background-color: #E67300 !important; color: #fff !important; }

/* --- Boutons pleins --- */
.btn-marine { --bs-btn-color: #fff; --bs-btn-bg: #1F4E78; --bs-btn-border-color: #1F4E78;
    --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #1A4266; --bs-btn-hover-border-color: #193E60;
    --bs-btn-active-color: #fff; --bs-btn-active-bg: #193E60; --bs-btn-active-border-color: #17395A;
    --bs-btn-disabled-bg: #1F4E78; --bs-btn-disabled-border-color: #1F4E78; --bs-btn-focus-shadow-rgb: 66, 105, 141; }

.btn-violet { --bs-btn-color: #fff; --bs-btn-bg: #9B0084; --bs-btn-border-color: #9B0084;
    --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #840070; --bs-btn-hover-border-color: #7C006A;
    --bs-btn-active-color: #fff; --bs-btn-active-bg: #7C006A; --bs-btn-active-border-color: #740063;
    --bs-btn-disabled-bg: #9B0084; --bs-btn-disabled-border-color: #9B0084; --bs-btn-focus-shadow-rgb: 168, 38, 148; }

.btn-olive { --bs-btn-color: #fff; --bs-btn-bg: #859C30; --bs-btn-border-color: #859C30;
    --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #718529; --bs-btn-hover-border-color: #6A7D26;
    --bs-btn-active-color: #fff; --bs-btn-active-bg: #6A7D26; --bs-btn-active-border-color: #647624;
    --bs-btn-disabled-bg: #859C30; --bs-btn-disabled-border-color: #859C30; --bs-btn-focus-shadow-rgb: 152, 172, 79; }

.btn-ambre { --bs-btn-color: #fff; --bs-btn-bg: #E67300; --bs-btn-border-color: #E67300;
    --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #C46200; --bs-btn-hover-border-color: #B85C00;
    --bs-btn-active-color: #fff; --bs-btn-active-bg: #B85C00; --bs-btn-active-border-color: #AD5700;
    --bs-btn-disabled-bg: #E67300; --bs-btn-disabled-border-color: #E67300; --bs-btn-focus-shadow-rgb: 235, 141, 51; }

/* --- Boutons outline --- */
.btn-outline-marine { --bs-btn-color: #1F4E78; --bs-btn-border-color: #1F4E78;
    --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #1F4E78; --bs-btn-hover-border-color: #1F4E78;
    --bs-btn-active-color: #fff; --bs-btn-active-bg: #1F4E78; --bs-btn-active-border-color: #1F4E78;
    --bs-btn-disabled-color: #1F4E78; --bs-btn-disabled-border-color: #1F4E78; --bs-btn-focus-shadow-rgb: 31, 78, 120; }

.btn-outline-violet { --bs-btn-color: #9B0084; --bs-btn-border-color: #9B0084;
    --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #9B0084; --bs-btn-hover-border-color: #9B0084;
    --bs-btn-active-color: #fff; --bs-btn-active-bg: #9B0084; --bs-btn-active-border-color: #9B0084;
    --bs-btn-disabled-color: #9B0084; --bs-btn-disabled-border-color: #9B0084; --bs-btn-focus-shadow-rgb: 155, 0, 132; }

.btn-outline-olive { --bs-btn-color: #859C30; --bs-btn-border-color: #859C30;
    --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #859C30; --bs-btn-hover-border-color: #859C30;
    --bs-btn-active-color: #fff; --bs-btn-active-bg: #859C30; --bs-btn-active-border-color: #859C30;
    --bs-btn-disabled-color: #859C30; --bs-btn-disabled-border-color: #859C30; --bs-btn-focus-shadow-rgb: 133, 156, 48; }

.btn-outline-ambre { --bs-btn-color: #E67300; --bs-btn-border-color: #E67300;
    --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #E67300; --bs-btn-hover-border-color: #E67300;
    --bs-btn-active-color: #fff; --bs-btn-active-bg: #E67300; --bs-btn-active-border-color: #E67300;
    --bs-btn-disabled-color: #E67300; --bs-btn-disabled-border-color: #E67300; --bs-btn-focus-shadow-rgb: 230, 115, 0; }

/* ----------------------------------------------------------------------------
   Groupes de boutons (.btn-group / .btn-group-vertical / boutons radio-check)
   Rien à recolorer ici : un .btn-group ne fait que regrouper des .btn-* déjà
   recolorés ci-dessus (y compris l'état "actif" des boutons radio/checkbox
   via .btn-check:checked + .btn-outline-*, qui lit les mêmes variables
   --bs-btn-active-bg / --bs-btn-focus-shadow-rgb déjà définies plus haut).
   On ajoute simplement une garantie de superposition correcte au survol/focus,
   déjà présente par défaut dans Bootstrap mais rappelée ici par sécurité :
   ---------------------------------------------------------------------------- */
.btn-group > .btn-check:checked + .btn,
.btn-group > .btn-check:focus + .btn,
.btn-group > .btn:hover,
.btn-group > .btn:focus,
.btn-group > .btn:active,
.btn-group > .btn.active {
    z-index: 1;
}

/* ----------------------------------------------------------------------------
   Pagination Bootstrap native (<ul class="pagination">)
   ---------------------------------------------------------------------------- */
.page-link {
    color: #00939A;
}
.page-link:hover {
    color: #00676C;
    background-color: #D9EFF0;
    border-color: #99D4D7;
}
.page-link:focus {
    box-shadow: 0 0 0 0.25rem rgba(0, 147, 154, 0.25);
}
.page-item.active .page-link {
    background-color: #00939A;
    border-color: #00939A;
}
.page-item.disabled .page-link {
    color: #adb5bd;
}

/* Variantes de pagination pour recolorer une pagination spécifique :
   <ul class="pagination pagination-danger"> ... </ul> */
.pagination-danger .page-link { color: #C00000; }
.pagination-danger .page-link:hover { color: #860000; background-color: #F6D9D9; border-color: #E69999; }
.pagination-danger .page-item.active .page-link { background-color: #C00000; border-color: #C00000; }

.pagination-success .page-link { color: #37953B; }
.pagination-success .page-link:hover { color: #266829; background-color: #E1EFE2; border-color: #AFD5B1; }
.pagination-success .page-item.active .page-link { background-color: #37953B; border-color: #37953B; }

.pagination-warning .page-link { color: #B28600; }
.pagination-warning .page-link:hover { color: #806000; background-color: #FFF6D9; border-color: #FFE699; }
.pagination-warning .page-item.active .page-link { background-color: #FFC000; border-color: #FFC000; color: #212529; }

.pagination-marine .page-link { color: #1F4E78; }
.pagination-marine .page-link:hover { color: #163754; background-color: #DDE4EB; border-color: #A5B8C9; }
.pagination-marine .page-item.active .page-link { background-color: #1F4E78; border-color: #1F4E78; }

.pagination-violet .page-link { color: #9B0084; }
.pagination-violet .page-link:hover { color: #6C005C; background-color: #F0D9ED; border-color: #D799CE; }
.pagination-violet .page-item.active .page-link { background-color: #9B0084; border-color: #9B0084; }

.pagination-olive .page-link { color: #5D6D22; }
.pagination-olive .page-link:hover { color: #5D6D22; background-color: #EDF0E0; border-color: #CED7AC; }
.pagination-olive .page-item.active .page-link { background-color: #859C30; border-color: #859C30; }

.pagination-ambre .page-link { color: #A15000; }
.pagination-ambre .page-link:hover { color: #A15000; background-color: #FBEAD9; border-color: #F5C799; }
.pagination-ambre .page-item.active .page-link { background-color: #E67300; border-color: #E67300; }

/* ----------------------------------------------------------------------------
   Pagination Tabulator (utilisée dans l'explorateur / comparateur)
   Le thème tabulator_bootstrap5.min.css chargé via CDN embarque ses propres
   couleurs figées (bleu Bootstrap par défaut) : il faut donc les recolorer
   explicitement, une variable --bs-primary ne suffit pas ici non plus.
   ---------------------------------------------------------------------------- */
.tabulator .tabulator-footer .tabulator-page {
    color: #00939A;
    border-color: #99D4D7;
}
.tabulator .tabulator-footer .tabulator-page:not(.disabled):hover {
    color: #fff;
    background-color: #007D83;
    border-color: #007D83;
}
.tabulator .tabulator-footer .tabulator-page.active {
    color: #fff;
    background-color: #00939A;
    border-color: #00939A;
}
.tabulator .tabulator-footer .tabulator-page[disabled] {
    color: #adb5bd;
    opacity: .65;
}
.tabulator .tabulator-footer .tabulator-paginator label,
.tabulator .tabulator-footer .tabulator-page-size {
    color: #212529;
}

/* ----------------------------------------------------------------------------
   Spinners (.spinner-border / .spinner-grow)
   Par défaut, un spinner sans classe de couleur hérite du gris de texte
   ambiant. On le recolore en primary par défaut ; les variantes .text-danger,
   .text-marine, etc. définies plus haut continuent de fonctionner normalement
   (elles sont en !important et restent donc prioritaires).
   ---------------------------------------------------------------------------- */
.spinner-border,
.spinner-grow {
    color: #00939A;
}

