/* ==============================================
   ⚠️ LEGACY - SERA REMPLACÉ PAR TAILWIND
   Ce fichier contient un mélange de classes foncier
   et spécifiques portail. Il sera refactorisé lors
   de la migration Tailwind (Phase B roadmap).
   ============================================== */

/* Tableau des synthèses */
table.syntheses_dep {
    border: 1px solid grey;
    background: #FEFEFE;
}

table.syntheses_dep td {
    padding: 0.2rem 1rem;
}

table.syntheses_dep td:hover {
    background: #7d7d7d;
    color: white;
}

/* Accueil ARS */
.cadre_campagne {
    padding: 1rem;
    border-radius: 3px;
    border: 1px solid var(--gris-leger);
}


.iframe_nav {
    width: 100%;
    border: 1px solid #dedede;
    min-height: 650px;
}

.gpage-aside {
    width: var(--largeur-col-gauche);
    min-width: 250px;
    background: var(--background-aside);
    padding: 1rem;
    border-radius: var(--dashboard-bloc-radius);
    align-self: flex-start;
}

.gpage-content {
    background-color: white;
    min-height: 450px;
    width: 800px;
    max-width: var(--largeur-max);
    padding: 0 2rem 2rem 2rem;
}

.en_corps {
    flex: 1;
}

/* Partie de gauche */
.gpage-bloc-titre {
    /*border: 1px solid #5A4E3F;*/
    /*padding : 0.5rem 1rem;*/
    margin-top: 0;
    margin-bottom: 1rem;
    font-weight: 700;
}

/* Navigation latérale accessible : liste sémantique (nav > ul > li) sans puces */
.gpage-bloc-contenu .gp-sidebar-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.gpage-bloc-contenu .gp-sidebar-list li {
    margin: 0;
}
.gpage-bloc-contenu .gp-sidebar-sep {
    height: 0;
    margin: 0.5rem 0;
    border-top: 1px solid var(--gpage-border, #e9ecef);
}

.gpage-bloc a {
    display: inline-block;
    text-decoration: none;
    padding: 0.5rem;
    margin-bottom: 0.5rem;
    color: var(--gpage-primary);
    border-radius: 3px;
    width: 100%;
    font-size: 1.5rem;
}

.gpage-bloc a:hover {
    background-color: var(--button-hover);
}

/* Contraste AA des badges Bootstrap 4 (audit Lighthouse Session 27) :
   les fonds par défaut success #28a745 (~3.4:1) et danger #dc3545 (~3.9:1)
   sont sous le seuil AA 4.5 avec du texte blanc → assombris. warning (texte
   sombre sur jaune) passe déjà, on n'y touche pas. */
.badge-success { background-color: #1e7e34; }
.badge-danger  { background-color: #bd2130; }

/* Contraste AA (audit axe) : couleurs Bootstrap 4 par défaut sous le seuil 4.5:1.
   code #e83e8c (3.81:1 sur blanc) + .text-muted #6c757d (4.37:1 sur l'en-tête de
   carte gris #f7f7f7) → assombris. .text-muted est un utilitaire !important. */
code { color: #c2255c; }
.text-muted { color: #5c636a !important; }

/* Boutons primaires en contexte privé : le vert de marque #70AD47 (portail/
   journees.css) donne 2.7:1 avec du texte blanc. On applique le vert AA #4a7330
   (déjà validé pour .BUTTON.PRINCIPAL, ~5.6:1). Le CTA public garde #70AD47. */
.btn-primary {
    background-color: #4a7330 !important;
    border-color: #4a7330 !important;
}

/* Masquage visuel accessible (texte réservé aux lecteurs d'écran) — global aux
   pages privées (le <h1> de repère l'utilise, y compris hors barre dev). */
.visually-hidden {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.gpage-bloc {

}


/* qui connecté */
.gpage-qui-connecte {
    font-size: 1.6rem;
    margin-left: 1rem;
}


/* Bloc de connexion — carte façon ram2022 : pas de bordure, la carte ressort
   par l'ombre seule (sur fond gris clair de la zone auth). */
.container_connexion {
    width: 50rem;
    margin: 4rem 0;
    padding: 4rem;
    background-color: var(--color-bg);
    border-radius: var(--radius-lg);
    border: none;
    box-shadow: var(--shadow-card);
}

/* Variante large : page d'aiguillage recouvrement (2 cartes côte à côte) */
.container_connexion.large {
    width: 64rem;
}

/* Aiguillage recouvrement (auth-forget-tri) : 2 cartes EN LIGNE (ordi + tablette),
   en COLONNE sur mobile (< 600px). */
.aiguillage {
    display: flex;
    gap: 1.5rem;
    margin-top: 2rem;
}
.aiguillage-carte {
    flex: 1;
    min-width: 0;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 3.5rem 2.5rem;
    text-align: center;
}
@media (max-width: 600px) {
    .aiguillage {
        flex-direction: column;
    }
}



/* === Burger button (masqué par défaut — visible en mobile via media query) === */
.burger-btn {
    display: none;
    background: none;
    border: none;
    color: var(--text-color-light);
    font-size: 2.5rem;
    cursor: pointer;
    padding: 0;
    margin-right: 1rem;
}

/* === Overlay aside (masqué par défaut — activé en mobile par .open) === */
.gpage-aside-overlay {
    display: none;
}

@media only screen and (max-width: 800px) {
    .container_connexion {
        width: 100%;
        margin: 0.5rem;
        border: 0;
    }
    /* la variante large repasse pleine largeur sous 800px (bat la spécificité de .large) */
    .container_connexion.large {
        width: 100%;
    }

    /* --- Corps admin mobile : pleine largeur --- */
    .gpage-content {
        width: 100%;
        padding: 0 1rem 1rem 1rem;
    }

    /* --- Menu aside mobile : masqué par défaut, slide depuis la gauche au toggle --- */
    .gpage-aside {
        display: none !important;
        position: fixed;
        top: 0;
        left: 0;
        width: 280px;
        height: 100vh;
        z-index: 3000;
        overflow-y: auto;
        box-shadow: 2px 0 8px rgba(0,0,0,0.3);
        background: var(--background-aside, #f5f5f5);
        padding: 1rem;
    }
    .gpage-aside.open {
        display: block !important;
        background-color: #ffffff;
    }

    /* Overlay sombre quand sidebar ouverte */
    .gpage-aside-overlay.open {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.4);
        z-index: 2999;
    }

    /* Burger visible en mobile */
    .burger-btn {
        display: block;
    }
}