/* Menu mobile (fourni dans Menu-Mobile-CREFM-HTML-CSS.zip), limité au menu : aucune règle globale. */
.mobile-menu{--menu-blue:#003bc5;--menu-navy:#071466;--menu-width:82vw;--menu-height:85dvh;--menu-glass:rgba(248,250,255,.84);font-family:Manrope,Arial,sans-serif}
.mobile-menu,.mobile-menu *{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
.mobile-menu button{font:inherit;cursor:pointer}
:where(.mobile-menu) a{color:inherit;text-decoration:none}
.menu-trigger svg,:where(.mobile-menu) svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.mobile-menu a:focus-visible,.mobile-menu button:focus-visible,.mobile-menu summary:focus-visible{outline:3px solid #ecb824;outline-offset:3px}
.mobile-menu img{max-width:none}
/* Bouton qui ouvre le menu (dans le header) */
.e-hdr .e-menu-btn.menu-trigger{place-items:center;padding:0;border:0;border-radius:10px;background:#edf3ff;color:#003bc5;width:44px;height:44px}
@media(max-width:1000px){.e-hdr .e-menu-btn.menu-trigger{display:grid}}
@media(min-width:1001px){.mobile-menu{display:none!important}}
/* Position : bord supérieur et bord droit, espace à gauche et en bas. */
.mobile-menu{position:fixed;inset:0 0 auto auto;margin:0;width:var(--menu-width);max-width:390px;height:auto;max-height:85vh;max-height:var(--menu-height);padding:22px 18px 20px;border:0;border-left:1px solid #ffffff99;border-bottom:1px solid #ffffff99;border-radius:0 0 0 24px;color:var(--menu-navy);background:var(--menu-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:-12px 18px 45px #071d5926;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.mobile-menu::backdrop{background:rgba(3,18,53,.08)}
.mobile-menu[open]{animation:menu-enter .22s ease-out}
.menu-header{display:flex;align-items:center;gap:10px;margin-bottom:21px}.menu-brand{display:flex;align-items:center;gap:9px;flex:1;min-width:0;text-decoration:none}.menu-brand img{width:51px;height:51px;object-fit:contain}.menu-brand>span{font-size:14px;line-height:1.2;font-weight:800}.menu-brand small{display:block;font-size:8px;letter-spacing:1px;margin-top:6px;font-weight:400}.menu-close{display:grid;place-items:center;flex-shrink:0;width:35px;height:35px;background:#dce8ffb3;color:var(--menu-blue);border:0;border-radius:50%}.menu-close svg{width:20px;height:20px}.menu-caption{font-size:11px;font-weight:700;letter-spacing:3px;color:#56688d;margin:0 0 12px 4px}.menu-row{display:flex;align-items:center;gap:13px;text-decoration:none;min-height:49px;padding:10px 12px;font-size:16px;font-weight:700;position:relative;border-radius:10px}.menu-row>span:nth-child(2){flex:1}.menu-row.active{background:#cee0ff99;color:var(--menu-blue)}.menu-row.active:before{content:'';position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:5px;background:var(--menu-blue)}.chevron{font-size:27px;line-height:1;color:var(--menu-blue);font-weight:400}.menu-row.separated{border-top:1px solid #becbe466;border-radius:0}.menu-login{display:flex;justify-content:center;align-items:center;gap:12px;background:var(--menu-blue);border-radius:13px;color:#fff;min-height:49px;text-decoration:none;font-weight:700;font-size:16px;margin-top:10px}.menu-help{display:block;text-align:center;font-size:10px;color:var(--menu-blue);margin-top:14px;line-height:1.5}.menu-login:hover{background:#0633a0}
@keyframes menu-enter{from{transform:translateX(100%);opacity:.5}to{transform:translateX(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.mobile-menu[open]{animation:none}}
@media(max-width:360px){.mobile-menu{padding:18px 12px}.menu-brand img{width:39px;height:39px}.menu-brand>span{font-size:12px}.menu-brand small{font-size:7px}.menu-close{width:30px;height:30px}.menu-row{font-size:15px}}
.mobile-menu .menu-row svg,.mobile-menu .menu-login svg{width:24px;height:24px}
.mobile-menu .menu-close svg{width:20px;height:20px}
/* Coordonnées et réseaux dans le menu */
.mobile-menu .menu-info{display:grid;gap:2px;margin-top:14px;padding-top:10px;border-top:1px solid #becbe466}
.mobile-menu .menu-info-row{display:flex;align-items:flex-start;gap:12px;padding:9px 12px;border-radius:10px;font-size:13px;line-height:1.45;font-weight:600;color:var(--menu-navy)}
.mobile-menu .menu-info-row svg{width:20px;height:20px;margin-top:1px;color:var(--menu-blue)}
.mobile-menu .menu-info-row:hover{background:#cbdfff80}
.mobile-menu .menu-socials{display:flex;justify-content:center;flex-wrap:nowrap;gap:8px;margin:10px 0 2px}
.mobile-menu .menu-socials a{display:grid;place-items:center;flex:0 1 38px;width:38px;height:38px;border-radius:50%;background:#dce8ffb3;color:var(--menu-blue);transition:background .2s,color .2s}
.mobile-menu .menu-socials a:hover,.mobile-menu .menu-socials a:active{background:var(--menu-blue);color:#fff}
.mobile-menu .menu-socials svg{width:18px;height:18px;fill:currentColor;stroke:none}
@media(max-width:360px){.mobile-menu .menu-socials{gap:5px}.mobile-menu .menu-socials a{flex-basis:34px;width:34px;height:34px}}

/* Menu sur toute la hauteur de l'écran, contenu réparti sans défilement */
.mobile-menu{inset:0 0 0 auto;height:100vh;height:100dvh;max-height:none;border-top:0;border-bottom:0;border-radius:24px 0 0 24px;padding:max(20px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom))}
.mobile-menu[open]{display:flex;flex-direction:column}
.mobile-menu nav{flex:0 0 auto;margin-bottom:12px}
.mobile-menu .menu-login{margin-top:auto;flex-shrink:0}
.mobile-menu .menu-info,.mobile-menu .menu-socials,.mobile-menu .menu-help{flex-shrink:0}
@media(max-height:700px){
  .mobile-menu{padding-top:max(14px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom))}
  .mobile-menu .menu-header{margin-bottom:12px}
  .mobile-menu .menu-caption{margin-bottom:6px}
  .mobile-menu .menu-row{min-height:44px;padding-top:7px;padding-bottom:7px}
  .mobile-menu .menu-info{margin-top:8px;padding-top:6px}
  .mobile-menu .menu-info-row{padding:6px 12px}
  .mobile-menu .menu-help{margin-top:8px}
}

/* Page derrière le menu : légèrement floutée */
.mobile-menu::backdrop{background:rgba(3,18,53,.22);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}

/* Icônes des boutons centrées de façon fiable (iPhone/Safari compris) */
.mobile-menu .menu-close{position:relative;display:block;width:38px;height:38px;padding:0;margin:0;line-height:0;-webkit-appearance:none;appearance:none}
.mobile-menu .menu-close svg{position:absolute;top:50%;left:50%;width:20px;height:20px;margin:0;transform:translate(-50%,-50%)}
.e-hdr .e-menu-btn.menu-trigger{position:relative;display:block;padding:0;line-height:0;-webkit-appearance:none;appearance:none}
.e-hdr .e-menu-btn.menu-trigger svg{position:absolute;top:50%;left:50%;width:24px;height:24px;margin:0;transform:translate(-50%,-50%)}
@media(min-width:1001px){.e-hdr .e-menu-btn.menu-trigger{display:none}}

/* Bouton du menu : aucun contour ni cadre (ni au toucher, ni après fermeture du menu) */
.e-hdr .e-menu-btn.menu-trigger,
.e-hdr .e-menu-btn.menu-trigger:focus,
.e-hdr .e-menu-btn.menu-trigger:focus-visible,
.e-hdr .e-menu-btn.menu-trigger:active{outline:0!important;border:0!important;box-shadow:none!important;-webkit-tap-highlight-color:transparent}

/* Les 4 liens se répartissent sur la hauteur disponible (pas de grand vide) */
.mobile-menu nav{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;max-height:420px}
.mobile-menu nav .menu-row{flex:1 1 0;min-height:49px;max-height:84px;font-size:clamp(16px,2.05dvh,19px)}
@media(max-height:700px){.mobile-menu nav .menu-row{min-height:44px;max-height:60px}}
