
:where([class^="ri-"])::before { content: "\f3c2"; }
body { font-family: 'Open Sans', sans-serif; transition: all 0.3s ease; }
.hero-gradient { background: linear-gradient(135deg, rgba(45, 41, 95, 0.8) 0%, rgba(107, 91, 149, 0.6) 100%); }
.card-shadow { box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.06), 0 1px 2px -1px rgba(0, 0, 0, 0.06); }
.hover-lift { transition: transform 0.2s ease, box-shadow 0.2s ease; }
.hover-lift:hover { transform: translateY(-2px); box-shadow: 0 4px 8px -2px rgba(0, 0, 0, 0.1); }
.carousel-item { opacity: 0; transition: opacity 0.5s ease-in-out; }
.carousel-item.active { opacity: 1; }
.dropdown-content { 
    max-height: 0; 
    overflow: hidden; 
    transition: max-height 0.3s ease;
    z-index: 1000;
}
.dropdown:hover .dropdown-content { max-height: 500px; }

/* Fix for white line under menu - remove border */
nav.bg-primary { border: none !important; }
.hover:border-white:hover { border-bottom-color: rgba(255, 255, 255, 0.3) !important; }

/* Marquee Animation */
.marquee-container { overflow: hidden; }
.marquee-content { display: flex; animation: marquee 60s linear infinite; white-space: nowrap; }
@keyframes marquee { 0% { transform: translateX(100%); } 100% { transform: translateX(-100%); } }
.marquee-content:hover { animation-play-state: paused; }

/* Theme Variables */
:root {
    --bg-primary: #ffffff;
    --bg-secondary: #f8fafc;
    --text-primary: #1f2937;
    --text-secondary: #6b7280;
    --border-color: #e5e7eb;
}

[data-theme="dark"] {
    --bg-primary: #1f2937;
    --bg-secondary: #111827;
    --text-primary: #f9fafb;
    --text-secondary: #d1d5db;
    --border-color: #374151;
}

[data-theme="dark"] body { background-color: var(--bg-secondary); color: var(--text-primary); }
[data-theme="dark"] .bg-white { background-color: var(--bg-primary) !important; }
[data-theme="dark"] .bg-gray-50 { background-color: var(--bg-secondary) !important; }
[data-theme="dark"] .text-gray-900 { color: var(--text-primary) !important; }
[data-theme="dark"] .text-gray-600 { color: var(--text-secondary) !important; }
[data-theme="dark"] .border-gray-200 { border-color: var(--border-color) !important; }

/* Font Size Variables */
.font-size-small { font-size: 0.875rem; }
.font-size-normal { font-size: 1rem; }
.font-size-large { font-size: 1.125rem; }

/* Read Mode */
.read-mode img, .read-mode .carousel-item { display: none !important; }
.read-mode .hero-section { background: var(--bg-primary) !important; }
.read-mode .hero-gradient { background: transparent !important; }

/* Compact spacing */
.compact-section { padding: 2rem 0; }
.compact-card { padding: 1rem; }
