/* Borde rojo y mensajes para campos con error */
.cchc-form-group.cchc-error-field .cchc-form-field {
  border-color: #dc3545 !important;
  box-shadow: 0 0 0 1px #dc3545 inset;
}
.cchc-form-group .cchc-error-message {
  display: none;
}
.cchc-form-group.cchc-error-field .cchc-error-message {
  display: block;
}

/* Mientras el botón está cargando, ocultar el texto del botón */
.btn-in-progress {
  color: transparent !important;
}
/* Si el label estuviera dentro de un span, también lo ocultamos (compatibilidad) */
.btn-in-progress span {
  display: none;
}

.cchc-dots-btn-container {
  display: none;
}

.btn-in-progress .cchc-dots-btn-container {
  display: flex;
}

.cchc-primary-btn.btn-in-progress:disabled {
  color: var(--primary-btn-text-color);
  background: var(--primary-btn-background-color);
  border: 1px solid var(--primary-btn-border-color);
  min-width: 161.6px;
}

.btn-in-progress .cchc-loader-dots {
  background: radial-gradient(
        circle closest-side,
        var(--neutral-color-100-w) 90%,
        rgba(0, 0, 0, 0)
      )
      0 50%,
    radial-gradient(
        circle closest-side,
        var(--neutral-color-100-w) 90%,
        rgba(0, 0, 0, 0)
      )
      33.3% 50%,
    radial-gradient(
        circle closest-side,
        var(--neutral-color-100-w) 90%,
        rgba(0, 0, 0, 0)
      )
      66.6% 50%,
    radial-gradient(
        circle closest-side,
        var(--neutral-color-100-w) 90%,
        rgba(0, 0, 0, 0)
      )
      100% 50%;
  background-size: 25% 13.4px;
  background-repeat: no-repeat;
}

/* Forzar color blanco en contenedor y elementos internos del loader */
.btn-in-progress .cchc-dots-btn-container,
.btn-in-progress .cchc-dots-btn-container * {
  color: #fff !important;
  background-color: #fff;
  border-color: #fff;
}

/* Links modernos y accesibles en la sección OTP */
#inicio-sesion-socios-modal .cchc-nav-link {
  text-decoration: none;
  text-underline-offset: 0.2em;
  text-decoration-thickness: from-font;
  transition: color 140ms ease, text-underline-offset 140ms ease;
  cursor: pointer;
}

#inicio-sesion-socios-modal .cchc-nav-link:hover,
#inicio-sesion-socios-modal .cchc-nav-link:focus {
  text-decoration: underline;
  text-underline-offset: 0.3em;
}

#inicio-sesion-socios-modal .cchc-nav-link:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
  border-radius: 4px;
}

@media (prefers-reduced-motion: reduce) {
  #inicio-sesion-socios-modal .cchc-nav-link {
    transition: none;
  }
}
