:root{
  --map-shell-ink:#17365D;
  --map-shell-accent:#0070C0;
  --map-shell-line:#dbe4ef;
  --map-shell-soft:#eef6ff;
  --map-shell-bg:#ffffff;
  --map-shell-shadow:0 12px 28px rgba(23,54,93,.12);
  --map-shell-max:1180px;
}
.map-shell-skip{position:fixed;left:12px;top:8px;z-index:10000;transform:translateY(-180%);background:#fff;color:var(--map-shell-ink)!important;border:2px solid var(--map-shell-accent);border-radius:8px;padding:10px 14px;font:700 14px/1.2 Arial,Helvetica,sans-serif;text-decoration:none;box-shadow:0 4px 18px rgba(0,0,0,.18)}
.map-shell-skip:focus{transform:none}
.map-shell-header{position:relative;z-index:250;background:#fff;border-bottom:1px solid var(--map-shell-line);color:var(--map-shell-ink);font-family:Arial,Helvetica,sans-serif}
.map-shell-nav{width:min(var(--map-shell-max),calc(100% - 32px));min-height:68px;margin:0 auto;display:flex;align-items:center;gap:14px;position:relative}
.map-shell-brand{display:inline-flex;align-items:center;min-height:44px;flex:0 0 auto;color:var(--map-shell-ink)!important;text-decoration:none!important;font-weight:800;font-size:18px;letter-spacing:-.01em;white-space:nowrap}
.map-shell-links{margin-left:auto;display:flex;align-items:center;gap:4px 6px;min-width:0}
.map-shell-links>a,.map-shell-tools>summary{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 9px;border-radius:9px;color:var(--map-shell-ink)!important;text-decoration:none!important;font:700 13.5px/1.2 Arial,Helvetica,sans-serif;white-space:nowrap;cursor:pointer;list-style:none}
.map-shell-tools>summary::-webkit-details-marker{display:none}
.map-shell-tools>summary::after{content:"▾";font-size:10px;margin-left:6px}
.map-shell-links>a:hover,.map-shell-links>a:focus-visible,.map-shell-tools>summary:hover,.map-shell-tools>summary:focus-visible{background:var(--map-shell-soft);text-decoration:none!important}
.map-shell-links>a[aria-current="page"],.map-shell-links>a[data-active="true"],.map-shell-tools[data-active="true"]>summary{background:#e8f3ff;color:#005f9f!important}
.map-shell-tools{position:relative}
.map-shell-tools-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:270;min-width:220px;padding:7px;background:#fff;border:1px solid var(--map-shell-line);border-radius:11px;box-shadow:var(--map-shell-shadow)}
.map-shell-tools:not([open]) .map-shell-tools-panel{display:none}
.map-shell-tools-panel a{display:flex;align-items:center;min-height:42px;padding:9px 10px;border-radius:8px;color:var(--map-shell-ink)!important;text-decoration:none!important;font:700 13.5px/1.25 Arial,Helvetica,sans-serif}
.map-shell-tools-panel a:hover,.map-shell-tools-panel a:focus-visible{background:var(--map-shell-soft)}
.map-shell-toggle{display:none;margin-left:auto;min-width:44px;min-height:44px;border:1px solid #b8c5d3;border-radius:10px;background:#fff;color:var(--map-shell-ink);font:800 14px/1 Arial,Helvetica,sans-serif;cursor:pointer;padding:8px 12px}
.map-shell-toggle:focus-visible,.map-shell-links a:focus-visible,.map-shell-brand:focus-visible,.map-shell-tools summary:focus-visible{outline:3px solid rgba(0,112,192,.18);outline-offset:2px}
/* Future advertising: slots are inert and invisible until explicitly enabled. When enabled before the ad request, their reserved height limits layout shift. */
.map-ad-slot[hidden]{display:none!important}
.map-ad-slot[data-map-ad-active="true"]{width:min(100%,var(--map-shell-max));min-height:100px;margin:14px auto;padding:5px 16px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;font-family:Arial,Helvetica,sans-serif}
.map-ad-slot[data-map-ad-active="true"]::before{content:"Publicité";position:absolute;top:0;left:16px;color:#778595;font-size:10px;letter-spacing:.04em;text-transform:uppercase}
.map-ad-slot--footer[data-map-ad-active="true"]{margin-top:18px;margin-bottom:18px}
@media(min-width:768px){.map-ad-slot[data-map-ad-active="true"]{min-height:100px}}
@media(max-width:1080px){
  .map-shell-nav{min-height:64px;width:min(var(--map-shell-max),calc(100% - 24px));flex-wrap:wrap;padding:6px 0}
  .map-shell-brand{font-size:17px}
  .map-shell-toggle{display:inline-flex;align-items:center;justify-content:center}
  .map-shell-links{display:none;width:100%;margin:0;padding:7px 0 8px;border-top:1px solid #edf2f7;flex-direction:column;align-items:stretch;gap:1px}
  .map-shell-links[data-open="true"]{display:flex}
  .map-shell-links>a,.map-shell-tools>summary{justify-content:flex-start;min-height:46px;padding:10px 9px;border-radius:7px;white-space:normal}
  .map-shell-tools{width:100%}
  .map-shell-tools-panel{position:static;min-width:0;margin:2px 0 5px 14px;padding:3px 0 3px 10px;border:0;border-left:2px solid #dbe8f5;border-radius:0;box-shadow:none}
  .map-shell-tools-panel a{min-height:44px;padding:9px}
}
@media print{.map-shell-skip,.map-shell-header,.map-ad-slot{display:none!important}}

/* Shared-menu upgrade. Static HTML remains usable even without JavaScript. */
.map-shell-header *{box-sizing:border-box}
.map-shell-tools-panel a[data-active="true"]{background:#e8f3ff;color:#005f9f!important}
.map-shell-header a:focus-visible,.map-shell-header summary:focus-visible,.map-shell-toggle:focus-visible{outline:3px solid #0070c0;outline-offset:2px}
nav[data-map-footer-links]{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
nav[data-map-footer-links] a{line-height:1.6}
@media(max-width:1080px){
  .map-shell-header:not([data-menu-ready="true"]) .map-shell-toggle{display:none}
  .map-shell-header:not([data-menu-ready="true"]) .map-shell-links{display:flex}
  .map-shell-header[data-menu-ready="true"] .map-shell-links:not([data-open="true"]){display:none}
  .map-shell-header[data-menu-ready="true"] .map-shell-links[data-open="true"]{display:flex}
  .map-shell-header .map-shell-tools-panel{max-width:100%}
}
@media(prefers-reduced-motion:reduce){.map-shell-header *{scroll-behavior:auto;transition:none!important;animation:none!important}}
