.menu-page{
    background:#fffaf5;
    min-height:70vh;
}

.menu-hero{
    padding:90px 6vw 50px;
    text-align:center;
    background:white;
}

.menu-hero h1{
    font-size:clamp(42px,7vw,78px);
    letter-spacing:-.06em;
    margin:14px 0;
}

.menu-hero p{
    color:var(--muted);
    font-size:18px;
}

.menu-layout{
    display:grid;
    grid-template-columns:260px 1fr;
    gap:28px;
    padding:50px 6vw 90px;
}

.menu-sidebar{
    position:sticky;
    top:98px;
    align-self:start;
    background:white;
    border:1px solid var(--border);
    border-radius:28px;
    padding:22px;
    box-shadow:0 14px 40px rgba(17,17,17,.06);
}

.menu-sidebar h2{
    margin:0 0 16px;
}

.category-pill{
    width:100%;
    border:0;
    border-radius:16px;
    padding:13px 14px;
    background:#fff7ed;
    margin-bottom:10px;
    font-weight:900;
    text-align:left;
    cursor:pointer;
}

.category-pill.active,.category-pill:hover{
    background:var(--orange);
    color:white;
}

.menu-tools{
    display:flex;
    gap:14px;
    margin-bottom:24px;
}

.menu-tools input{
    flex:1;
    border:1px solid var(--border);
    border-radius:999px;
    padding:15px 18px;
    font-size:16px;
}

.cart-mini{
    background:#111;
    color:white;
    border-radius:999px;
    padding:15px 20px;
    font-weight:900;
}

.cart-mini span{
    background:var(--orange);
    border-radius:999px;
    padding:4px 8px;
    margin-left:6px;
}

.modal-backdrop{
    position:fixed;
    inset:0;
    z-index:1000;
    background:rgba(0,0,0,.55);
    display:grid;
    place-items:center;
    padding:24px;
}

.product-modal{
    position:relative;
    width:min(980px,100%);
    max-height:90vh;
    overflow:auto;
    background:white;
    border-radius:34px;
    box-shadow:0 30px 100px rgba(0,0,0,.35);
}

.modal-close{
    position:absolute;
    top:16px;
    right:16px;
    z-index:2;
    width:42px;
    height:42px;
    border:0;
    border-radius:50%;
    background:#111;
    color:white;
    font-size:24px;
    cursor:pointer;
}

.modal-product{
    display:grid;
    grid-template-columns:1fr 1.1fr;
}

.modal-product-img{
    min-height:520px;
    background:linear-gradient(135deg,#fff4e8,#f3d0aa);
    display:grid;
    place-items:center;
    color:#a75b16;
    font-weight:900;
}

.modal-product-img img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.modal-product-info{
    padding:44px;
}

.modal-product-info small{
    color:var(--orange);
    font-weight:900;
}

.modal-product-info h2{
    font-size:42px;
    letter-spacing:-.04em;
    margin:8px 0 12px;
}

.modal-product-info p{
    color:var(--muted);
    line-height:1.7;
}

.modal-meta-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin:20px 0;
}

.modal-meta-grid div{
    background:#fff7ed;
    border:1px solid var(--border);
    border-radius:18px;
    padding:14px;
}

.modal-meta-grid strong,.modal-meta-grid span{
    display:block;
}

.modal-meta-grid span{
    color:#7c2d12;
    margin-top:5px;
}

.variation-options{
    display:grid;
    gap:10px;
    margin:10px 0 20px;
}

.variation-option{
    display:flex;
    gap:12px;
    align-items:center;
    justify-content:space-between;
    border:1px solid var(--border);
    border-radius:16px;
    padding:14px;
    cursor:pointer;
}

.variation-option input{
    width:auto;
}

.qty-row{
    display:flex;
    align-items:center;
    gap:10px;
    margin:20px 0;
}

.qty-row button{
    width:42px;
    height:42px;
    border:0;
    border-radius:50%;
    background:#111;
    color:white;
    font-size:20px;
}

.qty-row input{
    width:90px;
    border:1px solid var(--border);
    border-radius:14px;
    padding:12px;
    text-align:center;
}

.success-card{
    background:#dcfce7;
    color:#166534;
    border-radius:18px;
    padding:14px 16px;
    margin-top:14px;
    font-weight:800;
}

@media(max-width:900px){
    .menu-layout{
        grid-template-columns:1fr;
    }

    .menu-sidebar{
        position:static;
    }

    .modal-product{
        grid-template-columns:1fr;
    }

    .modal-product-img{
        min-height:280px;
    }

    .modal-meta-grid{
        grid-template-columns:1fr;
    }
}


/* V6.1 FIX: some browsers/hosting CSS order can ignore the hidden attribute
   because .modal-backdrop has display:grid. Force hidden modals to disappear. */
.modal-backdrop[hidden] {
    display: none !important;
}
