/* =========================================================
   GRAVITY BMD
   ---------------------------------------------------------
   Formulaire : bmd-form
   Champ avec icône : bmd-has-icon + bmd-icon--*
   Champ sans séparateur : bmd-no-divider
   Champ avec séparateur forcé : bmd-keep-divider
   Radios en cards : bmd-choice-cards
   Image choices en cards : bmd-choice-image-cards
========================================================= */


/* =========================================================
   VARIABLES
========================================================= */

form.bmd-form{
  /* couleurs */
  --bmd-color-text: var(--e-global-color-text);
  --bmd-color-primary: var(--e-global-color-primary);
  --bmd-color-secondary: var(--e-global-color-secondary);
  --bmd-color-accent: var(--e-global-color-accent);

  --bmd-color-white: #ffffff;
  --bmd-color-surface-soft: #f7f7f7;
  --bmd-color-surface-softer: #f6f6f6;

  --bmd-color-border: var(--bmd-color-secondary);
  --bmd-color-divider: rgba(17, 35, 55, 0.12);
  --bmd-color-hover: rgba(17, 35, 55, 0.04);
  --bmd-color-placeholder: #2E4C10;
  --bmd-color-description-opacity: 0.7;
  --bmd-color-note-opacity: 0.85;

  --bmd-focus-ring-color: rgba(17, 35, 55, 0.16);
  --bmd-focus-ring-width: 2px;
  --bmd-focus-ring-offset: 2px;

  /* typos */
  --bmd-font-text-family: var(--e-global-typography-20bf388-font-family), Sans-serif;
  --bmd-font-text-size: var(--e-global-typography-text-font-size);
  --bmd-font-text-size-sm: 15px;
  --bmd-font-text-weight: var(--e-global-typography-text-font-weight);
  --bmd-font-text-line-height: var(--e-global-typography-text-line-height);
  --bmd-font-text-line-height-tight: 1.3;
  --bmd-font-text-line-height-ui: 1.45;
  --bmd-font-text-line-height-relaxed: 1.6;
  --bmd-font-text-letter-spacing: var(--e-global-typography-text-letter-spacing);

  --bmd-font-accent-family: var(--e-global-typography-20bf388-font-family), Sans-serif;
  --bmd-font-accent-size: var(--e-global-typography-accent-font-size);
  --bmd-font-accent-weight: var(--e-global-typography-accent-font-weight);
  --bmd-font-accent-line-height: var(--e-global-typography-accent-line-height);
  --bmd-font-accent-letter-spacing: var(--e-global-typography-accent-letter-spacing);

  /* bordures / rayons / surface */
  --bmd-field-bg: var(--bmd-color-white);
  --bmd-surface-bg: var(--bmd-color-white);
  --bmd-surface-soft: var(--bmd-color-surface-soft);
  --bmd-surface-softer: var(--bmd-color-surface-softer);

  --bmd-border-width: 1px;
  --bmd-border-color: var(--e-global-color-4e61e63);
  --bmd-divider-color: var(--bmd-color-divider);

  --bmd-border-radius: 10px;
  --bmd-card-radius: 18px;
  --bmd-avatar-radius: 999px;

  /* espacements / layout */
  --bmd-fields-gap-x: 20px;
  --bmd-fields-gap-y: 20px;
  --bmd-field-padding-bottom: 38px;

  --bmd-complex-gap-x: 20px;
  --bmd-complex-gap-y: 20px;

  --bmd-info-block-gap: 20px;
  --bmd-confirm-actions-gap: 16px;

  /* champs */
  --bmd-field-padding-y: 10px;
  --bmd-field-padding-x: 20px;
  --bmd-field-font-size: 16px;
  --bmd-textarea-min-height: 156px;
  --bmd-control-height: var(--bmd-choice-cards-min-height);
  --bmd-field-padding-y: 20px;
  --bmd-input-padding-y: 0px;

  /* labels + icones */
  --bmd-icon-size: 35px;
  --bmd-icon-gap: 10px;
  --bmd-label-shift: -50px;
  --bmd-label-margin-bottom: 24px;

  --bmd-required-font-size: 0.7em;
  --bmd-required-offset-top: -0.35em;
  --bmd-required-offset-left: 0.2em;

  /* boutons */
  --bmd-button-padding-y: 12px;
  --bmd-button-padding-x: 18px;
  --bmd-submit-hover-color: var(--e-global-color-7bbd963);

  /* choice cards */
  --bmd-choice-cards-columns: 2;
  --bmd-choice-cards-gap: 12px;
  --bmd-choice-cards-min-height: 58px;
  --bmd-choice-cards-padding-y: 14px;
  --bmd-choice-cards-padding-x: 16px;
  --bmd-choice-cards-mobile-min-height: 52px;
  --bmd-choice-cards-mobile-padding-y: 12px;
  --bmd-choice-cards-mobile-padding-x: 14px;

  --bmd-choice-card-bg: #ffffff;
  --bmd-choice-card-border-color: #2E4C10;
  --bmd-choice-card-text-color: #2E4C10;

  --bmd-choice-card-hover-bg: #2E4C10;
  --bmd-choice-card-hover-border-color: #2E4C10;
  --bmd-choice-card-hover-text-color: #ffffff;

  --bmd-choice-card-active-bg: var(--bmd-choice-card-hover-bg);
  --bmd-choice-card-active-border-color: var(--bmd-choice-card-hover-border-color);
  --bmd-choice-card-active-text-color: var(--bmd-choice-card-hover-text-color);

  /* image choice cards */
  --bmd-image-cards-columns: 3;
  --bmd-image-cards-gap: 14px;
  --bmd-image-cards-label-min-height: 96px;
  --bmd-image-cards-last-min-height: 120px;
  --bmd-image-cards-mobile-min-height: 72px;
  --bmd-image-cards-mobile-last-min-height: 90px;
  --bmd-image-cards-padding-y: 14px;
  --bmd-image-cards-padding-x: 16px;
  --bmd-image-cards-mobile-padding-y: 12px;
  --bmd-image-cards-mobile-padding-x: 14px;

  /* modules optionnels */
  --bmd-profile-card-padding: 22px 20px;
  --bmd-profile-avatar-size: 136px;

  /* mapping variables */
  --gf-color-primary: var(--bmd-color-secondary) !important;
  --gf-color-primary-darker: var(--bmd-color-secondary) !important;
  --gf-color-in-ctrl-primary: var(--bmd-color-secondary) !important;
  --gf-color-in-ctrl-primary-darker: var(--bmd-color-secondary) !important;
  --gf-ctrl-border-color: var(--bmd-border-color) !important;
  --gf-ctrl-border-color-focus: var(--bmd-border-color) !important;
  --gf-ctrl-outline-color-focus: transparent !important;
  --gf-ctrl-bg-color-focus: transparent !important;
  --gf-ctrl-color-focus: var(--bmd-color-text) !important;

  /* espacements choix */
  --bmd-radio-gap-y: 14px;
  --bmd-checkbox-gap-y: 3px;
  --bmd-choice-inline-gap: 10px;
}

/* =========================================================
   UTILITAIRES
========================================================= */

form.bmd-form fieldset.gfield legend.gfield_label{
  margin-bottom: 5px !important;
}

form.bmd-form .bmd-legal-link,
form.bmd-form .bmd-legal-link:hover{
  text-decoration: underline !important;
}

form.bmd-form .partial_entry_warning,
form.bmd-form .gform_required_legend,
form.bmd-form .gfield_required_text{
  display: none !important;
}

/* =========================================================
   BASE FORMULAIRE
========================================================= */

form.bmd-form{
  font-family: var(--bmd-font-text-family) !important;
  color: var(--bmd-color-text) !important;
}

form.bmd-form :is(
  input[type="text"],
  input[type="number"],
  input[type="email"],
  input[type="tel"],
  input[type="url"],
  input[type="date"],
  select,
  textarea,
  .gfield_radio label,
  .gfield_checkbox label,
  .gfield .gfield_description:not(.validation_message):not(.gfield_validation_message),
  .bmd-confirm__lead,
  .bmd-confirm__text,
  .bmd-confirm__note
){
  font-family: var(--bmd-font-text-family) !important;
  font-size: var(--bmd-font-text-size) !important;
  font-weight: var(--bmd-font-text-weight) !important;
  line-height: var(--bmd-font-text-line-height) !important;
  letter-spacing: var(--bmd-font-text-letter-spacing) !important;
  color: var(--bmd-color-text) !important;
}

/* =========================================================
   LABELS
========================================================= */

form.bmd-form .gfield_label,
form.bmd-form legend.gform-field-label{
  font-family: var(--bmd-font-accent-family) !important;
  font-size: var(--bmd-font-accent-size) !important;
  font-weight: var(--bmd-font-accent-weight) !important;
  line-height: var(--bmd-font-accent-line-height) !important;
  letter-spacing: var(--bmd-font-accent-letter-spacing) !important;
  color: var(--bmd-color-secondary) !important;

  display: block;
  position: relative;
  min-height: var(--bmd-icon-size);
  margin-bottom: var(--bmd-label-margin-bottom) !important;
}

form.bmd-form .gfield.bmd-has-icon :is(.gfield_label, legend.gform-field-label){
  padding-left: calc(var(--bmd-icon-size) + var(--bmd-icon-gap));
  transform: translateX(var(--bmd-label-shift));
}

form.bmd-form .gfield.bmd-has-icon :is(.gfield_label, legend.gform-field-label)::before{
  content: "";
  position: absolute;
  top: 0.1em;
  left: 0;
  width: var(--bmd-icon-size);
  height: var(--bmd-icon-size);
  background-image: var(--bmd-field-icon);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

form.bmd-form .gfield_required,
form.bmd-form .gfield_required .gfield_required_custom,
form.bmd-form .gfield_required_custom{
  font-family: var(--bmd-font-accent-family) !important;
  font-size: var(--bmd-required-font-size) !important;
  font-weight: var(--bmd-font-accent-weight) !important;
  line-height: 1 !important;
  color: var(--bmd-color-secondary) !important;
  position: relative;
  top: var(--bmd-required-offset-top);
  left: var(--bmd-required-offset-left);
}

/* =========================================================
   CHAMPS
========================================================= */

form.bmd-form{
  --bmd-control-height: var(--bmd-choice-cards-min-height);
  --bmd-input-padding-y: 0px; /* utile si un jour tu enlèves la hauteur fixe */
}

/* Inputs classiques */
form.bmd-form :is(
  input[type="text"],
  input[type="number"],
  input[type="email"],
  input[type="tel"],
  input[type="url"],
  input[type="date"]
){
  font-size: var(--bmd-field-font-size) !important;
  min-height: var(--bmd-control-height) !important;
  height: var(--bmd-control-height) !important;
  background: var(--bmd-field-bg) !important;
  border: var(--bmd-border-width) solid var(--bmd-border-color) !important;
  border-radius: var(--bmd-border-radius) !important;
  padding: var(--bmd-input-padding-y) var(--bmd-field-padding-x) !important;
  box-shadow: none !important;
  outline: none !important;
  line-height: normal !important;
  box-sizing: border-box !important;
}

/* Selects génériques */
form.bmd-form select{
  font-size: var(--bmd-field-font-size) !important;
  min-height: var(--bmd-control-height) !important;
  height: auto !important;
  background: var(--bmd-field-bg) !important;
  border: var(--bmd-border-width) solid var(--bmd-border-color) !important;
  border-radius: var(--bmd-border-radius) !important;
  padding: 0.95em 44px 0.95em var(--bmd-field-padding-x) !important;
  box-shadow: none !important;
  outline: none !important;
  line-height: 1.2 !important;
  box-sizing: border-box !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  display: block !important;
}

/* Champ pays du bloc adresse GF */
form.bmd-form .ginput_container_address .ginput_address_country{
  display: block !important;
}

form.bmd-form .ginput_container_address .ginput_address_country select{
  width: 100% !important;
  min-height: var(--bmd-control-height) !important;
  height: auto !important;
  padding-top: 0.95em !important;
  padding-bottom: 0.95em !important;
}

/* Textarea */
form.bmd-form textarea{
  font-size: var(--bmd-field-font-size) !important;
  min-height: var(--bmd-textarea-min-height) !important;
  background: var(--bmd-field-bg) !important;
  border: var(--bmd-border-width) solid var(--bmd-border-color) !important;
  border-radius: var(--bmd-border-radius) !important;
  padding: var(--bmd-field-padding-y) var(--bmd-field-padding-x) !important;
  box-shadow: none !important;
  outline: none !important;
  resize: vertical;
  box-sizing: border-box !important;
  line-height: var(--bmd-font-text-line-height-ui) !important;
}

/* Focus générique */
form.bmd-form :is(
  input[type="text"],
  input[type="number"],
  input[type="email"],
  input[type="tel"],
  input[type="url"],
  input[type="date"],
  select,
  textarea
):focus{
  background: var(--bmd-field-bg) !important;
  border-color: var(--bmd-border-color) !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Focus visible */
form.bmd-form :is(
  input[type="text"],
  input[type="number"],
  input[type="email"],
  input[type="tel"],
  input[type="url"],
  input[type="date"],
  select,
  textarea,
  .gform_button,
  input[type="submit"],
  button[type="submit"]
):focus-visible{
  outline: var(--bmd-focus-ring-width) solid var(--bmd-focus-ring-color) !important;
  outline-offset: var(--bmd-focus-ring-offset);
}

/* Placeholder */
form.bmd-form :is(input, textarea)::placeholder{
  color: var(--bmd-color-placeholder) !important;
  opacity: 1 !important;
}

/* Couleur placeholder du select Pays spécifique si option vide sélectionnée */
form.bmd-form #input_2_14_6:has(option[value=""]:checked){
  color: var(--bmd-color-placeholder) !important;
}

form.bmd-form #input_2_14_6 option{
  color: var(--bmd-color-text) !important;
}

/* Champ "other" */
form.bmd-form input.gchoice_other_control[type="text"],
form.bmd-form input.gchoice_other_control[type="text"][disabled]{
  color: var(--bmd-color-placeholder) !important;
  -webkit-text-fill-color: var(--bmd-color-placeholder) !important;
  opacity: 1 !important;
}

form.bmd-form input.gchoice_other_control[type="text"]:not([disabled]){
  color: var(--bmd-color-text) !important;
  -webkit-text-fill-color: var(--bmd-color-text) !important;
  opacity: 1 !important;
}

/* Number input reset */
form.bmd-form input[type="number"],
form.bmd-form input[type="number"]:hover,
form.bmd-form input[type="number"]:focus{
  -webkit-appearance: none !important;
  appearance: none !important;
}

form.bmd-form input[type="number"]::-webkit-inner-spin-button,
form.bmd-form input[type="number"]::-webkit-outer-spin-button{
  -webkit-appearance: none !important;
  appearance: none !important;
  margin: 0 !important;
  display: none !important;
}

form.bmd-form input[type="number"]{
  -moz-appearance: textfield !important;
}

@media (max-width: 767px){
  form.bmd-form{
    --bmd-control-height: var(--bmd-choice-cards-mobile-min-height);
  }
}

/* =========================================================
   LAYOUT GLOBAL
========================================================= */

form.bmd-form .gform_fields{
  column-gap: var(--bmd-fields-gap-x) !important;
  row-gap: var(--bmd-fields-gap-y) !important;
}

form.bmd-form .gform_fields > .gfield:not(.gfield_visibility_hidden):not(.gfield--type-section){
  border-bottom: var(--bmd-border-width) solid var(--bmd-divider-color);
  padding-bottom: var(--bmd-field-padding-bottom);
  margin-bottom: 0;
}

form.bmd-form .gform_fields > .gfield:not(.gfield_visibility_hidden):not(.gfield--type-section):last-child:not(.bmd-keep-divider),
form.bmd-form .gform_fields > .gfield.bmd-no-divider{
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}

form.bmd-form .gform_fields > .gfield.bmd-keep-divider{
  border-bottom: var(--bmd-border-width) solid var(--bmd-divider-color) !important;
  padding-bottom: var(--bmd-field-padding-bottom) !important;
}

form.bmd-form .ginput_container_address.gform-grid-row,
form.bmd-form .ginput_container_name.gform-grid-row{
  row-gap: var(--bmd-complex-gap-y) !important;
  column-gap: 0 !important;
  margin-inline: calc(var(--bmd-complex-gap-x) / -2);
}

form.bmd-form .ginput_container_address.gform-grid-row > .gform-grid-col,
form.bmd-form .ginput_container_name.gform-grid-row > .gform-grid-col{
  padding-inline: calc(var(--bmd-complex-gap-x) / 2);
  box-sizing: border-box;
}

/* =========================================================
   RADIOS / CHECKBOXES STANDARD
========================================================= */

form.bmd-form input[type="radio"],
form.bmd-form .gfield_checkbox input[type="checkbox"]{
  accent-color: var(--bmd-color-secondary) !important;
}

form.bmd-form .gfield_radio{
  row-gap: var(--bmd-radio-gap-y) !important;
}

form.bmd-form .gfield_checkbox{
  display: grid;
  row-gap: var(--bmd-checkbox-gap-y) !important;
}

form.bmd-form .gfield_radio .gchoice,
form.bmd-form .gfield_checkbox .gchoice{
  display: flex;
  align-items: center;
  gap: var(--bmd-choice-inline-gap);
  margin: 0 !important;
  padding: 0 !important;
}

form.bmd-form .gfield_radio input[type="radio"],
form.bmd-form .gfield_checkbox input[type="checkbox"],
form.bmd-form .gfield_radio label,
form.bmd-form .gfield_checkbox label{
  margin: 0 !important;
  padding: 0 !important;
}

form.bmd-form .gfield .gfield_description:not(.validation_message):not(.gfield_validation_message){
  line-height: var(--bmd-font-text-line-height-ui) !important;
  opacity: var(--bmd-color-description-opacity);
}

/* =========================================================
   BOUTONS
========================================================= */

form.bmd-form :is(.gform_button, input[type="submit"], button[type="submit"]),
form.bmd-form .bmd-confirm__contact{
  background-color: transparent !important;
  font-family: var(--bmd-font-accent-family) !important;
  font-size: var(--bmd-font-accent-size) !important;
  font-weight: var(--bmd-font-accent-weight) !important;
  line-height: var(--bmd-font-accent-line-height) !important;
  letter-spacing: var(--bmd-font-accent-letter-spacing) !important;
  color: var(--bmd-color-secondary) !important;
  border: var(--bmd-border-width) solid var(--bmd-color-secondary) !important;
  border-radius: var(--bmd-border-radius) !important;
  box-shadow: none !important;
  text-decoration: none !important;
  padding: var(--bmd-button-padding-y) var(--bmd-button-padding-x) !important;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease !important;
}

form.bmd-form .bmd-confirm__contact{
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

form.bmd-form :is(.gform_button, input[type="submit"], button[type="submit"]):is(:hover, :focus),
form.bmd-form .bmd-confirm__contact:is(:hover, :focus){
  background-color: var(--bmd-color-secondary) !important;
  color: var(--bmd-color-primary) !important;
  border-color: var(--bmd-color-secondary) !important;
}

form.bmd-form .gform_footer,
form.bmd-form .gform_page_footer{
  padding: 15px 0 0 !important;
  margin: 0 !important;
}

/* =========================================================
   MESSAGES / CONFIRMATION
========================================================= */

form.bmd-form :is(.gform_confirmation_message, .gfield_validation_message, .validation_message){
  font-family: var(--bmd-font-text-family) !important;
}

form.bmd-form .bmd-confirm{
  margin-top: 6px;
}

form.bmd-form .bmd-confirm__title{
  font-family: var(--bmd-font-accent-family);
  font-size: var(--bmd-font-accent-size);
  font-weight: var(--bmd-font-accent-weight);
  line-height: var(--bmd-font-accent-line-height);
  letter-spacing: var(--bmd-font-accent-letter-spacing);
  color: var(--bmd-color-secondary);
  margin: 0 0 10px 0;
}

form.bmd-form .bmd-confirm__lead,
form.bmd-form .bmd-confirm__text{
  margin: 0 0 10px 0;
}

form.bmd-form .bmd-confirm__actions{
  display: flex;
  align-items: center;
  gap: var(--bmd-confirm-actions-gap);
  flex-wrap: wrap;
  margin-top: 14px;
}

form.bmd-form .bmd-confirm__retry{
  font-family: var(--bmd-font-text-family);
  font-size: var(--bmd-font-text-size);
  font-weight: var(--bmd-font-text-weight);
  line-height: 1.2;
  letter-spacing: var(--bmd-font-text-letter-spacing);
  color: var(--bmd-color-secondary);
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-size: 100% 1px;
  background-position: 0 100%;
}

form.bmd-form .bmd-confirm__retry:hover{
  filter: brightness(0.9);
}

form.bmd-form .bmd-confirm__note{
  margin: 14px 0 0 0;
  font-size: 0.9em;
  line-height: 1.4;
  opacity: var(--bmd-color-note-opacity);
}

/* =========================================================
   BLOCS HTML NEUTRES
========================================================= */

form.bmd-form .bmd-info-block{
  display: grid;
  grid-template-columns: 1.1fr 1.2fr;
  column-gap: var(--bmd-info-block-gap);
  align-items: start;
}

form.bmd-form .bmd-info-title{
  font-family: var(--bmd-font-accent-family);
  font-size: var(--bmd-font-accent-size);
  font-weight: var(--bmd-font-accent-weight);
  line-height: var(--bmd-font-accent-line-height);
  letter-spacing: var(--bmd-font-accent-letter-spacing);
  color: var(--bmd-color-secondary);
  margin: 0 0 8px;
}

form.bmd-form .bmd-info-title.bmd-has-icon{
  transform: translateX(var(--bmd-label-shift));
  display: block;
  position: relative;
  padding-left: calc(var(--bmd-icon-size) + var(--bmd-icon-gap) + 6px);
  min-height: var(--bmd-icon-size);
}

form.bmd-form .bmd-info-title.bmd-has-icon::before{
  content: "";
  position: absolute;
  top: 0.1em;
  left: 0;
  width: var(--bmd-icon-size);
  height: var(--bmd-icon-size);
  background-image: var(--bmd-field-icon);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

/* =========================================================
   CARD PROFIL
========================================================= */

form.bmd-form .bmd-profile-card{
  background: var(--bmd-surface-bg);
  border: var(--bmd-border-width) solid var(--bmd-color-secondary);
  border-radius: var(--bmd-card-radius);
  padding: var(--bmd-profile-card-padding);
  text-align: center;
}

form.bmd-form .bmd-profile-card__avatar{
  width: var(--bmd-profile-avatar-size);
  height: var(--bmd-profile-avatar-size);
  margin: 0 auto 14px;
  border-radius: var(--bmd-avatar-radius);
  overflow: hidden;
  background: var(--bmd-surface-softer);
}

form.bmd-form .bmd-profile-card__avatar img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

form.bmd-form .bmd-profile-card__name,
form.bmd-form .bmd-profile-card__text{
  font-family: var(--bmd-font-text-family);
  font-size: var(--bmd-font-text-size-sm);
  font-weight: 400;
  letter-spacing: .03em;
}

form.bmd-form .bmd-profile-card__name{
  margin: 0 0 6px;
  line-height: 1.5;
  color: var(--bmd-color-accent);
}

form.bmd-form .bmd-profile-card__text{
  margin: 0;
  line-height: var(--bmd-font-text-line-height-relaxed);
  color: var(--bmd-color-text);
}

/* =========================================================
   RADIOS EN CARDS
========================================================= */

form.bmd-form .bmd-choice-cards .gfield_radio{
  display: grid;
  grid-template-columns: repeat(var(--bmd-choice-cards-columns), minmax(0, 1fr));
  gap: var(--bmd-choice-cards-gap);
  row-gap: var(--bmd-choice-cards-gap) !important;
}

form.bmd-form .bmd-choice-cards .gchoice{
  position: relative;
  display: block;
  margin: 0 !important;
  padding: 0 !important;
}

form.bmd-form .bmd-choice-cards .gchoice input[type="radio"],
form.bmd-form .bmd-choice-image-cards .gchoice input[type="radio"]{
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

form.bmd-form .bmd-choice-cards .gchoice label{
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-height: var(--bmd-choice-cards-min-height);
  padding: var(--bmd-choice-cards-padding-y) var(--bmd-choice-cards-padding-x) !important;
  margin: 0 !important;
  border: var(--bmd-border-width) solid var(--bmd-choice-card-border-color) !important;
  border-radius: var(--bmd-border-radius) !important;
  background-color: var(--bmd-choice-card-bg) !important;
  cursor: pointer;
  text-align: center;
  box-sizing: border-box;

  font-family: var(--bmd-font-text-family) !important;
  font-size: var(--bmd-font-text-size) !important;
  font-weight: var(--bmd-font-text-weight) !important;
  line-height: var(--bmd-font-text-line-height-tight) !important;
  letter-spacing: var(--bmd-font-text-letter-spacing) !important;
  color: var(--bmd-choice-card-text-color) !important;
  -webkit-text-fill-color: var(--bmd-choice-card-text-color) !important;

  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

form.bmd-form .bmd-choice-cards .gchoice:hover label{
  background-color: var(--bmd-choice-card-hover-bg) !important;
  border-color: var(--bmd-choice-card-hover-border-color) !important;
  color: var(--bmd-choice-card-hover-text-color) !important;
  -webkit-text-fill-color: var(--bmd-choice-card-hover-text-color) !important;
}

form.bmd-form .bmd-choice-cards .gchoice input.gfield-choice-input[type="radio"]:checked + label.gform-field-label{
  background-color: var(--bmd-choice-card-active-bg) !important;
  border-color: var(--bmd-choice-card-active-border-color) !important;
  color: var(--bmd-choice-card-active-text-color) !important;
  -webkit-text-fill-color: var(--bmd-choice-card-active-text-color) !important;
}

form.bmd-form .bmd-choice-cards .gchoice input.gfield-choice-input[type="radio"]:checked + label.gform-field-label *{
  color: var(--bmd-choice-card-active-text-color) !important;
  -webkit-text-fill-color: var(--bmd-choice-card-active-text-color) !important;
}

form.bmd-form .bmd-choice-cards .gchoice:has(input[type="radio"]:focus-visible) label,
form.bmd-form .bmd-choice-image-cards .gchoice:has(input[type="radio"]:focus-visible) .gfield-image-choice-wrapper-outer{
  outline: var(--bmd-focus-ring-width) solid var(--bmd-focus-ring-color);
  outline-offset: var(--bmd-focus-ring-offset);
}

form.bmd-form .bmd-choice-cards .gchoice label::before,
form.bmd-form .bmd-choice-cards .gchoice label::after,
form.bmd-form .bmd-choice-image-cards .gchoice label::before,
form.bmd-form .bmd-choice-image-cards .gchoice label::after{
  display: none !important;
}

/* =========================================================
   IMAGE CHOICE CARDS
========================================================= */

form.bmd-form .bmd-choice-image-cards{
  --gf-local-border-color: var(--bmd-color-secondary) !important;
  --gf-local-shadow: none !important;
}

form.bmd-form .bmd-choice-image-cards .gfield_radio{
  display: grid;
  grid-template-columns: repeat(var(--bmd-image-cards-columns), minmax(0, 1fr));
  gap: var(--bmd-image-cards-gap);
  row-gap: var(--bmd-image-cards-gap) !important;
  align-items: stretch;
}

form.bmd-form .bmd-choice-image-cards .gchoice{
  position: relative;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  height: 100%;
}

form.bmd-form .bmd-choice-image-cards .gfield-image-choice-wrapper-outer{
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  border: var(--bmd-border-width) solid var(--bmd-color-secondary) !important;
  background: var(--bmd-surface-bg);
  transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

form.bmd-form .bmd-choice-image-cards .gfield-choice-image-wrapper{
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-bottom: var(--bmd-border-width) solid var(--bmd-divider-color);
  background: var(--bmd-surface-soft);
  flex: 0 0 auto;
}

form.bmd-form .bmd-choice-image-cards .gfield-choice-image{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

form.bmd-form .bmd-choice-image-cards .gfield-choice-image-no-image{
  display: none;
}

form.bmd-form .bmd-choice-image-cards .gfield-image-choice-wrapper-inner{
  display: flex;
  flex: 1 1 auto;
  min-height: var(--bmd-image-cards-label-min-height);
}

form.bmd-form .bmd-choice-image-cards .gchoice label{
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: var(--bmd-image-cards-label-min-height);
  margin: 0 !important;
  padding: var(--bmd-image-cards-padding-y) var(--bmd-image-cards-padding-x) !important;
  text-align: center;
  cursor: pointer;
  box-sizing: border-box;

  font-family: var(--bmd-font-text-family) !important;
  font-size: var(--bmd-font-text-size-sm) !important;
  font-weight: var(--bmd-font-text-weight) !important;
  line-height: 1.35 !important;
  letter-spacing: var(--bmd-font-text-letter-spacing) !important;
  color: var(--bmd-color-text) !important;
  background: transparent !important;
}

form.bmd-form .bmd-choice-image-cards .gchoice:hover .gfield-image-choice-wrapper-outer{
  background: var(--bmd-color-hover);
  border-color: var(--bmd-color-secondary) !important;
}

form.bmd-form .bmd-choice-image-cards .gchoice:has(input[type="radio"]:checked) .gfield-image-choice-wrapper-outer{
  background: var(--bmd-surface-bg);
  border-color: var(--bmd-color-secondary) !important;
}

form.bmd-form .bmd-choice-image-cards .gchoice:has(input[type="radio"]:checked) .gfield-choice-image-wrapper{
  border-bottom-color: var(--bmd-color-secondary) !important;
}

form.bmd-form .bmd-choice-image-cards .gchoice input[type="radio"]:checked + label,
form.bmd-form .bmd-choice-image-cards .gchoice input[type="radio"]:checked ~ label{
  background: var(--bmd-color-secondary) !important;
  color: var(--bmd-color-primary) !important;
}

form.bmd-form .bmd-choice-image-cards .gchoice:last-child .gfield-choice-image-wrapper{
  display: none;
}

form.bmd-form .bmd-choice-image-cards .gchoice:last-child .gfield-image-choice-wrapper-inner,
form.bmd-form .bmd-choice-image-cards .gchoice:last-child label{
  min-height: var(--bmd-image-cards-last-min-height);
}

form.bmd-form .bmd-choice-image-cards .gchoice,
form.bmd-form .bmd-choice-image-cards .gchoice *,
form.bmd-form .bmd-choice-image-cards .gfield-image-choice-wrapper-outer,
form.bmd-form .bmd-choice-image-cards .gfield-image-choice-wrapper-inner,
form.bmd-form .bmd-choice-image-cards .gfield-choice-image-wrapper{
  box-shadow: none !important;
}

form.bmd-form .bmd-choice-image-cards .gchoice,
form.bmd-form .bmd-choice-image-cards .gfield-image-choice-wrapper-inner{
  border-block: 0 !important;
  border-inline: 0 !important;
}

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

@media (max-width: 1024px){
  form.bmd-form .bmd-choice-image-cards .gfield_radio{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 880px){
  form.bmd-form .bmd-info-block{
    grid-template-columns: 1fr;
  }

  form.bmd-form .bmd-profile-card{
    margin-top: 10px;
  }
}

@media (max-width: 767px){
  form.bmd-form{
    --bmd-choice-cards-columns: 1;
    --bmd-image-cards-columns: 1;
  }

  form.bmd-form .bmd-choice-cards .gfield_radio{
    gap: 10px;
  }

  form.bmd-form .bmd-choice-cards .gchoice label{
    min-height: var(--bmd-choice-cards-mobile-min-height);
    padding: var(--bmd-choice-cards-mobile-padding-y) var(--bmd-choice-cards-mobile-padding-x) !important;
  }

  form.bmd-form .bmd-choice-image-cards .gfield_radio{
    gap: 10px;
  }

  form.bmd-form .bmd-choice-image-cards .gfield-image-choice-wrapper-inner{
    min-height: var(--bmd-image-cards-mobile-min-height);
  }

  form.bmd-form .bmd-choice-image-cards .gchoice label{
    min-height: var(--bmd-image-cards-mobile-min-height);
    font-size: var(--bmd-font-text-size-sm) !important;
    padding: var(--bmd-image-cards-mobile-padding-y) var(--bmd-image-cards-mobile-padding-x) !important;
  }

  form.bmd-form .bmd-choice-image-cards .gchoice:last-child .gfield-image-choice-wrapper-inner,
  form.bmd-form .bmd-choice-image-cards .gchoice:last-child label{
    min-height: var(--bmd-image-cards-mobile-last-min-height);
  }
}

/* =========================================================
   ICÔNES
========================================================= */

.bmd-icon--user{ --bmd-field-icon: url("/wp-content/uploads/icons/icon-user.svg"); }
.bmd-icon--mail{ --bmd-field-icon: url("/wp-content/uploads/icons/icon-mail.svg"); }
.bmd-icon--phone{ --bmd-field-icon: url("/wp-content/uploads/icons/icon-phone.svg"); }
.bmd-icon--calendar{ --bmd-field-icon: url("/wp-content/uploads/icons/icon-calendar.svg"); }
.bmd-icon--file{ --bmd-field-icon: url("/wp-content/uploads/icons/icon-file.svg"); }
.bmd-icon--message{ --bmd-field-icon: url("/wp-content/uploads/icons/icon-message.svg"); }
.bmd-icon--info{ --bmd-field-icon: url("/wp-content/uploads/icons/icon-info.svg"); }


/* =========================================================
   OPTIONS UNIQUE À FPS (delete for other forms)
========================================================= */

/* BOUTON FPS */

form.bmd-form .gform_footer,
form.bmd-form .gform_page_footer{
  padding: 15px 0 0 !important;
  margin: 0 !important;
}

form.bmd-form .gform_footer .bmd-submit-icon,
form.bmd-form .gform_page_footer .bmd-submit-icon{
  appearance: none;
  -webkit-appearance: none;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  color: var(--bmd-color-secondary) !important;
  text-decoration: none !important;
  cursor: pointer;
}

form.bmd-form .gform_footer .bmd-submit-icon__content,
form.bmd-form .gform_page_footer .bmd-submit-icon__content{
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

form.bmd-form .gform_footer .bmd-submit-icon__icon,
form.bmd-form .gform_page_footer .bmd-submit-icon__icon{
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  line-height: 0;
}

form.bmd-form .gform_footer .bmd-submit-icon__icon svg,
form.bmd-form .gform_page_footer .bmd-submit-icon__icon svg{
  width: clamp(40px, calc(22.5714px + 1.4286vw), 52px);
  height: auto;
  display: block;
}

form.bmd-form .gform_footer .bmd-submit-icon__text,
form.bmd-form .gform_page_footer .bmd-submit-icon__text{
  font-family: var(--bmd-font-accent-family) !important;
  font-size: var(--bmd-font-accent-size) !important;
  font-weight: var(--bmd-font-accent-weight) !important;
  line-height: var(--bmd-font-accent-line-height) !important;
  letter-spacing: var(--bmd-font-accent-letter-spacing) !important;
  color: currentColor !important;
}

form.bmd-form .gform_footer .bmd-submit-icon:hover .bmd-submit-icon__text,
form.bmd-form .gform_footer .bmd-submit-icon:focus-visible .bmd-submit-icon__text,
form.bmd-form .gform_page_footer .bmd-submit-icon:hover .bmd-submit-icon__text,
form.bmd-form .gform_page_footer .bmd-submit-icon:focus-visible .bmd-submit-icon__text,
form.bmd-form .gform_footer .bmd-submit-icon:hover .bmd-submit-icon__icon,
form.bmd-form .gform_footer .bmd-submit-icon:focus-visible .bmd-submit-icon__icon,
form.bmd-form .gform_page_footer .bmd-submit-icon:hover .bmd-submit-icon__text,
form.bmd-form .gform_page_footer .bmd-submit-icon:focus-visible .bmd-submit-icon__text,
form.bmd-form .gform_page_footer .bmd-submit-icon:hover .bmd-submit-icon__icon,
form.bmd-form .gform_page_footer .bmd-submit-icon:focus-visible .bmd-submit-icon__icon{
  color: var(--bmd-submit-hover-color) !important;
}

form.bmd-form .gform_footer .bmd-submit-icon,
form.bmd-form .gform_page_footer .bmd-submit-icon{
  outline: none !important;
}

form.bmd-form .gform_footer .bmd-submit-icon:focus-visible .bmd-submit-icon__content,
form.bmd-form .gform_page_footer .bmd-submit-icon:focus-visible .bmd-submit-icon__content{
  outline: var(--bmd-focus-ring-width) solid var(--bmd-focus-ring-color);
  outline-offset: var(--bmd-focus-ring-offset);
}


/* card coordonnées bank */

form.bmd-form .bmd-bank-card{
  background: var(--bmd-surface-bg);
  border: var(--bmd-border-width) solid var(--bmd-color-secondary);
  border-radius: var(--bmd-card-radius);
  padding: 24px 22px;
  box-sizing: border-box;
}

form.bmd-form .bmd-bank-card__title{
  font-family: var(--bmd-font-accent-family);
  font-size: var(--bmd-font-accent-size);
  font-weight: var(--bmd-font-accent-weight);
  line-height: var(--bmd-font-accent-line-height);
  letter-spacing: var(--bmd-font-accent-letter-spacing);
  color: var(--bmd-color-secondary);
  margin: 0 0 12px;
}

form.bmd-form .bmd-bank-card__text{
  margin-bottom: 18px;
}

form.bmd-form .bmd-bank-card__text p{
  margin: 0;
  font-family: var(--bmd-font-text-family);
  font-size: var(--bmd-font-text-size);
  font-weight: var(--bmd-font-text-weight);
  line-height: var(--bmd-font-text-line-height-ui);
  letter-spacing: var(--bmd-font-text-letter-spacing);
  color: var(--bmd-color-text);
  opacity: 0.9;
}

form.bmd-form .bmd-bank-card__details{
  display: grid;
  gap: 10px;
  padding: 16px 18px;
  border: var(--bmd-border-width) solid var(--bmd-divider-color);
  border-radius: var(--bmd-border-radius);
  background: var(--bmd-surface-soft);
}

form.bmd-form .bmd-bank-card__details p{
  margin: 0;
  font-family: var(--bmd-font-text-family);
  font-size: var(--bmd-font-text-size);
  font-weight: var(--bmd-font-text-weight);
  line-height: var(--bmd-font-text-line-height-ui);
  letter-spacing: var(--bmd-font-text-letter-spacing);
  color: var(--bmd-color-text);
}

form.bmd-form .bmd-bank-card__details strong{
  color: var(--bmd-color-secondary);
  font-weight: 600;
}

@media (max-width: 767px){
  form.bmd-form .bmd-bank-card{
    padding: 20px 18px;
  }

  form.bmd-form .bmd-bank-card__details{
    padding: 14px 14px;
  }
}

/* =========================================================
   FPS FORM NOTE
========================================================= */

form.bmd-form .fps-form-note{
  background: var(--bmd-surface-soft);
  border: var(--bmd-border-width) solid var(--bmd-divider-color);
  border-radius: var(--bmd-border-radius);
  padding: 18px 20px;
  box-sizing: border-box;
}

form.bmd-form .fps-form-note__title{
  margin: 0 0 10px;
  font-family: var(--bmd-font-accent-family);
  font-size: var(--bmd-font-accent-size);
  font-weight: var(--bmd-font-accent-weight);
  line-height: var(--bmd-font-accent-line-height);
  letter-spacing: var(--bmd-font-accent-letter-spacing);
  color: var(--bmd-color-secondary);
}

form.bmd-form .fps-form-note__text{
  margin: 0 0 12px;
  font-family: var(--bmd-font-text-family);
  font-size: var(--bmd-font-text-size);
  font-weight: var(--bmd-font-text-weight);
  line-height: var(--bmd-font-text-line-height-ui);
  letter-spacing: var(--bmd-font-text-letter-spacing);
  color: var(--bmd-color-text);
  opacity: 0.9;
}

form.bmd-form .fps-form-note__list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}

form.bmd-form .fps-form-note__list li{
  position: relative;
  margin: 0;
  padding-left: 28px;
  font-family: var(--bmd-font-text-family);
  font-size: var(--bmd-font-text-size);
  font-weight: var(--bmd-font-text-weight);
  line-height: var(--bmd-font-text-line-height-ui);
  letter-spacing: var(--bmd-font-text-letter-spacing);
  color: var(--bmd-color-text);
}

form.bmd-form .fps-form-note__list li::before{
  content: "✓";
  position: absolute;
  top: 0.05em;
  left: 0;
  font-family: var(--bmd-font-accent-family);
  font-size: 1em;
  font-weight: 700;
  line-height: 1;
  color: var(--bmd-color-secondary);
}

@media (max-width: 767px){
  form.bmd-form .fps-form-note{
    padding: 16px 16px;
  }

  form.bmd-form .fps-form-note__list li{
    padding-left: 24px;
  }
}

form.bmd-form .ginput_container_fileupload .gform_drop_area{
  background: var(--bmd-surface-soft);
  border: 1px dashed var(--bmd-color-secondary);
  border-radius: var(--bmd-card-radius);
  padding: 24px;
  text-align: center;
}

/* Icône avant la zone de drop */
form.bmd-form .gfield--type-fileupload .gform_drop_area::before,
form.bmd-form .gfield--input-type-fileupload .gform_drop_area::before{
  color: #2E4C10 !important;
}

/* Bouton */
form.bmd-form .ginput_container_fileupload .gform_button_select_files{
  color: #ffffff !important;
  border-color: #2E4C10 !important;
  background: #2E4C10 !important;
}

form.bmd-form .ginput_container_fileupload .gform_button_select_files:hover,
form.bmd-form .ginput_container_fileupload .gform_button_select_files:focus{
  color: var(--bmd-color-primary) !important;
  background: var(--bmd-color-secondary) !important;
  border-color: var(--bmd-color-secondary) !important;
}

form.bmd-form .gform_footer,
form.bmd-form .gform_page_footer{
  margin-top: 30px !important;
}