/* Custom Styles for Joe's Market & Catering */

:root {
    --color-teal: #1a5f5f;
    --color-teal-light: #f0f7f7;
    --color-slate: #2d3748;
    --color-stone: #fafaf9;
}

/* Base Typography */
html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    letter-spacing: 0.01em;
}

.font-serif {
    font-family: 'Cormorant Garamond', serif;
}

/* Smooth Scroll Offset for Fixed Header */
section[id] {
    scroll-margin-top: 80px;
}

/* Navbar Scroll Effect */
header.scrolled #nav-bg {
    opacity: 1;
}

/* Hero Animations */
.hero-subtitle {
    animation: fadeInDown 1s ease-out 0.3s both;
}

.hero-title {
    animation: fadeInUp 1s ease-out 0.5s both;
}

.hero-desc {
    animation: fadeInUp 1s ease-out 0.7s both;
}

.hero-cta {
    animation: fadeInUp 1s ease-out 0.9s both;
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Reveal Animations */
.reveal-up,
.reveal-left,
.reveal-right {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.reveal-left {
    transform: translateX(-30px);
}

.reveal-right {
    transform: translateX(30px);
}

.revealed {
    opacity: 1;
    transform: translate(0, 0);
}

/* Mobile Menu */
.mobile-link {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.75rem;
    transition: color 0.3s ease;
}

.mobile-link:hover {
    color: #1a5f5f;
}

/* Form Styles */
input:focus,
textarea:focus {
    border-color: #1a5f5f !important;
    box-shadow: 0 0 0 2px rgba(26, 95, 95, 0.1);
}

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

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

::-webkit-scrollbar-thumb {
    background: #d6d3d1;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #a8a29e;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .font-serif {
        font-size: 2rem;
    }
}
