/* VARIABLES */
.hero {
  position: relative;
  overflow: hidden;
}
.hero::after {
  content: "";
  position: absolute;
  right: -8rem;
  top: -6rem;
  width: 22rem;
  height: 22rem;
  border-radius: 50%;
  background: rgba(176, 122, 72, 0.1);
  z-index: 0;
  pointer-events: none;
}
@media (min-width: 1024px) {
  .hero::after {
    width: 38rem;
    height: 38rem;
    right: -10rem;
    top: -8rem;
  }
}
.hero .surtitre, .hero__titre, .hero__texte, .hero__cta {
  position: relative;
  z-index: 1;
}
.hero__titre {
  margin: 0 0 1.4rem;
}
@media (min-width: 1024px) {
  .hero__titre {
    max-width: 40rem;
  }
}
.hero__texte {
  line-height: 1.7;
  margin: 0 0 2rem;
}
@media (min-width: 1024px) {
  .hero__texte {
    max-width: 40rem;
  }
}
.hero__texte p {
  margin: 0;
}
.hero__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
}

.coordonnees {
  background: #F0ECE3;
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
@media (min-width: 1024px) {
  .coordonnees {
    flex-direction: row;
    align-items: flex-start;
    gap: 4rem;
  }
}
@media (min-width: 1188px) {
  .coordonnees {
    gap: 6rem;
  }
}
.coordonnees__gauche {
  background: #FBFAF6;
  border-radius: 6px;
  box-shadow: 0 4px 16px rgba(95, 104, 120, 0.07);
  overflow: hidden;
}
@media (min-width: 1024px) {
  .coordonnees__gauche {
    flex: 1;
  }
}
.coordonnees__droite {
  display: flex;
  flex-direction: column;
}
@media (min-width: 1024px) {
  .coordonnees__droite {
    flex: 0 0 260px;
    padding-top: 0.5rem;
  }
}
@media (min-width: 1188px) {
  .coordonnees__droite {
    flex: 0 0 280px;
  }
}

.onglets {
  display: flex;
  border-bottom: 1px solid rgba(95, 104, 120, 0.12);
  padding: 0 2rem;
  gap: 0;
}

.onglet {
  padding: 1.1rem 0;
  margin-right: 2rem;
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  box-shadow: none;
  font-family: "Hanken Grotesk", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
  color: rgba(95, 104, 120, 0.5);
  text-transform: none;
  letter-spacing: 0;
  cursor: pointer;
  transition: color 0.2s ease, border-color 0.2s ease;
  white-space: nowrap;
  margin-bottom: -1px;
}
.onglet:hover {
  background: transparent;
  color: #002569;
  box-shadow: none;
}
.onglet--actif {
  color: #002569;
  border-bottom-color: #002569;
  font-weight: 600;
  background: transparent;
}
.onglet:focus {
  background-color: transparent;
  border-color: #002569;
  color: #002569;
}

.panneau {
  padding: 2rem;
}
@media (min-width: 1024px) {
  .panneau {
    padding: 2.5rem;
  }
}
.panneau__titre {
  font-size: clamp(1.4rem, 2.5vw, 1.9rem);
  margin: 0 0 0.8rem;
}
.panneau__texte {
  line-height: 1.7;
  margin: 0 0 2rem;
}
.panneau__texte p {
  margin: 0;
}

.panneau .wpcf7-form .form-ligne {
  display: flex;
  gap: 1rem;
}
.panneau .wpcf7-form .form-ligne > p,
.panneau .wpcf7-form .form-ligne > .wpcf7-form-control-wrap {
  flex: 1;
}
.panneau .wpcf7-form p {
  margin: 0 0 1rem;
}
.panneau .wpcf7-form label {
  display: block;
  font-weight: 500;
  color: #002569;
  margin-bottom: 0.4rem;
  letter-spacing: 0.02em;
}
.panneau .wpcf7-form input[type=text],
.panneau .wpcf7-form input[type=email],
.panneau .wpcf7-form input[type=tel],
.panneau .wpcf7-form input[type=file],
.panneau .wpcf7-form textarea {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1px solid rgba(95, 104, 120, 0.18);
  border-radius: 3px;
  background: #F6F4EF;
  font-family: "Hanken Grotesk", sans-serif;
  color: #5F6878;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.panneau .wpcf7-form input[type=text]::-moz-placeholder, .panneau .wpcf7-form input[type=email]::-moz-placeholder, .panneau .wpcf7-form input[type=tel]::-moz-placeholder, .panneau .wpcf7-form input[type=file]::-moz-placeholder, .panneau .wpcf7-form textarea::-moz-placeholder {
  color: rgba(95, 104, 120, 0.75);
}
.panneau .wpcf7-form input[type=text]::placeholder,
.panneau .wpcf7-form input[type=email]::placeholder,
.panneau .wpcf7-form input[type=tel]::placeholder,
.panneau .wpcf7-form input[type=file]::placeholder,
.panneau .wpcf7-form textarea::placeholder {
  color: rgba(95, 104, 120, 0.75);
}
.panneau .wpcf7-form input[type=text]:focus,
.panneau .wpcf7-form input[type=email]:focus,
.panneau .wpcf7-form input[type=tel]:focus,
.panneau .wpcf7-form input[type=file]:focus,
.panneau .wpcf7-form textarea:focus {
  outline: none;
  border-color: #B07A48;
  box-shadow: 0 0 0 3px rgba(176, 122, 72, 0.12);
}
.panneau .wpcf7-form textarea {
  resize: vertical;
  min-height: 7rem;
}
.panneau .wpcf7-form .wpcf7-list-item {
  margin: 0;
}
.panneau .wpcf7-form .wpcf7-list-item-label {
  font-weight: 400;
  color: rgba(95, 104, 120, 0.75);
  cursor: pointer;
  line-height: 1.5;
}
.panneau .wpcf7-form input[type=checkbox] {
  width: 1rem;
  height: 1rem;
  accent-color: #B07A48;
  margin-right: 0.5rem;
  flex-shrink: 0;
  cursor: pointer;
}
.panneau .wpcf7-form .rgpd {
  color: rgba(95, 104, 120, 0.75);
  margin-top: 0.25rem;
  line-height: 1.5;
}
.panneau .wpcf7-form input[type=submit] {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.85rem 2rem;
  background: #B07A48;
  color: #FBFAF6;
  border: 1.5px solid #B07A48;
  border-radius: 3px;
  font-family: "Hanken Grotesk", sans-serif;
  font-weight: 600;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
  margin-top: 0.5rem;
}
.panneau .wpcf7-form input[type=submit]:hover {
  background: rgb(147.0451612903, 101.9290322581, 60.1548387097);
  border-color: rgb(147.0451612903, 101.9290322581, 60.1548387097);
  box-shadow: 0 8px 24px rgba(176, 122, 72, 0.28);
}
.panneau .wpcf7-form .wpcf7-not-valid-tip {
  color: #c0392b;
  margin-top: 0.3rem;
  display: block;
}
.panneau .wpcf7-form .wpcf7-response-output {
  margin: 1rem 0 0;
  padding: 0.75rem 1rem;
  border-radius: 3px;
  border: 1px solid rgba(95, 104, 120, 0.12);
}

.info {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding-block: 1.5rem;
  border-bottom: 1px solid rgba(95, 104, 120, 0.1);
}
.info:first-child {
  padding-top: 0;
}
.info:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.info__icone {
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: #F6F4EF;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #B07A48;
  border: 1px solid rgba(95, 104, 120, 0.08);
}
.info__corps {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}
.info__label {
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #B07A48;
}
.info__valeur {
  font-style: normal;
  line-height: 1.6;
  color: #5F6878;
  margin: 0;
}
.info__valeur a {
  color: #5F6878;
  transition: color 0.2s ease;
}
.info__valeur a:hover {
  color: #002569;
}