/* Page contact : carte OpenStreetMap à la place de l'image de New York du template */
.ac-carte {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1440 / 518;
  min-height: 360px;
  border: 0;
  filter: grayscale(1) contrast(0.9) brightness(1.05);
  pointer-events: none;
}
/* Le filtre fait passer la carte au premier plan : le formulaire, qui la chevauche, doit rester au-dessus */
.contact_form_block {
  z-index: 1;
}

/* Menu : liens centrés dans la barre (ordinateur uniquement, le mobile garde le menu burger) */
@media screen and (min-width: 992px) {
  .navbar_wrapper {
    position: relative;
  }
  .nav_menu_wrapper {
    position: static;
    justify-content: flex-end;
  }
  .nav_menu {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }
  /* Accueil : la barre ne doit plus laisser les liens passer sur la vidéo */
  .navbar[data-wf--navbar--variant="for-home"] {
    background-color: rgba(255, 255, 255, 0.92) !important;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
  }
  /* Accueil : titre et texte centrés en hauteur sur la partie visible de la photo (sous la barre de 104 px),
     au lieu de la marge fixe du template qui les plaçait trop haut */
  .hero_wrapper {
    align-items: center;
  }
  .hero_content_wrapper {
    margin-top: 104px;
  }
}
@media screen and (min-width: 1920px) {
  /* La photo y est en position absolue : le bloc prend sa hauteur pour que le centrage s'applique */
  .hero_wrapper {
    min-height: 960px;
  }
  .hero_content_wrapper {
    margin-top: 104px;
  }
}

/* Pied de page : grand nom centré, taille d'origine */
.footer_text_wrapper {
  justify-content: center;
}
.footer_big_text {
  margin-left: 0;
  text-align: center;
}

/* Formulaire de devis : champ piège anti-robots (invisible) et mention sur les données */
.ac-piege {
  display: none !important;
}
.ac-mention-form {
  margin: 4px 0 0;
  font-size: 14px;
  line-height: 1.5;
  color: var(--_neutral---100, #b5b5b5);
}
.ac-mention-form a {
  color: inherit;
  text-decoration: underline;
}

/* Liens dans les textes longs (pages légales, articles) : couleur du site au lieu du bleu par défaut */
.blog_rich_text a {
  color: var(--neutral, #101010);
  text-decoration: underline;
}

/* Pages légales : informations encore à fournir, bien visibles tant qu'elles manquent */
.ac-a-completer {
  padding: 0 4px;
  background: #ffe066;
  color: #101010;
}

/* Téléphone et e-mail cliquables, sans changer leur apparence */
.ac-lien {
  color: inherit;
  text-decoration: none;
}
.ac-lien:hover {
  text-decoration: underline;
}

/* Logo : emblème de Malandain Couverture détouré (outils/logo_detoure.py) + nom en texte */
.ac-logo {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--neutral, #101010);
}
.ac-logo-mark {
  display: block;
  flex: none;
  height: 56px;
}
.ac-logo-mark img {
  display: block;
  width: auto;
  height: 100%;
}
.ac-logo-text {
  display: flex;
  flex-direction: column;
  font-family: var(--_font---font, "Instrument Sans", sans-serif);
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}
.ac-logo-name {
  font-size: 21px;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.ac-logo-trade {
  margin-top: 4px;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.3em;
  color: var(--_neutral---300, #5f5f5f);
}
.ac-logo-prenom {
  margin: 0 0 4px;
}

/* Vraies photos de chantier à la place des vidéos et des fonds du template */
.ac-photo-fond {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.full_height_image {
  background-image: url("../images/chantiers/maison-colombages-ardoise-grand.webp");
  background-position: 40% 45%;
}
.about_image_wrapper {
  background-image: url("../images/chantiers/facade-ardoise-lucarnes-grand.webp");
  background-position: 50% 50%;
}
@media screen and (max-width: 991px) {
  .about_image_wrapper {
    background-image: none;
  }
}

/* Texte en cercle « Voir le service » (page Services), en vectoriel : cadre carré comme l'ancienne image */
svg.curve_text_image-2 {
  height: auto;
  aspect-ratio: 1;
}

/* Formulaire de devis : bouton « Joindre des photos » au style des autres champs (le vrai champ fichier est masqué) */
.ac-photos-champ {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
.ac-photos-bouton {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  padding-right: 8px;
  cursor: pointer;
}
.ac-photos-bouton:hover {
  border-bottom-color: var(--white, #fff);
}
.ac-photos-champ:focus-visible + .ac-photos-bouton {
  outline: 2px solid var(--white, #fff);
  outline-offset: 4px;
}
.ac-photos-icone {
  flex: none;
  width: 22px;
  height: 22px;
  margin-top: 2px;
  color: var(--_neutral---100, #b5b5b5);
}
.ac-photos-apercu {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}
.ac-photos-apercu[hidden] {
  display: none;
}
.ac-photos-apercu img {
  width: 56px;
  height: 56px;
  object-fit: cover;
  border-radius: 6px;
}
.ac-photos-info {
  margin: 10px 0 0;
  font-size: 14px;
  line-height: 1.5;
  color: var(--_neutral---100, #b5b5b5);
}
.ac-photos-retirer {
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  text-decoration: underline;
  cursor: pointer;
}
