/* ==== VALIDATION STYLING - BASE ==== */

/* Standard validation error messages */
.text-danger,
.field-validation-error,
.validation-message,
span[data-valmsg-for],
[data-valmsg-replace="true"],
span[id$="-error"],
body span.field-validation-error span,
body label.error {
    color: #ec2275 !important;
    font-weight: 500 !important;
    display: block !important;
    margin-top: 2px !important;
    font-size: 1.3rem !important;
    line-height: 1.4 !important;
}

/* Success message styling */
.text-success {
    color: #2e8b57 !important;
    font-weight: 600 !important;
    display: block !important;
    margin-top: 2px !important;
    font-size: 1.3rem !important;
    line-height: 1.4 !important;
}

/* Validation Summary styling */
.validation-summary {
    text-align: center !important;
    margin: 1rem auto !important;
    padding: 1rem !important;
    border-radius: 0.25rem !important;
    display: none !important; /* Hide by default */
}

.validation-summary.show-summary {
    display: block !important;
}

.validation-summary-errors {
    color: #ec2275 !important;
    background-color: rgba(236, 34, 117, 0.1) !important;
    border: 1px solid rgba(236, 34, 117, 0.2) !important;
}

.validation-summary-errors ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.validation-summary-errors li {
    font-size: 1.3rem !important;
    font-weight: 600 !important;
    margin-bottom: 0.5rem !important;
}

.validation-summary-errors li:last-child {
    margin-bottom: 0 !important;
}

/* Form base styling */
.form-label,
label[for],
.form-group label {
    font-size: 1.3rem;
    font-weight: 500;
    margin-bottom: 0.5rem;
    color: #f8f9fa;
}

/* Form group spacing and positioning */
.form-group {
    margin-bottom: 1rem;
    position: relative;
}

.form-group-last {
    margin-bottom: 0 !important;
    position: relative;
}

/* Validation error inputs */
.input-validation-error,
input.is-invalid,
select.is-invalid,
textarea.is-invalid {
    border: 2px solid #ec2275 !important;
    box-shadow: 0 0 0 0.2rem rgba(236, 34, 117, 0.25) !important;
}

/* Form specific styling - combined selectors */
#loginForm,
#registerForm,
#passwordResetForm,
#forgotPasswordForm {
    .form-label,
    label[for],
    .form-group label {
        font-size: 1.3rem !important;
        font-weight: 500 !important;
        margin-bottom: 4px !important;
        color: white !important;
    }

    .validation-message,
    .field-validation-error,
    span.text-danger {
        font-size: 1.3rem !important;
        font-weight: 500 !important;
        margin-top: 3px !important;
        margin-bottom: 8px !important;
        line-height: 1.4 !important;
    }
}

/* Mobile optimizations */
@media (max-width: 768px) {
    input.form-control, 
    select.form-control, 
    textarea.form-control {
        font-size: 14px;
        min-height: 44px;
    }
}

@media (max-width: 576px) {
    .form-label,
    label[for],
    .form-group label {
        font-size: 1.5rem !important;
        margin-bottom: 4px !important;
    }

    /* Combined form-specific mobile styles */
    #submitButton,
    #loginForm,
    #registerForm,
    #passwordResetForm,
    #forgotPasswordForm {
        .btn {
            font-size: 1.5rem !important;
        }

        .validation-message,
        .field-validation-error,
        span.text-danger {
            font-size: 1.3rem !important;
        }
    }
}