/* Menus déroulants de la barre de navigation (05/11/2026). Source : projects/meowan-megamenu-20261105/build.py */
.nav .mm{display:inline-flex}
.nav .mm > a.nl{gap:6px}
.nav .mm > a.nl svg{width:14px;height:14px;flex:none;opacity:.6;transition:transform .2s}
.nav .mm.on > a.nl{color:var(--violet);background:rgba(83,51,192,.10)}
.nav .mm.on > a.nl[aria-current]{background:var(--violet);color:#fff}
.nav .mm.on > a.nl svg{transform:rotate(180deg)}
.mm-p{position:absolute;left:0;right:0;top:100%;padding-top:12px;z-index:55;visibility:hidden;opacity:0;transform:translateY(-6px);transition:opacity .16s,transform .16s,visibility 0s .16s}
.mm.on .mm-p{visibility:visible;opacity:1;transform:none;transition:opacity .16s,transform .16s}
.mm-p::before{content:"";position:absolute;left:0;right:0;top:-24px;height:36px}
.mm-in{display:grid;grid-template-columns:1.15fr 1fr 360px;gap:40px;padding:38px 40px;border-radius:26px;background:#fff;border:1px solid rgba(83,51,192,.12);box-shadow:0 30px 80px rgba(19,24,42,.22)}
.mm-in.c2{grid-template-columns:1.15fr 1fr}
.mm-h{display:block;margin:0 0 12px;font-size:14px;font-weight:500;color:var(--muted)}
.mm-col .mm-h + .mm-h{margin-top:0}
.mm-col .mm-g + .mm-h{margin-top:26px}
.mm-g{display:flex;flex-direction:column;gap:2px}
.mm-g a{display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 12px;margin:0 -12px;border-radius:12px;color:var(--text);font-size:16.5px;font-weight:600}
.mm-g.big a{font-size:24px;font-weight:700;letter-spacing:-.02em;min-height:52px}
.mm-g a:hover,.mm-g a:focus-visible{color:var(--violet);background:rgba(83,51,192,.07)}
.mm-g a small{font-size:14px;font-weight:500;color:var(--muted);margin-left:2px}
.mm-b{display:inline-block;flex:none;font-size:13px;font-weight:600;letter-spacing:0;line-height:1;padding:7px 11px;border-radius:999px;color:var(--violet);background:#ebe4ff}
.mm-b.soon{color:#586173;background:#eef0f5}
.mm-card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:300px;padding:26px;border-radius:22px;overflow:hidden;color:#fff;background:linear-gradient(160deg,#1d1440 0%,#2c1d6b 55%,#5333c0 100%)}
.mm-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 40%;opacity:.95}
.mm-card .mm-cv{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,10,36,0) 30%,rgba(14,10,36,.82) 100%)}
.mm-card .mm-ct{position:relative}
.mm-card .mm-b{background:#fff;color:var(--violet);margin-bottom:10px}
.mm-card strong{display:block;font-size:22px;line-height:1.15;font-weight:700;letter-spacing:-.02em}
.mm-card span.mm-cs{display:block;margin-top:6px;font-size:15px;color:rgba(255,255,255,.85)}
.mm-card.map{background:#f4f1ff}
.mm-card:hover strong{text-decoration:underline;text-underline-offset:3px}
.mm-veil{position:fixed;inset:0;z-index:40;background:rgba(14,18,32,.32);opacity:0;visibility:hidden;transition:opacity .16s,visibility 0s .16s}
.mm-veil.on{opacity:1;visibility:visible;transition:opacity .16s}
@media (max-width:1180px){.mm-in{grid-template-columns:1.1fr 1fr;gap:30px;padding:30px}.mm-card{display:none}}
@media (max-width:860px){.mm-p,.mm-veil{display:none}.nav .mm{display:none}}

/* Menu du téléphone : rubriques dépliables */
.mobnav details.mg{border-bottom:1px solid rgba(120,110,180,.10)}
.mobnav details.mg summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:14px 24px;font-size:16px;font-weight:700;color:var(--text);cursor:pointer}
.mobnav details.mg summary::-webkit-details-marker{display:none}
.mobnav details.mg summary svg{width:16px;height:16px;opacity:.55;transition:transform .2s}
.mobnav details.mg[open] summary svg{transform:rotate(180deg)}
.mobnav details.mg summary[aria-current]{color:var(--violet)}
.mobnav details.mg .mgl{padding:0 0 10px}
.mobnav details.mg .mgl a{display:flex;align-items:center;gap:8px;padding:10px 24px 10px 38px;border:0;font-size:15px;font-weight:600}
.mobnav details.mg .mgl .mm-b{font-size:12px;padding:5px 9px}
.mm-card.map{color:var(--text);background:#f4f1ff;justify-content:flex-end}
.mm-card.map img{inset:0 0 auto 0;height:58%;object-fit:cover;object-position:50% 40%;opacity:1}
.mm-card.map .mm-cv{display:none}
.mm-card.map .mm-b{background:var(--violet);color:#fff}
.mm-card.map span.mm-cs{color:var(--muted)}
@media (max-width:1240px) and (min-width:861px){.nav{gap:8px}.nav a.nl,.nav .sup summary{padding:8px 11px}}
