/* =====================================================================
   Composant : menu principal — trois groupes sur la barre (demande du 25/09)
   Fichier : assets/css/menu.css — chargé par app/views/header.php
   Remplace le méga-menu « Assurances » à 3 colonnes : chaque groupe
   (Véhicules · Métiers & flottes · Marchandises & engins) a son propre
   panneau, ouvert au survol — un « pont » invisible comble l'espace entre
   le bouton et le panneau : la souris ne le perd jamais (pas de
   clignotement) — et au clic (tablette, clavier). Les entrées à sous-pages
   (Véhicule de société, Transport de marchandises) portent un bouton + / −
   qui déplie ou replie leurs sous-pages, dans le panneau comme dans le
   menu mobile. Additif : .mega / .mega-link / .nav-item restent ceux du
   site (app.css) ; ici seulement la géométrie et les nouveautés.
   ===================================================================== */

/* Panneau d'un groupe : une colonne, largeur au contenu */
.mega.mega-col{width:max-content;min-width:264px;max-width:min(360px,calc(100vw - 48px))}

/* Pont invisible : couvre les 14 px entre le bouton et le panneau (top:calc(100% + 14px) dans app.css) */
.mega::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}

/* Sous-entrées : indentées, plus discrètes */
.mega-link.mega-sub{padding:8px 14px 8px 38px;font-weight:500;font-size:.86rem;color:#44526b}
.mega-link.mega-sub .ic{width:14px;height:14px;opacity:.75}
.mega-link.mega-sub:hover{color:var(--ink)}

/* Ligne « entrée + bouton + / − » */
.mega-row{display:flex;align-items:center;gap:2px}
.mega-row .mega-link{flex:1 1 auto;min-width:0}
.mega-more{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;margin-right:6px;border:1px solid var(--line-2,#d8dfeb);border-radius:9px;background:#fff;color:var(--blue,#0B63CE);font-size:1.05rem;font-weight:700;line-height:1;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.mega-more:hover{background:var(--sky,#eef4ff);border-color:var(--blue,#0B63CE)}
.mega-more:focus-visible{outline:2px solid var(--blue,#0B63CE);outline-offset:2px}
.mega-more .mm-minus{display:none}
.mega-more[aria-expanded="true"] .mm-plus{display:none}
.mega-more[aria-expanded="true"] .mm-minus{display:inline}
.mega-subs{border-left:2px solid var(--line,#e7e3d8);margin:2px 0 4px 20px}

/* « Flotte de véhicules » (demande du 28/09) : le + ouvre quatre colonnes côte à côte
   (Poids lourd · Taxi & VTC · Utilitaires & véhicules légers · Dossier difficile), chacune
   avec son propre + / − qui déplie ses sous-pages. Le panneau s'élargit puis, si besoin,
   se décale vers la gauche (app.js) pour rester dans l'écran. */
.mega.mega-col.fleet-open{width:min(1000px,calc(100vw - 48px));max-width:none;display:flex;flex-wrap:wrap;align-items:flex-start;gap:2px 4px}
.mega.mega-col.fleet-open>.mega-row,.mega.mega-col.fleet-open>.mega-subs{flex:0 0 100%}
.mega.mega-col.fleet-open>.mega-link{flex:0 0 auto}   /* les autres entrées (Taxi, VTC, Dépanneuse, Food truck) passent sur une ligne */
.mega-subs.mega-fleet{border-left:0;margin:6px 0 4px;padding:8px 6px 4px;border-top:1px solid var(--line,#e7e3d8)}
.fleet-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:start}
.fleet-col{border:1px solid var(--line-2,#e6ebf3);border-radius:14px;background:#f8fafd;padding:4px}
.fleet-col .mega-row .mega-link{font-size:.88rem;padding:9px 10px}
.fleet-col .mega-link.fleet-head{cursor:default;color:var(--ink)}
.fleet-col .mega-link.fleet-head:hover{background:transparent;color:var(--ink)}
.fleet-col .mega-more{width:28px;height:28px;margin-right:4px}
.fleet-col .mega-subs{margin:2px 0 4px 12px}
.fleet-col .mega-link.mega-sub{padding:7px 10px 7px 26px;font-size:.84rem}
@media (max-width:1180px){
  .fleet-col .mega-row .mega-link,.fleet-col .mega-link.mega-sub{font-size:.82rem}
}

/* Barre du menu (demande du 28/09 : « le bouton sort du menu » sur grand écran) :
   pilule élargie, libellés courts jusqu'à 1500 px, et rien ne peut passer à la ligne. */
.pill-nav{width:min(calc(100% - 24px),1380px)}
.pill-in{flex-wrap:nowrap}
.nav-links,.nav-cta{flex:0 0 auto}
@media (min-width:1025px) and (max-width:1500px){
  .nav-link,.nav-trigger{padding:9px 10px;font-size:.86rem}
  .nav-quote .cta-full{display:none}
  .nav-quote .cta-short{display:inline}
  .nav-quote.btn-cta{padding:10px 13px}
}
@media (min-width:1025px) and (max-width:1120px){
  .nav-link,.nav-trigger{padding:9px 7px;font-size:.82rem}
  .nav-quote .cta-short{display:none}
  .nav-quote.btn-cta{padding:10px 11px}
  .nav-phone{padding:10px 12px}
}
/* « Espace documents » raccourci quand la barre se resserre */
.nd-short{display:none}
@media (max-width:1500px){
  .nd-full{display:none}
  .nd-short{display:inline}
}

/* Menu mobile : accordéon + / − et sous-entrées */
.mobile-nav .m-row{display:flex;align-items:center;gap:8px}
.mobile-nav .m-row a{flex:1 1 auto;min-width:0;border-bottom:0}
.mobile-nav .m-more{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #ffffff42;border-radius:11px;background:#ffffff14;color:#fff;font-size:1.2rem;font-weight:700;line-height:1;cursor:pointer}
.mobile-nav .m-more .mm-minus{display:none}
.mobile-nav .m-more[aria-expanded="true"] .mm-plus{display:none}
.mobile-nav .m-more[aria-expanded="true"] .mm-minus{display:inline}
.mobile-nav .m-row{border-bottom:1px solid #ffffff24}
.mobile-nav .m-subs{display:flex;flex-direction:column;gap:2px;border-left:2px solid #ffffff2e;margin-left:10px}
.mobile-nav a.m-sub,.mobile-nav span.m-sub{font-size:1rem;padding-left:18px;text-transform:none;font-weight:500;color:#ffffffcc;border-bottom:1px dashed #ffffff1a}
.mobile-nav a.m-sub::before,.mobile-nav span.m-sub::before{content:"› ";opacity:.7}
/* Flotte de véhicules : accordéon à deux niveaux (rubrique + / − puis ses sous-pages) */
.mobile-nav .m-row.m-row-sub{border-bottom:0}
.mobile-nav .m-row.m-row-sub .m-sub{flex:1 1 auto;display:block;padding-top:11px;padding-bottom:11px;border-bottom:0;font-family:var(--fdisplay);font-size:1.02rem}
.mobile-nav .m-row.m-row-sub .m-more{width:34px;height:34px;font-size:1.05rem;border-radius:9px}
.mobile-nav .m-subs.m-subs-2{margin-left:22px;border-left-color:#ffffff22}
.mobile-nav .m-subs.m-subs-2 a.m-sub{font-size:.95rem;padding-left:14px}
