body {
    font-family: 'Inter', sans-serif;
    background-color: #f7f7f7;
    transition: background-color 0.3s ease;
}

/* Dark Mode Styles */
body.dark-mode {
    background-color: #1a1a1a;
}

body.dark-mode .bg-white {
    background-color: #2a2a2a !important;
}

body.dark-mode .text-gray-600,
body.dark-mode .text-gray-700,
body.dark-mode .text-gray-500 {
    color: #ffffff !important;
}

body.dark-mode header {
    background-color: #2a2a2a !important;
    border-bottom: 1px solid #3a3a3a;
}

body.dark-mode .text-primary {
    color: #FFD700 !important;
}

body.dark-mode .bg-primary {
    background-color: #000080 !important;
}

body.dark-mode .bg-primary .text-white {
    color: #ffffff !important;
}

body.dark-mode .bg-secondary {
    background-color: #FFD700 !important;
}

body.dark-mode .bg-secondary .text-primary,
body.dark-mode .text-primary.bg-secondary {
    color: #000000 !important;
}

body.dark-mode .border-primary {
    border-color: #FFD700 !important;
}

body.dark-mode .hover\:text-secondary:hover {
    color: #FFD700 !important;
}

body.dark-mode .shadow-lg-custom {
    box-shadow: 0 10px 15px -3px rgba(255, 215, 0, 0.1), 0 4px 6px -2px rgba(255, 215, 0, 0.05);
}

body.dark-mode .bg-gray-50 {
    background-color: #2a2a2a !important;
}

body.dark-mode .border-primary\/20 {
    border-color: rgba(255, 215, 0, 0.3) !important;
}

body.dark-mode .hover\:border-primary:hover {
    border-color: #FFD700 !important;
}

body.dark-mode .border-secondary {
    border-color: #FFD700 !important;
}

body.dark-mode a.bg-secondary {
    color: #000000 !important;
}

body.dark-mode button.bg-secondary {
    color: #000000 !important;
}

/* Custom Colors */
.text-primary {
    color: #000080 !important;
}

.bg-primary {
    background-color: #000080 !important;
}

.text-secondary {
    color: #FFD700 !important;
}

.bg-secondary {
    background-color: #FFD700 !important;
}

.border-primary {
    border-color: #000080 !important;
}

.border-secondary {
    border-color: #FFD700 !important;
}

.shadow-lg-custom {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 128, 0.1), 0 4px 6px -2px rgba(0, 0, 128, 0.05) !important;
}

/* Scroll Animation Styles */
.fade-in,
.slide-up,
.slide-left,
.slide-right,
.scale-in,
.stagger-item {
    opacity: 0;
    transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.fade-in {
    transform: translateY(0);
}

.slide-up {
    transform: translateY(40px);
}

.slide-left {
    transform: translateX(40px);
}

.slide-right {
    transform: translateX(-40px);
}

.scale-in {
    transform: scale(0.9);
}

/* Animated state */
.fade-in.animate-in,
.slide-up.animate-in,
.slide-left.animate-in,
.slide-right.animate-in,
.scale-in.animate-in,
.stagger-item.animate-in {
    opacity: 1;
    transform: translate(0, 0) scale(1);
}

/* Smooth scroll behavior */
html {
    scroll-behavior: smooth;
}

/* Drop Shadow Utilities */
.drop-shadow-lg {
    filter: drop-shadow(0 10px 8px rgba(0, 0, 0, 0.1));
}

.drop-shadow-md {
    filter: drop-shadow(0 4px 3px rgba(0, 0, 0, 0.1));
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .slide-right,
    .slide-left {
        animation: slideUp 0.8s ease-out;
    }
}
