/* Reference quick-commerce home. Scoped to the storefront home so account,
   checkout, catalog, and every Flutter client remain independent. */

.sf-storefront-home-page {
    --ref-green: #08a126;
    --ref-green-dark: #07851f;
    --ref-ink: #111820;
    --ref-muted: #667085;
    --ref-line: #e6eae7;
    --ref-page: #f7f9f7;
    --ref-soft: #f2f8ef;
    background: var(--ref-page) !important;
    color: var(--ref-ink) !important;
    font-family: Inter, "Nunito Sans", system-ui, sans-serif !important;
}

/* Storefront-wide flat UI: remove shadows from every Blade-rendered screen. */
html body.storefront-shell *, html body.storefront-shell *::before, html body.storefront-shell *::after { box-shadow: none !important; text-shadow: none !important; }
html body.storefront-shell .sf-location-modal__saved { display: grid; gap: 8px; padding: 12px; border: 1px solid #e6eae7; border-radius: 14px; background: #fff; }
html body.storefront-shell .sf-location-modal__saved > small { color: #667085; font-size: 11px; font-weight: 900; text-transform: uppercase; }
html body.storefront-shell .sf-location-modal__saved > div { display: grid; gap: 8px; }
html body.storefront-shell .sf-location-modal__saved button { display: grid; gap: 3px; width: 100%; padding: 10px 12px; border: 1px solid #e6eae7; border-radius: 12px; background: #fff; color: #111820; text-align: left; }
html body.storefront-shell .sf-location-modal__saved button.is-active { border-color: #08a126; background: #effaf1; }
html body.storefront-shell .sf-location-modal__saved button b { font-size: 13px; font-weight: 900; }
html body.storefront-shell .sf-location-modal__saved button span { overflow: hidden; color: #667085; font-size: 12px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }

/* Absolute final compact category/product sizing. */
html body.storefront-shell .sf-home-category-tile, html body.storefront-shell .sf-reference-chip-rail a { grid-template-rows: 104px auto !important; gap: 10px !important; background: transparent !important; }
html body.storefront-shell .sf-home-category-tile__top, html body.storefront-shell .sf-reference-chip-rail a > span { width: 104px !important; height: 104px !important; border-radius: 12px !important; background: #f4f5f7 !important; }
html body.storefront-shell .sf-home-category-tile > span, html body.storefront-shell .sf-reference-chip-rail a > strong { width: 104px !important; color: #020617 !important; font-size: 16px !important; font-weight: 900 !important; }
html body.storefront-shell .sf-category-product-grid { gap: 10px !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__thumb { height: 86px !important; min-height: 86px !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card h3 { min-height: 28px !important; color: #020617 !important; font-size: 12px !important; font-weight: 900 !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__footer { grid-template-columns: minmax(0,1fr) 70px !important; gap: 7px !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__price strong { color: #020617 !important; font-size: 17px !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__price small { color: #8b939d !important; font-size: 11px !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__footer form, html body.storefront-shell .sf-category-product-grid .sf-product-card__footer > .sf-product-card__action, html body.storefront-shell .sf-category-product-grid .sf-product-card__action, html body.storefront-shell .sf-category-product-grid .sf-product-card__stepper { width: 70px !important; min-width: 70px !important; height: 42px !important; min-height: 42px !important; color: #08a126 !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__action-label { color: #08a126 !important; }

/* Keep category product cards compact on desktop too. */
html body.storefront-shell .sf-category-product-grid { grid-template-columns: repeat(auto-fill,176px) !important; justify-content: start !important; align-items: start !important; column-gap: 14px !important; row-gap: 18px !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card { width: 176px !important; max-width: 176px !important; min-width: 0 !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__thumb { width: 176px !important; }
@media (max-width: 640px) {
    html body.storefront-shell .sf-category-product-grid { grid-template-columns: repeat(3,minmax(0,1fr)) !important; column-gap: 10px !important; row-gap: 14px !important; }
    html body.storefront-shell .sf-category-product-grid .sf-product-card { width: auto !important; max-width: none !important; }
    html body.storefront-shell .sf-category-product-grid .sf-product-card__thumb { width: 100% !important; }
}

/* Final home-screen desktop fit: match the corrected inner-page margins for every service. */
@media (min-width: 769px) {
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-main > .sf-container,
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-page-shell--home > .sf-container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-home {
        width: 100% !important;
        max-width: none !important;
        padding: 14px clamp(12px, 1.35vw, 24px) 40px !important;
        box-sizing: border-box !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-home__layout {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        grid-template-columns: 156px minmax(0, 1fr) !important;
        gap: 14px !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-sidebar {
        width: 156px !important;
        min-width: 0 !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-feed {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
    }
}

/* Final inner-page fit: keep left and right edges balanced on desktop. */
@media (min-width: 769px) {
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-main > .sf-container,
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-page-shell--home > .sf-container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-home {
        width: 100% !important;
        max-width: none !important;
        padding: 14px clamp(12px, 1.35vw, 24px) 40px !important;
        box-sizing: border-box !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-home__layout {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        grid-template-columns: 156px minmax(0, 1fr) !important;
        gap: 14px !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-sidebar {
        width: 156px !important;
        min-width: 0 !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-feed {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page .sf-main > .sf-container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page .sf-reference-inner {
        width: 100% !important;
        max-width: none !important;
        padding: 14px clamp(12px, 1.35vw, 24px) 44px !important;
        box-sizing: border-box !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page .sf-reference-inner__layout,
    html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page .sf-food-screen .sf-reference-inner__layout {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        grid-template-columns: 156px minmax(0, 1fr) !important;
        gap: 14px !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page .sf-reference-inner__side {
        width: 156px !important;
        min-width: 0 !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page .sf-reference-inner__feed {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
    }
}

/* Final category grid packing and rating visibility. */
@media (min-width: 641px) {
    html body.storefront-shell .sf-category-products-panel .sf-reference-product-grid.sf-category-product-grid { display: grid !important; width: max-content !important; max-width: 100% !important; grid-template-columns: repeat(3,176px) !important; justify-content: start !important; justify-items: stretch !important; align-items: start !important; column-gap: 14px !important; row-gap: 18px !important; }
}
html body.storefront-shell .sf-category-products-panel .sf-category-product-grid .sf-product-card__rating-badge { display: inline-grid !important; }

/* Final category cards and category-detail product cards. Keep this at EOF. */
html body.storefront-shell .sf-home-category-grid, html body.storefront-shell .sf-reference-chip-rail { display: grid !important; grid-template-columns: repeat(auto-fill,minmax(104px,1fr)) !important; gap: 14px !important; }
html body.storefront-shell .sf-home-category-tile, html body.storefront-shell .sf-reference-chip-rail a { display: grid !important; min-height: 0 !important; grid-template-rows: 108px auto !important; gap: 12px !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; color: #020617 !important; text-align: left !important; text-decoration: none !important; }
html body.storefront-shell .sf-home-category-tile__top, html body.storefront-shell .sf-reference-chip-rail a > span { display: grid !important; width: 108px !important; height: 108px !important; place-items: center !important; border: 0 !important; border-radius: 12px !important; background: #f4f5f7 !important; color: #020617 !important; overflow: hidden !important; }
html body.storefront-shell .sf-home-category-tile__top img, html body.storefront-shell .sf-reference-chip-rail a > span img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
html body.storefront-shell .sf-home-category-tile__fallback { color: #020617 !important; font-size: 24px !important; font-weight: 900 !important; }
html body.storefront-shell .sf-home-category-tile > span, html body.storefront-shell .sf-reference-chip-rail a > strong { display: block !important; width: 108px !important; overflow: hidden !important; color: #020617 !important; font-size: 16px !important; font-weight: 900 !important; line-height: 1.15 !important; text-align: left !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
html body.storefront-shell .sf-category-product-grid { grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 12px !important; align-items: start !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card { min-height: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; gap: 6px !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__thumb { height: 90px !important; min-height: 90px !important; border: 1px solid #edf0f4 !important; border-radius: 9px !important; background: #f4f7fb !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__placeholder span { width: 46px !important; height: 46px !important; background: #eef6ff !important; color: #123b45 !important; font-size: 24px !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__placeholder small { color: #667085 !important; font-size: 9px !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card h3 { min-height: 30px !important; color: #020617 !important; font-size: 13px !important; font-weight: 900 !important; line-height: 1.05 !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__footer { grid-template-columns: minmax(0,1fr) 78px !important; gap: 8px !important; margin-top: 3px !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__price strong { color: #020617 !important; font-size: 18px !important; font-weight: 950 !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__price small { color: #8b939d !important; font-size: 12px !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__footer form, html body.storefront-shell .sf-category-product-grid .sf-product-card__footer > .sf-product-card__action, html body.storefront-shell .sf-category-product-grid .sf-product-card__action, html body.storefront-shell .sf-category-product-grid .sf-product-card__stepper { width: 78px !important; min-width: 78px !important; height: 44px !important; min-height: 44px !important; border-color: #08a126 !important; background: #fff !important; color: #08a126 !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__action-label { color: #08a126 !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__topline, html body.storefront-shell .sf-category-product-grid .sf-product-card__brand, html body.storefront-shell .sf-category-product-grid .sf-product-card__tags, html body.storefront-shell .sf-category-product-grid .sf-product-card__saving, html body.storefront-shell .sf-category-product-grid .sf-product-card__variant-strip, html body.storefront-shell .sf-category-product-grid .sf-product-card__rating-badge, html body.storefront-shell .sf-category-product-grid .sf-product-card__subtitle { display: none !important; }
@media (max-width: 430px) { html body.storefront-shell .sf-home-category-grid, html body.storefront-shell .sf-reference-chip-rail { grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 12px !important; } html body.storefront-shell .sf-home-category-tile, html body.storefront-shell .sf-reference-chip-rail a { grid-template-rows: 94px auto !important; } html body.storefront-shell .sf-home-category-tile__top, html body.storefront-shell .sf-reference-chip-rail a > span, html body.storefront-shell .sf-home-category-tile > span, html body.storefront-shell .sf-reference-chip-rail a > strong { width: 94px !important; } html body.storefront-shell .sf-home-category-tile__top, html body.storefront-shell .sf-reference-chip-rail a > span { height: 94px !important; } html body.storefront-shell .sf-category-product-grid { gap: 10px !important; } html body.storefront-shell .sf-category-product-grid .sf-product-card__thumb { height: 86px !important; min-height: 86px !important; } html body.storefront-shell .sf-category-product-grid .sf-product-card h3 { font-size: 12px !important; } html body.storefront-shell .sf-category-product-grid .sf-product-card__footer { grid-template-columns: minmax(0,1fr) 70px !important; } html body.storefront-shell .sf-category-product-grid .sf-product-card__footer form, html body.storefront-shell .sf-category-product-grid .sf-product-card__footer > .sf-product-card__action, html body.storefront-shell .sf-category-product-grid .sf-product-card__action, html body.storefront-shell .sf-category-product-grid .sf-product-card__stepper { width: 70px !important; min-width: 70px !important; height: 42px !important; min-height: 42px !important; } }

/* Category detail product grid: compact app-like product cards. */
html body.storefront-shell .sf-category-products-panel { border: 0 !important; background: transparent !important; padding: 0 !important; }
html body.storefront-shell .sf-category-product-grid { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 14px !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card { min-height: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; gap: 7px !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__thumb { height: 106px !important; min-height: 106px !important; border: 1px solid #edf0f4 !important; border-radius: 10px !important; background: #f4f7fb !important; overflow: hidden !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__image-track, html body.storefront-shell .sf-category-product-grid .sf-product-card__image-slide, html body.storefront-shell .sf-category-product-grid .sf-product-card__thumb > img { width: 100% !important; height: 100% !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__image-slide, html body.storefront-shell .sf-category-product-grid .sf-product-card__thumb > img { object-fit: contain !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__placeholder { width: 100% !important; height: 100% !important; background: #f4f7fb !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__placeholder span { width: 50px !important; height: 50px !important; background: #edf5ff !important; color: #123b45 !important; font-size: 26px !important; font-weight: 950 !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__placeholder small { color: #667085 !important; font-size: 10px !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__topline, html body.storefront-shell .sf-category-product-grid .sf-product-card__brand, html body.storefront-shell .sf-category-product-grid .sf-product-card__tags, html body.storefront-shell .sf-category-product-grid .sf-product-card__saving, html body.storefront-shell .sf-category-product-grid .sf-product-card__variant-strip, html body.storefront-shell .sf-category-product-grid .sf-product-card__rating-badge { display: none !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__discount-flag { top: 5px !important; left: 5px !important; display: grid !important; width: 40px !important; min-height: 42px !important; place-items: center !important; border-radius: 6px !important; background: #08a126 !important; color: #fff !important; font-size: 12px !important; font-weight: 950 !important; line-height: 1 !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__discount-flag small { display: block !important; color: #fff !important; font-size: 8px !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card > a:not(.sf-product-card__thumb) { margin: 2px 0 0 !important; text-decoration: none !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card h3 { display: -webkit-box !important; min-height: 34px !important; margin: 0 !important; overflow: hidden !important; color: #020617 !important; font-size: 15px !important; font-weight: 950 !important; line-height: 1.05 !important; -webkit-box-orient: vertical !important; -webkit-line-clamp: 2 !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__subtitle { display: none !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__footer { display: grid !important; grid-template-columns: minmax(0,1fr) 88px !important; gap: 8px !important; align-items: center !important; margin-top: 4px !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__price { display: grid !important; min-width: 0 !important; gap: 1px !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__price strong { color: #020617 !important; font-size: 20px !important; font-weight: 950 !important; line-height: 1 !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__price small { color: #8b939d !important; font-size: 13px !important; font-weight: 900 !important; text-decoration: line-through !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__footer form, html body.storefront-shell .sf-category-product-grid .sf-product-card__footer > .sf-product-card__action { width: 88px !important; min-width: 88px !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__action, html body.storefront-shell .sf-category-product-grid .sf-product-card__stepper { width: 88px !important; min-width: 88px !important; height: 50px !important; min-height: 50px !important; border: 1.5px solid #08a126 !important; border-radius: 10px !important; background: #fff !important; color: #08a126 !important; font-size: 12px !important; font-weight: 950 !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__stepper { display: grid !important; grid-template-columns: 1fr 1fr 1fr !important; align-items: center !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__stepper-btn { color: #08a126 !important; font-size: 18px !important; font-weight: 950 !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__stepper strong { color: #08a126 !important; font-size: 15px !important; font-weight: 950 !important; }
@media (max-width: 430px) { html body.storefront-shell .sf-category-product-grid { gap: 10px !important; } html body.storefront-shell .sf-category-product-grid .sf-product-card__thumb { height: 96px !important; min-height: 96px !important; } html body.storefront-shell .sf-category-product-grid .sf-product-card h3 { font-size: 13px !important; } html body.storefront-shell .sf-category-product-grid .sf-product-card__footer { grid-template-columns: minmax(0,1fr) 78px !important; } html body.storefront-shell .sf-category-product-grid .sf-product-card__footer form, html body.storefront-shell .sf-category-product-grid .sf-product-card__footer > .sf-product-card__action, html body.storefront-shell .sf-category-product-grid .sf-product-card__action, html body.storefront-shell .sf-category-product-grid .sf-product-card__stepper { width: 78px !important; min-width: 78px !important; height: 48px !important; min-height: 48px !important; } }

/* Unified reference storefront inner pages. These replace the older page-by-page
   layouts while preserving the shared desktop header and PWA bottom nav. */
body.sf-storefront-inner-page {
    --ref-green: #08a126;
    --ref-green-dark: #07851f;
    --ref-orange: #ff5a1f;
    --ref-ink: #111820;
    --ref-muted: #667085;
    --ref-line: #e6eae7;
    --ref-page: #f7f9f7;
    --ref-soft: #f2f8ef;
    background: var(--ref-page) !important;
    color: var(--ref-ink) !important;
    font-family: Inter, "Nunito Sans", system-ui, sans-serif !important;
}

body.sf-storefront-inner-page .sf-main {
    padding-top: 0 !important;
    background: var(--ref-page) !important;
}

body.sf-storefront-inner-page .sf-main > .sf-container {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
}

.sf-reference-inner {
    width: 100%;
    padding: 16px 20px 44px;
}

.sf-reference-inner__layout {
    display: grid;
    width: min(1440px, 100%);
    margin: 0 auto;
    grid-template-columns: 214px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.sf-reference-inner__side {
    position: sticky;
    top: 108px;
    display: grid;
    gap: 14px;
}

.sf-reference-inner__back,
.sf-reference-inner__nav a,
.sf-reference-primary,
.sf-reference-add-form a,
.sf-reference-list article div a {
    text-decoration: none !important;
}

.sf-reference-inner__back {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--ref-line);
    border-radius: 12px;
    background: #fff;
    color: var(--ref-green-dark) !important;
    font-size: 12px;
    font-weight: 850;
}

.sf-reference-inner__side-card {
    display: grid;
    min-height: 126px;
    gap: 6px;
    align-content: start;
    padding: 18px;
    overflow: hidden;
    border: 1px solid var(--ref-line);
    border-radius: 18px;
    background: linear-gradient(145deg, #fff, #f2faf0);
    box-shadow: 0 16px 36px rgba(16, 24, 40, .045);
}

.sf-reference-inner__side-card.is-offer {
    background: linear-gradient(135deg, #fff2df, #fff8eb);
}

.sf-reference-inner__side-card span,
.sf-reference-inner__hero span,
.sf-reference-detail-hero__copy span,
.sf-reference-product-detail__info > span {
    color: var(--ref-green-dark);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

body.storefront-service--food .sf-reference-inner__side-card span,
body.storefront-service--food .sf-reference-inner__hero span,
body.storefront-service--food .sf-reference-detail-hero__copy span,
body.storefront-service--food .sf-reference-product-detail__info > span {
    color: var(--ref-orange);
}

.sf-reference-inner__side-card strong {
    color: var(--ref-ink);
    font-size: 18px;
    font-weight: 900;
    letter-spacing: -.03em;
    line-height: 1.08;
}

.sf-reference-inner__side-card p {
    margin: 0;
    color: var(--ref-muted);
    font-size: 12px;
    line-height: 1.4;
}

.sf-reference-inner__nav {
    display: grid;
    gap: 4px;
    padding: 10px;
    border: 1px solid var(--ref-line);
    border-radius: 16px;
    background: #fff;
}

.sf-reference-inner__nav a {
    min-height: 34px;
    padding: 9px 10px;
    border-radius: 10px;
    color: #27313d !important;
    font-size: 12px;
    font-weight: 800;
}

.sf-reference-inner__nav a:hover,
.sf-reference-inner__nav a.is-active {
    background: var(--ref-soft);
    color: var(--ref-green-dark) !important;
}

.sf-reference-inner__feed {
    display: grid;
    min-width: 0;
    gap: 16px;
}

.sf-reference-inner__feed.is-centered {
    grid-column: 1 / -1;
    width: min(640px, 100%);
    justify-self: center;
}

.sf-reference-inner__hero {
    display: flex;
    min-height: 150px;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    padding: 26px 28px;
    overflow: hidden;
    border: 1px solid var(--ref-line);
    border-radius: 22px;
    background:
        radial-gradient(circle at 86% 20%, rgba(8, 161, 38, .14), transparent 28%),
        linear-gradient(135deg, #fff, #f0f8ee);
    box-shadow: 0 18px 50px rgba(16, 24, 40, .055);
}

.sf-reference-inner__hero.is-offer {
    background:
        radial-gradient(circle at 86% 20%, rgba(255, 90, 31, .18), transparent 28%),
        linear-gradient(135deg, #fff8e9, #fff);
}

.sf-reference-inner__hero.is-parcel {
    background:
        radial-gradient(circle at 86% 20%, rgba(8, 161, 38, .16), transparent 28%),
        linear-gradient(135deg, #effbf4, #fff);
}

.sf-reference-inner__hero h1 {
    max-width: 720px;
    margin: 4px 0 4px;
    color: var(--ref-ink);
    font-size: clamp(28px, 3vw, 46px);
    font-weight: 950;
    letter-spacing: -.055em;
    line-height: 1.02;
}

.sf-reference-inner__hero p {
    max-width: 610px;
    margin: 0;
    color: var(--ref-muted);
    font-size: 14px;
}

.sf-reference-inner__hero > a,
.sf-reference-primary,
.sf-reference-add-form button,
.sf-reference-checkout button[type="submit"] {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 0 18px;
    border: 0;
    border-radius: 12px;
    background: var(--ref-green);
    color: #fff !important;
    font-size: 13px;
    font-weight: 900;
    white-space: nowrap;
    box-shadow: 0 12px 24px rgba(8, 161, 38, .18);
    cursor: pointer;
}

body.storefront-service--food .sf-reference-inner__hero > a,
body.storefront-service--food .sf-reference-primary,
body.storefront-service--food .sf-reference-add-form button,
body.storefront-service--food .sf-reference-checkout button[type="submit"] {
    background: var(--ref-orange);
    box-shadow: 0 12px 24px rgba(255, 90, 31, .18);
}

.sf-reference-panel {
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--ref-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(16, 24, 40, .04);
}

.sf-reference-section-head {
    display: flex;
    min-height: 34px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.sf-reference-section-head.is-sub {
    margin-top: 22px;
}

.sf-reference-section-head h2 {
    margin: 0;
    color: var(--ref-ink);
    font-size: 18px;
    font-weight: 900;
    letter-spacing: -.025em;
}

.sf-reference-section-head p {
    margin: 2px 0 0;
    color: var(--ref-muted);
    font-size: 12px;
}

.sf-reference-section-head > a {
    color: var(--ref-green-dark) !important;
    font-size: 12px;
    font-weight: 900;
    text-decoration: none !important;
}

.sf-reference-product-grid,
.sf-reference-store-grid,
.sf-reference-coupon-grid,
.sf-reference-action-grid,
.sf-reference-stat-grid {
    display: grid;
    gap: 14px;
}

.sf-reference-product-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.sf-reference-store-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sf-reference-coupon-grid,
.sf-reference-action-grid,
.sf-reference-stat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sf-reference-product-grid.is-rail,
.sf-reference-store-grid.is-rail,
.sf-reference-coupon-grid.is-rail {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(210px, 1fr);
    grid-template-columns: none;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding-bottom: 2px;
    scrollbar-width: thin;
}

.sf-reference-chip-rail {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 96px;
    gap: 12px;
    overflow-x: auto;
    padding-bottom: 2px;
}

.sf-reference-chip-rail a {
    display: grid;
    justify-items: center;
    gap: 8px;
    color: var(--ref-ink) !important;
    text-align: center;
    text-decoration: none !important;
}

.sf-reference-chip-rail span {
    display: grid;
    width: 64px;
    height: 64px;
    place-items: center;
    overflow: hidden;
    border-radius: 999px;
    background: #f0f5f1;
    color: var(--ref-green-dark);
    font-weight: 900;
}

.sf-reference-chip-rail img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.sf-reference-chip-rail strong {
    font-size: 11px;
    font-weight: 850;
}

.sf-reference-coupon,
.sf-reference-action-grid a,
.sf-reference-stat-grid article {
    display: grid;
    gap: 8px;
    min-height: 118px;
    padding: 16px;
    border: 1px solid #eef1ed;
    border-radius: 15px;
    background: linear-gradient(135deg, #fff8e8, #fff);
}

.sf-reference-coupon.is-soft {
    background: linear-gradient(135deg, #f0fbf3, #fff);
}

.sf-reference-coupon span,
.sf-reference-action-grid span,
.sf-reference-stat-grid span {
    color: var(--ref-green-dark);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.sf-reference-coupon h3,
.sf-reference-action-grid strong,
.sf-reference-stat-grid strong {
    margin: 0;
    color: var(--ref-ink);
    font-size: 17px;
    font-weight: 950;
    letter-spacing: -.03em;
}

.sf-reference-coupon p {
    margin: 0;
    color: var(--ref-muted);
    font-size: 12px;
    line-height: 1.4;
}

.sf-reference-coupon button,
.sf-reference-coupon a {
    justify-self: start;
    padding: 7px 10px;
    border: 1px solid #bfe5c7;
    border-radius: 9px;
    background: #fff;
    color: var(--ref-green-dark) !important;
    font-size: 11px;
    font-weight: 900;
    text-decoration: none !important;
}

.sf-reference-detail-hero,
.sf-reference-product-detail {
    display: grid;
    gap: 18px;
    padding: 18px;
    border: 1px solid var(--ref-line);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(16, 24, 40, .04);
}

.sf-reference-detail-hero {
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.4fr);
}

.sf-reference-product-detail {
    grid-template-columns: minmax(320px, .9fr) minmax(0, 1.1fr);
}

.sf-reference-detail-hero__media,
.sf-reference-product-detail__gallery {
    display: grid;
    min-height: 320px;
    place-items: center;
    overflow: hidden;
    border-radius: 18px;
    background: #f1f6f2;
}

.sf-reference-detail-hero__media img,
.sf-reference-product-detail__gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sf-reference-product-detail__gallery img {
    object-fit: contain;
    padding: 18px;
}

.sf-reference-detail-hero__media span,
.sf-reference-product-detail__gallery span {
    color: var(--ref-green-dark);
    font-size: 64px;
    font-weight: 950;
}

.sf-reference-detail-hero__copy,
.sf-reference-product-detail__info {
    display: grid;
    align-content: center;
    gap: 12px;
}

.sf-reference-detail-hero__logo {
    width: 58px;
    height: 58px;
    object-fit: cover;
    border-radius: 16px;
    box-shadow: 0 10px 20px rgba(16, 24, 40, .12);
}

.sf-reference-detail-hero h1,
.sf-reference-product-detail h1 {
    margin: 0;
    color: var(--ref-ink);
    font-size: clamp(28px, 3.2vw, 46px);
    font-weight: 950;
    letter-spacing: -.055em;
    line-height: 1.04;
}

.sf-reference-detail-hero p,
.sf-reference-product-detail p {
    margin: 0;
    color: var(--ref-muted);
    font-size: 14px;
    line-height: 1.5;
}

.sf-reference-detail-hero__copy > div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.sf-reference-detail-hero__copy b {
    padding: 7px 10px;
    border-radius: 999px;
    background: #eef8ef;
    color: var(--ref-green-dark);
    font-size: 12px;
}

.sf-reference-price-row {
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.sf-reference-price-row strong {
    color: var(--ref-ink);
    font-size: 30px;
    font-weight: 950;
}

.sf-reference-price-row del {
    color: #98a2b3;
    font-size: 16px;
    font-weight: 800;
}

.sf-reference-variant-grid,
.sf-reference-payment-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.sf-reference-variant-grid label,
.sf-reference-payment-grid label {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 12px;
    border: 1px solid var(--ref-line);
    border-radius: 12px;
    background: #fff;
    font-size: 13px;
    font-weight: 800;
}

.sf-reference-add-form {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.sf-reference-add-form a {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    padding: 0 16px;
    border: 1px solid var(--ref-line);
    border-radius: 12px;
    color: var(--ref-green-dark) !important;
    font-size: 13px;
    font-weight: 900;
}

.sf-reference-two-col {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
    gap: 16px;
    align-items: start;
}

.sf-reference-cart-list,
.sf-reference-list,
.sf-reference-mini-items {
    display: grid;
    gap: 10px;
}

.sf-reference-cart-item {
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 10px;
    border: 1px solid #eef1ed;
    border-radius: 14px;
    background: #fff;
}

.sf-reference-cart-item > a,
.sf-reference-cart-item > span {
    display: grid;
    width: 74px;
    height: 74px;
    place-items: center;
    overflow: hidden;
    border-radius: 12px;
    background: #f2f6f3;
    color: var(--ref-green-dark);
    font-weight: 950;
    text-decoration: none !important;
}

.sf-reference-cart-item img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.sf-reference-cart-item h3 {
    margin: 0;
    color: var(--ref-ink);
    font-size: 14px;
    font-weight: 900;
    line-height: 1.2;
}

.sf-reference-cart-item p,
.sf-reference-list p,
.sf-reference-mini-items span {
    margin: 3px 0;
    color: var(--ref-muted);
    font-size: 12px;
}

.sf-reference-cart-item strong,
.sf-reference-mini-items strong {
    color: var(--ref-ink);
    font-size: 13px;
    font-weight: 950;
}

.sf-reference-cart-item__qty {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 5px;
    border: 1px solid #bfe5c7;
    border-radius: 12px;
}

.sf-reference-cart-item__qty button {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border: 0;
    border-radius: 8px;
    background: #effaf1;
    color: var(--ref-green-dark);
    font-weight: 950;
    cursor: pointer;
}

.sf-reference-summary dl {
    display: grid;
    gap: 10px;
    margin: 0 0 16px;
}

.sf-reference-summary dl div,
.sf-reference-mini-items div {
    display: flex;
    justify-content: space-between;
    gap: 14px;
}

.sf-reference-summary dt,
.sf-reference-summary dd {
    margin: 0;
    color: var(--ref-muted);
    font-size: 13px;
}

.sf-reference-summary dd {
    color: var(--ref-ink);
    font-weight: 900;
}

.sf-reference-summary .is-green dt,
.sf-reference-summary .is-green dd {
    color: var(--ref-green-dark);
}

.sf-reference-summary .is-total {
    padding-top: 12px;
    border-top: 1px dashed var(--ref-line);
}

.sf-reference-summary .is-total dt,
.sf-reference-summary .is-total dd {
    color: var(--ref-ink);
    font-size: 17px;
    font-weight: 950;
}

.sf-reference-summary .sf-reference-primary,
.sf-reference-checkout .sf-reference-primary {
    width: 100%;
}

.sf-reference-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.sf-reference-form-grid label,
.sf-reference-coupon-input {
    display: grid;
    gap: 6px;
}

.sf-reference-form-grid label.is-wide,
.sf-reference-wallet.is-wide,
.sf-reference-coupon-input {
    grid-column: 1 / -1;
}

.sf-reference-form-grid span,
.sf-reference-coupon-input span {
    color: var(--ref-ink);
    font-size: 12px;
    font-weight: 900;
}

.sf-reference-form-grid input,
.sf-reference-form-grid select,
.sf-reference-form-grid textarea,
.sf-reference-coupon-input input {
    width: 100%;
    min-height: 42px;
    padding: 10px 12px;
    border: 1px solid var(--ref-line);
    border-radius: 12px;
    background: #fff;
    color: var(--ref-ink);
    font: inherit;
    font-size: 13px;
    outline: none;
}

.sf-reference-wallet {
    display: flex !important;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    color: var(--ref-muted);
    font-size: 13px;
    font-weight: 800;
}

.sf-reference-list article {
    display: grid;
    gap: 4px;
    padding: 14px;
    border: 1px solid #eef1ed;
    border-radius: 14px;
    background: #fff;
}

.sf-reference-list article strong {
    color: var(--ref-ink);
    font-size: 14px;
    font-weight: 950;
}

.sf-reference-list article > span {
    color: var(--ref-green-dark);
    font-size: 12px;
    font-weight: 900;
}

.sf-reference-list article div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 6px;
}

.sf-reference-list article div a {
    padding: 7px 10px;
    border-radius: 9px;
    background: #effaf1;
    color: var(--ref-green-dark) !important;
    font-size: 11px;
    font-weight: 900;
}

.sf-reference-action-grid a {
    color: inherit !important;
}

.sf-reference-empty {
    display: grid;
    justify-items: center;
    gap: 8px;
    padding: 36px 18px;
    text-align: center;
}

.sf-reference-empty h3 {
    margin: 0;
    color: var(--ref-ink);
    font-size: 22px;
    font-weight: 950;
    letter-spacing: -.035em;
}

.sf-reference-empty p {
    max-width: 420px;
    margin: 0;
    color: var(--ref-muted);
    font-size: 13px;
}

.sf-reference-empty a {
    margin-top: 8px;
    color: var(--ref-green-dark) !important;
    font-size: 13px;
    font-weight: 900;
    text-decoration: none !important;
}

.sf-reference-pagination {
    margin-top: 16px;
}

.sf-reference-timeline {
    display: grid;
    gap: 14px;
}

.sf-reference-timeline > div {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    column-gap: 10px;
    align-items: start;
}

.sf-reference-timeline span {
    display: grid;
    width: 24px;
    height: 24px;
    place-items: center;
    border: 2px solid var(--ref-line);
    border-radius: 999px;
    background: #fff;
}

.sf-reference-timeline .is-done span {
    border-color: var(--ref-green);
    background: var(--ref-green);
}

.sf-reference-timeline strong {
    color: var(--ref-ink);
    font-size: 14px;
    font-weight: 950;
}

.sf-reference-timeline p {
    grid-column: 2;
    margin: 2px 0 0;
    color: var(--ref-muted);
    font-size: 12px;
}

.sf-reference-rider-card,
.sf-reference-payment-redirect {
    display: grid;
    gap: 8px;
    justify-items: start;
}

.sf-reference-payment-redirect {
    justify-items: center;
    padding: 44px;
    text-align: center;
}

.sf-reference-payment-redirect h1 {
    margin: 0;
    color: var(--ref-ink);
    font-size: 28px;
    font-weight: 950;
    letter-spacing: -.04em;
}

@media (max-width: 1180px) {
    .sf-reference-product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .sf-reference-store-grid,
    .sf-reference-coupon-grid,
    .sf-reference-action-grid,
    .sf-reference-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
    body.sf-storefront-inner-page .sf-main {
        padding-bottom: 86px !important;
    }

    .sf-reference-inner {
        padding: 10px 10px 92px;
        background: #fff;
    }

    .sf-reference-inner__layout {
        display: block;
        width: 100%;
    }

    .sf-reference-inner__side {
        position: static;
        display: none;
    }

    .sf-reference-inner__feed {
        gap: 12px;
    }

    .sf-reference-inner__hero {
        min-height: 128px;
        align-items: end;
        padding: 18px;
        border-radius: 18px;
    }

    .sf-reference-inner__hero h1 {
        font-size: 26px;
    }

    .sf-reference-inner__hero p {
        font-size: 12px;
    }

    .sf-reference-inner__hero > a {
        display: none;
    }

    .sf-reference-panel {
        padding: 14px;
        border-radius: 16px;
        box-shadow: none;
    }

    .sf-reference-section-head {
        margin-bottom: 10px;
    }

    .sf-reference-section-head h2 {
        font-size: 16px;
    }

    .sf-reference-section-head p {
        font-size: 11px;
    }

    .sf-reference-product-grid,
    .sf-reference-product-grid.is-rail {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: calc((100vw - 36px) / 2.25);
        grid-template-columns: none;
        gap: 10px;
        margin: 0 -4px;
        overflow-x: auto;
        padding: 0 4px 2px;
        scrollbar-width: none;
    }

    .sf-reference-store-grid,
    .sf-reference-store-grid.is-rail,
    .sf-reference-coupon-grid,
    .sf-reference-coupon-grid.is-rail,
    .sf-reference-action-grid,
    .sf-reference-stat-grid {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: minmax(210px, 78vw);
        grid-template-columns: none;
        gap: 10px;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .sf-reference-chip-rail {
        grid-auto-columns: 74px;
        gap: 8px;
    }

    .sf-reference-chip-rail span {
        width: 52px;
        height: 52px;
    }

    .sf-reference-chip-rail strong {
        font-size: 10px;
    }

    .sf-reference-detail-hero,
    .sf-reference-product-detail,
    .sf-reference-two-col {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .sf-reference-detail-hero__media,
    .sf-reference-product-detail__gallery {
        min-height: 220px;
        border-radius: 16px;
    }

    .sf-reference-detail-hero h1,
    .sf-reference-product-detail h1 {
        font-size: 26px;
    }

    .sf-reference-form-grid,
    .sf-reference-payment-grid,
    .sf-reference-variant-grid {
        grid-template-columns: 1fr;
    }

    .sf-reference-cart-item {
        grid-template-columns: 58px minmax(0, 1fr);
        gap: 10px;
    }

    .sf-reference-cart-item > a,
    .sf-reference-cart-item > span {
        width: 58px;
        height: 58px;
    }

    .sf-reference-cart-item__qty {
        grid-column: 2;
        justify-self: start;
    }
}

/* Final shared header + home scale correction. */
body.storefront-shell.storefront-shell--v2 .sf-header {
    min-height: 88px !important;
    border-bottom: 1px solid #edf0ed !important;
    background: #fff !important;
}

body.storefront-shell.storefront-shell--v2 .sf-header > .sf-container {
    width: min(1440px, 100%) !important;
    max-width: none !important;
    padding: 0 24px !important;
}

body.storefront-shell.storefront-shell--v2 .sf-header__inner {
    width: 100% !important;
    padding: 0 !important;
}

body.storefront-shell.storefront-shell--v2 .sf-desktop-header,
body.storefront-shell.storefront-shell--v2 .sf-desktop-header__top {
    width: 100% !important;
}

body.storefront-shell.storefront-shell--v2 .sf-desktop-header__top {
    display: grid !important;
    min-height: 88px !important;
    grid-template-columns: 180px minmax(300px, max-content) minmax(320px, 1fr) auto !important;
    gap: 18px !important;
    align-items: center !important;
}

body.storefront-shell.storefront-shell--v2 .sf-wordmark--desktop {
    display: grid !important;
    min-width: 0 !important;
    gap: 4px !important;
    align-content: center !important;
    justify-items: start !important;
}

body.storefront-shell.storefront-shell--v2 .sf-wordmark--desktop img {
    height: 42px !important;
    max-width: 176px !important;
}

body.storefront-shell.storefront-shell--v2 .sf-desktop-location--under-logo {
    display: flex !important;
    max-width: 176px !important;
    min-height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    line-height: 1.15 !important;
    text-align: left !important;
}

body.storefront-shell.storefront-shell--v2 .sf-desktop-location--under-logo span {
    margin-right: 4px !important;
    color: #667085 !important;
    font-size: 10px !important;
    font-weight: 700 !important;
}

body.storefront-shell.storefront-shell--v2 .sf-desktop-location--under-logo strong {
    overflow: hidden !important;
    color: #1f2937 !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body.storefront-shell.storefront-shell--v2 .sf-desktop-service-tabs {
    justify-content: flex-start !important;
}

body.storefront-shell.storefront-shell--v2 .sf-desktop-search {
    max-width: 470px !important;
    justify-self: stretch !important;
}

body.storefront-shell.storefront-shell--v2 .sf-desktop-actions {
    justify-self: end !important;
}

body.sf-storefront-home-page .sf-reference-home {
    padding: 18px 22px 44px !important;
}

body.sf-storefront-home-page .sf-reference-home__layout {
    width: min(1584px, 100%) !important;
    grid-template-columns: 235px minmax(0, 1fr) !important;
    gap: 20px !important;
}

body.sf-storefront-home-page .sf-reference-category-card,
body.sf-storefront-home-page .sf-reference-delivery-card {
    transform-origin: top left;
}

body.sf-storefront-home-page .sf-reference-hero__main {
    height: 242px !important;
}

body.sf-storefront-home-page .sf-reference-hero__copy h1 {
    font-size: clamp(30px, 2.75vw, 44px) !important;
}

body.sf-storefront-home-page .sf-reference-promo {
    min-height: 123px !important;
}

body.sf-storefront-home-page .sf-reference-benefits {
    min-height: 78px !important;
}

body.sf-storefront-home-page .sf-reference-feed .sf-product-card {
    min-height: 212px !important;
}

body.sf-storefront-home-page .sf-reference-feed .sf-product-card__thumb {
    height: 112px !important;
    min-height: 112px !important;
}

@media (max-width: 1180px) {
    body.storefront-shell.storefront-shell--v2 .sf-desktop-header__top {
        grid-template-columns: 168px minmax(260px, max-content) minmax(260px, 1fr) auto !important;
        gap: 12px !important;
    }
}

@media (max-width: 768px) {
    body.storefront-shell.storefront-shell--v2 .sf-header > .sf-container {
        padding: 0 !important;
    }

    body.sf-storefront-home-page .sf-reference-home {
        padding: 11px 11px 96px !important;
    }

    body.sf-storefront-home-page .sf-reference-hero__main {
        height: 242px !important;
    }

    body.sf-storefront-home-page .sf-reference-hero__copy h1 {
        font-size: clamp(21px, 5.9vw, 25px) !important;
    }
}

/* Food inner-screen correction layer: product, cart, restaurant detail,
   cuisine/listing, offers, checkout, and account pages follow the supplied
   LocalGo food references while home remains controlled by its own section. */
.sf-food-screen {
    --ref-green: #0a8f2a;
    --ref-orange: #ff4b16;
    --ref-orange-dark: #ec3c08;
    --ref-food-ink: #121820;
    --ref-food-muted: #667085;
}

.sf-food-screen .sf-reference-inner__layout {
    grid-template-columns: 174px minmax(0, 1fr);
    gap: 18px;
}

.sf-food-screen .sf-reference-inner__side {
    top: 92px;
}

.sf-food-left-nav {
    display: grid;
    gap: 5px;
    padding: 10px;
    border-right: 1px solid #edf0ed;
    background: #fff;
}

.sf-food-left-nav a {
    display: grid;
    min-height: 42px;
    grid-template-columns: 24px 1fr;
    gap: 8px;
    align-items: center;
    padding: 0 10px;
    border-radius: 10px;
    color: #26303a !important;
    text-decoration: none !important;
}

.sf-food-left-nav a.is-active,
.sf-food-left-nav a:hover {
    background: #fff0e9;
    color: var(--ref-orange) !important;
}

.sf-food-left-nav span {
    font-size: 17px;
    line-height: 1;
    text-align: center;
}

.sf-food-left-nav strong {
    font-size: 12px;
    font-weight: 850;
}

.sf-food-left-promo {
    position: relative;
    display: grid;
    min-height: 170px;
    gap: 5px;
    align-content: start;
    margin-top: 18px;
    padding: 18px;
    overflow: hidden;
    border: 1px solid #fee0d2;
    border-radius: 13px;
    background: linear-gradient(145deg, #fff0e8, #fff8f2);
    color: var(--ref-food-ink) !important;
    text-decoration: none !important;
}

.sf-food-left-promo.is-green {
    background: linear-gradient(145deg, #effbf1, #fff);
    border-color: #d9f0dc;
}

.sf-food-left-promo strong {
    color: var(--ref-orange);
    font-size: 17px;
    font-weight: 950;
}

.sf-food-left-promo.is-green strong {
    color: var(--ref-green);
}

.sf-food-left-promo span,
.sf-food-left-promo small {
    color: #4b5563;
    font-size: 12px;
}

.sf-food-left-promo b {
    justify-self: start;
    padding: 7px 9px;
    border: 1px solid #ffd0bc;
    border-radius: 8px;
    background: #fff;
    color: var(--ref-orange);
    font-size: 11px;
}

.sf-food-left-promo i {
    position: absolute;
    right: 8px;
    bottom: 8px;
    font-size: 54px;
    font-style: normal;
}

.sf-food-screen .sf-reference-inner__hero {
    min-height: auto;
    padding: 18px 0 14px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.sf-food-screen .sf-reference-inner__hero span {
    color: var(--ref-food-muted);
    font-size: 13px;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
}

.sf-food-screen .sf-reference-inner__hero h1 {
    margin: 0 0 4px;
    font-size: 28px;
    letter-spacing: -.035em;
}

.sf-food-screen .sf-reference-inner__hero > a,
.sf-food-screen .sf-reference-primary,
.sf-food-screen .sf-reference-add-form button,
.sf-food-screen .sf-reference-checkout button[type="submit"] {
    background: var(--ref-orange) !important;
    border-radius: 10px;
    box-shadow: none;
}

.sf-food-cart-title form button {
    min-height: 38px;
    padding: 0 16px;
    border: 1px solid #aae0b5;
    border-radius: 9px;
    background: #fff;
    color: var(--ref-green);
    font-weight: 900;
}

.sf-food-breadcrumb {
    display: flex;
    gap: 8px;
    align-items: center;
    color: #667085;
    font-size: 12px;
}

.sf-food-breadcrumb a,
.sf-food-breadcrumb strong {
    color: inherit !important;
    text-decoration: none !important;
}

.sf-food-screen .sf-reference-panel,
.sf-food-screen .sf-reference-detail-hero,
.sf-food-screen .sf-reference-product-detail {
    border-color: #edf0ed;
    border-radius: 13px;
    box-shadow: 0 8px 22px rgba(16, 24, 40, .045);
}

.sf-food-screen--product .sf-reference-product-detail {
    grid-template-columns: minmax(440px, 1.15fr) minmax(360px, .85fr);
    padding: 0;
    border: 0;
    box-shadow: none;
    background: transparent;
}

.sf-food-screen--product .sf-reference-product-detail__gallery {
    position: relative;
    min-height: 430px;
    border-radius: 14px;
    background: #171717;
    box-shadow: 0 10px 24px rgba(16, 24, 40, .12);
}

.sf-food-screen--product .sf-reference-product-detail__gallery img {
    padding: 0;
    object-fit: cover;
}

.sf-food-product-badges {
    position: absolute;
    top: 22px;
    left: 22px;
    z-index: 2;
    display: grid;
    gap: 8px;
}

.sf-food-product-badges b,
.sf-food-product-badges strong {
    justify-self: start;
    padding: 6px 10px;
    border-radius: 7px;
    color: #fff;
    font-size: 12px;
    font-weight: 950;
}

.sf-food-product-badges b { background: #ff8a00; }
.sf-food-product-badges strong { background: #f52222; }

.sf-food-floating-actions {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 3;
    display: flex;
    gap: 10px;
}

.sf-food-floating-actions button {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, .94);
    color: #111827;
    font-size: 18px;
    font-weight: 900;
    box-shadow: 0 8px 22px rgba(16, 24, 40, .16);
}

.sf-food-screen--product .sf-reference-product-detail__info {
    align-content: start;
    padding: 8px 8px 0 8px;
}

.sf-food-veg-dot {
    display: inline-grid;
    width: 18px;
    height: 18px;
    place-items: center;
    border: 2px solid #20a33b;
    color: #20a33b !important;
    font-size: 10px !important;
    line-height: 1;
}

.sf-food-rating-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.sf-food-rating-row b {
    padding: 4px 7px;
    border-radius: 5px;
    background: var(--ref-green);
    color: #fff;
    font-size: 12px;
}

.sf-food-rating-row span,
.sf-food-rating-row i,
.sf-food-tax {
    color: var(--ref-food-muted);
    font-size: 13px;
    font-style: normal;
}

.sf-reference-price-row em {
    color: var(--ref-orange);
    font-size: 13px;
    font-style: normal;
    font-weight: 950;
}

.sf-food-info-strip,
.sf-food-store-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    overflow: hidden;
    border-radius: 10px;
    background: linear-gradient(120deg, #f3f9ef, #edf5ec);
}

.sf-food-store-stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border: 1px solid #edf0ed;
    background: #fff;
}

.sf-food-info-strip article,
.sf-food-store-stats article {
    display: grid;
    grid-template-columns: 26px 1fr;
    column-gap: 8px;
    padding: 14px 16px;
    border-right: 1px solid #e2eadf;
}

.sf-food-info-strip article:last-child,
.sf-food-store-stats article:last-child {
    border-right: 0;
}

.sf-food-info-strip b,
.sf-food-store-stats b {
    grid-row: span 2;
    color: #f2b000;
    font-size: 20px;
}

.sf-food-info-strip strong,
.sf-food-store-stats strong {
    color: var(--ref-food-ink);
    font-size: 14px;
    font-weight: 950;
}

.sf-food-info-strip span,
.sf-food-store-stats span {
    color: var(--ref-food-muted);
    font-size: 11px;
}

.sf-food-custom-card {
    display: grid;
    overflow: hidden;
    border: 1px solid #e6e9e6;
    border-radius: 12px;
    background: #fff;
}

.sf-food-custom-card h2,
.sf-food-custom-card p {
    margin: 0;
    padding: 12px 14px 0;
}

.sf-food-custom-card h2 {
    font-size: 15px;
    font-weight: 950;
}

.sf-food-custom-card p {
    padding-top: 2px;
    padding-bottom: 8px;
    color: var(--ref-food-muted);
    font-size: 12px;
}

.sf-food-custom-card a {
    display: grid;
    grid-template-columns: 26px 1fr 24px;
    gap: 9px;
    align-items: center;
    padding: 12px 14px;
    border-top: 1px solid #edf0ed;
    color: var(--ref-food-ink) !important;
    text-decoration: none !important;
}

.sf-food-option-row {
    display: grid;
    grid-template-columns: 26px 1fr;
    gap: 9px;
    align-items: center;
    padding: 12px 14px;
    border-top: 1px solid #edf0ed;
    color: var(--ref-food-ink) !important;
}

.sf-food-option-row strong {
    font-size: 13px;
    font-weight: 900;
}

.sf-food-custom-card strong { font-size: 13px; font-weight: 900; }
.sf-food-custom-card small { display: block; color: var(--ref-food-muted); font-size: 11px; }

.sf-food-ingredient-row {
    display: grid;
    gap: 8px;
}

.sf-food-ingredient-row > div:last-child {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 90px;
    gap: 12px;
    overflow-x: auto;
}

.sf-food-ingredient-row article {
    display: grid;
    min-height: 70px;
    place-items: center;
    gap: 5px;
    border: 1px solid #edf0ed;
    border-radius: 11px;
    background: #fff;
    font-size: 24px;
}

.sf-food-ingredient-row article span {
    color: var(--ref-food-muted);
    font-size: 11px;
}

.sf-food-screen--store .sf-reference-detail-hero {
    position: relative;
    display: block;
    padding: 0;
    overflow: hidden;
}

.sf-food-screen--store .sf-reference-detail-hero__media {
    min-height: 240px;
    border-radius: 13px 13px 0 0;
}

.sf-food-screen--store .sf-reference-detail-hero__copy {
    position: relative;
    padding: 28px 22px 18px;
    background: #fff;
}

.sf-food-screen--store .sf-reference-detail-hero__logo {
    position: absolute;
    top: -88px;
    left: 26px;
    width: 126px;
    height: 126px;
    border: 8px solid #fff;
    border-radius: 10px;
    background: #fff;
}

.sf-food-offer-strip {
    display: grid;
    grid-template-columns: 32px 1fr auto auto;
    gap: 10px;
    align-items: center;
    padding: 15px 18px;
    border-radius: 10px;
    background: linear-gradient(120deg, #eff9ee, #f8fff7);
    color: var(--ref-green);
}

.sf-food-offer-strip strong { color: var(--ref-food-ink); font-size: 14px; }
.sf-food-offer-strip small { color: var(--ref-food-muted); font-size: 12px; }
.sf-food-offer-strip b { padding: 8px 12px; border: 1px solid #a8ddb1; border-radius: 8px; background: #fff; font-size: 12px; }

.sf-food-store-tabs,
.sf-food-filter-row {
    display: flex;
    gap: 12px;
    align-items: center;
    overflow-x: auto;
    border-bottom: 1px solid #edf0ed;
}

.sf-food-store-tabs a,
.sf-food-filter-row button,
.sf-food-filter-row a {
    padding: 14px 18px;
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: #27313d;
    font-size: 13px;
    font-weight: 850;
    white-space: nowrap;
    text-decoration: none !important;
}

.sf-food-store-tabs a.is-active {
    border-bottom-color: var(--ref-orange);
    color: var(--ref-orange);
}

.sf-food-filter-row {
    padding: 8px 0 12px;
    border-bottom: 0;
}

.sf-food-filter-row button,
.sf-food-filter-row a {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 16px;
    border: 1px solid #edf0ed;
    border-radius: 9px;
    background: #fff;
}

.sf-food-filter-row a.is-active {
    border-color: #ffcfbf;
    background: #fff0e9;
    color: var(--ref-orange) !important;
}

.sf-food-free-delivery {
    display: grid;
    gap: 6px;
    padding: 18px 22px;
    border-radius: 12px;
    background: linear-gradient(120deg, #eff9ee, #f8fff7);
}

.sf-food-free-delivery strong { color: var(--ref-food-ink); font-size: 14px; }
.sf-food-free-delivery span { color: var(--ref-food-muted); font-size: 12px; }
.sf-food-free-delivery i { display: block; height: 7px; overflow: hidden; border-radius: 999px; background: #dfeee1; }
.sf-food-free-delivery i b { display: block; height: 100%; border-radius: inherit; background: var(--ref-green); }
.sf-food-saving-note { margin-top: 12px; padding: 12px; border-radius: 10px; background: #eff9ee; color: var(--ref-green); font-size: 12px; font-weight: 900; text-align: center; }

.sf-food-cart-item {
    position: relative;
    grid-template-columns: 92px minmax(0, 1fr) auto;
    min-height: 122px;
    border-radius: 0;
    border-width: 0 0 1px;
    box-shadow: none;
}

.sf-food-cart-item > .sf-food-veg-dot {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
    background: #fff;
}

.sf-food-cart-item > a {
    width: 92px;
    height: 92px;
}

.sf-food-cart-item p b {
    display: inline-block;
    margin-left: 8px;
    padding: 3px 8px;
    border-radius: 6px;
    background: #e6f6e9;
    color: var(--ref-green);
    font-size: 10px;
}

.sf-food-screen .sf-product-card__action,
.sf-food-screen .sf-product-card__stepper,
.sf-food-screen .sf-product-card__action-label {
    border-color: #ffb49b !important;
    color: var(--ref-orange) !important;
}

@media (max-width: 768px) {
    .sf-food-screen .sf-reference-inner__layout {
        display: block;
    }

    .sf-food-screen .sf-reference-inner__side {
        display: none;
    }

    .sf-food-screen {
        background: #fff !important;
    }

    .sf-food-screen .sf-reference-inner__hero {
        padding: 12px 8px 8px;
    }

    .sf-food-screen .sf-reference-inner__hero h1 {
        font-size: 20px;
    }

    .sf-food-breadcrumb {
        display: none;
    }

    .sf-food-screen--product .sf-reference-product-detail {
        display: block;
    }

    .sf-food-screen--product .sf-reference-product-detail__gallery {
        min-height: 280px;
        margin: -10px -10px 0;
        border-radius: 0 0 16px 16px;
    }

    .sf-food-screen--product .sf-reference-product-detail__info {
        padding: 18px 0 0;
    }

    .sf-food-screen--product .sf-reference-product-detail h1 {
        font-size: 22px;
    }

    .sf-food-info-strip,
    .sf-food-store-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sf-food-store-stats {
        overflow-x: auto;
        grid-auto-flow: column;
        grid-auto-columns: 42%;
        grid-template-columns: none;
    }

    .sf-food-screen--store .sf-reference-detail-hero__media {
        min-height: 190px;
    }

    .sf-food-screen--store .sf-reference-detail-hero__logo {
        position: static;
        width: 76px;
        height: 76px;
        border-width: 4px;
        margin-top: -62px;
    }

    .sf-food-offer-strip {
        grid-template-columns: 26px 1fr auto;
    }

    .sf-food-offer-strip small {
        grid-column: 2;
    }

    .sf-food-cart-layout,
    .sf-reference-two-col {
        grid-template-columns: 1fr !important;
    }

    .sf-food-cart-item {
        grid-template-columns: 78px minmax(0, 1fr);
    }

    .sf-food-cart-item > a {
        width: 78px;
        height: 78px;
    }
}

.sf-storefront-home-page .sf-main {
    padding-top: 0 !important;
    background: var(--ref-page) !important;
}

.sf-storefront-home-page .sf-page-loader { display: none !important; }

.sf-storefront-home-page .sf-main > .sf-container,
.sf-storefront-home-page .sf-page-shell--home > .sf-container {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
}

.sf-reference-home {
    width: 100%;
    padding: 16px 20px 40px !important;
    background: var(--ref-page) !important;
}

.sf-reference-home__layout {
    display: grid;
    width: min(1440px, 100%);
    margin: 0 auto;
    grid-template-columns: 214px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.sf-reference-mobile-head { display: none; }

.sf-reference-sidebar {
    position: sticky;
    top: 108px;
    display: grid;
    gap: 18px;
}

.sf-reference-category-card {
    display: grid;
    padding: 14px 15px 12px;
    border: 1px solid var(--ref-line);
    border-radius: 15px;
    background: #fff;
}

.sf-reference-category-card h2 {
    margin: 0 0 8px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: -.01em;
}

.sf-reference-category-row {
    display: grid;
    min-width: 0;
    min-height: 32px;
    grid-template-columns: 20px minmax(0, 1fr) 14px;
    gap: 8px;
    align-items: center;
    color: #27313d !important;
    text-decoration: none !important;
}

.sf-reference-category-row:hover strong { color: var(--ref-green); }
.sf-reference-category-row__icon {
    display: grid;
    width: 18px;
    height: 18px;
    place-items: center;
    overflow: hidden;
    border-radius: 5px;
    color: var(--ref-green);
    font-size: 9px;
    font-weight: 900;
}
.sf-reference-category-row__icon img { width: 100%; height: 100%; object-fit: contain; }
.sf-reference-category-row strong {
    overflow: hidden;
    font-size: 11px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.sf-reference-category-row > svg { width: 13px; height: 13px; }
.sf-reference-category-row small {
    padding: 2px 4px;
    border-radius: 4px;
    background: #f3251c;
    color: #fff;
    font-size: 8px;
    font-weight: 900;
}
.sf-reference-category-row.is-offer .sf-reference-category-row__icon {
    border: 1.5px solid #f3251c;
    border-radius: 999px;
    color: #f3251c;
}
.sf-reference-category-all {
    justify-self: start;
    margin-top: 6px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--ref-green-dark);
    font: inherit;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
}

.sf-reference-delivery-card {
    position: relative;
    display: grid;
    min-height: 116px;
    padding: 16px;
    overflow: hidden;
    border-radius: 15px;
    background: linear-gradient(145deg, #f4faf1, #edf7ea);
    color: var(--ref-ink) !important;
    text-decoration: none !important;
}
.sf-reference-delivery-card > strong { color: var(--ref-green-dark); font-size: 12px; font-weight: 800; }
.sf-reference-delivery-card > span { margin-top: 3px; font-size: 10px; }
.sf-reference-delivery-card > i {
    width: 118px;
    height: 5px;
    margin-top: 16px;
    overflow: hidden;
    border-radius: 999px;
    background: #dcebd8;
}
.sf-reference-delivery-card > i b { display: block; height: 100%; border-radius: inherit; background: var(--ref-green); }
.sf-reference-delivery-card > small { margin-top: 4px; color: var(--ref-muted); font-size: 9px; font-style: normal; }
.sf-reference-delivery-card > svg { position: absolute; right: 7px; bottom: 8px; width: 58px; height: 44px; }

.sf-reference-feed {
    display: flex !important;
    min-width: 0;
    max-width: none !important;
    padding: 0 !important;
    flex-direction: column;
    gap: 16px !important;
}

.sf-reference-feed > .sf-dynamic-section { order: 8; }
.sf-reference-feed > [data-section-token="hero_banner"] { order: 1; }
.sf-reference-feed > [data-section-token="mid_banner"] { order: 2; }
.sf-reference-feed > .sf-reference-benefits { order: 3; }
.sf-reference-feed > [data-section-token="top_picks"] { order: 4; }
.sf-reference-feed > [data-section-token="flash_sale"] { order: 5; }
.sf-reference-feed > [data-section-token="subcategories"] { order: 6; }
.sf-reference-feed > [data-section-token="sponsored_offers"] { order: 7; }

.sf-reference-feed .sf-front-section {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.sf-reference-feed .sf-front-section__head {
    min-height: 30px;
    margin: 0 0 10px !important;
    padding: 0 !important;
    align-items: center !important;
}
.sf-reference-feed .sf-front-section__head h2 {
    margin: 0 !important;
    color: var(--ref-ink) !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    letter-spacing: -.015em !important;
    line-height: 1.2 !important;
}
.sf-reference-feed .sf-front-section__head p {
    margin: 2px 0 0 !important;
    color: var(--ref-muted) !important;
    font-size: 10px !important;
}
.sf-reference-feed .sf-front-section__cta {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--ref-green-dark) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
}

/* Hero: one dominant campaign and up to two supporting campaigns. */
.sf-reference-feed [data-section-token="hero_banner"] .sf-premium-banner-shell {
    height: 300px !important;
    overflow: hidden !important;
    border-radius: 15px !important;
}
.sf-reference-feed [data-section-token="hero_banner"] .sf-premium-banner-grid {
    display: grid !important;
    width: 100% !important;
    height: 300px !important;
    grid-template-columns: minmax(0, 2.65fr) minmax(250px, 1fr) !important;
    grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
    overflow: hidden !important;
    transform: none !important;
}
.sf-reference-feed [data-section-token="hero_banner"] .sf-premium-banner-card {
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 15px !important;
    background: linear-gradient(135deg, #f4faef, #eaf5e7) !important;
}
.sf-reference-feed [data-section-token="hero_banner"] .sf-premium-banner-card:first-child {
    grid-row: 1 / -1 !important;
}
.sf-reference-feed [data-section-token="hero_banner"] .sf-premium-banner-card:nth-child(n+4) { display: none !important; }
.sf-reference-feed [data-section-token="hero_banner"] .sf-premium-banner-card:nth-child(2) { background: linear-gradient(135deg, #fff8d9, #fff2c3) !important; }
.sf-reference-feed [data-section-token="hero_banner"] .sf-premium-banner-card:nth-child(3) { background: linear-gradient(135deg, #fff3ec, #ffe9df) !important; }
.sf-reference-feed [data-section-token="hero_banner"] .sf-premium-banner-card picture,
.sf-reference-feed [data-section-token="hero_banner"] .sf-premium-banner-card img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}
.sf-reference-feed [data-section-token="hero_banner"] .sf-premium-banner-card > div {
    inset: auto auto 30px 34px !important;
    max-width: 46% !important;
    padding: 0 !important;
    background: transparent !important;
}
.sf-reference-feed [data-section-token="hero_banner"] .sf-premium-banner-card > div strong {
    font-size: clamp(22px, 2.15vw, 34px) !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
}
.sf-reference-feed [data-section-token="hero_banner"] .sf-premium-banner-card > div span { font-size: 13px !important; }
.sf-reference-feed [data-section-token="hero_banner"] .sf-premium-banner-card:nth-child(n+2) > div {
    bottom: 20px !important;
    left: 22px !important;
    max-width: 58% !important;
}
.sf-reference-feed [data-section-token="hero_banner"] .sf-premium-banner-card:nth-child(n+2) > div strong { font-size: 18px !important; }
.sf-reference-feed [data-section-token="hero_banner"] .sf-premium-banner-nav { display: none !important; }
.sf-reference-feed [data-section-token="hero_banner"] .sf-premium-banner-dots { left: 32%; bottom: 12px; }

/* Mid campaigns become the two compact offer cards shown below the hero on PWA. */
.sf-reference-feed [data-section-token="mid_banner"] .sf-premium-banner-shell { overflow: hidden; border-radius: 14px; }
.sf-reference-feed [data-section-token="mid_banner"] .sf-premium-banner-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
}
.sf-reference-feed [data-section-token="mid_banner"] .sf-premium-banner-card {
    min-height: 140px !important;
    border: 0 !important;
    border-radius: 14px !important;
}

.sf-reference-benefits {
    display: grid;
    min-height: 72px;
    padding: 12px 18px;
    border: 1px solid var(--ref-line);
    border-radius: 14px;
    background: #fff;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: center;
}
.sf-reference-benefits article {
    display: flex;
    min-width: 0;
    gap: 10px;
    align-items: center;
    justify-content: center;
    border-right: 1px solid #edf0ee;
}
.sf-reference-benefits article:last-child { border-right: 0; }
.sf-reference-benefits article > span { display: grid; width: 28px; height: 28px; place-items: center; color: var(--ref-green); line-height: 1; }
.sf-reference-benefits article > span svg { width: 100%; height: 100%; }
.sf-reference-benefits article > div { display: grid; min-width: 0; gap: 2px; }
.sf-reference-benefits strong { font-size: 11px; font-weight: 800; white-space: nowrap; }
.sf-reference-benefits small { color: var(--ref-muted); font-size: 9px; white-space: nowrap; }

/* Dense reference product rail. */
.sf-reference-feed .sf-home-product-grid,
.sf-reference-feed .sf-home-product-grid.is-scroller {
    display: grid !important;
    padding: 0 !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(130px, 1fr) !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 14px !important;
    overflow-x: auto !important;
    scroll-snap-type: x proximity;
}
.sf-reference-feed .sf-product-card {
    display: flex !important;
    min-width: 0 !important;
    min-height: 194px !important;
    padding: 9px !important;
    border: 1px solid var(--ref-line) !important;
    border-radius: 11px !important;
    background: #fff !important;
    flex-direction: column !important;
    scroll-snap-align: start;
    box-shadow: none !important;
}
.sf-reference-feed .sf-product-card__thumb {
    width: 100% !important;
    height: 98px !important;
    min-height: 98px !important;
    border-radius: 8px !important;
    background: #fff !important;
}
.sf-reference-feed .sf-product-card__image-track,
.sf-reference-feed .sf-product-card__image-slide { width: 100% !important; height: 100% !important; }
.sf-reference-feed .sf-product-card__image-slide { object-fit: contain !important; }
.sf-reference-feed .sf-product-card__rating-badge,
.sf-reference-feed .sf-product-card__topline,
.sf-reference-feed .sf-product-card__brand,
.sf-reference-feed .sf-product-card__tags,
.sf-reference-feed .sf-product-card__saving,
.sf-reference-feed .sf-product-card__variant-strip { display: none !important; }
.sf-reference-feed .sf-product-card__discount-flag {
    top: 2px !important;
    left: 2px !important;
    display: grid !important;
    min-width: 32px !important;
    min-height: 34px !important;
    place-items: center !important;
    padding: 3px !important;
    border-radius: 5px !important;
    background: var(--ref-green) !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}
.sf-reference-feed .sf-product-card__discount-flag small { display: block; color: #fff !important; font-size: 8px !important; }
.sf-reference-feed .sf-product-card > a:has(h3) { margin-top: 6px; }
.sf-reference-feed .sf-product-card h3 {
    min-height: 29px !important;
    margin: 0 !important;
    overflow: hidden !important;
    color: #20272f !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.28 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
}
.sf-reference-feed .sf-product-card__subtitle {
    min-height: 13px !important;
    overflow: hidden !important;
    color: var(--ref-muted) !important;
    font-size: 9px !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
.sf-reference-feed .sf-product-card__footer { margin-top: auto !important; align-items: end !important; }
.sf-reference-feed .sf-product-card__price { display: grid !important; gap: 0 !important; }
.sf-reference-feed .sf-product-card__price strong { color: var(--ref-ink) !important; font-size: 14px !important; font-weight: 900 !important; }
.sf-reference-feed .sf-product-card__price small { color: #8b939d !important; font-size: 9px !important; }
.sf-reference-feed .sf-product-card__action,
.sf-reference-feed .sf-product-card__stepper {
    min-width: 46px !important;
    height: 30px !important;
    min-height: 30px !important;
    border: 1px solid #b9dfbf !important;
    border-radius: 7px !important;
    background: #f3fff4 !important;
    color: var(--ref-green-dark) !important;
    font-size: 10px !important;
    font-weight: 900 !important;
}

.sf-reference-feed .sf-home-category-grid {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 14px !important;
}
.sf-reference-feed .sf-home-category-tile__top {
    width: 58px !important;
    height: 58px !important;
    border-radius: 999px !important;
    background: #f1f5f1 !important;
}
.sf-reference-feed .sf-home-category-tile > span { font-size: 10px !important; font-weight: 700 !important; }

.sf-reference-feed .sf-home-store-grid.is-scroller {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(220px, 1fr) !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
    overflow-x: auto !important;
}
.sf-reference-feed .sf-store-card {
    display: grid !important;
    min-width: 0 !important;
    min-height: 76px !important;
    padding: 10px !important;
    border: 1px solid var(--ref-line) !important;
    border-radius: 11px !important;
    background: #fff !important;
    grid-template-columns: 58px minmax(0, 1fr) !important;
    gap: 10px !important;
}
.sf-reference-feed .sf-store-card__cover { width: 58px !important; height: 58px !important; border-radius: 9px !important; }
.sf-reference-feed .sf-store-card__cover > img { object-fit: cover !important; }
.sf-reference-feed .sf-store-card__open,
.sf-reference-feed .sf-store-card__logo { display: none !important; }
.sf-reference-feed .sf-store-card__body { min-width: 0 !important; padding: 2px 0 !important; }
.sf-reference-feed .sf-store-card__title { font-size: 11px !important; font-weight: 800 !important; }
.sf-reference-feed .sf-store-card__subtitle { display: none !important; }
.sf-reference-feed .sf-store-card__meta { gap: 4px !important; }
.sf-reference-feed .sf-store-card__meta span { font-size: 8px !important; }

@media (min-width: 901px) {
    .sf-storefront-home-page .sf-header {
        position: sticky !important;
        top: 0 !important;
        z-index: 1000 !important;
        min-height: 94px !important;
        border-bottom: 1px solid #edf0ee !important;
        background: rgba(255,255,255,.97) !important;
        backdrop-filter: blur(16px);
    }
    .sf-storefront-home-page .sf-header > .sf-container { width: min(1480px, 100%) !important; max-width: none !important; padding: 0 24px !important; }
    .sf-storefront-home-page .sf-desktop-header__top {
        min-height: 94px !important;
        grid-template-columns: 205px minmax(300px, max-content) minmax(280px, 1fr) auto !important;
        gap: 12px !important;
    }
    .sf-storefront-home-page .sf-wordmark--desktop img { height: 40px !important; max-width: 178px !important; }
    .sf-storefront-home-page .sf-desktop-location--under-logo span { display: none !important; }
    .sf-storefront-home-page .sf-desktop-location--under-logo strong::before { content: "\26A1\00a0"; color: #ffbd00; }
    .sf-storefront-home-page .sf-desktop-location--under-logo strong { color: var(--ref-muted) !important; font-size: 10px !important; font-weight: 600 !important; }
    .sf-storefront-home-page .sf-desktop-service-tabs { gap: 0 !important; }
    .sf-storefront-home-page .sf-desktop-service-tabs a {
        min-width: 66px !important;
        height: 54px !important;
        padding: 6px 10px !important;
        border: 1px solid #edf0ee !important;
        border-radius: 12px !important;
        background: #fff !important;
        color: var(--ref-ink) !important;
        box-shadow: none !important;
    }
    .sf-storefront-home-page .sf-desktop-service-tabs a.is-active { border-color: #d9ead9 !important; background: #eff8ee !important; color: var(--ref-green-dark) !important; }
    .sf-storefront-home-page .sf-desktop-service-tabs img { width: 24px !important; height: 24px !important; }
    .sf-storefront-home-page .sf-desktop-service-tabs span { font-size: 9px !important; font-weight: 700 !important; }
    .sf-storefront-home-page .sf-desktop-search {
        height: 48px !important;
        border: 1px solid var(--ref-line) !important;
        border-radius: 15px !important;
        background: #fff !important;
        box-shadow: 0 3px 12px rgba(24,40,28,.04) !important;
    }
    .sf-storefront-home-page .sf-desktop-search::after {
        content: "⌕";
        display: grid;
        width: 36px;
        height: 36px;
        place-items: center;
        border-radius: 9px;
        background: var(--ref-green);
        color: #fff;
        font-size: 20px;
    }
    .sf-storefront-home-page .sf-desktop-search input { font-size: 11px !important; }
    .sf-storefront-home-page .sf-desktop-actions { gap: 0 !important; }
    .sf-storefront-home-page .sf-desktop-link,
    .sf-storefront-home-page .sf-desktop-cart,
    .sf-storefront-home-page .sf-desktop-icon {
        min-height: 54px !important;
        padding: 7px 12px !important;
        border: 1px solid #edf0ee !important;
        border-radius: 11px !important;
        background: #fff !important;
        color: var(--ref-ink) !important;
        font-size: 9px !important;
        box-shadow: none !important;
    }
    .sf-storefront-home-page .sf-desktop-actions svg { width: 20px !important; height: 20px !important; }
    .sf-storefront-home-page .sf-desktop-cart span,
    .sf-storefront-home-page .sf-desktop-cart strong { font-size: 9px !important; }
    .sf-storefront-home-page .sf-footer { display: none !important; }
    .sf-storefront-home-page .sf-zepto-delivery-dock { display: none !important; }
}

@media (max-width: 1180px) and (min-width: 901px) {
    .sf-storefront-home-page .sf-desktop-header__top { grid-template-columns: 175px minmax(260px, max-content) minmax(230px, 1fr) auto !important; }
    .sf-storefront-home-page .sf-desktop-service-tabs a { min-width: 58px !important; padding-inline: 7px !important; }
    .sf-storefront-home-page .sf-desktop-link--button { display: none !important; }
    .sf-reference-home__layout { grid-template-columns: 190px minmax(0, 1fr); }
    .sf-reference-feed .sf-home-product-grid,
    .sf-reference-feed .sf-home-product-grid.is-scroller { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
}

@media (max-width: 900px) {
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page > .sf-header,
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page > .sf-top-strip {
        display: none !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-home {
        padding-top: 0 !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-head {
        position: sticky !important;
        top: 0 !important;
        z-index: 1100 !important;
        display: grid !important;
        width: calc(100% + 24px) !important;
        height: 126px !important;
        min-height: 126px !important;
        margin: 0 -12px 10px !important;
        padding: 8px 12px 9px !important;
        border-bottom: 1px solid var(--ref-line) !important;
        background: rgba(255,255,255,.98) !important;
        grid-template-rows: 43px 58px !important;
        gap: 8px !important;
        backdrop-filter: blur(14px) !important;
        box-shadow: 0 4px 12px rgba(20,35,24,.03) !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-head__top {
        display: grid !important;
        min-width: 0 !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 8px !important;
        align-items: center !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-location {
        display: flex !important;
        min-width: 0 !important;
        height: 42px !important;
        margin: 0 !important;
        padding: 0 !important;
        align-items: center !important;
        gap: 8px !important;
        border: 0 !important;
        background: transparent !important;
        color: var(--ref-ink) !important;
        text-align: left !important;
        cursor: pointer !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-location > svg {
        width: 21px !important;
        min-width: 21px !important;
        height: 21px !important;
        color: var(--ref-green) !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-location > span {
        display: grid !important;
        min-width: 0 !important;
        gap: 1px !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-location small {
        color: #7b8490 !important;
        font-size: 8px !important;
        font-weight: 700 !important;
        line-height: 11px !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-location strong {
        display: block !important;
        max-width: 190px !important;
        overflow: hidden !important;
        color: var(--ref-ink) !important;
        font-size: 12px !important;
        font-weight: 800 !important;
        line-height: 17px !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-location strong b {
        color: #667085 !important;
        font-size: 12px !important;
        font-weight: 700 !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-actions {
        display: flex !important;
        gap: 6px !important;
        align-items: center !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-actions a {
        position: relative !important;
        display: grid !important;
        width: 36px !important;
        min-width: 36px !important;
        height: 36px !important;
        place-items: center !important;
        border: 1px solid var(--ref-line) !important;
        border-radius: 10px !important;
        background: #fff !important;
        color: var(--ref-ink) !important;
        text-decoration: none !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-actions svg {
        width: 19px !important;
        height: 19px !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-actions i {
        position: absolute !important;
        top: -6px !important;
        right: -5px !important;
        display: grid !important;
        min-width: 17px !important;
        height: 17px !important;
        place-items: center !important;
        border: 2px solid #fff !important;
        border-radius: 999px !important;
        background: var(--ref-green) !important;
        color: #fff !important;
        font-size: 8px !important;
        font-style: normal !important;
        font-weight: 900 !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-services {
        display: grid !important;
        min-width: 0 !important;
        height: 58px !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: 5px !important;
        align-items: start !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-services a,
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-services button {
        display: grid !important;
        min-width: 0 !important;
        height: 58px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        color: var(--ref-ink) !important;
        grid-template-rows: 40px 14px !important;
        gap: 2px !important;
        justify-items: center !important;
        text-decoration: none !important;
        cursor: pointer !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-services a > span,
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-services button > span {
        display: grid !important;
        width: 40px !important;
        height: 40px !important;
        place-items: center !important;
        overflow: hidden !important;
        border: 1px solid var(--ref-line) !important;
        border-radius: 999px !important;
        background: #f8faf8 !important;
        font-size: 12px !important;
        font-weight: 900 !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-services a.is-active > span {
        border-color: #9fd8aa !important;
        background: #edf8ed !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-services img {
        width: 27px !important;
        height: 27px !important;
        object-fit: contain !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-services strong {
        display: block !important;
        max-width: 100% !important;
        overflow: hidden !important;
        color: var(--ref-ink) !important;
        font-size: 8px !important;
        font-weight: 700 !important;
        line-height: 12px !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-home__layout {
        margin-top: 0 !important;
    }

    .sf-storefront-home-page { background: #fff !important; }
    .sf-storefront-home-page .sf-top-strip { display: none !important; }
    .sf-storefront-home-page .sf-header {
        position: sticky !important;
        top: 0 !important;
        z-index: 1000 !important;
        border-bottom: 1px solid #edf0ee !important;
        background: rgba(255,255,255,.98) !important;
        backdrop-filter: blur(14px);
    }
    .sf-storefront-home-page .sf-header > .sf-container { padding: 0 !important; }
    .sf-storefront-home-page .sf-app-chrome { padding: 8px 12px 7px !important; }
    .sf-storefront-home-page .sf-mobile-header {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas: "delivery actions" "services services" !important;
        gap: 9px 10px !important;
        padding: 0 !important;
    }
    .sf-storefront-home-page .sf-mobile-brand-lockup,
    .sf-storefront-home-page .sf-searchbar--mobile,
    .sf-storefront-home-page .sf-zepto-search-promo { display: none !important; }
    .sf-storefront-home-page .sf-mobile-delivery-card {
        grid-area: delivery !important;
        min-width: 0 !important;
        min-height: 44px !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }
    .sf-storefront-home-page .sf-mobile-delivery-card__pin { width: 22px !important; height: 22px !important; color: var(--ref-green) !important; }
    .sf-storefront-home-page .sf-mobile-delivery-card__copy span { font-size: 9px !important; }
    .sf-storefront-home-page .sf-mobile-delivery-card__copy strong { font-size: 12px !important; }
    .sf-storefront-home-page .sf-mobile-header__actions { grid-area: actions !important; display: flex !important; gap: 6px !important; }
    .sf-storefront-home-page .sf-mobile-action-btn {
        display: grid !important;
        width: 36px !important;
        height: 36px !important;
        place-items: center !important;
        border: 1px solid var(--ref-line) !important;
        border-radius: 10px !important;
        background: #fff !important;
        color: var(--ref-ink) !important;
    }
    .sf-storefront-home-page .sf-mobile-action-btn svg { width: 19px !important; height: 19px !important; }
    .sf-storefront-home-page .sf-header-service-selector {
        grid-area: services !important;
        display: grid !important;
        margin: 0 !important;
        padding: 0 !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: 7px !important;
        overflow: visible !important;
    }
    .sf-storefront-home-page .sf-header-service-selector::after {
        content: "•••\A More";
        display: grid;
        height: 56px;
        place-items: center;
        border: 1px solid var(--ref-line);
        border-radius: 999px 999px 12px 12px;
        color: var(--ref-ink);
        font-size: 9px;
        font-weight: 700;
        white-space: pre;
        text-align: center;
    }
    .sf-storefront-home-page .sf-header-service-selector a {
        display: grid !important;
        min-width: 0 !important;
        height: 56px !important;
        padding: 4px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        justify-items: center !important;
    }
    .sf-storefront-home-page .sf-header-service-selector img {
        width: 38px !important;
        height: 38px !important;
        padding: 6px !important;
        border: 1px solid var(--ref-line) !important;
        border-radius: 999px !important;
        background: #f8faf8 !important;
    }
    .sf-storefront-home-page .sf-header-service-selector a.is-active img { border-color: #b9dfbf !important; background: #edf8ed !important; }
    .sf-storefront-home-page .sf-header-service-selector span { font-size: 8px !important; font-weight: 700 !important; }

    .sf-reference-home { padding: 10px 12px 92px !important; background: #fff !important; }
    .sf-reference-home__layout { display: block; width: 100%; }
    .sf-reference-sidebar { display: none; }
    .sf-reference-feed { gap: 14px !important; }

    .sf-reference-feed [data-section-token="hero_banner"] .sf-premium-banner-shell { height: 255px !important; border-radius: 14px !important; }
    .sf-reference-feed [data-section-token="hero_banner"] .sf-premium-banner-grid {
        display: grid !important;
        width: 100% !important;
        height: 255px !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-template-rows: 1fr !important;
        gap: 8px !important;
        overflow-x: auto !important;
        scroll-snap-type: x mandatory;
    }
    .sf-reference-feed [data-section-token="hero_banner"] .sf-premium-banner-card {
        display: none !important;
        min-width: 100% !important;
        height: 255px !important;
        grid-column: 1 / -1 !important;
        grid-row: 1 !important;
        scroll-snap-align: start;
    }
    .sf-reference-feed [data-section-token="hero_banner"] .sf-premium-banner-card:first-child { display: block !important; }
    .sf-reference-feed [data-section-token="hero_banner"] .sf-premium-banner-card > div { bottom: 22px !important; left: 18px !important; max-width: 53% !important; }
    .sf-reference-feed [data-section-token="hero_banner"] .sf-premium-banner-card > div strong { font-size: 21px !important; }
    .sf-reference-feed [data-section-token="hero_banner"] .sf-premium-banner-card > div span { font-size: 10px !important; }

    .sf-reference-feed [data-section-token="mid_banner"] .sf-premium-banner-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; }
    .sf-reference-feed [data-section-token="mid_banner"] .sf-premium-banner-card { min-height: 118px !important; border-radius: 12px !important; }
    .sf-reference-feed [data-section-token="mid_banner"] .sf-premium-banner-card:nth-child(n+3) { display: none !important; }
    .sf-reference-feed [data-section-token="mid_banner"] .sf-premium-banner-card > div { padding: 10px !important; }
    .sf-reference-feed [data-section-token="mid_banner"] .sf-premium-banner-card strong { font-size: 12px !important; }
    .sf-reference-feed [data-section-token="mid_banner"] .sf-premium-banner-card span { font-size: 8px !important; }

    .sf-reference-benefits {
        min-height: 76px;
        margin-right: -12px;
        margin-left: -12px;
        padding: 10px 8px;
        overflow-x: auto;
        border-right: 0;
        border-left: 0;
        border-radius: 0;
        grid-template-columns: repeat(5, minmax(74px, 1fr));
    }
    .sf-reference-benefits article { display: grid; gap: 4px; justify-items: center; text-align: center; }
    .sf-reference-benefits article > span { width: 22px; height: 22px; }
    .sf-reference-benefits article > div { justify-items: center; }
    .sf-reference-benefits strong { font-size: 8px; }
    .sf-reference-benefits small { font-size: 7px; }

    .sf-reference-feed .sf-front-section__head { min-height: 24px; margin-bottom: 7px !important; }
    .sf-reference-feed .sf-front-section__head h2 { font-size: 15px !important; }
    .sf-reference-feed .sf-front-section__head p { display: none !important; }
    .sf-reference-feed .sf-front-section__cta { font-size: 9px !important; }

    .sf-reference-feed .sf-home-product-grid,
    .sf-reference-feed .sf-home-product-grid.is-scroller {
        margin-right: -12px !important;
        padding-right: 12px !important;
        grid-auto-columns: calc((100vw - 44px) / 3) !important;
        grid-template-columns: none !important;
        gap: 8px !important;
    }
    .sf-reference-feed .sf-product-card { min-height: 184px !important; padding: 7px !important; border-radius: 9px !important; }
    .sf-reference-feed .sf-product-card__thumb { height: 86px !important; min-height: 86px !important; }
    .sf-reference-feed .sf-product-card h3 { min-height: 26px !important; font-size: 9px !important; }
    .sf-reference-feed .sf-product-card__subtitle { font-size: 8px !important; }
    .sf-reference-feed .sf-product-card__price strong { font-size: 12px !important; }
    .sf-reference-feed .sf-product-card__price small { font-size: 8px !important; }
    .sf-reference-feed .sf-product-card__action,
    .sf-reference-feed .sf-product-card__stepper {
        width: 27px !important;
        min-width: 27px !important;
        max-width: 45px !important;
        height: 27px !important;
        min-height: 27px !important;
        padding: 0 5px !important;
        background: var(--ref-green) !important;
        color: #fff !important;
    }
    .sf-reference-feed .sf-home-category-grid {
        margin-right: -12px;
        padding-right: 12px;
        grid-template-columns: repeat(6, 64px) !important;
        gap: 8px !important;
        overflow-x: auto;
    }
    .sf-reference-feed .sf-home-category-tile__top { width: 48px !important; height: 48px !important; }
    .sf-reference-feed .sf-home-category-tile > span { font-size: 8px !important; }
    .sf-reference-feed .sf-home-store-grid.is-scroller {
        margin-right: -12px;
        padding-right: 12px;
        grid-auto-columns: 210px !important;
        grid-template-columns: none !important;
    }

    .sf-storefront-home-page .sf-footer,
    .sf-storefront-home-page .sf-zepto-delivery-dock { display: none !important; }
    .sf-storefront-home-page .sf-bottom-nav {
        position: fixed !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        z-index: 1200 !important;
        display: grid !important;
        height: calc(68px + env(safe-area-inset-bottom)) !important;
        padding: 7px 8px env(safe-area-inset-bottom) !important;
        border-top: 1px solid var(--ref-line) !important;
        border-radius: 0 !important;
        background: rgba(255,255,255,.98) !important;
        grid-template-columns: repeat(5, 1fr) !important;
        box-shadow: 0 -5px 18px rgba(20,35,24,.05) !important;
        backdrop-filter: blur(14px);
    }
    .sf-storefront-home-page .sf-bottom-nav a,
    .sf-storefront-home-page .sf-bottom-nav button {
        display: grid !important;
        min-width: 0 !important;
        height: 54px !important;
        padding: 4px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: #667085 !important;
        place-items: center !important;
        box-shadow: none !important;
    }
    .sf-storefront-home-page .sf-bottom-nav svg { width: 20px !important; height: 20px !important; }
    .sf-storefront-home-page .sf-bottom-nav span { font-size: 8px !important; font-weight: 700 !important; }
    .sf-storefront-home-page .sf-bottom-nav .is-active { color: var(--ref-green) !important; }
}

/* Admin banner creatives keep the established home geometry. */
body.sf-storefront-home-page .sf-reference-hero.is-solo {
    grid-template-columns: minmax(0, 1fr) !important;
}

body.sf-storefront-home-page .sf-reference-hero picture,
body.sf-storefront-home-page .sf-reference-hero__main > picture {
    display: contents;
}

body.sf-storefront-home-page .sf-reference-hero__promos.is-single {
    grid-template-rows: minmax(0, 1fr) !important;
}

body.sf-storefront-home-page .sf-reference-promo > picture {
    position: absolute;
    inset: 0 0 0 auto;
    display: block;
    width: 48%;
    height: 100%;
}

body.sf-storefront-home-page .sf-reference-promo__image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
}

/* Completed cart and checkout transaction surfaces. */
.sf-checkout-progress {
    display: grid;
    margin: 0;
    padding: 12px 18px;
    border: 1px solid var(--ref-line);
    border-radius: 13px;
    background: #fff;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    list-style: none;
}

.sf-checkout-progress li {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: var(--ref-muted);
    font-size: 11px;
    font-weight: 800;
}

.sf-checkout-progress li:not(:last-child)::after {
    position: absolute;
    top: 50%;
    left: calc(50% + 38px);
    width: calc(100% - 76px);
    height: 2px;
    background: #e5e7eb;
    content: "";
}

.sf-checkout-progress b {
    display: grid;
    width: 27px;
    height: 27px;
    place-items: center;
    border-radius: 999px;
    background: #eef1f4;
}

.sf-checkout-progress .is-complete b,
.sf-checkout-progress .is-active b { background: var(--ref-green); color: #fff; }
.sf-checkout-progress .is-complete::after { background: var(--ref-green) !important; }
.sf-checkout-main-column { display: grid; min-width: 0; gap: 14px; }
.sf-checkout-section { display: grid; gap: 14px; }
.sf-checkout-errors { padding: 12px 16px; border: 1px solid #fecaca; border-radius: 12px; background: #fff1f2; color: #b42318; font-size: 12px; }
.sf-checkout-errors ul { margin: 5px 0 0; padding-left: 18px; }

.sf-checkout-choice-grid,
.sf-reference-payment-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.sf-checkout-choice-grid label,
.sf-reference-payment-grid label { position: relative; display: block; cursor: pointer; }
.sf-checkout-choice-grid input,
.sf-reference-payment-grid input { position: absolute; opacity: 0; }
.sf-checkout-choice-grid label > span,
.sf-reference-payment-grid label > span { display: grid; min-height: 62px; padding: 12px; border: 1px solid var(--ref-line); border-radius: 11px; background: #fff; align-content: center; gap: 3px; }
.sf-checkout-choice-grid input:checked + span,
.sf-reference-payment-grid input:checked + span { border-color: var(--ref-green); background: #effaf1; color: var(--ref-green-dark); box-shadow: 0 0 0 2px rgba(8,161,38,.08); }
.sf-checkout-choice-grid small { color: var(--ref-muted); font-size: 10px; }

.sf-checkout-address-rail,
.sf-checkout-coupon-rail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(190px, 1fr); gap: 9px; overflow-x: auto; scrollbar-width: thin; }
.sf-checkout-address-rail button,
.sf-checkout-coupon-rail button { display: grid; min-height: 78px; padding: 11px; border: 1px solid var(--ref-line); border-radius: 11px; background: #fff; color: var(--ref-ink); text-align: left; gap: 4px; cursor: pointer; }
.sf-checkout-address-rail button.is-active,
.sf-checkout-coupon-rail button:focus { border-color: var(--ref-green); background: #effaf1; }
.sf-checkout-address-rail span,
.sf-checkout-coupon-rail span { overflow: hidden; color: var(--ref-muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.sf-checkout-coupon-rail small { color: var(--ref-green-dark); font-size: 9px; }

.sf-checkout-instructions { display: flex; flex-wrap: wrap; gap: 8px; }
.sf-checkout-instructions button { min-height: 34px; padding: 0 11px; border: 1px solid var(--ref-line); border-radius: 999px; background: #fff; color: var(--ref-ink); font-size: 10px; font-weight: 750; cursor: pointer; }
.sf-checkout-instructions button.is-active { border-color: var(--ref-green); background: #effaf1; color: var(--ref-green-dark); }
.sf-checkout-notes { display: grid; gap: 6px; color: var(--ref-muted); font-size: 11px; font-weight: 750; }
.sf-checkout-notes textarea { width: 100%; padding: 11px; border: 1px solid var(--ref-line); border-radius: 10px; resize: vertical; }
.sf-reference-coupon-input { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.sf-reference-coupon-input input { min-width: 0; min-height: 42px; padding: 0 12px; border: 1px solid var(--ref-line); border-radius: 9px; }
.sf-reference-coupon-input button { padding: 0 16px; border: 0; border-radius: 9px; background: var(--ref-green); color: #fff; font-weight: 850; cursor: pointer; }
.sf-reference-wallet { display: flex; min-height: 46px; padding: 10px 12px; align-items: center; gap: 9px; border-radius: 10px; background: #f4f9f3; font-size: 11px; }
.sf-reference-wallet span { display: flex; width: 100%; justify-content: space-between; }
.sf-checkout-summary { position: sticky; top: 102px; align-self: start; }
.sf-checkout-summary .is-payable { color: var(--ref-green-dark); }
.sf-checkout-summary > small { color: var(--ref-muted); font-size: 9px; line-height: 1.4; }
.sf-checkout-preview-status { min-height: 17px; margin: 0; color: var(--ref-green-dark); font-size: 10px; }
.sf-checkout-preview-status[data-state="error"] { color: #b42318; }
.sf-cart-trust-strip { display: grid; padding: 14px; border: 1px solid var(--ref-line); border-radius: 13px; background: #fff; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sf-cart-trust-strip div { display: grid; padding: 0 14px; gap: 3px; border-right: 1px solid var(--ref-line); }
.sf-cart-trust-strip div:last-child { border-right: 0; }
.sf-cart-trust-strip b { font-size: 11px; }
.sf-cart-trust-strip span { color: var(--ref-muted); font-size: 9px; }
.sf-cart-mobile-checkout { display: none; }
.sf-reference-coupon { color: inherit !important; text-decoration: none !important; }
.sf-reference-coupon > b { color: var(--ref-green-dark); font-size: 9px; }
.sf-cart-title-actions { display: flex; align-items: center; gap: 7px; }
.sf-cart-title-actions > button,
.sf-cart-title-actions form button { display: inline-flex; min-height: 36px; padding: 0 10px; align-items: center; gap: 5px; border: 1px solid var(--ref-line); border-radius: 9px; background: #fff; color: var(--ref-ink); font-size: 10px; font-weight: 800; cursor: pointer; }
.sf-cart-title-actions svg { width: 16px; height: 16px; }

@media (max-width: 900px) {
    html body.sf-storefront-home-page .sf-reference-mobile-head__top {
        grid-template-columns: 92px minmax(0, 1fr) auto !important;
    }
    html body.sf-storefront-home-page .sf-reference-mobile-brand {
        display: flex !important;
        width: 92px !important;
        height: 40px !important;
        align-items: center !important;
        overflow: hidden !important;
        color: var(--ref-ink) !important;
        text-decoration: none !important;
    }
    html body.sf-storefront-home-page .sf-reference-mobile-brand img { width: auto !important; height: 34px !important; max-width: 88px !important; object-fit: contain !important; object-position: left center !important; }
    html body.sf-storefront-home-page .sf-reference-mobile-brand strong { overflow: hidden; font-size: 11px; font-weight: 900; text-overflow: ellipsis; white-space: nowrap; }
    html body.sf-storefront-home-page .sf-reference-mobile-location { justify-content: center !important; text-align: center !important; }
    html body.sf-storefront-home-page .sf-reference-mobile-location > svg { display: none !important; }
    html body.sf-storefront-home-page .sf-reference-mobile-location > span { justify-items: center !important; }
    html body.sf-storefront-home-page .sf-reference-mobile-location strong { max-width: 33vw !important; }

    .sf-checkout-progress { padding: 9px 6px; }
    .sf-checkout-progress li { gap: 4px; font-size: 9px; }
    .sf-checkout-progress li:not(:last-child)::after { left: calc(50% + 27px); width: calc(100% - 54px); }
    .sf-checkout-progress b { width: 24px; height: 24px; }
    .sf-reference-checkout { display: block !important; }
    .sf-checkout-main-column { gap: 10px; }
    .sf-checkout-summary { position: static; margin-top: 10px; }
    .sf-checkout-choice-grid,
    .sf-reference-payment-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sf-checkout-address-rail,
    .sf-checkout-coupon-rail { margin-right: -10px; padding-right: 10px; grid-auto-columns: 78vw; }
    .sf-cart-trust-strip { grid-template-columns: 1fr; }
    .sf-cart-title-actions span { display: none; }
    .sf-cart-trust-strip div { padding: 10px 4px; border-right: 0; border-bottom: 1px solid var(--ref-line); }
    .sf-cart-trust-strip div:last-child { border-bottom: 0; }
    .sf-cart-mobile-checkout { position: fixed; right: 0; bottom: calc(68px + env(safe-area-inset-bottom)); left: 0; z-index: 1150; display: flex; min-height: 64px; padding: 8px 12px; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid var(--ref-line); background: rgba(255,255,255,.98); box-shadow: 0 -8px 24px rgba(15,23,42,.08); }
    .sf-cart-mobile-checkout span { display: grid; }
    .sf-cart-mobile-checkout small { color: var(--ref-muted); font-size: 9px; }
    .sf-cart-mobile-checkout strong { font-size: 16px; }
    .sf-cart-mobile-checkout a { min-height: 44px; padding: 0 20px; display: inline-flex; align-items: center; border-radius: 10px; background: var(--ref-green); color: #fff !important; font-size: 12px; font-weight: 900; text-decoration: none !important; }
}

@media (min-width: 1200px) {
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-header > .sf-container {
        width: min(1400px, 100%) !important;
        max-width: 1400px !important;
        padding-right: 24px !important;
        padding-left: 24px !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-desktop-header__top {
        display: grid !important;
        min-height: 88px !important;
        grid-template-columns: 200px 330px minmax(320px, 420px) minmax(300px, 1fr) !important;
        grid-template-areas: "brand services search actions" !important;
        gap: 14px !important;
        align-items: center !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-wordmark--desktop {
        width: 200px !important;
        min-width: 0 !important;
        justify-self: start !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-desktop-service-tabs {
        display: grid !important;
        width: 330px !important;
        min-width: 330px !important;
        grid-auto-flow: column !important;
        grid-auto-columns: minmax(72px, 1fr) !important;
        gap: 4px !important;
        justify-self: start !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-desktop-service-tabs a {
        width: 100% !important;
        min-width: 0 !important;
        height: 54px !important;
        padding: 5px 7px !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-desktop-search {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 420px !important;
        height: 46px !important;
        justify-self: center !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-desktop-search input {
        min-width: 0 !important;
        padding-right: 8px !important;
        padding-left: 4px !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-desktop-actions {
        display: flex !important;
        min-width: 0 !important;
        gap: 6px !important;
        align-items: center !important;
        justify-content: flex-end !important;
        justify-self: stretch !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-desktop-actions > * {
        margin: 0 !important;
        flex: 0 0 auto !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-desktop-link {
        min-width: 68px !important;
        padding-right: 10px !important;
        padding-left: 10px !important;
        justify-content: center !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-desktop-cart {
        min-width: 86px !important;
        padding-right: 11px !important;
        padding-left: 11px !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-desktop-icon {
        width: 48px !important;
        min-width: 48px !important;
        padding: 0 !important;
        justify-content: center !important;
    }
}

/* Food storefront ------------------------------------------------------- */
body.storefront-service--food {
    --food-orange: #ff4b12;
    --food-orange-dark: #e83c07;
    --food-cream: #fff3ed;
}

body.storefront-service--food .sf-desktop-service-tabs a.is-active {
    border-color: #ffd0bf !important;
    background: #fff0e9 !important;
    color: var(--food-orange-dark) !important;
}

body.storefront-service--food .sf-desktop-search::after { background: var(--food-orange) !important; }
body.storefront-service--food .sf-reference-mobile-services a.is-active > span {
    border-color: #ffb99e !important;
    background: #fff0e9 !important;
}
body.storefront-service--food .sf-reference-mobile-services a.is-active strong { color: var(--food-orange-dark) !important; }
body.storefront-service--food .sf-bottom-nav .is-active { color: var(--food-orange) !important; }

.sf-food-home {
    display: grid;
    min-width: 0;
    gap: 16px;
}

.sf-food-tabs {
    display: grid;
    min-width: 0;
    height: 52px;
    grid-auto-flow: column;
    grid-auto-columns: minmax(78px, 1fr);
    gap: 7px;
    overflow-x: auto;
    scrollbar-width: none;
}
.sf-food-tabs::-webkit-scrollbar,
.sf-food-restaurant-rail::-webkit-scrollbar,
.sf-food-cuisine-rail::-webkit-scrollbar,
.sf-food-deal-rail::-webkit-scrollbar { display: none; }
.sf-food-tabs a,
.sf-food-tabs button {
    display: flex;
    min-width: 0;
    height: 52px;
    margin: 0;
    padding: 0 9px;
    border: 1px solid #eceeed;
    border-radius: 11px;
    background: #fff;
    color: #222a31;
    align-items: center;
    justify-content: center;
    gap: 7px;
    text-decoration: none;
    cursor: pointer;
}
.sf-food-tabs a.is-active { border-color: #ffd5c6; background: #fff0ea; color: var(--food-orange); }
.sf-food-tabs span {
    display: grid;
    width: 27px;
    min-width: 27px;
    height: 27px;
    place-items: center;
    overflow: hidden;
    border-radius: 999px;
    background: #fff7f1;
    color: var(--food-orange);
    font-size: 11px;
    font-weight: 900;
}
.sf-food-tabs span img { width: 100%; height: 100%; object-fit: cover; }
.sf-food-tabs strong { overflow: hidden; font-size: 9px; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }

.sf-food-side-nav {
    display: grid;
    padding: 0 0 12px;
    border-bottom: 1px solid #eceeed;
}
.sf-food-side-nav a {
    display: grid;
    min-height: 39px;
    padding: 0 12px;
    border-radius: 10px;
    color: #25303a !important;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
    text-decoration: none !important;
}
.sf-food-side-nav a.is-active { background: #fff0e9; color: var(--food-orange) !important; }
.sf-food-side-nav span { display: grid; place-items: center; font-size: 14px; }
.sf-food-side-nav strong { font-size: 11px; font-weight: 650; }

.sf-food-side-offer {
    position: relative;
    display: grid;
    min-height: 205px;
    padding: 18px 14px;
    overflow: hidden;
    border-radius: 14px;
    background: linear-gradient(150deg, #fff3ed, #ffe7dc);
    color: #222 !important;
    text-decoration: none !important;
    align-content: start;
}
.sf-food-side-offer strong { color: var(--food-orange); font-size: 17px; font-weight: 850; }
.sf-food-side-offer span { margin-top: 4px; font-size: 11px; }
.sf-food-side-offer small { margin-top: 13px; color: #9a6b5c; font-size: 8px; text-transform: uppercase; }
.sf-food-side-offer b { width: max-content; margin-top: 4px; padding: 5px 8px; border-radius: 7px; background: #fff; color: var(--food-orange); font-size: 10px; }
.sf-food-side-offer svg { position: absolute; right: -5px; bottom: -2px; width: 150px; height: 96px; }
.sf-food-side-fast {
    display: grid;
    min-height: 104px;
    padding: 14px;
    border-radius: 14px;
    background: #f0f8ed;
    grid-template-columns: minmax(0, 1fr) 72px;
    align-items: center;
}
.sf-food-side-fast div { display: grid; gap: 5px; }
.sf-food-side-fast strong { font-size: 10px; }
.sf-food-side-fast span { color: #397546; font-size: 9px; line-height: 1.4; }
.sf-food-side-fast svg { width: 72px; height: 62px; }

.sf-food-hero {
    display: grid;
    height: 262px;
    grid-template-columns: minmax(0, 1fr) 260px;
    gap: 16px;
}
.sf-food-hero__main {
    position: relative;
    display: block;
    min-width: 0;
    height: 262px;
    overflow: hidden;
    border-radius: 14px;
    background: radial-gradient(circle at 79% 30%, #393939, transparent 34%), linear-gradient(120deg, #121212, #252525);
    color: #fff !important;
    text-decoration: none !important;
}
.sf-food-hero__main::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(10,10,10,.94) 0%, rgba(10,10,10,.66) 42%, transparent 69%);
    pointer-events: none;
}
.sf-food-hero__copy {
    position: absolute;
    z-index: 3;
    top: 34px;
    left: 34px;
    display: grid;
    width: 44%;
    gap: 10px;
}
.sf-food-hero__copy h1 { margin: 0; color: #fff; font-size: clamp(26px, 2.2vw, 34px); font-weight: 850; letter-spacing: -.035em; line-height: 1.12; }
.sf-food-hero__copy h1 em { color: var(--food-orange); font-style: normal; }
.sf-food-hero__copy p { max-width: 32ch; margin: 0; color: rgba(255,255,255,.85); font-size: 12px; line-height: 1.45; }
.sf-food-hero__copy > strong { color: #fff; font-size: 11px; }
.sf-food-hero__copy > strong span { color: #ffc400; }
.sf-food-hero__copy > b { display: inline-flex; width: max-content; min-height: 37px; padding: 0 16px; border-radius: 8px; align-items: center; gap: 8px; background: var(--food-orange); color: #fff; font-size: 11px; }
.sf-food-hero__image {
    position: absolute;
    z-index: 1;
    right: 0;
    bottom: 0;
    width: 62%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.sf-food-hero__fallback { position: absolute; z-index: 1; right: 0; bottom: -5px; width: 61%; height: 100%; }
.sf-food-hero__main > i { position: absolute; z-index: 4; bottom: 12px; left: 47%; display: flex; gap: 5px; }
.sf-food-hero__main > i span { width: 6px; height: 6px; border-radius: 999px; background: #858585; }
.sf-food-hero__main > i span:first-child { width: 17px; background: var(--food-orange); }
.sf-food-hero__promos { display: grid; height: 262px; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 14px; }
.sf-food-promo {
    position: relative;
    display: block;
    min-width: 0;
    overflow: hidden;
    border-radius: 13px;
    background: linear-gradient(130deg, #fff4ec, #ffe9dc);
    color: #20242a !important;
    text-decoration: none !important;
}
.sf-food-promo.is-green { background: linear-gradient(130deg, #f2f9ee, #e7f3e3); }
.sf-food-promo > div { position: relative; z-index: 2; display: grid; width: 62%; padding: 22px 0 0 18px; gap: 6px; }
.sf-food-promo strong { color: var(--food-orange); font-size: 17px; font-weight: 850; }
.sf-food-promo.is-green strong { color: #18833a; }
.sf-food-promo span { font-size: 10px; }
.sf-food-promo b { margin-top: 9px; color: var(--food-orange-dark); font-size: 9px; }
.sf-food-promo.is-green b { color: #18833a; }
.sf-food-promo svg { position: absolute; right: 3px; bottom: 2px; width: 46%; height: 83%; }

.sf-food-quick-actions { display: none; }
.sf-food-section { display: grid; min-width: 0; gap: 10px; }
.sf-food-section > header { display: flex; min-height: 24px; align-items: center; justify-content: space-between; gap: 12px; }
.sf-food-section > header h2 { margin: 0; color: #171b20; font-size: 15px; font-weight: 850; letter-spacing: -.015em; }
.sf-food-section > header a { color: var(--food-orange-dark); font-size: 9px; font-weight: 800; text-decoration: none; }

.sf-food-restaurant-rail {
    display: grid;
    min-width: 0;
    grid-auto-flow: column;
    grid-auto-columns: 176px;
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
}
.sf-food-restaurant-card {
    display: grid;
    width: 176px;
    min-width: 176px;
    overflow: hidden;
    border: 1px solid #e7e9e8;
    border-radius: 11px;
    background: #fff;
    grid-template-rows: 110px 1fr;
    scroll-snap-align: start;
}
.sf-food-restaurant-card__media { position: relative; display: grid; overflow: hidden; place-items: center; background: linear-gradient(145deg, #fff1e9, #ffe0d1); color: var(--food-orange); text-decoration: none; }
.sf-food-restaurant-card__media img { width: 100%; height: 100%; object-fit: cover; }
.sf-food-restaurant-card__media > span { font-size: 34px; font-weight: 900; }
.sf-food-restaurant-card__media > b { position: absolute; top: 6px; right: 6px; padding: 4px 6px; border-radius: 4px; background: var(--food-orange); color: #fff; font-size: 7px; }
.sf-food-restaurant-card__media > i { position: absolute; bottom: 6px; left: 7px; padding: 3px 6px; border-radius: 5px; background: #15963b; color: #fff; font-size: 9px; font-style: normal; font-weight: 850; }
.sf-food-restaurant-card > div { display: grid; min-width: 0; padding: 9px; gap: 3px; }
.sf-food-restaurant-card h3 { margin: 0; overflow: hidden; color: #1b2229; font-size: 11px; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.sf-food-restaurant-card p { margin: 0; overflow: hidden; color: #667085; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.sf-food-restaurant-card small { color: #7b8490; font-size: 8px; }
.sf-food-restaurant-card > div > strong { margin-top: 2px; color: #25303a; font-size: 9px; }

.sf-food-benefits {
    display: grid;
    min-height: 66px;
    padding: 10px 14px;
    border: 1px solid #eceeed;
    border-radius: 13px;
    background: linear-gradient(90deg, #fff, #fafbfa);
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: center;
}
.sf-food-benefits article { display: flex; min-width: 0; padding: 0 10px; gap: 9px; align-items: center; justify-content: center; border-right: 1px solid #e8ebea; }
.sf-food-benefits article:last-child { border-right: 0; }
.sf-food-benefits article > span { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 999px; background: #fff2e9; color: var(--food-orange); font-size: 18px; font-weight: 900; }
.sf-food-benefits article > div { display: grid; min-width: 0; gap: 2px; }
.sf-food-benefits strong { font-size: 9px; white-space: nowrap; }
.sf-food-benefits small { color: #7b8490; font-size: 8px; white-space: nowrap; }

.sf-food-cuisine-rail {
    display: grid;
    min-width: 0;
    grid-auto-flow: column;
    grid-auto-columns: 78px;
    gap: 12px;
    overflow-x: auto;
    scrollbar-width: none;
}
.sf-food-cuisine-rail a { display: grid; gap: 6px; justify-items: center; color: #20262c; text-decoration: none; }
.sf-food-cuisine-rail span { display: grid; width: 60px; height: 60px; place-items: center; overflow: hidden; border-radius: 999px; background: #f7f7f5; color: var(--food-orange); font-size: 22px; font-weight: 900; }
.sf-food-cuisine-rail img { width: 100%; height: 100%; object-fit: cover; }
.sf-food-cuisine-rail strong { max-width: 76px; overflow: hidden; font-size: 9px; text-align: center; text-overflow: ellipsis; white-space: nowrap; }

.sf-food-deal-rail {
    display: grid;
    min-width: 0;
    grid-auto-flow: column;
    grid-auto-columns: 220px;
    gap: 10px;
    overflow-x: auto;
    scrollbar-width: none;
}
.sf-food-deal-card {
    position: relative;
    display: block;
    width: 220px;
    min-height: 106px;
    overflow: hidden;
    border: 1px solid #f0e2da;
    border-radius: 11px;
    background: linear-gradient(125deg, #fff5ee, #ffe9dc);
    color: #222 !important;
    text-decoration: none !important;
}
.sf-food-deal-card.is-green { background: #eef8eb; }
.sf-food-deal-card > div { position: relative; z-index: 2; display: grid; width: 62%; padding: 11px; gap: 4px; }
.sf-food-deal-card div > b { width: max-content; padding: 3px 5px; border-radius: 4px; background: var(--food-orange); color: #fff; font-size: 7px; }
.sf-food-deal-card.is-green div > b { background: #168b35; }
.sf-food-deal-card div > strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.sf-food-deal-card div > span { color: #4c5660; font-size: 8px; }
.sf-food-deal-card div > small { color: var(--food-orange-dark); font-size: 8px; }
.sf-food-deal-card img,
.sf-food-deal-card > i { position: absolute; right: 0; bottom: 0; width: 43%; height: 100%; object-fit: cover; }
.sf-food-deal-card > i { display: grid; place-items: center; color: var(--food-orange); font-size: 28px; font-style: normal; font-weight: 900; }

@media (max-width: 900px) {
    body.storefront-service--food .sf-reference-mobile-head { margin-bottom: 8px !important; }
    body.storefront-service--food .sf-reference-home { padding-right: 10px !important; padding-left: 10px !important; }
    body.storefront-service--food .sf-reference-mobile-head { width: calc(100% + 20px) !important; margin-right: -10px !important; margin-left: -10px !important; }
    .sf-food-home { gap: 14px; }
    .sf-food-tabs {
        height: 62px;
        margin-right: -10px;
        padding-right: 10px;
        grid-auto-columns: 61px;
        gap: 7px;
    }
    .sf-food-tabs a,
    .sf-food-tabs button { display: grid; height: 62px; padding: 2px; border: 0; grid-template-rows: 42px 14px; gap: 2px; justify-items: center; }
    .sf-food-tabs a.is-active { border: 0; background: transparent; }
    .sf-food-tabs span { width: 40px; height: 40px; border: 1px solid #eceeed; background: #fff; }
    .sf-food-tabs a.is-active span { border-color: #ffb99e; background: #fff0e9; }
    .sf-food-tabs strong { max-width: 59px; font-size: 8px; }

    .sf-food-hero { height: auto; grid-template-columns: 1fr; gap: 9px; }
    .sf-food-hero__main { height: 220px; border-radius: 12px; }
    .sf-food-hero__copy { top: 21px; left: 16px; width: 51%; gap: 8px; }
    .sf-food-hero__copy h1 { font-size: clamp(20px, 5.5vw, 24px); }
    .sf-food-hero__copy p { display: none; }
    .sf-food-hero__copy > strong { font-size: 9px; }
    .sf-food-hero__copy > b { min-height: 31px; padding: 0 12px; font-size: 9px; }
    .sf-food-hero__image,
    .sf-food-hero__fallback { width: 64%; }
    .sf-food-hero__main > i { bottom: 8px; left: 48%; }
    .sf-food-hero__promos { height: 112px; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: 1fr; gap: 8px; }
    .sf-food-promo { height: 112px; border-radius: 10px; }
    .sf-food-promo > div { width: 67%; padding: 13px 0 0 10px; gap: 3px; }
    .sf-food-promo strong { font-size: 12px; }
    .sf-food-promo span { font-size: 8px; }
    .sf-food-promo b { margin-top: 7px; font-size: 7px; }

    .sf-food-quick-actions {
        display: grid;
        min-height: 76px;
        padding: 8px 0;
        border: 1px solid #eceeed;
        border-radius: 12px;
        background: #fff;
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .sf-food-quick-actions a { display: grid; gap: 5px; justify-items: center; color: #20262c; text-decoration: none; border-right: 1px solid #edf0ee; }
    .sf-food-quick-actions a:last-child { border-right: 0; }
    .sf-food-quick-actions span { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 9px; background: #fff2eb; color: var(--food-orange); font-size: 14px; font-weight: 900; }
    .sf-food-quick-actions strong { font-size: 7px; text-align: center; }

    .sf-food-section > header h2 { font-size: 14px; }
    .sf-food-restaurant-rail { margin-right: -10px; padding-right: 10px; grid-auto-columns: calc((100% - 16px) / 3); gap: 8px; }
    .sf-food-restaurant-card { width: 100%; min-width: 0; grid-template-rows: 88px 1fr; }
    .sf-food-restaurant-card > div { padding: 7px; }
    .sf-food-restaurant-card h3 { font-size: 9px; }
    .sf-food-restaurant-card p { font-size: 8px; }
    .sf-food-restaurant-card small,
    .sf-food-restaurant-card > div > strong { font-size: 7px; }
    .sf-food-benefits { display: none; }
    .sf-food-cuisines > header h2 { font-size: 14px; }
    .sf-food-cuisine-rail { margin-right: -10px; padding-right: 10px; grid-auto-columns: 59px; gap: 8px; }
    .sf-food-cuisine-rail span { width: 48px; height: 48px; font-size: 17px; }
    .sf-food-cuisine-rail strong { max-width: 58px; font-size: 8px; }
    .sf-food-deal-rail { margin-right: -10px; padding-right: 10px; grid-auto-columns: calc((100% - 8px) / 2); gap: 8px; }
    .sf-food-deal-card { width: 100%; min-height: 105px; }
    body.storefront-service--food .sf-bottom-nav .is-active { color: var(--food-orange) !important; }
}

@media (max-width: 359px) {
    .sf-storefront-home-page .sf-header-service-selector { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; overflow-x: auto !important; }
    .sf-reference-feed .sf-home-product-grid,
    .sf-reference-feed .sf-home-product-grid.is-scroller { grid-auto-columns: calc((100vw - 36px) / 2.35) !important; }
}

@media (max-width: 900px) {
    html,
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-header,
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-header > .sf-container,
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-header__inner,
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-app-chrome,
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-mobile-header {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-main,
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-main > .sf-container,
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-page-shell.sf-page-shell--home.sf-reference-home {
        top: auto !important;
        margin-top: 0 !important;
        padding-top: 0 !important;
        transform: none !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-header,
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-header > .sf-container,
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-header__inner,
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-app-chrome {
        min-height: 128px !important;
        height: 128px !important;
        max-height: 128px !important;
        margin: 0 !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-header__inner {
        display: block !important;
        padding: 0 !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-desktop-header {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-app-chrome {
        padding: 8px 12px 9px !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-mobile-header {
        position: static !important;
        inset: auto !important;
        display: grid !important;
        min-height: 112px !important;
        height: 112px !important;
        max-height: 112px !important;
        padding: 0 !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas: "delivery actions" "services services" !important;
        grid-template-rows: 44px 58px !important;
        gap: 8px 10px !important;
        overflow: visible !important;
        border: 0 !important;
        background: #fff !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-mobile-brand-lockup,
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-mobile-brandbar,
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-mobile-brand-name,
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-wordmark--mobile,
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-mobile-header .sf-searchbar--mobile,
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-mobile-header .sf-zepto-search-promo {
        display: none !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-mobile-header .sf-mobile-delivery-card {
        position: static !important;
        inset: auto !important;
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        min-height: 42px !important;
        height: 42px !important;
        max-height: 42px !important;
        margin: 0 !important;
        padding: 0 !important;
        grid-area: delivery !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        border: 0 !important;
        background: #fff !important;
        box-shadow: none !important;
        transform: none !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-mobile-header .sf-mobile-header__actions {
        position: static !important;
        inset: auto !important;
        display: flex !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        grid-area: actions !important;
        gap: 6px !important;
        align-items: center !important;
        justify-content: flex-end !important;
        white-space: nowrap !important;
        transform: none !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-mobile-header .sf-mobile-action-btn {
        position: relative !important;
        display: grid !important;
        width: 36px !important;
        min-width: 36px !important;
        height: 36px !important;
        min-height: 36px !important;
        padding: 0 !important;
        place-items: center !important;
        border: 1px solid var(--ref-line) !important;
        border-radius: 10px !important;
        background: #fff !important;
        color: var(--ref-ink) !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-mobile-header .sf-header-service-selector {
        position: static !important;
        inset: auto !important;
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: 58px !important;
        margin: 0 !important;
        padding: 0 !important;
        grid-area: services !important;
        gap: 6px !important;
        overflow: visible !important;
        transform: none !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-mobile-header .sf-header-service-selector a {
        display: grid !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: 58px !important;
        margin: 0 !important;
        padding: 2px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        grid-template-rows: 39px 14px !important;
        gap: 2px !important;
        justify-items: center !important;
        box-shadow: none !important;
        transform: none !important;
        flex: 1 1 0 !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-mobile-header .sf-header-service-selector a img {
        width: 39px !important;
        min-width: 39px !important;
        height: 39px !important;
        min-height: 39px !important;
        padding: 7px !important;
        border: 1px solid var(--ref-line) !important;
        border-radius: 999px !important;
        background: #f8faf8 !important;
        object-fit: contain !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-mobile-header .sf-header-service-selector a.is-active img {
        border-color: #a9dbb1 !important;
        background: #edf8ed !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-mobile-header .sf-header-service-selector a span {
        display: block !important;
        overflow: hidden !important;
        color: var(--ref-ink) !important;
        font-size: 8px !important;
        font-weight: 700 !important;
        line-height: 12px !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-mobile-header .sf-header-service-selector::after {
        display: grid !important;
        width: auto !important;
        min-width: 0 !important;
        height: 58px !important;
        padding: 4px 2px 0 !important;
        place-items: center !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: radial-gradient(circle at 50% 34%, #f8faf8 0 19px, transparent 20px) !important;
        color: var(--ref-ink) !important;
        font-size: 8px !important;
        font-weight: 700 !important;
        line-height: 14px !important;
        content: "•••\A More" !important;
        white-space: pre !important;
        text-align: center !important;
        flex: 1 1 0 !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-bottom-nav {
        right: 0 !important;
        left: 0 !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        display: flex !important;
        transform: none !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-bottom-nav > a,
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-bottom-nav > button {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        transform: none !important;
        flex: 1 1 0 !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-mobile-delivery-card__copy {
        display: grid !important;
        min-width: 0 !important;
        justify-items: start !important;
        text-align: left !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-mobile-delivery-card__pin {
        position: static !important;
        inset: auto !important;
        display: grid !important;
        width: 22px !important;
        min-width: 22px !important;
        height: 22px !important;
        place-items: center !important;
        color: var(--ref-green) !important;
        transform: none !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-mobile-delivery-card__copy > span {
        display: block !important;
        color: #7b8490 !important;
        font-size: 8px !important;
        font-weight: 700 !important;
        letter-spacing: .02em !important;
        line-height: 11px !important;
        text-transform: none !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-mobile-delivery-card__copy > span::before {
        content: none !important;
        display: none !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-mobile-delivery-card__copy > strong {
        position: static !important;
        display: flex !important;
        min-width: 0 !important;
        margin: 0 !important;
        color: var(--ref-ink) !important;
        font-size: 12px !important;
        font-weight: 800 !important;
        line-height: 18px !important;
        align-items: center !important;
        gap: 3px !important;
        transform: none !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-mobile-delivery-card__copy > strong::before {
        content: none !important;
        display: none !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-mobile-delivery-card__copy > strong b {
        position: static !important;
        display: block !important;
        width: auto !important;
        height: auto !important;
        min-width: 0 !important;
        max-width: 170px !important;
        overflow: hidden !important;
        color: var(--ref-ink) !important;
        font: inherit !important;
        opacity: 1 !important;
        visibility: visible !important;
        clip: auto !important;
        clip-path: none !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        transform: none !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-mobile-delivery-card__copy > strong svg {
        display: block !important;
        width: 13px !important;
        height: 13px !important;
        flex: 0 0 auto !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-feed .sf-home-product-grid,
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-feed .sf-home-product-grid.is-scroller,
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-feed .sf-dynamic-section[data-section-type="product_scroller"] .sf-home-product-grid {
        grid-auto-columns: calc((100% - 16px) / 3) !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-feed .sf-product-card {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }
}

/* Final reference-home correction layer. The existing storefront has several
   legacy !important rules, so these selectors deliberately include the body
   scope and load last. */
body.sf-storefront-home-page .sf-reference-hero {
    display: grid !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 300px !important;
    grid-template-columns: minmax(0, 1fr) 262px !important;
    gap: 18px !important;
    order: 1 !important;
}

body.sf-storefront-home-page .sf-reference-hero__main {
    position: relative !important;
    display: block !important;
    min-width: 0 !important;
    height: 300px !important;
    overflow: hidden !important;
    border-radius: 15px !important;
    background: radial-gradient(circle at 78% 35%, #dcefd5 0, transparent 28%), linear-gradient(115deg, #f5faef 0%, #edf7e9 100%) !important;
    color: var(--ref-ink) !important;
    text-decoration: none !important;
}

body.sf-storefront-home-page .sf-reference-hero__background {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
}

body.sf-storefront-home-page .sf-reference-hero__copy {
    position: absolute !important;
    z-index: 3 !important;
    top: 36px !important;
    left: 48px !important;
    display: grid !important;
    width: min(390px, 47%) !important;
    gap: 13px !important;
}

body.sf-storefront-home-page .sf-reference-hero__copy h1 {
    margin: 0 !important;
    color: var(--ref-ink) !important;
    font-size: clamp(28px, 2.2vw, 35px) !important;
    font-weight: 850 !important;
    letter-spacing: -.035em !important;
    line-height: 1.15 !important;
}

body.sf-storefront-home-page .sf-reference-hero__copy p {
    max-width: 31ch !important;
    margin: 0 !important;
    color: #4f5966 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

body.sf-storefront-home-page .sf-reference-hero__copy > strong {
    color: #17211a !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

body.sf-storefront-home-page .sf-reference-hero__copy > strong span { color: #ffb800 !important; }

body.sf-storefront-home-page .sf-reference-hero__copy > b {
    display: inline-flex !important;
    width: max-content !important;
    min-height: 37px !important;
    padding: 0 18px !important;
    border-radius: 8px !important;
    align-items: center !important;
    gap: 9px !important;
    background: var(--ref-green) !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

body.sf-storefront-home-page .sf-reference-hero__products {
    position: absolute !important;
    z-index: 2 !important;
    right: 3% !important;
    bottom: 15px !important;
    width: 52% !important;
    height: 250px !important;
}

body.sf-storefront-home-page .sf-reference-hero__products img {
    position: absolute !important;
    bottom: 0 !important;
    width: 42% !important;
    height: 78% !important;
    padding: 8px !important;
    object-fit: contain !important;
    filter: drop-shadow(0 13px 12px rgba(30, 58, 34, .16)) !important;
}
body.sf-storefront-home-page .sf-reference-hero__products img:nth-child(1) { left: 3%; transform: rotate(-8deg); }
body.sf-storefront-home-page .sf-reference-hero__products img:nth-child(2) { left: 28%; z-index: 2; height: 92% !important; }
body.sf-storefront-home-page .sf-reference-hero__products img:nth-child(3) { right: 4%; transform: rotate(8deg); }
body.sf-storefront-home-page .sf-reference-hero__products img:nth-child(4) { right: 21%; z-index: 3; width: 32% !important; height: 62% !important; }

body.sf-storefront-home-page .sf-reference-hero__art {
    position: absolute !important;
    right: 0 !important;
    bottom: -2px !important;
    width: 53% !important;
    height: 94% !important;
}

body.sf-storefront-home-page .sf-reference-hero__dots {
    position: absolute !important;
    z-index: 4 !important;
    bottom: 13px !important;
    left: 48% !important;
    display: flex !important;
    gap: 5px !important;
}
body.sf-storefront-home-page .sf-reference-hero__dots span { width: 6px !important; height: 6px !important; border-radius: 999px !important; background: #aab2ab !important; }
body.sf-storefront-home-page .sf-reference-hero__dots span:first-child { width: 16px !important; background: var(--ref-green) !important; }

body.sf-storefront-home-page .sf-reference-hero__promos {
    display: grid !important;
    min-width: 0 !important;
    height: 300px !important;
    grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

body.sf-storefront-home-page .sf-reference-promo {
    position: relative !important;
    display: block !important;
    min-width: 0 !important;
    overflow: hidden !important;
    border-radius: 14px !important;
    background: linear-gradient(120deg, #fff7d7, #fff1bf) !important;
    color: var(--ref-ink) !important;
    text-decoration: none !important;
}
body.sf-storefront-home-page .sf-reference-promo.is-peach { background: linear-gradient(120deg, #fff2eb, #ffe5d9) !important; }
body.sf-storefront-home-page .sf-reference-promo > div {
    position: relative !important;
    z-index: 2 !important;
    display: grid !important;
    width: 62% !important;
    padding: 23px 0 0 22px !important;
    gap: 6px !important;
}
body.sf-storefront-home-page .sf-reference-promo strong { color: #ed2c1d !important; font-size: 17px !important; font-weight: 850 !important; line-height: 1.1 !important; }
body.sf-storefront-home-page .sf-reference-promo span { color: #26303a !important; font-size: 11px !important; }
body.sf-storefront-home-page .sf-reference-promo b { margin-top: 12px !important; color: var(--ref-green-dark) !important; font-size: 10px !important; }
body.sf-storefront-home-page .sf-reference-promo > img {
    position: absolute !important;
    right: 3px !important;
    bottom: 3px !important;
    width: 43% !important;
    height: 80% !important;
    object-fit: contain !important;
}
body.sf-storefront-home-page .sf-reference-promo__art {
    position: absolute !important;
    right: 4px !important;
    bottom: 2px !important;
    width: 46% !important;
    height: 82% !important;
}

body.sf-storefront-home-page .sf-reference-feed > .sf-reference-benefits { order: 2 !important; }
body.sf-storefront-home-page .sf-reference-feed > [data-section-token="top_picks"] { order: 3 !important; }
body.sf-storefront-home-page .sf-reference-feed > [data-section-token="flash_sale"] { order: 4 !important; }
body.sf-storefront-home-page .sf-reference-feed > [data-section-token="subcategories"] { order: 5 !important; }
body.sf-storefront-home-page .sf-reference-feed > [data-section-token="sponsored_offers"] { order: 6 !important; }
body.sf-storefront-home-page .sf-reference-feed > .sf-dynamic-section { order: 7; }

body.sf-storefront-home-page .sf-reference-feed .sf-home-product-grid,
body.sf-storefront-home-page .sf-reference-feed .sf-home-product-grid.is-scroller,
body.sf-storefront-home-page .sf-reference-feed .sf-dynamic-section[data-section-type="product_scroller"] .sf-home-product-grid {
    display: grid !important;
    grid-template-columns: none !important;
    grid-auto-flow: column !important;
    grid-auto-columns: 158px !important;
    justify-content: start !important;
    gap: 14px !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
}
body.sf-storefront-home-page .sf-reference-feed .sf-home-product-grid::-webkit-scrollbar { display: none !important; }

body.sf-storefront-home-page .sf-reference-feed .sf-product-card {
    width: 158px !important;
    min-width: 158px !important;
    max-width: 158px !important;
    min-height: 194px !important;
}

body.sf-storefront-home-page .sf-reference-feed .sf-product-card__thumb {
    height: 98px !important;
    min-height: 98px !important;
    background: linear-gradient(145deg, #f8faf8, #f2f6f2) !important;
}

body.sf-storefront-home-page .sf-reference-feed .sf-product-card__placeholder {
    display: grid !important;
    height: 100% !important;
    place-content: center !important;
    gap: 3px !important;
    text-align: center !important;
}
body.sf-storefront-home-page .sf-reference-feed .sf-product-card__placeholder span { color: #173221 !important; font-size: 21px !important; font-weight: 850 !important; }
body.sf-storefront-home-page .sf-reference-feed .sf-product-card__placeholder small { color: #7b8490 !important; font-size: 8px !important; }

body.sf-storefront-home-page .sf-reference-feed .sf-product-card h3,
body.sf-storefront-home-page .sf-reference-feed .sf-product-card__subtitle,
body.sf-storefront-home-page .sf-reference-feed .sf-product-card__price,
body.sf-storefront-home-page .sf-reference-feed .sf-product-card__action-label {
    visibility: visible !important;
    opacity: 1 !important;
}

@media (min-width: 901px) {
    body.sf-storefront-home-page .sf-header > .sf-container { width: min(1440px, 100%) !important; }
    body.sf-storefront-home-page .sf-desktop-header__top {
        min-height: 88px !important;
        grid-template-columns: 210px minmax(300px, max-content) minmax(300px, 1fr) auto !important;
        align-items: center !important;
    }
    body.sf-storefront-home-page .sf-header { min-height: 88px !important; }
    body.sf-storefront-home-page .sf-wordmark--desktop { align-content: center !important; justify-items: start !important; }
    body.sf-storefront-home-page .sf-wordmark--desktop .sf-wordmark__text {
        display: block !important;
        max-width: 200px !important;
        overflow: hidden !important;
        color: var(--ref-ink) !important;
        font-size: 30px !important;
        font-weight: 850 !important;
        letter-spacing: -.04em !important;
        line-height: 1 !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }
    body.sf-storefront-home-page .sf-desktop-location--under-logo { margin-top: 7px !important; }
    body.sf-storefront-home-page .sf-reference-home { padding-top: 14px !important; }
    body.sf-storefront-home-page .sf-reference-feed .sf-front-section__head { margin-bottom: 9px !important; }
}

@media (max-width: 1100px) and (min-width: 901px) {
    body.sf-storefront-home-page .sf-reference-hero { grid-template-columns: minmax(0, 1fr) 225px !important; gap: 13px !important; }
    body.sf-storefront-home-page .sf-reference-hero__copy { left: 32px !important; width: 50% !important; }
    body.sf-storefront-home-page .sf-reference-promo > div { padding-left: 16px !important; }
    body.sf-storefront-home-page .sf-reference-promo strong { font-size: 15px !important; }
}

@media (max-width: 900px) {
    body.sf-storefront-home-page .sf-reference-hero {
        display: grid !important;
        height: auto !important;
        grid-template-columns: 1fr !important;
        gap: 9px !important;
    }
    body.sf-storefront-home-page .sf-reference-hero__main { height: 220px !important; border-radius: 13px !important; }
    body.sf-storefront-home-page .sf-reference-hero__copy {
        top: 20px !important;
        left: 16px !important;
        width: 53% !important;
        gap: 8px !important;
    }
    body.sf-storefront-home-page .sf-reference-hero__copy h1 { font-size: clamp(19px, 5.4vw, 23px) !important; line-height: 1.18 !important; }
    body.sf-storefront-home-page .sf-reference-hero__copy p { display: none !important; }
    body.sf-storefront-home-page .sf-reference-hero__copy > strong { font-size: 10px !important; }
    body.sf-storefront-home-page .sf-reference-hero__copy > b { min-height: 31px !important; padding: 0 12px !important; font-size: 10px !important; }
    body.sf-storefront-home-page .sf-reference-hero__products { right: -3% !important; bottom: 4px !important; width: 58% !important; height: 164px !important; }
    body.sf-storefront-home-page .sf-reference-hero__art { right: -10px !important; width: 61% !important; height: 82% !important; }
    body.sf-storefront-home-page .sf-reference-hero__dots { bottom: 8px !important; left: 16px !important; }
    body.sf-storefront-home-page .sf-reference-hero__promos {
        display: grid !important;
        height: 112px !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-template-rows: 1fr !important;
        gap: 8px !important;
    }
    body.sf-storefront-home-page .sf-reference-promo { height: 112px !important; border-radius: 11px !important; }
    body.sf-storefront-home-page .sf-reference-promo > div { width: 68% !important; padding: 13px 0 0 10px !important; gap: 3px !important; }
    body.sf-storefront-home-page .sf-reference-promo strong { font-size: 12px !important; }
    body.sf-storefront-home-page .sf-reference-promo span { font-size: 8px !important; }
    body.sf-storefront-home-page .sf-reference-promo b { margin-top: 8px !important; font-size: 8px !important; }
    body.sf-storefront-home-page .sf-reference-promo > img { width: 45% !important; height: 66% !important; }

    body.sf-storefront-home-page .sf-reference-feed .sf-home-product-grid,
    body.sf-storefront-home-page .sf-reference-feed .sf-home-product-grid.is-scroller,
    body.sf-storefront-home-page .sf-reference-feed .sf-dynamic-section[data-section-type="product_scroller"] .sf-home-product-grid {
        grid-template-columns: none !important;
        grid-auto-columns: calc((100vw - 44px) / 3) !important;
        gap: 8px !important;
        overflow-x: auto !important;
    }
    body.sf-storefront-home-page .sf-reference-feed .sf-product-card {
        width: calc((100vw - 44px) / 3) !important;
        min-width: calc((100vw - 44px) / 3) !important;
        max-width: calc((100vw - 44px) / 3) !important;
        min-height: 178px !important;
    }
    body.sf-storefront-home-page .sf-reference-feed .sf-product-card__thumb { height: 82px !important; min-height: 82px !important; }
    body.sf-storefront-home-page .sf-reference-feed .sf-product-card__footer { gap: 3px !important; }
    body.sf-storefront-home-page .sf-reference-feed .sf-product-card__action-label { font-size: 8px !important; }

    body.sf-storefront-home-page .sf-mobile-delivery-card__copy,
    body.sf-storefront-home-page .sf-mobile-delivery-card__copy strong,
    body.sf-storefront-home-page .sf-mobile-delivery-card__copy b { min-width: 0 !important; }
    body.sf-storefront-home-page .sf-mobile-delivery-card__copy b {
        display: block !important;
        max-width: min(48vw, 190px) !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }
}

@media (max-width: 359px) {
    body.sf-storefront-home-page .sf-reference-feed .sf-home-product-grid,
    body.sf-storefront-home-page .sf-reference-feed .sf-home-product-grid.is-scroller { grid-auto-columns: calc((100vw - 36px) / 2.25) !important; }
    body.sf-storefront-home-page .sf-reference-feed .sf-product-card {
        width: calc((100vw - 36px) / 2.25) !important;
        min-width: calc((100vw - 36px) / 2.25) !important;
        max-width: calc((100vw - 36px) / 2.25) !important;
    }
}

/* Canonical storefront header: one desktop/PWA header across every Blade screen. */
html body.storefront-shell.storefront-shell--v2 .sf-top-strip {
    display: none !important;
}

html body.storefront-shell.storefront-shell--v2 .sf-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    width: 100% !important;
    min-height: 88px !important;
    padding: 0 !important;
    border-bottom: 1px solid #eef0f4 !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 10px 30px rgba(15, 23, 42, .04) !important;
    backdrop-filter: blur(16px) !important;
}

html body.storefront-shell.storefront-shell--v2 .sf-header > .sf-container,
html body.storefront-shell.storefront-shell--v2 .sf-header__inner {
    width: min(1440px, 100%) !important;
    max-width: none !important;
    min-height: 88px !important;
    margin: 0 auto !important;
    padding: 0 28px !important;
}

html body.storefront-shell.storefront-shell--v2 .sf-header__inner {
    display: block !important;
}

html body.storefront-shell.storefront-shell--v2 .sf-app-chrome {
    display: none !important;
}

html body.storefront-shell.storefront-shell--v2 .sf-desktop-header {
    display: block !important;
    width: 100% !important;
}

html body.storefront-shell.storefront-shell--v2 .sf-desktop-header__top {
    display: grid !important;
    width: 100% !important;
    min-height: 88px !important;
    grid-template-columns: 220px minmax(310px, max-content) minmax(280px, 440px) auto !important;
    grid-template-areas: "brand services search actions" !important;
    gap: 14px !important;
    align-items: center !important;
}

html body.storefront-shell.storefront-shell--v2 .sf-wordmark--desktop {
    grid-area: brand !important;
    display: flex !important;
    min-width: 0 !important;
    height: 68px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 4px !important;
}

html body.storefront-shell.storefront-shell--v2 .sf-wordmark--desktop .sf-wordmark__home {
    display: inline-flex !important;
    max-width: 220px !important;
    min-height: 38px !important;
    align-items: center !important;
    text-decoration: none !important;
}

html body.storefront-shell.storefront-shell--v2 .sf-wordmark--desktop img {
    height: 42px !important;
    max-width: 205px !important;
    object-fit: contain !important;
}

html body.storefront-shell.storefront-shell--v2 .sf-wordmark--desktop .sf-wordmark__text {
    display: block !important;
    max-width: 220px !important;
    font-size: 34px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: -.06em !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

html body.storefront-shell.storefront-shell--v2 .sf-desktop-location--under-logo {
    display: flex !important;
    width: 100% !important;
    max-width: 220px !important;
    height: 20px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #64748b !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    text-align: left !important;
}

html body.storefront-shell.storefront-shell--v2 .sf-desktop-location--under-logo span {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    color: #f97316 !important;
    font-size: 0 !important;
    line-height: 1 !important;
}

html body.storefront-shell.storefront-shell--v2 .sf-desktop-location--under-logo span::before {
    content: "\26A1" !important;
    font-size: 12px !important;
}

html body.storefront-shell.storefront-shell--v2 .sf-desktop-location--under-logo strong {
    display: block !important;
    min-width: 0 !important;
    max-width: 192px !important;
    color: #667085 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

html body.storefront-shell.storefront-shell--v2 .sf-desktop-service-tabs {
    grid-area: services !important;
    display: flex !important;
    min-width: 0 !important;
    height: 64px !important;
    gap: 0 !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    overflow: visible !important;
}

html body.storefront-shell.storefront-shell--v2 .sf-desktop-service-tabs a {
    display: flex !important;
    width: 78px !important;
    min-width: 78px !important;
    height: 64px !important;
    padding: 8px 8px 7px !important;
    border: 1px solid #e8eaef !important;
    border-left-width: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #111827 !important;
    box-shadow: none !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 6px !important;
    text-decoration: none !important;
}

html body.storefront-shell.storefront-shell--v2 .sf-desktop-service-tabs a:first-child {
    border-left-width: 1px !important;
    border-radius: 14px 0 0 14px !important;
}

html body.storefront-shell.storefront-shell--v2 .sf-desktop-service-tabs a:last-child {
    border-radius: 0 14px 14px 0 !important;
}

html body.storefront-shell.storefront-shell--v2 .sf-desktop-service-tabs a.is-active {
    border-color: #cfe9d2 !important;
    background: #edf8ee !important;
    color: #078c23 !important;
    box-shadow: inset 0 0 0 1px rgba(7, 140, 35, .05) !important;
}

html body.storefront-service--food.storefront-shell.storefront-shell--v2 .sf-desktop-service-tabs a.is-active {
    border-color: #ffd8c7 !important;
    background: #fff1eb !important;
    color: #fb4e14 !important;
}

html body.storefront-shell.storefront-shell--v2 .sf-desktop-service-tabs img {
    width: 25px !important;
    height: 25px !important;
    object-fit: contain !important;
}

html body.storefront-shell.storefront-shell--v2 .sf-desktop-service-tabs span {
    display: block !important;
    max-width: 64px !important;
    color: inherit !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    overflow: hidden !important;
    text-align: center !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

html body.storefront-shell.storefront-shell--v2 .sf-desktop-search {
    grid-area: search !important;
    display: flex !important;
    width: 100% !important;
    position: relative !important;
    max-width: 440px !important;
    height: 52px !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 0 58px 0 18px !important;
    border: 1px solid #e6e9ef !important;
    border-radius: 17px !important;
    background: #fff !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .04) !important;
    align-items: center !important;
    gap: 12px !important;
}

html body.storefront-shell.storefront-shell--v2 .sf-desktop-search::after {
    content: "" !important;
    position: absolute !important;
    right: 10px !important;
    top: 50% !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 12px !important;
    background: #009b24 !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
}

html body.storefront-service--food.storefront-shell.storefront-shell--v2 .sf-desktop-search::after {
    background: #fb4e14 !important;
}

html body.storefront-shell.storefront-shell--v2 .sf-desktop-search svg {
    width: 20px !important;
    height: 20px !important;
    color: #111827 !important;
}

html body.storefront-shell.storefront-shell--v2 .sf-desktop-search input {
    width: 100% !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    color: #111827 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

html body.storefront-shell.storefront-shell--v2 .sf-desktop-actions {
    grid-area: actions !important;
    display: flex !important;
    min-width: 0 !important;
    height: 56px !important;
    gap: 0 !important;
    align-items: stretch !important;
    justify-content: flex-end !important;
}

html body.storefront-shell.storefront-shell--v2 .sf-desktop-link,
html body.storefront-shell.storefront-shell--v2 .sf-desktop-cart,
html body.storefront-shell.storefront-shell--v2 .sf-desktop-icon {
    display: inline-flex !important;
    min-width: 72px !important;
    height: 56px !important;
    margin: 0 !important;
    padding: 8px 12px !important;
    border: 1px solid #e8eaef !important;
    border-left-width: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #111827 !important;
    box-shadow: none !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

html body.storefront-shell.storefront-shell--v2 .sf-desktop-actions > *:first-child {
    border-left-width: 1px !important;
    border-radius: 14px 0 0 14px !important;
}

html body.storefront-shell.storefront-shell--v2 .sf-desktop-actions > *:last-child {
    border-radius: 0 14px 14px 0 !important;
}

html body.storefront-shell.storefront-shell--v2 .sf-desktop-actions svg {
    width: 21px !important;
    height: 21px !important;
    flex: 0 0 auto !important;
}

html body.storefront-shell.storefront-shell--v2 .sf-desktop-cart {
    position: relative !important;
    min-width: 82px !important;
}

html body.storefront-shell.storefront-shell--v2 .sf-desktop-cart div {
    display: flex !important;
    min-width: 0 !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 1px !important;
}

html body.storefront-shell.storefront-shell--v2 .sf-desktop-cart span,
html body.storefront-shell.storefront-shell--v2 .sf-desktop-cart strong {
    display: block !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
}

html body.storefront-shell.storefront-shell--v2 .sf-desktop-cart .sf-badge-count {
    position: absolute !important;
    top: -8px !important;
    right: 10px !important;
    display: inline-flex !important;
    width: 20px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: #009b24 !important;
    color: #fff !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 11px !important;
}

html body.storefront-service--food.storefront-shell.storefront-shell--v2 .sf-desktop-cart .sf-badge-count {
    background: #fb4e14 !important;
}

@media (max-width: 1180px) and (min-width: 901px) {
    html body.storefront-shell.storefront-shell--v2 .sf-header > .sf-container,
    html body.storefront-shell.storefront-shell--v2 .sf-header__inner {
        padding: 0 16px !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-desktop-header__top {
        grid-template-columns: 185px minmax(248px, max-content) minmax(230px, 1fr) auto !important;
        gap: 14px !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-desktop-service-tabs a {
        width: 62px !important;
        min-width: 62px !important;
        padding-inline: 6px !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-desktop-link--button {
        display: none !important;
    }
}

@media (max-width: 900px) {
    html body.storefront-shell.storefront-shell--v2 .sf-header {
        min-height: 170px !important;
        border-bottom-color: #e8ebf0 !important;
        box-shadow: 0 10px 24px rgba(15, 23, 42, .06) !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-header > .sf-container,
    html body.storefront-shell.storefront-shell--v2 .sf-header__inner {
        width: 100% !important;
        min-height: 170px !important;
        padding: 0 !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-desktop-header {
        display: none !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-app-chrome {
        display: block !important;
        width: 100% !important;
        min-height: 170px !important;
        padding: 10px 16px 8px !important;
        background: #fff !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-mobile-header {
        display: grid !important;
        width: 100% !important;
        min-height: 152px !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas:
            "delivery actions"
            "search search"
            "services services" !important;
        gap: 9px 10px !important;
        align-items: center !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-mobile-brand-lockup,
    html body.storefront-shell.storefront-shell--v2 .sf-mobile-brand-name,
    html body.storefront-shell.storefront-shell--v2 .sf-wordmark--mobile,
    html body.storefront-shell.storefront-shell--v2 .sf-mobile-header .sf-zepto-search-promo,
    html body.storefront-shell.storefront-shell--v2 .sf-header-service-select,
    html body.storefront-shell.storefront-shell--v2 .sf-mobile-menu,
    html body.storefront-shell.storefront-shell--v2 .sf-reference-mobile-head {
        display: none !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-mobile-header .sf-searchbar--mobile {
        position: relative !important;
        grid-area: search !important;
        display: flex !important;
        width: 100% !important;
        height: 44px !important;
        min-height: 44px !important;
        margin: 0 !important;
        padding: 0 8px 0 13px !important;
        border: 1px solid #e7eaf0 !important;
        border-radius: 14px !important;
        background: #fff !important;
        box-shadow: 0 8px 22px rgba(15, 23, 42, .05) !important;
        align-items: center !important;
        gap: 9px !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-mobile-header .sf-searchbar--mobile .sf-searchbar__icon {
        display: inline-flex !important;
        width: 18px !important;
        height: 18px !important;
        color: #111827 !important;
        align-items: center !important;
        justify-content: center !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-mobile-header .sf-searchbar--mobile .sf-searchbar__field {
        display: block !important;
        min-width: 0 !important;
        flex: 1 1 auto !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-mobile-header .sf-searchbar--mobile input {
        width: 100% !important;
        border: 0 !important;
        outline: 0 !important;
        background: transparent !important;
        color: #111827 !important;
        font-size: 12px !important;
        font-weight: 700 !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-mobile-header .sf-searchbar--mobile .sf-searchbar__submit {
        display: inline-flex !important;
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
        border: 0 !important;
        border-radius: 11px !important;
        background: #009b24 !important;
        color: #fff !important;
        align-items: center !important;
        justify-content: center !important;
    }

    html body.storefront-service--food.storefront-shell.storefront-shell--v2 .sf-mobile-header .sf-searchbar--mobile .sf-searchbar__submit {
        background: #fb4e14 !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-mobile-delivery-card {
        grid-area: delivery !important;
        display: grid !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 36px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        grid-template-columns: 24px minmax(0, 1fr) !important;
        gap: 8px !important;
        align-items: center !important;
        text-align: left !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-mobile-delivery-card__pin {
        display: inline-flex !important;
        width: 24px !important;
        height: 24px !important;
        color: #009b24 !important;
        align-items: center !important;
        justify-content: center !important;
    }

    html body.storefront-service--food.storefront-shell.storefront-shell--v2 .sf-mobile-delivery-card__pin {
        color: #fb4e14 !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-mobile-delivery-card__copy {
        display: flex !important;
        min-width: 0 !important;
        flex-direction: column !important;
        gap: 1px !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-mobile-delivery-card__copy > span {
        display: block !important;
        color: #667085 !important;
        font-size: 10px !important;
        font-weight: 800 !important;
        line-height: 1.1 !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-mobile-delivery-card__copy > strong {
        display: flex !important;
        min-width: 0 !important;
        color: #111827 !important;
        font-size: 13px !important;
        font-weight: 900 !important;
        line-height: 1.2 !important;
        align-items: center !important;
        gap: 4px !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-mobile-delivery-card__copy b {
        display: block !important;
        max-width: min(54vw, 220px) !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-mobile-delivery-card__copy svg {
        width: 12px !important;
        height: 12px !important;
        flex: 0 0 auto !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-mobile-header__actions {
        grid-area: actions !important;
        display: flex !important;
        height: 36px !important;
        gap: 6px !important;
        align-items: center !important;
        justify-content: flex-end !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-mobile-action-btn {
        position: relative !important;
        display: inline-flex !important;
        width: 36px !important;
        height: 36px !important;
        margin: 0 !important;
        border: 1px solid #e8eaef !important;
        border-radius: 13px !important;
        background: #fff !important;
        color: #111827 !important;
        box-shadow: 0 6px 18px rgba(15, 23, 42, .06) !important;
        align-items: center !important;
        justify-content: center !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-mobile-action-btn svg {
        width: 21px !important;
        height: 21px !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-mobile-action-btn > span {
        position: absolute !important;
        top: -8px !important;
        right: -5px !important;
        display: inline-flex !important;
        min-width: 20px !important;
        height: 20px !important;
        padding: 0 5px !important;
        border-radius: 999px !important;
        background: #009b24 !important;
        color: #fff !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 11px !important;
        font-weight: 900 !important;
    }

    html body.storefront-service--food.storefront-shell.storefront-shell--v2 .sf-mobile-action-btn > span {
        background: #fb4e14 !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-header-service-selector {
        grid-area: services !important;
        display: grid !important;
        width: calc(100% + 32px) !important;
        height: 58px !important;
        min-height: 58px !important;
        margin: 0 -16px !important;
        padding: 0 16px !important;
        grid-auto-flow: column !important;
        grid-auto-columns: minmax(74px, 1fr) !important;
        gap: 12px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: none !important;
        align-items: center !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-header-service-selector::-webkit-scrollbar {
        display: none !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-header-service-selector a {
        display: flex !important;
        width: 74px !important;
        min-width: 74px !important;
        height: 54px !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: #111827 !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 5px !important;
        text-decoration: none !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-header-service-selector img {
        display: block !important;
        width: 38px !important;
        height: 38px !important;
        padding: 8px !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 999px !important;
        background: #f8fafc !important;
        object-fit: contain !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-header-service-selector a.is-active img {
        border-color: #acdcb5 !important;
        background: #edf8ee !important;
        box-shadow: 0 8px 20px rgba(7, 140, 35, .10) !important;
    }

    html body.storefront-service--food.storefront-shell.storefront-shell--v2 .sf-header-service-selector a.is-active img {
        border-color: #ffd0bc !important;
        background: #fff0e9 !important;
        box-shadow: 0 8px 20px rgba(251, 78, 20, .10) !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-header-service-selector span {
        display: block !important;
        width: 100% !important;
        color: inherit !important;
        font-size: 9px !important;
        font-weight: 900 !important;
        line-height: 1.05 !important;
        overflow: hidden !important;
        text-align: center !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }
}

@media (max-width: 380px) {
    html body.storefront-shell.storefront-shell--v2 .sf-app-chrome {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-header-service-selector {
        width: calc(100% + 24px) !important;
        margin-left: -12px !important;
        margin-right: -12px !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        gap: 8px !important;
    }
}

/* Production profile/account layout. */
.sf-profile-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 8px 4px 2px;
}

.sf-profile-heading h1 {
    margin: 0;
    color: var(--ref-ink);
    font-size: clamp(24px, 2.4vw, 36px);
    font-weight: 950;
    letter-spacing: -.045em;
}

.sf-profile-heading p {
    margin: 4px 0 0;
    color: var(--ref-muted);
    font-size: 14px;
}

.sf-profile-heading a,
.sf-profile-wallet a {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    padding: 0 16px;
    border: 1px solid #bfe5c7;
    border-radius: 12px;
    background: #fff;
    color: var(--ref-green-dark) !important;
    font-size: 13px;
    font-weight: 900;
    text-decoration: none !important;
}

body.storefront-service--food .sf-profile-heading a,
body.storefront-service--food .sf-profile-wallet a {
    border-color: #ffd0bc;
    color: #fb4e14 !important;
}

.sf-profile-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
    gap: 16px;
    align-items: start;
}

.sf-profile-main-card,
.sf-profile-panel,
.sf-profile-pro-card,
.sf-profile-logout {
    border: 1px solid var(--ref-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(16, 24, 40, .04);
}

.sf-profile-main-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 250px;
    gap: 20px;
    padding: 22px;
    align-items: center;
}

.sf-profile-user {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 18px;
}

.sf-profile-avatar {
    display: grid;
    width: 92px;
    height: 92px;
    min-width: 92px;
    place-items: center;
    overflow: hidden;
    border-radius: 999px;
    background: #eef8ef;
    color: var(--ref-green-dark);
    font-size: 36px;
    font-weight: 950;
}

body.storefront-service--food .sf-profile-avatar {
    background: #fff0e9;
    color: #fb4e14;
}

.sf-profile-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sf-profile-user h2 {
    margin: 0 0 6px;
    color: var(--ref-ink);
    font-size: 22px;
    font-weight: 950;
    letter-spacing: -.035em;
}

.sf-profile-user p {
    margin: 3px 0;
    color: var(--ref-muted);
    font-size: 13px;
    font-weight: 700;
}

.sf-profile-user strong {
    display: inline-flex;
    margin-top: 6px;
    padding: 5px 9px;
    border-radius: 999px;
    background: #eaf8ee;
    color: var(--ref-green-dark);
    font-size: 11px;
    font-weight: 900;
}

.sf-profile-wallet {
    display: grid;
    gap: 7px;
    padding-left: 20px;
    border-left: 1px solid var(--ref-line);
}

.sf-profile-wallet span,
.sf-profile-list span {
    color: var(--ref-muted);
    font-size: 12px;
    font-weight: 800;
}

.sf-profile-wallet strong {
    color: var(--ref-green-dark);
    font-size: 24px;
    font-weight: 950;
}

.sf-profile-pro-card {
    display: grid;
    gap: 10px;
    padding: 22px;
    background: linear-gradient(135deg, #007c24, #004c15);
    color: #fff;
}

.sf-profile-pro-card span {
    justify-self: start;
    padding: 5px 9px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .18);
    font-size: 11px;
    font-weight: 900;
}

.sf-profile-pro-card h2,
.sf-profile-pro-card p {
    margin: 0;
}

.sf-profile-panel {
    padding: 18px;
}

.sf-profile-stat-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.sf-profile-stat-row a {
    display: grid;
    min-height: 72px;
    place-items: center;
    gap: 4px;
    border: 1px solid #eef1ed;
    border-radius: 14px;
    background: linear-gradient(135deg, #f6fbf7, #fff);
    color: var(--ref-ink) !important;
    text-decoration: none !important;
}

.sf-profile-stat-row strong {
    font-size: 20px;
    font-weight: 950;
}

.sf-profile-stat-row span {
    color: var(--ref-muted);
    font-size: 11px;
    font-weight: 850;
}

.sf-profile-settings {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.sf-profile-settings a {
    position: relative;
    display: grid;
    min-height: 68px;
    align-content: center;
    gap: 3px;
    padding: 14px 38px 14px 16px;
    border: 1px solid #eef1ed;
    border-radius: 14px;
    background: #fff;
    color: var(--ref-ink) !important;
    text-decoration: none !important;
}

.sf-profile-settings a::after {
    content: "›";
    position: absolute;
    right: 16px;
    top: 50%;
    color: var(--ref-muted);
    font-size: 22px;
    transform: translateY(-50%);
}

.sf-profile-settings span {
    color: var(--ref-ink);
    font-size: 13px;
    font-weight: 900;
}

.sf-profile-settings small {
    color: var(--ref-muted);
    font-size: 12px;
    line-height: 1.3;
}

.sf-profile-list,
.sf-profile-activity {
    display: grid;
    gap: 10px;
}

.sf-profile-list article {
    display: grid;
    gap: 4px;
    padding: 12px;
    border: 1px solid #eef1ed;
    border-radius: 14px;
    background: #fff;
}

.sf-profile-list strong {
    color: var(--ref-ink);
    font-size: 13px;
    font-weight: 900;
}

.sf-profile-list p {
    margin: 0;
    color: var(--ref-muted);
    font-size: 12px;
    line-height: 1.45;
}

.sf-profile-activity a {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 10px;
    padding: 11px 0;
    border-bottom: 1px solid #eef1ed;
    color: var(--ref-ink) !important;
    text-decoration: none !important;
}

.sf-profile-activity a:last-child {
    border-bottom: 0;
}

.sf-profile-activity > a > span {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 999px;
    background: #eef5ff;
}

.sf-profile-activity > a > span::before {
    content: "";
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: #2563eb;
}

.sf-profile-activity > a > span[data-tone="green"] { background: #eaf8ee; }
.sf-profile-activity > a > span[data-tone="green"]::before { background: #0a9b2f; }
.sf-profile-activity > a > span[data-tone="orange"] { background: #fff0e9; }
.sf-profile-activity > a > span[data-tone="orange"]::before { background: #fb4e14; }

.sf-profile-activity strong,
.sf-profile-activity small,
.sf-profile-activity em {
    display: block;
}

.sf-profile-activity strong {
    color: var(--ref-ink);
    font-size: 13px;
    font-weight: 900;
}

.sf-profile-activity small,
.sf-profile-activity em {
    color: var(--ref-muted);
    font-size: 11px;
    font-style: normal;
    line-height: 1.35;
}

.sf-profile-logout {
    grid-column: 1 / -1;
    padding: 0;
    overflow: hidden;
    background: #fff5f2;
    border-color: #ffe1d7;
}

.sf-profile-logout button {
    display: grid;
    width: 100%;
    gap: 3px;
    padding: 16px 20px;
    border: 0;
    background: transparent;
    color: #f04438;
    text-align: left;
    font-size: 14px;
    font-weight: 950;
    cursor: pointer;
}

.sf-profile-logout span {
    color: #8a5448;
    font-size: 12px;
    font-weight: 700;
}

@media (min-width: 901px) {
    .sf-profile-main-card,
    .sf-profile-panel:not(.sf-profile-panel--side) {
        grid-column: 1;
    }

    .sf-profile-pro-card,
    .sf-profile-panel--side {
        grid-column: 2;
    }
}

@media (max-width: 900px) {
    .sf-profile-screen {
        padding: 12px 12px 86px !important;
    }

    .sf-profile-screen .sf-reference-inner__layout {
        display: block !important;
    }

    .sf-profile-screen .sf-reference-inner__side {
        display: none !important;
    }

    .sf-profile-heading {
        justify-content: center;
        text-align: center;
    }

    .sf-profile-heading a {
        display: none;
    }

    .sf-profile-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .sf-profile-main-card {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 16px;
    }

    .sf-profile-user {
        align-items: center;
    }

    .sf-profile-avatar {
        width: 68px;
        height: 68px;
        min-width: 68px;
        font-size: 28px;
    }

    .sf-profile-user h2 {
        font-size: 17px;
    }

    .sf-profile-wallet {
        padding: 12px 0 0;
        border-left: 0;
        border-top: 1px solid var(--ref-line);
    }

    .sf-profile-stat-row {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 7px;
    }

    .sf-profile-stat-row a {
        min-height: 62px;
        padding: 7px 3px;
    }

    .sf-profile-stat-row strong {
        font-size: 16px;
    }

    .sf-profile-stat-row span {
        font-size: 9px;
    }

    .sf-profile-settings {
        grid-template-columns: 1fr;
    }
}

/* Header hard reset: neutralize legacy absolute-position rules in every build. */
@media (min-width: 901px) {
    html body.storefront-shell.storefront-shell--v2 .sf-header,
    html body.storefront-shell.storefront-shell--v2 .sf-header > .sf-container,
    html body.storefront-shell.storefront-shell--v2 .sf-header__inner,
    html body.storefront-shell.storefront-shell--v2 .sf-desktop-header,
    html body.storefront-shell.storefront-shell--v2 .sf-desktop-header__top {
        height: 88px !important;
        min-height: 88px !important;
        max-height: 88px !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-header > .sf-container,
    html body.storefront-shell.storefront-shell--v2 .sf-header__inner {
        padding: 0 24px !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-desktop-header__top {
        position: relative !important;
        grid-template-columns: 220px 312px minmax(280px, 440px) minmax(330px, auto) !important;
        gap: 16px !important;
        align-items: center !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-wordmark--desktop,
    html body.storefront-shell.storefront-shell--v2 .sf-desktop-service-tabs,
    html body.storefront-shell.storefront-shell--v2 .sf-desktop-search,
    html body.storefront-shell.storefront-shell--v2 .sf-desktop-actions {
        position: relative !important;
        inset: auto !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        margin: 0 !important;
        transform: none !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-wordmark--desktop {
        width: 220px !important;
        height: 68px !important;
        gap: 5px !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-wordmark--desktop .sf-wordmark__home {
        width: 100% !important;
        height: 38px !important;
        min-height: 38px !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-desktop-location--under-logo {
        width: 100% !important;
        height: 18px !important;
        max-width: 220px !important;
        min-height: 18px !important;
        gap: 6px !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-desktop-location--under-logo::before,
    html body.storefront-shell.storefront-shell--v2 .sf-desktop-location--under-logo::after,
    html body.storefront-shell.storefront-shell--v2 .sf-desktop-location--under-logo strong::before,
    html body.storefront-shell.storefront-shell--v2 .sf-desktop-location--under-logo strong::after {
        display: none !important;
        content: none !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-desktop-location--under-logo span {
        display: inline-flex !important;
        width: 14px !important;
        height: 16px !important;
        align-items: center !important;
        justify-content: center !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-desktop-location--under-logo span::before {
        display: inline !important;
        content: "\26A1" !important;
        font-size: 12px !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-desktop-service-tabs {
        width: 312px !important;
        height: 64px !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-desktop-service-tabs a {
        width: 78px !important;
        min-width: 78px !important;
        height: 64px !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-desktop-search {
        width: 100% !important;
        height: 52px !important;
        min-height: 52px !important;
        max-height: 52px !important;
        max-width: 440px !important;
        padding: 0 18px !important;
        overflow: visible !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-desktop-search::before,
    html body.storefront-shell.storefront-shell--v2 .sf-desktop-search::after {
        display: none !important;
        content: none !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-desktop-actions {
        width: auto !important;
        min-width: 330px !important;
        height: 56px !important;
        justify-self: end !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-desktop-actions > * {
        position: relative !important;
        inset: auto !important;
        transform: none !important;
    }
}

@media (max-width: 900px) {
    html body.storefront-shell.storefront-shell--v2 .sf-header,
    html body.storefront-shell.storefront-shell--v2 .sf-header > .sf-container,
    html body.storefront-shell.storefront-shell--v2 .sf-header__inner,
    html body.storefront-shell.storefront-shell--v2 .sf-app-chrome {
        position: relative !important;
        inset: auto !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        transform: none !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-header {
        position: sticky !important;
        top: 0 !important;
        overflow: visible !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-app-chrome {
        display: block !important;
        padding: 10px 14px 9px !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-mobile-header {
        position: relative !important;
        inset: auto !important;
        display: grid !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-rows: 40px 44px 58px !important;
        grid-template-areas:
            "delivery actions"
            "search search"
            "services services" !important;
        gap: 8px 10px !important;
        align-items: center !important;
        overflow: visible !important;
        transform: none !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-mobile-delivery-card,
    html body.storefront-shell.storefront-shell--v2 .sf-mobile-header__actions,
    html body.storefront-shell.storefront-shell--v2 .sf-mobile-header .sf-searchbar--mobile,
    html body.storefront-shell.storefront-shell--v2 .sf-header-service-selector {
        position: relative !important;
        inset: auto !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        transform: none !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-mobile-delivery-card {
        grid-area: delivery !important;
        width: 100% !important;
        height: 40px !important;
        min-height: 40px !important;
        padding: 0 !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-mobile-header__actions {
        grid-area: actions !important;
        width: auto !important;
        height: 40px !important;
        min-height: 40px !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-mobile-header .sf-searchbar--mobile,
    html body.storefront-shell.storefront-shell--v2 .sf-mobile-header .sf-searchbar--mobile.has-mobile-promo {
        grid-area: search !important;
        display: flex !important;
        width: 100% !important;
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
        padding: 0 7px 0 13px !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-header-service-selector {
        grid-area: services !important;
        display: grid !important;
        width: 100% !important;
        height: 58px !important;
        min-height: 58px !important;
        max-height: 58px !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        padding: 0 !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        grid-auto-flow: row !important;
        grid-auto-columns: auto !important;
        gap: 8px !important;
        overflow: visible !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-header-service-selector::before,
    html body.storefront-shell.storefront-shell--v2 .sf-header-service-selector::after {
        display: none !important;
        content: none !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-header-service-selector a {
        position: relative !important;
        inset: auto !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 58px !important;
        margin: 0 !important;
        padding: 2px !important;
        border: 0 !important;
        border-radius: 12px !important;
        background: transparent !important;
        transform: none !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-header-service-selector a.is-active {
        background: #eef8ef !important;
    }

    html body.storefront-service--food.storefront-shell.storefront-shell--v2 .sf-header-service-selector a.is-active {
        background: #fff0e9 !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-header-service-selector img {
        width: 36px !important;
        height: 36px !important;
        padding: 8px !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-main {
        position: relative !important;
        z-index: 1 !important;
    }

    /* Product media must use the complete visual box in the PWA rails. */
    html body.storefront-shell.storefront-shell--v2 .sf-product-card__thumb {
        padding: 0 !important;
        overflow: hidden !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-product-card__image-track,
    html body.storefront-shell.storefront-shell--v2 .sf-product-card__image-slide,
    html body.storefront-shell.storefront-shell--v2 .sf-product-card__thumb > img {
        width: 100% !important;
        height: 100% !important;
        padding: 0 !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-product-card__image-slide,
    html body.storefront-shell.storefront-shell--v2 .sf-product-card__thumb > img {
        object-fit: cover !important;
        object-position: center !important;
    }
}

/* Real child/root categories shown beneath Categories on desktop catalog screens. */
.sf-service-category-submenu {
    display: grid;
    margin: -2px 0 5px 27px;
    padding: 6px 0 6px 10px;
    gap: 3px;
    border-left: 1px solid #e4e9e5;
}

.sf-service-category-submenu > a {
    display: grid !important;
    min-height: 38px !important;
    padding: 4px 7px !important;
    border-radius: 9px !important;
    grid-template-columns: 28px minmax(0, 1fr) !important;
    gap: 8px !important;
    align-items: center !important;
    color: #4b5563 !important;
}

.sf-service-category-submenu > a > span {
    display: grid !important;
    width: 28px !important;
    height: 28px !important;
    overflow: hidden !important;
    place-items: center !important;
    border-radius: 8px !important;
    background: #f2f7f2 !important;
    color: #087d2d !important;
    font-size: 11px !important;
    font-weight: 900 !important;
}

.sf-service-category-submenu img {
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    object-fit: cover !important;
}

.sf-service-category-submenu > a > strong {
    overflow: hidden;
    font-size: 10px !important;
    font-weight: 750 !important;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sf-service-category-submenu > a.is-active {
    background: #edf8ef !important;
    color: #087d2d !important;
}

@media (max-width: 900px) {
    .sf-service-category-submenu {
        display: none !important;
    }

    /* Inner PWA screens use the compact home header without the service rail. */
    html body.storefront-shell.storefront-shell--v2:not(.sf-storefront-home-page) .sf-mobile-header {
        grid-template-rows: 40px 44px !important;
        grid-template-areas:
            "delivery actions"
            "search search" !important;
        min-height: 92px !important;
        max-height: 92px !important;
        overflow: visible !important;
    }

    html body.storefront-shell.storefront-shell--v2:not(.sf-storefront-home-page) .sf-header-service-selector {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    html body.storefront-shell.storefront-shell--v2:not(.sf-storefront-home-page) .sf-header,
    html body.storefront-shell.storefront-shell--v2:not(.sf-storefront-home-page) .sf-header > .sf-container,
    html body.storefront-shell.storefront-shell--v2:not(.sf-storefront-home-page) .sf-header__inner,
    html body.storefront-shell.storefront-shell--v2:not(.sf-storefront-home-page) .sf-app-chrome {
        height: 111px !important;
        min-height: 0 !important;
        max-height: 111px !important;
        padding-bottom: 9px !important;
        overflow: hidden !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-mobile-header {
        grid-template-columns: 100px minmax(0, 1fr) auto !important;
        grid-template-areas:
            "brand delivery actions"
            "search search search"
            "services services services" !important;
        column-gap: 8px !important;
    }

    html body.storefront-shell.storefront-shell--v2:not(.sf-storefront-home-page) .sf-mobile-header {
        grid-template-areas:
            "brand delivery actions"
            "search search search" !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-mobile-brand-lockup {
        grid-area: brand !important;
        display: flex !important;
        width: 100px !important;
        min-width: 0 !important;
        height: 40px !important;
        margin: 0 !important;
        padding: 0 !important;
        align-items: center !important;
        gap: 4px !important;
        overflow: hidden !important;
        color: #111827 !important;
        text-decoration: none !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-mobile-brand-lockup img {
        display: block !important;
        width: auto !important;
        height: 34px !important;
        max-width: 96px !important;
        flex: 0 1 auto !important;
        object-fit: contain !important;
        object-position: left center !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-mobile-brand-lockup strong {
        min-width: 0 !important;
        overflow: hidden !important;
        color: #111827 !important;
        font-size: 10px !important;
        font-weight: 900 !important;
        line-height: 1.05 !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-mobile-delivery-card {
        position: absolute !important;
        top: 0 !important;
        left: 50% !important;
        width: min(35vw, 140px) !important;
        transform: translateX(-50%) !important;
        justify-self: center !important;
        grid-template-columns: minmax(0, 1fr) !important;
        justify-items: center !important;
        text-align: center !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-mobile-delivery-card__pin {
        display: none !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-mobile-delivery-card__copy {
        width: 100% !important;
        align-items: center !important;
        text-align: center !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-mobile-delivery-card__copy > strong {
        width: 100% !important;
        justify-content: center !important;
    }

    html body.storefront-shell.storefront-shell--v2 .sf-mobile-delivery-card__copy b {
        max-width: 100% !important;
    }

    html body.storefront-shell.storefront-shell--v2:not(.sf-storefront-home-page) .sf-zepto-delivery-dock {
        display: none !important;
    }

    /* ID-scoped compact shell outranks obsolete 232/248/296px legacy minima. */
    html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page {
        margin: 0 !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page #storefrontHeader,
    html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page #storefrontHeader > .sf-header__inner,
    html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page #storefrontHeader .sf-app-chrome {
        height: 111px !important;
        min-height: 111px !important;
        max-height: 111px !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page #storefrontHeader .sf-mobile-header {
        height: 92px !important;
        min-height: 92px !important;
        max-height: 92px !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page .sf-main > .sf-container,
    html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page .sf-reference-inner {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page .sf-main > .sf-container {
        padding-right: 10px !important;
        padding-left: 10px !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page .sf-reference-inner {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }
}

/* Final PWA home identity alignment. */
@media (max-width: 900px) {
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-head__top {
        grid-template-columns: 92px minmax(0, 1fr) auto !important;
        gap: 7px !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-brand {
        display: flex !important;
        width: 92px !important;
        height: 40px !important;
        min-width: 0 !important;
        align-items: center !important;
        overflow: hidden !important;
        color: var(--ref-ink) !important;
        text-decoration: none !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-brand img {
        width: auto !important;
        height: 34px !important;
        max-width: 88px !important;
        object-fit: contain !important;
        object-position: left center !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-brand strong {
        overflow: hidden !important;
        font-size: 11px !important;
        font-weight: 900 !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-location {
        justify-content: center !important;
        text-align: center !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-location > svg {
        display: none !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-location > span {
        justify-items: center !important;
    }
}
html body.storefront-shell,
html body.storefront-shell * { scrollbar-width: none !important; }
html body.storefront-shell::-webkit-scrollbar,
html body.storefront-shell *::-webkit-scrollbar { width: 0 !important; height: 0 !important; display: none !important; }
.sf-checkout-link { border: 0; background: transparent; color: var(--ref-green-dark); font: inherit; font-weight: 800; cursor: pointer; }
.sf-checkout-closing { display: grid; gap: 3px; padding: 11px 13px; border: 1px solid #fed7aa; border-radius: 11px; background: #fff7ed; color: #9a3412; font-size: 11px; }
.sf-checkout-closing form { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.sf-checkout-closing input { min-height: 40px; padding: 0 10px; border: 1px solid #fed7aa; border-radius: 9px; background: #fff; }
.sf-checkout-offers-modal { width: min(520px, calc(100vw - 28px)); max-height: 78vh; padding: 18px; border: 0; border-radius: 18px; box-shadow: 0 24px 80px rgba(15,23,42,.24); }
.sf-checkout-offers-modal::backdrop { background: rgba(15,23,42,.5); }
.sf-checkout-offers-list { display: grid; gap: 10px; margin-top: 14px; }
.sf-checkout-offers-list button { display: grid; gap: 4px; padding: 13px; border: 1px solid var(--ref-line); border-radius: 12px; background: #fff; text-align: left; cursor: pointer; }
.sf-checkout-offers-list button b { color: var(--ref-green-dark); }
.sf-checkout-offers-list button small { color: #b45309; }
.sf-checkout-coupon-rail button:disabled, .sf-checkout-offers-list button:disabled { opacity: .62; cursor: not-allowed; }

/* PWA completion fixes. */
.sf-reference-live-search { position: relative; display: grid; grid-template-columns: 22px minmax(0, 1fr) 36px; align-items: center; gap: 8px; min-height: 48px; margin: 10px 0 12px; padding: 0 8px 0 14px; border: 1px solid var(--ref-line); border-radius: 12px; background: #fff; box-shadow: 0 8px 24px rgba(15,23,42,.06); }
.sf-reference-live-search .sf-searchbar__icon svg, .sf-reference-live-search button svg { width: 20px; height: 20px; }
.sf-reference-live-search input { min-width: 0; border: 0; outline: 0; background: transparent; color: var(--ref-ink); font-size: 14px; font-weight: 700; }
.sf-reference-live-search button, .sf-desktop-search button { display: inline-grid; width: 34px; height: 34px; place-items: center; border: 0; border-radius: 8px; background: var(--ref-green); color: #fff; cursor: pointer; }
.sf-reference-live-search .sf-search-suggestions, .sf-desktop-search .sf-search-suggestions { position: absolute; top: calc(100% + 8px); right: 0; left: 0; z-index: 60; overflow: hidden; border: 1px solid var(--ref-line); border-radius: 12px; background: #fff; box-shadow: 0 18px 50px rgba(15,23,42,.18); }
.sf-search-suggestions__list { display: grid; gap: 0; max-height: min(420px, 70vh); margin: 0; padding: 6px; overflow-y: auto; list-style: none; }
.sf-search-suggestions__item { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 8px; border-radius: 9px; color: var(--ref-ink); text-decoration: none; }
.sf-search-suggestions__item:hover { background: #f4faf5; }
.sf-search-suggestions__media { display: grid; width: 44px; height: 44px; place-items: center; overflow: hidden; border-radius: 9px; background: #f3f6f3; }
.sf-search-suggestions__media img { width: 100%; height: 100%; object-fit: cover; }
.sf-search-suggestions__title { display: block; overflow: hidden; font-size: 12px; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.sf-search-suggestions__meta { display: block; overflow: hidden; color: var(--ref-muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.sf-search-suggestions__price { display: grid; justify-items: end; gap: 1px; font-size: 10px; }
body.sf-storefront-home-page .sf-reference-feed .sf-home-product-grid, body.sf-storefront-home-page .sf-reference-feed .sf-home-product-grid.is-scroller, body.sf-storefront-home-page .sf-reference-feed .sf-dynamic-section[data-section-type="product_scroller"] .sf-home-product-grid, body.sf-storefront-home-page .sf-reference-feed .sf-home-product-grid--two-row { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; grid-auto-flow: row !important; grid-auto-columns: unset !important; gap: 12px !important; overflow: visible !important; }
body.sf-storefront-home-page .sf-reference-feed .sf-home-product-grid .sf-product-card { width: 100% !important; min-width: 0 !important; max-width: none !important; }
body.sf-storefront-home-page .sf-reference-hero__products, body.sf-storefront-home-page .sf-reference-promo__product, body.sf-storefront-home-page .sf-reference-promo__products { display: none !important; }
.sf-home-store-grid--nearby { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)) !important; gap: 14px !important; overflow: visible !important; }
.sf-home-store-grid--nearby .sf-store-card { width: 100% !important; min-width: 0 !important; }
.sf-premium-banner-grid.is-carousel { display: grid !important; grid-auto-flow: column !important; grid-auto-columns: 100% !important; overflow-x: auto !important; scroll-snap-type: x mandatory; }
.sf-premium-banner-grid.is-carousel .sf-premium-banner-card { scroll-snap-align: start; }
.sf-payment-logo { display: inline-grid !important; min-width: 58px; height: 30px; place-items: center; padding: 0 8px; border: 1px solid var(--ref-line); border-radius: 7px; background: #fff; color: #111827; font-size: 10px; font-weight: 900; }
.sf-reference-payment-grid label { align-items: center; }
.sf-footer { padding: 24px 0 16px !important; }
.sf-footer__grid { gap: 18px !important; }
.sf-footer [style*="margin-top: 28px"] { margin-top: 16px !important; padding-top: 14px !important; }
.sf-tracking-screen .sf-tracking-map-panel { position: relative; overflow: hidden; min-height: 360px; border-radius: 18px; background: #dff3e4; }
.sf-tracking-map { position: absolute; inset: 0; min-height: 360px; }
.sf-tracking-map__fallback { position: absolute; inset: 0; display: grid; place-items: center; background: linear-gradient(135deg, #effaf1, #dbeafe); }
.sf-tracking-map__fallback i { width: min(520px, 78%); height: 7px; border-radius: 999px; background: repeating-linear-gradient(90deg, #16a34a 0 22px, transparent 22px 34px); transform: rotate(-10deg); }
.sf-tracking-map__fallback span { position: absolute; display: grid; width: 46px; height: 46px; place-items: center; border-radius: 999px; background: #fff; box-shadow: 0 12px 30px rgba(15,23,42,.16); }
.sf-tracking-map__fallback .is-store { left: 16%; bottom: 24%; }
.sf-tracking-map__fallback .is-store::before { content: "S"; font-weight: 900; color: var(--ref-green-dark); }
.sf-tracking-map__fallback .is-driver { right: 16%; top: 26%; }
.sf-tracking-map__fallback .is-driver::before { content: "D"; font-weight: 900; color: #1d4ed8; }
.sf-tracking-live-card { position: absolute; right: 18px; bottom: 18px; display: grid; gap: 4px; width: min(240px, calc(100% - 36px)); padding: 16px; border-radius: 14px; background: rgba(255,255,255,.94); box-shadow: 0 16px 44px rgba(15,23,42,.18); }
.sf-tracking-live-card span { color: var(--ref-muted); font-size: 10px; font-weight: 850; text-transform: uppercase; }
.sf-tracking-live-card strong { font-size: 24px; font-weight: 900; }
.sf-tracking-live-card p { margin: 0; color: var(--ref-muted); font-size: 11px; }
.sf-tracking-content { margin-top: 14px; }
.sf-tracking-details dl { display: grid; gap: 10px; margin: 14px 0 0; }
.sf-tracking-details dl div { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-top: 1px solid var(--ref-line); }
.sf-tracking-details dt { color: var(--ref-muted); font-size: 11px; font-weight: 800; }
.sf-tracking-details dd { margin: 0; font-size: 12px; font-weight: 900; }
@media (max-width: 900px) {
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-head__top { grid-template-columns: 132px minmax(0, 1fr) auto !important; }
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-brand { width: 132px !important; height: 48px !important; }
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-brand img { height: 44px !important; max-width: 128px !important; }
    body.sf-storefront-home-page .sf-reference-feed .sf-home-product-grid, body.sf-storefront-home-page .sf-reference-feed .sf-home-product-grid.is-scroller, body.sf-storefront-home-page .sf-reference-feed .sf-dynamic-section[data-section-type="product_scroller"] .sf-home-product-grid, body.sf-storefront-home-page .sf-reference-feed .sf-home-product-grid--two-row { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 8px !important; }
    body.sf-storefront-home-page .sf-reference-feed .sf-product-card__thumb { height: 86px !important; min-height: 86px !important; }
    .sf-home-store-grid--nearby { grid-template-columns: 1fr !important; }
    .sf-footer { padding-bottom: calc(76px + env(safe-area-inset-bottom)) !important; }
    .sf-bottom-nav a span, .sf-bottom-nav button span { max-width: 72px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .sf-tracking-screen .sf-tracking-map-panel, .sf-tracking-map { min-height: 330px; }
}

/* Screenshot alignment pass: keep final mobile chrome larger and stable. */
@media (max-width: 900px) {
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-head { position: sticky !important; top: 0 !important; z-index: 120 !important; width: 100% !important; height: auto !important; min-height: 222px !important; margin: 0 !important; padding: 16px 14px 12px !important; display: grid !important; grid-template-rows: 58px 64px 74px !important; gap: 10px !important; overflow: visible !important; border-bottom: 1px solid rgba(15,23,42,.06) !important; background: rgba(255,255,255,.98) !important; backdrop-filter: blur(14px) !important; }
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-head__top { display: grid !important; grid-template-columns: minmax(128px,.84fr) minmax(0,1fr) auto !important; min-height: 58px !important; align-items: center !important; gap: 10px !important; }
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-brand { width: auto !important; min-width: 128px !important; max-width: 170px !important; height: 54px !important; align-items: center !important; }
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-brand img { height: 50px !important; max-width: 158px !important; }
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-brand strong { display: block !important; max-width: 100% !important; color: #111827 !important; font-size: 16px !important; font-weight: 950 !important; line-height: 1.05 !important; letter-spacing: 0 !important; }
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-location small { font-size: 11px !important; }
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-location strong { max-width: 42vw !important; font-size: 16px !important; line-height: 1.1 !important; }
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-actions { gap: 8px !important; }
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-actions a { width: 46px !important; height: 46px !important; border-radius: 14px !important; }
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-actions svg { width: 24px !important; height: 24px !important; }
    .sf-reference-live-search { min-height: 59px !important; height: 59px !important; margin: 0 !important; grid-template-columns: 28px minmax(0,1fr) 46px !important; border-radius: 14px !important; padding: 0 11px 0 18px !important; }
    .sf-reference-live-search input { font-size: 17px !important; }
    .sf-reference-live-search .sf-searchbar__icon svg { width: 24px !important; height: 24px !important; }
    .sf-reference-live-search button { width: 46px !important; height: 46px !important; border-radius: 11px !important; }
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-services { position: static !important; min-height: 72px !important; height: 72px !important; gap: 12px !important; padding: 0 0 7px !important; overflow: visible !important; }
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-services a, html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-services button { min-width: 66px !important; gap: 6px !important; }
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-services a > span, html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-services button > span { width: 50px !important; height: 50px !important; }
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-services img { width: 32px !important; height: 32px !important; }
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-services strong { font-size: 12px !important; }
    body.sf-storefront-home-page .sf-reference-hero__main { height: 242px !important; margin-top: 6px !important; }
    body.sf-storefront-home-page .sf-reference-hero__copy h1 { font-size: clamp(24px, 6.4vw, 29px) !important; }
    body.sf-storefront-home-page .sf-reference-hero__copy > strong, body.sf-storefront-home-page .sf-reference-hero__copy > b { font-size: 12px !important; }
    body.sf-storefront-home-page .sf-reference-hero__copy > b { min-height: 39px !important; padding: 0 16px !important; border-radius: 10px !important; }
    body.sf-storefront-home-page .sf-reference-benefits { transform: scale(1.1) !important; transform-origin: top center !important; margin-bottom: 10px !important; }
    html body.storefront-shell.storefront-shell--v2 .sf-floating-cart-bar { position: fixed !important; right: 14px !important; bottom: calc(86px + env(safe-area-inset-bottom)) !important; left: 14px !important; z-index: 1190 !important; display: block !important; width: auto !important; max-width: none !important; padding: 0 !important; transform: none !important; text-decoration: none !important; }
    html body.storefront-shell.storefront-shell--v2 .sf-floating-cart-bar[hidden] { display: none !important; }
    html body.storefront-shell.storefront-shell--v2 .sf-floating-cart-bar__inner { display: grid !important; grid-template-columns: 44px minmax(0,1fr) 118px !important; align-items: center !important; gap: 12px !important; width: 100% !important; min-height: 64px !important; margin: 0 !important; padding: 12px 14px !important; border-radius: 16px !important; background: #111827 !important; box-shadow: 0 16px 36px rgba(15,23,42,.24) !important; }
    html body.storefront-shell.storefront-shell--v2 .sf-floating-cart-bar__inner div { display: grid !important; min-width: 0 !important; gap: 2px !important; justify-items: start !important; text-align: left !important; }
    html body.storefront-shell.storefront-shell--v2 .sf-floating-cart-bar__inner strong, html body.storefront-shell.storefront-shell--v2 .sf-floating-cart-bar__inner span { color: #fff !important; }
    html body.storefront-shell.storefront-shell--v2 .sf-floating-cart-bar__icon { display: grid !important; width: 42px !important; height: 42px !important; place-items: center !important; border-radius: 13px !important; background: rgba(255,255,255,.12) !important; }
    html body.storefront-shell.storefront-shell--v2 .sf-floating-cart-bar__icon svg { width: 24px !important; height: 24px !important; color: #fff !important; }
    html body.storefront-shell.storefront-shell--v2 .sf-floating-cart-bar__cta { display: inline-flex !important; min-height: 40px !important; align-items: center !important; justify-content: center !important; padding: 0 16px !important; border-radius: 12px !important; background: #fff !important; color: #111827 !important; font-size: 0 !important; font-weight: 900 !important; }
    html body.storefront-shell.storefront-shell--v2 .sf-floating-cart-bar__cta::before { content: "View cart" !important; color: #111827 !important; font-size: 14px !important; font-weight: 900 !important; line-height: 1 !important; }
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-bottom-nav { min-height: 74px !important; padding-top: 8px !important; }
}

/* Inner PWA list pages: larger logo and one store/restaurant card per row. */
@media (max-width: 900px) {
    html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page .sf-top-strip { display: none !important; }
    html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page #storefrontHeader, html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page #storefrontHeader > .sf-header__inner, html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page #storefrontHeader .sf-app-chrome { height: 128px !important; min-height: 128px !important; max-height: 128px !important; border: 0 !important; box-shadow: none !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; }
    html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page #storefrontHeader .sf-mobile-header--inner { display: grid !important; position: relative !important; height: 128px !important; min-height: 128px !important; max-height: 128px !important; grid-template-columns: minmax(0,1fr) auto !important; grid-template-rows: 62px 58px !important; grid-template-areas: "brand actions" "search search" !important; row-gap: 0 !important; column-gap: 10px !important; align-items: center !important; margin: 0 !important; padding: 4px 12px 6px !important; border: 0 !important; box-shadow: none !important; overflow: hidden !important; }
    html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page .sf-mobile-brand-lockup { grid-area: brand !important; display: flex !important; width: auto !important; min-width: 122px !important; max-width: 160px !important; height: 62px !important; align-items: center !important; align-self: center !important; justify-self: start !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; color: #111827 !important; text-decoration: none !important; }
    html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page .sf-mobile-brand-lockup img { display: block !important; height: 42px !important; max-width: 150px !important; object-fit: contain !important; object-position: left center !important; }
    html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page .sf-mobile-brand-lockup strong { display: block !important; overflow: visible !important; color: #111827 !important; font-size: 20px !important; font-weight: 950 !important; line-height: 1.05 !important; white-space: nowrap !important; }
    html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page .sf-mobile-delivery-card { position: absolute !important; top: 10px !important; left: 50% !important; z-index: 4 !important; width: 178px !important; transform: translateX(-50%) !important; text-align: center !important; }
    html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page .sf-mobile-delivery-card__copy > strong, html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page .sf-mobile-delivery-card__copy b { font-size: 15px !important; line-height: 1.1 !important; }
    html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page .sf-mobile-header--inner .sf-searchbar--inner { grid-area: search !important; display: flex !important; height: 58px !important; min-height: 58px !important; max-height: 58px !important; border-radius: 14px !important; margin: 0 !important; padding: 0 14px !important; box-shadow: none !important; }
    html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page .sf-mobile-header--inner .sf-searchbar--inner input { font-size: 15px !important; }
    html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page .sf-reference-inner { padding-top: 0 !important; margin-top: 0 !important; }
    html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page .sf-main, html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page .sf-main > .sf-container { border-top: 0 !important; box-shadow: none !important; padding-top: 0 !important; transform: translateY(-1px) !important; margin-top: 0 !important; }
    html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page #storefrontHeader::before, html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page #storefrontHeader::after, html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page #storefrontHeader > .sf-header__inner::before, html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page #storefrontHeader > .sf-header__inner::after, html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page #storefrontHeader .sf-app-chrome::before, html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page #storefrontHeader .sf-app-chrome::after, html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page #storefrontHeader .sf-mobile-header::before, html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page #storefrontHeader .sf-mobile-header::after { display: none !important; content: none !important; }
    html body.storefront-shell.storefront-shell--v2.sf-storefront-inner-page .sf-mobile-header__actions { grid-area: actions !important; align-self: center !important; justify-self: end !important; margin: 0 !important; }
    html body.storefront-shell.storefront-shell--v2 .sf-food-screen--restaurants .sf-reference-store-grid, html body.storefront-shell.storefront-shell--v2 .sf-food-screen--restaurants .sf-reference-store-grid.is-rail { display: grid !important; grid-template-columns: 1fr !important; grid-auto-flow: row !important; grid-auto-columns: unset !important; gap: 14px !important; margin: 0 !important; overflow: visible !important; padding: 0 !important; }
    html body.storefront-shell.storefront-shell--v2 .sf-food-screen--restaurants .sf-store-card { display: grid !important; width: 100% !important; min-width: 0 !important; max-width: none !important; grid-template-columns: 112px minmax(0,1fr) !important; align-items: stretch !important; }
    html body.storefront-shell.storefront-shell--v2 .sf-food-screen--restaurants .sf-store-card__cover { width: 112px !important; height: 112px !important; min-height: 112px !important; border-radius: 14px 0 0 14px !important; }
    html body.storefront-shell.storefront-shell--v2 .sf-food-screen--restaurants .sf-store-card__logo { display: grid !important; }
    html body.storefront-shell.storefront-shell--v2 .sf-food-screen--restaurants .sf-store-card__body { padding: 12px !important; }
    html body.storefront-shell.storefront-shell--v2 .sf-food-screen--restaurants .sf-store-card__title { font-size: 16px !important; line-height: 1.15 !important; }
    html body.storefront-shell.storefront-shell--v2 .sf-food-screen--restaurants .sf-store-card__subtitle { display: -webkit-box !important; overflow: hidden !important; font-size: 12px !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; }
}

/* Final storefront shadow reset: must stay after all component overrides. */
html body.storefront-shell *, html body.storefront-shell *::before, html body.storefront-shell *::after { box-shadow: none !important; text-shadow: none !important; }
html body.storefront-shell .sf-location-modal__saved { display: grid; gap: 8px; padding: 12px; border: 1px solid #e6eae7; border-radius: 14px; background: #fff; }
html body.storefront-shell .sf-location-modal__saved > small { color: #667085; font-size: 11px; font-weight: 900; text-transform: uppercase; }
html body.storefront-shell .sf-location-modal__saved > div { display: grid; gap: 8px; }
html body.storefront-shell .sf-location-modal__saved button { display: grid; gap: 3px; width: 100%; padding: 10px 12px; border: 1px solid #e6eae7; border-radius: 12px; background: #fff; color: #111820; text-align: left; }
html body.storefront-shell .sf-location-modal__saved button.is-active { border-color: #08a126; background: #effaf1; }
html body.storefront-shell .sf-location-modal__saved button b { font-size: 13px; font-weight: 900; }
html body.storefront-shell .sf-location-modal__saved button span { overflow: hidden; color: #667085; font-size: 12px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }

/* Absolute final compact category/product sizing. */
html body.storefront-shell .sf-home-category-tile, html body.storefront-shell .sf-reference-chip-rail a { grid-template-rows: 104px auto !important; gap: 10px !important; background: transparent !important; }
html body.storefront-shell .sf-home-category-tile__top, html body.storefront-shell .sf-reference-chip-rail a > span { width: 104px !important; height: 104px !important; border-radius: 12px !important; background: #f4f5f7 !important; }
html body.storefront-shell .sf-home-category-tile > span, html body.storefront-shell .sf-reference-chip-rail a > strong { width: 104px !important; color: #020617 !important; font-size: 16px !important; font-weight: 900 !important; }
html body.storefront-shell .sf-category-product-grid { gap: 10px !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__thumb { height: 86px !important; min-height: 86px !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card h3 { min-height: 28px !important; color: #020617 !important; font-size: 12px !important; font-weight: 900 !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__footer { grid-template-columns: minmax(0,1fr) 70px !important; gap: 7px !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__price strong { color: #020617 !important; font-size: 17px !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__price small { color: #8b939d !important; font-size: 11px !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__footer form, html body.storefront-shell .sf-category-product-grid .sf-product-card__footer > .sf-product-card__action, html body.storefront-shell .sf-category-product-grid .sf-product-card__action, html body.storefront-shell .sf-category-product-grid .sf-product-card__stepper { width: 70px !important; min-width: 70px !important; height: 42px !important; min-height: 42px !important; color: #08a126 !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__action-label { color: #08a126 !important; }

/* Final desktop category product footprint. */
html body.storefront-shell .sf-category-product-grid { grid-template-columns: repeat(auto-fill,176px) !important; justify-content: start !important; align-items: start !important; column-gap: 14px !important; row-gap: 18px !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card { width: 176px !important; max-width: 176px !important; min-width: 0 !important; }
html body.storefront-shell .sf-category-product-grid .sf-product-card__thumb { width: 176px !important; }
@media (max-width: 640px) {
    html body.storefront-shell .sf-category-product-grid { grid-template-columns: repeat(3,minmax(0,1fr)) !important; column-gap: 10px !important; row-gap: 14px !important; }
    html body.storefront-shell .sf-category-product-grid .sf-product-card { width: auto !important; max-width: none !important; }
    html body.storefront-shell .sf-category-product-grid .sf-product-card__thumb { width: 100% !important; }
}
/* Final home-screen desktop fit: match the corrected inner-page margins for every service. */
@media (min-width: 769px) {
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-main > .sf-container,
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-page-shell--home > .sf-container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-home {
        width: 100% !important;
        max-width: none !important;
        padding: 14px clamp(12px, 1.35vw, 24px) 40px !important;
        box-sizing: border-box !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-home__layout {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        grid-template-columns: 156px minmax(0, 1fr) !important;
        gap: 14px !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-sidebar {
        width: 156px !important;
        min-width: 0 !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-feed {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
    }
}

/* Final mobile home fit: match the app-like full-width blades while keeping a small readable edge on every home service. */
@media (max-width: 900px) {
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-main,
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-main > .sf-container,
    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-page-shell--home {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-home {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 10px 92px !important;
        box-sizing: border-box !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-head,
    body.storefront-service--food.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-mobile-head {
        width: 100% !important;
        max-width: none !important;
        margin: 0 0 10px !important;
        padding-right: 12px !important;
        padding-left: 12px !important;
        box-sizing: border-box !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-feed {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-storefront-home-page .sf-reference-feed .sf-front-section {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
}

/* Final category tile alignment: equal cards, stable image boxes, centered labels. */
html body.storefront-shell .sf-home-category-grid,
html body.storefront-shell .sf-reference-feed .sf-home-category-grid,
html body.storefront-shell .sf-home-category-grid.sf-home-category-grid--dynamic {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(112px, 112px)) !important;
    justify-content: start !important;
    justify-items: stretch !important;
    align-items: start !important;
    gap: 16px 14px !important;
}

html body.storefront-shell .sf-home-category-tile,
html body.storefront-shell .sf-reference-feed .sf-home-category-tile {
    display: grid !important;
    width: 112px !important;
    min-width: 112px !important;
    max-width: 112px !important;
    min-height: 142px !important;
    grid-template-rows: 104px minmax(32px, auto) !important;
    gap: 8px !important;
    align-items: start !important;
    justify-items: center !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: transparent !important;
    color: #020617 !important;
    text-align: center !important;
    text-decoration: none !important;
}

html body.storefront-shell .sf-home-category-tile__top,
html body.storefront-shell .sf-reference-feed .sf-home-category-tile__top {
    display: grid !important;
    width: 96px !important;
    height: 96px !important;
    min-width: 96px !important;
    min-height: 96px !important;
    place-items: center !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 13px !important;
    background: #f3f5f7 !important;
}

html body.storefront-shell .sf-home-category-tile__top img,
html body.storefront-shell .sf-reference-feed .sf-home-category-tile__top img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    border: 0 !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

html body.storefront-shell .sf-home-category-tile__fallback,
html body.storefront-shell .sf-reference-feed .sf-home-category-tile__fallback {
    display: grid !important;
    width: 100% !important;
    height: 100% !important;
    place-items: center !important;
    color: #111827 !important;
    font-size: 24px !important;
    font-weight: 900 !important;
}

html body.storefront-shell .sf-home-category-tile__fallback[hidden],
html body.storefront-shell .sf-reference-feed .sf-home-category-tile__fallback[hidden] {
    display: none !important;
}

html body.storefront-shell .sf-home-category-tile > span,
html body.storefront-shell .sf-reference-feed .sf-home-category-tile > span {
    display: -webkit-box !important;
    width: 112px !important;
    max-width: 112px !important;
    min-height: 32px !important;
    overflow: hidden !important;
    color: #020617 !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    white-space: normal !important;
    text-overflow: clip !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
}

@media (max-width: 640px) {
    html body.storefront-shell .sf-home-category-grid,
    html body.storefront-shell .sf-reference-feed .sf-home-category-grid,
    html body.storefront-shell .sf-home-category-grid.sf-home-category-grid--dynamic {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 12px 8px !important;
    }

    html body.storefront-shell .sf-home-category-tile,
    html body.storefront-shell .sf-reference-feed .sf-home-category-tile {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        min-height: 116px !important;
        grid-template-rows: 78px minmax(30px, auto) !important;
        gap: 7px !important;
    }

    html body.storefront-shell .sf-home-category-tile__top,
    html body.storefront-shell .sf-reference-feed .sf-home-category-tile__top {
        width: 72px !important;
        height: 72px !important;
        min-width: 72px !important;
        min-height: 72px !important;
        border-radius: 12px !important;
    }

    html body.storefront-shell .sf-home-category-tile > span,
    html body.storefront-shell .sf-reference-feed .sf-home-category-tile > span {
        width: 100% !important;
        max-width: 82px !important;
        min-height: 30px !important;
        font-size: 11px !important;
        font-weight: 850 !important;
    }
}

/* Final floating cart restore: when the mobile menu hides, cart drops into its slot. */
@media (max-width: 900px) {
    html body.storefront-shell.storefront-shell--v2 .sf-floating-cart-bar {
        transition: bottom .24s ease, transform .24s ease, opacity .24s ease !important;
    }

    html body.storefront-shell.storefront-shell--v2.sf-bottom-nav-hidden .sf-floating-cart-bar:not([hidden]) {
        bottom: calc(8px + env(safe-area-inset-bottom, 0px)) !important;
        z-index: 1210 !important;
    }

    html body.storefront-shell.storefront-shell--v2:not(.sf-bottom-nav-hidden) .sf-floating-cart-bar:not([hidden]) {
        bottom: calc(86px + env(safe-area-inset-bottom, 0px)) !important;
    }
}

/* Final app-style product detail screen. */
html body.storefront-shell.sf-storefront-product-page { background: #f7f8fc !important; }
html body.storefront-shell.sf-storefront-product-page .sf-floating-cart-bar { display: none !important; }
.sf-app-product-screen { padding-bottom: 112px !important; }
.sf-app-product { display: grid; width: min(1180px, 100%); margin: 0 auto; gap: 12px; }
.sf-app-product__crumb { display: flex; gap: 8px; align-items: center; color: #667085; font-size: 12px; font-weight: 800; }
.sf-app-product__crumb a { color: inherit !important; text-decoration: none !important; }
.sf-app-product__hero { display: grid; grid-template-columns: minmax(360px,.92fr) minmax(0,1fr); gap: 14px; align-items: stretch; }
.sf-app-product__media, .sf-app-product__summary, .sf-app-product__panel, .sf-app-product__highlights, .sf-app-product__store { border: 1px solid #e8ece8; border-radius: 16px; background: #fff; }
.sf-app-product__media { position: relative; display: grid; min-height: 520px; overflow: hidden; grid-template-rows: minmax(0,1fr) auto; }
.sf-app-product__image-stage { display: grid; min-height: 430px; place-items: center; background: #f3f5f7; }
.sf-app-product__image-stage img { display: block; width: 100%; height: 100%; max-height: 520px; object-fit: contain; padding: 18px; }
.sf-app-product__image-stage span { display: grid; width: 128px; height: 128px; place-items: center; border-radius: 28px; background: #e9f8ed; color: #08a126; font-size: 64px; font-weight: 950; }
.sf-app-product__top-actions { position: absolute; top: 12px; right: 12px; left: 12px; z-index: 3; display: grid; grid-template-columns: 42px minmax(0,1fr) 42px 42px; gap: 8px; align-items: center; }
.sf-app-product__top-actions button, .sf-app-product__top-actions a { display: grid; width: 42px; height: 42px; place-items: center; border: 0; border-radius: 999px; background: rgba(255,255,255,.92); color: #111827 !important; text-decoration: none !important; }
.sf-app-product__top-actions svg { width: 21px; height: 21px; }
.sf-app-product__top-actions .is-active { background: #e9f9ee; color: #08a126 !important; }
.sf-app-product__discount { position: absolute; top: 66px; left: 14px; z-index: 2; padding: 7px 10px; border-radius: 999px; background: #2563eb; color: #fff; font-size: 12px; font-weight: 950; }
.sf-app-product__thumbs { display: flex; gap: 8px; overflow-x: auto; padding: 10px; border-top: 1px solid #edf0ed; }
.sf-app-product__thumbs button { display: grid; width: 58px; height: 58px; min-width: 58px; place-items: center; overflow: hidden; border: 1px solid #e5e7eb; border-radius: 12px; background: #fff; }
.sf-app-product__thumbs button.is-active { border-color: #08a126; }
.sf-app-product__thumbs img { width: 100%; height: 100%; object-fit: contain; padding: 4px; }
.sf-app-product__summary { display: grid; align-content: start; gap: 12px; padding: 18px; }
.sf-app-product__meta-line { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; color: #667085; font-size: 13px; font-weight: 800; }
.sf-app-product__meta-line span { display: inline-flex; align-items: center; gap: 5px; }
.sf-app-product__meta-line svg { width: 15px; height: 15px; color: #08a126; }
.sf-app-product__summary h1 { margin: 0; color: #111827; font-size: clamp(24px,3vw,38px); font-weight: 950; line-height: 1.08; }
.sf-app-product__summary p { margin: 0; color: #667085; font-size: 15px; font-weight: 800; }
.sf-app-product__price { display: flex; flex-wrap: wrap; gap: 9px; align-items: baseline; }
.sf-app-product__price strong { color: #111827; font-size: 28px; font-weight: 950; }
.sf-app-product__price del { color: #98a2b3; font-size: 15px; font-weight: 850; }
.sf-app-product__chips, .sf-app-product__description div { display: flex; flex-wrap: wrap; gap: 8px; }
.sf-app-product__chips span, .sf-app-product__description div span { display: inline-flex; min-height: 30px; align-items: center; padding: 0 10px; border-radius: 999px; background: #eaf8ef; color: #087d25; font-size: 12px; font-weight: 900; }
.sf-app-product__chips span.is-danger { background: #fff1f2; color: #e11d48; }
.sf-app-product__highlights { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)) 96px; gap: 8px; padding: 10px; }
.sf-app-product__highlights article { display: grid; gap: 4px; min-width: 0; padding: 10px; border-radius: 12px; background: #f8fafc; }
.sf-app-product__highlights span, .sf-app-product__store small { color: #667085; font-size: 11px; font-weight: 850; }
.sf-app-product__highlights strong, .sf-app-product__store strong { overflow: hidden; color: #111827; font-size: 13px; font-weight: 950; text-overflow: ellipsis; white-space: nowrap; }
.sf-app-product__highlights button { border: 1px solid #08a126; border-radius: 12px; background: #fff; color: #08a126; font-size: 12px; font-weight: 950; }
.sf-app-product__panel { display: grid; gap: 12px; padding: 14px; }
.sf-app-product__panel h2, .sf-app-product__description h3 { margin: 0; color: #111827; font-size: 16px; font-weight: 950; }
.sf-app-product__variants > div, .sf-app-product__offers > div { display: flex; flex-wrap: wrap; gap: 10px; }
.sf-app-product__variants button { display: inline-grid; min-height: 44px; grid-template-columns: auto minmax(0,1fr); gap: 6px 8px; align-items: center; padding: 8px 12px; border: 1px solid #e5e7eb; border-radius: 999px; background: #fff; color: #111827; }
.sf-app-product__variants button.is-active { border-color: #08a126; background: #eaf8ef; }
.sf-app-product__variants button.is-disabled { opacity: .45; }
.sf-app-product__variants i { width: 18px; height: 18px; border: 1px solid #d1d5db; border-radius: 999px; background: var(--swatch,#f3f4f6); }
.sf-app-product__variants span { font-size: 13px; font-weight: 900; }
.sf-app-product__variants strong { grid-column: 2; color: #667085; font-size: 12px; }
.sf-app-product__offers article { display: grid; min-width: min(100%,240px); gap: 5px; padding: 12px; border: 1px dashed #bbe6c4; border-radius: 12px; background: #f8fff9; }
.sf-app-product__offers span { color: #08a126; font-size: 11px; font-weight: 950; }
.sf-app-product__offers strong { color: #111827; font-size: 14px; font-weight: 950; }
.sf-app-product__offers p, .sf-app-product__description p, .sf-app-product__store p { margin: 0; color: #667085; font-size: 13px; line-height: 1.45; }
.sf-app-product__store { display: grid; grid-template-columns: 58px minmax(0,1fr) 28px; gap: 12px; align-items: center; padding: 12px; color: inherit !important; text-decoration: none !important; }
.sf-app-product__store > span { display: grid; width: 58px; height: 58px; place-items: center; border-radius: 16px; background: #eaf8ef; color: #08a126; font-size: 22px; font-weight: 950; }
.sf-app-product__store > b { color: #98a2b3; font-size: 24px; }
.sf-app-product__purchase { position: fixed; right: 18px; bottom: calc(18px + env(safe-area-inset-bottom,0px)); left: 18px; z-index: 1220; display: grid; width: min(520px, calc(100vw - 36px)); min-height: 68px; margin: 0 auto; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: center; padding: 12px; border: 1px solid #111827; border-radius: 18px; background: #111827; color: #fff; }
.sf-app-product__purchase > div { display: grid; min-width: 0; gap: 2px; }
.sf-app-product__purchase span { overflow: hidden; color: #d1d5db; font-size: 12px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.sf-app-product__purchase strong { color: #fff; font-size: 19px; font-weight: 950; }
.sf-app-product__purchase form, .sf-app-product__purchase > a { display: grid; min-width: 118px; }
.sf-app-product__purchase .sf-product-card__action, .sf-app-product__purchase > a { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; border: 0 !important; border-radius: 13px !important; background: #fff !important; color: #111827 !important; font-size: 14px !important; font-weight: 950 !important; text-decoration: none !important; }
.sf-app-product__purchase .sf-product-card__stepper { width: 128px !important; min-width: 128px !important; height: 44px !important; border-color: transparent !important; background: #fff !important; }
.sf-app-product-details-sheet[hidden] { display: none !important; }
.sf-app-product-details-sheet { position: fixed; inset: 0; z-index: 1240; display: grid; align-items: end; background: rgba(15,23,42,.38); }
.sf-app-product-details-sheet > button { position: absolute; inset: 0; border: 0; background: transparent; }
.sf-app-product-details-sheet section { position: relative; display: grid; max-height: 78vh; gap: 12px; overflow-y: auto; padding: 16px; border-radius: 22px 22px 0 0; background: #fff; }
.sf-app-product-details-sheet header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.sf-app-product-details-sheet header span { color: #667085; font-size: 11px; font-weight: 950; text-transform: uppercase; }
.sf-app-product-details-sheet header h2 { margin: 0; color: #111827; font-size: 18px; font-weight: 950; }
.sf-app-product-details-sheet header button { width: 40px; height: 40px; border: 0; border-radius: 999px; background: #f3f4f6; color: #111827; font-size: 22px; }
.sf-app-product-details-sheet section > div { display: grid; gap: 8px; }
.sf-app-product-details-sheet article { display: grid; grid-template-columns: 110px minmax(0,1fr); gap: 10px; padding: 10px 0; border-top: 1px solid #eef0f3; }
.sf-app-product-details-sheet article span { color: #667085; font-size: 12px; font-weight: 850; }
.sf-app-product-details-sheet article strong { color: #111827; font-size: 13px; font-weight: 900; }
@media (max-width: 900px) {
    html body.storefront-shell.sf-storefront-product-page .sf-main, html body.storefront-shell.sf-storefront-product-page .sf-main > .sf-container { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
    html body.storefront-shell.sf-storefront-product-page .sf-reference-inner { padding: 0 10px 116px !important; }
    .sf-app-product { width: 100%; }
    .sf-app-product__crumb { display: none; }
    .sf-app-product__hero { display: block; }
    .sf-app-product__media { min-height: 360px; margin: 0 -10px; border-width: 0 0 1px; border-radius: 0 0 18px 18px; }
    .sf-app-product__image-stage { min-height: 304px; }
    .sf-app-product__summary, .sf-app-product__panel, .sf-app-product__highlights, .sf-app-product__store { border-radius: 14px; }
    .sf-app-product__summary { margin-top: 10px; padding: 14px; }
    .sf-app-product__summary h1 { font-size: 20px; }
    .sf-app-product__price strong { font-size: 22px; }
    .sf-app-product__highlights { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .sf-app-product__highlights button { grid-column: 1 / -1; min-height: 42px; }
    .sf-app-product__variants > div, .sf-app-product__offers > div { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 2px; }
    .sf-app-product__variants button, .sf-app-product__offers article { min-width: max-content; }
    .sf-app-product__purchase { right: 10px; bottom: calc(82px + env(safe-area-inset-bottom,0px)); left: 10px; width: auto; max-width: none; }
    html body.storefront-shell.sf-storefront-product-page.sf-bottom-nav-hidden .sf-app-product__purchase { bottom: calc(10px + env(safe-area-inset-bottom,0px)); }
}
