/**
 * Forminator - formulario multi radio
 *
 * Estilos especificos para formularios con wrapper .cn-formulario-multi-opcion.
 * Los estilos base globales viven en assets/css/forminator-generic.css.
 */

/* Layout interno del formulario multi radio */
form.forminator-custom-form[id^="forminator-module-"] > .forminator-row:has(.cn-formulario-multi-opcion) {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  display: flex;
  margin: 0;
  padding: 0;
}

form.forminator-custom-form[id^="forminator-module-"] > .forminator-row:has(.cn-formulario-multi-opcion) .forminator-col {
  padding: 0;
  width: 100% !important;
  max-width: 100% !important;
  flex: 1 1 auto !important;
  min-width: 0;
}

form.forminator-custom-form[id^="forminator-module-"] > .forminator-row:has(.cn-formulario-multi-opcion) ~ .forminator-row-last {
  grid-column: 1 / -1 !important;
  grid-row: 3 !important;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin: 0;
  padding: 0;
}

form.forminator-custom-form[id^="forminator-module-"] > .forminator-row:has(.cn-formulario-multi-opcion) ~ .forminator-row-last .forminator-col {
  padding: 0;
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
}

/* Campo multi radio */
form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-multi-opcion {
  margin: 0;
}

form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-multi-opcion .forminator-field[role="radiogroup"] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  align-content: start;
  grid-auto-flow: row;
  row-gap: 10px;
  column-gap: 12px;
  margin: 0;
}

form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-multi-opcion .forminator-label {
  display: block;
  grid-column: 1 / -1;
  justify-self: center;
  width: 100%;
  margin: 0 0 14px;
  font-family: "Open Sans", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.01em;
  text-align: center;
  color: var(--neutral-900, #1f2933);
}

form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-multi-opcion label.forminator-radio {
  box-sizing: border-box;
  display: flex;
  align-items: center !important;
  align-self: start;
  width: 100%;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  margin: 0 !important;
  padding: 0 20px !important;
  border: 1px solid transparent !important;
  border-radius: 6px;
  background: var(--neutral-100) !important;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}

form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-multi-opcion label.forminator-radio:hover {
  background: #d5dbe4 !important;
  border-color: transparent !important;
}

form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-multi-opcion label.forminator-radio:focus-visible,
form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-multi-opcion label.forminator-radio:has(input:focus-visible) {
  border-color: var(--primary-600) !important;
  border-width: 2px !important;
  background: var(--neutral-100) !important;
  outline: none;
}

form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-multi-opcion label.forminator-radio:has(input:checked) {
  border-color: transparent !important;
  border-width: 1px !important;
  background: var(--neutral-100) !important;
}

form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-multi-opcion label.forminator-radio input[type="radio"] {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-multi-opcion .forminator-radio-bullet {
  display: inline-block !important;
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  margin: 0 14px 0 0;
  border: 2px solid #bac3cf;
  border-radius: 50%;
  background: transparent;
}

form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-multi-opcion label.forminator-radio:has(input:checked) .forminator-radio-bullet {
  border-color: var(--primary-600);
  background: radial-gradient(circle at center, var(--primary-600) 0 5px, transparent 6px);
}

form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-multi-opcion .forminator-radio-label {
  display: inline-flex;
  align-items: center;
  margin: 0;
  font-family: "Open Sans", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.2;
  color: var(--neutral-900, #1f2933);
}

form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-multi-opcion label.forminator-radio:has(input:checked) .forminator-radio-label {
  font-weight: 600;
}

/* Dark mode */
body.jnews-dark-mode form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-multi-opcion .forminator-label,
body.jnews-dark-mode form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-multi-opcion .forminator-radio-label {
  color: var(--neutral-50, #f5f7fa);
}

body.jnews-dark-mode form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-multi-opcion label.forminator-radio {
  background: var(--neutral-700) !important;
}

body.jnews-dark-mode form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-multi-opcion label.forminator-radio:hover {
  background: #5b6977 !important;
}

body.jnews-dark-mode form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-multi-opcion label.forminator-radio:focus-visible,
body.jnews-dark-mode form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-multi-opcion label.forminator-radio:has(input:focus-visible) {
  border-color: var(--primary-300) !important;
  background: var(--neutral-600) !important;
}

body.jnews-dark-mode form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-multi-opcion label.forminator-radio:has(input:checked) {
  border-color: transparent !important;
  border-width: 1px !important;
  background: var(--neutral-600) !important;
}

body.jnews-dark-mode form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-multi-opcion .forminator-radio-bullet {
  border-color: #8a97a6;
}

body.jnews-dark-mode form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-multi-opcion label.forminator-radio:has(input:checked) .forminator-radio-bullet {
  border-color: var(--primary-300);
  background: radial-gradient(circle at center, var(--primary-300) 0 5px, transparent 6px);
}

/* Tras envio exitoso en multi-opcion, mostrar solo el mensaje de exito. */
form.forminator-custom-form[id^="forminator-module-"]:has(.cn-formulario-multi-opcion):has(.forminator-response-message.forminator-success:not([aria-hidden="true"])) > .forminator-row:has(.cn-formulario-multi-opcion),
form.forminator-custom-form[id^="forminator-module-"]:has(.cn-formulario-multi-opcion):has(.forminator-response-message.forminator-success:not([aria-hidden="true"])) > .forminator-row:has(.cn-formulario-multi-opcion) ~ .forminator-row-last {
  display: none !important;
}

@media (max-width: 767px) {
  form.forminator-custom-form[id^="forminator-module-"] > .forminator-row:has(.cn-formulario-multi-opcion),
  form.forminator-custom-form[id^="forminator-module-"] > .forminator-row:has(.cn-formulario-multi-opcion) ~ .forminator-row-last {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }

  form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-multi-opcion .forminator-field[role="radiogroup"] {
    grid-template-columns: 1fr;
  }

  form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-multi-opcion .forminator-label {
    font-size: 1.625rem;
  }

  form.forminator-custom-form[id^="forminator-module-"] > .forminator-row:has(.cn-formulario-multi-opcion) ~ .forminator-row-last {
    justify-content: stretch;
  }

  form.forminator-custom-form[id^="forminator-module-"] > .forminator-row:has(.cn-formulario-multi-opcion) ~ .forminator-row-last .forminator-col {
    width: 100% !important;
    max-width: 100% !important;
  }

  form.forminator-custom-form[id^="forminator-module-"] > .forminator-row:has(.cn-formulario-multi-opcion) ~ .forminator-row-last .forminator-button-submit {
    width: 100%;
  }
}
