/* ============================================================================================
   ESTADOS DE INPUTS
============================================================================================ */
.forminator-input:placeholder-shown {
  border: 1px solid #ffffff !important;
}

/* ============================================================================================
   FORMULARIO FORMINATOR – ESTRUCTURA GENERAL
============================================================================================ */

.forminator-row {
  margin: 0px !important;
}

.forminator-ui.forminator-custom-form[data-grid=open]
.forminator-row-inside:not(:last-child),
.forminator-ui.forminator-custom-form[data-grid=open]
.forminator-row:not(:last-child) {
  margin-bottom: 3px !important;
}

/* ============================================================================================
   TIPOGRAFÍA Y ETIQUETAS
============================================================================================ */

.forminator-label {
  font-family: Montserrat, serif;
  font-size: 1rem;
  font-weight: lighter;
  margin-top: 6px !important;
  color: #52524f;
}

.forminator-repeater-label {
  font-family: Playfair Display, serif;
  font-size: 1.2rem;
  font-weight: bold;
  margin-top: 6px !important;
  color: #000000;
}

/* ============================================================================================
   INPUTS Y TEXTAREA
============================================================================================ */

.forminator-textarea {
  border: 1px solid #dfdddd;
  height: 15vh !important;
}

form.forminator-ui input[type="text"],
form.forminator-ui textarea {
  font-family: Montserrat, sans-serif;
  font-size: 0.9rem;
  color: #a7a7a7;
  background: #fff;
  padding: 0.4em;
  box-shadow: none;
  border-radius: 9px;
}

form.forminator-ui input[type="text"]:not(:placeholder-shown),
form.forminator-ui textarea:not(:placeholder-shown) {
  color: #303030;
}

/* ============================================================================================
   RADIOGROUP (SI / NO)
============================================================================================ */

form.forminator-ui .forminator-radio-label {
  font-family: Montserrat, sans-serif;
  font-size: 0.9rem;
  color: #363636;
  padding: 0.1em;
}

.forminator-field[role="radiogroup"] {
  display: flex !important;
  flex-wrap: wrap;
  align-items: flex-start !important;
  column-gap: 3px;
  row-gap: 0;
}

.forminator-field[role="radiogroup"] > .forminator-label {
  flex: 0 0 100%;
  display: block !important;
  margin-bottom: 3px !important;
  padding-bottom: 12px !important;
  line-height: 1.1 !important;
}

.forminator-field[role="radiogroup"] label.forminator-radio {
  display: inline-flex !important;
  align-items: flex-start;
  background: #ffffff;
  padding: 3px 6px;
  border: 0;
  border-radius: 1px;
  transition: background 0.3s ease;
  margin: 3px !important;
}

.forminator-field[role="radiogroup"] .forminator-radio:hover {
  background: var(--fp-color-primario, #C04275);
}

.forminator-field[role="radiogroup"] .forminator-radio-label:hover {
  color: #ffffff;
}

.forminator-field[role="radiogroup"] input[type="radio"] {
  margin-right: 1px;
}

.forminator-field[role="radiogroup"] input[type="radio"]:checked {
  accent-color: var(--fp-color-primario, #C04275);
}

/* ============================================================================================
   SELECTOR DE FECHA
============================================================================================ */

.forminator-date-select .forminator-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 2px 1px;
}

.forminator-date-select .forminator-col {
  flex: 1 1 0;
  padding: 1px 1px;
  margin-bottom: 3px !important;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

/* ============================================================================================
   SELECTOR DE HORA
============================================================================================ */

.forminator-timepicker .forminator-row {
  display: flex !important;
  flex-wrap: wrap;
  align-items: flex-start !important;
  gap: 6px 1px;
}

.forminator-timepicker .forminator-col {
  flex: 1 1 0;
  padding: 1px 1px;
  margin-bottom: 6px !important;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.forminator-timepicker .select2-container--default .select2-selection--single {
  height: 3px !important;
  line-height: 40px !important;
  padding: 4px 6px !important;
}

.forminator-timepicker .select2-selection__rendered {
  line-height: 40px !important;
}

.forminator-select2 {
  background-color: #ffffff;
}

/* ============================================================================================
   BOTONES FORMINATOR
============================================================================================ */

form.forminator-ui .forminator-button,
.forminator-repeater-action-button,
.forminator-copy-btn,
.forminator-save-draft-link {
  background-color: var(--fp-color-primario, #C04275);
  color: #fff;
  border: none;
  padding: 9px 9px;
  border-radius: 6px;
  transition: background-color 0.3s ease;
  cursor: pointer;
  margin: 1px 1px;
  display: inline-block;
  min-width: 100px;
  text-align: center;
}

form.forminator-ui .forminator-button-submit:hover,
.forminator-repeater-action-button:hover,
.forminator-copy-btn:hover,
.forminator-save-draft-link:hover {
  background-color: var(--fp-color-secundario, #38B3A5);
  color: #ffffff;
}

/* ============================================================================================
   CHECKBOXES
============================================================================================ */

.forminator-field-checkbox {
  background: #ffffff;
  padding: 1px;
}

.forminator-checkbox {
  margin: 9px !important;
  background: #ffffff;
}

.forminator-ui input[type="checkbox"] {
  border: 1px solid #767975 !important;
  width: 18px;
  height: 18px;
}

.forminator-ui input[type="checkbox"][aria-invalid="true"] {
  border: 2px solid var(--fp-color-primario, #C04275) !important;
}

.forminator-ui input[type="checkbox"]:checked {
  border-color: var(--fp-color-primario, #C04275) !important;
  background-color: var(--fp-color-primario, #C04275) !important;
}

.forminator-ui input[type="checkbox"]:hover,
.forminator-ui input[type="checkbox"]:focus-visible {
  border-color: var(--fp-color-primario, #C04275) !important;
  outline: none;
}

/* ============================================================================================
   CONTENEDORES DE CAMPOS
============================================================================================ */

.forminator-field {
  border: none;
  padding: 1px;
  border-radius: 1px;
  margin-bottom: 0;
}

.forminator-field-group {
  padding: 3px 9px;
  margin-bottom: 3px !important;
  background: #f0f0f0;
  border-radius: 9px;
}

.forminator-field-html {
  margin-top: 3px !important;
  margin-bottom: 3px !important;
}

.forminator-field-name {
  margin-bottom: 6px !important;
}

/* ============================================================================================
   ENUMERACIÓN DE GRUPOS (REPEATER)
============================================================================================ */

.forminator-all-group-copies {
  counter-reset: groupCounter;
}

.forminator-all-group-copies .forminator-grouped-fields {
  counter-increment: groupCounter;
  position: relative;
  margin: 5px 0;
  padding: 5px;
}

.forminator-all-group-copies .forminator-grouped-fields:not(:first-child)::before {
  content: counter(groupCounter);
  position: absolute;
  top: 1px;
  left: -12px;
  background-color: var(--fp-color-secundario, #38B3A5);
  color: #fff;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  border-radius: 20%;
}

/* ============================================================================================
   BOTÓN ELIMINAR PERSONALIZADO (X)
============================================================================================ */

.forminator-action-buttons .forminator-repeater-remove {
  display: none !important;
}

.forminator-grouped-fields {
  position: relative;
}

.custom-delete-x {
  pointer-events: auto !important;
  position: absolute;
  top: 1px;
  right: -8px;
  width: 21px;
  height: 21px;
  border-radius: 50%;
  background-color: #E53E3E;
  border: 1px solid #E53E3E;
  color: #fff;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 999;
  box-shadow: 0 0 2px rgba(0,0,0,0.2);
}

.custom-delete-x:hover {
  color: #cc0000;
}

/* ============================================================================================
   RADIOGROUP – ESTILO PREMIUM
============================================================================================ */

.forminator-field[role="radiogroup"] label.forminator-radio {
  position: relative;
  overflow: hidden;
  border-radius: 3px !important;
  padding: 6px 12px !important;
  transition: transform .28s ease, box-shadow .28s ease, filter .28s ease, background .28s ease !important;
  transform: translateY(0);
  letter-spacing: 1px;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  min-height: 52px;
  border: 1px solid rgba(0,0,0,.06) !important;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 1px;
}

.forminator-field[role="radiogroup"] label.forminator-radio.forminator-radio--selected .forminator-radio-bullet,
.forminator-field[role="radiogroup"] label.forminator-radio:has(input[type="radio"]:checked) .forminator-radio-bullet {
  border-color: #fff !important;
  background: var(--fp-color-primario, #C04275) !important;
}
