/* ==========================================================================
   RESPONSIVE.CSS - Media Queries for Premium Multi-Device Support
   ========================================================================== */

/* 1. Widescreen & Laptops (Up to 1200px) */
@media (max-width: 1200px) {
    header {
        padding: 0 2rem;
    }
    
    .container {
        padding: 0 2rem;
    }
    
    .footer-grid {
        gap: 2rem;
    }
    
    .menu-grid-container {
        gap: 2rem;
    }
}

/* 2. Small Laptops & iPads Landscape (Up to 1024px) */
@media (max-width: 1024px) {
    :root {
        --header-height: 80px;
    }

    .section-padding {
        padding: 6rem 0;
    }
    
    .section-title {
        font-size: 2.8rem;
    }
    
    /* Layout Adjustments */
    .story-container {
        gap: 4rem;
    }
    
    .special-section-container {
        gap: 3rem;
    }

    .special-info-card {
        padding: 2.5rem;
    }
    
    .special-info-card h2 {
        font-size: 2.3rem;
    }

    /* Grids */
    .signature-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem;
    }
    
    .menu-preview-wrapper {
        gap: 2.5rem;
    }
    
    .menu-grid-container {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .insta-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }
    
    /* Footer */
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 3rem;
    }
    
    /* About Page - Philosophy & Recognition Grids */
    .philosophy-grid,
    .recognition-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    /* About Page - Stats Grid */
    .stats-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 1.5rem;
    }
    
    /* About Page - Team Grid */
    .team-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    
    /* About Page - Kitchen Gallery */
    .kitchen-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: 200px;
    }
    
    /* Reservation Page - Tablet Responsive */
    .time-slots-grid {
        grid-template-columns: repeat(4, 1fr);
    }
    
    .preference-cards-grid,
    .occasion-cards-grid {
        grid-template-columns: repeat(5, 1fr);
    }
    
    .info-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    
    /* Gallery Page - Tablet Responsive */
    .masonry-gallery {
        grid-template-columns: repeat(3, 1fr);
        grid-auto-rows: 240px;
    }
    
    .insta-showcase-grid,
    .customer-moments-grid,
    .awards-gallery-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* 3. Tablets & iPads Portrait (Up to 768px) */
@media (max-width: 768px) {
    .section-padding {
        padding: 5rem 0;
    }
    
    .section-title {
        font-size: 2.4rem;
    }
    
    header {
        padding: 0 1.5rem;
    }
    
    header.scrolled {
        height: 70px;
    }
    
    .logo a {
        font-size: 1.5rem;
    }
    
    /* Hide Nav links and show Mobile Toggle */
    .nav-links, 
    .nav-actions .nav-reserve-btn {
        display: none;
    }
    
    .menu-toggle {
        display: flex;
    }
    
    /* Hero Title Sizes */
    .hero-title {
        font-size: 3.5rem;
    }
    
    /* Story split layout collapse */
    .story-container {
        flex-direction: column;
        gap: 3rem;
    }
    
    .story-text-col {
        order: 2;
    }
    
    .story-img-col {
        order: 1;
        width: 100%;
        height: 380px;
    }
    
    /* Special Section collapse */
    .special-section-container {
        flex-direction: column;
        gap: 2.5rem;
    }
    
    .special-img-col {
        width: 100%;
        height: 400px;
    }
    
    .special-info-col {
        width: 100%;
    }
    
    /* Signature Grid and Preview Menu collapse */
    .signature-grid {
        grid-template-columns: 1fr;
        max-width: 480px;
        margin: 0 auto;
    }
    
    .menu-preview-wrapper {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    /* Seasonal Special Page Split collapse */
    .seasonal-card-split {
        flex-direction: column;
        height: auto;
    }
    
    .seasonal-card-split img {
        height: 300px;
        width: 100%;
    }
    
    .seasonal-card-split div {
        padding: 2.5rem !important;
    }
    
    /* Menu Categories Bar horizontal scroll */
    .menu-category-nav-bar {
        top: 70px;
        padding: 0.8rem 0;
    }
    
    .menu-categories-list {
        overflow-x: auto;
        white-space: nowrap;
        justify-content: flex-start;
        padding: 5px 1.5rem;
        -webkit-overflow-scrolling: touch;
    }
    
    .menu-categories-list::-webkit-scrollbar {
        height: 3px;
    }
    
    .category-btn {
        padding: 0.5rem 1.2rem;
        font-size: 0.75rem;
        letter-spacing: 1px;
    }
    
    /* Search, Sorting, and Filter Wrap */
    .menu-controls-wrapper {
        flex-direction: column;
        align-items: stretch;
        gap: 1rem;
        margin-bottom: 2rem;
    }
    
    .search-filter-box {
        width: 100%;
    }
    
    .menu-sort-box {
        width: 100%;
    }
    
    .filter-chips-wrapper {
        margin-bottom: 2rem;
        padding-bottom: 1.5rem;
    }
    
    /* Lightbox Responsive (Stacking columns on tablet/mobile) */
    .lightbox-content-box {
        flex-direction: column;
        width: 90%;
        max-height: 85vh;
    }
    
    .lightbox-img-col {
        height: 250px;
        flex: none;
    }
    
    .lightbox-body-details {
        padding: 2rem;
        max-height: calc(85vh - 250px);
        flex: 1;
    }
    
    .lightbox-close-btn {
        top: 15px;
        right: 15px;
        font-size: 1.25rem;
    }
    
    .lightbox-nav-btn {
        width: 40px;
        height: 40px;
    }
    
    .lightbox-prev {
        left: 10px;
    }
    
    .lightbox-next {
        right: 10px;
    }
    
    /* About Page - Timeline Responsive (Tablet) */
    .timeline-line,
    .timeline-line-active {
        left: 20px;
        transform: none;
    }
    .timeline-item {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 3.5rem;
    }
    .timeline-col {
        width: 100%;
        padding-left: 45px;
    }
    .timeline-col-empty {
        display: none;
    }
    .timeline-dot {
        left: 20px;
        transform: translateX(-50%);
        top: 28px;
    }
    
    /* About Page - Kitchen Gallery (Tablet) */
    .kitchen-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: 180px;
        gap: 1rem;
    }
    .gi-wide {
        grid-column: auto;
    }
    .gi-tall {
        grid-row: auto;
    }
}

/* 4. Small Mobile Phones (Up to 480px) */
@media (max-width: 480px) {
    .section-padding {
        padding: 4rem 0;
    }
    
    .section-title {
        font-size: 2rem;
    }
    
    .subtitle-gold {
        font-size: 0.75rem;
        letter-spacing: 2px;
    }
    
    /* Hero Adjustments */
    .hero-title {
        font-size: 2.8rem;
    }
    
    .hero-subtitle {
        font-size: 0.9rem;
        letter-spacing: 3px;
    }
    
    .hero-cta {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        align-items: center;
        padding: 0 1rem;
    }
    
    .hero-cta a {
        width: 100%;
        text-align: center;
    }
    
    .hero-cta a:first-child {
        margin-right: 0;
    }
    
    /* Story details */
    .story-text-col h2 {
        font-size: 2.2rem;
    }
    
    .story-img-col {
        height: 280px;
    }
    
    /* Special featured dish details */
    .special-info-card h2 {
        font-size: 1.8rem;
    }
    
    .special-info-card {
        padding: 1.8rem;
    }
    
    .special-details-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 1.5rem;
    }
    
    /* Grid adjustments */
    .menu-grid-container {
        grid-template-columns: 1fr;
    }
    
    .insta-grid {
        grid-template-columns: 1fr;
    }
    
    .insta-item {
        height: 240px;
    }
    
    /* Testimonial slider sizes */
    .testimonial-text {
        font-size: 1.25rem;
    }
    
    /* Reservation details */
    .reservation-cta-section h2 {
        font-size: 2.2rem;
    }
    
    /* Footer collapse */
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }
    
    .footer-bottom {
        flex-direction: column;
        gap: 1rem;
        text-align: center;
    }
    
    .footer-legal {
        justify-content: center;
    }
    
    /* About Page - Timeline Responsive */
    .timeline-line,
    .timeline-line-active {
        left: 20px;
        transform: none;
    }
    .timeline-item {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 3.5rem;
    }
    .timeline-col {
        width: 100%;
        padding-left: 45px;
    }
    .timeline-col-empty {
        display: none;
    }
    .timeline-dot {
        left: 20px;
        transform: translateX(-50%);
        top: 28px;
    }
    
    /* About Page - Stats Grid */
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }
    .stat-number {
        font-size: 2.2rem;
    }
    
    /* About Page - Team Grid */
    .team-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .team-img-wrapper {
        height: 280px;
    }
    
    /* About Page - Kitchen Gallery */
    .kitchen-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: 180px;
        gap: 1rem;
    }
    .gi-wide {
        grid-column: auto;
    }
    .gi-tall {
        grid-row: auto;
    }
    
    /* About Page - Philosophy & Recognition Grids */
    .philosophy-grid,
    .recognition-grid {
        grid-template-columns: 1fr;
    }
    
    /* About Page - Video Section */
    .video-cover-card {
        height: 350px;
    }
    .play-btn-circle {
        width: 65px;
        height: 65px;
        font-size: 1.2rem;
    }
    
    /* Reservation Page - Form Responsive */
    .form-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .time-slots-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    
    .preference-cards-grid,
    .occasion-cards-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    
    .info-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .reservation-summary {
        width: 280px;
        bottom: 20px;
        right: 20px;
    }
    
    /* Gallery Page - Mobile Responsive */
    .category-filter-wrapper {
        gap: 0.5rem;
    }
    
    .filter-btn {
        padding: 0.6rem 1rem;
        font-size: 0.7rem;
    }
    
    .masonry-gallery {
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: 200px;
        gap: 1rem;
    }
    
    .masonry-item:nth-child(5n+1),
    .masonry-item:nth-child(7n+3) {
        grid-row: auto;
        grid-column: auto;
    }
    
    .featured-experience-split {
        flex-direction: column;
        gap: 2rem;
    }
    
    .featured-img-col {
        height: 300px;
        width: 100%;
    }
    
    .insta-showcase-grid,
    .customer-moments-grid,
    .awards-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }
    
    .lightbox-nav-btn {
        width: 40px;
        height: 40px;
    }
    
    .lightbox-prev {
        left: 10px;
    }
    
    .lightbox-next {
        right: 10px;
    }
}

/* Contact Page Responsiveness */
@media (max-width: 991px) {
    .contact-grid {
        grid-template-columns: 1fr;
        gap: 3rem;
    }
    .info-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 600px) {
    .info-grid {
        grid-template-columns: 1fr;
    }
    .map-container {
        height: 300px;
    }
}

