/**
 * Forminator - formulario single radio (emojis)
 *
 * Estilos especificos para formularios con bloque de radio
 * marcado con la clase .cn-formulario-radio.
 */

/*
 * Layout compacto: pregunta/opciones + enviar juntos y centrados.
 */
form.forminator-custom-form[id^="forminator-module-"]:has(.cn-formulario-radio) {
  grid-template-columns: minmax(0, 1fr) auto auto minmax(0, 1fr) !important;
  justify-content: stretch;
  column-gap: 14px;
}

form.forminator-custom-form[id^="forminator-module-"]:has(.cn-formulario-radio)::before {
  grid-column: 1 / -1;
  justify-self: stretch;
  text-align: left;
}

/* Filas internas del formulario de emojis */
form.forminator-custom-form[id^="forminator-module-"] > .forminator-row:has(.cn-formulario-radio) {
  grid-column: 2 / 3 !important;
  grid-row: 2 !important;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  min-width: 0;
  width: auto;
  max-width: 100%;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

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

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

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

/* Radiogroup: pregunta + opciones */
form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-radio .forminator-field[role="radiogroup"] {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
  width: auto;
  min-width: 0;
}

/* Opciones tipo radio (emojis) */
form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-radio label.forminator-radio {
    display: inline-flex;
  position: relative;
    align-items: center;
    justify-content: center;
    gap: 10px;
    box-sizing: border-box;
    width: 100px;
    height: 44px;
    margin: 0;
    padding: 0;
    border: 1px solid transparent !important;
    border-radius: 4px;
    background: var(--neutral-100) !important;
    cursor: pointer;
    outline: none;
    transition: background-color 0.15s ease, outline-color 0.15s ease, border-color 0.15s ease;

}

form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-radio label.forminator-radio:hover {
  background: var(--neutral-200) !important;
}

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

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

form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-radio label.forminator-radio input[type="radio"] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  opacity: 0;
  cursor: pointer;
  z-index: 2;
}

form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-radio .forminator-radio-bullet {
  display: none !important;
}

form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-radio .forminator-radio-label {
  margin: 0;
  font-size: 1.375rem;
  line-height: 1;
  margin-left: 0 !important;
}

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

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

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

@media (max-width: 767px) {
  form.forminator-custom-form[id^="forminator-module-"]:has(.cn-formulario-radio) {
    grid-template-columns: 1fr !important;
    justify-content: stretch;
  }

  form.forminator-custom-form[id^="forminator-module-"] > .forminator-row:has(.cn-formulario-radio),
  form.forminator-custom-form[id^="forminator-module-"] > .forminator-row:has(.cn-formulario-radio) ~ .forminator-row-last {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }

  form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-radio .forminator-field[role="radiogroup"] {
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
  }

  form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-radio .forminator-label {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    display: block;
    margin: 0 0 8px;
  }
}


.cn-formulario-radio .forminator-radio-image {
    width: 100%;
    padding: 0 !important;
    border: none !important;
    background-color: transparent !important;
  pointer-events: none;
}

.cn-formulario-radio .forminator-radio-image > span {
    height: 24px !important;
    width: 24px !important;
    margin: auto !important;
  pointer-events: none;
}

.cn-formulario-radio .forminator-radio.forminator-radio-inline {
    margin-right: 0px !important;
}