/* Bootstrap active scroll-behavior: smooth sur :root par défaut. Sur les pages admin (UpdatePanel),
   ça anime un artefact de scroll normalement invisible (la page rétrécit brièvement pendant le
   remplacement du contenu d'un UpdatePanel, ce qui clampe le scroll en haut le temps d'un frame) —
   sans l'animation, ce clamp dure <16ms et n'est jamais visible à l'oeil. */
:root {
    scroll-behavior: auto;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--cv-brown);
    font-weight: 600;
    font-family: "GT-Walsheim-Pro", Helvetica, Arial, sans-serif;
}


h1, .h1 {
    margin-top: 0;
    margin-bottom: 1.25rem; /* 20px */
}

/* H2 — Section principale (ex: titre d'un bloc de contenu) */
h2, .h2 {
    margin-top: 1.75rem; /* 28px */
    margin-bottom: 0.875rem; /* 14px */
}

/* H3 — Titre de carte / panneau */
h3, .h3 {
    margin-top: 1.5rem; /* 24px */
    margin-bottom: 0.625rem; /* 10px */
}

/* H4 — Groupe de champs / sous-panneau */
h4, .h4 {
    margin-top: 1.25rem; /* 20px */
    margin-bottom: 0.375rem; /* 6px */
}

/* H5 — Label de section, métadonnée, catégorie */
h5, .h5 {
    margin-top: 1rem; /* 16px */
    margin-bottom: 0.25rem; /* 4px */
}

.popover-header { margin:0; font-weight:normal; }

/* --- Règle : supprimer le margin-top du premier enfant ----- */
/* Évite un espace vide en haut d'une card ou d'un panneau    */
h1:first-child, .h1:first-child,
h2:first-child, .h2:first-child,
h3:first-child, .h3:first-child,
h4:first-child, .h4:first-child,
h5:first-child, .h5:first-child {
    margin-top: 0;
}


/*Structure en FLEX*/
body {
    display: flex;
    min-height: 100vh;
    flex-direction: column;
    background-color: rgb(var(--cv-cream-rgb));
}

header {
    border-bottom: 2px solid var(--cv-cream);
    height: 82px;
    z-index : 1021;
}

main {
    flex: 1;
}

footer {
}

span.form-check.form-switch.form-switch-reverse {
    display: inline-flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: center;
}

span.form-check.form-switch.form-switch-reverse label {
    margin-right: 0.6rem;
}

span.form-check.form-switch.form-switch-reverse > .form-check-input,
span.form-check.form-switch.form-switch-reverse > input[type="checkbox"] {
    margin-left: 0;
}

table .sticky-top {
    top: var(--header-height);
    /*z-index: 999;*/
}


@media screen and (max-width: 992px) {
    .table-responsive-lg table .sticky-top {
        top: 0;
        /*z-index: 999;*/
    }
}
