/* Visit Chegaga — Premium Dynamic Themes */

/* Global Transitions for Theme Switching */
.theme-transition {
    transition: background-color 0.5s ease, border-color 0.5s ease, color 0.5s ease;
}

/* Smooth scrollbar */
::-webkit-scrollbar {
    width: 6px;
}
::-webkit-scrollbar-track {
    background: transparent;
}
::-webkit-scrollbar-thumb {
    background: #eab308; /* sahara-500 equivalent */
    border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
    background: #ca8a04;
}

/* Hide scrollbar for filter bar */
.scrollbar-hide::-webkit-scrollbar {
    display: none;
}
.scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Line clamp utility */
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Focus styles */
*:focus-visible {
    outline: 2px solid #eab308;
    outline-offset: 2px;
    border-radius: 4px;
}

/* Selection */
::selection {
    background-color: #eab308;
    color: #000;
}

/* Smooth page transitions */
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Premium Card Hover Effects */
.glass-card {
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.glass-card:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.15);
}

/* Gradient text animation */
@keyframes gradient-shift {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}
.animate-gradient-text {
    background-size: 200% auto;
    animation: gradient-shift 4s ease infinite;
}

/* Mobile menu animations */
#mobile-menu {
    animation: slideDown 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}
