.texte-formulaire {
  margin-bottom: 234px;
  scroll-margin-top: 120px;
}

.texte-formulaire__inner {
  padding-left: 129px;
  padding-right: 129px;
}

/* Pleine largeur (menu d'alignement natif) : plus de padding, vrai bord à bord. */
.texte-formulaire.alignfull .texte-formulaire__inner {
  padding-left: 0;
  padding-right: 0;
}

.texte-formulaire__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: start;
  column-gap: 129px;
  row-gap: 60px;
}

.texte-formulaire__col-texte,
.texte-formulaire__col-form {
  min-width: 0;
}

.texte-formulaire__titre {
  color: var(--wp--preset--color--secondary);
  margin: 0 0 36px;
}

.texte-formulaire__texte {
  color: var(--wp--preset--color--secondary);
  margin-bottom: 165px;
}

.texte-formulaire__texte p:last-child {
  margin-bottom: 0;
}

/* Page classique (ex: Contact) : titre en h1, espacements différents. */
.texte-formulaire--generique .texte-formulaire__titre {
  font-size: 57px;
  font-weight: 600;
  line-height: 64px;
  letter-spacing: -0.25px;
  margin-bottom: 12px;
}

.texte-formulaire--generique .texte-formulaire__texte {
  margin-bottom: 89px;
}

.texte-formulaire__card {
  display: inline-flex;
  flex-direction: column;
  gap: 16px;
  background-color: var(--wp--preset--color--primary-light);
  border-radius: 16px;
  padding: 48px;
  margin-bottom: 90px;
}

.texte-formulaire__email,
.texte-formulaire__tel {
  color: #411F07;
  text-decoration: none;
}

.texte-formulaire__email {
  font-size: 28px;
  font-weight: 400;
  line-height: 33px;
}

.texte-formulaire__tel {
  font-family: var(--wp--preset--font-family--secondary) !important;
  font-size: 55px;
  font-weight: 500;
  line-height: 66px;
}

.texte-formulaire__adresse {
  color: var(--wp--preset--color--secondary);
  font-size: 28px;
  font-weight: 400;
  line-height: 33px;
  margin: 0;
}

.texte-formulaire__col-form {
  margin-top: 116px;
}

.texte-formulaire--generique .texte-formulaire__col-form {
  margin-top: 0;
}

.texte-formulaire__col-form .gform_required_legend {
  display: none;
}

.texte-formulaire__col-form .gfield_label,
.texte-formulaire__col-form label {
  color: var(--wp--preset--color--secondary);
  font-family: var(--wp--preset--font-family--secondary);
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 8px;
}

.texte-formulaire__col-form input[type="text"],
.texte-formulaire__col-form input[type="email"],
.texte-formulaire__col-form input[type="tel"],
.texte-formulaire__col-form input[type="url"],
.texte-formulaire__col-form textarea,
.texte-formulaire__col-form select {
  width: 100%;
  border: none;
  border-bottom: 1px solid var(--wp--preset--color--secondary);
  border-radius: 0;
  background-color: transparent;
  padding: 0 0 12px;
  color: #354A6F;
  font-family: var(--wp--preset--font-family--secondary);
  font-size: 16px;
  box-shadow: none;
}

.texte-formulaire__col-form textarea {
  min-height: 228px;
}

.texte-formulaire__col-form select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 24px;
  /* Gravity Forms sets a 38px line-height on a 38px box: letters like "q" got cut. */
  height: auto;
  line-height: 1.5;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none'%3E%3Cpath d='M1 1L7 7L13 1' stroke='%23354A6F' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right center;
}

.texte-formulaire__col-form input:focus,
.texte-formulaire__col-form textarea:focus,
.texte-formulaire__col-form select:focus {
  outline: none;
}

.texte-formulaire__col-form input::placeholder,
.texte-formulaire__col-form textarea::placeholder {
  color: #354A6F;
  font-family: var(--wp--preset--font-family--secondary);
  font-size: 16px;
  opacity: 1;
}

.texte-formulaire__col-form .ginput_container_consent {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px !important;
}

.texte-formulaire__col-form .ginput_container_consent input[type="checkbox"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 14px !important;
  height: 14px !important;
  margin: 0 !important;
  cursor: pointer;
}

.texte-formulaire__col-form .ginput_container_consent label {
  position: relative;
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  color: #5374A4;
  font-family: var(--wp--preset--font-family--secondary);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  margin: 0;
}

.texte-formulaire__col-form .mention-obligatoire {
  color: #5374A4;
  font-family: var(--wp--preset--font-family--secondary);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  margin: auto 0;
}

.texte-formulaire__col-form .ginput_container_consent label::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  margin-left: 10px;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M13.3333 11.3333C13.3333 12.4379 12.4379 13.3333 11.3333 13.3333H2C0.895431 13.3333 0 12.4379 0 11.3333V2C0 0.89543 0.89543 0 2 0H11.3333C12.4379 0 13.3333 0.895431 13.3333 2V11.3333ZM12 2C12 1.63181 11.7015 1.33333 11.3333 1.33333H2C1.63181 1.33333 1.33333 1.63181 1.33333 2V11.3333C1.33333 11.7015 1.63181 12 2 12H11.3333C11.7015 12 12 11.7015 12 11.3333V2Z' fill='%235374A4'/%3E%3C/svg%3E");
}

.texte-formulaire__col-form .ginput_container_consent input[type="checkbox"]:checked + label::before,
.texte-formulaire__col-form .ginput_container_consent label:has(input:checked)::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M12 2C12 1.63181 11.7015 1.33333 11.3333 1.33333H2C1.63181 1.33333 1.33333 1.63181 1.33333 2V11.3333C1.33333 11.7015 1.63181 12 2 12H11.3333C11.7015 12 12 11.7015 12 11.3333V2ZM8.19531 4.86198C8.45566 4.60163 8.87767 4.60163 9.13802 4.86198C9.39837 5.12233 9.39837 5.44434 9.13802 5.80469L6.47135 8.47135C6.211 8.7317 5.78899 8.7317 5.52865 8.47135L4.19531 7.13802L4.14974 7.08724C3.93617 6.82539 3.95123 6.43939 4.19531 6.19531C4.43939 5.95123 4.82539 5.93617 5.08724 6.14974L5.13802 6.19531L6 7.05729L8.19531 4.86198ZM13.3333 11.3333C13.3333 12.4379 12.4379 13.3333 11.3333 13.3333H2C0.895431 13.3333 0 12.4379 0 11.3333V2C0 0.89543 0.89543 0 2 0H11.3333C12.4379 0 13.3333 0.895431 13.3333 2V11.3333Z' fill='%235374A4'/%3E%3C/svg%3E");
}

.texte-formulaire__col-form .mention-obligatoire {
  margin: auto 0;
}

.texte-formulaire__col-form .gform_footer,
.texte-formulaire__col-form .gform_page_footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
}

.texte-formulaire__col-form #field_submit {
  justify-content: flex-end !important;
}

.gform_fields .gfield--type-submit {
  justify-content: flex-end;
  align-items: center;
}

.gform_fields .mention-obligatoire {
  display: flex;
  align-items: center;
}

.texte-formulaire__submit {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 14px !important;
  font-weight: var(--wp--custom--font-weight--bold) !important;
  border: none !important;
  cursor: pointer !important;
  background-color: var(--wp--preset--color--primary) !important;
  color: #411F07 !important;
  border-radius: 50px !important;
  box-shadow: none !important;
}

@media (max-width: 1500px) {
  .texte-formulaire {
    margin-bottom: 100px;
  }

  .texte-formulaire__inner {
    padding-left: 60px;
    padding-right: 60px;
  }

}

@media (max-width: 991px) {
  .texte-formulaire__texte {
    margin-bottom: 60px;
  }

  .texte-formulaire__card {
    margin-bottom: 45px;
  }

  .texte-formulaire__tel {
    font-size: 35px;
    line-height: 30px;
  }

  .texte-formulaire__col-form {
    margin-top: 50px;
  }

  .texte-formulaire__grid {
    grid-template-columns: 1fr;
    row-gap: 40px;
  }
}

@media (max-width: 767px) {
  .texte-formulaire__inner {
    padding-left: 0;
    padding-right: 0;
  }
}

/* Mobile : the card must stay inside the screen (long email, big phone number). */
@media (max-width: 767px) {
  .texte-formulaire__card {
    display: flex;
    max-width: 100%;
    padding: 24px;
  }

  .texte-formulaire__email {
    font-size: 20px;
    line-height: 28px;
    overflow-wrap: anywhere;
  }

  .texte-formulaire__tel {
    font-size: 32px;
    line-height: 40px;
  }
}

/* The page title is an h1 on generic pages: same size steps as the home hero h1. */
@media (max-width: 991px) {
  .texte-formulaire--generique .texte-formulaire__titre {
    font-size: 40px;
    line-height: 48px;
  }
}

@media (max-width: 576px) {
  .texte-formulaire--generique .texte-formulaire__titre {
    font-size: 32px;
    line-height: 40px;
  }
}
