.field-error { color: #dc3545; font-size: 13px; margin-top: 4px; display: block; }
.is-invalid { border-color: #dc3545 !important; }
.contact-input.is-invalid,
.contact-input.is-invalid:focus,
textarea.contact-input.is-invalid,
.form-control.is-invalid {
    background-image: none !important;
    padding-right: 0.75rem !important;
    box-shadow: none !important;
}
.invalid-feedback[data-error-for] {
    color: #dc3545;
    font-size: 13px;
    margin-top: 4px;
}
.form-summary-error {
    background: #fdecea; color: #a71d2a; border: 1px solid #f5c2c7;
    border-radius: 6px; padding: 10px 14px; margin-top: 14px; font-size: 14px;
}
.btn-loader {
    display: inline-block; width: 16px; height: 16px; border: 2px solid #fff;
    border-right-color: transparent; border-radius: 50%;
    animation: btnspin 0.7s linear infinite; margin-left: 8px; vertical-align: middle;
}
@keyframes btnspin { to { transform: rotate(360deg); } }
button[disabled] { opacity: 0.75; cursor: not-allowed; }
.form-overlay {
    position: absolute; inset: 0; background: rgba(255,255,255,0.7);
    display: none; align-items: center; justify-content: center; z-index: 10;
    border-radius: 6px;
}
.form-overlay.active { display: flex; }
.form-overlay-spinner {
    width: 48px; height: 48px; border: 4px solid #ccc;
    border-top-color: #0d6efd; border-radius: 50%;
    animation: btnspin 0.8s linear infinite;
}
.register-form-section .container { position: relative; }
.file-preview {
    display: none; margin-top: 10px; position: relative;
    max-width: 180px;
}
.file-preview.active { display: inline-block; }
.file-preview img {
    max-width: 100%; max-height: 140px; border: 1px solid #ddd;
    border-radius: 6px; padding: 4px; background: #fff;
}
.file-preview .file-preview-doc {
    display: flex; align-items: center; gap: 8px; padding: 10px 14px;
    background: #f5f5f5; border: 1px solid #ddd; border-radius: 6px;
    font-size: 13px; color: #333;
}
.file-preview .file-preview-doc i { font-size: 20px; color: #dc3545; }
.file-preview .file-preview-remove {
    position: absolute; top: -8px; right: -8px;
    width: 22px; height: 22px; border-radius: 50%; border: none;
    background: #dc3545; color: #fff; font-size: 14px; line-height: 1;
    cursor: pointer; display: flex; align-items: center; justify-content: center;
}
.header-nav-wrapper .stellarnav>ul>li>ul>li.active a {
    /* background: #f4f8fc !important; */
    color: #3aa0ff !important;
}