/**
 * Benco — Design unifié des formulaires
 * S'applique à : contact, demande produit (modal), candidature carrières
 * Tailles de texte augmentées, icônes pro, espacements généreux
 */
:root {
  --form-accent: #FF2D37;
  --form-accent-hover: #c0141a;
  --form-border: #e5e7eb;
  --form-radius: 12px;
  --form-font: var(--rubik-fonts);
  --form-label-size: 1.4rem;
  --form-input-size: 1.35rem;
  --form-input-padding: 1.1rem 1.35rem;
  --form-group-gap: 1.75rem;
  --form-label-input-gap: 0.5rem;
}

/* ── Formulaire contact (contact.php) ── */
.contact__form {
  background: #fff !important;
  border-radius: 14px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
  font-family: var(--form-font) !important;
  padding: 2.25rem 2rem !important;
}
.contact__form--title {
  font-family: var(--form-font) !important;
  font-weight: 700 !important;
  font-size: 1.75rem !important;
  color: var(--primary-color) !important;
  margin-bottom: 1.5rem !important;
}
.contact__form--label {
  font-family: var(--form-font) !important;
  font-weight: 600 !important;
  font-size: var(--form-label-size) !important;
  color: var(--primary-color) !important;
  margin-bottom: var(--form-label-input-gap) !important;
  display: block !important;
}
.contact__form--label i {
  margin-right: 0.6rem !important;
  color: var(--form-accent) !important;
  font-size: 1.05em !important;
  width: 1.15em !important;
  text-align: center !important;
  opacity: 0.95 !important;
}
.contact__form--input,
.contact__form--textarea {
  border: 2px solid var(--form-border) !important;
  border-radius: var(--form-radius) !important;
  font-family: var(--form-font) !important;
  font-size: var(--form-input-size) !important;
  padding: var(--form-input-padding) !important;
  line-height: 1.5 !important;
  min-height: 62px !important;
  height: auto !important;
  transition: border-color .2s, box-shadow .2s !important;
}
.contact__form--input::placeholder,
.contact__form--textarea::placeholder {
  font-size: 1.25rem !important;
  color: #9ca3af !important;
}
.contact__form--input:focus,
.contact__form--textarea:focus {
  border-color: var(--form-accent) !important;
  box-shadow: 0 0 0 3px rgba(255, 45, 55, 0.1) !important;
  outline: none !important;
}
.contact__form--textarea {
  resize: vertical !important;
  min-height: 160px !important;
}
.contact__form--list {
  margin-bottom: var(--form-group-gap) !important;
}
.contact__form--list.mb-20 {
  margin-bottom: var(--form-group-gap) !important;
}
.contact__form--list.mb-15 {
  margin-bottom: var(--form-group-gap) !important;
}
.contact__form .row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  margin-bottom: -0.5rem;
}
.contact__form .row > * {
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-bottom: var(--form-group-gap);
}
.contact__form--btn.primary__btn {
  background: var(--form-accent) !important;
  border: none !important;
  border-radius: 10px !important;
  font-family: var(--form-font) !important;
  font-weight: 600 !important;
  font-size: 1.25rem !important;
  padding: 1rem 2rem !important;
  margin-top: 0.5rem !important;
  transition: background .2s, transform .15s !important;
}
.contact__form--btn.primary__btn:hover {
  background: var(--form-accent-hover) !important;
  transform: translateY(-1px);
}

/* ── Modales (demande produit, candidature) ── */
#productInquiryModal .modal-dialog,
#applicationModal .modal-dialog {
  max-width: 820px !important;
}
#productInquiryModal .modal-content,
#applicationModal .modal-content {
  border: none !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.12) !important;
  overflow: hidden !important;
}
#productInquiryModal .modal-header,
#applicationModal .modal-header {
  background: var(--form-accent) !important;
  color: #fff !important;
  border: none !important;
  padding: 1.5rem 2rem !important;
}
/* Icône de fermeture visible sur fond rouge */
#productInquiryModal .modal-header .btn-close,
#applicationModal .modal-header .btn-close {
  opacity: 1 !important;
  background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1.25em auto no-repeat !important;
  width: 1.75em !important;
  height: 1.75em !important;
}
#productInquiryModal .modal-header .btn-close:hover,
#applicationModal .modal-header .btn-close:hover {
  opacity: 0.9 !important;
}
#productInquiryModal .modal-title,
#applicationModal .modal-title {
  font-family: var(--form-font) !important;
  font-weight: 700 !important;
  font-size: 1.4rem !important;
}
#productInquiryModal .modal-body,
#applicationModal .modal-body {
  padding: 2rem 2rem !important;
}
#productInquiryModal .modal-body .form-control,
#applicationModal .modal-body .form-control,
#productInquiryModal .modal-body input,
#productInquiryModal .modal-body textarea,
#applicationModal .modal-body input,
#applicationModal .modal-body textarea {
  border: 2px solid var(--form-border) !important;
  border-radius: var(--form-radius) !important;
  font-family: var(--form-font) !important;
  font-size: var(--form-input-size) !important;
  padding: var(--form-input-padding) !important;
  line-height: 1.5 !important;
  transition: border-color .2s, box-shadow .2s !important;
}
#productInquiryModal .modal-body .form-control::placeholder,
#applicationModal .modal-body .form-control::placeholder,
#productInquiryModal .modal-body input::placeholder,
#productInquiryModal .modal-body textarea::placeholder,
#applicationModal .modal-body input::placeholder,
#applicationModal .modal-body textarea::placeholder {
  font-size: 1.25rem !important;
  color: #9ca3af !important;
}
#productInquiryModal .modal-body .form-control:focus,
#applicationModal .modal-body .form-control:focus,
#productInquiryModal #inquiryMessage:focus,
#applicationModal input:focus,
#applicationModal textarea:focus {
  border-color: var(--form-accent) !important;
  box-shadow: 0 0 0 3px rgba(255, 45, 55, 0.1) !important;
  outline: none !important;
}
#productInquiryModal .modal-body label,
#applicationModal .modal-body label {
  font-family: var(--form-font) !important;
  font-weight: 600 !important;
  font-size: var(--form-label-size) !important;
  color: var(--primary-color) !important;
  margin-bottom: var(--form-label-input-gap) !important;
  display: block !important;
}
/* Icônes pro : solid, taille cohérente, espacement */
#applicationModal .form-group label i,
#productInquiryModal .form-group label i {
  margin-right: 0.6rem !important;
  color: var(--form-accent) !important;
  font-size: 1.05em !important;
  width: 1.15em !important;
  text-align: center !important;
  opacity: 0.95 !important;
}
#productInquiryModal .btn-primary,
#applicationModal .btn-primary,
#productInquiryModal [type="submit"],
#applicationModal [type="submit"] {
  background: var(--form-accent) !important;
  border: none !important;
  border-radius: 10px !important;
  font-family: var(--form-font) !important;
  font-weight: 600 !important;
  font-size: 1.25rem !important;
  padding: 0.9rem 1.75rem !important;
  transition: background .2s, transform .15s !important;
}
#productInquiryModal .btn-primary:hover,
#applicationModal .btn-primary:hover {
  background: var(--form-accent-hover) !important;
  transform: translateY(-1px);
}
#applicationModal .form-group,
#productInquiryModal .form-group {
  margin-bottom: var(--form-group-gap) !important;
}
#applicationModal .form-group label {
  display: block !important;
  margin-bottom: var(--form-label-input-gap) !important;
}
#applicationModal .form-group .row.g-3,
#productInquiryModal .form-group .row.g-3 {
  --bs-gutter-x: 1.5rem !important;
  --bs-gutter-y: 1.25rem !important;
}
#applicationModal .form-group .row.g-3 > [class*="col-"],
#productInquiryModal .form-group .row.g-3 > [class*="col-"] {
  margin-bottom: 0 !important;
}
#applicationModal input[type="file"].form-control {
  padding: 0.85rem 1rem !important;
  font-size: 1rem !important;
}
#applicationModal .form-text,
#productInquiryModal .form-text {
  font-size: 1.15rem !important;
  margin-top: 0.5rem !important;
}
#applicationModal .form-text i,
#productInquiryModal .form-text i {
  margin-right: 0.4rem !important;
  font-size: 0.95em !important;
}
/* Espacement intro modale */
#productInquiryModal .modal-body .text-center.mb-4,
#applicationModal .modal-body .text-center.mb-4 {
  margin-bottom: 1.75rem !important;
}
#productInquiryModal .modal-body .text-muted,
#applicationModal .modal-body .text-muted {
  font-size: 1.25rem !important;
  line-height: 1.6 !important;
}
