.auth-section {
    max-width: 470px;
    margin: 60px auto;
    padding: 20px;
}

.auth-form {
    background: var(--white);
    padding: 30px;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

input:invalid {
    box-shadow: none !important;
    outline: none !important;
    border-color: var(--primary-light) !important;
}

input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0px 1000px var(--white) inset !important;
    -webkit-text-fill-color: var(--text-color) !important;
    transition: background-color 5000s ease-in-out 0s;
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button,
::-webkit-search-cancel-button,
::-webkit-search-decoration,
::-webkit-search-results-button,
::-webkit-search-results-decoration {
    -webkit-appearance: none;
}


.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    margin-bottom: 5px;
    color: var(--text-color);
}

.form-group input {
    width: 100%;
    padding: 10px;
    border: 1px solid var(--primary-light);
    border-radius: 5px;
    font-family: 'Poppins', sans-serif;
    /* Remove default validation appearance */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.form-group input:invalid,
.form-group input:-moz-ui-invalid {
    box-shadow: none;
    outline: none;
    border-color: var(--error);
}

.form-group input:required {
    box-shadow: none;
}

.form-group input:required:invalid {
    box-shadow: none;
}

.form-group input:required:invalid:not(:focus) {
    border-color: var(--primary-light);
}


/* Override default browser validation colors */
.form-group input:invalid:focus {
    border-color: var(--error);
    outline: none;
    box-shadow: 0 0 0 2px rgba(229, 62, 62, 0.2); /* Red shadow with opacity */
}

.form-group .validation-message {
    color: var(--primary-color); /* Default green color */
    font-size: 12px;
    margin-top: 5px;
    display: none;
}

.form-submitted .form-group .validation-message.show-error {
    color: var(--error);
}

.form-submitted .form-group input:invalid {
    border-color: var(--error);
}

.form-submitted .form-group input:invalid:focus {
    border-color: var(--error);
    box-shadow: 0 0 0 2px rgba(229, 62, 62, 0.2);
}

.form-group input:invalid + .validation-message {
    display: block;
}



input::-ms-clear,
input::-ms-reveal {
    display: none;
}

.auth-form .btn {
    width: 100%;
    margin-top: 20px;
}

.auth-section p {
    text-align: center;
    margin-top: 20px;
}

.auth-section a {
    color: var(--primary-color);
    text-decoration: none;
}

.auth-section a:hover {
    text-decoration: underline;
}

.error-text {
    color: #dc3545;
    font-size: 14px;
    margin: 10px 0;
    text-align: center;
}

.form-intro {
    margin-bottom: 30px;
    color: var(--text-color);
    text-align: center;
}

/* Verification message styling */
.verification-message {
    background-color: #fff;
    padding: 30px;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    text-align: center;
}

.verification-icon {
    font-size: 3rem;
    color: var(--primary-color);
    margin-bottom: 15px;
}

.verification-message h2 {
    margin-bottom: 15px;
    color: var(--text-color);
}

.verification-message p {
    margin-bottom: 10px;
    color: var(--text-color);
}

.verification-actions {
    display: flex;
    gap: 15px;
    justify-content: center;
    margin-top: 25px;
}

.btn-outline {
    background: transparent;
    border: 1px solid var(--primary-color);
    color: var(--primary-color);
    transition: background-color 0.3s;
}

.btn-outline:hover {
    background-color: rgba(var(--primary-rgb), 0.1);
}

.btn-secondary {
    background-color: var(--secondary-color);
}

.btn-secondary:hover {
    background-color: var(--secondary-dark);
}

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

.fa-spinner {
    animation: spin 1s infinite linear;
    margin-right: 5px;
}

/* Forgot password link styling */
.forgot-password-link {
    display: block;
    text-align: right;
    font-size: 0.85rem;
    margin-top: 5px;
    color: var(--primary-color);
    text-decoration: none;
}

.forgot-password-link:hover {
    text-decoration: underline;
}