/*
 * socle-v4.css — éléments communs à toutes les pages du site v4 : palette, en-tête flottant, menu mobile,
 * pied de page, bandeau cookies. Classes préfixées v4- (main.css a ses propres .btn, .nav…).
 */
:root {
  --m3d-bleu: #2457FF;    /* bleu électrique */
  --m3d-nuit: #071A3D;    /* bleu nuit */
  --m3d-cyan: #4FD8FF;    /* cyan */
  --m3d-clair: #EDF4FF;   /* fond clair */
  --m3d-texte2: #4A5E80;  /* texte secondaire */
}
.v4-entete,.v4-pied{font-family:'Inter',system-ui,sans-serif;color:var(--m3d-nuit);--el:var(--m3d-bleu)}
.v4-entete{position:sticky;top:0;z-index:900;height:0}
.v4-entete>div:first-child{height:0}
.v4-entete a,.v4-pied a{color:inherit}
.v4-entete a:hover{color:var(--m3d-bleu)}
.v4-lien{text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:0 1.5px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .5s cubic-bezier(.19,1,.22,1)}
.v4-lien:hover{background-size:100% 1.5px}
.v4-btn{transition:transform .35s cubic-bezier(.19,1,.22,1),box-shadow .35s,background-color .3s,color .3s}
.v4-btn:hover{transform:translateY(-3px)}
.v4-btn-el:hover{box-shadow:0 18px 40px -14px rgba(36,87,255,.9);color:#FFFFFF!important}
.v4-burger{display:none}
#mmenu[hidden]{display:none!important}
.v4-entete a:focus-visible,.v4-entete button:focus-visible,.v4-pied a:focus-visible{outline:2px solid var(--m3d-bleu);outline-offset:3px}
@media (max-width:760px){.v4-navlinks,.v4-hide-m{display:none!important}.v4-burger{display:flex!important}.v4-pied footer{padding-left:20px!important;padding-right:20px!important}}
@media (prefers-reduced-motion:reduce){.v4-lien,.v4-btn{transition:none}.v4-btn:hover{transform:none}}

/* ── Pied de page : zones d'intervention (liens vers les pages villes) ── */
.m3d-zones{display:flex;flex-direction:column;gap:16px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12)}
.m3d-zones__titre{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--m3d-cyan)}
.m3d-zones__grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px 24px;font-size:13px}
.m3d-zones__grille>div{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.m3d-zones__dep{font-weight:600;color:#FFFFFF;padding-bottom:4px}
.m3d-zones__grille a{color:#C9D8FF;padding:2px 0}

/* ── Bandeau cookies (styles repris de main.css, non chargé sur l'accueil) ── */
.m3d-cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:9999;background:var(--m3d-nuit);color:rgba(255,255,255,.82);padding:18px 24px;border-top:1px solid rgba(255,255,255,.08);transform:translateY(110%);transition:transform .35s ease;font-family:'Inter',system-ui,sans-serif}
.m3d-cookie-banner.is-visible{transform:translateY(0)}
.m3d-cookie-banner__in{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.m3d-cookie-banner p{font-size:13.5px;line-height:1.6;margin:0;max-width:640px}
.m3d-cookie-banner a{color:#FFFFFF;text-decoration:underline}
.m3d-cookie-banner__actions{display:flex;gap:10px;flex-shrink:0}
.m3d-cookie-banner .btn{display:inline-flex;align-items:center;padding:10px 18px;border-radius:10px;border:1.5px solid;font:600 14px 'Inter',sans-serif;cursor:pointer;background:transparent}
.m3d-cookie-banner .btn--ghost{color:rgba(255,255,255,.7);border-color:rgba(255,255,255,.25)}
.m3d-cookie-banner .btn--ghost:hover{color:#FFFFFF;border-color:rgba(255,255,255,.55)}
.m3d-cookie-banner .btn--primary{background:#FFFFFF;color:var(--m3d-nuit);border-color:#FFFFFF}
@media (max-width:640px){.m3d-cookie-banner__in{flex-direction:column;align-items:stretch}.m3d-cookie-banner__actions{justify-content:flex-end}}
@media (prefers-reduced-motion:reduce){.m3d-cookie-banner{transition:none}}

/* Pied de page sur téléphone : liens sur deux colonnes */
@media (max-width:760px){
  .v4-pied footer > div > div:first-child{grid-template-columns:1fr 1fr!important;gap:28px 16px!important}
  .v4-pied footer > div > div:first-child > div:first-child{grid-column:1 / -1}
  .m3d-zones__grille{grid-template-columns:1fr 1fr!important;gap:18px 16px!important}
  .v4-pied footer{padding-top:48px!important}
}
