:root {
    --primary-color: #1e40af;
    --secondary-color: #3b82f6;
    --accent-color: #f59e0b;
    --text-dark: #1f2937;
    --text-muted: #6b7280;
    --bg-light: #f3f4f6;
    --bg-white: #ffffff;
}

[data-theme="dark"] {
    --primary-color: #60a5fa;
    --text-dark: #f3f4f6;
    --text-muted: #9ca3af;
    --bg-light: #111827;
    --bg-white: #1f2937;
}

body {
    font-family: 'Inter', sans-serif;
    background-color: var(--bg-white);
    color: var(--text-dark);
    transition: background-color 0.3s, color 0.3s;
}

.font-poppins { font-family: 'Poppins', sans-serif; }

.bg-gradient {
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color)) !important;
}

/* Glassmorphism */
.glass-nav {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
[data-theme="dark"] .glass-nav {
    background: rgba(31, 41, 55, 0.85);
}

.glass-card {
    background: var(--bg-white);
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.07);
    backdrop-filter: blur(4px);
}

/* Hover Animations */
.hover-lift {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.hover-lift:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

/* Mega Menu */
.has-megamenu:hover .megamenu {
    display: block;
    opacity: 1;
    visibility: visible;
    margin-top: 0;
}
.megamenu {
    width: 100%;
    left: 0;
    right: 0;
    position: absolute;
    display: none;
    animation: fadeIn 0.3s ease;
}

/* Utilities */
.object-fit-cover { object-fit: cover; }
#loader {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: var(--bg-white); z-index: 9999;
}