/**
 * Brand root system — Teknolojik Depo
 * Logo palette: cyan #00A3E0 · indigo #302A81 · Montserrat
 * Loaded after style.css — decisive visual authority
 */

:root {
  --cyan: #00a3e0;
  --cyan-deep: #0089bf;
  --cyan-soft: rgba(0, 163, 224, 0.14);
  --indigo: #302a81;
  --indigo-deep: #1f1a5a;
  --navy: #302a81;
  --ink: #121826;
  --ink-soft: #3a4560;
  --muted: #66758c;
  --bg: #f3f6fa;
  --bg-elev: #ffffff;
  --line: #d5dde8;
  --line-soft: #e8eef5;
  --radius: 10px;
  --radius-sm: 6px;
  --font: 'Montserrat', system-ui, sans-serif;
  --font-display: 'Montserrat', system-ui, sans-serif;
  --ease: cubic-bezier(.22, 1, .36, 1);
  --max: 1320px;
  --brand-logo-w: 156px;
  --brand-logo-h: 52px;
}

body {
  font-family: var(--font);
  color: var(--ink);
  background: #f4f7fb;
  letter-spacing: -.012em;
}

/* ── Inner-page spacing rhythm ───────────────── */
body:not(.is-home) .section {
  padding: 1rem 0 2.5rem !important;
}
body:not(.is-home) .section.section-shop {
  padding: 1rem 0 2.5rem !important;
}
body:not(.is-home) .flash-stack {
  margin: .65rem 0 .35rem;
}
body:not(.is-home) .page-shell-head {
  margin-bottom: 1rem !important;
  max-width: 40rem;
  padding-bottom: 0 !important;
}
body:not(.is-home) .page-shell-head::after {
  width: 2rem !important;
  height: 2px !important;
  margin-top: .65rem !important;
  background: var(--cyan) !important;
}
body:not(.is-home) .breadcrumb {
  margin-bottom: .55rem;
}
body:not(.is-home) .site-footer {
  margin-top: 0;
  padding-top: 2.35rem !important;
  padding-bottom: 1.25rem !important;
}
body:not(.is-home) .footer-grid {
  margin-bottom: 1.5rem !important;
  gap: 1.6rem 1.5rem !important;
}
body:not(.is-home) .trust-bar {
  padding: .8rem 0 !important;
}

/* ── Chrome ─────────────────────────────────── */
.is-home .topbar { display: none; }

.topbar {
  background: var(--indigo-deep);
  font-size: .75rem;
  letter-spacing: .01em;
}

.site-header {
  background: rgba(255, 255, 255, .94);
  backdrop-filter: blur(14px) saturate(1.15);
  -webkit-backdrop-filter: blur(14px) saturate(1.15);
  border-bottom: 1px solid rgba(48, 42, 129, .07);
}

.is-home .site-header {
  position: sticky;
  top: 0;
  background: rgba(255, 255, 255, .9);
  border-bottom: 1px solid transparent;
  transition: background .25s, border-color .25s;
}
.is-home .site-header.is-scrolled {
  background: rgba(255, 255, 255, .97);
  border-bottom-color: rgba(48, 42, 129, .1);
}

.brand img {
  height: 42px;
  max-width: 210px;
}

/* Search — quieter field */
.search-simple {
  border: 1px solid rgba(48, 42, 129, .1) !important;
  border-radius: 8px !important;
  background: #f7f9fc !important;
  overflow: hidden;
  transition: border-color .2s, background .2s, box-shadow .2s;
}
.search-simple:focus-within {
  background: #fff !important;
  border-color: rgba(0, 163, 224, .45) !important;
  box-shadow: 0 0 0 3px rgba(0, 163, 224, .12);
}
.search-simple input {
  background: transparent !important;
  font-weight: 500;
  font-size: .9rem !important;
  color: var(--ink);
}
.search-submit {
  background: var(--indigo) !important;
  font-weight: 700 !important;
  font-size: .86rem !important;
  letter-spacing: -.01em;
  padding: 0 1.2rem !important;
}
.search-submit:hover { background: var(--cyan-deep) !important; }

/* Header actions — SVG icons */
.header-actions {
  gap: .1rem !important;
}
.icon-btn {
  position: relative !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--ink-soft) !important;
  font-weight: 600 !important;
  font-size: .84rem !important;
  width: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  border-radius: 8px !important;
  gap: 0 !important;
}
.icon-btn .icon-svg {
  display: block;
  flex-shrink: 0;
}
.icon-btn:hover {
  color: var(--indigo) !important;
  background: rgba(48, 42, 129, .06) !important;
  border-color: transparent !important;
}
.icon-btn-cart {
  color: var(--indigo) !important;
}
.icon-btn-text {
  width: auto !important;
  min-width: auto !important;
  padding: 0 .7rem !important;
  font-size: .8rem !important;
  font-weight: 700 !important;
}
.cart-count {
  position: absolute !important;
  top: 4px !important;
  right: 2px !important;
  background: var(--cyan) !important;
  color: #041824 !important;
  border-radius: 4px !important;
  font-weight: 750 !important;
  min-width: 1.05rem !important;
  height: 1.05rem !important;
  font-size: .62rem !important;
  padding: 0 .2rem !important;
  line-height: 1 !important;
  display: inline-grid !important;
  place-items: center !important;
}
.cart-count[hidden] {
  display: none !important;
}

/* ── Main nav — editorial strip ─────────────── */
.main-nav,
.is-home .main-nav {
  position: sticky;
  top: var(--header-h, 72px);
  z-index: 55;
  background: rgba(255, 255, 255, .88) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(48, 42, 129, .08) !important;
}
.nav-bar {
  display: flex !important;
  align-items: center !important;
  gap: .25rem !important;
  min-height: 52px !important;
}
.mega-trigger {
  display: inline-flex !important;
  align-items: center;
  gap: .5rem;
  background: transparent !important;
  color: var(--indigo) !important;
  border: 0 !important;
  border-radius: 6px !important;
  padding: .55rem .85rem !important;
  font-weight: 750 !important;
  font-size: .88rem !important;
  letter-spacing: -.015em;
  cursor: pointer;
  transition: background .2s, color .2s;
}
.mega-trigger:hover,
.mega-trigger[aria-expanded="true"] {
  background: rgba(48, 42, 129, .07) !important;
  color: var(--indigo) !important;
}
.mega-icon {
  width: 14px !important;
  height: 11px !important;
  background:
    linear-gradient(var(--indigo), var(--indigo)) 0 0 / 100% 2px no-repeat,
    linear-gradient(var(--indigo), var(--indigo)) 0 4.5px / 100% 2px no-repeat,
    linear-gradient(var(--indigo), var(--indigo)) 0 9px / 70% 2px no-repeat !important;
}
.nav-list {
  display: flex !important;
  align-items: center;
  gap: .05rem;
  list-style: none;
  margin: 0;
  padding: 0;
  flex: 1;
}
.nav-list > li > a,
.nav-list a {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding: .7rem .9rem !important;
  font-weight: 600 !important;
  font-size: .88rem !important;
  color: var(--ink-soft) !important;
  letter-spacing: -.01em;
  border: 0 !important;
  background: transparent !important;
  transition: color .2s;
}
.nav-list > li > a::after,
.nav-list a::after {
  content: "";
  position: absolute;
  left: .9rem;
  right: .9rem;
  bottom: .45rem;
  height: 2px;
  background: var(--cyan);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .25s var(--ease);
  border-radius: 1px;
}
.nav-list > li > a:hover,
.nav-list a:hover,
.nav-list > li > a.is-active,
.nav-list a.is-active {
  color: var(--indigo) !important;
  border-bottom: 0 !important;
  border-bottom-color: transparent !important;
  box-shadow: none !important;
}
.nav-list > li > a:hover::after,
.nav-list a:hover::after,
.nav-list > li > a.is-active::after,
.nav-list a.is-active::after {
  transform: scaleX(1);
}
.nav-cta {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  padding: .55rem 1.05rem;
  border-radius: 6px;
  background: var(--indigo);
  color: #fff !important;
  font-weight: 750;
  font-size: .84rem;
  letter-spacing: -.015em;
  transition: background .2s, transform .2s;
  white-space: nowrap;
}
.nav-cta:hover {
  background: var(--cyan-deep);
  transform: translateY(-1px);
}

@media (max-width: 900px) {
  .nav-cta { display: none; }
  .mega-trigger {
    width: auto !important;
    justify-content: flex-start !important;
  }
}

/* ── Buttons ────────────────────────────────── */
.btn {
  border-radius: var(--radius-sm) !important;
  font-weight: 700;
  letter-spacing: -.015em;
  box-shadow: none !important;
}
.btn-primary {
  background: var(--indigo) !important;
  color: #fff !important;
}
.btn-primary:hover {
  background: var(--cyan-deep) !important;
  transform: translateY(-1px);
}
.btn-ghost {
  border: 1px solid rgba(48, 42, 129, .2) !important;
  color: var(--indigo) !important;
  background: rgba(255, 255, 255, .75) !important;
}
.btn-dark {
  background: var(--indigo-deep) !important;
  color: #fff !important;
}
.btn-outline:hover {
  border-color: var(--indigo) !important;
  color: var(--indigo) !important;
}

/* ── Hero stage ─────────────────────────────── */
.hero.hero-stage {
  position: relative;
  min-height: calc(100vh - 118px);
  min-height: calc(100dvh - 118px);
  display: grid;
  align-items: end;
  overflow: hidden;
  background: #15124a;
  margin: 0;
}
.hero-media {
  position: absolute;
  inset: 0;
}
.hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 62% center;
  animation: heroDrift 40s var(--ease) infinite alternate;
  filter: contrast(1.04) saturate(1.02) brightness(.88);
}
@keyframes heroDrift {
  from { transform: scale(1.02); }
  to { transform: scale(1.07) translate(-1%, -.35%); }
}
@media (prefers-reduced-motion: reduce) {
  .hero-media img,
  .brand-ticker .brand-track { animation: none !important; transform: none; }
}
.hero-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(102deg,
      #f7fafd 0%,
      rgba(247, 250, 253, .98) 28%,
      rgba(247, 250, 253, .92) 42%,
      rgba(247, 250, 253, .55) 58%,
      rgba(247, 250, 253, .12) 72%,
      transparent 84%),
    linear-gradient(0deg, rgba(20, 16, 55, .5) 0%, transparent 40%);
  pointer-events: none;
}
.hero-glow { display: none !important; }
.hero-inner {
  position: relative;
  z-index: 2;
  padding: 4rem 0 5.75rem;
  max-width: 640px;
  justify-self: stretch;
}
.hero-logo {
  height: clamp(76px, 11.5vw, 124px) !important;
  width: auto !important;
  max-width: min(540px, 90vw) !important;
  margin: 0 0 1.45rem !important;
  animation: riseIn 1s var(--ease) both;
  filter: drop-shadow(0 2px 0 rgba(255, 255, 255, .9)) drop-shadow(0 8px 24px rgba(247, 250, 253, .85));
}
.hero h1 {
  margin: 0 0 .65rem;
  font-size: clamp(1.95rem, 4.8vw, 3.15rem) !important;
  font-weight: 800 !important;
  letter-spacing: -.045em !important;
  line-height: 1.02 !important;
  color: #1a1658 !important;
  max-width: 12ch !important;
  animation: riseIn 1s .07s var(--ease) both;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .95), 0 0 24px rgba(247, 250, 253, .9);
}
.hero-inner > p {
  margin: 0 0 1.75rem;
  font-size: clamp(1.02rem, 1.45vw, 1.14rem);
  font-weight: 600;
  color: #2c3550;
  max-width: 28rem;
  line-height: 1.45;
  animation: riseIn 1s .12s var(--ease) both;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .9);
}
.hero-cta {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  animation: riseIn 1s .18s var(--ease) both;
}
.hero-cta .btn {
  padding: 1rem 1.6rem;
  font-size: .98rem;
  min-width: 10.25rem;
}
.hero-cta .btn-ghost {
  background: #fff !important;
  border: 1px solid rgba(48, 42, 129, .22) !important;
  color: var(--indigo) !important;
}
.hero-cta .btn-ghost:hover {
  background: #fff !important;
  border-color: var(--cyan) !important;
  color: var(--cyan-deep) !important;
}
@keyframes riseIn {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: none; }
}

/* ── Corridor ───────────────────────────────── */
.corridor {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  background: var(--indigo-deep);
}
.corridor-panel {
  position: relative;
  display: block;
  min-height: clamp(180px, 24vh, 240px);
  overflow: hidden;
  color: #fff;
  isolation: isolate;
}
.corridor-panel + .corridor-panel {
  box-shadow: inset 1px 0 0 rgba(255, 255, 255, .08);
}
.corridor-panel img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.03);
  transition: transform .75s var(--ease), filter .4s;
  filter: brightness(.86) saturate(1.04);
}
.corridor-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, transparent 18%, rgba(20, 16, 55, .45) 52%, rgba(20, 16, 55, .92) 100%);
}
.corridor-copy {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: 1.15rem 1.2rem 1.2rem;
  display: grid;
  gap: .2rem;
}
.corridor-copy strong {
  font-size: clamp(1.15rem, 1.8vw, 1.4rem);
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.1;
}
.corridor-copy span {
  font-size: .88rem;
  color: rgba(255, 255, 255, .86);
  max-width: 24ch;
  line-height: 1.35;
  font-weight: 500;
}
.corridor-copy em {
  font-style: normal;
  margin-top: .3rem;
  font-size: .8rem;
  font-weight: 700;
  color: #7dd3fc;
  transition: transform .3s var(--ease), color .3s;
}
.corridor-panel:hover img {
  transform: scale(1.08);
  filter: brightness(.94) saturate(1.08);
}
.corridor-panel:hover .corridor-copy em {
  color: #fff;
  transform: translateX(4px);
}

/* Home trust strip */
.home-trust {
  border-bottom: 1px solid rgba(48, 42, 129, .08);
  background: linear-gradient(180deg, #f7fafd 0%, #fff 100%);
}
.home-trust-inner {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
}
.home-trust-item {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  padding: 1.15rem 1rem;
  text-decoration: none;
  color: inherit;
  border-right: 1px solid rgba(48, 42, 129, .08);
  transition: background .25s var(--ease);
}
.home-trust-item:last-child { border-right: 0; }
.home-trust-item:hover {
  background: rgba(0, 163, 224, .06);
}
.home-trust-item strong {
  font-size: clamp(1.35rem, 2.4vw, 1.75rem);
  font-weight: 800;
  letter-spacing: -.04em;
  color: var(--indigo);
  line-height: 1.1;
}
.home-trust-item span {
  font-size: .78rem;
  font-weight: 650;
  color: var(--muted);
  letter-spacing: .02em;
}
@media (max-width: 720px) {
  .home-trust-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .home-trust-item:nth-child(2n) { border-right: 0; }
  .home-trust-item:nth-child(-n+2) {
    border-bottom: 1px solid rgba(48, 42, 129, .08);
  }
}
.mosaic-count {
  display: inline-block;
  margin-top: .45rem;
  font-size: .72rem;
  font-weight: 750;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .82);
}

/* ── Brand logos — fixed equal box ───────────── */
.brand-logo,
.brand-hero-logo,
.brand-track img,
.brand-ticker .brand-logo,
.brands-index-card .brand-logo,
.search-brand-row img {
  width: var(--brand-logo-w) !important;
  height: var(--brand-logo-h) !important;
  max-width: var(--brand-logo-w) !important;
  max-height: var(--brand-logo-h) !important;
  object-fit: contain !important;
  object-position: center !important;
  display: block;
}

/* ── Brand ticker ───────────────────────────── */
.brand-ticker {
  position: relative;
  background: #fff;
  border-bottom: 1px solid var(--line-soft);
  padding: 1.05rem 0;
  overflow: hidden;
}
.brand-ticker-fade {
  pointer-events: none;
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(90deg, #fff 0%, transparent 8%, transparent 92%, #fff 100%);
}
.brand-ticker .brand-track {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: nowrap;
  gap: 1.75rem;
  width: max-content;
  padding: 0 1rem;
  animation: ticker 48s linear infinite;
}
.brand-ticker:hover .brand-track { animation-play-state: paused; }
.brand-ticker .brand-track a {
  width: var(--brand-logo-w);
  height: var(--brand-logo-h);
  flex: 0 0 var(--brand-logo-w);
  display: grid;
  place-items: center;
  border: 0;
  background: transparent;
  box-shadow: none;
  opacity: .78;
  transition: opacity .25s;
}
.brand-ticker .brand-track a:hover { opacity: 1; }
@keyframes ticker {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* ── Sections ───────────────────────────────── */
.home-section {
  padding: clamp(2rem, 3.5vw, 3rem) 0;
}
.home-section--mist {
  background: linear-gradient(180deg, #fff 0%, #f2f5fa 100%);
}
.home-section--vitrin {
  background: #fff;
  border-top: 1px solid var(--line-soft);
}
.home-head {
  margin-bottom: 1.1rem;
  max-width: 36rem;
}
.home-head--split {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1rem;
  max-width: none;
  flex-wrap: wrap;
}
.home-head-link {
  font-weight: 700;
  color: var(--cyan-deep);
  font-size: .92rem;
  white-space: nowrap;
  transition: color .2s;
}
.home-head-link:hover { color: var(--indigo); }
.home-head .eyebrow {
  margin: 0 0 .35rem;
  font-size: .7rem;
  font-weight: 750;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--cyan);
}
.home-head h2 {
  margin: 0;
  font-size: clamp(1.45rem, 2.4vw, 1.95rem);
  font-weight: 800;
  letter-spacing: -.035em;
  color: var(--indigo);
  line-height: 1.1;
}
.home-head-lead {
  margin: .45rem 0 0;
  max-width: 34rem;
  font-size: .95rem;
  line-height: 1.45;
  color: var(--muted);
  font-weight: 500;
}

/* Dispatch lanes — visual quick-ship tiles */
.home-section--dispatch {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse 70% 80% at 0% 0%, rgba(0, 163, 224, .08), transparent 55%),
    radial-gradient(ellipse 50% 60% at 100% 100%, rgba(48, 42, 129, .06), transparent 50%),
    linear-gradient(180deg, #f3f7fb 0%, #eef3f8 100%);
}
.lane-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.lane {
  display: grid;
  grid-template-rows: 140px 1fr;
  gap: 0;
  padding: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(48, 42, 129, .08);
  border-radius: 14px;
  min-height: 0;
  isolation: isolate;
  transition:
    transform .35s var(--ease),
    border-color .25s,
    box-shadow .35s var(--ease);
}
.lane:hover {
  transform: translateY(-4px);
  border-color: rgba(0, 163, 224, .35);
  box-shadow: 0 18px 40px rgba(20, 16, 55, .1);
  background: #fff;
}
.lane-media {
  position: relative;
  display: block;
  overflow: hidden;
  background: var(--indigo-deep, #1a1640);
}
.lane-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 35%, rgba(12, 16, 40, .28) 100%);
  pointer-events: none;
}
.lane-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.04);
  transition: transform .7s var(--ease), filter .4s;
  filter: brightness(.92) saturate(1.05);
}
.lane:hover .lane-media img {
  transform: scale(1.1);
  filter: brightness(1) saturate(1.08);
}
.lane-media.is-product {
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 30% 20%, rgba(0, 163, 224, .22), transparent 55%),
    linear-gradient(145deg, #1a1648, #0d2a3d);
}
.lane-media.is-product::after { display: none; }
.lane-media.is-product img {
  width: auto;
  max-width: 72%;
  max-height: 78%;
  object-fit: contain;
  transform: none;
  filter: none;
}
.lane:hover .lane-media.is-product img {
  transform: scale(1.06);
  filter: none;
}
.lane-body {
  display: grid;
  gap: .55rem;
  padding: .95rem 1.05rem 1.1rem;
  align-content: start;
}
.lane-tag {
  display: inline-flex;
  justify-content: center;
  justify-self: start;
  padding: .3rem .55rem;
  font-size: .62rem;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
  border-radius: 999px;
  background: var(--indigo);
  color: #fff;
}
.lane-tag.is-fast { background: var(--cyan); color: #041824; }
.lane-tag.is-stock { background: #0f766e; color: #fff; }
.lane-tag.is-rfq { background: #e9eef8; color: var(--indigo); }
.lane-copy strong {
  display: block;
  font-size: 1.05rem;
  font-weight: 780;
  color: var(--indigo);
  letter-spacing: -.025em;
  line-height: 1.2;
}
.lane-copy span {
  display: block;
  margin-top: .28rem;
  font-size: .86rem;
  color: var(--muted);
  line-height: 1.4;
}
.lane-cta {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin-top: .15rem;
  font-size: .82rem;
  font-weight: 750;
  color: var(--cyan-deep);
  transition: color .2s, gap .25s var(--ease);
}
.lane-cta em {
  font-style: normal;
  transition: transform .25s var(--ease);
}
.lane:hover .lane-cta { color: var(--indigo); gap: .5rem; }
.lane:hover .lane-cta em { transform: translateX(3px); }

@media (max-width: 900px) {
  .lane-list {
    grid-template-columns: 1fr;
  }
  .lane {
    grid-template-columns: 120px 1fr;
    grid-template-rows: auto;
    min-height: 120px;
  }
  .lane-media {
    min-height: 100%;
  }
}

/* Mosaic */
.mosaic {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: .5rem;
}
.mosaic-tile {
  position: relative;
  grid-column: span 4;
  min-height: 180px;
  overflow: hidden;
  color: #fff;
  isolation: isolate;
  display: flex;
  align-items: flex-end;
  padding: 1.05rem 1.1rem;
}
.mosaic-tile:nth-child(1) { grid-column: span 7; min-height: 220px; }
.mosaic-tile:nth-child(2) { grid-column: span 5; min-height: 220px; }
.mosaic-tile:nth-child(3),
.mosaic-tile:nth-child(4),
.mosaic-tile:nth-child(5) { grid-column: span 4; }
.mosaic-tile:nth-child(6),
.mosaic-tile:nth-child(7) { grid-column: span 6; }
.mosaic-tile img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.04);
  transition: transform .7s var(--ease), filter .4s;
  filter: brightness(.68) saturate(1.04);
}
.mosaic-tile::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(155deg, rgba(31, 26, 90, .5) 0%, transparent 48%),
    linear-gradient(180deg, transparent 22%, rgba(18, 14, 48, .9) 100%);
}
.mosaic-copy { position: relative; z-index: 2; }
.mosaic-tile h3 {
  margin: 0 0 .2rem;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -.03em;
}
.mosaic-tile p {
  margin: 0;
  font-size: .84rem;
  color: rgba(255, 255, 255, .86);
  max-width: 28ch;
  line-height: 1.35;
  font-weight: 500;
}
.mosaic-tile:hover img {
  transform: scale(1.08);
  filter: brightness(.74) saturate(1.08);
}

/* Vitrin cards */
.is-home .product-grid { gap: .9rem; }
.is-home .product-card {
  border: 1px solid var(--line-soft) !important;
  border-radius: var(--radius) !important;
  box-shadow: none !important;
  background: #fff;
  transition: border-color .25s, transform .35s var(--ease), box-shadow .35s;
}
.is-home .product-card:hover {
  border-color: rgba(0, 163, 224, .4) !important;
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(21, 28, 46, .07) !important;
}
.product-brand { color: var(--cyan-deep) !important; }
.product-title a { color: var(--indigo); font-weight: 700; }
.price-tl { color: var(--indigo); font-weight: 800; }
.badge {
  border-radius: 4px !important;
  background: var(--indigo) !important;
  letter-spacing: .04em;
  text-transform: uppercase;
}

/* Close band */
.close-band {
  position: relative;
  overflow: hidden;
  background: linear-gradient(125deg, var(--indigo-deep) 0%, var(--indigo) 52%, #1a4d8c 100%);
  color: #fff;
  padding: clamp(2rem, 4vw, 2.75rem) 0;
}
.close-band::before {
  content: "";
  position: absolute;
  right: -8%;
  top: -35%;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0, 163, 224, .22), transparent 70%);
  pointer-events: none;
}
.close-band-inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.close-band-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
}
.close-band .eyebrow {
  margin: 0 0 .3rem;
  font-size: .7rem;
  font-weight: 750;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #7dd3fc;
}
.close-band h2 {
  margin: 0 0 .35rem;
  font-size: clamp(1.4rem, 2.4vw, 1.9rem);
  font-weight: 800;
  letter-spacing: -.035em;
  max-width: 16ch;
  line-height: 1.1;
}
.close-band p {
  margin: 0;
  color: rgba(255, 255, 255, .82);
  max-width: 32rem;
  font-size: .95rem;
  font-weight: 500;
  line-height: 1.4;
}
.close-band .btn-primary {
  background: var(--cyan) !important;
  color: #041824 !important;
}
.close-band .btn-primary:hover { background: #38c9ff !important; }
.close-band .btn-ghost {
  border-color: rgba(255, 255, 255, .4) !important;
  color: #fff !important;
  background: transparent !important;
}
.close-band .btn-ghost:hover {
  background: rgba(255, 255, 255, .1) !important;
  border-color: #fff !important;
}

/* Site chrome */
.site-footer {
  background: #eef2f8 !important;
  border-top: 1px solid rgba(48, 42, 129, .1) !important;
}
.site-footer h4 {
  color: var(--indigo) !important;
  font-size: .7rem !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.trust-bar {
  background: var(--indigo-deep) !important;
  color: rgba(255, 255, 255, .78) !important;
  border: 0 !important;
  margin-top: 0 !important;
}
.trust-bar-item strong { color: #fff !important; }
.trust-bar-item a { color: #7dd3fc !important; }

.brand-kicker,
.section-kicker {
  color: var(--cyan) !important;
  font-weight: 750 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  font-size: .72rem !important;
}
.page-title,
.section-head h2 {
  color: var(--indigo) !important;
  font-weight: 800 !important;
  letter-spacing: -.03em !important;
}
.page-shell-head::after {
  content: "";
  display: block;
  width: 2rem;
  height: 2px;
  margin-top: .75rem;
  background: var(--cyan);
}
.panel {
  border: 1px solid var(--line-soft) !important;
  box-shadow: none !important;
}

.reveal {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity .65s var(--ease), transform .65s var(--ease);
}
.reveal.is-in {
  opacity: 1;
  transform: none;
}

@media (max-width: 1100px) {
  .corridor { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 980px) {
  .corridor { grid-template-columns: 1fr; }
  .corridor-panel { min-height: 190px; }
  .corridor-panel + .corridor-panel {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
  }
  .mosaic-tile,
  .mosaic-tile:nth-child(n) {
    grid-column: span 12;
    min-height: 170px !important;
  }
  .lane {
    grid-template-columns: 120px 1fr;
    grid-template-rows: auto;
  }
  .lane-media {
    min-height: 118px;
  }
  .hero.hero-stage {
    min-height: calc(100vh - 72px);
    min-height: calc(100dvh - 72px);
  }
  .hero-inner {
    padding: 2.5rem 0 3.25rem;
    max-width: none;
  }
  .hero-logo {
    height: clamp(58px, 15vw, 84px) !important;
    margin-bottom: 1.25rem !important;
  }
  .hero h1 { font-size: clamp(1.8rem, 8.5vw, 2.4rem) !important; }
  .hero-shade {
    background:
      linear-gradient(180deg, rgba(247, 250, 253, .55) 0%, rgba(247, 250, 253, .92) 42%, #f7fafd 100%),
      linear-gradient(90deg, #f7fafd 0%, rgba(247, 250, 253, .85) 48%, transparent 88%);
  }
  .brand-ticker-fade {
    background: linear-gradient(90deg, #fff 0%, transparent 6%, transparent 94%, #fff 100%);
  }
  .close-band-inner { align-items: flex-start; }
  .is-home .main-nav { top: 64px; }
}

/* ═══════════════════════════════════════════════
   Single-row header (kill 2-line chrome)
   ═══════════════════════════════════════════════ */
.main-nav { display: none !important; }

.site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 70 !important;
}
.header-one {
  display: grid !important;
  grid-template-columns: auto auto minmax(160px, 1fr) auto !important;
  gap: .55rem .85rem !important;
  align-items: center !important;
  min-height: 62px !important;
  padding: .4rem 0 !important;
}
.header-one .brand img {
  height: 38px !important;
  max-width: 180px !important;
}
.header-nav {
  display: flex !important;
  align-items: center;
  gap: .05rem;
}
.header-nav .mega-trigger {
  padding: .4rem .55rem !important;
  font-size: .82rem !important;
  background: transparent !important;
  color: var(--indigo) !important;
}
.header-nav .nav-list {
  display: flex !important;
  margin: 0;
  padding: 0;
  list-style: none;
  gap: 0;
}
.header-nav .nav-list a {
  padding: .4rem .55rem !important;
  font-size: .82rem !important;
  font-weight: 600 !important;
  color: var(--ink-soft) !important;
  border: 0 !important;
  position: relative;
  white-space: nowrap;
}
.header-nav .nav-list a::after {
  content: "";
  position: absolute;
  left: .55rem;
  right: .55rem;
  bottom: .15rem;
  height: 2px;
  background: var(--cyan);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .2s var(--ease);
}
.header-nav .nav-list a:hover,
.header-nav .nav-list a.is-active {
  color: var(--indigo) !important;
  border-bottom: 0 !important;
}
.header-nav .nav-list a:hover::after,
.header-nav .nav-list a.is-active::after {
  transform: scaleX(1);
}
.header-one .search-simple {
  min-height: 40px !important;
}
.header-one .search-simple input,
.header-one .search-simple .search-submit {
  height: 40px !important;
  min-height: 40px !important;
}
.site-header .mega-menu {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
}
.hero.hero-stage {
  min-height: calc(100vh - 64px) !important;
  min-height: calc(100dvh - 64px) !important;
}

@media (max-width: 1100px) {
  .header-one {
    grid-template-columns: auto minmax(140px, 1fr) auto !important;
  }
  .header-nav { display: none !important; }
}
@media (max-width: 900px) {
  .header-one {
    grid-template-columns: auto 1fr auto !important;
    min-height: 56px !important;
  }
  .header-nav { display: none !important; }
  .hero.hero-stage {
    min-height: calc(100vh - 56px) !important;
    min-height: calc(100dvh - 56px) !important;
  }
}

/* ═══════════════════════════════════════════════
   Search panel — compact, balanced dropdown
   ═══════════════════════════════════════════════ */
.search-shell {
  position: relative;
  min-width: 0;
}
.search-panel {
  position: absolute !important;
  left: 50% !important;
  right: auto !important;
  top: calc(100% + 8px) !important;
  width: min(560px, calc(100vw - 2rem)) !important;
  transform: translateX(-50%);
  max-height: min(420px, 70vh);
  overflow: auto;
  padding: 1rem 1.1rem !important;
  border: 1px solid rgba(48, 42, 129, .1) !important;
  border-radius: 10px !important;
  box-shadow: 0 16px 40px rgba(21, 28, 46, .12) !important;
  background: #fff !important;
  z-index: 90 !important;
}
.search-panel-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 1rem !important;
}
.search-panel-grid:has(.search-result-list),
.search-panel-grid.has-results {
  grid-template-columns: 1fr !important;
}
.search-col h4 {
  margin: 0 0 .5rem !important;
  font-size: .68rem !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  font-weight: 750 !important;
}
.search-col-quick h4 + h4,
.search-col-quick .search-chips + h4 {
  margin-top: .95rem !important;
}
.search-chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .35rem !important;
}
.search-chips a {
  border: 1px solid var(--line-soft) !important;
  border-radius: 5px !important;
  padding: .32rem .55rem !important;
  font-size: .8rem !important;
  font-weight: 600 !important;
  background: #f7f9fc !important;
  color: var(--ink-soft) !important;
}
.search-chips a:hover {
  border-color: rgba(0, 163, 224, .4) !important;
  color: var(--indigo) !important;
  background: #fff !important;
}
.search-brand-row {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: .5rem !important;
}
.search-brand-row a {
  width: auto !important;
  flex: none !important;
  min-height: calc(var(--brand-logo-h) + 18px) !important;
  height: auto !important;
  padding: .5rem .35rem !important;
  border: 1px solid var(--line-soft) !important;
  border-radius: 6px !important;
  background: #fff !important;
  display: grid !important;
  place-items: center !important;
}
.search-brand-row img {
  width: var(--brand-logo-w) !important;
  height: var(--brand-logo-h) !important;
  max-width: 100% !important;
  max-height: var(--brand-logo-h) !important;
  object-fit: contain !important;
}
.search-all-brands {
  display: inline-block;
  margin-top: .65rem;
  font-size: .82rem;
  font-weight: 700;
  color: var(--cyan-deep);
}
.search-all-brands:hover { color: var(--indigo); }
.search-col-live:has(.search-result-list) {
  border-top: 0;
  padding-top: 0;
}
.search-panel-grid:has(.search-result-list) .search-col-quick {
  display: none;
}
.search-hint {
  margin: 0 !important;
  padding: .85rem .2rem !important;
  text-align: center;
  color: var(--muted) !important;
  font-size: .88rem !important;
  font-weight: 500;
  line-height: 1.45;
}
.search-result-list {
  display: grid !important;
  gap: .25rem !important;
}
.search-result-item {
  padding: .5rem .4rem !important;
  border-radius: 6px !important;
}
.search-result-item:hover {
  background: #f3f6fb !important;
}

@media (max-width: 900px) {
  .search-panel {
    left: 0 !important;
    transform: none !important;
    width: 100% !important;
    max-height: min(360px, 60vh);
  }
  .search-brand-row {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

/* ── Shop elevation: catalog + PDP + cards ───── */
.eyebrow {
  margin: 0 0 .45rem;
  font-size: .7rem;
  font-weight: 750;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--cyan);
}
.eyebrow-on-dark {
  color: #7dd3fc !important;
}

.is-catalog,
.is-product {
  background:
    radial-gradient(900px 380px at 88% -8%, rgba(0, 163, 224, .09), transparent 55%),
    radial-gradient(700px 320px at 0% 12%, rgba(48, 42, 129, .06), transparent 50%),
    #f3f6fa;
}

.section-shop {
  padding-top: 1rem !important;
  padding-bottom: 2.5rem !important;
}
.is-catalog .section-shop {
  padding-top: .75rem !important;
  padding-bottom: 2.25rem !important;
}

/* Catalog hero — compact strip */
.is-catalog .catalog-hero {
  position: relative;
  margin-bottom: .75rem;
  padding: .7rem 1rem .75rem;
  border-radius: 4px 10px 10px 4px;
  border: 1px solid rgba(48, 42, 129, .1);
  border-left: 3px solid var(--cyan);
  background: #fff;
  overflow: hidden;
}
.is-catalog .catalog-hero::after {
  display: none;
}
.is-catalog .catalog-hero-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .25rem;
}
.is-catalog .catalog-hero .breadcrumb {
  position: relative;
  z-index: 1;
  margin: 0;
  font-size: .78rem;
}
.is-catalog .catalog-hero-count {
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--muted);
  white-space: nowrap;
}
.is-catalog .catalog-hero-main {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .35rem .85rem;
}
.is-catalog .catalog-hero .page-title {
  position: relative;
  z-index: 1;
  margin: 0;
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  font-weight: 800;
  letter-spacing: -.03em;
  color: var(--indigo);
  line-height: 1.15;
  max-width: none;
}
.is-catalog .catalog-hero-lead {
  position: relative;
  z-index: 1;
  margin: 0;
  max-width: 36rem;
  font-size: .9rem;
  font-weight: 500;
  color: var(--ink-soft);
  line-height: 1.35;
}

/* Category cover — shorter */
.is-catalog .cat-cover {
  border-radius: 4px 12px 12px 4px;
  min-height: 140px;
  margin-bottom: .85rem;
  border: 1px solid rgba(48, 42, 129, .12);
}
.is-catalog .cat-cover img {
  filter: contrast(1.05) saturate(1.05);
  transform: scale(1.02);
}
.is-catalog .cat-cover-copy {
  padding: 1rem 1.15rem 1.1rem;
  background:
    linear-gradient(105deg, rgba(31, 26, 90, .88) 0%, rgba(31, 26, 90, .55) 42%, rgba(12, 28, 48, .28) 100%),
    linear-gradient(0deg, rgba(31, 26, 90, .55) 0%, transparent 55%);
}
.is-catalog .cat-cover-copy .page-title {
  font-size: clamp(1.35rem, 2.6vw, 1.85rem);
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1.1;
  max-width: none;
  margin: .15rem 0 .25rem;
}
.is-catalog .cat-cover-copy > p:not(.eyebrow) {
  font-weight: 500;
  max-width: 34rem;
  line-height: 1.4;
  font-size: .92rem;
  color: rgba(255, 255, 255, .86);
}
.is-catalog .cat-cover-count {
  display: inline-block;
  margin-top: .45rem;
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .7);
}

/* Filter chips — tighter */
.is-catalog .filter-chips {
  gap: .35rem;
  margin: 0 0 .85rem;
  padding: .4rem 0;
  background: linear-gradient(180deg, rgba(243, 246, 250, .96) 55%, transparent);
  border-bottom: 1px solid transparent;
}
.is-catalog .filter-chips--bare {
  margin: 0 0 .35rem;
  padding: 0;
  min-height: 0;
}
@media (min-width: 901px) {
  .is-catalog .filter-chips--bare {
    display: none;
  }
}
.is-catalog .filter-chips-label {
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--muted);
  margin-right: .35rem;
}
.is-catalog .filter-chip {
  border-radius: 5px;
  padding: .38rem .65rem;
  font-size: .8rem;
  font-weight: 650;
  border-color: rgba(48, 42, 129, .14);
  background: #fff;
  color: var(--ink-soft);
  transition: border-color .2s, color .2s, background .2s;
}
.is-catalog .filter-chip:hover {
  border-color: rgba(0, 163, 224, .45);
  color: var(--indigo);
}
.is-catalog .filter-chip.is-on {
  border-color: rgba(0, 163, 224, .5);
  background: rgba(0, 163, 224, .09);
  color: var(--indigo);
}
.is-catalog .filter-chip-clear {
  color: #b42318;
  border-color: rgba(180, 35, 24, .2);
  background: #fff8f7;
}

/* Filters / category nav */
.is-catalog .catalog-layout {
  gap: 1.35rem;
}
.is-catalog .filter-block,
.is-catalog .cat-nav {
  border-radius: 8px;
  border-color: rgba(48, 42, 129, .1);
  box-shadow: none;
  background: #fff;
}
.is-catalog .cat-nav {
  background: #fff;
  padding: .95rem .8rem .85rem;
}
.is-catalog .cat-nav-label,
.is-catalog .filters h3 {
  font-size: .68rem;
  letter-spacing: .14em;
  color: var(--muted);
}
.is-catalog .filters input,
.is-catalog .filters select {
  border-radius: 7px;
  border-color: rgba(48, 42, 129, .12);
}
.is-catalog .cat-nav-all.is-active,
.is-catalog .cat-acc-link.is-active,
.is-catalog .cat-acc-item.is-active > a,
.is-catalog .cat-acc-sub a.is-active {
  background: rgba(0, 163, 224, .08);
  color: var(--indigo);
  font-weight: 700;
}
.is-catalog .pagination {
  margin-top: 1.25rem;
  gap: .35rem;
}
.is-catalog .pagination a,
.is-catalog .pagination .current {
  min-width: 2.4rem;
  height: 2.4rem;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(48, 42, 129, .12);
  background: #fff;
  font-weight: 700;
  font-size: .86rem;
  color: var(--ink-soft);
  text-decoration: none;
  border-radius: 6px;
}
.is-catalog .pagination .current {
  background: var(--indigo);
  border-color: var(--indigo);
  color: #fff;
}
.is-catalog .pagination a:hover {
  border-color: var(--cyan);
  color: var(--indigo);
}

/* Product grid rhythm */
.is-catalog .product-grid {
  gap: 1rem;
}

/* Product cards — brand parity */
.product-card {
  border-radius: 8px !important;
  border-color: rgba(48, 42, 129, .09) !important;
  background: #fff !important;
  transition: border-color .25s var(--ease), transform .35s var(--ease) !important;
}
.product-card:hover {
  border-color: rgba(0, 163, 224, .42) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 28px rgba(31, 26, 90, .06) !important;
}
.product-media {
  background:
    linear-gradient(165deg, #eef2f8 0%, #f7fafc 48%, #fff 100%) !important;
  border-bottom-color: rgba(48, 42, 129, .06) !important;
}
.product-brand {
  color: var(--indigo) !important;
  letter-spacing: .06em !important;
}
.product-title {
  font-weight: 650 !important;
  letter-spacing: -.02em !important;
  color: var(--ink) !important;
}
.product-title a:hover { color: var(--cyan-deep) !important; }
.badge {
  border-radius: 4px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
}
.badge-new { background: var(--indigo) !important; }
.data-row {
  font-size: .72rem;
  font-weight: 600;
  color: var(--muted);
}
.price-block .price-tl {
  font-weight: 800 !important;
  letter-spacing: -.03em !important;
  color: var(--indigo) !important;
}
.price-quote {
  color: var(--indigo) !important;
  font-weight: 700 !important;
}
.product-card--oos {
  opacity: .72;
}
.product-card--oos:hover {
  transform: none !important;
  box-shadow: none !important;
}

/* Product card — hover alt + actions */
.product-media {
  position: relative !important;
  overflow: hidden !important;
}
.product-media-main {
  position: relative;
  z-index: 1;
  transition: opacity .35s var(--ease), transform .45s var(--ease);
}
.product-media-alt {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: grid;
  place-items: center;
  opacity: 0;
  background:
    radial-gradient(circle at 50% 40%, rgba(0, 163, 224, .16), transparent 60%),
    linear-gradient(160deg, #1a1648, #0d2a3d);
  transition: opacity .35s var(--ease);
}
.product-media-alt img {
  width: 52% !important;
  max-height: 48% !important;
  object-fit: contain !important;
  filter: brightness(1.05);
}
.product-card:hover .product-media-main {
  opacity: 0;
  transform: scale(1.04);
}
.product-card:hover .product-media-alt {
  opacity: 1;
}
.product-media-alt--photo {
  background:
    linear-gradient(165deg, #eef2f8 0%, #f7fafc 48%, #fff 100%) !important;
}
.product-media-alt--photo img {
  width: 86% !important;
  max-height: 86% !important;
  object-fit: contain !important;
  filter: none;
}
.product-media-alt--logo {
  background:
    radial-gradient(circle at 50% 40%, rgba(0, 163, 224, .16), transparent 60%),
    linear-gradient(160deg, #1a1648, #0d2a3d);
}
.badge-dealer {
  background: rgba(0, 163, 224, .12) !important;
  color: var(--indigo) !important;
}
.catalog-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .65rem 1rem;
  margin: 0 0 .85rem;
  padding: .55rem 0 .7rem;
  border-bottom: 1px solid rgba(48, 42, 129, .08);
}
.catalog-toolbar-count {
  margin: 0;
  font-size: .9rem;
  color: var(--ink-soft);
}
.catalog-toolbar-count strong {
  color: var(--indigo);
  font-weight: 800;
}
.catalog-toolbar-range {
  margin-left: .35rem;
  color: var(--muted);
  font-size: .8rem;
}
.catalog-toolbar-sort {
  display: flex;
  align-items: center;
  gap: .45rem;
  margin: 0;
}
.catalog-toolbar-sort label {
  margin: 0;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--muted);
}
.catalog-toolbar-sort select {
  min-width: 9.5rem;
  padding: .35rem .55rem;
  font-size: .86rem;
  border: 1px solid rgba(48, 42, 129, .14);
  border-radius: 6px;
  background: #fff;
  color: var(--ink);
}
.product-spec-peek {
  list-style: none;
  margin: .35rem 0 .45rem;
  padding: 0;
  display: grid;
  gap: .2rem;
}
.product-spec-peek li {
  font-size: .72rem;
  font-weight: 650;
  color: var(--indigo);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.product-spec-peek span {
  display: inline-block;
  min-width: 2.4rem;
  margin-right: .35rem;
  color: var(--muted);
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: .62rem;
}
.product-actions {
  display: flex !important;
  gap: .4rem !important;
  align-items: stretch;
}
.product-actions .btn-block { width: auto; flex: 1; }
.product-actions .btn { flex: 1; }
.product-action-form { display: contents; }
.product-action-form .btn { flex: 0 0 auto; min-width: 2.6rem; }
.badge-rfq {
  background: #e9eef8 !important;
  color: var(--indigo) !important;
}

/* Brand tone accents on cards / compare */
.brand-tone-dell .product-media,
.brand-tone-dell.compare-table th { --tone: #0076ce; }
.brand-tone-hp .product-media,
.brand-tone-hp.compare-table th { --tone: #0096d6; }
.brand-tone-lenovo .product-media,
.brand-tone-lenovo.compare-table th { --tone: #e2231a; }
.brand-tone-h3c .product-media { --tone: #ff6a00; }
.brand-tone-omada .product-media { --tone: #00a3e0; }
.brand-tone-synology .product-media { --tone: #1a73e8; }
.brand-tone-yealink .product-media { --tone: #00a0e3; }
.brand-tone-watchguard .product-media { --tone: #c8102e; }
.brand-tone-default .product-media { --tone: var(--cyan); }
.product-card[class*="brand-tone-"] .product-media {
  background:
    radial-gradient(420px 220px at 80% 0%, color-mix(in srgb, var(--tone, #00a3e0) 18%, transparent), transparent 70%),
    linear-gradient(165deg, #eef2f8 0%, #f7fafc 48%, #fff 100%) !important;
}
body.is-product[class*="brand-tone-"] .detail-media {
  background:
    radial-gradient(ellipse 70% 55% at 50% 35%, color-mix(in srgb, var(--tone, #00a3e0) 16%, transparent), transparent 68%),
    linear-gradient(165deg, #e8eef6 0%, #f4f7fb 45%, #fff 100%);
}
body.brand-tone-dell { --tone: #0076ce; }
body.brand-tone-hp { --tone: #0096d6; }
body.brand-tone-lenovo { --tone: #e2231a; }
body.brand-tone-default { --tone: #00a3e0; }

/* PDP trust + highlights + config */
.pdp-trust-band {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem .85rem;
  margin: 0 0 1.25rem;
  padding: .7rem 1rem;
  border-radius: 10px;
  background: linear-gradient(90deg, rgba(48, 42, 129, .06), rgba(0, 163, 224, .08));
  border: 1px solid rgba(48, 42, 129, .08);
  font-size: .8rem;
  color: var(--ink-soft);
}
.pdp-trust-band strong {
  color: var(--indigo);
  font-weight: 750;
  margin-right: .25rem;
}
.pdp-highlights {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border: 1px solid rgba(48, 42, 129, .14);
  background: #fff;
}
.pdp-highlights li {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: .1rem;
  margin: 0;
  padding: .55rem .7rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  border-right: 1px solid rgba(48, 42, 129, .1);
  border-bottom: 1px solid rgba(48, 42, 129, .1);
  min-height: 0;
}
.pdp-highlights li:nth-child(2n) { border-right: 0; }
.pdp-highlights li:nth-last-child(-n+2) { border-bottom: 0; }
.pdp-highlights span {
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--cyan);
  line-height: 1.2;
}
.pdp-highlights strong {
  font-size: .92rem;
  font-weight: 800;
  color: var(--indigo);
  line-height: 1.25;
}
.detail-price-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem .85rem;
  margin-top: .55rem;
  font-size: .82rem;
  font-weight: 650;
  color: var(--muted);
}
.detail-price-meta .is-out { color: #b91c1c; }
.pdp-config-box {
  margin: 0 0 1rem;
  padding: .9rem 1rem;
  border-radius: 12px;
  border: 1px dashed rgba(48, 42, 129, .22);
  background: #f8fafc;
}
.pdp-config-box > strong {
  display: block;
  font-size: .72rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--indigo);
  margin-bottom: .35rem;
}
.pdp-config-box > p {
  margin: 0;
  font-size: .88rem;
  color: var(--ink-soft);
  line-height: 1.45;
}
.pdp-config-label {
  display: block;
  margin: .75rem 0 .4rem;
  font-size: .8rem;
  font-weight: 700;
  color: var(--indigo);
}
.pdp-config-note {
  margin: .45rem 0 0 !important;
  font-size: .82rem !important;
  color: var(--muted) !important;
}
.thumb-btn--pdf {
  display: grid !important;
  place-items: center;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  color: var(--indigo);
  text-decoration: none;
  background: #eef2f8;
}
.buy-bar-specs {
  display: block;
  font-size: .72rem;
  color: var(--muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 52vw;
}
.buy-bar-quote { margin: 0; }
.detail-section--rail {
  margin-top: 2rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(48, 42, 129, .08);
}
.detail-section--rail .section-head .eyebrow {
  margin: 0 0 .3rem;
  color: var(--cyan);
}

/* Compare matrix */
.is-compare .compare-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: .85rem;
}
.compare-count {
  font-size: .85rem;
  font-weight: 700;
  color: var(--indigo);
}
.compare-table--matrix td.is-empty {
  color: #94a3b8;
  font-weight: 600;
}
.compare-table--matrix .compare-section th {
  background: var(--indigo);
  color: #fff;
  font-size: .72rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: .55rem .85rem;
}
.compare-table--matrix .compare-price {
  font-weight: 800;
  color: var(--indigo);
}
.compare-table--matrix .compare-media {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: 110px;
  margin-bottom: .55rem;
  border-radius: 10px;
  background: #f3f6fb;
}
.compare-table--matrix .compare-media img {
  max-height: 88px;
  object-fit: contain;
}

@media (max-width: 720px) {
  .pdp-highlights { grid-template-columns: 1fr 1fr; }
  .pdp-trust-band { font-size: .74rem; }
  .product-card:hover .product-media-main { opacity: 1; transform: none; }
  .product-card:hover .product-media-alt { opacity: 0; }
  .is-product .buy-bar-copy span:last-child {
    font-weight: 800;
    color: var(--indigo);
  }
}

/* PDP stage — premium product canvas */
.is-product .section-pdp {
  padding-top: 1.25rem;
}
.is-product .section-pdp .breadcrumb {
  margin-bottom: 1rem;
  font-size: .8rem;
}
.is-product .pdp-stage {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: 1.25rem 1.75rem;
  align-items: start;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}
.is-product .pdp-stage::before { display: none; }
.is-product .gallery {
  position: relative;
  z-index: 1;
  padding: 0;
}
.is-product .detail-meta {
  position: relative;
  z-index: 1;
  padding: 0;
  border-left: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: .55rem;
  min-height: 0;
}
.is-product .detail-media {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100%;
  min-height: 320px;
  height: auto;
  aspect-ratio: 1 / 1;
  max-height: 420px;
  padding: 1.75rem !important;
  margin: 0;
  border-radius: 12px;
  border: 0;
  overflow: hidden;
  cursor: zoom-in;
  background:
    radial-gradient(ellipse 80% 60% at 50% 40%, rgba(0, 163, 224, .08), transparent 70%),
    linear-gradient(165deg, #eef2f7 0%, #f7fafc 45%, #fff 100%);
  box-shadow: inset 0 0 0 1px rgba(48, 42, 129, .06);
}
.is-product .gallery .detail-media img {
  display: block !important;
  position: relative;
  z-index: 1;
  margin: auto !important;
  max-height: 100% !important;
  max-width: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
  filter: drop-shadow(0 12px 22px rgba(20, 16, 55, .1));
}
.is-product .gallery .detail-media:hover img {
  transform: none !important;
}
.is-product .gallery-zoom-hint {
  position: absolute !important;
  right: .75rem;
  bottom: .75rem;
  z-index: 2;
  border-radius: 6px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .62rem;
  background: var(--indigo);
  color: #fff;
  padding: .4rem .65rem;
  pointer-events: none;
}
.is-product .thumb-row {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: .5rem;
  margin-top: .75rem;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 4px 2px;
  overflow: visible;
}
.is-product .thumb-btn,
.is-product .thumb-btn--pdf {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  box-sizing: border-box;
  border-radius: 10px;
  border: 2px solid rgba(48, 42, 129, .12);
  background: #fff;
  width: 72px;
  height: 72px;
  max-width: calc(25% - .4rem);
  min-width: 64px;
  padding: .3rem;
  cursor: pointer;
  outline: none !important;
  box-shadow: none;
  overflow: hidden;
}
.is-product .thumb-btn img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
}
.is-product .thumb-btn.is-active,
.is-product .thumb-btn:focus-visible {
  border-color: var(--cyan);
  box-shadow: 0 0 0 2px rgba(0, 163, 224, .25);
  outline: none !important;
}
.is-product .gallery {
  min-width: 0;
  max-width: 100%;
  overflow: visible;
}
.is-product .eta-pill {
  align-self: center;
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: .02em;
  margin: 0;
  padding: .35rem .75rem;
  font-size: .78rem;
  line-height: 1.2;
  background: rgba(0, 163, 224, .12);
  color: var(--cyan-deep);
  border: 0;
}
.is-product .detail-meta h1 {
  font-size: clamp(1.45rem, 2.5vw, 2rem);
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1.15;
  color: var(--indigo);
  margin: 0 0 .55rem;
  max-width: none;
}
.is-product .sku {
  font-size: .82rem;
  margin: 0 0 .65rem;
  color: var(--muted);
}
.is-product .sku-mono {
  font-weight: 700;
  color: var(--ink-soft);
}
.is-product .detail-meta > p {
  color: var(--ink-soft);
  font-weight: 500;
  line-height: 1.5;
  max-width: 38rem;
  margin: 0 0 1rem;
  font-size: .95rem;
}
.is-product .detail-prices {
  margin: 0 0 1rem;
  padding: 1rem 1.1rem;
  border-radius: 12px;
  background: linear-gradient(135deg, #f4f7fc, #eef6fb);
  border: 1px solid rgba(48, 42, 129, .08);
}
.is-product .detail-prices .price-quote {
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--indigo);
  letter-spacing: -.02em;
}
.is-product .detail-prices .price-tl {
  font-size: clamp(1.55rem, 2.5vw, 1.95rem);
  font-weight: 800;
  letter-spacing: -.04em;
  color: var(--indigo);
}
.is-product .qty-row {
  margin-bottom: .85rem;
}
.is-product .buy-actions-primary .btn {
  min-height: 50px;
  font-size: .95rem;
  border-radius: 10px;
  font-weight: 750;
}
.is-product .buy-actions-primary .btn-primary {
  flex: 1.35 1 180px;
}
.is-product .buy-actions-primary .btn-ghost,
.is-product .buy-actions-primary .btn-outline {
  border-width: 1.5px;
}
.is-product .buy-actions-secondary {
  border-top: 1px solid rgba(48, 42, 129, .08);
  margin-top: .75rem;
  padding-top: .75rem;
}
.is-product .btn-tool {
  font-weight: 650;
  color: var(--ink-soft);
}
.is-product .btn-tool:hover,
.is-product .btn-tool.is-on {
  color: var(--indigo);
}
.is-product .trust-mini {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .75rem;
  margin-top: 1.25rem;
  padding: 1rem 0 0;
  border-top: 1px solid rgba(48, 42, 129, .1);
}
.is-product .trust-mini > div {
  display: grid;
  gap: .2rem;
}
.is-product .trust-mini strong {
  color: var(--indigo);
  letter-spacing: .08em;
  font-size: .65rem;
  text-transform: uppercase;
}
.is-product .trust-mini span {
  font-size: .8rem;
  color: var(--muted);
  line-height: 1.35;
}
.is-product .datasheet-link {
  margin-top: .85rem;
  font-size: .88rem;
}

/* Specs — board cards (dense, Edenge-like) */
.specs-panel {
  margin-top: 2rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}
.specs-panel-head {
  padding: 0 0 1rem;
  border-bottom: 0;
  background: none;
  margin-bottom: .25rem;
}
.specs-panel-head .eyebrow {
  margin: 0 0 .35rem;
  color: var(--cyan);
  font-size: .7rem;
  font-weight: 750;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.specs-panel-head h2 {
  margin: 0;
  font-size: clamp(1.35rem, 2.2vw, 1.7rem);
  font-weight: 800;
  letter-spacing: -.035em;
  color: var(--indigo);
}
.specs-boards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem;
}
.specs-board {
  background: #fff;
  border: 1px solid rgba(48, 42, 129, .1);
  border-radius: 12px;
  overflow: hidden;
  min-height: 0;
}
.specs-board h3 {
  margin: 0;
  padding: .7rem 1rem;
  font-size: .72rem;
  font-weight: 750;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #fff;
  background: var(--indigo);
}
.specs-dl {
  margin: 0;
  padding: .25rem 0;
}
.specs-dl-row {
  display: grid;
  grid-template-columns: 42% 1fr;
  gap: .75rem;
  padding: .55rem 1rem;
  border-bottom: 1px solid rgba(48, 42, 129, .06);
}
.specs-dl-row:nth-child(even) {
  background: #f7f9fc;
}
.specs-dl-row:last-child {
  border-bottom: 0;
}
.specs-dl-row dt {
  margin: 0;
  font-size: .84rem;
  font-weight: 600;
  color: var(--muted);
}
.specs-dl-row dd {
  margin: 0;
  font-size: .9rem;
  font-weight: 700;
  color: var(--indigo);
  line-height: 1.35;
  word-break: break-word;
}

.is-product .detail-desc-block {
  margin-top: 1.5rem;
  padding: 1.25rem 1.35rem;
  border-radius: 12px;
  border: 1px solid rgba(48, 42, 129, .1);
  background: #fff;
}
.is-product .detail-desc-block h2 {
  margin: 0 0 .65rem;
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--indigo);
}

@media (max-width: 980px) {
  .is-product .pdp-stage {
    grid-template-columns: 1fr;
    gap: 1.25rem;
    align-items: start;
  }
  .is-product .gallery { padding: 0; }
  .is-product .detail-meta {
    padding: 0;
    border-left: 0;
    border-top: 1px solid rgba(48, 42, 129, .1);
    padding-top: 1.25rem;
  }
  .is-product .detail-media {
    min-height: 0;
    max-height: 320px;
    aspect-ratio: 4 / 3;
  }
  .is-product .gallery .detail-media img { max-height: 90%; }
  .specs-boards { grid-template-columns: 1fr; }
  .is-product .trust-mini { grid-template-columns: 1fr; }
}
.is-product .detail-desc-block,
.is-product .detail-section {
  margin-top: 1.1rem;
  border-radius: 8px;
  border-color: rgba(48, 42, 129, .1);
}
.is-product .detail-desc-block h2,
.is-product .detail-section h2 {
  font-weight: 800;
  letter-spacing: -.03em;
  color: var(--indigo);
}
.is-product .variant-chip {
  border-radius: 5px !important;
}
.is-product .stock-alert-box {
  border-radius: 8px;
  border-color: rgba(48, 42, 129, .1);
  background: #f7f9fc;
}

@media (max-width: 960px) {
  .is-catalog .catalog-hero .page-title,
  .is-catalog .cat-cover-copy .page-title { max-width: none; }
  .is-catalog .cat-cover { min-height: 120px; }
}

@media (max-width: 720px) {
  .is-product .trust-mini {
    grid-template-columns: 1fr;
    gap: .75rem;
  }
  .is-catalog .catalog-hero {
    padding: .65rem .85rem .7rem;
  }
}

/* ── Award: brand + commerce flows ──────────── */
.is-brand,
.is-cart,
.is-checkout,
.is-quote {
  background:
    radial-gradient(880px 360px at 92% -6%, rgba(0, 163, 224, .08), transparent 55%),
    radial-gradient(640px 280px at 4% 18%, rgba(48, 42, 129, .05), transparent 48%),
    #f3f6fa;
}

.page-shell-head .eyebrow {
  margin-bottom: .35rem;
}
.page-shell-head .page-title {
  margin: 0;
  font-size: clamp(1.45rem, 2.6vw, 1.95rem);
  font-weight: 800;
  letter-spacing: -.035em;
  color: var(--indigo);
  line-height: 1.1;
}
.page-shell-head .page-shell-lead {
  margin-top: .4rem;
  font-size: .95rem;
  font-weight: 500;
  color: var(--ink-soft);
  max-width: 34rem;
  line-height: 1.45;
}
.page-shell-head::after {
  width: 2rem;
  height: 2px;
  margin-top: .7rem;
  background: var(--cyan);
  border-radius: 0;
}

/* Brands index */
.is-brand .brands-index {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: .9rem;
}
.is-brand .brands-index-card {
  align-items: stretch;
  gap: 0;
  padding: 0;
  border-radius: 8px;
  border: 1px solid rgba(48, 42, 129, .1);
  overflow: hidden;
  background: #fff;
  box-shadow: none;
  transition: border-color .25s var(--ease), transform .35s var(--ease);
}
.is-brand .brands-index-card:hover {
  border-color: rgba(0, 163, 224, .45);
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(31, 26, 90, .07);
}
.is-brand .brands-index-logo {
  display: grid;
  place-items: center;
  min-height: 112px;
  padding: 1.25rem 1rem;
  background:
    linear-gradient(165deg, #eef2f8 0%, #f7fafc 55%, #fff 100%);
  border-bottom: 1px solid rgba(48, 42, 129, .06);
}
.is-brand .brands-index-card .brand-logo {
  width: var(--brand-logo-w) !important;
  height: var(--brand-logo-h) !important;
  filter: grayscale(.1);
  transition: filter .25s;
}
.is-brand .brands-index-card:hover .brand-logo {
  filter: none;
}
.is-brand .brands-index-name {
  display: block;
  padding: 0;
  font-size: .86rem;
  font-weight: 750;
  letter-spacing: -.01em;
  color: var(--indigo);
  text-align: center;
}
.is-brand .brands-index-meta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .2rem;
  padding: .75rem .85rem .95rem;
}
.is-brand .brands-index-count {
  font-size: .72rem;
  font-weight: 650;
  color: var(--muted);
  letter-spacing: .02em;
}
.is-brand .brand-bridge-chips .filter-chip em {
  margin-left: .28rem;
  font-style: normal;
  font-weight: 700;
  color: var(--muted);
  font-size: .7rem;
}
.is-brand .brand-bridge-chips .filter-chip.is-on {
  background: rgba(0, 163, 224, .12);
  border-color: rgba(0, 163, 224, .35);
  color: var(--indigo);
}
.is-brand .section-shop .catalog-toolbar {
  margin-top: .25rem;
}
.is-brand .brand-hero-logo {
  width: calc(var(--brand-logo-w) * 1.45) !important;
  height: calc(var(--brand-logo-h) * 1.35) !important;
  max-width: min(240px, 72vw) !important;
  max-height: 70px !important;
  object-fit: contain !important;
  object-position: left center !important;
}

/* Brand detail hero */
.is-brand .brand-hero {
  position: relative;
  padding: 1.25rem 0 1.15rem;
  margin-bottom: 0;
  overflow: hidden;
  background:
    linear-gradient(115deg, rgba(255, 255, 255, .97) 0%, rgba(243, 246, 250, .9) 48%, rgba(232, 240, 248, .75) 100%);
  border-bottom: 1px solid rgba(48, 42, 129, .08);
}
.is-brand .brand-hero::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--cyan);
}
.is-brand .brand-hero::after {
  content: "";
  position: absolute;
  right: -12%;
  top: -50%;
  width: 48%;
  height: 200%;
  background: radial-gradient(circle at center, rgba(0, 163, 224, .11), transparent 68%);
  pointer-events: none;
}
.is-brand .brand-hero-copy {
  position: relative;
  z-index: 1;
  max-width: 48rem;
}
.is-brand .brand-hero .breadcrumb {
  margin-bottom: .55rem;
}
.is-brand .brand-blurb {
  margin-top: .65rem;
  font-size: .95rem;
  font-weight: 500;
  color: var(--ink-soft);
  max-width: 34rem;
  line-height: 1.45;
}
.is-brand .brand-bridge-chips {
  gap: .35rem;
  margin-top: .75rem;
}
.is-brand .brand-bridge-chips .filter-chip {
  border-radius: 5px;
  padding: .38rem .65rem;
  font-size: .8rem;
  font-weight: 650;
  border: 1px solid rgba(48, 42, 129, .14);
  background: #fff;
  color: var(--ink-soft);
  text-decoration: none;
}
.is-brand .brand-bridge-chips .filter-chip:hover {
  border-color: rgba(0, 163, 224, .45);
  color: var(--indigo);
}
.is-brand .brand-hero-cta {
  margin-top: .9rem;
  gap: .55rem;
}
.is-brand .brand-hero-cta .btn {
  min-height: 42px;
  padding: .7rem 1.15rem;
}
.is-brand .section-shop {
  padding-top: .85rem !important;
}

/* Cart / quote / checkout panels */
.is-cart .cart-layout,
.is-checkout .checkout-layout,
.is-quote .checkout-layout {
  gap: 1.1rem;
}
.is-cart .panel,
.is-checkout .panel,
.is-quote .panel,
.is-cart .empty-state,
.is-checkout .empty-state,
.is-quote .empty-state {
  border-radius: 8px;
  border: 1px solid rgba(48, 42, 129, .1);
  box-shadow: none;
  background: #fff;
}
.is-cart .cart-panel,
.is-quote .checkout-layout > .panel:first-child {
  padding: 0 1.25rem;
}
.is-cart .cart-row,
.is-quote .cart-row {
  grid-template-columns: 88px 1fr auto;
  gap: 1.1rem;
  padding: 1.15rem 0;
  border-bottom-color: rgba(48, 42, 129, .08);
  align-items: start;
}
.is-cart .cart-row:last-of-type,
.is-quote .cart-row:last-of-type {
  border-bottom: 0;
}
.is-cart .cart-thumb,
.is-quote .cart-thumb {
  display: grid;
  place-items: center;
  width: 88px;
  height: 88px;
  border-radius: 8px;
  background: linear-gradient(165deg, #eef2f8, #fff);
  border: 1px solid rgba(48, 42, 129, .07);
  overflow: hidden;
}
.is-cart .cart-thumb img,
.is-quote .cart-thumb img {
  width: 72px;
  height: 72px;
  object-fit: contain;
  background: transparent;
  border-radius: 0;
  padding: 0;
}
.is-cart .cart-name,
.is-quote .cart-name {
  display: block;
  font-weight: 700;
  font-size: .98rem;
  letter-spacing: -.02em;
  color: var(--ink);
  text-decoration: none;
  line-height: 1.3;
  margin-bottom: .25rem;
}
.is-cart .cart-name:hover,
.is-quote .cart-name:hover {
  color: var(--cyan-deep);
}
.is-cart .cart-meta,
.is-quote .cart-meta {
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: .72rem;
  color: var(--muted);
  margin-bottom: .35rem;
}
.is-cart .cart-unit {
  font-size: .86rem;
  font-weight: 650;
  color: var(--ink-soft);
}
.is-cart .cart-line-total {
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -.03em;
  color: var(--indigo);
  margin-bottom: .55rem;
  text-align: right;
}
.is-cart .cart-side,
.is-quote .cart-side {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: .35rem;
}
.is-cart .cart-summary {
  position: sticky;
  top: calc(var(--header-h) + 14px);
  padding: 1.35rem 1.4rem 1.5rem;
  border-left: 3px solid var(--cyan);
}
.is-cart .cart-summary h2,
.is-quote .quote-form-title {
  margin: 0 0 1rem;
  font-size: .72rem;
  font-weight: 750;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted);
}
.is-cart .summary-total {
  font-size: 1.25rem;
  color: var(--indigo);
  letter-spacing: -.03em;
}
.is-cart .cart-continue {
  display: inline-block;
  margin-top: .85rem;
  font-weight: 650;
  font-size: .9rem;
  color: var(--indigo);
  text-decoration: none;
}
.is-cart .cart-continue:hover { color: var(--cyan-deep); }
.is-cart .coupon-form {
  display: flex;
  gap: .45rem;
  margin-top: 1rem;
}
.is-cart .coupon-form .form-control {
  flex: 1;
  border-radius: 7px;
}

/* Quote bulk + form */
.is-quote .quote-bulk {
  padding: 1.35rem 1.4rem 1.5rem;
  border-left: 3px solid var(--cyan);
  margin-bottom: 1.35rem;
}
.is-quote .quote-bulk .page-shell-lead {
  margin-bottom: 1rem;
}
.is-quote .quote-bulk code {
  font-size: .86rem;
  padding: .1rem .35rem;
  background: #f0f4f9;
  border-radius: 4px;
  color: var(--indigo);
}
.quote-summary-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem 1.25rem;
  margin: 0 0 1rem;
  padding: .7rem 1rem;
  background: rgba(0, 163, 224, .07);
  border-left: 3px solid var(--cyan);
  font-size: .9rem;
  color: var(--ink-soft);
}
.quote-summary-bar strong { color: var(--indigo); }
.quote-chip {
  display: inline-block;
  margin: .35rem 0 .15rem;
  padding: .25rem .55rem;
  font-size: .75rem;
  font-weight: 700;
  color: var(--indigo);
  background: rgba(48, 42, 129, .06);
  border-radius: 4px;
}
.quote-line-form { margin-top: .55rem; }
.quote-line-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem;
  margin-bottom: .45rem;
}
.quote-line-controls .form-control {
  width: 4.5rem;
  display: inline-block;
}
.quote-note-label {
  display: block;
  font-size: .72rem;
  font-weight: 700;
  color: var(--muted);
  margin: .35rem 0 .25rem;
}
.quote-note-input {
  font-size: .86rem !important;
  min-height: 2.6rem;
}
.quote-submit-meta {
  margin: -.35rem 0 .75rem;
  font-size: .84rem;
  color: var(--muted);
}
.is-quote .quote-lines .cart-row {
  align-items: flex-start;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid rgba(48, 42, 129, .08);
}
.is-quote form.panel {
  padding: 1.35rem 1.4rem 1.5rem;
  border-left: 3px solid var(--indigo);
}
.is-quote .form-control,
.is-cart .form-control,
.is-checkout .form-control {
  border-radius: 7px;
  border-color: rgba(48, 42, 129, .12);
}
.is-quote .form-control:focus,
.is-cart .form-control:focus,
.is-checkout .form-control:focus {
  border-color: var(--cyan);
  box-shadow: 0 0 0 3px rgba(0, 163, 224, .12);
}

/* Checkout steps */
.is-checkout .checkout-steps {
  gap: .45rem;
  margin: 0 0 1.1rem;
}
.is-checkout .checkout-step {
  border-radius: 7px;
  border-color: rgba(48, 42, 129, .12);
  background: #fff;
  color: var(--muted);
  font-weight: 700;
  letter-spacing: -.01em;
  box-shadow: none;
  transition: border-color .2s, color .2s, background .2s;
}
.is-checkout .checkout-step span {
  border-radius: 5px;
  width: 1.55rem;
  height: 1.55rem;
  background: #eef2f8;
  font-weight: 750;
  color: var(--ink-soft);
}
.is-checkout .checkout-step.is-active {
  border-color: rgba(0, 163, 224, .45);
  color: var(--indigo);
  background: rgba(0, 163, 224, .06);
  box-shadow: none;
}
.is-checkout .checkout-step.is-active span {
  background: var(--indigo);
  color: #fff;
}
.is-checkout .checkout-step.is-done {
  border-color: rgba(0, 163, 224, .35);
  color: var(--cyan-deep);
}
.is-checkout .checkout-pane-title {
  font-size: .72rem;
  font-weight: 750;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 1.1rem;
}
.is-checkout #checkout-form.panel {
  padding: 1.45rem 1.5rem 1.6rem;
  border-left: 3px solid var(--cyan);
}
.is-checkout .checkout-summary {
  border-left: 3px solid var(--indigo);
  padding: 1.35rem 1.4rem 1.5rem;
  position: sticky;
  top: calc(var(--header-h) + 14px);
}
.is-checkout .checkout-summary-title {
  margin: 0 0 1rem;
  font-size: .72rem;
  font-weight: 750;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted);
}
.is-checkout .summary-total {
  color: var(--indigo);
  letter-spacing: -.03em;
}
.is-checkout .radio-card {
  border-radius: 8px !important;
  border-color: rgba(48, 42, 129, .12) !important;
  transition: border-color .2s, background .2s;
}
.is-checkout .radio-card:has(input:checked) {
  border-color: rgba(0, 163, 224, .45) !important;
  background: rgba(0, 163, 224, .05);
}
.is-checkout .coupon-form {
  display: flex;
  gap: .45rem;
}
.is-checkout .coupon-form .form-control { flex: 1; }

@media (max-width: 900px) {
  .is-brand .brand-hero {
    padding: 1rem 0 .9rem;
  }
  .is-brand .brand-hero-logo {
    width: var(--brand-logo-w) !important;
    height: var(--brand-logo-h) !important;
    max-height: var(--brand-logo-h) !important;
  }
  .is-cart .cart-row,
  .is-quote .cart-row {
    grid-template-columns: 72px 1fr;
  }
  .is-cart .cart-side,
  .is-quote .cart-side {
    grid-column: 2;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
  }
  .is-cart .cart-line-total {
    text-align: left;
    margin: 0;
  }
  .is-cart .cart-thumb,
  .is-quote .cart-thumb {
    width: 72px;
    height: 72px;
  }
}

/* ── Award: about · contact · cms · footer · empty ─ */
.is-about,
.is-contact,
.is-cms {
  background:
    radial-gradient(860px 340px at 90% -8%, rgba(0, 163, 224, .08), transparent 55%),
    radial-gradient(620px 260px at 2% 20%, rgba(48, 42, 129, .05), transparent 50%),
    #f3f6fa;
}

/* About */
.about-stage {
  display: grid;
  grid-template-columns: 1.35fr .75fr;
  gap: 1.1rem;
  margin: 0 0 1.15rem;
  align-items: stretch;
}
.about-stage-copy {
  padding: 1.25rem 1.3rem;
  border-radius: 4px 10px 10px 4px;
  border: 1px solid rgba(48, 42, 129, .1);
  border-left: 3px solid var(--cyan);
  background: #fff;
}
.about-stage-copy p {
  margin: 0 0 .75rem;
  font-size: .98rem;
  font-weight: 500;
  color: var(--ink-soft);
  line-height: 1.55;
  max-width: 42rem;
}
.about-stage-copy p:last-child { margin-bottom: 0; color: var(--ink); }
.about-stage-aside {
  display: grid;
  gap: .75rem;
}
.about-stat {
  padding: 1.1rem 1.15rem;
  border-radius: 8px;
  border: 1px solid rgba(48, 42, 129, .1);
  background: #fff;
}
.about-stat strong {
  display: block;
  font-size: .95rem;
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--indigo);
  margin-bottom: .25rem;
}
.about-stat span {
  font-size: .86rem;
  font-weight: 500;
  color: var(--muted);
  line-height: 1.4;
}
.about-lanes {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: .7rem;
}
.about-lane {
  display: block;
  padding: 1rem 1rem 1.1rem;
  border-radius: 8px;
  border: 1px solid rgba(48, 42, 129, .1);
  background: #fff;
  text-decoration: none;
  color: inherit;
  transition: border-color .25s var(--ease), transform .35s var(--ease);
}
.about-lane:hover {
  border-color: rgba(0, 163, 224, .45);
  transform: translateY(-2px);
}
.about-lane .eyebrow {
  color: var(--cyan);
  margin-bottom: .55rem;
}
.about-lane strong {
  display: block;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -.025em;
  color: var(--indigo);
  margin-bottom: .35rem;
}
.about-lane p {
  margin: 0;
  font-size: .88rem;
  font-weight: 500;
  color: var(--muted);
  line-height: 1.45;
}

/* Contact */
.is-contact .contact-form-panel,
.is-contact .contact-aside {
  border-radius: 8px;
  border: 1px solid rgba(48, 42, 129, .1);
  box-shadow: none;
}
.is-contact .contact-form-panel {
  border-left: 3px solid var(--cyan);
  padding: 1.45rem 1.5rem 1.6rem;
}
.is-contact .contact-aside {
  border-left: 3px solid var(--indigo);
  padding: 1.35rem 1.4rem 1.5rem;
}
.is-contact .contact-panel-title {
  margin: 0 0 1rem;
  font-size: .72rem;
  font-weight: 750;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted);
}
.is-contact .contact-aside-lead {
  margin: -.4rem 0 1.15rem;
  font-weight: 500;
  color: var(--ink-soft);
}
.is-contact .contact-dl dt {
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .12em;
  color: var(--muted);
}
.is-contact .contact-dl dd {
  font-weight: 600;
  color: var(--ink);
}
.is-contact .contact-aside-links {
  display: grid;
  gap: .45rem;
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(48, 42, 129, .08);
}
.is-contact .form-control {
  border-radius: 7px;
  border-color: rgba(48, 42, 129, .12);
}
.is-contact .form-control:focus {
  border-color: var(--cyan);
  box-shadow: 0 0 0 3px rgba(0, 163, 224, .12);
}

/* CMS */
.is-cms .cms-shell { max-width: 920px; }
.is-cms .cms-body,
.is-cms .cms-faq,
.is-cms .cms-help-cta {
  border-radius: 8px;
  border: 1px solid rgba(48, 42, 129, .1);
  box-shadow: none;
}
.is-cms .cms-body {
  padding: 1.5rem 1.6rem;
  border-left: 3px solid var(--cyan);
}
.is-cms .cms-body h3 {
  color: var(--indigo);
  font-weight: 800;
  letter-spacing: -.02em;
}
.is-cms .process-flow {
  gap: .75rem;
  margin: 0 0 1.25rem;
}
.is-cms .process-flow-step {
  border-radius: 8px;
  border-color: rgba(48, 42, 129, .1);
  box-shadow: none;
  padding: 1.15rem 1.05rem;
}
.is-cms .process-flow-num {
  font-size: .72rem;
  font-weight: 750;
  letter-spacing: .12em;
  color: var(--cyan);
}
.is-cms .process-flow-step strong {
  color: var(--indigo);
  font-weight: 800;
}
.is-cms .trust-inline {
  margin-bottom: 1.25rem;
  gap: .45rem;
}
.is-cms .trust-inline span {
  border-radius: 5px;
  border: 1px solid rgba(48, 42, 129, .12);
  background: #fff;
  font-weight: 650;
  color: var(--ink-soft);
}
.is-cms .cms-faq {
  padding: .35rem 1.25rem 1rem;
  border-left: 3px solid var(--cyan);
}
.is-cms .faq-item summary {
  font-weight: 700;
  color: var(--indigo);
  cursor: pointer;
}
.is-cms .cms-help-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1.35rem;
  padding: 1.25rem 1.4rem;
  border-left: 3px solid var(--indigo);
}
.is-cms .cms-help-cta strong {
  display: block;
  font-weight: 800;
  color: var(--indigo);
  margin-bottom: .25rem;
}
.is-cms .cms-help-cta p {
  margin: 0;
  color: var(--muted);
  font-weight: 500;
}
.is-cms .cms-help-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
}

/* Empty states — global */
.empty-state.panel,
.panel.empty-state {
  border-radius: 8px;
  border: 1px solid rgba(48, 42, 129, .1);
  border-left: 3px solid var(--cyan);
  box-shadow: none;
  background: #fff;
  padding: 1.75rem 1.35rem;
  text-align: center;
}
.empty-state strong {
  font-size: clamp(1.2rem, 2.2vw, 1.45rem);
  font-weight: 800;
  letter-spacing: -.03em;
  color: var(--indigo);
  margin-bottom: .5rem;
}
.empty-state p {
  max-width: 38ch;
  font-weight: 500;
  color: var(--ink-soft);
  line-height: 1.5;
}
.empty-actions {
  gap: .65rem;
}
.empty-actions .btn {
  min-height: 44px;
}

/* Footer elevation */
.site-footer {
  position: relative;
  padding: 2.35rem 0 1.25rem !important;
  background:
    radial-gradient(720px 240px at 8% 0%, rgba(0, 163, 224, .07), transparent 55%),
    linear-gradient(180deg, #f4f7fb 0%, #e9eef6 100%) !important;
  border-top: 1px solid rgba(48, 42, 129, .1) !important;
  overflow: hidden;
}
.site-footer::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--cyan);
}
.footer-grid {
  gap: 2.4rem 2.1rem !important;
  margin-bottom: 2.4rem !important;
}
.footer-logo {
  display: inline-block;
  line-height: 0;
  margin-bottom: 1rem;
}
.footer-brand img {
  height: 46px !important;
  margin-bottom: 0 !important;
  padding: .5rem .7rem !important;
  background: #fff !important;
  border: 1px solid rgba(48, 42, 129, .1) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}
.footer-brand p {
  max-width: 34ch !important;
  font-size: .92rem !important;
  font-weight: 500;
  line-height: 1.55 !important;
  color: var(--ink-soft) !important;
}
.footer-about-link {
  display: inline-block;
  margin-top: .95rem;
  font-size: .88rem;
  font-weight: 700;
  color: var(--indigo);
  text-decoration: none;
  letter-spacing: -.01em;
}
.footer-about-link:hover { color: var(--cyan-deep); }
.site-footer h4 {
  margin: 0 0 .85rem !important;
}
.site-footer ul {
  gap: .55rem !important;
}
.site-footer a {
  font-weight: 550;
  color: var(--ink-soft) !important;
}
.site-footer a:hover {
  color: var(--indigo) !important;
}
.footer-bottom {
  padding-top: 1.25rem;
  border-top: 1px solid rgba(48, 42, 129, .1);
  font-size: .82rem;
  font-weight: 550;
  color: var(--muted);
}

.trust-bar {
  padding: 1.05rem 0 !important;
}
.trust-bar-item strong {
  font-size: .78rem !important;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.trust-bar-item span {
  color: rgba(255, 255, 255, .68) !important;
}

@media (max-width: 960px) {
  .about-stage {
    grid-template-columns: 1fr;
  }
  .about-lanes {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 640px) {
  .about-lanes {
    grid-template-columns: 1fr;
  }
  .is-cms .cms-help-cta {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ── Award: auth · account · tools · post-order ─ */
.is-auth,
.is-account,
.is-track,
.is-favorites,
.is-compare,
.is-return,
.is-addresses {
  background:
    radial-gradient(840px 320px at 92% -8%, rgba(0, 163, 224, .08), transparent 55%),
    radial-gradient(600px 260px at 4% 18%, rgba(48, 42, 129, .05), transparent 50%),
    #f3f6fa;
}

/* Auth */
.is-auth .auth-section {
  padding-top: 1.15rem !important;
  padding-bottom: 2.5rem !important;
}
.is-auth .auth-aside .eyebrow {
  margin-bottom: .4rem;
}
.is-auth .auth-aside .page-title {
  margin: 0 0 .45rem;
  font-size: clamp(1.45rem, 2.8vw, 1.95rem);
  font-weight: 800;
  letter-spacing: -.035em;
  color: var(--indigo);
  line-height: 1.1;
  max-width: 12ch;
}
.is-auth .auth-aside > p {
  margin: 0;
  font-size: .95rem;
  font-weight: 500;
  color: var(--ink-soft);
  max-width: 28rem;
  line-height: 1.5;
}
.is-auth .auth-wrap {
  border-radius: 8px;
  border: 1px solid rgba(48, 42, 129, .1);
  border-left: 3px solid var(--cyan);
  box-shadow: none;
  padding: 1.25rem 1.3rem 1.35rem;
  background: #fff;
}
.is-auth .auth-wrap h2 {
  margin: 0 0 .25rem;
  font-size: .72rem;
  font-weight: 750;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted);
}
.is-auth .auth-wrap .muted {
  margin: 0 0 1.15rem;
  font-weight: 500;
  color: var(--ink-soft);
}
.is-auth .form-control {
  border-radius: 7px;
  border-color: rgba(48, 42, 129, .12);
}
.is-auth .form-control:focus {
  border-color: var(--cyan);
  box-shadow: 0 0 0 3px rgba(0, 163, 224, .12);
}
.is-auth .auth-foot {
  margin-top: 1.15rem;
  font-weight: 550;
  color: var(--muted);
}
.is-auth .auth-foot a {
  font-weight: 700;
  color: var(--indigo);
  text-decoration: none;
}
.is-auth .auth-foot a:hover { color: var(--cyan-deep); }

/* Account */
.is-account .account-hero {
  margin-bottom: 1rem;
  padding: 1.1rem 1.2rem 1.15rem;
  border-radius: 4px 10px 10px 4px;
  border: 1px solid rgba(48, 42, 129, .1);
  border-left: 3px solid var(--cyan);
  background: #fff;
}
.is-account .account-hero .page-title {
  margin: .1rem 0 .3rem;
  font-size: clamp(1.4rem, 2.6vw, 1.85rem);
  font-weight: 800;
  letter-spacing: -.035em;
  color: var(--indigo);
}
.is-account .account-hero-email {
  margin: 0;
  font-weight: 550;
  color: var(--ink-soft);
  font-size: .92rem;
}
.is-account .account-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: .7rem;
  margin-bottom: 1rem;
}
.is-account .account-tile {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  padding: .9rem .95rem;
  border-radius: 8px;
  border: 1px solid rgba(48, 42, 129, .1);
  background: #fff;
  text-decoration: none;
  transition: border-color .25s var(--ease), transform .35s var(--ease);
}
.is-account .account-tile:hover {
  border-color: rgba(0, 163, 224, .45);
  transform: translateY(-2px);
  box-shadow: none;
}
.is-account .account-tile strong {
  font-size: 1.45rem;
  font-weight: 800;
  letter-spacing: -.04em;
  color: var(--indigo);
}
.is-account .account-tile span {
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted);
}
.is-account .account-orders-panel {
  border-radius: 8px;
  border: 1px solid rgba(48, 42, 129, .1);
  border-left: 3px solid var(--indigo);
  box-shadow: none;
  padding: 1.35rem 1.4rem 1.5rem;
}
.is-account .account-orders-title {
  margin: 0 0 1rem;
  font-size: .72rem;
  font-weight: 750;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted);
}
.is-account .account-orders th {
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
}
.is-account .account-orders a {
  font-weight: 650;
  color: var(--indigo);
  text-decoration: none;
}
.is-account .account-orders a:hover { color: var(--cyan-deep); }

/* Track / order success */
.is-track .track-shell {
  max-width: 880px;
}
.is-track .track-gate,
.is-track .track-result {
  border-radius: 8px;
  border: 1px solid rgba(48, 42, 129, .1);
  border-left: 3px solid var(--cyan);
  box-shadow: none;
  padding: 1.45rem 1.5rem 1.6rem;
  background: #fff;
}
.is-track .track-gate-lead {
  margin: 0 0 1.1rem;
  font-weight: 500;
  color: var(--ink-soft);
}
.is-track .track-order-no {
  margin: 0 0 .35rem;
  font-size: clamp(1.35rem, 2.4vw, 1.75rem);
  font-weight: 800;
  letter-spacing: -.03em;
  color: var(--indigo);
  font-family: var(--font-mono, ui-monospace, monospace);
}
.is-track .track-result-meta {
  margin: 0;
  font-weight: 550;
  color: var(--ink-soft);
}
.is-track .track-timeline {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: .5rem;
  list-style: none;
  margin: 1.35rem 0 1.15rem;
  padding: 0;
}
.is-track .track-timeline li {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .45rem;
  padding: .85rem .9rem;
  border-radius: 7px;
  border: 1px solid rgba(48, 42, 129, .1);
  background: #f7f9fc;
  font-weight: 650;
  color: var(--muted);
}
.is-track .track-timeline li.is-done,
.is-track .track-timeline li.is-current {
  border-color: rgba(0, 163, 224, .4);
  background: rgba(0, 163, 224, .06);
  color: var(--indigo);
}
.is-track .track-dot {
  width: .55rem;
  height: .55rem;
  border-radius: 2px;
  background: #c5d0e0;
}
.is-track .track-timeline li.is-done .track-dot,
.is-track .track-timeline li.is-current .track-dot {
  background: var(--cyan);
}
.is-track .track-detail-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .85rem;
  margin-top: 1.15rem;
}
.is-track .track-detail-block {
  padding: 1rem 1.05rem;
  border-radius: 7px;
  border: 1px solid rgba(48, 42, 129, .08);
  background: #f7f9fc;
}
.is-track .track-detail-block h3 {
  margin: 0 0 .45rem;
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted);
}
.is-track .track-success-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1.35rem;
}
.is-track .form-control {
  border-radius: 7px;
  border-color: rgba(48, 42, 129, .12);
}
.is-track .page-shell-head::after { display: none; }
.is-track .track-result .page-shell-head {
  margin-bottom: 1rem;
}

/* Favorites */
.is-favorites .fav-count-badge {
  display: inline-block;
  margin-left: .35rem;
  padding: .15rem .45rem;
  border-radius: 4px;
  background: rgba(0, 163, 224, .1);
  color: var(--indigo);
  font-size: .78rem;
  font-weight: 750;
}
.is-favorites .fav-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1rem;
}
.is-favorites .fav-item {
  display: flex;
  flex-direction: column;
  gap: .55rem;
}
.is-favorites .fav-remove-btn {
  border-radius: 6px !important;
}

/* Compare */
.is-compare .compare-wrap {
  border-radius: 8px;
  border: 1px solid rgba(48, 42, 129, .1);
  border-left: 3px solid var(--cyan);
  box-shadow: none;
  overflow: hidden;
}
.is-compare .compare-sticky {
  background: #f3f6fa !important;
  font-size: .72rem;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
}
.is-compare .compare-media {
  border-radius: 7px;
  background: linear-gradient(165deg, #eef2f8, #fff);
  border: 1px solid rgba(48, 42, 129, .07);
}
.is-compare .compare-name {
  font-weight: 700;
  color: var(--indigo);
  letter-spacing: -.02em;
}

/* Return */
.is-return .return-shell {
  max-width: 640px;
}
.is-return form.panel,
.is-return .panel {
  border-radius: 8px;
  border: 1px solid rgba(48, 42, 129, .1);
  border-left: 3px solid var(--cyan);
  box-shadow: none;
  padding: 1.4rem 1.45rem 1.55rem;
}
.is-return .form-control {
  border-radius: 7px;
  border-color: rgba(48, 42, 129, .12);
}
.is-return .form-control:focus {
  border-color: var(--cyan);
  box-shadow: 0 0 0 3px rgba(0, 163, 224, .12);
}

/* Addresses */
.is-addresses .checkout-layout > .panel {
  border-radius: 8px;
  border: 1px solid rgba(48, 42, 129, .1);
  box-shadow: none;
}
.is-addresses .checkout-layout > .panel:first-child {
  border-left: 3px solid var(--cyan);
  padding: 1.35rem 1.4rem;
}
.is-addresses form.panel {
  border-left: 3px solid var(--indigo);
  padding: 1.35rem 1.4rem 1.5rem;
}
.is-addresses .address-panel-title,
.is-addresses .address-form-title {
  margin: 0 0 1rem;
  font-size: .72rem;
  font-weight: 750;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted);
}
.is-addresses .address-card {
  padding: 1rem 0;
  border-bottom: 1px solid rgba(48, 42, 129, .08);
}
.is-addresses .address-card:last-of-type {
  border-bottom: 0;
  padding-bottom: 0;
}
.is-addresses .address-card strong {
  display: block;
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--indigo);
  margin-bottom: .35rem;
}
.is-addresses .address-pre {
  margin: 0 0 .75rem;
  font-family: inherit;
  font-size: .9rem;
  font-weight: 500;
  color: var(--ink-soft);
  white-space: pre-wrap;
  line-height: 1.45;
}
.is-addresses .address-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  align-items: center;
}
.is-addresses .form-control {
  border-radius: 7px;
  border-color: rgba(48, 42, 129, .12);
}

@media (max-width: 900px) {
  .is-account .account-grid {
    grid-template-columns: 1fr 1fr;
  }
  .is-track .track-timeline {
    grid-template-columns: 1fr 1fr;
  }
  .is-track .track-detail-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 560px) {
  .is-account .account-grid {
    grid-template-columns: 1fr;
  }
  .is-track .track-timeline {
    grid-template-columns: 1fr;
  }
  .is-auth .auth-aside .page-title {
    max-width: none;
  }
}

/* ── Mobile quality: header · filters · checkout ─ */
.checkout-mobile-bar {
  display: none;
}

@media (max-width: 900px) {
  /* Header — icon chrome */
  .mobile-nav-toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: var(--indigo) !important;
  }
  .mobile-nav-toggle:hover {
    background: rgba(48, 42, 129, .06) !important;
  }
  .header-actions {
    gap: 0 !important;
  }
  .icon-btn {
    width: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
  }
  .icon-btn .icon-svg {
    width: 20px;
    height: 20px;
  }
  .cart-count {
    top: 2px !important;
    right: 1px !important;
    min-width: .95rem !important;
    height: .95rem !important;
    font-size: .58rem !important;
  }
  .icon-btn-text {
    display: none !important;
  }
  .header-one {
    gap: .35rem .5rem !important;
    min-height: 52px !important;
  }
  .header-one .brand img {
    height: 32px !important;
    max-width: 140px !important;
  }
  .header-one .search-simple {
    min-height: 42px !important;
  }
  .header-one .search-simple input,
  .header-one .search-simple .search-submit {
    height: 42px !important;
    min-height: 42px !important;
  }
  .search-submit {
    padding: 0 .9rem !important;
    font-size: .82rem !important;
  }

  /* Catalog filter drawer */
  .is-catalog .filter-chips--bare {
    display: flex !important;
    margin: 0 0 .65rem;
    padding: 0;
    justify-content: flex-end;
  }
  .is-catalog .filter-mobile-btn {
    display: inline-flex !important;
    align-items: center;
    min-height: 40px;
    border-radius: 7px !important;
    font-weight: 700;
  }
  .is-catalog .filters {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    width: min(360px, 92vw) !important;
    top: 0 !important;
    z-index: 90 !important;
    background: #fff !important;
    padding: 0 !important;
    overflow-y: auto !important;
    transform: translateX(-105%) !important;
    transition: transform .28s var(--ease) !important;
    box-shadow: 8px 0 32px rgba(31, 26, 90, .14) !important;
    border: 0 !important;
    border-radius: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }
  .is-catalog .filters.is-open {
    transform: none !important;
  }
  .is-catalog .filters-mobile-head {
    display: flex !important;
    position: sticky;
    top: 0;
    z-index: 2;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
    margin: 0 !important;
    padding: .95rem 1rem;
    background: #fff;
    border-bottom: 1px solid rgba(48, 42, 129, .1);
  }
  .is-catalog .filters-mobile-head strong {
    font-size: .72rem;
    font-weight: 750;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--muted);
  }
  .is-catalog .filters > .cat-nav,
  .is-catalog .filters > .filter-block {
    margin: .85rem 1rem;
    border-radius: 8px;
  }
  .is-catalog .filters > .filter-block:last-child {
    margin-bottom: calc(1.25rem + env(safe-area-inset-bottom, 0px));
  }
  .is-catalog .filters-backdrop {
    display: block !important;
    position: fixed !important;
    inset: 0 !important;
    background: rgba(20, 16, 55, .48) !important;
    z-index: 85 !important;
  }
  .is-catalog .filters-backdrop[hidden] {
    display: none !important;
  }
  .is-catalog .filter-block .btn-primary {
    min-height: 46px;
    width: 100%;
  }

  /* Checkout — stacked + sticky CTA (fix: submit was hidden) */
  .is-checkout .checkout-steps {
    display: none !important;
  }
  .is-checkout .checkout-pane[hidden] {
    display: block !important;
  }
  .is-checkout .checkout-next,
  .is-checkout .checkout-nav-row {
    display: none !important;
  }
  .is-checkout .checkout-pane + .checkout-pane {
    margin-top: 1.15rem;
    padding-top: 1.1rem;
    border-top: 1px solid rgba(48, 42, 129, .1);
  }
  .is-checkout .checkout-summary {
    position: static !important;
    margin-top: .35rem;
  }
  .is-checkout .checkout-summary .checkout-submit-desktop {
    display: none !important;
  }
  .is-checkout .checkout-layout {
    padding-bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px));
  }
  .is-checkout .form-grid {
    grid-template-columns: 1fr !important;
  }
  .checkout-mobile-bar {
    display: flex;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 60;
    align-items: center;
    gap: .75rem;
    padding: .75rem 1rem calc(.75rem + env(safe-area-inset-bottom, 0px));
    background: rgba(255, 255, 255, .97);
    border-top: 1px solid rgba(48, 42, 129, .12);
    box-shadow: 0 -8px 24px rgba(31, 26, 90, .08);
    backdrop-filter: blur(10px);
  }
  .checkout-mobile-total {
    display: flex;
    flex-direction: column;
    gap: .1rem;
    min-width: 0;
    flex: 1;
  }
  .checkout-mobile-total span {
    font-size: .68rem;
    font-weight: 750;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--muted);
  }
  .checkout-mobile-total strong {
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: -.03em;
    color: var(--indigo);
  }
  .checkout-mobile-bar .btn {
    flex: 1.2;
    min-height: 46px;
    white-space: nowrap;
  }
  .is-checkout .wa-float {
    bottom: calc(5.25rem + env(safe-area-inset-bottom, 0px)) !important;
  }

  /* Nav drawer polish */
  .nav-drawer-panel {
    width: min(88vw, 300px) !important;
    border-right: 3px solid var(--cyan);
  }
  .nav-drawer-head {
    padding: .95rem 1rem !important;
  }
  .nav-drawer-links a {
    min-height: 44px;
    display: flex;
    align-items: center;
    font-weight: 650;
  }
}

@media (max-width: 720px) {
  .icon-btn-fav,
  .icon-btn-account {
    display: none !important;
  }
  .header-actions .icon-btn-quote,
  .header-actions .icon-btn-cart,
  .header-actions .mobile-nav-toggle {
    display: inline-flex !important;
  }
}

@media (min-width: 901px) {
  .checkout-mobile-bar {
    display: none !important;
  }
}

/* ── Mobile quality II: search · cart drawer · PDP · cart ─ */
@media (max-width: 900px) {
  /* Search — full-bleed under header, readable touch targets */
  .search-shell {
    grid-column: 1 / -1 !important;
    order: 3 !important;
  }
  .search-panel {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: calc(100% + 6px) !important;
    width: 100% !important;
    max-width: none !important;
    transform: none !important;
    max-height: min(55vh, 420px) !important;
    padding: .85rem .9rem !important;
    border-radius: 8px !important;
    z-index: 80 !important;
  }
  .search-panel-grid {
    grid-template-columns: 1fr !important;
    gap: .85rem !important;
  }
  .search-brand-row {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .search-brand-row a {
    min-height: 56px !important;
  }
  .search-result-item {
    min-height: 48px;
    padding: .65rem .5rem !important;
  }
  .search-chips a {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
  }

  /* Cart drawer — brand + safe area */
  .cart-drawer {
    z-index: 110 !important;
  }
  .cart-drawer-panel {
    width: min(100%, 100vw) !important;
    max-width: 420px;
    border-left: 3px solid var(--cyan);
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }
  .cart-drawer-kicker {
    color: var(--cyan) !important;
    font-weight: 750 !important;
    letter-spacing: .14em !important;
  }
  .cart-drawer-head strong {
    color: var(--indigo) !important;
    font-weight: 800 !important;
  }
  .cart-drawer-x {
    border: 0 !important;
    background: rgba(48, 42, 129, .06) !important;
    border-radius: 8px !important;
    color: var(--indigo) !important;
  }
  .cart-drawer-item {
    border-radius: 8px;
    padding: .75rem !important;
    gap: .75rem !important;
  }
  .cart-drawer-thumb {
    border-radius: 7px !important;
    background: linear-gradient(165deg, #eef2f8, #fff) !important;
  }
  .cart-drawer-meta strong {
    color: var(--ink) !important;
    font-weight: 700 !important;
  }
  .cart-drawer-line {
    color: var(--indigo) !important;
    font-weight: 800 !important;
  }
  .cart-drawer-foot {
    padding: .95rem 1.1rem calc(.95rem + env(safe-area-inset-bottom, 0px)) !important;
    border-top: 1px solid rgba(48, 42, 129, .1) !important;
    gap: .55rem !important;
  }
  .cart-drawer-total strong {
    color: var(--indigo) !important;
    font-weight: 800 !important;
    letter-spacing: -.03em;
  }
  .cart-drawer-foot .btn {
    min-height: 46px;
  }
  .cart-drawer-empty {
    text-align: center;
    padding: 2rem 1rem !important;
  }

  /* PDP sticky buy bar */
  .is-product .buy-bar {
    background: rgba(255, 255, 255, .97) !important;
    border-top: 1px solid rgba(48, 42, 129, .12) !important;
    box-shadow: 0 -8px 24px rgba(31, 26, 90, .08) !important;
  }
  .is-product .buy-bar-copy strong {
    color: var(--indigo) !important;
    font-weight: 800 !important;
  }
  .is-product .buy-bar .btn {
    min-height: 44px;
    min-width: 7.5rem;
    font-weight: 750;
  }
  .is-product .section-pdp {
    padding-bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px)) !important;
  }
  .is-product .detail-media {
    min-height: 260px !important;
  }
  .is-product .buy-actions-primary .btn {
    min-height: 48px;
    width: 100%;
  }
  .is-product .buy-actions-primary {
    flex-direction: column;
  }
  .is-product .buy-actions-primary .buy-quote-form {
    width: 100%;
  }

  /* Cart / quote pages — touch friendly */
  .is-cart .cart-qty,
  .is-quote .cart-qty {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    align-items: center;
    margin-top: .55rem;
  }
  .is-cart .cart-qty .form-control,
  .is-quote .cart-qty .form-control {
    width: 4.5rem;
    min-height: 42px;
  }
  .is-cart .cart-qty .btn,
  .is-quote .cart-qty .btn,
  .is-cart .cart-side .btn,
  .is-quote .cart-side .btn {
    min-height: 42px;
  }
  .is-cart .cart-summary .btn-primary,
  .is-cart .cart-summary .btn-block {
    min-height: 48px;
  }
  .is-cart .coupon-form {
    flex-direction: column;
  }
  .is-cart .coupon-form .btn {
    width: 100%;
    min-height: 42px;
  }
  .is-product .wa-float,
  body.has-buy-bar .wa-float {
    bottom: calc(5.25rem + env(safe-area-inset-bottom, 0px)) !important;
  }
}

@media (max-width: 560px) {
  .product-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: .65rem !important;
  }
  .is-home .product-grid {
    grid-template-columns: 1fr 1fr !important;
  }
  .is-cart .cart-summary {
    position: static !important;
  }
}

/* —— PDP extras: stock, why, docs, quote, compat, share —— */
.pdp-sku-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .35rem .75rem;
}
.pdp-share-inline {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem;
}
.pdp-share-inline a,
.pdp-share-inline button,
.pdp-share-btn {
  display: inline-grid;
  place-items: center;
  width: 2.15rem;
  height: 2.15rem;
  padding: 0;
  border: 1px solid rgba(48, 42, 129, .14);
  border-radius: 6px;
  background: #fff;
  color: var(--indigo);
  cursor: pointer;
  text-decoration: none;
  line-height: 0;
  transition: border-color .15s ease, color .15s ease, background .15s ease;
}
.pdp-share-btn:hover {
  border-color: var(--cyan);
  color: var(--cyan);
  background: rgba(0, 163, 224, .06);
}
.pdp-share-btn.is-copied {
  border-color: #0d6b45;
  color: #0d6b45;
  background: rgba(16, 140, 90, .1);
}
.pdp-share-btn svg {
  display: block;
  width: 18px;
  height: 18px;
}
.is-product .gallery .detail-media {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.pdp-lead {
  margin: 0;
  font-size: .9rem;
  line-height: 1.4;
  color: var(--muted);
}
.pdp-why-inline {
  display: block;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: .84rem;
  line-height: 1.45;
  color: var(--ink-soft, #3a3560);
}
.pdp-why-inline li {
  display: inline;
  font-size: inherit;
  font-weight: 600;
  color: inherit;
  padding: 0;
  background: none;
  border: 0;
  max-width: none;
  line-height: inherit;
}
.pdp-why-inline li:not(:last-child)::after {
  content: " · ";
  font-weight: 500;
  color: var(--muted);
}
.pdp-stock-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem;
  margin: 0;
}
.pdp-stock-row .stock-status,
.pdp-stock-row .eta-pill,
.pdp-stock-row .badge {
  display: inline-flex;
  align-items: center;
  align-self: center;
  margin: 0 !important;
  min-height: 1.9rem;
  box-sizing: border-box;
  line-height: 1.2;
  vertical-align: middle;
}
.stock-status {
  display: inline-flex;
  align-items: center;
  padding: .22rem .5rem;
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  border-radius: 3px;
}
.stock-status--ok { background: rgba(16, 140, 90, .12); color: #0d6b45; }
.stock-status--low { background: rgba(200, 130, 20, .14); color: #8a5a00; }
.stock-status--order,
.stock-status--quote { background: rgba(0, 163, 224, .12); color: #0077a8; }
.pdp-config-box--compact {
  margin: 0;
  padding: .45rem 0 0;
  border-top: 1px solid rgba(48, 42, 129, .08);
}
.pdp-fold {
  margin: 0;
  border: 1px solid rgba(48, 42, 129, .12);
  background: #f8fafc;
}
.pdp-fold > summary {
  cursor: pointer;
  padding: .55rem .75rem;
  font-size: .8rem;
  font-weight: 750;
  color: var(--indigo);
  list-style: none;
}
.pdp-fold > summary::-webkit-details-marker { display: none; }
.pdp-fold > summary::after { content: " +"; color: var(--cyan); font-weight: 800; }
.pdp-fold[open] > summary::after { content: " −"; }
.pdp-fold[open] > summary {
  border-bottom: 1px solid rgba(48, 42, 129, .08);
  background: #fff;
}
.pdp-fold .form-control,
.pdp-fold .pdp-service-grid,
.pdp-fold .pdp-config-label {
  margin-left: .7rem;
  margin-right: .7rem;
}
.pdp-fold .pdp-service-grid { margin-bottom: .7rem; }
.pdp-service-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .4rem;
  margin-top: .45rem;
}
.pdp-service-chip {
  display: flex;
  gap: .45rem;
  align-items: flex-start;
  margin: 0;
  padding: .45rem .55rem;
  border: 1px solid rgba(48, 42, 129, .12);
  background: #fff;
  cursor: pointer;
}
.pdp-service-chip input { margin-top: .15rem; accent-color: var(--cyan); }
.pdp-service-chip em {
  display: block;
  font-style: normal;
  font-weight: 700;
  font-size: .78rem;
  color: var(--indigo);
}
.pdp-service-chip small {
  display: block;
  font-size: .68rem;
  color: var(--muted);
}
.pdp-service-chip:has(input:checked) {
  border-color: var(--cyan);
  background: rgba(0, 163, 224, .06);
}
.qty-row--compact {
  display: flex;
  align-items: center;
  gap: .55rem;
  margin: 0;
}
.qty-row--compact input { width: 4.5rem; }
.pdp-panel {
  margin: 1rem 0 0;
  padding: 0;
  overflow: visible;
  min-height: 0 !important;
  height: auto !important;
}
.pdp-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  border-bottom: 1px solid rgba(48, 42, 129, .12);
  background: rgba(48, 42, 129, .03);
}
.pdp-tab {
  appearance: none;
  border: 0;
  background: transparent;
  padding: .65rem .9rem;
  font: inherit;
  font-size: .78rem;
  font-weight: 750;
  color: var(--muted);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}
.pdp-tab.is-on {
  color: var(--indigo);
  border-bottom-color: var(--cyan);
  background: #fff;
}
.pdp-tab-pane {
  display: none !important;
  padding: .85rem 1rem 1rem;
  min-height: 0 !important;
  height: auto !important;
}
.pdp-tab-pane.is-on { display: block !important; }
.specs-boards--compact { gap: .65rem !important; }
.pdp-doc-list--compact {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .4rem;
}
.pdp-doc-list--compact a,
.pdp-doc-list--compact .pdp-doc-empty {
  display: block;
  padding: .5rem .65rem;
  border: 1px solid rgba(48, 42, 129, .1);
  text-decoration: none;
  color: inherit;
  font-size: .84rem;
}
.pdp-doc-list--compact a:hover { border-color: var(--cyan); }
.pdp-quick-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .55rem .65rem;
}
.pdp-quick-grid .full { grid-column: 1 / -1; }
.pdp-compat-table-wrap { overflow-x: auto; }
.pdp-compat-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .84rem;
}
.pdp-compat-table th,
.pdp-compat-table td {
  text-align: left;
  padding: .4rem;
  border-bottom: 1px solid rgba(48, 42, 129, .1);
}
.pdp-compat-table th {
  font-size: .66rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted);
}
.pdp-related { margin-top: 1.1rem; }
.pdp-related-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .55rem;
  margin-bottom: .65rem;
}
.pdp-related-head h2 { margin: 0; font-size: 1.1rem; }
.pdp-related-tabs { display: flex; flex-wrap: wrap; gap: .35rem; }
.pdp-chip {
  display: inline-flex;
  align-items: center;
  padding: .3rem .65rem;
  border: 1px solid rgba(48, 42, 129, .14);
  background: #fff;
  color: var(--indigo);
  font-size: .72rem;
  font-weight: 700;
  border-radius: 3px;
  cursor: pointer;
}
.pdp-chip--btn { font: inherit; font-size: .72rem; font-weight: 700; }
.pdp-chip.is-on,
.pdp-chip:hover { border-color: var(--cyan); color: var(--cyan); }
.pdp-related-pane { display: none !important; }
.pdp-related-pane.is-on { display: grid !important; }
.detail-desc-block--compact { margin: 0; }
.detail-desc-block--compact p { margin: 0; font-size: .9rem; }
.is-product .pdp-highlights { margin: 0; }
.is-product .detail-prices { margin: 0; }
.is-product .detail-meta h1 { margin: 0 0 .1rem; }
.is-product .sku { margin: 0; }
.buy-actions { margin-top: .1rem; }
@media (max-width: 900px) {
  .pdp-quick-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  .pdp-service-grid,
  .pdp-doc-list--compact,
  .pdp-quick-grid { grid-template-columns: 1fr; }
  .is-product .pdp-stage { grid-template-columns: 1fr; gap: 1rem; }
  .is-product .detail-media { max-height: 320px; aspect-ratio: 4 / 3; }
}
@media print {
  .no-print,
  .site-header,
  .site-footer,
  .wa-float,
  .buy-bar,
  .breadcrumb { display: none !important; }
  .pdp-stage { display: block !important; }
  .detail-meta { border: 0 !important; padding: 0 !important; }
  .pdp-tab-pane { display: block !important; }
}
