/* Form submission states */
.form-submitted {
    pointer-events: none;
}

.form-submitted input,
.form-submitted select,
.form-submitted textarea {
    opacity: 0.6;
}

[data-submit]:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

[aria-busy="true"] {
    position: relative;
}

[aria-busy="true"]::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 16px;
    margin: -8px 0 0 -8px;
    border: 2px solid transparent;
    border-top: 2px solid currentColor;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Form results styling */
.form-results {
    transition: all 0.3s ease;
}

.form-results.text-success {
    background-color: #d4edda;
    border: 1px solid #c3e6cb;
    color: #155724;
}

.form-results.text-danger {
    background-color: #f8d7da;
    border: 1px solid #f5c6cb;
    color: #721c24;
}
