/* =========================================================
   RACINE CHILD v1.0.9 - FORMULAIRES DE PERMIS
   Correctif robuste pour Forminator dans le modele permis.
   La grille est confinee a la carte et neutralise les anciens
   styles du parent qui pouvaient etirer les champs hors cadre.
   ========================================================= */

body.racine-permis-uniforme .racine-permit-form-page,
body.racine-permis-uniforme .permit-form-wrap,
body.racine-permis-uniforme .permit-form-grid,
body.racine-permis-uniforme .permit-form-card,
body.racine-permis-uniforme .permit-form-card > .entry-content {
  box-sizing: border-box !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

body.racine-permis-uniforme .permit-form-card {
  overflow: hidden !important;
}

body.racine-permis-uniforme .permit-form-card > .entry-content {
  width: 100% !important;
  overflow: hidden !important;
}

/* Le formulaire doit toujours rester dans la carte. */
body.racine-permis-uniforme .permit-form-card .forminator-ui,
body.racine-permis-uniforme .permit-form-card .forminator-custom-form {
  display: block !important;
  position: static !important;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

body.racine-permis-uniforme .forminator-custom-form,
body.racine-permis-uniforme .forminator-custom-form * {
  box-sizing: border-box !important;
}

/* Grille Forminator reconstruite sans marges negatives. */
body.racine-permis-uniforme .forminator-ui .forminator-row,
body.racine-permis-uniforme .forminator-custom-form .forminator-row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: 16px !important;
  position: static !important;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
}

body.racine-permis-uniforme .forminator-ui .forminator-col,
body.racine-permis-uniforme .forminator-custom-form .forminator-col {
  position: static !important;
  float: none !important;
  flex: 1 1 0 !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
}

/* Respecte les classes de largeur utilisees par Forminator. */
body.racine-permis-uniforme .forminator-col-12 { flex: 0 0 100% !important; width: 100% !important; }
body.racine-permis-uniforme .forminator-col-11 { flex: 0 0 calc(91.6667% - 8px) !important; }
body.racine-permis-uniforme .forminator-col-10 { flex: 0 0 calc(83.3333% - 8px) !important; }
body.racine-permis-uniforme .forminator-col-9  { flex: 0 0 calc(75% - 8px) !important; }
body.racine-permis-uniforme .forminator-col-8  { flex: 0 0 calc(66.6667% - 8px) !important; }
body.racine-permis-uniforme .forminator-col-7  { flex: 0 0 calc(58.3333% - 8px) !important; }
body.racine-permis-uniforme .forminator-col-6  { flex: 0 0 calc(50% - 8px) !important; width: calc(50% - 8px) !important; }
body.racine-permis-uniforme .forminator-col-5  { flex: 0 0 calc(41.6667% - 8px) !important; }
body.racine-permis-uniforme .forminator-col-4  { flex: 0 0 calc(33.3333% - 11px) !important; width: calc(33.3333% - 11px) !important; }
body.racine-permis-uniforme .forminator-col-3  { flex: 0 0 calc(25% - 12px) !important; width: calc(25% - 12px) !important; }
body.racine-permis-uniforme .forminator-col-2  { flex: 0 0 calc(16.6667% - 14px) !important; }
body.racine-permis-uniforme .forminator-col-1  { flex: 0 0 calc(8.3333% - 15px) !important; }

/* Champs et composants internes. */
body.racine-permis-uniforme .forminator-ui .forminator-field,
body.racine-permis-uniforme .forminator-ui .forminator-field-group,
body.racine-permis-uniforme .forminator-ui .forminator-field-html,
body.racine-permis-uniforme .forminator-ui .forminator-field-calculation,
body.racine-permis-uniforme .forminator-ui .forminator-repeater-field,
body.racine-permis-uniforme .forminator-ui .forminator-repeater-field-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.racine-permis-uniforme .forminator-ui input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
body.racine-permis-uniforme .forminator-ui select,
body.racine-permis-uniforme .forminator-ui textarea,
body.racine-permis-uniforme .forminator-ui .select2-container,
body.racine-permis-uniforme .forminator-ui .select2-selection,
body.racine-permis-uniforme .forminator-ui .forminator-file-upload,
body.racine-permis-uniforme .forminator-ui .forminator-multi-upload,
body.racine-permis-uniforme .forminator-ui .forminator-dropzone,
body.racine-permis-uniforme .forminator-ui .forminator-uploaded-files {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

body.racine-permis-uniforme .forminator-ui .forminator-label,
body.racine-permis-uniforme .forminator-ui .forminator-description,
body.racine-permis-uniforme .forminator-ui .forminator-field-description,
body.racine-permis-uniforme .forminator-ui .forminator-field-html,
body.racine-permis-uniforme .forminator-ui .forminator-radio,
body.racine-permis-uniforme .forminator-ui .forminator-checkbox {
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

body.racine-permis-uniforme .forminator-ui img,
body.racine-permis-uniforme .forminator-ui svg,
body.racine-permis-uniforme .forminator-ui canvas,
body.racine-permis-uniforme .forminator-ui iframe,
body.racine-permis-uniforme .forminator-ui table {
  max-width: 100% !important;
}

/* Les quatre formulaires volumineux utilisent toute la largeur. */
body.racine-permis-formulaire-large .permit-form-grid {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 28px !important;
}

body.racine-permis-formulaire-large .permit-form-card {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

body.racine-permis-formulaire-large .permit-form-side {
  position: static !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 20px !important;
  width: 100% !important;
  max-width: 100% !important;
}

@media (max-width: 900px) {
  body.racine-permis-uniforme .forminator-ui .forminator-row,
  body.racine-permis-uniforme .forminator-custom-form .forminator-row {
    display: block !important;
  }

  body.racine-permis-uniforme .forminator-ui .forminator-col,
  body.racine-permis-uniforme .forminator-custom-form .forminator-col,
  body.racine-permis-uniforme [class*="forminator-col-"] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    flex: 0 0 100% !important;
  }
}

@media (max-width: 760px) {
  body.racine-permis-uniforme .permit-form-card > .entry-content {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  body.racine-permis-formulaire-large .permit-form-side {
    grid-template-columns: 1fr !important;
  }
}
