/* SOLO storefront — built from the ORIGINAL "Bazaar" template by uiCookies (free Bootstrap 5
   marketplace template, https://uicookies.com). Classes are namespaced `bz-`; palette adapted to SOLO
   orange; Georgian font. Generated by build_css.py — the extensions at the end are SOLO-specific. */
:root {
  --bz-brand: #f97316; --bz-brand-deep: #ea580c; --bz-brand-tint: #fff1e6;
  --bz-deal: #f97316; --bz-deal-dk: #ea580c;
  --bz-signal: #dc2626; --bz-signal-dk: #b91c1c;
  --bz-ink: #202124; --bz-ink-2: #2e3033; --bz-slate: #5f6368; --bz-slate-2: #8b8f96;
  --bz-line: #e5e7eb; --bz-line-2: #f1f2f3; --bz-paper: #f8f8f6; --bz-surface: #ffffff; --bz-star: #f59e0b;
  --bz-ok: #15803d;
  --bz-wrap: 1240px; --bz-radius: 6px; --bz-radius-lg: 12px;
  --bz-shadow-sm: 0 1px 2px rgba(32,33,36,.06), 0 1px 3px rgba(32,33,36,.04);
  --bz-shadow-md: 0 6px 20px rgba(32,33,36,.10);
  --bz-shadow-lg: 0 18px 44px rgba(32,33,36,.16);
  --bz-f-display: "SOLO Georgian", system-ui, sans-serif;
  --bz-f-body: "SOLO Georgian", system-ui, -apple-system, sans-serif;
  --bz-f-mono: "SOLO Georgian", system-ui, sans-serif;  /* Bazaar's mono labels: Georgian text needs the Georgian face */
  --bz-f-num: ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;  /* digits keep Bazaar's mono look */
}
:where(.bz-scope), :where(.bz-scope) *, :where(.bz-scope) *::before, :where(.bz-scope) *::after { box-sizing: border-box; }

@media (prefers-reduced-motion: reduce) {
  
  :where(.bz-scope) *, :where(.bz-scope) *::before, :where(.bz-scope) *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}
body.bz-store {
  margin: 0;
  font-family: var(--bz-f-body);
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--bz-ink);
  background: var(--bz-paper);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
:where(.bz-scope) :is(h1, h2, h3, h4) { font-family: var(--bz-f-display); font-weight: 650; line-height: 1.25; letter-spacing: 0; margin: 0; color: var(--bz-ink); }
:where(.bz-scope) a { color: var(--bz-brand); text-decoration: none; }
:where(.bz-scope) a:hover { color: var(--bz-brand-deep); }
:where(.bz-scope) img { max-width: 100%; display: block; }
:where(.bz-scope) p { margin: 0 0 1rem; }
:where(.bz-scope) ul { margin: 0; padding: 0; list-style: none; }
:where(.bz-scope) button { font-family: inherit; }

.bz-wrap { width: 100%; max-width: var(--bz-wrap); margin-inline: auto; padding-inline: 20px; }


.bz-skip-link {
  position: absolute; left: 12px; top: -60px; z-index: 2000;
  background: var(--bz-ink); color: #fff; padding: 10px 18px; border-radius: var(--bz-radius);
  font-weight: 600; transition: top .18s ease;
}
.bz-skip-link:focus { top: 12px; color: #fff; }
:where(.bz-scope) :focus-visible { outline: 3px solid var(--bz-deal); outline-offset: 2px; border-radius: 3px; }
.bz-visually-hidden {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}


.bz-eyebrow {
  font-family: var(--bz-f-mono); font-size: .72rem; font-weight: 600;
  letter-spacing: .02em;  color: var(--bz-brand);
}
.bz-mono { font-family: var(--bz-f-mono); }
.bz-section { padding: 38px 0; }
.bz-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 26px; flex-wrap: wrap; }
.bz-section-head h2 { font-size: clamp(1.375rem, 2.2vw, 1.625rem);  }
.bz-section-head .bz-sub { color: var(--bz-slate); margin: 6px 0 0; max-width: 46ch; font-size: .95rem; }
.bz-section-head .bz-see-all { font-family: var(--bz-f-mono); font-size: .82rem; font-weight: 600; letter-spacing: .04em; display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
.bz-section-head .bz-see-all svg { width: 15px; height: 15px; }
.bz-svg-ico { display: inline-block; vertical-align: middle; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }


.bz-btn-bz { --bg: var(--bz-brand); --fg: #fff;
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  font-family: var(--bz-f-body); font-weight: 600; font-size: .92rem; letter-spacing: .01em;
  padding: 12px 22px; border-radius: var(--bz-radius); border: 1.5px solid var(--bg);
  background: var(--bg); color: var(--fg); cursor: pointer; transition: background .16s, border-color .16s, color .16s, transform .1s; }
.bz-btn-bz:hover { background: var(--bz-brand-deep); border-color: var(--bz-brand-deep); color: #fff; }
.bz-btn-bz:active { transform: translateY(1px); }
.bz-btn-bz svg { width: 18px; height: 18px; }
.bz-btn-gold { --bg: var(--bz-deal); --fg: #ffffff; }
.bz-btn-gold:hover { background: var(--bz-deal-dk); border-color: var(--bz-deal-dk); color: #ffffff; }
.bz-btn-ghost { --bg: transparent; --fg: var(--bz-brand); border-color: var(--bz-line); }
.bz-btn-ghost:hover { background: var(--bz-brand); border-color: var(--bz-brand); color: #fff; }
.bz-btn-outline { background: transparent; color: var(--bz-brand); }
.bz-btn-outline:hover { background: var(--bz-brand); color: #fff; }
.bz-btn-block { width: 100%; }
.bz-btn-sm { padding: 9px 16px; font-size: .85rem; }


.bz-tag { display: inline-flex; align-items: center; gap: 5px; font-family: var(--bz-f-mono); font-size: .68rem; font-weight: 600; letter-spacing: .02em;  padding: 4px 9px; border-radius: 4px; }
.bz-tag-red { background: var(--bz-signal); color: #fff; }
.bz-tag-gold { background: var(--bz-deal); color: #ffffff; }
.bz-tag-teal { background: var(--bz-brand-tint); color: var(--bz-brand-deep); }
.bz-tag-ink { background: var(--bz-ink); color: #fff; }


.bz-topbar { background: var(--bz-ink); color: #d4d4d8; font-size: .8rem; }
.bz-topbar .bz-wrap { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 40px; }
.bz-topbar a { color: #d4d4d8; }
.bz-topbar a:hover { color: #fff; }
.bz-topbar .bz-tb-left { display: flex; align-items: center; gap: 8px; font-family: var(--bz-f-mono); letter-spacing: .02em; }
.bz-topbar .bz-tb-left svg { width: 15px; height: 15px; color: var(--bz-deal); }
.bz-topbar .bz-tb-left strong { color: #fff; font-weight: 600; }
.bz-topbar .bz-tb-right { display: flex; align-items: center; gap: 4px; }
.bz-topbar .bz-tb-right .bz-tb-link { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 4px; }
.bz-topbar .bz-tb-right .bz-tb-link svg { width: 14px; height: 14px; }
.bz-topbar .bz-tb-sep { width: 1px; height: 16px; background: rgba(255,255,255,.16); }
@media (max-width: 720px) { .bz-topbar .bz-tb-left { display: none; } .bz-topbar .bz-wrap { justify-content: center; } }


.bz-site-header { background: var(--bz-surface); border-bottom: 1px solid var(--bz-line); position: sticky; top: 0; z-index: 900; }
.bz-header-main { display: flex; align-items: center; gap: 22px; min-height: 76px; }
.bz-brand { display: inline-flex; align-items: center; gap: 10px; flex: none; }
.bz-brand .bz-brand-mark { width: 40px; height: 40px; border-radius: 9px; background: var(--bz-brand); display: grid; place-items: center; flex: none; box-shadow: inset 0 -3px 0 rgba(0,0,0,.18); }
.bz-brand .bz-brand-mark svg { width: 24px; height: 24px; color: #fff; }
.bz-brand .bz-brand-word { font-family: var(--bz-f-display); font-weight: 800; font-size: 1.9rem; line-height: 1.22; letter-spacing: .02em; color: var(--bz-ink);  }
.bz-brand .bz-brand-word b { color: var(--bz-deal); }
.bz-brand .bz-brand-sub { display: block; font-family: var(--bz-f-mono); font-size: .56rem; letter-spacing: .02em; color: var(--bz-slate);  margin-top: 1px; }


.bz-searchbar { flex: 1 1 auto; display: flex; align-items: stretch; border: 2px solid var(--bz-ink); border-radius: var(--bz-radius); overflow: hidden; background: #fff; max-width: 640px; }
.bz-searchbar .bz-cat-select { flex: none; border: 0; background: var(--bz-line-2); color: var(--bz-ink); font-family: var(--bz-f-body); font-weight: 600; font-size: .85rem; padding: 0 14px; border-right: 1px solid var(--bz-line); cursor: pointer; }
.bz-searchbar .bz-cat-select:focus-visible { outline-offset: -3px; }
.bz-searchbar input { flex: 1 1 auto; border: 0; padding: 12px 16px; font-size: .95rem; color: var(--bz-ink); min-width: 0; }
.bz-searchbar input::placeholder { color: var(--bz-slate-2); }
.bz-searchbar input:focus { outline: none; }
.bz-searchbar .bz-search-btn { flex: none; border: 0; background: var(--bz-deal); color: #ffffff; padding: 0 20px; display: grid; place-items: center; cursor: pointer; transition: background .16s; }
.bz-searchbar .bz-search-btn:hover { background: var(--bz-deal-dk); }
.bz-searchbar .bz-search-btn svg { width: 21px; height: 21px; }


.bz-header-actions { display: flex; align-items: center; gap: 6px; flex: none; }
.bz-hact { display: inline-flex; flex-direction: column; align-items: center; gap: 2px; padding: 8px 10px; border-radius: var(--bz-radius); color: var(--bz-ink); background: none; border: 0; cursor: pointer; position: relative; transition: background .14s; line-height: 1; }
.bz-hact:hover { background: var(--bz-line-2); color: var(--bz-brand-deep); }
.bz-hact svg { width: 23px; height: 23px; color: var(--bz-ink); }
.bz-hact .bz-hact-txt { font-size: .66rem; font-weight: 600; letter-spacing: .01em; }
.bz-hact .bz-count { position: absolute; top: 2px; right: 4px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--bz-signal); color: #fff; font-family: var(--bz-f-mono); font-size: .66rem; font-weight: 700; display: grid; place-items: center; line-height: 1; }
.bz-hact.bz-cart .bz-count { background: var(--bz-deal); color: #ffffff; }
.bz-hact.bz-pop svg { animation: pop .32s ease; }
@keyframes pop { 0%{transform:scale(1)} 40%{transform:scale(1.28)} 100%{transform:scale(1)} }
.bz-nav-toggle { display: none; }


.bz-deptnav { background: var(--bz-surface); border-bottom: 1px solid var(--bz-line); }
.bz-deptnav .bz-wrap { display: flex; align-items: center; gap: 4px; min-height: 50px; overflow-x: auto; scrollbar-width: none; }
.bz-deptnav .bz-wrap::-webkit-scrollbar { display: none; }
.bz-dept-all { display: inline-flex; align-items: center; gap: 9px; background: var(--bz-brand); color: #fff; font-weight: 600; font-size: .88rem; padding: 10px 18px; border-radius: var(--bz-radius); flex: none; }
.bz-dept-all:hover { background: var(--bz-brand-deep); color: #fff; }
.bz-dept-all svg { width: 17px; height: 17px; }
.bz-deptnav a.bz-dept-link { font-size: .88rem; font-weight: 500; color: var(--bz-ink); padding: 8px 14px; border-radius: var(--bz-radius); white-space: nowrap; flex: none; }
.bz-deptnav a.bz-dept-link:hover { background: var(--bz-line-2); color: var(--bz-brand-deep); }
.bz-deptnav a.bz-dept-link.bz-hot { color: var(--bz-signal); font-weight: 600; }
.bz-deptnav .bz-dept-spacer { flex: 1 1 auto; }
.bz-deptnav .bz-dept-phone { display: inline-flex; align-items: center; gap: 8px; font-family: var(--bz-f-mono); font-size: .82rem; color: var(--bz-slate); flex: none; }
.bz-deptnav .bz-dept-phone svg { width: 16px; height: 16px; color: var(--bz-brand); }
@media (max-width: 991px) { .bz-deptnav .bz-dept-phone { display: none; } }


.bz-hero { padding: 26px 0 12px; }
.bz-hero-grid { display: grid; grid-template-columns: 1.62fr 1fr; gap: 16px; }
.bz-deal-carousel { position: relative; border-radius: var(--bz-radius-lg); overflow: hidden; background: var(--bz-ink); min-height: 380px; }
.bz-deal-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .5s ease; }
.bz-deal-slide.bz-active { opacity: 1; visibility: visible; position: relative; }
.bz-deal-slide .bz-deal-media { position: absolute; inset: 0; }
.bz-deal-slide .bz-deal-media img { width: 100%; height: 100%; object-fit: cover; }
.bz-deal-slide .bz-deal-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, rgba(24,25,28,.88) 0%, rgba(24,25,28,.62) 45%, rgba(24,25,28,.06) 100%); }
.bz-deal-slide .bz-deal-body { position: relative; z-index: 2; max-width: 460px; padding: 46px 44px; color: #fff; height: 100%; display: flex; flex-direction: column; justify-content: center; }
.bz-deal-slide .bz-deal-body h2 { color: #fff; font-size: clamp(1.55rem, 2.6vw, 2.125rem);  margin: 12px 0 10px; }
.bz-deal-slide .bz-deal-body p { color: rgba(255,255,255,.88); font-size: 1rem; margin-bottom: 20px; max-width: 36ch; }
.bz-deal-slide .bz-deal-price { font-family: var(--bz-f-mono); font-weight: 600; margin-bottom: 22px; color: #fff; }
.bz-deal-slide .bz-deal-price .bz-big { font-size: 1.7rem; color: var(--bz-deal); }
.bz-deal-slide .bz-deal-price s { color: rgba(255,255,255,.62); margin-left: 8px; font-size: 1rem; }
.bz-deal-dots { position: absolute; left: 44px; bottom: 22px; z-index: 4; display: flex; gap: 8px; }
.bz-deal-dots button { width: 26px; height: 5px; border-radius: 3px; border: 0; background: rgba(255,255,255,.4); cursor: pointer; padding: 0; transition: background .2s, width .2s; }
.bz-deal-dots button[aria-selected="true"] { background: var(--bz-deal); width: 40px; }
.bz-deal-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 4; width: 42px; height: 42px; border-radius: 50%; border: 0; background: rgba(255,255,255,.14); backdrop-filter: blur(4px); color: #fff; display: grid; place-items: center; cursor: pointer; transition: background .16s; }
.bz-deal-arrow:hover { background: rgba(255,255,255,.28); }
.bz-deal-arrow svg { width: 20px; height: 20px; }
.bz-deal-arrow.bz-prev { left: 14px; } .bz-deal-arrow.bz-next { right: 14px; }

.bz-promo-stack { display: grid; grid-template-rows: 1fr 1fr; gap: 16px; }
.bz-promo-card { position: relative; border-radius: var(--bz-radius-lg); overflow: hidden; padding: 26px; color: #fff; display: flex; flex-direction: column; justify-content: space-between; min-height: 182px; background: var(--bz-brand); }
.bz-promo-card .bz-promo-bg { position: absolute; inset: 0; z-index: 0; }
.bz-promo-card .bz-promo-bg img { width: 100%; height: 100%; object-fit: cover; opacity: .34; }
.bz-promo-card.bz-alt { background: var(--bz-ink-2); }
.bz-promo-card > * { position: relative; z-index: 1; }
.bz-promo-card h3 { color: #fff; font-size: 1.2rem;  line-height: 1.22; }
.bz-promo-card p { font-size: .86rem; color: rgba(255,255,255,.86); margin: 6px 0 0; }
.bz-promo-card .bz-promo-link { font-family: var(--bz-f-mono); font-size: .78rem; font-weight: 600; letter-spacing: .04em; color: var(--bz-deal); display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; }
.bz-promo-card .bz-promo-link svg { width: 15px; height: 15px; }

@media (max-width: 900px) {
  .bz-hero-grid { grid-template-columns: 1fr; }
  .bz-promo-stack { grid-template-rows: none; grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .bz-deal-carousel { min-height: 320px; }
  .bz-deal-slide .bz-deal-body { padding: 32px 26px; }
  .bz-promo-stack { grid-template-columns: 1fr; }
}


.bz-catrail { padding: 30px 0 8px; }
.bz-catrail-track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(112px, 1fr); gap: 12px; overflow-x: auto; padding-bottom: 6px; scrollbar-width: thin; }
.bz-cat-tile { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 20px 8px; background: var(--bz-surface); border: 1px solid var(--bz-line); border-radius: var(--bz-radius); text-align: center; transition: border-color .16s, transform .16s, box-shadow .16s; }
.bz-cat-tile:hover { border-color: var(--bz-brand); transform: translateY(-3px); box-shadow: var(--bz-shadow-md); color: var(--bz-brand-deep); }
.bz-cat-tile .bz-cat-ic { width: 54px; height: 54px; border-radius: 50%; background: var(--bz-brand-tint); display: grid; place-items: center; }
.bz-cat-tile:hover .bz-cat-ic { background: var(--bz-brand); }
.bz-cat-tile .bz-cat-ic svg { width: 26px; height: 26px; color: var(--bz-brand-deep); }
.bz-cat-tile:hover .bz-cat-ic svg { color: #fff; }
.bz-cat-tile .bz-cat-name { font-weight: 600; font-size: .84rem; color: var(--bz-ink); }
.bz-cat-tile .bz-cat-count { font-family: var(--bz-f-mono); font-size: .68rem; color: var(--bz-slate-2); }


.bz-flash { padding: 40px 0; }
.bz-flash-panel { background: var(--bz-ink); border-radius: var(--bz-radius-lg); overflow: hidden; }
.bz-flash-top { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 26px; flex-wrap: wrap; border-bottom: 1px solid rgba(255,255,255,.08); }
.bz-flash-title { display: flex; align-items: center; gap: 14px; }
.bz-flash-title .bz-bolt { width: 44px; height: 44px; border-radius: 10px; background: var(--bz-signal); display: grid; place-items: center; flex: none; }
.bz-flash-title .bz-bolt svg { width: 24px; height: 24px; color: #fff; }
.bz-flash-title h2 { color: #fff; font-size: 1.375rem;  line-height: 1.22; }
.bz-flash-title .bz-sub { font-family: var(--bz-f-mono); font-size: .74rem; color: var(--bz-slate-2); letter-spacing: .04em; }
.bz-countdown { display: flex; align-items: center; gap: 10px; }
.bz-countdown .bz-cd-label { font-family: var(--bz-f-mono); font-size: .74rem; letter-spacing: .1em;  color: #d4d4d8; }
.bz-countdown .bz-cd-units { display: flex; align-items: center; gap: 6px; }
.bz-countdown .bz-cd-box { min-width: 46px; padding: 8px 6px; border-radius: 6px; background: rgba(255,255,255,.07); text-align: center; }
.bz-countdown .bz-cd-box b { display: block; font-family: var(--bz-f-mono); font-weight: 700; font-size: 1.35rem; color: #fff; line-height: 1; }
.bz-countdown .bz-cd-box span { font-family: var(--bz-f-mono); font-size: .56rem; letter-spacing: .1em;  color: var(--bz-slate-2); }
.bz-countdown .bz-cd-colon { color: var(--bz-deal); font-weight: 700; font-family: var(--bz-f-mono); }
.bz-flash-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: rgba(255,255,255,.08); }
.bz-flash-item { background: var(--bz-surface); padding: 18px; display: flex; flex-direction: column; }
.bz-flash-item .bz-fi-frame { position: relative; aspect-ratio: 1/1; background: var(--bz-line-2); border-radius: var(--bz-radius); overflow: hidden; margin-bottom: 12px; }
.bz-flash-item .bz-fi-frame img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.bz-flash-item .bz-fi-frame .bz-disc { position: absolute; top: 8px; left: 8px; }
.bz-flash-item .bz-fi-name { font-weight: 600; font-size: .88rem; color: var(--bz-ink); margin-bottom: 8px; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bz-flash-item .bz-fi-price { display: flex; align-items: baseline; gap: 8px; margin-bottom: 10px; }
.bz-flash-item .bz-fi-price .bz-now { font-family: var(--bz-f-mono); font-weight: 700; font-size: 1.1rem; color: var(--bz-signal); }
.bz-flash-item .bz-fi-price s { font-family: var(--bz-f-mono); font-size: .82rem; color: var(--bz-slate-2); }
.bz-flash-item .bz-fi-stock { margin-top: auto; }
.bz-flash-item .bz-fi-bar { height: 7px; border-radius: 4px; background: var(--bz-line); overflow: hidden; margin-bottom: 6px; }
.bz-flash-item .bz-fi-bar > i { display: block; height: 100%; background: linear-gradient(90deg, var(--bz-deal), var(--bz-signal)); border-radius: 4px; }
.bz-flash-item .bz-fi-stock small { font-family: var(--bz-f-mono); font-size: .66rem; color: var(--bz-slate); }
.bz-flash-item .bz-fi-stock small b { color: var(--bz-signal); }
@media (max-width: 860px) { .bz-flash-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .bz-countdown .bz-cd-label { display: none; } }


.bz-pgrid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
@media (max-width: 1100px) { .bz-pgrid { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 880px)  { .bz-pgrid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 620px)  { .bz-pgrid { grid-template-columns: repeat(2, 1fr); } }

.bz-pcard { background: var(--bz-surface); border: 1px solid var(--bz-line); border-radius: var(--bz-radius); overflow: hidden; display: flex; flex-direction: column; transition: border-color .16s, box-shadow .16s, transform .16s; }
.bz-pcard:hover { border-color: var(--bz-brand); box-shadow: var(--bz-shadow-md); transform: translateY(-3px); }
.bz-pcard .bz-pframe { position: relative; aspect-ratio: 1/1; background: var(--bz-line-2); overflow: hidden; }
.bz-pcard .bz-pframe img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.bz-pcard:hover .bz-pframe img { transform: scale(1.05); }
.bz-pcard .bz-pbadges { position: absolute; top: 9px; left: 9px; display: flex; flex-direction: column; gap: 5px; z-index: 2; }
.bz-pcard .bz-wish { position: absolute; top: 9px; right: 9px; z-index: 2; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--bz-line); background: rgba(255,255,255,.94); display: grid; place-items: center; cursor: pointer; transition: background .14s, color .14s, transform .12s; color: var(--bz-slate); }
.bz-pcard .bz-wish svg { width: 17px; height: 17px; }
.bz-pcard .bz-wish:hover { color: var(--bz-signal); border-color: var(--bz-signal); }
.bz-pcard .bz-wish[aria-pressed="true"] { background: var(--bz-signal); border-color: var(--bz-signal); color: #fff; }
.bz-pcard .bz-wish[aria-pressed="true"] svg { fill: #fff; }
.bz-pcard .bz-pbody { padding: 14px 14px 16px; display: flex; flex-direction: column; flex: 1; }
.bz-pcard .bz-pcat { font-family: var(--bz-f-mono); font-size: .66rem; font-weight: 600; letter-spacing: .1em;  color: var(--bz-slate-2); margin-bottom: 6px; }
.bz-pcard .bz-pname { font-weight: 600; font-size: .92rem; line-height: 1.35; color: var(--bz-ink); margin-bottom: 8px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.5em; }
.bz-pcard .bz-pname a { color: inherit; }
.bz-pcard .bz-pname a:hover { color: var(--bz-brand); }
.bz-rating { display: flex; align-items: center; gap: 6px; margin-bottom: 10px; }
.bz-stars { display: inline-flex; gap: 1px; }
.bz-stars svg { width: 14px; height: 14px; color: var(--bz-star); fill: var(--bz-star); }
.bz-stars svg.bz-empty { fill: none; color: var(--bz-line); }
.bz-rating .bz-rc { font-family: var(--bz-f-mono); font-size: .72rem; color: var(--bz-slate); }
.bz-pprice { display: flex; align-items: baseline; gap: 8px; margin-bottom: 12px; margin-top: auto; }
.bz-pprice .bz-now { font-family: var(--bz-f-mono); font-weight: 700; font-size: 1.12rem; color: var(--bz-ink); }
.bz-pprice s { font-family: var(--bz-f-mono); font-size: .82rem; color: var(--bz-slate-2); }
.bz-pprice .bz-save { font-family: var(--bz-f-mono); font-size: .68rem; font-weight: 600; color: var(--bz-signal); }
.bz-pcard .bz-add-cart { width: 100%; }


.bz-filter-tabs { display: flex; gap: 6px; flex-wrap: wrap; }
.bz-filter-tabs button { font-family: var(--bz-f-body); font-weight: 600; font-size: .82rem; padding: 8px 16px; border-radius: 40px; border: 1.5px solid var(--bz-line); background: var(--bz-surface); color: var(--bz-slate); cursor: pointer; transition: all .15s; }
.bz-filter-tabs button:hover { border-color: var(--bz-brand); color: var(--bz-brand-deep); }
.bz-filter-tabs button[aria-selected="true"] { background: var(--bz-ink); border-color: var(--bz-ink); color: #fff; }
.bz-pcard.bz-is-hidden { display: none; }


.bz-brands { padding: 34px 0; border-top: 1px solid var(--bz-line); border-bottom: 1px solid var(--bz-line); background: var(--bz-surface); }
.bz-brands-row { display: flex; align-items: center; justify-content: space-between; gap: 26px; flex-wrap: wrap; }
.bz-brands-row .bz-brand-logo { color: var(--bz-slate-2); transition: color .16s; }
.bz-brands-row .bz-brand-logo:hover { color: var(--bz-ink); }
.bz-brands-row .bz-brand-logo svg { height: 26px; width: auto; }


.bz-spot-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 16px; }
.bz-spot { position: relative; border-radius: var(--bz-radius-lg); overflow: hidden; min-height: 260px; display: flex; align-items: flex-end; }
.bz-spot .bz-spot-bg { position: absolute; inset: 0; }
.bz-spot .bz-spot-bg img { width: 100%; height: 100%; object-fit: cover; }
.bz-spot .bz-spot-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(32,33,36,.9) 0%, rgba(32,33,36,.35) 55%, rgba(32,33,36,.05) 100%); }
.bz-spot .bz-spot-body { position: relative; z-index: 2; padding: 24px; color: #fff; }
.bz-spot .bz-spot-body .bz-tag { margin-bottom: 10px; }
.bz-spot .bz-spot-body h3 { color: #fff; font-size: 1.25rem;  line-height: 1.22; margin-bottom: 6px; }
.bz-spot .bz-spot-body p { color: rgba(255,255,255,.84); font-size: .86rem; margin: 0 0 14px; max-width: 30ch; }
.bz-spot .bz-spot-body .bz-spot-cta { display: inline-flex; align-items: center; gap: 8px; font-family: var(--bz-f-mono); font-weight: 600; font-size: .8rem; letter-spacing: .04em; color: #fff; padding: 9px 16px; border: 1.5px solid rgba(255,255,255,.5); border-radius: var(--bz-radius); transition: background .16s, color .16s; }
.bz-spot .bz-spot-body .bz-spot-cta:hover { background: #fff; color: var(--bz-ink); }
.bz-spot .bz-spot-body .bz-spot-cta svg { width: 15px; height: 15px; }
@media (max-width: 860px) { .bz-spot-grid { grid-template-columns: 1fr 1fr; } .bz-spot:first-child { grid-column: 1 / -1; } }
@media (max-width: 540px) { .bz-spot-grid { grid-template-columns: 1fr; } }


.bz-benefits { background: var(--bz-surface); border-top: 1px solid var(--bz-line); }
.bz-benefits-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
.bz-benefit { display: flex; align-items: center; gap: 14px; padding: 26px 22px; border-right: 1px solid var(--bz-line); }
.bz-benefit:last-child { border-right: 0; }
.bz-benefit .bz-bi { width: 46px; height: 46px; border-radius: 10px; background: var(--bz-brand-tint); display: grid; place-items: center; flex: none; }
.bz-benefit .bz-bi svg { width: 24px; height: 24px; color: var(--bz-brand-deep); }
.bz-benefit h4 { font-family: var(--bz-f-body); font-weight: 700; font-size: .95rem; color: var(--bz-ink); }
.bz-benefit p { font-size: .78rem; color: var(--bz-slate); margin: 2px 0 0; }
@media (max-width: 820px) { .bz-benefits-row { grid-template-columns: 1fr 1fr; } .bz-benefit:nth-child(2) { border-right: 0; } .bz-benefit:nth-child(1), .bz-benefit:nth-child(2) { border-bottom: 1px solid var(--bz-line); } }
@media (max-width: 460px) { .bz-benefits-row { grid-template-columns: 1fr; } .bz-benefit { border-right: 0; border-bottom: 1px solid var(--bz-line); } }


.bz-newsletter { background: var(--bz-brand); color: #fff; }
.bz-newsletter .bz-nl-inner { display: grid; grid-template-columns: 1.1fr 1fr; gap: 30px; align-items: center; padding: 46px 0; }
.bz-newsletter h2 { color: #fff; font-size: clamp(1.9rem, 3.6vw, 2.7rem);  margin-bottom: 8px; }
.bz-newsletter p { color: rgba(255,255,255,.88); margin: 0; max-width: 44ch; }
.bz-newsletter .bz-nl-form { display: flex; gap: 10px; flex-wrap: wrap; }
.bz-newsletter .bz-nl-field { flex: 1 1 220px; display: flex; align-items: center; gap: 10px; background: #fff; border-radius: var(--bz-radius); padding: 4px 6px 4px 16px; border: 2px solid transparent; }
.bz-newsletter .bz-nl-field svg { width: 20px; height: 20px; color: var(--bz-brand); flex: none; }
.bz-newsletter .bz-nl-field input { flex: 1; border: 0; padding: 12px 0; font-size: .95rem; color: var(--bz-ink); min-width: 0; }
.bz-newsletter .bz-nl-field input:focus { outline: none; }
.bz-newsletter .bz-nl-form.bz-err .bz-nl-field { border-color: var(--bz-deal); }
.bz-newsletter .bz-nl-note { font-family: var(--bz-f-mono); font-size: .72rem; color: rgba(255,255,255,.72); margin-top: 12px; }
.bz-newsletter .bz-nl-msg { min-height: 1.2em; font-family: var(--bz-f-mono); font-size: .8rem; margin-top: 10px; color: var(--bz-deal); font-weight: 600; }
@media (max-width: 760px) { .bz-newsletter .bz-nl-inner { grid-template-columns: 1fr; gap: 20px; } }


.bz-site-footer { background: var(--bz-ink); color: #b5b5bc; font-size: .88rem; }
.bz-footer-top { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 34px; padding: 52px 0 40px; }
.bz-site-footer h5 { font-family: var(--bz-f-body); font-weight: 700; font-size: .82rem; letter-spacing: .1em;  color: #fff; margin: 0 0 16px; }
.bz-site-footer .bz-f-brand .bz-brand-word { color: #fff; }
.bz-site-footer .bz-f-brand p { color: #b5b5bc; margin: 14px 0 18px; max-width: 34ch; font-size: .86rem; }
.bz-site-footer a { color: #b5b5bc; }
.bz-site-footer a:hover { color: #fff; }
.bz-footer-links li { margin-bottom: 10px; }
.bz-footer-links li a { display: inline-flex; align-items: center; gap: 6px; }
.bz-f-contact li { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 12px; color: #b5b5bc; }
.bz-f-contact li svg { width: 17px; height: 17px; color: var(--bz-deal); flex: none; margin-top: 2px; }
.bz-f-social { display: flex; gap: 8px; margin-top: 16px; }
.bz-f-social a { width: 38px; height: 38px; border-radius: 8px; background: rgba(255,255,255,.06); display: grid; place-items: center; color: #d4d4d8; transition: background .16s; }
.bz-f-social a:hover { background: var(--bz-brand); color: #fff; }
.bz-f-social a svg { width: 18px; height: 18px; }
.bz-f-apps { display: flex; gap: 10px; margin-top: 8px; flex-wrap: wrap; }
.bz-f-app { display: inline-flex; align-items: center; gap: 9px; padding: 8px 14px; border: 1px solid rgba(255,255,255,.14); border-radius: 8px; color: #fff; }
.bz-f-app:hover { border-color: var(--bz-deal); color: #fff; }
.bz-f-app svg { width: 20px; height: 20px; }
.bz-f-app small { display: block; font-size: .58rem; letter-spacing: .02em;  color: #8e8e96; }
.bz-f-app b { font-family: var(--bz-f-display); font-weight: 700; font-size: 1rem; letter-spacing: .02em; }
.bz-footer-bar { border-top: 1px solid rgba(255,255,255,.09); padding: 18px 0; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.bz-footer-bar p { margin: 0; font-size: .82rem; color: #8e8e96; }
.bz-footer-bar .bz-uc { color: #d4d4d8; }
.bz-pay-row { display: flex; align-items: center; gap: 8px; }
.bz-pay-row .bz-pay { height: 28px; width: 44px; border-radius: 5px; background: #fff; display: grid; place-items: center; }
.bz-pay-row .bz-pay svg { height: 15px; width: auto; }
@media (max-width: 900px) { .bz-footer-top { grid-template-columns: 1fr 1fr; } .bz-f-brand { grid-column: 1 / -1; } }
@media (max-width: 520px) { .bz-footer-top { grid-template-columns: 1fr; } .bz-footer-bar { flex-direction: column; align-items: flex-start; } }


.bz-mnav-backdrop { position: fixed; inset: 0; background: rgba(32,33,36,.5); z-index: 1200; opacity: 0; visibility: hidden; transition: opacity .2s; }
.bz-mnav-backdrop.bz-open { opacity: 1; visibility: visible; }
.bz-mnav { position: fixed; top: 0; left: 0; height: 100%; width: 300px; max-width: 84vw; background: #fff; z-index: 1300; transform: translateX(-100%); transition: transform .24s ease; display: flex; flex-direction: column; box-shadow: var(--bz-shadow-lg); }
.bz-mnav.bz-open { transform: none; }
.bz-mnav-head { display: flex; align-items: center; justify-content: space-between; padding: 16px 18px; border-bottom: 1px solid var(--bz-line); }
.bz-mnav-close { width: 38px; height: 38px; border-radius: 8px; border: 1px solid var(--bz-line); background: #fff; display: grid; place-items: center; cursor: pointer; color: var(--bz-ink); }
.bz-mnav-close svg { width: 18px; height: 18px; }
.bz-mnav-body { padding: 12px; overflow-y: auto; }
.bz-mnav-body a { display: flex; align-items: center; gap: 12px; padding: 13px 12px; border-radius: var(--bz-radius); color: var(--bz-ink); font-weight: 500; }
.bz-mnav-body a:hover { background: var(--bz-line-2); color: var(--bz-brand-deep); }
.bz-mnav-body a svg { width: 19px; height: 19px; color: var(--bz-brand); }
.bz-mnav-body .bz-mnav-sep { height: 1px; background: var(--bz-line); margin: 8px 4px; }

@media (max-width: 991px) {
  .bz-nav-toggle { display: inline-flex; }
  .bz-hact.bz-wishlist-act { display: none; }
}
@media (max-width: 640px) {
  .bz-header-main { flex-wrap: wrap; gap: 12px; min-height: auto; padding: 12px 0; }
  .bz-brand { order: 1; }
  .bz-header-actions { order: 2; margin-left: auto; }
  .bz-searchbar { order: 3; flex-basis: 100%; max-width: none; }
  .bz-hact .bz-hact-txt { display: none; }
}


.bz-toast-wrap { position: fixed; right: 20px; bottom: 20px; z-index: 1500; display: flex; flex-direction: column; gap: 10px; }
.bz-bz-toast { display: flex; align-items: center; gap: 12px; background: var(--bz-ink); color: #fff; padding: 14px 18px; border-radius: var(--bz-radius); box-shadow: var(--bz-shadow-lg); font-size: .88rem; font-weight: 500; transform: translateY(14px); opacity: 0; transition: transform .22s, opacity .22s; max-width: 320px; }
.bz-bz-toast.bz-show { transform: none; opacity: 1; }
.bz-bz-toast .bz-ti { width: 30px; height: 30px; border-radius: 50%; background: var(--bz-brand); display: grid; place-items: center; flex: none; }
.bz-bz-toast .bz-ti svg { width: 17px; height: 17px; color: #fff; }

.bz-back-top { position: fixed; right: 20px; bottom: 20px; z-index: 800; width: 46px; height: 46px; border-radius: 10px; background: var(--bz-ink); color: #fff; border: 0; display: grid; place-items: center; cursor: pointer; opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .2s, transform .2s, background .16s; }
.bz-back-top.bz-show { opacity: 1; visibility: visible; transform: none; }
.bz-back-top:hover { background: var(--bz-brand); }
.bz-back-top svg { width: 20px; height: 20px; }


.bz-reveal { opacity: 0; transform: translateY(18px); transition: opacity .5s ease, transform .5s ease; }
.bz-reveal.bz-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .bz-reveal { opacity: 1; transform: none; } }


.bz-breadcrumb-bz { padding: 18px 0; font-family: var(--bz-f-mono); font-size: .78rem; color: var(--bz-slate); display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.bz-breadcrumb-bz a { color: var(--bz-slate); }
.bz-breadcrumb-bz a:hover { color: var(--bz-brand); }
.bz-breadcrumb-bz svg { width: 13px; height: 13px; color: var(--bz-slate-2); }
.bz-breadcrumb-bz .bz-cur { color: var(--bz-ink); font-weight: 600; }

.bz-pdp-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 40px; align-items: start; }
@media (max-width: 900px) { .bz-pdp-grid { grid-template-columns: 1fr; gap: 26px; } }

.bz-gallery-main { position: relative; aspect-ratio: 1/1; background: var(--bz-line-2); border: 1px solid var(--bz-line); border-radius: var(--bz-radius-lg); overflow: hidden; }
.bz-gallery-main img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.bz-gallery-main .bz-gm-badge { position: absolute; top: 14px; left: 14px; z-index: 2; }
.bz-gallery-thumbs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 10px; }
.bz-gallery-thumbs button { position: relative; aspect-ratio: 1/1; background: var(--bz-line-2); border: 2px solid var(--bz-line); border-radius: var(--bz-radius); overflow: hidden; cursor: pointer; padding: 0; }
.bz-gallery-thumbs button img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.bz-gallery-thumbs button[aria-current="true"] { border-color: var(--bz-brand); }

.bz-pdp-info .bz-pdp-cat { font-family: var(--bz-f-mono); font-size: .72rem; font-weight: 600; letter-spacing: .02em;  color: var(--bz-brand); }
.bz-pdp-info h1 { font-size: clamp(1.45rem, 2.3vw, 1.875rem);  margin: 8px 0 12px; line-height: 1.22; }
.bz-pdp-meta { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 18px; padding-bottom: 18px; border-bottom: 1px solid var(--bz-line); }
.bz-pdp-meta .bz-rating { margin: 0; }
.bz-pdp-meta .bz-sku { font-family: var(--bz-f-mono); font-size: .76rem; color: var(--bz-slate); }
.bz-pdp-meta .bz-instock { display: inline-flex; align-items: center; gap: 6px; font-family: var(--bz-f-mono); font-size: .76rem; font-weight: 600; color: var(--bz-brand); }
.bz-pdp-meta .bz-instock svg { width: 15px; height: 15px; }
.bz-pdp-price { display: flex; align-items: baseline; gap: 12px; margin-bottom: 8px; }
.bz-pdp-price .bz-now { font-family: var(--bz-f-mono); font-weight: 700; font-size: 2.1rem; color: var(--bz-ink); }
.bz-pdp-price s { font-family: var(--bz-f-mono); font-size: 1.1rem; color: var(--bz-slate-2); }
.bz-pdp-price .bz-save { align-self: center; }
.bz-pdp-installment { font-size: .84rem; color: var(--bz-slate); margin-bottom: 20px; }
.bz-pdp-installment b { color: var(--bz-ink); }
.bz-pdp-lead { font-size: .95rem; color: var(--bz-slate); margin-bottom: 22px; }

.bz-variant-group { margin-bottom: 20px; }
.bz-variant-group .bz-vg-label { font-family: var(--bz-f-mono); font-size: .74rem; font-weight: 600; letter-spacing: .02em;  color: var(--bz-ink); margin-bottom: 10px; display: flex; gap: 8px; }
.bz-variant-group .bz-vg-label span { color: var(--bz-slate); font-weight: 500; }
.bz-swatches { display: flex; gap: 9px; flex-wrap: wrap; }
.bz-swatch { width: 38px; height: 38px; border-radius: 50%; border: 2px solid var(--bz-line); cursor: pointer; padding: 0; position: relative; transition: transform .12s; }
.bz-swatch[aria-pressed="true"] { border-color: var(--bz-ink); transform: scale(1.08); }
.bz-swatch[aria-pressed="true"]::after { content: ""; position: absolute; inset: -6px; border: 1.5px solid var(--bz-ink); border-radius: 50%; }
.bz-opt-btns { display: flex; gap: 8px; flex-wrap: wrap; }
.bz-opt-btn { font-family: var(--bz-f-mono); font-weight: 600; font-size: .84rem; padding: 10px 16px; border-radius: var(--bz-radius); border: 1.5px solid var(--bz-line); background: #fff; color: var(--bz-ink); cursor: pointer; transition: all .14s; }
.bz-opt-btn:hover { border-color: var(--bz-brand); }
.bz-opt-btn[aria-pressed="true"] { background: var(--bz-ink); border-color: var(--bz-ink); color: #fff; }
.bz-opt-btn:disabled { color: var(--bz-slate-2); background: var(--bz-line-2); cursor: not-allowed; text-decoration: line-through; }

.bz-buy-row { display: flex; gap: 12px; align-items: stretch; margin: 24px 0 16px; flex-wrap: wrap; }
.bz-qty-stepper { display: inline-flex; align-items: center; border: 1.5px solid var(--bz-line); border-radius: var(--bz-radius); overflow: hidden; flex: none; }
.bz-qty-stepper button { width: 44px; height: 100%; min-height: 48px; border: 0; background: var(--bz-line-2); color: var(--bz-ink); font-size: 1.2rem; cursor: pointer; display: grid; place-items: center; transition: background .14s; }
.bz-qty-stepper button:hover { background: var(--bz-line); }
.bz-qty-stepper input { width: 52px; border: 0; text-align: center; font-family: var(--bz-f-mono); font-weight: 700; font-size: 1rem; color: var(--bz-ink); -moz-appearance: textfield; }
.bz-qty-stepper input::-webkit-outer-spin-button, .bz-qty-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; }
.bz-buy-row .bz-btn-bz { flex: 1 1 auto; }
.bz-pdp-assure { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--bz-line); }
.bz-pdp-assure .bz-pa { display: flex; align-items: center; gap: 10px; font-size: .82rem; color: var(--bz-slate); }
.bz-pdp-assure .bz-pa svg { width: 20px; height: 20px; color: var(--bz-brand); flex: none; }
.bz-pdp-assure .bz-pa b { color: var(--bz-ink); display: block; font-size: .84rem; }


.bz-pdp-tabs { margin-top: 44px; }
.bz-tab-nav { display: flex; gap: 4px; border-bottom: 2px solid var(--bz-line); flex-wrap: wrap; }
.bz-tab-nav button { font-family: var(--bz-f-display); font-weight: 600; font-size: 1rem; letter-spacing: 0; padding: 12px 22px; border: 0; background: none; color: var(--bz-slate); cursor: pointer; position: relative; transition: color .14s; }
.bz-tab-nav button:hover { color: var(--bz-ink); }
.bz-tab-nav button[aria-selected="true"] { color: var(--bz-ink); }
.bz-tab-nav button[aria-selected="true"]::after { content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 3px; background: var(--bz-brand); }
.bz-tab-panel { padding: 28px 0; display: none; }
.bz-tab-panel.bz-active { display: block; }
.bz-tab-panel p { color: var(--bz-slate); max-width: 68ch; }
.bz-spec-table { width: 100%; border-collapse: collapse; max-width: 640px; }
.bz-spec-table th, .bz-spec-table td { text-align: left; padding: 12px 14px; border-bottom: 1px solid var(--bz-line); font-size: .9rem; }
.bz-spec-table th { font-family: var(--bz-f-mono); font-weight: 600; font-size: .78rem; letter-spacing: .04em;  color: var(--bz-slate); width: 40%; background: var(--bz-line-2); }
.bz-spec-table td { color: var(--bz-ink); font-weight: 500; }
.bz-feat-list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 26px; max-width: 720px; margin-top: 18px; }
.bz-feat-list li { display: flex; align-items: flex-start; gap: 10px; color: var(--bz-slate); font-size: .9rem; }
.bz-feat-list li svg { width: 18px; height: 18px; color: var(--bz-brand); flex: none; margin-top: 2px; }
@media (max-width: 620px) { .bz-feat-list { grid-template-columns: 1fr; } .bz-pdp-assure { grid-template-columns: 1fr; } }


.bz-review-summary { display: grid; grid-template-columns: 200px 1fr; gap: 32px; align-items: center; padding: 22px; background: var(--bz-surface); border: 1px solid var(--bz-line); border-radius: var(--bz-radius-lg); margin-bottom: 26px; }
.bz-review-summary .bz-rs-score { text-align: center; }
.bz-review-summary .bz-rs-score .bz-big { font-family: var(--bz-f-display); font-weight: 700; font-size: 2.6rem; line-height: 1; color: var(--bz-ink); }
.bz-review-summary .bz-rs-score .bz-stars { justify-content: center; margin: 8px 0 4px; }
.bz-review-summary .bz-rs-score small { font-family: var(--bz-f-mono); font-size: .72rem; color: var(--bz-slate); }
.bz-rs-bars { display: flex; flex-direction: column; gap: 8px; }
.bz-rs-bar { display: flex; align-items: center; gap: 10px; font-family: var(--bz-f-mono); font-size: .74rem; color: var(--bz-slate); }
.bz-rs-bar .bz-lbl { width: 34px; }
.bz-rs-bar .bz-track { flex: 1; height: 8px; border-radius: 4px; background: var(--bz-line); overflow: hidden; }
.bz-rs-bar .bz-track > i { display: block; height: 100%; background: var(--bz-deal); border-radius: 4px; }
.bz-rs-bar .bz-pct { width: 38px; text-align: right; }
.bz-review { display: flex; gap: 14px; padding: 20px 0; border-bottom: 1px solid var(--bz-line); }
.bz-review .bz-rv-av { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; flex: none; background: var(--bz-line-2); }
.bz-review .bz-rv-top { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 4px; }
.bz-review .bz-rv-top b { color: var(--bz-ink); }
.bz-review .bz-rv-top .bz-verified { display: inline-flex; align-items: center; gap: 4px; font-family: var(--bz-f-mono); font-size: .66rem; color: var(--bz-brand); }
.bz-review .bz-rv-top .bz-verified svg { width: 13px; height: 13px; }
.bz-review .bz-rv-top time { font-family: var(--bz-f-mono); font-size: .72rem; color: var(--bz-slate-2); margin-left: auto; }
.bz-review .bz-stars { margin-bottom: 8px; }
.bz-review p { color: var(--bz-slate); font-size: .9rem; margin: 0; }
@media (max-width: 540px) { .bz-review-summary { grid-template-columns: 1fr; gap: 18px; } }

/* ============================================================
   SOLO EXTENSIONS — pages Bazaar's demo does not ship (catalog,
   categories, info pages), built from Bazaar's own tokens and parts.
   ============================================================ */
body.bz-store { font-size: 15px; }
:where(.bz-scope) :is(h1, h2, h3, h4) { text-wrap: pretty; }
:where(.bz-scope) h1 { font-size: 1.875rem; }
:where(.bz-scope) h2 { font-size: 1.5rem; }
:where(.bz-scope) h3 { font-size: 1.05rem; }
:where(.bz-scope) h4 { font-size: 1rem; }
:where(.bz-scope) svg.icon { width: 18px; height: 18px; flex: none; }

/* header: search suggestions need the dropdown outside the rounded box */
.bz-searchbar { position: relative; overflow: visible; }
.bz-searchbar .bz-cat-select { border-radius: 4px 0 0 4px; max-width: 190px; }
.bz-searchbar .bz-search-btn { border-radius: 0 4px 4px 0; }
.bz-suggest { display: none; position: absolute; top: calc(100% + 6px); left: -2px; right: -2px; z-index: 950; max-height: 380px; overflow: auto; padding: 6px; background: #fff; border: 1px solid var(--bz-line); border-radius: var(--bz-radius); box-shadow: var(--bz-shadow-md); }
.bz-suggest.is-open { display: block; }
.bz-suggest .suggestion-item { display: flex; align-items: center; gap: 10px; padding: 8px; color: var(--bz-ink); border-radius: 4px; }
.bz-suggest .suggestion-item:hover { background: var(--bz-line-2); }
.bz-suggest img { width: 40px; height: 40px; object-fit: contain; }
.bz-suggest strong { display: block; font-size: .88rem; font-weight: 600; }
.bz-suggest .suggestion-item span span, .bz-suggest .suggestion-empty { font-size: .76rem; color: var(--bz-slate); }
a.bz-hact { text-decoration: none; }
.bz-topbar .bz-tb-left a { color: var(--bz-deal); font-weight: 600; margin-left: 6px; }
.bz-topbar .bz-tb-left { font-family: var(--bz-f-body); }
.bz-deptnav a.bz-dept-link[aria-current="page"] { background: var(--bz-line-2); color: var(--bz-brand-deep); }
.bz-deptnav .bz-dept-all[aria-current="page"] { background: var(--bz-brand-deep); }

/* messages from Django and app.js, presented as Bazaar toasts */
body.bz .messages { position: fixed; top: auto; left: auto; right: 20px; bottom: 20px; z-index: 1500; display: flex; flex-direction: column; gap: 10px; width: min(340px, calc(100vw - 40px)); }
body.bz .message { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 0; padding: 13px 16px; color: #fff; background: var(--bz-ink); border: 0; border-left: 4px solid var(--bz-brand); border-radius: var(--bz-radius); box-shadow: var(--bz-shadow-lg); font-size: .88rem; font-weight: 500; }
body.bz .message--error, body.bz .message--warning { border-left-color: var(--bz-signal); }
body.bz .message button { color: #fff; background: none; border: 0; opacity: .7; font-size: 20px; line-height: 1; cursor: pointer; }

/* hero fallback when no promotional image is configured: one compact strip */
.bz-hero-lite { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 28px; color: #fff; background: var(--bz-ink); border-radius: var(--bz-radius-lg); }
.bz-hero-lite h1 { margin: 10px 0 4px; color: #fff; font-size: clamp(1.35rem, 2.3vw, 1.7rem); }
.bz-hero-lite p { margin: 0; max-width: 62ch; color: rgba(255,255,255,.78); font-size: .95rem; }
.bz-hero-lite .bz-btn-bz { flex: none; }
.bz-hero-grid--solo { grid-template-columns: 1fr; }
.bz-promo-stack--1 { grid-template-rows: 1fr; }
.bz-deal-slide .bz-deal-body .bz-btn-bz { align-self: flex-start; }
.bz-deal-slide .bz-deal-body h1 { margin: 12px 0 10px; color: #fff; font-size: clamp(1.55rem, 2.6vw, 2.125rem); }
.bz-deal-slide .bz-deal-body .bz-tag { align-self: flex-start; }

/* category tiles: real images inside Bazaar's icon circle, few tiles never stretch */
.bz-cat-tile .bz-cat-ic { overflow: hidden; }
.bz-cat-tile .bz-cat-ic img { width: 100%; height: 100%; object-fit: cover; }
.bz-catrail-track--few { grid-auto-columns: 140px; }
.bz-cat-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 12px; }
.bz-cat-grid .bz-cat-tile .bz-cat-ic { width: 76px; height: 76px; }
.bz-cat-card { display: flex; flex-direction: column; gap: 8px; }
.bz-cat-card > .bz-cat-tile { flex: 1; }
.bz-cat-subs { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.bz-cat-subs a { padding: 2px 9px; color: var(--bz-slate); background: #fff; border: 1px solid var(--bz-line); border-radius: 40px; font-size: .72rem; }
.bz-cat-subs a:hover { border-color: var(--bz-brand); color: var(--bz-brand-deep); }

/* flash panel: link to all discounts instead of a countdown */
.bz-flash-all { display: inline-flex; align-items: center; gap: 7px; color: var(--bz-deal); font-family: var(--bz-f-mono); font-size: .8rem; font-weight: 600; white-space: nowrap; }
.bz-flash-all:hover { color: #fff; }
.bz-flash-all svg { width: 15px; height: 15px; }
.bz-flash-item .bz-fi-frame { background: #fff; }
.bz-flash-item .bz-fi-frame img { object-fit: contain; padding: 10px; }
.bz-flash-item .bz-fi-name a { color: inherit; }
.bz-flash-item .bz-fi-name a:hover { color: var(--bz-brand-deep); }

/* product card: real photos are shown whole (contain), never cropped */
.bz-pcard .bz-pframe { background: #fff; border-bottom: 1px solid var(--bz-line-2); }
.bz-pcard .bz-pframe img { object-fit: contain; padding: 10px; }
.bz-pframe-link { position: absolute; inset: 0; display: block; }
.bz-pframe .image-placeholder, .bz-gallery-main .image-placeholder { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 6px; color: var(--bz-slate-2); font-size: .8rem; background: var(--bz-line-2); }
.bz-wish-form { position: absolute; top: 9px; right: 9px; z-index: 2; margin: 0; }
.bz-pcard .bz-wish-form .bz-wish { position: static; }
.bz-pcard .bz-wish.is-active { background: var(--bz-signal); border-color: var(--bz-signal); color: #fff; }
.bz-pcard .bz-wish.is-active svg { fill: #fff; }
.bz-pstock { display: flex; align-items: center; gap: 6px; margin: -4px 0 12px; color: var(--bz-ok); font-family: var(--bz-f-mono); font-size: .7rem; font-weight: 600; }
.bz-pstock::before { content: ""; width: 6px; height: 6px; background: currentColor; border-radius: 50%; }
.bz-pstock.is-out { color: var(--bz-signal); }
.bz-add-form { margin: 0; }
.bz-btn-bz:disabled, .bz-btn-bz:disabled:hover { color: var(--bz-slate); background: var(--bz-line-2); border-color: var(--bz-line); cursor: not-allowed; transform: none; }
.bz-filter-tabs a { display: inline-block; padding: 8px 16px; color: var(--bz-slate); background: var(--bz-surface); border: 1.5px solid var(--bz-line); border-radius: 40px; font-weight: 600; font-size: .82rem; transition: all .15s; }
.bz-filter-tabs a:hover { border-color: var(--bz-brand); color: var(--bz-brand-deep); }
.bz-filter-tabs a[aria-current="page"] { color: #fff; background: var(--bz-ink); border-color: var(--bz-ink); }

/* page heading (catalog, categories, info pages) */
.bz-page-head { margin-bottom: 18px; }
.bz-page-head h1 { font-size: clamp(1.45rem, 2.5vw, 1.875rem); margin-top: 6px; }

/* catalog: Bazaar panel + filter sidebar */
.bz-catalog { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 24px; align-items: start; padding-bottom: 54px; }
.bz-catalog .bz-pgrid { grid-template-columns: repeat(4, 1fr); }
.bz-filter { background: var(--bz-surface); border: 1px solid var(--bz-line); border-radius: var(--bz-radius); }
.bz-filter form { padding: 2px 18px 18px; }
.bz-filter-head { display: flex; align-items: center; justify-content: space-between; padding: 14px 0 12px; border-bottom: 1px solid var(--bz-line); }
.bz-filter-head h2 { font-size: 1.05rem; }
.bz-filter-close { display: none; width: 38px; height: 38px; place-items: center; color: var(--bz-ink); background: #fff; border: 1px solid var(--bz-line); border-radius: 8px; cursor: pointer; }
.bz-fgroup { padding: 16px 0; border-bottom: 1px solid var(--bz-line); }
.bz-flabel { margin: 0 0 10px; color: var(--bz-ink); font-family: var(--bz-f-mono); font-size: .74rem; font-weight: 600; letter-spacing: .02em; }
.bz-fcats a { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; color: var(--bz-ink); font-size: .88rem; }
.bz-fcats a:hover, .bz-fcats a[aria-current] { color: var(--bz-brand-deep); }
.bz-fcats a[aria-current] { font-weight: 600; }
.bz-fcats small, .bz-fcheck small { color: var(--bz-slate-2); font-family: var(--bz-f-mono); font-size: .7rem; }
.bz-fcheck { display: flex; align-items: center; gap: 10px; padding: 5px 0; color: var(--bz-ink); font-size: .88rem; cursor: pointer; }
.bz-fcheck span { flex: 1; }
.bz-fcheck input { width: 17px; height: 17px; margin: 0; accent-color: var(--bz-brand); }
.bz-fprice { display: flex; align-items: center; gap: 8px; color: var(--bz-slate); }
.bz-fprice label { flex: 1; min-width: 0; }
.bz-fprice input { width: 100%; padding: 9px 10px; color: var(--bz-ink); border: 1.5px solid var(--bz-line); border-radius: var(--bz-radius); font-family: var(--bz-f-mono); font-size: .85rem; }
.bz-fpills { display: flex; flex-wrap: wrap; gap: 8px; }
.bz-fpill { position: relative; cursor: pointer; }
.bz-fpill input { position: absolute; opacity: 0; pointer-events: none; }
.bz-fpill span { display: inline-block; padding: 7px 13px; color: var(--bz-ink); background: #fff; border: 1.5px solid var(--bz-line); border-radius: var(--bz-radius); font-family: var(--bz-f-mono); font-size: .78rem; font-weight: 600; }
.bz-fpill input:checked + span { color: #fff; background: var(--bz-ink); border-color: var(--bz-ink); }
.bz-fpill input:focus-visible + span { outline: 3px solid var(--bz-deal); outline-offset: 2px; }
.bz-factions { display: grid; gap: 10px; padding-top: 16px; text-align: center; }
.bz-freset { color: var(--bz-slate); font-size: .82rem; text-decoration: underline; }
.bz-filter-backdrop { display: none; }
.bz-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 16px; padding: 8px 8px 8px 14px; background: var(--bz-surface); border: 1px solid var(--bz-line); border-radius: var(--bz-radius); }
.bz-toolbar-count { flex: 1; margin: 0; color: var(--bz-slate); font-family: var(--bz-f-mono); font-size: .8rem; }
.bz-toolbar-count strong { color: var(--bz-ink); }
.bz-toolbar-filter { display: none; }
.bz-sort { display: flex; align-items: center; gap: 8px; margin: 0; }
.bz-sort label { color: var(--bz-slate); font-family: var(--bz-f-mono); font-size: .74rem; font-weight: 600; }
.bz-sort select { padding: 8px 32px 8px 12px; color: var(--bz-ink); background: var(--bz-line-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23202124' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 11px center; border: 1.5px solid var(--bz-line); border-radius: var(--bz-radius); font-family: var(--bz-f-body); font-size: .85rem; font-weight: 600; -webkit-appearance: none; appearance: none; cursor: pointer; }
.bz-applied { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 16px; }
.bz-applied a { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; color: var(--bz-ink); background: var(--bz-surface); border: 1.5px solid var(--bz-line); border-radius: 40px; font-size: .8rem; font-weight: 600; }
.bz-applied a svg { width: 12px; height: 12px; }
.bz-applied .bz-applied-reset { color: var(--bz-brand-deep); background: none; border-color: transparent; }
.bz-pagination { display: flex; justify-content: center; align-items: center; gap: 8px; margin-top: 28px; }
.bz-pagination a, .bz-pagination > span { display: inline-flex; align-items: center; gap: 6px; padding: 9px 15px; color: var(--bz-ink); background: #fff; border: 1.5px solid var(--bz-line); border-radius: var(--bz-radius); font-family: var(--bz-f-mono); font-size: .82rem; font-weight: 600; }
.bz-pagination a:hover { border-color: var(--bz-brand); color: var(--bz-brand-deep); }
.bz-pagination .is-disabled { color: var(--bz-slate-2); background: var(--bz-line-2); }
.bz-pagination .bz-page-current { color: #fff; background: var(--bz-ink); border-color: var(--bz-ink); }
.bz-pagination svg { width: 15px; height: 15px; }

/* empty states */
.bz-nodata { display: grid; justify-items: center; gap: 10px; padding: 40px 20px; text-align: center; background: var(--bz-surface); border: 1px solid var(--bz-line); border-radius: var(--bz-radius-lg); }
.bz-nodata-ic { display: grid; place-items: center; width: 54px; height: 54px; color: var(--bz-brand-deep); background: var(--bz-brand-tint); border-radius: 50%; }
.bz-nodata-ic svg { width: 26px; height: 26px; }
.bz-nodata h2 { font-size: 1.2rem; }
.bz-nodata p { max-width: 46ch; margin: 0 0 6px; color: var(--bz-slate); }

/* info pages */
.bz-panel { padding: 22px 24px; background: var(--bz-surface); border: 1px solid var(--bz-line); border-radius: var(--bz-radius-lg); }
.bz-panel h2 { margin-bottom: 12px; font-size: 1.15rem; }
.bz-info { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 16px; align-items: start; padding-bottom: 54px; }
.bz-info-side { display: grid; gap: 16px; }
.bz-prose { max-width: 74ch; color: var(--bz-ink-2); font-size: .98rem; line-height: 1.75; }
.bz-prose p { margin: 0 0 12px; }
.bz-prose ul, .bz-prose ol { margin: 0 0 12px; padding-left: 20px; list-style: disc; }
.bz-prose h2, .bz-prose h3 { margin: 20px 0 8px; font-size: 1.1rem; }
.bz-prose a { color: var(--bz-brand-deep); text-decoration: underline; }
.bz-contact-list { display: grid; gap: 10px; }
.bz-contact-list span { display: block; color: var(--bz-slate); font-family: var(--bz-f-mono); font-size: .7rem; }
.bz-contact-list a { color: var(--bz-ink); font-weight: 600; }
.bz-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }
.bz-updated { margin: 14px 0 0; color: var(--bz-slate); font-family: var(--bz-f-mono); font-size: .74rem; }
.bz-muted { color: var(--bz-slate); }

/* product page */
.bz-gallery-main { background: #fff; }
.bz-gallery-main .bz-gallery-open { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; overflow: hidden; background: none; border: 0; cursor: zoom-in; }
.bz-gallery-main img { object-fit: contain; padding: 22px; transition: transform .2s ease-out; }
.bz-gm-zoom { position: absolute; right: 12px; bottom: 12px; z-index: 2; display: grid; place-items: center; width: 38px; height: 38px; color: var(--bz-ink); background: #fff; border: 1px solid var(--bz-line); border-radius: 50%; pointer-events: none; }
.bz-gm-zoom svg { width: 18px; height: 18px; }
.bz-gallery-thumbs button { background: #fff; }
.bz-gallery-thumbs button img { object-fit: contain; padding: 4px; }
.bz-gallery-thumbs button.is-active { border-color: var(--bz-brand); }
.bz-pdp-meta .bz-rc { color: var(--bz-slate); font-family: var(--bz-f-mono); font-size: .8rem; }
.bz-pdp-meta .bz-outstock { display: inline-flex; align-items: center; gap: 6px; color: var(--bz-signal); font-family: var(--bz-f-mono); font-size: .76rem; font-weight: 600; }
.bz-pdp-meta .bz-instock { color: var(--bz-ok); }
.bz-opt-static { display: inline-block; padding: 8px 14px; color: var(--bz-ink); background: #fff; border: 1.5px solid var(--bz-line); border-radius: var(--bz-radius); font-family: var(--bz-f-mono); font-size: .82rem; font-weight: 600; }
.bz-variant-facts { display: flex; flex-wrap: wrap; gap: 18px; }
.bz-variant-facts .bz-variant-group { margin-bottom: 0; }
.bz-buy-row form { display: contents; }
.bz-qty-stepper button svg { width: 16px; height: 16px; }
.bz-wish--lg { display: grid; place-items: center; width: 50px; min-height: 50px; padding: 0; color: var(--bz-slate); background: #fff; border: 1.5px solid var(--bz-line); border-radius: var(--bz-radius); cursor: pointer; transition: color .14s, border-color .14s, background .14s; }
.bz-wish--lg svg { width: 20px; height: 20px; }
.bz-wish--lg:hover { color: var(--bz-signal); border-color: var(--bz-signal); }
.bz-wish--lg.is-active, .bz-wish--lg[aria-pressed="true"] { color: #fff; background: var(--bz-signal); border-color: var(--bz-signal); }
.bz-wish--lg.is-active svg, .bz-wish--lg[aria-pressed="true"] svg { fill: #fff; }
.bz-pdp-assure .bz-pa a { color: var(--bz-slate); text-decoration: underline; }
.bz-share { margin: 16px 0 0; color: var(--bz-slate); font-size: .82rem; }
.bz-share a { color: var(--bz-ink); font-weight: 600; }
.bz-tab-panel { display: block; }
.bz-tab-panel[hidden] { display: none; }
.bz-tab-panel .bz-prose p { color: var(--bz-slate); }
.bz-rv-initial { display: grid; place-items: center; flex: none; width: 46px; height: 46px; color: var(--bz-brand-deep); background: var(--bz-brand-tint); border-radius: 50%; font-weight: 700; }
.bz-review-form { margin-top: 22px; padding: 16px 18px; background: #fff; border: 1px solid var(--bz-line); border-radius: var(--bz-radius-lg); }
.bz-review-form summary { color: var(--bz-ink); font-weight: 650; cursor: pointer; }
.bz-review-form form { display: grid; gap: 12px; max-width: 620px; margin-top: 14px; }
.bz-field label { display: block; margin-bottom: 6px; color: var(--bz-ink); font-family: var(--bz-f-mono); font-size: .74rem; font-weight: 600; }
.bz-field input, .bz-field select, .bz-field textarea { width: 100%; padding: 10px 12px; color: var(--bz-ink); border: 1.5px solid var(--bz-line); border-radius: var(--bz-radius); font: inherit; font-size: .92rem; }
.bz-field .field-error { color: var(--bz-signal); font-size: .8rem; }
.bz-lightbox { width: min(980px, calc(100% - 32px)); max-height: calc(100vh - 40px); padding: 0; border: 0; border-radius: var(--bz-radius-lg); }
.bz-lightbox::backdrop { background: rgba(32,33,36,.78); }
.bz-lightbox-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 8px 8px 18px; border-bottom: 1px solid var(--bz-line); font-weight: 600; }
.bz-lightbox-image { display: grid; place-items: center; max-height: calc(100vh - 120px); padding: 16px; background: #fff; }
.bz-lightbox-image img { max-height: calc(100vh - 150px); object-fit: contain; }

/* benefits strip sized to the services that really exist */
.bz-benefits-row--1 { grid-template-columns: 1fr; }
.bz-benefits-row--2 { grid-template-columns: repeat(2, 1fr); }
.bz-benefits-row--3 { grid-template-columns: repeat(3, 1fr); }
.bz-benefit a { color: inherit; }
.bz-benefit a:hover h4 { color: var(--bz-brand-deep); }

/* brands strip with real brand names / logos */
.bz-brands-row .bz-brand-logo { color: var(--bz-slate-2); font-weight: 700; font-size: 1.05rem; }
.bz-brands-row .bz-brand-logo img { height: 26px; width: auto; }

/* footer: SOLO wordmark and text payment chips */
.bz-site-footer .bz-brand-word, .bz-mnav .bz-brand-word { font-family: var(--bz-f-display); font-weight: 800; font-size: 1.9rem; line-height: 1; letter-spacing: .02em; }
.bz-site-footer .bz-brand-word b, .bz-mnav .bz-brand-word b { color: var(--bz-deal); }
.bz-pay-row .bz-pay { color: #1a1f71; font-size: .62rem; font-weight: 800; letter-spacing: .02em; }
.bz-pay-row .bz-pay-text { color: #8e8e96; font-size: .8rem; }

@media (max-width: 960px) {
  .bz-catalog { grid-template-columns: 1fr; }
  .bz-filter { position: fixed; top: 0; bottom: 0; left: 0; z-index: 1300; width: min(330px, 86vw); overflow-y: auto; border: 0; border-radius: 0; box-shadow: var(--bz-shadow-lg); transform: translateX(-100%); visibility: hidden; transition: transform .24s ease, visibility .24s; }
  .bz-filter.is-open { transform: none; visibility: visible; }
  .bz-filter-head { position: sticky; top: 0; z-index: 1; background: #fff; }
  .bz-filter-close { display: grid; }
  .bz-factions { position: sticky; bottom: 0; padding-bottom: 18px; background: #fff; }
  .bz-filter-backdrop { position: fixed; inset: 0; z-index: 1200; display: block; padding: 0; background: rgba(32,33,36,.5); border: 0; }
  .bz-filter-backdrop[hidden] { display: none; }
  .bz-toolbar-filter { display: inline-flex; }
  .bz-toolbar-count { order: 3; flex-basis: 100%; }
  .bz-sort { margin-left: auto; }
  .bz-sort label { display: none; }
  .bz-info { grid-template-columns: 1fr; }
  .bz-catalog .bz-pgrid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 1100px) and (min-width: 961px) { .bz-catalog .bz-pgrid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 620px) {
  .bz-pgrid, .bz-catalog .bz-pgrid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .bz-pcard .bz-pbody { padding: 10px 10px 12px; }
  .bz-pcard .bz-pname { font-size: .86rem; }
  .bz-hero-lite { flex-direction: column; align-items: flex-start; padding: 20px; }
  .bz-panel { padding: 18px; }
}
@media (max-width: 480px) { .bz-searchbar .bz-cat-select { display: none; } }
@media (prefers-reduced-motion: reduce) { .bz-filter { transition: none; } }

/* homepage helpers */
.bz-section--promo { padding-bottom: 0; }
.bz-spot--wide { min-height: 200px; }
.bz-spot--wide .bz-spot-body p { max-width: 60ch; }
a.bz-fi-frame { display: block; }
.bz-fi-frame .image-placeholder { position: absolute; inset: 0; display: grid; place-content: center; color: var(--bz-slate-2); }

/* review fixes after visual comparison with the original */
.bz-deal-slide { min-height: 380px; }
@media (max-width: 560px) { .bz-deal-slide { min-height: 320px; } }
.bz-promo-card:not(.bz-alt) .bz-promo-link { color: #fff; }
.bz-promo-card:not(.bz-alt) .bz-tag-gold { color: var(--bz-brand-deep); background: #fff; }
.bz-pprice .bz-now, .bz-pprice s, .bz-fi-price .bz-now, .bz-fi-price s, .bz-pdp-price .bz-now, .bz-pdp-price s,
.bz-hact .bz-count, .bz-rating .bz-rc, .bz-pdp-meta .bz-sku, .bz-countdown b { font-family: var(--bz-f-num); }
.bz-stars svg.bz-empty { stroke: #d4d4d8; stroke-width: 1.6; }
.bz-eyebrow, .bz-see-all, .bz-cat-count, .bz-pcat, .bz-flabel { letter-spacing: 0; }
.bz-deptnav .bz-wrap.bz-is-overflowing { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 56px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 56px), transparent); }
.bz-mnav { box-shadow: none; visibility: hidden; transition: transform .24s ease, visibility .24s; }
.bz-mnav.bz-open { box-shadow: var(--bz-shadow-lg); visibility: visible; }
.bz-gallery-main .bz-wish-form { top: 14px; right: 14px; }
.bz-gallery-main .bz-wish { display: grid; place-items: center; width: 42px; height: 42px; color: var(--bz-slate); background: rgba(255,255,255,.94); border: 1px solid var(--bz-line); border-radius: 50%; cursor: pointer; transition: background .14s, color .14s; }
.bz-gallery-main .bz-wish svg { width: 19px; height: 19px; }
.bz-gallery-main .bz-wish:hover { color: var(--bz-signal); border-color: var(--bz-signal); }
.bz-gallery-main .bz-wish.is-active, .bz-gallery-main .bz-wish[aria-pressed="true"] { color: #fff; background: var(--bz-signal); border-color: var(--bz-signal); }
.bz-gallery-main .bz-wish.is-active svg, .bz-gallery-main .bz-wish[aria-pressed="true"] svg { fill: #fff; }
.bz-buy-row .bz-btn-bz { white-space: nowrap; }
@media (max-width: 560px) { .bz-deal-arrow { display: none; } .bz-deal-slide .bz-deal-body { padding-bottom: 46px; } }
@media (max-width: 620px) {
  .bz-page-head .bz-filter-tabs { flex-wrap: nowrap; width: 100%; overflow-x: auto; padding-bottom: 2px; scrollbar-width: none; }
  .bz-page-head .bz-filter-tabs::-webkit-scrollbar { display: none; }
  .bz-page-head .bz-filter-tabs a { flex: none; }
  .bz-toolbar { gap: 8px; padding: 8px; }
  .bz-sort select { max-width: 175px; }
  .bz-toolbar-count { padding-left: 4px; }
}
@media (max-width: 620px) { .bz-add-more { display: none; } }

/* ============================================================
   PROTECTED CUSTOMER PAGES (cart, checkout, account, auth, contact)
   Presentation-only alignment: premium.css colour tokens and heading
   sizes are re-pointed to the SOLO/Bazaar system. No markup, form,
   field, script or behaviour changes.
   ============================================================ */
body.bz { --accent: #c2410c; --orange: #f97316; --orange-hover: #ea580c; --text: #202124; --ink: #202124; --bg: #f8f8f6; --soft: #f1f2f3; --border: #e5e7eb; --muted: #5f6368; }
body.bz:not(.bz-store) { background: #f8f8f6; }
body.bz .page-hero { padding: 26px 0 22px; background: #fff; border-bottom: 1px solid #e5e7eb; }
body.bz .page-hero--compact { padding-block: 24px 20px; }
body.bz .page-hero h1, body.bz .auth-card h1 { font-size: clamp(1.5rem, 2.6vw, 1.875rem); font-weight: 650; line-height: 1.25; letter-spacing: 0; }
body.bz:not(.bz-store) main h1 { letter-spacing: 0; }
@media (max-width: 760px) { body.bz .page-hero h1 { font-size: 1.5rem; } }
body.bz .page-hero .container { animation: none; }
.bz-topbar .bz-tb-link { white-space: nowrap; }
@media (max-width: 991px) {
  .bz-header-main { gap: 14px; }
  .bz-hact .bz-hact-txt { display: none; }
  .bz-searchbar .bz-cat-select { max-width: 150px; }
}
@media (max-width: 860px) {
  .bz-topbar .bz-tb-left { display: none; }
  .bz-topbar .bz-wrap { justify-content: center; }
  .bz-searchbar .bz-cat-select { display: none; }
  .bz-brand .bz-brand-sub { display: none; }
}
.bz-pcard .bz-pbody { container-type: inline-size; }
@container (max-width: 200px) { .bz-add-more { display: none; } }
