/* FloatCommerce RC2.9.16.0 — My Pizza London Launch Menu Balance
   Scope: customer menu layout only. No order, payment, stock or database logic. */

body.fc-storefront .fw-wave-menu > .container{
    max-width:1680px!important;
}

@media (min-width: 1321px){
    body.fc-storefront .fw-wave-shell{
        grid-template-columns:320px minmax(0,1fr) 320px!important;
        gap:22px!important;
        align-items:start!important;
    }
}

@media (min-width: 1200px) and (max-width:1320.98px){
    body.fc-storefront .fw-wave-shell{
        grid-template-columns:300px minmax(0,1fr) 300px!important;
        gap:18px!important;
        align-items:start!important;
    }
}

@media (min-width: 992px) and (max-width:1199.98px){
    body.fc-storefront .fw-wave-shell{
        grid-template-columns:260px minmax(0,1fr) 260px!important;
        gap:16px!important;
        align-items:start!important;
    }
}

@media (min-width: 992px){
    body.fc-storefront .fw-wave-categories,
    body.fc-storefront .fw-wave-basket{
        width:100%!important;
        min-width:0!important;
        box-sizing:border-box!important;
        border-radius:16px!important;
    }

    body.fc-storefront .fw-wave-categories{
        top:94px!important;
        padding:16px 13px!important;
        min-height:390px!important;
        max-height:calc(100vh - 112px)!important;
    }

    body.fc-storefront .fw-wave-basket{
        top:94px!important;
        padding:16px 14px!important;
        min-height:390px!important;
        max-height:calc(100vh - 112px)!important;
        display:flex!important;
        flex-direction:column!important;
        overflow:hidden!important;
    }

    body.fc-storefront .fw-wave-panel-title{
        font-size:16px!important;
        margin-bottom:12px!important;
    }

    body.fc-storefront .fw-wave-category-list{
        gap:7px!important;
    }

    body.fc-storefront .fw-wave-category-link{
        min-height:43px!important;
        padding:10px 11px!important;
        font-size:12px!important;
        line-height:1.18!important;
        border-radius:11px!important;
    }

    body.fc-storefront .fw-wave-category-name{
        white-space:normal!important;
        overflow:visible!important;
        text-overflow:clip!important;
        line-height:1.18!important;
    }

    body.fc-storefront .fw-wave-category-count{
        min-width:28px!important;
        height:24px!important;
        font-size:10.5px!important;
        margin-left:auto!important;
    }

    body.fc-storefront .fw-wave-basket-body{
        flex:1 1 auto!important;
        min-height:155px!important;
        max-height:none!important;
        overflow-y:auto!important;
    }

    body.fc-storefront .fw-wave-basket-footer{
        flex:0 0 auto!important;
    }

    body.fc-storefront .fw-wave-basket-total{
        margin:11px 0 10px!important;
    }

    body.fc-storefront .fw-wave-basket-total span{
        font-size:12px!important;
        font-weight:900!important;
    }

    body.fc-storefront .fw-wave-basket-total strong{
        font-size:22px!important;
        line-height:1!important;
    }

    body.fc-storefront .fw-wave-view-basket{
        min-height:44px!important;
        border-radius:11px!important;
        font-size:11px!important;
    }

    body.fc-storefront .fw-wave-view-basket b{
        min-width:25px!important;
        height:25px!important;
        font-size:10px!important;
    }

    body.fc-storefront .fc-menu-marketing-stack{
        flex:0 0 auto!important;
        margin-top:12px!important;
    }
}

@media (min-width: 992px) and (max-height: 760px){
    body.fc-storefront .fw-wave-categories,
    body.fc-storefront .fw-wave-basket{
        min-height:330px!important;
        max-height:calc(100vh - 96px)!important;
    }

    body.fc-storefront .fw-wave-category-link{
        min-height:38px!important;
        padding-top:8px!important;
        padding-bottom:8px!important;
    }
}

@media (max-width: 991.98px){
    body.fc-storefront .fw-wave-categories,
    body.fc-storefront .fw-wave-basket{
        min-height:0!important;
        max-height:none!important;
        overflow:visible!important;
    }
}

/* RC2.9.16.0.1 — hard override: visually equal category/basket side columns.
   Some earlier menu polish CSS used stronger grid/sidebar rules; these selectors
   intentionally exceed that specificity and keep this patch limited to the
   storefront menu layout only. */
@media (min-width: 1321px){
    html body.fc-ordering-body.fc-storefront.fc-theme-modern .fw-wave-menu .fw-wave-shell{
        grid-template-columns:320px minmax(0,1fr) 320px!important;
        column-gap:24px!important;
        gap:24px!important;
    }
}

@media (min-width: 1200px) and (max-width:1320.98px){
    html body.fc-ordering-body.fc-storefront.fc-theme-modern .fw-wave-menu .fw-wave-shell{
        grid-template-columns:300px minmax(0,1fr) 300px!important;
        column-gap:20px!important;
        gap:20px!important;
    }
}

@media (min-width: 992px) and (max-width:1199.98px){
    html body.fc-ordering-body.fc-storefront.fc-theme-modern .fw-wave-menu .fw-wave-shell{
        grid-template-columns:260px minmax(0,1fr) 260px!important;
        column-gap:16px!important;
        gap:16px!important;
    }
}

@media (min-width: 992px){
    html body.fc-ordering-body.fc-storefront.fc-theme-modern .fw-wave-menu .fw-wave-shell > aside.fw-wave-categories,
    html body.fc-ordering-body.fc-storefront.fc-theme-modern .fw-wave-menu .fw-wave-shell > aside.fw-wave-basket{
        width:100%!important;
        max-width:none!important;
        min-width:0!important;
        justify-self:stretch!important;
        align-self:start!important;
        box-sizing:border-box!important;
    }

    html body.fc-ordering-body.fc-storefront.fc-theme-modern .fw-wave-menu .fw-wave-shell > aside.fw-wave-categories{
        flex:unset!important;
    }

    html body.fc-ordering-body.fc-storefront.fc-theme-modern .fw-wave-menu .fw-wave-shell > aside.fw-wave-basket{
        flex:unset!important;
    }
}

/* RC2.9.16.0.2 — Basket Marketing Card Polish
   Scope: customer menu basket/sidebar promotional card only.
   Uses existing MarketingCard CMS content and styling variables. */
@media (min-width: 992px){
    html body.fc-ordering-body.fc-storefront.fc-theme-modern .fw-wave-menu .fw-wave-basket .fc-menu-marketing-stack{
        margin-top:14px!important;
        display:grid!important;
        gap:12px!important;
    }

    html body.fc-ordering-body.fc-storefront.fc-theme-modern .fw-wave-menu .fw-wave-basket .fc-menu-marketing-stack .fc-marketing-card{
        width:100%!important;
        min-height:0!important;
        height:auto!important;
        display:flex!important;
        flex-direction:column!important;
        justify-content:flex-start!important;
        align-items:stretch!important;
        padding:0!important;
        overflow:hidden!important;
        border-radius:16px!important;
        border:1px solid var(--mc-border, rgba(255,255,255,.24))!important;
        background:var(--mc-bg, #b91c1c)!important;
        color:var(--mc-text, #ffffff)!important;
        box-shadow:0 14px 28px rgba(11,31,59,.16)!important;
    }

    html body.fc-ordering-body.fc-storefront.fc-theme-modern .fw-wave-menu .fw-wave-basket .fc-menu-marketing-stack .fc-marketing-card>img{
        position:relative!important;
        inset:auto!important;
        width:100%!important;
        height:92px!important;
        object-fit:cover!important;
        opacity:.88!important;
    }

    html body.fc-ordering-body.fc-storefront.fc-theme-modern .fw-wave-menu .fw-wave-basket .fc-menu-marketing-stack .fc-marketing-card>div{
        position:relative!important;
        inset:auto!important;
        transform:none!important;
        min-height:0!important;
        height:auto!important;
        display:flex!important;
        flex-direction:column!important;
        align-items:flex-start!important;
        justify-content:flex-start!important;
        gap:8px!important;
        padding:18px 18px 20px!important;
        color:var(--mc-text, #ffffff)!important;
    }

    html body.fc-ordering-body.fc-storefront.fc-theme-modern .fw-wave-menu .fw-wave-basket .fc-menu-marketing-stack .fc-marketing-badge{
        display:inline-flex!important;
        align-items:center!important;
        width:auto!important;
        max-width:100%!important;
        padding:6px 10px!important;
        border-radius:999px!important;
        background:var(--mc-badge, #ffffff)!important;
        color:#0b7f38!important;
        font-size:11px!important;
        line-height:1!important;
        font-weight:900!important;
        letter-spacing:.02em!important;
        text-transform:uppercase!important;
    }

    html body.fc-ordering-body.fc-storefront.fc-theme-modern .fw-wave-menu .fw-wave-basket .fc-menu-marketing-stack .fc-marketing-card h4{
        margin:2px 0 0!important;
        color:var(--mc-text, #ffffff)!important;
        font-size:18px!important;
        line-height:1.14!important;
        font-weight:900!important;
        letter-spacing:-.02em!important;
    }

    html body.fc-ordering-body.fc-storefront.fc-theme-modern .fw-wave-menu .fw-wave-basket .fc-menu-marketing-stack .fc-marketing-card p{
        margin:0!important;
        color:var(--mc-text, #ffffff)!important;
        opacity:.94!important;
        font-size:13px!important;
        line-height:1.38!important;
        font-weight:700!important;
    }

    html body.fc-ordering-body.fc-storefront.fc-theme-modern .fw-wave-menu .fw-wave-basket .fc-menu-marketing-stack .fc-marketing-card a{
        margin-top:4px!important;
        display:inline-flex!important;
        align-items:center!important;
        justify-content:center!important;
        min-height:36px!important;
        padding:9px 13px!important;
        border-radius:11px!important;
        background:var(--mc-button, #0b1f3b)!important;
        color:var(--mc-button-text, #ffffff)!important;
        text-decoration:none!important;
        font-size:12px!important;
        font-weight:900!important;
        box-shadow:0 8px 18px rgba(11,31,59,.22)!important;
    }
}
