/* Sector: oculto sin comunas/localidades; visible con np-sector-visible (≥1) */
.class_id_state {
  display: none !important;
}
.class_id_state.np-sector-visible {
  display: block !important;
}
.class_id_state.np-sector-hidden,
.class_id_state.d-none-force {
  display: none !important;
}

/* RUT — feedback en vivo bajo el input */
.np-rut-feedback {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.875rem;
  min-height: 1.25rem;
  line-height: 1.25rem;
}
.np-rut-feedback--pending {
  color: #6c757d;
}
.np-rut-feedback--bad {
  color: #dc3545;
  font-weight: 600;
}
.np-rut-feedback--ok {
  color: #198754;
  font-weight: 600;
}
.np-rut-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.15rem;
  height: 1.15rem;
  margin-right: 0.25rem;
  border-radius: 50%;
  background: #198754;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  vertical-align: middle;
}

#field-dni.is-invalid,
#field-dni.np-rut-bad {
  border-color: #dc3545;
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
#field-dni.is-valid,
#field-dni.np-rut-ok {
  border-color: #198754;
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
