/* ==========================================================================
   UrbanVoirie — Méga menu produits
   Valeurs de la maquette 2c (variante aérée) : ne pas improviser.
   ========================================================================== */

.uvm{
  --uvm-accent:#1B86D0;--uvm-fonce:#0F3557;--uvm-texte:#0F1E2E;--uvm-libelle:#38434F;
  --uvm-gris:#7A8896;--uvm-gris-titre:#8A96A3;--uvm-filet:#DDE3E9;--uvm-filet-doux:#EEF2F5;
  --uvm-ecart:18px;   /* distance entre la barre du header et le panneau, ajustable */
  --uvm-largeur:90;   /* largeur du panneau en % de la fenêtre, ajustable */
  position:relative;display:inline-block;font-family:'DM Sans','Figtree',sans-serif
}
.uvm *{box-sizing:border-box}
.uvm p,.uvm ul{margin:0;padding:0}
.uvm ul{list-style:none}
/* La police du menu prime sur celle que le thème pose sur p, a, etc. */
.uvm :is(a,p,span,strong,li){font-family:inherit}
.uvm a:focus-visible{outline:2px solid var(--uvm-accent);outline-offset:2px;border-radius:2px}

/* ------------------------------ Déclencheur ------------------------------ */
.uvm-declencheur{display:inline-flex;align-items:center;gap:7px;padding:10px 2px;font-weight:700;font-size:15px;letter-spacing:-.01em;color:var(--uvm-texte);text-decoration:none;transition:color .15s}
.uvm-declencheur svg{width:11px;height:11px;transition:transform .15s}
.uvm-declencheur:hover,.uvm-declencheur[aria-expanded="true"]{color:var(--uvm-accent)}
.uvm-declencheur[aria-expanded="true"] svg{transform:rotate(180deg)}

/* -------------------------------- Panneau --------------------------------
   position:absolute — il ne pousse jamais le contenu (aucun CLS). Le script
   le centre dans la fenêtre, sur --uvm-largeur % de sa largeur, quel que
   soit l'endroit du header où le shortcode est posé. */
.uvm-panneau{
  position:absolute;top:calc(100% + var(--uvm-ecart));left:0;z-index:9999;
  width:min(calc(var(--uvm-largeur) * 1vw),calc(100vw - 32px));overflow:hidden;
  background:#fff;border:1px solid var(--uvm-filet);border-radius:4px;
  box-shadow:0 4px 10px rgba(15,30,46,.06),0 16px 40px rgba(15,30,46,.07);
  opacity:0;transform:translateY(4px);transition:opacity .14s ease,transform .14s ease
}
.uvm-panneau.uvm-ouvert{opacity:1;transform:none}
.uvm-panneau[hidden]{display:none}

/* --------------------------- Colonnes d'univers --------------------------- */
.uvm-grille{display:grid;grid-template-columns:repeat(var(--uvm-nb,3),minmax(0,1fr)) 300px}
.uvm-univers{padding:34px 36px 40px}
.uvm-univers+.uvm-univers{border-left:1px solid var(--uvm-filet-doux)}
.uvm-univers__titre{margin-bottom:26px;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--uvm-gris-titre)}
.uvm-univers__titre a{color:inherit;text-decoration:none;transition:color .15s}
.uvm-univers__titre a:hover,.uvm-univers__titre a:focus-visible{color:var(--uvm-accent)}
.uvm-univers li+li{border-top:1px solid #F2F5F8}
.uvm-cat{display:block;padding:14px 0;text-decoration:none}
.uvm-cat__nom{display:block;font-size:16px;font-weight:600;line-height:1.35;color:var(--uvm-libelle);transition:color .15s}
.uvm-cat:hover .uvm-cat__nom,.uvm-cat:focus-visible .uvm-cat__nom{color:var(--uvm-accent)}
.uvm-cat__ligne{display:block;margin-top:5px;font-size:13.5px;line-height:1.5;color:var(--uvm-gris)}

/* ----------------------------- Colonne d'aide ----------------------------- */
.uvm-aide{background:#FAFBFC;border-left:1px solid var(--uvm-filet-doux)}
.uvm-aide__haut{padding:32px 28px 28px;border-bottom:1px solid var(--uvm-filet-doux)}
.uvm-aide__titre{font-size:16px;font-weight:700;line-height:1.4;color:var(--uvm-texte)}
.uvm-aide__texte{margin-top:8px;font-size:14px;line-height:1.55;color:var(--uvm-gris)}
.uvm-aide__btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:42px;margin-top:18px;padding:0 18px;background:var(--uvm-accent);border-radius:4px;font-size:15px;font-weight:700;color:#fff;text-decoration:none;transition:background .15s}
.uvm-aide__btn:hover{background:#166FB0;color:#fff}
.uvm-aide__btn svg{width:14px;height:14px}
.uvm-args{display:grid;gap:20px;padding:28px}
.uvm-arg{display:flex;gap:12px}
.uvm-arg>svg{flex:0 0 auto;width:17px;height:17px;margin-top:2px;color:var(--uvm-accent)}
.uvm-arg strong{display:block;font-size:14.5px;font-weight:700;line-height:1.4;color:var(--uvm-texte)}
.uvm-arg p{margin-top:3px;font-size:13.5px;line-height:1.5;color:var(--uvm-gris)}

/* ------------------------------- Bandeau bas ------------------------------ */
.uvm-bandeau{display:flex;align-items:center;justify-content:center;gap:14px;height:62px;background:var(--uvm-fonce);text-decoration:none;transition:background .15s}
.uvm-bandeau:hover{background:#134066}
.uvm-bandeau strong{font-size:16.5px;font-weight:700;color:#fff}
.uvm-bandeau span{font-size:15px;font-weight:500;color:#8FB5D4}
.uvm-bandeau svg{flex:0 0 auto;width:15px;height:15px;color:#fff}

/* --------------------------- Seuil et préférences -------------------------
   Sous 1024 px le module disparaît entièrement : le header mobile existant
   reste seul en place. */
@media (max-width:1023.98px){.uvm{display:none}}
@media (prefers-reduced-motion:reduce){
  .uvm-panneau,.uvm-declencheur,.uvm-declencheur svg,.uvm-cat__nom,.uvm-univers__titre a,.uvm-aide__btn,.uvm-bandeau{transition:none}
}
