/**
 * EKIORA - Custom Styles
 */

/* ============================================
   HEADER MENU (.ek-header)
   ============================================ */

.ek-header,
.ek-header.et_pb_section {
  background: #030305 !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 9999 !important;
  padding: 15px 0 !important;
  transition: background 0.3s ease, padding 0.3s ease, box-shadow 0.3s ease;
}

/* Header scrolled - effet de fond plus dense */
.ek-header.scrolled {
  background: rgba(3, 3, 5, 0.95) !important;
  padding: 10px 0 !important;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.ek-row-header {
  background: transparent !important;
}

/* Menu links */
.ek-menu-header,
.ek-menu-header .et_pb_menu__menu {
  background: transparent !important;
}

.ek-menu-header .et_pb_menu__menu a,
.ek-menu-header nav > ul > li > a,
.ek-menu-header .et-menu a {
  color: rgba(248, 249, 251, 0.8) !important;
  font-weight: 500;
  letter-spacing: 0.02em;
  transition: color 0.3s ease !important;
}

.ek-menu-header .et_pb_menu__menu a:hover,
.ek-menu-header nav > ul > li > a:hover,
.ek-menu-header .et-menu a:hover {
  color: #FFAB00 !important;
}

/* Menu actif */
.ek-menu-header .et_pb_menu__menu .current-menu-item a,
.ek-menu-header .et_pb_menu__menu .current_page_item a,
.ek-menu-header nav > ul > li.current-menu-item > a,
.ek-menu-header .et-menu .current_page_item a {
  color: #FFD93D !important;
}

/* Logo */
.ek-header .et_pb_menu__logo img,
.ek-menu-header .et_pb_menu__logo img,
.ek-header .et_pb_image img {
  max-height: 40px;
  width: auto;
}

/* ============================================
   LANGUAGE SELECTOR (Polylang)
   ============================================ */

.ek-header .et_pb_menu--without-logo {
  background: transparent !important;
}

.ek-header .et_pb_menu--without-logo .et_pb_menu__menu {
  background: transparent !important;
}

.ek-header .lang-item a {
  display: flex !important;
  align-items: center;
  padding: 6px 10px !important;
  border-radius: 4px;
  opacity: 0.5;
  transition: all 0.3s ease !important;
}

.ek-header .lang-item a:hover {
  opacity: 1;
  background: rgba(255, 171, 0, 0.1) !important;
}

.ek-header .lang-item.current-lang a {
  opacity: 1;
  background: rgba(255, 171, 0, 0.15) !important;
  border: 1px solid rgba(255, 171, 0, 0.3);
}

.ek-header .lang-item img {
  border-radius: 2px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
  background: #ffffff !important;
}

/* Mobile menu icon */
.ek-menu-header .mobile_menu_bar:before,
.ek-menu-header .et_pb_menu__icon {
  color: #FFAB00 !important;
}

/* Masquer la colonne langue (2e colonne) sur tablette/mobile */
@media (max-width: 980px) {
  .ek-header .et_pb_column_1_tb_header,
  .ek-header .ek-row-header > .et_pb_column:last-child {
    display: none !important;
  }

  /* La colonne menu prend toute la largeur */
  .ek-header .et_pb_column_0_tb_header,
  .ek-header .ek-row-header > .et_pb_column:first-child {
    width: 100% !important;
    flex: 0 0 100% !important;
  }
}

/* Style pour le sélecteur de langue dans le menu mobile */
.ek-mobile-lang-selector {
  padding: 15px 20px !important;
  /*border-top: 1px solid rgba(255, 171, 0, 0.2) !important;
  margin-top: 5px;*/
}

.ek-mobile-lang-selector .ek-lang-title {
  color: rgba(248, 249, 251, 0.5);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 10px;
  display: block;
}

.ek-mobile-lang-selector .ek-lang-list {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.ek-mobile-lang-selector .ek-lang-item {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.05);
  color: rgba(248, 249, 251, 0.8) !important;
  text-decoration: none;
  font-size: 13px;
  transition: all 0.3s ease;
}

.ek-mobile-lang-selector .ek-lang-item:hover {
  background: rgba(255, 171, 0, 0.1);
  color: #FFAB00 !important;
}

.ek-mobile-lang-selector .ek-lang-item.current {
  background: rgba(255, 171, 0, 0.15);
  border: 1px solid rgba(255, 171, 0, 0.3);
  color: #FFD93D !important;
}

.ek-mobile-lang-selector .ek-lang-item img {
  border-radius: 2px;
  background: #ffffff !important;
}

/* Mobile menu - prend la largeur du contenu */
.ek-menu-header .et_mobile_menu,
.ek-menu-header .et_pb_menu__menu--mobile {
  background: #0a0b10 !important;
  border: 1px solid rgba(255, 171, 0, 0.2) !important;
  width: calc(100vw - 60px) !important;
  max-width: 1080px !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%);
}

.ek-menu-header .et_mobile_menu a,
.ek-menu-header .et_pb_menu__menu--mobile a {
  color: rgba(248, 249, 251, 0.8) !important;
  border-bottom: 1px solid rgba(255, 171, 0, 0.1) !important;
}

.ek-menu-header .et_mobile_menu a:hover,
.ek-menu-header .et_pb_menu__menu--mobile a:hover {
  color: #FFAB00 !important;
  background: rgba(255, 171, 0, 0.05) !important;
}

/* Séparateur lumineux sous le header */
.ek-header::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 107, 0, 0.2) 20%,
    rgba(255, 171, 0, 0.4) 50%,
    rgba(255, 107, 0, 0.2) 80%,
    transparent 100%
  );
  opacity: 0.6;
}

/* Ajuster le body pour le header fixe */
body.et-tb-has-header {
  padding-top: 70px !important;
}

/* Décalage quand la barre admin WP est visible */
.admin-bar .ek-header,
.admin-bar .ek-header.et_pb_section {
  top: 32px !important;
}

.admin-bar.et-tb-has-header {
  padding-top: 102px !important; /* 70px + 32px admin bar */
}

@media (max-width: 782px) {
  .admin-bar .ek-header,
  .admin-bar .ek-header.et_pb_section {
    top: 46px !important; /* Admin bar plus haute sur mobile */
  }

  .admin-bar.et-tb-has-header {
    padding-top: 106px !important; /* 60px + 46px */
  }
}

@media (max-width: 600px) {
  .admin-bar .ek-header,
  .admin-bar .ek-header.et_pb_section {
    top: 0 !important; /* Admin bar non-fixe sur petit mobile */
  }

  .admin-bar.et-tb-has-header {
    padding-top: 50px !important;
  }
}

/* S'assurer que le contenu passe SOUS le header fixe */
.et_pb_section:not(.ek-header) {
  position: relative;
  z-index: 1 !important;
}

/* Hero section - ne doit pas passer au-dessus du header */
.ek-hero,
.ek-hero.et_pb_section {
  z-index: 1 !important;
  position: relative;
}

/* Forcer le header au-dessus de tout */
.ek-header,
.ek-header.et_pb_section {
  z-index: 99999 !important;
}

/* ============================================
   RESPONSIVE HEADER
   ============================================ */

@media (max-width: 980px) {
  .ek-header {
    padding: 10px 0 !important;
  }

  body.et-tb-has-header {
    padding-top: 60px !important;
  }
}

@media (max-width: 767px) {
  .ek-header {
    padding: 8px 0 !important;
  }

  .ek-header .et_pb_menu__logo img,
  .ek-menu-header .et_pb_menu__logo img {
    max-height: 30px;
  }

  /* Réduire padding interne du menu sur mobile */
  .ek-header .et_pb_row,
  .ek-header .ek-row-header {
    padding: 0 15px !important;
  }

  .ek-header .et_pb_menu_inner_container {
    padding: 0 !important;
  }

  body.et-tb-has-header {
    padding-top: 50px !important;
  }
}

/* ============================================
   GRAVITY FORMS (.ek-form-contact)
   ============================================ */

.ek-form-contact .gform_wrapper {
  background: transparent !important;
}

/* Labels */
.ek-form-contact .gfield_label,
.ek-form-contact .gform_wrapper .gfield_label {
  color: rgba(248, 249, 251, 0.9) !important;
  font-weight: 500;
  font-size: 14px;
  margin-bottom: 8px;
}

/* Champs texte, email, textarea */
.ek-form-contact input[type="text"],
.ek-form-contact input[type="email"],
.ek-form-contact input[type="tel"],
.ek-form-contact input[type="url"],
.ek-form-contact input[type="number"],
.ek-form-contact textarea,
.ek-form-contact select,
.ek-form-contact .gform_wrapper input:not([type="submit"]):not([type="button"]):not([type="radio"]):not([type="checkbox"]),
.ek-form-contact .gform_wrapper textarea,
.ek-form-contact .gform_wrapper select {
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid rgba(255, 171, 0, 0.3) !important;
  border-radius: 0 !important;
  color: #F8F9FB !important;
  padding: 14px 16px !important;
  font-size: 15px !important;
  transition: border-color 0.3s ease, background 0.3s ease !important;
}

.ek-form-contact input:focus,
.ek-form-contact textarea:focus,
.ek-form-contact select:focus,
.ek-form-contact .gform_wrapper input:not([type="submit"]):focus,
.ek-form-contact .gform_wrapper textarea:focus,
.ek-form-contact .gform_wrapper select:focus {
  background: rgba(255, 171, 0, 0.05) !important;
  border: 2px solid rgba(255, 171, 0, 0.7) !important;
  outline: none !important;
  border-radius: 0 !important;
}

.ek-form-contact input::placeholder,
.ek-form-contact textarea::placeholder {
  color: rgba(248, 249, 251, 0.4) !important;
}

/* Autofill - forcer le style sombre quand le navigateur remplit automatiquement */
.ek-form-contact input:-webkit-autofill,
.ek-form-contact input:-webkit-autofill:hover,
.ek-form-contact input:-webkit-autofill:focus,
.ek-form-contact input:-webkit-autofill:active,
.ek-form-contact .gform_wrapper input:-webkit-autofill,
.ek-form-contact .gform_wrapper input:-webkit-autofill:hover,
.ek-form-contact .gform_wrapper input:-webkit-autofill:focus,
.ek-form-contact .gform_wrapper input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 1000px #0a0b10 inset !important;
  -webkit-text-fill-color: #F8F9FB !important;
  box-shadow: 0 0 0 1000px #0a0b10 inset !important;
  border: 1px solid rgba(255, 171, 0, 0.3) !important;
  border-radius: 0 !important;
  outline: none !important;
  background-clip: content-box !important;
  transition: background-color 5000s ease-in-out 0s, border-color 0s !important;
}

/* Autofill focus - même bordure que focus normal */
.ek-form-contact input:-webkit-autofill:focus,
.ek-form-contact .gform_wrapper input:-webkit-autofill:focus {
  border: 1px solid rgba(255, 171, 0, 0.3) !important;
}

/* Firefox autofill */
.ek-form-contact input:autofill,
.ek-form-contact input:autofill:hover,
.ek-form-contact input:autofill:focus,
.ek-form-contact .gform_wrapper input:autofill,
.ek-form-contact .gform_wrapper input:autofill:hover,
.ek-form-contact .gform_wrapper input:autofill:focus {
  background: #0a0b10 !important;
  color: #F8F9FB !important;
  border: 1px solid rgba(255, 171, 0, 0.3) !important;
  border-radius: 0 !important;
  outline: none !important;
}

/* Textarea hauteur */
.ek-form-contact textarea,
.ek-form-contact .gform_wrapper textarea {
  min-height: 150px;
  resize: vertical;
}

/* Select dropdown */
.ek-form-contact select,
.ek-form-contact .gform_wrapper select,
.ek-form-contact .ginput_container_select select,
.ek-form-contact .gform_wrapper .ginput_container select,
.ek-form-contact .gform_wrapper .gfield select,
.ek-form-contact .gform-theme--foundation .gfield select,
.ek-form-contact .gform-theme--foundation select,
.ek-form-contact .gform-theme--foundation select.medium,
.ek-form-contact .gform-theme--foundation select.large,
.ek-form-contact .gform-theme--foundation select.small,
.ek-form-contact .gform-theme--foundation .gfield_select,
.ek-form-contact .gform_wrapper.gform-theme--foundation select,
.ek-form-contact .gform_wrapper.gform-theme--foundation .gfield select,
.ek-form-contact .gform_wrapper.gform-theme--foundation .gfield_select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: rgba(255, 255, 255, 0.03) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23FFAB00' d='M6 8L1 3h10z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  padding-right: 40px !important;
  color: #F8F9FB !important;
  -webkit-text-fill-color: #F8F9FB !important;
}

/* Select - valeur sélectionnée - forcer sur tous les états */
.ek-form-contact select,
.ek-form-contact select:valid,
.ek-form-contact select:not(:invalid),
.ek-form-contact select:focus,
.ek-form-contact select:active,
.ek-form-contact .gform_wrapper select,
.ek-form-contact .gform_wrapper select:valid,
.ek-form-contact .gform_wrapper select:not(:invalid),
.ek-form-contact .gform_wrapper select:focus,
.ek-form-contact .gform_wrapper select:active,
.ek-form-contact .ginput_container_select select,
.ek-form-contact .ginput_container_select select:valid,
.ek-form-contact .gform_wrapper .gfield select,
.ek-form-contact .gform_wrapper .gfield select:valid,
.ek-form-contact .gform-theme--foundation select,
.ek-form-contact .gform-theme--foundation select:valid,
.ek-form-contact .gform-theme--foundation select.medium,
.ek-form-contact .gform-theme--foundation select.medium:valid,
.ek-form-contact .gform-theme--foundation .gfield select,
.ek-form-contact .gform-theme--foundation .gfield select:valid,
.ek-form-contact .gform-theme--foundation .gfield_select,
.ek-form-contact .gform-theme--foundation .gfield_select:valid,
.ek-form-contact .gform_wrapper.gform-theme--foundation select,
.ek-form-contact .gform_wrapper.gform-theme--foundation select:valid,
.ek-form-contact .gform_wrapper.gform-theme--foundation .gfield select,
.ek-form-contact .gform_wrapper.gform-theme--foundation .gfield select:valid {
  color: #F8F9FB !important;
  -webkit-text-fill-color: #F8F9FB !important;
}

/* Forcer la couleur du texte sur tous les états */
.ek-form-contact select *,
.ek-form-contact .gform_wrapper select *,
.ek-form-contact .gform-theme--foundation select *,
.ek-form-contact .gform_wrapper.gform-theme--foundation select * {
  color: #F8F9FB !important;
  -webkit-text-fill-color: #F8F9FB !important;
}

/* Gravity Forms 2.5+ Foundation theme markup */
.ek-form-contact .gform-field-label,
.ek-form-contact .gform_wrapper .gform-field-label,
.ek-form-contact .gform-theme--foundation .gform-field-label {
  color: #F8F9FB !important;
}

.ek-form-contact .gfield_select,
.ek-form-contact .gform_wrapper .gfield_select,
.ek-form-contact .gform-theme--foundation .gfield_select,
.ek-form-contact .gform_wrapper.gform-theme--foundation .gfield_select {
  color: #F8F9FB !important;
  -webkit-text-fill-color: #F8F9FB !important;
}

/* FORCE - Override Gravity Forms Foundation theme avec spécificité maximale */
.ek-form-contact[class] select[class],
.ek-form-contact[class] select.gfield_select,
.ek-form-contact[class] select.medium,
.ek-form-contact[class] select.large,
.ek-form-contact[class] select.small,
html body .ek-form-contact select,
html body .ek-form-contact select.gfield_select,
html body .ek-form-contact select.medium,
html body .ek-form-contact .gform_wrapper select,
html body .ek-form-contact .gform-theme--foundation select,
html body .ek-form-contact .gform-theme--foundation select.medium,
html body .ek-form-contact .gform-theme--foundation .gfield select,
html body .ek-form-contact .gform_wrapper.gform-theme--foundation select,
html body .ek-form-contact .gform_wrapper.gform-theme--foundation .gfield select {
  color: #F8F9FB !important;
  -webkit-text-fill-color: #F8F9FB !important;
}

/* Override CSS variables de Gravity Forms */
.ek-form-contact,
.ek-form-contact .gform_wrapper,
.ek-form-contact .gform-theme--foundation {
  --gf-color-in: #F8F9FB !important;
  --gf-color-in-ctrl: #F8F9FB !important;
  --gf-color-in-ctrl-text: #F8F9FB !important;
  --gf-ctrl-txt: #F8F9FB !important;
  --gf-color-text: #F8F9FB !important;
  --gf-color-text-input: #F8F9FB !important;
  --gf-input-color: #F8F9FB !important;
  --gf-input-color-text: #F8F9FB !important;
  --gf-ctrl-txt-color: #F8F9FB !important;
}

/* Options des listes déroulantes */
.ek-form-contact select option,
.ek-form-contact .gform_wrapper select option,
.ek-form-contact .ginput_container_select select option {
  background: #0a0b10 !important;
  background-color: #0a0b10 !important;
  color: #F8F9FB !important;
  padding: 10px !important;
}

/* Option sélectionnée dans la liste */
.ek-form-contact select option:checked,
.ek-form-contact select option:selected,
.ek-form-contact .gform_wrapper select option:checked,
.ek-form-contact .gform_wrapper select option:selected {
  background: rgba(255, 171, 0, 0.3) !important;
  background-color: rgba(255, 171, 0, 0.3) !important;
  color: #F8F9FB !important;
}

/* Option survolée */
.ek-form-contact select option:hover,
.ek-form-contact .gform_wrapper select option:hover {
  background: rgba(255, 171, 0, 0.2) !important;
  background-color: rgba(255, 171, 0, 0.2) !important;
  color: #F8F9FB !important;
}

/* Gravity Forms - Enhanced dropdown (si utilisé) */
.ek-form-contact .gfield_select,
.ek-form-contact .ginput_container_select select,
.ek-form-contact .gform_wrapper .ginput_container_select select {
  background-color: rgba(10, 11, 16, 0.95) !important;
}

.ek-form-contact .ginput_container_select select option,
.ek-form-contact .gfield_select option {
  background: #0a0b10 !important;
  color: #F8F9FB !important;
}

/* Gravity Forms - Liste de cases à cocher et radio */
.ek-form-contact .gfield_checkbox label,
.ek-form-contact .gfield_radio label,
.ek-form-contact .gform_wrapper .gfield_checkbox label,
.ek-form-contact .gform_wrapper .gfield_radio label,
.ek-form-contact .gchoice label,
.ek-form-contact .gform_wrapper .gchoice label,
.ek-form-contact .gchoice_label,
.ek-form-contact .gform_wrapper .gchoice_label {
  color: #F8F9FB !important;
}

/* Labels sélectionnés/cochés */
.ek-form-contact .gfield_checkbox input:checked + label,
.ek-form-contact .gfield_radio input:checked + label,
.ek-form-contact .gchoice input:checked + label,
.ek-form-contact .gform_wrapper .gchoice input:checked + label,
.ek-form-contact .gchoice input:checked ~ label,
.ek-form-contact .gform_wrapper .gchoice input:checked ~ label {
  color: #F8F9FB !important;
}

.ek-form-contact .gfield_checkbox input[type="checkbox"],
.ek-form-contact .gfield_radio input[type="radio"],
.ek-form-contact .gchoice input[type="checkbox"],
.ek-form-contact .gchoice input[type="radio"] {
  accent-color: #FFAB00 !important;
}

/* Gravity Forms - tous les textes de choix */
.ek-form-contact .gfield_list,
.ek-form-contact .gform_wrapper .gfield_list,
.ek-form-contact .ginput_list,
.ek-form-contact .gform_wrapper .ginput_list {
  color: #F8F9FB !important;
}

.ek-form-contact .gfield_list td,
.ek-form-contact .gfield_list th,
.ek-form-contact .ginput_list td,
.ek-form-contact .ginput_list th {
  color: #F8F9FB !important;
}

/* Forcer tous les spans et textes dans les choix */
.ek-form-contact .gchoice,
.ek-form-contact .gchoice span,
.ek-form-contact .gform_wrapper .gchoice,
.ek-form-contact .gform_wrapper .gchoice span {
  color: #F8F9FB !important;
}

/* Masquer la barre de progression */
.ek-form-contact .gf_progressbar_wrapper,
.ek-form-contact .gform_wrapper .gf_progressbar_wrapper,
.ek-form-contact .gf_page_steps,
.ek-form-contact .gform_wrapper .gf_page_steps,
.ek-form-contact .gform_page_footer .gf_progressbar {
  display: none !important;
}

/* Boutons submit et next - même style que les boutons hero */
.ek-form-contact .gform_button,
.ek-form-contact .gform_wrapper input[type="submit"],
.ek-form-contact .gform_wrapper button[type="submit"],
.ek-form-contact .gform_footer input[type="submit"],
.ek-form-contact .gform_next_button,
.ek-form-contact .gform_wrapper .gform_next_button {
  background: linear-gradient(
    135deg,
    rgba(255, 107, 0, 0.9) 0%,
    rgba(255, 171, 0, 0.95) 50%,
    rgba(255, 217, 61, 1) 100%
  ) !important;
  background-size: 200% 200% !important;
  background-position: 0% 0% !important;
  border: none !important;
  border-radius: 0 !important;
  color: #0a0b10 !important;
  padding: 14px 35px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  cursor: pointer;
  box-shadow:
    0 4px 15px rgba(255, 140, 0, 0.3),
    0 0 30px rgba(255, 171, 0, 0.15);
  transition: background-position 0.5s ease, box-shadow 0.4s ease, transform 0.3s ease !important;
}

.ek-form-contact .gform_button:hover,
.ek-form-contact .gform_wrapper input[type="submit"]:hover,
.ek-form-contact .gform_wrapper button[type="submit"]:hover,
.ek-form-contact .gform_next_button:hover,
.ek-form-contact .gform_wrapper .gform_next_button:hover {
  background-position: 100% 100% !important;
  transform: translateY(-2px);
  box-shadow:
    0 6px 25px rgba(255, 140, 0, 0.4),
    0 0 50px rgba(255, 171, 0, 0.25),
    0 0 80px rgba(255, 217, 61, 0.15) !important;
}

.ek-form-contact .gform_button:after,
.ek-form-contact .gform_wrapper input[type="submit"]:after,
.ek-form-contact .gform_next_button:after {
  display: none !important;
}

/* Bouton previous - style blanc */
.ek-form-contact .gform_previous_button,
.ek-form-contact .gform_wrapper .gform_previous_button {
  background: transparent !important;
  border: 1px solid rgba(248, 249, 251, 0.5) !important;
  border-radius: 0 !important;
  color: rgba(248, 249, 251, 0.8) !important;
  padding: 14px 35px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  cursor: pointer;
  transition: all 0.3s ease !important;
}

.ek-form-contact .gform_previous_button:hover,
.ek-form-contact .gform_wrapper .gform_previous_button:hover {
  background: rgba(248, 249, 251, 0.1) !important;
  border-color: rgba(248, 249, 251, 0.8) !important;
  color: #F8F9FB !important;
}

/* Champs requis - astérisque */
.ek-form-contact .gfield_required,
.ek-form-contact .gform_wrapper .gfield_required {
  color: #FFAB00 !important;
}

/* Messages d'erreur */
.ek-form-contact .gfield_error input,
.ek-form-contact .gfield_error textarea,
.ek-form-contact .gfield_error select {
  border-color: #ff4444 !important;
}

.ek-form-contact .gfield_error .gfield_label {
  color: #ff6b6b !important;
}

.ek-form-contact .validation_message,
.ek-form-contact .gform_wrapper .validation_message {
  color: #ff6b6b !important;
  font-size: 13px;
  margin-top: 5px;
}

.ek-form-contact .gform_validation_errors,
.ek-form-contact .validation_error {
  background: rgba(255, 68, 68, 0.1) !important;
  border: 1px solid rgba(255, 68, 68, 0.3) !important;
  border-radius: 0 !important;
  color: #ff6b6b !important;
  padding: 15px 20px !important;
  margin-bottom: 20px;
}

/* Message de confirmation */
.ek-form-contact .gform_confirmation_message,
.ek-form-contact .gform_wrapper .gform_confirmation_message {
  background: rgba(255, 171, 0, 0.1) !important;
  border: 1px solid rgba(255, 171, 0, 0.3) !important;
  border-radius: 0 !important;
  color: #FFD93D !important;
  padding: 20px !important;
  text-align: center;
}

/* Titres de pages du formulaire */
.ek-form-contact .ek-form-title,
.ek-form-contact .gform_wrapper .ek-form-title {
  border-color: rgba(255, 171, 0, 0.3) !important;
}

.ek-form-contact .ek-form-title::after,
.ek-form-contact .ek-form-title::before {
  background: rgba(255, 171, 0, 0.3) !important;
  background-color: rgba(255, 171, 0, 0.3) !important;
  border-color: rgba(255, 171, 0, 0.3) !important;
}

.ek-form-contact .ek-form-title hr,
.ek-form-contact .ek-form-title + hr,
.ek-form-contact hr {
  border: none !important;
  border-top: 1px solid rgba(255, 171, 0, 0.3) !important;
  background: rgba(255, 171, 0, 0.3) !important;
}

/* Séparateurs Gravity Forms (gsection) - masquer le doublon */
.ek-form-contact .gsection,
.ek-form-contact .gform_wrapper .gsection {
  border-bottom: none !important;
}

.ek-form-contact .gsection_title,
.ek-form-contact .gform_wrapper .gsection_title {
  border-bottom: 1px solid rgba(255, 171, 0, 0.3) !important;
}

.ek-form-contact .gsection_description,
.ek-form-contact .gform_wrapper .gsection_description {
  border: none !important;
}

/* Espacement des champs */
.ek-form-contact .gfield,
.ek-form-contact .gform_wrapper .gfield {
  margin-bottom: 20px;
}

/* Champs sur une ligne (half width) */
.ek-form-contact .gform_wrapper .gfield--width-half {
  width: calc(50% - 10px);
  display: inline-block;
  vertical-align: top;
}

/* Responsive */
@media (max-width: 767px) {
  .ek-form-contact input[type="text"],
  .ek-form-contact input[type="email"],
  .ek-form-contact textarea,
  .ek-form-contact .gform_wrapper input:not([type="submit"]),
  .ek-form-contact .gform_wrapper textarea {
    padding: 16px !important;
    font-size: 16px !important; /* Évite le zoom sur iOS */
  }

  .ek-form-contact .gform_button,
  .ek-form-contact .gform_wrapper input[type="submit"] {
    width: 100%;
    padding: 18px 30px !important;
  }

  .ek-form-contact .gform_wrapper .gfield--width-half {
    width: 100%;
    display: block;
  }
}
