/**
 * Thème public tenant_2
 * Chargé après Tailwind CDN (preflight). Typo : réintroduite progressivement.
 *
 * Sommaire
 *  1. Jetons + base page
 *  2. Layout (#main-content)
 *  3. Typographie
 *  4. Liens & boutons
 *  5. Bandeaux pied de page (prefooter, footer site, post-footer)
 *  6. Header site
 *  6b. Méga-menu burger (conditions | commissions | main)
 *  7. Nœud « standart » — région hero
 *  7b. Champ relation field_next (suite de lecture)
 *  8. Responsive (hero standart ≤767px ; nav drawer / méga-menu « mobile » ≤1023px)
 */

/* =============================================================================
   1. Jetons + base page
   ========================================================================== */

body.tenant-2 {
    --tenant-2-primary: rgba(113, 158, 202, 1);
    --tenant-2-primary-hover: rgb(85, 125, 168);
    --tenant-2-primary-soft: rgba(113, 158, 202, 0.14);
    --tenant-2-primary-focus: rgb(55, 88, 122);
    --tenant-2-ink: rgba(23, 52, 75, 1);
    --tenant-2-ink-hover: rgb(35, 72, 100);
    --tenant-2-ink-muted: rgba(23, 52, 75, 0.72);

    --tenant-2-font-sans: "Montserrat", system-ui, sans-serif;
    --tenant-2-focus-ring: 2px solid var(--tenant-2-primary-focus);

    background-color: #fff;
    color: var(--tenant-2-ink);
    font-family: var(--tenant-2-font-sans);
    overflow-x: hidden;
}

/* =============================================================================
   2. Layout
   ========================================================================== */

body.tenant-2 #main-content,
body.tenant-2 #main-content .mint-site-content,
body.tenant-2 #main-content article.node {
    background-color: #fff;
}

/* =============================================================================
   3. Typographie
   ========================================================================== */

body.tenant-2 h1 {
    margin: 0 0 0.553em;
    padding-left: 30%;
    padding-right: 50px;
    font-family: var(--tenant-2-font-sans);
    font-size: 55px;
    line-height: 60px;
    font-weight: 600;
    font-style: normal;
    letter-spacing: -0.017em;
    color: var(--tenant-2-ink);
}

/* Titre page : −3px à chaque palier en descendant (1280 → 1024 → 768) */
@media (max-width: 1279px) {
    body.tenant-2 h1 {
        font-size: 52px;
        line-height: 57px;
    }
}

@media (max-width: 1023px) {
    body.tenant-2 h1 {
        font-size: 49px;
        line-height: 54px;
    }
}

body.tenant-2 article.node h2 {
    margin: calc(1.1475em + 25.5px) 0 0.3825em;
    font-family: var(--tenant-2-font-sans);
    font-size: 40px;
    font-weight: 700;
    font-style: normal;
    letter-spacing: -0.01275em;
    color: var(--tenant-2-primary);
}

body.tenant-2 article.node h3 {
    margin: 0.9775em 0 calc(0.34em + 10px);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 30px;
    font-weight: 400;
    line-height: 50px;
    color: var(--tenant-2-ink);
}

body.tenant-2 article.node h3:first-child {
    margin-top: 0;
}

body.tenant-2 p {
    margin: 0 0 0.85em;
}

body.tenant-2 p:last-child {
    margin-bottom: 0;
}

body.tenant-2 article.node p {
    font-family: var(--tenant-2-font-sans);
    font-size: 20px;
    font-weight: 500;
    font-style: normal;
    line-height: 33px;
    color: var(--tenant-2-ink);
}

/* Contenu riche (paragraphes + champs texte) : listes = même typo que <p> ;
   preflight Tailwind enlève list-style / padding — on les rétablit. */
body.tenant-2 article.node .paragraph_inner ul,
body.tenant-2 article.node .paragraph_inner ol,
body.tenant-2 article.node .field_value_inner ul,
body.tenant-2 article.node .field_value_inner ol {
    font-family: var(--tenant-2-font-sans);
    font-size: 20px;
    font-weight: 500;
    font-style: normal;
    line-height: 33px;
    color: var(--tenant-2-ink);
    margin: 0 0 0.85em;
    padding-inline-start: 1.5em;
    list-style-position: outside;
}

body.tenant-2 article.node .paragraph_inner ul,
body.tenant-2 article.node .field_value_inner ul {
    list-style-type: disc;
}

body.tenant-2 article.node .paragraph_inner ol,
body.tenant-2 article.node .field_value_inner ol {
    list-style-type: decimal;
}

body.tenant-2 article.node .paragraph_inner li,
body.tenant-2 article.node .field_value_inner li {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    font-style: inherit;
    line-height: inherit;
    color: inherit;
    margin: 0.2em 0;
}

body.tenant-2 article.node .paragraph_inner ul:last-child,
body.tenant-2 article.node .paragraph_inner ol:last-child,
body.tenant-2 article.node .field_value_inner ul:last-child,
body.tenant-2 article.node .field_value_inner ol:last-child {
    margin-bottom: 0;
}

/* =============================================================================
   4. Liens & boutons
   ========================================================================== */

body.tenant-2 a {
    color: var(--tenant-2-primary);
}

body.tenant-2 a:hover {
    color: var(--tenant-2-primary-hover);
}

body.tenant-2 a:focus-visible {
    outline: var(--tenant-2-focus-ring);
    outline-offset: 2px;
}

/* Champ lien `next` sur nœud #3 : libellé + pilule centrés, marges verticales */
body.tenant-2 .field.field_link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    margin-top: 70px;
    margin-bottom: 70px;
}

body.tenant-2 .field.field_link .field_values {
    display: flex;
    justify-content: center;
    width: 100%;
}

body.tenant-2 .field.field_link .field_value {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    width: 100%;
}

body.tenant-2 .field.field_link .field-link-preface {
    box-sizing: border-box;
    width: 100%;
    max-width: min(100%, 40rem);
    text-align: center;
    font-family: var(--tenant-2-font-sans);
    font-size: 30px;
    font-weight: 700;
    line-height: 50px;
    color: var(--tenant-2-ink);
}

body.tenant-2 .field.field_link a.field_link {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    width: 100%;
    min-width: min(100%, 450px);
    max-width: min(100%, 40rem);
    min-height: 56px;
    padding: 0 1.25rem;
    border-radius: 999px;
    font-family: var(--tenant-2-font-sans);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.25;
    color: var(--tenant-2-ink);
    text-decoration: none;
    transition: filter 0.15s ease;
}

/* Couleurs pastille lien (target_class / site body extra). Inclure article.node pour battre d’autres règles contenu. */
body.tenant-2 article.node .field.field_link a.field_link.insos,
body.tenant-2 .field.field_link a.field_link.insos {
    background-color: #e8def8;
}

body.tenant-2 article.node .field.field_link a.field_link.addictions,
body.tenant-2 .field.field_link a.field_link.addictions {
    background-color: #d0ebe8;
}

body.tenant-2 article.node .field.field_link a.field_link.socio,
body.tenant-2 .field.field_link a.field_link.socio {
    background-color: #d8f0dc;
}

body.tenant-2 article.node .field.field_link a.field_link.ctt,
body.tenant-2 .field.field_link a.field_link.ctt {
    background-color: #ffe8cc;
}

body.tenant-2 article.node .field.field_link a.field_link.generic,
body.tenant-2 .field.field_link a.field_link.generic {
    background-color: rgba(113, 158, 202, 0.28);
}






body.tenant-2 .field.field_link a.field_link:hover {
    color: var(--tenant-2-ink);
    filter: brightness(0.97);
}

body.tenant-2 .field.field_link a.field_link::after {
    content: "›";
    flex-shrink: 0;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1;
    opacity: 0.65;
}

body.tenant-2 .field.field_link a.field_link:focus-visible {
    outline: var(--tenant-2-focus-ring);
    outline-offset: 3px;
}

body.tenant-2 button,
body.tenant-2 input[type="submit"],
body.tenant-2 input[type="button"],
body.tenant-2 input[type="reset"] {
    box-sizing: border-box;
    padding: 0.5rem 1rem;
    border: 1px solid transparent;
    border-radius: 0.375rem;
    background-color: var(--tenant-2-primary);
    color: #fff;
    font-weight: 600;
    cursor: pointer;
}

body.tenant-2 button:hover,
body.tenant-2 input[type="submit"]:hover,
body.tenant-2 input[type="button"]:hover,
body.tenant-2 input[type="reset"]:hover {
    background-color: var(--tenant-2-primary-hover);
}

body.tenant-2 button:focus-visible,
body.tenant-2 input[type="submit"]:focus-visible,
body.tenant-2 input[type="button"]:focus-visible,
body.tenant-2 input[type="reset"]:focus-visible {
    outline: var(--tenant-2-focus-ring);
    outline-offset: 2px;
}

body.tenant-2 button:disabled,
body.tenant-2 input[type="submit"]:disabled,
body.tenant-2 input[type="button"]:disabled,
body.tenant-2 input[type="reset"]:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

/* =============================================================================
   5. Bandeaux pied de page
   ========================================================================== */

body.tenant-2 .prefooter {
    box-sizing: border-box;
    /* Tout en % de la largeur du bloc (comportement padding % classique). */
    padding: 1.25%;
}

/* Espace au-dessus de chaque rangée d’images (home : 2 bandes, standard : 1). */
body.tenant-2 .prefooter .prefooter__band {
    box-sizing: border-box;
    width: 100%;
    padding-top: 2.25%;
}

/* Gouttières entre colonnes d’images : % de la largeur du flex. */
body.tenant-2 .prefooter .prefooter__row {
    min-width: 0;
    column-gap: 1.1%;
}

/* Marge intérieure autour de chaque visuel : % (même référence que le gap). */
body.tenant-2 .prefooter .prefooter__cell {
    box-sizing: border-box;
    padding: 0.9%;
}

body.tenant-2 .prefooter__img {
    min-width: 0;
    height: auto;
}

body.tenant-2 .tenant-footer {
    border-top: 5px solid var(--tenant-2-primary);
}

body.tenant-2 .tenant-footer .tenant-footer__inner {
    box-sizing: border-box;
}

@media (min-width: 768px) {
    body.tenant-2 .tenant-footer .tenant-footer__inner {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

body.tenant-2 .tenant-footer__col {
    min-width: 0;
}

body.tenant-2 .tenant-footer__col--contact {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

body.tenant-2 .tenant-footer__col--contact .tenant-footer__heading {
    margin: 0;
}

body.tenant-2 .tenant-footer__heading {
    margin: 0 0 0.75rem;
    font-family: var(--tenant-2-font-sans);
    font-size: 30px;
    font-weight: 600;
    font-style: normal;
    line-height: 60px;
    color: var(--tenant-2-primary);
}

body.tenant-2 .tenant-footer__address {
    margin: 0;
    font-family: var(--tenant-2-font-sans);
    font-size: 18px;
    font-weight: 500;
    font-style: normal;
    line-height: 30px;
    color: var(--tenant-2-ink);
}

body.tenant-2 .tenant-footer__address .tenant-footer__address-link {
    color: var(--tenant-2-ink);
}

body.tenant-2 .tenant-footer__address .tenant-footer__address-link:hover {
    color: var(--tenant-2-ink-hover);
}

body.tenant-2 .tenant-footer__nav-stack {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

/* Liens footer : adresse sans soulignement par défaut ; nav toujours soulignée */
body.tenant-2 .tenant-footer__address-link {
    text-decoration: none;
}

body.tenant-2 .tenant-footer__address-link:hover {
    text-decoration: underline;
}

body.tenant-2 .tenant-footer__nav-block .link_nav {
    display: inline-block;
    font-family: var(--tenant-2-font-sans);
    font-size: 18px;
    font-weight: 500;
    font-style: normal;
    line-height: 26px;
    color: var(--tenant-2-ink);
    text-decoration: underline;
}

body.tenant-2 .tenant-footer__nav-block .link_nav:hover {
    color: var(--tenant-2-ink-hover);
    text-decoration: underline;
}

body.tenant-2 .tenant-footer__nav-block .navigation_children {
    margin: 0.25rem 0 0;
    padding: 0 0 0 0.75rem;
    list-style: none;
}

body.tenant-2 .tenant-footer__infri-brand {
    display: flex;
    justify-content: flex-start;
    width: 100%;
    margin-bottom: 20px;
}

body.tenant-2 .tenant-footer__infri-logo {
    display: block;
    box-sizing: border-box;
    width: 80%;
    max-width: 80%;
    height: auto;
    object-fit: contain;
}

body.tenant-2 .tenant-footer__col--partner {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-start;
    min-width: 0;
}

body.tenant-2 .tenant-footer__partner-brand {
    display: flex;
    justify-content: flex-end;
    width: 100%;
    margin-top: 20px;
}

body.tenant-2 .tenant-footer__partner-logo {
    display: block;
    box-sizing: border-box;
    width: 90%;
    max-width: 90%;
    height: auto;
    object-fit: contain;
}

body.tenant-2 .prefooter,
body.tenant-2 .tenant-footer,
body.tenant-2 .post-footer {
    flex-shrink: 0;
}

body.tenant-2 .post-footer {
    position: relative;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 100%;
    gap: 0.75rem 1rem;
    padding: 1.25rem 1rem;
    border-top: 1px solid var(--tenant-2-primary);
    background-color: #fff;
    color: var(--tenant-2-ink);
    text-align: center;
}

body.tenant-2 .post-footer__text {
    font-family: "Roboto", system-ui, sans-serif;
    font-size: 12px;
    font-weight: 500;
    font-style: normal;
    color: var(--tenant-2-primary);
}

body.tenant-2 .post-footer__logo-link {
    display: inline-flex;
    align-items: center;
    line-height: 1;
    text-decoration: none;
    color: var(--tenant-2-primary);
}

body.tenant-2 .post-footer__logo {
    display: block;
    width: auto;
    height: 20px;
    max-width: min(140px, 31.5vw);
    object-fit: contain;
    object-position: center;
}

/* =============================================================================
   6. Header site
   ========================================================================== */

body.tenant-2 .tenant-header {
    /* Hauteur barre = offset du panneau fixe (nav commence juste sous le header) */
    --tenant-2-header-bar-height: 102px;
    --tenant-2-nav-panel-top: var(--tenant-2-header-bar-height);
    /* Desktop ≥1024 : même retrait bord gauche (logo) / bord droit (PDF barre). */
    --tenant-2-header-edge-gutter: 40px;

    position: sticky;
    top: 0;
    z-index: 50;
    font-size: 16px;
    background-color: rgb(255 255 255 / 0.9);
}

/* Barre : min-height = 6 + 90 + 6 (marges logo) ; pas de padding horizontal sur le header */
body.tenant-2 .tenant-header__inner {
    min-height: var(--tenant-2-header-bar-height);
    padding: 0;
}

body.tenant-2 .tenant-header__logo-link {
    margin: 6px 0 6px var(--tenant-2-header-edge-gutter);
    color: inherit;
}

body.tenant-2 .tenant-header__logo {
    width: auto;
    height: 90px;
    max-width: none;
}

body.tenant-2 .tenant-header__title-link {
    font-size: 30px;
    font-weight: 600;
    color: var(--tenant-2-ink);
}

body.tenant-2 .tenant-header__title-link:hover {
    color: var(--tenant-2-ink-hover);
}

/* Grands écrans : barre plus haute (logo + marges verticales 6+6). */
@media (min-width: 1441px) {
    body.tenant-2 .tenant-header {
        --tenant-2-header-bar-height: 130px;
    }

    body.tenant-2 .tenant-header__logo {
        height: 118px;
    }
}

/* Titre centré masqué sous lg (1024px) : libère la barre sur tablette / mobile */
@media (max-width: 1023px) {
    body.tenant-2 .tenant-header__title {
        display: none;
    }

    /* Langues : uniquement dans le panneau (pas dans la barre) ; PDF barre masqué via --header-bar */
    body.tenant-2 .tenant-header__right > .tenant-header__languages {
        display: none;
    }
}

/* Langues + PDF dupliqués dans le panneau : visibles seulement en ≤1023px (voir media query) */
body.tenant-2 .tenant-header__nav-panel-mobile-tools {
    display: none;
}

/* --- Burger (30×17 px, barres 3 px, entre-barres 4 px) --- */
body.tenant-2 .tenant-header__burger-sr {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

body.tenant-2 .tenant-header__burger-summary {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0.75rem;
    list-style: none;
    border-radius: 0.375rem;
    cursor: pointer;
}

body.tenant-2 .tenant-header__burger-summary::-webkit-details-marker {
    display: none;
}

body.tenant-2 .tenant-header__burger-icon {
    --burger-line: var(--tenant-2-ink);

    display: block;
    width: 30px;
    height: 17px;
    border-radius: 0;
    background: linear-gradient(
        to bottom,
        var(--burger-line) 0,
        var(--burger-line) 3px,
        transparent 3px,
        transparent 7px,
        var(--burger-line) 7px,
        var(--burger-line) 10px,
        transparent 10px,
        transparent 14px,
        var(--burger-line) 14px,
        var(--burger-line) 17px
    );
}

body.tenant-2 .tenant-header__burger-summary:hover .tenant-header__burger-icon,
body.tenant-2 .tenant-header__burger-summary:focus-visible .tenant-header__burger-icon {
    --burger-line: var(--tenant-2-primary);
}

body.tenant-2 .tenant-header__burger-summary:focus-visible {
    outline: var(--tenant-2-focus-ring);
    outline-offset: 2px;
}

/* Menu ouvert : croix à la place du burger, même emplacement (pas de bouton fixe ailleurs) */
body.tenant-2 .tenant-header__nav-drawer[open] > .tenant-header__burger-summary {
    position: relative;
    z-index: 45;
}

body.tenant-2 .tenant-header__nav-drawer[open] > .tenant-header__burger-summary .tenant-header__burger-icon {
    position: relative;
    width: 28px;
    height: 28px;
    background: none;
}

body.tenant-2 .tenant-header__nav-drawer[open] > .tenant-header__burger-summary .tenant-header__burger-icon::before,
body.tenant-2 .tenant-header__nav-drawer[open] > .tenant-header__burger-summary .tenant-header__burger-icon::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 22px;
    height: 3px;
    border-radius: 1px;
    background-color: var(--burger-line, var(--tenant-2-ink));
}

body.tenant-2 .tenant-header__nav-drawer[open] > .tenant-header__burger-summary .tenant-header__burger-icon::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

body.tenant-2 .tenant-header__nav-drawer[open] > .tenant-header__burger-summary .tenant-header__burger-icon::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

body.tenant-2 .tenant-header__nav-drawer[open] > .tenant-header__burger-summary:hover .tenant-header__burger-icon::before,
body.tenant-2 .tenant-header__nav-drawer[open] > .tenant-header__burger-summary:hover .tenant-header__burger-icon::after,
body.tenant-2 .tenant-header__nav-drawer[open] > .tenant-header__burger-summary:focus-visible .tenant-header__burger-icon::before,
body.tenant-2 .tenant-header__nav-drawer[open] > .tenant-header__burger-summary:focus-visible .tenant-header__burger-icon::after {
    background-color: var(--tenant-2-primary);
}

/* Contact + logo INFRI (barre desktop + panneau mobile) */
body.tenant-2 .tenant-header__contact-infri {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    line-height: 1.2;
    text-align: center;
}

body.tenant-2 .tenant-header__contact-link {
    font-size: 13px;
    font-weight: 600;
    color: var(--tenant-2-ink);
    text-decoration: none;
}

body.tenant-2 .tenant-header__contact-link:hover {
    color: var(--tenant-2-primary);
}

body.tenant-2 .tenant-header__contact-link:focus-visible {
    outline: var(--tenant-2-focus-ring);
    outline-offset: 2px;
    border-radius: 2px;
}

body.tenant-2 .tenant-header__infri-logo {
    display: block;
    width: auto;
    max-width: 110px;
    max-height: 36px;
    height: auto;
    object-fit: contain;
}

/* --- Langues (FR / DE) --- */
body.tenant-2 .tenant-header__languages .languages_site .languages_roots {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.tenant-2 .tenant-header__languages .languages_item:not(:last-child)::after {
    content: '/';
    margin-left: 0.375rem;
    margin-right: 0.375rem;
    font-weight: 600;
    color: var(--tenant-2-ink-muted);
    pointer-events: none;
}

body.tenant-2 .tenant-header__languages .languages_link {
    font-weight: 600;
    color: var(--tenant-2-ink);
    text-decoration: none;
}

body.tenant-2 .tenant-header__languages .languages_link:hover {
    color: var(--tenant-2-primary);
}

body.tenant-2 .tenant-header__languages .languages_current {
    font-weight: 700;
    color: var(--tenant-2-primary);
    cursor: default;
}

/* --- CTA PDF --- */
body.tenant-2 header.tenant-header a.tenant-header__pdf-link {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 13px 26px;
    border: 0;
    border-radius: 0;
    background-color: #79a1c8;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}

body.tenant-2 header.tenant-header a.tenant-header__pdf-link:hover {
    background-color: rgb(105 145 184);
    color: #fff;
}

body.tenant-2 header.tenant-header a.tenant-header__pdf-link:focus-visible {
    outline: var(--tenant-2-focus-ring);
    outline-offset: 2px;
}

/* PDF dans la barre : seulement ≥ lg ; sous 1024, seul le lien du panneau compte */
body.tenant-2 header.tenant-header a.tenant-header__pdf-link--header-bar {
    display: none;
}

@media (min-width: 1024px) {
    body.tenant-2 header.tenant-header a.tenant-header__pdf-link--header-bar {
        display: inline-flex;
        margin-right: var(--tenant-2-header-edge-gutter);
    }
}

/* --- Panneau nav : pleine largeur, sous la barre header (ne recouvre pas le header) --- */
body.tenant-2 .tenant-header__nav-panel {
    position: fixed;
    top: var(--tenant-2-nav-panel-top);
    right: 0;
    left: 0;
    /* Sous la barre et sous le summary (croix), au-dessus du contenu page */
    z-index: 35;
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    max-height: calc(100dvh - var(--tenant-2-nav-panel-top));
    margin: 0;
    padding: clamp(1.25rem, 3vw, 2.5rem) clamp(1rem, 4vw, 2.5rem) clamp(2rem, 4vw, 3rem);
    overflow-x: hidden;
    overflow-y: auto;
    border: none;
    border-bottom: 1px solid rgb(244 244 245);
    border-radius: 0;
    background: #fff;
    box-shadow: 0 12px 24px -12px rgb(0 0 0 / 12%);
}

@keyframes tenant-2-nav-panel-in {
    from {
        opacity: 0;
        transform: translateY(-14px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes tenant-2-nav-mega-col-in {
    from {
        opacity: 0;
        transform: translateY(18px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes tenant-2-nav-panel-out {
    from {
        opacity: 1;
        transform: translateY(0);
    }

    to {
        opacity: 0;
        transform: translateY(-14px);
    }
}

@keyframes tenant-2-nav-mega-col-out {
    from {
        opacity: 1;
        transform: translateY(0);
    }

    to {
        opacity: 0;
        transform: translateY(-12px);
    }
}

/* Ouverture : pas pendant la phase fermeture (gérée par JS + classe --closing) */
body.tenant-2 .tenant-header__nav-drawer[open]:not(.tenant-header__nav-drawer--closing) > .tenant-header__nav-panel {
    animation: tenant-2-nav-panel-in 0.4s cubic-bezier(0.22, 1, 0.36, 1) both;
}

body.tenant-2
    .tenant-header__nav-drawer[open]:not(.tenant-header__nav-drawer--closing)
    > .tenant-header__nav-panel
    .tenant-header__nav-mega__col {
    animation: tenant-2-nav-mega-col-in 0.48s cubic-bezier(0.22, 1, 0.36, 1) both;
}

body.tenant-2
    .tenant-header__nav-drawer[open]:not(.tenant-header__nav-drawer--closing)
    > .tenant-header__nav-panel
    .tenant-header__nav-mega__col:nth-child(1) {
    animation-delay: 0.05s;
}

body.tenant-2
    .tenant-header__nav-drawer[open]:not(.tenant-header__nav-drawer--closing)
    > .tenant-header__nav-panel
    .tenant-header__nav-mega__col:nth-child(2) {
    animation-delay: 0.12s;
}

body.tenant-2
    .tenant-header__nav-drawer[open]:not(.tenant-header__nav-drawer--closing)
    > .tenant-header__nav-panel
    .tenant-header__nav-mega__col:nth-child(3) {
    animation-delay: 0.2s;
}

/* Fermeture : déclenchée via classe --closing avant retrait de [open] (voir nav-drawer-close.js) */
body.tenant-2 .tenant-header__nav-drawer--closing > .tenant-header__nav-panel {
    animation: tenant-2-nav-panel-out 0.34s cubic-bezier(0.4, 0, 1, 1) forwards;
    pointer-events: none;
}

body.tenant-2 .tenant-header__nav-drawer--closing > .tenant-header__nav-panel .tenant-header__nav-mega__col {
    animation: tenant-2-nav-mega-col-out 0.3s cubic-bezier(0.4, 0, 1, 1) forwards;
}

body.tenant-2 .tenant-header__nav-drawer--closing > .tenant-header__nav-panel .tenant-header__nav-mega__col:nth-child(1) {
    animation-delay: 0.1s;
}

body.tenant-2 .tenant-header__nav-drawer--closing > .tenant-header__nav-panel .tenant-header__nav-mega__col:nth-child(2) {
    animation-delay: 0.05s;
}

body.tenant-2 .tenant-header__nav-drawer--closing > .tenant-header__nav-panel .tenant-header__nav-mega__col:nth-child(3) {
    animation-delay: 0;
}

@media (prefers-reduced-motion: reduce) {
    body.tenant-2 .tenant-header__nav-drawer[open]:not(.tenant-header__nav-drawer--closing) > .tenant-header__nav-panel,
    body.tenant-2
        .tenant-header__nav-drawer[open]:not(.tenant-header__nav-drawer--closing)
        > .tenant-header__nav-panel
        .tenant-header__nav-mega__col,
    body.tenant-2 .tenant-header__nav-drawer--closing > .tenant-header__nav-panel,
    body.tenant-2 .tenant-header__nav-drawer--closing > .tenant-header__nav-panel .tenant-header__nav-mega__col {
        animation: none;
    }
}

body.tenant-2 .tenant-header__nav-mega {
    display: grid;
    gap: clamp(1.25rem, 3vw, 2.5rem);
    width: 100%;
    max-width: none;
}

body.tenant-2 .tenant-header__nav-panel .tenant-header__nav-mega {
    align-items: stretch;
}

body.tenant-2 .tenant-header__nav-mega--cols-1 {
    grid-template-columns: minmax(0, 1fr);
}

body.tenant-2 .tenant-header__nav-mega--cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.tenant-2 .tenant-header__nav-mega--cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.tenant-2 .tenant-header__nav-mega__heading {
    margin: 0 0 1rem;
    font-family: var(--tenant-2-font-sans);
    font-size: 35px;
    font-weight: 700;
    font-style: normal;
    line-height: 1.15;
    color: rgba(23, 52, 75, 1);
}

/* Colonne 1 (conditions + titre Sommaire) : 16px, liens texte */
/* padding-left = gouttière colonne + padding horizontal des pilules (aligne le texte avec commissions / main) */
body.tenant-2 .tenant-header__nav-mega__col--text {
    display: flex;
    flex-direction: column;
    align-self: stretch;
    min-width: 0;
    min-height: 0;
    padding-top: 0;
    padding-right: clamp(0.25rem, 1vw, 0.75rem);
    padding-bottom: 0;
    padding-left: calc(clamp(0.25rem, 1vw, 0.75rem) + 1.1rem);
    font-size: 16px;
    line-height: 1.5;
    color: var(--tenant-2-ink);
}

/* Nav Sommaire : occupe la hauteur de la colonne (grille = hauteur des cols 2–3) pour pousser les 2 derniers liens en bas */
body.tenant-2 .tenant-header__nav-panel .tenant-header__nav-mega__col--text > nav {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
}

body.tenant-2 .tenant-header__nav-panel .tenant-header__nav-mega__col--text .navigation_roots {
    flex: 1 1 auto;
    min-height: 0;
}

/* Deux derniers liens racine : en bas de la colonne conditions (pas de la fenêtre), alignée sur la hauteur du bloc méga-menu */
body.tenant-2 .tenant-header__nav-panel .tenant-header__nav-mega__col--text .navigation_item_root:nth-last-child(2) {
    margin-top: auto;
}

body.tenant-2 .tenant-header__nav-mega__col--text .link_nav {
    font-size: 16px;
    font-weight: 500;
    color: var(--tenant-2-primary);
    text-decoration: underline;
    text-underline-offset: 0.12em;
}

body.tenant-2 .tenant-header__nav-mega__col--text .link_nav:hover {
    text-decoration: underline;
}

body.tenant-2 .tenant-header__nav-mega__col--text .navigation_roots {
    gap: 0.5rem;
}

/* Colonnes pilules 2 & 3 : 18px */
body.tenant-2 .tenant-header__nav-mega__col--pills {
    min-width: 0;
    padding: 0 clamp(0.25rem, 1vw, 0.75rem);
}

body.tenant-2 .tenant-header__nav-mega__col--pills .navigation_roots {
    gap: 10px;
}

/* Mêmes dimensions / typo que `.tenant-home-nav-pills .link_nav` (accueil). */
body.tenant-2 .tenant-header__nav-mega__col--pills .link_nav {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    width: 100%;
    height: 60px;
    min-height: 60px;
    max-height: 60px;
    padding: 0 1.05rem;
    border-radius: 25px;
    font-family: var(--tenant-2-font-sans);
    font-size: 18px;
    font-weight: 600;
    font-style: normal;
    line-height: 1.2;
    color: rgba(23, 52, 75, 1);
    text-decoration: none;
    transition: filter 0.15s ease, transform 0.15s ease;
}

body.tenant-2 .tenant-header__nav-mega__col--pills .link_nav::after {
    content: "›";
    flex-shrink: 0;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1;
    opacity: 0.65;
}

body.tenant-2 .tenant-header__nav-mega__col--pills .link_nav:hover {
    filter: brightness(0.97);
}

body.tenant-2 .tenant-header__nav-mega__col--pills-varied .navigation_item_root:nth-child(5n + 1) .link_nav {
    background-color: #f8d7e4;
}

body.tenant-2 .tenant-header__nav-mega__col--pills-varied .navigation_item_root:nth-child(5n + 2) .link_nav {
    background-color: #e8def8;
}

body.tenant-2 .tenant-header__nav-mega__col--pills-varied .navigation_item_root:nth-child(5n + 3) .link_nav {
    background-color: #d0ebe8;
}

body.tenant-2 .tenant-header__nav-mega__col--pills-varied .navigation_item_root:nth-child(5n + 4) .link_nav {
    background-color: #d8f0dc;
}

body.tenant-2 .tenant-header__nav-mega__col--pills-varied .navigation_item_root:nth-child(5n + 5) .link_nav {
    background-color: #ffe8cc;
}

body.tenant-2 .tenant-header__nav-mega__col--pills-solid .link_nav {
    background-color: rgba(113, 158, 202, 0.28);
}

body.tenant-2 .tenant-header__nav-mega__col:not(:last-child) {
    border-right: 1px solid rgb(244 244 245);
}

body.tenant-2 .tenant-header__nav-panel .tenant-header__nav-mega__col nav {
    width: 100%;
}

body.tenant-2 .tenant-header__nav-panel .tenant-header__nav-mega__col--pills .navigation_children {
    margin: 0.35rem 0 0;
    padding: 0 0 0 0.75rem;
    list-style: none;
}

body.tenant-2 .tenant-header__nav-panel .tenant-header__nav-mega__col--pills .navigation_item_child .link_nav {
    height: auto;
    min-height: 44px;
    max-height: none;
    padding: 0 0.85rem;
    font-size: 14px;
    font-weight: 700;
    border-radius: 0.75rem;
}

body.tenant-2 .tenant-header__nav-panel .tenant-header__nav-mega__col--pills .navigation_item_child .link_nav::after {
    content: none;
}

/* Liste nav verticale partagée : overlay + footer */
body.tenant-2 .tenant-header__nav-panel .tenant-header__nav-mega .navigation_roots,
body.tenant-2 .tenant-footer__nav-block .navigation_roots {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.tenant-2 .tenant-header__nav-panel .tenant-header__nav-mega .navigation_roots {
    align-items: stretch;
    justify-content: flex-start;
}

body.tenant-2 .tenant-footer__nav-block .navigation_roots {
    align-items: flex-start;
    gap: 0.25rem;
}

body.tenant-2 .tenant-header__nav-panel .tenant-header__nav-mega .navigation_item_root,
body.tenant-2 .tenant-footer__nav-block .navigation_item_root {
    list-style: none;
}

body.tenant-2 .tenant-header__nav-panel .tenant-header__nav-mega .navigation_item_root {
    position: static;
}

/* =============================================================================
   6b (suite). Colonne de contenu (#main-content)
   ========================================================================== */

body.tenant-2 .tenant-site-primary {
    box-sizing: border-box;
    min-width: 0;
}

/* =============================================================================
   7. Nœud « standart » — région hero
   Plein viewport, collé sous le header (annule py-10 du main = 2.5rem).
   ========================================================================== */

body.tenant-2 .node_standart header.region_header {
    position: relative;
    z-index: 0;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
    align-content: stretch;
    gap: clamp(1rem, 3vw, 2.5rem);
    width: 100vw;
    max-width: 100vw;
    margin-top: -2.5rem;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    padding: 0;
}

body.tenant-2 .node_standart header.region_header .field_node_title {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    min-width: 0;
    font-size: 40px;
    border-bottom-left-radius: 100px;
    background: linear-gradient(to right, rgba(113, 158, 202, 0.12) 0%, #ffffff 100%);
}

body.tenant-2.addictions .node_standart header.region_header .field_node_title {
    background: linear-gradient(to right,rgba(208, 235, 232, 0.3) 0%, #ffffff 100%);
}

body.tenant-2.ctt .node_standart header.region_header .field_node_title {
    background: linear-gradient(to right,rgba(255, 232, 204, 0.3) 0%, #ffffff 100%);
}

body.tenant-2.enseignement .node_standart header.region_header .field_node_title {
    background: linear-gradient(to right, rgba(248, 215, 228, 0.4) 0%, #ffffff 100%);
}

body.tenant-2.socio .node_standart header.region_header .field_node_title {
    background: linear-gradient(to right,rgba(216, 240, 220, 0.35) 0%, #ffffff 100%);
}

body.tenant-2.insos .node_standart header.region_header .field_node_title {
    background: linear-gradient(to right,rgba(232, 222, 248, 0.4) 0%, #ffffff 100%);
}



body.tenant-2 .node_standart header.region_header .field_node_title h1 {
    margin-bottom: 0;
    font-size: 1em;
    line-height: 1.15;
}

@media (min-width: 992px) {
    body.tenant-2 .node_standart header.region_header .field_node_title {
        font-size: 45px;
    }
}

body.tenant-2 .node_standart header.region_header .field_image {
    position: relative;
    z-index: 1;
    justify-self: start;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    min-width: 0;
    width: max-content;
    max-width: 100%;
}

body.tenant-2 .node_standart header.region_header .field_image .field_values,
body.tenant-2 .node_standart header.region_header .field_image .field_value,
body.tenant-2 .node_standart header.region_header .field_image .media {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

body.tenant-2 .node_standart header.region_header .media_figure {
    display: block;
    margin: 0;
    align-self: flex-start;
}

body.tenant-2 .node_standart header.region_header .media_img {
    display: block;
    width: auto;
    height: 400px;
    max-width: none;
    border-radius: 0 0 0 clamp(calc(1.5rem + 20px), calc(5vw + 20px), calc(2.75rem + 20px));
}

/* ≥1024px : corps titre 50px ; h1 80 % de largeur, padding gauche 10 % (surchargé au xl) */
@media (min-width: 1024px) {
    body.tenant-2 .node_standart header.region_header .field_node_title {
        font-size: 50px;
    }

    body.tenant-2 .node_standart header.region_header .field_node_title h1 {
        width: 80%;
        max-width: 80%;
        box-sizing: border-box;
        padding-left: 10%;
        padding-right: 0;
    }
}

/* 768px–1023px : grille 2 colonnes ; padding gauche titre hero = 10 % (cohérent avec règle sous 1280px) */
@media (min-width: 768px) and (max-width: 1023px) {
    body.tenant-2 .node_standart header.region_header .field_node_title h1 {
        padding-right: 0;
        padding-left: 10%;
    }
}

@media (min-width: 1280px) {
    body.tenant-2 .node_standart header.region_header .field_node_title {
        font-size: 55px;
    }

    body.tenant-2 .node_standart header.region_header .media_img {
        height: 500px;
    }

    /* Même décalage que le h1 global (avant reset 1024–1279) */
    body.tenant-2 .node_standart header.region_header .field_node_title h1 {
        padding-left: 30%;
        padding-right: 50px;
    }
}

/* Air entre le hero et le corps : si le premier bloc texte commence par un h2, pas de padding
   (évite double espace avec la marge h2 du thème) ; sinon marge pour un premier <p> etc. */
body.tenant-2 .node_standart header.region_header + section {
    padding-top: clamp(1.75rem, 4.5vw, 2.75rem);
}

body.tenant-2
    .node_standart
    header.region_header
    + section:has(> .paragraphs > :first-child .paragraph_inner > h2:first-child) {
    padding-top: 0;
}

/* Autres champs en tête de section (hors wrapper .paragraph_inner) : premier h2 racine */
body.tenant-2 .node_standart header.region_header + section:has(> :first-child > h2:first-child) {
    padding-top: 0;
}

/* =============================================================================
   8. Responsive
   Hero standart : ≤767px. Nav burger / panneau plein écran : ≤1023px. Option 480px pour
   resserrer header / CTA.
   ========================================================================== */

@media (max-width: 767px) {
    /* --- Nœud standart : colonne flex (image puis titre), image 90 % × hauteur auto (image entière) ; py-6 du main --- */
    body.tenant-2 .node_standart header.region_header {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: stretch;
        gap: 1rem;
        margin-top: -1.5rem;
        overflow-x: visible;
        overflow-y: visible;
    }

    body.tenant-2 .node_standart header.region_header .field_image {
        order: -1;
        align-self: stretch;
        width: 100%;
        max-width: none;
        align-items: center;
    }

    body.tenant-2 .node_standart header.region_header .field_image .field_values,
    body.tenant-2 .node_standart header.region_header .field_image .field_value,
    body.tenant-2 .node_standart header.region_header .field_image .media {
        align-items: center;
        width: 100%;
    }

    body.tenant-2 .node_standart header.region_header .media_figure {
        box-sizing: border-box;
        width: 90%;
        max-width: 90%;
        margin-inline: auto;
        align-self: center;
    }

    body.tenant-2 .node_standart header.region_header .media_img {
        display: block;
        box-sizing: border-box;
        width: 100%;
        height: auto;
        max-width: 100%;
        max-height: none;
        object-fit: contain;
        object-position: center;
        border-radius: 0;
    }

    body.tenant-2 .node_standart header.region_header .field_node_title {
        order: 1;
        align-self: stretch;
        align-items: flex-start;
        padding-right: 1rem;
        padding-left: 25px;
        background: none;
    }

    body.tenant-2 .node_standart header.region_header .field_node_title h1 {
        padding-right: 0;
        padding-left: 0;
        margin: 0;
        letter-spacing: -0.02em;
    }

    /* --- Typo contenu article + h1 hors hero standart --- */
    body.tenant-2 h1 {
        padding-left: 0;
        padding-right: 0;
        font-size: 46px;
        line-height: 50px;
        letter-spacing: -0.02em;
    }

    body.tenant-2 article.node h2 {
        margin-top: 1.25rem;
        font-size: clamp(1.5rem, 4vw + 0.85rem, 2.5rem);
        letter-spacing: -0.01em;
    }

    body.tenant-2 article.node h3 {
        font-size: clamp(1.25rem, 3vw + 0.65rem, 1.875rem);
        line-height: 1.35;
    }

    body.tenant-2 article.node p {
        font-size: clamp(1rem, 1.5vw + 0.8rem, 1.25rem);
        line-height: 1.6;
        padding-top: 2px;
    }

    body.tenant-2 article.node .paragraph_inner ul,
    body.tenant-2 article.node .paragraph_inner ol,
    body.tenant-2 article.node .field_value_inner ul,
    body.tenant-2 article.node .field_value_inner ol {
        font-size: clamp(1rem, 1.5vw + 0.8rem, 1.25rem);
        line-height: 1.6;
    }
}

/* Navigation drawer : mise en page « mobile » sous le breakpoint lg (1024px). */
@media (max-width: 1023px) {
    /* --- Header mobile : logo | titre 15px | burger ; langues + PDF dans le panneau --- */
    body.tenant-2 .tenant-header {
        /* Barre compacte ; nav panel padding-top suit via la variable */
        --tenant-2-header-bar-height: 54px;
    }

    body.tenant-2 .tenant-header__inner {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: space-between;
        gap: 0.5rem;
        box-sizing: border-box;
        height: var(--tenant-2-header-bar-height);
        min-height: var(--tenant-2-header-bar-height);
        max-height: var(--tenant-2-header-bar-height);
        overflow: hidden;
        padding: 0 1.25rem 0 0;
    }

    body.tenant-2 .tenant-header__left {
        align-self: stretch;
        max-height: var(--tenant-2-header-bar-height);
        overflow: hidden;
        display: flex;
        align-items: center;
        flex-shrink: 0;
    }

    /* Panneau nav fixed z-35 + anim translateY(-14px) : le blanc remonte sous la barre ; le logo sans z-index se fait recouvrir. */
    /* z-40 < summary ouvert (45) pour ne pas bloquer le burger si chevauchement horizontal. */
    body.tenant-2
        .tenant-header__inner:has(.tenant-header__nav-drawer[open])
        .tenant-header__left {
        position: relative;
        z-index: 40;
    }

    body.tenant-2 .tenant-header__logo-link {
        margin: 0 0 0 1.25rem;
        padding: 6px 0;
        line-height: 0;
        box-sizing: border-box;
    }

    /* Slot logo dimensions fixes → pas de CLS au chargement de l’image (picture / src mobile). */
    body.tenant-2 .tenant-header__logo-link picture {
        display: block;
        line-height: 0;
        flex-shrink: 0;
        box-sizing: border-box;
        height: calc(var(--tenant-2-header-bar-height) - 12px);
        width: min(
            calc((var(--tenant-2-header-bar-height) - 12px) * 240 / 90),
            240px,
            55vw
        );
    }

    body.tenant-2 .tenant-header__logo {
        display: block;
        width: 100%;
        height: 100%;
        max-width: none;
        max-height: none;
        object-fit: contain;
        object-position: left center;
    }

    body.tenant-2 .tenant-header__right {
        gap: 0;
    }

    body.tenant-2 header.tenant-header .tenant-header__bar-extras a.tenant-header__pdf-link {
        padding: 0.625rem 0.875rem;
        font-size: 14px;
        white-space: normal;
        text-align: center;
        max-width: 7.5rem;
        line-height: 1.25;
    }

    body.tenant-2 .tenant-header__nav-panel-mobile-tools {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 1.25rem;
        margin-top: 0.25rem;
        padding-top: 1.25rem;
        border-top: 1px solid rgb(244 244 245);
    }

    body.tenant-2 .tenant-header__languages--panel-mobile .languages_site .languages_roots {
        justify-content: center;
    }

    body.tenant-2 .tenant-header__languages--panel-mobile .languages_link,
    body.tenant-2 .tenant-header__languages--panel-mobile .languages_item:not(:last-child)::after {
        font-size: 12px;
    }

    body.tenant-2 header.tenant-header a.tenant-header__pdf-link--panel-mobile {
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        max-width: none;
        align-self: stretch;
        padding: 0.75rem 1rem;
        font-size: 12px;
        text-align: center;
        white-space: normal;
        line-height: 1.25;
    }

    /* Nav empilée : commissions → main → conditions (DOM reste inchangé pour le desktop) */
    body.tenant-2 .tenant-header__nav-mega--cols-1,
    body.tenant-2 .tenant-header__nav-mega--cols-2,
    body.tenant-2 .tenant-header__nav-mega--cols-3 {
        display: flex;
        flex-direction: column;
    }

    body.tenant-2 .tenant-header__nav-mega [data-nav-col="commissions"] {
        order: 1;
    }

    body.tenant-2 .tenant-header__nav-mega [data-nav-col="main"] {
        order: 2;
    }

    body.tenant-2 .tenant-header__nav-mega [data-nav-col="conditions"] {
        order: 3;
    }

    body.tenant-2 .tenant-header__nav-mega__col:not(:last-child) {
        border-right: none;
        border-bottom: 1px solid rgb(244 244 245);
        padding-bottom: 0.5rem;
        margin-bottom: 0.25rem;
    }

    /* Pas de titre « Sommaire » sur mobile */
    body.tenant-2 .tenant-header__nav-mega__heading {
        display: none;
    }

    /* Nav mobile : plein écran depuis le haut (z-index sous le header) pour éviter le trou
       entre le header sticky et le panneau (top: 76px laissait voir le hero). */
    body.tenant-2 .tenant-header__nav-panel {
        top: 0;
        max-height: 100dvh;
        padding: calc(var(--tenant-2-header-bar-height) + 0.65rem) 0.75rem 1.25rem;
    }

    body.tenant-2 .tenant-header__nav-mega {
        gap: 0.75rem;
    }

    body.tenant-2 .tenant-header__nav-mega__col--text {
        font-size: 12px;
        line-height: 1.45;
        padding-left: calc(clamp(0.25rem, 1vw, 0.75rem) + 0.85rem);
    }

    body.tenant-2 .tenant-header__nav-mega__col--text .link_nav {
        font-size: 12px;
    }

    body.tenant-2 .tenant-header__nav-mega__col--text .navigation_roots {
        gap: 0.35rem;
    }

    body.tenant-2 .tenant-header__nav-mega__col--pills .navigation_roots {
        gap: 10px;
    }

    body.tenant-2 .tenant-header__nav-mega__col--pills .link_nav {
        height: 60px;
        min-height: 60px;
        max-height: 60px;
        padding: 0 1.05rem;
        border-radius: 25px;
        font-size: 18px;
        font-weight: 600;
        line-height: 1.2;
        color: rgba(23, 52, 75, 1);
    }

    body.tenant-2 .tenant-header__nav-mega__col--pills .link_nav::after {
        font-size: 1.2rem;
        font-weight: 600;
    }

    body.tenant-2 .tenant-header__nav-panel .tenant-header__nav-mega__col--pills .navigation_item_child .link_nav {
        height: auto;
        min-height: 44px;
        max-height: none;
        padding: 0 0.85rem;
        font-size: 14px;
        font-weight: 700;
        border-radius: 0.75rem;
    }

    body.tenant-2 .tenant-header__nav-panel-mobile-tools {
        gap: 0.85rem;
        margin-top: 0.15rem;
        padding-top: 0.85rem;
    }

    body.tenant-2 header.tenant-header a.tenant-header__pdf-link--panel-mobile {
        padding: 0.55rem 0.85rem;
        font-size: 12px;
    }
}

@media (max-width: 767px) {
    /* --- Footer --- */
    body.tenant-2 .tenant-footer__heading {
        font-size: clamp(1.25rem, 4vw + 0.5rem, 1.875rem);
        line-height: 1.35;
    }

    body.tenant-2 .tenant-footer__address {
        font-size: clamp(1rem, 1.2vw + 0.85rem, 1.125rem);
        line-height: 1.55;
    }

    body.tenant-2 .tenant-footer__nav-block .link_nav {
        font-size: clamp(1rem, 1.2vw + 0.85rem, 1.125rem);
        line-height: calc(1.55em - 4px);
    }

    body.tenant-2 .post-footer {
        padding: 1rem 0.75rem;
        gap: 0.5rem 0.75rem;
    }
}

/* sm:py-8 sur le main (640–767px) : compenser avec -2rem */
@media (min-width: 640px) and (max-width: 767px) {
    body.tenant-2 .node_standart header.region_header {
        margin-top: -2rem;
    }
}

@media (max-width: 480px) {
    body.tenant-2 .tenant-header__burger-summary {
        box-sizing: border-box;
        min-width: 44px;
        min-height: 44px;
        padding: 0.5rem;
    }

    body.tenant-2 header.tenant-header .tenant-header__bar-extras a.tenant-header__pdf-link {
        max-width: 6.5rem;
        padding: 0.5rem 0.5rem;
        font-size: 12px;
    }

    /* PDF panneau : pleine largeur (ne pas hériter du resserrement barre) */
    body.tenant-2 header.tenant-header a.tenant-header__pdf-link--panel-mobile {
        width: 100%;
        max-width: none;
    }

    body.tenant-2 .tenant-header__right {
        gap: 0.375rem;
    }
}

/* =============================================================================
   Page d’accueil (page_home) : contenu + commissions + main — flex, 3 colonnes égales (≥lg)
   ========================================================================== */

body.tenant-2 .tenant-site-primary.tenant-site-primary--home-wide {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}

body.tenant-2 .tenant-home-grid {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 2rem;
    align-items: stretch;
    width: 100%;
    max-width: none;
    padding-right: clamp(1.25rem, 5vw, 3.5rem);
    padding-left: clamp(1.25rem, 5vw, 3.5rem);
}

body.tenant-2 .tenant-home-grid__content,
body.tenant-2 .tenant-home-grid > .tenant-home-grid__nav,
body.tenant-2 .tenant-home-grid > .tenant-home-grid__col-main {
    box-sizing: border-box;
    min-width: 0;
    flex: 1 1 auto;
    width: 100%;
}

body.tenant-2 .tenant-home-grid__col-main {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
}

body.tenant-2 .tenant-home-grid__col-main > .tenant-home-grid__nav {
    width: 100%;
    align-self: stretch;
}

body.tenant-2 .tenant-home-partner-brand {
    display: flex;
    flex-shrink: 0;
    justify-content: center;
    width: 100%;
}

body.tenant-2 .tenant-home-partner-brand__img {
    display: block;
    width: auto;
    max-width: min(100%, 200px);
    height: auto;
    max-height: 52px;
    object-fit: contain;
}

@media (min-width: 1024px) {
    body.tenant-2 .tenant-home-grid {
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: flex-start;
        gap: clamp(2rem, 3vw, 3.25rem);
    }

    body.tenant-2 .tenant-home-grid__content,
    body.tenant-2 .tenant-home-grid > .tenant-home-grid__nav,
    body.tenant-2 .tenant-home-grid > .tenant-home-grid__col-main {
        flex: 1 1 0;
        width: auto;
    }
}

@media (min-width: 1280px) {
    body.tenant-2 .tenant-home-grid {
        padding-right: clamp(1.5rem, 5vw, 4rem);
        padding-left: clamp(1.5rem, 5vw, 4rem);
        gap: clamp(2.25rem, 3.5vw, 3.75rem);
    }
}

body.tenant-2 .tenant-home-grid__content h1 {
    margin: 0 0 0.75em;
    padding-left: 0;
    padding-right: 0;
    color: rgba(23, 52, 75, 1);
    font-family: var(--tenant-2-font-sans);
    font-size: 35px;
    font-weight: 700;
    font-style: normal;
    line-height: 45px;
    letter-spacing: normal;
}

/* Même vocabulaire que le mega menu (pilules + flèche ›) */
body.tenant-2 .tenant-home-nav-pills nav {
    width: 100%;
}

body.tenant-2 .tenant-home-nav-pills .navigation_roots {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.tenant-2 .tenant-home-nav-pills .link_nav {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    width: 100%;
    height: 60px;
    min-height: 60px;
    max-height: 60px;
    padding: 0 1.05rem;
    border-radius: 25px;
    font-family: var(--tenant-2-font-sans);
    font-size: 18px;
    font-weight: 600;
    font-style: normal;
    line-height: 1.2;
    color: rgba(23, 52, 75, 1);
    text-decoration: none;
    transition: filter 0.15s ease, transform 0.15s ease;
}

body.tenant-2 .tenant-home-nav-pills .link_nav::after {
    content: "›";
    flex-shrink: 0;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1;
    opacity: 0.65;
}

body.tenant-2 .tenant-home-nav-pills .link_nav:hover {
    filter: brightness(0.97);
}

body.tenant-2 .tenant-home-nav-pills--commissions .navigation_item_root:nth-child(5n + 1) .link_nav {
    background-color: #f8d7e4;
}

body.tenant-2 .tenant-home-nav-pills--commissions .navigation_item_root:nth-child(5n + 2) .link_nav {
    background-color: #e8def8;
}

body.tenant-2 .tenant-home-nav-pills--commissions .navigation_item_root:nth-child(5n + 3) .link_nav {
    background-color: #d0ebe8;
}

body.tenant-2 .tenant-home-nav-pills--commissions .navigation_item_root:nth-child(5n + 4) .link_nav {
    background-color: #d8f0dc;
}

body.tenant-2 .tenant-home-nav-pills--commissions .navigation_item_root:nth-child(5n + 5) .link_nav {
    background-color: #ffe8cc;
}

body.tenant-2 .tenant-home-nav-pills--main .navigation_item_root .link_nav {
    background-color: rgba(113, 158, 202, 0.28);
}

body.tenant-2 .tenant-home-nav-pills .navigation_children {
    margin: 0.35rem 0 0;
    padding: 0 0 0 0.5rem;
    list-style: none;
    border-left: 1px solid rgb(244 244 245);
}

body.tenant-2 .tenant-home-nav-pills .navigation_item_child .link_nav {
    height: auto;
    min-height: 44px;
    max-height: none;
    padding: 0 0.85rem;
    font-size: 14px;
    font-weight: 700;
    border-radius: 0.75rem;
}

body.tenant-2 .tenant-home-nav-pills .navigation_item_child .link_nav::after {
    content: none;
}

/* =============================================================================
   7b. field_next — relation (.field-next) OU champ link schéma « field_next »
       (.field.field_link.field_next via _default.html.twig)
   ========================================================================== */

body.tenant-2 article.node .field.field-next {
    box-sizing: border-box;
    width: 100%;
    margin: 56px 0;
    padding-top: 42px;
    padding-bottom: 50px;
    border-top: 2px solid color-mix(in srgb, var(--tenant-2-primary) 42%, white);
    border-bottom: 2px solid color-mix(in srgb, var(--tenant-2-primary) 42%, white);
}

body.tenant-2 article.node .field.field_link.field_next {
    box-sizing: border-box;
    width: 100%;
    margin-top: 120px;
    margin-bottom: 56px;
    margin-left: 0;
    margin-right: 0;
    padding-top: 42px;
    padding-bottom: 50px;
    border-top: 1px solid color-mix(in srgb, var(--tenant-2-primary) 42%, white);
    border-bottom: 1px solid color-mix(in srgb, var(--tenant-2-primary) 42%, white);
}

body.tenant-2 article.node .field.field-next .field-next__shell {
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    padding: 60px 24px;
    border-top: 1px solid rgb(245 245 245);
    border-bottom: 1px solid rgb(245 245 245);
    text-align: center;
}

body.tenant-2 article.node .field.field_link.field_next > .field_values {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    box-sizing: border-box;
    width: 100%;
    text-align: center;
}

body.tenant-2 article.node .field.field-next p.field-next__label,
body.tenant-2 article.node .field.field_link.field_next p.field-next__label {
    margin: 0;
    max-width: min(100%, 40rem);
    color: rgba(23, 52, 75, 1);
    font-family: var(--tenant-2-font-sans);
    font-size: 40px;
    font-weight: 700;
    font-style: normal;
    line-height: 50px;
    letter-spacing: -0.02em;
    text-align: center;
}

body.tenant-2 article.node .field.field-next .field-next__actions,
body.tenant-2 article.node .field.field_link.field_next .field-next__actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    margin-top: 32px;
    width: 100%;
}

/* Champ link field_next : moins d’air titre → bouton (gap 16 + marge actions). */
body.tenant-2 article.node .field.field_link.field_next .field-next__actions {
    margin-top: 12px;
}

body.tenant-2 article.node .field.field_link.field_next .field_value.field_value_link {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    align-self: center;
    gap: 8px;
    width: auto;
    max-width: min(100%, 40rem);
}

body.tenant-2 article.node .field.field-next a.field-next__pill,
body.tenant-2 article.node .field.field_link.field_next a.field_link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-height: 48px;
    padding: 14px 40px;
    border-radius: 9999px;
    background-color: #dce6f1;
    color: rgba(23, 52, 75, 1);
    font-family: var(--tenant-2-font-sans);
    font-size: 18px;
    font-weight: 500;
    font-style: normal;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
    gap: 12px;
    transition: background-color 0.15s ease, color 0.15s ease;
}

body.tenant-2 article.node .field.field_link.field_next a.field_link {
    justify-content: flex-start;
    gap: 0;
    width: auto;
    min-width: min(100%, 450px);
    max-width: min(100%, 40rem);
    font-weight: 700;
    text-align: left;
}

body.tenant-2 article.node .field.field_link.field_next a.field_link::after {
    content: none;
}

body.tenant-2 article.node .field.field_link.field_next a.field_link .field-next__pill-text {
    text-align: left;
}

body.tenant-2 article.node .field.field-next .field-next__actions > a.field-next__pill {
    align-self: stretch;
    max-width: min(100%, 40rem);
}

body.tenant-2 article.node .field.field-next a.field-next__pill {
    justify-content: flex-start;
    gap: 0;
    width: 100%;
    max-width: min(100%, 40rem);
}

body.tenant-2 article.node .field.field-next a.field-next__pill:hover {
    background-color: #cdd9e8;
    color: var(--tenant-2-ink-hover);
}

/* field_next : survol par défaut (sans classe cible). Les variantes insos / addictions / … sont plus bas. */
body.tenant-2 article.node .field.field_link.field_next a.field_link:hover {
    background-color: #cdd9e8;
    color: var(--tenant-2-ink-hover);
}

body.tenant-2 article.node .field.field_link.field_next a.field_link.insos:hover {
    background-color: #d9cfe8;
    color: var(--tenant-2-ink-hover);
}

body.tenant-2 article.node .field.field_link.field_next a.field_link.addictions:hover {
    background-color: #beddd8;
    color: var(--tenant-2-ink-hover);
}

body.tenant-2 article.node .field.field_link.field_next a.field_link.socio:hover {
    background-color: #c6e5cc;
    color: var(--tenant-2-ink-hover);
}

body.tenant-2 article.node .field.field_link.field_next a.field_link.ctt:hover {
    background-color: #f5dcc0;
    color: var(--tenant-2-ink-hover);
}

body.tenant-2 article.node .field.field_link.field_next a.field_link.generic:hover {
    background-color: rgba(100, 145, 190, 0.38);
    color: var(--tenant-2-ink-hover);
}

/* +1 classe .field_next : bat le fond #dce6f1 du bloc pill field_next. */
body.tenant-2 article.node .field.field_link.field_next a.field_link.insos {
    background-color: #e8def8;
}

body.tenant-2 article.node .field.field_link.field_next a.field_link.addictions {
    background-color: #d0ebe8;
}

body.tenant-2 article.node .field.field_link.field_next a.field_link.socio {
    background-color: #d8f0dc;
}

body.tenant-2 article.node .field.field_link.field_next a.field_link.ctt {
    background-color: #ffe8cc;
}

body.tenant-2 article.node .field.field_link.field_next a.field_link.generic {
    background-color: rgba(113, 158, 202, 0.28);
}

body.tenant-2 article.node .field.field-next a.field-next__pill:focus-visible,
body.tenant-2 article.node .field.field_link.field_next a.field_link:focus-visible {
    outline: var(--tenant-2-focus-ring);
    outline-offset: 3px;
}

body.tenant-2 article.node .field.field-next .field-next__pill-text,
body.tenant-2 article.node .field.field_link.field_next a.field_link .field-next__pill-text {
    flex: 1 1 auto;
    min-width: 0;
    padding-left: 50px;
    padding-right: 50px;
    box-sizing: border-box;
    text-align: left;
}

body.tenant-2 article.node .field.field-next .field-next__pill-arrow,
body.tenant-2 article.node .field.field_link.field_next a.field_link .field-next__pill-arrow {
    flex-shrink: 0;
    margin-left: auto;
    font-size: 1.125em;
    line-height: 1;
}

body.tenant-2 article.node .field.field-next .field-next__media {
    max-width: 100%;
}

body.tenant-2 article.node .field.field-next .field-next__missing {
    display: inline-block;
    padding: 14px 40px;
    border-radius: 9999px;
    background-color: #eef2f6;
    color: var(--tenant-2-ink-muted);
    font-family: var(--tenant-2-font-sans);
    font-size: 16px;
}

@media (max-width: 767px) {
    body.tenant-2 article.node .field.field-next {
        margin: 40px 0;
    }

    body.tenant-2 article.node .field.field_link.field_next {
        margin-top: 120px;
        margin-bottom: 40px;
        margin-left: 0;
        margin-right: 0;
    }

    body.tenant-2 article.node .field.field-next .field-next__shell {
        padding: 48px 16px;
    }

    body.tenant-2 article.node .field.field-next p.field-next__label,
    body.tenant-2 article.node .field.field_link.field_next p.field-next__label {
        font-size: clamp(1.375rem, 5vw + 0.5rem, 2.5rem);
        line-height: 1.25;
    }

    body.tenant-2 article.node .field.field-next a.field-next__pill,
    body.tenant-2 article.node .field.field_link.field_next a.field_link {
        width: 100%;
        min-width: min(100%, 450px);
        max-width: 100%;
        padding: 14px 28px;
        font-size: 16px;
    }

    body.tenant-2 article.node .field.field_link.field_next .field_value.field_value_link {
        width: 100%;
        max-width: min(100%, 40rem);
        margin-inline: auto;
    }
}

/* =============================================================================
   Tables financières / custom (contenu éditorial)
   ========================================================================== */

body.tenant-2 .custom-table {
    width: 100%;
    overflow-x: auto;
}

body.tenant-2 .custom-table table {
    width: 100%;
    border-collapse: collapse;
    font-family: Arial, sans-serif;
    font-size: 14px;
}

body.tenant-2 .custom-table th,
body.tenant-2 .custom-table td {
    border: 1px solid #e6e6e6;
    padding: 8px 10px;
    text-align: left;
}

/* Paragraphe id 11 uniquement (classe paragraph_inner_11) : colonnes 2+ à droite. */
body.tenant-2 article.node .paragraph_inner_11 .custom-table th:not(:first-child),
body.tenant-2 article.node .paragraph_inner_11 .custom-table td:not(:first-child) {
    text-align: right;
}

/* Même paragraphe : .highlight reste en rouge (hors couleur primaire du tableau). */
body.tenant-2 article.node .paragraph_inner_11 .custom-table .highlight,
body.tenant-2 article.node .paragraph_inner_11 .custom-table .highlight td {
    color: #c62828;
}

body.tenant-2 .custom-table thead th {
    background: var(--tenant-2-primary);
    color: #fff;
    font-weight: bold;
}

body.tenant-2 .custom-table .section td {
    background: #e6e6e6;
    font-weight: bold;
    text-transform: uppercase;
}

body.tenant-2 .custom-table .subsection td {
    background: #f5f5f5;
    font-weight: bold;
}

body.tenant-2 .custom-table .total td {
    background: #dbe5f1;
    font-weight: bold;
}

body.tenant-2 .custom-table .result td {
    font-weight: bold;
    background: #eef3f9;
}

body.tenant-2 .custom-table .result.final td {
    background: #cfe2f3;
    font-size: 15px;
}

body.tenant-2 .custom-table .highlight {
    color: var(--tenant-2-primary);
    font-weight: bold;
}
