/**
 * Forminator - formulario rating
 *
 * Estilos especificos para formularios con el wrapper .cn-formulario-rating.
 * Los estilos base globales del formulario viven en assets/css/forminator-generic.css.
 */

/* Layout interno del formulario rating */
form.forminator-custom-form[id^="forminator-module-"]:has(.cn-formulario-rating) {
  grid-template-columns: 1fr !important;
}

form.forminator-custom-form[id^="forminator-module-"] > .forminator-row:has(.cn-formulario-rating) {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  display: flex;
  justify-content: center;
  margin: 0;
  padding: 0;
}

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

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

/* Campo rating */
form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-rating {
  display: flex;
  justify-content: center;
}

form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-rating .forminator-field {
  width: 100%;
  max-width: 940px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  margin: 0;
}

form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-rating .forminator-label {
  margin: 0;
  font-family: "Open Sans", sans-serif;
  font-size: 2.5rem;
  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-rating .forminator-rating {
  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-rating .forminator-rating-wrapper {
  display: flex;
  justify-content: center;
  width: 100%;
}

form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-rating .forminator-rating-items {
  display: inline-flex;
  align-items: center;
  gap: 34px;
}

form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-rating .forminator-rating-item {
  cursor: pointer;
  line-height: 1;
}

/* Estado base: estrella contorno azul */
form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-rating .forminator-icon-star {
  font-size: 3.375rem;
  color: transparent;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 2px var(--primary-600);
  transition: transform 0.15s ease, -webkit-text-fill-color 0.15s ease;
}

/* Hover */
form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-rating .forminator-rating-item:hover .forminator-icon-star {
  transform: scale(1.04);
}

/* Estados seleccionados segun data-selected-value */
form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-rating .forminator-rating-items[data-selected-value="1"] .forminator-rating-item:nth-child(-n+1) .forminator-icon-star,
form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-rating .forminator-rating-items[data-selected-value="2"] .forminator-rating-item:nth-child(-n+2) .forminator-icon-star,
form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-rating .forminator-rating-items[data-selected-value="3"] .forminator-rating-item:nth-child(-n+3) .forminator-icon-star,
form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-rating .forminator-rating-items[data-selected-value="4"] .forminator-rating-item:nth-child(-n+4) .forminator-icon-star,
form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-rating .forminator-rating-items[data-selected-value="5"] .forminator-rating-item:nth-child(-n+5) .forminator-icon-star {
  color: var(--primary-600);
  -webkit-text-fill-color: var(--primary-600);
  -webkit-text-stroke: 0;
}

/* Ocultamos el texto (0/5) para dejar solo las estrellas */
form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-rating .forminator-rating-suffix {
  display: none !important;
  visibility: hidden;
  width: 0;
  overflow: hidden;
}

/* Submit centrado y debajo de las estrellas */
form.forminator-custom-form[id^="forminator-module-"]:has(.cn-formulario-rating) .forminator-button-submit {
  min-width: 176px;
  background: #b7c2d2;
  cursor: not-allowed;
  pointer-events: none;
}

form.forminator-custom-form[id^="forminator-module-"]:has(.cn-formulario-rating .forminator-rating-items:is([data-selected-value="1"], [data-selected-value="2"], [data-selected-value="3"], [data-selected-value="4"], [data-selected-value="5"])) .forminator-button-submit {
  background: var(--primary-600);
  cursor: pointer;
  pointer-events: auto;
}

form.forminator-custom-form[id^="forminator-module-"]:has(.cn-formulario-rating .forminator-rating-items:is([data-selected-value="1"], [data-selected-value="2"], [data-selected-value="3"], [data-selected-value="4"], [data-selected-value="5"])) .forminator-button-submit:hover,
form.forminator-custom-form[id^="forminator-module-"]:has(.cn-formulario-rating .forminator-rating-items:is([data-selected-value="1"], [data-selected-value="2"], [data-selected-value="3"], [data-selected-value="4"], [data-selected-value="5"])) .forminator-button-submit:focus {
  background: var(--primary-700);
}

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

body.jnews-dark-mode form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-rating .forminator-icon-star {
  -webkit-text-stroke: 2px var(--primary-300);
}

body.jnews-dark-mode form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-rating .forminator-rating-items[data-selected-value="1"] .forminator-rating-item:nth-child(-n+1) .forminator-icon-star,
body.jnews-dark-mode form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-rating .forminator-rating-items[data-selected-value="2"] .forminator-rating-item:nth-child(-n+2) .forminator-icon-star,
body.jnews-dark-mode form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-rating .forminator-rating-items[data-selected-value="3"] .forminator-rating-item:nth-child(-n+3) .forminator-icon-star,
body.jnews-dark-mode form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-rating .forminator-rating-items[data-selected-value="4"] .forminator-rating-item:nth-child(-n+4) .forminator-icon-star,
body.jnews-dark-mode form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-rating .forminator-rating-items[data-selected-value="5"] .forminator-rating-item:nth-child(-n+5) .forminator-icon-star {
  color: var(--primary-300);
  -webkit-text-fill-color: var(--primary-300);
}

body.jnews-dark-mode form.forminator-custom-form[id^="forminator-module-"]:has(.cn-formulario-rating) .forminator-button-submit {
  background: #52606d;
}

body.jnews-dark-mode form.forminator-custom-form[id^="forminator-module-"]:has(.cn-formulario-rating .forminator-rating-items:is([data-selected-value="1"], [data-selected-value="2"], [data-selected-value="3"], [data-selected-value="4"], [data-selected-value="5"])) .forminator-button-submit {
  background: var(--primary-600) !important;
}

body.jnews-dark-mode form.forminator-custom-form[id^="forminator-module-"]:has(.cn-formulario-rating .forminator-rating-items:is([data-selected-value="1"], [data-selected-value="2"], [data-selected-value="3"], [data-selected-value="4"], [data-selected-value="5"])) .forminator-button-submit:hover,
body.jnews-dark-mode form.forminator-custom-form[id^="forminator-module-"]:has(.cn-formulario-rating .forminator-rating-items:is([data-selected-value="1"], [data-selected-value="2"], [data-selected-value="3"], [data-selected-value="4"], [data-selected-value="5"])) .forminator-button-submit:focus,
body.jnews-dark-mode form.forminator-custom-form[id^="forminator-module-"]:has(.cn-formulario-rating .forminator-rating-items:is([data-selected-value="1"], [data-selected-value="2"], [data-selected-value="3"], [data-selected-value="4"], [data-selected-value="5"])) .forminator-button-submit:active {
  background: var(--primary-700) !important;
}

@media (max-width: 767px) {
  form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-rating .forminator-field {
    gap: 14px;
  }

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

  form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-rating .forminator-rating-items {
    gap: 18px;
  }

  form.forminator-custom-form[id^="forminator-module-"] .cn-formulario-rating .forminator-icon-star {
    font-size: 2.5rem;
  }

  form.forminator-custom-form[id^="forminator-module-"]:has(.cn-formulario-rating) .forminator-button-submit {
    min-width: 148px;
  }
}
