/*
 * Seli editorial menu themes v3
 * alternating: image alternates left/right
 * centered: price / centered image / product copy
 * linear: fixed image on the right with a connecting line
 */

:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .content {
    max-width:760px;
    margin-inline:auto;
    padding-top:20px;
    background:var(--bg);
}
:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .section {
    margin-bottom:34px;
}
:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .section-title {
    margin:0 4px 13px;
    font-size:15px;
    font-weight:800;
}
:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .subsection-wrap {
    margin-top:24px;
}
:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .subsection-title {
    margin:0 4px 9px;
}
:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .items-wrap {
    display:flex;
    flex-direction:column;
    gap:0;
}
:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .item-card {
    isolation:isolate;
    width:100%;
    margin:0;
    padding:0;
    overflow:visible;
    position:relative;
    border:0 !important;
    border-radius:0;
    color:var(--text);
    background:transparent;
    box-shadow:none !important;
    transition:opacity .16s,transform .16s;
}
:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .item-card:hover {
    border:0 !important;
    box-shadow:none !important;
}
:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .item-card:active {
    transform:scale(.992);
}
:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .item-body {
    display:contents;
}
:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .item-img-wrap {
    overflow:visible;
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:center;
    color:color-mix(in srgb,var(--text) 28%,transparent);
    background:transparent;
}
:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .item-img-wrap img {
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
    display:block;
    filter:drop-shadow(0 12px 13px rgba(20,20,30,.11));
}
:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear).menu-color-light .item-img-wrap img:not(.is-placeholder) {
    mix-blend-mode:multiply;
}
:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .item-img-wrap img.is-placeholder {
    max-width:74px;
    max-height:74px;
    opacity:.7;
    filter:none;
}
:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .item-top {
    min-width:0;
    overflow:hidden;
    position:relative;
    z-index:2;
    align-self:center;
    display:flex;
    flex-direction:column;
    direction:rtl;
    text-align:right;
}
:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .item-name {
    margin:0;
    max-width:100%;
    overflow-wrap:anywhere;
    color:var(--text);
    font-size:14px;
    font-weight:800 !important;
    line-height:1.65;
}
:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .item-name-en {
    display:block;
    overflow:hidden;
    margin-top:2px;
    color:var(--muted);
    direction:ltr;
    font-size:9px;
    font-weight:500;
    line-height:1.5;
    text-align:right;
    text-overflow:ellipsis;
    white-space:nowrap;
}
:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .item-desc {
    display:-webkit-box;
    overflow:hidden;
    margin-top:3px;
    color:var(--muted);
    font-size:9px;
    line-height:1.75 !important;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}
:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .item-footer {
    min-width:0;
    position:relative;
    z-index:2;
    align-self:center;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:7px;
    direction:rtl;
}
:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .item-prices {
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
}
:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .item-price {
    color:var(--text);
    font-size:12px;
    font-weight:800;
    white-space:nowrap;
}
:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .item-price-old {
    color:var(--muted);
    font-size:8px;
}
:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .btn-select {
    width:31px;
    min-width:31px;
    height:31px;
    min-height:31px;
    padding:0 !important;
    border-radius:10px !important;
    box-shadow:0 6px 14px color-mix(in srgb,var(--primary) 20%,transparent) !important;
}
:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .btn-select span {
    display:none;
}
:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .disc-tag {
    top:6px;
    right:6px;
    z-index:3;
    padding:3px 6px;
    border-radius:6px;
    font-size:7px;
}
:is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .sold-out-overlay {
    z-index:5;
    border-radius:16px;
}

/* Reference 1: alternating product image and price columns */
body.menu-layout-alternating .item-card {
    min-height:180px;
    display:grid;
    grid-template-columns:150px minmax(0,1fr) 92px;
    grid-template-rows:1fr;
    align-items:center;
    direction:ltr;
}
body.menu-layout-alternating .item-img-wrap {
    width:150px;
    height:150px;
    grid-row:1;
}
body.menu-layout-alternating .item-top {
    grid-column:2;
    grid-row:1;
    padding:0 8px 6px;
}
body.menu-layout-alternating .item-top::after {
    content:'';
    height:1px;
    margin-top:5px;
    display:block;
    background:color-mix(in srgb,var(--text) 72%,transparent);
}
body.menu-layout-alternating .item-footer {
    grid-row:1;
    padding-inline:5px;
}
body.menu-layout-alternating .item-card:nth-child(odd) .item-img-wrap { grid-column:1; }
body.menu-layout-alternating .item-card:nth-child(odd) .item-footer { grid-column:3; align-items:flex-end; }
body.menu-layout-alternating .item-card:nth-child(even) {
    grid-template-columns:92px minmax(0,1fr) 150px;
}
body.menu-layout-alternating .item-card:nth-child(even) .item-img-wrap { grid-column:3; }
body.menu-layout-alternating .item-card:nth-child(even) .item-footer { grid-column:1; align-items:flex-start; }
body.menu-layout-alternating .item-card:nth-child(even) .item-img-wrap {
    width:150px;
    justify-self:end;
}

/* Reference 2: price left, image center, copy right */
body.menu-layout-centered .items-wrap { gap:10px; }
body.menu-layout-centered .item-card {
    min-height:195px;
    padding:10px 12px;
    display:grid;
    grid-template-columns:100px 180px minmax(0,1fr);
    grid-template-rows:1fr;
    align-items:center;
    direction:ltr;
}
body.menu-layout-centered .item-card:nth-child(odd) {
    background:color-mix(in srgb,var(--text) 4%,var(--bg));
}
body.menu-layout-centered .item-img-wrap {
    width:170px;
    height:175px;
    grid-column:2;
    grid-row:1;
    justify-self:center;
}
body.menu-layout-centered .item-top {
    grid-column:3;
    grid-row:1;
    padding-inline:10px 4px;
}
body.menu-layout-centered .item-desc,
body.menu-layout-linear .item-desc { order:2; }
body.menu-layout-centered .item-name-en,
body.menu-layout-linear .item-name-en { order:3; }
body.menu-layout-centered .item-footer {
    grid-column:1;
    grid-row:1;
    align-items:center;
    justify-self:center;
    text-align:center;
}
body.menu-layout-centered .item-prices { align-items:center; }
body.menu-layout-centered .item-name { font-size:15px; }
body.menu-layout-centered .item-name-en,
body.menu-layout-centered .item-desc { max-width:180px; }

/* Reference 3: fixed image right, copy center, price left */
body.menu-layout-linear .item-card {
    min-height:176px;
    display:grid;
    grid-template-columns:98px minmax(0,1fr) 158px;
    grid-template-rows:1fr;
    align-items:center;
    direction:ltr;
}
body.menu-layout-linear .item-img-wrap {
    width:154px;
    height:154px;
    grid-column:3;
    grid-row:1;
    justify-self:end;
}
body.menu-layout-linear .item-top {
    grid-column:2;
    grid-row:1;
    padding:0 8px 7px;
}
body.menu-layout-linear .item-name {
    padding-bottom:4px;
    border-bottom:1px solid color-mix(in srgb,var(--text) 72%,transparent);
}
body.menu-layout-linear .item-footer {
    grid-column:1;
    grid-row:1;
    align-items:flex-start;
    padding-inline:4px;
}

/*
 * محور مخلوط:
 * در هر چرخه سه‌تایی، دو دسته با محور تصویر و دسته سوم به‌صورت متناوب نمایش داده می‌شود.
 * کلاس هر بخش هنگام رندر تعیین می‌شود؛ بنابراین هیچ محاسبه یا کتابخانه‌ای در مرورگر لازم نیست.
 */
body.menu-layout-mixed .content {
    max-width:760px;
    margin-inline:auto;
    padding-top:20px;
    background:var(--bg);
}
body.menu-layout-mixed .section { margin-bottom:34px; }
body.menu-layout-mixed .subsection-wrap { margin-top:24px; }
body.menu-layout-mixed .subsection-title { margin:0 4px 9px; }
body.menu-layout-mixed .items-wrap {
    display:flex;
    flex-direction:column;
    gap:0;
}
body.menu-layout-mixed .item-card {
    isolation:isolate;
    width:100%;
    min-height:calc(var(--editorial-image-height,138px) + 24px);
    margin:0;
    padding:0;
    overflow:hidden;
    position:relative;
    display:grid;
    grid-template-rows:1fr;
    align-items:center;
    border:0 !important;
    border-radius:0;
    color:var(--text);
    background:transparent;
    box-shadow:none !important;
    transition:opacity .16s,transform .16s;
}
body.menu-layout-mixed .item-card:hover { border:0 !important; box-shadow:none !important; }
body.menu-layout-mixed .item-card:active { transform:scale(.992); }
body.menu-layout-mixed .item-body { display:contents; }
body.menu-layout-mixed .item-img-wrap {
    overflow:hidden;
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:center;
    justify-self:center;
    align-self:center;
    height:var(--editorial-image-height,138px);
    color:color-mix(in srgb,var(--text) 28%,transparent);
    background:transparent;
}
body.menu-layout-mixed .item-img-wrap img {
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center;
    filter:drop-shadow(0 12px 13px rgba(20,20,30,.11));
}
body.menu-layout-mixed.menu-color-light .item-img-wrap img:not(.is-placeholder) { mix-blend-mode:multiply; }
body.menu-layout-mixed .item-img-wrap.has-transparent-product-image { overflow:visible; }
body.menu-layout-mixed .item-img-wrap.has-transparent-product-image img.is-transparent-product-image {
    object-fit:contain;
    mix-blend-mode:normal;
}
body.menu-layout-mixed .item-top {
    min-width:0;
    overflow:hidden;
    position:relative;
    z-index:2;
    align-self:center;
    display:flex;
    flex-direction:column;
    direction:rtl;
    text-align:right;
}
body.menu-layout-mixed .item-name {
    margin:0;
    max-width:100%;
    overflow-wrap:anywhere;
    color:var(--text);
    font-size:var(--menu-item-title-size);
    font-weight:800 !important;
    line-height:1.65;
}
body.menu-layout-mixed .item-name-en {
    order:3;
    display:block;
    overflow:hidden;
    margin-top:2px;
    color:var(--muted);
    direction:ltr;
    font-size:var(--menu-item-subtitle-size);
    font-weight:500;
    line-height:1.5;
    text-align:right;
    text-overflow:ellipsis;
    white-space:nowrap;
}
body.menu-layout-mixed .item-desc {
    order:2;
    display:-webkit-box;
    overflow:hidden;
    margin-top:3px;
    color:var(--muted);
    font-size:var(--menu-item-subtitle-size);
    line-height:1.75 !important;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}
body.menu-layout-mixed .item-footer {
    min-width:0;
    width:100%;
    max-width:100%;
    overflow:hidden;
    position:relative;
    z-index:2;
    align-self:center;
    display:flex;
    flex-direction:column;
    gap:7px;
    direction:rtl;
}
body.menu-layout-mixed .item-prices {
    width:100%;
    max-width:100%;
    display:flex;
    flex-direction:column;
}
body.menu-layout-mixed .item-price {
    max-width:100%;
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    justify-content:center;
    gap:1px 4px;
    color:var(--text);
    font-size:clamp(9px,var(--menu-item-price-size),18px) !important;
    font-weight:800;
    line-height:1.45;
    text-align:center;
    white-space:normal !important;
    letter-spacing:-.35px;
}
body.menu-layout-mixed .item-price .price-number { max-width:100%; direction:ltr; unicode-bidi:isolate; white-space:nowrap; }
body.menu-layout-mixed .item-price .price-unit { white-space:nowrap; }
body.menu-layout-mixed .item-price-old { color:var(--muted); font-size:8px; }
body.menu-layout-mixed .btn-select {
    width:31px;
    min-width:31px;
    height:31px;
    min-height:31px;
    padding:0 !important;
    border-radius:10px !important;
    box-shadow:0 6px 14px color-mix(in srgb,var(--primary) 20%,transparent) !important;
}
body.menu-layout-mixed .btn-select span { display:none; }

body.menu-layout-mixed .section-layout-centered .items-wrap { gap:10px; }
body.menu-layout-mixed .section-layout-centered .item-card {
    padding:8px 6px;
    grid-template-columns:var(--editorial-price-column,72px) var(--editorial-image-column,126px) minmax(0,1fr);
    direction:ltr;
}
body.menu-layout-mixed .section-layout-centered .item-card:nth-child(odd) {
    background:color-mix(in srgb,var(--text) 4%,var(--bg));
}
body.menu-layout-mixed .section-layout-centered .item-img-wrap {
    width:100%;
    grid-column:2;
    grid-row:1;
}
body.menu-layout-mixed .section-layout-centered .item-top {
    grid-column:3;
    grid-row:1;
    padding-inline:6px 2px;
}
body.menu-layout-mixed .section-layout-centered .item-footer {
    grid-column:1;
    grid-row:1;
    align-items:center;
    justify-self:stretch;
    text-align:center;
}
body.menu-layout-mixed .section-layout-centered .item-prices { align-items:center; }

body.menu-layout-mixed .section-layout-alternating .item-card {
    grid-template-columns:var(--editorial-image-column,110px) minmax(0,1fr) var(--editorial-price-column,72px);
    direction:ltr;
}
body.menu-layout-mixed .section-layout-alternating .item-card:nth-child(even) {
    grid-template-columns:var(--editorial-price-column,72px) minmax(0,1fr) var(--editorial-image-column,110px);
}
body.menu-layout-mixed .section-layout-alternating .item-img-wrap { width:100%; grid-column:1; grid-row:1; }
body.menu-layout-mixed .section-layout-alternating .item-card:nth-child(even) .item-img-wrap { grid-column:3; }
body.menu-layout-mixed .section-layout-alternating .item-top {
    grid-column:2;
    grid-row:1;
    padding:0 4px 6px;
}
body.menu-layout-mixed .section-layout-alternating .item-top::after {
    content:'';
    height:1px;
    margin-top:5px;
    display:block;
    background:color-mix(in srgb,var(--text) 72%,transparent);
}
body.menu-layout-mixed .section-layout-alternating .item-footer {
    grid-column:3;
    grid-row:1;
    align-items:flex-end;
    padding-inline:5px;
}
body.menu-layout-mixed .section-layout-alternating .item-card:nth-child(even) .item-footer {
    grid-column:1;
    align-items:flex-start;
}

@media(max-width:600px) {
    :is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .content {
        padding-inline:12px;
    }
    :is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .section {
        margin-bottom:27px;
    }
    :is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .item-name {
        font-size:12px;
    }
    :is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .item-price {
        font-size:10px;
    }
    :is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .item-name-en,
    :is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .item-desc {
        font-size:8px;
    }

    body.menu-layout-alternating .item-card {
        min-height:145px;
        grid-template-columns:110px minmax(0,1fr) 72px;
    }
    body.menu-layout-alternating .item-card:nth-child(even) {
        grid-template-columns:72px minmax(0,1fr) 110px;
    }
    body.menu-layout-alternating .item-img-wrap {
        width:110px;
        height:120px;
    }
    body.menu-layout-alternating .item-card:nth-child(even) .item-img-wrap { width:110px; }
    body.menu-layout-alternating .item-top { padding-inline:4px; }

    body.menu-layout-centered .item-card {
        min-height:166px;
        padding:8px 6px;
        grid-template-columns:72px 126px minmax(0,1fr);
    }
    body.menu-layout-centered .item-img-wrap {
        width:122px;
        height:145px;
    }
    body.menu-layout-centered .item-top { padding-inline:6px 2px; }

    body.menu-layout-linear .item-card {
        min-height:150px;
        grid-template-columns:74px minmax(0,1fr) 118px;
    }
    body.menu-layout-linear .item-img-wrap {
        width:116px;
        height:128px;
    }
    body.menu-layout-linear .item-top { padding-inline:4px; }

    body.menu-layout-mixed .content { padding-inline:12px; }
    body.menu-layout-mixed .section { margin-bottom:27px; }
    body.menu-layout-mixed .item-name { font-size:var(--menu-item-title-size); }
    body.menu-layout-mixed .item-price { font-size:clamp(9px,var(--menu-item-price-size),18px) !important; }
}

@media(max-width:520px) {
    :is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .layout-right .content {
        padding-inline:8px;
    }
    :is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .layout-right .item-card {
        min-height:112px;
        padding:5px;
        display:grid;
        grid-template-columns:minmax(0,1fr) 84px;
        grid-template-rows:auto auto;
        align-items:center;
        direction:ltr;
    }
    :is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .layout-right .item-img-wrap,
    body.menu-layout-alternating .layout-right .item-card:nth-child(even) .item-img-wrap {
        width:82px;
        height:100px;
        grid-column:2;
        grid-row:1 / 3;
        justify-self:end;
    }
    :is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .layout-right .item-top {
        grid-column:1;
        grid-row:1;
        padding:5px;
    }
    :is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .layout-right .item-footer {
        grid-column:1;
        grid-row:2;
        padding:0 5px 5px;
        align-items:flex-start;
        justify-self:stretch;
    }
    :is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .layout-right .item-name {
        font-size:10px;
    }
    :is(body.menu-layout-alternating,body.menu-layout-centered,body.menu-layout-linear) .layout-right .item-desc {
        -webkit-line-clamp:1;
    }
    body.menu-layout-mixed .layout-right .content { padding-inline:8px; }
    body.menu-layout-mixed .layout-right .item-card {
        min-height:112px;
        padding:5px;
        grid-template-columns:minmax(0,1fr) 84px !important;
        grid-template-rows:auto auto;
        direction:ltr;
    }
    body.menu-layout-mixed .layout-right .item-img-wrap {
        width:82px;
        height:100px;
        grid-column:2 !important;
        grid-row:1 / 3;
        justify-self:end;
    }
    body.menu-layout-mixed .layout-right .item-top {
        grid-column:1 !important;
        grid-row:1;
        padding:5px;
    }
    body.menu-layout-mixed .layout-right .item-footer {
        grid-column:1 !important;
        grid-row:2;
        padding:0 5px 5px;
        align-items:flex-start;
        justify-self:stretch;
    }
    body.menu-layout-mixed .layout-right .item-name { font-size:10px; }
    body.menu-layout-mixed .layout-right .item-desc { -webkit-line-clamp:1; }
}

@media(max-width:360px) {
    body.menu-layout-alternating .app-wrapper:not(.layout-right) .item-card {
        grid-template-columns:96px minmax(0,1fr) 64px;
    }
    body.menu-layout-alternating .app-wrapper:not(.layout-right) .item-card:nth-child(even) {
        grid-template-columns:64px minmax(0,1fr) 96px;
    }
    body.menu-layout-alternating .app-wrapper:not(.layout-right) .item-img-wrap {
        width:96px;
        height:110px;
    }
    body.menu-layout-centered .app-wrapper:not(.layout-right) .item-card {
        grid-template-columns:63px 108px minmax(0,1fr);
    }
    body.menu-layout-centered .app-wrapper:not(.layout-right) .item-img-wrap {
        width:104px;
        height:132px;
    }
    body.menu-layout-linear .app-wrapper:not(.layout-right) .item-card {
        grid-template-columns:64px minmax(0,1fr) 104px;
    }
    body.menu-layout-linear .app-wrapper:not(.layout-right) .item-img-wrap {
        width:102px;
        height:116px;
    }
}
