/* Global Variables */
:root {
  --primary-50: #faf5ff;
  --primary-100: #f3e8ff;
  --primary-200: #e9d5ff;
  --primary-300: #d8b4fe;
  --primary-400: #c084fc;
  --primary-500: #a855f7;
  --primary-600: #9333ea;
  --primary-700: #7e22ce;
  --primary-800: #6b21a8;
  --primary-900: #581c87;
  --primary-950: #3b0764;
  --slate-50: #f8fafc;
  --slate-100: #f1f5f9;
  --slate-600: #475569;
  --slate-800: #1e293b;
  --slate-900: #0f172a;
}

body {
  font-family: 'Inter', sans-serif;
  color: var(--slate-800);
  background-color: white;
}

/* Utilities */
.bg-primary-50 { background-color: var(--primary-50) !important; }
.bg-primary-100 { background-color: var(--primary-100) !important; }
.bg-primary-600 { background-color: var(--primary-600) !important; }
.bg-primary-900 { background-color: var(--primary-900) !important; }
.bg-primary-950 { background-color: var(--primary-950) !important; }
.bg-slate-50 { background-color: var(--slate-50) !important; }
.bg-danger-subtle { background-color: #fee2e2 !important; }

.text-primary-100 { color: var(--primary-100) !important; }
.text-primary-200 { color: var(--primary-200) !important; }
.text-primary-400 { color: var(--primary-400) !important; }
.text-primary-600 { color: var(--primary-600) !important; }
.text-primary-700 { color: var(--primary-700) !important; }

.section-padding { padding-top: 5rem; padding-bottom: 5rem; }
.transition { transition: all 0.3s ease-in-out; }
.opacity-10 { opacity: 0.1 !important; }
.opacity-75 { opacity: 0.75 !important; }
.cursor-pointer { cursor: pointer; }
.object-fit-cover { object-fit: cover; }
.letter-spacing-2 { letter-spacing: 2px; }

/* Navbar Styles */
.navbar {
    transition: all 0.4s ease;
}

.navbar-scrolled {
    background-color: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
}

/* Nav Links Default (On Hero) */
.nav-link { color: rgba(255,255,255,0.8); }
.nav-link:hover { color: #ffffff !important; }

/* Scrolled Nav Links handled by JS class toggling */

/* Mobile Nav overrides */
@media(max-width: 991px) {
    .navbar-collapse {
        background: white;
        padding: 1rem;
        margin-top: 1rem;
        border-radius: 0.5rem;
        box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    }
    .nav-link { color: var(--slate-600) !important; }
    .nav-link.active { color: var(--primary-600) !important; } 
    .btn-custom-white { background-color: var(--primary-600) !important; color: white !important; }
}

/* Hero Section */
.hero-section {
    position: relative;
    height: 800px;
    background-color: var(--primary-950);
    overflow: hidden;
}
@media (max-width: 768px) { .hero-section { height: 600px; } }

.hero-bg-wrapper {
    position: absolute; inset: 0; z-index: 0;
}
.hero-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to right, rgba(59,7,100,0.95), rgba(88,28,135,0.8), rgba(88,28,135,0.3));
    z-index: 1;
}
.hero-zoom-effect {
    transform: scale(1);
    transition: transform 10s linear;
}
.carousel-item.active .hero-zoom-effect { transform: scale(1.1); }

/* Animation Classes */
.animate-fade-up { animation: fadeUp 1s ease-out forwards; opacity: 0; transform: translateY(20px); }
.animate-fade-down { animation: fadeDown 1s ease-out forwards; opacity: 0; transform: translateY(-20px); }
.delay-100 { animation-delay: 0.2s; }
.delay-200 { animation-delay: 0.4s; }

@keyframes fadeUp { to { opacity: 1; transform: translateY(0); } }
@keyframes fadeDown { to { opacity: 1; transform: translateY(0); } }

/* Buttons */
.btn-custom-white { background-color: white; color: var(--primary-900); transition: 0.3s; }
.btn-custom-white:hover { background-color: #f3f4f6; color: var(--primary-900); }

.btn-custom-primary { background-color: var(--primary-600); color: white; border: none; transition: 0.3s; }
.btn-custom-primary:hover { background-color: var(--primary-700); color: white; }

.hover-card { transition: transform 0.3s, box-shadow 0.3s; }
.hover-card:hover { transform: translateY(-5px); box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1); }

/* Stats */
.stats-card {
    background-color: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(4px);
}

/* Forms */
.form-control-theme {
    border-color: var(--primary-200) !important;
    background-color: var(--primary-50) !important;
    color: var(--slate-800) !important;
    transition: all 0.3s ease;
}
.form-control-theme:focus {
    border-color: var(--primary-600) !important;
    background-color: #ffffff !important;
    box-shadow: 0 0 0 4px var(--primary-100) !important;
    outline: none;
}
.form-control-theme::placeholder { color: var(--slate-600); opacity: 0.7; }

.hover-text-white:hover { color: white !important; }
