/* ====== Base header ====== */
.site-header { position:relative; z-index:50; background:#fff; }

/* Aligne tous les items du nav au même centre vertical */
#nav-main > *{ display:flex; align-items:center; }

/* ====== Liens ====== */
.nav-link{
  color:#334155;
  font-weight:500;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 0;          /* touche confortable */
  line-height:1.25;
  min-height:36px;        /* hauteur homogène */
}
.nav-link:hover{ color:#0f172a; }
.nav-link.active{ color:#0f172a; }
.nav-link:focus-visible{
  outline:2px solid #93c5fd;
  outline-offset:2px;
  border-radius:8px;
}

/* Empêche les libellés longs (ex. Assurance emprunteur) de couper en desktop */
@media (min-width:768px){
  .nav-link{ white-space:nowrap; }
}

/* ====== Dropdown (desktop) : overlay animé ====== */
.site-header .nav-dropdown{ position:relative; }
.site-header .nav-dropdown .menu{
  position:absolute; left:0; top:calc(100% + 8px);
  min-width:16rem;
  background:#fff;
  border:1px solid #e5e7eb; border-radius:12px; padding:8px;
  box-shadow:0 12px 30px rgba(2,6,23,.10);
  opacity:0; transform:translateY(6px) scale(.98);
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
  transform-origin:top left;
  will-change:opacity, transform;
}
.site-header .nav-dropdown[aria-expanded="true"] .menu{
  opacity:1; transform:none; pointer-events:auto;
}
.site-header .nav-dropdown .menu a{
  display:block; padding:10px 12px;
  border-radius:10px; color:#0f172a;
}
.site-header .nav-dropdown .menu a:hover{ background:#f8fafc; }

/* Chevron animé */
.site-header .nav-dropdown .chev{
  width:16px; height:16px; transition:transform .18s ease;
}
.site-header .nav-dropdown[aria-expanded="true"] .chev{
  transform:rotate(180deg);
}

/* ====== Mobile (<768px) : accordéon animé ====== */
@media (max-width:767px){
  #nav-main{ gap:10px; }

  .site-header .nav-dropdown .menu{
    position:static;
    box-shadow:none;
    border-radius:10px;
    padding:6px;
    border:1px solid #e5e7eb;
    margin-top:6px;

    /* Accordéon */
    max-height:0;
    overflow:hidden;
    opacity:1;            /* visible mais replié */
    transform:none;
    pointer-events:auto;
    transition:max-height .24s ease;
  }
  .site-header .nav-dropdown[aria-expanded="true"] .menu{
    /* piloté en JS : menu.style.maxHeight = menu.scrollHeight + 'px' */
  }
}

/* ====== Backdrop mobile pour le menu ====== */
.site-nav-backdrop{
  position:fixed; inset:0;
  background:rgba(15,23,42,.45);
  backdrop-filter:saturate(120%) blur(2px);
  display:none; z-index:40;
}
.site-nav-backdrop.show{ display:block; }
@media (min-width:768px){ .site-nav-backdrop{ display:none !important; } }

/* ====== Accessibilité : animations réduites ====== */
@media (prefers-reduced-motion: reduce){
  .site-header .nav-dropdown .menu,
  .site-header .nav-dropdown .chev{ transition:none; }
}
