        :root {
            --store-accent: #2f6b34;
            --store-accent-soft: #eef3e6;
            --store-honey: #e0a419;
            --store-terracotta: #c86b3c;
            --store-surface: #ffffff;
            --store-text: #2f2a24;
            --store-muted: #7a7266;
            --store-green: #2e7d32;
            --store-bg: linear-gradient(180deg, #f9f8f5 0%, #f5f3ef 100%);
        }

        body { background: var(--store-bg); color: var(--store-text); font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", Arial, sans-serif; }
        h1, h2, h3, h4, .store-logo, .rm-foot-brand, .price-main { font-family: "Segoe UI Semibold", "Segoe UI", system-ui, sans-serif; letter-spacing: -.01em; }
        .store-shell { min-height: 100vh; }
        .store-frame { width: calc(100% - 24px); max-width: 1680px; margin: 0 auto; padding: 0 8px; }
        .store-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.95); backdrop-filter: blur(14px); border-bottom: 1px solid #ece5d8; }
        .store-header-main { display: grid; grid-template-columns: auto auto auto minmax(240px, 1fr) auto; gap: 1.25rem; align-items: center; padding: .8rem 0; }
        .store-hamburger { border: 0; background: transparent; color: #33302b; font-size: 1.65rem; cursor: pointer; display: inline-flex; align-items: center; padding: .1rem; }
        .store-hamburger:hover { color: var(--store-accent); }
        .store-logo { display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; }
        .store-logo-mark { width: 46px; height: 46px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; background: linear-gradient(150deg,#eaf5e6,#fdeede); color: var(--store-accent); font-size: 1.7rem; overflow: hidden; flex: 0 0 auto; }
        .store-logo-mark img { width: 100%; height: 100%; object-fit: contain; }
        .store-logo-text { display: inline-flex; flex-direction: column; line-height: 1; }
        .store-logo-name { font-size: 1.7rem; font-weight: 900; letter-spacing: -.02em; }
        .store-logo-name .lg-a { color: var(--store-accent); }
        .store-logo-name .lg-b { color: #e8632a; }
        .store-tagline { font-size: .62rem; font-weight: 700; color: var(--store-muted); letter-spacing: .03em; margin-top: 4px; }
        .store-location { display: inline-flex; align-items: center; gap: .5rem; text-decoration: none; color: var(--store-text); }
        .store-location-pin { color: var(--store-accent); font-size: 1.3rem; flex: 0 0 auto; }
        .store-location-lines { display: inline-flex; flex-direction: column; line-height: 1.15; }
        .store-location-lines small { font-size: .68rem; color: var(--store-muted); font-weight: 600; }
        .store-location-lines b { font-size: .92rem; font-weight: 800; display: inline-flex; align-items: center; gap: .25rem; white-space: nowrap; }
        .store-location-lines b .ti { font-size: .9rem; color: var(--store-muted); }
        .store-search { position: relative; }
        .store-search input { width: 100%; border: 1px solid #e6dfcd; border-radius: 14px; height: 48px; padding: 0 1rem 0 3rem; background: #fff; box-shadow: none; }
        .store-search input:focus { outline: none; border-color: var(--store-accent); box-shadow: 0 0 0 3px rgba(47,107,52,.1); }
        .store-search i { position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); color: #8a8172; font-size: 1.15rem; }
        .store-header-actions { display: flex; align-items: center; gap: 1.4rem; justify-content: flex-end; }
        .store-action { color: #33302b; text-decoration: none; display: inline-flex; flex-direction: column; align-items: center; gap: .2rem; font-weight: 600; font-size: .72rem; }
        .store-action:hover { color: var(--store-accent); }
        .store-action-ic { position: relative; font-size: 1.5rem; line-height: 1; display: inline-flex; align-items: center; justify-content: center; }
        .store-action-label { white-space: nowrap; }
        .cart-pill { position: absolute; top: -7px; right: -10px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 999px; background: var(--store-accent); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: .66rem; font-weight: 800; border: 2px solid #fff; }
        .rm-avatar { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; background: var(--store-accent); color: #fff; font-weight: 800; font-size: .78rem; flex: 0 0 auto; }
        .rm-avatar-guest { background: #e6dfcd; color: #6f6656; }
        .category-strip { border-top: 1px solid #f0ebe0; border-bottom: 1px solid #f0ebe0; background: #fff; }
        .category-bar { display: flex; align-items: center; gap: .6rem; padding: .5rem 0; }
        /* All Categories button + mega panel */
        .category-all { position: relative; flex: 0 0 auto; }
        .allcat-btn { background: var(--store-accent); color: #fff; border: 0; border-radius: 12px; padding: .62rem 1.05rem; font-weight: 800; font-size: .92rem; display: inline-flex; align-items: center; gap: .5rem; cursor: pointer; white-space: nowrap; transition: background .15s ease; }
        .allcat-btn:hover { background: #285a2b; }
        .allcat-btn i { font-size: 1.15rem; }
        .allcat-panel { position: absolute; left: 0; top: calc(100% + .5rem); background: #fff; border: 1px solid #e6dfcd; border-radius: 16px; box-shadow: 0 22px 48px rgba(47,42,36,.14); padding: .5rem; display: none; z-index: 85; min-width: 264px; max-height: 72vh; overflow-y: auto; }
        .category-all:hover .allcat-panel, .category-all:focus-within .allcat-panel, .category-all.open .allcat-panel { display: block; }
        .allcat-link { display: flex; align-items: center; gap: .6rem; padding: .5rem .6rem; border-radius: 10px; color: var(--store-text); text-decoration: none; font-weight: 600; font-size: .9rem; }
        .allcat-link:hover { background: #f4f2ec; }
        .allcat-link.active { color: var(--store-accent); background: var(--store-accent-soft); }
        .allcat-link img, .allcat-ini { width: 28px; height: 28px; border-radius: 8px; object-fit: cover; background: linear-gradient(180deg,#f4f8ee,#eef3e6); display: inline-flex; align-items: center; justify-content: center; color: var(--store-accent); font-weight: 800; font-size: .82rem; flex: 0 0 auto; }
        .allcat-link > i { color: var(--store-accent); font-size: 1.2rem; width: 28px; text-align: center; flex: 0 0 auto; }
        /* Inline chips (scroll if they overflow) */
        .category-strip-inner { display: flex; flex-wrap: nowrap; gap: .15rem; align-items: center; flex: 1 1 auto; overflow-x: auto; scrollbar-width: none; }
        .category-strip-inner::-webkit-scrollbar { display: none; }
        .category-item { position: relative; flex: 0 0 auto; }
        .category-chip { display: inline-flex; align-items: center; gap: .5rem; padding: .5rem .7rem; color: #55503f; text-decoration: none; font-weight: 600; border-bottom: 3px solid transparent; transition: color .15s ease, border-color .15s ease; white-space: nowrap; }
        .category-chip:hover { color: var(--store-accent); }
        .category-chip.active { color: var(--store-accent); border-bottom-color: var(--store-accent); font-weight: 800; }
        .category-chip-image { width: 32px; height: 32px; border-radius: 50%; background: linear-gradient(180deg,#f4f8ee,#eef3e6); display: inline-flex; align-items: center; justify-content: center; overflow: hidden; color: var(--store-accent); border: 1px solid #ece5d8; flex: 0 0 auto; }
        .category-chip-image img { width: 100%; height: 100%; object-fit: cover; }
        .category-chip-image i { font-size: 1rem; }
        .category-chip-initial { font-size: 1rem; font-weight: 900; color: var(--store-accent); line-height: 1; }
        .category-chip-label { font-size: .9rem; }
        /* More dropdown */
        .category-more { position: relative; flex: 0 0 auto; }
        .more-btn { border: 0; background: transparent; color: #55503f; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: .25rem; padding: .5rem .6rem; font-size: .9rem; white-space: nowrap; }
        .more-btn:hover { color: var(--store-accent); }
        .more-panel { position: absolute; right: 0; top: calc(100% + .5rem); background: #fff; border: 1px solid #e6dfcd; border-radius: 16px; box-shadow: 0 22px 48px rgba(47,42,36,.14); padding: .5rem; display: none; z-index: 85; min-width: 224px; max-height: 72vh; overflow-y: auto; }
        .category-more:hover .more-panel, .category-more:focus-within .more-panel, .category-more.open .more-panel { display: block; }
        /* Subcategory dropdown on a chip */
        .category-dropdown { min-width: 240px; position: absolute; left: 0; top: calc(100% + .35rem); background: #fff; border: 1px solid #e6dfcd; border-radius: 18px; box-shadow: 0 22px 48px rgba(47,42,36,.12); padding: .5rem; display: none; z-index: 80; }
        .category-dropdown::before { content: ''; position: absolute; left: 0; right: 0; top: -.5rem; height: .5rem; }
        .category-item:hover .category-dropdown, .category-item:focus-within .category-dropdown { display: block; }
        .subcategory-link { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .7rem .9rem; border-radius: 12px; color: #55503f; text-decoration: none; font-weight: 600; }
        .subcategory-link:hover, .subcategory-link.active { background: #f2efe6; color: var(--store-accent); }
        .subcategory-link i { color: #86b06f; }
        @media (max-width: 1100px) {
            /* Compact 2-row header: [hamburger logo ... actions] then [search full width] */
            .store-header-main { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem .9rem; padding: .55rem 0; }
            .store-location { display: none; }
            .store-hamburger { order: 0; }
            .store-logo { order: 1; }
            .store-header-actions { order: 2; margin-left: auto; justify-content: flex-end; gap: 1.1rem; flex-wrap: nowrap; }
            .store-search { order: 3; flex: 1 1 100%; }
            .store-search input { height: 44px; box-shadow: none; }
        }
        @media (max-width: 575px) {
            .store-frame { width: calc(100% - 16px); padding: 0 4px; }
            .store-logo-name { font-size: 1.35rem; }
            .store-logo-mark { width: 38px; height: 38px; font-size: 1.4rem; }
            .store-tagline { display: none; }
            .store-action-label { display: none; }
            .store-action-ic { font-size: 1.55rem; }
            /* Categories row: keep horizontal scroll; hide All-Categories/More (hamburger covers it) */
            .category-bar { gap: .3rem; }
            .allcat-btn { padding: .5rem .7rem; font-size: .82rem; }
            .allcat-btn span, .allcat-btn { gap: .35rem; }
            .category-more { display: none; }
            .category-chip { gap: .35rem; padding: .4rem .5rem; }
            .category-chip-image { width: 30px; height: 30px; }
            .category-chip-label { font-size: .82rem; }
            .category-dropdown { display: none !important; }
        }
        /* ---------- Advanced shared UI (dark mode, drawer, toast, bottom nav, autocomplete, quick view) ---------- */
        /* ---------- Hamburger side menu (drawer) ---------- */
        .rm-menu-overlay { position: fixed; inset: 0; background: rgba(20,15,8,.45); opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility .25s ease; z-index: 120; }
        .rm-menu-overlay.open { opacity: 1; visibility: visible; }
        .rm-menu { position: fixed; top: 0; left: 0; bottom: 0; width: 310px; max-width: 86vw; background: #fff; z-index: 130; transform: translateX(-100%); transition: transform .28s cubic-bezier(.4,0,.2,1); display: flex; flex-direction: column; box-shadow: 0 0 40px rgba(0,0,0,.18); }
        .rm-menu.open { transform: none; }
        .rm-menu-head { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: 1rem; border-bottom: 1px solid #f0ebe0; background: linear-gradient(135deg,#eaf5e6,#fdeede); }
        .rm-menu-user { display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; color: var(--store-text); }
        .rm-menu-user b { display: block; font-size: .95rem; }
        .rm-menu-user small { color: var(--store-muted); font-size: .74rem; }
        .rm-menu-user .rm-avatar { width: 38px; height: 38px; font-size: 1rem; }
        .rm-menu-close { border: 0; background: transparent; font-size: 1.6rem; line-height: 1; color: var(--store-muted); cursor: pointer; padding: 0 .25rem; }
        .rm-menu-close:hover { color: var(--store-accent); }
        .rm-menu-body { flex: 1; overflow-y: auto; padding: .5rem 0 1.5rem; }
        .rm-menu-list { list-style: none; margin: 0; padding: 0; }
        .rm-menu-list a { display: flex; align-items: center; gap: .75rem; padding: .7rem 1rem; color: var(--store-text); text-decoration: none; font-weight: 600; font-size: .92rem; }
        .rm-menu-list a:hover { background: #f4f2ec; color: var(--store-accent); }
        .rm-menu-list a > i { font-size: 1.25rem; color: var(--store-accent); width: 24px; text-align: center; flex: 0 0 auto; }
        body.rm-menu-open { overflow: hidden; }
        body.rm-dark .rm-menu { background: #1d1912; }
        body.rm-dark .rm-menu-head { background: #2a2418; border-color: #3a3324; }
        body.rm-dark .rm-menu-list a { color: var(--store-text); }
        body.rm-dark .rm-menu-list a:hover { background: #2a2418; }

        .rm-foot-fssai { display: inline-block; margin-left: .6rem; padding-left: .6rem; border-left: 1px solid rgba(255,255,255,.2); opacity: .9; }
        @media (max-width: 575px) { .rm-foot-fssai { display: block; margin: .3rem 0 0; padding: 0; border: 0; } }

        /* Free delivery badge — brand orange so it pops against the green UI */
        .free-del { display: inline-flex; align-items: center; gap: .28rem; background: linear-gradient(135deg, #fff3ec, #ffe6d6); color: #d9531e; border: 1px solid #ffd0b3; border-radius: 999px; padding: .14rem .55rem; font-size: .72rem; font-weight: 800; white-space: nowrap; box-shadow: 0 1px 3px rgba(232,99,42,.14); }
        .free-del i { font-size: .9rem; color: #e8632a; }
        body.rm-dark .free-del { background: #3a2418; border-color: #6b4128; color: #ff9d6b; box-shadow: none; }
        body.rm-dark .free-del i { color: #ff9d6b; }

        /* Star rating row (Unicode stars, shared by cards + product page) */
        .stars { display: inline-flex; gap: 0; line-height: 1; }
        .stars .star { color: #dcd6cb; font-size: 1.05rem; line-height: 1; }
        .stars .star.on { color: #e0a419; }
        .stars.sm .star { font-size: .9rem; }

        /* Veg / Non-Veg marker (FSSAI style: bordered square with a filled dot) */
        .veg-mark { display: inline-flex; align-items: center; justify-content: center; width: 14px; height: 14px; border-radius: 3px; border: 1.6px solid currentColor; flex: 0 0 auto; vertical-align: -2px; margin-right: .35rem; }
        .veg-mark i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; display: block; }
        .veg-mark.is-veg { color: #1a8f37; }
        .veg-mark.is-nonveg { color: #d32f2f; }
        .veg-mark-lg { width: 18px; height: 18px; border-radius: 4px; border-width: 2px; }
        .veg-mark-lg i { width: 9px; height: 9px; }

        .rm-theme-toggle { border: 0; background: transparent; color: var(--store-muted); width: 40px; height: 40px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; font-size: 1.35rem; transition: color .15s ease, background .15s ease; }
        .rm-theme-toggle:hover { color: var(--store-accent); background: #f4f2ec; }

        /* Reveal on scroll (only hidden when JS is active, so no-JS always shows content) */
        .rm-js .rm-reveal { opacity: 0; transform: translateY(14px); transition: opacity .5s ease, transform .5s ease; }
        .rm-js .rm-reveal.rm-in { opacity: 1; transform: none; }

        /* Search autocomplete */
        .store-search { position: relative; }
        .rm-suggest { position: absolute; top: calc(100% + .4rem); left: 0; right: 0; background: #fff; border: 1px solid #e6dfcd; border-radius: 16px; box-shadow: 0 22px 48px rgba(47,42,36,.14); padding: .35rem; z-index: 90; display: none; max-height: 360px; overflow-y: auto; }
        .rm-suggest.open { display: block; }
        .rm-suggest a { display: flex; align-items: center; gap: .7rem; padding: .55rem .6rem; border-radius: 12px; text-decoration: none; color: var(--store-text); }
        .rm-suggest a:hover, .rm-suggest a.active { background: #f6f1ff; }
        .rm-suggest img, .rm-suggest .rm-sg-ic { width: 38px; height: 38px; border-radius: 10px; object-fit: cover; background: #eef3e6; display: inline-flex; align-items: center; justify-content: center; color: var(--store-accent); flex: 0 0 auto; }
        .rm-suggest b { font-weight: 700; font-size: .92rem; }
        .rm-suggest span { color: var(--store-muted); font-size: .78rem; }

        /* Toasts */
        .rm-toast-wrap { position: fixed; right: 16px; bottom: 84px; z-index: 1200; display: flex; flex-direction: column; gap: .5rem; }
        .rm-toast { background: #1f2937; color: #fff; padding: .7rem 1rem; border-radius: 12px; box-shadow: 0 12px 30px rgba(0,0,0,.22); font-weight: 600; display: flex; align-items: center; gap: .55rem; transform: translateX(120%); opacity: 0; transition: transform .3s ease, opacity .3s ease; max-width: 320px; }
        .rm-toast.show { transform: none; opacity: 1; }
        .rm-toast.success { background: #15803d; }
        .rm-toast.error { background: #be123c; }

        /* Cart drawer */
        .rm-overlay { position: fixed; inset: 0; background: rgba(20,12,40,.45); z-index: 1000; opacity: 0; visibility: hidden; transition: opacity .25s ease; }
        .rm-overlay.open { opacity: 1; visibility: visible; }
        .rm-drawer { position: fixed; top: 0; right: 0; height: 100%; width: min(420px, 92vw); background: #fff; z-index: 1001; box-shadow: -18px 0 44px rgba(20,12,40,.18); transform: translateX(100%); transition: transform .28s ease; display: flex; flex-direction: column; }
        .rm-drawer.open { transform: none; }
        .rm-drawer-head { display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.15rem; border-bottom: 1px solid #ece5d8; }
        .rm-drawer-head h3 { margin: 0; font-size: 1.15rem; }
        .rm-drawer-close { border: 0; background: #f2efe6; width: 36px; height: 36px; border-radius: 50%; cursor: pointer; color: #2c5228; font-size: 1.1rem; }
        .rm-drawer-body { flex: 1; overflow-y: auto; padding: .85rem 1.15rem; }
        .rm-drawer-foot { border-top: 1px solid #ece5d8; padding: 1rem 1.15rem; }
        .rm-ci { display: grid; grid-template-columns: 54px 1fr auto; gap: .7rem; align-items: center; padding: .6rem 0; border-bottom: 1px solid #f0ebe0; }
        .rm-ci-img { width: 54px; height: 54px; border-radius: 12px; background: #faf7ff; border: 1px solid #ece5d8; object-fit: cover; display: inline-flex; align-items: center; justify-content: center; color: #86b06f; }
        .rm-ci-name { font-weight: 700; font-size: .9rem; line-height: 1.25; }
        .rm-ci-price { color: var(--store-muted); font-size: .82rem; }
        .rm-ci-step { display: inline-flex; align-items: center; gap: .3rem; }
        .rm-ci-step button { width: 26px; height: 26px; border-radius: 8px; border: 1px solid #d9d0bf; background: #fff; color: #2f6b34; font-weight: 800; cursor: pointer; }
        .rm-ci-empty { text-align: center; color: var(--store-muted); padding: 2.5rem 1rem; }
        .rm-drawer-benefits { display: flex; justify-content: space-around; gap: .4rem; padding: .2rem 0 .85rem; }
        .rm-drawer-benefits div { text-align: center; font-size: .66rem; font-weight: 700; color: var(--store-muted); line-height: 1.25; }
        .rm-drawer-benefits i { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: #eef3e6; color: #2f6b34; font-size: 1.2rem; margin-bottom: .25rem; }
        .rm-suggest-wrap { border-top: 1px solid #eee6d8; padding: .8rem 1.15rem; }
        .rm-suggest-wrap h4 { font-size: .85rem; font-weight: 800; margin: 0 0 .55rem; }
        .rm-suggest-row { display: flex; gap: .6rem; overflow-x: auto; padding-bottom: .3rem; }
        .rm-suggest-card { flex: 0 0 132px; border: 1px solid #efe8da; border-radius: 12px; padding: .5rem; }
        .rm-suggest-card .sg-link { text-decoration: none; color: var(--store-text); }
        .rm-suggest-card img, .rm-suggest-card .sg-ph { width: 100%; aspect-ratio: 1/1; border-radius: 8px; object-fit: cover; background: #f7f2e8; display: flex; align-items: center; justify-content: center; color: #86b06f; }
        .rm-suggest-name { font-size: .74rem; font-weight: 700; line-height: 1.2; margin-top: .3rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 32px; }
        .rm-suggest-card .sg-price { color: var(--store-green); font-weight: 800; font-size: .85rem; }
        .rm-suggest-add { display: block; width: 100%; margin-top: .4rem; border: 1.5px solid #2f6b34; color: #2f6b34; background: #fff; border-radius: 8px; font-weight: 800; font-size: .72rem; padding: .3rem; cursor: pointer; }
        .rm-suggest-add:hover { background: #2f6b34; color: #fff; }
        body.rm-dark .rm-suggest-wrap { border-color: #33284d; }
        body.rm-dark .rm-suggest-card { background: #221d14; border-color: #3a3324; }
        body.rm-dark .rm-suggest-card img, body.rm-dark .rm-suggest-card .sg-ph { background: #2a2418; }
        body.rm-dark .rm-drawer-benefits i { background: #2a2418; }

        /* Mobile bottom nav */
        .rm-bottom-nav { display: none; }
        @media (max-width: 820px) {
            .rm-bottom-nav { display: grid; grid-template-columns: repeat(4, 1fr); position: fixed; bottom: 0; left: 0; right: 0; background: rgba(255,255,255,.97); backdrop-filter: blur(12px); border-top: 1px solid #ece5d8; z-index: 900; padding: .3rem .2rem env(safe-area-inset-bottom); }
            .rm-bottom-nav a { display: flex; flex-direction: column; align-items: center; gap: .1rem; padding: .4rem 0; color: #7a7266; text-decoration: none; font-size: .7rem; font-weight: 700; position: relative; }
            .rm-bottom-nav a.active, .rm-bottom-nav a:hover { color: var(--store-accent); }
            .rm-bottom-nav i { font-size: 1.35rem; }
            .rm-bn-pill { position: absolute; top: .1rem; right: calc(50% - 20px); min-width: 16px; height: 16px; padding: 0 4px; border-radius: 999px; background: #c86b3c; color: #fff; font-size: .62rem; display: inline-flex; align-items: center; justify-content: center; }
            .store-shell { padding-bottom: 64px; }
        }

        /* Quick view modal */
        .rm-qv { position: fixed; inset: 0; z-index: 1100; display: none; align-items: center; justify-content: center; padding: 1rem; }
        .rm-qv.open { display: flex; }
        .rm-qv-card { background: #fff; border-radius: 22px; max-width: 720px; width: 100%; max-height: 90vh; overflow: auto; display: grid; grid-template-columns: 1fr 1fr; }
        .rm-qv-media { background: linear-gradient(180deg,#fff,#faf7ff); display: flex; align-items: center; justify-content: center; padding: 1.2rem; }
        .rm-qv-media img { width: 100%; height: 100%; object-fit: contain; border-radius: 14px; }
        .rm-qv-media i { font-size: 4rem; color: #86b06f; }
        .rm-qv-body { padding: 1.3rem; }
        .rm-qv-close { position: absolute; top: 14px; right: 14px; border: 0; background: #fff; width: 38px; height: 38px; border-radius: 50%; cursor: pointer; font-size: 1.15rem; box-shadow: 0 6px 16px rgba(0,0,0,.12); }
        @media (max-width: 640px) { .rm-qv-card { grid-template-columns: 1fr; } }

        /* Announcement bar */
        .rm-announce { background: linear-gradient(90deg,#2c5228,#2f6b34,#e0a419); color: #fff; font-size: .85rem; font-weight: 600; text-align: center; padding: .45rem 2.2rem .45rem 1rem; position: relative; }
        .rm-announce a { color: #fff; text-decoration: underline; }
        .rm-announce .rm-announce-x { position: absolute; right: .6rem; top: 50%; transform: translateY(-50%); background: transparent; border: 0; color: #fff; cursor: pointer; font-size: 1.1rem; line-height: 1; opacity: .85; }
        .rm-announce .rm-announce-x:hover { opacity: 1; }

        /* Scroll to top */
        .rm-top { position: fixed; right: 18px; bottom: 92px; z-index: 850; width: 46px; height: 46px; border-radius: 50%; border: 0; background: var(--store-accent); color: #fff; box-shadow: 0 10px 24px rgba(63,125,58,.35); cursor: pointer; font-size: 1.25rem; opacity: 0; visibility: hidden; transform: translateY(10px); transition: all .25s ease; }
        .rm-top.show { opacity: 1; visibility: visible; transform: none; }
        @media (max-width: 820px) { .rm-top { bottom: 132px; } }

        /* Rich footer */
        .rm-footer { background: #2a241b; color: #d8cfbf; margin-top: 2rem; }
        .rm-footer a { color: #d8cfbf; text-decoration: none; }
        .rm-footer a:hover { color: #fff; }
        .rm-foot-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.3fr; gap: 1.5rem; padding: 2.25rem 0 1.5rem; }
        .rm-foot-brand { font-size: 1.5rem; font-weight: 900; color: #fff; letter-spacing: -.02em; }
        .rm-foot h4 { color: #fff; font-size: .95rem; letter-spacing: .04em; text-transform: uppercase; margin: 0 0 .9rem; }
        .rm-foot ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
        .rm-foot-social { display: flex; gap: .5rem; margin-top: 1rem; }
        .rm-foot-social a { width: 38px; height: 38px; border-radius: 50%; background: rgba(255,255,255,.1); display: inline-flex; align-items: center; justify-content: center; font-size: 1.1rem; }
        .rm-foot-social a:hover { background: var(--store-accent); }
        .rm-foot-contact div { display: flex; align-items: center; gap: .55rem; margin-bottom: .55rem; font-size: .9rem; }
        .rm-foot-badges { display: flex; gap: .5rem; margin-top: .9rem; flex-wrap: wrap; }
        .rm-foot-badge { background: rgba(255,255,255,.1); border-radius: 10px; padding: .45rem .7rem; font-size: .78rem; font-weight: 700; display: inline-flex; align-items: center; gap: .35rem; }
        .rm-foot-bottom { border-top: 1px solid rgba(255,255,255,.1); padding: 1rem 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem; font-size: .85rem; color: #a89e8c; }
        @media (max-width: 820px) { .rm-foot-grid { grid-template-columns: 1fr 1fr; } }
        @media (max-width: 500px) { .rm-foot-grid { grid-template-columns: 1fr; } }

        /* ---------- Dark mode ---------- */
        body.rm-dark { --store-text: #ece6db; --store-muted: #a89e8c; --store-surface: #221d14; --store-bg: linear-gradient(180deg,#17140e 0%,#1d1912 60%,#141009 100%); }
        body.rm-dark .store-header, body.rm-dark .category-strip, body.rm-dark .rm-bottom-nav { background: rgba(28,20,46,.94); border-color: #2f2a1e; }
        body.rm-dark .store-search input, body.rm-dark .rm-suggest, body.rm-dark .rm-drawer, body.rm-dark .rm-qv-card, body.rm-dark .rm-theme-toggle { background: #221d14; color: var(--store-text); border-color: #3a3324; }
        body.rm-dark .product-card, body.rm-dark .promo-chip, body.rm-dark .trust-item, body.rm-dark .category-dropdown, body.rm-dark .info-tile, body.rm-dark .tm-card, body.rm-dark .cert-strip, body.rm-dark .cat-tile, body.rm-dark .deal-card, body.rm-dark .sort-select, body.rm-dark .recent-card, body.rm-dark .fchip { background: #221d14 !important; border-color: #3a3324 !important; color: var(--store-text); }
        body.rm-dark .tm-avatar, body.rm-dark .cat-tile-img, body.rm-dark .deal-media, body.rm-dark .recent-media { background: #2a2418; color: #86b06f; border-color: #3a3324; }
        body.rm-dark .store-action, body.rm-dark .product-name, body.rm-dark .category-chip { color: var(--store-text); }
        body.rm-dark .product-media, body.rm-dark .rm-ci-img { background: #2a2418; border-color: #3d3526; }
        body.rm-dark .rm-drawer-head, body.rm-dark .rm-drawer-foot, body.rm-dark .rm-ci { border-color: #3a3324; }
        body.rm-dark .price-mrp, body.rm-dark .text-secondary { color: #a89e8c !important; }
        /* Redesigned header/category/card elements in dark mode */
        body.rm-dark .store-hamburger, body.rm-dark .store-location, body.rm-dark .more-btn { color: var(--store-text); }
        body.rm-dark .allcat-panel, body.rm-dark .more-panel { background: #221d14; border-color: #3a3324; }
        body.rm-dark .allcat-link { color: var(--store-text); }
        body.rm-dark .allcat-link:hover { background: #2a2418; }
        body.rm-dark .allcat-link img, body.rm-dark .allcat-ini, body.rm-dark .category-chip-image { background: #2a2418; }
        body.rm-dark .qty-stepper { background: #2a2418; border-color: var(--store-accent); }
        body.rm-dark .store-logo-mark { background: #2a2418; }
