/* =====================================================================
   Thème aux couleurs du logo de l'école (École Les Élites)
   ---------------------------------------------------------------------
   Pour changer les couleurs de toute l'application (site public,
   administration, rapport PDF), modifiez uniquement les variables
   ci-dessous. Couleurs mesurées dans le logo :
     bleu du mortier  #779EC7
     orange « ÉCOLE LES » #E1932F
     rouge du point    #B02A32
     gris du texte     #656565
   ===================================================================== */
:root {
    /* Couleurs du logo */
    --brand-blue:        #779EC7;
    --brand-orange:      #E1932F;
    --brand-red:         #B02A32;
    --brand-gray:        #656565;

    /* Nuances dérivées (lisibilité : texte blanc sur fond assez foncé) */
    --brand-blue-dark:   #3D6B9A;   /* boutons, liens, titres (contraste 5,6:1 avec le blanc) */
    --brand-blue-darker: #2F5680;   /* survol des boutons */
    --brand-blue-light:  #EAF1F8;   /* fonds légers */
    --brand-orange-dark: #A8600F;   /* texte orange lisible sur fond blanc */
    --brand-orange-light:#FCF1E3;
    --brand-gray-dark:   #4A4A4A;   /* barre de navigation de l'admin */
    --brand-bg:          #F4F7FB;   /* fond des pages */

    /* Branchement sur Bootstrap 5.3 */
    --bs-primary:            var(--brand-blue-dark);
    --bs-primary-rgb:        61, 107, 154;
    --bs-danger:             var(--brand-red);
    --bs-danger-rgb:         176, 42, 50;
    --bs-warning:            var(--brand-orange);
    --bs-warning-rgb:        225, 147, 47;
    --bs-link-color:         var(--brand-blue-dark);
    --bs-link-color-rgb:     61, 107, 154;
    --bs-link-hover-color:   var(--brand-blue-darker);
    --bs-link-hover-color-rgb: 47, 86, 128;
    --bs-body-color:         #2E2E2E;
    --bs-secondary-color:    var(--brand-gray);
    --bs-focus-ring-color:   rgba(119, 158, 199, .45);
}

body { background-color: var(--brand-bg); }
.text-muted, .text-secondary { color: var(--brand-gray) !important; }
.text-primary { color: var(--brand-blue-dark) !important; }
.text-danger  { color: var(--brand-red) !important; }
.bg-primary   { background-color: var(--brand-blue-dark) !important; }

/* Boutons */
.btn-primary {
    --bs-btn-bg: var(--brand-blue-dark);           --bs-btn-border-color: var(--brand-blue-dark);
    --bs-btn-hover-bg: var(--brand-blue-darker);   --bs-btn-hover-border-color: var(--brand-blue-darker);
    --bs-btn-active-bg: var(--brand-blue-darker);  --bs-btn-active-border-color: var(--brand-blue-darker);
    --bs-btn-disabled-bg: var(--brand-blue);       --bs-btn-disabled-border-color: var(--brand-blue);
    --bs-btn-focus-shadow-rgb: 119, 158, 199;
}
.btn-outline-primary {
    --bs-btn-color: var(--brand-blue-dark);        --bs-btn-border-color: var(--brand-blue);
    --bs-btn-hover-bg: var(--brand-blue-dark);     --bs-btn-hover-border-color: var(--brand-blue-dark);
    --bs-btn-active-bg: var(--brand-blue-darker);  --bs-btn-active-border-color: var(--brand-blue-darker);
    --bs-btn-focus-shadow-rgb: 119, 158, 199;
}
.btn-danger {
    --bs-btn-bg: var(--brand-red);   --bs-btn-border-color: var(--brand-red);
    --bs-btn-hover-bg: #8E1F26;      --bs-btn-hover-border-color: #8E1F26;
    --bs-btn-active-bg: #8E1F26;     --bs-btn-active-border-color: #8E1F26;
}
.btn-outline-danger {
    --bs-btn-color: var(--brand-red); --bs-btn-border-color: var(--brand-red);
    --bs-btn-hover-bg: var(--brand-red); --bs-btn-hover-border-color: var(--brand-red);
    --bs-btn-active-bg: #8E1F26;     --bs-btn-active-border-color: #8E1F26;
}
.btn-outline-warning {
    --bs-btn-color: var(--brand-orange-dark); --bs-btn-border-color: var(--brand-orange);
    --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--brand-orange-dark); --bs-btn-hover-border-color: var(--brand-orange-dark);
    --bs-btn-active-color: #fff; --bs-btn-active-bg: var(--brand-orange-dark);
    --bs-btn-disabled-color: var(--brand-orange); --bs-btn-disabled-border-color: var(--brand-orange);
}
.btn-success {   /* bouton « Actif » de l'admin */
    --bs-btn-bg: var(--brand-blue-dark); --bs-btn-border-color: var(--brand-blue-dark);
    --bs-btn-hover-bg: var(--brand-blue-darker); --bs-btn-hover-border-color: var(--brand-blue-darker);
}

/* Formulaires */
.form-check-input:checked { background-color: var(--brand-blue-dark); border-color: var(--brand-blue-dark); }
.form-check-input:focus, .form-control:focus, .form-select:focus {
    border-color: var(--brand-blue);
    box-shadow: 0 0 0 .25rem var(--bs-focus-ring-color);
}
.badge.text-bg-primary { background-color: var(--brand-blue-dark) !important; }
.badge.text-bg-info    { background-color: var(--brand-blue) !important; color: #fff !important; }
.badge.text-bg-warning { background-color: var(--brand-orange) !important; color: #2E2E2E !important; }
.alert-success { --bs-alert-bg: var(--brand-blue-light); --bs-alert-color: var(--brand-blue-darker); --bs-alert-border-color: var(--brand-blue); }
.alert-info    { --bs-alert-bg: var(--brand-blue-light); --bs-alert-color: var(--brand-blue-darker); --bs-alert-border-color: #C9DAEB; }
.alert-warning { --bs-alert-bg: var(--brand-orange-light); --bs-alert-color: #6E3F08; --bs-alert-border-color: #F1CFA3; }
.alert-danger  { --bs-alert-bg: #F8E6E7; --bs-alert-color: #7A1C22; --bs-alert-border-color: #E8B9BC; }

/* ----- Site public ----- */
.navbar.bg-white { border-bottom: 3px solid var(--brand-orange); }
.survey-hero { border-top: 5px solid var(--brand-blue); }
.survey-hero h1, .survey-hero .h2 { color: var(--brand-blue-dark); }
.question-card { border-left-color: var(--brand-blue) !important; }
html[dir="rtl"] .question-card { border-right-color: var(--brand-blue) !important; }
.question-card.has-error { border-color: var(--brand-red) !important; }
.survey-link { border-top: 4px solid var(--brand-orange); }
.survey-link .text-primary { color: var(--brand-blue-dark) !important; }
.thanks-icon { color: var(--brand-blue-dark) !important; }

/* ----- Administration ----- */
.navbar.bg-dark { background-color: var(--brand-gray-dark) !important; border-bottom: 3px solid var(--brand-orange); }
.stat-value.text-primary { color: var(--brand-blue-dark) !important; }
.card-header .badge.text-bg-light { background-color: var(--brand-blue-light) !important; color: var(--brand-blue-darker) !important; }

/* Badge « Obligatoire / Facultative » cliquable (admin) */
.badge-toggle { cursor: pointer; transition: filter .15s; }
.badge-toggle:hover { filter: brightness(.92); text-decoration: underline; }
