/* ===== Méga-menu (desktop : panneaux à deux colonnes ; mobile : accordéon) ===== */
.mm-nav{display:flex;align-self:stretch}
.mm-top{list-style:none;margin:0;padding:0;display:flex;align-items:stretch;gap:2px}
.mm-li{display:flex;align-items:center}
.mm-t{display:inline-flex;align-items:center;gap:5px;padding:8px 11px;border-radius:9px;font-size:15px;font-weight:500;color:#4A4C58;text-decoration:none;transition:background .2s,color .2s;white-space:nowrap}
.mm-li.on .mm-t{color:#0B0B12;font-weight:600}
.mm-chev{width:14px;height:14px;opacity:.55;transition:transform .25s}
.mm-li:hover .mm-t,.mm-li:focus-within .mm-t,.mm-li.open .mm-t{background:#F2F3F7;color:#0B0B12}
.mm-li:hover .mm-chev,.mm-li:focus-within .mm-chev,.mm-li.open .mm-chev{transform:rotate(180deg);opacity:.9}
.mm-panel{position:absolute;left:0;right:0;top:100%;display:flex;justify-content:center;padding:0 24px;visibility:hidden;opacity:0;transform:translateY(-6px);transition:opacity .18s,transform .18s,visibility 0s .18s;pointer-events:none;z-index:80}
.mm-li:hover .mm-panel,.mm-li:focus-within .mm-panel,.mm-li.open .mm-panel{visibility:visible;opacity:1;transform:none;transition:opacity .18s,transform .18s;pointer-events:auto}
.mm-panel::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.mm-box{width:min(940px,100%);margin-top:8px;background:#fff;border:1px solid #E6E7EE;border-radius:18px;box-shadow:0 30px 70px -24px rgba(17,19,40,.28),0 8px 20px -12px rgba(17,19,40,.12);display:grid;grid-template-columns:300px 1fr;overflow:hidden}
.mm-groups{list-style:none;margin:0;padding:12px;background:#F8F9FB;border-right:1px solid #EEEFF3;display:flex;flex-direction:column;gap:2px}
.mm-g{display:flex;gap:12px;align-items:flex-start;padding:11px 12px;border-radius:12px;text-decoration:none;color:#15161D;transition:background .15s}
.mm-g b{display:block;font-size:14px;font-weight:600;line-height:1.3}
.mm-g small{display:block;font-size:12.5px;color:#7A7C89;margin-top:2px;line-height:1.35}
.mm-ic{flex:0 0 32px;width:32px;height:32px;border-radius:9px;background:#fff;border:1px solid #E6E7EE;display:flex;align-items:center;justify-content:center;color:#3B3D4A;transition:color .15s,border-color .15s,background .15s}
.mm-ic svg{width:17px;height:17px}
.mm-g.act{background:#fff;box-shadow:0 1px 2px rgba(17,19,40,.06),0 0 0 1px #ECEDF2}
.mm-g.act .mm-ic{background:#0B0B12;border-color:#0B0B12;color:#fff}
.mm-panes{padding:18px 20px 18px;display:flex;flex-direction:column;gap:16px}
.mm-pane{display:none}
.mm-pane.act{display:block;animation:mmin .22s ease}
@keyframes mmin{from{opacity:0;transform:translateX(6px)}to{opacity:1;transform:none}}
.mm-ph{display:flex;align-items:center;justify-content:space-between;padding:0 10px 10px;margin-bottom:6px;border-bottom:1px solid #F0F1F4}
.mm-ph b{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#7A7C89;font-weight:650}
.mm-ph a{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:#3366F4;text-decoration:none}
.mm-ph a svg{width:14px;height:14px;transition:transform .2s}.mm-ph a:hover svg{transform:translateX(3px)}
.mm-its{display:grid;grid-template-columns:1fr 1fr;gap:2px 8px}
.mm-it{display:block;padding:10px 10px;border-radius:10px;text-decoration:none;transition:background .15s}
.mm-it b{display:block;font-size:14px;font-weight:600;color:#15161D}
.mm-it small{display:block;font-size:12.5px;line-height:1.4;color:#7A7C89;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mm-it:hover{background:#F4F5F9}.mm-it:hover b{color:#3366F4}
.mm-g:focus-visible,.mm-it:focus-visible,.mm-t:focus-visible{outline:2px solid #3366F4;outline-offset:2px}

/* menu mobile en accordéon */
.mm-m1{border-bottom:1px solid #EFF0F4}
.mm-m1>summary,.mm-m2>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px}
.mm-m1>summary::-webkit-details-marker,.mm-m2>summary::-webkit-details-marker{display:none}
.mm-m1>summary{padding:15px 22px;font-weight:650;font-size:16.5px;color:#0B0B12}
.mm-m1>summary .mm-chev,.mm-m2>summary .mm-chev{margin-left:auto;width:16px;height:16px}
.mm-m1[open]>summary .mm-chev,.mm-m2[open]>summary .mm-chev{transform:rotate(180deg)}
.mm-m1b{padding:0 14px 12px}
.mm-m2>summary{padding:10px 8px;font-size:15px;font-weight:600;color:#2A2C38;border-radius:10px}
.mm-m2[open]>summary{background:#F4F5F9}
.mm-m2 .mm-ic{flex:0 0 28px;width:28px;height:28px}.mm-m2 .mm-ic svg{width:15px;height:15px}
.mm-m3{display:flex;flex-direction:column;padding:4px 0 8px 46px}
.mm-m3 a,.mnav .mm-m3 a{display:block;padding:9px 0;font-size:14.5px;font-weight:500;color:#4A4C58;border:0;margin:0;background:none;text-align:left}
.mm-all,.mnav .mm-all{display:block;padding:10px 8px;font-size:14px;font-weight:600;color:#3366F4!important;border:0;background:none!important;margin:0!important;text-align:left!important}
.mnav .mm-mx{display:block;padding:15px 22px;font-weight:650;font-size:16.5px;color:#0B0B12;border-bottom:1px solid #EFF0F4}
.mnav .mm-cta{display:block;margin:16px 22px 18px;padding:14px;background:#0B0B12;color:#fff!important;border-radius:12px;text-align:center;font-weight:650}
.mnav.open{max-height:calc(100vh - 64px);overflow-y:auto;overscroll-behavior:contain}
@media(max-width:1100px){.mm-nav{display:none!important}.burger{display:flex!important}.hr .t,.hd .right .part{display:none}}
@media(min-width:1101px){.mnav{display:none!important}}

/* en-tête : tout tient sur une ligne */
.hr,.hd .right{flex-wrap:nowrap}
.hr a,.hd .right a{white-space:nowrap}
.hin,.hd .in{gap:22px}
@media(max-width:1320px){.hr .t,.hd .right .part{display:none}.mm-t{padding:8px 9px;font-size:14.5px}}

.mm-feat{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:14px;text-decoration:none;background:linear-gradient(120deg,#F1F4FF,#F6F1FF 60%,#EEF9F6);border:1px solid #E6E9F7;transition:border-color .2s,box-shadow .2s}
.mm-feat b{display:block;font-size:14px;color:#15161D}.mm-feat small{display:block;font-size:12.5px;color:#6B6D7A;margin-top:2px}
.mm-feat em{font-style:normal;font-size:13px;font-weight:650;color:#3366F4;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}
.mm-feat em svg{width:14px;height:14px;transition:transform .2s}
.mm-feat:hover{border-color:#C9D3FB;box-shadow:0 8px 20px -12px rgba(51,102,244,.45)}.mm-feat:hover em svg{transform:translateX(3px)}
