:root {
    --emlab-orange: #ff6b1a;
    --emlab-orange-dark: #d84b00;
    --emlab-ink: #171717;
    --emlab-muted: #68707c;
    --emlab-line: #e4e7eb;
    --emlab-surface: #ffffff;
    --emlab-canvas: #f3f5f7;
    --emlab-green: #118f5b;
    --emlab-blue: #2469d8;
    --emlab-purple: #6c3bd1;
    --emlab-gold: #a66c00;
    --emlab-red: #d93636;
    --emlab-radius: 14px;
    --emlab-shadow: 0 8px 28px rgba(16, 24, 40, .08);
    --emlab-shell: min(1540px, calc(100vw - 32px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.emlab-body {
    margin: 0;
    color: var(--emlab-ink);
    background: var(--emlab-canvas);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 15px;
    line-height: 1.45;
    -webkit-font-smoothing: antialiased;
    padding-bottom: 0;
}
body.emlab-menu-open { overflow: hidden; }
.emlab-body a { color: inherit; text-decoration: none; }
.emlab-body button, .emlab-body input, .emlab-body select { font: inherit; }
.emlab-body svg { width: 1.25em; height: 1.25em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.emlab-shell { width: var(--emlab-shell); margin-inline: auto; }

.emlab-preview-bar {
    min-height: 40px;
    padding: 7px max(16px, calc((100vw - 1540px) / 2));
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    background: #201006;
    color: #fff;
    font-size: 12px;
    letter-spacing: .01em;
}
.emlab-preview-bar > div { display: flex; align-items: center; gap: 12px; min-width: 0; }
.emlab-preview-bar strong { color: #ffb17f; }
.emlab-preview-bar span { opacity: .76; }
.emlab-preview-bar a { padding: 5px 10px; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; white-space: nowrap; }

.emlab-site-header { position: relative; z-index: 40; background: #fff; box-shadow: 0 1px 0 rgba(16,24,40,.08); }
.emlab-utility { background: #f8f8f8; border-bottom: 1px solid var(--emlab-line); color: #3f4650; font-size: 12px; }
.emlab-utility .emlab-shell { min-height: 32px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.emlab-utility nav { display: flex; gap: 22px; }
.emlab-utility a:hover { color: var(--emlab-orange-dark); }

.emlab-main-header { background: #fff; }
.emlab-main-header-inner { min-height: 76px; display: grid; grid-template-columns: auto minmax(320px, 1fr) auto; align-items: center; gap: 26px; }
.emlab-logo { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; font-weight: 900; letter-spacing: -.04em; font-size: 21px; }
.emlab-logo img { width: 47px; height: 47px; object-fit: contain; display: block; }
.emlab-logo b { color: var(--emlab-orange); }
.emlab-mobile-menu { display: none; }
.emlab-icon-button { border: 0; background: transparent; padding: 8px; cursor: pointer; }

.emlab-search { min-width: 0; height: 48px; display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; border: 2px solid var(--emlab-orange); border-radius: 10px; background: #fff; overflow: hidden; }
.emlab-search > span { display: grid; place-items: center; color: #6f7580; }
.emlab-search input { width: 100%; height: 100%; border: 0; outline: 0; padding: 0 10px 0 0; background: transparent; color: var(--emlab-ink); }
.emlab-search input::placeholder { color: #8c929b; }
.emlab-search button { align-self: stretch; min-width: 108px; border: 0; background: var(--emlab-orange); color: #fff; font-weight: 800; cursor: pointer; }
.emlab-search button:hover { background: var(--emlab-orange-dark); }

.emlab-header-actions { display: flex; align-items: center; gap: 22px; }
.emlab-header-actions > a { position: relative; display: flex; align-items: center; gap: 8px; min-width: max-content; }
.emlab-header-actions svg { width: 25px; height: 25px; }
.emlab-header-actions span { display: flex; flex-direction: column; line-height: 1.15; }
.emlab-header-actions small { color: var(--emlab-muted); font-size: 11px; }
.emlab-header-actions strong { font-size: 14px; }
.emlab-cart i { position: absolute; top: -8px; left: 17px; min-width: 19px; height: 19px; padding: 0 5px; display: grid; place-items: center; border-radius: 999px; background: var(--emlab-orange); color: #fff; font-size: 10px; font-style: normal; font-weight: 800; }

.emlab-location-row { border-top: 1px solid #f1f2f3; border-bottom: 1px solid var(--emlab-line); }
.emlab-location-row .emlab-shell { min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.emlab-location-form { display: flex; align-items: center; gap: 7px; min-width: 215px; color: #434952; }
.emlab-location-form svg { color: var(--emlab-orange); }
.emlab-location-form label { font-size: 12px; color: var(--emlab-muted); white-space: nowrap; }
.emlab-location-form select { max-width: 160px; border: 0; background: transparent; color: var(--emlab-ink); font-weight: 800; outline: 0; cursor: pointer; }
.emlab-primary-nav { display: flex; align-items: center; justify-content: flex-end; gap: clamp(14px, 2vw, 31px); min-width: 0; overflow: auto; scrollbar-width: none; font-size: 13px; font-weight: 700; white-space: nowrap; }
.emlab-primary-nav::-webkit-scrollbar { display: none; }
.emlab-primary-nav a:hover { color: var(--emlab-orange-dark); }

.emlab-first-screen { display: grid; grid-template-columns: 240px minmax(0, 1fr) 288px; gap: 14px; margin-top: 12px; align-items: stretch; }
.emlab-category-menu, .emlab-hero, .emlab-promo-stack { min-height: 392px; }
.emlab-category-menu { border-radius: var(--emlab-radius); background: #fff; box-shadow: var(--emlab-shadow); overflow: hidden; }
.emlab-category-menu-head { min-height: 49px; display: flex; align-items: center; justify-content: space-between; padding: 0 16px; border-bottom: 1px solid var(--emlab-line); font-size: 14px; }
.emlab-category-menu-head button { display: none; border: 0; background: transparent; font-size: 28px; cursor: pointer; }
.emlab-category-menu nav { padding: 6px 0; }
.emlab-category-menu nav a { min-height: 28px; padding: 4px 12px; display: grid; grid-template-columns: 25px minmax(0,1fr) auto 14px; align-items: center; gap: 8px; color: #363c45; }
.emlab-category-menu nav a:hover { background: #fff4ed; color: var(--emlab-orange-dark); }
.emlab-category-menu nav a > span { font-size: 16px; text-align: center; }
.emlab-category-menu nav b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; font-weight: 650; }
.emlab-category-menu nav small { color: #9a9fa7; font-size: 10px; }
.emlab-category-menu nav svg { width: 13px; height: 13px; }
.emlab-all-categories { min-height: 38px; display: flex; align-items: center; justify-content: center; gap: 8px; border-top: 1px solid var(--emlab-line); color: var(--emlab-orange-dark); font-size: 12px; font-weight: 800; }

.emlab-hero { position: relative; min-width: 0; border-radius: var(--emlab-radius); overflow: hidden; box-shadow: var(--emlab-shadow); background: #171717; }
.emlab-hero-track { height: 100%; display: flex; overflow: hidden; scroll-snap-type: x mandatory; scrollbar-width: none; }
.emlab-hero-track::-webkit-scrollbar { display: none; }
.emlab-hero-slide { min-width: 100%; height: 100%; display: grid; grid-template-columns: minmax(300px, .95fr) minmax(260px, 1.05fr); align-items: center; gap: 20px; padding: clamp(25px, 3vw, 46px); scroll-snap-align: start; color: var(--hero-text); background: var(--hero-bg); isolation: isolate; overflow: hidden; }
.emlab-hero-slide::before { content: ""; position: absolute; width: 360px; height: 360px; right: 18%; top: 50%; border-radius: 50%; background: color-mix(in srgb, var(--hero-accent) 26%, transparent); filter: blur(12px); transform: translateY(-50%); z-index: -1; }
.emlab-hero-copy { align-self: center; min-width: 0; }
.emlab-kicker { display: inline-flex; margin-bottom: 12px; padding: 5px 9px; border: 1px solid color-mix(in srgb, var(--hero-text) 28%, transparent); border-radius: 999px; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.emlab-hero h1 { max-width: 680px; margin: 0; font-size: clamp(31px, 3.7vw, 58px); line-height: .98; letter-spacing: -.055em; }
.emlab-hero-subtitle { margin: 16px 0 0; max-width: 620px; font-size: clamp(16px, 1.35vw, 21px); font-weight: 700; opacity: .95; }
.emlab-hero-body { margin: 10px 0 0; max-width: 600px; opacity: .8; font-size: 14px; }
.emlab-hero-cta { margin-top: 22px; display: inline-flex; align-items: center; gap: 7px; padding: 11px 16px; border-radius: 9px; background: var(--hero-accent); color: #fff; font-weight: 850; box-shadow: 0 8px 22px rgba(0,0,0,.2); }
.emlab-hero-cta svg { transition: transform .2s ease; }
.emlab-hero-cta:hover svg { transform: translateX(3px); }
.emlab-hero-art { min-width: 0; height: 100%; display: grid; place-items: center; }
.emlab-hero-art img { display: block; width: 100%; height: 100%; max-height: 330px; object-fit: contain; filter: drop-shadow(0 20px 26px rgba(0,0,0,.22)); }
.emlab-hero-dots { position: absolute; left: 50%; bottom: 13px; transform: translateX(-50%); z-index: 2; display: flex; gap: 6px; }
.emlab-hero-dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 999px; background: rgba(255,255,255,.5); cursor: pointer; transition: width .2s ease, background .2s ease; }
.emlab-hero-dots button.active { width: 24px; background: #fff; }

.emlab-promo-stack { display: grid; grid-template-rows: 1fr 1fr 1.1fr; gap: 12px; }
.emlab-body a.emlab-promo-card { color: #fff; }
.emlab-promo-card { position: relative; min-width: 0; padding: 16px; display: grid; grid-template-columns: 42px minmax(0,1fr) 18px; align-items: center; gap: 10px; border-radius: var(--emlab-radius); color: #fff; overflow: hidden; box-shadow: var(--emlab-shadow); }
.emlab-promo-card > span { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; background: rgba(255,255,255,.15); }
.emlab-promo-card > span svg { width: 24px; height: 24px; }
.emlab-promo-card small, .emlab-promo-card strong, .emlab-promo-card p { display: block; }
.emlab-promo-card small { opacity: .78; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.emlab-promo-card strong { margin-top: 2px; line-height: 1.1; font-size: 17px; }
.emlab-promo-card p { margin: 5px 0 0; opacity: .8; font-size: 11px; }
.emlab-promo-card > svg { width: 17px; height: 17px; }
.emlab-promo-orange { background: linear-gradient(135deg, #ff6b1a, #c43f00); }
.emlab-promo-dark { background: linear-gradient(135deg, #1b1b1b, #3b332f); }
.emlab-mini-feature { padding: 12px; display: grid; grid-template-columns: 88px minmax(0,1fr); align-items: center; gap: 12px; border-radius: var(--emlab-radius); background: #fff; box-shadow: var(--emlab-shadow); overflow: hidden; }
.emlab-mini-feature img { width: 88px; height: 92px; object-fit: contain; background: #f8f8f8; border-radius: 10px; }
.emlab-mini-feature div { min-width: 0; }
.emlab-mini-feature small { color: var(--emlab-orange-dark); font-size: 10px; font-weight: 850; text-transform: uppercase; }
.emlab-mini-feature strong { margin: 4px 0; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; line-height: 1.2; font-size: 13px; }
.emlab-mini-feature span { font-weight: 900; }

.emlab-shortcuts { margin-top: 24px; display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 10px; }
.emlab-shortcuts > a { min-width: 0; min-height: 78px; padding: 12px; display: flex; align-items: center; gap: 10px; border: 1px solid #eceef1; border-radius: 12px; background: #fff; box-shadow: 0 3px 13px rgba(16,24,40,.04); transition: transform .18s ease, box-shadow .18s ease; }
.emlab-shortcuts > a:hover { transform: translateY(-2px); box-shadow: var(--emlab-shadow); }
.emlab-shortcut-icon { flex: 0 0 41px; height: 41px; display: grid; place-items: center; border-radius: 12px; }
.emlab-shortcut-icon svg { width: 23px; height: 23px; }
.emlab-shortcuts strong, .emlab-shortcuts small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.emlab-shortcuts strong { font-size: 13px; }
.emlab-shortcuts small { margin-top: 2px; color: var(--emlab-muted); font-size: 10px; }
.emlab-icon-red { background: #fff0f0; color: var(--emlab-red); }
.emlab-icon-blue { background: #edf4ff; color: var(--emlab-blue); }
.emlab-icon-green { background: #eaf8f1; color: var(--emlab-green); }
.emlab-icon-purple { background: #f2edff; color: var(--emlab-purple); }
.emlab-icon-gold { background: #fff6df; color: var(--emlab-gold); }
.emlab-icon-black { background: #efefef; color: #222; }

.emlab-trust-band { margin-top: 22px; background: #fff; border-block: 1px solid var(--emlab-line); }
.emlab-trust-band .emlab-shell { min-height: 84px; display: grid; grid-template-columns: repeat(4,1fr); align-items: center; }
.emlab-trust-band .emlab-shell > div { min-width: 0; padding: 14px 22px; display: flex; align-items: center; gap: 12px; border-right: 1px solid var(--emlab-line); }
.emlab-trust-band .emlab-shell > div:first-child { padding-left: 0; }
.emlab-trust-band .emlab-shell > div:last-child { border-right: 0; }
.emlab-trust-band svg { flex: 0 0 auto; width: 29px; height: 29px; color: var(--emlab-orange); }
.emlab-trust-band span { min-width: 0; }
.emlab-trust-band strong, .emlab-trust-band small { display: block; }
.emlab-trust-band strong { font-size: 13px; }
.emlab-trust-band small { color: var(--emlab-muted); font-size: 11px; }

.emlab-section { margin-top: 20px; }
.emlab-section-head { margin-bottom: 13px; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.emlab-section-head > div:first-child { min-width: 0; }
.emlab-section-head h2 { margin: 5px 0 0; font-size: clamp(23px, 2.1vw, 32px); line-height: 1.05; letter-spacing: -.035em; }
.emlab-section-head p { margin: 5px 0 0; color: var(--emlab-muted); font-size: 12px; }
.emlab-section-kicker { display: inline-flex; padding: 4px 8px; border-radius: 5px; font-size: 10px; font-weight: 900; letter-spacing: .09em; }
.emlab-tone-orange { color: #a83c00; background: #fff0e6; }
.emlab-tone-dark { color: #fff; background: #272727; }
.emlab-tone-blue { color: #1554b7; background: #eaf2ff; }
.emlab-tone-green { color: #08774a; background: #e5f8ef; }
.emlab-tone-purple { color: #5b2ab7; background: #f0e9ff; }
.emlab-tone-gold { color: #885900; background: #fff3d3; }
.emlab-section-actions { display: flex; align-items: center; gap: 7px; }
.emlab-section-actions button { width: 34px; height: 34px; padding: 0; display: grid; place-items: center; border: 1px solid var(--emlab-line); border-radius: 50%; background: #fff; cursor: pointer; }
.emlab-section-actions button:hover { border-color: var(--emlab-orange); color: var(--emlab-orange-dark); }
.emlab-section-actions a, .emlab-view-all { display: inline-flex; align-items: center; gap: 4px; padding-left: 8px; color: var(--emlab-orange-dark); font-size: 12px; font-weight: 850; white-space: nowrap; }

.emlab-product-section { padding: 15px 15px 17px; border-radius: var(--emlab-radius); background: #fff; box-shadow: 0 3px 16px rgba(16,24,40,.05); }
.emlab-product-rail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(178px, 1fr); grid-template-rows: 1fr; gap: 10px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x proximity; scrollbar-width: thin; scrollbar-color: #c8ccd1 transparent; }
.emlab-product-card { min-width: 0; scroll-snap-align: start; border: 1px solid #eceef1; border-radius: 11px; background: #fff; overflow: hidden; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.emlab-product-card:hover { transform: translateY(-2px); border-color: #ffc6a5; box-shadow: 0 8px 20px rgba(16,24,40,.09); }
.emlab-product-link { height: 100%; display: flex; flex-direction: column; }
.emlab-product-media { position: relative; height: 188px; display: grid; place-items: center; padding: 9px; background: #f8f9fa; border-bottom: 1px solid #f0f1f2; overflow: hidden; }
.emlab-product-media img { display: block; width: 100%; height: 100%; object-fit: contain; transition: transform .22s ease; }
.emlab-product-card:hover .emlab-product-media img { transform: scale(1.025); }
.emlab-discount, .emlab-options { position: absolute; z-index: 1; top: 8px; padding: 4px 7px; border-radius: 5px; font-size: 10px; font-weight: 900; }
.emlab-discount { left: 8px; background: #ffe8e8; color: #c92121; }
.emlab-options { right: 8px; background: rgba(23,23,23,.82); color: #fff; }
.emlab-product-copy { padding: 10px; min-width: 0; }
.emlab-product-copy p { margin: 0; }
.emlab-product-name { min-height: 36px; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; color: #252a31; font-size: 12px; line-height: 1.45; }
.emlab-product-price { margin-top: 7px !important; font-size: 15px; font-weight: 900; letter-spacing: -.02em; }
.emlab-old-price { color: #9298a1; font-size: 10px; text-decoration: line-through; }
.emlab-rating { margin-top: 5px !important; display: flex; align-items: center; gap: 5px; font-size: 10px; }
.emlab-rating span { color: #b76b00; font-weight: 800; }
.emlab-rating small { color: var(--emlab-muted); }
.emlab-store-line { margin-top: 7px !important; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #505760; font-size: 10px; font-weight: 700; }
.emlab-verified-dot { display: inline-grid; place-items: center; width: 14px; height: 14px; margin-right: 4px; border-radius: 50%; background: var(--emlab-blue); color: #fff; font-size: 9px; font-weight: 900; vertical-align: -1px; }
.emlab-location-line { margin-top: 4px !important; display: flex; align-items: center; gap: 3px; color: #7a818a; font-size: 9px; }
.emlab-location-line svg { width: 11px; height: 11px; }

.emlab-category-grid-section { padding: 18px; border-radius: var(--emlab-radius); background: linear-gradient(180deg, #fff, #fbfbfc); box-shadow: 0 3px 16px rgba(16,24,40,.05); }
.emlab-category-grid { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 11px; }
.emlab-category-grid a { min-width: 0; padding: 0; display: flex; flex-direction: column; align-items: stretch; border: 1px solid #eceef1; border-radius: 11px; background: #fff; text-align: center; overflow: hidden; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.emlab-category-grid a:hover { transform: translateY(-2px); border-color: #ffc6a5; box-shadow: 0 8px 20px rgba(16,24,40,.08); }
.emlab-category-image { width: 100%; height: auto; aspect-ratio: 1.12 / 1; display: grid; place-items: center; margin: 0; border-radius: 0; background: #fff; border-bottom: 1px solid #f0f1f2; overflow: hidden; }
.emlab-category-image img { display: block; width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: contain !important; object-position: center center; }
.emlab-category-image span { font-size: 46px; }
.emlab-category-copy { min-width: 0; padding: 9px 10px 11px; display: flex; flex-direction: column; align-items: center; }
.emlab-category-grid strong { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.emlab-category-grid small { margin-top: 3px; color: var(--emlab-muted); font-size: 10px; }

.emlab-store-zone { margin-top: 34px; padding: 1px 0 32px; background: #202020; color: #fff; }
.emlab-store-zone .emlab-section-head p { color: #b9bdc4; }
.emlab-store-zone .emlab-view-all { color: #ffad7e; }
.emlab-store-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; }
.emlab-store-card { min-width: 0; padding: 12px; display: grid; grid-template-columns: 72px minmax(0,1fr) 18px; align-items: center; gap: 12px; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; background: rgba(255,255,255,.07); transition: background .18s ease, transform .18s ease; }
.emlab-store-card:hover { transform: translateY(-2px); background: rgba(255,255,255,.11); }
.emlab-store-media { width: 72px; height: 72px; display: grid; place-items: center; border-radius: 10px; background: #fff; overflow: hidden; }
.emlab-store-media img { width: 100%; height: 100%; object-fit: contain; }
.emlab-store-card div:nth-child(2) { min-width: 0; }
.emlab-store-card p { margin: 0; color: #bfc3c9; font-size: 9px; }
.emlab-store-card h3 { margin: 4px 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; }
.emlab-store-card div > span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #c7cbd0; font-size: 10px; }
.emlab-store-card > svg { width: 16px; height: 16px; color: #ff9d67; }

.emlab-seller-strip { margin-top: 22px; margin-bottom: 26px; min-height: 82px; padding: 15px 18px; display: grid; grid-template-columns: 48px minmax(0,1fr) auto; align-items: center; gap: 15px; border-radius: 14px; background: linear-gradient(100deg,#171717,#2e1b10); color: #fff; box-shadow: var(--emlab-shadow); }
.emlab-seller-strip-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 12px; background: var(--emlab-orange); }
.emlab-seller-strip-icon svg { width: 27px; height: 27px; }
.emlab-seller-strip > div:nth-child(2) { min-width: 0; display: flex; flex-direction: column; }
.emlab-seller-strip span { color: #ffb17f; font-size: 9px; font-weight: 900; letter-spacing: .1em; }
.emlab-seller-strip strong { margin-top: 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 16px; }
.emlab-seller-strip a { display: inline-flex; align-items: center; gap: 6px; padding: 10px 13px; border-radius: 8px; background: var(--emlab-orange); color: #fff; font-size: 12px; font-weight: 850; white-space: nowrap; }
.emlab-trust-band-lower { margin-top: 28px; }

.emlab-footer { padding: 38px 0 20px; background: #111; color: #d4d6d9; }
.emlab-footer-grid { display: grid; grid-template-columns: 1.5fr repeat(3,1fr); gap: 50px; }
.emlab-footer-logo { color: #fff; }
.emlab-footer-grid p { max-width: 340px; color: #92979f; }
.emlab-footer-grid > div:not(:first-child) { display: flex; flex-direction: column; gap: 10px; }
.emlab-footer-grid strong { color: #fff; }
.emlab-footer-grid a:not(.emlab-logo) { color: #aaaeb5; font-size: 12px; }
.emlab-footer-grid a:hover { color: #fff; }
.emlab-footer-bottom { margin-top: 30px; padding-top: 17px; display: flex; justify-content: space-between; border-top: 1px solid #2a2a2a; color: #737880; font-size: 11px; }
.emlab-mobile-bottom { display: none; }
.emlab-backdrop { position: fixed; inset: 0; z-index: 80; background: rgba(0,0,0,.52); }


/* Revision 3 mobile discovery rail. Hidden on desktop to preserve the approved desktop layout. */
.emlab-mobile-categories { display: none; }

@media (min-width: 1500px) {
    .emlab-product-rail { grid-auto-columns: minmax(185px, 1fr); }
}

@media (max-width: 1250px) {
    :root { --emlab-shell: min(1180px, calc(100vw - 24px)); }
    .emlab-first-screen { grid-template-columns: 220px minmax(0,1fr) 250px; }
    .emlab-category-menu nav a { min-height: 28px; }
    .emlab-hero-slide { grid-template-columns: minmax(270px,1fr) minmax(220px,.85fr); padding: 30px; }
    .emlab-shortcuts { grid-template-columns: repeat(3,1fr); }
    .emlab-category-grid { grid-template-columns: repeat(4,1fr); }
    .emlab-store-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 1023px) {
    :root { --emlab-shell: calc(100vw - 24px); }
    .emlab-preview-bar > div:first-child span { display: none; }
    .emlab-utility { display: none; }
    .emlab-main-header-inner { min-height: 66px; grid-template-columns: auto auto minmax(0,1fr) auto; gap: 12px; }
    .emlab-mobile-menu { display: grid; place-items: center; }
    .emlab-logo span { display: none; }
    .emlab-logo img { width: 42px; height: 42px; }
    .emlab-search { height: 44px; }
    .emlab-header-actions > a:first-child span, .emlab-header-actions > a:last-child span { display: none; }
    .emlab-header-actions { gap: 10px; }
    .emlab-location-row .emlab-shell { min-height: 42px; }
    .emlab-primary-nav { justify-content: flex-start; }
    .emlab-category-menu { position: fixed; z-index: 90; inset: 0 auto 0 0; width: min(330px, 88vw); min-height: 100vh; border-radius: 0; transform: translateX(-104%); transition: transform .23s ease; overflow-y: auto; }
    .emlab-category-menu.is-open { transform: translateX(0); }
    .emlab-category-menu-head { min-height: 62px; }
    .emlab-category-menu-head button { display: block; }
    .emlab-category-menu nav a { min-height: 44px; padding: 8px 16px; }
    .emlab-category-menu nav b { font-size: 14px; }
    .emlab-first-screen { grid-template-columns: minmax(0,1fr) 260px; }
    .emlab-hero { min-height: 390px; }
    .emlab-promo-stack { min-height: 390px; }
    .emlab-hero-slide { grid-template-columns: 1.15fr .85fr; }
    .emlab-trust-band .emlab-shell { grid-template-columns: repeat(2,1fr); }
    .emlab-trust-band .emlab-shell > div:nth-child(2) { border-right: 0; }
    .emlab-trust-band .emlab-shell > div:nth-child(-n+2) { border-bottom: 1px solid var(--emlab-line); }
    .emlab-category-grid { grid-template-columns: repeat(4,1fr); }
    .emlab-footer-grid { grid-template-columns: 1.4fr repeat(3,1fr); gap: 24px; }
}

@media (max-width: 767px) {
    :root { --emlab-shell: calc(100vw - 16px); }
    body.emlab-body { padding-bottom: 64px; }
    .emlab-preview-bar { min-height: 34px; padding: 5px 9px; font-size: 10px; }
    .emlab-preview-bar > div:last-child span { display: none; }
    .emlab-main-header-inner { min-height: 58px; grid-template-columns: 38px auto minmax(0,1fr) auto; gap: 7px; }
    .emlab-logo img { width: 36px; height: 36px; }
    .emlab-search { grid-column: 1 / -1; grid-row: 2; height: 43px; margin-bottom: 9px; }
    .emlab-search button { min-width: 76px; }
    .emlab-header-actions > a:first-child { display: none; }
    .emlab-header-actions svg { width: 24px; height: 24px; }
    .emlab-location-row .emlab-shell { display: block; padding-bottom: 4px; }
    .emlab-location-form { min-height: 36px; }
    .emlab-primary-nav { padding: 4px 0 7px; gap: 18px; font-size: 12px; }
    .emlab-first-screen { display: block; margin-top: 8px; }
    .emlab-hero { min-height: 300px; border-radius: 12px; }
    .emlab-hero-slide { height: 300px; grid-template-columns: 1fr; grid-template-rows: auto 82px; gap: 3px; padding: 22px 20px 16px; text-align: left; }
    .emlab-hero h1 { font-size: clamp(29px, 9vw, 42px); }
    .emlab-hero-subtitle { display: none; }
    .emlab-hero-body { display: none; }
    .emlab-hero-cta { margin-top: 13px; padding: 9px 13px; font-size: 12px; }
    .emlab-hero-art { height: 82px; }
    .emlab-hero-art img { max-height: 82px; }
    .emlab-hero-slide::before { width: 230px; height: 230px; right: -20px; top: 75%; }
    .emlab-promo-stack { min-height: 0; margin-top: 9px; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto; gap: 8px; }
    .emlab-promo-card { min-height: 104px; padding: 12px; grid-template-columns: 34px minmax(0,1fr); }
    .emlab-promo-card > svg { display: none; }
    .emlab-promo-card > span { width: 34px; height: 34px; }
    .emlab-promo-card strong { font-size: 13px; }
    .emlab-promo-card p { display: none; }
    .emlab-mini-feature { display: none; }
    .emlab-shortcuts { width: 100%; margin-top: 8px; padding-bottom: 4px; display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
    .emlab-shortcuts::-webkit-scrollbar { display: none; }
    .emlab-shortcuts > a { flex: 0 0 164px; min-height: 67px; padding: 9px; }
    .emlab-shortcut-icon { flex-basis: 36px; height: 36px; }
    .emlab-shortcuts small { font-size: 9px; }
    .emlab-trust-band { margin-top: 14px; }
    .emlab-trust-band .emlab-shell { grid-template-columns: 1fr 1fr; }
    .emlab-trust-band .emlab-shell > div { padding: 11px 8px; gap: 7px; }
    .emlab-trust-band .emlab-shell > div:first-child { padding-left: 8px; }
    .emlab-trust-band svg { width: 23px; height: 23px; }
    .emlab-trust-band strong { font-size: 10px; }
    .emlab-trust-band small { font-size: 8px; }
    .emlab-section { margin-top: 14px; }
    .emlab-product-section { padding: 11px 8px 12px; border-radius: 11px; }
    .emlab-section-head { margin-bottom: 9px; align-items: center; }
    .emlab-section-head h2 { font-size: 22px; }
    .emlab-section-head p { display: none; }
    .emlab-section-kicker { font-size: 8px; }
    .emlab-section-actions button { display: none; }
    .emlab-section-actions a, .emlab-view-all { font-size: 10px; padding-left: 0; }
    .emlab-product-rail { grid-auto-columns: 164px; gap: 8px; scrollbar-width: none; }
    .emlab-product-rail::-webkit-scrollbar { display: none; }
    .emlab-product-media { height: 164px; }
    .emlab-product-copy { padding: 9px; }
    .emlab-product-name { min-height: 34px; font-size: 11px; }
    .emlab-product-price { font-size: 14px; }
    .emlab-category-grid-section { padding: 12px 8px; }
    .emlab-category-grid { grid-template-columns: repeat(3,1fr); gap: 7px; }
    .emlab-category-grid a { padding: 0; }
    .emlab-category-image { height: auto; aspect-ratio: 1 / 1; }
    .emlab-category-grid strong { font-size: 10px; }
    .emlab-category-grid small { font-size: 8px; }
    .emlab-store-zone { margin-top: 22px; padding-bottom: 20px; }
    .emlab-store-grid { display: flex; overflow-x: auto; gap: 8px; scrollbar-width: none; }
    .emlab-store-grid::-webkit-scrollbar { display: none; }
    .emlab-store-card { flex: 0 0 278px; grid-template-columns: 62px minmax(0,1fr) 14px; }
    .emlab-store-media { width: 62px; height: 62px; }
    .emlab-seller-strip { margin: 16px 8px 20px; padding: 12px; grid-template-columns: 40px minmax(0,1fr); gap: 10px; }
    .emlab-seller-strip-icon { width: 40px; height: 40px; }
    .emlab-seller-strip strong { white-space: normal; font-size: 13px; line-height: 1.25; }
    .emlab-seller-strip a { grid-column: 1 / -1; justify-content: center; }
    .emlab-footer { padding: 28px 0 15px; }
    .emlab-footer-grid { grid-template-columns: 1fr 1fr; gap: 24px 14px; }
    .emlab-footer-grid > div:first-child { grid-column: 1 / -1; }
    .emlab-footer-grid > div:last-child { display: none; }
    .emlab-footer-bottom { margin-top: 22px; }
    .emlab-mobile-bottom { position: fixed; z-index: 70; left: 0; right: 0; bottom: 0; height: 62px; padding-bottom: env(safe-area-inset-bottom); display: grid; grid-template-columns: repeat(5,1fr); border-top: 1px solid #e2e4e7; background: rgba(255,255,255,.97); box-shadow: 0 -4px 18px rgba(16,24,40,.08); backdrop-filter: blur(10px); }
    .emlab-mobile-bottom a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; color: #747b84; font-size: 9px; }
    .emlab-mobile-bottom a.active { color: var(--emlab-orange-dark); font-weight: 800; }
    .emlab-mobile-bottom svg { width: 21px; height: 21px; }
}

@media (max-width: 420px) {
    .emlab-preview-bar > div:first-child strong { font-size: 9px; }
    .emlab-preview-bar a { padding: 4px 7px; }
    .emlab-promo-card { min-height: 86px; }
    .emlab-category-grid { grid-template-columns: repeat(2,1fr); }
    .emlab-category-image { height: auto; aspect-ratio: 1 / 1; }
    .emlab-footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}


/* Module 1 Revision 3: phone and tablet experience. Approved desktop at 1024px+ remains unchanged. */
@media (max-width: 820px) {
    :root { --emlab-shell: calc(100vw - 16px); }
    body.emlab-body { padding-bottom: calc(68px + env(safe-area-inset-bottom)); background: #f5f6f8; }

    .emlab-preview-bar { min-height: 28px; padding: 4px 8px; background: #1b0d05; font-size: 9px; }
    .emlab-preview-bar > div:first-child span,
    .emlab-preview-bar > div:last-child span { display: none; }
    .emlab-preview-bar a { padding: 3px 7px; border-color: rgba(255,255,255,.24); }

    .emlab-site-header { box-shadow: 0 2px 12px rgba(16,24,40,.06); }
    .emlab-main-header-inner {
        min-height: 52px;
        padding-top: 2px;
        grid-template-columns: 36px auto minmax(0,1fr) 36px;
        grid-template-rows: 48px 48px;
        gap: 0 7px;
    }
    .emlab-mobile-menu { width: 36px; height: 36px; padding: 7px; border-radius: 10px; background: #f4f5f6; }
    .emlab-logo { gap: 5px; font-size: 15px; letter-spacing: -.045em; }
    .emlab-logo span { display: inline; }
    .emlab-logo img { width: 31px; height: 31px; }
    .emlab-header-actions { justify-self: end; gap: 0; }
    .emlab-header-actions > a:first-child { display: none; }
    .emlab-header-actions > a:last-child { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; background: #f4f5f6; }
    .emlab-header-actions svg { width: 22px; height: 22px; }
    .emlab-cart i { top: -4px; left: 21px; min-width: 17px; height: 17px; font-size: 9px; }

    .emlab-search {
        grid-column: 1 / -1;
        grid-row: 2;
        height: 42px;
        margin: 0 0 7px;
        grid-template-columns: 39px minmax(0,1fr) auto;
        border: 1px solid #dfe2e6;
        border-radius: 12px;
        background: #f8f9fa;
        box-shadow: 0 2px 8px rgba(16,24,40,.04);
    }
    .emlab-search:focus-within { border-color: var(--emlab-orange); background: #fff; box-shadow: 0 0 0 3px rgba(255,107,26,.12); }
    .emlab-search input { font-size: 13px; }
    .emlab-search button { min-width: 72px; padding-inline: 12px; font-size: 12px; }

    .emlab-location-row { border: 0; background: #fff; }
    .emlab-location-row .emlab-shell { min-height: 39px; padding: 0 0 6px; display: block; }
    .emlab-location-form {
        min-height: 34px;
        min-width: 0;
        padding: 0 10px;
        border: 1px solid #eceef1;
        border-radius: 10px;
        background: #fff;
    }
    .emlab-location-form label { font-size: 10px; }
    .emlab-location-form select { flex: 1; max-width: none; font-size: 12px; }
    .emlab-primary-nav { display: none; }

    .emlab-mobile-categories { display: block; width: 100%; padding: 9px 0 8px; background: #fff; border-top: 1px solid #f0f1f3; border-bottom: 1px solid #e9ebee; }
    .emlab-mobile-category-rail {
        display: flex;
        gap: 6px;
        padding: 0 8px;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
    }
    .emlab-mobile-category-rail::-webkit-scrollbar { display: none; }
    .emlab-mobile-category-rail a {
        flex: 0 0 70px;
        min-width: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 5px;
        scroll-snap-align: start;
        text-align: center;
    }
    .emlab-mobile-category-media {
        width: 58px;
        height: 58px;
        padding: 5px;
        display: grid;
        place-items: center;
        border: 1px solid #eceef1;
        border-radius: 17px;
        background: linear-gradient(145deg,#fff,#f5f6f8);
        overflow: hidden;
    }
    .emlab-mobile-category-media img { width: 100%; height: 100%; display: block; object-fit: contain; }
    .emlab-mobile-category-media b { font-size: 27px; }
    .emlab-mobile-category-media svg { width: 23px; height: 23px; color: var(--emlab-orange-dark); }
    .emlab-mobile-category-rail strong {
        width: 100%;
        min-height: 23px;
        display: -webkit-box;
        overflow: hidden;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        font-size: 9px;
        line-height: 1.2;
        font-weight: 750;
    }
    .emlab-mobile-category-all .emlab-mobile-category-media { background: #fff2e9; border-color: #ffd7bf; }

    .emlab-first-screen { display: block; width: 100%; margin-top: 8px; }
    .emlab-hero { width: calc(100vw - 16px); min-height: 188px; margin-inline: auto; border-radius: 16px; box-shadow: 0 8px 24px rgba(16,24,40,.10); }
    .emlab-hero-slide {
        height: 188px;
        grid-template-columns: minmax(0,1.05fr) minmax(118px,.95fr);
        grid-template-rows: 1fr;
        gap: 5px;
        padding: 16px 10px 16px 17px;
        text-align: left;
    }
    .emlab-hero-copy { position: relative; z-index: 2; }
    .emlab-kicker { margin-bottom: 7px; padding: 3px 6px; font-size: 7px; letter-spacing: .06em; }
    .emlab-hero h1 {
        max-width: 220px;
        font-size: clamp(22px, 6.6vw, 28px);
        line-height: .99;
        letter-spacing: -.048em;
    }
    .emlab-hero-subtitle, .emlab-hero-body { display: none; }
    .emlab-hero-cta { margin-top: 12px; padding: 8px 10px; border-radius: 8px; font-size: 10px; box-shadow: 0 5px 14px rgba(0,0,0,.14); }
    .emlab-hero-cta svg { width: 13px; height: 13px; }
    .emlab-hero-art { height: 156px; align-self: center; }
    .emlab-hero-art img { width: 100%; height: 100%; max-height: 156px; object-fit: contain; filter: drop-shadow(0 12px 17px rgba(0,0,0,.20)); }
    .emlab-hero-slide::before { width: 180px; height: 180px; right: -36px; top: 56%; filter: blur(9px); }
    .emlab-hero-dots { bottom: 8px; }
    .emlab-hero-dots button { width: 6px; height: 6px; }
    .emlab-hero-dots button.active { width: 18px; }
    .emlab-promo-stack { display: none; }

    .emlab-section { margin-top: 10px; }
    .emlab-product-section {
        width: 100%;
        padding: 13px 0 15px;
        border-radius: 0;
        border-top: 1px solid #e9ebee;
        border-bottom: 1px solid #e9ebee;
        background: #fff;
        box-shadow: none;
    }
    .emlab-product-section:first-of-type { margin-top: 10px; }
    .emlab-section-head { margin: 0 0 10px; padding: 0 10px; align-items: center; }
    .emlab-section-head h2 { margin-top: 2px; font-size: 20px; letter-spacing: -.035em; }
    .emlab-section-head p, .emlab-section-kicker { display: none; }
    .emlab-section-actions { margin-left: auto; }
    .emlab-section-actions button { display: none; }
    .emlab-section-actions a, .emlab-view-all {
        min-height: 30px;
        padding: 0 9px;
        gap: 2px;
        border: 1px solid #ffd0b4;
        border-radius: 999px;
        background: #fff5ef;
        font-size: 9px;
    }
    .emlab-section-actions a svg, .emlab-view-all svg { width: 12px; height: 12px; }
    .emlab-product-rail {
        grid-auto-columns: clamp(164px, 45.2vw, 184px);
        gap: 9px;
        padding: 0 10px 2px;
        scroll-padding-inline: 10px;
        scrollbar-width: none;
    }
    .emlab-product-rail::-webkit-scrollbar { display: none; }
    .emlab-product-card { border-radius: 13px; border-color: #e9ebee; box-shadow: 0 3px 11px rgba(16,24,40,.045); }
    .emlab-product-media { height: auto; aspect-ratio: 1 / 1; padding: 7px; background: #fafbfc; }
    .emlab-product-media img { object-fit: contain; }
    .emlab-product-copy { padding: 9px 9px 10px; }
    .emlab-product-name { min-height: 34px; font-size: 11px; line-height: 1.35; }
    .emlab-product-price { margin-top: 5px !important; font-size: 14px; }
    .emlab-old-price { font-size: 9px; }
    .emlab-rating { margin-top: 4px !important; }
    .emlab-store-line { margin-top: 5px !important; font-size: 9px; }
    .emlab-location-line { display: none; }
    .emlab-discount, .emlab-options { top: 7px; padding: 3px 6px; font-size: 8px; }
    .emlab-discount { left: 7px; }
    .emlab-options { right: 7px; }

    .emlab-category-grid-section { width: 100%; padding: 14px 8px 15px; border-radius: 0; box-shadow: none; }
    .emlab-category-grid-section .emlab-section-head { padding-inline: 2px; }
    .emlab-category-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
    .emlab-category-grid a { border-radius: 12px; }
    .emlab-category-image { aspect-ratio: 1 / 1; background: #fafbfc; }
    .emlab-category-copy { padding: 7px 4px 8px; }
    .emlab-category-grid strong { font-size: 9px; }
    .emlab-category-grid small { display: none; }

    .emlab-shortcuts { display: none; }
    .emlab-trust-band { margin-top: 14px; }
    .emlab-trust-band .emlab-shell { display: flex; min-height: 0; overflow-x: auto; scrollbar-width: none; }
    .emlab-trust-band .emlab-shell::-webkit-scrollbar { display: none; }
    .emlab-trust-band .emlab-shell > div { flex: 0 0 180px; min-height: 63px; padding: 10px; border: 0; border-right: 1px solid var(--emlab-line); }
    .emlab-trust-band .emlab-shell > div:nth-child(-n+2) { border-bottom: 0; }
    .emlab-trust-band svg { width: 22px; height: 22px; }
    .emlab-trust-band strong { font-size: 10px; }
    .emlab-trust-band small { font-size: 8px; }

    .emlab-store-zone { margin-top: 18px; padding: 1px 0 18px; }
    .emlab-store-zone .emlab-section-head { padding-inline: 0; }
    .emlab-store-grid { gap: 8px; padding-bottom: 2px; }
    .emlab-store-card { flex-basis: 270px; border-radius: 13px; }

    .emlab-seller-strip { margin: 14px 8px 18px; border-radius: 13px; }
    .emlab-footer { padding: 23px 0 13px; }
    .emlab-footer-grid { grid-template-columns: 1fr 1fr; gap: 20px 12px; }
    .emlab-footer-grid > div:first-child { grid-column: 1 / -1; }
    .emlab-footer-grid > div:last-child { display: none; }
    .emlab-footer-bottom { margin-top: 18px; }

    .emlab-mobile-bottom {
        display: grid;
        grid-template-columns: repeat(5,1fr);
        height: calc(64px + env(safe-area-inset-bottom));
        padding: 4px 4px env(safe-area-inset-bottom);
        border-top: 1px solid #e5e7ea;
        background: rgba(255,255,255,.98);
        box-shadow: 0 -7px 22px rgba(16,24,40,.09);
    }
    .emlab-mobile-bottom a { gap: 1px; border-radius: 11px; font-size: 8px; }
    .emlab-mobile-bottom a.active { color: var(--emlab-orange-dark); background: #fff3eb; }
    .emlab-mobile-bottom svg { width: 20px; height: 20px; }
}

@media (max-width: 420px) {
    .emlab-category-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .emlab-product-rail { grid-auto-columns: clamp(160px, 45vw, 176px); }
    .emlab-hero { min-height: 184px; }
    .emlab-hero-slide { height: 184px; grid-template-columns: minmax(0,1.02fr) minmax(112px,.98fr); padding-left: 15px; }
    .emlab-hero h1 { font-size: clamp(21px, 6.4vw, 27px); }
}

/* Live homepage integration controls. */
.emhome-notice {
    margin-top: 10px;
    padding: 10px 13px;
    border: 1px solid #dfe3e8;
    border-radius: 10px;
    background: #fff;
    color: #343a43;
    box-shadow: 0 3px 12px rgba(16,24,40,.05);
    font-size: 12px;
    font-weight: 700;
}
.emhome-notice-warning { border-color: #f0c26b; background: #fff8e7; color: #6d4700; }
.emhome-notice-success { border-color: #9ed9bd; background: #effbf5; color: #12623f; }
.emhome-notice-error, .emhome-notice-danger { border-color: #efaaaa; background: #fff1f1; color: #8e2525; }
.emhome-cookie {
    position: fixed;
    left: 50%;
    bottom: 18px;
    z-index: 120;
    width: min(680px, calc(100vw - 28px));
    padding: 13px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 13px;
    background: rgba(20,20,20,.97);
    color: #fff;
    box-shadow: 0 16px 50px rgba(0,0,0,.26);
    transform: translateX(-50%);
}
.emhome-cookie.is-hidden { display: none !important; }
.emhome-cookie > div { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.emhome-cookie strong { font-size: 13px; }
.emhome-cookie span { color: #c9cbd0; font-size: 11px; }
.emhome-cookie button {
    flex: 0 0 auto;
    padding: 8px 14px;
    border: 0;
    border-radius: 8px;
    background: var(--emlab-orange);
    color: #fff;
    font-size: 12px;
    font-weight: 850;
    cursor: pointer;
}
@media (max-width: 820px) {
    .emhome-notice { width: calc(100vw - 20px); margin-top: 8px; padding: 9px 11px; }
    .emhome-cookie { bottom: calc(76px + env(safe-area-inset-bottom)); width: calc(100vw - 18px); padding: 11px; gap: 10px; }
    .emhome-cookie span { font-size: 10px; }
}
