/* ================================================
   RESPONSIVE BREAKPOINTS
   ================================================ */

/* Tablet & Below (1024px) */
@media (max-width: 1024px) {
    :root {
        --section-padding: 80px 0;
    }

    .nav-links {
        display: none;
    }

    .hamburger {
        display: flex;
    }

    .about-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .about-images {
        order: -1;
    }

    .gallery-slide {
        flex: 0 0 600px;
    }

    .gallery-track {
        padding: 0 calc((100vw - 600px) / 2);
    }

    .gallery-slide img {
        height: 400px;
    }

    .location-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .location-map {
        display: none;
    }

    .location-full-map {
        display: block;
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }
}

/* Tablet Portrait (768px) */
@media (max-width: 768px) {
    :root {
        --section-padding: 64px 0;
    }

    .hero-content {
        padding: 0 20px;
    }

    .hero-logo-container svg {
        max-width: 340px;
    }

    .hero-buttons {
        flex-direction: column;
        align-items: center;
    }

    .hero-buttons .btn {
        width: 100%;
        max-width: 280px;
    }

    .about-features {
        gap: 20px;
    }

    .gallery-slide {
        flex: 0 0 85vw;
    }

    .gallery-track {
        padding: 0 7.5vw;
    }

    .gallery-slide img {
        height: 350px;
    }

    .hours-wrapper {
        padding: 36px 28px;
    }

    .location-map {
        height: 300px;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .footer-bottom {
        flex-direction: column;
        gap: 8px;
        text-align: center;
    }
}

/* Mobile (480px) */
@media (max-width: 480px) {
    :root {
        --section-padding: 56px 0;
        --container-padding: 0 16px;
    }

    .navbar {
        padding: 16px 0;
    }

    .navbar.scrolled {
        padding: 10px 0;
    }

    .nav-logo {
        font-size: 1.3rem;
    }

    .hero {
        min-height: 500px;
    }

    .hero-logo-container svg {
        max-width: 280px;
    }

    .hero-tagline {
        font-size: 1rem;
    }

    .about-images {
        grid-template-columns: 1fr;
    }

    .about-features {
        flex-direction: column;
        gap: 16px;
    }

    .gallery-slide img {
        height: 260px;
    }

    .gallery-slide-caption {
        padding: 40px 20px 20px;
    }

    .gallery-slide-caption h3 {
        font-size: 1.15rem;
    }

    .menu-cta {
        padding: 80px 0;
    }

    .hours-wrapper {
        padding: 28px 20px;
    }

    .hours-row {
        padding: 12px 0;
    }

    .section-subtitle {
        font-size: 1rem;
    }

    .mobile-sidebar {
        width: 100%;
        max-width: 100%;
    }
}

/* Hover support (no touch) */
@media (hover: hover) {
    .gallery-slide {
        cursor: grab;
    }

    .gallery-slide:active {
        cursor: grabbing;
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }

    html {
        scroll-behavior: auto;
    }
}
