/* HEADER 5 - SPLIT LUXE */
.header-5 .top-strip {
  background: var(--primary);
  padding: 10px 5%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: all 0.3s ease;
}

.header-5 .top-left {
  display: flex;
  gap: 24px;
}
.header-5 .top-left a {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--white);
  text-decoration: none;
  font-size: 0.85rem;
  transition: color 0.3s;
}
.header-5 .top-left a:hover {
  color: var(--secondary);
}
.header-5 .top-left svg {
  width: 14px;
  height: 14px;
}
.header-5 .social {
  display: flex;
  gap: 8px;
}
.header-5 .top-right a {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  /* Sur la .top-strip (--primary) : le noir y etait invisible (H-134). */
  color: var(--on-primary);
  transition: color 0.3s;
}
.header-5 .top-right a:hover {
  color: var(--secondary);
}
.header-5 .top-right svg {
  width: 14px;
  height: 14px;
}
.header-5 .main-bar {
  display: flex;
  background: var(--white);
  padding: 0 5%;
  transition: all 0.3s ease;
}

.header-5 .nav-options {
  flex: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 0 0 5%;
}
.header-5 .nav-desktop {
  display: flex;
  gap: 36px;
}
.header-5 .nav-desktop > * {
  padding: 22px 0;
}
.header-5 .nav-desktop a {
  color: var(--black);
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 500;
  transition: color 0.3s;
}
.header-5 .nav-desktop a:hover {
  color: var(--secondary);
}
.header-5 .right {
  display: flex;
  align-items: center;
  gap: 24px;
  justify-content: space-between;
}
.header-5 .phone {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--secondary);
  text-decoration: none;
  font-weight: 700;
  font-size: 1rem;
  transition: all 0.3s ease;
}
.header-5 .phone:hover {
  color: var(--primary);
}
.header-5 .phone svg {
  width: 18px;
  height: 18px;
  color: var(--secondary);
  transition: all 0.3s ease;
}
.header-5 .phone:hover svg {
  color: var(--primary);
}
.header-5 .btn-cta {
  padding: 14px 28px;
  background: var(--primary);
  color: var(--on-primary);
  font-size: 0.9rem;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.3s;
}
.header-5 .btn-cta:hover {
  background: var(--secondary);
  color: var(--on-secondary);
}

.header-5 .menu-btn {
  display: none;
  width: 60px;
  height: 44px;
  background: var(--secondary);
  border: none;
  color: var(--on-secondary);
  font-family: inherit;
  cursor: pointer;
  align-items: center;
  justify-content: center;
}
/* Couleur declaree au repos, au survol et au focus : sans elle, le `button`
   du theme la donnait (M1). */
.header-5 .menu-btn:hover,
.header-5 .menu-btn:focus-visible {
  background: var(--secondary);
  color: var(--on-secondary);
}
.header-5 .menu-btn svg {
  width: 20px;
  height: 20px;
  color: var(--on-secondary);
}

/* Recalage du panneau services : la nav de header-5 n'est pas centree dans le
   bandeau, et au-dela de 1780px un panneau pose a 50% deborde a droite.
   Specificite (0,4,0) : le socle partage de services-on-hover pose `left` en
   (0,3,0) ET sa feuille est chargee APRES celle-ci — sans ce quatrieme
   selecteur, le recalage serait ecrase sans bruit.
   Volontairement limite a services-on-hover-1 : son frere -2 a sa propre
   geometrie et ne demande pas ce decalage. */
@media (min-width: 1780px) {
  [data-header].header-5 .nav-item .services-on-hover-1 {
    left: 35%;
  }
}
@media (max-width: 1024px) {
  .header-5 .nav-desktop {
    display: none;
  }
  .header-5 .menu-btn {
    display: flex;
  }
}
@media (max-width: 768px) {
  .header-5 .top-strip {
    display: none;
  }
  .header-5 .logo-section {
    flex: 0 0 auto;
    padding: 16px 20px;
  }
  .header-5 .logo-section .text .tagline {
    display: none;
  }
  .header-5 .phone {
    display: none;
  }
  .header-5 .right {
    width: 100%;
  }
}

/* ============ MENU BURGER (sous-composant) ============ */
.header-5 {
  --burger-color: var(--primary);
  --burger-color-hover: var(--secondary);
  --burger-bg-hover: color-mix(in srgb, var(--primary) 18%, transparent);
  /* Pleine largeur : le declencheur se pose sur la main-bar. */
  --burger-reserve: 0;
}

/* Pose sur la .main-bar, a toutes les largeurs (H-129).
   Le declencheur est en position absolue dans la racine : un `--burger-y`
   chiffre ne suit pas la .top-strip, dont la hauteur depend du contenu et qui
   ne disparait que sous 769 px (a 1024 px, il tombait a cote de la barre). La
   racine passe donc en grille, et le declencheur prend la case de la
   .main-bar : en position absolue, sa case de grille devient son bloc
   conteneur, et `top: 50%` vise le milieu de la barre quel que soit l'etage du
   dessus. Son enveloppe (`[data-burger-root]`) s'efface de la mise en page
   (`display: contents`) pour qu'il soit un enfant de la grille ; le voile et
   le panneau, fixes, n'en dependent pas. La barre lui fait la place a droite
   (sans quoi il chevauchait « Devis gratuit ») et ne descend jamais sous sa
   hauteur. */
.header-5[data-burger] {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "haut" "barre";
}
.header-5[data-burger] .top-strip {
  grid-area: haut;
}
.header-5[data-burger] .main-bar {
  grid-area: barre;
  min-height: clamp(42px, 5vw, 50px);
  padding-right: calc(clamp(0.9rem, 2.5vw, 1.6rem) + clamp(42px, 5vw, 50px) + clamp(0.5rem, 1.2vw, 1rem));
}
.header-5[data-burger] [data-burger-root] {
  display: contents;
}
.header-5[data-burger] .burger-trigger {
  grid-area: barre;
}

@media (max-width: 768px) {
  /* .top-strip masquee : une seule case, aucune case vide a combler. */
  .header-5[data-burger] {
    grid-template-areas: "barre";
  }
}

/* Accent du contrat ((…)) : la donnée du socle marque un mot, le composant
   décide de son rendu (sans cette règle il sort en texte nu). */
.header-5 .btn-cta .mcl-accent {
  color: inherit;
  font-style: italic;
}

/* Lien du logo et focus clavier (H-134, banc etats-css).
   Le lien du logo declare sa couleur : sans elle, il prenait le bleu des
   liens du theme (contour de focus compris). Chaque element interactif du
   header montre un contour au focus clavier : le theme le retire. Selecteurs
   par classe ou enfant direct : rien n'atteint services-on-hover ni le burger. */
.header-5 .logo-container,
.header-5 .logo-container:hover,
.header-5 .logo-container:focus {
  color: var(--black);
}
.header-5 .logo-container:focus-visible,
.header-5 .top-left > a:focus-visible,
.header-5 .top-right .social > a:focus-visible,
.header-5 .nav-desktop > a:focus-visible,
.header-5 .nav-item > .nav-link:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}
/* Telephone (--secondary) et bouton menu sont sur la barre blanche : leur
   contour ne suit pas leur couleur de texte, il est ecrit ici. */
.header-5 .phone:focus-visible,
.header-5 .menu-btn:focus-visible {
  outline: 2px solid var(--black);
  outline-offset: 4px;
}
.header-5 .btn-cta:focus-visible {
  outline: 2px solid var(--black);
  outline-offset: 3px;
}
