/* Custom styles and overrides */

/* Smooth scroll offset for fixed nav */
section[id] {
    scroll-margin-top: 80px;
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: #0f1014;
}
::-webkit-scrollbar-thumb {
    background: #2a2c35;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #f27059;
}

/* Selection color handled in head */

/* Gradient text utility */
.text-gradient {
    background: linear-gradient(135deg, #f27059, #d4af37);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Subtle pattern overlay for sections */
.section-pattern {
    background-image: radial-gradient(circle at 1px 1px, rgba(255,255,255,0.02) 1px, transparent 0);
    background-size: 40px 40px;
}

/* Animation keyframes */
@keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

@keyframes pulse-gold {
    0%, 100% { box-shadow: 0 0 0 0 rgba(212,175,55,0.3); }
    50% { box-shadow: 0 0 0 12px rgba(212,175,55,0); }
}

/* Image lazy load placeholder */
img {
    opacity: 1;
    transition: opacity 0.3s ease;
}

/* Focus visible for accessibility */
*:focus-visible {
    outline: 2px solid #f27059;
    outline-offset: 2px;
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
    html {
        scroll-behavior: auto;
    }
    .reveal {
        opacity: 1;
        transform: none;
    }
}
