/* Contact */

.contact-section__inner {
  display: grid;
  grid-template-columns: minmax(240px, 0.65fr) minmax(0, 1.35fr);
  gap: clamp(50px, 8vw, 110px);
  align-items: start;
}

.contact-heading {
  max-width: 390px;
}

.contact-heading h2 {
  margin: 0;
  color: var(--navy);
  font-weight: 400;
  line-height: 1.05;
  font-size: clamp(2.7rem, 4vw, 4.5rem);
}

.contact-heading p:last-child {
  margin-top: 0;
}

.contact-form {
  max-width: 720px;
}

/* Champs Fluent Forms communs au contact et au mode attente */

.contact-form .ff-el-group,
.order-waiting .fluentform .ff-el-group {
  margin-bottom: 22px;
}

.contact-form .ff-el-input--label label,
.order-waiting .fluentform .ff-el-input--label label {
  color: var(--navy);
  font-family: var(--serif);
  font-size: 1rem;
  font-weight: 400;
}

.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form textarea,
.contact-form select,
.order-waiting .fluentform input[type="email"] {
  width: 100%;
  border: 1px solid #dcd4c8 !important;
  border-radius: 5px !important;
  background: var(--paper) !important;
  color: var(--navy) !important;
  font-family: var(--serif) !important;
  font-size: 1rem !important;
  padding: 13px 15px !important;
  box-shadow: none !important;
}

.contact-form textarea {
  min-height: 170px;
  resize: vertical;
}

.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus,
.order-waiting .fluentform input[type="email"]:focus {
  border-color: var(--navy) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(36, 59, 99, 0.08) !important;
}

/* Bouton formulaire */

.contact-form .ff-btn-submit,
.contact-form .ff-btn-submit:not(.ff_btn_no_style),
.order-waiting .fluentform .ff-btn-submit,
.order-waiting .fluentform .ff-btn-submit:not(.ff_btn_no_style) {
  min-height: 52px;
  padding: 12px 27px !important;
  border: 1px solid var(--navy) !important;
  border-radius: 5px !important;
  background: var(--navy) !important;
  color: var(--white) !important;
  font-family: var(--serif) !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  box-shadow: none !important;
  cursor: pointer;
  transition:
    transform 0.15s ease,
    background-color 0.15s ease;
}

.contact-form .ff-btn-submit:hover,
.contact-form .ff-btn-submit:not(.ff_btn_no_style):hover,
.order-waiting .fluentform .ff-btn-submit:hover,
.order-waiting .fluentform .ff-btn-submit:focus-visible {
  background: #1d3152 !important;
  border-color: #1d3152 !important;
  color: var(--white) !important;
  transform: translateY(-2px);
}

@media (max-width: 800px) {
  /* Contact */

  .contact-section__inner {
    grid-template-columns: 1fr;
    gap: 35px;
  }

  .contact-heading {
    max-width: none;
  }

  .contact-form {
    max-width: none;
  }

  .contact-form .ff-btn-submit {
    width: 100%;
  }
}

.contact-press {
  margin-top: 2rem;
}

.contact-press h3 {
  margin: 0 0 0.75rem;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
}

.contact-press p {
  margin: 0;
}
