:root {
    --menu-bg: #12332C;
    --menu-text: #F2D799;
    --menu-text-soft: #E9D094;
    --menu-accent-orange: #D27C37;
}

html {
    scroll-behavior: smooth !important;
}

body,
html {
    color: var(--menu-text) !important;
    margin: 0;
    padding: 0;
    background: transparent !important;
}

body::before {
    content: "";
    position: fixed;
    top: -10px;
    left: -10px;
    right: -10px;
    bottom: -10px;
    background-image: url('bg-blur.jpg');
    background-size: cover;
    background-position: center;
    background-color: #000;
    filter: blur(5px);
    z-index: -1;
}

.main {
    max-width: 768px !important;
    background-color: var(--menu-bg) !important;
    margin: 0 auto;
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.8);
    min-height: 100vh;
}

.menu-header,
.topbar,
.menu-tabs,
.food-item,
.modal-content,
.restaurant-img-name,
.section-container {
    background-color: var(--menu-bg) !important;
    color: var(--menu-text) !important;
}

#language {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: var(--menu-bg) !important;
    color: var(--menu-text) !important;
    border: 1px solid var(--menu-text-soft) !important;
    border-radius: 18px !important;
    height: 38px !important;
    /* padding: 0 38px 0 16px !important; */
    min-width: 150px !important;
    cursor: pointer !important;
    outline: none !important;
    background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23F2D799%22%3E%3Cpath%20d%3D%22M7%2010l5%205%205-5z%22%2F%3E%3C%2Fsvg%3E') !important;
    background-repeat: no-repeat !important;
    background-position: right 10px center !important;
    background-size: 20px !important;
}

#language option {
    background-color: var(--menu-bg) !important;
    color: var(--menu-text) !important;
}

.food-item {
    border: 1px solid rgba(242, 215, 153, 0.15) !important;
    /* border-radius: 12px; */
    margin-bottom: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.item-title,
.item-description,
.food-title,
h4,
.restaurant-name,
.price-whole,
.price-dec {
    color: var(--menu-text) !important;
}

.price-currency,
.item-gr,
.sats-price {
    color: var(--menu-text-soft) !important;
}

/* Banner Modal Styles */
#bannerModal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    z-index: 99999;
    display: none;
    justify-content: center;
    align-items: center;
    padding: 10px;
    box-sizing: border-box;
    opacity: 0;
    transition: opacity 0.5s ease;
}

.banner-container {
    position: relative;
    max-width: 500px;
    width: 100%;
    aspect-ratio: 4 / 5;
    max-height: 85vh;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.6);
    background: #000;
}

.banner-container img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

#closeBanner {
    position: absolute;
    top: 12px;
    right: 12px;
    color: white;
    font-size: 28px;
    cursor: pointer;
    font-family: 'Arial', sans-serif;
    background: rgba(0, 0, 0, 0.4);
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    line-height: 1;
    transition: background 0.2s;
    z-index: 100001;
    -webkit-tap-highlight-color: transparent;
}

#closeBanner:hover {
    background: rgba(0, 0, 0, 0.7);
}

.banner-swiper .swiper-pagination-bullet {
    background: rgba(0, 0, 0, 0.7);
    opacity: 1;
}

.banner-swiper .swiper-pagination-bullet-active {
    background: var(--main-color);
}

@media (max-width: 600px) {
    .banner-container {
        max-width: 95%;
        aspect-ratio: 4 / 5.75;
    }
}

/* Tabs & Category List Styles */
#tabs {
    background-color: var(--menu-bg) !important;
}

li.category {
    width: fit-content !important;
    padding: 8px 0;
}

.container {
    background-color: var(--menu-text-soft) !important;
}

.section-title {
    background-color: var(--menu-bg) !important;
    /* border-radius: 20px !important; */
}

.section-title::after {
    background-color: var(--menu-text) !important;
}

/* Swiper slider hidden by default until sticky */
#navbar.special-case {
    display: none;
}

#navbar.special-case.sticky {
    display: inline-flex;
}

/* Grid container */
#categories {
    margin-block: 32px;
    padding: 14px;
}

.category-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

@media (max-width: 576px) {
    .category-button,
    .category-button-label {
        font-size: 0.85rem !important;
    }
}

@media (min-width: 576px) {
    .category-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* Metallic Gold Buttons for both swiper and grid */
.main-categories-link,
.category-button {
    /* Metallic Gold Background - Legacy Commented Out
    background: linear-gradient(135deg, #f9e29c 0%, #e1b439 40%, #cca225 60%, #e1b439 100%);
    color: var(--menu-bg) !important;
    text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.5);
    border: 1px solid #b78b17;
    box-shadow:
        inset 1px 1px 3px rgba(255, 255, 255, 0.8),
        inset -1px -1px 4px rgba(0, 0, 0, 0.25),
        0 4px 6px rgba(0, 0, 0, 0.3);
    */

    /* Neumorphic Golden Style */
    background: var(--menu-text-soft) !important;
    /* #E9D094 */
    color: var(--menu-bg) !important;
    /* Green text */
    border: 1px solid rgba(255, 255, 255, 0.25);
    box-shadow:
        4px 4px 10px rgba(0, 0, 0, 0.4),
        -4px -4px 10px rgba(242, 215, 153, 0.3),
        inset 2px 2px 4px rgba(255, 255, 255, 0.6),
        inset -2px -2px 4px rgba(166, 128, 50, 0.5) !important;
    border-radius: 20px;
    padding: 12px 20px;
    font-weight: 600;
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    transition: all 0.15s ease;
    text-decoration: none;
}

.category-button {
    min-height: 81px;
}

.main-categories-link:hover,
.category-button:hover {
    transform: translateY(-3px) !important;
    box-shadow:
        6px 6px 14px rgba(0, 0, 0, 0.45),
        -6px -6px 14px rgba(242, 215, 153, 0.35),
        inset 2px 2px 4px rgba(255, 255, 255, 0.6),
        inset -2px -2px 4px rgba(166, 128, 50, 0.5) !important;
}

.category.swiper-slide.active .main-categories-link,
.main-categories-link:active,
.category-button:active {
    /* Pressed Metallic Effect */
    /*
    background: linear-gradient(135deg, #cca225 0%, #e1b439 40%, #f9e29c 100%);
    box-shadow:
        inset 2px 2px 6px rgba(0, 0, 0, 0.4),
        inset -2px -2px 4px rgba(255, 255, 255, 0.2);
    */

    /* Pressed Neumorphic Golden Effect */
    background: var(--menu-text-soft) !important;
    /* #E9D094 */
    color: var(--menu-bg) !important;
    /* Green text */
    box-shadow:
        1px 1px 2px rgba(0, 0, 0, 0.25),
        -1px -1px 2px rgba(242, 215, 153, 0.15),
        inset 4px 4px 8px rgba(166, 128, 50, 0.6),
        inset -4px -4px 8px rgba(255, 255, 255, 0.7) !important;
    transform: translateY(2px) !important;
}

.category-button-label {
    font-size: 0.95rem;
    font-weight: 600;
    text-transform: uppercase;
}

.restaurant-name {
    display: none !important;
}

/* Custom Wine Matcher Modal Styles for 3231 */
#wine-glass .modal-content,
#wine-glass .modal-content div {
    color: var(--menu-text-soft) !important;
}

#wineModal > div {
    background-color: var(--menu-bg) !important;
    border: 1px solid rgba(242, 215, 153, 0.25) !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.6) !important;
}

#wineModal > div > div:first-child {
    background-color: rgba(242, 215, 153, 0.05) !important;
    border-bottom: 1px solid rgba(242, 215, 153, 0.15) !important;
    color: var(--menu-text-soft) !important;
}

#wineModalBody {
    background-color: var(--menu-bg) !important;
    color: var(--menu-text-soft) !important;
}

#wineModalBody div,
#wineModalBody h4,
#wineModalBody strong,
#wineModalBody li,
#wineModalBody p {
    color: var(--menu-text-soft) !important;
}

#wineModalClose {
    color: var(--menu-text-soft) !important;
}

/* Category Grid Button & Icon styles */
.category-button {
    gap: 12px;
    justify-content: flex-start !important;
    padding: 10px 5px !important;
    text-align: left !important;
}
@media screen and (max-width: 579px){
    .category-button{
        gap: 4px;
    }
}
.category-image {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    border-radius: 10px;
    overflow: hidden;
}

.category-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 4px;
}

/* Custom Food Image Portrait Style for 3231 */
.food-image {
    width: 80px !important;
    height: 110px !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    margin-left: 5px !important;
    flex-shrink: 0 !important;
}

.food-image a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    border-radius: 18px !important;
    overflow: hidden !important;
}

.food-image .food-picture {
    position: relative !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 18px !important;
    transition: transform 0.3s ease !important;
}

.food-image:hover .food-picture {
    transform: scale(1.05) !important;
}

/* Prevent overlapping of description, wine suggestion, and price container */
.food-desc-title {
    width: auto !important;
    max-width: none !important;
    flex-grow: 1 !important;
    padding-right: 80px !important;
}

.food-desc-title:has(~ .wine-suggestion) {
    padding-right: 125px !important;
}

.wine-suggestion {
    position: absolute !important;
    right: 80px !important;
    top: 56px !important;
    width: 32px !important;
    height: 32px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.suggest-wine {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
}
