/* Compléments V22 : navigation au clavier et anti-débordement mobile. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid #d7a945;
  outline-offset: 3px;
}

.form-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

html,
body { overflow-x: hidden; }

/* Le texte de l'accueil ne doit jamais dépasser la largeur disponible. */
.hero-copy {
  width: 100%;
  max-width: min(760px, 100%);
  min-width: 0;
  flex: 0 1 100%;
}

.hero-copy > p:not(.eyebrow),
.hero-copy .eyebrow,
.hero-proof span {
  overflow-wrap: anywhere;
}

@media (max-width: 560px) {
  .hero-copy { max-width: none; }
  .hero-copy > p:not(.eyebrow),
  .hero-copy .eyebrow { max-width: 100%; overflow-wrap: anywhere; }
  .hero-proof {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }
  .hero-proof span { min-width: 0; overflow-wrap: anywhere; }
}

@media (max-width: 900px) {
  .site-header { padding-left: 20px; padding-right: 20px; }

  .hero-copy {
    box-sizing: border-box;
    width: 100vw !important;
    max-width: 100vw !important;
    padding-left: 20px;
    padding-right: 20px;
  }

  .hero h1 {
    font-size: clamp(2.5rem, 12vw, 3.2rem);
    overflow-wrap: anywhere;
  }

  .hero-proof {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    max-width: 100%;
    width: 100vw;
  }

  .hero-proof span { min-width: 0; }
}
