/* =============================================================
   Méga-navigation du header v2

   PORTÉ À L'IDENTIQUE depuis le kit Design System
   « ui_kits/marketing/header.js » (bloc de styles .lgdf-mega*).
   Ne pas réécrire à la main : en cas d'évolution du kit, ré-extraire.

   Seules les règles .lgdf-mega* sont reprises ici ; .lgdf-nav-underline
   et les styles d'authentification vivent déjà dans header-v2.css.

   Le comportement (ouverture, onglets de catégorie, accordéon mobile)
   est dans /assets_v2/js/mega-nav.js.
   ============================================================= */
/* Le panneau est un enfant du <nav> (comme dans le kit) et se cale en absolu
   sur toute sa largeur : la navbar doit donc porter le contexte de position.
   Ajout propre au site — le kit n'en a pas besoin, sa navbar est déjà
   positionnée par son propre sticky. */
.navbar-lgdf { position: relative; }

.lgdf-mega-host { position:relative; }
.lgdf-mega-trigger { display:inline-flex;align-items:center;gap:5px; }
.lgdf-mega-chev { transition:transform .18s ease;opacity:.7; }
.lgdf-mega-trigger[aria-expanded="true"] .lgdf-mega-chev { transform:rotate(180deg); }
.lgdf-mega { position:absolute;left:0;right:0;top:100%;z-index:1035;background:var(--lgdf-paper-0,#fff);border-top:1px solid var(--lgdf-stone-200,#DFE3EC);border-bottom:1px solid var(--lgdf-stone-200,#DFE3EC);box-shadow:0 30px 60px -28px rgba(2,19,61,.32);animation:lgdfMegaIn .16s ease both; }
@keyframes lgdfMegaIn { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:none; } }
.lgdf-mega-grid { display:grid;grid-template-columns:minmax(300px,376px) minmax(220px,264px) minmax(0,1fr);gap:0;align-items:stretch; }
.lgdf-mega-eyebrow { font-family:var(--lgdf-font-mono,ui-monospace,monospace);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--lgdf-stone-400,#97A1B8);padding:20px 0 10px; }
.lgdf-mega-cats { display:flex;flex-direction:column;padding:0 24px 22px;border-right:1px solid var(--lgdf-stone-100,#EEF0F5); }
.lgdf-mega-cat { display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;background:none;border:0;border-radius:9px;padding:10px 12px;font-family:inherit;font-size:.9rem;font-weight:500;color:var(--lgdf-ink-800,#061E55);cursor:pointer;transition:background .12s,color .12s; }
.lgdf-mega-cat svg { flex:none;opacity:0;transform:translateX(-3px);transition:opacity .12s,transform .12s; }
.lgdf-mega-cat:hover { background:var(--lgdf-stone-50,#F7F8FA); }
.lgdf-mega-cat.is-active { background:var(--lgdf-ink-50,#EEF2FA);color:var(--lgdf-ink-700,#0B2A6B);font-weight:600; }
.lgdf-mega-cat.is-active svg { opacity:1;transform:none; }
.lgdf-mega-panels { padding:0 0 22px 32px; }
.lgdf-mega-panel { display:none; }
.lgdf-mega-panel.is-active { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 26px; }
.lgdf-mega-panel-title { display:none; }
.lgdf-mega-link { display:block;padding:9px 0;font-size:.9rem;color:var(--lgdf-stone-700,#353C52);text-decoration:none;border-bottom:1px solid var(--lgdf-stone-100,#EEF0F5);transition:color .12s,padding-left .12s; }
.lgdf-mega-link:hover { color:var(--lgdf-ink-700,#0B2A6B);padding-left:5px; }
.lgdf-mega-side { display:flex;flex-direction:column;gap:2px;padding:22px 30px 24px 0;border-right:1px solid var(--lgdf-stone-100,#EEF0F5); }
.lgdf-mega-cta { background:var(--lgdf-paper-100,#F6F1E7);border:1px solid var(--lgdf-paper-200,#EEE7D6);border-radius:16px;padding:26px 26px 22px;margin-bottom:14px;flex:1 1 auto;display:flex;flex-direction:column; }
.lgdf-mega-cta-k { display:inline-flex;align-items:center;gap:8px;font-family:var(--lgdf-font-mono,ui-monospace,monospace);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--lgdf-stone-600,#4D5670);margin-bottom:14px; }
.lgdf-mega-cta-k .dot { width:7px;height:7px;border-radius:999px;background:var(--lgdf-red-500,#E1000F); }
.lgdf-mega-cta-t { font-weight:700;font-size:1.62rem;line-height:1.08;letter-spacing:-.022em;color:var(--lgdf-ink-900,#02133D);margin-bottom:10px; }
.lgdf-mega-cta-p { font-size:.9rem;line-height:1.5;color:var(--lgdf-stone-600,#4D5670);margin:0 0 20px;max-width:30ch; }
.lgdf-mega-cta-btn { display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:auto;padding:13px 20px;font-weight:600;font-size:1rem; }
.lgdf-mega-cta-note { font-family:var(--lgdf-font-mono,ui-monospace,monospace);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--lgdf-stone-500,#6B7691);text-align:center;margin-top:11px; }
.lgdf-mega-side-link { display:flex;align-items:center;gap:6px;padding:9px 0;font-size:.86rem;text-decoration:none;color:var(--lgdf-stone-700,#353C52);border-bottom:1px solid var(--lgdf-stone-100,#EEF0F5);transition:color .12s; }
.lgdf-mega-side-link:hover { color:var(--lgdf-ink-700,#0B2A6B); }
.lgdf-mega-side-link.is-strong { font-weight:600;color:var(--lgdf-ink-700,#0B2A6B);border-bottom:0;margin-top:8px; }

@media (max-width: 991.98px) {
  .lgdf-mega { position:static;width:100%;flex:0 0 100%;box-shadow:none;border-bottom:0;animation:none;background:transparent;max-height:min(64vh,560px);overflow-y:auto;-webkit-overflow-scrolling:touch; }
  .lgdf-mega-cta-t { font-size:1.32rem; }
  .lgdf-mega-cta-t br { display:none; }
  .lgdf-mega-cta-p { max-width:none; }
  .lgdf-mega-grid { grid-template-columns:1fr; }
  .lgdf-mega-cats,.lgdf-mega-eyebrow { display:none; }
  .lgdf-mega-panels { padding:4px 0 0; }
  .lgdf-mega-panel,.lgdf-mega-panel.is-active { display:block; }
  .lgdf-mega-panel .lgdf-mega-link { display:none;padding-left:2px; }
  .lgdf-mega-panel.is-open .lgdf-mega-link { display:block; }
  .lgdf-mega-panel-title { display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;background:none;border:0;border-bottom:1px solid var(--lgdf-stone-100,#EEF0F5);text-align:left;font-family:inherit;font-weight:600;font-size:.88rem;color:var(--lgdf-ink-900,#02133D);padding:12px 2px;cursor:pointer; }
  .lgdf-mega-panel-title svg { flex:none;opacity:.55;transition:transform .15s ease; }
  .lgdf-mega-panel.is-open .lgdf-mega-panel-title svg { transform:rotate(90deg);opacity:1; }
  .lgdf-mega-side { padding:12px 0 16px;border-right:0;order:-1; }
  .lgdf-mega-cta { margin-top:8px; }
}
