/* Shared interaction rules. Keep this file after desktop and mobile layouts. */
body.body-layout-foodstrip :is(#fast-delivery-section, #dish-of-week-section, #products-rail-section, #store-shelves-section, #repeat-orders)[hidden] {
    display: none !important;
}
:root {
    --lumini-focus: #25875c;
    --lumini-control-size: 44px;
    --lumini-rail-gap: 12px;
}
body.body-layout-foodstrip :is(button, a, input, select, textarea, [tabindex]):focus-visible {
    outline: 2px solid var(--lumini-focus) !important;
    outline-offset: 3px !important;
}
body.body-layout-foodstrip button:disabled { cursor: not-allowed; }
body.body-layout-foodstrip .checkout-submit-btn[aria-busy="true"] { opacity: .7; cursor: progress; }
body.body-layout-foodstrip.browse-site-light :is(.checkout-submit-btn, .product-rail-add, .product-add-btn, .config-add-btn) {
    color: #fff !important;
    background-color: #17201b !important;
}
body.body-layout-foodstrip :is(.checkout-section, .checkout-side) { min-width: 0; }
body.body-layout-foodstrip .checkout-side .ui-brush-arrow { display: none !important; }
body.body-layout-foodstrip:not(.body-on-store-page) :is(
    #products-rail-list,
    #dish-of-week-list,
    #fast-delivery-list,
    .store-shelf-products
) > :is(.product-rail-card, .dish-week-card, .store-shelf-product) {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}
body.body-layout-foodstrip .checkout-input { box-sizing: border-box; max-width: 100%; }
body.body-layout-foodstrip :is(#products-rail-list, .store-shelf-products) .product-rail-card .product-rail-image-wrap > .product-rail-add {
    position: absolute !important;
    inset: auto 8px 8px auto !important;
    transform: none !important;
    margin: 0 !important;
}
body.body-layout-foodstrip.browse-site-light #products-section .store-rating-open-btn :is(.store-rating-open-sub, .store-rating-open-sep) {
    color: #525b55 !important;
}
body.body-layout-foodstrip #products-section .store-interior-billboard {
    border-radius: 24px !important;
    overflow: hidden !important;
}
@media (max-width: 760px) {
    body.body-layout-foodstrip:not(.body-on-store-page) #products-rail-list.stores-masonry.stores-layout-line,
    body.body-layout-foodstrip:not(.body-on-store-page) :is(#products-rail-list, #dish-of-week-list, .store-shelf-products) {
        gap: var(--lumini-rail-gap) !important;
        column-gap: var(--lumini-rail-gap) !important;
    }
    body.body-layout-foodstrip:not(.body-on-store-page) :is(#products-rail-list, #dish-of-week-list, .store-shelf-products) > :is(.product-rail-card, .dish-week-card, .store-shelf-product) {
        flex: 0 0 clamp(132px, 38vw, 148px) !important;
        width: clamp(132px, 38vw, 148px) !important;
        min-width: clamp(132px, 38vw, 148px) !important;
        max-width: clamp(132px, 38vw, 148px) !important;
        height: auto !important;
        min-height: 0 !important;
    }
    body.body-layout-foodstrip:not(.body-on-store-page) :is(#products-rail-list, #dish-of-week-list, .store-shelf-products) :is(.product-rail-card, .dish-week-card) :is(.product-rail-image-wrap, .dish-week-image-wrap, .dish-week-media) {
        aspect-ratio: 1 !important;
        height: clamp(132px, 38vw, 148px) !important;
        min-height: clamp(132px, 38vw, 148px) !important;
        max-height: none !important;
        flex-shrink: 0 !important;
    }
    body.body-layout-foodstrip:not(.body-on-store-page) :is(#products-rail-list, #dish-of-week-list, .store-shelf-products) :is(.product-rail-image-wrap, .dish-week-media) img {
        width: 100% !important;
        height: 100% !important;
        max-height: none !important;
        object-fit: cover !important;
    }
    body.body-layout-foodstrip :is(.product-rail-add, .product-fav-btn) {
        min-width: var(--lumini-control-size) !important;
        min-height: var(--lumini-control-size) !important;
    }
    body.body-layout-foodstrip .checkout-side .ui-brush-arrow { display: none !important; }
body.body-layout-foodstrip:not(.body-on-store-page) :is(
    #products-rail-list,
    #dish-of-week-list,
    #fast-delivery-list,
    .store-shelf-products
) > :is(.product-rail-card, .dish-week-card, .store-shelf-product) {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}
    body.body-layout-foodstrip :is(#products-rail-list, .store-shelf-products) .product-rail-head {
        display: flex !important;
        align-items: flex-start !important;
    }
    body.body-layout-foodstrip :is(#products-rail-list, .store-shelf-products) .product-rail-head .product-fav-btn {
        position: static !important;
        inset: auto !important;
        transform: none !important;
        flex: 0 0 44px !important;
        width: 44px !important;
        height: 44px !important;
        margin: -8px -6px -8px 0 !important;
    }
    body.body-layout-foodstrip :is(#products-rail-list, .store-shelf-products) .product-rail-head .product-rail-name {
        padding-right: 0 !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        flex: 1 !important;
        line-height: 1.2 !important;
        max-height: 2.4em !important;
    }
    body.body-layout-foodstrip .checkout-input { font-size: 16px !important; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}
/* 2026-09-15: store page release polish and category rail stability. */
body.body-layout-foodstrip {
    --lumini-store-gap: clamp(16px, 2vw, 24px);
    --lumini-card-radius: 18px;
}

body.body-layout-foodstrip .browse-category-sort-row {
    contain: layout style paint !important;
    isolation: isolate !important;
}

body.body-layout-foodstrip :is(.line-filter-pill, .store-menu-cat, .browse-sort-open-btn, .category-scroll-btn),
body.body-layout-foodstrip :is(.line-filter-pill, .store-menu-cat, .browse-sort-open-btn, .category-scroll-btn):hover,
body.body-layout-foodstrip :is(.line-filter-pill, .store-menu-cat, .browse-sort-open-btn, .category-scroll-btn):focus-visible {
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    line-height: 1 !important;
    border-width: 1px !important;
    transform: translate3d(0, 0, 0) !important;
    box-shadow: none !important;
    filter: none !important;
}

body.body-layout-foodstrip .browse-category-scroll,
body.body-layout-foodstrip .line-mode-filters,
body.body-layout-foodstrip .store-menu-cats-scroll {
    scrollbar-gutter: stable both-edges;
}

body.body-layout-foodstrip.body-on-store-page #products-section {
    max-width: min(1500px, calc(100vw - 48px)) !important;
    margin: 0 auto !important;
    padding: clamp(18px, 2.4vw, 34px) 0 84px !important;
    background: transparent !important;
}

body.body-layout-foodstrip.body-on-store-page #store-info {
    margin-bottom: var(--lumini-store-gap) !important;
}

body.body-layout-foodstrip #products-section .store-interior-billboard {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.72fr) !important;
    gap: 16px !important;
    min-height: 310px !important;
    padding: 0 !important;
    border: 1px solid rgba(22, 28, 22, .08) !important;
    border-radius: 28px !important;
    background: linear-gradient(135deg, rgba(20, 26, 20, .96), rgba(42, 50, 42, .88)) !important;
    box-shadow: 0 22px 54px rgba(17, 20, 16, .14) !important;
    overflow: hidden !important;
}

body.body-layout-foodstrip.browse-site-light #products-section .store-interior-billboard,
#products-section.store-interior-light .store-interior-billboard {
    background: linear-gradient(135deg, #f8f8f3 0%, #eef1ea 100%) !important;
    border-color: rgba(20, 24, 20, .08) !important;
    box-shadow: 0 18px 46px rgba(28, 31, 24, .10) !important;
}

body.body-layout-foodstrip #products-section .store-interior-billboard-content {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    gap: 14px !important;
    min-width: 0 !important;
    min-height: 310px !important;
    padding: clamp(24px, 3.2vw, 42px) !important;
    background: radial-gradient(circle at 18% 10%, rgba(255,255,255,.18), transparent 36%), transparent !important;
    color: #fff !important;
}

body.body-layout-foodstrip.browse-site-light #products-section .store-interior-billboard-content,
#products-section.store-interior-light .store-interior-billboard-content {
    color: #151a16 !important;
    background: radial-gradient(circle at 18% 12%, rgba(39, 129, 83, .11), transparent 38%), transparent !important;
}

body.body-layout-foodstrip #products-section .store-interior-billboard-head {
    position: absolute !important;
    left: clamp(22px, 3vw, 40px) !important;
    right: clamp(22px, 3vw, 40px) !important;
    top: clamp(18px, 2.2vw, 30px) !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

body.body-layout-foodstrip #products-section .store-info-title-row {
    display: block !important;
}

body.body-layout-foodstrip #products-section .store-info-title-row > .store-info-fav-btn {
    display: none !important;
}

body.body-layout-foodstrip #products-section .store-interior-kicker {
    color: #e9bd56 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

body.body-layout-foodstrip #products-section .store-info-title {
    color: inherit !important;
    font-size: clamp(36px, 4.6vw, 64px) !important;
    line-height: .96 !important;
    letter-spacing: 0 !important;
    margin: 0 !important;
    max-width: 11ch !important;
}

body.body-layout-foodstrip #products-section .store-info-desc {
    color: rgba(255,255,255,.78) !important;
    font-size: clamp(14px, 1.1vw, 17px) !important;
    line-height: 1.45 !important;
    max-width: 680px !important;
    margin: 0 !important;
}

body.body-layout-foodstrip.browse-site-light #products-section .store-info-desc,
#products-section.store-interior-light .store-info-desc {
    color: #697168 !important;
}

body.body-layout-foodstrip #products-section .store-rating-open-btn {
    align-self: flex-start !important;
    min-height: 36px !important;
    padding: 8px 14px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.9) !important;
    color: #161b16 !important;
    box-shadow: none !important;
}

body.body-layout-foodstrip #products-section .store-info-meta,
body.body-layout-foodstrip #products-section .store-info-trust {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 0 !important;
}

body.body-layout-foodstrip #products-section .store-info-pill,
body.body-layout-foodstrip #products-section .store-info-trust-card {
    min-height: 44px !important;
    padding: 10px 14px !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.11) !important;
    color: rgba(255,255,255,.88) !important;
    backdrop-filter: blur(10px) !important;
}

body.body-layout-foodstrip.browse-site-light #products-section .store-info-pill,
body.body-layout-foodstrip.browse-site-light #products-section .store-info-trust-card,
#products-section.store-interior-light .store-info-pill,
#products-section.store-interior-light .store-info-trust-card {
    background: rgba(255,255,255,.72) !important;
    border-color: rgba(21, 26, 21, .08) !important;
    color: #2a302b !important;
}

body.body-layout-foodstrip #products-section .store-place-gallery,
body.body-layout-foodstrip #products-section .store-interior-billboard-gallery {
    position: relative !important;
    min-height: 310px !important;
    border-radius: 22px !important;
    margin: 16px 16px 16px 0 !important;
    overflow: hidden !important;
    background: #0c0e0c !important;
}

body.body-layout-foodstrip #products-section .store-interior-billboard-image {
    width: 100% !important;
    height: 100% !important;
    min-height: 310px !important;
    object-fit: cover !important;
    object-position: center center !important;
    filter: none !important;
}

body.body-layout-foodstrip #products-section .store-menu-cats:not([hidden]) {
    position: sticky !important;
    top: 110px !important;
    z-index: 15 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 54px !important;
    margin: 0 0 var(--lumini-store-gap) !important;
    padding: 7px 9px !important;
    border-radius: 22px !important;
    background: rgba(255,255,255,.74) !important;
    border: 1px solid rgba(24, 29, 23, .06) !important;
    box-shadow: 0 14px 34px rgba(23, 27, 22, .08) !important;
    backdrop-filter: blur(20px) saturate(1.1) !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
}

body.body-layout-foodstrip:not(.browse-site-light) #products-section .store-menu-cats:not([hidden]) {
    background: rgba(20, 24, 20, .76) !important;
    border-color: rgba(255,255,255,.08) !important;
}

body.body-layout-foodstrip #products-section .store-menu-cat {
    flex: 0 0 auto !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 15px !important;
    border-radius: 999px !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
}

body.body-layout-foodstrip #products-section .store-menu-cat small {
    display: inline-grid !important;
    min-width: 20px !important;
    height: 20px !important;
    place-items: center !important;
    margin-left: 6px !important;
    padding: 0 6px !important;
    border-radius: 999px !important;
    line-height: 1 !important;
}

body.body-layout-foodstrip #products-section .store-menu-section-title {
    grid-column: 1 / -1 !important;
    margin: 10px 0 -2px !important;
    color: var(--lumini-text, #161b16) !important;
    font-size: clamp(20px, 2vw, 30px) !important;
    line-height: 1.05 !important;
    font-weight: 950 !important;
    letter-spacing: 0 !important;
}

body.body-layout-foodstrip:not(.browse-site-light) #products-section .store-menu-section-title {
    color: #f4f6f2 !important;
}

body.body-layout-foodstrip #products-list.products-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
    gap: clamp(22px, 2.2vw, 34px) clamp(18px, 2vw, 28px) !important;
    align-items: start !important;
}

body.body-layout-foodstrip #products-section .product-card {
    display: grid !important;
    grid-template-rows: auto 1fr !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: var(--lumini-card-radius) !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

body.body-layout-foodstrip #products-section .product-card:hover {
    transform: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

body.body-layout-foodstrip #products-section .product-card-image-wrap {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    min-height: 0 !important;
    border-radius: var(--lumini-card-radius) !important;
    overflow: hidden !important;
    background: var(--lumini-ui-surface-muted) !important;
    box-shadow: 0 14px 34px rgba(18, 21, 17, .08) !important;
}

body.body-layout-foodstrip #products-section .product-card-image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

body.body-layout-foodstrip #products-section .product-card-body {
    display: grid !important;
    gap: 7px !important;
    padding: 12px 2px 0 !important;
    background: transparent !important;
    min-height: 0 !important;
}

body.body-layout-foodstrip #products-section .product-card-head {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
}

body.body-layout-foodstrip #products-section .product-card-title {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: var(--lumini-text, #161b16) !important;
    font-size: clamp(17px, 1.2vw, 21px) !important;
    line-height: 1.1 !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
}

body.body-layout-foodstrip:not(.browse-site-light) #products-section .product-card-title {
    color: #f5f7f2 !important;
}

body.body-layout-foodstrip #products-section .product-card-head-actions {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
}

body.body-layout-foodstrip #products-section .product-fav-btn {
    position: static !important;
    inset: auto !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    margin: -7px -4px 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    color: currentColor !important;
    box-shadow: none !important;
}

body.body-layout-foodstrip.browse-site-light #products-section .product-fav-btn {
    color: #17201b !important;
}

body.body-layout-foodstrip:not(.browse-site-light) #products-section .product-fav-btn {
    color: #f5f7f2 !important;
}

body.body-layout-foodstrip #products-section .product-card-prices {
    order: 3 !important;
    margin: 2px 0 0 !important;
}

body.body-layout-foodstrip #products-section .price-current {
    color: var(--lumini-text, #111611) !important;
    font-size: clamp(24px, 1.7vw, 31px) !important;
    line-height: 1 !important;
    font-weight: 950 !important;
}

body.body-layout-foodstrip:not(.browse-site-light) #products-section .price-current {
    color: #f6f8f4 !important;
}

body.body-layout-foodstrip #products-section .product-card-desc,
body.body-layout-foodstrip #products-section .product-cooking-note {
    margin: 0 !important;
    color: #777f76 !important;
    font-size: 13px !important;
    line-height: 1.28 !important;
    font-weight: 650 !important;
}

body.body-layout-foodstrip:not(.browse-site-light) #products-section .product-card-desc,
body.body-layout-foodstrip:not(.browse-site-light) #products-section .product-cooking-note {
    color: rgba(245,247,242,.68) !important;
}

body.body-layout-foodstrip #products-section :is(.food-card-badge--cat, .food-card-badge--premium, .product-options-badge) {
    display: none !important;
}

body.body-layout-foodstrip #products-section .food-card-badge--hot {
    top: 10px !important;
    right: 10px !important;
    left: auto !important;
    min-height: 26px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    background: #ff6a3d !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    box-shadow: 0 8px 18px rgba(255, 91, 54, .24) !important;
}

body.body-layout-foodstrip #products-section .product-add-btn {
    position: absolute !important;
    right: 10px !important;
    bottom: 10px !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    border-radius: 999px !important;
    border: 0 !important;
    background: #121711 !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.22) !important;
}

body.body-layout-foodstrip #products-section .product-add-btn::before,
body.body-layout-foodstrip #products-section .product-add-btn::after {
    background: currentColor !important;
}

body.body-layout-foodstrip #products-section .product-add-btn:hover {
    transform: translateY(-2px) !important;
    background: #243027 !important;
}

@media (max-width: 900px) {
    body.body-layout-foodstrip.body-on-store-page #products-section {
        max-width: calc(100vw - 24px) !important;
        padding-bottom: 120px !important;
    }

    body.body-layout-foodstrip #products-section .store-interior-billboard {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
        min-height: 0 !important;
        border-radius: 26px !important;
    }

    body.body-layout-foodstrip #products-section .store-interior-billboard-content {
        min-height: 250px !important;
        padding: 74px 20px 20px !important;
    }

    body.body-layout-foodstrip #products-section .store-info-title {
        font-size: clamp(30px, 9vw, 42px) !important;
        max-width: 12ch !important;
    }

    body.body-layout-foodstrip #products-section .store-place-gallery,
    body.body-layout-foodstrip #products-section .store-interior-billboard-gallery {
        min-height: 210px !important;
        height: 210px !important;
        margin: 0 12px 12px !important;
        border-radius: 22px !important;
    }

    body.body-layout-foodstrip #products-section .store-interior-billboard-image {
        min-height: 210px !important;
        height: 210px !important;
    }

    body.body-layout-foodstrip #products-section .store-menu-cats:not([hidden]) {
        top: 10px !important;
        min-height: 52px !important;
        margin-bottom: 18px !important;
        border-radius: 20px !important;
    }

    body.body-layout-foodstrip #products-list.products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 24px 14px !important;
    }

    body.body-layout-foodstrip #products-section .product-card-image-wrap {
        border-radius: 16px !important;
    }

    body.body-layout-foodstrip #products-section .product-card-title {
        font-size: 16px !important;
    }

    body.body-layout-foodstrip #products-section .price-current {
        font-size: 25px !important;
    }
}

@media (max-width: 420px) {
    body.body-layout-foodstrip #products-list.products-grid {
        gap: 22px 12px !important;
    }

    body.body-layout-foodstrip #products-section .product-card-title {
        font-size: 15px !important;
    }

    body.body-layout-foodstrip #products-section .product-card-desc,
    body.body-layout-foodstrip #products-section .product-cooking-note {
        font-size: 12px !important;
    }

    body.body-layout-foodstrip #products-section .product-add-btn {
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        min-height: 38px !important;
    }
}
/* 2026-09-15: final store page containment fixes. */
body.body-layout-foodstrip.body-on-store-page {
    overflow-x: hidden !important;
}

body.body-layout-foodstrip.body-on-store-page #products-section .store-menu-cats:not([hidden]) {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    contain: layout paint !important;
}

body.body-layout-foodstrip.body-on-store-page #products-section .store-menu-cat {
    max-width: min(360px, 70vw) !important;
}

body.body-layout-foodstrip.body-on-store-page #products-section .store-menu-cat > span {
    display: inline-block !important;
    max-width: min(280px, 54vw) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    vertical-align: middle !important;
}

@media (max-width: 900px) {
    body.body-layout-foodstrip.body-on-store-page #products-section .store-interior-billboard-content {
        min-height: 0 !important;
        height: auto !important;
        padding: 68px 20px 18px !important;
    }

    body.body-layout-foodstrip.body-on-store-page #products-section .food-store-trust {
        display: none !important;
    }

    body.body-layout-foodstrip.body-on-store-page #products-section .store-place-gallery,
    body.body-layout-foodstrip.body-on-store-page #products-section .store-interior-billboard-gallery {
        min-height: 180px !important;
        height: 180px !important;
    }

    body.body-layout-foodstrip.body-on-store-page #products-section .store-interior-billboard-image {
        min-height: 180px !important;
        height: 180px !important;
    }
}
/* 2026-09-15: closed cart panels must not widen the page. */
body.body-layout-foodstrip :is(#browse-cart-panel, #store-cart-slide-panel).browse-cart-panel:not(.is-open) {
    display: none !important;
}

body.body-layout-foodstrip :is(#browse-cart-panel, #store-cart-slide-panel).browse-cart-panel.is-open {
    display: block !important;
}

/* Release checkout states: operational rules must remain visible and stable. */
.checkout-fulfillment-btn:disabled {
    cursor: not-allowed !important;
    opacity: .42 !important;
    transform: none !important;
}

.checkout-order-rule {
    margin: 10px 0 0 !important;
    padding: 10px 12px !important;
    border-radius: 8px !important;
    background: rgba(255, 96, 58, .1) !important;
    color: #b92f16 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

body.body-layout-foodstrip:not(.browse-site-light) .checkout-order-rule {
    background: rgba(255, 119, 87, .14) !important;
    color: #ffb19d !important;
}

/* 2026-09-22: mobile release readiness layer. Keep after all legacy mobile overrides. */
@media (max-width: 900px) {
    html body.body-layout-foodstrip:has(.checkout-page.is-open) {
        overflow: hidden !important;
    }

    html body.body-layout-foodstrip .checkout-page {
        align-items: flex-end !important;
        justify-content: center !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    html body.body-layout-foodstrip .checkout-page-card {
        border-radius: 26px 26px 0 0 !important;
        box-sizing: border-box !important;
        max-height: min(94dvh, 920px) !important;
        min-height: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
        padding: 0 !important;
        scrollbar-width: none !important;
        width: 100vw !important;
    }

    html body.body-layout-foodstrip .checkout-page-card::-webkit-scrollbar {
        display: none !important;
    }

    html body.body-layout-foodstrip .checkout-page-head {
        background: var(--lumini-ui-surface) !important;
        border-bottom: 1px solid var(--lumini-ui-border) !important;
        height: auto !important;
        inset: auto !important;
        padding: 14px 16px 10px !important;
        position: sticky !important;
        top: 0 !important;
        z-index: 20 !important;
    }

    html body.body-layout-foodstrip .checkout-page-head h2 {
        color: var(--lumini-ui-text) !important;
        font-size: clamp(22px, 6vw, 30px) !important;
        height: auto !important;
        margin: 0 !important;
        overflow: visible !important;
        position: static !important;
        white-space: normal !important;
        width: auto !important;
    }

    html body.body-layout-foodstrip .checkout-page-close {
        height: 44px !important;
        position: static !important;
        width: 44px !important;
    }

    html body.body-layout-foodstrip .checkout-page-grid {
        display: grid !important;
        gap: 12px !important;
        grid-template-columns: 1fr !important;
        min-height: 0 !important;
        padding: 12px 16px calc(22px + env(safe-area-inset-bottom)) !important;
    }

    html body.body-layout-foodstrip .checkout-art-panel,
    html body.body-layout-foodstrip .checkout-section,
    html body.body-layout-foodstrip .checkout-side {
        box-sizing: border-box !important;
        grid-column: 1 !important;
        grid-row: auto !important;
        margin: 0 !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    html body.body-layout-foodstrip .checkout-art-panel {
        order: -2 !important;
        min-height: 0 !important;
        overflow: hidden !important;
        padding: 0 !important;
    }

    html body.body-layout-foodstrip .checkout-art-frame {
        border-radius: 22px !important;
        height: clamp(168px, 48vw, 240px) !important;
        min-height: clamp(168px, 48vw, 240px) !important;
        overflow: hidden !important;
    }

    html body.body-layout-foodstrip .checkout-art-image {
        display: block !important;
        height: 100% !important;
        min-height: 0 !important;
        object-fit: cover !important;
        object-position: center 40% !important;
        width: 100% !important;
    }

    html body.body-layout-foodstrip .checkout-section,
    html body.body-layout-foodstrip .checkout-side {
        align-self: stretch !important;
        background: var(--lumini-ui-surface-soft) !important;
        border: 1px solid var(--lumini-ui-border) !important;
        border-radius: 22px !important;
        box-shadow: var(--lumini-ui-shadow) !important;
        overflow: visible !important;
        padding: 16px !important;
        position: static !important;
    }

    html body.body-layout-foodstrip .checkout-side {
        display: flex !important;
        flex-direction: column !important;
        order: 2 !important;
    }

    html body.body-layout-foodstrip .checkout-side .checkout-order-list {
        max-height: none !important;
        overflow: visible !important;
        padding-right: 0 !important;
    }

    html body.body-layout-foodstrip .checkout-submit-btn {
        min-height: 52px !important;
        position: sticky !important;
        bottom: calc(10px + env(safe-area-inset-bottom)) !important;
        z-index: 6 !important;
    }

    html body.body-layout-foodstrip .checkout-order-item {
        grid-template-columns: minmax(0, 1fr) auto !important;
    }

    html body.body-layout-foodstrip .checkout-order-main {
        grid-template-columns: 44px minmax(0, 1fr) !important;
        min-width: 0 !important;
    }

    html body.body-layout-foodstrip .checkout-order-thumb {
        height: 44px !important;
        width: 44px !important;
    }

    html body.body-layout-foodstrip .checkout-portion-btn {
        align-items: center !important;
        background: #101411 !important;
        border: 0 !important;
        border-radius: 999px !important;
        color: #fffdf8 !important;
        display: inline-flex !important;
        font-size: 18px !important;
        font-weight: 800 !important;
        height: 36px !important;
        justify-content: center !important;
        min-width: 36px !important;
        padding: 0 !important;
        width: 36px !important;
        -webkit-text-fill-color: #fffdf8 !important;
    }
}

@media (max-width: 760px) {
    html body.body-layout-foodstrip {
        --lumini-mobile-add-hit: 44px;
        --lumini-mobile-add-visual: 40px;
    }

    html body.body-layout-foodstrip :is(
        .product-rail-image-wrap,
        .dish-week-media,
        .dish-week-image-wrap,
        .mini-product,
        .mini-product-media,
        #products-section .product-card-image-wrap
    ) {
        position: relative !important;
    }

    html body.body-layout-foodstrip :is(
        #products-rail-list .product-rail-image-wrap .product-rail-add,
        #products-rail-list .product-rail-image-wrap .product-rail-add-btn,
        .store-shelf-products .product-rail-image-wrap .product-rail-add,
        .store-shelf-products .product-rail-image-wrap .product-rail-add-btn,
        #dish-of-week-list .dish-week-media .dish-week-add-btn,
        #dish-of-week-list .dish-week-image-wrap .dish-week-add-btn,
        .mini-product .add,
        #products-section .product-card-image-wrap .product-add-btn,
        #products-section .product-card-image-wrap .product-card-add
    ),
    html body.body-layout-foodstrip :is(
        #products-rail-list .product-rail-image-wrap .product-rail-add,
        #products-rail-list .product-rail-image-wrap .product-rail-add-btn,
        .store-shelf-products .product-rail-image-wrap .product-rail-add,
        .store-shelf-products .product-rail-image-wrap .product-rail-add-btn,
        #dish-of-week-list .dish-week-media .dish-week-add-btn,
        #dish-of-week-list .dish-week-image-wrap .dish-week-add-btn,
        .mini-product .add,
        #products-section .product-card-image-wrap .product-add-btn,
        #products-section .product-card-image-wrap .product-card-add
    ):hover,
    html body.body-layout-foodstrip :is(
        #products-rail-list .product-rail-image-wrap .product-rail-add,
        #products-rail-list .product-rail-image-wrap .product-rail-add-btn,
        .store-shelf-products .product-rail-image-wrap .product-rail-add,
        .store-shelf-products .product-rail-image-wrap .product-rail-add-btn,
        #dish-of-week-list .dish-week-media .dish-week-add-btn,
        #dish-of-week-list .dish-week-image-wrap .dish-week-add-btn,
        .mini-product .add,
        #products-section .product-card-image-wrap .product-add-btn,
        #products-section .product-card-image-wrap .product-card-add
    ):focus-visible {
        align-items: center !important;
        appearance: none !important;
        background: #fffdf8 !important;
        border: 0 !important;
        border-radius: 999px !important;
        bottom: 8px !important;
        box-shadow: 0 10px 22px rgba(17, 20, 17, .24) !important;
        color: transparent !important;
        display: inline-flex !important;
        font-size: 0 !important;
        height: var(--lumini-mobile-add-hit) !important;
        justify-content: center !important;
        left: auto !important;
        line-height: 1 !important;
        margin: 0 !important;
        min-height: var(--lumini-mobile-add-hit) !important;
        min-width: var(--lumini-mobile-add-hit) !important;
        padding: 2px !important;
        position: absolute !important;
        right: 8px !important;
        text-indent: 0 !important;
        top: auto !important;
        transform: none !important;
        width: var(--lumini-mobile-add-hit) !important;
        -webkit-text-fill-color: transparent !important;
        z-index: 600 !important;
    }

    html body.body-layout-foodstrip :is(
        #products-rail-list .product-rail-image-wrap .product-rail-add,
        #products-rail-list .product-rail-image-wrap .product-rail-add-btn,
        .store-shelf-products .product-rail-image-wrap .product-rail-add,
        .store-shelf-products .product-rail-image-wrap .product-rail-add-btn,
        #dish-of-week-list .dish-week-media .dish-week-add-btn,
        #dish-of-week-list .dish-week-image-wrap .dish-week-add-btn,
        .mini-product .add,
        #products-section .product-card-image-wrap .product-add-btn,
        #products-section .product-card-image-wrap .product-card-add
    )::before {
        color: #111411 !important;
        content: "+" !important;
        display: block !important;
        font-family: Arial, Helvetica, sans-serif !important;
        font-size: 27px !important;
        font-weight: 400 !important;
        line-height: 1 !important;
        margin: -2px 0 0 !important;
        position: static !important;
        -webkit-text-fill-color: currentColor !important;
    }

    html body.body-layout-foodstrip :is(
        #products-rail-list .product-rail-image-wrap .product-rail-add,
        #products-rail-list .product-rail-image-wrap .product-rail-add-btn,
        .store-shelf-products .product-rail-image-wrap .product-rail-add,
        .store-shelf-products .product-rail-image-wrap .product-rail-add-btn,
        #dish-of-week-list .dish-week-media .dish-week-add-btn,
        #dish-of-week-list .dish-week-image-wrap .dish-week-add-btn,
        .mini-product .add,
        #products-section .product-card-image-wrap .product-add-btn,
        #products-section .product-card-image-wrap .product-card-add
    )::after {
        content: none !important;
        display: none !important;
    }

    html body.body-layout-foodstrip :is(#products-rail-list, #dish-of-week-list, #fast-delivery-list, .store-shelf-products) {
        overflow-x: auto !important;
        overflow-y: hidden !important;
        overscroll-behavior-inline: contain !important;
        scroll-padding-inline: 16px !important;
        scrollbar-width: none !important;
    }

    html body.body-layout-foodstrip :is(#products-rail-list, #dish-of-week-list, #fast-delivery-list, .store-shelf-products)::-webkit-scrollbar {
        display: none !important;
    }

    html body.body-layout-foodstrip .mobile-app-nav {
        z-index: 1300 !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section {
        max-width: 100% !important;
        padding-bottom: calc(118px + env(safe-area-inset-bottom)) !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-menu-cats:not([hidden]) {
        box-sizing: border-box !important;
        margin: 0 0 16px !important;
        overflow: hidden !important;
        padding: 6px !important;
        position: sticky !important;
        top: max(8px, env(safe-area-inset-top)) !important;
        z-index: 25 !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-menu-cats-scroll {
        display: flex !important;
        gap: 8px !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        overscroll-behavior-inline: contain !important;
        scrollbar-width: none !important;
        width: 100% !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-menu-cats-scroll::-webkit-scrollbar {
        display: none !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .products-grid {
        gap: 18px 12px !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 360px) {
    html body.body-layout-foodstrip .app-container {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    html body.body-layout-foodstrip header {
        border-radius: 22px !important;
        gap: 8px !important;
        padding: 10px !important;
    }

    html body.body-layout-foodstrip .header-brand-logo,
    html body.body-layout-foodstrip .brand-logo-image {
        max-width: 116px !important;
    }
}

/* 2026-09-22: authoritative mobile release polish after legacy overrides. */
@media (max-width: 900px) {
    html body.body-layout-foodstrip :is(
        #products-rail-list .product-rail-card .product-rail-image-wrap > .product-rail-add,
        #products-rail-list .product-rail-card .product-rail-image-wrap > .product-rail-add-btn,
        .store-shelf-products .product-rail-card .product-rail-image-wrap > .product-rail-add,
        .store-shelf-products .product-rail-card .product-rail-image-wrap > .product-rail-add-btn,
        #dish-of-week-list .dish-week-card .dish-week-media > .dish-week-add-btn,
        #dish-of-week-list .dish-week-card .dish-week-image-wrap > .dish-week-add-btn,
        #products-section .product-card .product-card-image-wrap > .product-add-btn,
        #products-section .product-card .product-card-image-wrap > .product-card-add,
        #products-section .product-card .product-add-btn,
        #products-section .product-card .product-card-add,
        .mini-product .add
    ),
    html body.body-layout-foodstrip :is(
        #products-rail-list .product-rail-card .product-rail-image-wrap > .product-rail-add,
        #products-rail-list .product-rail-card .product-rail-image-wrap > .product-rail-add-btn,
        .store-shelf-products .product-rail-card .product-rail-image-wrap > .product-rail-add,
        .store-shelf-products .product-rail-card .product-rail-image-wrap > .product-rail-add-btn,
        #dish-of-week-list .dish-week-card .dish-week-media > .dish-week-add-btn,
        #dish-of-week-list .dish-week-card .dish-week-image-wrap > .dish-week-add-btn,
        #products-section .product-card .product-card-image-wrap > .product-add-btn,
        #products-section .product-card .product-card-image-wrap > .product-card-add,
        #products-section .product-card .product-add-btn,
        #products-section .product-card .product-card-add,
        .mini-product .add
    ):hover,
    html body.body-layout-foodstrip :is(
        #products-rail-list .product-rail-card .product-rail-image-wrap > .product-rail-add,
        #products-rail-list .product-rail-card .product-rail-image-wrap > .product-rail-add-btn,
        .store-shelf-products .product-rail-card .product-rail-image-wrap > .product-rail-add,
        .store-shelf-products .product-rail-card .product-rail-image-wrap > .product-rail-add-btn,
        #dish-of-week-list .dish-week-card .dish-week-media > .dish-week-add-btn,
        #dish-of-week-list .dish-week-card .dish-week-image-wrap > .dish-week-add-btn,
        #products-section .product-card .product-card-image-wrap > .product-add-btn,
        #products-section .product-card .product-card-image-wrap > .product-card-add,
        #products-section .product-card .product-add-btn,
        #products-section .product-card .product-card-add,
        .mini-product .add
    ):focus-visible {
        align-items: center !important;
        appearance: none !important;
        background: #fffdf8 !important;
        background-image: none !important;
        border: 0 !important;
        border-radius: 999px !important;
        bottom: 8px !important;
        box-shadow: 0 10px 22px rgba(17, 20, 17, .22) !important;
        color: transparent !important;
        display: inline-flex !important;
        font-size: 0 !important;
        font-weight: 400 !important;
        height: 44px !important;
        justify-content: center !important;
        left: auto !important;
        line-height: 1 !important;
        margin: 0 !important;
        max-height: 44px !important;
        max-width: 44px !important;
        min-height: 44px !important;
        min-width: 44px !important;
        opacity: 1 !important;
        padding: 0 !important;
        position: absolute !important;
        right: 8px !important;
        text-indent: 0 !important;
        top: auto !important;
        transform: none !important;
        width: 44px !important;
        -webkit-text-fill-color: transparent !important;
        z-index: 700 !important;
    }

    html body.body-layout-foodstrip :is(
        #products-rail-list .product-rail-card .product-rail-image-wrap > .product-rail-add,
        #products-rail-list .product-rail-card .product-rail-image-wrap > .product-rail-add-btn,
        .store-shelf-products .product-rail-card .product-rail-image-wrap > .product-rail-add,
        .store-shelf-products .product-rail-card .product-rail-image-wrap > .product-rail-add-btn,
        #dish-of-week-list .dish-week-card .dish-week-media > .dish-week-add-btn,
        #dish-of-week-list .dish-week-card .dish-week-image-wrap > .dish-week-add-btn,
        #products-section .product-card .product-card-image-wrap > .product-add-btn,
        #products-section .product-card .product-card-image-wrap > .product-card-add,
        #products-section .product-card .product-add-btn,
        #products-section .product-card .product-card-add,
        .mini-product .add
    )::before {
        background: none !important;
        color: #111411 !important;
        content: "+" !important;
        display: block !important;
        font-family: Arial, Helvetica, sans-serif !important;
        font-size: 28px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        height: auto !important;
        line-height: .9 !important;
        margin: -2px 0 0 !important;
        mask: none !important;
        position: static !important;
        transform: none !important;
        width: auto !important;
        -webkit-mask: none !important;
        -webkit-text-fill-color: currentColor !important;
    }

    html body.body-layout-foodstrip :is(
        #products-rail-list .product-rail-card .product-rail-image-wrap > .product-rail-add,
        #products-rail-list .product-rail-card .product-rail-image-wrap > .product-rail-add-btn,
        .store-shelf-products .product-rail-card .product-rail-image-wrap > .product-rail-add,
        .store-shelf-products .product-rail-card .product-rail-image-wrap > .product-rail-add-btn,
        #dish-of-week-list .dish-week-card .dish-week-media > .dish-week-add-btn,
        #dish-of-week-list .dish-week-card .dish-week-image-wrap > .dish-week-add-btn,
        #products-section .product-card .product-card-image-wrap > .product-add-btn,
        #products-section .product-card .product-card-image-wrap > .product-card-add,
        #products-section .product-card .product-add-btn,
        #products-section .product-card .product-card-add,
        .mini-product .add
    )::after {
        content: none !important;
        display: none !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .product-card-image-wrap {
        overflow: hidden !important;
        position: relative !important;
    }
}

@media (max-width: 760px) {
    html body.body-layout-foodstrip:not(.body-on-store-page) .premium-hero.premium-hero--banners,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) .premium-hero.premium-hero--banners {
        min-height: clamp(274px, 78vw, 336px) !important;
        height: auto !important;
        overflow: hidden !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) .premium-hero.premium-hero--banners .premium-hero-copy,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) .premium-hero.premium-hero--banners .premium-hero-copy {
        max-width: min(82%, 330px) !important;
        padding: 18px !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) .premium-hero.premium-hero--banners .premium-hero-copy h2,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) .premium-hero.premium-hero--banners .premium-hero-copy h2 {
        font-size: clamp(24px, 7vw, 32px) !important;
        line-height: 1.02 !important;
        max-width: 10ch !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) .premium-hero.premium-hero--banners .premium-hero-copy p,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) .premium-hero.premium-hero--banners .premium-hero-copy p {
        font-size: 13px !important;
        line-height: 1.25 !important;
        max-width: 26ch !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) .premium-hero.premium-hero--banners .premium-hero-stats,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) .premium-hero.premium-hero--banners .premium-hero-stats {
        display: none !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-menu-cats::before,
    html body.body-layout-foodstrip.body-on-store-page #products-section .store-menu-cats::after {
        content: "" !important;
        pointer-events: none !important;
        position: absolute !important;
        top: 0 !important;
        bottom: 0 !important;
        width: 28px !important;
        z-index: 3 !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-menu-cats::before {
        left: 0 !important;
        background: linear-gradient(90deg, #fffdf8 12%, rgba(255, 253, 248, 0)) !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-menu-cats::after {
        right: 0 !important;
        background: linear-gradient(270deg, #fffdf8 12%, rgba(255, 253, 248, 0)) !important;
    }
}

@media (max-width: 360px) {
    html body.body-layout-foodstrip:not(.body-on-store-page) .premium-hero.premium-hero--banners,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) .premium-hero.premium-hero--banners {
        min-height: 316px !important;
    }
}

/* 2026-09-22: desktop release audit fixes. */
@media (min-width: 901px) {
    html body.body-layout-foodstrip .app-container,
    html body.body-layout-foodstrip .browse-layout,
    html body.body-layout-foodstrip .stores-browse-root,
    html body.body-layout-foodstrip #browse-cart-track,
    html body.body-layout-foodstrip #products-section.store-page {
        max-width: min(1440px, calc(100vw - 64px)) !important;
    }

    html body.body-layout-foodstrip header {
        max-width: min(1440px, calc(100vw - 64px)) !important;
    }

    html body.body-layout-foodstrip :is(.premium-hero, .line-mode-search, .stores-rail-shell, .products-rail-section, #products-section .store-info, #products-section .store-menu-cats, #products-section .products-grid) {
        max-width: min(1280px, 100%) !important;
        width: 100% !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) .premium-hero.premium-hero--banners,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) .premium-hero.premium-hero--banners {
        min-height: clamp(360px, 29vw, 430px) !important;
        height: auto !important;
    }

    html body.body-layout-foodstrip .browse-category-scroll,
    html body.body-layout-foodstrip .line-mode-category-wrap,
    html body.body-layout-foodstrip .line-mode-filters-shell {
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }

    html body.body-layout-foodstrip .line-mode-filters {
        box-sizing: border-box !important;
        max-width: 100% !important;
        min-width: 0 !important;
        width: 100% !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        transform: none !important;
    }

    html body.body-layout-foodstrip .line-filter-pill,
    html body.body-layout-foodstrip .line-mode-sort-btn {
        flex: 0 0 auto !important;
    }

    html body.body-layout-foodstrip #stores-list.stores-masonry.stores-layout-line,
    html body.body-layout-foodstrip #repeat-stores-list.stores-masonry.stores-layout-line {
        contain: layout paint !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding-top: 0 !important;
        scroll-anchoring: none !important;
        overflow-anchor: none !important;
    }

    html body.body-layout-foodstrip #stores-list.stores-masonry.stores-layout-line .store-card,
    html body.body-layout-foodstrip #repeat-stores-list.stores-masonry.stores-layout-line .store-card {
        overflow: visible !important;
        transform: none !important;
        transition: background-color var(--lumini-duration) ease, border-color var(--lumini-duration) ease, box-shadow var(--lumini-duration) ease !important;
    }

    html body.body-layout-foodstrip #stores-list.stores-masonry.stores-layout-line .store-card:hover:not(.expanded),
    html body.body-layout-foodstrip #repeat-stores-list.stores-masonry.stores-layout-line .store-card:hover:not(.expanded) {
        transform: none !important;
        box-shadow: 0 18px 42px rgba(43, 85, 60, .12) !important;
    }

    html body.body-layout-foodstrip #stores-list.stores-masonry.stores-layout-line .store-image-wrap,
    html body.body-layout-foodstrip #repeat-stores-list.stores-masonry.stores-layout-line .store-image-wrap {
        overflow: hidden !important;
    }

    html body.body-layout-foodstrip #stores-list.stores-masonry.stores-layout-line .store-card .store-image-wrap,
    html body.body-layout-foodstrip #repeat-stores-list.stores-masonry.stores-layout-line .store-card .store-image-wrap {
        transition: transform var(--lumini-duration) ease !important;
    }

    html body.body-layout-foodstrip #stores-list.stores-masonry.stores-layout-line .store-card:hover:not(.expanded) .store-image-wrap,
    html body.body-layout-foodstrip #repeat-stores-list.stores-masonry.stores-layout-line .store-card:hover:not(.expanded) .store-image-wrap {
        transform: translateY(-3px) !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .products-grid {
        grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)) !important;
        gap: 28px 22px !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .product-card {
        min-width: 0 !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .product-card-image-wrap {
        aspect-ratio: 1 / 1 !important;
    }

    html body.body-layout-foodstrip .browse-cart-empty[hidden],
    html body.body-layout-foodstrip .browse-cart-lines[hidden] {
        display: none !important;
    }

    html body.body-layout-foodstrip .checkout-submit-btn {
        align-items: center !important;
        display: inline-flex !important;
        justify-content: center !important;
        line-height: 1 !important;
        min-height: 52px !important;
        overflow: hidden !important;
        padding-block: 0 !important;
    }
}

@media (min-width: 1280px) {
    html body.body-layout-foodstrip.body-on-store-page #products-section .products-grid {
        grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
    }
}

/* 2026-09-22: small release fixes for add buttons, rails, banner and checkout. */
html body.body-layout-foodstrip button[data-lumini-add-button="clean"] {
    align-items: center !important;
    background: #fffdf8 !important;
    background-color: #fffdf8 !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: 0 10px 22px rgba(17, 20, 17, .22) !important;
    color: transparent !important;
    display: inline-flex !important;
    font-size: 0 !important;
    height: 44px !important;
    justify-content: center !important;
    line-height: 1 !important;
    max-height: 44px !important;
    max-width: 44px !important;
    min-height: 44px !important;
    min-width: 44px !important;
    overflow: hidden !important;
    padding: 0 !important;
    text-indent: 0 !important;
    width: 44px !important;
    -webkit-text-fill-color: transparent !important;
}

html body.body-layout-foodstrip button[data-lumini-add-button="clean"]::before,
html body.body-layout-foodstrip button[data-lumini-add-button="clean"]::after {
    content: none !important;
    display: none !important;
}

html body.body-layout-foodstrip button[data-lumini-add-button="clean"] > .lumini-add-plus {
    align-items: center !important;
    color: #111411 !important;
    display: inline-flex !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 28px !important;
    font-weight: 400 !important;
    height: 100% !important;
    justify-content: center !important;
    line-height: 1 !important;
    margin: -2px 0 0 !important;
    pointer-events: none !important;
    text-indent: 0 !important;
    width: 100% !important;
    -webkit-text-fill-color: #111411 !important;
}

html body.body-layout-foodstrip :is(.product-rail-image-wrap, .dish-week-media, .dish-week-image-wrap, #products-section .product-card-image-wrap) > button[data-lumini-add-button="clean"] {
    bottom: 8px !important;
    left: auto !important;
    position: absolute !important;
    right: 8px !important;
    top: auto !important;
    transform: none !important;
    z-index: 900 !important;
}

html body.body-layout-foodstrip :is(.rail-nav, .category-scroll-btn, [data-category-scroll]) {
    align-items: center !important;
    background: rgba(17, 20, 17, .92) !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: 0 12px 28px rgba(17, 20, 17, .18) !important;
    color: #fffdf8 !important;
    display: inline-flex !important;
    height: 42px !important;
    justify-content: center !important;
    min-height: 42px !important;
    min-width: 42px !important;
    width: 42px !important;
    -webkit-text-fill-color: #fffdf8 !important;
}

html body.body-layout-foodstrip .rail-nav-left {
    left: 12px !important;
}

html body.body-layout-foodstrip .rail-nav-right {
    right: 12px !important;
}

html body.body-layout-foodstrip .rail-nav {
    top: 50% !important;
    z-index: 80 !important;
}

html body.body-layout-foodstrip .stores-rail-shell,
html body.body-layout-foodstrip .products-rail-section,
html body.body-layout-foodstrip .repeat-orders .stores-rail-shell {
    position: relative !important;
}

html body.body-layout-foodstrip :is(#browse-cart-panel, #store-cart-slide-panel).browse-cart-panel .browse-cart-panel-decor,
html body.body-layout-foodstrip.browse-site-light :is(#browse-cart-panel, #store-cart-slide-panel).browse-cart-panel .browse-cart-panel-decor {
    background: none !important;
    display: none !important;
    opacity: 0 !important;
}

html body.body-layout-foodstrip .checkout-portion-btn {
    align-items: center !important;
    background: #111411 !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: #fffdf8 !important;
    display: inline-flex !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    height: 28px !important;
    justify-content: center !important;
    min-width: 28px !important;
    padding: 0 !important;
    width: 28px !important;
    -webkit-text-fill-color: #fffdf8 !important;
}

html body.body-layout-foodstrip .checkout-line-qty,
html body.body-layout-foodstrip .checkout-qty-num {
    font-size: 14px !important;
    min-width: 20px !important;
}

html body.body-layout-foodstrip #checkout-cutlery-chip {
    transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease !important;
}

html body.body-layout-foodstrip #checkout-cutlery-chip[aria-pressed="false"] {
    background: #fff4f1 !important;
    border-color: rgba(214, 68, 52, .28) !important;
    color: #b73527 !important;
    box-shadow: inset 0 0 0 1px rgba(214, 68, 52, .08) !important;
    -webkit-text-fill-color: #b73527 !important;
}

html body.body-layout-foodstrip #checkout-cutlery-chip[aria-pressed="true"] {
    background: #edf8ef !important;
    border-color: rgba(50, 133, 88, .24) !important;
    color: #237044 !important;
    box-shadow: inset 0 0 0 1px rgba(50, 133, 88, .08) !important;
    -webkit-text-fill-color: #237044 !important;
}

@media (min-width: 901px) {
    html body.body-layout-foodstrip:not(.body-on-store-page) .premium-hero.premium-hero--banners,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) .premium-hero.premium-hero--banners {
        height: clamp(260px, 22vw, 330px) !important;
        min-height: clamp(260px, 22vw, 330px) !important;
        overflow: hidden !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) .premium-hero.premium-hero--banners .premium-hero-banner-stage,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) .premium-hero.premium-hero--banners .premium-hero-banner-stage,
    html body.body-layout-foodstrip:not(.body-on-store-page) .premium-hero.premium-hero--banners .premium-hero-banner,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) .premium-hero.premium-hero--banners .premium-hero-banner {
        inset: 0 !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) .premium-hero.premium-hero--banners .premium-hero-banner img,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) .premium-hero.premium-hero--banners .premium-hero-banner img {
        display: block !important;
        height: 100% !important;
        object-fit: cover !important;
        width: 100% !important;
    }
}

html body.body-layout-foodstrip .premium-hero.premium-hero--banners .premium-hero-banner-dots button,
html body.body-layout-foodstrip.browse-site-light .premium-hero.premium-hero--banners .premium-hero-banner-dots button {
    background: rgba(255, 255, 255, .62) !important;
    border: 0 !important;
    opacity: 1 !important;
}

html body.body-layout-foodstrip .premium-hero.premium-hero--banners .premium-hero-banner-dots button.is-active,
html body.body-layout-foodstrip.browse-site-light .premium-hero.premium-hero--banners .premium-hero-banner-dots button.is-active {
    background: var(--lumini-ui-surface-soft) !important;
}

html body.body-layout-foodstrip #repeat-stores-list.stores-masonry.stores-layout-line .product-rail-card {
    flex-basis: min(214px, 64vw) !important;
    max-width: min(214px, 64vw) !important;
    width: min(214px, 64vw) !important;
}

html body.body-layout-foodstrip #repeat-stores-list.stores-masonry.stores-layout-line .product-rail-image,
html body.body-layout-foodstrip #repeat-stores-list.stores-masonry.stores-layout-line .product-rail-image-wrap {
    aspect-ratio: 1 / 1 !important;
}

html body.body-layout-foodstrip #repeat-stores-list.stores-masonry.stores-layout-line .product-rail-body {
    padding-top: 8px !important;
}

/* 2026-09-22: temporary new brand logo fit. */
html body.body-layout-foodstrip .header-brand-logo {
    height: 38px !important;
    max-height: 38px !important;
    max-width: clamp(148px, 14vw, 220px) !important;
    object-fit: contain !important;
    object-position: left center !important;
    width: auto !important;
}

@media (max-width: 760px) {
    html body.body-layout-foodstrip .header-brand-logo {
        height: 34px !important;
        max-height: 34px !important;
        max-width: 142px !important;
    }
}

/* 2026-09-22: canonical product add button component. Keep all add-button visuals here. */
:root {
    --lumini-add-button-size: 44px;
    --lumini-add-button-size-mobile: 42px;
    --lumini-add-button-bg: #fffdf8;
    --lumini-add-button-fg: #111411;
    --lumini-add-button-shadow: 0 10px 22px rgba(17, 20, 17, .22);
}

html body.body-layout-foodstrip :is(
    .product-rail-image-wrap,
    .dish-week-media,
    .dish-week-image-wrap,
    .store-shelf-products .product-rail-image-wrap,
    .mini-product,
    .mini-product-media,
    #products-section .product-card-image-wrap
) {
    position: relative;
}

html body.body-layout-foodstrip :is(
    #dish-of-week-list .dish-week-add-btn,
    #products-rail-list .product-rail-add,
    #products-rail-list .product-rail-add-btn,
    .store-shelf-products .product-rail-add,
    .store-shelf-products .product-rail-add-btn,
    #products-section .product-add-btn,
    #products-section .product-card-add,
    .mini-product .add,
    button[data-lumini-add-button="clean"]
):not(:disabled),
html body.body-layout-foodstrip :is(
    .product-rail-image-wrap .product-rail-add,
    .product-rail-image-wrap .product-rail-add-btn,
    .dish-week-media .dish-week-add-btn,
    .dish-week-image-wrap .dish-week-add-btn,
    .store-shelf-products .product-rail-add,
    .store-shelf-products .product-rail-add-btn,
    #products-section .product-card-image-wrap .product-add-btn,
    #products-section .product-card-image-wrap .product-card-add,
    .mini-product .add
):not(:disabled) {
    appearance: none !important;
    background: var(--lumini-add-button-bg) !important;
    background-color: var(--lumini-add-button-bg) !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 999px !important;
    bottom: 8px !important;
    box-shadow: var(--lumini-add-button-shadow) !important;
    color: transparent !important;
    cursor: pointer !important;
    display: inline-flex !important;
    font-size: 0 !important;
    font-weight: 400 !important;
    height: var(--lumini-add-button-size) !important;
    justify-content: center !important;
    left: auto !important;
    line-height: 1 !important;
    margin: 0 !important;
    min-height: var(--lumini-add-button-size) !important;
    min-width: var(--lumini-add-button-size) !important;
    opacity: 1 !important;
    outline: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    pointer-events: auto !important;
    position: absolute !important;
    right: 8px !important;
    text-align: center !important;
    text-indent: 0 !important;
    text-shadow: none !important;
    top: auto !important;
    transform: none !important;
    transition: none !important;
    visibility: visible !important;
    width: var(--lumini-add-button-size) !important;
    -webkit-text-fill-color: transparent !important;
    z-index: 40 !important;
}

html body.body-layout-foodstrip :is(
    #dish-of-week-list .dish-week-add-btn,
    #products-rail-list .product-rail-add,
    #products-rail-list .product-rail-add-btn,
    .store-shelf-products .product-rail-add,
    .store-shelf-products .product-rail-add-btn,
    #products-section .product-add-btn,
    #products-section .product-card-add,
    .mini-product .add,
    button[data-lumini-add-button="clean"]
):not(:disabled):hover {
    background: var(--lumini-add-button-bg) !important;
    background-color: var(--lumini-add-button-bg) !important;
    background-image: none !important;
    box-shadow: var(--lumini-add-button-shadow) !important;
    transform: none !important;
}

html body.body-layout-foodstrip :is(
    #dish-of-week-list .dish-week-add-btn,
    #products-rail-list .product-rail-add,
    #products-rail-list .product-rail-add-btn,
    .store-shelf-products .product-rail-add,
    .store-shelf-products .product-rail-add-btn,
    #products-section .product-add-btn,
    #products-section .product-card-add,
    .mini-product .add,
    button[data-lumini-add-button="clean"]
):not(:disabled) > :not(.lumini-add-plus) {
    display: none !important;
}

html body.body-layout-foodstrip :is(
    #dish-of-week-list .dish-week-add-btn,
    #products-rail-list .product-rail-add,
    #products-rail-list .product-rail-add-btn,
    .store-shelf-products .product-rail-add,
    .store-shelf-products .product-rail-add-btn,
    #products-section .product-add-btn,
    #products-section .product-card-add,
    .mini-product .add,
    button[data-lumini-add-button="clean"]
):not(:disabled)::before,
html body.body-layout-foodstrip :is(
    #dish-of-week-list .dish-week-add-btn,
    #products-rail-list .product-rail-add,
    #products-rail-list .product-rail-add-btn,
    .store-shelf-products .product-rail-add,
    .store-shelf-products .product-rail-add-btn,
    #products-section .product-add-btn,
    #products-section .product-card-add,
    .mini-product .add,
    button[data-lumini-add-button="clean"]
):not(:disabled)::after {
    content: none !important;
    display: none !important;
}

html body.body-layout-foodstrip :is(
    #dish-of-week-list .dish-week-add-btn,
    #products-rail-list .product-rail-add,
    #products-rail-list .product-rail-add-btn,
    .store-shelf-products .product-rail-add,
    .store-shelf-products .product-rail-add-btn,
    #products-section .product-add-btn,
    #products-section .product-card-add,
    .mini-product .add,
    button[data-lumini-add-button="clean"]
):not(:disabled) > .lumini-add-plus {
    color: var(--lumini-add-button-fg) !important;
    align-items: center !important;
    display: inline-flex !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 24px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    height: 18px !important;
    left: 50% !important;
    letter-spacing: 0 !important;
    justify-content: center !important;
    line-height: 0 !important;
    margin: 0 !important;
    opacity: 1 !important;
    position: absolute !important;
    text-align: center !important;
    text-indent: 0 !important;
    text-shadow: none !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 18px !important;
    -webkit-text-fill-color: var(--lumini-add-button-fg) !important;
}

html body.body-layout-foodstrip :is(
    .product-rail-add--disabled,
    .product-add-btn--unavailable,
    .mini-add--disabled
) {
    opacity: .58 !important;
    cursor: not-allowed !important;
}

@media (max-width: 760px) {
    html body.body-layout-foodstrip {
        --lumini-add-button-size: var(--lumini-add-button-size-mobile);
    }

    html body.body-layout-foodstrip :is(
        #dish-of-week-list .dish-week-add-btn,
        #products-rail-list .product-rail-add,
        #products-rail-list .product-rail-add-btn,
        .store-shelf-products .product-rail-add,
        .store-shelf-products .product-rail-add-btn,
        #products-section .product-add-btn,
        #products-section .product-card-add,
        .mini-product .add,
        button[data-lumini-add-button="clean"]
    ):not(:disabled) {
        bottom: 8px !important;
        right: 8px !important;
    }

    html body.body-layout-foodstrip :is(
        #dish-of-week-list .dish-week-add-btn,
        #products-rail-list .product-rail-add,
        #products-rail-list .product-rail-add-btn,
        .store-shelf-products .product-rail-add,
        .store-shelf-products .product-rail-add-btn,
        #products-section .product-add-btn,
        #products-section .product-card-add,
        .mini-product .add,
        button[data-lumini-add-button="clean"]
    ):not(:disabled) > .lumini-add-plus {
        font-size: 23px !important;
        transform: translate(-50%, -50%) !important;
    }
}
/* 2026-09-22: admin-managed site logo sizing and positioning. */
html body.body-layout-foodstrip .header-brand-logo {
    height: var(--brand-logo-height, 38px) !important;
    max-height: var(--brand-logo-height, 38px) !important;
    max-width: var(--brand-logo-width, clamp(148px, 14vw, 220px)) !important;
    object-fit: contain !important;
    object-position: var(--brand-logo-x, 50%) var(--brand-logo-y, 50%) !important;
    transform: scale(var(--brand-logo-scale, 1)) !important;
    transform-origin: left center !important;
    width: var(--brand-logo-width, auto) !important;
}

@media (max-width: 760px) {
    html body.body-layout-foodstrip .header-brand-logo {
        max-width: min(var(--brand-logo-width, 142px), 46vw) !important;
    }
}


/* 2026-09-23: add-to-cart buttons stay visually static on hover. */
html body.body-layout-foodstrip :is(
    #dish-of-week-list .dish-week-add-btn,
    #products-rail-list .product-rail-add,
    #products-rail-list .product-rail-add-btn,
    .store-shelf-products .product-rail-add,
    .store-shelf-products .product-rail-add-btn,
    #products-section .product-add-btn,
    #products-section .product-card-add,
    .mini-product .add,
    button[data-lumini-add-button="clean"]
):not(:disabled):hover,
html body.body-layout-foodstrip :is(
    .product-rail-image-wrap .product-rail-add,
    .product-rail-image-wrap .product-rail-add-btn,
    .dish-week-media .dish-week-add-btn,
    .dish-week-image-wrap .dish-week-add-btn,
    .store-shelf-products .product-rail-add,
    .store-shelf-products .product-rail-add-btn,
    #products-section .product-card-image-wrap .product-add-btn,
    #products-section .product-card-image-wrap .product-card-add,
    .mini-product .add
):not(:disabled):hover {
    background: var(--lumini-add-button-bg) !important;
    background-color: var(--lumini-add-button-bg) !important;
    background-image: none !important;
    box-shadow: var(--lumini-add-button-shadow) !important;
    filter: none !important;
    transform: none !important;
}
/* 2026-09-23: responsive mobile contract after desktop storefront work.
   Mobile owns layout from the base up; desktop storefront rules must stay behind this breakpoint. */
@media (max-width: 900px) {
    html body.body-layout-foodstrip {
        --lumini-mobile-page-gutter: clamp(12px, 4vw, 16px);
        --lumini-mobile-nav-space: calc(var(--mobile-nav-h, 78px) + 64px + env(safe-area-inset-bottom));
    }

    html body.body-layout-foodstrip .app-container {
        padding-bottom: var(--lumini-mobile-nav-space) !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section,
    html body.body-layout-foodstrip.body-on-store-page #products-section.store-page {
        box-sizing: border-box !important;
        max-width: 100% !important;
        overflow-x: clip !important;
        padding: 8px var(--lumini-mobile-page-gutter) var(--lumini-mobile-nav-space) !important;
    }

    html body.body-layout-foodstrip.body-on-store-page .store-page-with-cart-shell,
    html body.body-layout-foodstrip.body-on-store-page .store-page-main,
    html body.body-layout-foodstrip.body-on-store-page .store-cart-track {
        max-width: 100% !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    html body.body-layout-foodstrip.body-on-store-page .store-page-topbar {
        display: block !important;
        margin: 0 0 10px !important;
        padding: 0 !important;
        position: relative !important;
    }

    html body.body-layout-foodstrip.body-on-store-page .back-fab,
    html body.body-layout-foodstrip.body-on-store-page #back-to-stores.back-fab {
        left: 8px !important;
        position: absolute !important;
        top: 8px !important;
        transform: none !important;
        z-index: 45 !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #store-info.store-info {
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        margin: 0 !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: visible !important;
        width: 100% !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-interior-billboard,
    html body.body-layout-foodstrip.body-on-store-page #products-section.store-interior-light .store-interior-billboard {
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        display: grid !important;
        gap: 10px !important;
        grid-template-columns: 1fr !important;
        height: auto !important;
        margin: 0 !important;
        min-height: 0 !important;
        overflow: visible !important;
        padding: 0 !important;
        width: 100% !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-place-gallery,
    html body.body-layout-foodstrip.body-on-store-page #products-section .store-interior-billboard-gallery {
        aspect-ratio: 16 / 9 !important;
        border-radius: 18px !important;
        height: auto !important;
        margin: 0 !important;
        min-height: 0 !important;
        order: 1 !important;
        overflow: hidden !important;
        width: 100% !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-interior-billboard-image {
        display: block !important;
        height: 100% !important;
        inset: 0 !important;
        object-fit: cover !important;
        object-position: center !important;
        opacity: 1 !important;
        position: absolute !important;
        transform: none !important;
        width: 100% !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-interior-billboard-content,
    html body.body-layout-foodstrip.body-on-store-page #products-section.store-interior-light .store-interior-billboard-content {
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        color: var(--mobile-text, #151815) !important;
        display: grid !important;
        gap: 8px !important;
        height: auto !important;
        min-height: 0 !important;
        order: 2 !important;
        padding: 0 !important;
        width: 100% !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-interior-billboard-head {
        display: none !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-info-title-row {
        align-items: start !important;
        display: grid !important;
        gap: 8px !important;
        grid-template-columns: minmax(0, 1fr) 36px !important;
        width: 100% !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-info-title-row > .store-info-fav-btn {
        display: grid !important;
        height: 36px !important;
        min-height: 36px !important;
        min-width: 36px !important;
        position: static !important;
        width: 36px !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-info-title {
        font-size: clamp(24px, 7.2vw, 32px) !important;
        hyphens: none !important;
        line-height: 1.04 !important;
        max-width: 100% !important;
        overflow-wrap: normal !important;
        padding: 0 !important;
        text-wrap: pretty;
        word-break: normal !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-info-desc {
        color: rgba(21, 24, 21, .68) !important;
        font-size: 13px !important;
        line-height: 1.3 !important;
        margin: 0 !important;
        max-width: 100% !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-rating-open-btn {
        margin: 2px 0 0 !important;
        min-height: 36px !important;
        padding: 8px 12px !important;
        width: max-content !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-info-meta,
    html body.body-layout-foodstrip.body-on-store-page #products-section .food-store-trust {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-info-pill,
    html body.body-layout-foodstrip.body-on-store-page #products-section .food-trust-item {
        flex: 0 1 auto !important;
        max-width: 100% !important;
        min-height: 32px !important;
        min-width: 0 !important;
        overflow: hidden !important;
        padding: 7px 10px !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section #store-menu-cats.store-menu-cats:not([hidden]),
    html body.body-layout-foodstrip.body-on-store-page #products-section #store-cart-track.store-cart-track > #store-menu-cats.store-menu-cats:not([hidden]) {
        height: auto !important;
        margin: 10px 0 12px !important;
        max-width: 100% !important;
        min-height: 0 !important;
        overflow: hidden !important;
        padding: 6px !important;
        position: sticky !important;
        top: max(8px, env(safe-area-inset-top)) !important;
        z-index: 38 !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section #store-menu-cats .store-menu-cats-scroll {
        min-height: 44px !important;
        padding: 0 !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-section-title {
        font-size: clamp(26px, 8vw, 34px) !important;
        line-height: 1.02 !important;
        margin: 16px 0 14px !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .products-grid {
        align-items: start !important;
        display: grid !important;
        gap: 18px 12px !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        padding: 0 0 calc(var(--mobile-nav-h, 78px) + 48px + env(safe-area-inset-bottom)) !important;
        width: 100% !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .product-card {
        display: block !important;
        max-width: none !important;
        min-width: 0 !important;
        overflow: visible !important;
        width: 100% !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .product-card-body,
    html body.body-layout-foodstrip:not(.body-on-store-page) :is(.product-rail-body, .dish-week-body) {
        min-width: 0 !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .product-card-head,
    html body.body-layout-foodstrip:not(.body-on-store-page) .product-rail-head {
        align-items: start !important;
        display: grid !important;
        gap: 6px !important;
        grid-template-columns: minmax(0, 1fr) 32px !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .product-card-head-actions {
        align-items: start !important;
        display: flex !important;
        justify-content: flex-end !important;
        min-width: 32px !important;
        width: 32px !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .product-card .product-fav-btn,
    html body.body-layout-foodstrip:not(.body-on-store-page) .product-rail-card .product-fav-btn {
        background: transparent !important;
        box-shadow: none !important;
        height: 32px !important;
        inset: auto !important;
        margin: 0 !important;
        min-height: 32px !important;
        min-width: 32px !important;
        padding: 0 !important;
        position: static !important;
        width: 32px !important;
    }

    html body.body-layout-foodstrip :is(.product-rail-name, .product-rail-title, .dish-week-name, .dish-week-title, #products-section .product-card-title) {
        hyphens: none !important;
        overflow-wrap: normal !important;
        padding-right: 0 !important;
        word-break: normal !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .product-card-title {
        display: -webkit-box !important;
        font-size: clamp(13px, 3.7vw, 15px) !important;
        line-height: 1.14 !important;
        max-height: 3.45em !important;
        overflow: hidden !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 3 !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) :is(.product-rail-name, .dish-week-name, .dish-week-title) {
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
        display: -webkit-box !important;
        overflow: hidden !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .price-current {
        font-size: clamp(20px, 5.4vw, 24px) !important;
        line-height: 1 !important;
    }

    html body.body-layout-foodstrip.browse-site-light :is(.product-rail-card, .dish-week-card, #products-section .product-card, .store-shelf-product) :is(.product-rail-add, .product-rail-add-btn, .dish-week-add-btn, #products-section .product-add-btn, #products-section .product-card-add) {
        background: #fffdf8 !important;
        background-color: #fffdf8 !important;
        color: transparent !important;
        -webkit-text-fill-color: transparent !important;
    }

    html body.body-layout-foodstrip.browse-site-light :is(.product-rail-card, .dish-week-card, #products-section .product-card, .store-shelf-product) :is(.product-rail-add, .product-rail-add-btn, .dish-week-add-btn, #products-section .product-add-btn, #products-section .product-card-add)::before,
    html body.body-layout-foodstrip.browse-site-light :is(.product-rail-card, .dish-week-card, #products-section .product-card, .store-shelf-product) :is(.product-rail-add, .product-rail-add-btn, .dish-week-add-btn, #products-section .product-add-btn, #products-section .product-card-add)::after {
        content: none !important;
        display: none !important;
    }

    html body.body-layout-foodstrip.browse-site-light :is(.product-rail-card, .dish-week-card, #products-section .product-card, .store-shelf-product) :is(.product-rail-add, .product-rail-add-btn, .dish-week-add-btn, #products-section .product-add-btn, #products-section .product-card-add) > .lumini-add-plus {
        color: #111411 !important;
        display: block !important;
        opacity: 1 !important;
        -webkit-text-fill-color: currentColor !important;
    }
}
/* 2026-09-23: mobile polish after real device QA. */
@media (max-width: 900px) {
    html body.body-layout-foodstrip :is(.product-rail-image-wrap, .dish-week-media, .dish-week-image-wrap, #products-section .product-card-image-wrap, .store-shelf-product .product-rail-image-wrap) {
        position: relative !important;
    }

    html body.body-layout-foodstrip.browse-site-light :is(.product-rail-card, .dish-week-card, #products-section .product-card, .store-shelf-product) :is(.product-rail-image-wrap, .dish-week-media, .dish-week-image-wrap, #products-section .product-card-image-wrap) :is(.product-rail-add, .product-rail-add-btn, .dish-week-add-btn, #products-section .product-add-btn, #products-section .product-card-add),
    html body.body-layout-foodstrip.browse-site-light :is(.product-rail-image-wrap, .dish-week-media, .dish-week-image-wrap, #products-section .product-card-image-wrap, .store-shelf-product .product-rail-image-wrap) > :is(.product-rail-add, .product-rail-add-btn, .dish-week-add-btn, .product-add-btn, .product-card-add) {
        bottom: 8px !important;
        left: auto !important;
        position: absolute !important;
        right: 8px !important;
        top: auto !important;
        transform: none !important;
        z-index: 42 !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section #store-menu-cats.store-menu-cats:not([hidden]),
    html body.body-layout-foodstrip.body-on-store-page #products-section #store-cart-track.store-cart-track > #store-menu-cats.store-menu-cats:not([hidden]) {
        border-radius: 22px !important;
        height: auto !important;
        margin: 8px 0 10px !important;
        min-height: 54px !important;
        overflow: hidden !important;
        padding: 5px !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section #store-menu-cats .store-menu-cats-scroll {
        align-items: center !important;
        display: flex !important;
        gap: 8px !important;
        min-height: 44px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 0 !important;
        scrollbar-width: none !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section #store-menu-cats .store-menu-cats-scroll::-webkit-scrollbar {
        display: none !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-menu-cat {
        flex: 0 0 auto !important;
        max-width: min(74vw, 240px) !important;
        min-height: 38px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-section-title {
        margin: 12px 0 12px !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .products-grid {
        gap: 18px 12px !important;
        padding-top: 0 !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) .premium-hero.premium-hero--banners,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) .premium-hero.premium-hero--banners {
        height: clamp(148px, 39vw, 176px) !important;
        min-height: clamp(148px, 39vw, 176px) !important;
        margin-bottom: 18px !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) .premium-hero.premium-hero--banners .premium-hero-banner-stage,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) .premium-hero.premium-hero--banners .premium-hero-banner-stage,
    html body.body-layout-foodstrip:not(.body-on-store-page) .premium-hero.premium-hero--banners .premium-hero-banner,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) .premium-hero.premium-hero--banners .premium-hero-banner {
        height: 100% !important;
        min-height: 0 !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #stores-list.stores-masonry.stores-layout-line,
    html body.body-layout-foodstrip:not(.body-on-store-page) #fast-delivery-list.stores-masonry.stores-layout-line {
        gap: 12px !important;
        margin-bottom: 20px !important;
        padding-bottom: 4px !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #stores-list.stores-masonry.stores-layout-line .store-card,
    html body.body-layout-foodstrip:not(.body-on-store-page) #fast-delivery-list.stores-masonry.stores-layout-line .store-card {
        flex-basis: min(276px, 74vw) !important;
        max-width: min(276px, 74vw) !important;
        min-width: min(276px, 74vw) !important;
        width: min(276px, 74vw) !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #stores-list .store-image,
    html body.body-layout-foodstrip:not(.body-on-store-page) #fast-delivery-list .store-image,
    html body.body-layout-foodstrip:not(.body-on-store-page) #stores-list .store-image-wrap,
    html body.body-layout-foodstrip:not(.body-on-store-page) #fast-delivery-list .store-image-wrap {
        height: clamp(128px, 34vw, 152px) !important;
        min-height: 0 !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #stores-list .store-info,
    html body.body-layout-foodstrip:not(.body-on-store-page) #fast-delivery-list .store-info {
        gap: 4px !important;
        padding-top: 8px !important;
    }
}

/* 2026-09-23: mobile route and shelf polish after phone QA.
   Keep these as the final mobile ownership layer: home must never show store UI,
   store categories must be a stable rail, and mobile cards stay compact. */
@media (max-width: 900px) {
    html body.body-layout-foodstrip:not(.body-on-store-page) #products-section,
    html body.body-layout-foodstrip:not(.body-on-store-page) #products-section.store-page {
        display: none !important;
    }

    html body.body-layout-foodstrip.browse-site-light .browse-theme-toggle .browse-theme-track,
    html body.body-layout-foodstrip.browse-site-light .browse-theme-toggle:hover .browse-theme-track,
    html body.body-layout-foodstrip.browse-site-light .browse-theme-toggle:focus-visible .browse-theme-track {
        background: #111411 !important;
        border-color: #111411 !important;
        box-shadow: none !important;
    }

    html body.body-layout-foodstrip.browse-site-light .browse-theme-label {
        color: rgba(255, 253, 248, .82) !important;
        -webkit-text-fill-color: rgba(255, 253, 248, .82) !important;
    }

    html body.body-layout-foodstrip.browse-site-light .browse-theme-label--day {
        color: #111411 !important;
        -webkit-text-fill-color: currentColor !important;
    }

    html body.body-layout-foodstrip.browse-site-light .browse-theme-thumb {
        background: #fffdf8 !important;
        box-shadow: none !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) .premium-hero.premium-hero--banners,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) .premium-hero.premium-hero--banners {
        height: clamp(132px, 35vw, 156px) !important;
        min-height: clamp(132px, 35vw, 156px) !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #stores-list.stores-masonry.stores-layout-line .store-card,
    html body.body-layout-foodstrip:not(.body-on-store-page) #fast-delivery-list.stores-masonry.stores-layout-line .store-card {
        flex-basis: min(214px, 58vw) !important;
        max-width: min(214px, 58vw) !important;
        min-width: min(214px, 58vw) !important;
        width: min(214px, 58vw) !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #stores-list .store-image,
    html body.body-layout-foodstrip:not(.body-on-store-page) #fast-delivery-list .store-image,
    html body.body-layout-foodstrip:not(.body-on-store-page) #stores-list .store-image-wrap,
    html body.body-layout-foodstrip:not(.body-on-store-page) #fast-delivery-list .store-image-wrap {
        height: clamp(106px, 29vw, 124px) !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #stores-list .store-info,
    html body.body-layout-foodstrip:not(.body-on-store-page) #fast-delivery-list .store-info {
        gap: 2px !important;
        padding-top: 5px !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) :is(#stores-list, #fast-delivery-list) .store-title {
        margin: 0 !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) :is(#stores-list, #fast-delivery-list) .store-card-meta {
        margin-top: 2px !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #store-shelves-list .store-shelf {
        gap: 10px !important;
        margin-top: 22px !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #store-shelves-list .store-shelf-brand {
        flex: 0 0 min(182px, 48vw) !important;
        max-width: min(182px, 48vw) !important;
        min-width: min(182px, 48vw) !important;
        width: min(182px, 48vw) !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #store-shelves-list .store-shelf-brand :is(.store-shelf-logo, .store-shelf-logo-wrap, .store-image, .store-image-wrap) {
        height: clamp(104px, 28vw, 122px) !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #store-shelves-list .store-shelf-brand :is(.store-shelf-name, .store-title) {
        margin-top: 5px !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section #store-cart-track > #store-menu-cats.store-menu-cats:not([hidden]),
    html body.body-layout-foodstrip.body-on-store-page #products-section #store-menu-cats.store-menu-cats:not([hidden]) {
        align-items: center !important;
        background: var(--lumini-ui-surface) !important;
        border: 1px solid var(--lumini-ui-border) !important;
        border-radius: 20px !important;
        box-shadow: var(--lumini-ui-shadow) !important;
        display: grid !important;
        gap: 6px !important;
        grid-template-columns: 36px minmax(0, 1fr) 36px !important;
        margin: 8px 0 16px !important;
        max-width: 100% !important;
        min-height: 50px !important;
        overflow: hidden !important;
        padding: 6px !important;
        position: sticky !important;
        top: max(8px, env(safe-area-inset-top)) !important;
        width: 100% !important;
        z-index: 44 !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section #store-menu-cats .store-menu-cats-scroll {
        align-items: center !important;
        display: flex !important;
        gap: 8px !important;
        min-height: 38px !important;
        min-width: 0 !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 0 !important;
        scroll-behavior: smooth !important;
        scrollbar-width: none !important;
        white-space: nowrap !important;
        width: 100% !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section #store-menu-cats .store-menu-cats-scroll::-webkit-scrollbar {
        display: none !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section #store-menu-cats .store-menu-scroll-btn {
        align-items: center !important;
        background: #111411 !important;
        border: 0 !important;
        border-radius: 999px !important;
        color: #fffdf8 !important;
        display: inline-flex !important;
        height: 36px !important;
        justify-content: center !important;
        min-height: 36px !important;
        min-width: 36px !important;
        padding: 0 !important;
        width: 36px !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section #store-menu-cats .store-menu-scroll-btn svg {
        height: 20px !important;
        width: 20px !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section #store-menu-cats .store-menu-cat {
        align-items: center !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 999px !important;
        color: var(--lumini-ui-text) !important;
        display: inline-flex !important;
        flex: 0 0 auto !important;
        font-size: 13px !important;
        font-weight: 900 !important;
        gap: 6px !important;
        height: 36px !important;
        justify-content: center !important;
        max-width: min(68vw, 220px) !important;
        min-width: max-content !important;
        padding: 0 12px !important;
        white-space: nowrap !important;
        -webkit-text-fill-color: currentColor !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section #store-menu-cats .store-menu-cat > span {
        display: block !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section #store-menu-cats .store-menu-cat small {
        align-items: center !important;
        background: var(--lumini-ui-surface-muted) !important;
        border-radius: 999px !important;
        color: var(--lumini-ui-text) !important;
        display: inline-flex !important;
        flex: 0 0 auto !important;
        font-size: 10px !important;
        font-weight: 900 !important;
        height: 20px !important;
        justify-content: center !important;
        min-width: 20px !important;
        padding: 0 6px !important;
        -webkit-text-fill-color: currentColor !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section #store-menu-cats .store-menu-cat.is-active,
    html body.body-layout-foodstrip.body-on-store-page #products-section #store-menu-cats .store-menu-cat.is-scroll-active {
        background: var(--lumini-ui-active) !important;
        color: var(--lumini-ui-active-text) !important;
        -webkit-text-fill-color: var(--lumini-ui-active-text) !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section #store-menu-cats .store-menu-cat.is-active small,
    html body.body-layout-foodstrip.body-on-store-page #products-section #store-menu-cats .store-menu-cat.is-scroll-active small {
        background: rgba(127, 127, 127, .18) !important;
        color: inherit !important;
        -webkit-text-fill-color: currentColor !important;
    }
}

/* 2026-09-23: force mobile theme switch shell to stay black in light mode. */
@media (max-width: 900px) {
    html body.body-layout-foodstrip.browse-site-light header #browse-theme-toggle.browse-theme-toggle,
    html body.body-layout-foodstrip.browse-site-light header #browse-theme-toggle.browse-theme-toggle:hover,
    html body.body-layout-foodstrip.browse-site-light header #browse-theme-toggle.browse-theme-toggle:focus-visible {
        background: #111411 !important;
        background-color: #111411 !important;
        background-image: none !important;
        border-color: #111411 !important;
        box-shadow: none !important;
    }

    html body.body-layout-foodstrip.browse-site-light header #browse-theme-toggle .browse-theme-thumb {
        background: #fffdf8 !important;
        box-shadow: none !important;
    }

    html body.body-layout-foodstrip.browse-site-light header #browse-theme-toggle .browse-theme-label--night,
    html body.body-layout-foodstrip.browse-site-light header #browse-theme-toggle .browse-theme-label--night::before {
        color: rgba(255, 253, 248, .86) !important;
        -webkit-text-fill-color: rgba(255, 253, 248, .86) !important;
    }

    html body.body-layout-foodstrip.browse-site-light header #browse-theme-toggle .browse-theme-label--day,
    html body.body-layout-foodstrip.browse-site-light header #browse-theme-toggle .browse-theme-label--day::before {
        color: #111411 !important;
        -webkit-text-fill-color: currentColor !important;
    }
}

/* 2026-09-23: tighten mobile store card caption gap. */
@media (max-width: 900px) {
    html body.body-layout-foodstrip:not(.body-on-store-page) :is(#stores-list, #fast-delivery-list) .store-card > .store-hover {
        padding-top: 3px !important;
        gap: 2px !important;
    }
}

/* 2026-09-23: fix mobile store shelf brand plaque after over-compression. */
@media (max-width: 900px) {
    html body.body-layout-foodstrip:not(.body-on-store-page) #store-shelves-list .store-shelf-brand,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) #store-shelves-list .store-shelf-brand {
        align-items: center !important;
        box-sizing: border-box !important;
        display: grid !important;
        flex: 0 0 min(292px, 76vw) !important;
        gap: 10px !important;
        grid-template-columns: clamp(104px, 32vw, 122px) minmax(0, 1fr) !important;
        grid-template-rows: auto !important;
        max-width: min(292px, 76vw) !important;
        min-height: 132px !important;
        min-width: min(292px, 76vw) !important;
        overflow: hidden !important;
        padding: 10px !important;
        width: min(292px, 76vw) !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #store-shelves-list .store-shelf-brand :is(.store-shelf-logo, .store-shelf-logo-wrap, .store-image, .store-image-wrap),
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) #store-shelves-list .store-shelf-brand :is(.store-shelf-logo, .store-shelf-logo-wrap, .store-image, .store-image-wrap) {
        aspect-ratio: 1 !important;
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
        height: clamp(104px, 32vw, 122px) !important;
        max-height: clamp(104px, 32vw, 122px) !important;
        max-width: clamp(104px, 32vw, 122px) !important;
        min-height: clamp(104px, 32vw, 122px) !important;
        min-width: clamp(104px, 32vw, 122px) !important;
        width: clamp(104px, 32vw, 122px) !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #store-shelves-list .store-shelf-brand-copy,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) #store-shelves-list .store-shelf-brand-copy {
        align-self: center !important;
        box-sizing: border-box !important;
        display: grid !important;
        gap: 4px !important;
        grid-column: 2 !important;
        min-width: 0 !important;
        overflow: hidden !important;
        padding: 0 !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #store-shelves-list .store-shelf-brand-copy strong,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) #store-shelves-list .store-shelf-brand-copy strong {
        display: -webkit-box !important;
        font-size: clamp(17px, 4.7vw, 20px) !important;
        line-height: 1.04 !important;
        max-width: 100% !important;
        overflow: hidden !important;
        overflow-wrap: normal !important;
        text-overflow: ellipsis !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
        word-break: normal !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #store-shelves-list .store-shelf-brand-copy span,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) #store-shelves-list .store-shelf-brand-copy span {
        display: -webkit-box !important;
        font-size: 12px !important;
        line-height: 1.18 !important;
        max-width: 100% !important;
        overflow: hidden !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 3 !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #store-shelves-list .store-shelf-open,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) #store-shelves-list .store-shelf-open {
        align-self: end !important;
        border-radius: 999px !important;
        grid-column: 2 !important;
        justify-self: start !important;
        max-width: 100% !important;
        min-height: 34px !important;
        overflow: hidden !important;
        padding: 0 16px !important;
        white-space: nowrap !important;
    }
}

/* 2026-09-23: stage 2 mobile home polish contract. */
@media (max-width: 760px) {
    html body.body-layout-foodstrip:not(.body-on-store-page) .premium-hero.premium-hero--banners,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) .premium-hero.premium-hero--banners {
        aspect-ratio: auto !important;
        height: clamp(118px, 31vw, 128px) !important;
        min-height: 0 !important;
        margin-bottom: 14px !important;
        border-radius: 24px !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) .premium-hero.premium-hero--banners .premium-hero-banner-stage,
    html body.body-layout-foodstrip:not(.body-on-store-page) .premium-hero.premium-hero--banners .premium-hero-banner,
    html body.body-layout-foodstrip:not(.body-on-store-page) .premium-hero.premium-hero--banners .premium-hero-banner img,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) .premium-hero.premium-hero--banners .premium-hero-banner-stage,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) .premium-hero.premium-hero--banners .premium-hero-banner,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) .premium-hero.premium-hero--banners .premium-hero-banner img {
        height: 100% !important;
        min-height: 0 !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) .premium-hero.premium-hero--banners .premium-hero-banner-dots,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) .premium-hero.premium-hero--banners .premium-hero-banner-dots {
        bottom: 8px !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #stores-list.stores-masonry.stores-layout-line {
        gap: 14px !important;
        margin: 8px 0 18px !important;
        padding-bottom: 6px !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #stores-list.stores-masonry.stores-layout-line .store-card {
        flex: 0 0 min(198px, 58vw) !important;
        min-width: min(198px, 58vw) !important;
        max-width: min(198px, 58vw) !important;
        width: min(198px, 58vw) !important;
        gap: 2px 8px !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #stores-list.stores-masonry.stores-layout-line .store-image-wrap {
        border-radius: 22px !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #store-shelves-list .store-shelf,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) #store-shelves-list .store-shelf {
        margin: 18px 0 28px !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #store-shelves-list .store-shelf-brand,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) #store-shelves-list .store-shelf-brand {
        grid-template-columns: 96px minmax(0, 1fr) !important;
        gap: 10px !important;
        max-width: min(270px, 74vw) !important;
        min-height: 116px !important;
        padding: 10px !important;
        margin-bottom: 6px !important;
        border-radius: 22px !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #store-shelves-list .store-shelf-logo,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) #store-shelves-list .store-shelf-logo {
        width: 96px !important;
        height: 96px !important;
        border-radius: 18px !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #store-shelves-list .store-shelf-products-wrap {
        padding-top: 6px !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #store-shelves-list .store-shelf-products {
        gap: 12px !important;
        padding-bottom: 10px !important;
    }

    html body.body-layout-foodstrip.browse-site-light header #browse-theme-toggle.browse-theme-toggle,
    html body.body-layout-foodstrip.browse-site-light header #browse-theme-toggle.browse-theme-toggle:hover,
    html body.body-layout-foodstrip.browse-site-light header #browse-theme-toggle.browse-theme-toggle:focus-visible {
        background: #151815 !important;
        color: #fffdf8 !important;
        -webkit-text-fill-color: #fffdf8 !important;
    }

    html body.body-layout-foodstrip.browse-site-light header #browse-theme-toggle :is(.browse-theme-label, .browse-theme-label strong, .browse-theme-label small, .browse-theme-index, .browse-theme-toggle-index) {
        color: #fffdf8 !important;
        -webkit-text-fill-color: #fffdf8 !important;
    }

    html body.body-layout-foodstrip.browse-site-light header #browse-theme-toggle .browse-theme-thumb {
        background: #fffdf8 !important;
    }
}

/* 2026-09-23: stage 2 mobile shelf plaque sizing amendment. */
@media (max-width: 760px) {
    html body.body-layout-foodstrip:not(.body-on-store-page) #store-shelves-list .store-shelf-brand,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) #store-shelves-list .store-shelf-brand {
        flex: 0 0 min(280px, 76vw) !important;
        grid-template-columns: clamp(88px, 25vw, 96px) minmax(0, 1fr) !important;
        max-width: min(280px, 76vw) !important;
        min-height: 112px !important;
        min-width: min(280px, 76vw) !important;
        width: min(280px, 76vw) !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #store-shelves-list .store-shelf-brand :is(.store-shelf-logo, .store-shelf-logo-wrap, .store-image, .store-image-wrap),
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) #store-shelves-list .store-shelf-brand :is(.store-shelf-logo, .store-shelf-logo-wrap, .store-image, .store-image-wrap) {
        height: clamp(88px, 25vw, 96px) !important;
        max-height: clamp(88px, 25vw, 96px) !important;
        max-width: clamp(88px, 25vw, 96px) !important;
        min-height: clamp(88px, 25vw, 96px) !important;
        min-width: clamp(88px, 25vw, 96px) !important;
        width: clamp(88px, 25vw, 96px) !important;
    }
}

/* 2026-09-23: stage 3 mobile store page contract. */
@media (max-width: 760px) {
    html body.body-layout-foodstrip.body-on-store-page #products-section,
    html body.body-layout-foodstrip.body-on-store-page #products-section.store-page {
        padding-top: 6px !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-interior-billboard,
    html body.body-layout-foodstrip.body-on-store-page #products-section.store-interior-light .store-interior-billboard {
        gap: 8px !important;
        margin-bottom: 8px !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-place-gallery,
    html body.body-layout-foodstrip.body-on-store-page #products-section .store-interior-billboard-gallery {
        aspect-ratio: 16 / 7.8 !important;
        border-radius: 22px !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-interior-billboard-content,
    html body.body-layout-foodstrip.body-on-store-page #products-section.store-interior-light .store-interior-billboard-content {
        gap: 7px !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-info-title {
        font-size: clamp(23px, 7vw, 30px) !important;
        line-height: 1.02 !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-info-desc {
        font-size: 12.5px !important;
        line-height: 1.28 !important;
        -webkit-line-clamp: 1 !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-rating-open-btn {
        min-height: 32px !important;
        padding: 6px 10px !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-info-meta {
        min-height: 30px !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-info-pill {
        min-height: 30px !important;
        padding: 6px 9px !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .food-store-trust {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 6px !important;
        margin: 6px 0 0 !important;
        overflow: visible !important;
        padding: 0 !important;
        width: 100% !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .food-trust-item {
        box-sizing: border-box !important;
        min-height: 42px !important;
        padding: 6px 8px !important;
        width: 100% !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .food-trust-item:nth-child(3) {
        grid-column: 1 / -1 !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .food-trust-item strong {
        display: block !important;
        font-size: 12px !important;
        line-height: 1.08 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .food-trust-item span {
        display: block !important;
        font-size: 10.5px !important;
        line-height: 1.12 !important;
        margin-top: 2px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section #store-menu-cats.store-menu-cats:not([hidden]),
    html body.body-layout-foodstrip.body-on-store-page #products-section #store-cart-track.store-cart-track > #store-menu-cats.store-menu-cats:not([hidden]) {
        margin: 6px 0 8px !important;
        top: max(6px, env(safe-area-inset-top)) !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-section-title,
    html body.body-layout-foodstrip.body-on-store-page #products-section #products-title,
    html body.body-layout-foodstrip.body-on-store-page #products-section .products-title {
        margin: 18px 0 12px !important;
        scroll-margin-top: 76px !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-menu-section-title {
        scroll-margin-top: 76px !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .products-grid {
        gap: 16px 12px !important;
    }
}

/* 2026-09-23: stage 3 mobile store content width fix. */
@media (max-width: 760px) {
    html body.body-layout-foodstrip.body-on-store-page #products-section .store-interior-billboard-content,
    html body.body-layout-foodstrip.body-on-store-page #products-section.store-interior-light .store-interior-billboard-content,
    html body.body-layout-foodstrip.body-on-store-page #products-section .store-info-title-row,
    html body.body-layout-foodstrip.body-on-store-page #products-section .store-info-desc,
    html body.body-layout-foodstrip.body-on-store-page #products-section .store-info-meta,
    html body.body-layout-foodstrip.body-on-store-page #products-section .food-store-trust {
        box-sizing: border-box !important;
        max-width: 100% !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-interior-billboard-content,
    html body.body-layout-foodstrip.body-on-store-page #products-section.store-interior-light .store-interior-billboard-content {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-info-title-row {
        grid-template-columns: minmax(0, 1fr) 36px !important;
    }
}

/* 2026-09-23: stage 4 mobile home/nav contract. */
@media (max-width: 760px) {
    html body.body-layout-foodstrip .mobile-app-nav {
        align-items: center !important;
        background: var(--lumini-ui-surface) !important;
        border: 1px solid var(--lumini-ui-border) !important;
        border-radius: 28px !important;
        bottom: max(10px, env(safe-area-inset-bottom)) !important;
        box-shadow: var(--lumini-ui-shadow) !important;
        display: grid !important;
        gap: 2px !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        height: 72px !important;
        left: 12px !important;
        max-width: none !important;
        padding: 8px 8px 9px !important;
        right: 12px !important;
        transform: none !important;
        width: auto !important;
    }
    html body.body-layout-foodstrip .mobile-app-nav-item {
        align-items: center !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 20px !important;
        box-shadow: none !important;
        color: var(--lumini-ui-muted) !important;
        display: grid !important;
        font-size: 11.5px !important;
        font-weight: 700 !important;
        gap: 4px !important;
        grid-template-rows: 24px 1fr !important;
        height: 55px !important;
        justify-items: center !important;
        min-height: 55px !important;
        min-width: 0 !important;
        padding: 3px 2px 4px !important;
        text-align: center !important;
        -webkit-text-fill-color: currentColor !important;
    }
    html body.body-layout-foodstrip .mobile-app-nav-item.is-active {
        background: var(--lumini-ui-surface-muted) !important;
        color: var(--lumini-ui-text) !important;
        -webkit-text-fill-color: var(--lumini-ui-text) !important;
    }

    html body.body-layout-foodstrip .mobile-app-nav-ico,
    html body.body-layout-foodstrip.browse-site-light .mobile-app-nav-ico {
        color: currentColor !important;
        height: 24px !important;
        position: relative !important;
        width: 24px !important;
    }

    html body.body-layout-foodstrip .mobile-app-nav-ico::before,
    html body.body-layout-foodstrip .mobile-app-nav-ico::after,
    html body.body-layout-foodstrip.browse-site-light .mobile-app-nav-ico::before,
    html body.body-layout-foodstrip.browse-site-light .mobile-app-nav-ico::after {
        color: currentColor !important;
        opacity: 1 !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) :is(#stores-list, #fast-delivery-list, #repeat-stores-list).stores-masonry.stores-layout-line {
        align-items: stretch !important;
        gap: 12px !important;
        margin: 6px 0 18px !important;
        overflow-x: auto !important;
        padding: 0 4px 8px !important;
        scroll-padding-inline: 4px !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) :is(#stores-list, #fast-delivery-list, #repeat-stores-list).stores-masonry.stores-layout-line .store-card {
        align-content: start !important;
        box-sizing: border-box !important;
        display: grid !important;
        flex: 0 0 clamp(168px, 48vw, 188px) !important;
        gap: 5px !important;
        grid-template-columns: minmax(0, 1fr) !important;
        max-width: clamp(168px, 48vw, 188px) !important;
        min-width: clamp(168px, 48vw, 188px) !important;
        overflow: hidden !important;
        padding: 0 !important;
        width: clamp(168px, 48vw, 188px) !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) :is(#stores-list, #fast-delivery-list, #repeat-stores-list).stores-masonry.stores-layout-line .store-image-wrap {
        aspect-ratio: 1 / .82 !important;
        border-radius: 18px !important;
        margin: 0 !important;
        overflow: hidden !important;
        width: 100% !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) :is(#stores-list, #fast-delivery-list, #repeat-stores-list).stores-masonry.stores-layout-line .store-hover {
        align-content: start !important;
        display: grid !important;
        gap: 4px !important;
        min-height: 0 !important;
        padding: 0 2px !important;
        transform: none !important;
        width: 100% !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) :is(#stores-list, #fast-delivery-list, #repeat-stores-list).stores-masonry.stores-layout-line .store-title {
        display: -webkit-box !important;
        font-size: 16px !important;
        line-height: 1.04 !important;
        margin: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
        word-break: normal !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) :is(#stores-list, #fast-delivery-list, #repeat-stores-list).stores-masonry.stores-layout-line .store-card-meta {
        gap: 4px !important;
        margin: 0 !important;
        min-width: 0 !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) :is(#stores-list, #fast-delivery-list, #repeat-stores-list).stores-masonry.stores-layout-line .store-meta-pill,
    html body.body-layout-foodstrip:not(.body-on-store-page) :is(#stores-list, #fast-delivery-list, #repeat-stores-list).stores-masonry.stores-layout-line .store-meta-time {
        font-size: 10.5px !important;
        line-height: 1.05 !important;
        min-height: 22px !important;
        padding: 5px 7px !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) :is(#stores-list, #fast-delivery-list, #repeat-stores-list).stores-masonry.stores-layout-line .store-open-btn,
    html body.body-layout-foodstrip:not(.body-on-store-page) :is(#stores-list, #fast-delivery-list, #repeat-stores-list).stores-masonry.stores-layout-line .store-card-open,
    html body.body-layout-foodstrip:not(.body-on-store-page) :is(#stores-list, #fast-delivery-list, #repeat-stores-list).stores-masonry.stores-layout-line .store-open {
        min-height: 30px !important;
        padding: 0 13px !important;
    }
}

/* 2026-09-23: stage 5 mobile store category sticky/spy contract. */
@media (max-width: 760px) {
    html body.body-layout-foodstrip.body-on-store-page #products-section,
    html body.body-layout-foodstrip.body-on-store-page #store-cart-track,
    html body.body-layout-foodstrip.body-on-store-page #products-list {
        overflow: visible !important;
        overflow-x: visible !important;
        overflow-y: visible !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section #store-cart-track > #store-menu-cats.store-menu-cats:not([hidden]),
    html body.body-layout-foodstrip.body-on-store-page #products-section #store-menu-cats.store-menu-cats:not([hidden]) {
        align-self: start !important;
        position: sticky !important;
        top: max(8px, env(safe-area-inset-top)) !important;
        z-index: 80 !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-menu-section-title,
    html body.body-layout-foodstrip.body-on-store-page #products-section #products-title,
    html body.body-layout-foodstrip.body-on-store-page #products-section .products-title {
        scroll-margin-top: 88px !important;
    }
}

/* 2026-09-23: stage 5 mobile sticky overflow hardening. */
@media (max-width: 760px) {
    html body.body-layout-foodstrip.body-on-store-page .app-container #products-section.store-page,
    html body.body-layout-foodstrip.body-on-store-page .app-container #products-section.store-page.store-interior-light,
    html body.body-layout-foodstrip.body-on-store-page .app-container #products-section.store-page #store-cart-track,
    html body.body-layout-foodstrip.body-on-store-page .app-container #products-section.store-page .store-page-main,
    html body.body-layout-foodstrip.body-on-store-page .app-container #products-section.store-page .store-page-with-cart-shell {
        overflow: visible !important;
        overflow-x: visible !important;
        overflow-y: visible !important;
    }

    html body.body-layout-foodstrip.body-on-store-page .app-container #products-section.store-page #store-menu-cats.store-menu-cats:not([hidden]) {
        contain: none !important;
        overflow: hidden !important;
        position: sticky !important;
        top: max(8px, env(safe-area-inset-top)) !important;
        z-index: 120 !important;
    }
}


/* 2026-09-23: stage 5 mobile store category fixed class. */
@media (max-width: 760px) {
    html body.body-layout-foodstrip.body-on-store-page #products-section #store-menu-cats.store-menu-cats.is-fixed-mobile:not([hidden]) {
        left: clamp(25px, 8vw, 32px) !important;
        max-width: none !important;
        position: fixed !important;
        right: clamp(25px, 8vw, 32px) !important;
        top: max(8px, env(safe-area-inset-top)) !important;
        width: auto !important;
        z-index: 180 !important;
    }
}

/* 2026-09-23: mobile home density and shelf width final polish. */
@media (max-width: 760px) {
    html body.body-layout-foodstrip:not(.body-on-store-page) {
        --mobile-page-gutter: clamp(22px, 6vw, 30px);
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) .app-container,
    html body.body-layout-foodstrip:not(.body-on-store-page) main,
    html body.body-layout-foodstrip:not(.body-on-store-page) #stores-section,
    html body.body-layout-foodstrip:not(.body-on-store-page) #products-rail-section,
    html body.body-layout-foodstrip:not(.body-on-store-page) #dish-of-week-section,
    html body.body-layout-foodstrip:not(.body-on-store-page) #store-shelves-section,
    html body.body-layout-foodstrip:not(.body-on-store-page) #repeat-orders {
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: clip !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) .premium-hero.premium-hero--banners,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) .premium-hero.premium-hero--banners {
        height: clamp(104px, 28vw, 118px) !important;
        margin-bottom: 12px !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) :is(.dish-of-week-section, .fast-delivery-section, .products-rail-section, .store-shelves-section, .repeat-orders) {
        margin-top: 22px !important;
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) :is(.line-mode-heading, .dish-of-week-heading, .fast-delivery-heading, .store-shelves-head, .repeat-orders-head) {
        margin-bottom: 8px !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) :is(#products-rail-list, #dish-of-week-list, #fast-delivery-list, #repeat-stores-list, .store-shelf-products) {
        gap: 12px !important;
        padding-bottom: 2px !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) :is(.product-rail-card, .dish-week-card, .store-shelf-product) {
        gap: 5px !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) :is(.product-rail-head, .dish-week-body) {
        margin-top: 2px !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) :is(.product-rail-name, .dish-week-title) {
        line-height: 1.04 !important;
        margin: 0 !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) :is(.product-rail-price, .dish-week-price) {
        margin-top: 1px !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #store-shelves-list {
        gap: 0 !important;
        padding-bottom: calc(96px + env(safe-area-inset-bottom)) !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #store-shelves-list .store-shelf,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) #store-shelves-list .store-shelf {
        display: block !important;
        margin: 20px 0 24px !important;
        padding: 0 !important;
        width: 100% !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #store-shelves-list .store-shelf:last-child,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) #store-shelves-list .store-shelf:last-child {
        margin-bottom: 6px !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #store-shelves-list .store-shelf-brand,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) #store-shelves-list .store-shelf-brand {
        align-items: center !important;
        box-sizing: border-box !important;
        display: grid !important;
        flex: none !important;
        gap: 10px !important;
        grid-template-columns: clamp(92px, 25vw, 106px) minmax(0, 1fr) !important;
        margin: 0 0 12px !important;
        max-width: none !important;
        min-height: 112px !important;
        min-width: 0 !important;
        padding: 10px !important;
        width: calc(100vw - (var(--mobile-page-gutter) * 2)) !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #store-shelves-list .store-shelf-brand :is(.store-shelf-logo, .store-shelf-logo-wrap, .store-image, .store-image-wrap),
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) #store-shelves-list .store-shelf-brand :is(.store-shelf-logo, .store-shelf-logo-wrap, .store-image, .store-image-wrap) {
        aspect-ratio: 1 !important;
        height: clamp(92px, 25vw, 106px) !important;
        max-height: clamp(92px, 25vw, 106px) !important;
        max-width: clamp(92px, 25vw, 106px) !important;
        min-height: clamp(92px, 25vw, 106px) !important;
        min-width: clamp(92px, 25vw, 106px) !important;
        width: clamp(92px, 25vw, 106px) !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #store-shelves-list .store-shelf-brand-copy,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) #store-shelves-list .store-shelf-brand-copy {
        align-self: center !important;
        gap: 3px !important;
        min-width: 0 !important;
        overflow: hidden !important;
        padding: 0 !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #store-shelves-list .store-shelf-brand-copy strong,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) #store-shelves-list .store-shelf-brand-copy strong {
        font-size: clamp(19px, 5vw, 22px) !important;
        line-height: 1.02 !important;
        max-width: 100% !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #store-shelves-list .store-shelf-brand-copy span,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) #store-shelves-list .store-shelf-brand-copy span {
        color: #66645f !important;
        font-size: 12.5px !important;
        line-height: 1.14 !important;
        -webkit-line-clamp: 2 !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #store-shelves-list .store-shelf-open,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) #store-shelves-list .store-shelf-open {
        min-height: 34px !important;
        padding: 0 18px !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #store-shelves-list .store-shelf-products-wrap {
        margin: 0 !important;
        padding-top: 0 !important;
        width: 100% !important;
    }
}

/* 2026-09-23: mobile home bottom tail correction. */
@media (max-width: 760px) {
    html body.body-layout-foodstrip:not(.body-on-store-page) .app-container,
    html body.body-layout-foodstrip:not(.body-on-store-page) #browse-with-cart-shell,
    html body.body-layout-foodstrip:not(.body-on-store-page) #browse-layout,
    html body.body-layout-foodstrip:not(.body-on-store-page) .stores-browse-root,
    html body.body-layout-foodstrip:not(.body-on-store-page) #browse-cart-track {
        padding-bottom: 0 !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #store-shelves-list {
        padding-bottom: calc(84px + env(safe-area-inset-bottom)) !important;
    }
}

/* 2026-09-23: mobile bottom navigation static vector icons. */
@media (max-width: 760px) {
    html body.body-layout-foodstrip .mobile-app-nav-ico,
    html body.body-layout-foodstrip.browse-site-light .mobile-app-nav-ico {
        align-items: center !important;
        display: inline-flex !important;
        height: 25px !important;
        justify-content: center !important;
        line-height: 0 !important;
        width: 25px !important;
    }

    html body.body-layout-foodstrip .mobile-app-nav-ico:has(svg)::before,
    html body.body-layout-foodstrip .mobile-app-nav-ico:has(svg)::after,
    html body.body-layout-foodstrip.browse-site-light .mobile-app-nav-ico:has(svg)::before,
    html body.body-layout-foodstrip.browse-site-light .mobile-app-nav-ico:has(svg)::after {
        content: none !important;
        display: none !important;
    }

    html body.body-layout-foodstrip .mobile-app-nav-ico svg,
    html body.body-layout-foodstrip.browse-site-light .mobile-app-nav-ico svg {
        display: block !important;
        height: 25px !important;
        overflow: visible !important;
        width: 25px !important;
    }

    html body.body-layout-foodstrip .mobile-app-nav-ico svg :is(path, circle, rect, line, polyline),
    html body.body-layout-foodstrip.browse-site-light .mobile-app-nav-ico svg :is(path, circle, rect, line, polyline) {
        fill: none !important;
        stroke: currentColor !important;
        stroke-linecap: round !important;
        stroke-linejoin: round !important;
        stroke-width: 2.35 !important;
        vector-effect: non-scaling-stroke !important;
    }

    html body.body-layout-foodstrip .mobile-app-nav-item.is-active .mobile-app-nav-ico svg :is(path, circle, rect, line, polyline),
    html body.body-layout-foodstrip.browse-site-light .mobile-app-nav-item.is-active .mobile-app-nav-ico svg :is(path, circle, rect, line, polyline) {
        stroke-width: 2.55 !important;
    }
}

/* 2026-09-23: mobile nav SVG icons own all icon drawing. */
@media (max-width: 760px) {
    html body.body-layout-foodstrip .mobile-app-nav-ico::before,
    html body.body-layout-foodstrip .mobile-app-nav-ico::after,
    html body.body-layout-foodstrip.browse-site-light .mobile-app-nav-ico::before,
    html body.body-layout-foodstrip.browse-site-light .mobile-app-nav-ico::after {
        content: none !important;
        display: none !important;
    }
}

/* 2026-09-23: first mobile store rail image-to-info gap hard fix. */
@media (max-width: 760px) {
    html body.body-layout-foodstrip:not(.body-on-store-page) #stores-list.stores-masonry.stores-layout-line .store-card,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) #stores-list.stores-masonry.stores-layout-line .store-card {
        align-content: start !important;
        display: grid !important;
        gap: 4px !important;
        grid-auto-rows: auto !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;
        justify-items: stretch !important;
        row-gap: 4px !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #stores-list.stores-masonry.stores-layout-line .store-image-wrap,
    html body.body-layout-foodstrip:not(.body-on-store-page) #stores-list.stores-masonry.stores-layout-line .store-image-inner,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) #stores-list.stores-masonry.stores-layout-line .store-image-wrap,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) #stores-list.stores-masonry.stores-layout-line .store-image-inner {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #stores-list.stores-masonry.stores-layout-line .store-hover,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) #stores-list.stores-masonry.stores-layout-line .store-hover {
        align-content: start !important;
        align-self: start !important;
        display: grid !important;
        gap: 3px !important;
        margin: 0 !important;
        min-height: 0 !important;
        padding: 0 2px !important;
        position: relative !important;
        top: auto !important;
        transform: none !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #stores-list.stores-masonry.stores-layout-line :is(.store-title, .store-card-meta, .store-meta-time, .store-discount-badge),
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) #stores-list.stores-masonry.stores-layout-line :is(.store-title, .store-card-meta, .store-meta-time, .store-discount-badge) {
        margin-top: 0 !important;
        transform: none !important;
    }
}

/* 2026-09-23: first mobile store rail image inner must fill media frame. */
@media (max-width: 760px) {
    html body.body-layout-foodstrip:not(.body-on-store-page) #stores-list.stores-masonry.stores-layout-line .store-card .store-image-wrap > .store-image-inner,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) #stores-list.stores-masonry.stores-layout-line .store-card .store-image-wrap > .store-image-inner {
        aspect-ratio: auto !important;
        border-radius: inherit !important;
        display: block !important;
        height: 100% !important;
        max-height: none !important;
        min-height: 100% !important;
        width: 100% !important;
    }

    html body.body-layout-foodstrip:not(.body-on-store-page) #stores-list.stores-masonry.stores-layout-line .store-card .store-image-wrap > .store-image-inner > .store-image,
    html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) #stores-list.stores-masonry.stores-layout-line .store-card .store-image-wrap > .store-image-inner > .store-image {
        border-radius: inherit !important;
        display: block !important;
        height: 100% !important;
        max-height: none !important;
        min-height: 100% !important;
        object-fit: cover !important;
        width: 100% !important;
    }
}

/* 2026-09-24: compact store page header component. */
html body.body-layout-foodstrip.body-on-store-page .store-page-topbar {
    align-items: start !important;
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    margin: 0 0 18px !important;
    overflow: visible !important;
    padding: 0 !important;
    position: relative !important;
}

html body.body-layout-foodstrip.body-on-store-page .store-page-topbar > .back-btn {
    align-items: center !important;
    display: inline-flex !important;
    height: 44px !important;
    justify-content: center !important;
    left: auto !important;
    margin-top: 16px !important;
    min-height: 44px !important;
    min-width: 44px !important;
    position: static !important;
    top: auto !important;
    transform: none !important;
    width: 44px !important;
}

html body.body-layout-foodstrip.body-on-store-page #store-info.store-info {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    max-width: none !important;
    min-width: 0 !important;
    overflow: visible !important;
    padding: 0 !important;
    width: 100% !important;
}

html body.body-layout-foodstrip.body-on-store-page .store-compact-header {
    align-items: center;
    background: #171a17;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 26px;
    box-shadow: 0 18px 44px rgba(26, 24, 19, .12);
    box-sizing: border-box;
    color: #fffdf8;
    display: flex;
    min-height: 146px;
    overflow: visible;
    padding: 24px 72px 24px 26px;
    position: relative;
    width: 100%;
}

html body.body-layout-foodstrip.body-on-store-page .store-compact-main {
    align-items: center;
    display: flex;
    gap: 18px;
    min-width: 0;
    width: 100%;
}

html body.body-layout-foodstrip.body-on-store-page .store-compact-logo {
    background: #fffdf8;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 17px;
    display: block;
    flex: 0 0 68px;
    height: 68px;
    object-fit: cover;
    width: 68px;
}

html body.body-layout-foodstrip.body-on-store-page .store-compact-content {
    display: grid;
    gap: 8px;
    min-width: 0;
    width: 100%;
}

html body.body-layout-foodstrip.body-on-store-page #products-section .store-compact-title-row {
    align-items: center !important;
    display: flex !important;
    gap: 10px !important;
    grid-template-columns: none !important;
    justify-content: flex-start;
    width: 100% !important;
}

html body.body-layout-foodstrip.body-on-store-page #products-section .store-compact-title-row .store-info-title {
    color: #fffdf8 !important;
    font-size: clamp(28px, 3vw, 42px) !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    line-height: 1 !important;
    margin: 0 !important;
    max-width: none !important;
    min-width: 0 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    -webkit-text-fill-color: #fffdf8 !important;
}

html body.body-layout-foodstrip.body-on-store-page #products-section .store-compact-title-row > .store-info-fav-btn {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    color: rgba(255, 255, 255, .7) !important;
    display: inline-flex !important;
    flex: 0 0 34px;
    height: 34px !important;
    justify-content: center !important;
    min-height: 34px !important;
    min-width: 34px !important;
    padding: 0 !important;
    position: static !important;
    width: 34px !important;
}

html body.body-layout-foodstrip.body-on-store-page #products-section .store-compact-title-row > .store-info-fav-btn.is-favorite {
    color: #ff675a !important;
}

html body.body-layout-foodstrip.body-on-store-page #products-section .store-compact-subtitle {
    color: rgba(255, 255, 255, .62) !important;
    display: -webkit-box;
    font-size: 14px !important;
    line-height: 1.35 !important;
    margin: 0 !important;
    max-width: 780px !important;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    -webkit-text-fill-color: rgba(255, 255, 255, .62) !important;
}

html body.body-layout-foodstrip.body-on-store-page .store-compact-meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    min-width: 0;
}

html body.body-layout-foodstrip.body-on-store-page #products-section .store-compact-chip {
    align-items: center !important;
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, .17) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    box-sizing: border-box;
    color: #fffdf8 !important;
    display: inline-flex !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    gap: 7px;
    line-height: 1 !important;
    margin: 0 !important;
    min-height: 36px !important;
    padding: 8px 12px !important;
    width: auto !important;
    -webkit-text-fill-color: #fffdf8 !important;
}

html body.body-layout-foodstrip.body-on-store-page #products-section .store-compact-chip svg,
html body.body-layout-foodstrip.body-on-store-page .store-compact-more svg {
    fill: none;
    flex: 0 0 auto;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.9;
}

html body.body-layout-foodstrip.body-on-store-page #products-section .store-compact-chip:first-child svg {
    fill: currentColor;
    stroke: currentColor;
}

html body.body-layout-foodstrip.body-on-store-page #products-section .store-compact-status.is-open {
    background: rgba(46, 185, 104, .14) !important;
    border-color: rgba(78, 221, 139, .32) !important;
    color: #8ff1b5 !important;
    -webkit-text-fill-color: #8ff1b5 !important;
}

html body.body-layout-foodstrip.body-on-store-page #products-section .store-compact-status.is-closed {
    background: rgba(226, 74, 68, .14) !important;
    border-color: rgba(255, 111, 103, .32) !important;
    color: #ffaaa4 !important;
    -webkit-text-fill-color: #ffaaa4 !important;
}

html body.body-layout-foodstrip.body-on-store-page .store-compact-more {
    position: absolute;
    right: 22px;
    top: 22px;
    z-index: 80;
}

html body.body-layout-foodstrip.body-on-store-page .store-compact-more > summary {
    align-items: center;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 999px;
    color: #fffdf8;
    cursor: pointer;
    display: inline-flex;
    height: 38px;
    justify-content: center;
    list-style: none;
    width: 38px;
}

html body.body-layout-foodstrip.body-on-store-page .store-compact-more > summary::-webkit-details-marker {
    display: none;
}

html body.body-layout-foodstrip.body-on-store-page .store-compact-more[open] > summary {
    background: var(--lumini-ui-active);
    color: var(--lumini-ui-active-text);
}

html body.body-layout-foodstrip.body-on-store-page .store-compact-popover {
    background: var(--lumini-ui-surface-soft);
    border: 1px solid var(--lumini-ui-border);
    border-radius: 18px;
    box-shadow: 0 24px 60px rgba(17, 20, 17, .22);
    box-sizing: border-box;
    color: var(--lumini-ui-text);
    display: grid;
    gap: 10px;
    margin-top: 10px;
    padding: 16px;
    position: absolute;
    right: 0;
    width: min(330px, calc(100vw - 40px));
    z-index: 90;
}

html body.body-layout-foodstrip.body-on-store-page .store-compact-popover-title {
    font-size: 16px;
    font-weight: 900;
}

html body.body-layout-foodstrip.body-on-store-page .store-compact-popover p {
    color: var(--lumini-ui-muted);
    font-size: 13px;
    line-height: 1.4;
    margin: 0;
}

html body.body-layout-foodstrip.body-on-store-page .store-compact-popover dl {
    display: grid;
    gap: 8px;
    margin: 0;
}

html body.body-layout-foodstrip.body-on-store-page .store-compact-popover dl > div {
    align-items: start;
    display: grid;
    gap: 12px;
    grid-template-columns: 82px minmax(0, 1fr);
}

html body.body-layout-foodstrip.body-on-store-page .store-compact-popover dt {
    color: var(--lumini-ui-muted);
    font-size: 12px;
    font-weight: 700;
}

html body.body-layout-foodstrip.body-on-store-page .store-compact-popover dd {
    font-size: 13px;
    font-weight: 800;
    margin: 0;
    overflow-wrap: anywhere;
}

@media (max-width: 760px) {
    html body.body-layout-foodstrip.body-on-store-page .store-page-topbar {
        gap: 9px !important;
        grid-template-columns: 42px minmax(0, 1fr) !important;
        margin-bottom: 14px !important;
    }

    html body.body-layout-foodstrip.body-on-store-page .store-page-topbar > .back-btn {
        height: 42px !important;
        margin-top: 8px !important;
        min-height: 42px !important;
        min-width: 42px !important;
        width: 42px !important;
    }

    html body.body-layout-foodstrip.body-on-store-page .store-compact-header {
        border-radius: 22px;
        min-height: 0;
        padding: 18px 48px 18px 17px;
    }

    html body.body-layout-foodstrip.body-on-store-page .store-compact-logo {
        display: none;
    }

    html body.body-layout-foodstrip.body-on-store-page .store-compact-main {
        gap: 0;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-compact-title-row {
        gap: 5px !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-compact-title-row .store-info-title {
        font-size: clamp(21px, 6.8vw, 28px) !important;
        line-height: 1.04 !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-compact-title-row > .store-info-fav-btn {
        flex-basis: 32px;
        height: 32px !important;
        min-height: 32px !important;
        min-width: 32px !important;
        width: 32px !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-compact-subtitle {
        font-size: 12.5px !important;
        -webkit-line-clamp: 2;
    }

    html body.body-layout-foodstrip.body-on-store-page .store-compact-meta {
        gap: 6px;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-compact-chip {
        font-size: 11.5px !important;
        min-height: 32px !important;
        padding: 7px 9px !important;
    }

    html body.body-layout-foodstrip.body-on-store-page #products-section .store-compact-chip:first-child span {
        max-width: 88px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    html body.body-layout-foodstrip.body-on-store-page .store-compact-more {
        right: 12px;
        top: 12px;
    }

    html body.body-layout-foodstrip.body-on-store-page .store-compact-more > summary {
        height: 34px;
        width: 34px;
    }

    html body.body-layout-foodstrip.body-on-store-page .store-compact-popover {
        right: -1px;
        width: min(300px, calc(100vw - 28px));
    }
}
/* 2026-09-24: compact store header grid ownership fix. */
html body.body-layout-foodstrip.body-on-store-page .store-page-topbar {
    box-sizing: border-box !important;
    max-width: 100% !important;
    width: 100% !important;
}

html body.body-layout-foodstrip.body-on-store-page .store-page-topbar > #back-to-stores.back-fab {
    display: inline-flex !important;
    grid-column: 1 !important;
    left: auto !important;
    position: static !important;
    top: auto !important;
    transform: none !important;
    visibility: visible !important;
}

html body.body-layout-foodstrip.body-on-store-page .store-page-topbar > #store-info.store-info {
    grid-column: 2 !important;
    width: 100% !important;
}
/* Wide screens have enough outer gutter for the back action. */
@media (min-width: 1240px) {
    html body.body-layout-foodstrip.body-on-store-page .store-page-topbar {
        --store-back-gap: 18px;
        --store-back-size: 44px;
        display: block !important;
    }

    html body.body-layout-foodstrip.body-on-store-page .store-page-topbar > #back-to-stores.back-fab {
        grid-column: auto !important;
        left: calc(-1 * (var(--store-back-size) + var(--store-back-gap))) !important;
        margin: 0 !important;
        position: absolute !important;
        top: 16px !important;
    }

    html body.body-layout-foodstrip.body-on-store-page .store-page-topbar > #store-info.store-info {
        grid-column: auto !important;
    }
}
/* 2026-09-25: unified storefront controls, static hero and rail geometry. */
html body.body-layout-foodstrip header { overflow: visible !important; }
html body.body-layout-foodstrip header :is(.delivery-address-btn,.browse-theme-toggle,.store-admin-entry,.header-login-open-btn,.header-auth-user,.header-auth-cache-clear,.header-auth-logout,.orders-icon-btn,.cart-icon-btn) { border-radius: 999px !important; }
html body.body-layout-foodstrip header :is(.orders-icon-btn,.cart-icon-btn) { aspect-ratio: 1 / 1; min-height: 42px !important; min-width: 42px !important; }
html body.body-layout-foodstrip .header-home-btn { align-items: center !important; display: inline-flex !important; justify-content: center !important; overflow: visible !important; }
html body.body-layout-foodstrip .header-brand-logo, html body.body-layout-foodstrip.browse-site-light .header-brand-logo { transform: scale(.94) !important; transform-origin: center center !important; transition: filter 180ms ease, transform 180ms ease !important; will-change: transform; }
@media (hover: hover) and (pointer: fine) {
 html body.body-layout-foodstrip .header-home-btn:hover .header-brand-logo,
 html body.body-layout-foodstrip .header-home-btn:focus-visible .header-brand-logo { transform: scale(1.04) !important; }
}
html body.body-layout-foodstrip .delivery-address-btn { isolation: isolate; overflow: visible !important; position: relative !important; }
html body.body-layout-foodstrip .delivery-address-btn-row1 { position: relative; z-index: 2; }
html body.body-layout-foodstrip .delivery-address-summary:not([hidden]) { background:#44c77b !important; border:0 !important; border-radius:0 0 13px 13px !important; box-sizing:border-box; color:#102016 !important; display:block !important; font-size:11px !important; font-weight:850 !important; left:13px; line-height:1.15; max-width:calc(100% - 26px) !important; overflow:hidden; padding:8px 10px 5px; position:absolute; right:13px; text-align:center; text-overflow:ellipsis; top:calc(100% - 5px); white-space:nowrap; z-index:-1; }
html body.body-layout-foodstrip header:has(.delivery-address-summary:not([hidden])) { margin-bottom:30px !important; }
html body.body-layout-foodstrip .premium-hero.premium-hero--static { aspect-ratio:2048 / 685 !important; background:transparent !important; border:0 !important; box-sizing:border-box; display:block !important; height:auto !important; min-height:0 !important; overflow:hidden !important; padding:0 !important; position:relative; }
html body.body-layout-foodstrip .premium-hero.premium-hero--static::before, html body.body-layout-foodstrip .premium-hero.premium-hero--static::after { content:none !important; display:none !important; }
html body.body-layout-foodstrip .premium-hero-static-image { display:block; height:100% !important; object-fit:cover; object-position:center; width:100% !important; }
html body.body-layout-foodstrip :is(.product-rail-add,#products-section .product-add-btn),
html body.body-layout-foodstrip :is(.product-rail-add.product-rail-add--disabled,#products-section .product-add-btn.product-add-btn--unavailable) { align-items:center !important; aspect-ratio:1 / 1 !important; border-radius:999px !important; display:inline-flex !important; height:46px !important; justify-content:center !important; min-height:46px !important; min-width:46px !important; padding:0 !important; width:46px !important; }
html body.body-layout-foodstrip :is(.product-rail-add.product-rail-add--disabled,#products-section .product-add-btn.product-add-btn--unavailable) { background:rgba(255,253,248,.86) !important; color:#171a17 !important; opacity:.66 !important; }
html body.body-layout-foodstrip :is(.product-rail-add,#products-section .product-add-btn) > .lumini-add-plus { color:currentColor !important; display:block !important; font-size:29px !important; font-weight:500 !important; line-height:1 !important; transform:translateY(-1px); }
html body.body-layout-foodstrip.body-on-store-page .store-compact-popover, html body.body-layout-foodstrip.body-on-store-page .store-compact-popover :is(.store-compact-popover-title,p,dt,dd) { -webkit-text-fill-color:currentColor !important; }
html body.body-layout-foodstrip.body-on-store-page .store-compact-popover { background:var(--lumini-ui-surface-soft) !important; color:var(--lumini-ui-text) !important; }
html body.body-layout-foodstrip.body-on-store-page .store-compact-popover :is(.store-compact-popover-title,dd) { color:var(--lumini-ui-text) !important; }
html body.body-layout-foodstrip.body-on-store-page .store-compact-popover :is(p,dt) { color:var(--lumini-ui-muted) !important; }
@media (hover: hover) and (pointer: fine) and (min-width: 900px) {
 html body.body-layout-foodstrip:not(.body-on-store-page) :is(#stores-rail-shell-main,.dish-of-week-rail) { margin-inline:0 !important; overflow:visible !important; padding-inline:0 !important; position:relative !important; width:100% !important; }
 html body.body-layout-foodstrip:not(.body-on-store-page) :is(#stores-rail-shell-main,.dish-of-week-rail) > .rail-nav-left { left:calc(-1 * clamp(34px, 3.2vw, 54px)) !important; right:auto !important; }
 html body.body-layout-foodstrip:not(.body-on-store-page) :is(#stores-rail-shell-main,.dish-of-week-rail) > .rail-nav-right { left:auto !important; right:calc(-1 * clamp(34px, 3.2vw, 54px)) !important; }
}
@media (max-width: 760px) {
 html body.body-layout-foodstrip header:has(.delivery-address-summary:not([hidden])) { margin-bottom:24px !important; }
 html body.body-layout-foodstrip .delivery-address-summary:not([hidden]) { font-size:10px !important; left:9px; max-width:calc(100% - 18px) !important; right:9px; }
 html body.body-layout-foodstrip .premium-hero.premium-hero--static { border-radius:18px !important; }
 html body.body-layout-foodstrip :is(.product-rail-add,#products-section .product-add-btn),
 html body.body-layout-foodstrip :is(.product-rail-add.product-rail-add--disabled,#products-section .product-add-btn.product-add-btn--unavailable) { height:48px !important; min-height:48px !important; min-width:48px !important; width:48px !important; }
}

/* 2026-09-25: resolve remaining mobile specificity from legacy header and hero rules. */
html body.body-layout-foodstrip header #delivery-address-btn.delivery-address-btn,
html body.body-layout-foodstrip header #cart-icon.cart-icon-btn,
html body.body-layout-foodstrip header #orders-icon.orders-icon-btn {
    border-radius: 999px !important;
}

html body.body-layout-foodstrip .premium-hero.premium-hero--static > img.premium-hero-static-image {
    border-radius: inherit !important;
    height: 100% !important;
    inset: auto !important;
    margin: 0 !important;
    max-height: none !important;
    max-width: none !important;
    min-height: 0 !important;
    object-fit: cover !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
    width: 100% !important;
}

html body.body-layout-foodstrip.browse-site-light:not(.body-on-store-page) .premium-hero.premium-hero--static { padding: 0 !important; }

@media (hover: hover) and (pointer: fine) and (min-width: 900px) {
 html body.body-layout-foodstrip:not(.body-on-store-page) .dish-of-week-section { max-width: 100% !important; width: 100% !important; }
}

/* 2026-09-25: banner carousel restoration and final control ownership. */
html body.body-layout-foodstrip .premium-hero.premium-hero--static.premium-hero--banners { padding: 0 !important; }
html body.body-layout-foodstrip .premium-hero.premium-hero--static.premium-hero--banners .premium-hero-default-slide > .premium-hero-static-image { border-radius:inherit !important; display:block !important; height:100% !important; inset:0 !important; margin:0 !important; max-height:none !important; max-width:none !important; object-fit:cover !important; position:absolute !important; width:100% !important; }
html body.body-layout-foodstrip.browse-site-light :is(.product-rail-add,.product-rail-add.product-rail-add--disabled,#products-section .product-add-btn,#products-section .product-add-btn.product-add-btn--unavailable) { background:#fffdf8 !important; background-color:#fffdf8 !important; border:0 !important; border-radius:999px !important; box-shadow:0 8px 22px rgba(23,26,23,.14) !important; color:#111411 !important; -webkit-text-fill-color:#111411 !important; }
html body.body-layout-foodstrip.browse-site-light :is(.product-rail-add.product-rail-add--disabled,#products-section .product-add-btn.product-add-btn--unavailable) { opacity:.62 !important; }
html body.body-layout-foodstrip.browse-site-light :is(.product-rail-add,#products-section .product-add-btn) > .lumini-add-plus { color:#111411 !important; -webkit-text-fill-color:#111411 !important; }
html body.body-layout-foodstrip .delivery-address-summary:not([hidden]) { border-radius:11px !important; top:calc(100% + 5px) !important; z-index:4 !important; }
@media (hover: hover) and (pointer: fine) and (min-width: 1024px) {
 html body.body-layout-foodstrip:not(.body-on-store-page) #store-shelves-list .store-shelf { position:relative !important; }
 html body.body-layout-foodstrip:not(.body-on-store-page) #store-shelves-list .store-shelf > .store-shelf-nav--left { left:calc(-1 * var(--rail-arrow-outset)) !important; margin-top:0 !important; position:absolute !important; right:auto !important; top:42% !important; transform:translateY(-50%) !important; z-index:120 !important; }
}

/* 2026-09-25: address reveal, review alignment and disabled-control interaction. */
@media (hover: hover) and (pointer: fine) {
    html body.body-layout-foodstrip .delivery-address-summary:not([hidden]) {
        opacity: 0 !important;
        pointer-events: none !important;
        transform: translateY(-8px) scale(.98) !important;
        transform-origin: top center !important;
        transition: opacity 170ms ease, transform 220ms cubic-bezier(.2,.8,.2,1), visibility 0s linear 220ms !important;
        visibility: hidden !important;
    }

    html body.body-layout-foodstrip .delivery-address-btn:hover .delivery-address-summary:not([hidden]),
    html body.body-layout-foodstrip .delivery-address-btn:focus-visible .delivery-address-summary:not([hidden]),
    html body.body-layout-foodstrip .delivery-address-btn:focus-within .delivery-address-summary:not([hidden]) {
        opacity: 1 !important;
        transform: translateY(0) scale(1) !important;
        transition-delay: 0s !important;
        visibility: visible !important;
    }
}

html body.body-layout-foodstrip .store-rating-card .nu-feed-item.is-mine {
    flex-direction: row !important;
}

html body.body-layout-foodstrip .store-rating-card .nu-feed-item.is-mine .nu-feed-bubble {
    border-radius: 16px 16px 16px 5px !important;
}

html body.body-layout-foodstrip.browse-site-light :is(
    .product-rail-add.product-rail-add--disabled:disabled:hover,
    .product-rail-add.product-rail-add--disabled:disabled:focus-visible,
    #products-section .product-add-btn.product-add-btn--unavailable:disabled:hover,
    #products-section .product-add-btn.product-add-btn--unavailable:disabled:focus-visible
) {
    background: #fffdf8 !important;
    background-color: #fffdf8 !important;
    border-radius: 999px !important;
    box-shadow: 0 8px 22px rgba(23, 26, 23, .14) !important;
    color: #111411 !important;
    filter: none !important;
    height: 46px !important;
    min-height: 46px !important;
    min-width: 46px !important;
    padding: 0 !important;
    transform: none !important;
    width: 46px !important;
    -webkit-text-fill-color: #111411 !important;
}

html body.body-layout-foodstrip.browse-site-light :is(
    .product-rail-add.product-rail-add--disabled:disabled:hover,
    #products-section .product-add-btn.product-add-btn--unavailable:disabled:hover
)::before,
html body.body-layout-foodstrip.browse-site-light :is(
    .product-rail-add.product-rail-add--disabled:disabled:hover,
    #products-section .product-add-btn.product-add-btn--unavailable:disabled:hover
)::after {
    content: none !important;
    display: none !important;
}

@media (max-width: 760px) {
    html body.body-layout-foodstrip.body-on-store-page #products-section #store-menu-cats.store-menu-cats::before,
    html body.body-layout-foodstrip.body-on-store-page #products-section #store-menu-cats.store-menu-cats::after {
        background: none !important;
        content: none !important;
        display: none !important;
        width: 0 !important;
    }

    html body.body-layout-foodstrip.browse-site-light :is(
        .product-rail-add.product-rail-add--disabled:disabled:hover,
        .product-rail-add.product-rail-add--disabled:disabled:focus-visible,
        #products-section .product-add-btn.product-add-btn--unavailable:disabled:hover,
        #products-section .product-add-btn.product-add-btn--unavailable:disabled:focus-visible
    ) {
        height: 48px !important;
        min-height: 48px !important;
        min-width: 48px !important;
        width: 48px !important;
    }
}

@media (hover: hover) and (pointer: fine) {
    html body.body-layout-foodstrip header #delivery-address-btn.delivery-address-btn > #delivery-address-summary.delivery-address-summary:not([hidden]) {
        opacity: 0 !important;
        transform: translateY(-8px) scale(.98) !important;
        visibility: hidden !important;
    }

    html body.body-layout-foodstrip header #delivery-address-btn.delivery-address-btn:hover > #delivery-address-summary.delivery-address-summary:not([hidden]),
    html body.body-layout-foodstrip header #delivery-address-btn.delivery-address-btn:focus-visible > #delivery-address-summary.delivery-address-summary:not([hidden]),
    html body.body-layout-foodstrip header #delivery-address-btn.delivery-address-btn:focus-within > #delivery-address-summary.delivery-address-summary:not([hidden]) {
        opacity: 1 !important;
        transform: translateY(0) scale(1) !important;
        visibility: visible !important;
    }
}

/* Release hardening: customer cancellation uses the shared order action geometry. */
.body-layout-foodstrip .order-btn.order-btn--cancel {
    color: #a33131;
    background: #fff6f6;
    border-color: #e8bcbc;
}

.body-layout-foodstrip .order-btn.order-btn--cancel:hover,
.body-layout-foodstrip .order-btn.order-btn--cancel:focus-visible {
    color: #7f2020;
    background: #ffeaea;
    border-color: #d99393;
}

.body-layout-foodstrip .order-btn:disabled {
    cursor: wait;
    opacity: 0.65;
    transform: none;
}

/* 2026-09-27: header depth, rounded add glyph, cart badge and compact review composer. */
html body.body-layout-foodstrip.browse-site-light #site-header {
    box-shadow: 0 8px 24px rgba(28, 36, 28, .085) !important;
    transition: background-color 180ms ease, box-shadow 180ms ease, transform 180ms ease !important;
}

html body.body-layout-foodstrip.browse-site-light.mobile-page-scrolled #site-header {
    box-shadow: 0 10px 28px rgba(28, 36, 28, .11) !important;
}

html body.body-layout-foodstrip .line-mode-search {
    position: relative;
    z-index: 31;
    transition: margin-top 180ms ease !important;
}

html body.body-layout-foodstrip.mobile-page-scrolled .line-mode-search {
    margin-top: calc(var(--line-mode-gap, 14px) + 6px) !important;
}

html body.body-layout-foodstrip header #cart-icon.cart-icon-btn {
    overflow: visible !important;
    position: relative !important;
}

html body.body-layout-foodstrip header #cart-icon .cart-badges-stack {
    display: block !important;
    height: auto !important;
    line-height: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    right: -6px !important;
    top: -6px !important;
    width: auto !important;
    z-index: 4 !important;
}

html body.body-layout-foodstrip header #cart-icon .cart-count-badge {
    border: 2px solid #191c18 !important;
    box-shadow: 0 5px 12px rgba(25, 91, 51, .24) !important;
    height: 19px !important;
    min-width: 19px !important;
    padding: 0 5px !important;
    vertical-align: top !important;
}

html body.body-layout-foodstrip header #cart-icon .cart-sum-badge {
    display: none !important;
}

html body.body-layout-foodstrip button[data-lumini-add-button="clean"] > .lumini-add-plus {
    align-items: center !important;
    color: #111411 !important;
    display: inline-flex !important;
    height: 18px !important;
    justify-content: center !important;
    left: auto !important;
    line-height: 0 !important;
    margin: 0 !important;
    position: static !important;
    top: auto !important;
    transform: none !important;
    width: 18px !important;
    -webkit-text-fill-color: #111411 !important;
}

html body.body-layout-foodstrip button[data-lumini-add-button="clean"] > .lumini-add-plus::before,
html body.body-layout-foodstrip button[data-lumini-add-button="clean"] > .lumini-add-plus::after {
    content: none !important;
    display: none !important;
}

html body.body-layout-foodstrip button[data-lumini-add-button="clean"] .lumini-add-plus-icon {
    color: #111411 !important;
    display: block !important;
    fill: none !important;
    height: 18px !important;
    overflow: visible !important;
    pointer-events: none !important;
    stroke: currentColor !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    stroke-width: 2.4 !important;
    width: 18px !important;
}
/* 2026-09-29: canonical icon alignment and compact praise glyphs. */
body.body-layout-foodstrip .browse-category-sort-row .line-filter-pill:not(.is-active) .line-filter-pill-ico-svg {
    color: var(--lumini-ui-text) !important;
    opacity: .78 !important;
    stroke: currentColor !important;
}

body.body-layout-foodstrip .browse-category-sort-row .line-filter-pill.is-active .line-filter-pill-ico-svg {
    color: var(--lumini-ui-active-text) !important;
    opacity: 1 !important;
    stroke: currentColor !important;
}

html body.body-layout-foodstrip .mobile-app-nav-ico--orders:has(svg)::before,
html body.body-layout-foodstrip .mobile-app-nav-ico--orders:has(svg)::after {
    content: none !important;
    display: none !important;
}

html body.body-layout-foodstrip :is(.store-live-tag, .nu-feed-tag) > :is(.live-bolt-ico, .live-fire-ico) {
    --lumini-icon-size: 12px;
    height: 12px !important;
    width: 12px !important;
}

html body.body-layout-foodstrip .nu-live-pill > :is(.live-bolt-ico, .live-fire-ico),
html body.body-layout-foodstrip .store-rating-card .nu-chip > :is(.live-bolt-ico, .live-fire-ico) {
    --lumini-icon-size: 14px;
    flex-basis: 14px !important;
    height: 14px !important;
    width: 14px !important;
}
body.body-layout-foodstrip .store-rating-card .nu-root {
    gap: 8px !important;
}

body.body-layout-foodstrip .store-rating-card .nu-feed {
    gap: 8px !important;
    max-height: min(48dvh, 430px) !important;
    min-height: 190px !important;
    padding: 10px !important;
}

body.body-layout-foodstrip .store-rating-card .nu-feed-item,
body.body-layout-foodstrip .store-rating-card .nu-feed-item.is-mine {
    align-items: flex-end !important;
    flex-direction: row !important;
}

body.body-layout-foodstrip .store-rating-card .nu-feed-bubble,
body.body-layout-foodstrip .store-rating-card .nu-feed-item.is-mine .nu-feed-bubble {
    border-radius: 15px 15px 15px 5px !important;
    max-width: min(90%, 560px) !important;
}

body.body-layout-foodstrip .store-rating-card .nu-composer {
    border-radius: 16px !important;
    gap: 8px !important;
    padding: 10px !important;
}

body.body-layout-foodstrip .store-rating-card .nu-compose-box {
    border-radius: 16px !important;
}

body.body-layout-foodstrip .store-rating-card .nu-compose-box .nu-textarea {
    min-height: 56px !important;
    padding: 10px 12px 4px !important;
}

body.body-layout-foodstrip .store-rating-card .nu-compose-toolbar {
    gap: 10px;
    padding: 4px 7px 7px;
}

.nu-compose-actions,
.nu-chip-group,
.nu-praise-row:not([hidden]) {
    align-items: center;
    display: inline-flex;
    gap: 6px;
    min-width: 0;
}

.nu-label--visually-hidden {
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
}

body.body-layout-foodstrip .store-rating-card :is(.nu-photo-btn, .nu-chip) {
    align-items: center;
    background: var(--lumini-ui-surface-soft) !important;
    border: 1px solid var(--lumini-ui-border) !important;
    border-radius: 999px !important;
    box-sizing: border-box;
    color: #54bf7a !important;
    display: inline-flex;
    flex: 0 0 auto;
    gap: 6px;
    height: 36px;
    justify-content: flex-start;
    min-height: 36px;
    overflow: hidden;
    padding: 0 9px !important;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, width 200ms cubic-bezier(.2,.8,.2,1) !important;
    width: 36px;
}

body.body-layout-foodstrip .store-rating-card :is(.nu-photo-btn, .nu-chip) > :is(svg, .lumini-icon, .live-bolt-ico, .live-fire-ico) {
    flex: 0 0 17px;
    height: 17px;
    width: 17px;
}

body.body-layout-foodstrip .store-rating-card :is(.nu-photo-btn, .nu-chip) > span {
    max-width: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-width 180ms ease, opacity 130ms ease !important;
    white-space: nowrap;
}

@media (hover: hover) and (pointer: fine) {
    body.body-layout-foodstrip .store-rating-card .nu-photo-btn:hover,
    body.body-layout-foodstrip .store-rating-card .nu-photo-btn:focus-within {
        width: 136px;
    }

    body.body-layout-foodstrip .store-rating-card .nu-chip:hover,
    body.body-layout-foodstrip .store-rating-card .nu-chip:focus-visible {
        width: 94px;
    }

    body.body-layout-foodstrip .store-rating-card :is(.nu-photo-btn:hover, .nu-photo-btn:focus-within, .nu-chip:hover, .nu-chip:focus-visible) > span {
        max-width: 96px;
        opacity: 1;
    }
}

body.body-layout-foodstrip .store-rating-card .nu-chip[aria-pressed='true'] {
    border-color: currentColor !important;
}

body.body-layout-foodstrip .store-rating-card .nu-photo-preview:empty {
    display: none;
}

@media (max-width: 760px) {
    html body.body-layout-foodstrip.browse-site-light #site-header {
        box-shadow: 0 7px 20px rgba(28, 36, 28, .08) !important;
    }

    html body.body-layout-foodstrip.browse-site-light.mobile-page-scrolled #site-header {
        box-shadow: 0 9px 24px rgba(28, 36, 28, .1) !important;
    }

    body.body-layout-foodstrip .store-rating-card .nu-feed {
        max-height: 42dvh !important;
        min-height: 150px !important;
    }

    .nu-composer-foot {
        align-items: center !important;
        flex-direction: row !important;
    }

    body.body-layout-foodstrip .store-rating-card .nu-submit {
        flex: 0 0 auto;
        min-width: 126px;
        width: auto !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body.body-layout-foodstrip .line-mode-search,
    html body.body-layout-foodstrip header,
    body.body-layout-foodstrip .store-rating-card :is(.nu-photo-btn, .nu-chip, .nu-photo-btn > span, .nu-chip > span) {
        transition: none !important;
    }
}
/* 2026-09-29: stable theme geometry and mobile overlay contract. */
html body.body-layout-foodstrip:not(.body-on-store-page) .browse-category-sort-row,
html body.body-layout-foodstrip:not(.body-on-store-page) .browse-category-sort-row:hover,
html body.body-layout-foodstrip:not(.body-on-store-page) .browse-category-sort-row:focus-within {
    display: flex !important;
}

html body.body-layout-foodstrip:not(.body-on-store-page) .browse-category-sort-row .line-filter-pill,
html body.body-layout-foodstrip:not(.body-on-store-page) .browse-category-sort-row .browse-sort-open-btn {
    border-radius: 16px !important;
}

html body.body-layout-foodstrip:not(.body-on-store-page) .browse-category-sort-row .line-filter-pill.is-active {
    background: var(--lumini-ui-active) !important;
    border-radius: 16px !important;
    color: var(--lumini-ui-active-text) !important;
    -webkit-text-fill-color: var(--lumini-ui-active-text) !important;
}

html body.body-layout-foodstrip:not(.body-on-store-page) .browse-category-sort-row .line-filter-pill.is-active :is(span, strong, small, svg, path) {
    color: inherit !important;
    stroke: currentColor !important;
    -webkit-text-fill-color: currentColor !important;
}

html body.body-layout-foodstrip:not(.browse-site-light) #site-header {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background-image: none !important;
    box-shadow: none !important;
}

html body.body-layout-foodstrip #site-header::before,
html body.body-layout-foodstrip #site-header::after,
html body.body-layout-foodstrip .mobile-app-nav::before,
html body.body-layout-foodstrip .mobile-app-nav::after {
    content: none !important;
    display: none !important;
}

@media (max-width: 760px) {
    html body.body-layout-foodstrip .mobile-app-nav,
    html body.body-layout-foodstrip.browse-site-light .mobile-app-nav {
        background: var(--lumini-ui-surface) !important;
        border: 1px solid var(--lumini-ui-border) !important;
        border-radius: 28px !important;
        box-shadow: var(--lumini-ui-shadow) !important;
        color: var(--lumini-ui-text) !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    html body.body-layout-foodstrip .mobile-app-nav-item,
    html body.body-layout-foodstrip.browse-site-light .mobile-app-nav-item {
        color: var(--lumini-ui-muted) !important;
        -webkit-text-fill-color: currentColor !important;
    }

    html body.body-layout-foodstrip .mobile-app-nav-item.is-active,
    html body.body-layout-foodstrip.browse-site-light .mobile-app-nav-item.is-active {
        background: var(--lumini-ui-surface-muted) !important;
        color: var(--lumini-ui-text) !important;
        -webkit-text-fill-color: currentColor !important;
    }

    html body.body-layout-foodstrip #orders-modal {
        box-sizing: border-box !important;
        padding: max(16px, env(safe-area-inset-top)) 16px calc(var(--mobile-nav-h, 78px) + max(18px, env(safe-area-inset-bottom))) !important;
    }

    html body.body-layout-foodstrip #orders-modal .overlay-card.orders-card {
        border-radius: 26px !important;
        max-height: calc(100dvh - var(--mobile-nav-h, 78px) - max(52px, env(safe-area-inset-bottom))) !important;
        padding: 16px !important;
    }
}

/* Keep the desktop sticky search visually separated from the fixed header. */
@media (min-width: 761px) {
    html body.body-layout-foodstrip .line-mode-search,
    html body.body-layout-foodstrip.browse-site-light .line-mode-search {
        top: 112px !important;
    }
}
