/* =====================================================
   STRATEGIE CONCEPT - LimeSurvey
   ===================================================== */

:root {
    --sc-red: #cc002f;
    --sc-bordeaux: #7b1f30;
    --sc-dark: #151827;
    --sc-grey: #a9a5a5;
    --sc-light: #f1eeee;
    --sc-white: #ffffff;
}

/* =====================================================
   PAGE GENERALE
   ===================================================== */

body {
    background: #f5f4f4 !important;
    color: var(--sc-dark) !important;
    font-family: Arial, Helvetica, sans-serif;
}

/* Largeur générale du questionnaire */
.fruity .container-fluid {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

/* =====================================================
   EN-TETE
   ===================================================== */

.navbar {
    background: var(--sc-white) !important;
    border: none !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

/* =====================================================
   LOGO STRATEGIE CONCEPT - CENTRÉ ET AGRANDI
   ===================================================== */

.logo-container,
.navbar-brand {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;

    width: 100% !important;
    height: auto !important;
    min-height: 140px !important;

    margin: 0 auto !important;
    padding: 15px 0 !important;
}

img.logo,
img.logo.img-fluid {
    display: block !important;

    width: 480px !important;
    max-width: 480px !important;

    height: auto !important;
    max-height: none !important;

    margin: 0 auto !important;

    object-fit: contain !important;
}

/* =====================================================
   LIENS DU MENU
   ===================================================== */

.navbar a,
.navbar-nav > li > a {
    color: var(--sc-dark) !important;
    font-weight: 500;
}

.navbar a:hover,
.navbar-nav > li > a:hover {
    color: var(--sc-red) !important;
}

/* =====================================================
   TITRES
   ===================================================== */

.survey-name,
.survey-description,
.group-title {
    color: var(--sc-dark) !important;
}

h1,
h2,
h3,
h4,
h5 {
    color: var(--sc-dark) !important;
    font-weight: 600;
}

/* =====================================================
   QUESTIONS
   ===================================================== */

.question-container {
    background: var(--sc-white) !important;
    border: none !important;

    border-radius: 20px !important;

    padding: 28px !important;

    margin-top: 20px !important;
    margin-bottom: 20px !important;

    box-shadow: 0 5px 20px rgba(0,0,0,0.08) !important;
}

/* Titre de chaque question */
.question-title-container {
    background: transparent !important;
    border: none !important;

    color: var(--sc-dark) !important;

    font-weight: 600;
    font-size: 18px;
}

/* Texte d'aide */
.question-valid-container,
.question-help-container,
.ls-questionhelp {
    color: #606060 !important;
}

/* =====================================================
   REPONSES
   ===================================================== */

.form-check-label,
.radio label,
.checkbox label {
    font-size: 16px;
    color: var(--sc-dark);
}

/* Champs texte */
.form-control,
.form-select,
textarea {
    border-radius: 10px !important;

    border: 1px solid #d6d6d6 !important;

    padding: 10px 14px !important;

    min-height: 44px;
}

/* Focus */
.form-control:focus,
.form-select:focus,
textarea:focus {
    border-color: var(--sc-red) !important;

    box-shadow:
        0 0 0 3px rgba(204,0,47,0.12) !important;
}

/* =====================================================
   BOUTONS
   ===================================================== */

.btn-primary,
.btn-success {
    background: var(--sc-red) !important;
    border-color: var(--sc-red) !important;

    color: #ffffff !important;

    border-radius: 8px !important;

    padding: 12px 28px !important;

    font-weight: 600 !important;

    text-transform: uppercase;

    box-shadow: none !important;
}

/* Survol */
.btn-primary:hover,
.btn-primary:focus,
.btn-success:hover,
.btn-success:focus {
    background: var(--sc-bordeaux) !important;
    border-color: var(--sc-bordeaux) !important;
}

/* Boutons secondaires / précédent */
.btn-secondary,
.btn-default {
    background: #ffffff !important;

    color: var(--sc-dark) !important;

    border: 1px solid #c8c8c8 !important;

    border-radius: 8px !important;

    padding: 12px 24px !important;
}

/* =====================================================
   BARRES DE PROGRESSION BOOTSTRAP
   ===================================================== */

.progress {
    height: 9px !important;

    background: #e6e3e3 !important;

    border-radius: 20px !important;

    overflow: hidden;
}

/*
   Ne pas imposer de couleur fixe ici.
   Les couleurs dynamiques sont gérées par level-...
*/
.progress-bar {
    border-radius: 20px !important;
    transition:
        width 0.6s ease,
        background-color 0.3s ease;
}

/* =====================================================
   BARRES HTML <progress> - COULEURS DYNAMIQUES
   ===================================================== */

progress {
    background-color: #e6e3e3 !important;
    border-radius: 20px !important;
    overflow: hidden;
}

/* Fond non rempli - Chrome / Edge / Safari */
progress::-webkit-progress-bar {
    background-color: #e6e3e3 !important;
    border-radius: 20px !important;
}

/* Partie remplie - Chrome / Edge / Safari */
progress::-webkit-progress-value {
    background-color: var(--sc-progress-color, #cc002f) !important;
    border-radius: 20px !important;
}

/* Partie remplie - Firefox */
progress::-moz-progress-bar {
    background-color: var(--sc-progress-color, #cc002f) !important;
    border-radius: 20px !important;
}

/* =====================================================
   LIENS
   ===================================================== */

a,
a:visited {
    color: var(--sc-red) !important;
}

a:hover {
    color: var(--sc-bordeaux) !important;
}

/* =====================================================
   PANNEAUX / CARTES
   ===================================================== */

.panel,
.card,
.list-group {
    border-radius: 14px !important;
    border: none !important;
}

/* =====================================================
   BAS DE PAGE
   ===================================================== */

footer {
    color: #777777;
    font-size: 13px;
}

/* =====================================================
   COULEURS DES TEXTES DE MATURITE
   ===================================================== */

/* 14 à 15 */
.sc-text-advanced {
    color: #278a4b !important;
}

/* 11 à 13 */
.sc-text-mastered {
    color: #6a8f2a !important;
}

/* 8 à 10 */
.sc-text-medium {
    color: #2f80ed !important;
}

/* 4 à 7 */
.sc-text-fragile {
    color: #e67e22 !important;
}

/* 0 à 3 */
.sc-text-verylow {
    color: #cc002f !important;
}

/* =====================================================
   COULEURS DES BARRES BOOTSTRAP SELON LE NIVEAU
   ===================================================== */

/* 0 à 3 : Très insuffisant */
.progress-bar.level-verylow {
    background-color: #cc002f !important;
}

/* 4 à 7 : Fragile */
.progress-bar.level-fragile {
    background-color: #e67e22 !important;
}

/* 8 à 10 : Intermédiaire */
.progress-bar.level-medium {
    background-color: #2f80ed !important;
}

/* 11 à 13 : Maîtrisé */
.progress-bar.level-mastered {
    background-color: #7cae3f !important;
}

/* 14 à 15 : Avancé */
.progress-bar.level-advanced {
    background-color: #278a4b !important;
}

/* =====================================================
   MOBILE
   ===================================================== */

@media (max-width: 768px) {

    .logo-container,
    .navbar-brand {
        min-height: 100px !important;
        padding: 10px 0 !important;
    }

    img.logo,
    img.logo.img-fluid {
        width: 240px !important;
        max-width: 240px !important;
    }

    .question-container {
        padding: 18px !important;
        border-radius: 14px !important;
    }

    .btn-primary,
    .btn-success,
    .btn-secondary,
    .btn-default {
        width: 100%;
        margin-top: 8px;
    }
}