:root {
    --primary: #f59e0b; /* amber-500 */
    --secondary: #111827; /* gray-900 */
}

html {
    scroll-behavior: smooth;
}

body.high-contrast {
    background: #000 !important;
    color: #fff !important;
}

body.high-contrast .bg-white, 
body.high-contrast .bg-gray-50 {
    background: #000 !important;
}

body.high-contrast .text-gray-600,
body.high-contrast .text-gray-700,
body.high-contrast .text-gray-900 {
    color: #fff !important;
}

body.high-contrast .bg-amber-500 {
    background: #ffff00 !important; /* Vivid Yellow */
    color: #000 !important;
}

/* Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-fade-in-up {
    animation: fadeInUp 0.8s ease-out forwards;
}

@keyframes slowZoom {
    0% { transform: scale(1); }
    100% { transform: scale(1.15); }
}

.animate-slow-zoom {
    animation: slowZoom 20s ease-in-out infinite alternate;
}

.animate-on-scroll {
    transition: all 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.reveal {
    opacity: 1 !important;
    transform: translate(0, 0) !important;
}

/* Custom Sticky Header Transition */
#sticky-header.scrolled {
    padding: 0.5rem 0;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

/* Mobile Sidebar Fix */
#mobile-sidebar.visible {
    display: block;
    opacity: 1;
}

#sidebar-content.open {
    transform: translateX(0);
}

/* RTL Adjustment for Lucide/FontAwesome if needed */
.fa-plus-square {
    display: inline-block;
}