/* Custom styles for the Rubix website */

/* Base styles */
body {
    background-color: hsl(0 0% 8%);
    color: hsl(0 0% 98%);
}

/* Scroll animations */
.scroll-animate {
    opacity: 0;
    transform: translateY(2rem);
    transition: all 1s ease-out;
}

.scroll-animate.animate {
    opacity: 1;
    transform: translateY(0);
}

/* Custom animations */
@keyframes pulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.5;
    }
}

.animate-pulse {
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

.delay-1000 {
    animation-delay: 1s;
}

/* Backdrop blur fallback */
.backdrop-blur-sm {
    backdrop-filter: blur(4px);
}

.backdrop-blur-md {
    backdrop-filter: blur(12px);
}

/* Custom gradient text */
.bg-clip-text {
    -webkit-background-clip: text;
    background-clip: text;
}

.text-transparent {
    color: transparent;
}

/* Smooth scrolling */
html {
    scroll-behavior: smooth;
}

/* Focus styles */
input:focus,
textarea:focus,
button:focus {
    outline: 2px solid hsl(48 100% 67%);
    outline-offset: 2px;
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: hsl(0 0% 12%);
}

::-webkit-scrollbar-thumb {
    background: hsl(0 0% 18%);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: hsl(48 100% 67%);
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .text-5xl {
        font-size: 2.5rem;
    }
    
    .text-7xl {
        font-size: 3.5rem;
    }
}

/* Loading state for images */
img {
    transition: opacity 0.3s ease;
}

img[loading="lazy"] {
    opacity: 0;
}

img[loading="lazy"].loaded {
    opacity: 1;
}

/* Print styles */
@media print {
    .fixed {
        position: static;
    }
    
    .bg-gradient-to-br,
    .bg-gradient-to-r {
        background: white !important;
        color: black !important;
    }
}