/* ═══ 6 Themes — inspired layouts: Bukalapak · Amazon · Shopee · Shopify · Jakmall · GoFood ═══ */

@media (prefers-reduced-motion: reduce) {
    .store-theme * { transition-duration: 0.01ms !important; }
}

.store-theme h1, .store-theme h2, .store-theme .section-title, .store-theme .store-brand {
    font-family: var(--font-heading);
}
.store-theme .section-title { font-weight: 700; letter-spacing: -0.025em; line-height: 1.2; margin: 0; }

.th-section-eyebrow {
    display: block; font-family: var(--font); font-size: 0.68rem; font-weight: 600;
    letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); margin-bottom: 0.25rem;
}
.th-section-head { align-items: flex-end; }
.th-section-head--center { text-align: center; flex-direction: column; align-items: center; gap: 0.5rem; }

.theme-hero {
    background: var(--hero-gradient); border-radius: var(--radius);
    margin-bottom: 1.25rem; overflow: hidden; border: 1px solid var(--border);
}
.th-lead { margin: 0.65rem 0 0; font-size: 0.98rem; color: var(--muted); max-width: 36rem; line-height: 1.6; }

.trust-bar--soft {
    background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 1rem 1.25rem;
}
.trust-bar--soft .trust-bar-item { font-size: 0.8rem; color: var(--muted); font-weight: 500; }

/* ══════════════════════════════════════════════
   PROFESSIONAL — Bukalapak-inspired
   ══════════════════════════════════════════════ */
.th-blka-promos {
    display: flex; flex-wrap: wrap; gap: 0.4rem; margin-bottom: 0.85rem;
}
.th-blka-promo {
    font-size: 0.72rem; font-weight: 600; padding: 0.3rem 0.65rem;
    background: var(--surface); border: 1px solid var(--border); border-radius: 999px; color: var(--text);
}
.th-blka-hero { padding: 0; border: none; background: transparent; }
.th-blka-banner-grid {
    display: grid; gap: 0.5rem;
}
@media (min-width: 768px) {
    .th-blka-banner-grid { grid-template-columns: 1fr 200px; }
}
.th-blka-main-banner { margin: 0; border-radius: 0.5rem; overflow: hidden; min-height: 180px; }
.th-blka-main-banner img { width: 100%; height: 100%; object-fit: cover; display: block; min-height: 180px; }
.th-blka-banner-ph {
    background: linear-gradient(135deg, #fff5f0 0%, #ffe0d0 100%);
    display: flex; align-items: center; padding: 1.5rem;
}
.th-blka-banner-copy h1 { margin: 0 0 0.5rem; font-size: clamp(1.35rem, 3vw, 1.85rem); color: #c2410c; }
.th-blka-banner-copy p { margin: 0 0 1rem; font-size: 0.88rem; color: #ea580c; max-width: 28rem; }
.th-blka-side-banners { display: flex; flex-direction: column; gap: 0.5rem; }
.th-blka-side-card {
    flex: 1; display: flex; flex-direction: column; justify-content: center; padding: 0.85rem 1rem;
    border-radius: 0.5rem; text-decoration: none; color: #fff; min-height: 85px;
}
.th-blka-side-card strong { font-size: 0.92rem; display: block; }
.th-blka-side-card span { font-size: 0.72rem; opacity: 0.9; margin-top: 0.15rem; }
.th-blka-side-card--red { background: linear-gradient(135deg, #ff006f, #f85606); }
.th-blka-side-card--green { background: linear-gradient(135deg, #f85606, #fb923c); }
.th-blka-cats { margin-bottom: 1.25rem; }
.th-blka-cats-title { margin: 0 0 0.75rem; font-size: 1rem; font-weight: 700; }
.th-blka-cats-grid {
    display: grid; grid-template-columns: repeat(5, 1fr); gap: 0.65rem;
}
@media (max-width: 640px) { .th-blka-cats-grid { grid-template-columns: repeat(4, 1fr); } }
.th-blka-cat {
    display: flex; flex-direction: column; align-items: center; gap: 0.35rem;
    text-align: center; font-size: 0.68rem; font-weight: 600; color: var(--text); text-decoration: none;
}
.th-blka-cat-img, .th-blka-cat-icon {
    width: 3rem; height: 3rem; border-radius: 0.75rem; object-fit: cover;
    background: var(--surface); border: 1px solid var(--border);
    display: flex; align-items: center; justify-content: center; font-size: 1.1rem; color: var(--accent);
}
.th-blka-cat:hover .th-blka-cat-img, .th-blka-cat:hover .th-blka-cat-icon { border-color: var(--accent); }
.th-blka-eyebrow { color: #f85606; }
.th-blka-link { color: #f85606; font-weight: 600; }
.theme-professional .product-card { border-radius: 0.5rem; border: 1px solid var(--border); }
.theme-professional .product-card-overlay { display: none; }
.theme-professional .product-card .price-sale, .theme-professional .product-card .price-current { color: #f85606; }
.theme-professional .product-ribbon { background: #ff006f; }
.theme-professional .store-promo-bar { background: linear-gradient(90deg, #ff006f, #f85606); }
.theme-professional .store-nav a { font-weight: 600; border-radius: 0.375rem; }
.theme-professional .store-nav a:hover { background: #fff0f5 !important; color: #ff006f !important; }
.theme-professional .store-search { border-radius: 999px; border-color: #ffd6c2; }
.theme-professional .store-search button { border-radius: 999px; background: linear-gradient(90deg, #ff006f, #f85606); }

/* ══════════════════════════════════════════════
   MODERN — Amazon-inspired
   ══════════════════════════════════════════════ */
.th-amz-carousel {
    display: flex; gap: 0.5rem; overflow-x: auto; margin-bottom: 1rem;
    scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; padding-bottom: 0.25rem;
}
.th-amz-slide { margin: 0; flex: 0 0 min(100%, 720px); scroll-snap-align: start; border-radius: 0.25rem; overflow: hidden; }
.th-amz-slide img { width: 100%; height: auto; max-height: 280px; object-fit: cover; display: block; }
.th-amz-welcome {
    background: var(--surface); border: 1px solid var(--border); border-radius: 0.25rem;
    padding: 1.25rem 1.5rem; margin-bottom: 1rem;
}
.th-amz-welcome h1 { margin: 0; font-size: 1.35rem; font-weight: 700; }
.th-amz-welcome p { margin: 0.4rem 0 0; font-size: 0.88rem; color: var(--muted); }
.th-amz-cats {
    display: flex; flex-wrap: wrap; gap: 0.35rem; margin-bottom: 1rem;
    padding: 0.75rem 1rem; background: var(--surface); border: 1px solid var(--border); border-radius: 0.25rem;
}
.th-amz-cat {
    padding: 0.35rem 0.75rem; font-size: 0.78rem; font-weight: 500; color: var(--text);
    background: var(--bg); border: 1px solid var(--border); border-radius: 0.25rem;
}
.th-amz-cat:hover { border-color: var(--accent); color: var(--accent); }
.th-amz-deals { margin-bottom: 1.25rem; }
.th-amz-deals-title { margin: 0 0 0.65rem; font-size: 1.05rem; font-weight: 700; }
.th-amz-deals-row {
    display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.5rem;
}
@media (min-width: 640px) { .th-amz-deals-row { grid-template-columns: repeat(4, 1fr); } }
.th-amz-deal-card {
    display: flex; flex-direction: column; gap: 0.2rem; padding: 0.85rem;
    background: var(--surface); border: 1px solid var(--border); border-radius: 0.25rem;
    text-decoration: none; color: var(--text); min-height: 90px;
}
.th-amz-deal-card:hover { border-color: var(--accent); }
.th-amz-deal-tag { font-size: 0.65rem; font-weight: 700; color: var(--accent); text-transform: uppercase; }
.th-amz-deal-card strong { font-size: 0.88rem; }
.th-amz-deal-card span:last-child { font-size: 0.72rem; color: var(--muted); }
.th-amz-link { color: var(--accent); }
.theme-modern .store-header { backdrop-filter: none; background: var(--header-bg) !important; }
.theme-modern .store-brand, .theme-modern .store-nav a, .theme-modern .store-burger { color: var(--header-text) !important; }
.theme-modern .store-nav a:hover { background: rgba(255,255,255,0.1) !important; color: #fff !important; }
.theme-modern .store-nav .nav-cart { background: rgba(255,153,0,0.2) !important; color: #febd69 !important; }
.theme-modern .store-search {
    border-radius: 0.25rem; background: #fff; border: none; max-width: 520px;
}
.theme-modern .store-search input { color: #111; }
.theme-modern .store-search button {
    border-radius: 0 0.2rem 0.2rem 0; width: auto; padding: 0 1rem;
    background: #febd69; color: #111; font-size: 0.85rem;
}
.theme-modern .store-burger { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.15); color: #fff !important; }
.theme-modern .product-card { border-radius: 0.25rem; background: var(--surface); }
.theme-modern .product-card-overlay { display: none; }
.theme-modern .product-card .price-sale, .theme-modern .product-card .price-current { color: #b12704; }
.theme-modern .store-promo-bar { background: #232f3e; }
.theme-modern .store-main { max-width: 1280px; }

/* ══════════════════════════════════════════════
   MARKETPLACE — Shopee-inspired
   ══════════════════════════════════════════════ */
.th-shp-flash {
    display: flex; align-items: center; justify-content: space-between; gap: 0.75rem;
    padding: 0.65rem 1rem; margin-bottom: 0.75rem;
    background: linear-gradient(90deg, #ee4d2d, #ff6633); border-radius: 0.25rem; color: #fff;
}
.th-shp-flash-head { display: flex; align-items: center; gap: 0.5rem; }
.th-shp-flash-icon { font-size: 1.1rem; }
.th-shp-flash-head strong { font-size: 0.95rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.04em; }
.th-shp-flash-time {
    font-size: 0.72rem; font-weight: 600; padding: 0.15rem 0.45rem;
    background: rgba(0,0,0,0.2); border-radius: 0.2rem;
}
.th-shp-flash-cta { font-size: 0.78rem; font-weight: 600; color: #fff; white-space: nowrap; }
.th-shp-hero { padding: 1rem 1.15rem; border: none; background: var(--surface); }
.th-shp-hero-top { display: flex; flex-direction: column; gap: 0.85rem; }
@media (min-width: 768px) { .th-shp-hero-top { flex-direction: row; align-items: center; justify-content: space-between; } }
.th-shp-hero-top h1 { margin: 0; font-size: clamp(1.25rem, 3vw, 1.65rem); font-weight: 800; color: #ee4d2d; }
.th-shp-search {
    display: flex; align-items: center; gap: 0.5rem; padding: 0.65rem 1rem;
    background: #f5f5f5; border: 2px solid #ee4d2d; border-radius: 0.25rem;
    color: var(--muted); font-size: 0.85rem; font-weight: 500; max-width: 22rem; width: 100%;
}
.th-shp-search span { color: #ee4d2d; font-weight: 700; }
.th-shp-cats {
    display: grid; grid-template-columns: repeat(5, 1fr); gap: 0.5rem; margin-bottom: 0.85rem;
}
@media (max-width: 480px) { .th-shp-cats { grid-template-columns: repeat(4, 1fr); } }
.th-shp-cat {
    display: flex; flex-direction: column; align-items: center; gap: 0.35rem;
    font-size: 0.68rem; font-weight: 500; text-align: center; color: var(--text);
}
.th-shp-cat-img, .th-shp-cat-dot {
    width: 2.75rem; height: 2.75rem; border-radius: 50%; object-fit: cover;
    background: var(--surface); border: 1px solid var(--border);
}
.th-shp-cat:hover { color: #ee4d2d; }
.th-shp-vouchers {
    display: flex; flex-wrap: wrap; gap: 0.4rem; margin-bottom: 0.85rem;
}
.th-shp-voucher {
    font-size: 0.72rem; font-weight: 600; padding: 0.35rem 0.65rem;
    background: #fff4f0; border: 1px dashed #ee4d2d; border-radius: 0.2rem; color: #ee4d2d;
}
.th-shp-banner { width: 100%; max-height: 180px; object-fit: cover; border-radius: 0.25rem; display: block; }
.th-shp-banner-wrap { margin: 0 0 1rem; }
.th-shp-eyebrow { color: #ee4d2d; }
.th-shp-link { color: #ee4d2d; font-weight: 600; }
.theme-marketplace .product-card { border-radius: 0.25rem; border: none; box-shadow: 0 1px 4px rgba(0,0,0,0.06); }
.theme-marketplace .product-card .img-wrap { padding: 0; background: transparent; }
.theme-marketplace .product-card-overlay { display: none; }
.theme-marketplace .product-card .price-sale, .theme-marketplace .product-card .price-current { color: #ee4d2d; font-size: 1.05rem; }
.theme-marketplace .product-ribbon { background: #ee4d2d; }
.theme-marketplace .store-nav a { font-weight: 600; font-size: 0.85rem; color: #fff; }
.theme-marketplace .store-nav a:hover { background: rgba(255,255,255,0.15) !important; color: #fff !important; }
.theme-marketplace .store-brand { color: #fff !important; }
.theme-marketplace .store-burger { color: #fff !important; background: rgba(255,255,255,0.15); border-color: rgba(255,255,255,0.2); }
.theme-marketplace .store-search { border-color: transparent; background: #fff; border-radius: 0.25rem; }
.theme-marketplace .store-search input { color: #222; }
.theme-marketplace .store-search button { background: #ee4d2d; border-radius: 0.15rem; }
.theme-marketplace .store-promo-bar { background: linear-gradient(90deg, #ee4d2d, #ff6633); }
.theme-marketplace .nav-cart-badge { background: #ee4d2d; }

/* ── Marketplace mobile (TikTok Shop-like) ── */
@media (max-width: 768px) {
    .theme-marketplace {
        --accent: #00b36b;
        --accent-dark: #009957;
        --accent-soft: #e8faf2;
        --accent-glow: rgba(0, 179, 107, 0.15);
        --header-bg: #ffffff;
        --header-border: #f0f0f0;
        --header-text: #161823;
        --bg: #ffffff;
    }
    .theme-marketplace .store-chrome--marketplace .store-header {
        background: #fff !important;
        border-bottom: 1px solid #f0f0f0;
        backdrop-filter: none;
    }
    .theme-marketplace .store-chrome--marketplace .store-header-inner,
    .theme-marketplace .store-chrome--marketplace .store-burger,
    .theme-marketplace .store-chrome--marketplace .store-brand,
    .theme-marketplace .store-chrome--marketplace .store-search--desktop,
    .theme-marketplace .store-chrome--marketplace .store-nav--desktop {
        display: none !important;
    }
    .theme-marketplace .mp-mobile-top {
        display: flex;
        align-items: center;
        gap: 0.65rem;
        padding: 0.55rem 0.85rem 0.65rem;
        max-width: 1200px;
        margin: 0 auto;
    }
    .theme-marketplace .mp-mobile-search {
        flex: 1;
        display: flex;
        align-items: center;
        gap: 0.45rem;
        height: 2.35rem;
        padding: 0 0.85rem;
        background: #f1f1f2;
        border-radius: 999px;
        border: none;
        margin: 0;
    }
    .theme-marketplace .mp-mobile-search input {
        flex: 1;
        border: none;
        background: transparent;
        font-size: 0.88rem;
        padding: 0;
        margin: 0;
        color: #161823;
        min-width: 0;
    }
    .theme-marketplace .mp-mobile-search input:focus { outline: none; box-shadow: none; }
    .theme-marketplace .mp-mobile-search-icon { color: #8a8b91; flex-shrink: 0; }
    .theme-marketplace .mp-mobile-action {
        position: relative;
        flex-shrink: 0;
        width: 2.25rem;
        height: 2.25rem;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #161823;
    }
    .theme-marketplace .mp-mobile-badge {
        position: absolute;
        top: -2px;
        right: -4px;
        min-width: 1.1rem;
        height: 1.1rem;
        padding: 0 0.25rem;
        border-radius: 999px;
        background: #fe2c55;
        color: #fff;
        font-size: 0.62rem;
        font-weight: 700;
        display: flex;
        align-items: center;
        justify-content: center;
        line-height: 1;
    }
    .theme-marketplace .store-main {
        padding: 0.65rem 0.75rem 5.5rem;
        max-width: 100%;
    }
    .theme-marketplace .store-footer { display: none; }
    .theme-marketplace .mp-tabbar {
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 110;
        background: #fff;
        border-top: 1px solid #f0f0f0;
        padding: 0.35rem 0 calc(0.35rem + env(safe-area-inset-bottom, 0));
        box-shadow: 0 -4px 20px rgba(0,0,0,0.06);
    }
    .theme-marketplace .mp-tabbar-item {
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.15rem;
        padding: 0.25rem 0.15rem;
        font-size: 0.62rem;
        font-weight: 600;
        color: #8a8b91;
        text-decoration: none;
    }
    .theme-marketplace .mp-tabbar-item--active { color: #00b36b; }
    .theme-marketplace .mp-tabbar-icon {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 1.65rem;
        height: 1.65rem;
    }
    .theme-marketplace .mp-tabbar-badge {
        position: absolute;
        top: -4px;
        right: -8px;
        min-width: 0.95rem;
        height: 0.95rem;
        padding: 0 0.2rem;
        border-radius: 999px;
        background: #fe2c55;
        color: #fff;
        font-size: 0.55rem;
        font-weight: 700;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* Home sections */
    .theme-marketplace .mp-chips {
        display: flex;
        gap: 0.45rem;
        overflow-x: auto;
        padding: 0.15rem 0 0.65rem;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .theme-marketplace .mp-chips::-webkit-scrollbar { display: none; }
    .theme-marketplace .mp-chip {
        flex-shrink: 0;
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        padding: 0.4rem 0.75rem;
        background: #f8f8f8;
        border: 1px solid #efefef;
        border-radius: 999px;
        font-size: 0.72rem;
        font-weight: 600;
        color: #161823;
        text-decoration: none;
        white-space: nowrap;
    }
    .theme-marketplace .mp-chip-icon { font-size: 0.95rem; }

    .theme-marketplace .mp-icon-grid {
        display: flex;
        gap: 0.65rem;
        overflow-x: auto;
        padding: 0.25rem 0 0.85rem;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .theme-marketplace .mp-icon-grid::-webkit-scrollbar { display: none; }
    .theme-marketplace .mp-icon-item {
        flex-shrink: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.35rem;
        width: 4.25rem;
        text-decoration: none;
        color: #161823;
    }
    .theme-marketplace .mp-icon-img {
        width: 3rem;
        height: 3rem;
        border-radius: 50%;
        object-fit: cover;
        background: #f8f8f8;
        border: 1px solid #efefef;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1rem;
        color: #00b36b;
    }
    .theme-marketplace .mp-icon-label {
        font-size: 0.65rem;
        font-weight: 500;
        text-align: center;
        line-height: 1.25;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
    }

    .theme-marketplace .mp-promo-card {
        position: relative;
        background: #fff;
        border: 1px solid #efefef;
        border-radius: 0.65rem;
        padding: 0.85rem 1rem;
        margin-bottom: 0.85rem;
        box-shadow: 0 1px 6px rgba(0,0,0,0.04);
    }
    .theme-marketplace .mp-promo-close {
        position: absolute;
        top: 0.45rem;
        right: 0.55rem;
        border: none;
        background: none;
        font-size: 1.15rem;
        color: #8a8b91;
        cursor: pointer;
        line-height: 1;
        padding: 0.15rem;
    }
    .theme-marketplace .mp-promo-body {
        display: flex;
        align-items: center;
        gap: 0.75rem;
    }
    .theme-marketplace .mp-promo-logo {
        width: 2.5rem;
        height: 2.5rem;
        border-radius: 0.5rem;
        background: #f8f8f8;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.25rem;
        flex-shrink: 0;
        overflow: hidden;
    }
    .theme-marketplace .mp-promo-logo img { width: 100%; height: 100%; object-fit: contain; }
    .theme-marketplace .mp-promo-copy {
        flex: 1;
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 0.15rem;
    }
    .theme-marketplace .mp-promo-copy strong {
        font-size: 0.82rem;
        font-weight: 700;
        color: #161823;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .theme-marketplace .mp-promo-copy span {
        font-size: 0.72rem;
        color: #8a8b91;
        line-height: 1.35;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .theme-marketplace .mp-promo-btn {
        flex-shrink: 0;
        padding: 0.45rem 0.85rem;
        background: #00b36b;
        color: #fff;
        font-size: 0.78rem;
        font-weight: 700;
        border-radius: 999px;
        text-decoration: none;
    }

    .theme-marketplace .mp-flash-bar { display: none; }
    .theme-marketplace .mp-banner { margin-bottom: 0.85rem; border-radius: 0.65rem; overflow: hidden; }
    .theme-marketplace .th-shp-banner { border-radius: 0.65rem; max-height: 140px; }

    .theme-marketplace .mp-section-title {
        margin: 0 0 0.65rem;
        font-size: 0.92rem;
        font-weight: 700;
        color: #161823;
    }
    .theme-marketplace .mp-continue { margin-bottom: 1rem; }
    .theme-marketplace .mp-continue-scroll {
        display: flex;
        gap: 0.65rem;
        overflow-x: auto;
        padding-bottom: 0.25rem;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .theme-marketplace .mp-continue-scroll::-webkit-scrollbar { display: none; }
    .theme-marketplace .mp-continue-item {
        flex-shrink: 0;
        width: 6.5rem;
        text-decoration: none;
        color: #161823;
    }
    .theme-marketplace .mp-continue-img {
        width: 6.5rem;
        height: 6.5rem;
        border-radius: 0.5rem;
        overflow: hidden;
        background: #f8f8f8;
        margin-bottom: 0.35rem;
    }
    .theme-marketplace .mp-continue-img img,
    .theme-marketplace .mp-continue-img .img-placeholder {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .theme-marketplace .mp-continue-item strong {
        display: block;
        font-size: 0.72rem;
        font-weight: 700;
        margin-bottom: 0.1rem;
    }
    .theme-marketplace .mp-continue-item span {
        display: block;
        font-size: 0.65rem;
        color: #8a8b91;
        line-height: 1.3;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .theme-marketplace .mp-feed { margin-top: 0.25rem; }
    .theme-marketplace .mp-feed-for {
        margin: 0 0 0.65rem;
        font-size: 0.95rem;
        font-weight: 800;
        color: #161823;
    }
    .theme-marketplace .mp-feed-tabs {
        display: flex;
        gap: 0;
        overflow-x: auto;
        border-bottom: 1px solid #f0f0f0;
        margin-bottom: 0.85rem;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .theme-marketplace .mp-feed-tabs::-webkit-scrollbar { display: none; }
    .theme-marketplace .mp-feed-tab {
        flex-shrink: 0;
        padding: 0.55rem 0.85rem;
        font-size: 0.82rem;
        font-weight: 600;
        color: #8a8b91;
        text-decoration: none;
        border-bottom: 2px solid transparent;
        margin-bottom: -1px;
    }
    .theme-marketplace .mp-feed-tab--active {
        color: #00b36b;
        border-bottom-color: #00b36b;
    }

    .theme-marketplace .mp-deal-card {
        background: linear-gradient(135deg, #e8faf2, #f0fdf6);
        border-radius: 0.65rem;
        padding: 0.75rem;
        margin-bottom: 0.85rem;
        border: 1px solid #c6f0dc;
    }
    .theme-marketplace .mp-deal-head {
        font-size: 0.82rem;
        font-weight: 800;
        color: #009957;
        margin-bottom: 0.55rem;
    }
    .theme-marketplace .mp-deal-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.55rem;
    }
    .theme-marketplace .mp-deal-item { text-decoration: none; color: inherit; }
    .theme-marketplace .mp-deal-img {
        position: relative;
        aspect-ratio: 1;
        border-radius: 0.45rem;
        overflow: hidden;
        background: #fff;
        margin-bottom: 0.35rem;
    }
    .theme-marketplace .mp-deal-img img,
    .theme-marketplace .mp-deal-img .img-placeholder {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .theme-marketplace .mp-deal-badge {
        position: absolute;
        top: 0.25rem;
        left: 0.25rem;
        font-size: 0.62rem;
        font-weight: 700;
        padding: 0.15rem 0.35rem;
        background: #fe2c55;
        color: #fff;
        border-radius: 0.2rem;
    }
    .theme-marketplace .mp-deal-price {
        font-size: 0.82rem;
        font-weight: 800;
        color: #fe2c55;
    }

    .theme-marketplace .mp-section-head { margin-bottom: 0.65rem; }
    .theme-marketplace .mp-section-head .section-title { font-size: 1rem; }
    .theme-marketplace .th-shp-eyebrow { color: #00b36b; }
    .theme-marketplace .th-shp-link { color: #00b36b; }

    .theme-marketplace .product-grid--mp {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 0.55rem;
    }
    .theme-marketplace .product-card {
        border-radius: 0.5rem;
        box-shadow: none;
        border: 1px solid #f0f0f0;
        background: #fff;
    }
    .theme-marketplace .product-card .img-wrap { border-radius: 0.5rem 0.5rem 0 0; }
    .theme-marketplace .product-card-body { padding: 0.5rem 0.55rem 0.65rem; }
    .theme-marketplace .product-card .title {
        font-size: 0.78rem;
        font-weight: 500;
        line-height: 1.35;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .theme-marketplace .product-card .price-sale,
    .theme-marketplace .product-card .price-current {
        color: #fe2c55;
        font-size: 0.88rem;
        font-weight: 800;
    }
    .theme-marketplace .product-card-stock { display: none; }
    .theme-marketplace .product-ribbon { background: #fe2c55; font-size: 0.62rem; }
    .theme-marketplace .trust-bar { border-radius: 0.65rem; margin-top: 1rem; }
    .theme-marketplace .store-highlights { display: none; }
}

@media (min-width: 769px) {
    .theme-marketplace .mp-mobile-top,
    .theme-marketplace .mp-tabbar { display: none !important; }
}

.theme-marketplace .mp-mobile-only { display: none; }
.theme-marketplace .mp-desktop-only { display: block; }
.theme-marketplace .th-shp-flash.mp-desktop-only { display: flex; }
.theme-marketplace .th-shp-cats.mp-desktop-only { display: grid; }

@media (max-width: 768px) {
    .theme-marketplace .mp-mobile-only { display: block; }
    .theme-marketplace .mp-chips.mp-mobile-only,
    .theme-marketplace .mp-icon-grid.mp-mobile-only { display: flex; }
    .theme-marketplace .mp-desktop-only { display: none !important; }
    .theme-marketplace .product-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.55rem;
    }
}

/* Desktop marketplace keeps Shopee layout via th-shp-* when mp-* hidden */
@media (min-width: 769px) {
    .theme-marketplace .product-grid--mp {
        grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
        gap: 0.85rem;
    }
}

/* ══════════════════════════════════════════════
   LUXURY — Shopify-inspired
   ══════════════════════════════════════════════ */
.th-shfy-hero { padding: clamp(2rem, 5vw, 3.5rem) clamp(1.25rem, 4vw, 2.5rem); border: none; background: var(--surface); }
.th-shfy-hero-inner {
    display: grid; gap: 2rem; align-items: center; max-width: 1100px; margin: 0 auto;
}
@media (min-width: 900px) { .th-shfy-hero-inner { grid-template-columns: 1fr 1fr; gap: 3rem; } }
.th-shfy-copy h1 {
    margin: 0; font-size: clamp(2rem, 5vw, 3.25rem); font-weight: 700;
    letter-spacing: -0.03em; line-height: 1.08;
}
.th-shfy-cta { border-radius: 0.25rem !important; font-weight: 600; padding: 0.85rem 1.75rem !important; }
.th-shfy-photo { margin: 0; border-radius: 0.5rem; overflow: hidden; }
.th-shfy-photo img { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; }
.th-shfy-photo-ph { aspect-ratio: 4/3; background: linear-gradient(145deg, #f6f6f7, #e8e8ea); border-radius: 0.5rem; }
.th-shfy-collections { margin-bottom: 2rem; }
.th-shfy-collections-title { margin: 0 0 1rem; font-size: 1.1rem; font-weight: 600; text-align: center; }
.th-shfy-collection-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.75rem;
}
@media (max-width: 640px) { .th-shfy-collection-grid { grid-template-columns: 1fr; } }
.th-shfy-collection {
    display: block; text-decoration: none; color: var(--text); overflow: hidden; border-radius: 0.5rem;
}
.th-shfy-collection img, .th-shfy-collection-ph {
    width: 100%; aspect-ratio: 3/4; object-fit: cover; display: block;
    background: var(--surface-alt);
}
.th-shfy-collection span {
    display: block; padding: 0.75rem 0.25rem; font-size: 0.92rem; font-weight: 600; text-align: center;
}
.th-shfy-collection:hover span { color: var(--accent); }
.th-shfy-sub { margin: 0.35rem 0 0; font-size: 0.88rem; color: var(--muted); font-weight: 400; }
.th-shfy-more { text-align: center; margin-top: 2rem; }
.th-shfy-more .btn-outline { border-radius: 0.25rem; font-weight: 600; }
.theme-luxury .product-card {
    border: none; box-shadow: none; background: transparent; border-radius: 0;
}
.theme-luxury .product-card .img-wrap { border-radius: 0.5rem; overflow: hidden; background: var(--surface-alt); }
.theme-luxury .product-card .img-wrap img { aspect-ratio: 1; object-fit: cover; }
.theme-luxury .product-card-body { padding: 0.75rem 0.15rem 0; }
.theme-luxury .product-card .title { font-weight: 500; font-size: 0.9rem; }
.theme-luxury .product-card .price-sale, .theme-luxury .product-card .price-current { color: var(--text); font-weight: 600; }
.theme-luxury .product-card-overlay { display: none; }
.theme-luxury .store-header { border-bottom: 1px solid var(--border); backdrop-filter: none; }
.theme-luxury .store-nav a { border-radius: 0; background: transparent !important; font-weight: 500; }
.theme-luxury .store-nav a:hover { color: var(--accent) !important; text-decoration: underline; text-underline-offset: 4px; background: transparent !important; }
.theme-luxury .store-nav .nav-cart { border-radius: 0.25rem; background: var(--accent) !important; color: #fff !important; text-decoration: none !important; }
.theme-luxury .store-promo-bar { background: var(--text); }
.theme-luxury .store-main { max-width: 1100px; }

/* ══════════════════════════════════════════════
   CREATIVE — Jakmall-inspired
   ══════════════════════════════════════════════ */
.th-jkm-promo {
    margin-bottom: 0.85rem; border-radius: 0.375rem; overflow: hidden;
    background: linear-gradient(90deg, #c62828, #e53935);
}
.th-jkm-promo-inner {
    display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1rem;
    padding: 0.85rem 1.15rem; color: #fff;
}
.th-jkm-promo-badge {
    font-size: 0.65rem; font-weight: 800; padding: 0.2rem 0.45rem;
    background: #ffeb3b; color: #c62828; border-radius: 0.2rem;
}
.th-jkm-promo-inner strong { font-size: 1rem; }
.th-jkm-promo-inner > span:not(.th-jkm-promo-badge) { font-size: 0.82rem; opacity: 0.95; flex: 1; min-width: 140px; }
.th-jkm-promo-btn {
    font-size: 0.78rem; font-weight: 700; padding: 0.45rem 0.85rem;
    background: #fff; color: #c62828; border-radius: 0.25rem; white-space: nowrap;
}
.th-jkm-tabs {
    display: flex; gap: 0.35rem; overflow-x: auto; margin-bottom: 0.85rem;
    padding-bottom: 0.25rem; -webkit-overflow-scrolling: touch;
}
.th-jkm-tab {
    flex-shrink: 0; padding: 0.45rem 0.95rem; font-size: 0.82rem; font-weight: 600;
    background: var(--surface); border: 1px solid var(--border); border-radius: 0.25rem; color: var(--text);
}
.th-jkm-tab--active, .th-jkm-tab:hover { background: #c62828; border-color: #c62828; color: #fff; }
.th-jkm-hot {
    padding: 0.85rem 1rem; margin-bottom: 0.85rem;
    background: var(--surface); border: 1px solid var(--border); border-left: 4px solid #c62828; border-radius: 0.25rem;
}
.th-jkm-hot-head { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; }
.th-jkm-hot-head h2 { margin: 0; font-size: 0.95rem; font-weight: 700; }
.th-jkm-hot-timer { font-size: 0.72rem; font-weight: 600; color: #c62828; }
.th-jkm-hot-badges { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-top: 0.5rem; }
.th-jkm-hot-badges span {
    font-size: 0.68rem; font-weight: 600; padding: 0.2rem 0.5rem;
    background: #ffebee; color: #c62828; border-radius: 0.2rem;
}
.th-jkm-banner { margin: 0 0 1rem; border-radius: 0.375rem; overflow: hidden; }
.th-jkm-banner img { width: 100%; max-height: 200px; object-fit: cover; display: block; }
.th-jkm-eyebrow { color: #c62828; }
.th-jkm-link { color: #c62828; font-weight: 600; }
.theme-creative .product-card { border-radius: 0.375rem; border: 1px solid var(--border); }
.theme-creative .product-card:hover { border-color: #c62828; box-shadow: 0 4px 12px rgba(198,40,40,0.1); }
.theme-creative .product-card-overlay { display: none; }
.theme-creative .product-card .price-sale, .theme-creative .product-card .price-current { color: #c62828; }
.theme-creative .product-ribbon { background: #c62828; }
.theme-creative .store-nav a { font-weight: 600; border-radius: 0.25rem; }
.theme-creative .store-nav a:hover { background: #ffebee !important; color: #c62828 !important; }
.theme-creative .store-search button { background: #c62828; border-radius: 0.2rem; }
.theme-creative .store-promo-bar { background: linear-gradient(90deg, #b71c1c, #e53935); }

/* ══════════════════════════════════════════════
   FOOD — GoFood/Gojek-inspired
   ══════════════════════════════════════════════ */
.th-gf-top {
    display: flex; flex-direction: column; gap: 0.65rem; margin-bottom: 0.75rem;
}
@media (min-width: 640px) { .th-gf-top { flex-direction: row; align-items: center; } }
.th-gf-loc {
    display: flex; align-items: center; gap: 0.5rem; padding: 0.55rem 0.85rem;
    background: var(--surface); border: 1px solid var(--border); border-radius: 0.5rem; flex-shrink: 0;
}
.th-gf-loc-icon { font-size: 1.1rem; }
.th-gf-loc small { display: block; font-size: 0.65rem; color: var(--muted); }
.th-gf-loc strong { font-size: 0.85rem; font-weight: 700; }
.th-gf-search-bar {
    flex: 1; display: flex; align-items: center; gap: 0.5rem; padding: 0.65rem 1rem;
    background: var(--surface); border: 1px solid var(--border); border-radius: 999px;
    color: var(--muted); font-size: 0.88rem;
}
.th-gf-search-bar span { color: var(--accent); font-weight: 700; }
.th-gf-filters {
    display: flex; gap: 0.4rem; overflow-x: auto; margin-bottom: 0.85rem; padding-bottom: 0.15rem;
}
.th-gf-filter {
    flex-shrink: 0; padding: 0.4rem 0.85rem; font-size: 0.78rem; font-weight: 600;
    background: var(--surface); border: 1px solid var(--border); border-radius: 999px; color: var(--text);
}
.th-gf-filter--active, .th-gf-filter:hover { background: var(--accent); border-color: var(--accent); color: #fff; }
.th-gf-hero {
    display: flex; align-items: center; justify-content: space-between; gap: 1rem;
    padding: 1.15rem 1.25rem; border: none;
    background: linear-gradient(135deg, #e8f5e9 0%, #f1f8e9 100%);
}
.th-gf-hero-copy { flex: 1; }
.th-gf-hero-copy h1 { margin: 0.35rem 0 0; font-size: clamp(1.35rem, 3vw, 1.75rem); font-weight: 700; color: #1b5e20; }
.th-gf-hero .th-lead { color: #33691e; font-size: 0.88rem; }
.th-gf-badge {
    display: inline-block; font-size: 0.68rem; font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.06em; color: var(--accent); background: #fff; padding: 0.2rem 0.55rem; border-radius: 999px;
}
.th-gf-hero-img { margin: 0; flex-shrink: 0; width: 5rem; height: 5rem; border-radius: 50%; overflow: hidden; border: 3px solid #fff; box-shadow: 0 4px 12px rgba(0,170,19,0.2); }
.th-gf-hero-img img { width: 100%; height: 100%; object-fit: cover; }
.th-gf-hero-emoji {
    flex-shrink: 0; width: 5rem; height: 5rem; border-radius: 50%; background: #fff;
    display: flex; align-items: center; justify-content: center; font-size: 2.25rem;
    box-shadow: 0 4px 12px rgba(0,170,19,0.15);
}
.th-gf-cats {
    display: flex; gap: 0.65rem; overflow-x: auto; margin-bottom: 1rem; padding-bottom: 0.25rem;
}
.th-gf-cat {
    flex-shrink: 0; display: flex; flex-direction: column; align-items: center; gap: 0.35rem;
    font-size: 0.72rem; font-weight: 600; text-align: center; color: var(--text); min-width: 4.5rem;
}
.th-gf-cat img, .th-gf-cat-emoji {
    width: 3.25rem; height: 3.25rem; border-radius: 50%; object-fit: cover;
    background: var(--surface); border: 2px solid #e8f5e9;
    display: flex; align-items: center; justify-content: center; font-size: 1.25rem;
}
.th-gf-cat:hover img, .th-gf-cat:hover .th-gf-cat-emoji { border-color: var(--accent); }
.th-gf-eyebrow { color: var(--accent); }
.th-gf-link { color: var(--accent); font-weight: 600; }
.theme-food .product-card { border-radius: 0.75rem; border: 1px solid var(--border); overflow: hidden; }
.theme-food .product-card:hover { border-color: var(--accent); }
.theme-food .product-card-overlay { display: none; }
.theme-food .product-card .price-sale, .theme-food .product-card .price-current { color: var(--accent); }
.theme-food .store-nav a:hover { background: #e8f5e9 !important; color: var(--accent) !important; }
.theme-food .store-search { border-radius: 999px; border-color: var(--accent); }
.theme-food .store-search button { border-radius: 50%; background: var(--accent); }
.theme-food .store-promo-bar { background: linear-gradient(90deg, #00aa13, #00b14f); }
.theme-food .nav-cart-badge { background: var(--accent); }

/* ── Brand polish extras ── */
.theme-modern .store-subnav { display: flex; background: #232f3e; border-top: none; }
.theme-modern .store-subnav a { color: #fff; font-size: 0.75rem; }
.theme-modern .store-subnav a:hover { background: rgba(255,255,255,0.1); color: #febd69; }
.theme-modern .store-header { border-bottom: none; }

.theme-professional .store-promo-bar { font-weight: 600; letter-spacing: 0.02em; }
.theme-professional .th-blka-side-card--red { background: linear-gradient(135deg, #ff006f, #f85606); }

/* ── Professional mobile (Lazada-like) ── */
.theme-professional .lz-mobile-only { display: none; }
.theme-professional .lz-desktop-only { display: block; }

@media (max-width: 768px) {
    .theme-professional {
        --accent: #f85606;
        --accent-dark: #ea580c;
        --accent-soft: #fff5f0;
        --header-bg: #ffffff;
        --header-border: #eeeeee;
        --header-text: #212121;
        --bg: #f5f5f5;
    }
    .theme-professional .store-chrome--professional .store-header {
        background: #fff !important;
        border-bottom: none;
        backdrop-filter: none;
    }
    .theme-professional .store-chrome--professional .store-header-inner,
    .theme-professional .store-chrome--professional .store-burger,
    .theme-professional .store-chrome--professional .store-brand,
    .theme-professional .store-chrome--professional .store-search--desktop,
    .theme-professional .store-chrome--professional .store-nav--desktop {
        display: none !important;
    }
    .theme-professional .lz-mobile-top { display: block; padding: 0.5rem 0.75rem 0.65rem; }
    .theme-professional .lz-app-banner {
        display: flex; align-items: center; justify-content: space-between; gap: 0.65rem;
        padding: 0.55rem 0.75rem; margin-bottom: 0.55rem;
        background: linear-gradient(90deg, #fff5f0, #ffe8f0);
        border-radius: 0.5rem; border: 1px solid #ffd6e8;
    }
    .theme-professional .lz-app-banner-text {
        flex: 1; font-size: 0.72rem; font-weight: 600; color: #212121; line-height: 1.35;
    }
    .theme-professional .lz-app-banner-btn {
        flex-shrink: 0; padding: 0.35rem 0.75rem; font-size: 0.72rem; font-weight: 700;
        background: linear-gradient(90deg, #ff006f, #f85606); color: #fff;
        border-radius: 999px; text-decoration: none;
    }
    .theme-professional .lz-mobile-search {
        display: flex; align-items: center; gap: 0.45rem;
        background: #fff; border: 1px solid #eeeeee; border-radius: 999px;
        padding: 0.25rem 0.25rem 0.25rem 0.85rem;
        box-shadow: 0 1px 4px rgba(0,0,0,0.04);
    }
    .theme-professional .lz-mobile-search input {
        flex: 1; border: none; background: transparent; font-size: 0.88rem;
        padding: 0.45rem 0; margin: 0; min-width: 0; color: #212121;
    }
    .theme-professional .lz-mobile-search input:focus { outline: none; box-shadow: none; }
    .theme-professional .lz-mobile-search-icon { color: #9ca3af; flex-shrink: 0; }
    .theme-professional .lz-search-btn {
        flex-shrink: 0; border: none; cursor: pointer;
        padding: 0.5rem 1rem; font-size: 0.82rem; font-weight: 700; color: #fff;
        background: linear-gradient(90deg, #ff006f, #f85606);
        border-radius: 999px; font-family: inherit;
    }
    .theme-professional .store-main {
        padding: 0.5rem 0.75rem 5.5rem;
        max-width: 100%;
        background: #f5f5f5;
    }
    .theme-professional .store-footer { display: none; }
    .theme-professional .lz-mobile-only { display: block; }
    .theme-professional .lz-quick-grid.lz-mobile-only { display: grid; }
    .theme-professional .lz-cat-grid.lz-mobile-only { display: grid; }
    .theme-professional .lz-desktop-only { display: none !important; }
    .theme-professional .store-highlights { display: none; }

    .theme-professional .lz-quick-grid {
        grid-template-columns: repeat(5, 1fr); gap: 0.55rem 0.35rem;
        padding: 0.65rem 0.15rem 0.35rem; background: #fff;
        border-radius: 0.65rem; margin-bottom: 0.35rem;
    }
    .theme-professional .lz-quick-item {
        display: flex; flex-direction: column; align-items: center; gap: 0.3rem;
        text-decoration: none; color: #212121; font-size: 0.62rem; font-weight: 500; text-align: center;
    }
    .theme-professional .lz-quick-icon {
        width: 2.75rem; height: 2.75rem; border-radius: 50%;
        background: linear-gradient(145deg, #fff5f0, #ffe8f0);
        border: 1px solid #ffd6c2;
        display: flex; align-items: center; justify-content: center; font-size: 1.1rem;
    }
    .theme-professional .lz-quick-icon--ph { font-size: 0.65rem; color: #f85606; }
    .theme-professional .lz-scroll-dots {
        display: flex; justify-content: center; gap: 0.25rem;
        margin-bottom: 0.65rem;
    }
    .theme-professional .lz-scroll-dot {
        width: 1.25rem; height: 3px; border-radius: 999px; background: #e5e5e5;
    }
    .theme-professional .lz-scroll-dot--active { background: #ff006f; width: 1.75rem; }

    .theme-professional .lz-cat-grid {
        grid-template-columns: repeat(5, 1fr); gap: 0.55rem 0.35rem;
        padding: 0.65rem 0.15rem; background: #fff;
        border-radius: 0.65rem; margin-bottom: 0.65rem;
    }
    .theme-professional .lz-cat-item {
        display: flex; flex-direction: column; align-items: center; gap: 0.3rem;
        text-decoration: none; color: #212121; font-size: 0.62rem; font-weight: 500; text-align: center;
    }
    .theme-professional .lz-cat-img {
        width: 2.75rem; height: 2.75rem; border-radius: 50%; object-fit: cover;
        background: #f5f5f5; border: 1px solid #eeeeee;
        display: flex; align-items: center; justify-content: center;
    }
    .theme-professional .lz-cat-img--ph { color: #f85606; font-size: 0.65rem; }

    .theme-professional .lz-flash {
        background: #fff; border-radius: 0.65rem;
        padding: 0.75rem 0 0.75rem 0.75rem; margin-bottom: 0.65rem;
    }
    .theme-professional .lz-flash-head {
        display: flex; align-items: center; justify-content: space-between;
        padding-right: 0.75rem; margin-bottom: 0.65rem;
    }
    .theme-professional .lz-flash-logo {
        font-size: 0.92rem; font-weight: 800; color: #ff006f;
        font-style: italic;
    }
    .theme-professional .lz-flash-all {
        font-size: 0.72rem; font-weight: 600; color: #757575; text-decoration: none;
    }
    .theme-professional .lz-flash-scroll {
        display: flex; gap: 0.55rem; overflow-x: auto;
        padding-bottom: 0.15rem; -webkit-overflow-scrolling: touch; scrollbar-width: none;
    }
    .theme-professional .lz-flash-scroll::-webkit-scrollbar { display: none; }
    .theme-professional .lz-flash-card {
        flex-shrink: 0; width: 6.75rem; text-decoration: none; color: inherit;
    }
    .theme-professional .lz-flash-img {
        position: relative; width: 6.75rem; height: 6.75rem;
        border-radius: 0.45rem; overflow: hidden; background: #f5f5f5; margin-bottom: 0.35rem;
    }
    .theme-professional .lz-flash-img img,
    .theme-professional .lz-flash-img .img-placeholder { width: 100%; height: 100%; object-fit: cover; }
    .theme-professional .lz-flash-save {
        position: absolute; top: 0; left: 0;
        font-size: 0.58rem; font-weight: 800; padding: 0.15rem 0.35rem;
        background: #ff006f; color: #fff; border-radius: 0 0 0.35rem 0;
    }
    .theme-professional .lz-flash-price {
        font-size: 0.82rem; font-weight: 800; color: #f85606; line-height: 1.2;
    }
    .theme-professional .lz-flash-old {
        font-size: 0.65rem; color: #9ca3af; text-decoration: line-through;
    }
    .theme-professional .lz-flash-progress {
        position: relative; height: 1rem; margin-top: 0.35rem;
        background: #ffe8f0; border-radius: 999px; overflow: hidden;
    }
    .theme-professional .lz-flash-progress::before {
        content: ""; position: absolute; left: 0; top: 0; bottom: 0;
        width: var(--lz-progress, 50%); background: linear-gradient(90deg, #ff006f, #f85606);
        border-radius: 999px;
    }
    .theme-professional .lz-flash-progress span {
        position: relative; z-index: 1; display: block; text-align: center;
        font-size: 0.58rem; font-weight: 700; color: #fff; line-height: 1rem;
    }

    .theme-professional .lz-hero-banner {
        margin: 0 0 0.65rem; border-radius: 0.65rem; overflow: hidden;
    }
    .theme-professional .lz-hero-banner img {
        width: 100%; max-height: 120px; object-fit: cover; display: block;
    }

    .theme-professional .lz-for-you { margin-top: 0.25rem; }
    .theme-professional .lz-for-you-title {
        margin: 0 0 0.65rem; font-size: 0.95rem; font-weight: 800; color: #212121;
    }
    .theme-professional .product-grid--lz {
        display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.55rem;
    }
    .theme-professional .product-card {
        border-radius: 0.5rem; border: none; box-shadow: none;
        background: #fff; overflow: hidden;
    }
    .theme-professional .product-card .img-wrap { border-radius: 0.5rem 0.5rem 0 0; }
    .theme-professional .product-card-body { padding: 0.5rem 0.55rem 0.65rem; }
    .theme-professional .product-card .title {
        font-size: 0.78rem; font-weight: 500; line-height: 1.35;
        display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    }
    .theme-professional .product-card .price-sale,
    .theme-professional .product-card .price-current { color: #f85606; font-size: 0.88rem; font-weight: 800; }
    .theme-professional .product-card-stock { display: none; }
    .theme-professional .product-ribbon { background: #ff006f; font-size: 0.62rem; }
    .theme-professional .product-grid { grid-template-columns: repeat(2, 1fr); gap: 0.55rem; }

    .theme-professional .lz-tabbar {
        display: flex; position: fixed; bottom: 0; left: 0; right: 0; z-index: 110;
        background: #fff; border-top: 1px solid #eeeeee;
        padding: 0.35rem 0 calc(0.35rem + env(safe-area-inset-bottom, 0));
        box-shadow: 0 -4px 20px rgba(0,0,0,0.06);
    }
    .theme-professional .lz-tabbar-item {
        flex: 1; display: flex; flex-direction: column; align-items: center; gap: 0.15rem;
        padding: 0.25rem 0.15rem; font-size: 0.62rem; font-weight: 600;
        color: #757575; text-decoration: none;
    }
    .theme-professional .lz-tabbar-item--active { color: #f85606; }
    .theme-professional .lz-tabbar-icon {
        position: relative; display: flex; align-items: center; justify-content: center;
        width: 1.65rem; height: 1.65rem;
    }
    .theme-professional .lz-tabbar-badge {
        position: absolute; top: -4px; right: -8px;
        min-width: 0.95rem; height: 0.95rem; padding: 0 0.2rem;
        border-radius: 999px; background: #ff006f; color: #fff;
        font-size: 0.55rem; font-weight: 700;
        display: flex; align-items: center; justify-content: center;
    }
    .theme-professional .trust-bar { border-radius: 0.65rem; margin-top: 0.85rem; }
}

@media (min-width: 769px) {
    .theme-professional .lz-mobile-top,
    .theme-professional .lz-tabbar { display: none !important; }
}

.theme-marketplace .store-header-inner { min-height: 3.25rem; }
.theme-marketplace .store-search { flex: 1; max-width: none; margin: 0 0.5rem; }

.theme-creative .store-brand { font-weight: 800; text-transform: uppercase; letter-spacing: -0.02em; }

.theme-food .store-header { border-bottom: 2px solid #e8f5e9; }
.theme-food .th-gf-top { background: linear-gradient(180deg, #e8f5e9, transparent); padding: 0.5rem 0 0; border-radius: 0.75rem; }

/* ── Food mobile (Kafetaria / ThemeFood) ── */
.theme-food .gf-mobile-only { display: none; }
.theme-food .gf-desktop-only { display: revert; }
.theme-food .gf-mobile-header,
.theme-food .gf-tabbar,
.theme-food .gf-toast { display: none; }
.theme-food .th-gf-top.gf-desktop-only,
.theme-food .th-gf-filters.gf-desktop-only,
.theme-food .theme-hero.th-gf-hero.gf-desktop-only,
.theme-food .th-gf-cats.gf-desktop-only { display: flex; }

@media (max-width: 768px) {
    .theme-food {
        --accent: #00a800;
        --accent-dark: #008f00;
        --accent-soft: #e8f9e8;
        --header-bg: #ffffff;
        --header-border: #e8f5e9;
        --header-text: #1a1a1a;
        --bg: #ffffff;
        --text: #1a1a1a;
    }
    .theme-food .store-chrome--food .store-header {
        background: #fff !important;
        border-bottom: 1px solid #eeeeee;
        backdrop-filter: none;
    }
    .theme-food .store-chrome--food .store-header-inner,
    .theme-food .store-chrome--food .store-burger { display: none !important; }
    .theme-food .gf-desktop-only { display: none !important; }
    .theme-food .gf-mobile-only { display: block; }
    .theme-food .gf-mobile-header {
        display: flex; align-items: center; gap: 0.55rem;
        padding: 0.55rem 0.75rem;
    }
    .theme-food .gf-mobile-brand {
        flex-shrink: 0; text-decoration: none;
    }
    .theme-food .gf-mobile-logo {
        width: 2.5rem; height: 2.5rem; border-radius: 0.65rem;
        background: linear-gradient(145deg, #00c853, #00a800);
        display: flex; align-items: center; justify-content: center;
        font-size: 1.15rem; overflow: hidden;
        box-shadow: 0 2px 8px rgba(0, 168, 0, 0.25);
    }
    .theme-food .gf-mobile-logo img { width: 100%; height: 100%; object-fit: cover; }
    .theme-food .gf-mobile-search {
        flex: 1; display: flex; align-items: center; gap: 0.4rem;
        min-width: 0; height: 2.35rem; padding: 0 0.75rem;
        background: #f5f5f5; border-radius: 999px; border: 1px solid #eeeeee;
        margin: 0;
    }
    .theme-food .gf-mobile-search input {
        flex: 1; border: none; background: transparent; font-size: 0.82rem;
        padding: 0; margin: 0; min-width: 0; color: #1a1a1a;
    }
    .theme-food .gf-mobile-search input:focus { outline: none; box-shadow: none; }
    .theme-food .gf-mobile-search-icon { color: #9ca3af; flex-shrink: 0; }
    .theme-food .gf-mobile-cart {
        position: relative; flex-shrink: 0;
        width: 2.35rem; height: 2.35rem;
        display: flex; align-items: center; justify-content: center;
        color: #424242; text-decoration: none;
    }
    .theme-food .gf-mobile-badge {
        position: absolute; top: -2px; right: -4px;
        min-width: 1.1rem; height: 1.1rem; padding: 0 0.25rem;
        border-radius: 999px; background: #00a800; color: #fff;
        font-size: 0.62rem; font-weight: 700;
        display: flex; align-items: center; justify-content: center; line-height: 1;
    }

    .theme-food .store-main {
        padding: 0 0 5.5rem;
        max-width: 100%;
        background: #fff;
    }
    .theme-food .store-footer { display: none; }
    .theme-food .trust-bar { display: none; }
    .theme-food .store-highlights { display: none; }

    .theme-food .gf-carousel-wrap {
        overflow: hidden; margin: 0.65rem 0.85rem 0;
        border-radius: 0.85rem;
        box-shadow: 0 4px 16px rgba(0, 168, 0, 0.12);
    }
    .theme-food .gf-carousel {
        display: flex; transition: transform 0.45s ease;
    }
    .theme-food .gf-carousel-slide {
        flex: 0 0 100%; position: relative; min-height: 11.5rem;
    }
    .theme-food .gf-carousel-slide img {
        width: 100%; height: 11.5rem; object-fit: cover; display: block;
    }
    .theme-food .gf-carousel-slide--ph {
        background: linear-gradient(135deg, #00c853 0%, #00a800 55%, #008f00 100%);
        min-height: 11.5rem;
    }
    .theme-food .gf-carousel-overlay {
        position: absolute; inset: 0;
        background: linear-gradient(90deg, rgba(0,100,0,0.82) 0%, rgba(0,100,0,0.35) 60%, transparent 100%);
        display: flex; flex-direction: column; justify-content: center;
        padding: 1.15rem 1.25rem; color: #fff;
    }
    .theme-food .gf-carousel-slide--ph .gf-carousel-overlay {
        position: static; background: none; min-height: 11.5rem;
    }
    .theme-food .gf-carousel-badge {
        display: inline-block; align-self: flex-start;
        font-size: 0.68rem; font-weight: 700; text-transform: uppercase;
        letter-spacing: 0.06em; background: rgba(255,255,255,0.2);
        padding: 0.2rem 0.55rem; border-radius: 999px; margin-bottom: 0.45rem;
    }
    .theme-food .gf-carousel-overlay h2 {
        margin: 0 0 0.35rem; font-size: 1.05rem; font-weight: 800; line-height: 1.3;
        max-width: 85%;
    }
    .theme-food .gf-carousel-overlay p {
        margin: 0; font-size: 0.72rem; line-height: 1.45; opacity: 0.92; max-width: 90%;
    }
    .theme-food .gf-carousel-cta {
        display: inline-block; margin-top: 0.75rem; align-self: flex-start;
        padding: 0.45rem 0.85rem; background: #fff; color: #00a800;
        font-size: 0.78rem; font-weight: 700; border-radius: 999px; text-decoration: none;
    }

    .theme-food .gf-quick {
        display: grid; grid-template-columns: repeat(3, 1fr);
        margin: 0.85rem 0.85rem; padding: 0.75rem 0;
        border-top: 1px dashed #e0e0e0; border-bottom: 1px dashed #e0e0e0;
    }
    .theme-food .gf-quick-item {
        display: flex; flex-direction: column; align-items: center; gap: 0.35rem;
        text-decoration: none; color: #424242; font-size: 0.68rem; font-weight: 500;
        position: relative;
    }
    .theme-food .gf-quick-item:not(:last-child)::after {
        content: ""; position: absolute; right: 0; top: 15%; height: 70%;
        width: 1px; border-right: 1px dashed #e0e0e0;
    }
    .theme-food .gf-quick-icon {
        width: 2.25rem; height: 2.25rem; border-radius: 50%;
        display: flex; align-items: center; justify-content: center;
        font-size: 1rem; font-weight: 700;
    }
    .theme-food .gf-quick-icon--addr { background: #e8f5e9; }
    .theme-food .gf-quick-icon--ship { background: #e3f2fd; }
    .theme-food .gf-quick-icon--about { background: #fff3e0; }

    .theme-food .gf-section-title {
        margin: 0 0 0.65rem; padding: 0 0.85rem;
        font-size: 0.95rem; font-weight: 800; color: #1a1a1a;
    }
    .theme-food .gf-articles {
        padding: 0.85rem 0; margin-bottom: 0.25rem;
        border-bottom: 1px solid #f0f0f0;
    }
    .theme-food .gf-article-list {
        list-style: none; margin: 0; padding: 0 0.85rem;
    }
    .theme-food .gf-article-list li {
        border-bottom: 1px solid #f5f5f5;
    }
    .theme-food .gf-article-list a {
        display: flex; align-items: center; justify-content: space-between;
        padding: 0.75rem 0; font-size: 0.82rem; font-weight: 500; color: #333;
        text-decoration: none; line-height: 1.4;
    }
    .theme-food .gf-article-list a span { color: #bdbdbd; font-size: 1.1rem; }
    .theme-food .gf-articles-more {
        display: block; text-align: center; padding: 0.65rem;
        font-size: 0.78rem; font-weight: 600; color: #00a800; text-decoration: none;
    }

    .theme-food .gf-cat-scroll {
        display: flex; gap: 0.55rem; overflow-x: auto;
        padding: 0.65rem 0.85rem 0.85rem;
        -webkit-overflow-scrolling: touch; scrollbar-width: none;
    }
    .theme-food .gf-cat-scroll::-webkit-scrollbar { display: none; }
    .theme-food .gf-cat-card {
        flex-shrink: 0; width: 7.5rem; height: 5rem;
        border-radius: 0.65rem; overflow: hidden; position: relative;
        text-decoration: none;
    }
    .theme-food .gf-cat-card img,
    .theme-food .gf-cat-card-ph {
        width: 100%; height: 100%; object-fit: cover; display: block;
        background: linear-gradient(135deg, #81c784, #43a047);
    }
    .theme-food .gf-cat-card span {
        position: absolute; left: 0.55rem; bottom: 0.45rem;
        font-size: 0.78rem; font-weight: 800; color: #fff;
        text-shadow: 0 1px 4px rgba(0,0,0,0.45);
    }

    .theme-food .gf-menu { padding: 0.85rem 0; }
    .theme-food .gf-menu-list { display: grid; gap: 0; }
    .theme-food .gf-menu-item {
        display: flex; gap: 0.85rem; padding: 0.85rem;
        border-bottom: 1px solid #f0f0f0; text-decoration: none; color: inherit;
    }
    .theme-food .gf-menu-img {
        width: 4.5rem; height: 4.5rem; border-radius: 0.65rem;
        overflow: hidden; flex-shrink: 0; background: #f5f5f5;
        display: flex; align-items: center; justify-content: center; font-size: 1.5rem;
    }
    .theme-food .gf-menu-img img { width: 100%; height: 100%; object-fit: cover; }
    .theme-food .gf-menu-body { min-width: 0; flex: 1; }
    .theme-food .gf-menu-body strong {
        display: block; font-size: 0.88rem; font-weight: 700; color: #1a1a1a;
        margin-bottom: 0.2rem; line-height: 1.3;
    }
    .theme-food .gf-menu-body p {
        margin: 0 0 0.35rem; font-size: 0.72rem; color: #757575; line-height: 1.4;
        display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    }
    .theme-food .gf-menu-price {
        font-size: 0.88rem; font-weight: 800; color: #00a800;
    }
    .theme-food .gf-menu-price s {
        font-size: 0.72rem; font-weight: 500; color: #bdbdbd; margin-left: 0.25rem;
    }
    .theme-food .gf-menu-all {
        display: block; text-align: center; padding: 1rem;
        font-size: 0.85rem; font-weight: 700; color: #00a800; text-decoration: none;
    }

    .theme-food .gf-tabbar {
        display: flex; position: fixed; bottom: 0; left: 0; right: 0; z-index: 110;
        background: #fff; border-top: 1px solid #eeeeee;
        padding: 0.35rem 0 calc(0.35rem + env(safe-area-inset-bottom, 0));
        box-shadow: 0 -4px 20px rgba(0,0,0,0.06);
    }
    .theme-food .gf-tabbar-item {
        flex: 1; display: flex; flex-direction: column; align-items: center; gap: 0.15rem;
        padding: 0.25rem 0.15rem; font-size: 0.62rem; font-weight: 600;
        color: #757575; text-decoration: none;
    }
    .theme-food .gf-tabbar-item--active { color: #00a800; }
    .theme-food .gf-tabbar-icon {
        display: flex; align-items: center; justify-content: center;
        width: 1.65rem; height: 1.65rem;
    }

    .theme-food .gf-toast {
        position: fixed; bottom: calc(4.25rem + env(safe-area-inset-bottom, 0)); left: 0.85rem; right: 0.85rem;
        z-index: 104; display: flex; align-items: center; gap: 0.65rem;
        padding: 0.65rem 0.85rem; background: #fff;
        border-radius: 0.65rem; box-shadow: 0 4px 24px rgba(0,0,0,0.12);
        border: 1px solid #eeeeee;
        transform: translateY(120%); opacity: 0;
        transition: transform 0.35s ease, opacity 0.35s ease;
        pointer-events: none;
    }
    .theme-food .gf-toast--show {
        transform: translateY(0); opacity: 1; pointer-events: auto;
    }
    .theme-food .gf-toast-close {
        position: absolute; top: 0.35rem; right: 0.45rem;
        border: none; background: none; font-size: 1rem; color: #bdbdbd; cursor: pointer; padding: 0.15rem;
    }
    .theme-food .gf-toast-img {
        width: 2.75rem; height: 2.75rem; border-radius: 0.45rem;
        overflow: hidden; flex-shrink: 0; background: #f5f5f5;
        display: flex; align-items: center; justify-content: center;
    }
    .theme-food .gf-toast-img img { width: 100%; height: 100%; object-fit: cover; }
    .theme-food .gf-toast p {
        margin: 0; padding-right: 1rem; font-size: 0.72rem; color: #616161; line-height: 1.4;
    }
    .theme-food .gf-toast p strong { color: #1a1a1a; }
    .theme-food .gf-toast p em { color: #00a800; font-style: normal; font-weight: 600; }

    .theme-food .product-grid { grid-template-columns: repeat(2, 1fr); gap: 0.55rem; }
}

@media (min-width: 769px) {
    .theme-food .gf-mobile-header,
    .theme-food .gf-tabbar,
    .theme-food .gf-toast { display: none !important; }
}

.theme-luxury .btn-primary { background: var(--accent); border-color: var(--accent); }
.theme-luxury .store-brand { font-weight: 600; letter-spacing: -0.03em; font-size: 1.15rem; }

/* Shopee-style product price emphasis */
.theme-marketplace .product-ribbon { border-radius: 0 0.2rem 0.2rem 0; font-size: 0.68rem; }

/* Jakmall red price */
.theme-creative .product-card .title { font-weight: 600; font-size: 0.88rem; }

/* Amazon price color uses secondary */
.theme-modern .product-ribbon { background: var(--secondary, #b12704); }

@media (min-width: 769px) {
    .store-drawer, .store-nav-backdrop { display: none !important; }
}
