/* HEADER 4 - BOXED MODERN */
.header-4 {
  background: var(--white);
  padding: 0;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
}

.header-4 .inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 24px;
}
.header-4 .nav-desktop {
  display: flex;
  gap: 32px;
}
.header-4 .nav-desktop > * {
  padding: 24px 0;
}
.header-4 .nav-desktop a {
  color: var(--black);
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 500;
  transition: color 0.3s;
}
.header-4 .nav-desktop a:hover {
  color: var(--secondary);
}
.header-4 .right {
  display: flex;
  align-items: center;
  gap: 20px;
}
.header-4 .phone {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--black);
  text-decoration: none;
  font-weight: 600;
  font-size: 0.95rem;
}
.header-4 .phone:hover {
  color: var(--primary);
}
.header-4 .phone svg {
  width: 18px;
  height: 18px;
}
.header-4 .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-4 .btn-cta:hover {
  background: var(--secondary);
  color: var(--on-secondary);
}
.header-4 .menu-btn {
  display: none;
  width: 60px;
  height: 44px;
  background: var(--primary);
  border: none;
  color: var(--on-primary);
  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-4 .menu-btn:hover,
.header-4 .menu-btn:focus-visible {
  background: var(--primary);
  color: var(--on-primary);
}
.header-4 .menu-btn svg {
  width: 20px;
  height: 20px;
  color: var(--on-primary);
}
@media (max-width: 1024px) {
  .header-4 .nav-desktop {
    display: none;
  }
  .header-4 .menu-btn {
    display: flex;
  }
}
@media (max-width: 768px) {
  .header-4 {
    left: 0;
    right: 0;
    top: 0;
  }
  .header-4 .phone {
    display: none;
  }
  .header-4 .logo-text .tagline {
    display: none;
  }
}

/* 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-4 .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-4 .logo-container,
.header-4 .logo-container:hover,
.header-4 .logo-container:focus {
  color: var(--black);
}
.header-4 .logo-container:focus-visible,
.header-4 .nav-desktop > a:focus-visible,
.header-4 .nav-item > .nav-link:focus-visible,
.header-4 .phone:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}
/* Le bouton menu est sur la barre blanche : son contour ne suit pas sa
   couleur de texte (--on-primary, blanc par defaut), il est ecrit ici. */
.header-4 .menu-btn:focus-visible {
  outline: 2px solid var(--black);
  outline-offset: 4px;
}
.header-4 .btn-cta:focus-visible {
  outline: 2px solid var(--black);
  outline-offset: 3px;
}
