/* Custom Styles for Hayden's Confections */

/* Base Reset & Smooth Scroll */
html {
    scroll-behavior: smooth;
}

body {
    /* Custom font fallback stack */
    font-family: 'Outfit', sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, .font-serif {
    font-family: 'Playfair Display', serif;
}

/* Scroll Reveal Animation */
.reveal-on-scroll {
    opacity: 1; /* Default visible for accessibility/no-JS */
    transform: translateY(0);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

/* If JS is disabled, content is already visible. 
   If JS is enabled, we add a class to hide initially and then reveal. 
   However, to prevent FOUC (Flash of Unstyled Content), we handle this in JS.
   The CSS below is for the animation state. */
.reveal-hidden {
    opacity: 0;
    transform: translateY(30px);
}

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

::-webkit-scrollbar-track {
    background: #f5f2eb;
}

::-webkit-scrollbar-thumb {
    background: #059669;
    border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
    background: #064e3b;
}

/* Mobile Menu Transition */
#mobile-menu {
    transition: opacity 0.3s ease-in-out, visibility 0.3s;
}

#mobile-menu.open {
    opacity: 1;
    pointer-events: auto;
}

#mobile-menu.closed {
    opacity: 0;
    pointer-events: none;
}

/* Geometric Shape Animations */
@keyframes float {
    0% { transform: translateY(0px) rotate(0deg); }
    50% { transform: translateY(-20px) rotate(5deg); }
    100% { transform: translateY(0px) rotate(0deg); }
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .hero-title {
        font-size: 2.5rem;
    }
    
    .grid-cols-2 {
        grid-template-columns: 1fr;
    }
    
    .grid-cols-2 > *:nth-child(even) {
        order: -1;
    }
}
