        :root {
            --bg-color: #f6f6f6;
            --primary-text: #3D2B1F;
            --secondary-text: #795548;
            --accent-color: #A97C50;
            --card-bg: #FFFFFF;
            --card-shadow: rgba(78, 53, 36, 0.08);
        }

        .menu-container {
            max-width: 1200px;
            margin: 0 auto;
            text-align: center;
        }

        .menu-container h2 {
            font-size: 2.5rem;
            color: var(--primary-text);
            margin-bottom: 10px;
        }

        .menu-container p {
            font-size: 1rem;
            color: var(--secondary-text);
            margin-bottom: 40px;
        }

        /* 2. Styling untuk tombol filter */
        .menu-filters {
            margin-bottom: 40px;
            display: flex;
            justify-content: center;
            gap: 15px;
        }

        .filter-btn {
            padding: 10px 25px;
            border: 2px solid var(--accent-color);
            border-radius: 50px;
            background-color: transparent;
            color: var(--accent-color);
            font-family: 'Poppins', sans-serif;
            font-size: 1rem;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .filter-btn:hover {
            background-color: var(--accent-color);
            color: var(--card-bg);
        }

        /* Style untuk tombol yang aktif */
        .filter-btn.active {
            background-color: var(--accent-color);
            color: var(--card-bg);
        }

        /* 3. Layout Grid menggunakan Flexbox */
        .menu-grid {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 30px;
        }
        
        /* Styling untuk kartu menu, mirip screenshot */
        .menu-item {
            background-color: var(--card-bg);
            border-radius: 15px;
            box-shadow: 0 4px 20px var(--card-shadow);
            width: 320px;
            overflow: hidden;
            transition: transform 0.3s ease;
        }

        .menu-item:hover {
            transform: translateY(-5px);
        }

        .menu-item.hidden {
            display: none; /* Sembunyikan item yang tidak sesuai filter */
        }
        
        .item-image {
            position: relative;
        }

        .item-image img {
            width: 100%;
            height: 220px;
            object-fit: cover;
            display: block;
        }

        .item-price {
            position: absolute;
            top: 15px;
            right: 15px;
            background-color: rgba(0, 0, 0, 0.5);
            color: white;
            padding: 5px 12px;
            border-radius: 50px;
            font-size: 0.9rem;
            font-weight: 600;
        }

        .item-content {
            padding: 20px;
            text-align: left;
        }

        .item-content h3 {
            margin-top: 0;
            margin-bottom: 10px;
            color: var(--primary-text);
        }

        .item-content .description {
            font-size: 0.9rem;
            color: var(--secondary-text);
            margin-bottom: 20px;
            height: 65px; /* Beri tinggi tetap agar layout rapi */
        }

        .add-to-cart-btn {
            width: 100%;
            padding: 12px;
            background-color: var(--accent-color);
            color: white;
            border: none;
            border-radius: 8px;
            font-family: 'Poppins', sans-serif;
            font-size: 1rem;
            font-weight: 600;
            cursor: pointer;
            transition: background-color 0.3s ease;
        }
        .add-to-cart-btn:hover {
            background-color: #8a6340;
        }

        /* ===== MEDIA QUERIES UNTUK RESPONSIVE ===== */

        @media (max-width: 768px) {
            .menu-container h2 {
                font-size: 2rem; /* Kecilkan judul di layar tablet */
            }
            .menu-grid {
                gap: 20px;
            }
            .menu-item {
                 /* Buat jadi 2 kolom di tablet */
                width: calc(50% - 20px);
            }
        }

        @media (max-width: 640px) {

            .menu-filters {
                gap: 10px;
                flex-wrap: wrap; /* Biarkan tombol turun ke bawah jika tidak muat */
            }
            .filter-btn {
                padding: 8px 20px;
                font-size: 0.9rem;
            }
            .menu-item {
                width: 100%; /* Buat jadi 1 kolom penuh di HP */
                max-width: 350px; /* Batasi lebar maksimum agar tidak terlalu besar */
            }
            .item-content .description {
                height: auto; /* Biarkan tinggi deskripsi otomatis menyesuaikan konten */
                min-height: 45px;
            }
        }

