@charset "utf-8";

/* reset global pour éviter la petite ligne blanche tout en haut */
html,
body {
    margin: 0;
    padding: 0;
    border: 0;
}

/* === Palette inspirée de la bannière === */
:root {
    --primary-sc:       #00a8b5;
    --primary-dark-sc:  #005a9c;
    --accent-sc:        #ffd85c;
    --bg-sc:            #e2f4f6;
    --bg-alt-sc:        #ffffff;
    --text-main-sc:     #1f2933;
    --text-muted-sc:    #6b7280;

    /* couleur de fond EXACTE de la bannière */
    --banner-bg:        #d2eff2;

    /* compatibilité */
    --violet-sc:        var(--primary-dark-sc);
    --violet-clair-sc:  var(--bg-sc);
}

/* Fond de page */
body {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
                 Roboto, "Helvetica Neue", Arial, sans-serif;
    color: var(--text-main-sc);
    background:
        linear-gradient(180deg, var(--banner-bg) 0, #ffffff 260px);
}

/* Header + bannière */
#template_header {
    background: var(--banner-bg);      /* même couleur que le haut du body */
    color: var(--primary-dark-sc);
    border: 0 none;
    box-shadow: none;
    line-height: 0;
    text-align: center;                /* centre le contenu */
}

/* on enlève toute marge/bordure dans les tableaux éventuels du header */
#template_header table,
#template_header tr,
#template_header td {
    margin: 0;
    padding: 0;
    border: 0;
    border-collapse: collapse;
}

#template_header img {
    display: block;
    margin: 0 auto;                    /* centre l’image */
    /* ne pas mettre max-width:100% si tu veux garder 980px fixes */
}

/* liens dans le header */
#template_header a {
    color: var(--primary-dark-sc);
    text-decoration: none;
    transition: color .2s ease;
}
#template_header a:hover {
    color: var(--primary-sc);
}

/* zone juste sous le header (liens importants / fil d’Ariane) */
#template_link,
.menu_cartouche {
    background: var(--bg-sc);
    border-radius: 12px;
    border: 1px solid rgba(0, 168, 181, .15);
    padding: 0.6rem 1rem;
    margin: 0.75rem 0;
}

/* Titres */
.titre {
    text-transform: none;
    color: var(--primary-dark-sc);
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.formcontent .titre {
    text-transform: none;
    letter-spacing: normal;
}

/* Couleurs “template” déjà utilisées par le site */
.template_color           { color: var(--primary-sc); }
.template_border_color    { border-color: var(--primary-sc); }
.template_backgroundcolor { background-color: var(--bg-sc); }

/* Menu principal */
.menu_niveau_1_on {
    background-color: var(--primary-sc);
    color: #fff;
    font-weight: 600;
    border-radius: 999px;
    padding: 0.5rem 1.1rem;
    box-shadow: 0 4px 10px rgba(0, 168, 181, .25);
    transition: background-color .2s ease, transform .15s ease,
                box-shadow .15s ease;
}
.menu_niveau_1_on:hover {
    background-color: var(--primary-dark-sc);
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(0, 90, 156, .35);
}

/* Éventuels autres onglets de menu (non actifs) */
.menu_niveau_1 {
    background-color: transparent;
    color: var(--primary-dark-sc);
    border-radius: 999px;
    padding: 0.5rem 1.1rem;
    transition: background-color .2s ease, color .2s ease;
}
.menu_niveau_1:hover {
    background-color: rgba(0, 168, 181, .08);
    color: var(--primary-sc);
}

/* Petits détails de mise en forme générale */
a {
    color: var(--primary-sc);
    text-decoration: none;
    transition: color .2s ease;
}
a:hover {
    color: var(--primary-dark-sc);
}

button,
input[type="submit"],
input[type="button"] {
    background: var(--primary-sc);
    color: #fff;
    border: none;
    border-radius: 999px;
    padding: 0.45rem 1.2rem;
    font: inherit;
    cursor: pointer;
    box-shadow: 0 3px 10px rgba(0, 168, 181, .25);
    transition: background-color .2s ease, transform .1s ease,
                box-shadow .1s ease;
}
button:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
    background: var(--primary-dark-sc);
    transform: translateY(-1px);
    box-shadow: 0 5px 16px rgba(0, 90, 156, .3);
}

/* --- MENU LATÉRAL / PRINCIPAL --- */

/* style de base des items */
.menu_niveau_1,
.menu_niveau_1_on {
    list-style: none;
    margin: 0.4rem 0;
    padding: 0;               /* padding déplacé sur le <a> */
    border: none;
}

/* liens à l'intérieur des items : on neutralise le fond blanc, etc. */
.menu_niveau_1 a,
.menu_niveau_1_on a {
    display: block;
    padding: 0.5rem 1.1rem;
    border-radius: 999px;
    background: transparent !important;   /* supprime le rectangle blanc */
    color: inherit !important;            /* le texte prend la couleur du parent */
    text-decoration: none;
    outline: none;                        /* enlève les pointillés moches */
}

/* non sélectionné */
.menu_niveau_1 {
    background: transparent;
    color: var(--primary-dark-sc);
}

/* hover non sélectionné */
.menu_niveau_1:hover {
    background: rgba(0, 168, 181, 0.08);
    color: var(--primary-sc);
}

/* sélectionné */
.menu_niveau_1_on {
    background: var(--primary-sc);
    color: #ffffff;
    box-shadow: 0 4px 10px rgba(0, 168, 181, .25);
}

/* hover sélectionné */
.menu_niveau_1_on:hover {
    background: var(--primary-dark-sc);
    color: #ffffff;
}

/* focus clavier : on évite les petits points mais on garde un repère propre */
.menu_niveau_1 a:focus-visible,
.menu_niveau_1_on a:focus-visible {
    outline: 2px solid var(--accent-sc);
    outline-offset: 3px;
}
