/* Public retail identity: warm paper, ink, generous imagery and restrained detail. */
.store-body {
  --ink: var(--ink);
  --muted: var(--muted);
  --line: var(--line);
  --bg: var(--bg);
  background: var(--bg);
  color: var(--ink);
  font-family: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;
}

.store-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 20px 5%;
  background: #fff;
}

.store-brand {
  display: flex;
  align-items: center;
  gap: 18px;
  color: var(--ink);
  font-weight: 700;
}

.store-brand img {
  width: min(320px, 54vw);
  height: 82px;
  object-fit: contain;
  object-position: left center;
}

.store-header .store-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 26px;
  padding: 0;
  background: transparent;
  border: 0;
  color: var(--ink);
}

.store-header .store-nav a {
  color: var(--ink);
  font-size: 13px;
}

.link-form {
  margin: 0;
}

.link-form button {
  border: 0;
  background: transparent;
  color: var(--ink);
  font: inherit;
  cursor: pointer;
  padding: 0;
}

.product-grid,
.branch-rail {
  display: grid;
}

.branch-rail {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.store-btn {
  border: 1px solid var(--brand);
  background: var(--brand);
  color: #fff;
  padding: 12px 18px;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.store-btn.ghost {
  background: transparent;
  color: var(--ink);
  border-color: var(--line);
}

.store-btn.full {
  width: 100%;
}

.hero-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.product-card .pcat {
  position: static;
  display: inline-block;
  width: fit-content;
  margin-bottom: 4px;
}

.bag-panel {
  position: fixed;
  right: 24px;
  bottom: 24px;
  width: min(360px, calc(100vw - 32px));
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 18px 60px rgba(30, 24, 20, .18);
  padding: 18px;
  z-index: 20;
}

.bag-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid var(--line);
  padding: 10px 0;
}

.bag-row input {
  width: 74px;
}

.checkout-shell,
.confirmation-shell,
.orders-shell,
.account-shell {
  max-width: 1120px;
  margin: 0 auto;
  padding: 48px 24px;
}

.checkout-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 32px;
}

.checkout-panel,
.checkout-summary,
.order-card,
.account-card {
  border: 1px solid var(--line);
  background: #fff;
  padding: 24px;
}

.account-shell {
  max-width: 560px;
}

.account-card {
  padding: 38px;
}

.account-card h1,
.checkout-panel h1 {
  font-size: 38px;
  line-height: 1.1;
  margin: 10px 0 24px;
}

.checkout-intro,
.account-alt {
  color: var(--muted);
  line-height: 1.7;
}

.checkout-form p {
  display: grid;
  gap: 6px;
  margin: 0 0 14px;
}

.checkout-form input,
.checkout-form select,
.checkout-form textarea,
.store-filter input,
.store-filter select {
  width: 100%;
  border: 1px solid var(--line);
  padding: 12px;
  font: inherit;
  background: #fff;
}

.order-list {
  display: grid;
  gap: 12px;
  margin-top: 24px;
}

.order-card {
  display: grid;
  grid-template-columns: 1.1fr 1fr 1fr 1fr auto;
  gap: 12px;
  align-items: center;
}

.branch-mini-panel {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 28px 0;
  margin-bottom: 72px;
}

.branch-mini-panel h2 {
  font-family: Georgia, serif;
  font-size: 34px;
  font-weight: 400;
  margin: 8px 0 6px;
}

.branch-switch {
  min-width: 260px;
}

.bag-empty {
  color: var(--muted);
  margin: 0 0 14px;
}

.pay-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 22px;
}

.pay-strip span {
  border: 1px solid var(--line);
  padding: 8px 10px;
  font-size: 11px;
  color: var(--muted);
}

@media (max-width: 760px) {
  .checkout-shell,
  .order-card {
    grid-template-columns: 1fr;
  }
  .bag-panel {
    position: static;
    width: auto;
    margin: 24px;
  }
  .store-header {
    align-items: flex-start;
    flex-direction: column;
  }
  .store-header .store-nav {
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .branch-mini-panel {
    align-items: flex-start;
    flex-direction: column;
  }
  .branch-switch {
    min-width: 100%;
  }
}
.store-body h1,.store-body h2,.store-body h3 { color: var(--ink); }
.store-body .eyebrow { font-size:10px; font-weight:600; letter-spacing:.18em; color: var(--brand-strong); }
.store-announcement { padding:11px 5%; background: var(--sidebar); color: #f6f4e9; font-size:11px; letter-spacing:.04em; display:flex; justify-content:space-between; }
.store-nav { padding:24px 5%; gap:36px; background: var(--sidebar); color: #f8eadc; border-bottom:1px solid var(--line); backdrop-filter:blur(16px); }
.store-nav .mark { background:transparent; color: #f8eadc; border:1px solid #f8eadc; border-radius:0; box-shadow:none; font-family: Georgia, serif; font-size:27px; width:38px; height:42px; }
.store-nav .brand-text strong { color: #fff; font-size:15px; letter-spacing:.12em; }
.store-nav .brand-text em { color: var(--brand); text-transform:none; letter-spacing:.09em; font-size:10px; margin-top:6px; }
.retail-nav { display:flex; gap:26px; white-space:nowrap; font-size:12px; }
.retail-nav a:hover,.retail-footer a:hover { text-decoration:underline; text-underline-offset:5px; }
.store-nav .search { margin-left:auto; background: rgba(255,255,255,0.1); border:0; border-bottom:1px solid var(--brand); border-radius:0; padding:9px 0; max-width:270px; color: var(--muted); }
.store-nav .search input { color: #fff; font-size:11px; }
.store-nav .search input::placeholder { color: var(--muted); }
.store-links { margin-left:0; gap:18px; white-space:nowrap; }
.store-links a { color: #f8eadc; font-size:12px; font-weight:400; padding:8px 0; }
.store-links a:hover { color: var(--brand); background:transparent; }
.store-nav .branch-select { color: #fff; border-color: var(--brand); border-radius:0; background: rgba(255,255,255,0.1); }
.cart-badge { position:static; display:inline-grid; margin-left:4px; background: var(--brand); color: #fff; }
.retail-hero { display:grid; grid-template-columns:46% 54%; min-height:570px; }
.retail-hero-copy { padding:80px 8% 65px 11%; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.retail-hero h1 { font-family: Georgia,'Times New Roman', serif; font-size:clamp(48px,5.3vw,82px); font-weight:400; line-height:1.05; letter-spacing:-.055em; margin:30px 0 24px; }
.retail-hero h1 em { font-weight:400; color: var(--brand); }
.retail-hero p { color: var(--muted); font-size:14px; line-height:1.9; margin:0 0 32px; }
.store-body .btn { border-radius:0; box-shadow:none; background: var(--brand); border-color: var(--brand); color: #fff; min-height:46px; padding:12px 20px; font-weight:500; font-size:12px; }
.store-body .btn.alt,.store-body .btn.ghost { background:transparent; color: var(--ink); border-color: var(--line); }
.store-body .retail-cta { gap:42px; padding:16px 24px; }
.retail-cta span { font-size:20px; }
.hero-footnote { display:flex; align-items:center; gap:12px; font-size:10px; letter-spacing:.025em; color: var(--muted); margin-top:48px; }
.fine-line { width:25px; height:1px; background: var(--line); }
.retail-hero-image { position:relative; overflow:hidden; min-width:0; }
.retail-hero-image img { width:100%; height:100%; object-fit:cover; position:absolute; }
.image-caption { position:absolute; bottom:0; left:0; right:0; display:flex; justify-content:space-between; align-items:center; gap:20px; color:white; padding:50px 32px 28px; background:linear-gradient(transparent, var(--sidebar)); }
.image-caption>span { font-size:9px; letter-spacing:.16em; }
.image-caption a { font-size:12px; }
.image-caption a span { margin-left:16px; }
.retail-service-strip { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:25px 5%; gap:25px; font-size:12px; color: var(--muted); }
.retail-service-strip span { text-align:center; }
.retail-service-strip span+span { border-left:1px solid var(--line); }
.retail-service-strip b { font-family: Georgia, serif; color: var(--ink); font-weight:400; margin-right:16px; }
.store-wrap { max-width:1600px; padding:0 5% 70px; }
.collection-section { padding-top:82px; scroll-margin-top:125px; }
.collection-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:38px; }
.collection-heading h2 { font-family: Georgia, serif; font-size:clamp(30px,3vw,44px); font-weight:400; letter-spacing:-.04em; margin:14px 0 0; line-height:1.2; }
.collection-heading p { font-size:12px; color: var(--muted); line-height:1.8; margin:0; }
.catalog-bar { padding-bottom:0; border-bottom:1px solid var(--line); margin-bottom:17px; gap:20px; }
.store-tabs { gap:26px; }
.store-tab { border:0; border-radius:0; background:transparent; padding:15px 0; font-size:12px; font-weight:400; color: var(--muted); cursor: pointer; }
.store-tab.active { color: var(--brand-strong); border-bottom:2px solid var(--brand-strong); background:transparent; }
.sort-label { font-size:11px; color: var(--muted); display:flex; align-items:center; gap:8px; }
.sort-label select { border:0; background:transparent; color: var(--ink); padding:10px 0; max-width:140px; font-size:11px; }
.collection-meta { display:flex; justify-content:space-between; gap:16px; color: var(--muted); font-size:10px; margin-bottom:28px; }
.collection-meta a { text-decoration:underline; text-underline-offset:4px; }
.product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:40px 24px; }
.pcard { background:transparent; border:0; border-radius:0; box-shadow:none; overflow:visible; transition: opacity .3s ease; }
.pcard:hover { transform:none; box-shadow:none; opacity: 0.8; }
.pphoto { height:auto; aspect-ratio:1/1.08; overflow:hidden; background: var(--brand-soft); border: 1px solid var(--line); }
.pphoto img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(0.2, 0, 0.2, 1); }
.pcard:hover .pphoto img { transform:scale(1.05); }
.pcat { left:14px; top:14px; background: #fff; color: var(--brand-strong); border-radius:0; font-size:8px; letter-spacing:.1em; padding:6px 10px; font-weight:600; border:1px solid var(--line); }
.pbody { padding:20px 0 0; gap:12px; flex:1; display:flex; flex-direction:column; }
.pcard h3 { font-family: Georgia, serif; font-size:15px; font-weight:400; line-height:1.4; min-height:42px; margin: 0 0 8px; }
.pcard .price { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size:14px; font-weight:500; letter-spacing:.015em; color: var(--ink); margin-bottom: 12px; }
.pcard .stock-line { min-height:48px; margin-top:auto; padding-bottom: 12px; }
.stock-line .tag { background:none; padding:0; font-size:10px; font-weight:500; text-transform: uppercase; letter-spacing: .05em; }
.stock-line .tag.green { color: var(--good); }
.stock-line .tag.orange { color: var(--warn); }
.stock-line .small { font-size:10px; color: var(--muted); margin-top:4px; }
.pcard .btn { background:transparent; color: var(--ink); border:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); border-radius:0; display:flex; justify-content:space-between; align-items:center; min-height:48px; padding:12px 0; width:100%; margin-top:0; font-size: 11px; font-weight: 500; transition: background .3s ease; }
.pcard .btn:hover { background: var(--brand-soft); }
.pcard .btn span { font-size:20px; }
.catalog-note { font-size:10px; color: var(--muted); margin-top:30px; }
.retail-branch-section { padding-top:85px; scroll-margin-top:120px; }
.store-body .branch-panel { margin:0; padding:28px; border-radius:0; box-shadow:none; background: var(--brand-soft); border-color: var(--line); }
.store-body .branch-panel h2 { font-family: Georgia, serif; font-size:28px; font-weight:400; }
.store-body .loc-kicker { font-size:9px; color: var(--brand-strong); }
.store-body .location-status { background:transparent; padding:12px 0; font-size:11px; border-top:1px solid var(--line); border-radius:0; }
.store-body .branch-select.light { min-width:160px; border-radius:0; font-size:11px; background-color:transparent; }
.store-body .branch-card { background:transparent; border-radius:0; padding:16px; min-height:110px; box-shadow:none; }
.store-body .branch-card.active { border-color: var(--brand); background: #fff; box-shadow:inset 0 -2px var(--brand); }
.store-body .branch-city { font-size:9px; }
.store-body .branch-card strong { font-size:12px; font-weight:500; }
.store-body .branch-card .small { font-size:10px; }
.retail-footer { background: var(--sidebar); color: #f1f1e7; padding:60px 5% 25px; display:grid; grid-template-columns:1fr 1fr; gap:50px; }
.footer-wordmark { font-size:30px; font-weight:600; letter-spacing:.1em; }
.footer-wordmark span { font-size:12px; vertical-align:top; }
.retail-footer p { color: #c1c6b6; font-size:12px; margin-top:20px; }
.retail-footer nav { display:flex; justify-content:flex-end; align-items:flex-start; flex-wrap:wrap; gap:25px; font-size:11px; }
.footer-bottom { border-top:1px solid #58614b; padding-top:22px; display:flex; justify-content:space-between; grid-column:1/-1; color:#c1c6b6; font-size:10px; }
.store-body .modal { border-radius:0; background: var(--bg); }
.store-body .empty-card,.store-body .confirm-card,.store-body .card { border-radius:0; box-shadow:none; }
.store-body .store-wrap>.crumb { margin-top:40px; }
.store-body .store-wrap>#confirm-root { margin-top:50px; }
.store-body .store-toast { border-radius:0; background: var(--sidebar); color:white; }
@media (min-width:1600px) { .retail-hero { min-height:680px; } }
@media (max-width:1100px) { .store-nav { gap:22px; } .retail-nav { display:none; } .retail-hero-copy { padding:60px 8% 50px 11%; } .retail-hero { min-height:520px; } .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .branch-rail { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) {
 .store-announcement { justify-content:center; font-size:10px; } .store-announcement>span { display:none; } .store-nav { padding:18px 5%; gap:18px; flex-wrap:wrap; } .store-links { margin-left:auto; } .store-nav .search { flex-basis:100%; max-width:none; order:4; padding:8px 0; }
 .retail-hero { grid-template-columns:1fr; } .retail-hero-copy { padding:46px 6% 40px; } .retail-hero h1 { font-size:58px; margin-top:24px; } .retail-hero p { font-size:13px; } .hero-footnote { margin-top:25px; }
 .retail-hero-image { height:340px; } .image-caption { padding:40px 24px 22px; }
 .retail-service-strip { gap:14px; padding:20px 5%; font-size:10px; } .retail-service-strip b { display:block; margin:0 0 7px; }
 .collection-section { padding-top:48px; } .collection-heading { display:block; margin-bottom:24px; } .collection-heading p { margin-top:16px; }
 .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 16px; }
 .catalog-bar { gap:0; } .store-tabs { gap:20px; flex-wrap:nowrap; overflow-x:auto; width:100%; } .store-tab { white-space:nowrap; } .sort-label { margin-left:auto; }
 .collection-meta { font-size:9px; line-height:1.6; } .collection-meta a { text-align:right; }
 .pcard h3 { font-size:12px; } .pcard .price { font-size:13px; } .pcat { font-size:7px; top:8px; left:8px; } .pcard .btn { font-size:11px; }
 .retail-branch-section { padding-top:55px; } .store-body .branch-panel { padding:18px; } .store-body .branch-panel-actions { align-items:stretch; } .store-body .branch-panel-actions>* { flex:1 1 140px; }
 .retail-footer { grid-template-columns:1fr; padding-top:42px; gap:30px; } .retail-footer nav { justify-content:flex-start; gap:20px; } .footer-wordmark { font-size:25px; }
 .footer-bottom { gap:18px; line-height:1.6; }
}
@media (prefers-reduced-motion:reduce) { .pphoto img { transition:none; } }
.store-tabs,.catalog-bar,.collection-section,.store-wrap,.retail-hero-copy { min-width:0; }
.store-body .branch-rail { max-width:100%; }
@media (max-width:420px) {
 .store-nav { gap:12px; }
 .store-nav .brand-text strong { font-size:12px; }
 .store-nav .brand { gap:8px; }
 .store-links { gap:12px; }
 .store-links a { font-size:11px; }
 .retail-hero h1 { font-size:50px; }
 .footer-bottom { gap:18px; line-height:1.6; }
}

/* Current Django storefront polish. Keep this block last so it wins over the legacy mockup CSS. */
.store-body {
  --store-paper: #fbfaf7;
  --store-surface: #ffffff;
  --store-ink: #1f1713;
  --store-muted: #78675d;
  --store-line: #eadfd4;
  --store-brand: #ff7a1a;
  --store-brown: #4a1b0c;
  background:
    radial-gradient(circle at 78% 8%, rgba(255, 122, 26, .08), transparent 30%),
    linear-gradient(180deg, #fff 0, var(--store-paper) 560px, #fff 100%);
  color: var(--store-ink);
}

.store-header {
  position: sticky;
  top: 0;
  z-index: 40;
  max-width: 1440px;
  margin: 0 auto;
  padding: 18px 5%;
  background: rgba(255, 255, 255, .86);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(234, 223, 212, .72);
}

.store-brand img {
  width: 210px;
  height: 62px;
}

.store-brand span {
  display: none;
}

.nav-branch {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-right: auto;
  border-left: 1px solid var(--store-line);
  padding-left: 18px;
}

.nav-branch span {
  color: var(--store-muted);
  font-size: 12px;
}

.nav-branch select {
  max-width: 190px;
  border: 1px solid var(--store-line);
  border-radius: 999px;
  background: #fff;
  color: var(--store-ink);
  padding: 9px 12px;
  font: inherit;
  font-size: 13px;
}

.store-header .store-nav,
.store-header .store-nav a,
.link-form button {
  color: var(--store-ink);
}

.store-header .store-nav a,
.link-form button {
  font-size: 13px;
  font-weight: 650;
  opacity: .82;
}

.store-header .store-nav a:hover,
.link-form button:hover {
  opacity: 1;
  color: var(--store-brand);
}

.nav-bag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--store-line);
  border-radius: 999px;
  background: #fff;
  color: var(--store-ink);
  padding: 9px 12px;
  font: inherit;
  font-size: 13px;
  font-weight: 750;
  cursor: pointer;
}

.nav-bag strong {
  display: grid;
  place-items: center;
  min-width: 22px;
  height: 22px;
  border-radius: 999px;
  background: var(--store-brand);
  color: #fff;
  font-size: 12px;
}

.retail-hero {
  max-width: 1440px;
  margin: 0 auto;
  padding: 46px 5% 34px;
  grid-template-columns: minmax(320px, .9fr) minmax(520px, 1.1fr);
  gap: 44px;
  min-height: auto;
}

.retail-hero-copy {
  padding: 0;
  justify-content: center;
}

.retail-hero h1 {
  max-width: 620px;
  margin: 22px 0 20px;
  font-size: clamp(54px, 5.8vw, 92px);
  letter-spacing: -.045em;
}

.retail-hero p {
  max-width: 520px;
  color: var(--store-muted);
  font-size: 15px;
}

.retail-hero-image {
  min-height: 520px;
  border-radius: 8px;
  box-shadow: 0 34px 90px rgba(74, 27, 12, .16);
  border: 1px solid rgba(255,255,255,.7);
}

.retail-hero-image img {
  position: absolute;
  inset: 0;
}

.hero-slide {
  opacity: 0;
  transition: opacity .9s ease, transform 5s ease;
  transform: scale(1.02);
}

.hero-slide.active {
  opacity: 1;
  transform: scale(1);
}

.hero-dots {
  position: absolute;
  right: 24px;
  bottom: 24px;
  z-index: 3;
  display: flex;
  gap: 8px;
}

.hero-dots span {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.45);
}

.hero-dots span.active {
  width: 28px;
  background: #fff;
}

.image-caption {
  padding: 92px 28px 24px;
  background: linear-gradient(transparent, rgba(31, 23, 19, .76));
}

.hero-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 28px;
}

.hero-proof span,
.pay-strip span {
  border: 1px solid var(--store-line);
  border-radius: 999px;
  background: rgba(255,255,255,.74);
  color: var(--store-muted);
  padding: 8px 12px;
  font-size: 12px;
}

.store-btn,
.store-body .btn {
  border-radius: 8px;
  border: 1px solid var(--store-brand);
  background: var(--store-brand);
  color: #fff;
  box-shadow: 0 10px 24px rgba(255, 122, 26, .23);
}

.store-btn.ghost,
.store-body .btn.ghost {
  background: #fff;
  border-color: var(--store-line);
  color: var(--store-ink);
  box-shadow: none;
}

.retail-service-strip {
  max-width: 1440px;
  margin: 0 auto;
  padding: 18px 5%;
  border: 0;
  color: var(--store-muted);
}

.retail-service-strip span {
  background: rgba(255,255,255,.78);
  border: 1px solid var(--store-line);
  border-radius: 8px;
  padding: 16px;
}

.retail-service-strip span + span {
  border-left: 1px solid var(--store-line);
}

.store-wrap {
  max-width: 1440px;
  padding: 0 5% 92px;
}

.collection-section {
  padding-top: 54px;
}

.branch-mini-panel {
  align-items: center;
  background: var(--store-brown);
  border: 0;
  border-radius: 8px;
  color: #fff;
  margin-bottom: 62px;
  padding: 24px 28px;
  box-shadow: 0 24px 70px rgba(74, 27, 12, .12);
}

.branch-mini-panel .eyebrow,
.branch-mini-panel span {
  color: rgba(255,255,255,.72);
}

.branch-mini-panel h2 {
  color: #fff;
  margin-bottom: 2px;
}

.branch-switch label {
  color: rgba(255,255,255,.72);
  font-size: 12px;
}

.branch-switch select,
.checkout-form input,
.checkout-form select,
.checkout-form textarea,
.store-filter select,
.store-filter input {
  border-radius: 8px;
  border-color: var(--store-line);
  background: #fff;
}

.collection-heading {
  margin-bottom: 30px;
}

.collection-heading h2 {
  font-size: clamp(36px, 3.2vw, 54px);
}

.product-grid {
  gap: 34px 26px;
}

.pcard {
  background: var(--store-surface);
  border: 1px solid var(--store-line);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 18px 46px rgba(74, 27, 12, .07);
}

.pcard:hover {
  opacity: 1;
  transform: translateY(-3px);
  box-shadow: 0 24px 60px rgba(74, 27, 12, .13);
}

.pphoto {
  border: 0;
  aspect-ratio: 1 / .86;
}

.pbody {
  padding: 18px;
  gap: 8px;
}

.product-card .pcat,
.pcat {
  border: 0;
  background: #fff3e9;
  color: #b84d0d;
  border-radius: 999px;
  padding: 6px 9px;
  font-size: 9px;
}

.pcard h3 {
  min-height: auto;
  font-family: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;
  font-size: 16px;
  font-weight: 750;
  letter-spacing: 0;
}

.pcard .price {
  color: var(--store-brown);
  font-size: 16px;
  font-weight: 800;
}

.pcard .stock-line {
  min-height: auto;
  color: var(--store-muted);
  padding-bottom: 8px;
}

.pcard .btn {
  margin: 8px -18px -18px;
  width: calc(100% + 36px);
  padding: 14px 18px;
  border: 0;
  border-top: 1px solid var(--store-line);
  color: var(--store-ink);
  background: #fff;
}

.pcard .btn:hover {
  background: var(--store-brown);
  color: #fff;
}

.bag-backdrop {
  position: fixed;
  inset: 0;
  z-index: 80;
  background: rgba(31, 23, 19, .24);
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
}

.bag-backdrop.open {
  opacity: 1;
  pointer-events: auto;
}

.bag-drawer {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 90;
  width: min(420px, 100vw);
  height: 100dvh;
  background: #fff;
  box-shadow: -30px 0 90px rgba(31, 23, 19, .2);
  transform: translateX(105%);
  transition: transform .24s ease;
  padding: 24px;
}

.bag-drawer.open {
  transform: translateX(0);
}

.bag-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}

.bag-head span {
  font-size: 18px;
  font-weight: 800;
}

.bag-head button {
  border: 0;
  background: #fff3e9;
  border-radius: 999px;
  color: var(--store-brand);
  padding: 8px 12px;
  font: inherit;
  font-weight: 750;
  cursor: pointer;
}

.bag-row input {
  border-radius: 8px;
  border: 1px solid var(--store-line);
  padding: 8px;
}

.checkout-panel,
.checkout-summary,
.order-card,
.account-card {
  border-radius: 8px;
  border-color: var(--store-line);
  box-shadow: 0 18px 46px rgba(74, 27, 12, .06);
}

.store-footer {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 34px;
  margin-top: 40px;
  padding: 56px 5% 32px;
  background: var(--store-brown);
  color: #fff;
}

.store-footer img {
  width: 210px;
  height: 58px;
  object-fit: contain;
  object-position: left center;
  filter: brightness(0) invert(1);
}

.store-footer p {
  max-width: 520px;
  color: rgba(255,255,255,.7);
  line-height: 1.7;
}

.store-footer nav {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  justify-content: flex-end;
}

.store-footer a,
.store-footer small {
  color: rgba(255,255,255,.78);
}

.store-footer small {
  grid-column: 1 / -1;
  border-top: 1px solid rgba(255,255,255,.16);
  padding-top: 20px;
}

@media (max-width: 1100px) {
  .retail-hero {
    grid-template-columns: 1fr;
  }
  .retail-hero-image {
    min-height: 420px;
  }
  .product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .store-brand img {
    width: 164px;
    height: 54px;
  }
  .store-header {
    position: sticky;
    gap: 12px;
    padding: 12px 16px 78px;
  }
  .nav-branch {
    order: 3;
    width: 100%;
    border-left: 0;
    padding-left: 0;
    justify-content: space-between;
  }
  .nav-branch select {
    max-width: 58vw;
  }
  .store-header .store-nav {
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: 12px;
    z-index: 60;
    justify-content: space-around;
    gap: 4px;
    padding: 10px;
    border: 1px solid var(--store-line);
    border-radius: 22px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 16px 48px rgba(31, 23, 19, .14);
  }
  .store-header .store-nav a,
  .link-form button,
  .nav-bag {
    font-size: 11px;
    padding: 8px;
    border: 0;
    background: transparent;
  }
  .retail-hero {
    padding-top: 28px;
    gap: 26px;
  }
  .retail-hero h1 {
    font-size: 50px;
  }
  .retail-hero-image {
    min-height: 320px;
  }
  .hero-dots {
    bottom: 18px;
    right: 18px;
  }
  .retail-service-strip {
    grid-template-columns: 1fr;
  }
  .product-grid {
    grid-template-columns: 1fr 1fr;
    gap: 18px;
  }
  .pbody {
    padding: 14px;
  }
  .pcard .btn {
    margin: 8px -14px -14px;
    width: calc(100% + 28px);
  }
  .bag-drawer {
    top: auto;
    bottom: 0;
    width: 100vw;
    height: min(76dvh, 640px);
    border-radius: 24px 24px 0 0;
    transform: translateY(105%);
  }
  .bag-drawer.open {
    transform: translateY(0);
  }
  .store-footer {
    grid-template-columns: 1fr;
    padding-bottom: 104px;
  }
  .store-footer nav {
    justify-content: flex-start;
  }
}

@media (max-width: 480px) {
  .product-grid {
    grid-template-columns: 1fr;
  }
}

/* Final storefront mobile app pass. Keep branch choice at the top and pin customer actions to the bottom. */
@media (max-width: 760px) {
  .store-body {
    padding-bottom: 92px;
  }

  .store-header {
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    min-height: 0;
    padding: 10px 14px 12px;
  }

  .store-brand img {
    width: 146px;
    height: 48px;
  }

  .nav-branch {
    order: 2;
    width: 100%;
    margin: 2px 0 0;
    padding: 8px 10px;
    border: 1px solid var(--store-line);
    border-radius: 16px;
    background: #fff;
  }

  .nav-branch span {
    font-size: 11px;
  }

  .nav-branch select {
    max-width: 190px;
    padding: 8px 10px;
    font-size: 12px;
  }

  .store-header .store-nav {
    position: fixed !important;
    top: auto !important;
    left: 12px !important;
    right: 12px !important;
    bottom: max(12px, env(safe-area-inset-bottom)) !important;
    width: auto !important;
    height: auto !important;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: center;
    gap: 2px;
    padding: 8px;
    border-radius: 24px;
    background: rgba(255,255,255,.97);
    border: 1px solid var(--store-line);
    box-shadow: 0 18px 54px rgba(31, 23, 19, .18);
    transform: none !important;
  }

  .store-header .store-nav a,
  .store-header .store-nav .link-form,
  .store-header .store-nav .nav-bag {
    justify-self: center;
  }

  .store-header .store-nav a,
  .link-form button,
  .nav-bag {
    min-height: 42px;
    width: 100%;
    justify-content: center;
    text-align: center;
    line-height: 1.1;
  }

  .store-header .store-nav a[href*="staff"] {
    display: none;
  }

  .retail-hero {
    padding: 28px 20px 24px;
  }

  .retail-hero h1 {
    font-size: 44px;
    line-height: 1.04;
  }

  .retail-hero-image {
    min-height: 260px;
    border-radius: 18px;
  }
}

@media (max-width: 760px) {
  .store-header {
    position: static !important;
  }
}

@media (max-width: 760px) {
  .store-header .store-nav > a:last-child {
    display: none !important;
  }

  .store-header .store-nav {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    top: calc(100dvh - 74px) !important;
    bottom: auto !important;
  }
}

/* Marketplace UI upgrade: public B2B commerce experience. */
.marketplace-body {
  --market-orange:#ff7417;
  --market-brown:#51200f;
  --market-ink:#191310;
  --market-muted:#6f625c;
  --market-line:#eaded5;
  --market-paper:#fff7f0;
  --market-soft:#fffaf6;
  background:#fff;
  color:var(--market-ink);
}
.market-utility { display:flex; justify-content:flex-end; gap:22px; padding:8px 5%; background:#3f170a; color:#fff3ea; font-size:12px; }
.market-utility a { color:#fff3ea; text-decoration:none; }
.market-header { display:grid; grid-template-columns:190px minmax(280px,1fr) auto; gap:18px; align-items:center; max-width:none; padding:14px 5%; border-bottom:1px solid var(--market-line); }
.market-header .store-brand img { width:170px; height:54px; }
.market-search, .hero-search { display:flex; border:2px solid var(--market-orange); border-radius:999px; overflow:hidden; background:#fff; }
.market-search input, .hero-search input { flex:1; border:0; padding:13px 18px; font:inherit; min-width:0; }
.market-search button, .hero-search button { border:0; background:var(--market-orange); color:#fff; padding:0 24px; font-weight:800; cursor:pointer; }
.market-actions { gap:14px!important; }
.market-branch { grid-column:1 / -1; margin:0; padding:8px 12px; border:1px solid var(--market-line); border-radius:14px; background:var(--market-soft); width:fit-content; }
.category-nav { display:flex; gap:6px; align-items:center; overflow:auto; padding:10px 5%; border-bottom:1px solid var(--market-line); background:#fff; position:sticky; top:0; z-index:30; }
.category-nav a { white-space:nowrap; color:var(--market-ink); text-decoration:none; padding:9px 12px; border-radius:999px; font-size:13px; }
.category-nav .all-cats { background:var(--market-brown); color:#fff; font-weight:800; }
.market-main { max-width:1440px; margin:0 auto; padding:0 5% 54px; }
.market-hero { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:24px; margin:24px 0; }
.hero-panel { min-height:330px; padding:38px; border-radius:24px; background:linear-gradient(135deg,#fff7ef,#fff), radial-gradient(circle at right,rgba(255,116,23,.14),transparent 40%); border:1px solid var(--market-line); display:flex; flex-direction:column; justify-content:center; }
.hero-panel h1 { max-width:720px; margin:8px 0 12px; font:700 clamp(34px,4.5vw,62px)/1.04 Georgia,serif; letter-spacing:-.035em; }
.hero-panel p { max-width:640px; color:var(--market-muted); line-height:1.7; }
.hero-search { max-width:760px; margin:18px 0; border-radius:14px; }
.hero-branch-card { padding:28px; border-radius:24px; background:var(--market-brown); color:#fff; display:flex; flex-direction:column; justify-content:center; box-shadow:0 24px 70px rgba(81,32,15,.18); }
.hero-branch-card h2 { margin:8px 0; font-size:34px; font-family:Georgia,serif; }
.hero-branch-card p, .hero-branch-card span { color:rgba(255,255,255,.72); }
.market-section { margin-top:34px; }
.sectionhead { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom:18px; }
.sectionhead h2 { margin:0; font-size:clamp(26px,3vw,42px); font-family:Georgia,serif; }
.category-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; }
.category-card { display:grid; gap:10px; padding:14px; border:1px solid var(--market-line); border-radius:18px; color:var(--market-ink); text-decoration:none; background:#fff; box-shadow:0 14px 32px rgba(81,32,15,.06); }
.category-card img { width:100%; aspect-ratio:1.4; object-fit:cover; border-radius:14px; background:var(--market-paper); }
.category-card span { color:var(--market-muted); font-size:12px; }
.market-layout { display:grid; grid-template-columns:260px minmax(0,1fr); gap:24px; align-items:start; }
.filter-panel { position:sticky; top:62px; padding:18px; border:1px solid var(--market-line); border-radius:18px; background:#fff; }
.filter-panel h2 { margin-top:0; }
.filter-panel form, .filter-panel label { display:grid; gap:8px; }
.filter-panel form { gap:14px; }
.filter-panel input, .filter-panel select { border:1px solid var(--market-line); border-radius:10px; padding:11px; font:inherit; }
.market-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.market-card { border:1px solid var(--market-line); border-radius:18px; overflow:hidden; background:#fff; box-shadow:0 16px 38px rgba(81,32,15,.07); transition:transform .18s ease, box-shadow .18s ease; }
.market-card:hover { transform:translateY(-2px); box-shadow:0 22px 54px rgba(81,32,15,.12); }
.market-photo { display:block; background:var(--market-paper); }
.market-photo img { width:100%; aspect-ratio:1.05; object-fit:cover; display:block; }
.market-card-body { padding:15px; display:grid; gap:8px; }
.market-card h3 { margin:0; font-size:15px; line-height:1.35; }
.market-card h3 a { color:inherit; text-decoration:none; }
.model-line { color:var(--market-muted); font-size:12px; margin:0; }
.price, .detail-price { color:var(--market-brown); font-weight:900; font-size:18px; }
.bulk-tag { width:max-content; background:#fff1e8; color:#b84d0d; border-radius:999px; padding:5px 8px; font-weight:800; }
.card-actions { display:grid; grid-template-columns:1fr auto; gap:8px; margin-top:6px; }
.wholesale-panel { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:28px; border-radius:24px; background:#fff7ef; border:1px solid var(--market-line); }
.detail-grid { display:grid; grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr); gap:34px; padding-top:34px; }
.detail-gallery, .detail-info, .detail-tabs article { border:1px solid var(--market-line); border-radius:22px; background:#fff; padding:22px; }
.detail-gallery img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:18px; background:var(--market-paper); }
.thumb-row, .availability { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.thumb-row span, .availability span, .availability strong { border:1px solid var(--market-line); border-radius:999px; padding:8px 10px; font-size:12px; }
.detail-info h1 { margin:8px 0; font-size:clamp(32px,4vw,56px); font-family:Georgia,serif; line-height:1.05; }
.bulk-box { display:grid; gap:4px; padding:14px; border-radius:14px; background:#fff7ef; border:1px solid var(--market-line); margin:16px 0; }
.detail-buy { display:grid; grid-template-columns:140px 1fr 1fr; gap:12px; margin-top:18px; align-items:end; }
.detail-buy label { display:grid; gap:6px; }
.detail-buy input { border:1px solid var(--market-line); border-radius:10px; padding:12px; }
.detail-tabs { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.small-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.commerce-checkout { align-items:start; }
.checkout-block { border:1px solid var(--market-line); border-radius:16px; padding:16px; margin-bottom:14px; background:#fffdfb; }
.checkout-block h2 { margin:0 0 12px; font-size:18px; }
.confirmation-card { max-width:760px; }
.account-tabs { display:flex; gap:10px; flex-wrap:wrap; margin:18px 0; }
.account-tabs a { border:1px solid var(--market-line); border-radius:999px; padding:9px 12px; color:var(--market-ink); text-decoration:none; }
.cart-summary { border-top:1px solid var(--market-line); margin-top:12px; padding-top:12px; color:var(--market-muted); }
@media (max-width:1100px){ .market-header{grid-template-columns:160px 1fr}.market-actions{grid-column:1/-1;justify-content:flex-start!important}.market-hero,.market-layout,.detail-grid{grid-template-columns:1fr}.filter-panel{position:static}.market-product-grid,.category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-tabs{grid-template-columns:1fr} }
@media (max-width:760px){ .market-utility{justify-content:flex-start;overflow:auto}.market-header{display:flex;flex-wrap:wrap;padding:12px 16px}.market-search{order:3;width:100%;flex-basis:100%}.market-branch{order:4;width:100%}.category-nav{top:0;padding:8px 16px}.market-main{padding:0 16px 100px}.market-hero{margin-top:16px}.hero-panel{padding:24px;min-height:0}.hero-panel h1{font-size:34px}.hero-search{display:grid;border-radius:16px}.hero-search button{padding:12px}.category-grid,.market-product-grid,.small-grid{grid-template-columns:1fr 1fr;gap:12px}.wholesale-panel{display:grid}.detail-buy{grid-template-columns:1fr}.store-header .store-nav{grid-template-columns:repeat(4,minmax(0,1fr));top:calc(100dvh - 74px)!important;bottom:auto!important}.store-header .store-nav > a:last-child{display:none!important}.checkout-shell{display:grid;grid-template-columns:1fr;padding:24px 16px 110px}.order-card{grid-template-columns:1fr}.market-photo img{aspect-ratio:1.2}.card-actions{grid-template-columns:1fr}.store-body{padding-bottom:0!important} }
@media (max-width:460px){ .category-grid,.market-product-grid,.small-grid{grid-template-columns:1fr}.market-actions a{font-size:11px}.nav-bag strong{min-width:20px;height:20px}.detail-gallery,.detail-info{padding:16px} }
@media (max-width:760px){
  .market-utility span{display:none;}
  .market-utility{gap:18px;padding:8px 16px;font-size:12px;}
  .hero-panel{margin-bottom:18px;}
}

/* Homepage cleanup: one search, one branch selector, clearer hero actions. */
.hero-highlights{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.hero-highlights span{border:1px solid var(--market-line);border-radius:999px;background:#fff;padding:9px 12px;color:var(--market-muted);font-size:12px;font-weight:700}
.branch-card-link{width:max-content;margin-top:18px;background:rgba(255,255,255,.08)!important;color:#fff!important;border-color:rgba(255,255,255,.25)!important}
.market-header .market-actions a[href$="sign-in/"]{display:none}
.market-hero{grid-template-columns:minmax(0,1.55fr) minmax(280px,.7fr)}
.hero-panel{min-height:300px}
.hero-panel p{font-size:16px}
@media (max-width:760px){
  .hero-highlights{gap:8px}.hero-highlights span{font-size:11px;padding:8px 10px}
  .market-hero{grid-template-columns:1fr}.hero-branch-card{padding:22px;min-height:190px}
}

/* Header alignment and clearer public form fields. */
.market-header {
  grid-template-columns: 170px minmax(280px, 1fr) auto auto;
}
.market-branch {
  grid-column: auto;
  order: 3;
  align-self: center;
  width: auto;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  display: inline-flex;
  gap: 8px;
  white-space: nowrap;
}
.market-branch span {
  font-weight: 800;
  color: var(--market-muted);
}
.market-branch select {
  min-width: 145px;
  border: 1.5px solid #d9c8bc;
  background: #fff;
}
.market-actions {
  order: 4;
}
.account-card,
.checkout-panel,
.checkout-summary {
  border-color: #dfcfc3;
}
.checkout-form input,
.checkout-form select,
.checkout-form textarea,
.account-card input,
.account-card select,
.account-card textarea,
.market-search input,
.hero-search input,
.filter-panel input,
.filter-panel select,
.nav-branch select {
  color: #201713;
  background: #fff;
  border: 1.5px solid #cdb9ab;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75), 0 1px 2px rgba(81,32,15,.04);
}
.checkout-form input:focus,
.checkout-form select:focus,
.checkout-form textarea:focus,
.account-card input:focus,
.account-card select:focus,
.account-card textarea:focus,
.market-search input:focus,
.hero-search input:focus,
.filter-panel input:focus,
.filter-panel select:focus,
.nav-branch select:focus {
  outline: 3px solid rgba(255,116,23,.18);
  border-color: var(--market-orange);
}
.checkout-form label,
.account-card label,
.filter-panel label {
  color: #35251e;
  font-weight: 750;
}
.checkout-form input::placeholder,
.account-card input::placeholder,
.market-search input::placeholder,
.filter-panel input::placeholder {
  color: #8f7d72;
  opacity: 1;
}
.account-card {
  border-radius: 22px;
  box-shadow: 0 22px 70px rgba(81,32,15,.08);
}
.account-card .store-btn,
.checkout-panel .store-btn {
  min-height: 48px;
}
@media (max-width: 1100px) {
  .market-header { grid-template-columns: 160px 1fr; }
  .market-branch { order: 4; grid-column: 1 / -1; width: 100%; justify-content: space-between; padding: 10px 12px; border: 1px solid var(--market-line); border-radius: 16px; background: var(--market-soft); }
  .market-actions { order: 3; grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .market-branch { order: 3; }
  .market-search { order: 2; }
  .market-actions { order: 5; }
  .market-branch select { min-width: 150px; max-width: 58vw; }
  .account-shell { padding: 24px 16px 110px; }
  .account-card { padding: 24px; }
}

.quote-page .market-section{background:#fff;border:1px solid rgba(18,24,38,.08);border-radius:28px;padding:28px;box-shadow:0 18px 50px rgba(15,23,42,.08)}
.quote-hero{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:center;background:linear-gradient(135deg,#fff8e8,#fff)}
.quote-product-card{display:grid;gap:8px;border:1px solid rgba(245,158,11,.24);background:#fff;border-radius:22px;padding:20px}.quote-product-card strong{font-size:1.2rem}.quote-product-card b{color:#a16207}
.store-form label,.quote-reply label{display:grid;gap:8px;font-weight:700;color:#1f2937}.store-form input,.store-form select,.store-form textarea,.quote-reply textarea{width:100%;border:1.5px solid #cbd5e1;border-radius:14px;background:#fff;color:#0f172a;padding:13px 14px;font:inherit}.store-form input:focus,.store-form select:focus,.store-form textarea:focus,.quote-reply textarea:focus{outline:3px solid rgba(245,158,11,.22);border-color:#f59e0b}.form-grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.quote-form{display:grid;gap:18px}.quote-list{display:grid;gap:12px}.quote-row{display:grid;grid-template-columns:1.1fr 1.5fr auto auto;gap:16px;align-items:center;padding:16px;border:1px solid #e5e7eb;border-radius:18px;background:#fff;color:#111827;text-decoration:none}.quote-row:hover{border-color:#f59e0b;box-shadow:0 12px 28px rgba(15,23,42,.08)}.quote-row small,.quote-row em{color:#64748b}.quote-room-head{display:flex;justify-content:space-between;gap:18px}.quote-room-grid{display:grid;grid-template-columns:320px minmax(0,1fr);gap:22px}.quote-summary{border-right:1px solid #e5e7eb;padding-right:20px}.summary-line{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #eef2f7;padding:12px 0}.quote-thread{display:grid;gap:14px}.quote-message{border:1px solid #e5e7eb;border-radius:18px;padding:14px;background:#f8fafc}.quote-message.mine{background:#fff7ed;border-color:#fed7aa}.quote-message p{margin:.4rem 0}.quote-message small{color:#64748b}.quote-reply{display:grid;gap:12px;margin-top:8px}.card-actions .quote-link{font-size:.86rem;padding-inline:12px}
@media (max-width:760px){.quote-hero,.quote-room-grid,.form-grid.two,.quote-row{grid-template-columns:1fr}.quote-page .market-section{padding:20px;border-radius:22px}.quote-summary{border-right:0;border-bottom:1px solid #e5e7eb;padding:0 0 16px}.quote-room-head{display:grid}.card-actions{grid-template-columns:1fr}}

.quote-picker-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-top:14px}.quote-product-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.quote-pick-card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;position:relative;border:1.5px solid #e5e7eb;border-radius:22px;background:#fff;padding:14px}.quote-pick-card.selected{border-color:#f59e0b;background:#fffbeb}.quote-check{grid-column:1/-1;display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;font-weight:800}.quote-check input{width:auto!important}.quote-pick-card img{width:150px;height:130px;object-fit:cover;border-radius:16px;background:#f1f5f9}.quote-pick-body{display:grid;gap:6px}.quote-pick-body h3,.quote-pick-body p{margin:0}.quote-pick-body p{color:#64748b;line-height:1.45}.quote-line-inputs{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px}.quote-summary-product{display:grid;grid-template-columns:82px 1fr;gap:12px;border-bottom:1px solid #eef2f7;padding:12px 0}.quote-summary-product img{width:82px;height:74px;object-fit:cover;border-radius:14px;background:#f1f5f9}.quote-summary-product div{display:grid;gap:3px}.quote-summary-product p{margin:0;color:#64748b}.quote-summary-product em{color:#a16207;font-style:normal;font-weight:700}@media(max-width:900px){.quote-product-picker{grid-template-columns:1fr}.quote-pick-card{grid-template-columns:110px 1fr}.quote-pick-card img{width:110px;height:100px}.quote-line-inputs{grid-template-columns:1fr}}


/* Storefront readability and stock presentation. */
.marketplace-body,
.store-body {
  font-family: Inter, "SF Pro Display", "Segoe UI", Roboto, Arial, sans-serif;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
.marketplace-body h1,
.marketplace-body h2,
.marketplace-body h3,
.marketplace-body .hero-panel h1,
.marketplace-body .sectionhead h2,
.marketplace-body .detail-info h1 {
  font-family: Inter, "SF Pro Display", "Segoe UI", Roboto, Arial, sans-serif;
  letter-spacing: -.035em;
}
.stock-card {
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid var(--market-line);
  border-radius:14px;
  background:#fffaf6;
}
.stock-card b,
.stock-panel-main b {
  display:block;
  color:var(--market-ink);
  font-size:13px;
  line-height:1.2;
}
.stock-card small,
.stock-panel-main small {
  display:block;
  margin-top:3px;
  color:var(--market-muted);
  font-size:12px;
}
.stock-dot {
  width:11px;
  height:11px;
  border-radius:999px;
  flex:0 0 auto;
  background:#16a34a;
  box-shadow:0 0 0 4px rgba(22,163,74,.12);
}
.low-stock .stock-dot { background:#f59e0b; box-shadow:0 0 0 4px rgba(245,158,11,.15); }
.out-stock .stock-dot { background:#dc2626; box-shadow:0 0 0 4px rgba(220,38,38,.12); }
.stock-panel {
  align-items:center;
  padding:14px;
  border-radius:18px;
  background:#fffaf6;
}
.stock-panel-main {
  display:flex;
  align-items:center;
  gap:12px;
  flex:1 1 220px;
  min-width:220px;
}
.store-btn:disabled,
.market-card button:disabled {
  cursor:not-allowed;
  opacity:.48;
  box-shadow:none;
}
@media (max-width:760px){
  .stock-card{padding:9px 10px;border-radius:12px}.stock-card small{font-size:11px}.stock-panel-main{min-width:100%}
}

/* Premium electronics storefront pass: clean, product-led, app-like on mobile. */
.marketplace-body {
  --premium-ink:#050505;
  --premium-muted:#6e6e73;
  --premium-line:#e8e8ed;
  --premium-card:#f5f5f7;
  --premium-blue:#0071e3;
  background:#fff;
  color:var(--premium-ink);
}
.premium-utility {
  justify-content:center;
  gap:28px;
  background:#f5f5f7;
  color:#4a4a4f;
  font-size:12px;
  border-bottom:1px solid var(--premium-line);
}
.premium-utility a { color:#1d1d1f; font-weight:650; }
.market-header {
  position:sticky;
  top:0;
  z-index:50;
  grid-template-columns:180px minmax(320px,1fr) auto auto;
  background:rgba(255,255,255,.82);
  border-bottom:1px solid rgba(232,232,237,.82);
  backdrop-filter:saturate(180%) blur(22px);
}
.market-header .store-brand img { width:158px; height:50px; }
.market-search {
  border:1px solid var(--premium-line);
  background:#f5f5f7;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.45);
}
.market-search input { background:transparent!important; border:0!important; box-shadow:none!important; }
.market-search button {
  background:#1d1d1f;
  border-radius:999px;
  margin:5px;
  padding:0 18px;
}
.market-actions a { display:inline-flex; align-items:center; gap:6px; color:#1d1d1f; font-weight:700; }
.market-actions a span { color:var(--premium-blue); }
.market-branch { color:#1d1d1f; }
.market-branch select { border-color:var(--premium-line); border-radius:999px; background:#f5f5f7; }
.category-nav {
  position:sticky;
  top:79px;
  z-index:40;
  justify-content:center;
  gap:10px;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(18px);
  border-bottom:1px solid var(--premium-line);
}
.category-nav a { color:#1d1d1f; font-weight:700; }
.category-nav .all-cats { background:#1d1d1f; }
.market-main { max-width:1500px; padding-inline:4%; }
.premium-hero {
  grid-template-columns:minmax(320px,.86fr) minmax(420px,1.14fr);
  gap:24px;
  margin-top:22px;
}
.premium-hero-copy {
  min-height:560px;
  border:0;
  border-radius:34px;
  background:linear-gradient(145deg,#f5f5f7,#fff 55%,#edf5ff);
  padding:clamp(28px,5vw,72px);
  text-align:left;
}
.premium-hero-copy h1 {
  max-width:760px;
  font-size:clamp(48px,6.2vw,96px);
  line-height:.96;
  letter-spacing:-.065em;
  font-weight:850;
}
.premium-hero-copy p { max-width:590px; font-size:18px; color:var(--premium-muted); }
.premium-hero-copy .store-btn { border-radius:999px; padding:14px 22px; background:var(--premium-blue); border-color:var(--premium-blue); box-shadow:none; }
.premium-hero-copy .store-btn.ghost { color:var(--premium-blue); background:transparent; border-color:transparent; }
.hero-highlights span { background:#fff; border-color:var(--premium-line); color:#424245; }
.premium-device-stage {
  position:relative;
  min-height:560px;
  border-radius:34px;
  overflow:hidden;
  background:radial-gradient(circle at 50% 20%,#fff 0,#f5f5f7 48%,#e9eef7 100%);
  border:1px solid var(--premium-line);
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  padding:22px;
}
.device-card {
  position:relative;
  border-radius:28px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 22px 70px rgba(0,0,0,.08);
}
.device-card.large { grid-row:span 2; }
.device-card img { width:100%; height:100%; object-fit:cover; display:block; }
.device-card span {
  position:absolute;
  left:16px;
  bottom:16px;
  border-radius:999px;
  padding:8px 12px;
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(12px);
  font-weight:800;
  font-size:12px;
}
.hero-branch-pill {
  position:absolute;
  left:50%;
  bottom:22px;
  transform:translateX(-50%);
  min-width:240px;
  text-align:center;
  border:1px solid rgba(255,255,255,.72);
  border-radius:999px;
  background:rgba(255,255,255,.76);
  backdrop-filter:blur(20px);
  padding:12px 18px;
  box-shadow:0 18px 54px rgba(0,0,0,.12);
}
.hero-branch-pill small { display:block; color:var(--premium-muted); font-size:11px; }
.hero-branch-pill b { display:block; font-size:16px; }
.premium-sectionhead { align-items:center; margin-top:10px; }
.premium-sectionhead h2 { font-family:Inter,"SF Pro Display",system-ui,sans-serif; font-weight:850; letter-spacing:-.045em; }
.premium-sectionhead a,.section-note { color:var(--premium-blue); font-weight:750; text-decoration:none; }
.category-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
.category-card {
  border:0;
  border-radius:28px;
  background:var(--premium-card);
  box-shadow:none;
  padding:18px;
  transition:transform .2s ease, background .2s ease;
}
.category-card:hover { transform:translateY(-3px); background:#efeff3; }
.category-card img { border-radius:22px; aspect-ratio:1.24; }
.market-layout { grid-template-columns:230px minmax(0,1fr); }
.premium-filter {
  top:128px;
  border:0;
  border-radius:26px;
  background:#f5f5f7;
}
.premium-filter h2 { font-weight:850; }
.premium-filter input,.premium-filter select { border-color:var(--premium-line); border-radius:14px; }
.market-product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.market-card {
  border:0;
  border-radius:30px;
  background:#f5f5f7;
  box-shadow:none;
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease;
}
.market-card:hover { transform:translateY(-4px); background:#fff; box-shadow:0 26px 80px rgba(0,0,0,.10); }
.market-photo { background:#f5f5f7; padding:18px; }
.market-photo img { border-radius:24px; aspect-ratio:1.08; mix-blend-mode:multiply; }
.market-card-body { padding:18px 20px 20px; gap:10px; }
.market-card h3 { font-size:17px; font-weight:850; letter-spacing:-.015em; }
.model-line { color:var(--premium-muted); }
.price,.detail-price { color:#1d1d1f; font-size:18px; }
.bulk-tag { background:#eaf3ff; color:var(--premium-blue); }
.card-actions { grid-template-columns:1fr 1fr; }
.card-actions .store-btn { border-radius:999px; box-shadow:none; }
.card-actions .store-btn.btn { background:#1d1d1f; border-color:#1d1d1f; }
.public-unavailable { border:0; background:#fff; }
.premium-wholesale {
  border:0;
  border-radius:34px;
  background:linear-gradient(135deg,#1d1d1f,#303035);
  color:#fff;
  padding:44px;
}
.premium-wholesale h2 { color:#fff; font-family:Inter,"SF Pro Display",system-ui,sans-serif; font-size:clamp(32px,4vw,58px); letter-spacing:-.045em; }
.premium-wholesale p { color:rgba(255,255,255,.72); }
.premium-wholesale .store-btn { background:#fff; color:#1d1d1f; border-color:#fff; border-radius:999px; box-shadow:none; }
.store-footer { background:#f5f5f7; color:#1d1d1f; border-top:1px solid var(--premium-line); }
.store-footer img { filter:none; }
.store-footer p,.store-footer a,.store-footer small { color:#6e6e73; }
.store-footer small { border-top-color:var(--premium-line); }
.premium-gallery,.premium-detail-info,.premium-detail-tabs article { border:0; border-radius:34px; background:#f5f5f7; }
.premium-gallery img { border-radius:28px; mix-blend-mode:multiply; }
.premium-detail-info h1 { font-family:Inter,"SF Pro Display",system-ui,sans-serif; font-weight:850; letter-spacing:-.055em; }
.detail-buy { grid-template-columns:130px 1fr 1fr; }
.detail-buy .store-btn { border-radius:999px; box-shadow:none; }
@media(max-width:1180px){
  .market-header{grid-template-columns:150px 1fr}.market-actions,.market-branch{grid-column:1/-1}.category-grid,.market-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.premium-hero{grid-template-columns:1fr}.premium-device-stage{min-height:420px}.market-layout{grid-template-columns:1fr}.premium-filter{position:static}.category-nav{top:154px}
}
@media(max-width:760px){
  .premium-utility{justify-content:flex-start;overflow:auto;white-space:nowrap;padding:8px 16px}.market-header{display:flex;gap:12px;padding:12px 16px}.market-header .store-brand img{width:138px;height:44px}.market-search{order:2;flex-basis:100%;width:100%}.market-branch{order:3}.market-actions{order:5}.category-nav{top:0;justify-content:flex-start;padding:8px 16px}.market-main{padding-inline:16px}.premium-hero-copy{min-height:auto;border-radius:28px;text-align:left}.premium-hero-copy h1{font-size:48px}.premium-hero-copy p{font-size:15px}.premium-device-stage{min-height:360px;border-radius:28px;grid-template-columns:1fr 1fr;padding:14px}.device-card{border-radius:22px}.category-grid,.market-product-grid{grid-template-columns:1fr 1fr}.market-photo{padding:12px}.market-card{border-radius:24px}.market-card-body{padding:14px}.card-actions{grid-template-columns:1fr}.premium-wholesale{padding:28px;border-radius:28px}.detail-buy{grid-template-columns:1fr}.store-header .store-nav{grid-template-columns:repeat(4,minmax(0,1fr));position:fixed!important;left:12px!important;right:12px!important;top:auto!important;bottom:max(12px,env(safe-area-inset-bottom))!important;background:rgba(255,255,255,.92);border:1px solid var(--premium-line);border-radius:28px;box-shadow:0 18px 54px rgba(0,0,0,.14);backdrop-filter:blur(18px)}.store-header .store-nav a,.nav-bag{display:grid;gap:2px;justify-items:center;font-size:10px}.store-header .store-nav a span{font-size:16px}.store-header .store-nav > a:last-child{display:none!important}
}
@media(max-width:480px){.category-grid,.market-product-grid{grid-template-columns:1fr}.premium-hero-copy h1{font-size:42px}.premium-device-stage{grid-template-columns:1fr;min-height:auto}.device-card{min-height:180px}.device-card.large{grid-row:auto}.hero-branch-pill{position:static;transform:none;grid-column:1/-1;width:100%}}
