/* Custom animations */
@keyframes float {
    0% { transform: translateY(0px); }
    50% { transform: translateY(-10px); }
    100% { transform: translateY(0px); }
}

/* Smooth scroll behavior */
html {
    scroll-behavior: smooth;
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
    background: #4f46e5;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #4338ca;
}

.dark ::-webkit-scrollbar-track {
    background: #1f2937;
}

.dark ::-webkit-scrollbar-thumb {
    background: #6366f1;
}

.dark ::-webkit-scrollbar-thumb:hover {
    background: #4f46e5;
}

/* Form validation styles */
.error {
    border-color: #ef4444 !important;
}

.error-message {
    color: #ef4444;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.success-message {
    color: #10b981;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

/* FAQ animation */
.faq-content {
    transition: all 0.3s ease;
}

.faq-toggle[aria-expanded="true"] i {
    transform: rotate(180deg);
}

/* Floating animation for trust elements */
.trust-float {
    animation: float 3s ease-in-out infinite;
}

/* Loan card hover effect */
.loan-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

/* Dark mode transitions */
.dark-mode-transition * {
    transition: background-color 0.3s ease, border-color 0.3s ease;
}