/* Estado de loading para botones de submit en forms del sitio.
   Aplicar la clase .is-loading al botón cuando esté esperando respuesta. */

.btn.is-loading,
button.is-loading {
    pointer-events: none;
    opacity: 0.85;
    cursor: progress;
    position: relative;
}

.btn.is-loading::before,
button.is-loading::before {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: bw2026-spin 0.7s linear infinite;
    margin-inline-end: 0.6em;
    vertical-align: -0.15em;
}

@keyframes bw2026-spin {
    to { transform: rotate(360deg); }
}

/* Overlay para bloquear interacción mientras se envía el form */
form[data-submitting="true"] {
    pointer-events: none;
}
form[data-submitting="true"] input,
form[data-submitting="true"] select,
form[data-submitting="true"] textarea {
    opacity: 0.75;
}

/* Mensaje neutro de progreso (en #formMessage). */
.form-progress {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #4a5568;
    font-size: 0.9rem;
}
