/* ==========================================================================
   CONFIGURATION GLOBALE & VARIABLES BOOTSTRAP 5
   ========================================================================== */

:root,[data-bs-theme=light] {
    /* ==========================================================================
     TYPOGRAPHIE (FONT FAMILIES & SYSTEM STACK)
     ========================================================================== */
    --bs-font-sans-serif: 'Outif', system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
    --app-font-headings: 'Poppins', var(--bs-font-sans-serif);
    --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;

    --bs-body-font-family: var(--bs-font-sans-serif);


    --bs-body-font-size: 1rem;
    /* 16px par défaut */
    --bs-body-font-weight: 400;
    /* Regular */
    --bs-body-line-height: 1.6;
    /* Hauteur de ligne légèrement augmentée pour le confort de lecture */

    --bs-primary: #835400;
    --bs-primary-rgb: 131, 84, 0;

    --bs-secondary: #596261;
    --bs-secondary-rgb: 89, 98, 97;

    --app-tertiary: #ffa800;
    --app-tertiary-rgb: 255, 168, 0;

    /* --- Liens et Focus (Basés sur le Primary) --- */
    --bs-link-color: var(--bs-primary);
    --bs-link-hover-color: #664100;
    /* Version légèrement plus sombre pour le survol */
    --bs-focus-ring-color: rgba(131, 84, 0, 0.25);

    /* --- Arrondis (Border Radius) --- */
    /* Modernisation avec des angles plus doux et progressifs */
    --bs-border-radius: 0.5rem;
    /* 8px (Boutons, cartes standard) */
    --bs-border-radius-sm: 0.375rem;
    /* 6px (Inputs, petits badges) */
    --bs-border-radius-lg: 0.75rem;
    /* 12px (Modales, grandes cartes) */
    --bs-border-radius-xl: 1.25rem;
    /* 20px (Sections, bannières) */
    --bs-border-radius-2xl: 2rem;
    /* 32px */
    --bs-border-radius-pill: 50rem;
    /* Pillules / Plein arrondi */

    --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(89, 98, 97, 0.075);
    --bs-box-shadow: 0 0.5rem 1rem rgba(89, 98, 97, 0.12);
    --bs-box-shadow-lg: 1rem 3rem rgba(89, 98, 97, 0.175);
}

/* ==========================================================================
   SURCHARGES EXPLICITES DES COMPOSANTS BOOTSTRAP
   ========================================================================== */

/* --- Boutons Primary --- */
.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #664100;
    --bs-btn-hover-border-color: #664100;
    --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #664100;
    --bs-btn-active-border-color: #664100;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--bs-primary);
    --bs-btn-disabled-border-color: var(--bs-primary);
}

.btn-outline-primary {
    --bs-btn-color: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-primary);
    --bs-btn-hover-border-color: var(--bs-primary);
    --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-primary);
    --bs-btn-active-border-color: var(--bs-primary);
    --bs-btn-disabled-color: var(--bs-primary);
    --bs-btn-disabled-border-color: var(--bs-primary);
}

/* --- Boutons Secondary --- */
.btn-secondary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--bs-secondary);
    --bs-btn-border-color: var(--bs-secondary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #4a4c4b;
    --bs-btn-hover-border-color: #4a4c4b;
    --bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #4a4c4b;
    --bs-btn-active-border-color: #4a4c4b;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--bs-secondary);
    --bs-btn-disabled-border-color: var(--bs-secondary);
}

.btn-outline-secondary {
    --bs-btn-color: var(--bs-secondary);
    --bs-btn-border-color: var(--bs-secondary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-secondary);
    --bs-btn-hover-border-color: var(--bs-secondary);
    --bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-secondary);
    --bs-btn-active-border-color: var(--bs-secondary);
    --bs-btn-disabled-color: var(--bs-secondary);
    --bs-btn-disabled-border-color: var(--bs-secondary);
}

/* ==========================================================================
   CLASSES UTILITAIRES ET COMPOSANTS POUR LA COULEUR TERTIAIRE
   ========================================================================== */

/* Arrière-plan Tertiaire */
.bg-tertiary {
    background-color: var(--app-tertiary) !important;
}

/* Texte Tertiaire */
.text-tertiary {
    color: var(--app-tertiary) !important;
}

/* Bordure Tertiaire */
.border-tertiary {
    border-color: var(--app-tertiary) !important;
}

/* Bouton Tertiaire Personnalisé (.btn-tertiary) */
.btn-tertiary {
    --bs-btn-color: #000;
    /* Écrit en noir pour un meilleur contraste sur le orange vif */
    --bs-btn-bg: var(--app-tertiary);
    --bs-btn-border-color: var(--app-tertiary);
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #e69700;
    /* Orange un poil plus foncé pour le hover */
    --bs-btn-hover-border-color: #d98e00;
    --bs-btn-focus-shadow-rgb: var(--app-tertiary-rgb);
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #d98e00;
    --bs-btn-active-border-color: #cc8500;

    /* Intégration des variables d'état standard de Bootstrap */
    display: inline-block;
    padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
    font-family: var(--bs-btn-font-family);
    font-size: var(--bs-btn-font-size);
    font-weight: var(--bs-btn-font-weight);
    line-height: var(--bs-btn-line-height);
    color: var(--bs-btn-color);
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    user-select: none;
    background-color: var(--bs-btn-bg);
    border: var(--bs-border-width) solid var(--bs-btn-border-color);
    border-radius: var(--bs-border-radius);
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.btn-tertiary:hover {
    color: var(--bs-btn-hover-color);
    background-color: var(--bs-btn-hover-bg);
    border-color: var(--bs-btn-hover-border-color);
}

.btn-tertiary:focus {
    color: var(--bs-btn-hover-color);
    background-color: var(--bs-btn-hover-bg);
    border-color: var(--bs-btn-hover-border-color);
    outline: 0;
    box-shadow: 0 0 0 var(--bs-btn-focus-width) rgba(var(--bs-btn-focus-shadow-rgb), 0.5);
}

/* Bouton Tertiaire Outline (.btn-outline-tertiary) */
.btn-outline-tertiary {
    --bs-btn-color: var(--app-tertiary);
    --bs-btn-border-color: var(--app-tertiary);
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: var(--app-tertiary);
    --bs-btn-hover-border-color: var(--app-tertiary);
    --bs-btn-focus-shadow-rgb: var(--app-tertiary-rgb);
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: var(--app-tertiary);
    --bs-btn-active-border-color: var(--app-tertiary);

    display: inline-block;
    padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
    font-family: var(--bs-btn-font-family);
    font-size: var(--bs-btn-font-size);
    font-weight: var(--bs-btn-font-weight);
    line-height: var(--bs-btn-line-height);
    color: var(--bs-btn-color);
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    user-select: none;
    background-color: transparent;
    border: var(--bs-border-width) solid var(--bs-btn-border-color);
    border-radius: var(--bs-border-radius);
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.btn-outline-tertiary:hover,
.btn-outline-tertiary:focus,
.btn-outline-tertiary:active {
    color: var(--bs-btn-hover-color) !important;
    background-color: var(--bs-btn-hover-bg) !important;
    border-color: var(--bs-btn-hover-border-color) !important;
}

/* --- Badges --- */
.badge.bg-primary {
    background-color: var(--bs-primary) !important;
    color: #fff;
}

.badge.bg-secondary {
    background-color: var(--bs-secondary) !important;
    color: #fff;
}

.badge.bg-tertiary {
    background-color: var(--app-tertiary) !important;
    color: #000;
}

/* --- Alerts --- */
.alert-primary {
    --bs-alert-color: #664100;
    --bs-alert-bg: rgba(131, 84, 0, 0.1);
    --bs-alert-border-color: rgba(131, 84, 0, 0.2);
}

.alert-secondary {
    --bs-alert-color: #4a4c4b;
    --bs-alert-bg: rgba(89, 98, 97, 0.1);
    --bs-alert-border-color: rgba(89, 98, 97, 0.2);
}

/* --- Classes d'Arrière-plan --- */
.bg-primary {
    background-color: var(--bs-primary) !important;
}

.bg-secondary {
    background-color: var(--bs-secondary) !important;
}

/* --- Classes de Texte --- */
.text-primary {
    color: var(--bs-primary) !important;
}

.text-secondary {
    color: var(--bs-secondary) !important;
}

/* --- Classes de Bordure --- */
.border-primary {
    border-color: var(--bs-primary) !important;
}

.border-secondary {
    border-color: var(--bs-secondary) !important;
}

/* --- Champs de Formulaire --- */
.form-control:focus,
.form-select:focus {
    border-color: rgba(131, 84, 0, 0.5);
    box-shadow: 0 0 0 0.25rem rgba(131, 84, 0, 0.25);
}

/* Ajustement pour les cases à cocher et boutons radio */
.form-check-input:checked {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.form-check-input:focus {
    border-color: rgba(131, 84, 0, 0.5);
    box-shadow: 0 0 0 0.25rem rgba(131, 84, 0, 0.25);
}

/* --- Cartes (Cards) --- */
.card {
    border-color: rgba(89, 98, 97, 0.1);
    border-radius: var(--bs-border-radius-lg);
}

/* --- Tableaux --- */
.table-primary {
    background-color: rgba(131, 84, 0, 0.1);
}

.table-secondary {
    background-color: rgba(89, 98, 97, 0.1);
}

.table-hover tbody tr:hover {
    background-color: rgba(131, 84, 0, 0.05);
}

/* --- Navigation / Navbars --- */
.navbar-light {
    background-color: #fff;
    border-bottom: 1px solid rgba(89, 98, 97, 0.1);
}

.nav-link {
    color: var(--bs-body-color) !important;
    font-weight: 500;
    transition: color 0.15s ease-in-out;
}

.nav-link:hover,
.nav-link.active {
    color: var(--bs-primary) !important;
}

/* --- Pagination --- */
.page-link {
    color: var(--bs-primary);
}

.page-link:hover {
    color: var(--bs-link-hover-color);
    background-color: rgba(131, 84, 0, 0.1);
    border-color: var(--bs-primary);
}

.page-link.active {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

/* --- Dropdowns --- */
.dropdown-item:hover,
.dropdown-item:focus {
    background-color: rgba(131, 84, 0, 0.1);
    color: var(--bs-primary);
}

.dropdown-item.active {
    background-color: var(--bs-primary);
}

/* --- Progressbars --- */
.progress-bar {
    background-color: var(--bs-primary);
}

/* --- Liens --- */
a {
    color: var(--bs-link-color);
    text-decoration: none;
    transition: color 0.15s ease-in-out;
}

a:hover {
    color: var(--bs-link-hover-color);
}

/* ==========================================================================
   CORRECTIONS DE COMPOSANTS SPECIFIQUES
   ========================================================================== */

/* Ajustement de la couleur de sélection du texte */
::selection {
    background-color: rgba(131, 84, 0, 0.2);
    color: var(--bs-body-color);
}

/* Pour les navigateurs basés sur Chromium (Chrome, Edge, Opera, Safari) */
::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

::-webkit-scrollbar-track {
    background: rgba(89, 98, 97, 0.05);
    /* Fond très léger (Secondary) */
}

::-webkit-scrollbar-thumb {
    background: rgba(131, 84, 0, 0.4);
    /* Primary avec opacité */
    border-radius: var(--bs-border-radius);
    border: 2px solid transparent;
    background-clip: padding-box;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--bs-primary);
    /* Rendu opaque au survol */
}

html,
body {
    background-color: #faf8f5;
    color: var(--bs-body-color);
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    font-family: var(--app-font-headings);
    font-weight: 500;
    letter-spacing: -0.02em;
    color: var(--bs-body-color);
}