/* ------------------------------------------------------------------ */
/* Domgate : l'en-tete a panneaux et le pied a cinq colonnes (plan M1, */
/* 03/10/2026). Charge par le gabarit des que l'en-tete ou le pied du */
/* site est rendu, et dans les fragments du portail ; apres style.css */
/* et blocs.css pour l'emporter sur le theme : tout est sous .entete  */
/* ou .pied.                                                          */
/* Mobile d'abord : sous 1248 px (et quand la barre ne tient pas sur   */
/* une ligne, classe entete--compacte posee par menu.js) le menu est un */
/* tiroir plein ecran en accordeon ; a partir de 1248 px, une barre a  */
/* panneaux. Les couleurs et la typographie sont celles de la maquette */
/* validee (menu-domgate-apercu.html et menu-domgate-mobile.html).     */
/* ------------------------------------------------------------------ */
/* --e-doux (gris de la maquette) reste celui des icones ; un texte prend --e-doux-texte, plus fonce (4,8:1 sur #fafbfc,
   WCAG AA). Une page courante se lit en orange fonce et en gras (--e-orange-texte, 4,7:1 sur blanc), pas par la couleur seule. */
.entete,.pied{--e-orange:#FF8400;--e-orange-2:#FF8F33;--e-orange-texte:#B35C00;--e-encre:#1F222B;--e-encre-2:#14161c;--e-texte:#505459;--e-gris:#e9ebf0;--e-doux:#8a9099;--e-doux-texte:#6a7079;--e-pale:#c9ced6}
.entete [hidden],.pied [hidden]{display:none!important}
.entete .visuellement-cache{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.entete :focus-visible,.pied :focus-visible{outline:2px solid var(--e-orange)!important;outline-offset:2px}
.entete button{font-family:"Montserrat",sans-serif}

/* La barre : posee sur le bandeau comme celle du theme (position absolue), fixee et blanche en defilant (blocs.css). */
.entete .navbar.entete__barre{padding:14px 0}
.scroll-down .entete .navbar.entete__barre,.scroll-up .entete .navbar.entete__barre{padding:0;display:flex;align-items:center}
.entete__conteneur{display:flex;align-items:center;gap:6px;width:100%;max-width:1296px;margin:0 auto;padding:0 24px;box-sizing:border-box;min-height:56px}
.entete__logo{display:flex;align-items:center;flex:none;color:#fff;margin-inline-end:auto}
.entete__logo .svg-logo{display:block;width:140px;height:auto}
.scroll-down .entete .entete__logo .svg-logo,.scroll-up .entete .entete__logo .svg-logo{height:34px;width:auto}
.entete__burger{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:48px;height:48px;padding:0;margin:0;background:none;border:0;cursor:pointer;flex:none}
.entete__burger span{display:block;width:26px;height:2.5px;border-radius:2px;background:#fff}
.scroll-down .entete .entete__burger span,.scroll-up .entete .entete__burger span{background:var(--e-texte)}

/* Le tiroir (telephone, tablette, et barre trop longue) : plein ecran, au-dessus de la barre collante et du bandeau cookies. */
.entete__tiroir{position:fixed;inset:0;z-index:1001;display:flex;flex-direction:column;background:#fff;color:var(--e-encre);overflow-y:auto;overscroll-behavior:contain;transform:translateX(100%);visibility:hidden;transition:transform .25s ease,visibility 0s linear .25s}
.entete[dir="rtl"] .entete__tiroir{transform:translateX(-100%)}
.entete.entete--ouvert .entete__tiroir{transform:none;visibility:visible;transition:transform .25s ease}
/* Une barre collante animee (transform) deviendrait le cadre du tiroir fixe : on retire l'animation tant qu'il est ouvert. */
/* Le tiroir est dans le contexte d'empilement de la barre (z-index 20, 999 collante) : tant qu'il est ouvert, la barre passe
   au-dessus du bandeau cookies (999) et de la barre d'apercu des brouillons (99999, sinon elle cache le logo et le bouton
   Fermer du tiroir). La recherche ferme le tiroir avant d'ouvrir sa fenetre, qui n'est donc jamais dessous. */
.entete.entete--ouvert .navbar.entete__barre{animation:none!important;transform:none!important;z-index:100000}
html.entete-ouvert,html.entete-ouvert body{overflow:hidden}
.entete__tete{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px 8px 18px;background:#fff;border-bottom:1px solid var(--e-gris)}
.entete[dir="rtl"] .entete__tete{padding:8px 18px 8px 10px}
.entete__logo-tiroir{display:block;width:124px;height:auto}
.entete__fermer{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;background:none;border:0;color:var(--e-encre);cursor:pointer}
.entete__fermer svg{width:24px;height:24px}

.entete .mega{list-style:none;margin:0;padding:0}
.entete .mega__entree{border-bottom:1px solid var(--e-gris)}
.entete .mega__bouton{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin:0;padding:16px 18px;background:none;border:0;border-radius:0;font:600 17px/1.3 "Montserrat",sans-serif;color:var(--e-encre);text-align:start;text-decoration:none;cursor:pointer}
.entete .mega__bouton:hover,.entete .mega__bouton[aria-expanded="true"]{color:var(--e-orange)}
.entete .mega__chevron{width:14px;height:14px;flex:none;transition:transform .15s}
.entete [aria-expanded="true"] > .mega__chevron{transform:rotate(180deg)}
.entete .mega__panneau{background:#fafbfc;padding:0 18px 14px}
.entete .mega__tete{padding:10px 0 8px;border-bottom:1px solid var(--e-gris)}
.entete .mega__accueil,.entete .mega__lien{display:flex;align-items:flex-start;gap:10px;color:var(--e-encre);text-decoration:none}
.entete .mega__accueil{padding:6px 0}
.entete .mega__accueil .mega__nom{font-weight:600;font-size:15.5px}
.entete .mega__texte{flex:1;min-width:0;line-height:1.3}
.entete .mega__texte small{display:block;margin-top:2px;font-size:12.5px;font-weight:400;color:var(--e-doux-texte)}
.entete .mega__titre{margin:14px 0 2px;padding:0;font:600 10.5px/1.3 "Montserrat",sans-serif;letter-spacing:.09em;text-transform:uppercase;color:var(--e-doux-texte)}
.entete .mega__liens{list-style:none;margin:0;padding:0}
.entete .mega__lien{padding:9px 0;font-size:14.5px;font-weight:500}
.entete .mega__accueil:hover,.entete .mega__lien:hover{color:var(--e-orange)}
.entete .mega__accueil[aria-current="page"],.entete .mega__lien[aria-current="page"]{color:var(--e-orange-texte);font-weight:600}
.entete .mega__accueil[aria-current="page"] .icone,.entete .mega__lien[aria-current="page"] .icone{color:var(--e-orange)}
.entete .icone{width:17px;height:17px;flex:none;margin-top:1px;color:var(--e-doux)}
.entete .mega__accueil:hover .icone,.entete .mega__lien:hover .icone{color:var(--e-orange)}

/* Les outils : langue, recherche, espace client, compte. */
.entete .entete__outils{list-style:none;margin:0;padding:18px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.entete .entete__item{position:relative;margin:0;padding:0}
.entete .entete__item--client{flex:1 1 100%;order:3}
.entete .entete__item--client .btn{display:flex;align-items:center;justify-content:center;width:100%;text-align:center}
.entete .entete__item--compte{flex:1 1 100%;order:4}
.entete .entete__outil{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 10px;background:none;border:1px solid var(--e-gris);border-radius:4px;font:500 15px/1 "Montserrat",sans-serif;color:var(--e-encre);cursor:pointer}
.entete .entete__outil svg{width:18px;height:18px}
.entete .entete__outil .mega__chevron{width:12px;height:12px}
.entete .entete__outil:hover,.entete .entete__outil[aria-expanded="true"]{color:var(--e-orange)}
.entete #docsearch{display:none}
.entete .entete__deroulant{margin:8px 0 0;padding:6px 0;background:#fff;border:1px solid var(--e-gris);border-radius:4px;list-style:none}
.entete .entete__langues{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-width:260px}
.entete .entete__langues li,.entete .entete__compte li{margin:0;padding:0;list-style:none}
.entete .entete__deroulant .nav__link,.entete .entete__compte a{display:block;padding:9px 14px;font-size:14px;font-weight:500;line-height:1.3;color:var(--e-encre);text-decoration:none;white-space:nowrap}
.entete .entete__deroulant .nav__link[aria-current="true"]{color:var(--e-orange-texte);font-weight:600}
.entete .entete__deroulant .nav__link:hover,.entete .entete__compte a:hover{color:var(--e-orange)}
.entete .entete__compte ul{list-style:none;margin:0;padding:0}
.entete .entete__compte-nom{margin:0;padding:8px 14px;font-size:13px;line-height:1.4;color:var(--e-texte);border-bottom:1px solid var(--e-gris)}
.entete .entete__separe{border-top:1px solid var(--e-gris)}

/* ------------------------------------------------------------------ */
/* La barre a panneaux, a partir de 1248 px (la largeur xl du theme),  */
/* tant que les libelles tiennent sur une ligne.                       */
/* ------------------------------------------------------------------ */
@media (min-width:1248px){
    .entete:not(.entete--compacte) .entete__logo .svg-logo{width:169px;height:46px}
    .entete:not(.entete--compacte) .entete__burger,.entete:not(.entete--compacte) .entete__tete{display:none}
    .entete:not(.entete--compacte) .entete__tiroir{position:static;inset:auto;z-index:auto;flex:none;flex-direction:row;align-items:center;gap:4px;background:none;color:inherit;overflow:visible;transform:none;visibility:visible;transition:none}
    .entete:not(.entete--compacte) .mega{display:flex;align-items:center;flex-wrap:nowrap}
    .entete:not(.entete--compacte) .mega__entree{position:static;border:0}
    .entete:not(.entete--compacte) .mega__bouton{width:auto;justify-content:flex-start;gap:6px;padding:14px 12px;border-radius:3px;font:500 15px/1 "Montserrat",sans-serif;color:#fff;white-space:nowrap}
    .entete:not(.entete--compacte) .mega__bouton .mega__chevron{width:12px;height:12px;opacity:.9}
    .entete:not(.entete--compacte) .mega__bouton:hover,.entete:not(.entete--compacte) .mega__bouton[aria-expanded="true"]{color:var(--e-orange-2)}
    .scroll-down .entete:not(.entete--compacte) .mega__bouton,.scroll-up .entete:not(.entete--compacte) .mega__bouton{color:#282828}
    .scroll-down .entete:not(.entete--compacte) .mega__bouton:hover,.scroll-up .entete:not(.entete--compacte) .mega__bouton:hover,
    .scroll-down .entete:not(.entete--compacte) .mega__bouton[aria-expanded="true"],.scroll-up .entete:not(.entete--compacte) .mega__bouton[aria-expanded="true"]{color:var(--e-orange)}
    /* Le panneau : sous la barre, aligne sur le conteneur, au-dessus du bandeau. Un pont invisible, de la largeur du seul
       bouton ouvert, couvre l'ecart jusqu'au panneau (qui passe dessus la ou ils se recouvrent) : il ne touche pas les
       boutons voisins, qu'un clic ou un survol atteint toujours. */
    .entete:not(.entete--compacte) .mega__panneau{position:absolute;top:calc(100% - 6px);inset-inline:max(16px,calc((100% - 1248px) / 2));z-index:40;padding:0;background:#fff;color:var(--e-encre);border-radius:4px;box-shadow:0 18px 50px -14px rgba(20,22,28,.5);text-align:start}
    .entete:not(.entete--compacte) .mega__bouton[aria-expanded="true"]{position:relative}
    .entete:not(.entete--compacte) .mega__bouton[aria-expanded="true"]::after{content:"";position:absolute;inset-inline:0;top:100%;height:24px}
    .entete:not(.entete--compacte) .mega__dedans{max-height:calc(100vh - 110px);overflow:auto;padding:16px 14px 12px}
    .scroll-down .entete:not(.entete--compacte) .mega__dedans,.scroll-up .entete:not(.entete--compacte) .mega__dedans{max-height:calc(100vh - 80px)}
    .entete:not(.entete--compacte) .mega__tete{display:flex;padding:0 6px 12px;margin-bottom:8px}
    .entete:not(.entete--compacte) .mega__accueil{padding:4px 4px;border-radius:3px}
    .entete:not(.entete--compacte) .mega__accueil .mega__nom{font-size:16px}
    .entete:not(.entete--compacte) .mega__colonnes{display:grid;grid-template-columns:repeat(var(--c,3),minmax(0,1fr));gap:4px 14px}
    .entete:not(.entete--compacte) .mega__titre{margin:0;padding:8px 10px 4px}
    .entete:not(.entete--compacte) .mega__lien{gap:8px;padding:7px 10px;border-radius:3px;font-size:13.5px}
    .entete:not(.entete--compacte) .mega__lien:hover,.entete:not(.entete--compacte) .mega__accueil:hover{background:#fff8f0}
    .entete:not(.entete--compacte) .mega__texte small{font-size:11.5px}
    .entete:not(.entete--compacte) .icone{width:15px;height:15px;margin-top:2px}
    .entete:not(.entete--compacte) .entete__outils{flex-wrap:nowrap;gap:4px;padding:0;margin-inline-start:6px}
    .entete:not(.entete--compacte) .entete__item--client,.entete:not(.entete--compacte) .entete__item--compte{flex:none;order:0}
    .entete:not(.entete--compacte) .entete__item--client .btn{display:inline-flex;width:auto;white-space:nowrap}
    .entete:not(.entete--compacte) .entete__outil{border:0;color:#fff;padding:12px 10px}
    .scroll-down .entete:not(.entete--compacte) .entete__outil,.scroll-up .entete:not(.entete--compacte) .entete__outil{color:#282828}
    .entete:not(.entete--compacte) .entete__outil:hover,.entete:not(.entete--compacte) .entete__outil[aria-expanded="true"]{color:var(--e-orange-2)}
    .entete:not(.entete--compacte) .entete__deroulant{position:absolute;top:calc(100% + 4px);inset-inline-end:0;z-index:41;margin:0;border:0;box-shadow:0 18px 50px -14px rgba(20,22,28,.5);min-width:220px}
    .entete:not(.entete--compacte) .entete__langues{min-width:300px}
}

@media (prefers-reduced-motion:reduce){
    .entete__tiroir,.entete.entete--ouvert .entete__tiroir,.entete .mega__chevron{transition:none}
}

/* ------------------------------------------------------------------ */
/* Le pied a cinq colonnes : la marque, puis les colonnes du menu       */
/* « pied » en grille ; la ligne du bas porte les droits et les deux    */
/* societes. Accordeon sous 752 px (menu.js).                           */
/* ------------------------------------------------------------------ */
.pied.footer{background:var(--e-encre);color:var(--e-pale);font-family:"Montserrat",sans-serif;padding:0}
.pied__conteneur{width:100%;max-width:1296px;margin:0 auto;padding:56px 24px 28px;box-sizing:border-box}
.pied__haut{display:grid;grid-template-columns:1fr;gap:36px}
.pied__marque{font-size:13px;line-height:1.5}
.pied__logo{display:inline-block}
.pied__logo img{display:block;width:169px;height:46px}
.pied .pied__entites{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px}
.pied .pied__entites li{margin:0;padding:0;color:var(--e-pale)}
.pied .pied__entite{color:#fff;font-weight:600}
.pied .pied__contact{display:block;width:max-content;margin-top:12px;color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.pied .pied__contact:hover{color:var(--e-orange-2)}
.pied .pied__reseaux{list-style:none;margin:18px 0 0;padding:0;display:flex;align-items:center;gap:8px}
.pied .pied__reseaux li{margin:0;padding:0}
.pied .pied__reseau{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid rgba(255,255,255,.22);border-radius:50%;color:#fff;font-size:18px;text-decoration:none}
.pied .pied__reseau:hover{border-color:var(--e-orange);color:var(--e-orange)}
.pied .pied__arbre img{display:block;height:40px;width:auto}
.pied__plan{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}
.pied .footer__title{margin:0 0 10px;padding:0;font:600 12.5px/1.3 "Montserrat",sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.pied .footer__title::before,.pied .footer__title:before{content:none;display:none}
.pied .pied__bouton{display:none;width:100%;margin:0;padding:0;background:none;border:0;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;text-align:start}
.pied .pied__liens{list-style:none;margin:0;padding:0}
.pied .pied__liens li{margin:0;padding:0}
.pied .pied__lien{display:inline-block;padding:4px 0;font-size:13px;font-weight:400;line-height:1.35;color:var(--e-pale);text-decoration:none}
.pied .pied__lien:hover,.pied .pied__lien[aria-current="page"]{color:var(--e-orange-2)}
.pied__bas{display:flex;flex-wrap:wrap;align-items:center;gap:8px 26px;margin-top:36px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12);font-size:12.5px;color:#aab2bd}
.pied .pied__bas p{margin:0;color:#aab2bd;font-size:12.5px;line-height:1.5}
.pied .pied__legaux{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;padding:0}
.pied .pied__legaux a{color:#aab2bd;text-decoration:none}
.pied .pied__legaux a:hover{color:var(--e-orange-2)}

@media (max-width:751.98px){
    .pied__plan{grid-template-columns:1fr;gap:0}
    .pied .pied__colonne{border-bottom:1px solid rgba(255,255,255,.12)}
    .pied .footer__title{margin:0}
    .pied .pied__nom{display:none}
    .pied .pied__bouton{display:flex;align-items:center;justify-content:space-between;min-height:48px;cursor:pointer}
    .pied .pied__bouton::after{content:"";width:8px;height:8px;margin-inline-end:4px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .15s}
    .pied .pied__bouton[aria-expanded="true"]::after{transform:rotate(-135deg)}
    .pied .pied__liens{padding-bottom:12px}
}
@media (min-width:1012px){
    .pied__haut{grid-template-columns:240px minmax(0,1fr);gap:40px}
    .pied__plan{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:1248px){
    .pied__plan{grid-template-columns:repeat(var(--c,5),minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){
    .pied .pied__bouton::after{transition:none}
}
