/* Add Inter for body text - clean & highly readable */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap');

/* Keep your Merriweather @font-face declarations */
@font-face {
    font-family: 'Merriweather';
    font-style: normal;
    font-weight: 300;
    src: url(https://fonts.gstatic.com/s/merriweather/v33/u-4e0qyriQwlOrhSvowK_l5UcA6zuSYEqOzpPe3HOZJ5eX1WtLaQwmYiSeqqJ-k.woff2) format('woff2');
}
@font-face {
    font-family: 'Merriweather';
    font-style: normal;
    font-weight: 400;
    src: url(https://fonts.gstatic.com/s/merriweather/v33/u-4e0qyriQwlOrhSvowK_l5UcA6zuSYEqOzpPe3HOZJ5eX1WtLaQwmYiSeqqJ-k.woff2) format('woff2');
}
@font-face {
    font-family: 'Merriweather';
    font-style: normal;
    font-weight: 700;
    src: url(https://fonts.gstatic.com/s/merriweather/v33/u-4e0qyriQwlOrhSvowK_l5UcA6zuSYEqOzpPe3HOZJ5eX1WtLaQwmYiSeqqJ-k.woff2) format('woff2');
}

:root {
    --gold-color: #D4AF37;
    --gold-dark: #B8860B;
    --gold-light: #F0E68C;
    --dark-color: #1a1a1a;
    --light-color: #f8f9fa;
}

/* UPDATED: Use Inter for body text, Merriweather only for headings */
body { 
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; 
    overflow-x: hidden; 
    color: #333;
    font-weight: 400;
    line-height: 1.6; /* Better readability */
}

/* Keep Merriweather for elegant headings */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Merriweather', serif;
    font-weight: 700;
    color: var(--dark-color);
    line-height: 1.3;
}

/* Optional: Use Merriweather for special elements too */
.menu-title, .dish-name, .price, .testimonial {
    font-family: 'Merriweather', serif;
    font-weight: 700;
}

/* Add text color variations */
.gold-text {
    color: var(--gold-color);
}

.light-text {
    color: var(--light-color);
}

        #preloader { 
            position: fixed; 
            top: 0; 
            left: 0; 
            width: 100%; 
            height: 100%; 
            background: linear-gradient(135deg, #000 0%, #1a1a1a 100%); 
            z-index: 9999; 
            display: flex; 
            align-items: center; 
            justify-content: center; 
            transition: opacity 0.8s; 
        }
        
        #preloader.preloader-hidden { 
            opacity: 0; 
            pointer-events: none; 
        }
        
        .preloader-content { 
            text-align: center; 
            color: #fff; 
        }
        
        .brand-name { 
            font-size: 4rem; 
            font-weight: 900; 
            color: var(--gold-color); 
            margin-bottom: 1rem;
            font-family: 'Merriweather', serif;
            letter-spacing: 2px;
            text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
        }

        .lottie-container {
            width: 300px;
            height: 300px;
            margin: 0 auto;
        }
        
        .loading-bar { 
            width: 250px; 
            height: 4px; 
            background: #333; 
            border-radius: 2px; 
            overflow: hidden; 
            margin: 1rem auto; 
        }
        
        .loading-progress { 
            height: 100%; 
            width: 0; 
            background: linear-gradient(90deg, var(--gold-color), var(--gold-light));
            transition: width 0.3s; 
        }
        
        .services-list { 
            display: flex; 
            gap: 1.5rem; 
            justify-content: center; 
            flex-wrap: wrap; 
            margin-top: 1rem;
        }
        
        .service-item { 
            color: #999; 
            font-size: 0.95rem;
            font-weight: 300;
            letter-spacing: 1px;
        }

        .navbar { 
            background: rgba(0,0,0,0.95) !important; 
            padding: 1rem 0; 
            transition: all 0.3s;
            backdrop-filter: blur(10px);
        }
        
        .navbar-scrolled { 
            box-shadow: 0 2px 20px rgba(0,0,0,0.5);
            background: rgba(0,0,0,1) !important;
        }
        
        .navbar-brand { 
            color: var(--gold-color) !important;
            font-weight: 700; 
            font-size: 1.8rem;
            display: flex;
            align-items: center;
        }
        
        .navbar-logo {
            height: 40px;
            width: auto;
            margin-right: 12px;
            transition: transform 0.3s ease;
        }
        
        .nav-link { 
            color: #fff !important; 
            font-weight: 500; 
            padding: 0.5rem 1rem !important; 
            transition: all 0.3s;
            font-size: 0.95rem;
            letter-spacing: 0.5px;
        }
        
        .nav-link:hover { 
            color: var(--gold-color) !important;
            transform: translateY(-2px);
        }
        
        .dropdown-menu { 
            background: rgba(0,0,0,0.95) !important; 
            border: 1px solid rgba(212, 175, 55, 0.3);
            border-radius: 8px;
            box-shadow: 0 5px 20px rgba(0,0,0,0.3);
        }
        
        .dropdown-item { 
            color: #fff !important; 
            padding: 0.7rem 1.5rem;
            transition: all 0.3s;
            font-size: 0.9rem;
        }
        
        .dropdown-item:hover { 
            background: var(--gold-color) !important;
            transform: translateX(5px);
            color: #000 !important;
        }

        .dropdown-toggle::after {
            margin-left: 0.5rem;
        }

        /* Hero Section - Mobile Optimized */
        .hero-section {
            position: relative;
            min-height: 100vh;
          background: linear-gradient(135deg, rgba(26, 26, 26, 0.6) 0%, rgba(0, 0, 0, 0.6) 100%), 
            url('/images/hero-bg.jpg');
            background-size: cover;
            background-position: center;
            background-attachment: fixed;
            display: flex;
            align-items: center;
            overflow: hidden;
            padding: 180px 0 80px; 
        }
.hero-content {
    position: relative;
    z-index: 2;
    transform: translateY(60px); /* Push content down by 60px */
}

        .hero-text {
            color: #fff;
            text-align: center;
        }

        .hero-text h1 {
            font-size: 3.5rem;
            line-height: 1.2;
            margin-bottom: 1.5rem;
            text-shadow: 2px 2px 8px rgba(0,0,0,0.7);
        }

        .hero-text .lead {
            font-size: 1.2rem;
            color: var(--gold-light);
            margin-bottom: 2rem;
            text-shadow: 1px 1px 4px rgba(0,0,0,0.7);
        }

        .circular-tray-container {
            position: relative;
            width: 100%;
            height: 500px;
            margin: 0 auto;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .circular-tray {
            position: relative;
            width: 400px;
            height: 400px;
            border-radius: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .food-item {
            position: absolute;
            width: 120px;
            height: 120px;
            border-radius: 50%;
            overflow: hidden;
            box-shadow: 0 10px 30px rgba(0,0,0,0.5);
            border: 3px solid var(--gold-color);
            transition: all 0.5s ease;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        /* Individual rotation animations for each food item */
        .food-item:nth-child(1) {
            animation: rotateFood1 20s linear infinite;
            transform: rotate(0deg) translate(200px) rotate(0deg);
        }

        .food-item:nth-child(2) {
            animation: rotateFood2 20s linear infinite;
            transform: rotate(60deg) translate(200px) rotate(-60deg);
        }

        .food-item:nth-child(3) {
            animation: rotateFood3 20s linear infinite;
            transform: rotate(120deg) translate(200px) rotate(-120deg);
        }

        .food-item:nth-child(4) {
            animation: rotateFood4 20s linear infinite;
            transform: rotate(180deg) translate(200px) rotate(-180deg);
        }

        .food-item:nth-child(5) {
            animation: rotateFood5 20s linear infinite;
            transform: rotate(240deg) translate(200px) rotate(-240deg);
        }

        .food-item:nth-child(6) {
            animation: rotateFood6 20s linear infinite;
            transform: rotate(300deg) translate(200px) rotate(-300deg);
        }

        /* Keyframes for each food item */
        @keyframes rotateFood1 {
            0% {
                transform: rotate(0deg) translate(200px) rotate(0deg);
            }
            100% {
                transform: rotate(360deg) translate(200px) rotate(-360deg);
            }
        }

        @keyframes rotateFood2 {
            0% {
                transform: rotate(60deg) translate(200px) rotate(-60deg);
            }
            100% {
                transform: rotate(420deg) translate(200px) rotate(-420deg);
            }
        }

        @keyframes rotateFood3 {
            0% {
                transform: rotate(120deg) translate(200px) rotate(-120deg);
            }
            100% {
                transform: rotate(480deg) translate(200px) rotate(-480deg);
            }
        }

        @keyframes rotateFood4 {
            0% {
                transform: rotate(180deg) translate(200px) rotate(-180deg);
            }
            100% {
                transform: rotate(540deg) translate(200px) rotate(-540deg);
            }
        }

        @keyframes rotateFood5 {
            0% {
                transform: rotate(240deg) translate(200px) rotate(-240deg);
            }
            100% {
                transform: rotate(600deg) translate(200px) rotate(-600deg);
            }
        }

        @keyframes rotateFood6 {
            0% {
                transform: rotate(300deg) translate(200px) rotate(-300deg);
            }
            100% {
                transform: rotate(660deg) translate(200px) rotate(-660deg);
            }
        }

        .food-item img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .food-item:hover {
            transform: scale(1.2);
            z-index: 10;
            box-shadow: 0 15px 40px rgba(212, 175, 55, 0.6);
            animation-play-state: paused;
        }

        .center-lottie {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            z-index: 5;
            width: 200px;
            height: 200px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .center-lottie img {
            width: 100%;
            height: 100%;
            object-fit: contain;
        }

        /* Mobile-first responsive design - IMPROVED SPACING */
        @media (max-width: 768px) {
            .hero-section {
                padding: 100px 0 20px; /* Reduced bottom padding */
                min-height: 90vh; /* Reduced height for mobile */
                display: flex;
                flex-direction: column;
                background-attachment: scroll;
            }

            .hero-content {
                order: 2;
                margin-top: 20px; /* Reduced margin */
            }

            .circular-tray-container {
                order: 1;
                height: 320px; /* Reduced height */
                margin-bottom: 10px; /* Reduced margin */
            }

            .circular-tray {
                width: 280px; /* Smaller tray */
                height: 280px;
            }

            .food-item {
                width: 80px; /* Smaller food items */
                height: 80px;
            }

            /* Mobile-specific animations with closer positioning */
            .food-item:nth-child(1) {
                animation: rotateFood1Mobile 20s linear infinite;
                transform: rotate(0deg) translate(140px) rotate(0deg);
            }

            .food-item:nth-child(2) {
                animation: rotateFood2Mobile 20s linear infinite;
                transform: rotate(60deg) translate(140px) rotate(-60deg);
            }

            .food-item:nth-child(3) {
                animation: rotateFood3Mobile 20s linear infinite;
                transform: rotate(120deg) translate(140px) rotate(-120deg);
            }

            .food-item:nth-child(4) {
                animation: rotateFood4Mobile 20s linear infinite;
                transform: rotate(180deg) translate(140px) rotate(-180deg);
            }

            .food-item:nth-child(5) {
                animation: rotateFood5Mobile 20s linear infinite;
                transform: rotate(240deg) translate(140px) rotate(-240deg);
            }

            .food-item:nth-child(6) {
                animation: rotateFood6Mobile 20s linear infinite;
                transform: rotate(300deg) translate(140px) rotate(-300deg);
            }

            /* Mobile-specific keyframes */
            @keyframes rotateFood1Mobile {
                0% {
                    transform: rotate(0deg) translate(140px) rotate(0deg);
                }
                100% {
                    transform: rotate(360deg) translate(140px) rotate(-360deg);
                }
            }

            @keyframes rotateFood2Mobile {
                0% {
                    transform: rotate(60deg) translate(140px) rotate(-60deg);
                }
                100% {
                    transform: rotate(420deg) translate(140px) rotate(-420deg);
                }
            }

            @keyframes rotateFood3Mobile {
                0% {
                    transform: rotate(120deg) translate(140px) rotate(-120deg);
                }
                100% {
                    transform: rotate(480deg) translate(140px) rotate(-480deg);
                }
            }

            @keyframes rotateFood4Mobile {
                0% {
                    transform: rotate(180deg) translate(140px) rotate(-180deg);
                }
                100% {
                    transform: rotate(540deg) translate(140px) rotate(-540deg);
                }
            }

            @keyframes rotateFood5Mobile {
                0% {
                    transform: rotate(240deg) translate(140px) rotate(-240deg);
                }
                100% {
                    transform: rotate(600deg) translate(140px) rotate(-600deg);
                }
            }

            @keyframes rotateFood6Mobile {
                0% {
                    transform: rotate(300deg) translate(140px) rotate(-300deg);
                }
                100% {
                    transform: rotate(660deg) translate(140px) rotate(-660deg);
                }
            }

            .center-lottie {
                width: 140px; /* Smaller center animation */
                height: 140px;
            }

            .center-lottie img {
                width: 140px !important;
                height: 140px !important;
            }

            .hero-text h1 {
                font-size: 2rem; /* Smaller heading */
                margin-bottom: 0.8rem;
            }

            .hero-text .lead {
                font-size: 1rem; /* Smaller text */
                margin-bottom: 1.2rem;
            }
            
            .hero-buttons .btn {
                padding: 0.7rem 1.5rem; /* Smaller buttons */
                font-size: 0.9rem;
            }
        }

        @media (max-width: 576px) {
            .circular-tray-container {
                height: 280px; /* Even smaller on very small screens */
            }

            .circular-tray {
                width: 240px;
                height: 240px;
            }

            .food-item {
                width: 70px;
                height: 70px;
            }

            /* Even closer positioning for very small screens */
            .food-item:nth-child(1) {
                animation: rotateFood1Small 20s linear infinite;
                transform: rotate(0deg) translate(120px) rotate(0deg);
            }

            .food-item:nth-child(2) {
                animation: rotateFood2Small 20s linear infinite;
                transform: rotate(60deg) translate(120px) rotate(-60deg);
            }

            .food-item:nth-child(3) {
                animation: rotateFood3Small 20s linear infinite;
                transform: rotate(120deg) translate(120px) rotate(-120deg);
            }

            .food-item:nth-child(4) {
                animation: rotateFood4Small 20s linear infinite;
                transform: rotate(180deg) translate(120px) rotate(-180deg);
            }

            .food-item:nth-child(5) {
                animation: rotateFood5Small 20s linear infinite;
                transform: rotate(240deg) translate(120px) rotate(-240deg);
            }

            .food-item:nth-child(6) {
                animation: rotateFood6Small 20s linear infinite;
                transform: rotate(300deg) translate(120px) rotate(-300deg);
            }

            /* Small screen keyframes */
            @keyframes rotateFood1Small {
                0% {
                    transform: rotate(0deg) translate(120px) rotate(0deg);
                }
                100% {
                    transform: rotate(360deg) translate(120px) rotate(-360deg);
                }
            }

            @keyframes rotateFood2Small {
                0% {
                    transform: rotate(60deg) translate(120px) rotate(-60deg);
                }
                100% {
                    transform: rotate(420deg) translate(120px) rotate(-420deg);
                }
            }

            @keyframes rotateFood3Small {
                0% {
                    transform: rotate(120deg) translate(120px) rotate(-120deg);
                }
                100% {
                    transform: rotate(480deg) translate(120px) rotate(-480deg);
                }
            }

            @keyframes rotateFood4Small {
                0% {
                    transform: rotate(180deg) translate(120px) rotate(-180deg);
                }
                100% {
                    transform: rotate(540deg) translate(120px) rotate(-540deg);
                }
            }

            @keyframes rotateFood5Small {
                0% {
                    transform: rotate(240deg) translate(120px) rotate(-240deg);
                }
                100% {
                    transform: rotate(600deg) translate(120px) rotate(-600deg);
                }
            }

            @keyframes rotateFood6Small {
                0% {
                    transform: rotate(300deg) translate(120px) rotate(-300deg);
                }
                100% {
                    transform: rotate(660deg) translate(120px) rotate(-660deg);
                }
            }

            .center-lottie {
                width: 120px;
                height: 120px;
            }

            .center-lottie img {
                width: 120px !important;
                height: 120px !important;
            }

            .hero-text h1 {
                font-size: 1.8rem;
            }
        }

        /* Desktop layout */
        @media (min-width: 769px) {
            .hero-content {
                order: 1;
            }

            .circular-tray-container {
                order: 2;
            }
        }

        .btn-gold { 
            background: linear-gradient(135deg, var(--gold-color), var(--gold-dark));
            border: none; 
            padding: 0.9rem 2.5rem; 
            font-weight: 700; 
            transition: all 0.3s;
            border-radius: 50px;
            box-shadow: 0 4px 15px rgba(212, 175, 55, 0.3);
            letter-spacing: 1px;
            color: #000;
        }
        
        .btn-gold:hover { 
            background: linear-gradient(135deg, var(--gold-dark), var(--gold-color));
            transform: translateY(-3px);
            box-shadow: 0 6px 20px rgba(212, 175, 55, 0.4);
            color: #000;
        }
        
        .btn-outline-gold { 
            border: 2px solid var(--gold-color);
            color: var(--gold-color);
            padding: 0.9rem 2.5rem; 
            font-weight: 700; 
            transition: all 0.3s;
            border-radius: 50px;
            letter-spacing: 1px;
        }
        
        .btn-outline-gold:hover { 
            background: var(--gold-color);
            border-color: var(--gold-color);
            color: #000;
            transform: translateY(-3px);
            box-shadow: 0 6px 20px rgba(212, 175, 55, 0.4);
        }

        .section-title {
            margin-bottom: 3rem;
        }

        .section-title .subtitle {
            font-size: 1rem;
            color: var(--gold-color);
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 2px;
            margin-bottom: 0.5rem;
        }

        .section-title h2 {
            font-size: 2.5rem;
            font-weight: 900;
        }

        /* Services Section */
        .services-section {
            padding: 80px 0;
            background: #f8f9fa;
        }

        .service-card {
            border-radius: 15px;
            overflow: hidden;
            box-shadow: 0 5px 20px rgba(0,0,0,0.1);
            transition: all 0.3s;
            height: 100%;
            background: white;
        }

        .service-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 15px 30px rgba(0,0,0,0.15);
        }

        .service-card img {
            width: 100%;
            height: 200px;
            object-fit: cover;
        }

        .service-card-body {
            padding: 1.5rem;
        }

        .service-card h5 {
            color: var(--gold-color);
            margin-bottom: 0.5rem;
        }

        /* Menu Section */
        .menu-section {
            padding: 80px 0;
        }

        .fancy-bar { 
            display: flex; 
            justify-content: center; 
            gap: 1rem; 
            margin-bottom: 3rem; 
            flex-wrap: wrap; 
        }
        
        .fancy-bar-item { 
            padding: 1.2rem 2rem; 
            background: #fff;
            cursor: pointer; 
            border-radius: 12px; 
            transition: all 0.3s; 
            text-align: center;
            border: 2px solid #e9ecef;
            box-shadow: 0 2px 10px rgba(0,0,0,0.05);
        }
        
        .fancy-bar-item:hover, 
        .fancy-bar-item.active { 
            background: var(--gold-color);
            color: #000;
            transform: translateY(-5px);
            box-shadow: 0 5px 20px rgba(212, 175, 55, 0.3);
            border-color: var(--gold-color);
        }
        
        .fancy-bar-item i { 
            font-size: 1.8rem; 
            display: block; 
            margin: 0 auto 0.7rem;
        }

        .fancy-bar-item span {
            font-weight: 700;
            font-size: 0.9rem;
            letter-spacing: 1px;
        }
        
        .fancy-tab-content { 
            display: none; 
            padding: 3rem; 
            background: #fff;
            border-radius: 15px;
            box-shadow: 0 5px 30px rgba(0,0,0,0.1);
        }
        
        .fancy-tab-content.active { 
            display: block;
            animation: fadeIn 0.5s;
        }

        /* NEW: Enhanced Menu Items with Gold Flicker Effect */
        .menu-item {
            padding: 1.5rem;
            border-radius: 15px;
            transition: all 0.3s;
            cursor: pointer;
            border: 1px solid #e9ecef;
            background: #fff;
            box-shadow: 0 3px 10px rgba(0,0,0,0.08);
            margin-bottom: 1.5rem;
            height: 100%;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            position: relative;
            overflow: hidden;
        }

        .menu-item::before {
            content: '';
            position: absolute;
            top: -50%;
            left: -50%;
            width: 200%;
            height: 200%;
            background: linear-gradient(
                to bottom right,
                rgba(212, 175, 55, 0) 0%,
                rgba(212, 175, 55, 0.1) 50%,
                rgba(212, 175, 55, 0) 100%
            );
            transform: rotate(45deg);
            z-index: 1;
            opacity: 0;
            transition: opacity 0.3s;
            animation: goldFlicker 3s infinite;
        }

        @keyframes goldFlicker {
            0%, 100% {
                opacity: 0;
            }
            10%, 30%, 50%, 70%, 90% {
                opacity: 0.1;
            }
            20%, 40%, 60%, 80% {
                opacity: 0.3;
            }
        }

        .menu-item:hover::before {
            opacity: 0.3;
        }

        .menu-item:hover {
            background: #f8f9fa;
            transform: translateY(-5px);
            box-shadow: 0 8px 25px rgba(0,0,0,0.15);
            border-color: var(--gold-color);
        }

        .menu-item h6 {
            font-size: 1rem;
            text-transform: uppercase;
            letter-spacing: 1px;
            color: #1a1a1a;
            margin-bottom: 0.5rem;
            font-weight: 700;
            position: relative;
            z-index: 2;
        }

        .menu-item .price {
            font-size: 1.3rem;
            font-weight: 900;
            color: var(--gold-color);
            position: relative;
            z-index: 2;
        }

        .menu-item .text-muted {
            font-size: 0.9rem;
            line-height: 1.5;
            color: #666 !important;
            margin-bottom: 0;
            position: relative;
            z-index: 2;
        }

        .menu-item-content {
            flex-grow: 1;
            position: relative;
            z-index: 2;
        }

        .menu-item-footer {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-top: 1rem;
            padding-top: 1rem;
            border-top: 1px dashed #e9ecef;
            position: relative;
            z-index: 2;
        }

        .order-btn {
            background: var(--gold-color);
            color: #000;
            border: none;
            padding: 0.5rem 1rem;
            border-radius: 25px;
            font-size: 0.8rem;
            font-weight: 600;
            transition: all 0.3s;
            cursor: pointer;
        }

        .order-btn:hover {
            background: var(--gold-dark);
            transform: translateY(-2px);
            box-shadow: 0 4px 10px rgba(212, 175, 55, 0.3);
        }

        .hoverbox { 
            position: relative; 
            overflow: hidden; 
            cursor: pointer; 
            border-radius: 15px;
            box-shadow: 0 5px 20px rgba(0,0,0,0.1);
            transition: all 0.3s;
        }

        .hoverbox:hover {
            transform: translateY(-10px);
            box-shadow: 0 10px 30px rgba(0,0,0,0.2);
        }
        
        .hoverbox img { 
            width: 100%; 
            height: 300px;
            object-fit: cover;
            transition: transform 0.5s;
        }
        
        .hoverbox:hover img { 
            transform: scale(1.1);
        }
        
        .hoverbox-content { 
            position: absolute; 
            top: 0; 
            left: 0; 
            width: 100%; 
            height: 100%; 
            background: linear-gradient(to top, rgba(0,0,0,0.9), rgba(0,0,0,0.3));
            color: #fff; 
            display: flex; 
            align-items: center; 
            justify-content: center; 
            opacity: 0; 
            transition: opacity 0.4s; 
            text-align: center; 
            padding: 30px;
        }
        
        .hoverbox:hover .hoverbox-content { 
            opacity: 1; 
        }

        .hoverbox-content h5 {
            font-size: 1.3rem;
            margin-bottom: 0.5rem;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        /* QR Code Section */
        .qr-section {
            background: linear-gradient(135deg, #0f0f0f 0%, #2a2a2a 100%);
            padding: 80px 0;
            color: white;
        }

        .qr-card {
            background: rgba(255,255,255,0.05);
            border-radius: 20px;
            padding: 40px;
            border: 2px solid var(--gold-color);
            text-align: center;
        }

        .qr-code-container {
            background: white;
            padding: 20px;
            border-radius: 15px;
            display: inline-block;
            margin: 20px 0;
        }

        .qr-placeholder {
            width: 200px;
            height: 200px;
            background: #f8f9fa;
            display: flex;
            align-items: center;
            justify-content: center;
            border: 2px dashed var(--gold-color);
            border-radius: 10px;
            margin: 0 auto;
        }

        /* Google Maps Section */
        .map-section {
            padding: 80px 0;
            background: #f8f9fa;
        }

        .map-container {
            border-radius: 15px;
            overflow: hidden;
            box-shadow: 0 10px 30px rgba(0,0,0,0.1);
        }

        /* Enhanced Food Modal */
        .food-gallery {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 10px;
            margin-bottom: 20px;
        }

        .food-gallery img {
            width: 100%;
            height: 100px;
            object-fit: cover;
            border-radius: 8px;
            cursor: pointer;
            transition: transform 0.3s;
        }

        .food-gallery img:hover {
            transform: scale(1.05);
        }

      .video-container {
    position: relative;
    width: 100%;
    height: 250px; /* Fixed height instead of padding-bottom */
    border-radius: 10px;
    margin-bottom: 20px;
    overflow: hidden;
    background: #000; /* Black background for video */
}

.video-container video {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Fill the container while maintaining aspect ratio */
    border-radius: 10px;
}

/* Optional: Add play button overlay for better UX */
.video-container::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 60px;
    background: rgba(212, 175, 55, 0.8);
    border-radius: 50%;
    z-index: 2;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.video-container::after {
    content: '▶';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-40%, -50%);
    color: white;
    font-size: 20px;
    z-index: 3;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.video-container:hover::before,
.video-container:hover::after {
    opacity: 1;
}
        .whatsapp-order {
            background: #25D366;
            border: none;
            color: white;
            padding: 12px 30px;
            border-radius: 25px;
            font-weight: bold;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            transition: all 0.3s;
            width: 100%;
            margin-top: 15px;
            text-decoration: none;
        }

        .whatsapp-order:hover {
            background: #128C7E;
            transform: translateY(-3px);
            color: white;
            text-decoration: none;
        }
        /* Food Modal Button Styling */
.foodModal {
    background: linear-gradient(135deg, var(--gold-color), var(--gold-dark));
    border: none;
    color: #000;
    padding: 8px 20px;
    border-radius: 25px;
    font-weight: 600;
    font-size: 0.85rem;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 3px 10px rgba(212, 175, 55, 0.3);
    letter-spacing: 0.5px;
    text-transform: uppercase;
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.foodModal::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, var(--gold-dark), var(--gold-color));
    transition: left 0.3s ease;
    z-index: -1;
}

.foodModal:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(212, 175, 55, 0.4);
    color: #000;
}

.foodModal:hover::before {
    left: 0;
}

.foodModal:active {
    transform: translateY(0);
    box-shadow: 0 2px 5px rgba(212, 175, 55, 0.3);
}

/* Mobile responsiveness for food modal button */
@media (max-width: 768px) {
    .foodModal {
        padding: 6px 16px;
        font-size: 0.8rem;
    }
}

@media (max-width: 576px) {
    .foodModal {
        padding: 5px 14px;
        font-size: 0.75rem;
    }
}
/* Enhanced Reservation Modal Styles - FIXED */
.modal-content {
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
    border: 2px solid var(--gold-color);
    border-radius: 20px;
    box-shadow: 0 25px 80px rgba(0,0,0,0.3);
    backdrop-filter: none;
}

.modal-header {
    border-bottom: 2px solid var(--gold-color);
    background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
    padding: 2rem 2rem 1rem;
    border-radius: 18px 18px 0 0;
}

.modal-title {
    color: #1a1a1a !important;
    font-weight: 800;
    font-size: 1.8rem;
    text-align: center;
    width: 100%;
}

.modal-header .close {
    position: absolute;
    right: 1.5rem;
    top: 1.5rem;
    color: #1a1a1a;
    opacity: 0.7;
    transition: all 0.3s ease;
}

.modal-header .close:hover {
    opacity: 1;
    transform: scale(1.1);
    color: var(--gold-color);
}
/* Success Modal Styling */
#successModal .modal-content {
    background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
    border: 2px solid var(--gold-color) !important;
    border-radius: 20px !important;
    box-shadow: 0 20px 60px rgba(0,0,0,0.5) !important;
}

#successModal .modal-body {
    padding: 3rem 2rem !important;
}

#successModal .success-icon {
    animation: bounceIn 0.6s ease;
}

@keyframes bounceIn {
    0% {
        opacity: 0;
        transform: scale(0.3);
    }
    50% {
        opacity: 1;
        transform: scale(1.05);
    }
    70% {
        transform: scale(0.9);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

#successModal .btn-gold {
    background: linear-gradient(135deg, var(--gold-color), var(--gold-dark));
    border: none;
    color: #000;
    font-weight: 700;
    padding: 12px 30px;
    border-radius: 50px;
    transition: all 0.3s ease;
}

#successModal .btn-gold:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(212, 175, 55, 0.4);
}
/* Form Styling */
.form-control, .form-select {
    background: #ffffff !important;
    border: 2px solid #e9ecef !important;
    color: #1a1a1a !important;
    border-radius: 10px;
    padding: 12px 15px;
    font-size: 14px;
    transition: all 0.3s ease;
}

.form-control:focus, .form-select:focus {
    background: #ffffff !important;
    border-color: var(--gold-color) !important;
    color: #1a1a1a !important;
    box-shadow: 0 0 0 0.2rem rgba(212, 175, 55, 0.25) !important;
    transform: translateY(-2px);
}

.form-control::placeholder {
    color: #6c757d !important;
    opacity: 0.8;
}

/* Input Group Styling */
.input-group-text {
    background: linear-gradient(135deg, var(--gold-color), var(--gold-dark));
    border: 2px solid var(--gold-color);
    border-right: none;
    color: #000 !important;
    font-weight: 600;
    border-radius: 10px 0 0 10px;
    transition: all 0.3s ease;
}

.input-group .form-control {
    border-left: none;
    border-radius: 0 10px 10px 0;
}

.input-group .form-control:focus + .input-group-prepend .input-group-text {
    background: linear-gradient(135deg, var(--gold-dark), var(--gold-color));
    border-color: var(--gold-color);
}

/* Labels */
label {
    color: #1a1a1a !important;
    font-weight: 600;
    margin-bottom: 8px;
    font-size: 14px;
}

/* Reservation Info Sidebar */
.reservation-info {
    background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%);
    border-radius: 15px;
    padding: 2rem;
    border: 2px solid var(--gold-color);
    position: relative;
    overflow: hidden;
}

.reservation-info::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--gold-color), var(--gold-light), var(--gold-color));
}

.reservation-info h6 {
    color: var(--gold-light) !important;
    font-weight: 700;
    font-size: 1.1rem;
    margin-bottom: 1.5rem;
    text-align: center;
}

.reservation-info .info-item {
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

.reservation-info .info-item:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.reservation-info .info-item small {
    color: var(--gold-color) !important;
    font-weight: 600;
    font-size: 0.9rem;
}

.reservation-info .info-item p,
.reservation-info .info-item li {
    color: #ffffff !important;
    font-size: 0.85rem;
    line-height: 1.5;
    margin-bottom: 0.3rem;
}

.reservation-info .info-item ul {
    padding-left: 1rem;
}

.reservation-info .info-item li {
    position: relative;
    padding-left: 0.5rem;
}

.reservation-info .info-item li::before {
    content: '•';
    color: var(--gold-color);
    position: absolute;
    left: -0.8rem;
}

/* Checkbox Styling */
.form-check-input {
    width: 18px;
    height: 18px;
    margin-top: 0.25rem;
    border: 2px solid #dee2e6;
}

.form-check-input:checked {
    background-color: var(--gold-color);
    border-color: var(--gold-color);
}

.form-check-input:focus {
    border-color: var(--gold-color);
    box-shadow: 0 0 0 0.2rem rgba(212, 175, 55, 0.25);
}

.form-check-label {
    color: #1a1a1a !important;
    font-size: 0.9rem;
    line-height: 1.4;
}

.form-check-label a {
    color: var(--gold-color) !important;
    text-decoration: none;
    font-weight: 600;
}

.form-check-label a:hover {
    text-decoration: underline;
}

/* Button Styling */
.btn-gold {
    background: linear-gradient(135deg, var(--gold-color), var(--gold-dark));
    border: none;
    color: #000;
    font-weight: 700;
    padding: 15px 40px;
    border-radius: 50px;
    font-size: 1.1rem;
    transition: all 0.3s ease;
    box-shadow: 0 5px 20px rgba(212, 175, 55, 0.3);
}
/* Enhanced Reservation Modal Styles - FIXED SIDEBAR TEXT */
#reservation .modal-content {
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%) !important;
    border: 2px solid var(--gold-color) !important;
    border-radius: 20px !important;
    box-shadow: 0 25px 80px rgba(0,0,0,0.3) !important;
}

#reservation .modal-header {
    border-bottom: 2px solid var(--gold-color) !important;
    background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%) !important;
    padding: 2rem 2rem 1rem !important;
    border-radius: 18px 18px 0 0 !important;
}

#reservation .modal-title {
    color: #1a1a1a !important;
    font-weight: 800 !important;
    font-size: 1.8rem !important;
    text-align: center !important;
    width: 100% !important;
}

#reservation .modal-header .close {
    position: absolute !important;
    right: 1.5rem !important;
    top: 1.5rem !important;
    color: #1a1a1a !important;
    opacity: 0.7 !important;
}

#reservation .modal-header .close:hover {
    opacity: 1 !important;
    transform: scale(1.1) !important;
    color: var(--gold-color) !important;
}

/* Form Styling - Only target form elements in the main column */
#reservation .col-lg-8 .form-control,
#reservation .col-lg-8 .form-select,
#reservation .col-lg-8 label,
#reservation .col-lg-8 .form-check-label,
#reservation .col-lg-8 .modal-body,
#reservation .col-lg-8 .text-white {
    color: #1a1a1a !important;
}

#reservation .col-lg-8 .form-control,
#reservation .col-lg-8 .form-select {
    background: #ffffff !important;
    border: 2px solid #e9ecef !important;
    color: #1a1a1a !important;
    border-radius: 10px !important;
    padding: 12px 15px !important;
    font-size: 14px !important;
}

#reservation .col-lg-8 .form-control:focus,
#reservation .col-lg-8 .form-select:focus {
    background: #ffffff !important;
    border-color: var(--gold-color) !important;
    color: #1a1a1a !important;
    box-shadow: 0 0 0 0.2rem rgba(212, 175, 55, 0.25) !important;
}

#reservation .col-lg-8 .form-control::placeholder {
    color: #6c757d !important;
    opacity: 0.8 !important;
}

/* Input Group Styling */
#reservation .col-lg-8 .input-group-text {
    background: linear-gradient(135deg, var(--gold-color), var(--gold-dark)) !important;
    border: 2px solid var(--gold-color) !important;
    border-right: none !important;
    color: #000 !important;
    font-weight: 600 !important;
    border-radius: 10px 0 0 10px !important;
}

#reservation .col-lg-8 .input-group .form-control {
    border-left: none !important;
    border-radius: 0 10px 10px 0 !important;
}

/* Labels in main column */
#reservation .col-lg-8 label {
    color: #1a1a1a !important;
    font-weight: 600 !important;
    margin-bottom: 8px !important;
    font-size: 14px !important;
}

/* Keep reservation info sidebar white text */
#reservation .col-lg-4 .reservation-info,
#reservation .col-lg-4 .reservation-info *,
#reservation .reservation-info,
#reservation .reservation-info * {
    color: #ffffff !important;
}

#reservation .reservation-info {
    background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
    border-radius: 15px !important;
    padding: 2rem !important;
    border: 2px solid var(--gold-color) !important;
    position: relative !important;
    overflow: hidden !important;
}

#reservation .reservation-info::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 4px !important;
    background: linear-gradient(90deg, var(--gold-color), var(--gold-light), var(--gold-color)) !important;
}

#reservation .reservation-info h6 {
    color: var(--gold-light) !important;
    font-weight: 700 !important;
    font-size: 1.1rem !important;
    margin-bottom: 1.5rem !important;
    text-align: center !important;
}

#reservation .reservation-info .info-item {
    margin-bottom: 1.5rem !important;
    padding-bottom: 1rem !important;
    border-bottom: 1px solid rgba(255,255,255,0.1) !important;
}

#reservation .reservation-info .info-item:last-child {
    border-bottom: none !important;
    margin-bottom: 0 !important;
}

#reservation .reservation-info .info-item small {
    color: var(--gold-color) !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
}

#reservation .reservation-info .info-item p,
#reservation .reservation-info .info-item li {
    color: #ffffff !important;
    font-size: 0.85rem !important;
    line-height: 1.5 !important;
    margin-bottom: 0.3rem !important;
}

#reservation .reservation-info .info-item ul {
    padding-left: 1rem !important;
}

#reservation .reservation-info .info-item li {
    position: relative !important;
    padding-left: 0.5rem !important;
}

#reservation .reservation-info .info-item li::before {
    content: '•' !important;
    color: var(--gold-color) !important;
    position: absolute !important;
    left: -0.8rem !important;
}

/* Checkbox Styling - only in main column */
#reservation .col-lg-8 .form-check-label {
    color: #1a1a1a !important;
}

#reservation .col-lg-8 .form-check-label a {
    color: var(--gold-color) !important;
}

/* Button Styling */
#reservation .btn-gold {
    background: linear-gradient(135deg, var(--gold-color), var(--gold-dark)) !important;
    border: none !important;
    color: #000 !important;
    font-weight: 700 !important;
    padding: 15px 40px !important;
    border-radius: 50px !important;
    font-size: 1.1rem !important;
    box-shadow: 0 5px 20px rgba(212, 175, 55, 0.3) !important;
}

#reservation .btn-gold:hover {
    background: linear-gradient(135deg, var(--gold-dark), var(--gold-color)) !important;
    color: #000 !important;
}

/* Modal Body - only main content */
#reservation .col-lg-8 .modal-body {
    color: #1a1a1a !important;
}

/* Textarea Styling - only in main column */
#reservation .col-lg-8 textarea.form-control {
    background: #ffffff !important;
    border: 2px solid #e9ecef !important;
    color: #1a1a1a !important;
}

#reservation .col-lg-8 textarea.form-control:focus {
    background: #ffffff !important;
    border-color: var(--gold-color) !important;
    color: #1a1a1a !important;
}

/* Success Alert Styling */
.alert-success {
    background: linear-gradient(135deg, var(--gold-color), var(--gold-dark)) !important;
    border: none !important;
    border-radius: 15px !important;
    color: #000 !important;
    font-weight: 600 !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    #reservation .modal-dialog {
        margin: 20px !important;
    }
    
    #reservation .reservation-info {
        margin-top: 2rem !important;
    }
    
    #reservation .modal-header {
        padding: 1.5rem 1.5rem 1rem !important;
    }
    
    #reservation .modal-body {
        padding: 1.5rem !important;
    }
    
    #reservation .btn-gold {
        padding: 12px 30px !important;
        font-size: 1rem !important;
    }
}
.btn-gold:hover {
    background: linear-gradient(135deg, var(--gold-dark), var(--gold-color));
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(212, 175, 55, 0.4);
    color: #000;
}

.btn-gold:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

/* Modal Body */
.modal-body {
    color: #1a1a1a !important;
    padding: 2rem;
}

/* Textarea Styling */
textarea.form-control {
    resize: vertical;
    min-height: 100px;
}

/* Custom scrollbar for modal */
.modal-body::-webkit-scrollbar {
    width: 8px;
}

.modal-body::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}

.modal-body::-webkit-scrollbar-thumb {
    background: var(--gold-color);
    border-radius: 4px;
}

.modal-body::-webkit-scrollbar-thumb:hover {
    background: var(--gold-dark);
}

/* Animation for modal */
@keyframes modalEnter {
    from {
        opacity: 0;
        transform: translateY(-50px) scale(0.9);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.modal.fade .modal-dialog {
    animation: modalEnter 0.3s ease-out;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .modal-dialog {
        margin: 20px;
    }
    
    .reservation-info {
        margin-top: 2rem;
    }
    
    .modal-header {
        padding: 1.5rem 1.5rem 1rem;
    }
    
    .modal-body {
        padding: 1.5rem;
    }
    
    .btn-gold {
        padding: 12px 30px;
        font-size: 1rem;
    }
}

/* Form Group Spacing */
.form-group, .mb-3, .mb-4 {
    margin-bottom: 1.5rem !important;
}

/* Success Alert Styling */
.alert-success {
    background: linear-gradient(135deg, var(--gold-color), var(--gold-dark));
    border: none;
    border-radius: 15px;
    color: #000;
    font-weight: 600;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}

.alert-success i {
    color: #000;
}
/* Fix textarea visibility in food modal */
#foodSpecialInstructions {
    background: #ffffff !important;
    border: 2px solid var(--gold-color) !important;
    color: #000000 !important;
    font-size: 14px;
    padding: 12px;
    border-radius: 8px;
    width: 100%;
}

#foodSpecialInstructions::placeholder {
    color: #666666 !important;
    opacity: 1;
}

#foodSpecialInstructions:focus {
    background: #ffffff !important;
    border-color: var(--gold-light) !important;
    color: #000000 !important;
    box-shadow: 0 0 0 0.3rem rgba(212, 175, 55, 0.25) !important;
    outline: none;
}

/* Ensure the modal content has proper contrast */
.modal-content {
    background: #ffffff !important;
    color: #333333 !important;
}

.modal-body {
    color: #333333 !important;
}

.modal-body .text-muted {
    color: #666666 !important;
}
        /* Footer */
        footer { 
            background: linear-gradient(135deg, #000 0%, #1a1a1a 100%);
            color: #999; 
            padding: 4rem 0 1rem;
            position: relative;
            overflow: hidden;
        }

        footer::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 3px;
            background: linear-gradient(90deg, var(--gold-color), var(--gold-light), var(--gold-color));
        }
        
        footer a { 
            color: #999; 
            text-decoration: none; 
            transition: color 0.3s; 
        }
        
        footer a:hover { 
            color: var(--gold-color);
        }

        footer h6 {
            color: var(--gold-light);
            font-weight: 700;
            margin-bottom: 1.5rem;
            position: relative;
            padding-bottom: 10px;
        }

        footer h6::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 40px;
            height: 2px;
            background: var(--gold-color);
        }

        .social-links a {
            display: inline-flex;
            width: 40px;
            height: 40px;
            background: rgba(255,255,255,0.1);
            border-radius: 50%;
            align-items: center;
            justify-content: center;
            transition: all 0.3s;
            margin-right: 10px;
        }

        .social-links a:hover {
            background: var(--gold-color);
            transform: translateY(-3px);
            color: #000;
        }

        .footer-bottom {
            border-top: 1px solid #333;
            padding-top: 20px;
            margin-top: 40px;
        }

        /* Back to top button - REMOVED */
        /* .bottom-to-top { display: none !important; } */

        @keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }

        /* Delivery Section */
.delivery-section {
    padding: 80px 0;
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
}

.delivery-video-container {
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 15px 40px rgba(0,0,0,0.1);
}

.delivery-video {
    width: 100%;
    height: auto;
    border-radius: 15px;
    display: block;
}

.delivery-content h3 {
    color: var(--gold-color);
    font-weight: 700;
    font-size: 2rem;
}

.delivery-features .feature-item {
    display: flex;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid rgba(0,0,0,0.05);
}

.delivery-features .feature-item:last-child {
    border-bottom: none;
}

.delivery-features .feature-item i {
    font-size: 1.3rem;
    min-width: 35px;
}

.delivery-actions {
    margin-top: 2rem;
}

/* Mobile responsiveness */
@media (max-width: 768px) {
    .delivery-section {
        padding: 60px 0;
    }
    
    .delivery-video-container {
        margin-bottom: 30px;
    }
    
    .delivery-content h3 {
        font-size: 1.7rem;
        text-align: center;
    }
    
    .delivery-actions .btn {
        display: block;
        width: 100%;
        margin-bottom: 1rem;
    }
}

@media (max-width: 576px) {
    .delivery-section {
        padding: 50px 0;
    }
    
    .delivery-content h3 {
        font-size: 1.5rem;
    }
}

/* ===============================================*/
/*    Christmas Modal with Snow Effects           */
/* ===============================================*/
/* ===============================================*/
/*    Updated Christmas Modal with Darker Background */
/* ===============================================*/

/* Christmas Modal Container - DARKER BACKGROUND */
.christmas-modal {
    border: none !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    position: relative !important;
    background: linear-gradient(135deg, 
        rgba(26, 26, 26, 0.95) 0%, 
        rgba(40, 40, 40, 0.95) 100%) !important;
    backdrop-filter: blur(10px) !important;
    box-shadow: 
        0 20px 50px rgba(0, 0, 0, 0.5),
        0 0 0 2px rgba(212, 175, 55, 0.4),
        0 0 60px rgba(212, 175, 55, 0.3) !important;
    max-width: 500px !important;
    margin: 0 auto !important;
    color: #fff !important;
}

/* Ensure modal is properly centered and sized */
#jbeesChristmasModal .modal-dialog {
    max-width: 500px;
    margin: 0 auto;
}

/* Snow Effect Container - FIXED VISIBILITY */
.snow-container {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    overflow: hidden;
    pointer-events: none;
    width: 100%;
    height: 100%;
}

/* Snowflakes - IMPROVED VISIBILITY */
.snowflake {
    position: absolute;
    color: rgba(255, 255, 255, 0.9);
    font-size: 1.2em;
    user-select: none;
    pointer-events: none;
    z-index: 1;
    text-shadow: 0 0 5px rgba(212, 175, 55, 0.5);
    filter: drop-shadow(0 0 3px rgba(255, 255, 255, 0.5));
}

/* Snowfall Animation - IMPROVED */
@keyframes fall {
    0% {
        top: -20px;
        opacity: 1;
        transform: translateX(0) rotate(0deg);
    }
    100% {
        top: calc(100% + 20px);
        opacity: 0;
        transform: translateX(50px) rotate(360deg);
    }
}

@keyframes sway {
    0%, 100% {
        transform: translateX(0px);
    }
    25% {
        transform: translateX(40px);
    }
    75% {
        transform: translateX(-40px);
    }
}

/* Twinkling Stars - MORE VISIBLE */
.stars {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 1;
    pointer-events: none;
}

.star {
    position: absolute;
    width: 3px;
    height: 3px;
    background: var(--gold-color);
    border-radius: 50%;
    opacity: 0.6;
    animation: starTwinkle 2s infinite alternate;
    z-index: 1;
    box-shadow: 0 0 5px var(--gold-color);
}

.star:nth-child(2) { animation-delay: 0.3s; }
.star:nth-child(3) { animation-delay: 0.7s; }
.star:nth-child(4) { animation-delay: 1.2s; }
.star:nth-child(5) { animation-delay: 0.5s; left: 70%; top: 30%; }
.star:nth-child(6) { animation-delay: 0.9s; left: 30%; top: 60%; }

@keyframes starTwinkle {
    0%, 100% { 
        opacity: 0.3; 
        transform: scale(1); 
        box-shadow: 0 0 3px var(--gold-color);
    }
    50% { 
        opacity: 1; 
        transform: scale(1.3); 
        box-shadow: 0 0 10px var(--gold-color);
    }
}

/* Close Button - MORE VISIBLE ON DARK BACKGROUND */
.btn-close-christmas {
    position: absolute !important;
    top: 15px !important;
    right: 15px !important;
    width: 40px !important;
    height: 40px !important;
    border: 2px solid var(--gold-color) !important;
    border-radius: 50% !important;
    background: rgba(26, 26, 26, 0.9) !important;
    color: var(--gold-color) !important;
    font-size: 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    z-index: 1000 !important;
    transition: all 0.3s ease !important;
    padding: 0 !important;
    opacity: 0.9 !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}

.btn-close-christmas:hover {
    opacity: 1 !important;
    background: rgba(212, 175, 55, 0.2) !important;
    transform: rotate(90deg) scale(1.1) !important;
    box-shadow: 0 3px 15px rgba(212, 175, 55, 0.4) !important;
}

/* Santa Image - LARGER */
.santa-image-container {
    position: relative;
    z-index: 10;
    text-align: center;
    margin-bottom: 1.5rem;
}

.santa-image {
    max-width: 150px; /* INCREASED SIZE */
    height: auto;
    filter: drop-shadow(0 5px 15px rgba(0, 0, 0, 0.3));
    animation: santaBounce 2.5s ease-in-out infinite;
}

@keyframes santaBounce {
    0%, 100% {
        transform: translateY(0) rotate(0deg);
    }
    25% {
        transform: translateY(-10px) rotate(-2deg);
    }
    75% {
        transform: translateY(-10px) rotate(2deg);
    }
}

/* Greeting Title - WHITE TEXT FOR DARK BACKGROUND */
.greeting-title {
    position: relative;
    z-index: 10;
}

.main-title {
    font-size: 2.2rem !important;
    font-weight: 700 !important;
    color: var(--gold-light) !important; /* GOLD COLOR */
    margin-bottom: 5px !important;
    font-family: 'Merriweather', serif !important;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}

.subtitle {
    font-size: 1rem !important;
    color: var(--gold-color) !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
}

/* Simple Divider */
.simple-divider {
    display: flex;
    justify-content: center;
    gap: 25px;
    position: relative;
    z-index: 10;
    margin: 20px 0;
}

.ornament {
    font-size: 1.8rem;
    animation: ornamentSwing 3s infinite ease-in-out;
    filter: drop-shadow(0 0 5px rgba(212, 175, 55, 0.5));
}

.ornament:nth-child(2) {
    animation-delay: 0.5s;
}

.ornament:nth-child(3) {
    animation-delay: 1s;
}

@keyframes ornamentSwing {
    0%, 100% { 
        transform: translateY(0) rotate(0deg) scale(1);
    }
    25% { 
        transform: translateY(-8px) rotate(-5deg) scale(1.1);
    }
    75% { 
        transform: translateY(-8px) rotate(5deg) scale(1.1);
    }
}

/* Greeting Text - WHITE TEXT */
.greeting-text {
    max-width: 90%;
    margin: 0 auto;
    position: relative;
    z-index: 10;
}

.greeting-line {
    color: #f0f0f0 !important;
    line-height: 1.7 !important;
    margin-bottom: 15px !important;
    font-size: 1.1rem !important;
    font-weight: 300 !important;
    text-align: center !important;
    font-family: 'Merriweather', serif !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

.greeting-line:last-child {
    margin-bottom: 0 !important;
}

/* Signature */
.signature-section {
    position: relative;
    z-index: 10;
    margin: 25px 0;
}

.signature {
    color: var(--gold-light) !important;
    font-weight: 600 !important;
    font-size: 1.2rem !important;
    font-style: italic;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

/* Contact Card - DARKER VERSION */
.contact-card {
    background: linear-gradient(135deg, 
        rgba(212, 175, 55, 0.15) 0%, 
        rgba(212, 175, 55, 0.2) 100%) !important;
    border-radius: 15px !important;
    padding: 20px !important;
    border: 2px solid rgba(212, 175, 55, 0.3) !important;
    backdrop-filter: blur(8px) !important;
    position: relative;
    z-index: 10;
    margin: 25px 0;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.3);
}

.contact-info {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.contact-item {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    font-size: 1rem !important;
    font-weight: 500;
}

.contact-item i {
    color: var(--gold-color) !important;
    width: 24px;
    text-align: center;
    font-size: 1.2rem;
    margin-right: 10px;
}

/* CTA Buttons */
.cta-buttons {
    display: flex;
    flex-direction: column;
    gap: 12px;
    position: relative;
    z-index: 10;
    margin-top: 25px;
}

.btn-christmas-primary {
    background: linear-gradient(135deg, var(--gold-color), var(--gold-dark)) !important;
    border: none !important;
    color: #000 !important;
    font-weight: 700 !important;
    padding: 14px 30px !important;
    border-radius: 12px !important;
    transition: all 0.3s ease !important;
    font-size: 1.1rem !important;
    letter-spacing: 0.5px !important;
    box-shadow: 0 5px 20px rgba(212, 175, 55, 0.4) !important;
    border: 2px solid rgba(255, 255, 255, 0.2) !important;
}

.btn-christmas-primary:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 10px 25px rgba(212, 175, 55, 0.6) !important;
    background: linear-gradient(135deg, var(--gold-dark), var(--gold-color)) !important;
}

.btn-christmas-outline {
    background: transparent !important;
    border: 2px solid var(--gold-color) !important;
    color: var(--gold-color) !important;
    font-weight: 700 !important;
    padding: 13px 30px !important;
    border-radius: 12px !important;
    transition: all 0.3s ease !important;
    font-size: 1.1rem !important;
    letter-spacing: 0.5px !important;
    box-shadow: 0 3px 10px rgba(212, 175, 55, 0.2) !important;
}

.btn-christmas-outline:hover {
    background: var(--gold-color) !important;
    color: #000 !important;
    transform: translateY(-4px) !important;
    box-shadow: 0 8px 20px rgba(212, 175, 55, 0.4) !important;
    border-color: var(--gold-color) !important;
}

/* Modal Body */
.christmas-modal .modal-body {
    padding: 35px 30px !important;
    position: relative;
    z-index: 10;
}

/* Modal Backdrop - DARKER */
#jbeesChristmasModal .modal-backdrop {
    z-index: 99998 !important;
    background: rgba(0, 0, 0, 0.9) !important;
    backdrop-filter: blur(3px);
}

#jbeesChristmasModal .modal-dialog {
    z-index: 99999 !important;
}

/* Improved Snowflake Animation */
.snowflake {
    animation: fall linear infinite, sway ease-in-out infinite;
}

/* Mobile Responsive Design */
@media (max-width: 576px) {
    .christmas-modal {
        max-width: 90% !important;
        margin: 20px auto !important;
        border-radius: 15px !important;
    }
    
    .christmas-modal .modal-body {
        padding: 25px 20px !important;
    }
    
    .main-title {
        font-size: 1.8rem !important;
    }
    
    .subtitle {
        font-size: 0.9rem !important;
        letter-spacing: 1px !important;
    }
    
    .greeting-line {
        font-size: 1rem !important;
        line-height: 1.6 !important;
    }
    
    .santa-image {
        max-width: 120px !important; /* Still larger on mobile */
    }
    
    .contact-card {
        padding: 15px !important;
    }
    
    .btn-christmas-primary,
    .btn-christmas-outline {
        padding: 12px 25px !important;
        font-size: 1rem !important;
    }
    
    .simple-divider {
        gap: 15px;
    }
    
    .ornament {
        font-size: 1.5rem;
    }
    
    .signature {
        font-size: 1.1rem !important;
    }
    
    /* More snowflakes on mobile for better visibility */
    .snowflake {
        font-size: 1.1em;
    }
}

@media (max-width: 375px) {
    .christmas-modal {
        max-width: 95% !important;
        margin: 15px auto !important;
    }
    
    .christmas-modal .modal-body {
        padding: 20px 15px !important;
    }
    
    .main-title {
        font-size: 1.5rem !important;
    }
    
    .greeting-line {
        font-size: 0.95rem !important;
    }
    
    .santa-image {
        max-width: 100px !important;
    }
    
    .btn-christmas-primary,
    .btn-christmas-outline {
        padding: 11px 20px !important;
        font-size: 0.95rem !important;
    }
    
    .ornament {
        font-size: 1.3rem;
    }
}

/* Ensure snow is visible by increasing contrast */
.snowflake {
    filter: drop-shadow(0 0 4px rgba(255, 255, 255, 0.8)) 
            drop-shadow(0 0 2px rgba(212, 175, 55, 0.6));
    text-shadow: 0 0 8px rgba(255, 255, 255, 0.7);
}

/* Add glow effect to snowflakes for better visibility */
.snowflake::before {
    content: '❄';
    position: absolute;
    top: 0;
    left: 0;
    color: rgba(212, 175, 55, 0.3);
    filter: blur(2px);
    z-index: -1;
}
/* ===== FOOD GALLERY SECTION ===== */
.food-gallery-section {
    padding: 80px 0;
    background: linear-gradient(135deg, #0f0f0f 0%, #1a1a1a 100%);
    position: relative;
    overflow: hidden;
}

.food-gallery-section .lead {
    color: #aaa;
    max-width: 700px;
    margin: 15px auto 40px;
    font-size: 1.1rem;
}

.food-gallery-container {
    position: relative;
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    animation: fadeInUp 0.8s ease;
}

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

.gallery-item {
    position: relative;
    border-radius: 15px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    background: #1a1a1a;
}

.gallery-item:hover {
    transform: translateY(-10px) scale(1.02);
    box-shadow: 0 20px 40px rgba(212, 175, 55, 0.2);
}

.gallery-image {
    position: relative;
    width: 100%;
    height: 300px;
    overflow: hidden;
}

.gallery-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.gallery-item:hover .gallery-image img {
    transform: scale(1.1);
}

.gallery-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, transparent 100%);
    padding: 30px 20px 20px;
    transform: translateY(100%);
    transition: transform 0.4s ease;
}

.gallery-item:hover .gallery-overlay {
    transform: translateY(0);
}

.gallery-content h4 {
    color: var(--gold-color);
    font-size: 1.3rem;
    margin-bottom: 8px;
    font-weight: 700;
}

.gallery-content p {
    color: #ddd;
    font-size: 0.9rem;
    margin-bottom: 10px;
    line-height: 1.4;
}

.gallery-badge {
    display: inline-block;
    background: linear-gradient(135deg, var(--gold-color), var(--gold-dark));
    color: #000;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.gallery-action {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 50px;
    height: 50px;
    background: rgba(212, 175, 55, 0.9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #000;
    font-size: 1.2rem;
    opacity: 0;
    transform: scale(0.8);
    transition: all 0.3s ease;
    cursor: pointer;
    z-index: 2;
}

.gallery-item:hover .gallery-action {
    opacity: 1;
    transform: scale(1);
}

.gallery-action:hover {
    background: var(--gold-color);
    transform: scale(1.1);
}

/* Lightbox Modal Styling */
#imageLightboxModal .modal-content {
    background: rgba(0, 0, 0, 0.95);
    backdrop-filter: blur(10px);
    border: 2px solid var(--gold-color);
    border-radius: 15px;
    overflow: hidden;
}

#imageLightboxModal .modal-header {
    border-bottom: 1px solid rgba(212, 175, 55, 0.3);
    background: rgba(0, 0, 0, 0.7);
    padding: 1rem 1.5rem;
}

#imageLightboxModal .modal-title {
    color: var(--gold-color);
    font-weight: 700;
    font-size: 1.2rem;
}

#imageLightboxModal .close {
    color: var(--gold-color);
    opacity: 0.8;
    font-size: 1.5rem;
    transition: all 0.3s ease;
    padding: 0;
    margin: -0.5rem -0.5rem -0.5rem auto;
}

#imageLightboxModal .close:hover {
    opacity: 1;
    transform: rotate(90deg);
}

.lightbox-container {
    position: relative;
    width: 100%;
    height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

#lightboxImage {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    animation: fadeIn 0.5s ease;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.lightbox-nav {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px;
    pointer-events: none;
}

.lightbox-btn {
    background: rgba(212, 175, 55, 0.8);
    border: none;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #000;
    font-size: 1.5rem;
    cursor: pointer;
    transition: all 0.3s ease;
    pointer-events: all;
    opacity: 0.8;
}

.lightbox-btn:hover {
    background: var(--gold-color);
    opacity: 1;
    transform: scale(1.1);
}

.lightbox-info {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, transparent 100%);
    padding: 2rem 3rem;
    color: white;
    transform: translateY(0);
    transition: transform 0.3s ease;
}

#imageLightboxModal .modal-body:hover .lightbox-info {
    transform: translateY(0);
}

.lightbox-info h4 {
    color: var(--gold-color);
    font-size: 1.5rem;
    margin-bottom: 10px;
    font-weight: 700;
}

.lightbox-info p {
    color: #ddd;
    font-size: 1rem;
    line-height: 1.5;
    margin-bottom: 0;
}

/* ===== RESPONSIVE DESIGN ===== */
@media (max-width: 1200px) {
    .gallery-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 25px;
    }
    
    .gallery-image {
        height: 250px;
    }
}

@media (max-width: 992px) {
    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
    }
    
    .gallery-image {
        height: 250px;
    }
    
    .lightbox-container {
        height: 60vh;
    }
}

@media (max-width: 768px) {
    .food-gallery-section {
        padding: 60px 0;
    }
    
    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    
    .gallery-image {
        height: 220px;
    }
    
    .gallery-content h4 {
        font-size: 1.1rem;
    }
    
    .gallery-content p {
        font-size: 0.85rem;
    }
    
    .lightbox-container {
        height: 50vh;
    }
    
    .lightbox-info {
        padding: 1.5rem 2rem;
    }
    
    .lightbox-info h4 {
        font-size: 1.2rem;
    }
    
    .lightbox-info p {
        font-size: 0.9rem;
    }
}

@media (max-width: 576px) {
    .gallery-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .gallery-image {
        height: 250px;
    }
    
    .gallery-overlay {
        transform: translateY(0);
        background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, transparent 100%);
    }
    
    .gallery-action {
        opacity: 1;
        transform: scale(1);
        top: 15px;
        right: 15px;
        width: 45px;
        height: 45px;
    }
    
    .lightbox-container {
        height: 40vh;
    }
    
    .lightbox-btn {
        width: 50px;
        height: 50px;
        font-size: 1.2rem;
    }
}

@media (max-width: 400px) {
    .gallery-grid {
        gap: 15px;
    }
    
    .gallery-image {
        height: 200px;
    }
}

/* Animation classes for scroll reveal */
.gallery-item {
    opacity: 0;
    transform: translateY(50px);
}

.gallery-item.animate-in {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s ease;
}
        /* ===== FOOD GALLERY SECTION RESPONSIVE UPDATES ===== */
        .food-gallery-section {
            padding: 80px 0;
            background: linear-gradient(135deg, #0f0f0f 0%, #1a1a1a 100%);
            position: relative;
            overflow: hidden;
        }

        .gallery-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr); /* Default: 3 columns for desktop */
            gap: 30px;
            animation: fadeInUp 0.8s ease;
        }

        /* LARGER IMAGES - Updated to be taller */
        .gallery-image {
            position: relative;
            width: 100%;
            height: 350px; /* Increased from 300px to 350px for taller images */
            overflow: hidden;
        }

        .gallery-image img {
            width: 100%;
            height: 100%;
            object-fit: cover; /* Ensures images fill the container */
            transition: transform 0.6s ease;
        }

        /* Make images appear larger on hover */
        .gallery-item:hover .gallery-image img {
            transform: scale(1.15); /* Increased from 1.1 to 1.15 for more dramatic effect */
        }

        /* ===== TWO-COLUMN LAYOUT FOR NON-DESKTOP DEVICES ===== */

        /* Tablet devices (768px to 991px) - 2 columns */
        @media (max-width: 991px) {
            .gallery-grid {
                grid-template-columns: repeat(2, 1fr); /* 2 columns for tablets */
                gap: 25px;
            }

            .gallery-image {
                height: 320px; /* Slightly reduced but still tall */
            }
        }

        /* Mobile devices (up to 767px) - 2 columns with taller images */
        @media (max-width: 767px) {
            .gallery-grid {
                grid-template-columns: repeat(2, 1fr); /* 2 columns for mobile */
                gap: 20px;
            }

            .gallery-image {
                height: 280px; /* Still tall on mobile */
            }

            .gallery-content h4 {
                font-size: 1.1rem;
            }

            .gallery-content p {
                font-size: 0.85rem;
            }
        }

        /* Very small mobile devices - 2 columns with adjusted spacing */
        @media (max-width: 576px) {
            .gallery-grid {
                gap: 15px;
            }

            .gallery-image {
                height: 250px; /* Tall images even on small screens */
            }

            .gallery-overlay {
                padding: 20px 15px 15px;
            }
        }

        /* Extra small devices - single column but still tall images */
        @media (max-width: 400px) {
            .gallery-grid {
                grid-template-columns: 1fr; /* Single column on very small screens */
                gap: 20px;
            }

            .gallery-image {
                height: 280px; /* Maintain tall images */
            }

            /* Keep overlay visible on mobile for better UX */
            .gallery-overlay {
                transform: translateY(0);
                background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, transparent 100%);
            }
        }

        /* Ensure desktop maintains 3 columns */
        @media (min-width: 992px) {
            .gallery-grid {
                grid-template-columns: repeat(3, 1fr); /* 3 columns for desktop */
            }

            /* Make desktop images even taller */
            .gallery-image {
                height: 350px;
            }
        }

        /* Optional: Add a subtle animation for image loading */
        @keyframes imageLoad {
            from {
                opacity: 0;
                transform: scale(0.95);
            }
            to {
                opacity: 1;
                transform: scale(1);
            }
        }

        .gallery-image img {
            animation: imageLoad 0.5s ease-out;
        }

        /* Improve touch interactions on mobile */
        @media (max-width: 768px) {
            .gallery-item {
                cursor: default;
            }

            .gallery-action {
                opacity: 1; /* Always show on mobile for better UX */
                transform: scale(1);
                width: 45px;
                height: 45px;
                font-size: 1.1rem;
            }
        }
        /* ===== MENU SECTION TITLE VISIBILITY FIX ===== */

        /* Fix for black text on dark background */
        .section-title h2 {
            color: #ffffff !important; /* White color for main title */
            font-size: 2.5rem;
            font-weight: 900;
            text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5); /* Add shadow for better visibility */
        }

        /* Alternative gold color option - uncomment if you prefer gold */
        /*
        .section-title h2 {
            color: var(--gold-color) !important;
            font-size: 2.5rem;
            font-weight: 900;
            text-shadow: 0 2px 8px rgba(212, 175, 55, 0.3);
        }
        */

        /* Make subtitle more visible */
        .section-title .subtitle {
            color: var(--gold-color) !important; /* Gold color */
            font-size: 1rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 2px;
            margin-bottom: 0.5rem;
            text-shadow: 0 1px 5px rgba(0, 0, 0, 0.3);
        }

        /* Make lead text more visible */
        .food-gallery-section .lead {
            color: #cccccc !important; /* Light gray color */
            max-width: 700px;
            margin: 15px auto 40px;
            font-size: 1.1rem;
            line-height: 1.6;
            text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
        }

        /* Optional: Add gold gradient text for more impact */
        /*
        .section-title h2 {
            background: linear-gradient(135deg, var(--gold-color), var(--gold-light));
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }
        */

        /* Add decorative elements for better visual hierarchy */
        .section-title {
            position: relative;
            margin-bottom: 3rem;
        }

        .section-title::after {
            content: '';
            position: absolute;
            bottom: -15px;
            left: 50%;
            transform: translateX(-50%);
            width: 80px;
            height: 3px;
            background: var(--gold-color);
            border-radius: 2px;
        }

        /* Improve button visibility */
        .btn-gold {
            background: linear-gradient(135deg, var(--gold-color), var(--gold-dark));
            border: none;
            padding: 1rem 2.5rem;
            font-weight: 700;
            transition: all 0.3s;
            border-radius: 50px;
            box-shadow: 0 4px 15px rgba(212, 175, 55, 0.3);
            letter-spacing: 1px;
            color: #000000; /* Black text for contrast */
            font-size: 1.1rem;
        }

        .btn-gold:hover {
            background: linear-gradient(135deg, var(--gold-dark), var(--gold-color));
            transform: translateY(-3px);
            box-shadow: 0 6px 20px rgba(212, 175, 55, 0.4);
            color: #000000;
        }

        /* Ensure the food gallery section has proper spacing */
        .food-gallery-section {
            padding: 80px 0;
            background: linear-gradient(135deg, #0f0f0f 0%, #1a1a1a 100%);
            position: relative;
            overflow: hidden;
        }

        /* Container padding for better mobile visibility */
        .food-gallery-section .container {
            padding: 0 15px;
        }

        /* Responsive adjustments */
        @media (max-width: 768px) {
            .section-title h2 {
                font-size: 2rem; /* Slightly smaller on mobile */
                line-height: 1.3;
            }

            .food-gallery-section .lead {
                font-size: 1rem;
                padding: 0 10px;
            }

            .section-title::after {
                width: 60px;
                height: 2px;
                bottom: -12px;
            }

            .btn-gold {
                padding: 0.9rem 2rem;
                font-size: 1rem;
            }
        }

        @media (max-width: 576px) {
            .section-title h2 {
                font-size: 1.8rem;
            }

            .section-title .subtitle {
                font-size: 0.9rem;
                letter-spacing: 1.5px;
            }

            .food-gallery-section .lead {
                font-size: 0.95rem;
            }

            .btn-gold {
                padding: 0.8rem 1.8rem;
                font-size: 0.95rem;
            }
        }

        /* Add subtle animation for title */
        @keyframes titleFadeIn {
            from {
                opacity: 0;
                transform: translateY(-20px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .section-title h2 {
            animation: titleFadeIn 0.8s ease-out;
        }

        /* Ensure text contrast is good for accessibility */
        .section-title h2,
        .section-title .subtitle,
        .food-gallery-section .lead {
            text-align: center;
        }

        /* ===== MOBILE 2-COLUMN GALLERY LAYOUT ===== */

        /* Desktop - 3 columns (default) */
        @media (min-width: 992px) {
            .gallery-grid {
                grid-template-columns: repeat(3, 1fr);
                gap: 30px;
            }

            .gallery-image {
                height: 350px;
            }
        }

        /* Tablet - 2 columns */
        @media (max-width: 991px) {
            .gallery-grid {
                grid-template-columns: repeat(2, 1fr);
                gap: 25px;
            }

            .gallery-image {
                height: 320px;
            }
        }

        /* Mobile - 2 columns */
        @media (max-width: 767px) {
            .gallery-grid {
                grid-template-columns: repeat(2, 1fr);
                gap: 20px;
            }

            .gallery-image {
                height: 280px;
            }

            .gallery-content h4 {
                font-size: 1.1rem;
            }

            .gallery-content p {
                font-size: 0.85rem;
            }
        }

        /* Small mobile - 2 columns with adjusted spacing */
        @media (max-width: 576px) {
            .gallery-grid {
                grid-template-columns: repeat(2, 1fr);
                gap: 15px;
            }

            .gallery-image {
                height: 250px;
            }

            .gallery-overlay {
                padding: 20px 15px 15px;
            }

            .gallery-action {
                opacity: 1;
                transform: scale(1);
                width: 45px;
                height: 45px;
            }
        }

        /* Extra small devices - still 2 columns */
        @media (max-width: 400px) {
            .gallery-grid {
                grid-template-columns: repeat(2, 1fr);
                gap: 15px;
            }

            .gallery-image {
                height: 240px;
            }

            .gallery-overlay {
                transform: translateY(0);
                background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, transparent 100%);
            }

            .gallery-content h4 {
                font-size: 1rem;
            }

            .gallery-content p {
                font-size: 0.8rem;
            }
        }
