/* Menu principal, commun à toutes les pages : sous-menus details/summary (accessibles au clavier sans script),
   un seul ouvert à la fois (attribut name), menu repliable sous 1024 px. assets/menu.js ferme seulement un
   sous-menu ouvert quand on clique ailleurs, qu'on choisit un lien ou qu'on appuie sur Échap. */
.has-menu{position:relative}
.menu{flex:1;display:flex;justify-content:center;min-width:0}
.menu ul{list-style:none;margin:0;padding:0}
.menu summary{list-style:none;cursor:pointer;user-select:none}
.menu summary::-webkit-details-marker{display:none}
.menu a:focus-visible,.menu summary:focus-visible,.nav-end a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}
.mm{display:flex;align-items:center;gap:2px}
.mm>li{position:relative}
.mm summary,.mm .mm-link{display:flex;align-items:center;gap:7px;padding:8px 11px;border-radius:8px;font-size:15px;line-height:1.2;color:var(--ink-2);text-decoration:none;white-space:nowrap}
.mm summary::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.mm .dd[open]>summary::after{transform:translateY(2px) rotate(-135deg)}
.mm summary:hover,.mm .mm-link:hover,.mm .dd[open]>summary{color:var(--ink);background:color-mix(in srgb,var(--ink) 7%,transparent)}
.dd-list{position:absolute;top:calc(100% + 8px);left:0;z-index:30;min-width:270px;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:8px;box-shadow:0 14px 36px rgba(15,26,48,.18)}
.mm>li:nth-last-child(-n+2) .dd-list{left:auto;right:0}
.dd-list a,.burger-panel a{display:block;color:var(--ink);text-decoration:none}
.dd-list a{padding:9px 12px;border-radius:8px;font-size:15px;line-height:1.35}
.dd-list a:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}
.menu a[aria-current="page"]{color:var(--accent);font-weight:600}
.burger{display:none}
.burger>summary{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 14px;border:1px solid var(--line);border-radius:10px;font-size:15px;font-weight:600;color:var(--ink);background:var(--surface)}
.burger>summary::before{content:"";width:16px;height:2px;background:currentColor;box-shadow:0 -5px 0 currentColor,0 5px 0 currentColor}
.burger[open]>summary::before{content:"×";width:16px;height:auto;background:none;box-shadow:none;font-size:22px;line-height:16px;text-align:center}
.burger-panel{position:absolute;left:0;right:0;top:100%;z-index:30;max-height:calc(100vh - 80px);max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain;background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 18px 36px rgba(15,26,48,.18);padding:4px 16px 24px}
.burger-panel .g{margin:18px 0 2px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.burger-panel a{padding:11px 0;font-size:16px;line-height:1.35;border-bottom:1px solid var(--line)}
.nav-end{display:flex;align-items:center;gap:14px}
.nav-end .lang{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--ink-2)}
.nav-end .lang a{color:var(--ink-2);text-decoration:none;padding:8px 2px}
.nav-end .lang a:hover{color:var(--ink)}
.nav-end .lang a[aria-current]{color:var(--ink);font-weight:600}
.menu-cta{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border-radius:10px;background:var(--rust,#B4461A);color:#fff;font-weight:600;font-size:15px;text-decoration:none;white-space:nowrap}
@media (max-width:1180px){.mm summary,.mm .mm-link{padding:8px 8px;font-size:14.5px}}
@media (max-width:1023.98px){.mm{display:none}.burger{display:block}.menu{justify-content:flex-end}}
@media (max-width:520px){.nav-end .lang{display:none}.nav-end{gap:8px}.menu-cta,.nav-end .btn{padding:0 12px;font-size:14px}.burger>summary{padding:0 11px}}
@media (max-width:360px){.burger>summary span{display:none}}
