/* BTP-Tech : ajouts propres au site statique (hors Webflow)
   Ce fichier est chargé après les CSS Webflow, sur toutes les pages. */

/* --- Menu : liens de premier niveau, hors menu déroulant --- */
.nav_toggle.nav_lien_simple { padding-right: 0; margin-right: 20px; text-decoration: none; }
.nav_toggle.nav_lien_simple:hover .nav_text_link,
.nav_toggle.nav_lien_simple.w--current .nav_text_link { color: var(--blue-violet); }
.nav08_left_links .nav_text_link { white-space: nowrap; }

/* Couleur uniforme des libellés du menu : le violet reste réservé au survol,
   à la page en cours et au bouton d'appel à l'action. Sans cette règle, les
   liens simples héritent du bleu-violet par défaut de Webflow et jurent avec
   les libellés des menus déroulants, qui sont sombres. */
.nav_toggle.nav_lien_simple .nav_text_link { color: #222222; }

/* Libellé long du bouton par défaut ; la version courte prend le relais sous 1120 px. */
.nav_cta_court { display: none; }

/* --- En-tête : tout tient sur une seule ligne ---
   Le bouton d'appel à l'action ne doit jamais se couper : son libellé demande
   environ 315 px et Webflow le laisse se replier sur deux lignes dès que la
   fenêtre descend sous 1320 px, ce qui double la hauteur de la barre.
   Les liens simples doivent en plus être centrés dans la barre : leur hauteur
   est celle de leur texte, alors que les menus déroulants occupent toute la
   hauteur. Sans `align-self`, les uns restent collés en haut, les autres au milieu. */
@media screen and (min-width: 992px) {
  .nav08_button { white-space: nowrap; flex: none; }
  .nav08_left_links { flex-wrap: nowrap; }
  .nav_toggle.nav_lien_simple { align-self: center; height: auto; }
}

@media screen and (min-width: 992px) and (max-width: 1349px) {
  .nav_toggle { margin-left: 10px; margin-right: 10px; }
  .nav_toggle.w-dropdown-toggle { padding-right: 14px; }
  .nav_toggle.nav_lien_simple { margin-right: 12px; }
  .nav_text_link { font-size: 13px; }
  .nav08_button { padding: 10px 14px; font-size: 13px; }
  .nav08_logo_image { max-width: 140px; }
}

/* Sous 1120 px, l'en-tête complet ne rentre plus : on resserre encore et le
   bouton passe à un libellé court, plutôt que de casser la barre sur deux lignes. */
@media screen and (min-width: 992px) and (max-width: 1119px) {
  .nav_toggle { margin-left: 8px; margin-right: 8px; }
  .nav_toggle.w-dropdown-toggle { padding-right: 12px; }
  .nav_text_link { font-size: 12px; }
  .nav08_logo_image { max-width: 112px; }
  .nav08_button { padding: 9px 12px; }
  .nav_cta_long { display: none; }
  .nav_cta_court { display: inline; }
}

/* --- Formulaires : messages d'état gérés par js/site.js --- */
.form_status { margin-top: 14px; font-size: 14px; font-weight: 600; display: none; }
.form_status--ok { color: var(--medium-sea-green); }
.form_status--ko { color: #d64545; }

/* --- Blocs réutilisés sur la page d'accueil --- */
.accueil_packs .tarifs_table { width: 100%; }
.accueil_etapes .etape_row { align-items: center; }
@media screen and (max-width: 767px) {
  .accueil_packs { overflow-x: auto; }
}