/* Per-theme sizing. Values are emitted as CSS variables by views/menu/show.php. */
.item-name { font-size:var(--menu-item-title-size) !important; }
.item-name-en,
.item-desc { font-size:var(--menu-item-subtitle-size) !important; }
.item-price { font-size:var(--menu-item-price-size) !important; }

body.menu-layout-list .item-card {
    min-height:calc(var(--menu-item-image-size) + 14px) !important;
    height:calc(var(--menu-item-image-size) + 14px) !important;
}
body.menu-layout-list .item-img-wrap {
    width:max(60px,calc(var(--menu-item-image-size) - 10px)) !important;
    height:var(--menu-item-image-size) !important;
}
body.menu-layout-list .item-body {
    height:var(--menu-item-image-size) !important;
}

body.menu-layout-grid .item-img-wrap {
    height:var(--menu-item-image-size) !important;
    aspect-ratio:auto !important;
}

body.menu-layout-showcase .item-img-wrap {
    height:var(--menu-item-image-size) !important;
    aspect-ratio:auto !important;
}

body.menu-layout-modern .item-img-wrap {
    height:var(--menu-item-image-size) !important;
    aspect-ratio:auto !important;
}
body.menu-layout-modern .items-wrap > .item-card:first-child .item-img-wrap {
    height:var(--menu-item-hero-image-size) !important;
}
body.menu-layout-modern .items-wrap > .item-card:first-child {
    min-height:var(--menu-item-hero-image-size) !important;
}
body.menu-layout-modern .items-wrap > .item-card:first-child .item-name {
    font-size:calc(var(--menu-item-title-size) + 3px) !important;
}

/*
 * Transparent product artwork should sit directly on the selected theme.
 * The wrapper keeps its layout dimensions, but no visible square/card is drawn.
 * The class is added after an alpha-channel check in menu-app-v2.js.
 */
.item-img-wrap.has-transparent-product-image {
    overflow:visible !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}
.item-img-wrap.has-transparent-product-image > img.is-transparent-product-image {
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    mix-blend-mode:normal !important;
    filter:drop-shadow(0 12px 14px rgba(20,20,30,.12)) !important;
}

:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) {
    --editorial-image-height:clamp(88px,var(--menu-item-image-size),210px);
    --editorial-price-column:clamp(76px,calc(var(--menu-item-price-size) + 90px),30%);
}
body.menu-layout-mixed {
    --editorial-image-height:clamp(88px,var(--menu-item-image-size),210px);
    --editorial-image-column:clamp(76px,calc(var(--menu-item-image-size) - 12px),34%);
    --editorial-price-column:clamp(76px,calc(var(--menu-item-price-size) + 90px),30%);
}
:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .item-card {
    min-height:calc(var(--editorial-image-height) + 24px) !important;
    max-width:100%;
    overflow:hidden !important;
}
:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .item-img-wrap {
    width:100% !important;
    max-width:100%;
    height:var(--editorial-image-height) !important;
    min-height:0;
    overflow:hidden !important;
    border-radius:18px;
    background:transparent;
    justify-self:center !important;
    align-self:center;
}
:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .item-img-wrap img,
:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .item-img-wrap img.is-placeholder {
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:center !important;
    opacity:1;
}
:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .item-img-wrap.has-transparent-product-image {
    overflow:visible !important;
    border-radius:0;
    background:transparent !important;
}
:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .item-img-wrap.has-transparent-product-image > img.is-transparent-product-image {
    object-fit:contain !important;
    filter:drop-shadow(0 13px 13px rgba(20,20,30,.12)) !important;
}
:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .item-footer {
    width:100%;
    max-width:100%;
    overflow:hidden;
}
:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .item-prices {
    width:100%;
    max-width:100%;
}
:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .item-price {
    max-width:100%;
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    justify-content:center;
    gap:1px 4px;
    font-size:clamp(9px,var(--menu-item-price-size),18px) !important;
    line-height:1.45;
    text-align:center;
    white-space:normal !important;
    letter-spacing:-.35px;
}
:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .item-price .price-number {
    max-width:100%;
    direction:ltr;
    unicode-bidi:isolate;
    white-space:nowrap;
}
:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .item-price .price-unit {
    white-space:nowrap;
}

body.menu-layout-alternating {
    --editorial-image-column:clamp(74px,calc(var(--menu-item-image-size) - 10px),34%);
}
body.menu-layout-alternating .item-card {
    grid-template-columns:var(--editorial-image-column) minmax(0,1fr) var(--editorial-price-column) !important;
}
body.menu-layout-alternating .item-card:nth-child(even) {
    grid-template-columns:var(--editorial-price-column) minmax(0,1fr) var(--editorial-image-column) !important;
}

body.menu-layout-centered {
    --editorial-image-column:clamp(76px,calc(var(--menu-item-image-size) - 23px),34%);
}
body.menu-layout-centered .item-card {
    grid-template-columns:var(--editorial-price-column) var(--editorial-image-column) minmax(0,1fr) !important;
}
body.menu-layout-centered .item-img-wrap {
    grid-column:2 !important;
    grid-row:1 !important;
    margin-inline:auto;
}
body.menu-layout-centered .item-top {
    grid-column:3 !important;
    grid-row:1 !important;
}
body.menu-layout-centered .item-footer {
    grid-column:1 !important;
    grid-row:1 !important;
    justify-self:stretch !important;
}

body.menu-layout-linear {
    --editorial-image-column:clamp(76px,calc(var(--menu-item-image-size) - 12px),34%);
}
body.menu-layout-linear .item-card {
    grid-template-columns:var(--editorial-price-column) minmax(0,1fr) var(--editorial-image-column) !important;
}
body.menu-layout-linear .item-img-wrap {
    grid-column:3 !important;
    grid-row:1 !important;
}
body.menu-layout-linear .item-top {
    grid-column:2 !important;
    grid-row:1 !important;
}
body.menu-layout-linear .item-footer {
    grid-column:1 !important;
    grid-row:1 !important;
}

@media (max-width:380px) {
    body.menu-layout-alternating .item-card,
    body.menu-layout-alternating .item-card:nth-child(even),
    body.menu-layout-centered .item-card,
    body.menu-layout-linear .item-card {
        column-gap:6px !important;
    }
    :is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) {
        --editorial-price-column:clamp(68px,calc(var(--menu-item-price-size) + 68px),29%);
    }
    body.menu-layout-mixed {
        --editorial-price-column:clamp(68px,calc(var(--menu-item-price-size) + 68px),29%);
    }
}
