/*
 * Production stylesheet bundle
 * --------------------------------------------------------------------------
 * This file is the browser-facing CSS entry point. It is kept as a single
 * file so the deployed site only needs one stylesheet request. It is the
 * authoritative desktop/shared source; logical section comments keep it
 * maintainable without relying on a separate, unpublished CSS directory.
 */

/* 00-site-base.css | Generated for maintainability step 6 */

@font-face {
  font-family:"Bebas Neue";
  src:url("assets/fonts/bebas-neue-400.woff2") format("woff2");
  font-style:normal;
  font-weight:400;
  font-display:swap
}
@font-face {
  font-family:Inter;
  src:url("assets/fonts/inter-400.woff2") format("woff2");
  font-style:normal;
  font-weight:400;
  font-display:swap
}
@font-face {
  font-family:Inter;
  src:url("assets/fonts/inter-700.woff2") format("woff2");
  font-style:normal;
  font-weight:700;
  font-display:swap
}
@font-face {
  font-family:"Lobster Two";
  src:url("assets/fonts/lobster-two-700.woff2") format("woff2");
  font-style:normal;
  font-weight:400 700;
  font-display:swap
}

:root {
  --brand-blue:#1f2fa3;
  --brand-blue-dark:#15206b;
  --brand-red:#ef1823;
  --brand-red-dark:#b40f18;
  --brand-white:#ffffff;
  --brand-gold:#e4b141;
  --brand-green:#1b8d3d;
  --primary:var(--brand-blue);
  --accent-blue:var(--brand-blue);
  --font-display:"Bebas Neue",sans-serif;
  --font-script:"Lobster Two",cursive;
  /*
   * Static design images are served through WebP-first image sets. The
   * original JPG/PNG files remain as fallbacks for older browsers and for
   * any host-level caching edge cases.
   */
  --image-grass:image-set(url("/assets/grass.webp") type("image/webp"),url("/assets/grass.jpg") type("image/jpeg"));
  --image-baseball-main:image-set(url("/assets/baseball-main.webp") type("image/webp"),url("/assets/baseball-main.jpg") type("image/jpeg"));
  --image-basketball-main:image-set(url("/assets/basketball-main.webp") type("image/webp"),url("/assets/basketball-main.jpg") type("image/jpeg"));
  --image-football-main:image-set(url("/assets/football-main.webp") type("image/webp"),url("/assets/football-main.jpg") type("image/jpeg"));
  --image-comics-main:image-set(url("/assets/comics-main.webp") type("image/webp"),url("/assets/comics-main.jpeg") type("image/jpeg"));
  --image-jordan:image-set(url("/assets/Jordan.webp") type("image/webp"),url("/assets/Jordan.jpg") type("image/jpeg"));
  --image-clubhouse:image-set(url("/assets/clubhouse-sign.webp?v=20260916c") type("image/webp"),url("/assets/clubhouse-sign.png?v=20260916c") type("image/png"));
  --image-baseball-footer:image-set(url("/assets/baseball-footer.webp") type("image/webp"),url("/assets/baseball-footer.jpg") type("image/jpeg"));
  --image-basketball-footer:image-set(url("/assets/basketball-footer-20260911.jpg") type("image/jpeg"));
  --image-football-footer:image-set(url("/assets/football-footer.webp") type("image/webp"),url("/assets/football-footer.jpg") type("image/jpeg"));
  --image-comics-footer:image-set(url("/assets/comics-footer.webp") type("image/webp"),url("/assets/comics-footer.jpeg") type("image/jpeg"));
  --page-bg:#f3f6fb;
  --surface:rgba(255, 255, 255, 0.94);
  --surface-strong:#ffffff;
  --text:#172033;
  --muted:#5c667f;
  --border:rgba(24, 37, 73, 0.12);
  --shadow:0 12px 30px rgba(16, 27, 57, 0.14);
  --radius:22px;
  --header-h:88px;
  --maxw:1200px
}
*,::after,::before {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth
}
body {
  margin:0;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text);
  background:radial-gradient(circle at top left,rgba(31,47,163,.08),transparent 34%),radial-gradient(circle at top right,rgba(239,24,35,.08),transparent 28%),linear-gradient(180deg,#f8fbff 0,#eef3fb 100%);
  min-height:100vh
}
body.menu-open {
  overflow:hidden
}
body.dark-mode {
  --page-bg:#0e1426;
  --surface:rgba(20, 28, 52, 0.94);
  --surface-strong:#11192d;
  --text:#f3f7ff;
  --muted:#afbdd9;
  --border:rgba(255, 255, 255, 0.12);
  --shadow:0 14px 34px rgba(0, 0, 0, 0.32);
  --primary:#9fd0ff;
  --accent-blue:#9fd0ff;
  background:radial-gradient(circle at top left,rgba(31,47,163,.22),transparent 34%),radial-gradient(circle at top right,rgba(239,24,35,.16),transparent 28%),linear-gradient(180deg,#0b1020 0,#111a30 100%)
}
img {
  max-width:100%;
  display:block
}
[hidden] {
  display:none !important
}
a {
  color:inherit;
  text-decoration:none
}
button,input,select,textarea {
  font:inherit
}
input,select,textarea {
  background:#fff;
  color:#101829
}
body.dark-mode input,body.dark-mode select,body.dark-mode textarea {
  background:rgba(255,255,255,.06);
  color:var(--text);
  border-color:rgba(255,255,255,.14)
}
.container {
  width:min(var(--maxw),calc(100% - 2rem));
  margin:0 auto
}
.section {
  padding:1.25rem 0 4rem
}
.section-top {
  margin-top:1rem
}
.admin-form,.brand-card,.category-card,.contact-card,.empty-state,.feature-card,.glass-card,.modal-content,.panel,.product-card,.stat-card,.story-card {
  background:var(--surface);
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  backdrop-filter:blur(10px)
}
.site-header {
  position:sticky;
  top:0;
  z-index:1000;
  background:linear-gradient(180deg,rgba(8,14,32,.9),rgba(14,23,47,.88)),linear-gradient(90deg,var(--brand-blue),var(--brand-blue-dark));
  border-bottom:1px solid rgba(255,255,255,.1);
  box-shadow:0 10px 28px rgba(0,0,0,.18);
  backdrop-filter:blur(16px)
}
.header-inner {
  min-height:var(--header-h);
  display:grid;
  grid-template-columns:auto 1fr auto auto;
  align-items:center;
  gap:1rem
}
.brand {
  display:inline-flex;
  align-items:center;
  gap:.85rem;
  min-width:0
}
.brand-logo {
  object-fit:contain;
  filter:drop-shadow(0 8px 10px rgba(0,0,0,.25))
}
.brand-copy {
  display:flex;
  flex-direction:column;
  gap:.15rem;
  color:#fff
}
.brand-script {
  font-family:"Lobster Two",cursive;
  font-size:clamp(1.7rem,2vw,2.1rem);
  line-height:1;
  letter-spacing:.02em
}
.brand-kicker {
  font-family:"Bebas Neue",sans-serif;
  font-size:clamp(.82rem,.9vw,1rem);
  letter-spacing:.12em;
  opacity:.9;
  text-transform:uppercase
}
.admin-form button,.button,.button-secondary,.contact-form button,.modal-cta,.nav-toggle,.product-card button,.theme-toggle {
  border:0;
  border-radius:999px;
  cursor:pointer;
  transition:transform .2s,opacity .2s,background .2s,color .2s,box-shadow .2s
}
.nav-toggle,.theme-toggle {
  height:46px;
  min-width:46px;
  padding:0 1rem;
  background:rgba(255,255,255,.08)
}
.nav-toggle {
  display:none;
  font-size:1.05rem
}
.site-nav ul {
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:.4rem;
  list-style:none;
  margin:0;
  padding:0
}
.site-nav a {
  display:inline-flex;
  align-items:center;
  color:#fff;
  border-radius:999px;
  font-weight:700;
  letter-spacing:.01em;
  opacity:.92
}
.site-nav a.active,.site-nav a:hover {
  background:rgba(255,255,255,.12);
  opacity:1
}
.hero {
  position:relative;
  padding:3.75rem 0 2.75rem;
  overflow:hidden
}
.hero::before {
  content:"";
  position:absolute;
  inset:1.25rem 0 auto;
  height:min(72vh,660px);
  background:linear-gradient(180deg,rgba(8,14,32,.25),rgba(8,14,32,.65)),var(--image-grass) center/cover no-repeat;
  border-radius:0 0 34px 34px;
  box-shadow:inset 0 -30px 40px rgba(0,0,0,.18)
}
.hero::after {
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:110px;
  background:linear-gradient(180deg,rgba(243,246,251,0),var(--page-bg))
}
.hero-grid {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(320px,0.88fr);
  gap:1.5rem;
  align-items:stretch
}
.hero-brand,.hero-copy {
  border-radius:30px;
  padding:2rem
}
.hero-copy {
  margin-top:2.1rem
}
.kicker {
  display:inline-block;
  font-family:"Bebas Neue",sans-serif;
  font-size:1.02rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  padding:.45rem .8rem;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(90deg,var(--brand-red),var(--brand-blue));
  box-shadow:0 10px 20px rgba(31,47,163,.18)
}
.hero-title,.page-title,.section-title {
  margin:.9rem 0 .55rem;
  font-size:3.35rem;
  line-height:.98;
  letter-spacing:0;
  font-weight:800
}
.script-accent {
  font-family:"Lobster Two",cursive;
  font-style:italic;
  font-weight:700;
  color:var(--brand-red);
  text-shadow:0 1px 0 #fff;
  letter-spacing:0
}
.contact-card p,.empty-state p,.feature-card p,.hero-copy p,.section-subtitle,.story-copy p {
  color:var(--muted);
  font-size:1.02rem
}
.hero-actions,.inline-actions {
  display:flex;
  flex-wrap:wrap;
  gap:.85rem;
  margin-top:1.4rem
}
.admin-form button,.button,.button-secondary,.contact-form button,.modal-cta,.product-card button {
  min-height:48px;
  padding:.9rem 1.25rem;
  font-weight:800;
  box-shadow:0 10px 18px rgba(31,47,163,.16)
}
.admin-form button,.button,.contact-form button,.modal-cta,.product-card button {
  color:#fff;
  background:linear-gradient(135deg,var(--brand-blue),var(--brand-red))
}
.button-secondary {
  color:var(--text);
  background:rgba(255,255,255,.85);
  border:1px solid var(--border)
}
body.dark-mode .button-secondary {
  color:var(--text);
  background:rgba(255,255,255,.08)
}
.hero-brand {
  display:grid;
  align-content:space-between;
  gap:1rem;
  margin-top:.7rem
}
.hero-logo-wrap {
  display:grid;
  place-items:center;
  min-height:320px;
  border-radius:26px;
  background:radial-gradient(circle at top,rgba(255,255,255,.94),rgba(255,255,255,.78) 58%,rgba(255,255,255,.66) 100%);
  border:1px solid rgba(31,47,163,.08)
}
body.dark-mode .hero-logo-wrap {
  background:radial-gradient(circle at top,rgba(255,255,255,.1),rgba(255,255,255,.04))
}
.hero-logo {
  width:min(100%,420px);
  max-height:340px;
  object-fit:contain;
  filter:drop-shadow(0 14px 18px rgba(0,0,0,.2))
}
.brand-card h2,.brand-card h3,.contact-card h2:not(.section-title),.contact-card h3,.feature-card h3,.stat-card h3,.story-card h3 {
  margin:0 0 .25rem;
  font-size:1.02rem
}
.section-heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1.2rem
}
.section-heading p {
  margin:.2rem 0 0;
  color:var(--muted);
  max-width:720px
}
.categories-grid,.contact-grid,.features-grid,.stats-grid,.story-grid {
  display:grid;
  gap:1rem
}
.categories-grid {
  grid-template-columns:repeat(4,minmax(0,1fr))
}
.features-grid {
  grid-template-columns:repeat(3,minmax(0,1fr))
}
.stats-grid {
  grid-template-columns:repeat(4,minmax(0,1fr))
}
.story-grid {
  grid-template-columns:1.15fr 0.85fr;
  align-items:start
}
.contact-grid {
  grid-template-columns:0.95fr 1.05fr;
  align-items:start
}
.brand-card,.category-card,.contact-card,.empty-state,.feature-card,.panel,.stat-card,.story-card {
  border-radius:var(--radius);
  padding:1.35rem
}
.category-card {
  position:relative;
  min-height:280px;
  display:flex;
  flex-direction:column;
  justify-content:end;
  overflow:hidden
}
.category-card::before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(11,18,39,.03),rgba(11,18,39,.68)),var(--category-bg,var(--image-grass)) center/cover no-repeat;
  opacity:1
}
.category-card .overlay {
  position:absolute;
  inset:0;
  background:linear-gradient(160deg,rgba(255,255,255,0),rgba(255,255,255,.04)),linear-gradient(180deg,transparent 20%,rgba(0,0,0,.68) 100%)
}
.category-card>* {
  position:relative;
  z-index:1;
  color:#fff
}
.category-card h3 {
  margin:0 0 .35rem;
  font-size:1.5rem
}
.category-card p {
  margin:0;
  color:rgba(255,255,255,.86)
}
.category-pill {
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  margin-bottom:.85rem;
  font-family:"Bebas Neue",sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase
}
.category-card .category-pill {
  min-height:32px;
  padding:0 .8rem;
  border-radius:999px;
  background:rgba(8,14,32,.66);
  border:1px solid rgba(255,255,255,.26);
  color:#fff;
  font-size:.84rem;
  font-weight:800;
  text-shadow:0 1px 2px rgba(0,0,0,.35);
  box-shadow:0 12px 22px rgba(0,0,0,.18)
}
.products-grid {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:.9rem
}
.product-card {
  display:flex;
  flex-direction:column;
  overflow:hidden
}
.product-card img {
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  background:rgba(31,47,163,.05)
}
.product-content {
  display:grid;
  gap:.7rem
}
.product-topline {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.5rem
}
.product-badge {
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  background:rgba(31,47,163,.09);
  color:var(--brand-blue);
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase
}
body.dark-mode .product-badge {
  color:#fff;
  background:rgba(255,255,255,.08)
}
.product-card :is(h2,h3) {
  margin:0
}
.product-price {
  font-weight:800;
  color:var(--brand-red)
}
.product-actions {
  display:flex;
  gap:.65rem
}
.product-actions button {
  flex:1 1 auto
}
.button-ghost {
  color:var(--text)!important;
  background:0 0!important;
  border:1px solid var(--border)!important;
  box-shadow:none!important
}
.wishlist-button {
  position:absolute;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.7);
  background:rgba(255,255,255,.88);
  color:var(--brand-red);
  box-shadow:0 10px 20px rgba(0,0,0,.14);
  z-index:2
}
.wishlist-button.filled {
  background:var(--brand-red);
  color:#fff;
  border-color:transparent
}
.filter-grid {
  display:grid;
  grid-template-columns:1.6fr repeat(2,1fr) repeat(2,0.8fr) 1fr;
  gap:.75rem
}
.field-group {
  display:grid;
  gap:.45rem
}
.field-group label {
  color:var(--muted);
  font-weight:700
}
.admin-form input,.admin-form select,.admin-form textarea,.contact-form input,.contact-form textarea,.field-group input,.field-group select {
  border:1px solid var(--border);
  width:100%
}
.admin-form textarea,.contact-form textarea {
  resize:vertical
}
.range-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:.75rem
}
.empty-state {
  text-align:center;
  padding:2rem 1.25rem
}
.empty-state h3 {
  margin:0 0 .45rem;
  font-size:1.3rem
}
.empty-state--catalog {
  grid-column:1/-1;
  max-width:720px;
  margin:1.5rem auto;
  padding:clamp(2rem,5vw,3.25rem);
  border:1px solid var(--border);
  border-radius:28px;
  background:
    radial-gradient(circle at 18% 18%,rgba(31,95,255,.14),transparent 32%),
    radial-gradient(circle at 82% 16%,rgba(239,24,35,.12),transparent 30%),
    rgba(255,255,255,.76);
  box-shadow:0 20px 44px rgba(16,27,57,.12);
}
.empty-state-kicker {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-bottom:.7rem;
  padding:.34rem .78rem;
  border-radius:999px;
  background:linear-gradient(135deg,var(--brand-blue),var(--brand-red));
  color:#fff;
  font-family:"Bebas Neue",sans-serif;
  font-size:.92rem;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.empty-state-actions {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.75rem;
  margin-top:1.2rem;
}
.empty-state-actions > * {
  min-width:190px;
}

.catalog-noscript {
  margin:1rem 0;
  padding:1rem 1.1rem;
  border:1px solid rgba(31,47,163,.14);
  border-radius:18px;
  background:rgba(255,255,255,.88);
  color:var(--muted);
  box-shadow:0 10px 24px rgba(16,27,57,.08);
}

.catalog-noscript a,
.modal-trust-links a {
  color:var(--primary);
  font-weight:800;
}

.static-product-card .product-actions a {
  text-decoration:none;
}

.modal-trust-links {
  display:flex;
  flex-wrap:wrap;
  gap:.45rem .65rem;
  margin:.75rem 0 0;
  font-size:.92rem;
}
.brand-card,.contact-card,.story-card {
  display:grid;
  gap:1rem
}
.story-split {
  display:grid;
  grid-template-columns:220px 1fr;
  gap:1rem;
  align-items:start
}
.story-image {
  border-radius:22px;
  overflow:hidden;
  background:rgba(31,47,163,.06);
  border:1px solid var(--border)
}
.story-image img {
  width:100%;
  height:100%;
  object-fit:cover
}
.story-copy p {
  margin:0 0 .95rem
}
.story-list {
  display:grid;
  gap:.65rem;
  padding:0;
  margin:0;
  list-style:none
}
.story-list li {
  position:relative;
  padding-left:1.3rem;
  color:var(--muted)
}
.story-list li::before {
  content:"";
  position:absolute;
  left:0;
  top:.6em;
  width:.42rem;
  height:.42rem;
  border-radius:999px;
  background:var(--brand-red);
  box-shadow:0 0 0 .2rem rgba(239,29,53,.12)
}
.stats-grid .stat-card {
  text-align:center
}
.stat-number {
  margin:0;
  font-family:"Bebas Neue",sans-serif;
  font-size:2.75rem;
  letter-spacing:.06em;
  color:var(--brand-blue)
}
body.dark-mode .stat-number {
  color:#fff
}
.stat-label {
  margin:.35rem 0 0;
  color:var(--muted)
}
.brand-card {
  position:relative;
  overflow:hidden
}
.brand-card::before {
  content:"";
  position:absolute;
  inset:auto -18% -22% auto;
  width:280px;
  height:280px;
  background:radial-gradient(circle,rgba(239,24,35,.14),transparent 70%)
}
.brand-card .brand-photo {
  width:min(100%,240px);
  max-width:240px;
  height:auto;
  aspect-ratio:auto;
  object-fit:contain;
  align-self:start;
  margin-inline:auto;
  filter:drop-shadow(0 12px 18px rgba(0,0,0,.16))
}
.contact-stack {
  display:grid;
  gap:1rem
}
.contact-card small {
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:700
}
.contact-form {
  display:grid;
  gap:.95rem
}
.contact-form-actions {
  display:flex;
  gap:.85rem;
  flex-wrap:wrap
}
.admin-layout {
  display:grid;
  grid-template-columns:0.95fr 1.05fr;
  gap:1rem;
  align-items:start
}
.admin-form,.panel {
  border-radius:26px;
  padding:1.35rem
}
.admin-form-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:.9rem
}
.admin-form-grid .full {
  grid-column:1/-1
}
.custom-items {
  display:grid
}
.modal {
  position:fixed;
  inset:0;
  background:rgba(7,11,24,.62);
  display:none;
  align-items:center;
  justify-content:center;
  padding:1rem;
  z-index:1200
}
.modal.active {
  display:flex
}
.modal-content {
  position:relative;
  width:min(880px,calc(100% - 1rem));
  border-radius:28px;
  overflow:hidden;
  padding:0;
  backdrop-filter:none
}
.modal-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,1.02fr)
}
.modal-media {
  min-height:100%;
  background:rgba(31,47,163,.05)
}
.modal-copy {
  min-width:0;
  padding:1.15rem 1.2rem;
  display:grid;
  align-content:start;
  gap:.72rem;
  font-size:.95rem
}
.modal-copy h3 {
  margin:0;
  font-size:1.42rem;
  line-height:1.18
}
.modal-copy p {
  margin:0;
  color:var(--muted);
  font-size:.92rem;
  line-height:1.48
}
.modal-close {
  position:absolute;
  top:.8rem;
  right:.8rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  border-radius:18px;
  border:1px solid rgba(12,18,34,.12);
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(238,244,255,.96));
  color:#0b1020;
  font-size:2rem;
  font-weight:800;
  line-height:1;
  cursor:pointer;
  box-shadow:0 16px 30px rgba(7,13,27,.18);
  backdrop-filter:blur(8px);
  z-index:2
}
body.dark-mode .modal-close {
  border-color:rgba(255,255,255,.14);
  background:rgba(9,16,34,.94);
  color:#fff
}
.modal-close:hover,
.modal-close:focus-visible {
  transform:translateY(-1px);
  box-shadow:0 18px 34px rgba(7,13,27,.24)
}
.footer {
  /* Desktop footer artwork sits as a top strip; footer content starts below it. */
  --footer-artwork-offset:92px;
  position:relative;
  margin-top:4rem;
  color:#fff;
  background:linear-gradient(180deg,rgba(8,14,32,.2),rgba(8,14,32,.88)),linear-gradient(90deg,var(--brand-blue-dark),var(--brand-blue))
}
.footer::before {
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  opacity:.95
}
.footer-inner {
  position:relative;
  display:grid;
  grid-template-columns:1.15fr 0.85fr;
  gap:1rem;
  padding:6.2rem 0 2.2rem
}
.footer-brand {
  display:grid;
  gap:.8rem
}
.footer-brand p,.footer-links a,.footer-links p {
  color:rgba(255,255,255,.86)
}
.footer-logo-line {
  display:flex;
  align-items:center;
  gap:.95rem
}
.footer-logo {
  width:72px;
  height:72px;
  object-fit:contain
}
.footer-links {
  display:grid;
  gap:.5rem;
  align-content:start;
  justify-items:start
}
.footer-links strong {
  font-family:"Bebas Neue",sans-serif;
  font-size:1.1rem;
  letter-spacing:.14em;
  text-transform:uppercase
}
.footer-bottom {
  position:relative;
  border-top:1px solid rgba(255,255,255,.1);
  padding:1rem 0 1.5rem;
  color:rgba(255,255,255,.78);
  display:flex;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap
}
.back-to-top {
  position:fixed;
  right:1rem;
  bottom:1rem;
  width:48px;
  height:48px;
  border-radius:50%;
  border:0;
  display:none;
  place-items:center;
  color:#fff;
  background:linear-gradient(135deg,var(--brand-blue),var(--brand-red));
  box-shadow:0 12px 24px rgba(31,47,163,.2);
  cursor:pointer;
  z-index:1500
}
.back-to-top.visible {
  display:grid
}
.page-hero {
  padding:2rem 0 .25rem
}
.page-hero-card {
  display:grid;
  gap:.85rem;
  border-radius:28px;
  background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.82)),var(--image-grass) center/cover no-repeat;
  background-blend-mode:screen;
  border:1px solid var(--border);
  box-shadow:var(--shadow)
}
.page-hero-card p {
  margin:0;
  max-width:720px;
  color:var(--muted)
}
.utility-row {
  display:flex;
  gap:.8rem;
  flex-wrap:wrap;
  align-items:center
}
.utility-chip {
  min-height:36px;
  padding:0 .85rem;
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  background:rgba(31,47,163,.08);
  color:var(--brand-blue);
  font-weight:700
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  overflow:hidden;
  white-space:nowrap
}
@media (max-width:1280px) {
  .products-grid {
    grid-template-columns:repeat(4,minmax(0,1fr))
  }
}
@media (max-width:1080px) {
  .admin-layout,.contact-grid,.footer-inner,.hero-grid,.story-grid {
    grid-template-columns:1fr
  }
  .categories-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .products-grid {
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
  .features-grid,.stats-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .filter-grid {
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
}
@media (max-width:820px) {
  :root {
    --header-h:80px
  }
  .header-inner {
    grid-template-columns:auto 1fr auto
  }
  .nav-toggle {
    display:inline-flex;
    align-items:center;
    justify-content:center
  }
  .site-nav {
    position:fixed;
    inset:var(--header-h) 0 auto 0;
    background:rgba(9,14,30,.98);
    border-bottom:1px solid rgba(255,255,255,.08);
    transform:translateY(-110%);
    transition:transform .25s;
    box-shadow:0 14px 28px rgba(0,0,0,.22)
  }
  .site-nav.open {
    transform:translateY(0)
  }
  .site-nav ul {
    padding:1rem;
    flex-direction:column;
    align-items:stretch
  }
  .site-nav a {
    min-height:48px;
    justify-content:center
  }
  .hero::before {
    border-radius:0 0 24px 24px;
    height:62vh
  }
  .hero-brand,.hero-copy {
    padding:1.35rem
  }
  .brand-logo {
    width:66px;
    height:66px
  }
  .brand-script {
    font-size:1.28rem
  }
  .admin-form-grid,.filter-grid,.modal-layout,.range-grid,.story-split {
    grid-template-columns:1fr
  }
  .section-heading {
    align-items:start;
    flex-direction:column
  }
}
@media (max-width:640px) {
  .container {
    width:min(100% - 1rem,var(--maxw))
  }
  .hero {
    padding-top:2.6rem
  }
  .hero::before {
    inset:0.8rem 0 auto;
    height:70vh
  }
  .hero-title,.page-title,.section-title {
    line-height:1.02
  }
  .categories-grid,.features-grid,.products-grid,.stats-grid {
    grid-template-columns:1fr
  }
  .contact-form-actions,.hero-actions,.product-actions {
    flex-direction:column
  }
  .footer-bottom {
    flex-direction:column
  }
  .theme-toggle {
    min-width:0;
    padding:0 .85rem
  }
}
.footer-bottom-meta {
  display:inline-flex;
  align-items:center;
  gap:.9rem;
  flex-wrap:wrap
}
.admin-footer-link {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 1rem;
  background:rgba(255,255,255,.08);
  font-weight:700
}
.admin-footer-link.active,.admin-footer-link:hover {
  background:rgba(255,255,255,.15)
}
.catalog-hero--collectibles .page-hero-card,.catalog-hero--comics .page-hero-card,.catalog-hero--sports-cards .page-hero-card,.shop-hub-hero .page-hero-card {
  position:relative;
  overflow:hidden
}
.departments-grid {
  grid-template-columns:repeat(3,minmax(0,1fr))
}
main:focus {
  outline:0
}
.skip-link {
  position:fixed;
  top:.75rem;
  left:1rem;
  padding:.85rem 1rem;
  border-radius:999px;
  background:#fff;
  color:#0b1020;
  font-weight:800;
  box-shadow:0 10px 24px rgba(0,0,0,.2);
  transform:translateY(-140%);
  transition:transform .2s;
  z-index:2500
}
.skip-link:focus,.skip-link:focus-visible {
  transform:translateY(0)
}
:focus-visible {
  outline:3px solid var(--focus-ring,var(--brand-gold));
  outline-offset:3px
}
.admin-footer-link:focus-visible,.admin-form button:focus-visible,.back-to-top:focus-visible,.button-secondary:focus-visible,.button:focus-visible,.contact-form button:focus-visible,.modal-close:focus-visible,.modal-cta:focus-visible,.nav-toggle:focus-visible,.product-card button:focus-visible,.site-nav a:focus-visible,.theme-toggle:focus-visible,.wishlist-button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  box-shadow:0 0 0 4px rgba(228,177,65,.28)
}
.filter-panel-header {
  display:flex;
  flex-direction:column;
  gap:.3rem
}
.filter-panel-header h2 {
  margin:0;
  line-height:1.1
}
.filter-panel-header p,.helper-text {
  margin:0;
  color:var(--muted)
}
.helper-text {
  margin-top:.1rem
}
.results-toolbar {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
  flex-wrap:wrap
}
.results-meta {
  display:grid;
  gap:.6rem
}
.results-summary {
  margin:0;
  color:var(--muted);
  font-weight:700
}
.active-filters {
  display:flex;
  flex-wrap:wrap;
  gap:.5rem
}
.filter-chip {
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  min-height:36px;
  color:var(--brand-blue)
}
.status-message {
  margin-top:1rem;
  padding:.9rem 1rem;
  border-radius:18px;
  border:1px solid var(--border);
  background:rgba(31,47,163,.05);
  color:var(--text)
}
.status-message[data-state=success] {
  background:rgba(27,141,61,.1);
  border-color:rgba(27,141,61,.24)
}
.status-message[data-state=error] {
  background:rgba(239,24,35,.08);
  border-color:rgba(239,24,35,.24)
}
.status-message[data-state=info] {
  background:rgba(31,47,163,.08)
}
.admin-form input::placeholder,.admin-form textarea::placeholder,.contact-form input::placeholder,.contact-form textarea::placeholder,.field-group input::placeholder,.field-group textarea::placeholder {
  color:color-mix(in srgb,var(--muted) 80%,transparent)
}
.modal[aria-hidden=false] {
  display:flex
}
@media (prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,::after,::before {
    animation-duration:0s!important;
    animation-iteration-count:1!important;
    transition-duration:0s!important;
    scroll-behavior:auto!important
  }
}
@media (max-width:640px) {
  .results-toolbar {
    margin-bottom:1rem
  }
  .skip-link {
    left:.5rem;
    right:.5rem;
    width:auto;
    text-align:center
  }
}
.modal-media {
  display:grid;
  gap:.85rem;
  align-content:start;
  padding:1rem
}
.modal-media img {
  width:100%;
  height:100%;
  border-radius:18px;
  object-fit:contain;
  background:rgba(255,255,255,.72)
}
.modal-thumbs {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(68px,1fr));
  gap:.65rem
}
.modal-thumb {
  display:flex;
  align-items:center;
  justify-content:center;
  border:2px solid transparent;
  background:rgba(255,255,255,.88);
  border-radius:16px;
  padding:.2rem;
  cursor:pointer
}
.modal-thumb.active {
  border-color:var(--brand-red);
  box-shadow:0 0 0 3px rgba(239,24,35,.18)
}
.modal-thumb img {
  width:100%;
  height:72px;
  object-fit:contain;
  padding:.2rem;
  background:rgba(255,255,255,.72);
  border-radius:12px
}
.department-split-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.2rem
}
.department-split-grid .category-card {
  min-height:320px
}
.department-split-grid .category-card h3 {
  font-size:2.1rem
}
@media (max-width:900px) {
  .department-split-grid {
    grid-template-columns:1fr
  }
}

/* Private offer and admin-inbox workflow. These surfaces deliberately keep
   negotiated prices isolated from the public catalog card and product modal. */
body[data-page="offer"],
body[data-page="inbox"] {
  --hero-image-position:center center;
  --hero-image-size:cover;
}

.offer-page-shell,
.inbox-page-shell {
  display:grid;
  gap:1.2rem;
}

.offer-layout {
  display:grid;
  grid-template-columns:minmax(220px,.78fr) minmax(0,1.22fr);
  gap:1.2rem;
  align-items:start;
}

.offer-product-card {
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  gap:1rem;
  align-items:center;
  padding:1rem;
  border:1px solid var(--border);
  border-radius:22px;
  background:rgba(255,255,255,.62);
  box-shadow:var(--shadow);
}

.offer-product-card img,
.offer-product-card__image-fallback {
  width:112px;
  height:112px;
  border:1px solid var(--border);
  border-radius:16px;
  object-fit:contain;
  background:#fff;
}

.offer-product-card__image-fallback {
  display:grid;
  place-items:center;
  color:var(--brand-blue);
  font-family:var(--font-display);
  font-weight:900;
}

.offer-product-card__eyebrow,
.offer-product-card__price span,
.offer-facts dt,
.inbox-card__facts strong,
.inbox-card__meta,
.inbox-card__closed-note {
  color:var(--muted);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.offer-product-card h2,
.offer-detail-panel h2,
.inbox-toolbar h2,
.inbox-card h3,
.inbox-section h2 {
  margin:.2rem 0;
}

.offer-product-card__price {
  display:grid;
  gap:.16rem;
  margin:.72rem 0 0;
}

.offer-product-card__price strong {
  color:var(--brand-red);
  font-size:1.28rem;
}

.offer-form-panel,
.offer-detail-panel,
.offer-timeline,
.inbox-toolbar,
.inbox-card {
  padding:clamp(1rem,2vw,1.35rem);
}

.offer-form,
.inbox-offer-form,
.inbox-inquiry-form {
  display:grid;
  gap:.86rem;
  margin-top:1rem;
}

.offer-form label,
.inbox-offer-form label,
.inbox-inquiry-form label,
.inbox-toolbar label {
  display:grid;
  gap:.4rem;
  color:var(--text);
  font-weight:800;
}

.field-optional {
  color:var(--muted);
  font-size:.78em;
  font-weight:700;
}

.offer-form-grid,
.inbox-offer-form__grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.82rem;
}

.offer-form-grid__full {
  grid-column:1 / -1;
}

.offer-honeypot {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
}

.offer-runtime-status,
.inbox-runtime-status {
  min-height:1.4rem;
  margin:0;
  color:var(--muted);
  font-weight:700;
}

.offer-runtime-status[data-tone="error"],
.inbox-runtime-status[data-tone="error"] {
  color:#bd173f;
}

.offer-runtime-status[data-tone="success"],
.inbox-runtime-status[data-tone="success"] {
  color:#087f5b;
}

.offer-detail-panel__header,
.inbox-card__header,
.section-heading,
.inbox-toolbar,
.inbox-toolbar__filters,
.inbox-card__facts,
.inbox-inquiry-form {
  display:flex;
  gap:.85rem;
}

.offer-detail-panel__header,
.inbox-card__header,
.section-heading,
.inbox-toolbar {
  align-items:flex-start;
  justify-content:space-between;
}

.offer-status-badge,
.inbox-status-badge {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2rem;
  padding:.34rem .66rem;
  border:1px solid rgba(31,47,163,.18);
  border-radius:999px;
  background:rgba(31,47,163,.08);
  color:var(--brand-blue);
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.05em;
  text-align:center;
  text-transform:uppercase;
}

.offer-status-badge[data-status="accepted"],
.offer-status-badge[data-status="purchased"] {
  border-color:rgba(8,127,91,.24);
  background:rgba(8,127,91,.1);
  color:#087f5b;
}

.offer-status-badge[data-status="declined"],
.offer-status-badge[data-status="rejected"],
.offer-status-badge[data-status="expired"] {
  border-color:rgba(189,23,63,.2);
  background:rgba(189,23,63,.08);
  color:#bd173f;
}

.offer-facts {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.7rem;
  margin:1rem 0;
}

.offer-facts div,
.inbox-card__facts > span {
  display:grid;
  gap:.28rem;
  min-width:0;
}

.offer-facts dd {
  margin:0;
  color:var(--text);
  font-size:1.08rem;
  font-weight:900;
}

.offer-note,
.inbox-note,
.offer-action-panel {
  margin-top:1rem;
  padding:.9rem;
  border:1px solid rgba(31,47,163,.12);
  border-radius:16px;
  background:rgba(31,47,163,.045);
}

.offer-note p,
.inbox-note p {
  margin:.42rem 0 0;
  white-space:pre-wrap;
}

.offer-action-panel h3,
.offer-action-panel h4 {
  margin:0 0 .45rem;
}

.offer-status-copy {
  margin:1rem 0 0;
}

.offer-timeline {
  margin-top:1.2rem;
}

.offer-timeline ol {
  display:grid;
  gap:.7rem;
  margin:1rem 0 0;
  padding:0;
  list-style:none;
}

.offer-timeline li {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:.25rem .85rem;
  padding:.76rem .84rem;
  border-left:3px solid var(--brand-blue);
  border-radius:0 12px 12px 0;
  background:rgba(31,47,163,.045);
}

.offer-timeline li p {
  grid-column:1 / -1;
  margin:.15rem 0 0;
  white-space:pre-wrap;
}

.offer-timeline time {
  color:var(--muted);
  font-size:.82rem;
}

.inbox-toolbar {
  flex-wrap:wrap;
}

.inbox-toolbar__filters {
  flex:1 1 420px;
  flex-wrap:wrap;
  align-items:end;
  justify-content:flex-end;
}

.inbox-toolbar__filters label {
  min-width:150px;
}

.inbox-section {
  display:grid;
  gap:.85rem;
  margin-top:1.55rem;
}

.inbox-section .section-heading > span {
  color:var(--muted);
  font-weight:800;
}

.inbox-list {
  display:grid;
  gap:1rem;
}

.inbox-card {
  border:1px solid var(--border);
  border-radius:20px;
  background:rgba(255,255,255,.62);
  box-shadow:var(--shadow);
  scroll-margin-top:8rem;
}

.inbox-card--focused {
  border-color:var(--brand-red);
  box-shadow:0 0 0 4px rgba(237,26,60,.14),var(--shadow);
}

.inbox-card__facts {
  flex-wrap:wrap;
  margin:1rem 0;
}

.inbox-card__facts > span {
  flex:1 1 150px;
  padding:.7rem .78rem;
  border-radius:14px;
  background:rgba(31,47,163,.045);
  color:var(--text);
  font-size:.9rem;
  font-weight:700;
  letter-spacing:normal;
  text-transform:none;
}

.inbox-card__facts a {
  min-width:0;
  overflow-wrap:anywhere;
}

.inbox-card__meta {
  margin:.65rem 0 0;
  overflow-wrap:anywhere;
}

.inbox-photo-list {
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin-top:.8rem;
}

.inbox-photo-list a {
  width:min(150px,32%);
  border:1px solid var(--border);
  border-radius:12px;
  overflow:hidden;
  background:var(--surface);
}

.inbox-photo-list img {
  display:block;
  width:100%;
  aspect-ratio:1;
  object-fit:cover;
}

.inbox-inquiry-form {
  align-items:end;
  justify-content:space-between;
}

.inbox-inquiry-form label {
  min-width:170px;
}

.inbox-load-more {
  display:flex;
  justify-content:center;
}

.inbox-empty,
.offer-empty-state {
  text-align:left;
}

body.dark-mode .offer-product-card,
body.dark-mode .inbox-card {
  background:rgba(255,255,255,.045);
}

body.dark-mode .offer-product-card img,
body.dark-mode .offer-product-card__image-fallback {
  background:rgba(255,255,255,.92);
}

body.dark-mode .offer-note,
body.dark-mode .inbox-note,
body.dark-mode .offer-action-panel,
body.dark-mode .inbox-card__facts > span {
  border-color:rgba(255,255,255,.12);
  background:rgba(255,255,255,.055);
}

@media (max-width:820px) {
  .offer-layout {
    grid-template-columns:1fr;
  }

  .offer-product-card {
    grid-template-columns:88px minmax(0,1fr);
  }

  .offer-product-card img,
  .offer-product-card__image-fallback {
    width:88px;
    height:88px;
  }

  .inbox-toolbar__filters {
    justify-content:flex-start;
  }
}

@media (max-width:600px) {
  .offer-form-grid,
  .inbox-offer-form__grid,
  .offer-facts {
    grid-template-columns:1fr;
  }

  .offer-detail-panel__header,
  .inbox-card__header,
  .section-heading,
  .inbox-toolbar,
  .inbox-inquiry-form {
    align-items:stretch;
    flex-direction:column;
  }

  .offer-status-badge,
  .inbox-status-badge {
    align-self:flex-start;
  }

  .inbox-toolbar__filters {
    flex:1 1 auto;
    flex-direction:column;
    align-items:stretch;
  }

  .inbox-toolbar__filters label,
  .inbox-inquiry-form label {
    min-width:0;
  }

  .offer-timeline li {
    grid-template-columns:1fr;
  }
}

/* Collector inquiry and discovery-search additions. */
.form-honeypot {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  clip:rect(0 0 0 0) !important;
  clip-path:inset(50%) !important;
  white-space:nowrap !important;
}

.collector-inquiry-form {
  margin-top:1.25rem;
}

.collector-inquiry-form input[type="file"] {
  min-height:44px;
  padding:.42rem;
}

.customer-auth-guest {
  width:100%;
  min-height:42px;
  border:1px dashed var(--border);
  border-radius:10px;
  background:transparent;
  color:var(--text);
  font:inherit;
  font-weight:800;
  cursor:pointer;
}

.customer-auth-guest:hover,
.customer-auth-guest:focus-visible {
  border-color:var(--brand-blue);
  color:var(--brand-blue);
}

.search-shell {
  z-index:2;
}

.search-shell:focus-within {
  z-index:12;
}

.search-discovery {
  position:absolute;
  top:calc(100% + .38rem);
  right:0;
  left:0;
  z-index:25;
  display:grid;
  gap:.22rem;
  max-height:min(55vh,390px);
  padding:.48rem;
  overflow:auto;
  border:1px solid var(--border);
  border-radius:14px;
  background:var(--surface, #fff);
  box-shadow:0 18px 42px rgba(18,35,61,.2);
}

.search-discovery__title {
  margin:.08rem .35rem .25rem;
  color:var(--muted);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.search-discovery__item {
  display:grid;
  gap:.12rem;
  width:100%;
  padding:.62rem .72rem;
  border:0;
  border-radius:10px;
  background:transparent;
  color:var(--text);
  text-align:left;
  cursor:pointer;
}

.search-discovery__item:hover,
.search-discovery__item[aria-selected="true"] {
  background:rgba(25,108,187,.12);
}

.search-discovery__item span {
  overflow:hidden;
  font-weight:800;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.search-discovery__item small {
  color:var(--muted);
  font-size:.78rem;
}

body.dark-mode .search-discovery {
  border-color:rgba(255,255,255,.14);
  background:#142138;
  box-shadow:0 18px 42px rgba(0,0,0,.38);
}

body.dark-mode .customer-auth-guest {
  border-color:rgba(255,255,255,.18);
  color:#f8fbff;
}
.footer::before {
  background:var(--image-baseball-footer) center/cover no-repeat;
  border-bottom:3px solid rgba(255,255,255,.14);
  opacity:.98
}
.footer-inner {
  padding-top:7rem
}
.admin-footer-link,.admin-form button,.button,.button-ghost,.button-secondary,.contact-form button,.modal-cta,.nav-toggle,.product-card button,.theme-toggle {
  position:relative;
  overflow:hidden;
  letter-spacing:.02em;
  border-radius:16px;
  box-shadow:0 12px 24px rgba(16,27,57,.16)
}
.admin-footer-link::before,.admin-form button::before,.button-ghost::before,.button-secondary::before,.button::before,.contact-form button::before,.modal-cta::before,.nav-toggle::before,.product-card button::before,.theme-toggle::before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,0));
  opacity:0;
  transition:opacity .25s;
  pointer-events:none
}
.admin-footer-link:hover::before,.admin-form button:hover::before,.button-ghost:hover::before,.button-secondary:hover::before,.button:hover::before,.contact-form button:hover::before,.modal-cta:hover::before,.nav-toggle:hover::before,.product-card button:hover::before,.theme-toggle:hover::before {
  opacity:1
}
.admin-form button,.button,.contact-form button,.modal-cta,.product-card .buy-button {
  background:linear-gradient(135deg,#1234c8 0,#1f5fff 45%,#ef1823 100%);
  color:#fff;
  border:1px solid rgba(255,255,255,.16)
}
.button-secondary {
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(238,244,255,.94));
  color:var(--text);
  border:1px solid rgba(31,47,163,.14)
}
body.dark-mode .button-secondary {
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.05));
  border-color:rgba(255,255,255,.14)
}
.button-ghost,.product-card .details-button {
  background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(245,247,252,.9))!important;
  color:var(--text)!important;
  border:1px solid rgba(31,47,163,.14)!important;
  box-shadow:0 10px 20px rgba(16,27,57,.08)!important
}
body.dark-mode .button-ghost,body.dark-mode .product-card .details-button {
  background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.03))!important;
  border-color:rgba(255,255,255,.14)!important
}
.admin-footer-link,.nav-toggle,.theme-toggle {
  background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.08));
  border:1px solid rgba(255,255,255,.16);
  color:#fff
}
.site-nav a {
  box-shadow:inset 0 0 0 1px transparent;
  transition:transform .2s,background .2s,opacity .2s,box-shadow .2s,border-color .2s;
  line-height:1;
  letter-spacing:.015em;
  white-space:nowrap
}
.site-nav a.active,.site-nav a:hover {
  background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.08));
  border-color:rgba(255,255,255,.16);
  box-shadow:0 10px 22px rgba(0,0,0,.14);
  transform:translateY(-1px)
}
.admin-footer-link:hover,.admin-form button:hover,.button-ghost:hover,.button-secondary:hover,.button:hover,.contact-form button:hover,.modal-cta:hover,.nav-toggle:hover,.product-card button:hover,.theme-toggle:hover {
  transform:translateY(-2px);
  box-shadow:0 16px 28px rgba(16,27,57,.2)
}
.product-actions {
  gap:.75rem
}
.product-actions button {
  border-radius:14px
}
.wishlist-button {
  border-color:rgba(255,255,255,.78);
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(244,247,255,.88));
  box-shadow:0 14px 24px rgba(0,0,0,.16)
}
.wishlist-button.filled {
  background:linear-gradient(135deg,var(--brand-red),#ff5d68)
}
.header-inner {
  grid-template-columns:auto minmax(0,1fr) auto auto;
  gap:clamp(.65rem,1.2vw,1rem)
}
.site-nav ul {
  justify-content:flex-end;
  gap:.5rem .45rem
}
@media (max-width:1180px) {
  .brand-kicker {
    font-size:.8rem;
    letter-spacing:.12em
  }
  .site-nav a {
    padding:0 .72rem;
    font-size:.88rem
  }
}
@media (max-width:980px) {
  .brand-copy {
    gap:.05rem
  }
  .brand-script {
    font-size:1.42rem
  }
  .site-nav a {
    padding:0 .66rem;
    font-size:.84rem
  }
}
.filter-grid {
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:.85rem;
  align-items:end
}
.filter-grid>.field-group:first-child {
  grid-column:span 2
}
.field-group {
  gap:.5rem
}
.field-group label {
  text-transform:uppercase;
  letter-spacing:.06em
}
.admin-form input,.admin-form select,.admin-form textarea,.contact-form input,.contact-form textarea,.field-group input,.field-group select {
  min-height:54px;
  border-radius:16px;
  padding:.95rem 1rem;
  background:rgba(255,255,255,.96);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65)
}
body.dark-mode .admin-form input,body.dark-mode .admin-form select,body.dark-mode .admin-form textarea,body.dark-mode .contact-form input,body.dark-mode .contact-form textarea,body.dark-mode .field-group input,body.dark-mode .field-group select {
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05)
}
#searchInput {
  font-size:1rem;
  font-weight:600
}
.range-grid {
  margin-top:.85rem!important
}
.inline-actions.compact {
  margin-top:.75rem;
  gap:.65rem
}
.image-preview {
  display:grid;
  grid-template-columns:108px 1fr;
  gap:1rem;
  align-items:center;
  margin-top:.85rem;
  padding:.9rem;
  border-radius:20px;
  border:1px solid var(--border);
  background:rgba(31,47,163,.03)
}
body.dark-mode .image-preview {
  background:rgba(255,255,255,.04)
}
.image-preview img {
  width:108px;
  aspect-ratio:1;
  object-fit:cover;
  border-radius:16px;
  border:1px solid var(--border);
  background:#fff
}
.image-preview-copy {
  display:grid;
  gap:.4rem
}
@media (max-width:820px) {
  .site-nav ul {
    gap:.65rem
  }
  .site-nav a {
    font-size:1rem;
    min-height:50px
  }
  .filter-panel {
    padding:1rem
  }
}
body {
  line-height:1.55
}
.site-nav ul {
  align-items:center
}
.site-nav a {
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.09);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)
}
.site-nav a.active,.site-nav a:focus-visible,.site-nav a:hover {
  background:linear-gradient(135deg,rgba(255,255,255,.2),rgba(255,255,255,.1));
  border-color:rgba(255,255,255,.2);
  box-shadow:0 10px 18px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.18)
}
.site-nav a.active {
  color:#fff;
  font-weight:800
}
.page-hero-card {
  position:relative;
  overflow:hidden;
  padding:1.8rem
}
.page-hero-card::after {
  content:"";
  position:absolute;
  inset:auto -10% -45% auto;
  width:260px;
  height:260px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(31,47,163,.16),rgba(31,47,163,0));
  pointer-events:none
}
.page-title {
  font-size:2.5rem;
  line-height:.96;
  letter-spacing:.01em
}
.catalog-switcher {
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin-top:.3rem
}
.catalog-switcher a {
  min-height:40px;
  padding:0 .95rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(31,47,163,.12);
  color:var(--text);
  font-size:.9rem;
  font-weight:700;
  box-shadow:0 10px 18px rgba(16,27,57,.08);
  transition:transform .2s,box-shadow .2s,background .2s
}
.catalog-switcher a:focus-visible,.catalog-switcher a:hover {
  transform:translateY(-1px);
  box-shadow:0 14px 22px rgba(16,27,57,.11)
}
.catalog-switcher a.active {
  background:linear-gradient(135deg,rgba(31,47,163,.96),rgba(239,24,35,.92));
  color:#fff;
  border-color:transparent
}
body.dark-mode .catalog-switcher a {
  background:rgba(255,255,255,.08);
  color:#fff;
  border-color:rgba(255,255,255,.12)
}
.filter-panel {
  position:relative
}
.filter-panel::before {
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:linear-gradient(90deg,var(--brand-blue),var(--brand-red),var(--brand-gold));
  opacity:.95;
  display:none
}
.search-shell::before {
  content:"\\2315";
  position:absolute;
  left:1rem;
  top:50%;
  transform:translateY(-50%);
  font-size:1rem;
  color:var(--muted);
  pointer-events:none
}
.search-shortcut {
  position:absolute;
  right:.85rem;
  top:50%;
  transform:translateY(-50%);
  min-width:34px;
  min-height:28px;
  padding:0 .55rem;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(24,37,73,.12);
  background:rgba(255,255,255,.86);
  color:var(--muted);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.03em;
  pointer-events:none
}
.results-toolbar {
  top:calc(var(--header-h) + 8px);
  border-radius:20px;
  background:var(--surface);
  border:1px solid var(--border);
  box-shadow:0 14px 24px rgba(16,27,57,.08);
  backdrop-filter:blur(10px)
}
.results-toolbar .toolbar-actions {
  flex-wrap:wrap;
  align-items:center;
  gap:.6rem;
  margin-left:auto
}
.mini-link-button {
  min-height:38px;
  padding:0 .9rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(31,47,163,.14);
  background:rgba(255,255,255,.85);
  color:var(--text);
  font-weight:700;
  cursor:pointer;
  transition:transform .2s,background .2s,box-shadow .2s
}
.mini-link-button:focus-visible,.mini-link-button:hover {
  transform:translateY(-1px);
  box-shadow:0 12px 20px rgba(16,27,57,.09)
}
.active-filters:empty {
  display:none
}
.filter-chip {
  border-radius:999px;
  background:rgba(31,47,163,.08);
  border:1px solid rgba(31,47,163,.08);
  color:var(--brand-blue);
  font-weight:700
}
.products-grid {
  gap:1.2rem
}
.product-card {
  min-height:100%;
  transition:transform .2s,box-shadow .2s,border-color .2s
}
.product-card:hover {
  transform:translateY(-4px);
  box-shadow:0 18px 34px rgba(16,27,57,.14);
  border-color:rgba(31,47,163,.14)
}
.product-content {
  min-height:100%
}
@media (max-width:1080px) {
  .filter-grid>.field-group:first-child {
    grid-column:span 3
  }
  .results-toolbar {
    position:static
  }
}
@media (max-width:900px) {
  .image-preview {
    grid-template-columns:1fr
  }
  .image-preview img {
    width:100%;
    max-width:180px
  }
  .page-hero-card {
    padding:1.45rem
  }
  .catalog-switcher {
    gap:.5rem
  }
  .catalog-switcher a {
    min-height:38px;
    font-size:.84rem;
    padding:0 .78rem
  }
}
@media (max-width:820px) {
  .header-inner {
    min-height:84px
  }
  .results-toolbar {
    padding:.8rem .85rem
  }
  .results-toolbar .toolbar-actions {
    width:100%;
    justify-content:flex-start
  }
  .search-shortcut {
    display:none
  }
}
:root {
  --header-h:96px
}
.brand-logo {
  width:94px;
  height:94px
}
.header-inner {
  min-height:96px;
  gap:clamp(.75rem,1.4vw,1.1rem)
}
.site-nav a {
  min-height:46px;
  padding:0 1rem;
  font-size:.94rem
}
@media (max-width:980px) {
  .brand-logo {
    width:88px;
    height:88px
  }
}
.search-shell {
  position:relative
}
.search-clear {
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  border:0;
  border-radius:999px;
  background:rgba(23,32,51,.08);
  color:var(--muted);
  font-weight:800;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s,transform .18s,background .18s
}
.search-shell.has-value .search-clear {
  opacity:1;
  pointer-events:auto
}
.search-clear:focus-visible,.search-clear:hover {
  background:rgba(23,32,51,.14);
  transform:translateY(-50%) scale(1.03)
}
body.dark-mode .search-clear {
  background:rgba(255,255,255,.09);
  color:#fff
}
.footer::before {
  height:92px;
  background-position:center 62%
}
.admin-layout {
  align-items:start
}
.admin-stat-card {
  padding:1rem 1.05rem;
  border-radius:22px;
  border:1px solid var(--border);
  background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(245,248,255,.92));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75)
}
body.dark-mode .admin-stat-card {
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03))
}
.admin-stat-label {
  display:block;
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted)
}
.admin-stat-card p {
  margin:.45rem 0 0;
  color:var(--muted)
}
.admin-form-grid {
  gap:1rem
}
.category-pill {
  min-height:36px;
  padding:0 .85rem;
  border:1px solid rgba(31,47,163,.12);
  border-radius:999px;
  background:rgba(31,47,163,.06);
  color:var(--text);
  font-size:.84rem;
  font-weight:700;
  cursor:pointer
}
.category-pill.active,.category-pill:focus-visible,.category-pill:hover {
  background:linear-gradient(135deg,rgba(31,47,163,.95),rgba(239,24,35,.92));
  color:#fff;
  border-color:transparent
}
body.dark-mode .category-pill {
  background:rgba(255,255,255,.06);
  color:#fff;
  border-color:rgba(255,255,255,.12)
}
.admin-side-panel {
  padding:1.25rem;
  border-radius:28px
}
.admin-panel-header {
  display:grid;
  gap:1rem;
  margin-bottom:1rem
}
.admin-panel-header--editor {
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start
}
.admin-unsaved-badge {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 .85rem;
  border-radius:999px;
  border:1px solid rgba(239,24,35,.22);
  background:linear-gradient(135deg,rgba(239,24,35,.12),rgba(31,47,163,.1));
  color:var(--brand-red);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  white-space:nowrap
}
.admin-unsaved-badge[hidden] {
  display:none!important
}
.admin-toolbar {
  display:grid;
  gap:.85rem
}
.admin-search-box {
  display:grid;
  gap:.45rem
}
.admin-search-box label {
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted)
}
.admin-toolbar-actions {
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;
  align-items:center
}
.admin-toolbar-actions .button-ghost,.admin-toolbar-actions .button-secondary,.admin-toolbar-actions select {
  min-height:46px
}
.custom-items {
  gap:1rem
}
@media (max-width:820px) {
  .site-nav a {
    min-height:48px;
    font-size:.98rem
  }
  .admin-toolbar-actions {
    display:grid;
    grid-template-columns:1fr 1fr
  }
  .admin-toolbar-actions>* {
    width:100%
  }
}
@media (max-width:640px) {
  .search-shortcut {
    display:none
  }
  .search-shell input {
    padding-right:4rem!important
  }
  .search-clear {
    right:.8rem
  }
  .admin-toolbar-actions {
    grid-template-columns:1fr
  }
}
.site-nav {
  min-width:0;
  justify-self:end
}
.site-nav ul {
  gap:.55rem;
  justify-content:flex-end;
  flex-wrap:nowrap
}
.site-nav li {
  flex:0 0 auto
}
.header-wishlist-item {
  margin-left:.35rem
}
.header-wishlist-link {
  min-height:38px;
  padding:0 .82rem!important;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  font-size:.86rem
}
.header-wishlist-link.active,.header-wishlist-link:hover {
  background:rgba(255,255,255,.16)
}
.theme-toggle--compact {
  height:38px;
  min-width:0;
  padding:0 .8rem;
  font-size:.82rem;
  letter-spacing:.04em;
  white-space:nowrap;
  justify-self:end;
  margin-left:.4rem
}
body[data-page=basketball-cards] .page-hero-card,body[data-page=comics] .page-hero-card,body[data-page=football-cards] .page-hero-card {
  background-blend-mode:normal
}
body[data-page=basketball-cards] .page-hero-card::before,body[data-page=comics] .page-hero-card::before,body[data-page=football-cards] .page-hero-card::before {
  display:none
}
body[data-page=football-cards] .page-hero-card {
  background:linear-gradient(180deg,rgba(8,14,32,.32),rgba(8,14,32,.62)),var(--image-football-main) center 36%/cover no-repeat;
  color:#fff
}
body.dark-mode[data-page=football-cards] .page-hero-card {
  background:linear-gradient(180deg,rgba(7,12,26,.42),rgba(7,12,26,.72)),var(--image-football-main) center 36%/cover no-repeat
}
body.dark-mode[data-page=football-cards] .page-hero-card .utility-chip,body.dark-mode[data-page=football-cards] .page-hero-card p,body[data-page=football-cards] .page-hero-card .utility-chip,body[data-page=football-cards] .page-hero-card p {
  color:rgba(255,255,255,.92)
}
body[data-page=football-cards] .footer::before {
  height:92px;
  background:var(--image-football-footer) center/cover no-repeat
}
body[data-page=basketball-cards] .page-hero-card {
  background:linear-gradient(180deg,rgba(7,13,24,.28),rgba(7,13,24,.56)),var(--image-basketball-main) center 34%/cover no-repeat;
  color:#fff
}
body.dark-mode[data-page=basketball-cards] .page-hero-card {
  background:linear-gradient(180deg,rgba(7,12,26,.36),rgba(7,12,26,.7)),var(--image-basketball-main) center 34%/cover no-repeat
}
body.dark-mode[data-page=basketball-cards] .page-hero-card .utility-chip,body.dark-mode[data-page=basketball-cards] .page-hero-card p,body[data-page=basketball-cards] .page-hero-card .utility-chip,body[data-page=basketball-cards] .page-hero-card p {
  color:rgba(255,255,255,.92)
}
body[data-page=basketball-cards] .footer::before {
  height:92px;
  background:var(--image-basketball-footer) center 52%/cover no-repeat
}
body[data-page=comics] .page-hero-card {
  background:linear-gradient(180deg,rgba(16,10,29,.18),rgba(16,10,29,.5)),var(--image-comics-main) center 38%/cover no-repeat;
  color:#fff
}
body.dark-mode[data-page=comics] .page-hero-card {
  background:linear-gradient(180deg,rgba(12,8,21,.26),rgba(12,8,21,.62)),var(--image-comics-main) center 38%/cover no-repeat
}
body.dark-mode[data-page=comics] .page-hero-card .utility-chip,body.dark-mode[data-page=comics] .page-hero-card p,body[data-page=comics] .page-hero-card .utility-chip,body[data-page=comics] .page-hero-card p {
  color:rgba(255,255,255,.92)
}
body[data-page=comics] .footer::before {
  height:92px;
  background:var(--image-comics-footer) center 42%/cover no-repeat
}
@media (max-width:1180px) {
  .site-nav ul {
    gap:.28rem
  }
  .site-nav a {
    padding:0 .72rem;
    font-size:.86rem
  }
  .header-wishlist-link {
    padding:0 .72rem!important;
    font-size:.82rem
  }
  .theme-toggle--compact {
    padding:0 .7rem;
    font-size:.76rem
  }
}
@media (max-width:820px) {
  .header-inner {
    grid-template-columns:auto minmax(0,1fr) auto auto;
    gap:.45rem
  }
  .theme-toggle--compact {
    height:34px;
    padding:0 .58rem;
    font-size:.72rem;
    margin-left:0
  }
  .site-nav ul {
    flex-wrap:wrap
  }
  .header-wishlist-item {
    margin-left:0
  }
  .header-wishlist-link {
    min-height:44px;
    justify-content:center;
    width:100%
  }
}
@media (max-width:640px) {
  .brand-copy {
    gap:.05rem
  }
  .brand-kicker {
    display:none
  }
  .theme-toggle--compact {
    height:32px;
    padding:0 .5rem;
    font-size:.68rem
  }
}
.product-card {
  border-radius:20px
}
.product-card img {
  aspect-ratio:1/1;
  object-fit:contain;
  padding:.45rem;
  background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(245,247,252,.98))
}
body.dark-mode .product-card img {
  background:linear-gradient(180deg,rgba(22,30,56,.86),rgba(14,20,39,.98))
}
.product-content {
  gap:.45rem;
  padding:.85rem .9rem .9rem
}
.product-topline {
  gap:.4rem
}
.product-badge {
  min-height:26px;
  padding:0 .55rem;
  font-size:.72rem
}
.product-card :is(h2,h3) {
  font-size:.98rem;
  line-height:1.28;
  min-height:0;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden
}
.product-price {
  font-size:1.05rem;
  line-height:1.1;
  margin-top:.05rem
}
.product-actions {
  gap:.5rem;
  margin-top:.15rem
}
.product-actions button {
  min-height:38px;
  padding:.65rem .75rem;
  font-size:.92rem
}
.wishlist-button {
  top:.55rem;
  right:.55rem;
  width:40px;
  height:40px;
  font-size:1.05rem
}
@media (min-width:1281px) {
  .product-content {
    padding:.78rem .82rem .84rem
  }
  .product-card :is(h2,h3) {
    font-size:.94rem
  }
  .product-price {
    font-size:1rem
  }
  .product-actions button {
    min-height:36px;
    padding:.58rem .68rem;
    font-size:.88rem
  }
}
@media (max-width:900px) {
  .product-content {
    padding:.8rem .8rem .85rem
  }
}
.filter-panel {
  padding:.85rem 1rem 1rem;
  margin:.85rem 0 1rem;
  border-radius:20px;
  overflow:visible
}
.filter-panel-header {
  margin-bottom:.7rem;
  gap:.2rem
}
.filter-panel-header h2 {
  font-size:1.02rem
}
.filter-panel-header p,.helper-text {
  font-size:.82rem;
  line-height:1.35
}
.filter-grid {
  grid-template-columns:minmax(0,1.7fr) repeat(5,minmax(0,1fr));
  gap:.65rem;
  align-items:end
}
.filter-grid>.field-group,.filter-grid>.range-grid {
  min-width:0
}
.filter-grid>.field-group:first-child {
  grid-column:span 1
}
.field-group {
  gap:.32rem
}
.field-group label {
  font-size:.72rem;
  letter-spacing:.05em;
  line-height:1.15
}
.field-group input,.field-group select {
  min-height:42px;
  padding:.72rem .8rem;
  border-radius:12px;
  box-shadow:none
}
.range-grid {
  gap:.65rem
}
.search-shell {
  display:block
}
.search-shell::before,.search-shortcut {
  display:none
}
.search-shell input {
  padding-left:.8rem!important;
  padding-right:2.7rem!important
}
.search-clear {
  right:.45rem;
  width:28px;
  height:28px;
  font-size:.95rem
}
#clearFilters,#clearFilters.button-secondary {
  min-height:42px;
  width:100%;
  justify-content:center;
  padding:0 .9rem;
  font-size:.9rem
}
.results-toolbar {
  position:static;
  top:auto;
  z-index:auto;
  padding:0;
  margin:0 0 .85rem;
  background:0 0;
  border:0;
  box-shadow:none;
  backdrop-filter:none
}
.results-toolbar .toolbar-actions {
  display:none!important
}
.active-filters,.results-meta {
  gap:.35rem
}
.filter-chip {
  padding:.28rem .55rem;
  font-size:.78rem
}
@media (max-width:1100px) {
  .filter-grid {
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
}
@media (max-width:760px) {
  .filter-panel {
    padding:.85rem
  }
  .filter-grid {
    grid-template-columns:1fr 1fr;
    gap:.6rem
  }
}
@media (max-width:560px) {
  .filter-grid,.range-grid {
    grid-template-columns:1fr
  }
}
body[data-page=baseball-cards] .page-hero-card,body[data-page=collectibles] .page-hero-card,body[data-page=contact] .page-hero-card,body[data-page=shop-hub] .page-hero-card,body[data-page=sports-hub] .page-hero-card,body[data-page=wishlist] .page-hero-card {
  background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.82)),var(--image-baseball-main) center/cover no-repeat;
  background-blend-mode:screen
}
body.dark-mode[data-page=baseball-cards] .page-hero-card,body.dark-mode[data-page=collectibles] .page-hero-card,body.dark-mode[data-page=contact] .page-hero-card,body.dark-mode[data-page=shop-hub] .page-hero-card,body.dark-mode[data-page=sports-hub] .page-hero-card,body.dark-mode[data-page=wishlist] .page-hero-card {
  background:linear-gradient(180deg,rgba(17,25,45,.92),rgba(17,25,45,.92)),var(--image-baseball-main) center/cover no-repeat
}
@media (max-width:1180px) {
  .site-header {
    overflow:visible
  }
  .header-inner {
    grid-template-columns:minmax(0,1fr) auto auto;
    align-items:center;
    gap:.6rem;
    padding-block:0.65rem
  }
  .brand,.brand-copy {
    min-width:0
  }
  .brand-script {
    font-size:1.34rem
  }
  .brand-kicker {
    font-size:.74rem;
    letter-spacing:.1em
  }
  .nav-toggle {
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    justify-self:start;
    width:auto;
    min-width:118px;
    height:42px;
    padding:0 1rem;
    white-space:nowrap;
    font-size:.95rem
  }
  .theme-toggle,.theme-toggle--compact {
    justify-self:end;
    height:42px;
    min-width:0;
    padding:0 .9rem;
    margin-left:0;
    white-space:nowrap;
    font-size:.82rem
  }
  .site-nav {
    position:absolute!important;
    top:100%;
    left:0;
    right:0;
    z-index:1200;
    background:rgba(9,14,30,.98);
    border-bottom:1px solid rgba(255,255,255,.08);
    box-shadow:0 14px 28px rgba(0,0,0,.22);
    transform:translateY(-110%);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:transform .25s,opacity .2s,visibility 0s linear .25s;
    max-height:calc(100vh - 96px);
    overflow-y:auto
  }
  .site-nav.open {
    transform:translateY(0);
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transition-delay:0s
  }
  .site-nav ul {
    flex-direction:column!important;
    align-items:stretch;
    justify-content:stretch;
    flex-wrap:nowrap!important;
    gap:.55rem;
    padding:1rem
  }
  .header-wishlist-item,.site-nav li {
    width:100%;
    margin-left:0
  }
  .header-wishlist-link,.site-nav a {
    width:100%;
    min-height:46px;
    justify-content:center;
    padding:0 1rem!important;
    font-size:.96rem
  }
}
@media (max-width:700px) {
  .header-inner {
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"brand brand" "menu theme";
    row-gap:.6rem
  }
  .brand {
    grid-area:brand
  }
  .nav-toggle {
    grid-area:menu;
    justify-self:stretch;
    min-width:0
  }
  .theme-toggle,.theme-toggle--compact {
    grid-area:theme;
    justify-self:stretch;
    text-align:center;
    padding:0 .8rem
  }
  .brand-logo {
    width:62px;
    height:62px
  }
  .brand-script {
    font-size:1.55rem
  }
  .brand-kicker {
    display:none
  }
}
@media (max-width:480px) {
  .header-inner {
    gap:.5rem
  }
  .brand {
    gap:.65rem
  }
  .brand-logo {
    width:56px;
    height:56px
  }
  .brand-script {
    font-size:1.38rem
  }
  .nav-toggle,.theme-toggle,.theme-toggle--compact {
    height:40px;
    font-size:.78rem;
    padding:0 .7rem
  }
}
.page-hero-card::before {
  content:none!important;
  display:none!important;
  background:0 0!important
}
body.dark-mode {
  --surface:rgba(13, 20, 38, 0.98);
  --surface-strong:#0c1325;
  --text:#fbfdff;
  --muted:#d6e0f5;
  --border:rgba(255,255,255,0.14)
}
body.dark-mode .admin-form,body.dark-mode .brand-card,body.dark-mode .category-card,body.dark-mode .contact-card,body.dark-mode .contact-form,body.dark-mode .empty-state,body.dark-mode .feature-card,body.dark-mode .glass-card,body.dark-mode .modal-content,body.dark-mode .panel,body.dark-mode .product-card,body.dark-mode .results-toolbar,body.dark-mode .stat-card,body.dark-mode .story-card {
  background:rgba(13,20,38,.98);
  border-color:rgba(255,255,255,.14)
}
body.dark-mode .empty-state--catalog {
  background:
    radial-gradient(circle at 18% 18%,rgba(31,95,255,.18),transparent 34%),
    radial-gradient(circle at 82% 16%,rgba(239,24,35,.16),transparent 32%),
    rgba(12,20,42,.94);
}
body.dark-mode .page-hero-card {
  color:#fff;
  box-shadow:0 16px 40px rgba(0,0,0,.42)
}
body.dark-mode .page-hero-card .section-subtitle,body.dark-mode .page-hero-card .utility-chip,body.dark-mode .page-hero-card p {
  color:rgba(255,255,255,.96)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.34)
}
body.dark-mode .filter-chip,body.dark-mode .mini-link-button,body.dark-mode .search-shortcut,body.dark-mode .status-message,body.dark-mode .utility-chip {
  background:rgba(10,16,31,.62);
  border-color:rgba(255,255,255,.16);
  color:#eef4ff!important
}
body.dark-mode .brand-card p,body.dark-mode .contact-card p,body.dark-mode .empty-state p,body.dark-mode .feature-card p,body.dark-mode .footer .footer-links a,body.dark-mode .panel p,body.dark-mode .section-heading p,body.dark-mode .section-subtitle,body.dark-mode .stat-card p,body.dark-mode .story-card p,body.dark-mode li,body.dark-mode p {
  color:#dfe8fb
}
body.dark-mode .page-title,body.dark-mode .product-card :is(h2,h3),body.dark-mode .section-title,body.dark-mode h1,body.dark-mode h2,body.dark-mode h3,body.dark-mode h4 {
  color:#fff
}
body.dark-mode .footer,body.dark-mode .footer a {
  color:#eef4ff
}
body.dark-mode .admin-form label,body.dark-mode .contact-form label,body.dark-mode .field-group label {
  color:#f4f8ff
}
body.dark-mode .admin-form input,body.dark-mode .admin-form select,body.dark-mode .admin-form textarea,body.dark-mode .contact-form input,body.dark-mode .contact-form textarea,body.dark-mode .field-group input,body.dark-mode .field-group select {
  background:rgba(255,255,255,.09);
  color:#fff;
  border-color:rgba(255,255,255,.18)
}
body.dark-mode .admin-form input::placeholder,body.dark-mode .admin-form textarea::placeholder,body.dark-mode .contact-form input::placeholder,body.dark-mode .contact-form textarea::placeholder,body.dark-mode .field-group input::placeholder {
  color:rgba(232,240,255,.78)
}
body.dark-mode .amount,body.dark-mode .price,body.dark-mode .product-price {
  color:#fff
}
body.dark-mode .product-card img {
  border-color:rgba(255,255,255,.08)
}
.catalog-hero--collectibles .page-hero-card::before,.catalog-hero--comics .page-hero-card::before,.catalog-hero--sports-cards .page-hero-card::before,.shop-hub-hero .page-hero-card::before {
  content:none!important;
  display:none!important;
  background-image:none!important
}
body.dark-mode .page-hero-card {
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(6,10,21,.88),rgba(9,14,28,.82)),var(--image-grass) center/cover no-repeat
}
body.dark-mode .page-hero-card .kicker,body.dark-mode .page-hero-card .page-title,body.dark-mode .page-hero-card .utility-chip,body.dark-mode .page-hero-card h1,body.dark-mode .page-hero-card h2,body.dark-mode .page-hero-card p,body.dark-mode .page-hero-card strong {
  color:#f7fbff!important;
  text-shadow:0 2px 14px rgba(0,0,0,.45)
}
body.dark-mode .page-hero-card p {
  color:rgba(247,251,255,.94)!important;
  max-width:760px
}
body.dark-mode .page-hero-card .utility-chip {
  background:rgba(255,255,255,.14)!important;
  border:1px solid rgba(255,255,255,.18)
}
body[data-page=about] .page-hero-card {
  background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.84)),var(--image-baseball-main) center/cover no-repeat
}
body.dark-mode[data-page=about] .page-hero-card {
  background:linear-gradient(180deg,rgba(6,10,21,.9),rgba(9,14,28,.84)),var(--image-baseball-main) center/cover no-repeat
}
.product-host-link {
  color:var(--primary);
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:0.14em
}
body.dark-mode .product-host-link {
  color:#9fd0ff
}
.product-card {
  position:relative
}
.product-card>.wishlist-button {
  position:absolute!important;
  top:.55rem!important;
  right:.55rem!important;
  left:auto!important;
  bottom:auto!important;
  margin:0!important;
  z-index:3!important;
  width:2.15rem!important;
  height:2.15rem!important;
  min-width:2.15rem!important;
  min-height:2.15rem!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:999px!important;
  font-size:1rem!important;
  line-height:1!important;
  box-shadow:0 8px 18px rgba(0,0,0,.16)!important
}
.product-card>img+.wishlist-button {
  background:rgba(255,255,255,.92)!important;
  border:1px solid rgba(255,255,255,.78)!important
}
body.dark-mode .product-card>img+.wishlist-button {
  background:rgba(15,21,39,.92)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  color:#ff8695!important
}
.product-card>.wishlist-button.filled {
  background:var(--brand-red)!important;
  color:#fff!important;
  border-color:transparent!important
}
.product-card .product-content {
  position:relative;
  z-index:1
}


/* 10-navigation-ia.css | Generated for maintainability step 6 */

/* Navigation & information architecture enhancements */
.site-nav .primary-nav__list {
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:.4rem;
  list-style:none;
  margin:0;
  padding:0
}
.site-nav .primary-nav__item {
  position:relative
}
.site-nav .primary-nav__item-group {
  display:flex;
  align-items:center;
  gap:.35rem
}
.site-nav .primary-nav__link {
  display:inline-flex;
  align-items:center;
  min-height:46px
}
.site-nav .submenu-toggle {
  display:none;
  align-items:center;
  justify-content:center;
  min-width:42px;
  min-height:42px;
  padding:0 .8rem;
  border:1px solid rgba(255,255,255,.2);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-weight:800;
  cursor:pointer;
  transition:background .2s,border-color .2s,transform .2s
}
.site-nav .submenu-toggle:hover,.site-nav .submenu-toggle:focus-visible {
  background:rgba(255,255,255,.16);
  border-color:rgba(255,255,255,.32)
}
.site-nav .primary-nav__submenu {
  position:absolute;
  top:calc(100% + .24rem);
  left:0;
  display:none;
  min-width:15.5rem;
  margin:0;
  padding:.45rem;
  list-style:none;
  border-radius:18px;
  background:var(--surface-strong);
  border:1px solid var(--border);
  box-shadow:0 18px 34px rgba(0,0,0,.22);
  z-index:1200
}
.site-nav .primary-nav__submenu a {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-height:44px;
  padding:.75rem .9rem;
  border-radius:12px;
  color:var(--text);
  font-weight:700;
  opacity:1
}
.site-nav .primary-nav__submenu a:hover,.site-nav .primary-nav__submenu a:focus-visible,.site-nav .primary-nav__submenu a.active {
  background:rgba(31,47,163,.08);
  color:var(--text)
}
body.dark-mode .site-nav .primary-nav__submenu a:hover,body.dark-mode .site-nav .primary-nav__submenu a:focus-visible,body.dark-mode .site-nav .primary-nav__submenu a.active {
  background:rgba(255,255,255,.08)
}
.site-nav .primary-nav__item--has-submenu:focus-within>.primary-nav__submenu,.site-nav .primary-nav__item--has-submenu.is-open>.primary-nav__submenu,.site-nav .primary-nav__item--has-submenu.is-hovered>.primary-nav__submenu {
  display:block
}
.breadcrumb-nav {
  margin:0 0 1rem
}
.breadcrumb-list {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.45rem;
  list-style:none;
  margin:0;
  padding:0;
  font-size:.94rem
}
.breadcrumb-list__item {
  display:inline-flex;
  align-items:center;
  gap:.45rem
}
.breadcrumb-list__item:not(:last-child)::after {
  content:">";
  opacity:.55
}
.breadcrumb-list a {
  color:var(--text);
  font-weight:700
}
.breadcrumb-current {
  color:var(--muted);
  font-weight:700
}
.page-hero-card .breadcrumb-nav {
  max-width:100%
}
@media (max-width:900px) {
  .site-nav .primary-nav__list {
    padding:1rem;
    flex-direction:column;
    align-items:stretch
  }
  .site-nav .primary-nav__item-group {
    justify-content:space-between
  }
  .site-nav .submenu-toggle {
    display:inline-flex
  }
  .site-nav .primary-nav__link {
    justify-content:flex-start;
    width:100%
  }
  .site-nav .primary-nav__submenu {
    position:static;
    min-width:100%;
    margin-top:.2rem;
    padding:.35rem 0 .1rem .85rem;
    border:0;
    border-radius:0;
    box-shadow:none;
    background:transparent
  }
  .site-nav .primary-nav__item--has-submenu:not(.is-open)>.primary-nav__submenu {
    display:none
  }
  .site-nav .primary-nav__item--has-submenu.is-open>.primary-nav__submenu {
    display:block
  }
  .site-nav .primary-nav__submenu a {
    color:#fff;
    padding:.75rem .85rem
  }
  .site-nav .primary-nav__submenu a:hover,.site-nav .primary-nav__submenu a:focus-visible,.site-nav .primary-nav__submenu a.active {
    background:rgba(255,255,255,.1);
    color:#fff
  }
}


/* 20-search-filter.css | Generated for maintainability step 6 */

/* Search & Filtering UX step 2 */
.locked-filter-note {
  min-height:52px;
  display:flex;
  align-items:center;
  padding:.85rem 1rem;
  border-radius:16px;
  border:1px solid var(--border);
  background:rgba(31,47,163,.06);
  font-weight:700
}
.filter-chip--removable {
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  border:1px solid rgba(31,47,163,.12);
  background:rgba(31,47,163,.06);
  cursor:pointer;
  transition:transform .18s ease,background .18s ease,border-color .18s ease
}
.filter-chip--removable:hover {
  transform:translateY(-1px);
  background:rgba(31,47,163,.1);
  border-color:rgba(31,47,163,.2)
}
body.dark-mode .filter-chip--removable {
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.12)
}
body.dark-mode .filter-chip--removable:hover {
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.18)
}
.filter-chip--clear-all {
  background:rgba(239,24,35,.1);
  border-color:rgba(239,24,35,.18);
  color:var(--brand-red);
}
body.dark-mode .filter-chip--clear-all {
  background:rgba(239,24,35,.16);
  border-color:rgba(255,138,154,.28);
  color:#ffb4bf;
}
.filter-chip-x {
  display:inline-grid;
  place-items:center;
  width:1.15rem;
  height:1.15rem;
  border-radius:999px;
  background:rgba(0,0,0,.08);
  font-weight:800;
  line-height:1
}
body.dark-mode .filter-chip-x {
  background:rgba(255,255,255,.14)
}


/* Multi-select facet filters */
.field-group--facet {
  align-self:start;
}
.facet-group {
  display:grid;
  gap:.75rem;
  min-height:52px;
  padding:.85rem 1rem;
  border-radius:16px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.72);
}
body.dark-mode .facet-group {
  background:rgba(255,255,255,.04);
}
.facet-options {
  display:grid;
  gap:.55rem;
}
.facet-option {
  display:flex;
  align-items:flex-start;
  gap:.65rem;
  font-size:.95rem;
  color:var(--text);
  cursor:pointer;
}
.facet-option input {
  width:1rem;
  height:1rem;
  margin-top:.1rem;
  accent-color:var(--brand-blue);
}
.facet-option--extra {
  display:none;
}
.facet-group.is-expanded .facet-option--extra {
  display:flex;
}
.facet-toggle {
  justify-self:start;
  min-height:40px;
  padding:.55rem .9rem;
  border-radius:999px;
  border:1px solid var(--border);
  background:rgba(31,47,163,.06);
  color:var(--text);
  font-weight:700;
  cursor:pointer;
}
body.dark-mode .facet-toggle {
  background:rgba(255,255,255,.08);
}
.locked-filter-note--empty {
  font-weight:600;
  color:var(--muted);
}
@media (max-width: 900px) {
  .facet-group {
    padding:1rem;
  }
}


/* 30-visual-hierarchy.css | Generated for maintainability step 6 */

/* === Step 3: Visual hierarchy and design pass === */
:root {
  --hero-image:var(--image-grass);
  --footer-image:var(--image-baseball-footer);
}
body[data-page="home"] {
  --footer-image:var(--image-baseball-footer);
}
body[data-page="sports-hub"], body[data-page="sports-cards"], body[data-page="shop-hub"], body[data-page="shop"] {
  --hero-image:var(--image-baseball-main);
  --footer-image:var(--image-baseball-footer);
}
body[data-page="baseball-cards"] {
  --hero-image:var(--image-baseball-main);
  --footer-image:var(--image-baseball-footer);
}
body[data-page="basketball-cards"] {
  --hero-image:var(--image-basketball-main);
  --footer-image:var(--image-basketball-footer);
}
body[data-page="football-cards"] {
  --hero-image:var(--image-football-main);
  --footer-image:var(--image-football-footer);
}
body[data-page="comics"] {
  --hero-image:var(--image-comics-main);
  --footer-image:var(--image-comics-footer);
}
body[data-page="collectibles"], body[data-page="about"], body[data-page="contact"], body[data-page="wishlist"], body[data-page="admin"] {
  --hero-image:var(--image-clubhouse);
  --footer-image:var(--image-baseball-footer);
}
.site-header {
  background:     linear-gradient(180deg,rgba(6,11,23,.94),rgba(10,16,32,.9)),     linear-gradient(90deg,var(--brand-blue),var(--brand-blue-dark));
}
.site-nav a {
  min-height:42px;
  padding:0 1rem;
  border:1px solid transparent;
  transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .18s ease;
}
.site-nav a:hover, .site-nav a:focus-visible {
  transform:translateY(-1px);
  background:rgba(255,255,255,.16);
  border-color:rgba(255,255,255,.1);
  box-shadow:0 10px 18px rgba(0,0,0,.14);
}
.site-nav a.active, .site-nav a[aria-current="page"] {
  background:rgba(255,255,255,.18);
  border-color:rgba(255,255,255,.14);
  box-shadow:0 10px 18px rgba(0,0,0,.16);
}
body.dark-mode .site-nav a:hover, body.dark-mode .site-nav a:focus-visible, body.dark-mode .site-nav a.active, body.dark-mode .site-nav a[aria-current="page"] {
  background:rgba(255,255,255,.12);
}
.hero-copy {
  margin-top:1.65rem;
  padding:2.15rem;
}
.hero-brand {
  margin-top:.2rem;
}
.hero-title {
  max-width:13ch;
}
.hero-copy p {
  max-width:62ch;
}
.section-heading {
  align-items:flex-end;
  margin-bottom:1.45rem;
}
.section-title {
  max-width:14ch;
}
.categories-grid {
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
}
.category-card {
  min-height:300px;
  padding:1.55rem;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.category-card:hover, .category-card:focus-within {
  transform:translateY(-4px);
  box-shadow:0 22px 40px rgba(16,27,57,.18);
  border-color:rgba(255,255,255,.16);
}
.category-card h3 {
  font-size:1.6rem;
}
.category-card p {
  max-width:34ch;
}
.page-hero {
  padding:2.15rem 0 .65rem;
}
.page-hero-card {
  position:relative;
  overflow:hidden;
  min-height:220px;
  align-items:end;
  padding:1.8rem 1.8rem 1.6rem;
  background:     linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.82)),     var(--hero-image) center/cover no-repeat !important;
  background-blend-mode:screen;
  box-shadow:0 18px 40px rgba(16,27,57,.12);
}
.page-hero-card > * {
  position:relative;
  z-index:2;
}
.page-hero-card::before {
  content:"" !important;
  display:block !important;
  position:absolute;
  inset:0;
  z-index:0;
  background:linear-gradient(135deg,rgba(10,16,32,.12),rgba(10,16,32,.04) 35%,rgba(255,255,255,0));
  pointer-events:none;
}
.page-hero-card::after {
  content:"";
  position:absolute;
  inset:auto auto -70px -40px;
  width:240px;
  height:240px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.45),rgba(255,255,255,0) 72%);
  pointer-events:none;
  z-index:1;
}
.page-title {
  max-width:12ch;
  margin:.65rem 0 .35rem;
}
.page-hero-card p {
  max-width:62ch;
  font-size:1.03rem;
}
.utility-row {
  margin-top:.4rem;
}
.catalog-switcher {
  margin-top:1rem;
  gap:.75rem;
}
.catalog-switcher a {
  min-height:42px;
  padding:0 1rem;
}
.results-toolbar {
  padding:.95rem 1rem;
}
.filter-panel {
  border-radius:24px;
}
.filter-panel::before {
  display:block;
}
.search-shell input {
  background:rgba(255,255,255,.92);
}
body.dark-mode .search-shell input {
  background:rgba(255,255,255,.08);
}
.products-grid {
  gap:1.25rem;
}
.product-card {
  padding:0;
  border-radius:24px;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,250,255,.94));
}
body.dark-mode .product-card {
  background:linear-gradient(180deg,rgba(14,22,41,.98),rgba(12,18,34,.98));
}
.product-card img {
  aspect-ratio:4/3;
}
.product-content {
  padding:1rem 1rem 1.05rem;
}
.product-card :is(h2,h3) {
  font-size:1.05rem;
  line-height:1.3;
}
.product-price {
  font-size:1.08rem;
}
.product-actions {
  margin-top:.1rem;
}
.product-card:hover, .product-card:focus-within {
  transform:translateY(-5px);
  box-shadow:0 22px 40px rgba(16,27,57,.16);
}
.footer {
  overflow:hidden;
  background:     linear-gradient(180deg,rgba(6,11,23,.35),rgba(8,14,32,.9)),     linear-gradient(90deg,var(--brand-blue-dark),var(--brand-blue));
}
.footer::before {
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:clamp(3rem,4vw,4.5rem);
  background:     linear-gradient(180deg,rgba(7,11,24,.08),rgba(7,11,24,.52)),     var(--footer-image) center 42%/cover no-repeat;
  opacity:.32;
  pointer-events:none;
}
.footer::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,0) 16%);
  pointer-events:none;
}
.footer-inner {
  padding:6.6rem 0 2.4rem;
}
.footer-bottom {
  position:relative;
  z-index:1;
}
.footer-brand, .footer-links {
  position:relative;
  z-index:1;
}
@media (max-width:900px) {
  .hero-copy,   .hero-brand,   .page-hero-card {
    padding:1.4rem;
  }
  .page-hero-card {
    min-height:200px;
  }
  .page-title,   .hero-title,   .section-title {
    max-width:none;
  }
}
@media (max-width:700px) {
  .page-hero {
    padding:1.35rem 0 .4rem;
  }
  .page-hero-card {
    min-height:180px;
    padding:1.2rem 1.1rem 1.15rem;
  }
  .category-card {
    min-height:250px;
    padding:1.2rem;
  }
  .footer-inner {
    padding:5.2rem 0 2rem;
  }
}


/* 40-responsive-mobile.css | Generated for maintainability step 6 */

/* === Step 4: Responsive & Mobile UX === */
.mobile-filter-trigger,.mobile-filter-overlay,.mobile-filter-actions {
  display:none
}
.mobile-filter-trigger {
  width:100%;
  align-items:center;
  justify-content:space-between;
  gap:.9rem;
  padding:1rem 1.05rem;
  border:1px solid var(--border);
  border-radius:20px;
  background:var(--surface);
  box-shadow:0 14px 28px rgba(16,27,57,.12);
  color:var(--text);
  font-weight:800
}
.mobile-filter-trigger__copy {
  display:grid;
  gap:.15rem;
  text-align:left
}
.mobile-filter-trigger__title {
  font-size:1rem
}
.mobile-filter-trigger__meta {
  font-size:.86rem;
  color:var(--muted);
  font-weight:700
}
.mobile-filter-trigger__icon {
  display:inline-grid;
  place-items:center;
  min-width:42px;
  min-height:42px;
  border-radius:14px;
  background:rgba(31,47,163,.08);
  color:var(--brand-blue)
}
.mobile-filter-actions {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.75rem;
  padding:1rem;
  border-top:1px solid var(--border);
  position:sticky;
  bottom:0;
  background:var(--surface-strong);
  z-index:2
}
.mobile-filter-actions .button,.mobile-filter-actions .button-secondary {
  width:100%;
  justify-content:center
}
.mobile-filter-overlay {
  position:fixed;
  inset:0;
  opacity:0;
  pointer-events:none;
  border:0;
  background:rgba(7,11,24,.56);
  backdrop-filter:blur(2px);
  z-index:1240
}
@media (max-width:900px) {
  .header-inner {
    grid-template-columns:minmax(0,1fr) auto auto;
    gap:.7rem
  }
  .brand {
    min-width:0;
    max-width:100%
  }
  .brand-copy {
    min-width:0
  }
  .brand-script {
    font-size:1.22rem
  }
  .brand-kicker {
    font-size:.78rem;
    letter-spacing:.12em;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
  }
  .site-nav {
    position:fixed;
    top:calc(var(--header-h) + .5rem);
    left:.75rem;
    right:.75rem;
    max-height:calc(100vh - var(--header-h) - 1.5rem);
    overflow:auto;
    padding:.4rem;
    border-radius:24px;
    background:linear-gradient(180deg,rgba(14,23,47,.98),rgba(11,18,39,.98));
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 24px 48px rgba(0,0,0,.28)
  }
  .site-nav ul {
    gap:.6rem
  }
  .site-nav a {
    justify-content:flex-start;
    padding:0 1rem;
    text-align:left
  }
  .site-nav .primary-nav__link {
    flex:1 1 auto
  }
  .site-nav .primary-nav__item-group {
    justify-content:space-between;
    width:100%
  }
  .site-nav .primary-nav__item {
    width:100%
  }
  .site-nav .primary-nav__submenu {
    position:static;
    min-width:0;
    margin-top:.5rem;
    background:rgba(255,255,255,.06);
    box-shadow:none;
    border-color:rgba(255,255,255,.12)
  }
  .site-nav .primary-nav__submenu a {
    color:#fff;
    background:transparent
  }
  .site-nav .primary-nav__submenu a:hover,.site-nav .primary-nav__submenu a:focus-visible,.site-nav .primary-nav__submenu a.active {
    background:rgba(255,255,255,.12);
    color:#fff
  }
  .page-hero,.hero {
    padding-top:2.5rem
  }
  .page-hero-card,.hero-copy,.hero-brand {
    padding:1.2rem
  }
  .hero-grid {
    gap:1rem
  }
  .catalog-switcher,.breadcrumb-list {
    display:flex;
    flex-wrap:nowrap;
    overflow:auto hidden;
    padding-bottom:.15rem;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch
  }
  .catalog-switcher::-webkit-scrollbar,.breadcrumb-list::-webkit-scrollbar {
    display:none
  }
  .catalog-switcher a {
    flex:0 0 auto
  }
  .results-toolbar {
    position:sticky;
    top:calc(var(--header-h) + .45rem);
    z-index:8;
    padding:.85rem 1rem;
    border-radius:20px;
    background:color-mix(in srgb,var(--surface-strong) 88%, transparent);
    backdrop-filter:blur(10px);
    box-shadow:0 14px 24px rgba(16,27,57,.1)
  }
  .toolbar-actions {
    width:100%;
    justify-content:space-between
  }
  .mini-link-button {
    min-height:44px;
    padding:.7rem .95rem;
    border-radius:14px
  }
  .mobile-filter-trigger {
    display:flex;
    position:sticky;
    top:calc(var(--header-h) + .45rem);
    z-index:9;
    margin-bottom:.85rem
  }
  .filter-panel {
    margin-top:0
  }
  .filter-panel::before {
    display:block
  }
  body.filters-open {
    overflow:hidden
  }
  body.filters-open .mobile-filter-overlay {
    display:block;
    opacity:1;
    pointer-events:auto
  }
  body.filters-open .filter-panel {
    transform:translateY(0)
  }
  body.filters-open .filter-panel .mobile-filter-actions {
    display:grid
  }
  .filter-panel {
    position:fixed!important;
    left:0;
    right:0;
    bottom:0;
    top:auto;
    z-index:1250;
    width:100%;
    max-height:min(84vh,820px);
    margin:0;
    border-radius:24px 24px 0 0;
    padding:0 1rem calc(1rem + env(safe-area-inset-bottom,0));
    overflow:auto;
    background:var(--surface-strong);
    transform:translateY(106%);
    transition:transform .28s ease;
    box-shadow:0 -20px 44px rgba(0,0,0,.24)
  }
  .filter-panel-header {
    padding-top:.9rem
  }
  .filter-panel .filter-grid,.filter-panel .range-grid {
    grid-template-columns:1fr
  }
  .filter-panel .inline-actions {
    display:none
  }
  .field-group label {
    font-size:.95rem
  }
  .admin-form input,.admin-form select,.admin-form textarea,.contact-form input,.contact-form textarea,.field-group input,.field-group select {
    min-height:48px;
    border-radius:14px
  }
  .contact-form textarea,.field-group textarea {
    min-height:120px
  }
  .products-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.9rem
  }
  .product-card {
    padding:1rem
  }
  .product-card img {
    aspect-ratio:1/.92
  }
  .product-topline {
    gap:.35rem
  }
  .product-actions {
    flex-direction:column
  }
  .product-actions button {
    width:100%
  }
  .wishlist-button {
    width:44px;
    height:44px;
    top:.75rem;
    right:.75rem
  }
  .modal {
    padding:0;
    align-items:flex-end
  }
  .modal-content {
    width:100%;
    max-width:none;
    max-height:min(92vh,960px);
    border-radius:24px 24px 0 0;
    overflow:auto
  }
  .modal-layout {
    grid-template-columns:1fr
  }
  .modal-media {
    min-height:0
  }
  .modal-copy {
    padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom,0));
    gap:.75rem
  }
  .modal-copy .inline-actions {
    position:sticky;
    bottom:-1rem;
    display:grid;
    grid-template-columns:1fr;
    gap:.75rem;
    margin-top:.25rem;
    padding:1rem 0 0;
    background:linear-gradient(180deg,rgba(255,255,255,0),var(--surface-strong) 24%)
  }
  .modal-copy .inline-actions>* {
    width:100%;
    justify-content:center
  }
  .modal-close {
    top:.7rem;
    right:.7rem;
    border-radius:14px
  }
  .contact-grid,.story-grid,.admin-layout {
    grid-template-columns:1fr
  }
  .admin-toolbar,.admin-toolbar-actions {
    width:100%
  }
  .admin-toolbar-actions {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:.65rem
  }
  .admin-search-box input {
    min-height:48px
  }
}
@media (max-width:640px) {
  :root {
    --header-h:80px
  }
  .container {
    width:min(100% - .9rem,var(--maxw))
  }
  .brand-logo {
    width:58px;
    height:58px
  }
  .theme-toggle {
    padding:0 .8rem
  }
  .nav-toggle {
    padding:0 .9rem
  }
  .hero::before {
    height:64vh
  }
  .products-grid,.categories-grid,.features-grid,.stats-grid {
    grid-template-columns:1fr
  }
  .section {
    padding:1rem 0 3rem
  }
  .section-heading {
    gap:.65rem
  }
  .section-heading p {
    font-size:.95rem
  }
  .results-toolbar {
    top:calc(var(--header-h) + .35rem);
    padding:.75rem .85rem
  }
  .mobile-filter-trigger {
    top:calc(var(--header-h) + .35rem);
    padding:.9rem .95rem
  }
  .toolbar-actions {
    display:grid;
    grid-template-columns:1fr 1fr
  }
  .contact-form-actions,.hero-actions {
    display:grid;
    grid-template-columns:1fr
  }
  .footer-inner {
    grid-template-columns:1fr;
    padding-top:5.6rem
  }
  .footer-logo-line {
    align-items:flex-start
  }
  .mobile-filter-actions {
    grid-template-columns:1fr
  }
}
@media (max-width:480px) {
  .header-inner {
    grid-template-columns:minmax(0,1fr) auto auto
  }
  .brand-script {
    font-size:1.08rem
  }
  .page-title,.section-title {
    font-size:2.15rem
  }
  .hero-copy,.hero-brand,.page-hero-card,.panel,.contact-card,.brand-card,.category-card,.story-card,.stat-card,.feature-card {
    padding:1rem
  }
  .product-card {
    padding:.9rem
  }
  .modal-content {
    max-height:94vh
  }
  .modal-thumb img {
    height:60px
  }
  .breadcrumb-list {
    gap:.35rem
  }
}
@supports (content-visibility:auto) {
  .products-grid,.categories-grid,.features-grid,.stats-grid,.story-grid,.contact-grid,.admin-layout,.footer {
    content-visibility:auto;
    contain-intrinsic-size:1px 900px;
  }

  .product-card {
    content-visibility:auto;
    contain-intrinsic-size:280px 520px;
  }
}


/* ==== Admin existing listings editor ==== */
.admin-toolbar--stacked{align-items:stretch}.existing-listing-form{gap:1rem}.admin-gallery-editor{margin-top:1rem;border-top:1px solid var(--border);padding-top:1rem}.admin-gallery-editor__header{margin-bottom:.75rem}.admin-gallery-add-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.65rem;align-items:center}.admin-gallery-list{display:grid;gap:.75rem;margin-bottom:.85rem}.admin-gallery-item{display:grid;grid-template-columns:88px minmax(0,1fr);gap:.75rem;align-items:center;padding:.7rem;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.55)}body.dark-mode .admin-gallery-item{background:rgba(255,255,255,.04)}.admin-gallery-item img{width:88px;height:88px;object-fit:cover;border-radius:12px;border:1px solid var(--border)}.admin-gallery-item__actions{display:flex;flex-wrap:wrap;gap:.5rem}
.existing-listing-form.is-dirty{border-radius:24px;box-shadow:0 0 0 2px rgba(239,24,35,.14),0 18px 34px rgba(31,47,163,.08)}
.compact-empty-state{padding:1rem;text-align:left}.section-title--small{font-size:1.25rem;line-height:1.1}.locked-filter-note--empty{min-height:auto}@media (max-width:720px){.admin-gallery-add-row{grid-template-columns:1fr}.admin-gallery-item{grid-template-columns:1fr}.admin-gallery-item img{width:100%;height:auto;aspect-ratio:1/1}}

/* ==== Supabase Backend Admin ==== */
.admin-backend-section .panel code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:rgba(31,47,163,.08);padding:.1rem .35rem;border-radius:6px}
.backend-setup-callout{display:flex;gap:.5rem;align-items:flex-start;flex-wrap:wrap;padding:1rem 1.1rem;border:1px solid var(--border);border-radius:18px;background:rgba(31,47,163,.06);margin-bottom:1rem}
.backend-auth-form{margin-bottom:1rem}
.backend-admin-layout{grid-template-columns:minmax(0,1fr)}
.backend-editor-panel{position:static;max-height:none;overflow:visible;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(245,248,255,.9))}
.backend-editor-panel .image-preview{margin-top:1rem}
#backendListingsList .admin-listing-card{content-visibility:auto;contain-intrinsic-size:180px}
#backendListingsList .admin-listing-card{transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
#backendListingsList .admin-listing-card:hover{transform:translateY(-1px)}
#backendSignOut:disabled,#backendSeedProducts:disabled,#backendRefreshProducts:disabled,#backendNewListing:disabled{opacity:.55;cursor:not-allowed}
@media (max-width: 980px){.backend-admin-layout{grid-template-columns:1fr}.backend-editor-panel{position:static;max-height:none;overflow:visible}}


/* ==== Backend-first admin mode ==== */
.backend-admin-mode .page-hero .page-hero-card{max-width:980px}.backend-admin-mode .admin-backend-panel{padding:1rem}.backend-admin-mode .backend-auth-form{margin-bottom:1rem}.backend-admin-mode .backend-admin-layout{margin-top:1rem}
.backend-load-more-row{justify-content:center;padding-top:.5rem}

.admin-mode-pill {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:0 .78rem;
  border-radius:999px;
  border:1px solid rgba(31,47,163,.14);
  background:rgba(31,47,163,.08);
  color:var(--brand-blue);
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.admin-mode-pill[data-state=success] {
  background:rgba(27,141,61,.12);
  border-color:rgba(27,141,61,.22);
  color:#176b31;
}
.admin-mode-pill[data-state=error] {
  background:rgba(239,24,35,.1);
  border-color:rgba(239,24,35,.2);
  color:var(--brand-red);
}
.backend-overview-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.9rem;
  margin:1rem 0;
}
.backend-summary-card {
  display:grid;
  gap:.5rem;
}
.backend-summary-value {
  display:block;
  font-size:1.6rem;
  line-height:1.05;
}
.backend-setup-callout {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:1rem;
  align-items:flex-start;
}
.backend-setup-copy {
  display:grid;
  gap:.35rem;
}
.backend-setup-copy > span,
.backend-setup-copy > div {
  display:block;
}
.backend-setup-copy strong {
  display:block;
}
.backend-copy-list {
  margin:.15rem 0 0 1rem;
  padding:0;
  color:var(--muted);
}
.backend-listing-summary {
  display:grid;
  gap:.6rem;
  margin:0 0 .95rem;
}
.backend-filter-bar {
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
}
.admin-filter-pill {
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  min-height:38px;
  padding:0 .88rem;
  border-radius:999px;
  border:1px solid rgba(31,47,163,.12);
  background:rgba(255,255,255,.84);
  color:var(--text);
  font-weight:700;
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease;
}
.admin-filter-pill strong {
  font-size:.82rem;
  color:var(--muted);
}
.admin-filter-pill:hover,
.admin-filter-pill:focus-visible {
  transform:translateY(-1px);
  box-shadow:0 10px 20px rgba(16,27,57,.08);
}
.admin-filter-pill.is-active {
  border-color:transparent;
  background:linear-gradient(135deg,#1234c8 0,#1f5fff 55%,#ef1823 100%);
  color:#fff;
  box-shadow:0 14px 24px rgba(18,52,200,.18);
}
.admin-filter-pill.is-active strong {
  color:rgba(255,255,255,.86);
}
.backend-filter-note {
  margin:0;
}
.admin-search-shell {
  width:100%;
}
.admin-search-shell input {
  width:100%;
  padding-right:3.2rem;
}
.admin-search-shell .search-clear {
  right:.6rem;
  width:34px;
  height:34px;
}
.admin-form-section {
  display:grid;
  gap:1rem;
  padding:1rem 1.05rem;
  border:1px solid var(--border);
  border-radius:22px;
  background:rgba(255,255,255,.56);
}
.admin-form-section + .admin-form-section {
  margin-top:1rem;
}
.admin-form-section__header {
  display:grid;
  gap:.3rem;
}
.admin-form-section__header h3,
.admin-form-section__header h4,
.admin-form-section__header p {
  margin:0;
}
.admin-side-note {
  margin:.85rem 0 0;
}
.admin-gallery-item {
  grid-template-columns:100px minmax(0,1fr);
}
.admin-gallery-item__body {
  display:grid;
  gap:.7rem;
}
.admin-gallery-item__copy {
  display:grid;
  gap:.3rem;
}
.admin-gallery-item__copy p {
  margin:0;
}
.admin-gallery-item.is-main {
  border-color:rgba(31,47,163,.24);
  box-shadow:0 14px 24px rgba(31,47,163,.08);
}
.status-message__title {
  display:block;
  margin-bottom:.35rem;
}
.status-message__body,
.status-message__meta {
  margin:.15rem 0 0;
}
.status-message__list {
  display:grid;
  gap:.75rem;
  margin-top:.85rem;
}
.status-message__item {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:.75rem;
  align-items:flex-start;
  padding:.8rem .85rem;
  border:1px solid rgba(24,37,73,.08);
  border-radius:16px;
  background:rgba(255,255,255,.52);
}
.status-message__check {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:48px;
  min-height:28px;
  padding:0 .55rem;
  border-radius:999px;
  background:rgba(24,37,73,.08);
  color:var(--brand-blue);
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.status-message__item.is-success .status-message__check {
  background:rgba(27,141,61,.12);
  color:#176b31;
}
.status-message__item.is-error .status-message__check {
  background:rgba(239,24,35,.1);
  color:var(--brand-red);
}
.status-message__item p {
  margin:.2rem 0 0;
}
.status-message .backend-copy-list {
  margin-top:.45rem;
}
body.dark-mode .admin-mode-pill {
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.12);
  color:#fff;
}
body.dark-mode .admin-form-section,
body.dark-mode .status-message__item {
  background:rgba(255,255,255,.04);
}
body.dark-mode .admin-filter-pill {
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.12);
  color:#fff;
}
body.dark-mode .admin-filter-pill strong {
  color:rgba(255,255,255,.68);
}
body.dark-mode .backend-editor-panel {
  background:linear-gradient(180deg,rgba(12,20,42,.96),rgba(9,16,35,.94));
}
body.dark-mode .admin-unsaved-badge {
  background:linear-gradient(135deg,rgba(239,24,35,.2),rgba(255,255,255,.08));
  border-color:rgba(239,24,35,.34);
  color:#fff;
}
body.dark-mode .existing-listing-form.is-dirty {
  box-shadow:0 0 0 2px rgba(239,24,35,.24),0 18px 34px rgba(0,0,0,.28);
}
@media (max-width:980px) {
  .backend-overview-grid {
    grid-template-columns:1fr;
  }
  .backend-setup-callout {
    grid-template-columns:1fr;
  }
}
@media (max-width:720px) {
  .admin-panel-header--editor {
    grid-template-columns:1fr;
  }
  .admin-unsaved-badge {
    justify-self:start;
  }
  .admin-listing-card,
  .status-message__item {
    grid-template-columns:1fr;
  }
  .backend-filter-bar {
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:.15rem;
    scrollbar-width:none;
  }
  .admin-form-section {
    padding:1rem;
  }
}

/* 2026 next fixes: stronger hero images, improved filters, richer item modal */
.hero::before {
  background:linear-gradient(180deg,rgba(8,14,32,.08),rgba(8,14,32,.32)),var(--image-grass) center/cover no-repeat !important;
}
.page-hero-card {
  background:linear-gradient(180deg,rgba(255,255,255,.76),rgba(255,255,255,.62)),var(--hero-image) center/cover no-repeat !important;
  background-blend-mode:normal !important;
}
.page-hero-card::before {
  content:"" !important;
  display:block !important;
  background:linear-gradient(135deg,rgba(9,14,30,.12),rgba(9,14,30,.02) 42%,rgba(255,255,255,0)) !important;
}
body.dark-mode .page-hero-card {
  background:linear-gradient(180deg,rgba(6,10,21,.58),rgba(9,14,28,.48)),var(--hero-image) center/cover no-repeat !important;
}
.filter-panel {
  padding:1.35rem;
  border-radius:28px;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(245,248,255,.92));
  box-shadow:0 18px 34px rgba(16,27,57,.08);
}
.filter-grid {
  grid-template-columns:minmax(280px,1.4fr) repeat(4,minmax(180px,1fr));
  gap:1rem;
  align-items:start;
}
.filter-grid > .field-group:first-child {
  grid-column:1 / -1;
}
.field-group {
  gap:.55rem;
}
.field-group label {
  font-size:.82rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.search-shell::before {
  content:"\\01F50E";
}
.search-shell input {
  padding-left:2.9rem !important;
  padding-right:5.75rem !important;
}
.search-clear {
  right:3.6rem;
  width:30px;
  height:30px;
}
.search-shortcut {
  right:.9rem;
}
.field-group--facet {
  min-width:0;
}
.facet-group {
  gap:.7rem;
  padding:1rem;
  border-radius:18px;
  background:rgba(255,255,255,.9);
}
.facet-options {
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
}
.facet-option {
  position:relative;
  margin:0;
}
.facet-option input {
  position:absolute;
  opacity:0;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
}
.facet-option span {
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:.55rem .8rem;
  border-radius:999px;
  border:1px solid rgba(31,47,163,.14);
  background:#fff;
  color:var(--text);
  font-weight:700;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}
.facet-option input:checked + span {
  background:linear-gradient(135deg,var(--brand-blue),#3f68ff);
  border-color:transparent;
  color:#fff;
  box-shadow:0 10px 18px rgba(31,47,163,.18);
}
.facet-option:hover span,
.facet-option input:focus-visible + span {
  transform:translateY(-1px);
  box-shadow:0 10px 18px rgba(16,27,57,.09);
}
.results-toolbar {
  padding:1rem 1.1rem;
}
.product-card {
  position:relative;
  cursor:pointer;
}
.product-card:focus-visible {
  outline:3px solid var(--focus-ring,var(--brand-gold));
  outline-offset:4px;
}
.product-card img {
  aspect-ratio:4/3;
  object-fit:contain;
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(242,246,255,.88));
}
.product-attribute-list,
.modal-attribute-list {
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
}
.product-attribute-pill {
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:.3rem .65rem;
  border-radius:999px;
  background:rgba(31,47,163,.08);
  border:1px solid rgba(31,47,163,.08);
  color:var(--brand-blue);
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.product-actions {
  margin-top:.9rem;
}
.modal-layout {
  grid-template-columns:minmax(0,1.02fr) minmax(360px,1fr);
}
.modal-image-stage {
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(242,246,255,.86));
  border:1px solid var(--border);
  min-height:0;
  padding:.75rem;
}

button.modal-image-stage {
  width:100%;
  appearance:none;
  color:inherit;
  cursor:zoom-in;
  font:inherit;
  text-align:inherit;
}

.modal-image-stage img {
  width:100%;
  height:auto;
  min-height:0;
  max-height:min(70vh,680px);
  object-fit:contain;
}

.modal-image-zoom img {
  transition:transform .2s ease;
}

.modal-image-zoom:hover img,
.modal-image-zoom:focus-visible img {
  transform:scale(1.012);
}

.modal-image-zoom:focus-visible {
  outline:3px solid var(--focus-ring,var(--brand-gold));
  outline-offset:3px;
}

.modal-image-zoom__hint {
  position:absolute;
  right:.85rem;
  bottom:.85rem;
  z-index:1;
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:.45rem .7rem;
  border:1px solid rgba(255,255,255,.68);
  border-radius:999px;
  background:rgba(13,20,38,.78);
  color:#fff;
  font-size:.75rem;
  font-weight:900;
  letter-spacing:.02em;
  box-shadow:0 14px 30px rgba(0,0,0,.18);
}

body.dark-mode .modal-image-zoom__hint {
  border-color:rgba(255,255,255,.22);
  background:rgba(255,255,255,.12);
}

.modal-meta-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.45rem .9rem;
}
.modal-meta-grid p {
  margin:0;
  font-size:.9rem;
}
.modal-description {
  display:grid;
  gap:.35rem;
  padding:.9rem 1rem;
  border-radius:18px;
  background:rgba(31,47,163,.05);
  border:1px solid rgba(31,47,163,.08);
}
.modal-description p {
  margin:0;
  font-size:.9rem;
}
body.dark-mode .filter-panel,
body.dark-mode .facet-group {
  background:rgba(17,25,45,.94);
}
body.dark-mode .facet-option span {
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.12);
  color:#fff;
}
body.dark-mode .product-attribute-pill {
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.12);
  color:#fff;
}
body.dark-mode .modal-image-stage {
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));
}
body.dark-mode .modal-description {
  background:rgba(255,255,255,.05);
}

body.dark-mode .modal-fact {
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));
  border-color:rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

body.dark-mode .modal-fact strong {
  color:#f8fbff;
}

body.dark-mode .modal-meta-grid p {
  background:rgba(255,255,255,.045);
  border-color:rgba(255,255,255,.1);
}

@media (max-width:1080px) {
  .filter-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .filter-grid > .field-group:first-child {
    grid-column:1 / -1;
  }
}
@media (max-width:820px) {
  .modal-layout,
  .modal-meta-grid {
    grid-template-columns:1fr;
  }
}
@media (max-width:640px) {
  .filter-panel {
    padding:1rem;
  }
  .facet-options {
    gap:.45rem;
  }
  .facet-option span {
    min-height:38px;
    padding:.5rem .7rem;
  }
}

/* 2026 design polish pass */
:root {
  --surface-soft:rgba(255,255,255,.78);
  --shadow-soft:0 16px 34px rgba(16,27,57,.1);
  --shadow-strong:0 22px 44px rgba(16,27,57,.14);
  --interactive-ring:rgba(31,95,255,.18);
}
body {
  line-height:1.55;
}
.container {
  width:min(var(--maxw),calc(100% - 2.4rem));
}
.site-header {
  backdrop-filter:blur(18px);
}
.header-inner {
  gap:.85rem;
}
.site-nav a,
.button,
.button-secondary,
.mini-link-button,
.contact-quick-actions a,
.page-hero-actions a,
.hero-actions a,
.footer-contact-link {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  text-decoration:none;
}
.site-nav a {
  min-height:44px;
  padding:0 .95rem;
}
.header-wishlist-link {
  background:linear-gradient(135deg,rgba(239,24,35,.94),rgba(31,95,255,.9));
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 12px 24px rgba(16,27,57,.18);
}
.header-wishlist-link:hover,
.header-wishlist-link:focus-visible,
.header-wishlist-link.active {
  background:linear-gradient(135deg,#ef1823,#1f5fff) !important;
  border-color:transparent !important;
}
.hero-copy,
.hero-brand,
.page-hero-card,
.filter-panel,
.results-toolbar,
.catalog-support-callout,
.contact-card,
.category-card,
.story-card,
.stat-card,
.feature-card,
.panel {
  box-shadow:var(--shadow-soft);
}
.hero-copy p,
.page-hero-card p,
.section-heading p {
  max-width:62ch;
}
.page-hero-actions,
.contact-quick-actions {
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
}
.utility-chip {
  min-height:40px;
  padding:0 .95rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(255,255,255,.76);
  border:1px solid rgba(31,47,163,.1);
  color:var(--text);
  font-size:.92rem;
  font-weight:700;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.page-hero-actions {
  margin-top:.45rem;
}
.hero-actions {
  align-items:center;
}
.hero-actions .button,
.hero-actions .button-secondary,
.page-hero-actions .button,
.page-hero-actions .button-secondary,
.contact-quick-actions .button-secondary {
  min-height:50px;
}
.section-heading {
  gap:1.2rem;
  align-items:flex-end;
}
.category-card {
  border-color:rgba(255,255,255,.16);
}
.category-card::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,0) 32%);
  opacity:.9;
}
.category-card h3 {
  max-width:14ch;
}
.category-card p {
  max-width:32ch;
}
.section-subtitle--compact {
  margin:0 0 .25rem;
}
.contact-card--form {
  gap:1rem;
}
.contact-quick-actions {
  margin:0 0 .4rem;
}
.contact-quick-actions .button-secondary {
  min-height:44px;
  font-weight:800;
}

.contact-quick-actions .button-secondary.is-selected {
  background:linear-gradient(135deg,rgba(31,47,163,.12),rgba(228,177,65,.2));
  border-color:rgba(31,47,163,.24);
  color:var(--brand-blue);
  box-shadow:0 12px 24px rgba(16,27,57,.1);
}

body.dark-mode .contact-quick-actions .button-secondary.is-selected {
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(228,177,65,.16));
  border-color:rgba(228,177,65,.3);
  color:#fff;
}

.contact-faq-section {
  padding-top:0;
}

.faq-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.85rem;
}

.faq-item {
  border:1px solid rgba(31,47,163,.12);
  border-radius:8px;
  background:rgba(255,255,255,.82);
  box-shadow:0 12px 28px rgba(16,27,57,.08);
  overflow:hidden;
}

.faq-item summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  min-height:58px;
  padding:1rem 1.1rem;
  color:var(--text);
  cursor:pointer;
  font-weight:800;
  line-height:1.25;
}

.faq-item summary::-webkit-details-marker {
  display:none;
}

.faq-item summary::after {
  content:"+";
  flex:0 0 auto;
  width:1.45rem;
  height:1.45rem;
  display:inline-grid;
  place-items:center;
  border-radius:999px;
  background:rgba(31,47,163,.1);
  color:var(--brand-blue);
  font-weight:900;
}

.faq-item[open] summary::after {
  content:"-";
  background:rgba(239,24,35,.1);
  color:var(--brand-red);
}

.faq-item p {
  margin:0;
  padding:0 1.1rem 1.1rem;
  color:var(--muted);
}

body.dark-mode .faq-item {
  border-color:rgba(255,255,255,.12);
  background:rgba(255,255,255,.065);
  box-shadow:0 16px 34px rgba(0,0,0,.24);
}

body.dark-mode .faq-item summary {
  color:#fff;
}

body.dark-mode .faq-item p {
  color:rgba(244,247,255,.78);
}

body.dark-mode .faq-item summary::after {
  background:rgba(255,255,255,.1);
  color:#fff;
}

.wishlist-actions-panel {
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,auto);
  gap:1rem 1.2rem;
  align-items:center;
  padding:1.15rem 1.2rem;
  border-radius:24px;
  background:
    linear-gradient(135deg,rgba(31,47,163,.08),rgba(228,177,65,.12)),
    rgba(255,255,255,.82);
}

.wishlist-actions-copy {
  display:grid;
  gap:.45rem;
  min-width:0;
}

.wishlist-actions-kicker {
  color:var(--brand-blue);
  font-family:var(--font-display);
  font-size:.82rem;
  letter-spacing:.14em;
  line-height:1;
  text-transform:uppercase;
}

.wishlist-actions-panel h2 {
  margin:0;
  font-size:1.6rem;
  line-height:1.05;
}

.wishlist-actions-panel p {
  margin:0;
  color:var(--muted);
}

.wishlist-actions-list {
  list-style:none;
  display:grid;
  gap:.38rem;
  margin:.25rem 0 0;
  padding:0;
}

.wishlist-actions-list li {
  display:flex;
  justify-content:space-between;
  gap:.75rem;
  min-width:0;
  padding:.48rem .6rem;
  border:1px solid rgba(31,47,163,.08);
  border-radius:14px;
  background:rgba(255,255,255,.56);
  font-size:.9rem;
}

.wishlist-actions-list span {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.wishlist-actions-list strong {
  flex:0 0 auto;
  color:var(--brand-red);
}

.wishlist-actions-buttons {
  display:grid;
  gap:.6rem;
  min-width:min(100%,230px);
}

.wishlist-actions-buttons > * {
  width:100%;
  justify-content:center;
}

.wishlist-clear-button {
  color:var(--brand-red);
}

body.dark-mode .wishlist-actions-panel {
  background:
    linear-gradient(135deg,rgba(31,47,163,.2),rgba(228,177,65,.1)),
    rgba(255,255,255,.055);
}

body.dark-mode .wishlist-actions-list li {
  border-color:rgba(255,255,255,.1);
  background:rgba(255,255,255,.05);
}

body.dark-mode .wishlist-actions-kicker,
body.dark-mode .wishlist-clear-button {
  color:#ffb4bf;
}

.contact-form-actions {
  margin-top:.15rem;
}
.footer-links {
  gap:.65rem;
}
.footer-links a {
  min-height:38px;
}
.footer-contact-block {
  display:grid;
  gap:.35rem;
  margin:0;
}
.footer-contact-link {
  padding:.8rem 1rem;
  border-radius:16px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  color:#fff !important;
  font-weight:800;
  box-shadow:0 14px 28px rgba(0,0,0,.12);
}
.footer-contact-link:hover,
.footer-contact-link:focus-visible {
  transform:translateY(-1px);
  background:rgba(255,255,255,.18);
}
.footer-contact-meta {
  color:rgba(255,255,255,.82);
  font-size:.9rem;
}
.filter-panel {
  padding:1.4rem;
}
.filter-panel-header {
  gap:.45rem;
}
.filter-panel-header h2 {
  font-size:1.24rem;
}
.field-group label {
  font-size:.78rem;
}
.admin-form input,
.admin-form select,
.admin-form textarea,
.contact-form input,
.contact-form textarea,
.field-group input,
.field-group select {
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,transform .2s ease;
}
.admin-form input:hover,
.admin-form select:hover,
.admin-form textarea:hover,
.contact-form input:hover,
.contact-form textarea:hover,
.field-group input:hover,
.field-group select:hover {
  border-color:rgba(31,47,163,.24);
}
.admin-form input:focus-visible,
.admin-form select:focus-visible,
.admin-form textarea:focus-visible,
.contact-form input:focus-visible,
.contact-form textarea:focus-visible,
.field-group input:focus-visible,
.field-group select:focus-visible {
  border-color:rgba(31,95,255,.42);
  box-shadow:0 0 0 4px var(--interactive-ring);
}
.status-message {
  font-weight:700;
}
.results-summary {
  font-weight:700;
}
.results-toolbar .toolbar-actions {
  display:flex !important;
  align-items:center;
  justify-content:flex-end;
  gap:.65rem;
}
.mini-link-button {
  text-decoration:none;
}
.mini-link-button--primary {
  background:linear-gradient(135deg,#1234c8 0,#1f5fff 45%,#ef1823 100%);
  color:#fff;
  border-color:transparent;
  box-shadow:0 14px 26px rgba(18,52,200,.18);
}
.mini-link-button--accent {
  background:rgba(31,47,163,.08);
  color:var(--text);
  border-color:rgba(31,47,163,.12);
}
.catalog-support-callout {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1rem 1.25rem;
  align-items:center;
  margin:0 0 1.1rem;
  padding:1.15rem 1.2rem;
  border-radius:24px;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(246,249,255,.92));
}
.catalog-support-kicker {
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  margin-bottom:.45rem;
  font-family:"Bebas Neue",sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--brand-blue);
}
.catalog-support-copy h3 {
  margin:0 0 .35rem;
  font-size:1.22rem;
}
.catalog-support-copy p {
  margin:0;
  color:var(--muted);
  max-width:60ch;
}
.catalog-support-actions {
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  justify-content:flex-end;
}
.products-grid {
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
}
.product-card {
  box-shadow:0 18px 34px rgba(16,27,57,.1);
}
.product-content {
  display:flex;
  flex-direction:column;
  gap:.55rem;
  min-height:100%;
}
.product-card :is(h2,h3) {
  min-height:2.7em;
}
.product-actions {
  margin-top:auto;
}
.product-actions button {
  font-weight:800;
}
body.dark-mode .utility-chip {
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.12);
  color:#f4f8ff;
}
body.dark-mode .footer-contact-link {
  background:rgba(255,255,255,.1);
  border-color:rgba(255,255,255,.16);
}
body.dark-mode .mini-link-button--accent {
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.14);
  color:#fff;
}
body.dark-mode .catalog-support-callout {
  background:linear-gradient(135deg,rgba(16,24,44,.98),rgba(12,18,34,.96));
}
body.dark-mode .catalog-support-copy p {
  color:#dbe4fa;
}
body.dark-mode .catalog-support-kicker {
  color:#8eb3ff;
}
@media (max-width:1120px) {
  .products-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media (max-width:980px) {
  .page-hero-actions,
  .contact-quick-actions {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .catalog-support-callout {
    grid-template-columns:1fr;
  }
  .catalog-support-actions {
    justify-content:flex-start;
  }
}
@media (max-width:900px) {
  .header-inner {
    gap:.65rem;
  }
  .brand {
    align-items:flex-start;
  }
  .header-wishlist-link {
    width:100%;
  }
  .results-toolbar .toolbar-actions {
    display:grid !important;
    grid-template-columns:1fr 1fr;
    width:100%;
  }
  .catalog-support-actions {
    display:grid;
    grid-template-columns:1fr;
  }
}
@media (max-width:700px) {
  .container {
    width:min(var(--maxw),calc(100% - 1.2rem));
  }
  .page-hero-actions,
  .contact-quick-actions,
  .results-toolbar .toolbar-actions,
  .catalog-support-actions {
    display:grid !important;
    grid-template-columns:1fr;
  }
  .utility-row {
    display:grid;
    grid-template-columns:1fr;
    align-items:stretch;
  }
  .utility-chip,
  .footer-contact-link {
    width:100%;
  }
  .faq-list {
    grid-template-columns:1fr;
  }
  .products-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:560px) {
  .products-grid {
    grid-template-columns:1fr;
  }
  .hero-copy,
  .hero-brand,
  .page-hero-card,
  .filter-panel,
  .results-toolbar,
  .catalog-support-callout,
  .contact-card,
  .category-card,
  .story-card,
  .stat-card,
  .feature-card,
  .panel {
    padding:1rem;
  }
}

/* 2026 product card refinement */
.product-card {
  --product-accent:#1f5fff;
  --product-accent-rgb:31,95,255;
  position:relative;
  height:auto;
  min-height:0;
  border:1px solid rgba(16,27,57,.08);
  background:
    linear-gradient(180deg,rgba(255,255,255,.99),rgba(247,250,255,.95)),
    linear-gradient(135deg,rgba(255,255,255,.42),rgba(var(--product-accent-rgb),.03));
  box-shadow:0 20px 42px rgba(16,27,57,.12);
  overflow:hidden;
  isolation:isolate;
}
.product-card[data-product-category="Baseball"] {
  --product-accent:#1f5fff;
  --product-accent-rgb:31,95,255;
}
.product-card[data-product-category="Basketball"] {
  --product-accent:#ef1823;
  --product-accent-rgb:239,24,35;
}
.product-card[data-product-category="Football"] {
  --product-accent:#108567;
  --product-accent-rgb:16,133,103;
}
.product-card[data-product-category="Comics"] {
  --product-accent:#d6841a;
  --product-accent-rgb:214,132,26;
}
.product-card[data-product-category="Collectibles"],
.product-card[data-product-category="Other"] {
  --product-accent:#0f7ea1;
  --product-accent-rgb:15,126,161;
}
.product-card::before {
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:5px;
  background:linear-gradient(90deg,var(--product-accent),rgba(var(--product-accent-rgb),.18));
  opacity:.95;
  z-index:1;
}
.product-card::after {
  content:"";
  position:absolute;
  right:-3.5rem;
  bottom:30%;
  width:10rem;
  height:10rem;
  background:radial-gradient(circle,rgba(var(--product-accent-rgb),.14),transparent 68%);
  opacity:.55;
  pointer-events:none;
  z-index:0;
}
.product-media {
  position:relative;
  padding:.65rem .65rem 0;
}
.product-media::before {
  content:"";
  position:absolute;
  inset:.65rem .65rem 0;
  border-radius:22px;
  background:
    radial-gradient(circle at top left,rgba(var(--product-accent-rgb),.18),transparent 52%),
    linear-gradient(180deg,rgba(255,255,255,.99),rgba(241,246,255,.92));
  border:1px solid rgba(var(--product-accent-rgb),.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.product-media img {
  position:relative;
  z-index:1;
  width:100%;
  aspect-ratio:4/3;
  object-fit:contain;
  padding:.55rem;
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(244,247,255,.86));
  border:1px solid rgba(255,255,255,.92);
  box-shadow:0 14px 26px rgba(16,27,57,.08);
  transition:transform .24s ease,box-shadow .24s ease,filter .24s ease;
}
.product-media .wishlist-button {
  top:.9rem!important;
  right:.9rem!important;
  width:40px;
  height:40px;
  backdrop-filter:blur(10px);
}
.product-content {
  position:relative;
  z-index:1;
  padding:.82rem .82rem .72rem;
  display:flex;
  flex-direction:column;
  gap:.5rem;
  min-height:0;
}
.product-card-chip-rail {
  display:flex;
  flex-wrap:wrap;
  gap:.42rem;
  align-items:flex-start;
}
.product-topline {
  justify-content:flex-start;
  align-items:flex-start;
  flex-wrap:wrap;
  gap:.42rem;
}
.product-badge {
  min-height:30px;
  padding:.34rem .68rem;
  background:rgba(var(--product-accent-rgb),.1);
  border:1px solid rgba(var(--product-accent-rgb),.16);
  color:var(--product-accent);
  font-size:.71rem;
  letter-spacing:.08em;
}
.product-card :is(h2,h3) {
  margin:0;
  font-size:.97rem;
  line-height:1.28;
  letter-spacing:0;
  min-height:0;
  display:block;
  -webkit-line-clamp:unset;
  -webkit-box-orient:initial;
  overflow:visible;
  overflow-wrap:anywhere;
}
.product-card-summary {
  display:flex;
  flex-wrap:wrap;
  gap:.42rem;
  min-height:0;
}
.product-meta-pills {
  display:flex;
  flex-wrap:wrap;
  gap:.42rem;
}
.product-attribute-list {
  gap:.4rem;
}
.product-attribute-pill {
  min-height:30px;
  padding:.34rem .68rem;
  font-size:.78rem;
  background:rgba(var(--product-accent-rgb),.08);
  border-color:rgba(var(--product-accent-rgb),.14);
  color:var(--product-accent);
}
.product-card-footer {
  margin-top:auto;
  display:grid;
  gap:.2rem;
  padding-top:.12rem;
}
.product-pricing {
  min-width:0;
}
.product-price-label {
  display:inline-flex;
  align-items:center;
  min-height:20px;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted);
}
.product-price {
  font-size:1.12rem;
  line-height:1.12;
  color:var(--brand-red);
  overflow-wrap:anywhere;
}
.product-card-chip-rail .product-topline,
.product-card-chip-rail .product-card-summary,
.product-card-chip-rail .product-meta-inline-list,
.product-card-chip-rail .product-attribute-list {
  display:flex;
  flex-wrap:wrap;
  gap:.42rem;
  margin:0;
}
.product-actions {
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  gap:.65rem;
  margin-top:.12rem;
}
.product-actions button {
  min-height:44px;
  width:100%;
  border-radius:16px;
  font-size:.95rem;
}
.product-card .buy-button {
  box-shadow:0 16px 28px rgba(var(--product-accent-rgb),.18);
}
.product-card .details-button {
  border-color:rgba(16,27,57,.1)!important;
}
.product-card:hover,
.product-card:focus-within {
  transform:translateY(-6px);
  box-shadow:0 26px 48px rgba(16,27,57,.16);
  border-color:rgba(var(--product-accent-rgb),.18);
}
.product-card:hover .product-media img,
.product-card:focus-within .product-media img {
  transform:translateY(-2px) scale(1.015);
  box-shadow:0 18px 30px rgba(16,27,57,.12);
  filter:saturate(1.04);
}
.product-card:active {
  transform:translateY(-2px);
}
@keyframes productSkeletonShimmer {
  0% {
    background-position:200% 0;
  }
  100% {
    background-position:-200% 0;
  }
}
.product-card--loading {
  pointer-events:none;
  user-select:none;
}
.product-card--loading:hover,
.product-card--loading:focus-within,
.product-card--loading:active {
  transform:none;
  box-shadow:0 20px 42px rgba(16,27,57,.12);
  border-color:rgba(16,27,57,.08);
}
.product-card--loading .product-media::before {
  border-color:rgba(var(--product-accent-rgb),.08);
}
.product-card--loading .wishlist-button,
.product-card--loading img {
  display:none!important;
}
.product-skeleton {
  display:block;
  border-radius:16px;
  background:linear-gradient(90deg,rgba(223,231,244,.9) 0%,rgba(246,249,255,1) 50%,rgba(223,231,244,.9) 100%);
  background-size:200% 100%;
  animation:productSkeletonShimmer 1.35s ease-in-out infinite;
}
.product-skeleton--image {
  position:relative;
  z-index:1;
  width:100%;
  aspect-ratio:4/3;
  border-radius:22px;
}
.product-skeleton--badge {
  width:6.2rem;
  min-height:30px;
  border-radius:999px;
}
.product-skeleton--meta {
  width:7.5rem;
  min-height:30px;
  margin-left:auto;
  border-radius:999px;
}
.product-skeleton--title {
  width:100%;
  min-height:18px;
  border-radius:12px;
}
.product-skeleton--title-short {
  width:72%;
}
.product-skeleton--pill {
  width:5.6rem;
  min-height:32px;
  border-radius:999px;
}
.product-skeleton--pill-wide {
  width:8rem;
}
.product-skeleton--label {
  width:5rem;
  min-height:14px;
  border-radius:999px;
}
.product-skeleton--price {
  width:7rem;
  min-height:20px;
  margin-top:.35rem;
  border-radius:12px;
}
body.dark-mode .product-card--loading:hover,
body.dark-mode .product-card--loading:focus-within,
body.dark-mode .product-card--loading:active {
  box-shadow:0 20px 42px rgba(0,0,0,.3);
  border-color:rgba(255,255,255,.12);
}
body.dark-mode .product-skeleton {
  background:linear-gradient(90deg,rgba(34,48,79,.95) 0%,rgba(54,71,109,.95) 50%,rgba(34,48,79,.95) 100%);
  background-size:200% 100%;
}
body.dark-mode .product-card {
  background:
    linear-gradient(180deg,rgba(14,22,41,.98),rgba(12,18,34,.98)),
    linear-gradient(135deg,rgba(var(--product-accent-rgb),.08),rgba(255,255,255,0));
  border-color:rgba(255,255,255,.12);
}
body.dark-mode .product-media::before {
  background:
    radial-gradient(circle at top left,rgba(var(--product-accent-rgb),.22),transparent 55%),
    linear-gradient(180deg,rgba(20,29,54,.98),rgba(13,20,38,.94));
  border-color:rgba(var(--product-accent-rgb),.2);
}
body.dark-mode .product-media img {
  background:linear-gradient(180deg,rgba(21,31,58,.92),rgba(13,20,38,.98));
  border-color:rgba(255,255,255,.08);
}
body.dark-mode .product-badge {
  color:#fff;
  border-color:rgba(var(--product-accent-rgb),.24);
  background:rgba(var(--product-accent-rgb),.2);
}
body.dark-mode .product-price-label {
  color:rgba(232,240,255,.72);
}
body.dark-mode .product-card .details-button {
  border-color:rgba(255,255,255,.14)!important;
}
@media (max-width:900px) {
  .product-media {
    padding:.8rem .8rem 0;
  }
  .product-content {
    padding:.95rem;
  }
  .product-actions {
    grid-template-columns:1fr;
  }
  .product-card :is(h2,h3) {
    min-height:0;
  }
}
@media (max-width:700px) {
  .product-card {
    border-radius:22px;
  }
  .product-media .wishlist-button {
    top:1rem!important;
    right:1rem!important;
  }
  .product-topline {
    gap:.5rem;
  }
}
@media (max-width:560px) {
  .product-actions button {
    min-height:42px;
  }
  .product-meta-pills {
    display:grid;
    grid-template-columns:1fr;
  }
}


/* 95-shell-refresh.css | Shared header, menu, footer, and button polish */

.site-header {
  transition:background .26s ease,box-shadow .26s ease,border-color .26s ease,transform .26s ease;
}

.site-header.site-header--scrolled {
  background:
    linear-gradient(180deg,rgba(5,10,24,.97),rgba(9,18,38,.95)),
    linear-gradient(90deg,var(--brand-blue-dark),rgba(16,35,122,.96));
  box-shadow:0 20px 48px rgba(3,8,20,.32);
  border-bottom-color:rgba(255,255,255,.16);
}

.header-inner {
  position:relative;
  gap:1.2rem;
}

.brand {
  min-width:0;
}

.brand-copy {
  gap:.22rem;
}

.header-actions {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.7rem;
}

.admin-form button,
.button,
.button-secondary,
.button-ghost,
.contact-form button,
.modal-cta,
.nav-toggle,
.theme-toggle,
.admin-footer-link,
.product-card button {
  position:relative;
  overflow:hidden;
  isolation:isolate;
}

.admin-form button::before,
.button::before,
.button-secondary::before,
.button-ghost::before,
.contact-form button::before,
.modal-cta::before,
.nav-toggle::before,
.theme-toggle::before,
.admin-footer-link::before,
.product-card button::before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,0) 50%);
  opacity:0;
  transition:opacity .22s ease;
  z-index:-1;
}

.admin-form button:hover,
.button:hover,
.button-secondary:hover,
.button-ghost:hover,
.contact-form button:hover,
.modal-cta:hover,
.nav-toggle:hover,
.theme-toggle:hover,
.admin-footer-link:hover,
.product-card button:hover,
.admin-form button:focus-visible,
.button:focus-visible,
.button-secondary:focus-visible,
.button-ghost:focus-visible,
.contact-form button:focus-visible,
.modal-cta:focus-visible,
.nav-toggle:focus-visible,
.theme-toggle:focus-visible,
.admin-footer-link:focus-visible,
.product-card button:focus-visible {
  transform:translateY(-2px);
  box-shadow:0 16px 28px rgba(16,27,57,.18);
}

.admin-form button:hover::before,
.button:hover::before,
.button-secondary:hover::before,
.button-ghost:hover::before,
.contact-form button:hover::before,
.modal-cta:hover::before,
.nav-toggle:hover::before,
.theme-toggle:hover::before,
.admin-footer-link:hover::before,
.product-card button:hover::before,
.admin-form button:focus-visible::before,
.button:focus-visible::before,
.button-secondary:focus-visible::before,
.button-ghost:focus-visible::before,
.contact-form button:focus-visible::before,
.modal-cta:focus-visible::before,
.nav-toggle:focus-visible::before,
.theme-toggle:focus-visible::before,
.admin-footer-link:focus-visible::before,
.product-card button:focus-visible::before {
  opacity:1;
}

.button,
.button-secondary,
.button-ghost,
.nav-toggle,
.theme-toggle {
  min-height:48px;
  padding:.88rem 1.18rem;
  font-weight:800;
}

.button,
.contact-form button,
.admin-form button,
.modal-cta {
  background:linear-gradient(135deg,#2448da 0%,#ef1823 100%);
  box-shadow:0 16px 28px rgba(31,47,163,.22);
}

.button-secondary,
.theme-toggle {
  border:1px solid rgba(23,34,61,.12);
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(240,244,252,.9));
  color:var(--text);
  box-shadow:0 12px 24px rgba(16,27,57,.1);
}

.button-ghost,
.admin-footer-link {
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  color:#fff;
  box-shadow:0 12px 24px rgba(0,0,0,.16);
}

.button-secondary,
.button-ghost,
.admin-footer-link {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
}

.nav-toggle,
.theme-toggle {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.7rem;
  min-width:0;
  padding:0 1.05rem;
}

.nav-toggle {
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  background:rgba(255,255,255,.08);
  box-shadow:0 10px 22px rgba(0,0,0,.18);
  display:none;
}

.theme-toggle {
  border:1px solid rgba(23,34,61,.12);
  color:#172033;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(240,244,252,.9));
  box-shadow:0 12px 24px rgba(16,27,57,.1);
  min-width:124px;
}

.nav-toggle__icon {
  display:grid;
  gap:4px;
  width:18px;
  flex:0 0 auto;
}

.nav-toggle__icon span {
  display:block;
  width:18px;
  height:2px;
  border-radius:999px;
  background:currentColor;
  transform-origin:center;
  transition:transform .22s ease,opacity .22s ease;
}

.nav-toggle[data-state="open"] .nav-toggle__icon span:nth-child(1) {
  transform:translateY(6px) rotate(45deg);
}

.nav-toggle[data-state="open"] .nav-toggle__icon span:nth-child(2) {
  opacity:0;
}

.nav-toggle[data-state="open"] .nav-toggle__icon span:nth-child(3) {
  transform:translateY(-6px) rotate(-45deg);
}

.theme-toggle__icon {
  position:relative;
  width:16px;
  height:16px;
  border-radius:50%;
  background:currentColor;
  box-shadow:0 0 0 5px rgba(255,255,255,.14);
  flex:0 0 auto;
}

.theme-toggle[data-theme-mode="dark"] .theme-toggle__icon::after {
  content:"";
  position:absolute;
  top:-2px;
  right:-1px;
  width:11px;
  height:11px;
  border-radius:50%;
  background:#0f1830;
}

.theme-toggle[data-theme-mode="light"] {
  color:#172033;
}

.theme-toggle[data-theme-mode="light"] .theme-toggle__icon {
  background:#f3b643;
  box-shadow:0 0 0 5px rgba(243,182,67,.24);
}

.button-label {
  white-space:nowrap;
}

.site-nav .primary-nav__item.is-current-section > .primary-nav__item-group > .primary-nav__link,
.site-nav .primary-nav__item.is-current-section > .primary-nav__link {
  background:rgba(255,255,255,.16);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);
}

.site-nav .primary-nav__link {
  min-height:48px;
  padding:0 1rem;
  border-radius:999px;
}

.site-nav .primary-nav__item-group {
  padding:.15rem;
  border-radius:999px;
  transition:background .22s ease,box-shadow .22s ease;
}

.site-nav .primary-nav__item:hover > .primary-nav__item-group,
.site-nav .primary-nav__item:focus-within > .primary-nav__item-group,
.site-nav .primary-nav__item.is-current-section > .primary-nav__item-group {
  background:rgba(255,255,255,.08);
}

.site-nav .submenu-toggle {
  display:inline-flex;
}

.site-nav .submenu-toggle[aria-expanded="true"] {
  background:rgba(255,255,255,.2);
  border-color:rgba(255,255,255,.32);
  transform:translateY(-1px);
}

.site-nav .primary-nav__submenu {
  padding:.55rem;
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(244,247,252,.96));
  box-shadow:0 24px 42px rgba(3,9,24,.22);
}

.site-nav .primary-nav__submenu a {
  border:1px solid transparent;
}

.site-nav .primary-nav__submenu a:hover,
.site-nav .primary-nav__submenu a:focus-visible,
.site-nav .primary-nav__submenu a.active {
  border-color:rgba(31,47,163,.12);
  box-shadow:0 10px 16px rgba(31,47,163,.08);
}

.site-nav__mobile-header,
.site-nav__mobile-actions,
.site-nav-backdrop {
  display:none;
}

.footer-brand {
  display:grid;
  gap:1.1rem;
  align-self:start;
  padding:1.05rem;
  border:1px solid rgba(255,255,255,.12);
  border-radius:24px;
  background:rgba(7,12,28,.68);
  box-shadow:0 18px 44px rgba(0,0,0,.2);
  backdrop-filter:blur(10px);
}

.footer-links {
  display:grid;
  gap:1rem;
  min-width:0;
  padding:1.05rem;
  border:1px solid rgba(255,255,255,.12);
  border-radius:24px;
  background:rgba(7,12,28,.7);
  box-shadow:0 18px 44px rgba(0,0,0,.2);
  backdrop-filter:blur(10px);
}

.footer-link-groups {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}

.footer-link-group {
  display:grid;
  gap:.65rem;
  min-width:0;
  padding:1rem 1.05rem;
  border-radius:22px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(8px);
}

.footer-link-group strong {
  font-size:1.05rem;
  letter-spacing:.12em;
}

.footer-link-group a {
  min-width:0;
  min-height:40px;
  border-radius:14px;
  padding:.72rem .8rem;
  background:rgba(255,255,255,.04);
  border:1px solid transparent;
  overflow-wrap:anywhere;
  transition:transform .2s ease,background .2s ease,border-color .2s ease;
}

.footer-link-group a:hover,
.footer-link-group a:focus-visible {
  transform:translateX(3px);
  background:rgba(255,255,255,.1);
  border-color:rgba(255,255,255,.14);
}

.footer-bottom {
  align-items:center;
}

.footer-bottom-meta {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.85rem;
  flex-wrap:wrap;
}

.footer-bottom-meta > span {
  max-width:48rem;
}

.admin-footer-link {
  min-height:42px;
  padding:.72rem 1rem;
}

.back-to-top {
  width:auto;
  min-width:54px;
  height:auto;
  min-height:54px;
  padding:.8rem 1rem;
  border-radius:999px;
  display:none;
  align-items:center;
  gap:.55rem;
  background:linear-gradient(135deg,#2448da 0%,#ef1823 100%);
}

.back-to-top.visible {
  display:inline-flex;
}

.back-to-top__icon {
  position:relative;
  width:12px;
  height:12px;
  display:inline-block;
}

.back-to-top__icon::before,
.back-to-top__icon::after {
  content:"";
  position:absolute;
  left:50%;
  background:#fff;
  transform:translateX(-50%);
}

.back-to-top__icon::before {
  top:0;
  width:2px;
  height:12px;
  border-radius:999px;
}

.back-to-top__icon::after {
  top:0;
  width:8px;
  height:8px;
  border-top:2px solid #fff;
  border-left:2px solid #fff;
  background:transparent;
  transform:translateX(-50%) rotate(45deg);
}

.back-to-top__label {
  font-weight:800;
}

body.dark-mode .button-secondary,
body.dark-mode .theme-toggle {
  background:linear-gradient(180deg,rgba(28,40,70,.98),rgba(17,26,47,.96));
  color:#eef4ff;
  border-color:rgba(255,255,255,.14);
  box-shadow:0 14px 28px rgba(0,0,0,.26);
}

body.dark-mode .button-ghost,
body.dark-mode .admin-footer-link {
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.16);
}

body.dark-mode .theme-toggle[data-theme-mode="dark"] .theme-toggle__icon::after {
  background:#101a35;
}

body.dark-mode .site-nav .primary-nav__item.is-current-section > .primary-nav__item-group > .primary-nav__link,
body.dark-mode .site-nav .primary-nav__item.is-current-section > .primary-nav__link {
  background:rgba(255,255,255,.14);
}

body.dark-mode .site-nav .primary-nav__submenu {
  background:linear-gradient(180deg,rgba(20,30,54,.98),rgba(12,20,38,.98));
  border-color:rgba(255,255,255,.12);
}

body.dark-mode .site-nav .primary-nav__submenu a {
  color:#eef4ff;
}

body.dark-mode .site-nav .primary-nav__submenu a:hover,
body.dark-mode .site-nav .primary-nav__submenu a:focus-visible,
body.dark-mode .site-nav .primary-nav__submenu a.active {
  border-color:rgba(255,255,255,.12);
  background:rgba(255,255,255,.08);
  box-shadow:none;
}

body.dark-mode .footer-link-group {
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.14);
}

body.dark-mode .footer-link-group a {
  background:rgba(255,255,255,.06);
}

@media (max-width:900px) {
  .header-inner {
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:
      "brand actions"
      "brand actions";
    align-items:center;
  }

  .brand {
    grid-area:brand;
  }

  .header-actions {
    grid-area:actions;
    flex-direction:row;
    align-items:center;
    gap:.55rem;
  }

  .nav-toggle,
  .theme-toggle {
    justify-content:center;
    width:auto;
  }

  .nav-toggle {
    display:inline-flex;
  }

  .site-nav-backdrop {
    position:fixed;
    inset:0;
    border:0;
    background:rgba(6,10,24,.5);
    backdrop-filter:blur(4px);
    opacity:0;
    pointer-events:none;
    z-index:998;
    transition:opacity .2s ease;
  }

  body.menu-open .site-nav-backdrop {
    display:block;
    opacity:1;
    pointer-events:auto;
  }

  .site-nav {
    position:fixed;
    top:calc(var(--header-h) + .55rem);
    left:1rem;
    right:1rem;
    width:auto;
    max-height:calc(100vh - var(--header-h) - 1.35rem);
    overflow:auto;
    padding:1rem;
    border-radius:28px;
    background:linear-gradient(180deg,rgba(11,18,38,.98),rgba(15,27,56,.98));
    border:1px solid rgba(255,255,255,.14);
    box-shadow:0 28px 56px rgba(0,0,0,.34);
    transform:translateY(-10px) scale(.98);
    opacity:0;
    pointer-events:none;
    transition:opacity .2s ease,transform .2s ease;
    z-index:999;
  }

  .site-nav.open {
    opacity:1;
    pointer-events:auto;
    transform:translateY(0) scale(1);
  }

  .site-nav__mobile-header {
    display:grid;
    gap:.45rem;
    padding:.1rem .15rem 1rem;
    border-bottom:1px solid rgba(255,255,255,.1);
    margin-bottom:.8rem;
  }

  .site-nav__eyebrow {
    font-family:"Bebas Neue",sans-serif;
    font-size:.86rem;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:rgba(255,255,255,.72);
  }

  .site-nav__mobile-title {
    color:#fff;
    font-size:1.32rem;
    line-height:1.05;
  }

  .site-nav__mobile-header p {
    margin:0;
    color:rgba(255,255,255,.76);
    font-size:.95rem;
  }

  .site-nav .primary-nav__list {
    gap:.55rem;
    padding:0;
  }

  .site-nav .primary-nav__item-group {
    padding:.2rem;
    border-radius:20px;
    background:rgba(255,255,255,.04);
  }

  .site-nav .primary-nav__link {
    font-size:1rem;
    min-height:50px;
    padding:0 1rem;
  }

  .site-nav .primary-nav__submenu {
    margin-top:.5rem;
    padding:.35rem 0 0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }

  .site-nav .primary-nav__submenu a {
    border-radius:16px;
    color:#fff;
    background:rgba(255,255,255,.05);
    border-color:rgba(255,255,255,.08);
  }

  .site-nav .primary-nav__submenu a:hover,
  .site-nav .primary-nav__submenu a:focus-visible,
  .site-nav .primary-nav__submenu a.active {
    background:rgba(255,255,255,.12);
    border-color:rgba(255,255,255,.14);
  }

  .site-nav__mobile-actions {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.7rem;
    margin-top:.95rem;
    padding-top:.95rem;
    border-top:1px solid rgba(255,255,255,.1);
  }

  .footer-link-groups {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .footer-bottom-meta {
    justify-content:flex-start;
  }
}

@media (max-width:700px) {
  .header-inner {
    gap:.9rem;
  }

  .brand-script {
    font-size:1.34rem;
  }

  .brand-kicker {
    font-size:.8rem;
    letter-spacing:.14em;
  }

  .site-nav__mobile-actions {
    grid-template-columns:1fr;
  }

  .back-to-top {
    right:.85rem;
    bottom:.85rem;
    min-width:48px;
    min-height:48px;
    padding:.78rem .92rem;
  }
}


/* 96-catalog-experience-refresh.css | Filters, hero banners, and product cards */

.product-meta-inline-list {
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
}

.product-pricing--inquiry .product-price-label {
  color:var(--brand-blue);
}

.product-card-footer {
  gap:.38rem;
}

.product-card .product-card-footer {
  gap:.2rem;
}

/* 97-catalog-layout-refinement.css | Desktop left rail and streamlined product heroes */

/* 98-filter-drawer-rework.css | Left-edge drawer filters */

.filter-panel--drawer,
.filter-panel--drawer .filter-grid,
.filter-panel--drawer .range-grid,
.filter-panel--drawer .field-group,
.filter-panel--drawer .facet-group,
.filter-panel--drawer .search-shell,
.filter-panel--drawer .search-shell input {
  min-width:0;
}

.filter-panel--drawer {
  overflow-x:hidden;
}

.filter-panel--drawer .filter-panel-header {
  padding-right:4.2rem;
}

.filter-panel-dismiss {
  display:none;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  border:1px solid rgba(12,18,34,.12);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(238,244,255,.95));
  color:var(--text);
  font-size:2rem;
  font-weight:800;
  line-height:1;
  box-shadow:0 16px 30px rgba(16,27,57,.16);
  backdrop-filter:blur(8px);
  cursor:pointer;
  z-index:3;
}

body.dark-mode .filter-panel-dismiss {
  background:rgba(14,22,41,.92);
  border-color:rgba(255,255,255,.14);
  color:#fff;
}

.filter-panel-dismiss:hover,
.filter-panel-dismiss:focus-visible {
  transform:translateY(-1px);
  box-shadow:0 18px 34px rgba(16,27,57,.22);
}

@media (min-width:901px) {
  /* Product-page heroes follow the drawer state so the page feels like one
     coordinated layout instead of a fixed sidebar covering the hero. */
  body.catalog-sidebar-ready .catalog-hero .page-hero-card {
    transition:width .24s ease,max-width .24s ease,margin .24s ease,padding-left .24s ease,transform .24s ease;
  }

  body.catalog-sidebar-ready.filters-sidebar-open .catalog-hero .page-hero-card {
    width:min(1450px,calc(100% - 3.5rem));
    margin-inline:auto;
    padding-left:calc(clamp(280px,24vw,340px) + 1.6rem);
  }

  body.catalog-sidebar-ready.filters-sidebar-collapsed .catalog-hero .page-hero-card {
    width:min(1450px,calc(100% - 3.5rem));
  }

  .catalog-browse-layout {
    position:relative;
    width:min(1450px,calc(100% - 3.5rem));
  }

  .catalog-browse-shell {
    display:block;
    position:relative;
    min-width:0;
  }

  .catalog-browse-shell > .filter-panel {
    width:clamp(280px,24vw,340px);
    max-width:calc(100vw - 2.5rem);
    position:fixed !important;
    top:var(--header-h);
    left:0;
    right:auto;
    bottom:0;
    height:calc(100vh - var(--header-h));
    max-height:none;
    margin:0;
    padding:1rem 1rem calc(1.15rem + env(safe-area-inset-bottom,0));
    border-radius:0 26px 26px 0;
    transform:translateX(0);
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    z-index:930;
    box-shadow:0 24px 46px rgba(16,27,57,.16);
  }

  .catalog-browse-shell > .filter-panel .filter-grid,
  .catalog-browse-shell > .filter-panel .range-grid,
  .catalog-browse-shell > .filter-panel .inline-actions {
    grid-template-columns:1fr;
  }

  .catalog-browse-shell > .filter-panel .facet-options {
    overflow:visible;
  }

  .catalog-results-column {
    min-width:0;
    display:grid;
    align-content:start;
    gap:1rem;
    padding-left:calc(clamp(280px,24vw,340px) + 1rem);
    width:100%;
    max-width:min(1360px,calc(100vw - 2.75rem));
    margin-left:auto;
    transition:padding-left .24s ease,max-width .24s ease,margin .24s ease;
  }

  .catalog-results-column .results-toolbar,
  .catalog-results-column .catalog-support-callout {
    margin:0;
  }

  .catalog-results-column .products-grid {
    grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
    gap:.9rem;
    align-items:start;
  }

  .catalog-browse-shell.filters-collapsed > .filter-panel {
    transform:translateX(calc(-100% - 16px));
    opacity:0;
    visibility:hidden;
    pointer-events:none;
  }

  .catalog-browse-shell.filters-collapsed > .catalog-results-column {
    padding-left:0;
    max-width:min(1320px,calc(100vw - 4.5rem));
    margin-inline:auto;
  }

  .catalog-browse-shell > .filter-panel .filter-panel-dismiss {
    display:none !important;
  }

  .catalog-browse-shell > .filter-panel .mobile-filter-actions {
    display:none !important;
  }
}

@media (max-width:900px) {
  .filter-panel--drawer {
    position:fixed !important;
    top:var(--header-h);
    left:0;
    right:auto;
    bottom:0;
    width:min(88vw,340px);
    max-width:calc(100vw - .75rem);
    height:calc(100vh - var(--header-h));
    max-height:none;
    margin:0;
    padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom,0));
    border-radius:0 24px 24px 0;
    transform:translateX(calc(-100% - 16px));
    overflow-y:auto;
    overflow-x:hidden;
  }

  body.filters-open .filter-panel--drawer {
    transform:translateX(0);
  }

  .filter-panel--drawer .filter-panel-dismiss {
    display:grid;
    position:absolute;
    top:1rem;
    right:1rem;
    left:auto;
    margin:0;
    z-index:4;
  }

  .filter-panel--drawer .filter-panel-header {
    padding-top:0;
  }

  .mobile-filter-overlay {
    inset:var(--header-h) 0 0;
  }
}

/* 99-filter-list-format.css | Simpler stacked facet lists */

/* The side-arrow is the only desktop drawer control, keeping the toolbar clean. */
.catalog-sidebar-dock-toggle {
  display:none;
  align-items:center;
  justify-content:center;
  width:36px;
  height:72px;
  padding:0;
  border:1px solid rgba(16,27,57,.14);
  border-left:0;
  border-radius:0 18px 18px 0;
  background:rgba(255,255,255,.98);
  color:#05060a;
  box-shadow:0 18px 32px rgba(16,27,57,.16);
  cursor:pointer;
}

.catalog-sidebar-dock-toggle__chevron {
  display:block;
  width:13px;
  height:13px;
  border:solid currentColor;
  border-width:0 3px 3px 0;
  transform:rotate(-45deg);
  transition:transform .2s ease;
}

body.filters-sidebar-open .catalog-sidebar-dock-toggle__chevron {
  transform:rotate(135deg);
}

.catalog-sidebar-dock-toggle:hover,
.catalog-sidebar-dock-toggle:focus-visible {
  background:#fff;
  box-shadow:0 20px 36px rgba(16,27,57,.22);
}

body.dark-mode .catalog-sidebar-dock-toggle {
  background:rgba(14,22,41,.98);
  border-color:rgba(255,255,255,.14);
  color:#fff;
}

.filter-panel--drawer .facet-label-row {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:.75rem;
}

.filter-panel--drawer .facet-label-row > span:first-child {
  color:var(--text);
  font-size:1.04rem;
  font-weight:800;
  letter-spacing:0;
  text-transform:none;
}

.filter-panel--drawer .facet-label-meta {
  display:none;
}

.filter-panel--drawer .facet-group {
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  gap:.42rem;
}

.filter-panel--drawer .facet-options {
  display:grid;
  gap:.35rem;
}

.filter-panel--drawer .facet-option {
  display:flex;
  align-items:flex-start;
  gap:.6rem;
  margin:0;
}

.filter-panel--drawer .facet-option input {
  position:static;
  opacity:1;
  inset:auto;
  width:1rem;
  height:1rem;
  margin:.18rem 0 0;
}

.filter-panel--drawer .facet-option span {
  display:flex;
  align-items:baseline;
  gap:.35rem;
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--text);
  font-weight:600;
  box-shadow:none;
}

.filter-panel--drawer .facet-option input:checked + span,
.filter-panel--drawer .facet-option:hover span,
.filter-panel--drawer .facet-option input:focus-visible + span {
  background:transparent;
  color:var(--text);
  border-color:transparent;
  box-shadow:none;
  transform:none;
}

.filter-panel--drawer .facet-option-count {
  color:var(--muted);
  font-weight:700;
}

.filter-panel--drawer .facet-toggle {
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--brand-blue);
  font-weight:800;
  box-shadow:none;
}

.filter-panel--drawer .facet-toggle:hover,
.filter-panel--drawer .facet-toggle:focus-visible {
  transform:none;
  box-shadow:none;
  text-decoration:underline;
  text-underline-offset:.14em;
}

body.dark-mode .filter-panel--drawer .facet-option span,
body.dark-mode .filter-panel--drawer .facet-option input:checked + span,
body.dark-mode .filter-panel--drawer .facet-option:hover span,
body.dark-mode .filter-panel--drawer .facet-option input:focus-visible + span {
  color:#eef4ff;
}

body.dark-mode .filter-panel--drawer .facet-toggle {
  color:#8db7ff;
}

@media (min-width:901px) {
  .catalog-sidebar-dock-toggle {
    display:inline-flex;
    position:fixed;
    top:50%;
    left:0;
    z-index:960;
    transform:translateY(-50%);
    transition:left .24s ease,transform .18s ease,box-shadow .18s ease,background .18s ease;
  }

  body.filters-sidebar-open .catalog-sidebar-dock-toggle {
    left:calc(clamp(280px,24vw,340px) - 36px);
  }
}

@media (max-width:900px) {
  .catalog-sidebar-dock-toggle {
    display:none !important;
  }
}

/* Product-page cleanup pass: header stays on one row, heroes stay compact,
   the sidebar consumes less horizontal space, and facet rows start collapsed. */
@media (min-width:901px) {
  .site-header .container.header-inner {
    width:min(1700px,calc(100% - 1.25rem));
    grid-template-columns:minmax(300px,auto) minmax(0,1fr) auto;
    gap:.8rem;
  }

  .site-header .brand {
    min-width:clamp(290px,23vw,420px);
  }

  .site-nav {
    min-width:0;
  }

  .site-nav .primary-nav__list {
    flex-wrap:nowrap;
    justify-content:flex-end;
    gap:.32rem;
  }

  .site-nav .primary-nav__item {
    flex:0 0 auto;
  }

  .site-nav .primary-nav__link {
    white-space:nowrap;
    padding-inline:clamp(.7rem,.72vw,.95rem);
  }

  .site-nav .submenu-toggle {
    min-width:40px;
    padding-inline:.68rem;
  }

  .header-actions {
    flex:0 0 auto;
    white-space:nowrap;
  }

  .catalog-browse-layout {
    width:100%;
  }

  body.catalog-sidebar-ready.filters-sidebar-open .catalog-hero .page-hero-card {
    width:100%;
    padding-left:calc(clamp(270px,22vw,320px) + .8rem);
  }

  .catalog-browse-shell > .filter-panel {
    width:clamp(270px,22vw,320px);
  }

  .catalog-results-column {
    padding-left:calc(clamp(270px,22vw,320px) + .55rem);
    padding-right:.65rem;
    max-width:none;
    margin-left:0;
  }

  .catalog-results-column .products-grid {
    grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
    gap:.82rem;
  }

  .catalog-browse-shell.filters-collapsed > .catalog-results-column {
    max-width:min(1420px,calc(100vw - 2.25rem));
  }
}

.catalog-hero-card--streamlined {
  gap:.62rem;
  min-height:clamp(170px,16vw,205px);
  padding-block:clamp(1rem,1.8vw,1.45rem) !important;
}

.catalog-hero-card--streamlined .utility-row {
  display:none !important;
}

.catalog-hero-card--streamlined .page-title {
  margin:.38rem 0 .18rem;
}

.catalog-hero-card--streamlined p {
  max-width:56ch;
  font-size:.98rem;
  line-height:1.36;
}

.catalog-hero-card--streamlined .catalog-switcher {
  margin-top:.18rem;
}

.filter-panel--drawer .facet-group--collapsible:not(.is-expanded) .facet-option--extra {
  display:none;
}

.filter-panel--drawer .facet-group.is-expanded .facet-option--extra {
  display:flex;
}

.filter-panel--drawer .facet-group {
  gap:.32rem;
}

.filter-panel--drawer .facet-options {
  gap:.22rem;
}

.filter-panel--drawer .facet-option {
  align-items:flex-start;
  gap:.38rem;
  font-size:.78rem;
  line-height:1.18;
}

.filter-panel--drawer .facet-option input {
  flex:0 0 auto;
  width:.9rem;
  height:.9rem;
  margin:.06rem 0 0;
}

.filter-panel--drawer .facet-option > span {
  align-items:flex-start;
  gap:.22rem;
  font-size:.78rem;
  line-height:1.18;
  font-weight:650;
}

.filter-panel--drawer .facet-option-text,
.filter-panel--drawer .facet-option-count {
  display:inline;
  line-height:1.18;
}

/* Product-card simplification: the card itself opens details, so the
   image can take the space previously used by extra action chips. */
.product-card {
  font-size:.94rem;
}

.product-card > .wishlist-button {
  position:absolute !important;
  top:.72rem !important;
  right:.72rem !important;
  left:auto !important;
  z-index:8;
  width:38px;
  height:38px;
  border-radius:14px;
  backdrop-filter:blur(12px);
  box-shadow:0 14px 24px rgba(16,27,57,.18);
}

.product-card .product-badge {
  display:none !important;
}

.product-card .product-media {
  padding:.55rem .55rem 0;
}

.product-card .product-media::before {
  inset:.55rem .55rem 0;
}

.product-card .product-media img {
  aspect-ratio:1 / 1;
  padding:.32rem;
}

.product-card .product-media--gallery {
  touch-action:pan-y;
}

.product-card .product-card-gallery-button {
  position:absolute !important;
  top:50% !important;
  z-index:9 !important;
  display:grid !important;
  place-items:center;
  width:2rem !important;
  min-width:2rem !important;
  height:2.35rem !important;
  min-height:2.35rem !important;
  padding:0 !important;
  border:1px solid rgba(255,255,255,.3) !important;
  border-radius:999px !important;
  background:rgba(8,14,32,.32) !important;
  color:#fff !important;
  box-shadow:0 8px 20px rgba(16,27,57,.16);
  transform:translateY(-50%) !important;
  backdrop-filter:blur(12px);
  overflow:hidden;
  isolation:isolate;
}

.product-card .product-card-gallery-button::before {
  content:none !important;
}

.product-card .product-card-gallery-button span {
  display:block;
  margin-top:-.08em;
  font-size:1.7rem;
  font-weight:800;
  line-height:1;
}

.product-card .product-card-gallery-button--prev {
  left:.82rem !important;
  right:auto !important;
}

.product-card .product-card-gallery-button--next {
  right:.82rem !important;
  left:auto !important;
}

.product-card .product-card-gallery-count {
  position:absolute !important;
  left:50%;
  bottom:.72rem;
  z-index:6;
  transform:translateX(-50%);
  min-width:3.25rem;
  padding:.22rem .52rem;
  border:1px solid rgba(255,255,255,.52);
  border-radius:999px;
  background:rgba(8,14,32,.72);
  color:#fff;
  font-size:.72rem;
  font-weight:800;
  line-height:1;
  text-align:center;
  box-shadow:0 10px 18px rgba(16,27,57,.22);
  backdrop-filter:blur(12px);
  pointer-events:none;
}

@media (hover:hover) and (pointer:fine) {
  .product-card .product-card-gallery-button,
  .product-card .product-card-gallery-count {
    opacity:.6;
    transition:opacity .18s ease, transform .18s ease, box-shadow .18s ease;
  }

  .product-card .product-card-gallery-button:hover,
  .product-card .product-card-gallery-button:focus-visible {
    opacity:.92;
    transform:translateY(-50%) scale(1.04) !important;
    box-shadow:0 18px 32px rgba(16,27,57,.34);
  }
}

.product-card .product-content {
  padding:.7rem .76rem .72rem;
  gap:.42rem;
}

.product-card .product-card-chip-rail,
.product-card .product-card-chip-rail .product-topline,
.product-card .product-card-chip-rail .product-card-summary,
.product-card .product-card-chip-rail .product-meta-inline-list,
.product-card .product-card-chip-rail .product-attribute-list {
  gap:.34rem;
}

.product-card :is(h2,h3) {
  font-size:.91rem;
  line-height:1.24;
}

.product-card .product-attribute-pill {
  min-height:27px;
  padding:.28rem .58rem;
  font-size:.71rem;
}

.product-card .product-price-label {
  font-size:.66rem;
}

.product-card .product-price {
  font-size:1.06rem;
}

@media (min-width:901px) {
  .catalog-results-column .products-grid {
    grid-template-columns:repeat(auto-fit,minmax(176px,1fr));
  }
}

/* Storefront polish:
   - improve light-mode hero contrast and clubhouse image framing
   - stabilize the desktop submenu and sidebar-first product pages
   - keep athlete names readable instead of forced uppercase
   - make the product modal wider, shorter, and easier to zoom */
:root {
  --hero-image-position:center;
  --hero-image-size:cover;
}

body[data-page="collectibles"],
body[data-page="about"],
body[data-page="contact"],
body[data-page="wishlist"],
body[data-page="admin"] {
  --hero-image-position:center 44%;
  --hero-image-size:88% auto;
}

.page-hero-card {
  background:
    linear-gradient(180deg,rgba(9,15,30,.46),rgba(9,15,30,.62)),
    var(--hero-image) var(--hero-image-position,center)/var(--hero-image-size,cover) no-repeat !important;
  background-blend-mode:multiply;
  color:#fbfdff;
}

.page-hero-card .breadcrumb-nav a,
.page-hero-card .breadcrumb-current,
.page-hero-card .kicker,
.page-hero-card .page-title,
.page-hero-card h1,
.page-hero-card h2,
.page-hero-card p,
.page-hero-card strong {
  color:#fbfdff !important;
  text-shadow:0 2px 18px rgba(0,0,0,.34);
}

.page-hero-card p {
  max-width:58ch;
}

.page-hero-card .utility-chip {
  background:rgba(10,16,32,.46) !important;
  border-color:rgba(255,255,255,.2) !important;
  color:#f8fbff !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

.page-hero-card::after {
  background:radial-gradient(circle,rgba(255,255,255,.18),rgba(255,255,255,0) 72%);
}

body.dark-mode .page-hero-card {
  background:
    linear-gradient(180deg,rgba(6,10,21,.62),rgba(7,12,24,.76)),
    var(--hero-image) var(--hero-image-position,center)/var(--hero-image-size,cover) no-repeat !important;
}

.modal-content {
  width:min(1100px,calc(100% - 2rem));
  max-height:min(90vh,860px);
  overflow:auto;
}

.modal-layout {
  grid-template-columns:minmax(0,1.04fr) minmax(410px,.96fr);
}

.modal-media {
  padding:.9rem;
  gap:.7rem;
}

.modal-image-stage {
  min-height:350px;
  isolation:isolate;
}

.modal-image-stage img {
  min-height:350px;
}

.modal-copy {
  padding:1rem 1.05rem 1.05rem;
  gap:.62rem;
  font-size:.9rem;
}

.modal-copy h3 {
  font-size:1.28rem;
  line-height:1.14;
}

.modal-fact-strip {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.55rem;
}

.modal-fact {
  display:grid;
  gap:.14rem;
  min-width:0;
  padding:.64rem .7rem;
  border-radius:16px;
  background:linear-gradient(180deg,rgba(31,47,163,.075),rgba(16,27,57,.035));
  border:1px solid rgba(31,47,163,.1);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.74);
}

.modal-fact span {
  color:var(--muted);
  font-family:var(--font-display);
  font-size:.72rem;
  letter-spacing:.12em;
  line-height:1;
  text-transform:uppercase;
}

.modal-fact strong {
  color:var(--text);
  font-size:.88rem;
  line-height:1.16;
  overflow-wrap:anywhere;
}

.modal-copy p,
.modal-meta-grid p,
.modal-description p {
  font-size:.85rem;
  line-height:1.38;
}

.modal-meta-grid {
  gap:.35rem .8rem;
}

.modal-meta-grid p {
  padding:.55rem .65rem;
  border-radius:14px;
  background:rgba(16,27,57,.035);
  border:1px solid rgba(16,27,57,.06);
}

.modal-meta-grid p strong {
  display:block;
  margin-bottom:.08rem;
  color:var(--muted);
  font-family:var(--font-display);
  font-size:.68rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.modal-description {
  padding:.8rem .92rem;
}

.modal-thumbs {
  gap:.55rem;
}

.modal-thumb img {
  height:64px;
}

@media (max-width:980px) {
  .modal-content {
    width:100%;
    max-height:min(92vh,960px);
  }

  .modal-layout,
  .modal-meta-grid {
    grid-template-columns:1fr;
  }

  .modal-fact-strip {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .modal-media {
    padding:1rem 1rem 0;
    gap:.75rem;
  }

  .modal-image-stage {
    min-height:0;
  }

  .modal-image-stage img {
    min-height:0;
    height:auto;
    max-height:min(64vh,560px);
  }

  .modal-copy {
    padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom,0));
  }
}

/* Keep sorting visible in the results toolbar while the drawer handles filters. */
.results-toolbar {
  align-items:center;
}

.results-toolbar .toolbar-sort {
  order:-1;
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  flex:0 0 auto;
  min-height:46px;
  padding:.35rem .45rem .35rem .78rem;
  border:1px solid var(--border);
  border-radius:18px;
  background:rgba(255,255,255,.78);
  box-shadow:0 14px 30px rgba(16,27,57,.08);
}

body.dark-mode .results-toolbar .toolbar-sort {
  background:rgba(13,21,42,.88);
  border-color:rgba(255,255,255,.1);
}

.results-toolbar .toolbar-sort label {
  margin:0;
  color:var(--muted);
  font-family:"Bebas Neue",sans-serif;
  font-size:.86rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  white-space:nowrap;
}

.results-toolbar .toolbar-sort select {
  min-width:190px;
  min-height:38px;
  margin:0;
  padding:.55rem 2.05rem .55rem .78rem;
  border-radius:14px;
  border:1px solid rgba(31,47,163,.14);
  background:
    linear-gradient(45deg,transparent 50%,currentColor 50%) right .86rem center/7px 7px no-repeat,
    linear-gradient(135deg,rgba(255,255,255,.98),rgba(238,244,255,.94));
  color:var(--text);
  font-weight:800;
  appearance:none;
}

body.dark-mode .results-toolbar .toolbar-sort select {
  background:
    linear-gradient(45deg,transparent 50%,currentColor 50%) right .86rem center/7px 7px no-repeat,
    rgba(255,255,255,.07);
  color:#f6f9ff;
  border-color:rgba(255,255,255,.14);
}

.results-toolbar .toolbar-search {
  order:-2;
  flex:1 1 300px;
  min-width:min(100%,260px);
}

.results-toolbar .toolbar-search .field-group {
  margin:0;
}

.results-toolbar .toolbar-search .field-group--toolbar-search {
  display:flex;
  flex-direction:column;
  gap:.32rem;
}

.results-toolbar .toolbar-search .search-shell {
  display:block;
  width:100%;
}

.results-toolbar .toolbar-search .helper-text {
  display:none;
}

.results-toolbar .toolbar-search input {
  width:100%;
  min-height:38px;
  margin:0;
  border-radius:14px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(238,244,255,.94));
  border:1px solid rgba(31,47,163,.14);
}

body.dark-mode .results-toolbar .toolbar-search input {
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.14);
  color:#f6f9ff;
}

.results-toolbar .results-meta {
  flex:1 1 280px;
}

@media (min-width:901px) and (max-width:1180px) {
  .footer-inner {
    grid-template-columns:1fr;
  }

  .footer-links {
    max-width:860px;
  }
}

@media (max-width:760px) {
  .results-toolbar .toolbar-search,
  .results-toolbar .toolbar-sort,
  .results-toolbar .toolbar-actions {
    width:100%;
  }

  .results-toolbar .toolbar-search {
    min-width:0;
  }

  .results-toolbar .toolbar-sort {
    justify-content:space-between;
  }

  .results-toolbar .toolbar-sort select {
    flex:1 1 auto;
    min-width:0;
  }
}

/* Product pagination keeps large categories approachable by rendering one
   screenful-sized page at a time instead of thousands of cards at once. */
.catalog-pagination {
  color:var(--text);
}

.catalog-pagination[hidden] {
  display:none !important;
}

.catalog-pagination__inner {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  width:100%;
}

.catalog-pagination__range {
  margin-right:.5rem;
  color:var(--muted);
  font-size:.88rem;
  font-weight:800;
  letter-spacing:.04em;
  white-space:nowrap;
}

.catalog-pagination__pages {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.25rem;
}

.catalog-pagination__page,
.catalog-pagination__arrow {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid transparent;
  color:var(--text);
  background:transparent;
  font-weight:800;
  cursor:pointer;
  transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease;
}

.catalog-pagination__ellipsis {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:26px;
  height:38px;
  color:var(--muted);
  font-weight:900;
  letter-spacing:.08em;
}

.catalog-pagination__page {
  min-width:34px;
  height:38px;
  padding:0 .45rem;
  border-radius:12px;
}

.catalog-pagination__page.is-active {
  color:var(--brand-red);
  border-bottom-color:currentColor;
  border-radius:12px 12px 4px 4px;
}

.catalog-pagination__arrow {
  width:42px;
  height:42px;
  border-radius:50%;
  background:rgba(255,255,255,.72);
  border-color:rgba(31,47,163,.1);
  font-size:1.85rem;
  line-height:1;
}

.catalog-pagination__arrow:not(:disabled):hover,
.catalog-pagination__page:not(.is-active):hover {
  transform:translateY(-1px);
  background:rgba(31,47,163,.08);
  border-color:rgba(31,47,163,.16);
}

.catalog-pagination__arrow:disabled {
  opacity:.42;
  cursor:not-allowed;
}

.catalog-pagination__per-page {
  display:flex;
  align-items:center;
  gap:.6rem;
  margin-left:auto;
  color:var(--text);
  font-weight:800;
  white-space:nowrap;
}

.catalog-pagination__per-page span {
  font-size:.86rem;
}

.catalog-pagination__per-page select {
  min-height:42px;
  min-width:76px;
  padding:.55rem 2rem .55rem .8rem;
  border:1px solid rgba(31,47,163,.14);
  border-radius:14px;
  background:
    linear-gradient(45deg,transparent 50%,currentColor 50%) right .82rem center/7px 7px no-repeat,
    linear-gradient(135deg,rgba(255,255,255,.98),rgba(238,244,255,.94));
  color:var(--text);
  font-weight:800;
  appearance:none;
}

.results-toolbar .catalog-pagination--top {
  flex:2 1 560px;
  min-width:min(100%,440px);
}

.results-toolbar .catalog-pagination--top .catalog-pagination__range {
  display:none;
}

.catalog-pagination--bottom {
  margin:1.35rem 0 .35rem;
  padding:1rem 1.15rem;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  border-radius:22px;
  background:rgba(255,255,255,.54);
}

body.dark-mode .catalog-pagination__arrow,
body.dark-mode .catalog-pagination__per-page select,
body.dark-mode .catalog-pagination--bottom {
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.14);
  color:#f6f9ff;
}

body.dark-mode .catalog-pagination__page {
  color:#f6f9ff;
}

body.dark-mode .catalog-pagination__ellipsis {
  color:rgba(246,249,255,.66);
}

body.dark-mode .catalog-pagination__page.is-active {
  color:#ff8a9a;
}

@media (max-width:1180px) {
  .results-toolbar .catalog-pagination--top {
    order:3;
    flex:1 1 100%;
    min-width:0;
  }
}

@media (max-width:760px) {
  .catalog-pagination__inner {
    flex-wrap:wrap;
    justify-content:flex-start;
  }

  .catalog-pagination__per-page {
    width:100%;
    margin-left:0;
    justify-content:space-between;
  }

  .catalog-pagination__pages {
    flex:1 1 auto;
    justify-content:flex-start;
    overflow-x:auto;
    padding-bottom:.15rem;
  }

  .catalog-pagination__page {
    min-width:32px;
  }

  .catalog-pagination__ellipsis {
    min-width:20px;
  }

  .empty-state--catalog {
    margin:.75rem auto;
    padding:1.5rem 1rem;
  }

  .empty-state-actions {
    display:grid;
    grid-template-columns:1fr;
  }

  .empty-state-actions > * {
    width:100%;
    min-width:0;
  }
}

/* Requested storefront polish:
   - keep native dropdown menus readable when the browser paints white option panels
   - add a compact Facebook action without disrupting the existing button system
   - pull desktop footer content inward so fixed back-to-top controls never cover Admin */
select option,
select optgroup {
  background:#fff;
  color:#101829;
}

body.dark-mode select option,
body.dark-mode select optgroup {
  background:#fff;
  color:#101829;
}

.social-link {
  gap:.58rem;
}

.social-link__icon {
  width:1.08rem;
  height:1.08rem;
  flex:0 0 auto;
}
.social-link__icon--facebook {
  width:1.14rem;
  height:1.14rem;
}

.social-link--facebook {
  border-color:rgba(24,119,242,.28) !important;
}

body.dark-mode .social-link--facebook {
  border-color:rgba(92,158,255,.36) !important;
}

.hero-social-row {
  display:flex;
  justify-content:center;
  margin-top:-.45rem;
}

.hero-social-row .social-link {
  min-width:min(100%,240px);
}

/* Home hero: keep the primary actions with the logo/social panel and trim excess height. */
body[data-page="home"] .hero-copy,
body[data-page="home"] .hero-brand {
  padding:clamp(1.15rem,1.8vw,1.55rem);
}

body[data-page="home"] .hero-copy {
  margin-top:1.15rem;
}

body[data-page="home"] .hero-brand {
  align-content:start;
  gap:.72rem;
}

body[data-page="home"] .hero-logo-wrap {
  min-height:clamp(210px,22vw,255px);
  border-radius:24px;
}

body[data-page="home"] .hero-logo {
  width:min(100%,360px);
  max-height:260px;
}

body[data-page="home"] .hero-social-row {
  margin-top:0;
}

body[data-page="home"] .hero-brand-actions {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.65rem;
  margin-top:0;
  width:100%;
}

body[data-page="home"] .hero-brand-actions .button:first-child {
  grid-column:1/-1;
}

body[data-page="home"] .hero-brand-actions a,
body[data-page="home"] .hero-social-row .social-link {
  width:100%;
  min-height:46px;
  padding:.82rem 1rem;
}

body[data-page="home"] .brand-card {
  gap:.45rem;
  padding:1rem;
}

body[data-page="home"] .brand-card p {
  font-size:.94rem;
  line-height:1.48;
}

@media (max-width:760px) {
  body[data-page="home"] .hero-brand-actions {
    grid-template-columns:1fr;
  }

  body[data-page="home"] .hero-brand-actions .button:first-child {
    grid-column:auto;
  }
}

body[data-page="collectibles"] {
  --hero-image:var(--image-jordan);
  --hero-image-position:center 30%;
  --hero-image-size:cover;
}

.about-archive-list {
  display:grid;
  gap:1rem;
}

.about-archive-panel {
  position:relative;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(244,247,252,.9));
  box-shadow:var(--shadow-soft);
}

.about-archive-panel summary {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:.8rem;
  align-items:center;
  padding:1.05rem 1.15rem;
  cursor:pointer;
  list-style:none;
  color:var(--text);
  font-weight:900;
}

.about-archive-panel summary::-webkit-details-marker {
  display:none;
}

.about-archive-panel summary::after {
  content:"+";
  display:inline-grid;
  place-items:center;
  grid-column:2;
  grid-row:1 / span 2;
  width:2.35rem;
  height:2.35rem;
  border-radius:999px;
  background:linear-gradient(135deg,var(--brand-blue),var(--brand-red));
  color:#fff;
  font-size:1.35rem;
  line-height:1;
  box-shadow:0 12px 22px rgba(31,47,163,.2);
  transition:transform .2s ease;
}

.about-archive-panel[open] summary::after {
  content:"-";
  transform:rotate(180deg);
}

.about-archive-panel summary span {
  display:block;
  grid-column:1;
  font-size:1.16rem;
}

.about-archive-panel summary small {
  display:block;
  grid-column:1;
  color:var(--muted);
  font-size:.84rem;
  font-weight:800;
  margin-top:.18rem;
}

.about-archive-content {
  display:grid;
  gap:1rem;
  padding:0 1.15rem 1.15rem;
}

.about-archive-lede {
  margin:0;
  color:var(--muted);
  font-weight:700;
}

.legacy-photo-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.85rem;
}

.legacy-photo-grid--gallery {
  grid-auto-flow:dense;
}

.legacy-photo-card {
  margin:0;
  border:1px solid var(--border);
  border-radius:20px;
  background:rgba(255,255,255,.66);
  overflow:hidden;
}

.legacy-photo-card--wide {
  grid-column:span 2;
}

.legacy-photo-card__images {
  display:grid;
  gap:.45rem;
  padding:.55rem;
}

.legacy-photo-card__images--quad,
.legacy-photo-card__images--duo {
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.legacy-photo-card img {
  width:100%;
  height:220px;
  display:block;
  object-fit:cover;
  background:rgba(31,47,163,.08);
}

.legacy-photo-card__images img {
  height:210px;
  border-radius:14px;
}

.legacy-image-clickable {
  cursor:zoom-in;
  transition:filter .2s ease,transform .2s ease;
}

.legacy-image-clickable:hover,
.legacy-image-clickable:focus-visible {
  filter:brightness(1.06);
  outline:3px solid var(--focus-ring,var(--brand-gold));
  outline-offset:3px;
}

.legacy-photo-card figcaption {
  padding:.8rem .9rem .95rem;
  color:var(--muted);
  font-size:.9rem;
  font-weight:700;
  line-height:1.42;
}

.legacy-blog-original {
  max-width:920px;
  margin-inline:auto;
  padding:clamp(1rem,2vw,1.45rem);
  border:1px solid var(--border);
  border-radius:24px;
  background:rgba(255,255,255,.64);
}

.legacy-blog-original p,
.legacy-blog-original li {
  color:var(--muted);
  font-size:.98rem;
  font-weight:650;
  line-height:1.68;
}

.legacy-blog-original .blog_entry_date {
  margin:0 0 .45rem;
  color:var(--brand-red);
  font-family:"Bebas Neue",sans-serif;
  font-size:1.18rem;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.legacy-blog-original .body_header_black,
.legacy-blog-original .body_header_blue {
  margin:.1rem 0;
  color:var(--text);
  font-size:1.45rem;
  font-weight:900;
  line-height:1.14;
}

.legacy-blog-original .body_header_blue {
  color:var(--brand-blue);
}

.legacy-blog-original .body_bold {
  color:var(--text);
  font-weight:900;
}

.legacy-blog-original .body_basic {
  padding:1rem;
  border-radius:16px;
  background:rgba(31,47,163,.08);
  color:var(--text);
  font-weight:800;
}

.legacy-blog-original img {
  display:block;
  width:min(100%,360px);
  max-height:620px;
  object-fit:contain;
  margin:1.2rem auto;
  border-radius:18px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.72);
  padding:.6rem;
  box-shadow:var(--shadow-soft);
}

.legacy-blog-original ol {
  display:grid;
  gap:.65rem;
  margin:1rem 0 1.2rem;
  padding-left:1.35rem;
}

.legacy-blog-original ol li {
  padding-left:.25rem;
}

.legacy-blog-divider {
  width:100%;
  height:1px;
  margin:1.4rem 0;
  border:0;
  background:var(--border);
}

.image-lightbox[hidden] {
  display:none !important;
}

.image-lightbox {
  position:fixed;
  inset:0;
  z-index:2200;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(1rem,3vw,2rem);
  background:rgba(5,9,20,.84);
  backdrop-filter:blur(12px);
}

.image-lightbox__frame {
  position:relative;
  display:grid;
  gap:.85rem;
  width:min(1120px,100%);
  max-height:calc(100vh - 3rem);
  margin:0;
  padding:1rem;
  border:1px solid rgba(255,255,255,.18);
  border-radius:24px;
  background:rgba(13,20,38,.96);
  box-shadow:0 30px 80px rgba(0,0,0,.45);
}

.image-lightbox__image {
  width:100%;
  max-height:calc(100vh - 12rem);
  object-fit:contain;
  border-radius:18px;
  background:rgba(255,255,255,.08);
}

.image-lightbox__caption {
  color:#eef4ff;
  font-size:.98rem;
  font-weight:800;
  line-height:1.45;
}

.image-lightbox__close {
  position:fixed;
  top:1rem;
  right:1rem;
  z-index:2201;
  width:3rem;
  height:3rem;
  border:0;
  border-radius:999px;
  background:#fff;
  color:#101829;
  cursor:pointer;
  font-size:1.7rem;
  font-weight:900;
  box-shadow:0 16px 38px rgba(0,0,0,.28);
}

body.image-lightbox-open {
  overflow:hidden;
}

body.dark-mode .about-archive-panel {
  background:rgba(13,20,38,.98);
  border-color:rgba(255,255,255,.14);
}

body.dark-mode .legacy-photo-card {
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.12);
}

body.dark-mode .legacy-blog-original {
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.12);
}

body.dark-mode .legacy-blog-original .body_basic {
  background:rgba(255,255,255,.08);
  color:#eef4ff;
}

body.dark-mode .legacy-blog-original img {
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.14);
}

@media (max-width:980px) {
  .legacy-photo-grid {
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:640px) {
  .about-archive-panel summary {
    grid-template-columns:1fr;
  }

  .about-archive-panel summary::after {
    justify-self:start;
  }

  .legacy-photo-grid {
    grid-template-columns:1fr;
  }

  .legacy-photo-card--wide {
    grid-column:auto;
  }

  .legacy-photo-card__images--quad,
  .legacy-photo-card__images--duo {
    grid-template-columns:1fr;
  }

  .legacy-blog-original {
    padding:.95rem;
  }
}

@media (min-width:901px) {
  .footer-bottom {
    padding-right:clamp(5rem,8vw,8.5rem);
  }
}

/* Responsive fixes:
   - keep the brand lockup readable when the viewport narrows
   - prevent the top results toolbar from becoming a tall sticky overlay on smaller screens */
@media (max-width:860px) {
  .catalog-results-column .mobile-filter-trigger,
  .catalog-results-column .results-toolbar {
    position:static !important;
    top:auto !important;
    z-index:auto !important;
  }

  .catalog-results-column .mobile-filter-trigger {
    margin-bottom:.85rem;
  }

  .catalog-results-column .results-toolbar {
    padding:.78rem .85rem;
    margin-bottom:1rem;
  }

  .catalog-results-column .results-toolbar .results-meta {
    gap:.32rem;
    flex:1 1 100%;
  }

  .catalog-results-column .results-toolbar .results-summary {
    font-size:.95rem;
    line-height:1.38;
  }

  .catalog-results-column .results-toolbar .toolbar-search,
  .catalog-results-column .results-toolbar .toolbar-sort {
    width:100%;
    min-height:42px;
  }

  .catalog-results-column .results-toolbar .toolbar-search .field-group--toolbar-search,
  .catalog-results-column .results-toolbar .toolbar-sort {
    padding:.28rem .38rem .28rem .68rem;
    gap:.42rem;
  }

  .catalog-results-column .results-toolbar .toolbar-sort label {
    font-size:.78rem;
    letter-spacing:.11em;
  }

  .catalog-results-column .results-toolbar .toolbar-search input,
  .catalog-results-column .results-toolbar .toolbar-sort select {
    min-height:34px;
    padding:.45rem 1.85rem .45rem .72rem;
    font-size:.95rem;
  }

  .catalog-results-column .results-toolbar .toolbar-actions {
    width:100%;
    margin-left:0;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.7rem;
  }

  .catalog-results-column .results-toolbar .mini-link-button {
    width:100%;
    min-height:40px;
    padding:.7rem .85rem;
    font-size:.95rem;
  }

  .catalog-results-column .results-toolbar .catalog-pagination--top {
    display:none !important;
  }
}

@media (max-width:700px) {
  .brand {
    align-items:flex-start;
    gap:.75rem;
  }

  .brand-logo {
    width:68px !important;
    height:68px !important;
    flex:0 0 auto;
  }

  .brand-copy {
    gap:.14rem;
    min-width:0;
  }

  .brand-script {
    font-size:1.18rem !important;
    line-height:.98;
  }

  .brand-kicker {
    display:block !important;
    max-width:24ch;
    font-size:.58rem !important;
    line-height:1.16;
    letter-spacing:.1em !important;
    white-space:normal;
  }

  .footer-logo-line {
    align-items:flex-start;
  }

  .footer-logo {
    width:68px;
    height:68px;
    flex:0 0 auto;
  }
}

@media (max-width:640px) {
  .catalog-results-column .results-toolbar .toolbar-actions {
    grid-template-columns:1fr;
  }

  .footer-link-groups {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.75rem;
  }
}

@media (max-width:480px) {
  .brand-logo {
    width:64px !important;
    height:64px !important;
  }

  .brand-script {
    font-size:1.08rem !important;
  }

  .brand-kicker {
    font-size:.54rem !important;
    letter-spacing:.08em !important;
  }
}

/* Stripe/customer account integration ------------------------------------- */
.customer-account-button {
  appearance: none;
  border: 0;
  cursor: pointer;
  font: inherit;
}

.customer-account-button.is-signed-in {
  background: linear-gradient(135deg, rgba(31,95,255,.95), rgba(239,24,35,.92));
  color: #fff;
}

.customer-auth-modal {
  align-items: center;
  background: rgba(4, 8, 22, .72);
  display: none;
  inset: 0;
  justify-content: center;
  padding: clamp(1rem, 4vw, 2rem);
  position: fixed;
  z-index: 2400;
}

.customer-auth-modal.active {
  display: flex;
}

body.customer-auth-open {
  overflow: hidden;
}

.customer-auth-backdrop {
  background: transparent;
  border: 0;
  inset: 0;
  position: absolute;
}

.customer-auth-panel {
  background: linear-gradient(145deg, rgba(12, 22, 48, .98), rgba(21, 30, 62, .98));
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 28px;
  box-shadow: 0 28px 90px rgba(0,0,0,.45);
  color: #fff;
  max-width: 520px;
  padding: clamp(1.25rem, 4vw, 2rem);
  position: relative;
  width: min(100%, 520px);
}

body:not(.dark-mode) .customer-auth-panel {
  background: linear-gradient(145deg, #fff, #eef3ff);
  color: #111827;
}

.customer-auth-close {
  align-items: center;
  background: #fff;
  border: 0;
  border-radius: 999px;
  box-shadow: 0 12px 28px rgba(0,0,0,.22);
  color: #111827;
  cursor: pointer;
  display: inline-flex;
  font-size: 1.6rem;
  font-weight: 900;
  height: 44px;
  justify-content: center;
  position: absolute;
  right: 1rem;
  top: 1rem;
  width: 44px;
}

.customer-auth-eyebrow {
  color: var(--accent-blue);
  font-family: var(--font-display);
  font-size: .82rem;
  letter-spacing: .16em;
  margin: 0 0 .45rem;
  text-transform: uppercase;
}

.customer-auth-panel h2 {
  font-size:2.1rem;
  line-height: .98;
  margin: 0 3rem .75rem 0;
}

.customer-auth-copy {
  color: var(--muted);
  margin: 0 0 1.25rem;
}

.customer-auth-form {
  display: grid;
  gap: .85rem;
}

.customer-auth-form label {
  color: inherit;
  display: grid;
  font-weight: 800;
  gap: .35rem;
}

.customer-auth-form input {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 16px;
  color: inherit;
  font: inherit;
  padding: .85rem 1rem;
}

body:not(.dark-mode) .customer-auth-form input {
  background: #fff;
  border-color: rgba(15,23,42,.14);
}

.customer-auth-actions {
  display: grid;
  gap: .7rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.customer-auth-reset {
  background: transparent;
  border: 0;
  color: var(--accent-blue);
  cursor: pointer;
  font-weight: 800;
  justify-self: start;
  padding: .2rem 0;
}

.customer-auth-status,
.modal-checkout-status {
  color: var(--muted);
  font-weight: 800;
  margin: .8rem 0 0;
}

.customer-auth-status[data-tone="success"],
.modal-checkout-status[data-tone="success"] {
  color: #36d17d;
}

.customer-auth-status[data-tone="error"],
.modal-checkout-status[data-tone="error"] {
  color: #ff6b7a;
}

.modal-cta.is-busy {
  cursor: wait;
  opacity: .72;
}

@media (max-width: 640px) {
  .customer-auth-panel {
    border-radius: 22px;
  }

  .customer-auth-actions {
    grid-template-columns: 1fr;
  }
}

/* Admin/layout polish:
   - footer follows the desktop filter rail so content is not hidden underneath it
   - toolbar search gets a visible label after being moved out of the drawer
   - admin image previews preserve the full image instead of cropping tall assets */
@media (min-width:901px) {
  body.catalog-sidebar-ready .footer {
    box-sizing:border-box;
    transition:margin-left .24s ease,width .24s ease;
  }

  body.catalog-sidebar-ready.filters-sidebar-open .footer {
    width:calc(100% - clamp(270px,22vw,320px));
    margin-left:clamp(270px,22vw,320px);
  }

  body.catalog-sidebar-ready.filters-sidebar-open .footer .container {
    width:min(1120px,calc(100% - 2rem));
  }

  body.catalog-sidebar-ready.filters-sidebar-open .footer-inner {
    grid-template-columns:minmax(260px,.86fr) minmax(0,1fr);
    gap:1rem;
    padding-top:calc(var(--footer-artwork-offset) + 1rem);
  }

  body.catalog-sidebar-ready.filters-sidebar-open .footer-links {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

.results-toolbar .toolbar-search-label {
  display:block;
  margin:0 0 .18rem .08rem;
  color:var(--muted);
  font-family:"Bebas Neue",sans-serif;
  font-size:.78rem;
  letter-spacing:.13em;
  line-height:1;
  text-transform:uppercase;
}

body.dark-mode .results-toolbar .toolbar-search-label {
  color:#cfe0ff;
}

.image-preview {
  overflow:hidden;
}

.image-preview img {
  width:108px;
  height:108px;
  object-fit:contain;
}

#backendMainImagePreviewWrap {
  grid-template-columns:minmax(160px,240px) minmax(0,1fr);
}

#backendMainImagePreview {
  width:100%;
  height:clamp(130px,18vw,190px);
  max-height:220px;
  object-fit:contain;
}

/* Customer account page --------------------------------------------------- */
body[data-page="account"] .page-hero-card {
  min-height:auto;
  align-content:center;
}

body[data-page="account"] .account-hero {
  padding-block:clamp(1rem,3vw,2.2rem);
}

.account-hero-stats {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.65rem;
  margin-top:.45rem;
  max-width:1040px;
}

.account-hero-stat {
  display:grid;
  gap:.15rem;
  min-width:0;
  padding:.72rem .86rem;
  border:1px solid rgba(31,47,163,.14);
  border-radius:16px;
  background:rgba(255,255,255,.76);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}

.account-hero-stat small {
  color:var(--muted);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.account-hero-stat strong {
  overflow:hidden;
  color:var(--text);
  font-size:1rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.dark-mode .account-hero-stat {
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

body.dark-mode .account-hero-stat strong {
  color:#fff;
}

.account-section {
  padding-top:clamp(1.2rem,3vw,2.2rem);
}

.account-grid {
  display:grid;
  grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);
  gap:clamp(1rem,2vw,1.35rem);
  align-items:start;
}

.account-panel {
  position:relative;
  display:grid;
  gap:.85rem;
  min-width:0;
  padding:clamp(1.1rem,2.4vw,1.65rem);
  border:1px solid var(--border);
  border-radius:28px;
  background:rgba(255,255,255,.76);
  box-shadow:0 18px 44px rgba(16,27,57,.1);
}

body.dark-mode .account-panel {
  background:linear-gradient(145deg,rgba(13,23,50,.94),rgba(13,20,42,.9));
  border-color:rgba(255,255,255,.12);
  box-shadow:0 20px 48px rgba(0,0,0,.26);
}

.account-eyebrow {
  color:var(--accent-blue);
  font-family:var(--font-display);
  font-size:.86rem;
  letter-spacing:.16em;
  line-height:1;
  text-transform:uppercase;
}

.account-panel h2 {
  margin:0;
  font-size:1.8rem;
  line-height:1.02;
}

.account-muted {
  color:var(--muted);
  margin:0;
}

.account-form {
  display:grid;
  gap:.8rem;
}

.account-form-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.8rem;
  align-items:start;
}

.account-form label {
  box-sizing:border-box;
  display:grid;
  gap:.38rem;
  min-width:0;
  width:100%;
  color:inherit;
  font-weight:900;
}

.account-form-grid > * {
  box-sizing:border-box;
  min-width:0;
  width:100%;
}

.account-address-fields {
  grid-column:1 / -1;
  display:grid;
  gap:.8rem;
  margin:0;
  min-width:0;
  padding:1rem;
  border:1px solid var(--border);
  border-radius:18px;
}

.account-address-fields legend {
  padding:0 .32rem;
  color:inherit;
  font-weight:900;
}

.account-address-fields .account-muted {
  margin:0;
}

.account-address-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.8rem;
}

.account-address-grid__wide {
  grid-column:1 / -1;
}

.account-field-optional {
  color:var(--muted);
  font-size:.86em;
  font-weight:700;
}

.account-form input,
.account-form select,
.account-form textarea {
  box-sizing:border-box;
  width:100%;
  border:1px solid var(--border);
  border-radius:16px;
  background:rgba(255,255,255,.9);
  color:var(--text);
  font:inherit;
  padding:.82rem .95rem;
}

body.dark-mode .account-form input,
body.dark-mode .account-form select,
body.dark-mode .account-form textarea {
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.14);
  color:#f8fbff;
}

body.dark-mode .account-address-fields {
  border-color:rgba(255,255,255,.14);
}

.account-button-row,
.account-empty-actions {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:.7rem;
}

.account-status {
  min-height:1.35rem;
  margin:0;
  color:var(--muted);
  font-weight:900;
}

.account-status[data-tone="success"] {
  color:#1f9d58;
}

.account-status[data-tone="error"] {
  color:#d91f3d;
}

body.dark-mode .account-status[data-tone="success"] {
  color:#44d98a;
}

body.dark-mode .account-status[data-tone="error"] {
  color:#ff7080;
}

.account-empty-state,
.account-order-card {
  display:grid;
  gap:.5rem;
  padding:1rem;
  border:1px solid var(--border);
  border-radius:20px;
  background:rgba(31,47,163,.06);
}

body.dark-mode .account-empty-state,
body.dark-mode .account-order-card {
  background:rgba(255,255,255,.055);
  border-color:rgba(255,255,255,.12);
}

.account-orders {
  display:grid;
  gap:.8rem;
}

.account-empty-state p {
  margin:0;
  color:var(--muted);
}

.offline-actions button:disabled {
  cursor:not-allowed;
  opacity:.58;
  transform:none;
  box-shadow:none;
}

.account-wishlist-card,
.account-orders-card {
  align-self:stretch;
}

.account-wishlist-preview {
  display:grid;
  gap:.58rem;
}

.account-wishlist-row {
  display:grid;
  grid-template-columns:62px minmax(0,1fr) auto;
  align-items:center;
  gap:.72rem;
  min-width:0;
  padding:.62rem;
  border:1px solid rgba(31,47,163,.12);
  border-radius:16px;
  background:rgba(31,47,163,.055);
  color:var(--text);
  text-decoration:none;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.account-wishlist-row:hover,
.account-wishlist-row:focus-visible {
  transform:translateY(-1px);
  border-color:rgba(31,47,163,.28);
  box-shadow:0 12px 24px rgba(16,27,57,.1);
}

.account-wishlist-row img {
  width:62px;
  height:62px;
  object-fit:cover;
  border:1px solid var(--border);
  border-radius:12px;
  background:#f6f8fc;
}

.account-wishlist-row span {
  display:grid;
  min-width:0;
  gap:.18rem;
}

.account-wishlist-row strong,
.account-wishlist-row small {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.account-wishlist-row small {
  color:var(--muted);
  font-weight:800;
}

.account-wishlist-row b {
  color:var(--brand-red);
  font-size:.94rem;
  white-space:nowrap;
}

.account-view-all-link {
  justify-self:start;
  margin-top:.2rem;
}

body.dark-mode .account-wishlist-row {
  background:rgba(255,255,255,.055);
  border-color:rgba(255,255,255,.12);
}

/* Offline recovery page --------------------------------------------------- */
.offline-panel {
  display:grid;
  gap:1rem;
  max-width:56rem;
  margin:3rem auto;
  padding:clamp(1.1rem,2.6vw,1.7rem);
  border-radius:28px;
}

.offline-brand {
  margin-bottom:.1rem;
}

.offline-title {
  margin-top:.5rem;
}

.offline-status-row {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.7rem;
  padding:.82rem .9rem;
  border:1px solid rgba(31,47,163,.12);
  border-radius:20px;
  background:rgba(31,47,163,.055);
}

.offline-status-row .helper-text,
.offline-helper,
.offline-requested-path {
  margin:0;
}

.offline-status-pill {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 .78rem;
  border-radius:999px;
  background:rgba(16,27,57,.12);
  color:var(--text);
  font-weight:900;
}

.offline-status-pill[data-state="online"] {
  background:rgba(31,157,88,.14);
  color:#167a45;
}

.offline-status-pill[data-state="offline"] {
  background:rgba(217,31,61,.12);
  color:#bd1832;
}

.offline-requested-path strong {
  overflow-wrap:anywhere;
}

.offline-actions {
  margin-top:.1rem;
}

.offline-shortcuts {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.72rem;
}

.offline-shortcuts a {
  display:grid;
  gap:.18rem;
  min-height:76px;
  padding:.9rem;
  border:1px solid rgba(31,47,163,.12);
  border-radius:20px;
  background:rgba(255,255,255,.68);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}

.offline-shortcuts a:hover,
.offline-shortcuts a:focus-visible {
  transform:translateY(-1px);
  border-color:rgba(31,47,163,.28);
  box-shadow:0 14px 28px rgba(16,27,57,.1);
}

.offline-shortcuts span {
  color:var(--muted);
  font-size:.92rem;
}

body.dark-mode .offline-status-row,
body.dark-mode .offline-shortcuts a {
  background:rgba(255,255,255,.055);
  border-color:rgba(255,255,255,.12);
}

body.dark-mode .offline-status-pill[data-state="online"] {
  color:#61e49e;
}

body.dark-mode .offline-status-pill[data-state="offline"] {
  color:#ff8392;
}

@media (max-width:900px) {
  #backendMainImagePreviewWrap,
  .account-grid,
  .account-form-grid,
  .account-address-grid {
    grid-template-columns:1fr;
    grid-column:auto;
  }

  .account-address-grid__wide {
    grid-column:auto;
  }

  .account-hero-stats {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:640px) {
  .account-panel,
  .offline-panel {
    border-radius:22px;
  }

  .account-wishlist-row {
    grid-template-columns:1fr;
  }

  .account-wishlist-row {
    grid-template-columns:54px minmax(0,1fr);
  }

  .account-wishlist-row img {
    width:54px;
    height:54px;
  }

  .account-wishlist-row b {
    grid-column:2;
  }

  .offline-panel {
    margin:1.25rem auto;
  }

  .offline-shortcuts {
    grid-template-columns:1fr;
  }

  .offline-actions {
    display:grid;
    grid-template-columns:1fr;
  }
}

/* Responsive rules are consolidated at the end of this production bundle. */

.product-card-actions {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.45rem;
  margin-top:.42rem;
}

.product-card-actions button {
  min-height:38px;
  padding:.55rem .5rem;
  border-radius:14px;
  font-size:.78rem;
  line-height:1;
  white-space:nowrap;
}

.product-card-actions .details-button {
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(238,244,255,.94)) !important;
  color:var(--text) !important;
  border:1px solid rgba(31,47,163,.14) !important;
}

.product-card-actions .buy-button {
  background:linear-gradient(135deg,var(--product-accent),var(--brand-red)) !important;
}

.product-card .product-attribute-pill {
  background:rgba(16,27,57,.075) !important;
  border-color:rgba(16,27,57,.18) !important;
  color:var(--text) !important;
}

.product-card .product-price-label {
  color:#3f4a63;
}

.product-card .product-price {
  color:var(--brand-red-dark);
}

.product-card-actions .buy-button,
.product-card .buy-button {
  background:linear-gradient(135deg,#1646b8,#b40f18) !important;
  color:#fff !important;
}

body.dark-mode .product-card .product-attribute-pill {
  background:rgba(255,255,255,.12) !important;
  border-color:rgba(255,255,255,.22) !important;
  color:#f8fbff !important;
}

body.dark-mode .product-card .product-price-label {
  color:#eef4ff;
}

body.dark-mode .product-card .product-price {
  color:#fff;
}

body.dark-mode .product-card-actions .details-button {
  background:#f8fbff !important;
  border-color:rgba(255,255,255,.36) !important;
  color:#101829 !important;
}

.product-card-actions .buy-button[aria-busy="true"]::after {
  content:"";
  width:.85em;
  height:.85em;
  margin-left:.35rem;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.48);
  border-top-color:#fff;
  animation:productActionSpin .75s linear infinite;
}

.product-card .product-card-actions button {
  font-weight:900;
  letter-spacing:0;
}

.product-card .details-button:hover,
.product-card .details-button:focus-visible {
  background:linear-gradient(135deg,rgba(255,255,255,1),rgba(226,235,255,.98)) !important;
  border-color:rgba(var(--product-accent-rgb),.24) !important;
}

.modal-link-button {
  min-width:9rem;
}

@keyframes productActionSpin {
  to {
    transform:rotate(360deg);
  }
}

@media (max-width:520px) {
  .product-card-actions {
    gap:.55rem;
  }

  .product-card-actions button {
    min-height:42px;
    font-size:.84rem;
  }
}

/* Screenshot follow-up fixes: keep sparse search results card-sized, simplify
   condition output, and make admin editing read more like an active listings table. */
body[data-page="account"] .account-hero .page-hero-card {
  gap:.82rem;
  align-items:start;
  min-height:auto;
  padding:clamp(1.25rem,2.8vw,2.35rem) !important;
  border:1px solid rgba(31,47,163,.14);
  border-radius:24px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.96),rgba(244,248,255,.9) 60%,rgba(255,255,255,.94)) !important;
  background-blend-mode:normal !important;
  box-shadow:0 18px 42px rgba(16,27,57,.1);
  color:var(--text);
}

body[data-page="account"] .account-hero .page-hero-card::before,
body[data-page="account"] .account-hero .page-hero-card::after {
  display:none !important;
  content:none !important;
}

body[data-page="account"] .account-hero .page-hero-card h1 {
  max-width:760px;
  margin:0;
  color:var(--text);
  font-size:3.8rem;
}

body[data-page="account"] .account-hero .page-hero-card p {
  max-width:720px;
  color:var(--muted);
}

body[data-page="account"] .account-hero .breadcrumb-list__item,
body[data-page="account"] .account-hero .breadcrumb-list__item a,
body[data-page="account"] .account-hero .page-kicker {
  color:var(--muted);
  text-shadow:none;
}

body.dark-mode[data-page="account"] .account-hero .page-hero-card {
  border-color:rgba(255,255,255,.13);
  background:
    linear-gradient(145deg,rgba(13,22,49,.96),rgba(18,30,61,.92) 62%,rgba(9,16,34,.96)) !important;
  box-shadow:0 20px 48px rgba(0,0,0,.28);
  color:#fff;
}

body.dark-mode[data-page="account"] .account-hero .page-hero-card h1 {
  color:#fff;
}

body.dark-mode[data-page="account"] .account-hero .page-hero-card p,
body.dark-mode[data-page="account"] .account-hero .breadcrumb-list__item,
body.dark-mode[data-page="account"] .account-hero .breadcrumb-list__item a,
body.dark-mode[data-page="account"] .account-hero .page-kicker {
  color:rgba(255,255,255,.78);
}

@media (max-width:640px) {
  body[data-page="account"] .account-hero {
    padding-block:.75rem 1rem;
  }

  body[data-page="account"] .account-hero .page-hero-card {
    gap:.55rem;
    padding:1rem !important;
    border-radius:20px;
  }

  body[data-page="account"] .account-hero .breadcrumb-nav {
    display:none;
  }

  .account-hero-stats {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:.45rem;
    width:100%;
    margin-top:.1rem;
  }

  .account-hero-stat {
    min-height:64px;
    padding:.52rem .38rem;
    border-radius:12px;
    text-align:center;
  }

  .account-hero-stat small {
    font-size:.6rem;
    line-height:1.1;
  }

  .account-hero-stat strong {
    font-size:.78rem;
    line-height:1.15;
    white-space:normal;
  }

  body[data-page="account"] .account-hero .page-hero-actions {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:.55rem;
    width:100%;
    margin-top:.2rem;
  }

  body[data-page="account"] .account-hero .page-hero-actions > * {
    min-height:44px;
    padding-inline:.45rem;
  }

  body[data-page="account"] .account-hero .page-hero-card h1 {
    font-size:2.6rem;
  }
}

@media (min-width:1200px) {
  .catalog-results-column .products-grid,
  .catalog-browse-shell.filters-collapsed .catalog-results-column .products-grid {
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    justify-content:stretch;
  }
}

@media (min-width:901px) and (max-width:1199px) {
  .catalog-results-column .products-grid,
  .catalog-browse-shell.filters-collapsed .catalog-results-column .products-grid {
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    justify-content:stretch;
  }
}

.admin-listing-table-header,
.admin-listing-row {
  display:grid;
  grid-template-columns:42px 86px minmax(280px,1.6fr) minmax(120px,.55fr) minmax(130px,.65fr) minmax(220px,.9fr);
  align-items:center;
  gap:.85rem;
}

.admin-listing-table-header {
  position:sticky;
  top:0;
  z-index:2;
  margin-bottom:.45rem;
  padding:.62rem .8rem;
  border:1px solid var(--border);
  border-radius:14px;
  background:rgba(246,248,252,.96);
  color:var(--muted);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:0 10px 24px rgba(16,27,57,.08);
}

.admin-listing-row {
  margin-bottom:.55rem;
  padding:.68rem .8rem;
  border:1px solid var(--border);
  border-radius:14px;
  background:rgba(255,255,255,.92);
  box-shadow:0 10px 22px rgba(16,27,57,.08);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}

.admin-listing-row:hover,
.admin-listing-row:focus-within,
.admin-listing-row.is-selected {
  border-color:rgba(31,47,163,.34);
  box-shadow:0 14px 30px rgba(31,47,163,.14);
}

.admin-listing-row.is-selected {
  transform:translateY(-1px);
}

.admin-listing-cell {
  min-width:0;
}

.admin-listing-cell--select input {
  width:20px;
  height:20px;
  accent-color:var(--brand-blue);
}

.admin-live-dot {
  display:inline-flex;
  width:12px;
  height:12px;
  border-radius:999px;
  background:#2f9e44;
  box-shadow:0 0 0 4px rgba(47,158,68,.14);
}

.admin-listing-cell--photo img {
  width:72px;
  height:72px;
  object-fit:cover;
  border-radius:10px;
  border:1px solid var(--border);
  background:#f6f8fc;
}

.admin-listing-kicker,
.admin-listing-cell span {
  display:block;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.2;
}

.admin-listing-cell h3 {
  margin:.12rem 0 .2rem;
  color:var(--text);
  font-size:.96rem;
  line-height:1.22;
}

.admin-listing-cell p {
  margin:0;
  color:var(--muted);
  font-size:.82rem;
  line-height:1.28;
}

.admin-listing-cell strong {
  display:block;
  color:var(--text);
  font-size:.92rem;
  line-height:1.2;
}

.admin-listing-cell--actions {
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:.38rem;
}

.admin-listing-cell--actions button,
.admin-listing-cell--actions a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:.48rem .62rem;
  border-radius:12px;
  font-size:.75rem;
}

body.dark-mode .admin-listing-table-header {
  background:rgba(19,27,51,.96);
}

body.dark-mode .admin-listing-row {
  background:rgba(255,255,255,.045);
}

@media (max-width:920px) {
  .admin-listing-table-header {
    display:none;
  }

  .admin-listing-row {
    grid-template-columns:34px 72px minmax(0,1fr);
    align-items:start;
  }

  .admin-listing-cell--photo {
    grid-row:span 4;
  }

  .admin-listing-cell--item {
    grid-column:3;
  }

  .admin-listing-cell--price,
  .admin-listing-cell--status,
  .admin-listing-cell--actions {
    grid-column:3;
  }

  .admin-listing-cell--price::before,
  .admin-listing-cell--status::before {
    content:attr(data-label);
    display:block;
    margin-bottom:.18rem;
    color:var(--muted);
    font-size:.68rem;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
  }

  .admin-listing-cell--actions {
    justify-content:flex-start;
  }
}

.product-inventory {
  display:block;
  margin-top:.25rem;
  color:var(--muted);
  font-size:.78rem;
  font-weight:700;
}

.product-card-actions {
  flex-wrap:wrap;
}

.product-card-actions .add-cart-button {
  flex:1 1 100%;
}

.modal-quantity-row {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.65rem;
  margin-top:1rem;
}

.modal-quantity-row label {
  font-weight:800;
}

.modal-quantity-row input,
.cart-item__actions input {
  width:5.5rem;
  padding:.65rem .75rem;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--surface);
  color:var(--text);
}

.cart-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,340px);
  gap:1.5rem;
  align-items:start;
}

.cart-items {
  display:grid;
  gap:1rem;
}

.cart-item {
  display:grid;
  grid-template-columns:120px minmax(0,1fr) auto;
  gap:1rem;
  align-items:center;
  padding:1rem;
  border:1px solid var(--border);
  border-radius:22px;
  background:var(--surface);
}

.cart-item__image img {
  width:120px;
  height:120px;
  object-fit:contain;
  border-radius:16px;
  background:#fff;
}

.cart-item__copy h2 {
  margin:.35rem 0;
  font-size:1.05rem;
}

.cart-item__copy h2 a {
  color:inherit;
}

.cart-item__copy p,
.cart-summary p {
  color:var(--muted);
}

.cart-item__actions {
  display:flex;
  align-items:end;
  flex-wrap:wrap;
  gap:.55rem;
}

.cart-item__actions label {
  display:grid;
  gap:.25rem;
  font-size:.8rem;
  font-weight:800;
}

.cart-item__subtotal {
  white-space:nowrap;
  font-size:1.05rem;
}

.cart-summary {
  position:sticky;
  top:7rem;
  display:grid;
  gap:1rem;
}

.cart-summary__row {
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 0;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}

.cart-status {
  min-height:1.4rem;
  margin:0;
}

.catalog-cart-feedback {
  position:fixed;
  left:50%;
  bottom:max(1rem,env(safe-area-inset-bottom));
  z-index:1400;
  width:min(34rem,calc(100% - 2rem));
  margin:0;
  padding:.82rem 1rem;
  border:1px solid rgba(31,47,163,.18);
  border-radius:16px;
  background:rgba(255,255,255,.96);
  box-shadow:0 18px 36px rgba(6,13,32,.24);
  color:var(--text);
  font-weight:800;
  text-align:center;
  transform:translateX(-50%);
}

.catalog-cart-feedback[data-tone="success"] {
  border-color:rgba(20,132,74,.35);
  color:#08733d;
}

.catalog-cart-feedback[data-tone="error"] {
  border-color:rgba(217,31,61,.34);
  color:#bf1734;
}

body.dark-mode .catalog-cart-feedback {
  border-color:rgba(255,255,255,.15);
  background:rgba(13,20,38,.98);
  color:#f7faff;
}

body.dark-mode .catalog-cart-feedback[data-tone="success"] {
  color:#79e5ad;
}

body.dark-mode .catalog-cart-feedback[data-tone="error"] {
  color:#ff9aa8;
}

.checkout-runtime-status {
  max-width:1180px;
  min-height:1.35rem;
  margin:1rem auto 0;
  padding:0 .75rem;
  color:var(--muted);
  font-weight:800;
  text-align:center;
}

.checkout-runtime-status[data-tone="error"] {
  color:#d91f3d;
}

body.dark-mode .checkout-runtime-status[data-tone="error"] {
  color:#ff8392;
}

.checkout-success-section {
  min-height:60vh;
  display:grid;
  align-items:center;
}

.checkout-success-card {
  max-width:780px;
  margin:0 auto;
  text-align:center;
}

.checkout-success-card .inline-actions {
  justify-content:center;
}

.checkout-success-cart-status {
  min-height:1.35rem;
  margin:.85rem 0 0;
  color:var(--muted);
  font-weight:800;
}

.policy-content {
  max-width:900px;
}

.policy-lede {
  margin:0 0 1.15rem;
  color:var(--muted);
  font-size:1.04rem;
  line-height:1.65;
}

.policy-summary-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.85rem;
  margin:1.25rem 0 1.5rem;
}

.policy-summary-card {
  border:1px solid rgba(31,47,163,.12);
  border-radius:8px;
  padding:1rem;
  background:rgba(255,255,255,.72);
}

.policy-summary-card small {
  display:block;
  margin-bottom:.35rem;
  color:var(--brand-red);
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.policy-summary-card strong {
  display:block;
  margin-bottom:.3rem;
  color:var(--text);
  font-size:1rem;
}

.policy-summary-card p,
.policy-content li {
  color:var(--muted);
}

.policy-note {
  margin:1.4rem 0;
  padding:1rem 1.1rem;
  border:1px solid rgba(239,24,35,.18);
  border-radius:8px;
  background:rgba(239,24,35,.06);
}

.policy-note strong {
  color:var(--brand-red);
}

.policy-content h2 {
  margin-top:1.75rem;
}

.policy-content h2:first-child {
  margin-top:0;
}

.metrics-toolbar {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
  margin-bottom:1.25rem;
}

.metrics-toolbar label {
  display:grid;
  gap:.35rem;
  font-weight:800;
}

.metrics-toolbar select {
  min-width:150px;
}

.metrics-status {
  min-height:1.45rem;
  margin:0 0 1rem;
  color:var(--muted);
}

.metrics-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:.85rem;
}

.metrics-card {
  display:grid;
  gap:.35rem;
  min-height:132px;
}

.metrics-card small,
.metrics-section-note {
  color:var(--muted);
}

.metrics-card strong {
  font-size:clamp(1.5rem,2.5vw,2.25rem);
  line-height:1;
}

.metrics-section {
  margin-top:1.4rem;
}

.metrics-section h2 {
  margin-bottom:.35rem;
}

.metrics-table-wrap {
  overflow-x:auto;
}

.metrics-table {
  width:100%;
  border-collapse:collapse;
}

.metrics-table th,
.metrics-table td {
  padding:.7rem .8rem;
  border-bottom:1px solid var(--border);
  text-align:left;
}

.metrics-table th {
  color:var(--muted);
  font-size:.78rem;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.metrics-empty {
  margin:0;
  color:var(--muted);
}

body.dark-mode .policy-summary-card {
  border-color:rgba(255,255,255,.12);
  background:rgba(255,255,255,.055);
}

body.dark-mode .policy-summary-card strong {
  color:#fff;
}

body.dark-mode .policy-note {
  border-color:rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
}

.account-order-items {
  margin:.5rem 0 0;
  padding-left:1.1rem;
  color:var(--muted);
  font-size:.85rem;
}

body.dark-mode .cart-item,
body.dark-mode .modal-quantity-row input,
body.dark-mode .cart-item__actions input {
  background:rgba(255,255,255,.04);
}

/* Storefront and account refinements. */
body[data-page="home"] .hero-brand {
  grid-auto-rows:auto;
}

.hero-marketplace-card,
.hero-account-card {
  display:grid;
  gap:.62rem;
  width:100%;
  padding:clamp(.9rem,1.8vw,1.2rem);
  border:1px solid rgba(31,47,163,.12);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(244,247,252,.78));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}

body.dark-mode .hero-marketplace-card,
body.dark-mode .hero-account-card {
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.12);
}

.hero-card-eyebrow {
  color:var(--accent-blue);
  font-family:var(--font-display);
  font-size:.82rem;
  letter-spacing:.16em;
  line-height:1;
  text-transform:uppercase;
}

.hero-marketplace-card h2,
.hero-account-card h2 {
  margin:0;
  font-size:1.42rem;
  line-height:1.05;
}

.hero-account-card p {
  margin:0;
  color:var(--muted);
  font-size:.93rem;
  line-height:1.45;
}

.marketplace-link-grid,
.home-auth-actions {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.52rem;
}

.home-auth-actions {
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
}

.marketplace-link-grid a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:.6rem .7rem;
  border:1px solid rgba(31,47,163,.13);
  border-radius:14px;
  background:rgba(255,255,255,.74);
  color:var(--text);
  font-weight:900;
  text-align:center;
  text-decoration:none;
}

body.dark-mode .marketplace-link-grid a {
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.12);
  color:#fff;
}

.home-auth-status {
  min-height:1.1rem;
  font-size:.86rem;
  font-weight:800;
}

.home-auth-status[data-state="success"] {
  color:#0c7a3d;
}

@media (min-width:901px) {
  .footer .container {
    width:min(1640px,calc(100% - 2rem));
  }

  .footer-inner {
    grid-template-columns:minmax(320px,.9fr) minmax(620px,1.45fr);
    gap:1.05rem 1.35rem;
    padding-top:calc(var(--footer-artwork-offset) + 1rem);
    padding-bottom:1.25rem;
  }

  .footer-brand p {
    max-width:48ch;
  }

  .footer-links {
    align-items:stretch;
  }

  .footer-link-groups {
    display:grid;
    grid-template-columns:repeat(3,minmax(180px,1fr));
    gap:.7rem;
  }

  .footer-link-group {
    min-width:0;
    padding:.76rem .82rem;
    gap:.42rem;
  }

  .footer-link-group a {
    min-height:34px;
    padding:.5rem .64rem;
  }

}

/* Storefront clarity pass: keep category labels, cards, filters, and footer
   links legible without filling the page with repeated control surfaces. */
.category-card .category-pill {
  background:rgba(5,9,20,.94);
  border-color:rgba(255,255,255,.68);
  box-shadow:0 10px 20px rgba(0,0,0,.32);
  text-shadow:0 1px 2px rgba(0,0,0,.78);
}

.site-nav__mobile-actions .theme-toggle {
  width:100%;
  min-height:46px;
  justify-content:center;
}

.filter-panel--drawer .facet-option {
  display:grid;
  grid-template-columns:.95rem minmax(0,1fr);
  align-items:center;
  column-gap:.46rem;
  min-height:1.5rem;
}

.filter-panel--drawer .facet-option input {
  margin:0;
  align-self:center;
}

.filter-panel--drawer .facet-option > span {
  align-items:baseline;
  min-width:0;
}

.product-pricing-values {
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:.5rem;
  min-width:0;
}

.product-pricing-values .product-inventory {
  display:inline;
  margin:0;
  white-space:nowrap;
}

.product-card-actions .offer-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:.55rem .5rem;
  border:1px solid rgba(255,255,255,.16);
  border-radius:14px;
  background:linear-gradient(135deg,#1646b8,#b40f18);
  box-shadow:0 16px 28px rgba(var(--product-accent-rgb),.18);
  color:#fff;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:0;
  line-height:1;
  text-align:center;
  text-decoration:none;
  white-space:nowrap;
  transition:transform .2s,box-shadow .2s,filter .2s;
}

.product-card-actions .offer-button:hover,
.product-card-actions .offer-button:focus-visible {
  box-shadow:0 16px 28px rgba(16,27,57,.2);
  filter:brightness(1.04);
  transform:translateY(-2px);
}

.product-card-actions .buy-button--inquiry {
  grid-column:1 / -1;
}

@media (max-width:520px) {
  .product-card-actions .offer-button {
    min-height:42px;
    font-size:.84rem;
  }
}

body[data-page="home"] .hero-guarantee {
  margin-top:1.1rem;
  padding-top:1rem;
  border-top:1px solid rgba(31,47,163,.18);
}

body[data-page="home"] .hero-guarantee h2 {
  margin:0 0 .28rem;
  font-size:1.05rem;
}

body[data-page="home"] .hero-guarantee p {
  margin:0;
  font-size:.98rem;
}

body[data-page="home"] .lineup-lab-promo {
  margin-top:.9rem;
}

body[data-page="home"] .lineup-lab-promo__link {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:.85rem;
  padding:.74rem .82rem;
  border:1px solid rgba(31,47,163,.22);
  border-radius:16px;
  background:linear-gradient(135deg,rgba(76,101,235,.1),rgba(239,35,60,.08));
  box-shadow:0 10px 20px rgba(16,27,57,.08);
  color:var(--text);
  text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}

body[data-page="home"] .lineup-lab-promo__link:hover,
body[data-page="home"] .lineup-lab-promo__link:focus-visible {
  border-color:rgba(31,47,163,.44);
  box-shadow:0 14px 26px rgba(16,27,57,.14);
  transform:translateY(-2px);
}

body[data-page="home"] .lineup-lab-promo__logo {
  display:inline-flex;
  align-items:center;
  gap:.46rem;
  color:#283eae;
}

body[data-page="home"] .lineup-lab-promo__mark {
  width:42px;
  height:42px;
  flex:0 0 42px;
}

body[data-page="home"] .lineup-lab-promo__wordmark {
  display:grid;
  line-height:.94;
  text-align:left;
}

body[data-page="home"] .lineup-lab-promo__wordmark span,
body[data-page="home"] .lineup-lab-promo__wordmark strong,
body[data-page="home"] .lineup-lab-promo__eyebrow {
  font-family:"Bebas Neue",Impact,sans-serif;
  font-weight:400;
  letter-spacing:.07em;
}

body[data-page="home"] .lineup-lab-promo__wordmark span {
  color:#b40f18;
  font-size:.76rem;
}

body[data-page="home"] .lineup-lab-promo__wordmark strong {
  color:#172a80;
  font-size:1.05rem;
  white-space:nowrap;
}

body[data-page="home"] .lineup-lab-promo__copy {
  display:grid;
  gap:.12rem;
  min-width:0;
}

body[data-page="home"] .lineup-lab-promo__eyebrow {
  color:#b40f18;
  font-size:.73rem;
}

body[data-page="home"] .lineup-lab-promo__copy > strong {
  font-size:.97rem;
  line-height:1.12;
}

body[data-page="home"] .lineup-lab-promo__copy > span:last-child {
  color:var(--muted);
  font-size:.78rem;
  line-height:1.28;
}

body[data-page="home"] .lineup-lab-promo__cta {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.3rem;
  min-height:34px;
  padding:.35rem .55rem;
  border-radius:10px;
  background:linear-gradient(135deg,#1646b8,#b40f18);
  color:#fff;
  font-size:.74rem;
  font-weight:900;
  line-height:1;
  text-align:center;
  white-space:nowrap;
}

body.dark-mode[data-page="home"] .hero-guarantee {
  border-color:rgba(255,255,255,.16);
}

body.dark-mode[data-page="home"] .lineup-lab-promo__link {
  border-color:rgba(255,255,255,.16);
  background:linear-gradient(135deg,rgba(76,101,235,.2),rgba(239,35,60,.14));
  box-shadow:0 12px 24px rgba(0,0,0,.22);
  color:#fff;
}

body.dark-mode[data-page="home"] .lineup-lab-promo__link:hover,
body.dark-mode[data-page="home"] .lineup-lab-promo__link:focus-visible {
  border-color:rgba(255,255,255,.34);
  box-shadow:0 16px 30px rgba(0,0,0,.3);
}

body.dark-mode[data-page="home"] .lineup-lab-promo__logo {
  color:#a9bbff;
}

body.dark-mode[data-page="home"] .lineup-lab-promo__wordmark strong {
  color:#e6ebff;
}

body.dark-mode[data-page="home"] .lineup-lab-promo__copy > span:last-child {
  color:#d3dbf1;
}

@media (max-width:640px) {
  body[data-page="home"] .lineup-lab-promo__link {
    grid-template-columns:auto minmax(0,1fr);
    gap:.7rem;
    padding:.72rem;
  }

  body[data-page="home"] .lineup-lab-promo__cta {
    grid-column:2;
    justify-self:start;
  }
}

body[data-page="account"] .account-hero .page-hero-card,
body[data-page="account"] .account-hero .page-hero-card * {
  text-shadow:none !important;
}

body[data-page="account"] .account-hero .page-hero-card h1,
body[data-page="account"] .account-hero .page-hero-card .page-title {
  color:var(--text) !important;
}

body[data-page="account"] .account-hero .page-hero-card p,
body[data-page="account"] .account-hero .breadcrumb-list__item,
body[data-page="account"] .account-hero .breadcrumb-list__item a,
body[data-page="account"] .account-hero .page-kicker {
  color:var(--muted) !important;
}

body.dark-mode[data-page="account"] .account-hero .page-hero-card h1,
body.dark-mode[data-page="account"] .account-hero .page-hero-card .page-title {
  color:#fff !important;
}

body.dark-mode[data-page="account"] .account-hero .page-hero-card p,
body.dark-mode[data-page="account"] .account-hero .breadcrumb-list__item,
body.dark-mode[data-page="account"] .account-hero .breadcrumb-list__item a,
body.dark-mode[data-page="account"] .account-hero .page-kicker {
  color:rgba(255,255,255,.78) !important;
}

/* Account page: keep the customer workflow concise and use the desktop width
   for the two actions that benefit from side-by-side scanning. */
body[data-page="account"] .account-hero-stats {
  grid-template-columns:repeat(2,minmax(0,1fr));
  max-width:620px;
}

.account-grid--simple {
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);
  grid-template-areas:
    "details wishlist"
    "details orders";
  align-items:start;
}

.account-grid--simple .account-profile-card {
  grid-area:details;
  grid-column:auto;
}

.account-grid--simple .account-wishlist-card {
  grid-area:wishlist;
  grid-column:auto;
}

.account-grid--simple .account-orders-card {
  grid-area:orders;
  grid-column:auto;
}

.account-panel-heading {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,.7fr);
  gap:1rem;
  align-items:start;
}

.account-auth-inline {
  display:grid;
  gap:.65rem;
  align-self:stretch;
  padding:.82rem .9rem;
  border:1px solid rgba(31,47,163,.12);
  border-radius:18px;
  background:rgba(31,47,163,.045);
}

.account-button-row--compact {
  grid-template-columns:repeat(auto-fit,minmax(118px,max-content));
}

.account-password-form {
  padding:.9rem;
  border:1px solid rgba(31,47,163,.12);
  border-radius:18px;
  background:rgba(31,47,163,.045);
}

.account-sync-note {
  font-size:.86rem;
}

.account-wishlist-summary {
  display:flex;
  align-items:baseline;
  gap:.38rem;
  padding:.7rem .82rem;
  border-radius:16px;
  background:rgba(31,47,163,.055);
}

.account-wishlist-summary strong {
  color:var(--brand-red);
  font-size:1.4rem;
}

.account-wishlist-summary span {
  color:var(--muted);
  font-weight:800;
}

.account-wishlist-summary a {
  margin-left:auto;
  color:var(--brand-blue);
  font-weight:900;
}

body.dark-mode .account-auth-inline,
body.dark-mode .account-password-form,
body.dark-mode .account-wishlist-summary {
  border-color:rgba(255,255,255,.12);
  background:rgba(255,255,255,.055);
}

body[data-page="about"],
body[data-page="contact"],
body[data-page="wishlist"],
body[data-page="admin"] {
  --hero-image-position:center center;
  --hero-image-size:contain;
}

@media (max-width:900px) {
  .account-grid--simple,
  .account-grid--simple .account-profile-card,
  .account-grid--simple .account-wishlist-card,
  .account-grid--simple .account-orders-card {
    display:grid;
    grid-template-columns:1fr;
    grid-column:1 / -1;
  }

  .account-grid--simple {
    grid-template-areas:
      "details"
      "wishlist"
      "orders";
  }

  .account-panel-heading {
    grid-template-columns:1fr;
  }

  .marketplace-link-grid,
  .home-auth-actions {
    grid-template-columns:1fr;
  }

}

/* Slab-to-Stats is loaded only inside an opened product modal. The panel stays
   compact so richer context does not enlarge catalog cards or delay the initial
   grid; NBA retains its legacy class while MLB/NFL use the generic one. */
.nba-slab-stats,
.slab-stats {
  display:grid;
  gap:.7rem;
  padding:.85rem;
  border:1px solid rgba(31,47,163,.18);
  border-radius:18px;
  background:
    radial-gradient(circle at 100% 0,rgba(239,35,60,.12),transparent 34%),
    linear-gradient(145deg,rgba(31,47,163,.075),rgba(16,27,57,.025));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}

.nba-slab-stats[hidden],
.slab-stats[hidden] {
  display:none;
}

.slab-stats-loading {
  margin:0;
  color:var(--muted);
  font-weight:800;
}

.slab-stats-heading,
.slab-stats-player-head,
.slab-stats-season-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.7rem;
}

.slab-stats-heading > div {
  display:grid;
  gap:.08rem;
}

.slab-stats-kicker,
.slab-stats-league,
.slab-stats-season-select > span,
.slab-stats-metric span,
.slab-stats-detail-grid dt {
  font-family:var(--font-display);
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.slab-stats-kicker {
  color:var(--brand-red);
  font-size:.68rem;
}

.slab-stats-heading h4 {
  margin:0;
  color:var(--text);
  font-size:1rem;
  line-height:1.15;
}

.slab-stats-league {
  display:inline-grid;
  place-items:center;
  min-width:46px;
  min-height:30px;
  padding:.25rem .48rem;
  border-radius:999px;
  background:linear-gradient(135deg,var(--brand-blue),var(--brand-red));
  color:#fff;
  font-size:.68rem;
}

.slab-stats-tabs {
  display:flex;
  gap:.38rem;
  overflow-x:auto;
  padding:.08rem .04rem .2rem;
  scrollbar-width:thin;
}

.slab-stats-tabs button {
  min-height:34px;
  padding:.35rem .62rem;
  border:1px solid rgba(31,47,163,.18);
  border-radius:999px;
  background:rgba(255,255,255,.7);
  color:var(--text);
  font-size:.75rem;
  font-weight:900;
  white-space:nowrap;
}

.slab-stats-tabs button[aria-selected="true"] {
  border-color:transparent;
  background:linear-gradient(135deg,var(--brand-blue),var(--brand-red));
  color:#fff;
}

.slab-stats-player {
  display:grid;
  gap:.58rem;
}

.slab-stats-player[hidden] {
  display:none;
}

.slab-stats-player-head {
  justify-content:flex-start;
}

.slab-stats-player-head img,
.slab-stats-player-placeholder {
  width:52px;
  height:52px;
  flex:0 0 52px;
  border:1px solid rgba(31,47,163,.15);
  border-radius:15px;
  background:#eef2fb;
  object-fit:cover;
}

.slab-stats-player-placeholder {
  display:grid;
  place-items:center;
  color:var(--brand-blue);
  font-family:var(--font-display);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
}

.slab-stats-player-head h5 {
  margin:0;
  color:var(--text);
  font-size:.98rem;
  line-height:1.14;
}

.slab-stats-player-head p,
.slab-stats-context,
.slab-stats-disclaimer,
.slab-stats-career p {
  margin:.12rem 0 0;
  color:var(--muted);
  font-size:.72rem;
  line-height:1.32;
}

.slab-stats-season-select {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:.55rem;
}

.slab-stats-season-select > span {
  color:var(--muted);
  font-size:.65rem;
}

.slab-stats-season-select select {
  width:100%;
  min-height:38px;
  padding:.42rem 2rem .42rem .58rem;
  border:1px solid rgba(31,47,163,.16);
  border-radius:12px;
  background:rgba(255,255,255,.86);
  color:var(--text);
  font-size:.76rem;
  font-weight:800;
}

.slab-stats-season-heading {
  margin-bottom:.42rem;
}

.slab-stats-season-heading strong {
  color:var(--text);
  font-size:.8rem;
}

.slab-stats-season-heading span {
  color:var(--muted);
  font-size:.7rem;
  font-weight:800;
}

.slab-stats-metrics {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.38rem;
}

.slab-stats-metric {
  display:grid;
  gap:.08rem;
  min-width:0;
  padding:.48rem .35rem;
  border:1px solid rgba(31,47,163,.1);
  border-radius:12px;
  background:rgba(255,255,255,.72);
  text-align:center;
}

.slab-stats-metric span {
  color:var(--muted);
  font-size:.6rem;
}

.slab-stats-metric strong {
  color:var(--text);
  font-size:.92rem;
  line-height:1.05;
}

.slab-stats-detail-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.35rem;
  margin:.42rem 0 0;
}

.slab-stats-detail-grid > div {
  display:flex;
  justify-content:space-between;
  gap:.2rem;
  padding:.32rem .4rem;
  border-radius:9px;
  background:rgba(16,27,57,.045);
}

.slab-stats-detail-grid dt {
  color:var(--muted);
  font-size:.57rem;
}

.slab-stats-detail-grid dd {
  margin:0;
  color:var(--text);
  font-size:.66rem;
  font-weight:900;
}

.slab-stats-career {
  border-top:1px solid rgba(31,47,163,.1);
  padding-top:.45rem;
}

.slab-stats-career summary {
  color:var(--brand-blue);
  cursor:pointer;
  font-size:.74rem;
  font-weight:900;
}

.slab-stats-empty {
  margin:0;
  color:var(--muted);
  font-size:.75rem;
}

.slab-stats-disclaimer {
  padding-top:.52rem;
  border-top:1px solid rgba(31,47,163,.1);
}

.slab-stats-disclaimer a {
  color:var(--brand-blue);
  font-weight:900;
}

body.dark-mode .nba-slab-stats,
body.dark-mode .slab-stats {
  border-color:rgba(255,255,255,.14);
  background:
    radial-gradient(circle at 100% 0,rgba(239,35,60,.18),transparent 36%),
    linear-gradient(145deg,rgba(76,101,235,.15),rgba(255,255,255,.035));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

body.dark-mode .slab-stats-tabs button,
body.dark-mode .slab-stats-season-select select,
body.dark-mode .slab-stats-metric {
  border-color:rgba(255,255,255,.14);
  background:rgba(255,255,255,.07);
  color:#fff;
}

body.dark-mode .slab-stats-tabs button[aria-selected="true"] {
  border-color:transparent;
  background:linear-gradient(135deg,#4156e8,#e51d3f);
}

body.dark-mode .slab-stats-player-placeholder,
body.dark-mode .slab-stats-detail-grid > div {
  border-color:rgba(255,255,255,.12);
  background:rgba(255,255,255,.055);
}

body.dark-mode .slab-stats-player-placeholder {
  color:#b8c4ff;
}

body.dark-mode .slab-stats-career,
body.dark-mode .slab-stats-disclaimer {
  border-color:rgba(255,255,255,.12);
}

body.dark-mode .slab-stats-career summary,
body.dark-mode .slab-stats-disclaimer a {
  color:#aebcff;
}

@media (max-width:520px) {
  .nba-slab-stats,
  .slab-stats {
    padding:.75rem;
  }

  .slab-stats-detail-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .slab-stats-season-select {
    grid-template-columns:1fr;
    gap:.25rem;
  }
}

/* Approved homepage shell and category refinements. */
body[data-page="home"] .header-inner {
  grid-template-columns:minmax(185px,max-content) minmax(320px,1fr) auto;
  grid-template-areas:
    "brand search utility"
    "nav nav actions";
  align-items:center;
  gap:.58rem 1rem;
  padding-block:.56rem;
}

body[data-page="home"] .brand {
  grid-area:brand;
}

body[data-page="home"] .home-header-search {
  position:relative;
  z-index:1004;
  display:block;
  grid-area:search;
  min-width:0;
}

.home-header-search__bar {
  display:grid;
  grid-template-columns:2.7rem minmax(0,1fr) auto;
  align-items:center;
  min-height:52px;
  overflow:hidden;
  border:1px solid rgba(228,177,65,.82);
  border-radius:16px;
  background:rgba(255,255,255,.98);
  box-shadow:0 10px 26px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.94);
  transition:border-color .2s ease,box-shadow .2s ease;
}

.home-header-search:focus-within .home-header-search__bar {
  border-color:#fff;
  box-shadow:0 0 0 3px rgba(228,177,65,.38),0 12px 28px rgba(0,0,0,.26);
}

.home-header-search__icon {
  width:21px;
  height:21px;
  margin-inline:auto;
  fill:none;
  stroke:var(--brand-blue);
  stroke-linecap:round;
  stroke-width:2;
}

.home-header-search input {
  width:100%;
  min-width:0;
  height:50px;
  padding:0 .15rem 0 0;
  border:0;
  outline:0;
  background:transparent;
  color:#172033;
  font-size:clamp(.9rem,1.15vw,1rem);
  font-weight:700;
}

.home-header-search input::placeholder {
  color:#67718a;
  opacity:1;
}

.home-header-search button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.42rem;
  align-self:stretch;
  min-width:106px;
  padding:.65rem .88rem;
  border:0;
  border-left:1px solid rgba(31,47,163,.12);
  background:linear-gradient(135deg,#2448da 0%,#ef1823 100%);
  color:#fff;
  cursor:pointer;
  font-weight:900;
  transition:filter .2s ease,transform .2s ease;
}

.home-header-search button:hover,
.home-header-search button:focus-visible {
  filter:brightness(1.08);
}

.home-header-search button:focus-visible {
  outline:3px solid #fff;
  outline-offset:-5px;
}

.home-header-search button svg {
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-width:2.2;
}

.home-header-search__no-script {
  grid-area:search;
  margin:0;
  color:#fff;
  font-size:.78rem;
  line-height:1.35;
}

.home-header-search__no-script a {
  color:var(--brand-gold);
  font-weight:800;
}

.home-search-scope {
  position:absolute;
  top:calc(100% + .55rem);
  left:0;
  width:max(100%,26rem);
  max-width:min(34rem,calc(100vw - 2rem));
  padding:.8rem;
  border:1px solid rgba(255,255,255,.2);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(10,17,37,.98),rgba(18,31,67,.98));
  box-shadow:0 24px 50px rgba(2,7,20,.36);
}

.home-search-scope__heading {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:.7rem;
  margin:0 0 .68rem;
  color:rgba(255,255,255,.76);
  font-family:var(--font-display);
  font-size:.9rem;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.home-search-scope__heading strong {
  min-width:0;
  overflow:hidden;
  color:#fff;
  font-family:Inter,system-ui,sans-serif;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:0;
  text-align:right;
  text-overflow:ellipsis;
  text-transform:none;
  white-space:nowrap;
}

.home-search-scope__links {
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
}

.home-search-scope__links a {
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:.5rem .68rem;
  border:1px solid rgba(255,255,255,.14);
  border-radius:11px;
  background:rgba(255,255,255,.07);
  color:#fff;
  font-size:.84rem;
  font-weight:800;
  text-decoration:none;
  transition:background .2s ease,transform .2s ease,border-color .2s ease;
}

.home-search-scope__links a:hover,
.home-search-scope__links a:focus-visible {
  border-color:rgba(228,177,65,.7);
  background:rgba(228,177,65,.18);
  transform:translateY(-1px);
}

body[data-page="home"] .home-header-utility {
  display:flex;
  grid-area:utility;
  align-items:center;
  justify-content:flex-end;
  gap:.42rem;
  min-width:0;
}

.home-header-utility a {
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  min-height:44px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:14px;
  background:rgba(255,255,255,.07);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  text-decoration:none;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}

.home-header-utility a:hover,
.home-header-utility a:focus-visible {
  border-color:rgba(255,255,255,.38);
  background:rgba(255,255,255,.14);
  transform:translateY(-1px);
}

.home-header-utility a:focus-visible {
  outline:3px solid var(--focus-ring,var(--brand-gold));
  outline-offset:2px;
}

.home-header-utility svg {
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:1.8;
}

.home-header-utility__sell {
  gap:.42rem;
  padding:.6rem .75rem;
  color:#fff !important;
  font-size:.8rem;
  font-weight:900;
  white-space:nowrap;
}

.home-header-utility__sell svg {
  width:19px;
  height:19px;
  color:var(--brand-gold);
}

.home-header-utility__count {
  position:absolute;
  top:-.38rem;
  right:-.38rem;
  display:grid;
  place-items:center;
  min-width:1.28rem;
  min-height:1.28rem;
  padding:0 .22rem;
  border:2px solid #101936;
  border-radius:999px;
  background:var(--brand-gold);
  color:#101936;
  font-size:.62rem;
  font-weight:900;
  line-height:1;
}

body[data-page="home"] .site-nav {
  grid-area:nav;
  min-width:0;
}

body[data-page="home"] .header-actions {
  grid-area:actions;
}

@media (min-width:1181px) {
  body[data-page="home"] .site-nav .primary-nav__list {
    justify-content:flex-start;
    flex-wrap:nowrap;
  }

  body[data-page="home"] .site-nav .header-wishlist-item,
  body[data-page="home"] .site-nav .header-cart-item,
  body[data-page="home"] .site-nav .primary-nav__item:last-child {
    display:none;
  }
}

body[data-page="home"] .home-section-rule {
  display:flex;
  width:150px;
  height:4px;
  margin:0 0 .92rem;
  overflow:hidden;
  border-radius:999px;
}

body[data-page="home"] .home-section-rule span:nth-child(1) {
  flex:1;
  background:var(--brand-red);
}

body[data-page="home"] .home-section-rule span:nth-child(2) {
  flex:.95;
  background:var(--brand-gold);
}

body[data-page="home"] .home-section-rule span:nth-child(3) {
  flex:1;
  background:var(--brand-blue);
}

body[data-page="home"] .home-section-heading {
  align-items:flex-end;
  gap:clamp(1rem,4vw,4rem);
  margin-bottom:1.55rem;
}

body[data-page="home"] .home-section-heading::after {
  content:none;
  display:none;
}

.home-section-kicker {
  display:inline-flex;
  align-items:baseline;
  gap:.46rem;
  color:var(--brand-red);
  font-family:var(--font-display);
  font-size:clamp(.96rem,1.6vw,1.12rem);
  letter-spacing:.15em;
  line-height:1;
  text-transform:uppercase;
}

.home-section-kicker strong {
  color:var(--brand-blue);
  font-size:1.18em;
  font-weight:400;
}

.home-section-kicker i {
  color:var(--brand-gold);
  font-family:Inter,system-ui,sans-serif;
  font-size:.98em;
  font-style:normal;
  font-weight:800;
}

body[data-page="home"] .home-section-heading .section-title {
  max-width:14ch;
  margin-top:.48rem;
  font-size:clamp(2.25rem,4.1vw,3.65rem);
  line-height:.93;
}

@media (max-width:820px) {
  body[data-page="home"] .home-section-heading {
    align-items:flex-start;
    flex-direction:column;
    gap:.65rem;
  }

  body[data-page="home"] .home-section-heading .section-title {
    max-width:13ch;
  }
}

body[data-page="home"] .home-category-section .categories-grid {
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:clamp(.9rem,1.7vw,1.35rem);
}

body[data-page="home"] .home-category-section .category-card {
  min-height:clamp(280px,27vw,342px);
  padding:1.35rem;
  border-radius:25px;
  border-color:rgba(16,27,57,.22);
  box-shadow:0 20px 38px rgba(16,27,57,.16);
}

body[data-page="home"] .home-category-section .category-card::before {
  background:linear-gradient(180deg,rgba(5,10,27,.04) 16%,rgba(4,10,26,.82) 100%),var(--category-bg,var(--image-grass)) center/cover no-repeat;
}

body[data-page="home"] .home-category-section .category-card .overlay {
  background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 36%),linear-gradient(180deg,transparent 42%,rgba(1,6,20,.36));
}

body[data-page="home"] .home-category-section .category-card__number {
  position:absolute !important;
  top:1.15rem;
  right:1.18rem;
  z-index:2;
  color:rgba(255,255,255,.82);
  font-family:var(--font-display);
  font-size:1.55rem;
  letter-spacing:.1em;
  line-height:1;
  text-shadow:0 2px 6px rgba(0,0,0,.42);
}

body[data-page="home"] .home-category-section .category-card__icon {
  position:absolute !important;
  top:1.15rem;
  left:1.15rem;
  z-index:2;
  display:grid;
  place-items:center;
  width:50px;
  height:50px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:15px;
  background:rgba(7,14,32,.72);
  color:var(--brand-gold);
  box-shadow:0 10px 20px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.12);
}

body[data-page="home"] .home-category-section .category-card__icon svg {
  width:27px;
  height:27px;
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:1.8;
}

body[data-page="home"] .home-category-section .category-card .category-pill {
  margin-bottom:.62rem;
  color:#fff;
}

body[data-page="home"] .home-category-section .category-card h3 {
  max-width:12ch;
  margin:0;
  color:#fff;
  font-family:var(--font-display);
  font-size:clamp(1.72rem,2.65vw,2.58rem);
  letter-spacing:.015em;
  line-height:.9;
  text-transform:uppercase;
  text-wrap:balance;
}

body[data-page="home"] .home-connect-section {
  position:relative;
  margin-top:1rem;
  padding:4.25rem 0;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 10% 10%,rgba(31,95,255,.18),transparent 30%),
    radial-gradient(circle at 92% 84%,rgba(239,24,35,.1),transparent 31%),
    linear-gradient(135deg,#08132d 0%,#101d4d 54%,#15266b 100%);
}

body[data-page="home"] .home-connect-section::before {
  content:"";
  position:absolute;
  inset:0;
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
  background:linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px) 0 0/5.5rem 5.5rem;
  mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,.8) 20%,rgba(0,0,0,.8) 80%,transparent);
  pointer-events:none;
}

body[data-page="home"] .home-connect-section .container {
  position:relative;
  z-index:1;
}

body[data-page="home"] .home-connect-section .home-section-kicker {
  color:#ff6570;
}

body[data-page="home"] .home-connect-section .home-section-kicker strong {
  color:#fff;
}

body[data-page="home"] .home-connect-section .home-section-kicker i {
  color:var(--brand-gold);
}

body[data-page="home"] .home-connect-section .section-title,
body[data-page="home"] .home-connect-section .section-heading p {
  color:#fff;
}

body[data-page="home"] .home-connect-section .section-heading p {
  max-width:39rem;
  color:rgba(255,255,255,.76);
}

.home-connect-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}

body[data-page="home"] .home-connect-card {
  display:grid;
  grid-template-rows:auto auto auto 1fr auto;
  align-items:start;
  min-height:282px;
  padding:1.5rem;
  border:1px solid rgba(255,255,255,.15);
  border-radius:24px;
  background:rgba(255,255,255,.085);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.11),0 18px 38px rgba(1,7,25,.17);
  backdrop-filter:blur(10px);
}

body[data-page="home"] .home-connect-card.hero-marketplace-card,
body[data-page="home"] .home-connect-card.hero-account-card {
  width:auto;
  background:rgba(255,255,255,.085);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.11),0 18px 38px rgba(1,7,25,.17);
}

.home-connect-card__icon {
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  margin-bottom:1.35rem;
  border:1px solid rgba(255,255,255,.18);
  border-radius:16px;
  background:rgba(255,255,255,.09);
  color:var(--brand-gold);
}

.home-connect-card__icon svg {
  width:27px;
  height:27px;
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:1.8;
}

body[data-page="home"] .home-connect-card .hero-card-eyebrow {
  margin-bottom:.36rem;
  color:var(--brand-gold);
}

body[data-page="home"] .home-connect-card h3 {
  margin:0;
  color:#fff;
  font-family:Inter,system-ui,sans-serif;
  font-size:1.14rem;
  line-height:1.2;
}

body[data-page="home"] .home-connect-card p {
  margin:.48rem 0 1rem;
  color:rgba(255,255,255,.75);
  font-size:.94rem;
  line-height:1.5;
}

body[data-page="home"] .home-connect-card .marketplace-link-grid,
body[data-page="home"] .home-connect-card .home-auth-actions,
.home-connect-actions {
  align-self:end;
}

body[data-page="home"] .home-connect-card .marketplace-link-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
}

body[data-page="home"] .home-connect-card .marketplace-link-grid a,
body[data-page="home"] .home-connect-actions .button-secondary {
  min-height:44px;
  border-color:rgba(255,255,255,.18);
  background:rgba(255,255,255,.95);
  color:#12204f;
  box-shadow:none;
  font-size:.82rem;
}

body[data-page="home"] .home-connect-card .marketplace-link-grid a:hover,
body[data-page="home"] .home-connect-card .marketplace-link-grid a:focus-visible,
body[data-page="home"] .home-connect-actions .button-secondary:hover,
body[data-page="home"] .home-connect-actions .button-secondary:focus-visible {
  border-color:#fff;
  background:#fff;
  box-shadow:0 10px 20px rgba(0,0,0,.18);
}

body[data-page="home"] .home-connect-card .home-auth-actions .button {
  min-height:44px;
  padding:.72rem .82rem;
  font-size:.82rem;
}

body[data-page="home"] .home-connect-card .home-auth-actions .button-secondary {
  min-height:44px;
  padding:.72rem .82rem;
  font-size:.8rem;
}

.home-connect-actions {
  display:flex;
  flex-wrap:wrap;
  gap:.52rem;
}

.home-connect-actions .button-secondary {
  min-height:42px;
  padding:.62rem .78rem;
}

body[data-page="home"] .home-connect-actions .social-link {
  gap:.4rem;
}

body[data-page="home"] .home-connect-actions .social-link__icon {
  width:18px;
  height:18px;
  flex:0 0 auto;
}

body[data-page="home"] .home-connect-lab {
  margin-top:1rem;
}

body[data-page="home"] .home-connect-lab .lineup-lab-promo__link {
  border-color:rgba(255,255,255,.16);
  background:rgba(255,255,255,.075);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1);
  color:#fff;
}

body[data-page="home"] .home-connect-lab .lineup-lab-promo__link:hover,
body[data-page="home"] .home-connect-lab .lineup-lab-promo__link:focus-visible {
  border-color:rgba(255,255,255,.34);
  background:rgba(255,255,255,.12);
  box-shadow:0 14px 28px rgba(0,0,0,.2);
}

body[data-page="home"] .home-connect-lab .lineup-lab-promo__logo {
  color:#cbd7ff;
}

body[data-page="home"] .home-connect-lab .lineup-lab-promo__wordmark strong,
body[data-page="home"] .home-connect-lab .lineup-lab-promo__copy > strong {
  color:#fff;
}

body[data-page="home"] .home-connect-lab .lineup-lab-promo__copy > span:last-child {
  color:rgba(255,255,255,.72);
}

body[data-page="home"] .home-connect-lab .lineup-lab-promo__cta {
  background:linear-gradient(135deg,#f4c766,#e4b141);
  color:#101936;
}

body[data-page="home"] .site-footer {
  --footer-artwork-offset:clamp(3rem,4vw,4.5rem);
  margin-top:0;
  overflow:hidden;
  background:linear-gradient(135deg,#08132d 0%,#101d4d 54%,#15266b 100%);
}

body[data-page="home"] .site-footer::before {
  content:"";
  display:block;
  height:var(--footer-artwork-offset);
  background:linear-gradient(180deg,rgba(7,11,24,.08),rgba(7,11,24,.52)),var(--footer-image) center 42%/cover no-repeat;
  border-bottom:3px solid rgba(255,255,255,.14);
  opacity:.56;
}

body[data-page="home"] .site-footer::after {
  inset:0 0 auto 0;
  z-index:0;
  height:4px;
  background:linear-gradient(90deg,var(--brand-red) 0 33%,var(--brand-gold) 33% 66%,#3a5bff 66% 100%);
}

body[data-page="home"] .site-footer .footer-inner {
  grid-template-columns:minmax(260px,.9fr) minmax(0,1.6fr);
  gap:2.25rem;
  padding-top:calc(var(--footer-artwork-offset) + 1.5rem);
  padding-bottom:2.25rem;
}

body[data-page="home"] .site-footer .footer-brand,
body[data-page="home"] .site-footer .footer-links {
  padding:0;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
  backdrop-filter:none;
}

body[data-page="home"] .site-footer .footer-brand {
  gap:.95rem;
}

body[data-page="home"] .site-footer .footer-brand p {
  max-width:38ch;
  margin:0;
  color:rgba(255,255,255,.73);
}

body[data-page="home"] .site-footer .footer-link-groups {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(1rem,2.4vw,2rem);
}

body[data-page="home"] .site-footer .footer-link-group {
  gap:.58rem;
  padding:0;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
}

body[data-page="home"] .site-footer .footer-link-group strong {
  display:flex;
  align-items:center;
  gap:.48rem;
  color:var(--brand-gold);
  font-size:.94rem;
  letter-spacing:.13em;
}

body[data-page="home"] .site-footer .footer-link-group strong svg {
  width:19px;
  height:19px;
  flex:0 0 auto;
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:1.8;
}

body[data-page="home"] .site-footer .footer-link-group a {
  display:inline-flex;
  align-items:center;
  min-height:0;
  padding:.22rem 0;
  border:0;
  border-radius:0;
  background:none;
  color:rgba(255,255,255,.82);
  box-shadow:none;
  font-size:.91rem;
}

body[data-page="home"] .site-footer .footer-link-group a:hover,
body[data-page="home"] .site-footer .footer-link-group a:focus-visible {
  border:0;
  background:none;
  color:var(--brand-gold);
  transform:translateX(3px);
}

body[data-page="home"] .site-footer .footer-bottom {
  z-index:1;
  padding-top:1.05rem;
  padding-bottom:1.3rem;
  color:rgba(255,255,255,.68);
  font-size:.83rem;
}

body.dark-mode[data-page="home"] .home-header-search__bar {
  border-color:rgba(228,177,65,.66);
  background:linear-gradient(180deg,rgba(28,41,75,.98),rgba(15,26,53,.98));
  box-shadow:0 10px 26px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.08);
}

body.dark-mode[data-page="home"] .home-header-search input {
  color:#f4f7ff;
}

body.dark-mode[data-page="home"] .home-header-search input::placeholder {
  color:#b9c5df;
}

body.dark-mode[data-page="home"] .home-header-search__icon {
  color:#c4d2ff;
  stroke:currentColor;
}

body.dark-mode[data-page="home"] .home-category-section .category-card {
  border-color:rgba(255,255,255,.16);
}

@media (max-width:1180px) {
  body[data-page="home"] .header-inner {
    --header-h:138px;
    grid-template-columns:minmax(145px,.88fr) minmax(190px,1.4fr) auto;
    grid-template-areas:
      "brand search actions"
      "utility utility utility";
    gap:.5rem .7rem;
    padding-block:.5rem;
  }

  body[data-page="home"] .home-header-utility {
    justify-content:center;
  }

  body[data-page="home"] .home-header-utility__sell {
    display:none;
  }

  body[data-page="home"] .site-nav {
    grid-area:auto;
  }
}

@media (max-width:1040px) {
  body[data-page="home"] .site-footer .footer-inner {
    grid-template-columns:1fr;
    gap:1.6rem;
  }

  body[data-page="home"] .site-footer .footer-brand p {
    max-width:58ch;
  }
}

@media (max-width:900px) {
  body[data-page="home"] .home-connect-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  body[data-page="home"] .home-connect-card--contact {
    grid-column:1 / -1;
    min-height:0;
  }

  body[data-page="home"] .home-connect-card--contact .home-connect-actions {
    align-self:start;
  }
}

@media (max-width:1040px) {
  body[data-page="home"] {
    --header-h:142px;
  }

  body[data-page="home"] .header-inner {
    --header-h:142px;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:
      "brand actions"
      "search search";
    min-height:var(--header-h);
    row-gap:.35rem;
    padding-block:.34rem .45rem;
  }

  body[data-page="home"] .home-header-search {
    display:block;
  }

  body[data-page="home"] .home-header-utility {
    display:none;
  }

  body[data-page="home"] .home-header-search__bar {
    min-height:44px;
    border-radius:13px;
  }

  body[data-page="home"] .home-header-search input {
    height:42px;
    font-size:.84rem;
  }

  body[data-page="home"] .home-header-search button {
    min-width:92px;
    padding:.52rem .68rem;
    font-size:.84rem;
  }

  body[data-page="home"] .home-header-search__icon {
    width:19px;
    height:19px;
  }

  body[data-page="home"] .home-search-scope {
    width:100%;
    max-width:none;
  }
}

@media (max-width:700px) {
  body[data-page="home"] .home-category-section .categories-grid,
  body[data-page="home"] .home-connect-grid {
    grid-template-columns:1fr;
  }

  body[data-page="home"] .home-category-section .category-card {
    min-height:292px;
  }

  body[data-page="home"] .home-connect-section {
    margin-top:0;
    padding:3.35rem 0;
  }

  body[data-page="home"] .home-connect-card--contact {
    grid-column:auto;
  }

  body[data-page="home"] .home-connect-card .marketplace-link-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  body[data-page="home"] .home-connect-lab .lineup-lab-promo__link {
    grid-template-columns:auto minmax(0,1fr);
  }

  body[data-page="home"] .home-connect-lab .lineup-lab-promo__cta {
    grid-column:2;
    justify-self:start;
  }

  body[data-page="home"] .site-footer .footer-inner {
    padding-top:2.8rem;
    padding-bottom:1.8rem;
  }

  body[data-page="home"] .site-footer .footer-link-groups {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1.4rem 1rem;
  }

  body[data-page="home"] .site-footer .footer-bottom {
    align-items:flex-start;
    flex-direction:column;
    gap:.3rem;
  }
}

@media (max-width:420px) {
  body[data-page="home"] .home-connect-card .marketplace-link-grid {
    grid-template-columns:1fr;
  }

  body[data-page="home"] .site-footer .footer-link-groups {
    grid-template-columns:1fr;
  }
}

/* Homepage refinement pass: add depth and rhythm without replacing the
   collection imagery or the established DJHC blue, red, and gold palette. */
body[data-page="home"] .home-category-section,
body[data-page="home"] .home-featured-section {
  position:relative;
  isolation:isolate;
  overflow:hidden;
}

body[data-page="home"] .home-category-section::before,
body[data-page="home"] .home-featured-section::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
}

body[data-page="home"] .home-category-section::before {
  background:
    radial-gradient(circle at 6% 8%,rgba(36,72,218,.09),transparent 26%),
    radial-gradient(circle at 94% 72%,rgba(239,24,35,.075),transparent 23%);
}

body[data-page="home"] .home-featured-section::before {
  background:
    linear-gradient(180deg,rgba(255,255,255,.24),rgba(239,244,255,.34)),
    radial-gradient(circle at 90% 6%,rgba(228,177,65,.1),transparent 23%);
}

body[data-page="home"] .home-category-section > .container,
body[data-page="home"] .home-featured-section > .container {
  position:relative;
  z-index:1;
}

body.dark-mode[data-page="home"] .home-category-section::before {
  background:
    radial-gradient(circle at 6% 8%,rgba(91,127,255,.16),transparent 28%),
    radial-gradient(circle at 94% 72%,rgba(239,24,35,.13),transparent 25%);
}

body.dark-mode[data-page="home"] .home-featured-section::before {
  background:
    linear-gradient(180deg,rgba(255,255,255,.025),rgba(55,82,144,.07)),
    radial-gradient(circle at 90% 6%,rgba(228,177,65,.1),transparent 24%);
}

body[data-page="home"] .home-featured-section .product-card {
  border-color:rgba(31,47,163,.12);
  box-shadow:0 16px 32px rgba(16,27,57,.1);
}

body[data-page="home"] .home-connect-card {
  position:relative;
  overflow:hidden;
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease,background-color .24s ease;
}

body[data-page="home"] .home-connect-card::before {
  content:"";
  position:absolute;
  top:0;
  left:1.45rem;
  width:38%;
  height:3px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,var(--brand-gold),rgba(228,177,65,0));
  pointer-events:none;
}

body[data-page="home"] .home-connect-card:nth-child(2)::before {
  background:linear-gradient(90deg,#7f8fff,rgba(127,143,255,0));
}

body[data-page="home"] .home-connect-card:nth-child(3)::before {
  background:linear-gradient(90deg,#ff6670,rgba(255,102,112,0));
}

@media (hover:hover) and (pointer:fine) {
  body[data-page="home"] .home-featured-section .product-card:hover,
  body[data-page="home"] .home-featured-section .product-card:focus-within {
    transform:translateY(-5px);
    border-color:rgba(31,47,163,.28);
    box-shadow:0 24px 42px rgba(16,27,57,.17);
  }

  body[data-page="home"] .home-connect-card:hover,
  body[data-page="home"] .home-connect-card:focus-within {
    transform:translateY(-4px);
    border-color:rgba(255,255,255,.26);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 24px 42px rgba(1,7,25,.25);
  }
}

body[data-page="home"] .home-section-heading__copy {
  display:grid;
  justify-items:start;
  gap:.9rem;
  max-width:42rem;
}

body[data-page="home"] .home-section-heading__copy p {
  margin:0;
}

.home-section-link {
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  min-height:42px;
  padding:.58rem .88rem;
  border:1px solid rgba(31,47,163,.16);
  border-radius:999px;
  background:linear-gradient(135deg,rgba(36,72,218,.09),rgba(239,24,35,.06));
  box-shadow:0 9px 20px rgba(16,27,57,.08),inset 0 1px 0 rgba(255,255,255,.8);
  color:var(--brand-blue);
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.03em;
  text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease,color .2s ease;
}

.home-section-link svg,
.category-card__cta svg {
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:2.2;
}

.home-section-link:hover,
.home-section-link:focus-visible {
  transform:translateY(-2px);
  border-color:transparent;
  background:linear-gradient(135deg,#2448da 0%,#ef1823 100%);
  box-shadow:0 14px 28px rgba(31,47,163,.22);
  color:#fff;
}

.home-section-link:focus-visible {
  outline:3px solid var(--focus-ring,var(--brand-gold));
  outline-offset:3px;
}

body.dark-mode[data-page="home"] .home-section-link {
  border-color:rgba(255,255,255,.2);
  background:rgba(255,255,255,.07);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  color:#fff;
}

body[data-page="home"] .home-category-section .category-card__cta {
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  align-self:flex-start;
  margin-top:.82rem;
  color:rgba(255,255,255,.86);
  font-family:var(--font-display);
  font-size:.92rem;
  letter-spacing:.13em;
  line-height:1;
  text-transform:uppercase;
  transition:color .2s ease,transform .2s ease;
}

body[data-page="home"] .home-category-section .category-card__cta svg {
  width:17px;
  height:17px;
}

@media (hover:hover) and (pointer:fine) {
  body[data-page="home"] .home-category-section .category-card:hover .category-card__cta,
  body[data-page="home"] .home-category-section .category-card:focus-visible .category-card__cta {
    color:#fff;
    transform:translateX(4px);
  }
}

@media (max-width:820px) {
  body[data-page="home"] .home-section-heading__copy {
    max-width:58ch;
  }
}

/* Homepage hero finish: give the collector promise the same considered
   treatment as the catalog cards, without changing the existing copy. */
body[data-page="home"] .hero-copy,
body[data-page="home"] .hero-brand {
  position:relative;
  isolation:isolate;
  overflow:hidden;
}

body[data-page="home"] .hero-copy::before,
body[data-page="home"] .hero-brand::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
}

body[data-page="home"] .hero-copy::before {
  background:
    radial-gradient(circle at 94% 4%,rgba(36,72,218,.11),transparent 31%),
    linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,0) 62%);
}

body[data-page="home"] .hero-brand::before {
  background:
    radial-gradient(circle at 88% 2%,rgba(228,177,65,.19),transparent 30%),
    linear-gradient(150deg,rgba(36,72,218,.06),rgba(239,24,35,.04));
}

body[data-page="home"] .hero-copy > *,
body[data-page="home"] .hero-brand > * {
  position:relative;
  z-index:1;
}

body[data-page="home"] .hero-logo-wrap {
  position:relative;
  overflow:hidden;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 14px 30px rgba(16,27,57,.08);
}

body[data-page="home"] .hero-logo-wrap::after {
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 0,rgba(228,177,65,.13),transparent 47%);
  pointer-events:none;
}

body[data-page="home"] .hero-logo {
  position:relative;
  z-index:1;
}

body[data-page="home"] .hero-guarantee {
  display:grid;
  grid-template-columns:2.25rem minmax(0,1fr);
  column-gap:.78rem;
  align-items:start;
  margin-top:1.05rem;
  padding:.82rem .9rem;
  border:1px solid rgba(31,47,163,.15);
  border-top-color:rgba(228,177,65,.58);
  border-radius:17px;
  background:linear-gradient(135deg,rgba(36,72,218,.065),rgba(239,24,35,.035));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 10px 20px rgba(16,27,57,.055);
}

body[data-page="home"] .hero-guarantee::before {
  content:"✓";
  display:grid;
  grid-column:1;
  grid-row:1 / span 2;
  place-items:center;
  width:2.15rem;
  height:2.15rem;
  border-radius:50%;
  background:linear-gradient(145deg,#f3ca5a,#dfa52e);
  box-shadow:0 7px 14px rgba(180,128,13,.23);
  color:#12245e;
  font-size:1.12rem;
  font-weight:1000;
}

body[data-page="home"] .hero-guarantee h2,
body[data-page="home"] .hero-guarantee p {
  grid-column:2;
}

body[data-page="home"] .hero-guarantee h2 {
  margin:0 0 .18rem;
  color:#172a80;
  font-size:1.02rem;
  line-height:1.15;
}

body[data-page="home"] .hero-guarantee p {
  margin:0;
  font-size:.9rem;
  line-height:1.42;
}

body.dark-mode[data-page="home"] .hero-copy::before {
  background:
    radial-gradient(circle at 94% 4%,rgba(91,127,255,.16),transparent 31%),
    linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,0) 62%);
}

body.dark-mode[data-page="home"] .hero-brand::before {
  background:
    radial-gradient(circle at 88% 2%,rgba(228,177,65,.14),transparent 30%),
    linear-gradient(150deg,rgba(91,127,255,.12),rgba(239,24,35,.08));
}

body.dark-mode[data-page="home"] .hero-logo-wrap {
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 16px 32px rgba(0,0,0,.25);
}

body.dark-mode[data-page="home"] .hero-guarantee {
  border-color:rgba(255,255,255,.16);
  border-top-color:rgba(228,177,65,.68);
  background:linear-gradient(135deg,rgba(91,127,255,.16),rgba(239,24,35,.1));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 12px 24px rgba(0,0,0,.2);
}

body.dark-mode[data-page="home"] .hero-guarantee h2 {
  color:#fff;
}

@media (max-width:520px) {
  body[data-page="home"] .hero-guarantee {
    grid-template-columns:2rem minmax(0,1fr);
    column-gap:.65rem;
    padding:.76rem;
  }

  body[data-page="home"] .hero-guarantee::before {
    width:1.92rem;
    height:1.92rem;
    font-size:1rem;
  }

  body[data-page="home"] .hero-guarantee p {
    font-size:.86rem;
  }
}

/* Homepage shopping-path polish: make price, checkout, and collector
   conversation easier to scan without changing the available listing actions. */
body[data-page="home"] .home-featured-section .product-card .product-card-footer {
  gap:.5rem;
  margin-top:.12rem;
  padding-top:.7rem;
  border-top:1px solid rgba(31,47,163,.1);
}

body[data-page="home"] .home-featured-section .product-card .product-pricing {
  padding:.58rem .66rem;
  border:1px solid rgba(var(--product-accent-rgb),.13);
  border-radius:15px;
  background:
    linear-gradient(135deg,rgba(var(--product-accent-rgb),.09),rgba(255,255,255,.88) 72%),
    #fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}

body[data-page="home"] .home-featured-section .product-card .product-price-label {
  color:rgba(28,45,91,.73);
  font-size:.66rem;
}

body[data-page="home"] .home-featured-section .product-card .product-price {
  color:var(--brand-red-dark);
  text-shadow:0 1px 0 rgba(255,255,255,.64);
}

body[data-page="home"] .home-featured-section .product-card .product-card-actions {
  gap:.48rem;
  margin-top:0;
}

body[data-page="home"] .home-featured-section .product-card .product-card-actions :is(.details-button,.offer-button,.buy-button) {
  box-shadow:0 7px 14px rgba(16,27,57,.09);
}

body[data-page="home"] .home-featured-section .product-card .product-card-actions .details-button {
  border-color:rgba(var(--product-accent-rgb),.2) !important;
}

body[data-page="home"] .home-featured-section .product-card .product-card-actions .buy-button--inquiry {
  background:linear-gradient(135deg,var(--product-accent),var(--brand-red)) !important;
}

body[data-page="home"] .home-connect-card {
  isolation:isolate;
}

body[data-page="home"] .home-connect-card > * {
  position:relative;
  z-index:1;
}

body[data-page="home"] .home-connect-card::after {
  content:"";
  position:absolute;
  right:-4.5rem;
  bottom:-5.5rem;
  z-index:0;
  width:13rem;
  height:13rem;
  border-radius:50%;
  background:radial-gradient(circle,rgba(228,177,65,.2),transparent 68%);
  pointer-events:none;
}

body[data-page="home"] .home-connect-card:nth-child(2)::after {
  background:radial-gradient(circle,rgba(91,127,255,.25),transparent 68%);
}

body[data-page="home"] .home-connect-card:nth-child(3)::after {
  background:radial-gradient(circle,rgba(239,24,35,.2),transparent 68%);
}

body[data-page="home"] .home-connect-card :is(.marketplace-link-grid a,.home-auth-actions .button,.home-auth-actions .button-secondary,.home-connect-actions .button-secondary) {
  box-shadow:0 8px 16px rgba(1,7,25,.13);
}

body[data-page="home"] .home-connect-card :is(.marketplace-link-grid a,.home-auth-actions .button,.home-auth-actions .button-secondary,.home-connect-actions .button-secondary):focus-visible {
  outline:3px solid var(--focus-ring,var(--brand-gold));
  outline-offset:3px;
}

body.dark-mode[data-page="home"] .home-featured-section .product-card .product-card-footer {
  border-top-color:rgba(255,255,255,.12);
}

body.dark-mode[data-page="home"] .home-featured-section .product-card .product-pricing {
  border-color:rgba(255,255,255,.14);
  background:linear-gradient(135deg,rgba(var(--product-accent-rgb),.19),rgba(255,255,255,.055));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
}

body.dark-mode[data-page="home"] .home-featured-section .product-card .product-price-label {
  color:rgba(231,238,255,.73);
}

body.dark-mode[data-page="home"] .home-featured-section .product-card .product-price {
  color:#fff;
  text-shadow:none;
}

@media (max-width:520px) {
  body[data-page="home"] .home-featured-section .product-card .product-pricing {
    padding:.54rem .58rem;
  }
}

/* Make the ready-to-checkout path feel distinct from an offer or detail view,
   while retaining the red/blue button language used throughout the storefront. */
body[data-page="home"] .home-featured-section .product-card .product-card-actions .buy-button:not(.buy-button--inquiry) {
  border:1px solid rgba(244,199,102,.7) !important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,0) 52%),
    linear-gradient(135deg,#2448da 0%,#ef1823 78%) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.32),0 10px 18px rgba(31,47,163,.2) !important;
}

body[data-page="home"] .home-featured-section .product-card .product-card-actions .buy-button:not(.buy-button--inquiry):hover,
body[data-page="home"] .home-featured-section .product-card .product-card-actions .buy-button:not(.buy-button--inquiry):focus-visible {
  border-color:#f4c766 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 13px 24px rgba(31,47,163,.27) !important;
  filter:brightness(1.07);
  transform:translateY(-1px);
}

body[data-page="home"] .home-featured-section .product-card .product-card-actions .buy-button:not(.buy-button--inquiry):focus-visible {
  outline:3px solid var(--focus-ring,var(--brand-gold));
  outline-offset:3px;
}

/* Homepage editorial finish: the short section intros now carry the same
   composed red, blue, and gold language as their card collections. */
body[data-page="home"] .home-section-heading > p,
body[data-page="home"] .home-section-heading__copy {
  position:relative;
  isolation:isolate;
  max-width:min(100%,44rem);
  margin:0;
  padding:.78rem .92rem .78rem 1.12rem;
  border:1px solid rgba(31,47,163,.1);
  border-radius:0 16px 16px 0;
  background:linear-gradient(90deg,rgba(36,72,218,.065),rgba(239,24,35,.035) 58%,rgba(255,255,255,0) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.66);
}

body[data-page="home"] .home-section-heading > p::before,
body[data-page="home"] .home-section-heading__copy::before {
  content:"";
  position:absolute;
  top:.68rem;
  bottom:.68rem;
  left:-1px;
  width:3px;
  border-radius:999px;
  background:linear-gradient(180deg,var(--brand-red),var(--brand-gold) 48%,var(--brand-blue));
}

body[data-page="home"] .home-section-heading__copy p {
  position:relative;
  z-index:1;
}

body[data-page="home"] .home-connect-heading > p {
  border-color:rgba(255,255,255,.15);
  background:linear-gradient(90deg,rgba(255,255,255,.1),rgba(91,127,255,.06) 58%,rgba(255,255,255,0) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

body.dark-mode[data-page="home"] .home-section-heading > p,
body.dark-mode[data-page="home"] .home-section-heading__copy {
  border-color:rgba(255,255,255,.13);
  background:linear-gradient(90deg,rgba(91,127,255,.16),rgba(239,24,35,.075) 58%,rgba(255,255,255,0) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
}

body.dark-mode[data-page="home"] .home-connect-heading > p {
  border-color:rgba(255,255,255,.17);
  background:linear-gradient(90deg,rgba(255,255,255,.105),rgba(91,127,255,.1) 58%,rgba(255,255,255,0) 100%);
}

@media (max-width:820px) {
  body[data-page="home"] .home-section-heading > p,
  body[data-page="home"] .home-section-heading__copy {
    padding:.68rem .78rem .68rem 1rem;
    border-radius:0 14px 14px 0;
  }
}

/* Department signatures make the browse gallery feel deliberately curated:
   gold for sports, blue for comics, and red for collectibles.  The imagery
   stays untouched; these accents simply give each doorway its own identity. */
body[data-page="home"] .home-category-section .category-card {
  --category-accent:#f4c766;
  --category-accent-rgb:244,199,102;
  border-color:rgba(var(--category-accent-rgb),.46);
  box-shadow:inset 0 3px 0 rgba(var(--category-accent-rgb),.9),0 20px 38px rgba(16,27,57,.16);
}

body[data-page="home"] .home-category-section .category-card:nth-child(2) {
  --category-accent:#8aa2ff;
  --category-accent-rgb:138,162,255;
}

body[data-page="home"] .home-category-section .category-card:nth-child(3) {
  --category-accent:#ff7a82;
  --category-accent-rgb:255,122,130;
}

body[data-page="home"] .home-category-section .category-card__icon {
  border-color:rgba(var(--category-accent-rgb),.64);
  background:linear-gradient(135deg,rgba(5,10,27,.96),rgba(var(--category-accent-rgb),.24));
  color:var(--category-accent);
}

body[data-page="home"] .home-category-section .category-card__cta::before {
  content:"";
  width:.4rem;
  height:.4rem;
  border-radius:50%;
  background:var(--category-accent);
  box-shadow:0 0 0 3px rgba(var(--category-accent-rgb),.18),0 0 12px rgba(var(--category-accent-rgb),.68);
}

@media (hover:hover) and (pointer:fine) {
  body[data-page="home"] .home-category-section .category-card:hover,
  body[data-page="home"] .home-category-section .category-card:focus-visible {
    border-color:rgba(var(--category-accent-rgb),.86);
    box-shadow:inset 0 3px 0 rgba(var(--category-accent-rgb),1),0 25px 44px rgba(16,27,57,.2);
  }
}

/* Preserve the shopping decision at compact widths: a floating utility should
   never cover a card's purchase actions. Deep links also land below the
   sticky header instead of behind it. */
body[data-page="home"] :is(#shop-by-category,.home-featured-section,#connect) {
  scroll-margin-top:calc(var(--header-h,10rem) + 1rem);
}

@media (min-width:1041px) {
  body[data-page="home"] :is(#shop-by-category,.home-featured-section,#connect) {
    scroll-margin-top:12rem;
  }
}

@media (max-width:1040px) {
  body[data-page="home"] .back-to-top {
    display:none;
  }
}

/* Homepage footer finish: retain the restored collection-photo separator, then
   carry the same department-color language into the brand and link hierarchy. */
body[data-page="home"] .site-footer::before {
  background:
    linear-gradient(90deg,rgba(5,10,27,.44),rgba(5,10,27,.03) 43%,rgba(5,10,27,.44)),
    linear-gradient(180deg,rgba(7,11,24,.04),rgba(7,11,24,.54)),
    var(--footer-image) center 42%/cover no-repeat;
  opacity:.64;
}

body[data-page="home"] .site-footer .footer-brand {
  position:relative;
  padding-left:1rem;
}

body[data-page="home"] .site-footer .footer-brand::before {
  content:"";
  position:absolute;
  top:.14rem;
  bottom:.14rem;
  left:0;
  width:3px;
  border-radius:999px;
  background:linear-gradient(180deg,var(--brand-red),var(--brand-gold) 48%,#3a5bff);
  box-shadow:0 0 12px rgba(228,177,65,.18);
}

body[data-page="home"] .site-footer .footer-brand .brand-kicker {
  color:rgba(219,229,255,.74);
}

body[data-page="home"] .site-footer .footer-link-group {
  --footer-group-accent:var(--brand-gold);
  --footer-group-accent-rgb:244,199,102;
  position:relative;
  padding-top:.58rem;
}

body[data-page="home"] .site-footer .footer-link-group::before {
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:2.45rem;
  height:2px;
  border-radius:999px;
  background:var(--footer-group-accent);
  box-shadow:0 0 10px rgba(var(--footer-group-accent-rgb),.42);
}

body[data-page="home"] .site-footer .footer-link-group--support {
  --footer-group-accent:#9aacff;
  --footer-group-accent-rgb:154,172,255;
}

body[data-page="home"] .site-footer .footer-link-group--storefronts {
  --footer-group-accent:#ff7a82;
  --footer-group-accent-rgb:255,122,130;
}

body[data-page="home"] .site-footer .footer-link-group strong {
  color:var(--footer-group-accent);
}

body[data-page="home"] .site-footer .footer-link-group a:hover,
body[data-page="home"] .site-footer .footer-link-group a:focus-visible {
  color:var(--footer-group-accent);
}

body[data-page="home"] .site-footer .footer-bottom {
  border-top-color:rgba(255,255,255,.14);
  background:linear-gradient(90deg,rgba(255,255,255,.035),rgba(255,255,255,0) 66%);
}

@media (max-width:700px) {
  body[data-page="home"] .site-footer .footer-brand {
    padding-left:.9rem;
  }

  body[data-page="home"] .site-footer .footer-link-group {
    padding-top:.52rem;
  }
}

/* Homepage interaction finish: the navigation, search chooser, and hero
   actions now use one restrained collector-control language without altering
   their existing destinations or keyboard behavior. */
body[data-page="home"] .home-header-utility__sell {
  border-color:rgba(244,199,102,.48);
  background:
    linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,0) 46%),
    linear-gradient(135deg,#2448da 0%,#ef1823 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 10px 22px rgba(16,27,57,.2);
}

body[data-page="home"] .home-header-utility__sell:hover,
body[data-page="home"] .home-header-utility__sell:focus-visible {
  border-color:rgba(244,199,102,.9);
  background:
    linear-gradient(135deg,rgba(255,255,255,.2),rgba(255,255,255,0) 46%),
    linear-gradient(135deg,#3157e4 0%,#fa2430 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.36),0 14px 26px rgba(16,27,57,.26);
}

body[data-page="home"] .home-header-utility__icon[href="account.html"]:hover,
body[data-page="home"] .home-header-utility__icon[href="account.html"]:focus-visible {
  border-color:rgba(170,190,255,.7);
  color:#c7d3ff;
}

body[data-page="home"] .home-header-utility__icon[href="wishlist.html"]:hover,
body[data-page="home"] .home-header-utility__icon[href="wishlist.html"]:focus-visible {
  border-color:rgba(255,122,130,.72);
  color:#ff9ca3;
}

body[data-page="home"] .home-header-utility__icon[data-cart-link]:hover,
body[data-page="home"] .home-header-utility__icon[data-cart-link]:focus-visible {
  border-color:rgba(244,199,102,.78);
  color:#ffe19a;
}

body[data-page="home"] .home-search-scope {
  isolation:isolate;
  overflow:hidden;
  padding-top:.94rem;
}

body[data-page="home"] .home-search-scope::before {
  content:"";
  position:absolute;
  top:0;
  left:.8rem;
  right:.8rem;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--brand-red) 0 34%,var(--brand-gold) 34% 66%,#516eea 66% 100%);
  box-shadow:0 0 12px rgba(244,199,102,.3);
  pointer-events:none;
}

body[data-page="home"] .home-search-scope__links a {
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
}

body[data-page="home"] .home-search-scope__links a:hover,
body[data-page="home"] .home-search-scope__links a:focus-visible {
  box-shadow:inset 0 1px 0 rgba(255,255,255,.17),0 8px 18px rgba(0,0,0,.18);
}

/* SwishIQ Studio homepage promotion. The panel stays self-contained so the
   storefront can promote the app without coupling catalog or navigation code. */
body[data-page="home"] .swishiq-promo {
  position:relative;
  z-index:1;
  padding:0 0 1.5rem;
}

body[data-page="home"] .swishiq-promo__shell {
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(150px,.3fr) minmax(0,1fr) auto;
  align-items:center;
  gap:clamp(1rem,3vw,2.5rem);
  min-height:250px;
  padding:clamp(1.35rem,3vw,2.35rem) clamp(1.25rem,4vw,3rem);
  overflow:hidden;
  border:1px solid rgba(159,208,255,.3);
  border-radius:30px;
  color:#f8fbff;
  background:
    radial-gradient(circle at 12% 50%,rgba(72,131,255,.26),transparent 30%),
    radial-gradient(circle at 88% 20%,rgba(239,24,35,.2),transparent 32%),
    linear-gradient(128deg,#07132d 0%,#101f4c 52%,#40152d 100%);
  box-shadow:0 20px 46px rgba(8,16,42,.28);
}

body[data-page="home"] .swishiq-promo__shell::before {
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:4px;
  background:linear-gradient(90deg,var(--brand-red) 0 34%,var(--brand-gold) 34% 66%,#7ca9ff 66% 100%);
  box-shadow:0 0 18px rgba(244,199,102,.35);
}

body[data-page="home"] .swishiq-promo__glow {
  position:absolute;
  z-index:-1;
  width:260px;
  height:260px;
  right:7%;
  bottom:-170px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
  box-shadow:0 0 0 32px rgba(255,255,255,.025),0 0 0 64px rgba(255,255,255,.018);
}

body[data-page="home"] .swishiq-promo__emblem {
  display:grid;
  place-items:center;
}

body[data-page="home"] .swishiq-promo__emblem picture {
  display:block;
  width:min(100%,205px);
}

body[data-page="home"] .swishiq-promo__emblem img {
  width:100%;
  height:auto;
  filter:drop-shadow(0 18px 20px rgba(0,0,0,.35));
}

body[data-page="home"] .swishiq-promo__content {
  min-width:0;
}

body[data-page="home"] .swishiq-promo__eyebrow {
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  color:#f5d37e;
  font-family:var(--font-display);
  font-size:.94rem;
  letter-spacing:.18em;
  text-transform:uppercase;
}

body[data-page="home"] .swishiq-promo__eyebrow span {
  color:#ff8b55;
}

body[data-page="home"] .swishiq-promo h2 {
  max-width:700px;
  margin:.55rem 0 .6rem;
  font-family:var(--font-display);
  font-size:clamp(2.25rem,4.2vw,4.1rem);
  font-weight:400;
  line-height:.9;
  letter-spacing:.02em;
  text-wrap:balance;
}

body[data-page="home"] .swishiq-promo h2 span {
  color:#f7c85b;
  font-family:var(--font-script);
  font-size:.84em;
  letter-spacing:0;
}

body[data-page="home"] .swishiq-promo__content > p {
  max-width:700px;
  margin:0;
  color:#dce7ff;
  font-size:1rem;
  line-height:1.6;
}

body[data-page="home"] .swishiq-promo__highlights {
  display:flex;
  flex-wrap:wrap;
  gap:.55rem 1.15rem;
  margin:1rem 0 0;
  padding:0;
  list-style:none;
  color:#c7d7f8;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}

body[data-page="home"] .swishiq-promo__highlights strong {
  margin-right:.28rem;
  color:#f5d37e;
  font-family:var(--font-display);
  font-size:1rem;
  font-weight:400;
  letter-spacing:.08em;
}

body[data-page="home"] .swishiq-promo__actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.9rem 1.15rem;
  margin-top:1.2rem;
}

body[data-page="home"] .swishiq-promo__button {
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  color:#08132d;
  background:linear-gradient(135deg,#ffe39a,#e4b141);
  border:1px solid rgba(255,255,255,.3);
  box-shadow:0 12px 24px rgba(0,0,0,.22);
}

body[data-page="home"] .swishiq-promo__button:hover,
body[data-page="home"] .swishiq-promo__button:focus-visible {
  color:#08132d;
  background:linear-gradient(135deg,#fff0bd,#efc75d);
  transform:translateY(-2px);
}

body[data-page="home"] .swishiq-promo__button svg {
  width:1.05rem;
  height:1.05rem;
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:1.8;
}

body[data-page="home"] .swishiq-promo__note {
  color:#aebfe5;
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
}

body[data-page="home"] .swishiq-promo__signal {
  display:grid;
  align-content:center;
  justify-items:end;
  gap:.72rem;
  min-width:86px;
  color:rgba(224,235,255,.48);
  font-family:var(--font-display);
  font-size:.74rem;
  letter-spacing:.2em;
  line-height:1;
  writing-mode:vertical-rl;
}

body[data-page="home"] .swishiq-promo__signal span {
  display:inline-flex;
  align-items:center;
  gap:.55rem;
}

body[data-page="home"] .swishiq-promo__signal span::before {
  content:"";
  display:block;
  width:1px;
  height:28px;
  background:linear-gradient(180deg,transparent,#f5d37e,transparent);
}

@media (max-width:900px) {
  body[data-page="home"] .swishiq-promo__shell {
    grid-template-columns:145px minmax(0,1fr);
  }
  body[data-page="home"] .swishiq-promo__signal {
    display:none;
  }
}

@media (max-width:620px) {
  body[data-page="home"] .swishiq-promo {
    padding-bottom:.8rem;
  }
  body[data-page="home"] .swishiq-promo__shell {
    grid-template-columns:1fr;
    gap:1rem;
    padding:1.35rem 1.1rem 1.55rem;
    text-align:center;
  }
  body[data-page="home"] .swishiq-promo__emblem picture {
    width:132px;
  }
  body[data-page="home"] .swishiq-promo__content {
    display:grid;
    justify-items:center;
  }
  body[data-page="home"] .swishiq-promo__eyebrow {
    font-size:.74rem;
    letter-spacing:.13em;
  }
  body[data-page="home"] .swishiq-promo h2 {
    font-size:2.75rem;
  }
  body[data-page="home"] .swishiq-promo__content > p {
    font-size:.93rem;
    line-height:1.52;
  }
  body[data-page="home"] .swishiq-promo__highlights {
    justify-content:center;
    gap:.5rem .8rem;
  }
  body[data-page="home"] .swishiq-promo__actions {
    justify-content:center;
    gap:.7rem;
  }
  body[data-page="home"] .swishiq-promo__note {
    width:100%;
    font-size:.66rem;
  }
}

body[data-page="home"] .hero-brand-actions > a {
  position:relative;
  isolation:isolate;
  padding-right:2.35rem;
}

body[data-page="home"] .hero-brand-actions > a::after {
  content:"\2192";
  position:absolute;
  top:50%;
  right:.86rem;
  z-index:1;
  font-size:1.16rem;
  font-weight:900;
  line-height:1;
  transform:translateY(-50%);
  transition:transform .2s ease;
}

body[data-page="home"] .hero-brand-actions > a:hover::after,
body[data-page="home"] .hero-brand-actions > a:focus-visible::after {
  transform:translate(.16rem,-50%);
}

body[data-page="home"] .hero-brand-actions > .button {
  border-color:rgba(244,199,102,.68);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.34),0 13px 24px rgba(31,47,163,.22);
}

body[data-page="home"] .hero-brand-actions > .button-secondary:nth-child(2) {
  border-color:rgba(138,162,255,.5);
  box-shadow:inset 3px 0 0 #8aa2ff,0 10px 20px rgba(16,27,57,.1);
}

body[data-page="home"] .hero-brand-actions > .button-secondary:nth-child(3) {
  border-color:rgba(255,122,130,.5);
  box-shadow:inset 3px 0 0 #ff7a82,0 10px 20px rgba(16,27,57,.1);
}

@media (min-width:1181px) {
  body[data-page="home"] .site-nav .primary-nav__link {
    position:relative;
    border:1px solid transparent;
    background:rgba(255,255,255,.025);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
    transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;
  }

  body[data-page="home"] .site-nav .primary-nav__link::after {
    content:"";
    position:absolute;
    right:1rem;
    bottom:.42rem;
    left:1rem;
    height:2px;
    border-radius:999px;
    background:linear-gradient(90deg,var(--brand-red),var(--brand-gold) 48%,#516eea);
    box-shadow:0 0 10px rgba(244,199,102,.28);
    opacity:0;
    transform:scaleX(.35);
    transition:opacity .2s ease,transform .2s ease;
  }

  body[data-page="home"] .site-nav .primary-nav__link:hover,
  body[data-page="home"] .site-nav .primary-nav__link:focus-visible,
  body[data-page="home"] .site-nav .primary-nav__item.is-current-section > .primary-nav__link,
  body[data-page="home"] .site-nav .primary-nav__item.is-current-section > .primary-nav__item-group > .primary-nav__link {
    border-color:rgba(244,199,102,.34);
    background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(81,110,234,.08));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 8px 16px rgba(0,0,0,.12);
    transform:translateY(-1px);
  }

  body[data-page="home"] .site-nav .primary-nav__link:hover::after,
  body[data-page="home"] .site-nav .primary-nav__link:focus-visible::after,
  body[data-page="home"] .site-nav .primary-nav__item.is-current-section > .primary-nav__link::after,
  body[data-page="home"] .site-nav .primary-nav__item.is-current-section > .primary-nav__item-group > .primary-nav__link::after {
    opacity:1;
    transform:scaleX(1);
  }

  body[data-page="home"] .site-nav .submenu-toggle[aria-expanded="true"] {
    border-color:rgba(244,199,102,.8);
    background:rgba(244,199,102,.16);
    color:#ffe2a0;
    transform:translateY(-1px) rotate(180deg);
  }

  body[data-page="home"] .site-nav .primary-nav__submenu {
    min-width:16.2rem;
    overflow:hidden;
    padding:.72rem .55rem .55rem;
    border-color:rgba(255,255,255,.16);
    border-top-color:rgba(244,199,102,.78);
    background:
      radial-gradient(circle at 90% 0,rgba(81,110,234,.25),transparent 40%),
      linear-gradient(180deg,rgba(10,18,41,.99),rgba(16,31,71,.99));
    box-shadow:0 25px 44px rgba(2,7,20,.34),inset 0 1px 0 rgba(255,255,255,.1);
  }

  body[data-page="home"] .site-nav .primary-nav__submenu::before {
    content:"";
    position:absolute;
    top:0;
    left:.7rem;
    right:.7rem;
    height:2px;
    border-radius:999px;
    background:linear-gradient(90deg,var(--brand-red),var(--brand-gold) 49%,#516eea);
  }

  body[data-page="home"] .site-nav .primary-nav__submenu a {
    position:relative;
    padding-left:1.15rem;
    border-color:transparent;
    color:#f4f7ff;
  }

  body[data-page="home"] .site-nav .primary-nav__submenu a::before {
    content:"";
    position:absolute;
    top:50%;
    left:.55rem;
    width:.35rem;
    height:.35rem;
    border-radius:50%;
    background:var(--brand-gold);
    box-shadow:0 0 0 3px rgba(244,199,102,.13);
    transform:translateY(-50%);
  }

  body[data-page="home"] .site-nav .primary-nav__submenu a:hover,
  body[data-page="home"] .site-nav .primary-nav__submenu a:focus-visible,
  body[data-page="home"] .site-nav .primary-nav__submenu a.active {
    border-color:rgba(244,199,102,.38);
    background:linear-gradient(90deg,rgba(244,199,102,.14),rgba(81,110,234,.12));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 16px rgba(0,0,0,.12);
  }
}

/* The menu behavior switches at 1180px in nav.js, so the visual drawer needs
   to switch at that same point. This prevents the 901–1180px range from
   opening a narrow, header-bound menu. */
@media (max-width:1180px) {
  body[data-page="home"] .site-header {
    z-index:1300;
    overflow:visible;
  }

  body[data-page="home"] .site-nav-backdrop {
    position:fixed;
    inset:0;
    display:block;
    border:0;
    background:rgba(5,10,27,.58);
    backdrop-filter:blur(5px);
    opacity:0;
    pointer-events:none;
    transition:opacity .2s ease;
    z-index:1290;
  }

  body[data-page="home"].menu-open .site-nav-backdrop {
    opacity:1;
    pointer-events:auto;
  }

  body[data-page="home"] .site-nav {
    position:fixed !important;
    top:calc(var(--header-h) + .55rem);
    right:clamp(.75rem,2vw,1.25rem);
    left:clamp(.75rem,2vw,1.25rem);
    width:auto;
    bottom:auto;
    justify-self:stretch;
    max-height:calc(100vh - var(--header-h) - 1.3rem);
    overflow:auto;
    padding:1rem;
    border:1px solid rgba(255,255,255,.16);
    border-radius:28px;
    background:
      radial-gradient(circle at 90% 0,rgba(81,110,234,.22),transparent 34%),
      linear-gradient(180deg,rgba(10,18,41,.985),rgba(16,31,71,.985));
    box-shadow:0 28px 56px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.1);
    opacity:0;
    pointer-events:none;
    transform:translateY(-.75rem) scale(.985);
    visibility:hidden;
    transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s;
    z-index:1295;
  }

  body[data-page="home"] .site-nav::before {
    content:"";
    position:absolute;
    top:0;
    right:1rem;
    left:1rem;
    height:3px;
    border-radius:0 0 999px 999px;
    background:linear-gradient(90deg,var(--brand-red) 0 33%,var(--brand-gold) 33% 66%,#516eea 66% 100%);
    box-shadow:0 0 12px rgba(244,199,102,.22);
    pointer-events:none;
  }

  body[data-page="home"] .site-nav[hidden] {
    display:none !important;
  }

  body[data-page="home"] .site-nav.open {
    opacity:1;
    pointer-events:auto;
    transform:translateY(0) scale(1);
    visibility:visible;
    transition-delay:0s;
  }

  body[data-page="home"] .site-nav__mobile-header {
    display:grid;
    gap:.45rem;
    margin-bottom:.8rem;
    padding:.2rem .15rem 1rem;
    border-bottom:1px solid rgba(255,255,255,.1);
  }

  body[data-page="home"] .site-nav__eyebrow {
    color:rgba(255,255,255,.72);
    font-family:var(--font-display);
    font-size:.86rem;
    letter-spacing:.16em;
    text-transform:uppercase;
  }

  body[data-page="home"] .site-nav__mobile-title {
    color:#fff;
    font-size:1.32rem;
    line-height:1.05;
  }

  body[data-page="home"] .site-nav__mobile-header p {
    margin:0;
    color:rgba(255,255,255,.76);
    font-size:.95rem;
  }

  body[data-page="home"] .site-nav .primary-nav__list {
    flex-direction:column;
    align-items:stretch;
    gap:.55rem;
    padding:0;
  }

  body[data-page="home"] .site-nav .primary-nav__item,
  body[data-page="home"] .site-nav .primary-nav__item-group {
    width:100%;
  }

  body[data-page="home"] .site-nav .primary-nav__item-group {
    justify-content:space-between;
    padding:.2rem;
    border-radius:20px;
    background:rgba(255,255,255,.04);
  }

  body[data-page="home"] .site-nav .primary-nav__link {
    justify-content:flex-start;
    width:100%;
    min-height:50px;
    padding:0 1rem;
    border-radius:17px;
    background:rgba(255,255,255,.055);
    color:#fff;
    font-size:1rem;
  }

  body[data-page="home"] .site-nav .primary-nav__item.is-current-section > .primary-nav__link,
  body[data-page="home"] .site-nav .primary-nav__item.is-current-section > .primary-nav__item-group > .primary-nav__link {
    border:1px solid rgba(244,199,102,.7);
    background:linear-gradient(90deg,rgba(244,199,102,.16),rgba(81,110,234,.13));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 8px 16px rgba(0,0,0,.12);
  }

  body[data-page="home"] .site-nav .primary-nav__submenu {
    position:static;
    min-width:0;
    margin-top:.5rem;
    padding:.35rem 0 0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }

  body[data-page="home"] .site-nav .primary-nav__submenu a {
    border:1px solid rgba(255,255,255,.08);
    border-radius:16px;
    background:rgba(255,255,255,.055);
    color:#fff;
  }

  body[data-page="home"] .site-nav .primary-nav__submenu a:hover,
  body[data-page="home"] .site-nav .primary-nav__submenu a:focus-visible,
  body[data-page="home"] .site-nav .primary-nav__submenu a.active {
    border-color:rgba(244,199,102,.42);
    background:linear-gradient(90deg,rgba(244,199,102,.14),rgba(81,110,234,.12));
  }
}

@media (max-width:520px) {
  body[data-page="home"] .hero-brand-actions > a {
    padding-right:2.15rem;
  }

  body[data-page="home"] .hero-brand-actions > a::after {
    right:.72rem;
  }
}

/* Keep the full desktop shell compact enough that it supports the page rather
   than claiming a large slice of it while the visitor scrolls. */
@media (min-width:1181px) {
  body[data-page="home"] .site-header .header-inner {
    --header-h:138px;
    min-height:var(--header-h);
    gap:.35rem .85rem;
    padding-block:.35rem;
  }

  body[data-page="home"] .brand-logo {
    width:72px;
    height:72px;
  }

  body[data-page="home"] .home-header-search__bar {
    min-height:48px;
  }

  body[data-page="home"] .home-header-search input {
    height:46px;
  }

  body[data-page="home"] .home-header-utility a {
    min-width:42px;
    min-height:42px;
  }

  body[data-page="home"] .site-nav .primary-nav__link {
    min-height:42px;
  }

  body[data-page="home"] .site-nav .submenu-toggle,
  body[data-page="home"] .theme-toggle {
    min-height:42px;
    height:42px;
  }
}

/* Final homepage desktop header density pass. The first row is reserved for
   identity, search, and shopper tools; the short navigation rail below it no
   longer leaves a full second row of empty space while the page scrolls. */
@media (min-width:1181px) {
  body[data-page="home"],
  body[data-page="home"] .site-header {
    --header-h:96px;
  }

  body[data-page="home"] .site-header .header-inner {
    --header-h:96px;
    min-height:var(--header-h);
    grid-template-columns:minmax(235px,290px) minmax(320px,1fr) auto;
    grid-template-rows:50px 30px;
    grid-template-areas:
      "brand search utility"
      "nav nav actions";
    align-content:center;
    column-gap:.75rem;
    row-gap:.15rem;
    padding-block:.3rem;
  }

  body[data-page="home"] .brand {
    gap:.62rem;
  }

  body[data-page="home"] .brand-logo {
    width:50px;
    height:50px;
  }

  body[data-page="home"] .brand-script {
    font-size:clamp(1.42rem,1.52vw,1.68rem);
  }

  body[data-page="home"] .brand-kicker {
    font-size:.64rem;
    letter-spacing:.105em;
  }

  body[data-page="home"] .home-header-search__bar {
    min-height:42px;
  }

  body[data-page="home"] .home-header-search input {
    height:40px;
  }

  body[data-page="home"] .home-header-search button {
    min-width:96px;
    padding-inline:.76rem;
  }

  body[data-page="home"] .home-header-utility {
    gap:.38rem;
  }

  body[data-page="home"] .home-header-utility a {
    min-width:36px;
    min-height:36px;
  }

  body[data-page="home"] .home-header-utility__sell {
    padding-inline:.72rem;
    font-size:.82rem;
  }

  body[data-page="home"] .site-nav {
    align-self:center;
    justify-self:start;
  }

  body[data-page="home"] .site-nav .primary-nav__list {
    gap:.28rem;
  }

  body[data-page="home"] .site-nav .primary-nav__link {
    min-height:30px;
    padding:.24rem .62rem;
    font-size:.86rem;
  }

  body[data-page="home"] .site-nav .submenu-toggle,
  body[data-page="home"] .theme-toggle {
    min-height:30px;
    height:30px;
  }

  body[data-page="home"] .theme-toggle {
    min-width:112px;
    padding-inline:.68rem;
    font-size:.8rem;
  }
}

/* Shared storefront footer: the homepage footer is now the canonical shell
   for every buyer-facing root page. Keep the collection-photo separator, but
   let navy, white, and restrained gold carry the hierarchy. */
.footer.site-footer {
  --footer-artwork-offset:clamp(4.5rem,7vw,6rem);
  position:relative;
  margin-top:0;
  overflow:hidden;
  background:linear-gradient(135deg,#08132d 0%,#101d4d 54%,#15266b 100%);
}

.footer.site-footer::before {
  content:"";
  display:block;
  height:var(--footer-artwork-offset);
  background:linear-gradient(180deg,rgba(7,11,24,.1),rgba(7,11,24,.56)),var(--footer-image) center 42%/cover no-repeat;
  border-bottom:2px solid rgba(255,255,255,.12);
  opacity:.58;
}

.footer.site-footer::after {
  inset:0 0 auto 0;
  z-index:1;
  height:3px;
  background:linear-gradient(90deg,var(--brand-gold),rgba(228,177,65,.18));
}

.footer.site-footer .footer-inner {
  grid-template-columns:minmax(260px,.9fr) minmax(0,1.6fr);
  gap:2.25rem;
  padding-top:calc(var(--footer-artwork-offset) + 1.5rem);
  padding-bottom:2.25rem;
}

.footer.site-footer .footer-brand,
.footer.site-footer .footer-links {
  padding:0;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
  backdrop-filter:none;
}

.footer.site-footer .footer-brand {
  gap:.95rem;
  padding-left:1rem;
}

.footer.site-footer .footer-brand::before {
  content:"";
  position:absolute;
  top:.14rem;
  bottom:.14rem;
  left:0;
  width:3px;
  border-radius:999px;
  background:linear-gradient(180deg,var(--brand-gold),rgba(228,177,65,.24));
}

.footer.site-footer .footer-brand p {
  max-width:38ch;
  margin:0;
  color:rgba(255,255,255,.73);
}

.footer.site-footer .footer-link-groups {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(1rem,2.4vw,2rem);
}

.footer.site-footer .footer-link-group {
  position:relative;
  gap:.58rem;
  padding:.58rem 0 0;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
}

.footer.site-footer .footer-link-group::before {
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:2.45rem;
  height:2px;
  border-radius:999px;
  background:var(--brand-gold);
  box-shadow:0 0 8px rgba(228,177,65,.22);
}

.footer.site-footer .footer-link-group strong {
  display:flex;
  align-items:center;
  gap:.48rem;
  color:var(--brand-gold);
  font-size:.94rem;
  letter-spacing:.13em;
}

.footer.site-footer .footer-link-group strong svg {
  width:19px;
  height:19px;
  flex:0 0 auto;
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:1.8;
}

.footer.site-footer .footer-link-group a {
  display:inline-flex;
  align-items:center;
  min-height:0;
  padding:.22rem 0;
  border:0;
  border-radius:0;
  background:none;
  color:rgba(255,255,255,.82);
  box-shadow:none;
  font-size:.91rem;
}

.footer.site-footer .footer-link-group a:hover,
.footer.site-footer .footer-link-group a:focus-visible {
  border:0;
  background:none;
  color:var(--brand-gold);
  transform:translateX(3px);
}

.footer.site-footer .footer-bottom {
  position:relative;
  z-index:1;
  padding-top:1.05rem;
  padding-bottom:1.3rem;
  border-top-color:rgba(255,255,255,.14);
  color:rgba(255,255,255,.68);
  font-size:.83rem;
}

/* Homepage accent restraint: keep saturated color for commerce actions and
   use one navy/gold signal for structure, status, and wayfinding. */
body[data-page="home"] .home-section-rule {
  width:96px;
  height:3px;
  background:linear-gradient(90deg,var(--brand-blue-dark) 0 82%,var(--brand-gold) 82%);
}

body[data-page="home"] .home-section-rule span {
  display:none;
}

body[data-page="home"] .home-section-kicker,
body[data-page="home"] .home-section-kicker strong {
  color:var(--brand-blue-dark);
}

body[data-page="home"] .home-section-kicker i {
  color:var(--brand-gold);
}

body[data-page="home"] .home-connect-section {
  background:
    radial-gradient(circle at 10% 10%,rgba(31,95,255,.18),transparent 30%),
    radial-gradient(circle at 92% 84%,rgba(239,24,35,.1),transparent 31%),
    linear-gradient(135deg,#08132d 0%,#101d4d 54%,#15266b 100%);
}

body[data-page="home"] .home-connect-section .home-section-kicker,
body[data-page="home"] .home-connect-section .home-section-kicker strong {
  color:var(--brand-gold);
}

body[data-page="home"] .home-connect-section .home-section-kicker i {
  color:rgba(255,255,255,.68);
}

body[data-page="home"] .home-connect-card:nth-child(2)::before,
body[data-page="home"] .home-connect-card:nth-child(3)::before {
  background:linear-gradient(90deg,var(--brand-gold),rgba(228,177,65,0));
}

body[data-page="home"] .home-connect-card:nth-child(2)::after,
body[data-page="home"] .home-connect-card:nth-child(3)::after {
  background:radial-gradient(circle,rgba(228,177,65,.12),transparent 68%);
}

body[data-page="home"] .home-category-section::before {
  background:
    radial-gradient(circle at 6% 8%,rgba(36,72,218,.06),transparent 26%),
    radial-gradient(circle at 94% 72%,rgba(228,177,65,.05),transparent 23%);
}

body[data-page="home"] .home-featured-section::before {
  background:
    linear-gradient(180deg,rgba(255,255,255,.24),rgba(239,244,255,.34)),
    radial-gradient(circle at 90% 6%,rgba(228,177,65,.07),transparent 23%);
}

body[data-page="home"] .home-section-heading > p::before,
body[data-page="home"] .home-section-heading__copy::before {
  background:linear-gradient(180deg,var(--brand-blue-dark),var(--brand-gold));
}

body[data-page="home"] .home-section-heading > p,
body[data-page="home"] .home-section-heading__copy {
  background:linear-gradient(90deg,rgba(36,72,218,.045),rgba(255,255,255,0) 100%);
}

body[data-page="home"] .home-featured-section .product-card {
  --product-accent:var(--brand-blue) !important;
  --product-accent-rgb:31,47,163 !important;
}

body[data-page="home"] .home-featured-section .product-price {
  color:var(--brand-blue-dark);
}

body[data-page="home"] .home-category-section .category-card,
body[data-page="home"] .home-category-section .category-card:nth-child(2),
body[data-page="home"] .home-category-section .category-card:nth-child(3) {
  --category-accent:var(--brand-gold);
  --category-accent-rgb:228,177,65;
  border-color:rgba(228,177,65,.36);
  box-shadow:inset 0 3px 0 rgba(228,177,65,.76),0 20px 38px rgba(16,27,57,.16);
}

body[data-page="home"] .site-footer::after {
  background:linear-gradient(90deg,var(--brand-gold),rgba(228,177,65,.18));
}

body[data-page="home"] .site-footer .footer-brand::before {
  background:linear-gradient(180deg,var(--brand-gold),rgba(228,177,65,.24));
}

body[data-page="home"] .site-footer .footer-link-group--support,
body[data-page="home"] .site-footer .footer-link-group--storefronts {
  --footer-group-accent:var(--brand-gold);
  --footer-group-accent-rgb:228,177,65;
}

body[data-page="home"] .site-footer .footer-link-group strong,
body[data-page="home"] .site-footer .footer-link-group a:hover,
body[data-page="home"] .site-footer .footer-link-group a:focus-visible {
  color:var(--brand-gold);
}

/* Shared header refinement: keep the centered menu treatment consistent on
   every storefront page while keeping catalog search exclusive to the home
   header. */
@media (min-width:1181px) {
  .site-header .header-inner {
    row-gap:.5rem !important;
  }

  .site-header .site-nav {
    justify-self:center !important;
  }

  .site-header .site-nav .primary-nav__list {
    justify-content:center !important;
  }

  body[data-page="home"] .site-header .site-nav {
    transform:translateX(clamp(3rem,10vw,8rem));
  }

  body:not([data-page="home"]) .site-header .header-inner {
    min-height:96px;
    grid-template-columns:minmax(220px,260px) minmax(0,1fr) auto auto;
    grid-template-rows:minmax(0,1fr);
    grid-template-areas:"brand nav utility actions";
    align-content:center;
    column-gap:.75rem;
    padding-block:.32rem;
  }

  body:not([data-page="home"]) .site-header .brand {
    grid-area:brand;
  }

body:not([data-page="home"]) .site-header .home-header-search {
    display:none !important;
  }

  body:not([data-page="home"]) .site-header .home-header-utility {
    grid-area:utility;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:.38rem;
    min-width:0;
  }

  body:not([data-page="home"]) .site-header .home-header-utility a {
    min-width:36px;
    min-height:36px;
  }

  body:not([data-page="home"]) .site-header .site-nav {
    grid-area:nav;
  }

  body:not([data-page="home"]) .site-header .theme-toggle {
    grid-area:theme;
    justify-self:end;
    min-height:38px;
    height:38px;
  }

  body:not([data-page="home"]) .site-header .header-actions {
    grid-area:actions;
    justify-self:end;
  }

  body:not([data-page="home"]) .site-header .nav-toggle {
    display:none !important;
  }

  body:not([data-page="home"]) .site-header .brand-logo {
    width:58px;
    height:58px;
  }

body:not([data-page="home"]) .site-header .site-nav .primary-nav__link {
    min-height:34px;
    padding-inline:.72rem;
    font-size:.86rem;
  }
}

#sports-cards {
  scroll-margin-top:calc(var(--header-h, 6rem) + 1rem);
}

.shop-sports-section {
  padding-top:2.25rem;
}

/* Bring the homepage navigation finish to every interior header. */
@media (min-width:1181px) {
  body:not([data-page="home"]) .site-header .site-nav .primary-nav__link {
    position:relative;
    min-height:30px;
    padding:.24rem .62rem;
    border:1px solid transparent;
    background:rgba(255,255,255,.025);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
    font-size:.86rem;
    transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;
  }

  body:not([data-page="home"]) .site-header .site-nav .primary-nav__link::after {
    content:"";
    position:absolute;
    right:1rem;
    bottom:.42rem;
    left:1rem;
    height:2px;
    border-radius:999px;
    background:linear-gradient(90deg,var(--brand-red),var(--brand-gold) 48%,#516eea);
    box-shadow:0 0 10px rgba(244,199,102,.28);
    opacity:0;
    transform:scaleX(.35);
    transition:opacity .2s ease,transform .2s ease;
  }

  body:not([data-page="home"]) .site-header .site-nav .primary-nav__link:hover,
  body:not([data-page="home"]) .site-header .site-nav .primary-nav__link:focus-visible,
  body:not([data-page="home"]) .site-header .site-nav .primary-nav__item.is-current-section > .primary-nav__link,
  body:not([data-page="home"]) .site-header .site-nav .primary-nav__item.is-current-section > .primary-nav__item-group > .primary-nav__link {
    border-color:rgba(244,199,102,.34);
    background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(81,110,234,.08));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 8px 16px rgba(0,0,0,.12);
    transform:translateY(-1px);
  }

  body:not([data-page="home"]) .site-header .site-nav .primary-nav__link:hover::after,
  body:not([data-page="home"]) .site-header .site-nav .primary-nav__link:focus-visible::after,
  body:not([data-page="home"]) .site-header .site-nav .primary-nav__item.is-current-section > .primary-nav__link::after,
  body:not([data-page="home"]) .site-header .site-nav .primary-nav__item.is-current-section > .primary-nav__item-group > .primary-nav__link::after {
    opacity:1;
    transform:scaleX(1);
  }

  body:not([data-page="home"]) .site-header .site-nav .submenu-toggle[aria-expanded="true"] {
    border-color:rgba(244,199,102,.8);
    background:rgba(244,199,102,.16);
    color:#ffe2a0;
    transform:translateY(-1px) rotate(180deg);
  }

  body:not([data-page="home"]) .site-header .site-nav .primary-nav__submenu {
    min-width:16.2rem;
    overflow:hidden;
    padding:.72rem .55rem .55rem;
    border-color:rgba(255,255,255,.16);
    border-top-color:rgba(244,199,102,.78);
    background:
      radial-gradient(circle at 90% 0,rgba(81,110,234,.25),transparent 40%),
      linear-gradient(180deg,rgba(10,18,41,.99),rgba(16,31,71,.99));
    box-shadow:0 25px 44px rgba(2,7,20,.34),inset 0 1px 0 rgba(255,255,255,.1);
  }

  body:not([data-page="home"]) .site-header .site-nav .primary-nav__submenu::before {
    content:"";
    position:absolute;
    top:0;
    left:.7rem;
    right:.7rem;
    height:2px;
    border-radius:999px;
    background:linear-gradient(90deg,var(--brand-red),var(--brand-gold) 49%,#516eea);
  }

  body:not([data-page="home"]) .site-header .site-nav .primary-nav__submenu a {
    position:relative;
    padding-left:1.15rem;
    border-color:transparent;
    color:#f4f7ff;
  }

  body:not([data-page="home"]) .site-header .site-nav .primary-nav__submenu a::before {
    content:"";
    position:absolute;
    top:50%;
    left:.55rem;
    width:.35rem;
    height:.35rem;
    border-radius:50%;
    background:var(--brand-gold);
    box-shadow:0 0 0 3px rgba(244,199,102,.13);
    transform:translateY(-50%);
  }

  body:not([data-page="home"]) .site-header .site-nav .primary-nav__submenu a:hover,
  body:not([data-page="home"]) .site-header .site-nav .primary-nav__submenu a:focus-visible,
  body:not([data-page="home"]) .site-header .site-nav .primary-nav__submenu a.active {
    border-color:rgba(244,199,102,.38);
    background:linear-gradient(90deg,rgba(244,199,102,.14),rgba(81,110,234,.12));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 16px rgba(0,0,0,.12);
  }

  body:not([data-page="home"]) .site-header .site-nav .header-wishlist-item,
  body:not([data-page="home"]) .site-header .site-nav .header-cart-item,
  body:not([data-page="home"]) .site-header .site-nav .primary-nav__item:last-child {
    display:none;
  }
}

body:not([data-page="home"]) .site-header .home-header-utility__icon[href$="account.html"]:hover,
body:not([data-page="home"]) .site-header .home-header-utility__icon[href$="account.html"]:focus-visible {
  border-color:rgba(170,190,255,.7);
  color:#c7d3ff;
}

body:not([data-page="home"]) .site-header .home-header-utility__icon[href$="wishlist.html"]:hover,
body:not([data-page="home"]) .site-header .home-header-utility__icon[href$="wishlist.html"]:focus-visible {
  border-color:rgba(255,122,130,.72);
  color:#ff9ca3;
}

body:not([data-page="home"]) .site-header .home-header-utility__icon[data-cart-link]:hover,
body:not([data-page="home"]) .site-header .home-header-utility__icon[data-cart-link]:focus-visible {
  border-color:rgba(244,199,102,.78);
  color:#ffe19a;
}

@media (max-width:1180px) {
  body:not([data-page="home"]) .site-header .home-header-utility {
    display:none !important;
  }

  body:not([data-page="home"]) .site-header .site-nav .primary-nav__item-group {
    justify-content:space-between;
    padding:.2rem;
    border-radius:20px;
    background:rgba(255,255,255,.04);
  }

  body:not([data-page="home"]) .site-header .site-nav .primary-nav__link {
    min-height:50px;
    padding:0 1rem;
    border-radius:17px;
    background:rgba(255,255,255,.055);
    color:#fff;
    font-size:1rem;
  }

  body:not([data-page="home"]) .site-header .site-nav .primary-nav__item.is-current-section > .primary-nav__link,
  body:not([data-page="home"]) .site-header .site-nav .primary-nav__item.is-current-section > .primary-nav__item-group > .primary-nav__link {
    border:1px solid rgba(244,199,102,.7);
    background:linear-gradient(90deg,rgba(244,199,102,.16),rgba(81,110,234,.13));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 8px 16px rgba(0,0,0,.12);
  }

  body:not([data-page="home"]) .site-header .site-nav .primary-nav__submenu a {
    border:1px solid rgba(255,255,255,.08);
    border-radius:16px;
    background:rgba(255,255,255,.055);
    color:#fff;
  }

  body:not([data-page="home"]) .site-header .site-nav .primary-nav__submenu a:hover,
  body:not([data-page="home"]) .site-header .site-nav .primary-nav__submenu a:focus-visible,
  body:not([data-page="home"]) .site-header .site-nav .primary-nav__submenu a.active {
    border-color:rgba(244,199,102,.42);
    background:linear-gradient(90deg,rgba(244,199,102,.14),rgba(81,110,234,.12));
  }
}

/* Final shell polish: give every desktop control an explicit grid track so
   the brand, search, navigation, shopper tools, and theme control never
   compete for the same space. */
@media (min-width:1181px) {
  body[data-page="home"],
  body[data-page="home"] .site-header {
    --header-h:102px;
  }

  body[data-page="home"] .site-header .header-inner {
    --header-h:102px;
    min-height:var(--header-h);
    grid-template-columns:minmax(220px,260px) minmax(340px,1fr) auto auto;
    grid-template-rows:50px 34px;
    grid-template-areas:
      "brand search utility theme"
      ". nav nav .";
    align-content:center;
    align-items:center;
    column-gap:.75rem;
    row-gap:.28rem !important;
    padding-block:.28rem;
  }

  body[data-page="home"] .site-header .brand {
    grid-area:brand;
    min-width:0;
  }

  body[data-page="home"] .site-header .home-header-search {
    grid-area:search;
    width:100%;
    min-width:0;
  }

  body[data-page="home"] .site-header .home-header-utility {
    grid-area:utility;
  }

  body[data-page="home"] .site-header .theme-toggle {
    justify-self:end;
    margin-left:0;
  }

  body[data-page="home"] .site-header .header-actions {
    grid-area:theme;
    justify-self:end;
  }

  body[data-page="home"] .site-header .site-nav {
    grid-area:nav;
    align-self:center;
    justify-self:center !important;
    transform:none;
  }

  body[data-page="home"] .site-header .site-nav .primary-nav__list {
    justify-content:center !important;
  }

  body:not([data-page="home"]) .site-header .header-inner {
    grid-template-columns:minmax(220px,260px) minmax(0,1fr) auto auto;
    grid-template-areas:"brand nav utility theme";
  }

  body:not([data-page="home"]) .site-header .site-nav {
    align-self:center;
  }

  body:not([data-page="home"]) .site-header .theme-toggle {
    grid-area:theme;
    margin-left:0;
  }

  body:not([data-page="home"]) .site-header .header-actions {
    grid-area:theme;
  }
}

/* Final interior-page polish: improve legibility over varied hero artwork and
   give the site's supporting cards one quiet, consistent collector finish. */
body:not([data-page="home"]) .page-hero-card {
  border:1px solid rgba(255,255,255,.34);
  box-shadow:inset 0 3px 0 rgba(244,199,102,.7),0 22px 44px rgba(16,27,57,.14);
}

body:not([data-page="home"]) .page-hero-card .breadcrumb-nav {
  width:max-content;
  max-width:100%;
  padding:.42rem .68rem;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(8,19,45,.48);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 18px rgba(0,0,0,.12);
  backdrop-filter:blur(8px);
}

body:not([data-page="home"]) .page-hero-card .breadcrumb-list,
body:not([data-page="home"]) .page-hero-card .breadcrumb-list a,
body:not([data-page="home"]) .page-hero-card .breadcrumb-current {
  color:#fff;
}

body:not([data-page="home"]) main :is(
  .story-card,
  .brand-card,
  .contact-card,
  .policy-summary-card,
  .account-panel,
  .feature-card,
  .stat-card,
  .about-archive-panel
) {
  border-color:rgba(31,47,163,.13);
  box-shadow:inset 0 3px 0 rgba(244,199,102,.58),0 18px 36px rgba(16,27,57,.1);
}

body.dark-mode:not([data-page="home"]) main :is(
  .story-card,
  .brand-card,
  .contact-card,
  .policy-summary-card,
  .account-panel,
  .feature-card,
  .stat-card,
  .about-archive-panel
) {
  border-color:rgba(255,255,255,.13);
  box-shadow:inset 0 3px 0 rgba(244,199,102,.52),0 20px 38px rgba(0,0,0,.2);
}

/* Responsive catalog and shared-header corrections. Cards retain comfortable
   actions beside the desktop filter rail, player data follows the photo stack,
   and interior headers keep navigation, branding, and shopper tools on one
   intentional desktop rail. */
@media (min-width:901px) {
  .catalog-browse-shell:not(.filters-collapsed) .catalog-results-column .products-grid {
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr)) !important;
  }
}

.product-card {
  container-name:product-card;
  container-type:inline-size;
}

@container product-card (max-width:230px) {
  .product-card-actions {
    grid-template-columns:1fr;
  }

  .product-card-actions :is(button,a),
  .product-card-actions .buy-button--inquiry {
    grid-column:1;
    min-height:42px;
    padding-inline:.7rem;
    white-space:normal;
  }
}

.modal-media > .nba-slab-stats,
.modal-media > .slab-stats {
  width:100%;
  margin-top:.15rem;
}

@media (min-width:1181px) {
  body:not([data-page="home"]),
  body:not([data-page="home"]) .site-header {
    --header-h:88px;
  }

  body:not([data-page="home"]) .site-header .header-inner {
    min-height:var(--header-h);
    grid-template-columns:minmax(220px,.72fr) minmax(580px,1.75fr) auto auto;
    grid-template-rows:minmax(0,1fr);
    grid-template-areas:"brand nav utility theme";
    align-content:center;
    align-items:center;
    column-gap:.72rem;
    row-gap:0 !important;
    padding-block:.3rem;
  }

  body:not([data-page="home"]) .site-header .brand-logo {
    width:62px;
    height:62px;
  }

  body:not([data-page="home"]) .site-header .home-header-utility {
    gap:.48rem;
  }

  body:not([data-page="home"]) .site-header .home-header-utility a {
    min-width:40px;
    min-height:40px;
  }

  body:not([data-page="home"]) .site-header .site-nav {
    width:100%;
    max-width:680px;
    align-self:center;
    justify-self:center !important;
  }

  body:not([data-page="home"]) .site-header .site-nav .primary-nav__list {
    justify-content:center !important;
  }

  body:not([data-page="home"]) .site-header .site-nav .primary-nav__link {
    min-height:36px;
    padding:.3rem .58rem;
  }

  body:not([data-page="home"]) .site-header .header-actions {
    grid-area:theme;
    justify-self:end;
  }
}

@media (min-width:1181px) and (max-width:1280px) {
  body:not([data-page="home"]) .site-header .header-inner {
    grid-template-columns:minmax(260px,.72fr) minmax(560px,1.75fr) auto auto;
  }

  body:not([data-page="home"]) .site-header .brand {
    gap:.45rem;
  }

  body:not([data-page="home"]) .site-header .brand-script {
    font-size:1.45rem;
    white-space:nowrap;
  }

  body:not([data-page="home"]) .site-header .brand-kicker {
    font-size:.62rem;
    letter-spacing:.075em;
    white-space:nowrap;
  }

  body:not([data-page="home"]) .site-header .site-nav {
    max-width:600px;
  }

  body:not([data-page="home"]) .site-header .site-nav .primary-nav__link {
    padding-inline:.48rem;
    font-size:.83rem;
  }
}

@media (min-width:901px) {
  body:not([data-page="home"]) .page-hero-card .page-title {
    max-width:16ch;
    text-wrap:balance;
  }
}

/* Collector filter rail refinement.
   The browsing controls remain compact, but each decision point gets a clearer
   boundary and a useful inventory readout instead of a dense form stack. */
.filter-panel--drawer .filter-panel-eyebrow {
  color:var(--brand-red);
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.14em;
  line-height:1;
  text-transform:uppercase;
}

.filter-panel--drawer .filter-panel-status {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.65rem;
  margin-top:.08rem;
  padding:.62rem .7rem;
  border:1px solid rgba(31,47,163,.15);
  border-radius:14px;
  background:linear-gradient(135deg,rgba(31,47,163,.08),rgba(255,255,255,.72));
}

.filter-panel--drawer .filter-panel-status__summary {
  display:grid;
  gap:.1rem;
  min-width:0;
}

.filter-panel--drawer .filter-panel-status__count {
  color:var(--text);
  font-size:.82rem;
  line-height:1.18;
}

.filter-panel--drawer .filter-panel-status__active {
  color:var(--muted);
  font-size:.73rem;
  font-weight:750;
  line-height:1.15;
}

.filter-panel--drawer .filter-panel-status__reset {
  flex:0 0 auto;
  min-height:32px;
  padding:.32rem .54rem;
  border:1px solid rgba(31,47,163,.22);
  border-radius:10px;
  background:rgba(255,255,255,.82);
  color:var(--brand-blue);
  font-size:.72rem;
  font-weight:900;
  cursor:pointer;
}

.filter-panel--drawer .filter-panel-status__reset:hover,
.filter-panel--drawer .filter-panel-status__reset:focus-visible {
  border-color:var(--brand-blue);
  background:#fff;
}

.filter-panel--drawer .filter-panel-status-copy {
  margin:0;
  color:var(--muted);
  font-size:.76rem;
  line-height:1.35;
}

.filter-panel--drawer .field-group--sort-source {
  display:none !important;
}

@media (min-width:901px) {
  .catalog-browse-shell > .filter-panel {
    padding:1.15rem 1rem calc(1.25rem + env(safe-area-inset-bottom,0));
    border:1px solid rgba(31,47,163,.14);
    border-left:0;
    background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(242,246,255,.98));
    box-shadow:0 24px 46px rgba(16,27,57,.18);
  }

  .filter-panel--drawer .filter-panel-header {
    display:grid;
    gap:.45rem;
    margin:0 0 .85rem;
    padding:0 0 .9rem !important;
    border-bottom:1px solid rgba(31,47,163,.13);
  }

  .filter-panel--drawer .filter-panel-header h2 {
    color:var(--text);
    font-size:1.36rem;
    letter-spacing:-.02em;
  }

  .filter-panel--drawer .filter-grid {
    display:grid;
    gap:.68rem;
  }

  .filter-panel--drawer .field-group {
    margin:0;
    padding:.7rem;
    border:1px solid rgba(16,27,57,.1);
    border-radius:17px;
    background:rgba(255,255,255,.8);
    box-shadow:0 8px 18px rgba(16,27,57,.045);
  }

  .filter-panel--drawer .field-group > label:not(.facet-label-row),
  .filter-panel--drawer .range-grid .field-group > label {
    color:var(--text);
    font-size:.7rem;
    font-weight:900;
    letter-spacing:.1em;
    text-transform:uppercase;
  }

  .filter-panel--drawer .facet-label-row {
    align-items:center;
    margin-bottom:.52rem;
  }

  .filter-panel--drawer .facet-label-row > span:first-child {
    color:var(--text);
    font-size:.88rem;
    font-weight:900;
  }

  .filter-panel--drawer .facet-label-meta {
    display:inline-flex;
    align-items:center;
    min-height:22px;
    padding:.15rem .42rem;
    border-radius:999px;
    background:rgba(31,47,163,.08);
    color:var(--brand-blue);
    font-size:.64rem;
    font-weight:900;
  }

  .filter-panel--drawer .facet-group {
    display:grid;
    gap:.42rem;
    padding:0;
  }

  .filter-panel--drawer .facet-options {
    gap:.34rem;
  }

  .filter-panel--drawer .facet-option {
    display:grid;
    grid-template-columns:1rem minmax(0,1fr);
    align-items:center;
    min-height:42px;
    gap:.54rem;
    padding:.5rem .56rem;
    border:1px solid transparent;
    border-radius:12px;
    background:transparent;
    font-size:.8rem;
    transition:background .16s ease,border-color .16s ease,box-shadow .16s ease;
  }

  .filter-panel--drawer .facet-option:hover {
    background:rgba(31,47,163,.045);
  }

  .filter-panel--drawer .facet-option:has(input:checked) {
    border-color:rgba(31,47,163,.2);
    background:linear-gradient(135deg,rgba(31,47,163,.1),rgba(255,255,255,.9));
    box-shadow:0 7px 16px rgba(31,47,163,.08);
  }

  .filter-panel--drawer .facet-option input {
    width:1rem;
    height:1rem;
    margin:0;
    accent-color:var(--brand-blue);
  }

  .filter-panel--drawer .facet-option > span {
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:.45rem;
    min-width:0;
    color:var(--text);
    font-size:.8rem;
    font-weight:750;
  }

  .filter-panel--drawer .facet-option-text {
    overflow-wrap:anywhere;
  }

  .filter-panel--drawer .facet-option-count {
    flex:0 0 auto;
    color:var(--muted);
    font-size:.69rem;
    font-weight:850;
  }

  .filter-panel--drawer .facet-toggle {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:36px;
    margin-top:.05rem;
    padding:.38rem .55rem;
    border:1px dashed rgba(31,47,163,.26);
    border-radius:11px;
    background:rgba(31,47,163,.035);
    color:var(--brand-blue);
    font-size:.73rem;
    font-weight:900;
    text-decoration:none;
  }

  .filter-panel--drawer .facet-toggle:hover,
  .filter-panel--drawer .facet-toggle:focus-visible {
    border-color:var(--brand-blue);
    background:rgba(31,47,163,.08);
    text-decoration:none;
  }

  .filter-panel--drawer .range-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.58rem;
    margin:0 !important;
    padding:.7rem;
    border:1px solid rgba(16,27,57,.1);
    border-radius:17px;
    background:rgba(255,255,255,.8);
    box-shadow:0 8px 18px rgba(16,27,57,.045);
  }

  .filter-panel--drawer .range-grid .field-group {
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }

  .filter-panel--drawer :is(input[type="number"], select) {
    min-height:40px;
    border-radius:11px;
  }

  .filter-panel--drawer .inline-actions {
    margin:.15rem 0 0 !important;
    padding:.12rem;
  }

  .filter-panel--drawer .inline-actions #clearFilters {
    width:100%;
    min-height:42px;
    border-radius:13px;
    font-weight:900;
  }

  body.dark-mode .catalog-browse-shell > .filter-panel {
    border-color:rgba(255,255,255,.12);
    background:linear-gradient(180deg,rgba(16,25,47,.99),rgba(10,17,33,.99));
    box-shadow:0 24px 46px rgba(0,0,0,.35);
  }

  body.dark-mode .filter-panel--drawer .filter-panel-header {
    border-color:rgba(255,255,255,.12);
  }

  body.dark-mode .filter-panel--drawer .filter-panel-status,
  body.dark-mode .filter-panel--drawer .field-group,
  body.dark-mode .filter-panel--drawer .range-grid {
    border-color:rgba(255,255,255,.12);
    background:rgba(255,255,255,.055);
    box-shadow:none;
  }

  body.dark-mode .filter-panel--drawer .filter-panel-status__count,
  body.dark-mode .filter-panel--drawer .facet-label-row > span:first-child,
  body.dark-mode .filter-panel--drawer .facet-option > span {
    color:#f5f8ff;
  }

  body.dark-mode .filter-panel--drawer .filter-panel-status__reset {
    border-color:rgba(141,183,255,.45);
    background:rgba(255,255,255,.08);
    color:#b9d2ff;
  }

  body.dark-mode .filter-panel--drawer .facet-option:hover,
  body.dark-mode .filter-panel--drawer .facet-option:has(input:checked) {
    border-color:rgba(141,183,255,.28);
    background:rgba(141,183,255,.11);
    box-shadow:none;
  }
}

/* The arena photo remains the footer lead-in; its shared content field now
   uses the same deep navy as the fan-suite header on every canonical footer. */
.footer.site-footer {
  background:linear-gradient(135deg,#080d1d 0%,#0c1326 54%,#101b46 100%) !important;
}

/* 99-responsive-consolidated.css | Narrow-screen rules stay last to preserve cascade order. */

/* Shared mobile/storefront stabilization layer.
   This file stays loaded after styles.css so mobile fixes remain isolated,
   easier to review, and easier to revert than when they lived at the end of
   the main bundle. */

@media (max-width:1080px) {
  /* Compact catalog pagination uses one shared structure from tablet down;
     smaller breakpoints below only tune spacing and control sizes. */
  body.dark-mode .catalog-results-column .results-toolbar .toolbar-search-label {
    color:#f8fbff;
  }

  .catalog-results-column .results-toolbar .catalog-pagination--top {
    display:block !important;
    order:1;
    width:100%;
    min-width:0;
    margin:0;
  }

  body.dark-mode .catalog-results-column .results-toolbar .catalog-pagination--top .catalog-pagination__inner {
    background:rgba(255,255,255,.055);
    border-color:rgba(255,255,255,.12);
  }

  .catalog-results-column .results-toolbar .catalog-pagination--top .catalog-pagination__range,
  .catalog-results-column .results-toolbar .catalog-pagination--top .catalog-pagination__per-page {
    display:none;
  }

  .catalog-results-column .results-toolbar .catalog-pagination--top .catalog-pagination__pages {
    display:flex;
    justify-content:center;
    gap:.18rem;
    min-width:0;
    overflow:hidden;
  }

  .catalog-results-column .results-toolbar .catalog-pagination--top .catalog-pagination__page:nth-child(n+6) {
    display:none;
  }
}

@media (min-width:901px) and (max-width:1080px), (max-width:860px) {
  .catalog-results-column .results-toolbar .catalog-pagination--top .catalog-pagination__page {
    width:1.95rem;
    min-width:1.95rem;
    height:1.95rem;
    padding:0;
    border-radius:10px;
    font-size:.82rem;
  }
}

@media (min-width:901px) and (max-width:1080px), (min-width:1181px) {
  .catalog-results-column .results-toolbar .toolbar-sort select {
    flex:1 1 auto;
    min-width:0;
  }
}

@media (min-width:901px) and (max-width:1080px) {
  /* Narrow desktop windows keep the filter rail open, so the results controls
     need to stack before they can overflow beside the sidebar. */
  .catalog-results-column {
    box-sizing:border-box;
    min-width:0;
    max-width:100vw;
    grid-template-columns:minmax(0,1fr);
  }

  .catalog-results-column .products-grid,
  .catalog-results-column .catalog-support-callout,
  .catalog-results-column .results-toolbar {
    box-sizing:border-box;
    max-width:100%;
    min-width:0;
  }

  .catalog-results-column .results-toolbar {
    display:grid;
    grid-template-columns:1fr;
    width:100%;
    min-width:0;
    gap:.78rem;
  }

  .catalog-results-column .results-toolbar .toolbar-sort,
  .catalog-results-column .results-toolbar .toolbar-search,
  .catalog-results-column .results-toolbar .results-meta,
  .catalog-results-column .results-toolbar .toolbar-actions {
    width:100%;
    min-width:0;
    margin-left:0;
  }

  .catalog-results-column .results-toolbar .toolbar-sort {
    justify-content:space-between;
  }

  .catalog-results-column .results-toolbar .toolbar-search .field-group--toolbar-search {
    display:grid;
    gap:.38rem;
    padding:.6rem .7rem .7rem;
  }

  .catalog-results-column .results-toolbar .toolbar-search-label {
    display:block !important;
    margin:0;
    color:var(--text);
    font-family:"Bebas Neue",sans-serif;
    font-size:.88rem;
    font-weight:800;
    letter-spacing:.15em;
    line-height:1;
    text-transform:uppercase;
  }

  .catalog-results-column .results-toolbar .toolbar-actions {
    order:2;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.55rem;
  }

  .catalog-results-column .results-toolbar .mini-link-button {
    width:100%;
    min-width:0;
    padding-inline:.7rem;
  }

  .catalog-results-column .results-toolbar .catalog-pagination--top .catalog-pagination__inner {
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:.4rem;
    width:100%;
    min-width:0;
    padding:.55rem .65rem;
    border:1px solid var(--border);
    border-radius:18px;
    background:rgba(255,255,255,.58);
  }

  .catalog-results-column .results-toolbar .catalog-pagination--top .catalog-pagination__arrow {
    width:2.15rem;
    min-width:2.15rem;
    height:2.15rem;
    font-size:1.45rem;
  }

}

@media (max-width:900px) {
  /* Keep compact catalog controls in the normal flow so they never float over
     product grids or footer sections on smaller screens. */
  .mobile-filter-trigger,
  .results-toolbar {
    position:static !important;
    top:auto !important;
    z-index:auto !important;
  }

  .catalog-results-column .mobile-filter-trigger {
    margin-bottom:.85rem;
  }

  .catalog-results-column .results-toolbar {
    width:100%;
    max-width:100%;
    margin-bottom:1rem;
  }

  .catalog-results-column .results-toolbar .toolbar-search .field-group--toolbar-search {
    display:grid !important;
    gap:.38rem;
    padding:.55rem .65rem .65rem !important;
  }

  .catalog-results-column .results-toolbar .toolbar-search-label {
    display:block !important;
    margin:0;
    color:var(--text);
    font-family:"Bebas Neue",sans-serif;
    font-size:.86rem;
    font-weight:800;
    letter-spacing:.14em;
    line-height:1;
    text-transform:uppercase;
  }

  .catalog-results-column .results-toolbar .catalog-pagination--top .catalog-pagination__inner {
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:.35rem;
    width:100%;
    min-width:0;
    padding:.5rem .55rem;
    border:1px solid var(--border);
    border-radius:17px;
    background:rgba(255,255,255,.58);
  }

  .catalog-results-column .results-toolbar .catalog-pagination--top .catalog-pagination__page {
    width:2rem;
    min-width:2rem;
    height:2rem;
    padding:0;
    font-size:.85rem;
  }

  .catalog-results-column .results-toolbar .catalog-pagination--top .catalog-pagination__arrow {
    width:2.2rem;
    min-width:2.2rem;
    height:2.2rem;
    font-size:1.45rem;
  }

  .catalog-results-column .results-toolbar .toolbar-actions {
    order:2;
    width:100%;
    margin-left:0;
  }

  /* The header and mobile menu stay available while the user scrolls. */
  .site-header {
    position:sticky !important;
    top:0;
    z-index:1300;
    overflow:visible !important;
  }

  .site-header .brand,
  .site-header .header-actions {
    position:relative;
    z-index:1;
  }

  .site-nav-backdrop {
    z-index:1290;
  }

  .site-nav {
    position:fixed !important;
    top:calc(var(--header-h) + .55rem);
    left:.75rem;
    right:.75rem;
    width:auto;
    max-height:calc(100vh - var(--header-h) - 1.25rem);
    overflow:auto;
    padding:1rem;
    border-radius:28px;
    background:linear-gradient(180deg,rgba(11,18,38,.98),rgba(15,27,56,.98));
    border:1px solid rgba(255,255,255,.14);
    box-shadow:0 28px 56px rgba(0,0,0,.34);
    visibility:hidden;
    opacity:0;
    pointer-events:none;
    transform:translateY(-.75rem) scale(.98);
    transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s;
    z-index:1295;
  }

  .site-nav[hidden] {
    display:none !important;
  }

  .site-nav.open {
    visibility:visible;
    opacity:1;
    pointer-events:auto;
    transform:translateY(0) scale(1);
    transition-delay:0s;
  }

  .site-nav .primary-nav__list {
    flex-direction:column !important;
    align-items:stretch !important;
    gap:.55rem;
    padding:0;
  }

  .site-nav .primary-nav__item,
  .site-nav .primary-nav__item-group {
    width:100%;
  }

  .site-nav .primary-nav__item-group {
    justify-content:space-between;
  }

  .site-nav .primary-nav__submenu {
    position:static;
    min-width:0;
  }

  /* Restore footer artwork after the streamlined footer cleanup. */
  .footer::before {
    opacity:.56 !important;
    background-position:center 44% !important;
  }

  .footer-inner {
    padding-top:4.25rem !important;
    padding-bottom:1.35rem !important;
  }

  /* Keep the product-sheet close control below the sticky site header across
     all mobile breakpoints, not just the narrowest phones. */
  .modal-close {
    position:fixed;
    top:calc(var(--header-h, 4.6rem) + .55rem);
    right:.55rem;
    width:3rem;
    height:3rem;
    border-radius:18px;
    z-index:10020;
    border:1px solid rgba(255,255,255,.16);
    background:rgba(9,16,34,.94);
    color:#fff;
    box-shadow:0 18px 34px rgba(0,0,0,.28);
  }
}

@media (max-width:700px) {
  :root {
    --header-h:82px;
  }

  html,
  body {
    max-width:100%;
    overflow-x:hidden;
  }

  html {
    scroll-padding-top:calc(var(--header-h) + 10px);
  }

  body {
    padding-top:var(--header-h);
  }

  .site-header {
    --header-h:82px;
    position:fixed !important;
    inset:0 0 auto 0;
    width:100%;
  }

  .site-header,
  .hero,
  main,
  .footer {
    max-width:100vw;
    overflow-x:hidden;
  }

  .container,
  .header-inner,
  .hero-grid,
  .hero-copy,
  .hero-brand,
  .footer-inner,
  .footer-brand,
  .footer-logo-line {
    min-width:0;
    max-width:100%;
  }

  /* Header brand lockup: larger, readable, and non-overlapping. */
  .header-inner {
    min-height:var(--header-h);
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"brand actions";
    align-items:center;
    column-gap:.55rem;
    row-gap:.45rem;
    padding-block:.35rem;
  }

  .brand {
    min-width:0;
    max-width:100%;
    align-items:center;
    gap:.58rem;
  }

  .brand-logo {
    width:74px !important;
    height:74px !important;
    flex:0 0 auto;
  }

  .brand-copy {
    flex:1 1 auto;
    min-width:0;
    max-width:min(25ch, calc(100vw - 180px));
    gap:.18rem;
    padding-block:.08rem;
    overflow:visible;
  }

  .brand-script {
    font-size:clamp(1.42rem,5.5vw,1.82rem) !important;
    line-height:1.02;
    white-space:nowrap;
  }

  .brand-kicker {
    display:block !important;
    max-width:none;
    font-size:clamp(.54rem,2vw,.68rem) !important;
    line-height:1.08;
    letter-spacing:.055em !important;
    white-space:nowrap;
    overflow:visible;
    text-overflow:clip;
  }

  .header-actions {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:.45rem;
  }

  .header-actions .theme-toggle:not(.theme-toggle--footer) {
    display:none !important;
  }

  .nav-toggle {
    min-width:96px;
    min-height:46px;
    padding-inline:.85rem;
    justify-self:end;
  }

  /* Footer lockup mirrors the larger mobile header treatment. */
  .footer-brand {
    gap:.8rem;
    padding-top:0;
  }

  .footer-logo-line {
    align-items:center !important;
    gap:.75rem;
    margin-top:0;
  }

  .footer-logo {
    width:76px !important;
    height:76px !important;
    flex:0 0 auto;
  }

  .footer-logo-line .brand-script {
    font-size:1.28rem !important;
    line-height:1.02;
    white-space:nowrap;
  }

  .footer-logo-line .brand-kicker {
    display:block !important;
    font-size:.54rem !important;
    line-height:1.14;
    letter-spacing:.055em !important;
    white-space:nowrap;
  }

  .footer-brand p {
    margin:0;
  }

  .footer-inner {
    gap:1.15rem;
  }

  .footer-bottom {
    padding-top:1rem;
    gap:.75rem;
  }

  .footer-bottom-meta {
    width:100%;
    justify-content:flex-start;
  }

  /* Sports hub labels stay readable in darker hero art. */
  body[data-page="sports-hub"] .department-split-grid .category-card .overlay {
    background:linear-gradient(180deg,rgba(5,9,20,.18),rgba(5,9,20,.8));
  }

  body[data-page="sports-hub"] .department-split-grid .category-card .category-pill,
  body.dark-mode[data-page="sports-hub"] .department-split-grid .category-card .category-pill {
    min-height:34px;
    padding:0 .86rem;
    background:rgba(5,9,20,.96);
    border-color:rgba(255,255,255,.68);
    color:#fff;
    font-size:.9rem;
    text-shadow:0 1px 2px rgba(0,0,0,.78);
    box-shadow:0 14px 28px rgba(0,0,0,.3);
  }

  /* Compact hero layouts and prevent mobile overflow. */
  .hero-copy,
  .hero-brand,
  .page-hero-card {
    width:100%;
    padding:1.1rem;
  }

  .kicker {
    max-width:100%;
    white-space:normal;
    overflow-wrap:anywhere;
  }

  .hero-title,
  .page-title,
  .section-title {
    max-width:100%;
    font-size:2.2rem;
    line-height:1.03;
    overflow-wrap:normal;
  }

  .hero-copy p,
  .section-subtitle {
    max-width:100%;
  }

  /* Modal controls stay visible and usable above the sheet on phones. */
  .modal {
    align-items:flex-start;
    padding:calc(env(safe-area-inset-top,0) + .7rem) .45rem .85rem;
    overflow-y:auto;
    overscroll-behavior:contain;
    scroll-padding-top:.7rem;
  }

  .modal-content {
    width:min(100%,calc(100vw - .9rem));
    max-height:none;
    padding-top:0;
    overflow:visible;
  }

  .modal-media {
    padding:3.6rem 1rem .35rem;
  }

  .image-lightbox__close {
    top:calc(env(safe-area-inset-top,0) + .7rem);
    right:.7rem;
  }

  /* Product card chips use a predictable two-column pattern on phones. */
  .product-card .product-card-chip-rail {
    display:grid;
    gap:.36rem;
  }

  .product-card .product-topline,
  .product-card .product-card-summary,
  .product-card .product-meta-inline-list,
  .product-card .product-attribute-list {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:start;
    gap:.34rem;
  }

  .product-card .product-attribute-pill {
    width:100%;
    justify-content:center;
    text-align:center;
  }

}

@media (max-width:640px) {
  /* Bottom pagination compresses into a tighter mobile layout. */
  .catalog-pagination--bottom {
    margin:1rem 0 .35rem;
    padding:.85rem .9rem;
  }

  .catalog-pagination--bottom .catalog-pagination__inner {
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    grid-template-areas:
      "range range range"
      "prev pages next"
      "per per per";
    justify-content:stretch;
    gap:.55rem .45rem;
  }

  .catalog-pagination--bottom .catalog-pagination__range {
    grid-area:range;
    margin:0;
    font-size:.95rem;
  }

  .catalog-pagination--bottom .catalog-pagination__arrow:first-of-type {
    grid-area:prev;
  }

  .catalog-pagination--bottom .catalog-pagination__arrow:last-of-type {
    grid-area:next;
  }

  .catalog-pagination--bottom .catalog-pagination__arrow {
    width:2.65rem;
    height:2.65rem;
  }

  .catalog-pagination--bottom .catalog-pagination__pages {
    grid-area:pages;
    min-width:0;
    justify-content:center;
    overflow-x:auto;
    padding-bottom:.05rem;
  }

  .catalog-pagination--bottom .catalog-pagination__page {
    min-width:2rem;
    height:2.25rem;
    padding:0 .35rem;
  }

  .catalog-pagination--bottom .catalog-pagination__per-page {
    grid-area:per;
    width:100%;
    margin:0;
    justify-content:space-between;
    gap:.5rem;
  }

  .catalog-pagination--bottom .catalog-pagination__per-page span {
    font-size:.82rem;
  }

  .catalog-pagination--bottom .catalog-pagination__per-page select {
    min-height:2.5rem;
    min-width:4.5rem;
  }
}

@media (max-width:700px) {
  /* The footer sits well below the initial viewport on mobile. Avoid fetching a
     decorative background image before a shopper has reached it. */
  .footer::before {
    content:none !important;
    display:none !important;
    background:none !important;
  }
}

@media (max-width:480px) {
  :root {
    --header-h:84px;
  }

  .site-header {
    --header-h:84px;
  }

  .brand-logo {
    width:66px !important;
    height:66px !important;
  }

  .brand-copy {
    max-width:min(24ch, calc(100vw - 170px));
  }

  .brand-script {
    font-size:clamp(1.32rem,5.2vw,1.62rem) !important;
  }

  .brand-kicker {
    font-size:clamp(.52rem,2vw,.62rem) !important;
    letter-spacing:.045em !important;
  }

  .nav-toggle {
    min-width:92px;
    padding-inline:.72rem;
  }

  .metrics-toolbar {
    align-items:stretch;
  }

  .metrics-toolbar label,
  .metrics-toolbar select,
  .metrics-toolbar button {
    width:100%;
  }

  .footer-inner {
    padding-top:3.75rem !important;
  }

  .footer-logo {
    width:68px !important;
    height:68px !important;
  }

  .footer-logo-line {
    gap:.58rem;
  }

  .footer-logo-line .brand-script {
    font-size:1.08rem !important;
  }

  .footer-logo-line .brand-kicker {
    font-size:.44rem !important;
    letter-spacing:.025em !important;
  }

  .hero-title,
  .page-title,
  .section-title {
    font-size:2.08rem;
    line-height:1.05;
  }

  .product-card .product-topline,
  .product-card .product-card-summary,
  .product-card .product-meta-inline-list,
  .product-card .product-attribute-list {
    grid-template-columns:1fr;
  }

  .catalog-pagination--bottom .catalog-pagination__range {
    font-size:.9rem;
  }

  .catalog-pagination--bottom .catalog-pagination__per-page span {
    font-size:.78rem;
  }
}

/* Final storefront optimization pass.
   These rules live in the override sheet so the broad visual polish is easy to
   review: fewer accidental overflows, clearer controls, and less off-screen
   rendering work while preserving the existing design language. */
@media (max-width:860px) {
  @supports (content-visibility:auto) {
    .hero-brand {
      content-visibility:auto;
      contain-intrinsic-size:auto 1125px;
    }

  }
}

.product-card {
  contain:paint style;
  /* Match the current mobile card height more closely so deep scrolling stays steady. */
  contain-intrinsic-size:auto 575px;
}

.product-card .product-media {
  background:
    radial-gradient(circle at 50% 28%, rgba(255,255,255,.9), rgba(255,255,255,.42) 44%, rgba(31,47,163,.06) 100%);
}

.product-card .product-media,
.product-card .product-content,
.product-card .product-card-footer {
  min-width:0;
}

.product-card .product-media img {
  display:block;
  width:100%;
  height:auto;
}

.product-card .product-media--gallery {
  touch-action:pan-y;
}

@media (max-width:900px) {
  .product-card .product-card-gallery-button {
    position:absolute !important;
    top:50% !important;
    width:2rem !important;
    min-width:2rem !important;
    height:2.35rem !important;
    min-height:2.35rem !important;
    background:rgba(8,14,32,.28) !important;
    transform:translateY(-50%) !important;
    opacity:.68 !important;
  }

  .product-card .product-card-gallery-button--prev {
    left:.72rem !important;
    right:auto !important;
  }

  .product-card .product-card-gallery-button--next {
    right:.72rem !important;
    left:auto !important;
  }

  .product-card .product-card-gallery-count {
    position:absolute !important;
    bottom:.64rem;
    font-size:.7rem;
  }
}

body.dark-mode .product-card .product-media {
  background:
    radial-gradient(circle at 50% 28%, rgba(255,255,255,.16), rgba(255,255,255,.055) 48%, rgba(4,8,20,.22) 100%);
}

.product-card .product-attribute-pill {
  max-width:100%;
  overflow-wrap:anywhere;
}

.wishlist-button[aria-pressed="true"] {
  box-shadow:0 14px 28px rgba(239,24,35,.26);
}

.modal-close {
  display:grid;
  place-items:center;
  font-size:1.35rem;
  font-weight:900;
  line-height:1;
}

.modal-content {
  scroll-padding-top:4.5rem;
}

.modal-image-stage {
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7), 0 18px 34px rgba(16,27,57,.08);
}

body.dark-mode .modal-image-stage {
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 18px 38px rgba(0,0,0,.32);
}

.results-toolbar {
  isolation:isolate;
}

.results-toolbar .toolbar-search input {
  min-height:48px;
}

.catalog-pagination__arrow:disabled {
  cursor:not-allowed;
  opacity:.45;
}

@media (min-width:901px) {
  .catalog-results-column .products-grid {
    align-items:stretch;
  }

  .catalog-results-column .product-card {
    min-width:0;
  }

  .catalog-results-column .results-toolbar {
    align-items:center;
  }
}

@media (max-width:900px) {
  .modal-content {
    border-radius:24px;
  }

  .modal-copy {
    padding-bottom:calc(1.1rem + env(safe-area-inset-bottom,0));
  }

  .product-card {
    border-radius:24px;
  }
}

/* Accessibility and interaction polish.
   This pass keeps the existing visual direction but makes the most-used cards,
   controls, and dialogs feel steadier across keyboard, mouse, and touch input. */
.product-card:focus-visible,
.category-card:focus-visible,
.brand-card:focus-within,
.contact-card:focus-within,
.about-archive-panel:focus-within {
  outline:3px solid var(--focus-ring,var(--brand-gold));
  outline-offset:4px;
  box-shadow:0 0 0 6px rgba(228,177,65,.18), 0 18px 34px rgba(16,27,57,.14);
}

.product-card:active,
.category-card:active,
.mini-link-button:active {
  transform:translateY(0) scale(.99);
}

.modal-thumb[aria-current="true"] {
  border-color:var(--brand-red);
  box-shadow:0 0 0 3px rgba(239,24,35,.18);
}

.modal-thumb:focus-visible,
.catalog-pagination__page:focus-visible,
.catalog-pagination__arrow:focus-visible,
.facet-toggle:focus-visible,
.filter-panel-dismiss:focus-visible,
.mobile-filter-trigger:focus-visible {
  outline:3px solid var(--focus-ring,var(--brand-gold));
  outline-offset:3px;
  box-shadow:0 0 0 6px rgba(228,177,65,.18);
}

.page-hero-card,
.hero-copy,
.hero-brand,
.catalog-support-callout,
.footer {
  overflow-wrap:break-word;
}

@media (hover:none), (pointer:coarse) {
  .product-card:hover,
  .category-card:hover,
  .mini-link-button:hover,
  .button:hover,
  .button-secondary:hover {
    transform:none;
  }
}

@media (max-width:640px) {
  .page-hero-actions,
  .hero-brand-actions,
  .inline-actions,
  .contact-quick-actions {
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }

  .policy-summary-grid {
    grid-template-columns:1fr;
  }

  .page-hero-actions > *,
  .hero-brand-actions > *,
  .inline-actions > *,
  .contact-quick-actions > * {
    width:100%;
    justify-content:center;
  }

}

/* Final responsive control pass:
   keep top pagination usable on narrow product pages without recreating the
   tall control block that previously covered product cards. */
@media (min-width:861px) and (max-width:1180px) {
  .catalog-results-column,
  .catalog-results-column .results-toolbar,
  .catalog-results-column .products-grid {
    max-width:100%;
    min-width:0;
  }

  .catalog-results-column .results-toolbar {
    flex-wrap:wrap;
  }

  .catalog-results-column .results-toolbar .toolbar-search {
    flex:1 1 260px;
    min-width:0;
  }

  .catalog-results-column .results-toolbar .toolbar-actions {
    flex:1 1 auto;
    min-width:0;
  }
}

@media (max-width:860px) {
  .catalog-results-column .results-toolbar .catalog-pagination--top .catalog-pagination__inner {
    gap:.32rem;
    padding:.5rem;
    border-color:rgba(31,47,163,.12);
    border-radius:18px;
    background:rgba(255,255,255,.56);
  }

  .catalog-results-column .results-toolbar .catalog-pagination--top .catalog-pagination__range,
  .catalog-results-column .results-toolbar .catalog-pagination--top .catalog-pagination__per-page {
    display:none !important;
  }

  .catalog-results-column .results-toolbar .catalog-pagination--top .catalog-pagination__pages {
    gap:.16rem;
  }

  .catalog-results-column .results-toolbar .catalog-pagination--top .catalog-pagination__arrow {
    width:2.15rem;
    min-width:2.15rem;
    height:2.15rem;
  }
}

/* Quiet layout polish:
   - file inputs stay accessible to labels/JS but no longer reserve strange
     off-screen geometry in admin layouts
   - admin previews keep full cards visible instead of cropping important art
   - mobile footers stay compact while preserving the page-specific artwork */
input.sr-only[type="file"] {
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  width:1px !important;
  height:1px !important;
  min-width:1px !important;
  min-height:1px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  opacity:0 !important;
  overflow:hidden !important;
}

.image-preview[hidden] {
  display:none !important;
}

.image-preview,
#backendMainImagePreviewWrap {
  align-items:start;
  min-width:0;
}

.image-preview img,
#backendMainImagePreview {
  display:block;
  background:#fff;
  object-fit:contain;
}

.image-preview-copy {
  min-width:0;
}

@media (min-width:901px) {
  .backend-editor-panel .image-preview {
    grid-template-columns:minmax(150px,220px) minmax(0,1fr);
  }
}

@media (max-width:700px) {
  .footer::before {
    min-height:210px;
    background-size:cover !important;
  }

  .footer-inner {
    gap:.9rem;
    padding-top:3.15rem !important;
    padding-bottom:1.05rem !important;
  }

  .footer-brand {
    gap:.62rem;
  }

  .footer-brand p {
    font-size:.96rem;
    line-height:1.45;
  }

  .footer-link-groups {
    gap:.65rem;
  }

  .footer-links {
    gap:.72rem;
  }
}

@media (max-width:480px) {
  .footer-inner {
    padding-top:2.85rem !important;
  }

  .image-preview img,
  #backendMainImagePreview {
    max-height:170px;
  }
}

/*
  Mobile footer stabilization.

  The shared stylesheet uses content-visibility on several large sections to
  speed up catalog pages. That works well for product grids, but the footer must
  stay eagerly measured on mobile so the page does not resize or jump when a
  shopper reaches the bottom. These final overrides preserve the footer artwork,
  keep Browse and Support side by side, and trim excess vertical space.
*/
.footer {
  content-visibility:visible;
  contain-intrinsic-size:none;
}

@media (max-width:700px) {
  .footer {
    margin-top:2.25rem;
  }

  .footer::before {
    min-height:190px;
    background-position:center 38% !important;
  }

  .footer-inner {
    gap:.78rem;
    padding-inline:.75rem;
    padding-top:2.65rem !important;
  }

  .footer-logo-line {
    gap:.55rem;
  }

  .footer-logo {
    height:64px !important;
    width:64px !important;
  }

  .footer-logo-line .brand-script {
    font-size:1.12rem !important;
  }

  .footer-logo-line .brand-kicker {
    font-size:.44rem !important;
  }

  .footer-brand p {
    font-size:.92rem;
    line-height:1.38;
  }

  .footer-link-groups {
    gap:.52rem;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .footer-link-group {
    border-radius:20px;
    gap:.42rem;
    padding:.74rem;
  }

  .footer-link-group strong {
    font-size:.92rem;
    letter-spacing:.11em;
  }

  .footer-link-group a {
    font-size:.84rem;
    line-height:1.2;
    min-height:38px;
    padding:.5rem .58rem;
  }

  .footer-bottom {
    padding-bottom:calc(1.05rem + env(safe-area-inset-bottom,0));
    padding-top:.82rem;
  }

  .footer-bottom > span {
    font-size:.86rem;
    line-height:1.35;
  }

  .back-to-top {
    bottom:calc(.8rem + env(safe-area-inset-bottom,0));
  }
}

@media (max-width:520px) {
  /* Product-page hero switches use two tidy rows instead of clipping the last
     option off-screen on narrow phones. Breadcrumbs keep their horizontal
     scroll behavior because paths can be longer and less predictable. */
  .catalog-switcher {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.5rem;
    overflow:visible;
    padding-bottom:0;
  }

  .catalog-switcher a {
    min-width:0;
    width:100%;
    padding-inline:.62rem;
    text-align:center;
    white-space:normal;
  }
}

@media (max-width:340px) {
  .footer-link-groups {
    gap:.42rem;
  }

  .footer-link-group {
    padding:.62rem;
  }

  .footer-link-group a {
    font-size:.8rem;
    padding:.46rem .48rem;
  }
}

/*
  2026-05-14 design polish pass.

  This final layer focuses on shared visual quality instead of page-specific
  behavior: clearer typography rhythm, richer cards, steadier desktop catalog
  controls, and more intentional hover/focus states. Keeping the rules here
  lets the main generated stylesheet stay stable while the live design can be
  tuned safely.
*/
:root {
  --design-border-soft:rgba(31,47,163,.14);
  --design-surface-glow:0 22px 54px rgba(16,27,57,.14);
  --design-surface-glow-strong:0 26px 64px rgba(16,27,57,.2);
}

body.dark-mode {
  --design-border-soft:rgba(255,255,255,.14);
  --design-surface-glow:0 24px 58px rgba(0,0,0,.34);
  --design-surface-glow-strong:0 30px 72px rgba(0,0,0,.44);
}

.hero-title,
.page-title,
.section-title,
.category-card h3,
.product-card :is(h2,h3),
.modal-copy h3 {
  text-wrap:balance;
}

.hero-copy p,
.page-hero-card p,
.section-heading p,
.category-card p,
.product-card-summary,
.modal-copy p {
  text-wrap:pretty;
}

.glass-card,
.panel,
.contact-card,
.brand-card,
.story-card,
.stat-card,
.feature-card,
.page-hero-card,
.results-toolbar,
.product-card {
  border-color:var(--design-border-soft);
}

.page-hero-card,
.hero-copy,
.hero-brand {
  box-shadow:var(--design-surface-glow);
}

.section-heading {
  position:relative;
  padding-bottom:.4rem;
}

.section-heading::after {
  content:"";
  flex:1 1 auto;
  min-width:84px;
  height:1px;
  margin-bottom:.65rem;
  background:linear-gradient(90deg,rgba(239,24,35,.42),rgba(31,47,163,.18),transparent);
}

.section-heading > div {
  min-width:0;
}

.category-card {
  transform:translateZ(0);
  box-shadow:0 22px 48px rgba(16,27,57,.16);
}

.category-card::before {
  transition:transform .35s ease, filter .35s ease;
}

.category-card .category-pill {
  background:rgba(5,9,20,.94);
  border-color:rgba(255,255,255,.68);
  box-shadow:0 10px 20px rgba(0,0,0,.32);
  text-shadow:0 1px 2px rgba(0,0,0,.78);
}

@media (hover:hover) and (pointer:fine) {
  .category-card:hover::before {
    transform:scale(1.045);
    filter:saturate(1.08) contrast(1.03);
  }

  .product-card:hover {
    transform:translateY(-4px);
    box-shadow:var(--design-surface-glow-strong);
  }

  .product-card:hover .product-media img {
    transform:scale(1.018);
  }
}

.product-card {
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.product-card :is(h2,h3) {
  letter-spacing:0;
}

.product-card .product-price {
  letter-spacing:0;
}

.product-card .product-attribute-pill {
  box-shadow:inset 0 1px 0 rgba(255,255,255,.56);
}

body.dark-mode .product-card .product-attribute-pill {
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

@media (min-width:1181px) {
  /* Desktop product pages breathe better as a two-row command center:
     search/sort/summary on top, pagination/actions beneath. */
  .catalog-results-column .results-toolbar {
    display:grid;
    grid-template-columns:minmax(280px,1.18fr) minmax(230px,.72fr) minmax(260px,1fr);
    grid-template-areas:
      "search sort meta"
      "pages pages actions";
    gap:.85rem .95rem;
    align-items:center;
  }

  .catalog-results-column .results-toolbar .toolbar-search {
    grid-area:search;
    min-width:0;
  }

  .catalog-results-column .results-toolbar .toolbar-sort {
    grid-area:sort;
    width:100%;
    min-width:0;
  }

  .catalog-results-column .results-toolbar .results-meta {
    grid-area:meta;
    justify-self:end;
    min-width:0;
    text-align:right;
  }

  .catalog-results-column .results-toolbar .catalog-pagination--top {
    grid-area:pages;
    min-width:0;
    margin:0;
  }

  .catalog-results-column .results-toolbar .catalog-pagination__inner {
    justify-content:flex-start;
  }

  .catalog-results-column .results-toolbar .toolbar-actions {
    grid-area:actions;
    justify-content:end;
    min-width:0;
  }
}

@media (max-width:1180px) {
  .section-heading::after {
    display:none;
  }
}

@media (max-width:640px) {
  .page-hero-card,
  .hero-copy,
  .hero-brand,
  .results-toolbar,
  .catalog-support-callout {
    box-shadow:0 16px 38px rgba(16,27,57,.13);
  }

  body.dark-mode .page-hero-card,
  body.dark-mode .hero-copy,
  body.dark-mode .hero-brand,
  body.dark-mode .results-toolbar,
  body.dark-mode .catalog-support-callout {
    box-shadow:0 18px 42px rgba(0,0,0,.32);
  }

  .product-card :is(h2,h3) {
    line-height:1.22;
  }
}

/* Second design refinement pass:
   - empty grid states should read like helpful panels, not narrow product cards
   - desktop catalog toolbars keep all action buttons visible in one row
   - long utility-page heroes stay readable on phone-sized screens */
.products-grid > .empty-state {
  grid-column:1 / -1;
  width:min(100%,760px);
  justify-self:center;
}

body[data-page="wishlist"] #wishlistContainer {
  min-height:clamp(180px,24vw,300px);
  align-items:start;
}

body[data-page="wishlist"] #wishlistContainer > .empty-state {
  padding:clamp(1.5rem,4vw,2.35rem);
  border-radius:28px;
  background:
    linear-gradient(135deg,rgba(31,47,163,.08),rgba(239,24,35,.07)),
    rgba(255,255,255,.72);
  box-shadow:0 18px 42px rgba(16,27,57,.1);
}

body.dark-mode[data-page="wishlist"] #wishlistContainer > .empty-state {
  background:
    linear-gradient(135deg,rgba(31,47,163,.2),rgba(239,24,35,.12)),
    rgba(255,255,255,.055);
  box-shadow:0 20px 44px rgba(0,0,0,.26);
}

@media (min-width:1181px) {
  .catalog-results-column .results-toolbar {
    grid-template-columns:minmax(250px,.92fr) minmax(190px,.62fr) minmax(340px,1.2fr);
  }

  .catalog-results-column .results-toolbar .toolbar-actions {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.55rem;
    justify-self:stretch;
  }

  .catalog-results-column .results-toolbar .toolbar-actions .mini-link-button {
    width:100%;
    min-width:0;
    padding-inline:.72rem;
    white-space:nowrap;
  }
}

@media (min-width:1181px) and (max-width:1280px) {
  .catalog-results-column .results-toolbar {
    grid-template-columns:minmax(220px,.85fr) minmax(180px,.58fr) minmax(310px,1.2fr);
    gap:.72rem;
  }

  .catalog-results-column .results-toolbar .toolbar-actions .mini-link-button {
    font-size:.88rem;
  }
}

@media (min-width:1181px) and (max-width:1320px) {
  .catalog-results-column .results-toolbar {
    grid-template-columns:minmax(300px,1fr) minmax(220px,.78fr);
    grid-template-areas:
      "search sort"
      "meta meta"
      "pages actions";
    gap:.72rem .78rem;
  }

  .catalog-results-column .results-toolbar .results-meta {
    justify-self:stretch;
    text-align:left;
  }

  .catalog-results-column .results-toolbar .toolbar-search input,
  .catalog-results-column .results-toolbar .toolbar-sort select {
    width:100%;
    min-width:0;
    text-overflow:ellipsis;
  }

  .catalog-results-column .results-toolbar .toolbar-sort select {
    padding-inline:.72rem 1.78rem;
    font-size:.94rem;
  }

  .catalog-results-column .results-toolbar .toolbar-actions .mini-link-button {
    padding-inline:.58rem;
    font-size:.86rem;
  }
}

@media (max-width:640px) {
  body[data-page="admin"] .page-title,
  body[data-page="contact"] .page-title,
  body[data-page="wishlist"] .page-title {
    font-size:2rem;
    line-height:1.08;
    letter-spacing:0;
  }

  body[data-page="admin"] .page-hero-card,
  body[data-page="wishlist"] .page-hero-card {
    gap:.82rem;
  }

  body[data-page="admin"] .page-hero-card p,
  body[data-page="wishlist"] .page-hero-card p {
    font-size:1.02rem;
  }

  body[data-page="wishlist"] #wishlistContainer {
    min-height:auto;
  }

  .wishlist-actions-panel {
    grid-template-columns:1fr;
    padding:1rem;
  }

  .wishlist-actions-buttons {
    min-width:0;
  }

  .wishlist-actions-list li {
    display:grid;
    grid-template-columns:1fr;
    gap:.16rem;
  }

  .wishlist-actions-list span {
    white-space:normal;
  }
}

/* Final mobile footer image clearance:
   keep the page-specific footer artwork as a top banner, then start all footer
   information below it so the logo, buttons, and link cards no longer creep
   into the image border on narrow screens. */
@media (max-width:700px) {
  .footer::before {
    content:"" !important;
    display:block !important;
    inset:0 0 auto 0 !important;
    min-height:0 !important;
    height:clamp(9.5rem,42vw,12.25rem) !important;
    background:linear-gradient(180deg,rgba(7,11,24,.08),rgba(7,11,24,.52)),var(--footer-image) center 42%/cover no-repeat !important;
    background-position:center 42% !important;
    background-size:cover !important;
  }

  .footer-inner {
    padding-top:calc(clamp(9.5rem,42vw,12.25rem) + 1.15rem) !important;
  }

  .footer-brand,
  .footer-links,
  .footer-bottom {
    transform:none !important;
  }
}

/*
  2026-05-25 product action pass.

  Guide-range and contact-first listings now read as inquiry actions instead of
  fixed-price checkout. On phones, keep modal actions in the normal document
  flow so they do not cover the listing facts or description while browsing.
*/
.product-card-actions .buy-button--inquiry,
.modal-cta--inquiry {
  background:linear-gradient(135deg,#1646b8 0%,#e4b141 100%) !important;
  color:#fff !important;
}

.product-card-actions .buy-button--inquiry:hover,
.product-card-actions .buy-button--inquiry:focus-visible,
.modal-cta--inquiry:hover,
.modal-cta--inquiry:focus-visible {
  box-shadow:0 16px 30px rgba(22,70,184,.24), 0 0 0 1px rgba(228,177,65,.22);
}

@media (max-width:900px) {
  .modal-copy .inline-actions {
    position:static !important;
    bottom:auto !important;
    margin-top:.7rem;
    padding:.65rem 0 0 !important;
    background:none !important;
  }

  .modal-copy .inline-actions > * {
    min-height:52px;
  }
}

@media (max-width:640px) {
  .modal-copy .inline-actions {
    gap:.68rem;
  }

  .modal-copy .inline-actions .modal-cta {
    min-height:56px;
  }
}

.product-offer-only-label {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  padding:.3rem .58rem;
  border:1px solid rgba(228,177,65,.48);
  border-radius:999px;
  background:rgba(228,177,65,.12);
  color:var(--text);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.06em;
  line-height:1.1;
  text-transform:uppercase;
}

.modal-offer-only-note {
  padding:.68rem .78rem;
  border:1px solid rgba(228,177,65,.4);
  border-radius:14px;
  background:rgba(228,177,65,.1);
  color:var(--text) !important;
  font-weight:650;
}

.modal-listing-details {
  padding:.75rem .85rem;
  border:1px solid rgba(31,47,163,.15);
  border-radius:16px;
  background:rgba(31,47,163,.035);
}

.modal-listing-details > summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.8rem;
  cursor:pointer;
  color:var(--text);
  font-weight:800;
  list-style:none;
}

.modal-listing-details > summary::-webkit-details-marker {
  display:none;
}

.modal-listing-details > summary::after {
  content:'+';
  display:grid;
  place-items:center;
  flex:0 0 1.8rem;
  width:1.8rem;
  height:1.8rem;
  border:1px solid rgba(31,47,163,.18);
  border-radius:50%;
  font-size:1.1rem;
  line-height:1;
}

.modal-listing-details[open] > summary::after {
  content:'−';
}

.modal-listing-details__body {
  display:grid;
  gap:.72rem;
  margin-top:.78rem;
}

@media (max-width:980px) {
  .modal-copy .modal-actions--sticky {
    position:sticky !important;
    z-index:8;
    bottom:calc(env(safe-area-inset-bottom,0px) + .35rem) !important;
    margin:.15rem -.35rem .2rem;
    padding:.7rem .35rem calc(.7rem + env(safe-area-inset-bottom,0px)) !important;
    border:1px solid rgba(31,47,163,.16);
    border-radius:18px;
    background:var(--surface-strong);
    box-shadow:0 -12px 30px rgba(7,11,24,.18);
    backdrop-filter:blur(16px);
  }

  .modal-copy .modal-actions--sticky > * {
    min-height:50px;
  }
}

/*
  Wider catalog browsing pass.

  Modal previous/next controls let shoppers move through the visible result set
  without closing the details sheet, so the control needs to be compact,
  keyboard-clear, and quiet enough to sit between title and facts.
*/
.modal-listing-nav {
  display:grid;
  grid-template-columns:2.45rem minmax(0,1fr) 2.45rem;
  align-items:center;
  gap:.45rem;
  width:100%;
  padding:.36rem;
  border:1px solid rgba(31,47,163,.09);
  border-radius:16px;
  background:rgba(255,255,255,.56);
}

.modal-listing-nav__button {
  display:grid;
  place-items:center;
  width:2.45rem;
  height:2.25rem;
  border:1px solid rgba(31,47,163,.12);
  border-radius:13px;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(244,247,255,.92));
  color:var(--brand-blue);
  font-size:1.45rem;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease;
}

.modal-listing-nav__button:hover,
.modal-listing-nav__button:focus-visible {
  transform:translateY(-1px);
  box-shadow:0 10px 18px rgba(16,27,57,.12);
}

.modal-listing-nav__button:focus-visible {
  outline:3px solid var(--focus-ring,var(--brand-gold));
  outline-offset:2px;
}

.modal-listing-nav__button:disabled {
  opacity:.38;
  cursor:not-allowed;
  transform:none;
  box-shadow:none;
}

.modal-listing-nav__status {
  min-width:0;
  color:var(--muted);
  font-family:var(--font-display);
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.12em;
  line-height:1;
  text-align:center;
  text-transform:uppercase;
  overflow-wrap:normal;
}

body.dark-mode .modal-listing-nav {
  border-color:rgba(255,255,255,.1);
  background:rgba(255,255,255,.04);
}

body.dark-mode .modal-listing-nav__button {
  border-color:rgba(255,255,255,.12);
  background:rgba(255,255,255,.07);
  color:#f8fbff;
}

@media (max-width:640px) {
  .modal-media {
    padding:3.35rem .75rem .25rem;
  }

  .modal-image-stage {
    padding:.55rem;
  }

  .modal-image-stage img {
    max-height:min(42vh,360px);
  }

  .modal-image-zoom__hint {
    right:.6rem;
    bottom:.6rem;
    min-height:30px;
    padding:.36rem .58rem;
    font-size:.68rem;
  }

  .modal-listing-nav {
    grid-template-columns:2.6rem minmax(0,1fr) 2.6rem;
    gap:.36rem;
  }

  .modal-listing-nav__button {
    width:2.6rem;
    height:2.5rem;
  }

  .modal-listing-nav__status {
    font-size:.68rem;
    letter-spacing:.1em;
  }

}

@media (max-width: 820px) {
  .cart-layout {
    grid-template-columns:1fr;
  }

  .cart-summary {
    position:static;
  }

  .cart-item {
    grid-template-columns:88px minmax(0,1fr);
  }

  .cart-item__image img {
    width:88px;
    height:88px;
  }

  .cart-item__subtotal {
    grid-column:2;
  }
}

@media (max-width: 560px) {
  .cart-item {
    grid-template-columns:1fr;
  }

  .cart-item__image img {
    width:100%;
    height:180px;
  }

  .cart-item__subtotal {
    grid-column:auto;
  }

  .cart-item__actions,
  .modal-quantity-row {
    align-items:stretch;
    flex-direction:column;
  }

  .cart-item__actions input,
  .modal-quantity-row input {
    width:100%;
  }
}

@media (max-width: 640px) {
  .search-discovery {
    max-height:44vh;
  }

  .collector-inquiry-form .contact-form-actions {
    align-items:stretch;
    flex-direction:column;
  }
}

/* Keep the shared header lockup stable: responsive layouts can change at a
   breakpoint, but the wordmark should not continuously scale as a window moves. */
.site-header .brand-script {
  font-size:1.7rem;
}

.site-header .brand-kicker {
  font-size:.82rem;
  letter-spacing:.1em;
}

@media (max-width:1180px) {
  .site-header .brand-script {
    font-size:1.34rem;
  }

  .site-header .brand-kicker {
    font-size:.74rem;
  }
}

@media (max-width:700px) {
  .site-header .brand-script {
    font-size:1.3rem !important;
  }

  .site-header .brand-kicker {
    font-size:.58rem !important;
    letter-spacing:.055em !important;
  }
}

@media (max-width:900px) {
  .site-header .brand {
    align-items:center;
  }
}

@media (max-width:480px) {
  .site-header .brand-script {
    font-size:1.08rem !important;
  }

  .site-header .brand-kicker {
    font-size:.52rem !important;
  }
}

/* Homepage-only mobile finish for the approved header, section, and footer pass. */
@media (max-width:1040px) {
  body[data-page="home"] {
    --header-h:142px;
  }

  body[data-page="home"] .site-header {
    --header-h:142px;
  }

  body[data-page="home"] .site-header .header-inner {
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:
      "brand actions"
      "search search";
    min-height:var(--header-h);
    row-gap:.35rem;
    padding-block:.34rem .45rem;
  }

  /* Keep the brand lockup centered instead of top-aligning the wordmark
     beside the compact logo at tablet widths. */
  body[data-page="home"] .brand {
    align-items:center;
    gap:.72rem;
  }

  body[data-page="home"] .brand-logo {
    width:72px;
    height:72px;
  }

  body[data-page="home"] .home-header-search {
    display:block;
    min-width:0;
  }

  body[data-page="home"] .home-header-utility {
    display:none;
  }

  body[data-page="home"] .home-header-search__bar {
    min-height:44px;
  }

  body[data-page="home"] .home-header-search input {
    height:42px;
    font-size:.84rem;
  }

  body[data-page="home"] .home-header-search button {
    min-width:92px;
    padding:.52rem .68rem;
  }
}

/* The compact homepage has less room to spare than the full desktop shell.
   Tighten only the tablet-range whitespace, leaving the phone and desktop
   layouts on their existing spacing systems. */
@media (min-width:701px) and (max-width:1040px) {
  body[data-page="home"] .home-category-section,
  body[data-page="home"] .home-featured-section {
    padding-bottom:3rem;
  }

  body[data-page="home"] .home-connect-section {
    padding-block:3rem;
  }

  body[data-page="home"] .site-footer .footer-inner {
    gap:1rem;
    padding-top:calc(var(--footer-artwork-offset) + 1.25rem) !important;
    padding-bottom:1rem !important;
  }

  body[data-page="home"] .site-footer .footer-bottom {
    padding-top:.85rem;
    padding-bottom:1rem;
  }
}

/* Mid-size cards need enough room for the complete purchase hierarchy.
   Two columns keep "Buy It Now" legible instead of truncating it. */
@media (min-width:521px) and (max-width:820px) {
  body[data-page="home"] #featuredProducts {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* Compact homepage header: keep the wordmark stable, put Menu beside search,
   and remove the unused utility row through the same breakpoint as nav.js. */
@media (max-width:1180px) {
  body[data-page="home"] {
    --header-h:120px;
  }

  body[data-page="home"] .site-header .header-inner {
    --header-h:120px;
    min-height:var(--header-h);
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:
      "brand theme"
      "search search";
    column-gap:.58rem;
    row-gap:.3rem;
    padding-block:.28rem .34rem;
  }

  body[data-page="home"] .home-header-utility {
    display:none !important;
  }

  body[data-page="home"] .brand-logo {
    width:60px !important;
    height:60px !important;
  }

  body[data-page="home"] .home-header-search {
    grid-area:search;
    padding-left:95px;
  }

  body[data-page="home"] .home-header-search__bar {
    min-height:42px;
    border-radius:0 14px 14px 0;
  }

  body[data-page="home"] .home-header-search input {
    height:40px;
  }

  body[data-page="home"] .nav-toggle {
    position:absolute;
    bottom:.34rem;
    left:0;
    /* The search form reserves this exact left edge with padding. Keep the
       visible Menu control above that transparent form area so it remains
       directly clickable as well as visually joined to search. */
    z-index:1005;
    width:96px;
    min-width:96px;
    min-height:42px;
    height:42px;
    margin-right:-1px;
    padding-inline:.72rem;
    border-radius:14px 0 0 14px;
    border-right-color:rgba(244,199,102,.7);
  }

  body[data-page="home"] .theme-toggle {
    grid-area:theme;
    min-height:42px;
    height:42px;
  }
}

@media (max-width:700px) {
  body[data-page="home"] .site-header .header-inner {
    grid-template-areas:
      "brand brand"
      "search search";
  }
}

/* One responsive compact-header model for the homepage. Menu and search are
   adjacent grid cells, so the control stays genuinely attached without an
   absolute-positioned hit target drifting at intermediate widths. */
@media (max-width:1180px) {
  body[data-page="home"],
  body[data-page="home"] .site-header {
    --header-h:70px;
  }

  body[data-page="home"] .site-header .header-inner {
    --header-h:70px;
    min-height:var(--header-h);
    grid-template-columns:auto auto minmax(0,1fr);
    grid-template-rows:1fr;
    grid-template-areas:"brand menu search";
    align-items:center;
    column-gap:0;
    row-gap:0;
    padding-block:.35rem;
  }

  body[data-page="home"] .brand {
    grid-area:brand;
    gap:.55rem;
    margin-right:.5rem;
  }

  body[data-page="home"] .brand-logo {
    width:50px !important;
    height:50px !important;
  }

  body[data-page="home"] .header-actions {
    display:contents;
  }

  body[data-page="home"] .home-header-utility,
  body[data-page="home"] .theme-toggle:not(.theme-toggle--footer) {
    display:none !important;
  }

  body[data-page="home"] .nav-toggle {
    display:inline-flex !important;
    position:relative;
    inset:auto;
    z-index:1005;
    grid-area:menu;
    width:76px;
    min-width:76px;
    min-height:44px;
    height:44px;
    margin:0 -1px 0 0;
    gap:.42rem;
    padding-inline:.58rem;
    border-radius:14px 0 0 14px;
    border-color:rgba(228,177,65,.72);
    border-right:0;
    background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.055));
    box-shadow:0 8px 20px rgba(1,6,18,.22),inset 0 1px 0 rgba(255,255,255,.1);
    justify-content:center;
  }

  body[data-page="home"] .nav-toggle[data-state="open"] {
    background:rgba(228,177,65,.18);
    color:var(--brand-gold);
  }

  body[data-page="home"] .home-header-search {
    grid-area:search;
    align-self:center;
    min-width:0;
    padding-left:0;
  }

  body[data-page="home"] .home-header-search__bar {
    min-height:44px;
    border-left:0;
    border-radius:0 14px 14px 0;
    box-shadow:0 8px 20px rgba(1,6,18,.22),inset 0 1px 0 rgba(255,255,255,.94);
  }

  body[data-page="home"] .home-header-search input {
    height:42px;
    font-size:.84rem;
  }

  body[data-page="home"] .home-header-search button {
    min-width:80px;
    padding-inline:.64rem;
    font-size:.82rem;
  }
}

@media (max-width:760px) {
  body[data-page="home"],
  body[data-page="home"] .site-header,
  body[data-page="home"] .site-header .header-inner {
    --header-h:64px;
  }

  body[data-page="home"] .site-header .header-inner {
    padding-block:.3rem;
  }

  body[data-page="home"] .brand {
    margin-right:.42rem;
  }

  body[data-page="home"] .brand-copy {
    display:none;
  }

  body[data-page="home"] .brand-logo {
    width:48px !important;
    height:48px !important;
  }

  body[data-page="home"] .nav-toggle {
    width:68px;
    min-width:68px;
    min-height:42px;
    height:42px;
    padding-inline:.42rem;
  }

  body[data-page="home"] .home-header-search__bar {
    grid-template-columns:minmax(0,1fr) auto;
    min-height:42px;
  }

  body[data-page="home"] .home-header-search__icon {
    display:none;
  }

  body[data-page="home"] .home-header-search input {
    height:40px;
    font-size:.8rem;
  }

  body[data-page="home"] .home-header-search button {
    min-width:54px;
    padding-inline:.52rem;
  }

  body[data-page="home"] .home-header-search button span {
    display:none;
  }
}

@media (max-width:520px) {
  body[data-page="home"] .site-header .header-inner {
    column-gap:0;
  }

  body[data-page="home"] .brand {
    margin-right:.34rem;
  }

  body[data-page="home"] .brand-logo {
    width:44px !important;
    height:44px !important;
  }

  body[data-page="home"] .nav-toggle {
    width:46px;
    min-width:46px;
    padding-inline:0;
  }

  body[data-page="home"] .nav-toggle .button-label {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    white-space:nowrap;
  }

  body[data-page="home"] .home-header-search input {
    padding-inline:.65rem .25rem;
    font-size:.82rem;
  }

  body[data-page="home"] .home-header-search button {
    min-width:46px;
    padding-inline:.42rem;
  }
}

/* Shared canonical footer on narrow storefront pages. Keep the photo
   separator prominent while removing the old card-box padding below it. */
@media (max-width:700px) {
  .footer.site-footer .footer-inner {
    grid-template-columns:1fr;
    gap:.78rem;
    padding-inline:.75rem;
    padding-top:calc(clamp(9.5rem,42vw,12.25rem) + 1.15rem) !important;
    padding-bottom:1.2rem !important;
  }

  .footer.site-footer .footer-brand {
    padding-left:.9rem;
  }

  .footer.site-footer .footer-link-groups {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.52rem;
  }

  .footer.site-footer .footer-link-group {
    gap:.42rem;
    padding:.52rem 0 0;
  }

  .footer.site-footer .footer-link-group a {
    padding:.38rem 0;
    font-size:.84rem;
  }

  .footer.site-footer .footer-bottom {
    padding-top:.82rem;
    padding-bottom:calc(1.05rem + env(safe-area-inset-bottom,0));
  }
}

@media (max-width:420px) {
  .footer.site-footer .footer-link-groups {
    grid-template-columns:1fr;
  }
}

/* Shared compact header: logo, menu, and search stay on one stable rail from
   phone through tablet widths. The existing homepage search remains exclusive
   to the homepage. */
@media (max-width:1180px) {
  .site-header .header-inner {
    min-height:70px !important;
    grid-template-columns:auto auto minmax(0,1fr) !important;
    grid-template-rows:1fr !important;
    grid-template-areas:"brand menu search" !important;
    align-items:center !important;
    gap:.35rem !important;
    padding-block:.3rem !important;
  }

  .site-header .brand {
    grid-area:brand !important;
    min-width:0;
  }

  .site-header .brand-logo {
    width:58px !important;
    height:58px !important;
  }

  .site-header .nav-toggle {
    grid-area:menu !important;
    display:inline-flex !important;
    position:relative !important;
    inset:auto !important;
    justify-self:stretch !important;
    width:76px;
    min-width:76px !important;
    min-height:42px;
    height:42px;
    padding-inline:.65rem;
    border-radius:14px;
    font-size:.82rem;
    white-space:nowrap;
  }

  .site-header .header-actions {
    grid-area:menu !important;
    display:flex;
    align-items:center;
    min-width:0;
    gap:0;
  }

  .site-header .home-header-search {
    grid-area:search !important;
    display:block;
    min-width:0;
  }

  .site-header .home-header-search__bar {
    min-height:42px;
    border-left:0;
    border-radius:0 14px 14px 0;
  }

  .site-header .home-header-search input {
    height:40px;
    font-size:.84rem;
  }

  .site-header .theme-toggle:not(.theme-toggle--footer) {
    display:none !important;
  }

  body:not([data-page="home"]) .site-header .header-inner {
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-areas:"brand menu" !important;
  }

  body:not([data-page="home"]) .site-header .home-header-search {
    display:none !important;
  }

  body:not([data-page="home"]) .site-header .site-nav {
    background:
      radial-gradient(circle at 90% 0,rgba(81,110,234,.22),transparent 34%),
      linear-gradient(180deg,rgba(10,18,41,.985),rgba(16,31,71,.985));
    border-color:rgba(255,255,255,.16);
    box-shadow:0 28px 56px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.1);
  }

  body:not([data-page="home"]) .site-header .site-nav::before {
    content:"";
    position:absolute;
    top:0;
    right:1rem;
    left:1rem;
    height:3px;
    border-radius:0 0 999px 999px;
    background:linear-gradient(90deg,var(--brand-red) 0 33%,var(--brand-gold) 33% 66%,#516eea 66% 100%);
    box-shadow:0 0 12px rgba(244,199,102,.22);
    pointer-events:none;
  }

  body:not([data-page="home"]) .site-header .site-nav__mobile-header {
    display:grid;
    gap:.45rem;
    margin-bottom:.8rem;
    padding:.2rem .15rem 1rem;
    border-bottom:1px solid rgba(255,255,255,.1);
  }

  body:not([data-page="home"]) .site-header .site-nav__eyebrow {
    color:rgba(255,255,255,.72);
    font-family:var(--font-display);
    font-size:.86rem;
    letter-spacing:.16em;
    text-transform:uppercase;
  }

  body:not([data-page="home"]) .site-header .site-nav__mobile-title {
    color:#fff;
    font-size:1.32rem;
    line-height:1.05;
  }

  body:not([data-page="home"]) .site-header .site-nav__mobile-header p {
    margin:0;
    color:rgba(255,255,255,.76);
    font-size:.95rem;
  }

  body:not([data-page="home"]) .site-header .site-nav .primary-nav__item.is-current-section > .primary-nav__link,
  body:not([data-page="home"]) .site-header .site-nav .primary-nav__item.is-current-section > .primary-nav__item-group > .primary-nav__link {
    border-color:rgba(244,199,102,.7);
    background:linear-gradient(90deg,rgba(244,199,102,.16),rgba(81,110,234,.13));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 8px 16px rgba(0,0,0,.12);
  }
}

@media (max-width:760px) {
  :root {
    --header-h:64px;
  }

  .site-header,
  .site-header .header-inner {
    --header-h:64px;
    min-height:64px !important;
  }

  .site-header .brand-logo {
    width:56px !important;
    height:56px !important;
  }

  .site-header .brand {
    gap:.38rem;
    margin-right:0;
  }

  .site-header .nav-toggle {
    min-width:62px !important;
    width:62px !important;
    min-height:40px;
    height:40px;
    padding-inline:.42rem;
    font-size:.78rem;
  }

  .site-header .home-header-search__bar {
    min-height:40px;
  }

  .site-header .home-header-search input {
    height:38px;
    font-size:.78rem;
  }

  .site-header .home-header-search button {
    min-width:52px;
    padding-inline:.45rem;
  }

  .site-header .home-header-search button span {
    display:none;
  }
}

@media (max-width:520px) {
  .site-header .header-inner {
    grid-template-columns:56px 46px minmax(0,1fr) !important;
    column-gap:0 !important;
  }

  .site-header .brand-copy {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    clip-path:inset(50%);
    white-space:nowrap;
  }

  .site-header .nav-toggle {
    min-width:46px !important;
    width:46px !important;
    padding-inline:0;
  }

  .site-header .home-header-search input {
    padding-inline:.62rem .2rem;
    font-size:.76rem;
  }

  .site-header .home-header-search input::placeholder {
    font-size:.73rem;
  }

  .site-header .home-header-search button {
    min-width:44px;
    padding-inline:.35rem;
  }
}

/* Keep the compact drawer content-led on phones instead of stretching into a
   mostly empty panel. The same destinations and submenu behavior are kept. */
@media (max-width:700px) {
  body[data-page="home"] .site-header .site-nav,
  body:not([data-page="home"]) .site-header .site-nav {
    bottom:auto !important;
    height:auto !important;
    min-height:0 !important;
    max-height:calc(100dvh - var(--header-h) - 1.1rem);
    align-content:start;
    padding:.82rem;
    border-radius:24px;
  }

  .site-header .site-nav__mobile-header {
    gap:.34rem;
    margin-bottom:.62rem;
    padding:.12rem .12rem .72rem;
  }

  .site-header .site-nav__mobile-header p {
    font-size:.86rem;
    line-height:1.35;
  }

  .site-header .site-nav .primary-nav__list {
    flex:0 0 auto;
    gap:.4rem;
  }

  .site-header .site-nav .primary-nav__link {
    min-height:46px;
  }
}

/* Keep the shared interior finish compact on phones. */
@media (max-width:700px) {
  body:not([data-page="home"]) .page-hero {
    padding-top:1.15rem;
  }

  body:not([data-page="home"]) .page-hero-card {
    padding:1.2rem;
    border-radius:24px;
  }

  body:not([data-page="home"]) .page-hero-card .breadcrumb-nav {
    padding:.36rem .58rem;
  }

  body:not([data-page="home"]) main :is(
    .story-card,
    .brand-card,
    .contact-card,
    .policy-summary-card,
    .account-panel,
    .feature-card,
    .stat-card,
    .about-archive-panel
  ) {
    border-radius:20px;
    box-shadow:inset 0 3px 0 rgba(244,199,102,.52),0 14px 28px rgba(16,27,57,.09);
  }
}

/* Interior headers keep the homepage's generous identity and shopper tools on
   compact screens while leaving search exclusive to the homepage. */
@media (max-width:1180px) {
  body:not([data-page="home"]),
  body:not([data-page="home"]) .site-header,
  body:not([data-page="home"]) .site-header .header-inner {
    --header-h:84px;
  }

  body:not([data-page="home"]) .site-header .header-inner {
    min-height:var(--header-h) !important;
    grid-template-columns:minmax(0,1fr) auto auto !important;
    grid-template-areas:"brand utility menu" !important;
    gap:.55rem !important;
    padding-block:.48rem !important;
  }

  body:not([data-page="home"]) .site-header .brand-logo {
    width:64px !important;
    height:64px !important;
  }

  body:not([data-page="home"]) .site-header .home-header-utility {
    grid-area:utility;
    display:flex !important;
    align-items:center;
    justify-content:flex-end;
    gap:.36rem;
  }

  body:not([data-page="home"]) .site-header .home-header-utility a {
    min-width:40px;
    min-height:40px;
  }

  body:not([data-page="home"]) .site-header .header-actions {
    grid-area:menu !important;
    justify-self:end;
  }
}

@media (max-width:760px) {
  body:not([data-page="home"]),
  body:not([data-page="home"]) .site-header,
  body:not([data-page="home"]) .site-header .header-inner {
    --header-h:78px;
  }

  body:not([data-page="home"]) .site-header .header-inner {
    min-height:var(--header-h) !important;
    gap:.42rem !important;
    padding-block:.4rem !important;
  }

  body:not([data-page="home"]) .site-header .brand-logo {
    width:60px !important;
    height:60px !important;
  }

  body:not([data-page="home"]) .site-header .home-header-utility__icon[href$="wishlist.html"] {
    display:none;
  }
}

@media (max-width:520px) {
  body:not([data-page="home"]) .site-header .header-inner {
    grid-template-columns:60px minmax(0,1fr) auto !important;
  }

  body:not([data-page="home"]) .site-header .home-header-utility a {
    min-width:38px;
    min-height:38px;
  }

  body:not([data-page="home"]) .site-header .home-header-utility {
    gap:.28rem;
  }

  body:not([data-page="home"]) .site-header .nav-toggle {
    width:62px !important;
    min-width:62px !important;
    padding-inline:.42rem;
  }
}

/* The home page needs more than a compressed logo and search rail on phones.
   Keep its identity and essential shopper actions visible above a full-width
   catalog search, while retaining the same menu drawer and visual language. */
@media (max-width:760px) {
  body[data-page="home"],
  body[data-page="home"] .site-header,
  body[data-page="home"] .site-header .header-inner {
    --header-h:118px;
  }

  body[data-page="home"] .site-header .header-inner {
    min-height:var(--header-h) !important;
    grid-template-columns:minmax(0,1fr) auto auto !important;
    grid-template-rows:48px 44px !important;
    grid-template-areas:
      "brand utility menu"
      "search search search" !important;
    column-gap:.48rem !important;
    row-gap:.34rem !important;
    padding-block:.42rem !important;
  }

  body[data-page="home"] .brand {
    grid-area:brand !important;
    margin-right:0;
  }

  body[data-page="home"] .brand-logo {
    width:52px !important;
    height:52px !important;
  }

  body[data-page="home"] .home-header-utility {
    grid-area:utility !important;
    display:flex !important;
    align-items:center;
    gap:.3rem;
  }

  body[data-page="home"] .home-header-utility__sell,
  body[data-page="home"] .home-header-utility__icon[href$="wishlist.html"] {
    display:none !important;
  }

  body[data-page="home"] .home-header-utility__icon {
    min-width:38px !important;
    min-height:38px !important;
  }

  body[data-page="home"] .nav-toggle {
    grid-area:menu !important;
    width:68px !important;
    min-width:68px !important;
    min-height:40px !important;
    height:40px !important;
    margin:0;
    padding-inline:.46rem;
    border-radius:13px !important;
    border-right:1px solid rgba(228,177,65,.72) !important;
  }

  body[data-page="home"] .home-header-search {
    grid-area:search !important;
    width:100%;
    padding-left:0 !important;
  }

  body[data-page="home"] .home-header-search__bar {
    grid-template-columns:2.7rem minmax(0,1fr) auto !important;
    grid-template-rows:42px !important;
    min-height:44px !important;
    border-left:1px solid rgba(23,44,92,.18) !important;
    border-radius:14px !important;
  }

  body[data-page="home"] .home-header-search__icon {
    display:block !important;
  }

  body[data-page="home"] .home-header-search input {
    grid-column:2;
    grid-row:1;
    height:42px !important;
    font-size:.86rem !important;
  }

  body[data-page="home"] .home-header-search button {
    grid-column:3;
    grid-row:1;
    min-width:82px !important;
    min-height:42px;
    height:42px;
  }

  body[data-page="home"] .home-header-search button span {
    display:inline !important;
  }
}

@media (min-width:521px) and (max-width:760px) {
  body[data-page="home"] .brand-copy {
    display:grid !important;
  }
}

@media (min-width:361px) and (max-width:520px) {
  body[data-page="home"] .nav-toggle .button-label {
    position:static;
    width:auto;
    height:auto;
    overflow:visible;
    clip:auto;
    clip-path:none;
    white-space:nowrap;
  }
}

@media (max-width:360px) {
  body[data-page="home"] .site-header .header-inner {
    column-gap:.3rem !important;
  }

  body[data-page="home"] .brand-logo {
    width:48px !important;
    height:48px !important;
  }

  body[data-page="home"] .home-header-utility__icon {
    min-width:36px !important;
    min-height:36px !important;
  }

  body[data-page="home"] .nav-toggle {
    width:50px !important;
    min-width:50px !important;
    padding-inline:0;
  }

  body[data-page="home"] .home-header-search button {
    min-width:52px !important;
  }

  body[data-page="home"] .home-header-search button span {
    display:none !important;
  }
}

/* When the desktop filter rail is first introduced, the bottom pagination has
   a narrow results column. Let its per-page selector take a second row rather
   than creating a horizontal page scroll. */
@media (min-width:861px) and (max-width:960px) {
  .catalog-pagination--bottom .catalog-pagination__inner {
    flex-wrap:wrap;
    justify-content:center;
  }

  .catalog-pagination--bottom .catalog-pagination__per-page {
    flex:1 1 100%;
    margin-left:0;
    justify-content:center;
  }
}

/* Product filters use the same deliberate card language as the catalog while
   remaining a true dialog on narrow viewports. */
@media (max-width:900px) {
  .catalog-results-column .mobile-filter-trigger,
  .mobile-filter-trigger {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    width:100%;
    min-height:68px;
    margin:0 0 .85rem;
    padding:.76rem .84rem;
    border:1px solid rgba(31,47,163,.2);
    border-radius:18px;
    background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(235,241,255,.96));
    box-shadow:0 12px 24px rgba(16,27,57,.1);
    color:var(--text);
  }

  .mobile-filter-trigger__copy {
    gap:.16rem;
  }

  .mobile-filter-trigger__title {
    color:var(--text);
    font-size:1rem;
    font-weight:900;
  }

  .mobile-filter-trigger__meta {
    color:var(--muted);
    font-size:.76rem;
    font-weight:800;
  }

  .mobile-filter-trigger__icon {
    display:grid;
    width:1.35rem;
    gap:.22rem;
    padding:.12rem;
  }

  .mobile-filter-trigger__icon span {
    position:relative;
    display:block;
    height:2px;
    border-radius:999px;
    background:var(--brand-blue);
  }

  .mobile-filter-trigger__icon span::after {
    position:absolute;
    top:50%;
    width:.34rem;
    height:.34rem;
    border:2px solid var(--brand-red);
    border-radius:50%;
    background:#fff;
    content:"";
    transform:translateY(-50%);
  }

  .mobile-filter-trigger__icon span:nth-child(1)::after {
    left:.15rem;
  }

  .mobile-filter-trigger__icon span:nth-child(2)::after {
    right:.12rem;
  }

  .mobile-filter-trigger__icon span:nth-child(3)::after {
    left:.52rem;
  }

  .filter-panel--drawer {
    width:min(91vw,380px) !important;
    max-width:calc(100vw - .6rem) !important;
    padding:1rem .82rem calc(1rem + env(safe-area-inset-bottom,0)) !important;
    border:1px solid rgba(31,47,163,.17) !important;
    border-left:0 !important;
    border-radius:0 26px 26px 0 !important;
    background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(242,246,255,.99)) !important;
    box-shadow:0 24px 48px rgba(16,27,57,.25) !important;
  }

  .filter-panel--drawer .filter-panel-dismiss {
    top:.78rem;
    right:.78rem;
    width:44px;
    height:44px;
    border-radius:14px;
    font-size:1.75rem;
  }

  .filter-panel--drawer .filter-panel-header {
    display:grid;
    gap:.42rem;
    margin:0 0 .78rem;
    padding:0 3.5rem .78rem 0 !important;
    border-bottom:1px solid rgba(31,47,163,.13);
  }

  .filter-panel--drawer .filter-panel-header h2 {
    color:var(--text);
    font-size:1.28rem;
    letter-spacing:-.02em;
  }

  .filter-panel--drawer .filter-panel-status {
    padding:.58rem .62rem;
  }

  .filter-panel--drawer .filter-panel-status-copy {
    font-size:.74rem;
  }

  .filter-panel--drawer .filter-grid {
    display:grid;
    gap:.62rem;
  }

  .filter-panel--drawer .field-group {
    margin:0;
    padding:.64rem;
    border:1px solid rgba(16,27,57,.1);
    border-radius:16px;
    background:rgba(255,255,255,.76);
    box-shadow:0 8px 18px rgba(16,27,57,.045);
  }

  .filter-panel--drawer .field-group > label:not(.facet-label-row),
  .filter-panel--drawer .range-grid .field-group > label {
    color:var(--text);
    font-size:.68rem;
    font-weight:900;
    letter-spacing:.09em;
    text-transform:uppercase;
  }

  .filter-panel--drawer .facet-label-row {
    align-items:center;
    margin-bottom:.46rem;
  }

  .filter-panel--drawer .facet-label-row > span:first-child {
    color:var(--text);
    font-size:.86rem;
    font-weight:900;
  }

  .filter-panel--drawer .facet-label-meta {
    display:inline-flex;
    min-height:21px;
    padding:.13rem .38rem;
    border-radius:999px;
    background:rgba(31,47,163,.08);
    color:var(--brand-blue);
    font-size:.62rem;
    font-weight:900;
  }

  .filter-panel--drawer .facet-group {
    display:grid;
    gap:.38rem;
    padding:0;
  }

  .filter-panel--drawer .facet-options {
    gap:.3rem;
  }

  .filter-panel--drawer .facet-option {
    display:grid;
    grid-template-columns:1rem minmax(0,1fr);
    align-items:center;
    min-height:42px;
    gap:.5rem;
    padding:.48rem .5rem;
    border:1px solid transparent;
    border-radius:12px;
    font-size:.78rem;
  }

  .filter-panel--drawer .facet-option:has(input:checked) {
    border-color:rgba(31,47,163,.2);
    background:linear-gradient(135deg,rgba(31,47,163,.1),rgba(255,255,255,.88));
  }

  .filter-panel--drawer .facet-option input {
    width:1rem;
    height:1rem;
    margin:0;
    accent-color:var(--brand-blue);
  }

  .filter-panel--drawer .facet-option > span {
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:.4rem;
    min-width:0;
    color:var(--text);
    font-size:.78rem;
    font-weight:750;
  }

  .filter-panel--drawer .facet-option-text {
    overflow-wrap:anywhere;
  }

  .filter-panel--drawer .facet-option-count {
    flex:0 0 auto;
    color:var(--muted);
    font-size:.67rem;
    font-weight:850;
  }

  .filter-panel--drawer .facet-toggle {
    width:100%;
    min-height:36px;
    padding:.36rem .52rem;
    border:1px dashed rgba(31,47,163,.26);
    border-radius:11px;
    background:rgba(31,47,163,.035);
    color:var(--brand-blue);
    font-size:.72rem;
    font-weight:900;
    text-decoration:none;
  }

  .filter-panel--drawer .range-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.54rem;
    margin:0 !important;
    padding:.64rem;
    border:1px solid rgba(16,27,57,.1);
    border-radius:16px;
    background:rgba(255,255,255,.76);
    box-shadow:0 8px 18px rgba(16,27,57,.045);
  }

  .filter-panel--drawer .range-grid .field-group {
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }

  .filter-panel--drawer :is(input[type="number"], select) {
    min-height:40px;
    border-radius:11px;
  }

  body.filters-open .filter-panel--drawer .mobile-filter-actions {
    display:grid !important;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);
    gap:.52rem;
    position:sticky;
    bottom:0;
    margin:.85rem -.08rem -.08rem;
    padding:.82rem .08rem calc(.1rem + env(safe-area-inset-bottom,0));
    border-top:1px solid rgba(31,47,163,.13);
    background:linear-gradient(180deg,rgba(242,246,255,.9),rgba(255,255,255,.99) 45%);
    box-shadow:0 -10px 22px rgba(16,27,57,.06);
  }

  .filter-panel--drawer .mobile-filter-actions :is(.button,.button-secondary) {
    min-height:46px;
    padding-inline:.56rem;
    border-radius:13px;
    font-size:.78rem;
    font-weight:900;
  }

  body.dark-mode .mobile-filter-trigger {
    border-color:rgba(141,183,255,.26);
    background:linear-gradient(135deg,rgba(20,32,60,.98),rgba(12,21,42,.98));
    box-shadow:0 12px 24px rgba(0,0,0,.24);
  }

  body.dark-mode .mobile-filter-trigger__title,
  body.dark-mode .filter-panel--drawer .filter-panel-header h2,
  body.dark-mode .filter-panel--drawer .facet-label-row > span:first-child,
  body.dark-mode .filter-panel--drawer .facet-option > span {
    color:#f5f8ff;
  }

  body.dark-mode .mobile-filter-trigger__icon span::after {
    background:#13203d;
  }

  body.dark-mode .filter-panel--drawer {
    border-color:rgba(255,255,255,.12) !important;
    background:linear-gradient(180deg,rgba(16,25,47,.99),rgba(10,17,33,.99)) !important;
    box-shadow:0 24px 48px rgba(0,0,0,.42) !important;
  }

  body.dark-mode .filter-panel--drawer .filter-panel-header,
  body.dark-mode .filter-panel--drawer .mobile-filter-actions {
    border-color:rgba(255,255,255,.12);
  }

  body.dark-mode .filter-panel--drawer .filter-panel-status,
  body.dark-mode .filter-panel--drawer .field-group,
  body.dark-mode .filter-panel--drawer .range-grid,
  body.dark-mode .filter-panel--drawer .mobile-filter-actions {
    background:rgba(255,255,255,.055);
    box-shadow:none;
  }

  body.dark-mode .filter-panel--drawer .facet-option:has(input:checked) {
    border-color:rgba(141,183,255,.28);
    background:rgba(141,183,255,.11);
  }
}

@media (max-width:370px) {
  .filter-panel--drawer .range-grid {
    grid-template-columns:1fr;
  }
}

/*
  Storefront shell stabilization.

  The header previously had several competing compact layouts. This final layer
  owns the shopper-facing breakpoints: drawer navigation through 900px, a
  horizontal desktop menu from 901px through 1180px, and the existing full
  desktop shell above that. It deliberately preserves the navy, red, gold, and
  collector-photo identity while making the hierarchy predictable.
*/
:root {
  --focus-ring:#0b3f93;
}

body.dark-mode {
  --focus-ring:#f4c766;
}

:focus-visible {
  outline-color:var(--focus-ring);
}

.site-header .brand:focus-visible,
.site-header .nav-toggle:focus-visible,
.site-header .theme-toggle:focus-visible,
.site-header .submenu-toggle:focus-visible,
.site-header .primary-nav__link:focus-visible,
.site-header .home-header-utility a:focus-visible {
  outline:3px solid #f4c766;
  outline-offset:3px;
  box-shadow:0 0 0 4px rgba(8,14,32,.94);
}

/* Narrow desktop keeps the complete information architecture visible instead
   of turning the menu into a button directly beside the homepage search. */
@media (min-width:901px) and (max-width:1180px) {
  body[data-page="home"] .site-header .site-nav,
  body:not([data-page="home"]) .site-header .site-nav {
    grid-area:nav !important;
    position:static !important;
    inset:auto !important;
    display:block !important;
    width:100% !important;
    max-width:none !important;
    justify-self:stretch !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    transform:none !important;
  }

  .site-header .site-nav::before,
  .site-header .site-nav__mobile-header {
    content:none !important;
    display:none !important;
  }

  .site-header .site-nav .primary-nav__list {
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center;
    justify-content:flex-start !important;
    gap:.2rem !important;
    overflow:visible !important;
  }

  .site-header .site-nav .primary-nav__item,
  .site-header .site-nav .primary-nav__item-group {
    flex:0 0 auto;
    width:auto !important;
  }

  .site-header .site-nav .primary-nav__link {
    min-height:32px !important;
    padding:.3rem .52rem !important;
    font-size:.82rem !important;
  }

  .site-header .site-nav .submenu-toggle {
    min-height:32px;
    height:32px;
  }

  .site-header .site-nav .primary-nav__submenu {
    position:absolute !important;
    width:max-content;
    min-width:11rem;
  }

  .site-header .home-header-utility ~ .site-nav .header-wishlist-item,
  .site-header .home-header-utility ~ .site-nav .header-cart-item,
  .site-header .home-header-utility ~ .site-nav .primary-nav__item:has(> .primary-nav__link[href="account.html"]) {
    display:none !important;
  }

  body[data-page="home"] .site-header .nav-toggle,
  body:not([data-page="home"]) .site-header .nav-toggle,
  .site-nav-backdrop {
    display:none !important;
  }

  .site-header .header-actions {
    grid-area:actions !important;
    display:flex !important;
    align-items:center;
    justify-content:flex-end;
    min-width:0;
  }

  .site-header .header-actions .theme-toggle:not(.theme-toggle--footer) {
    display:inline-flex !important;
    min-height:36px;
  }

  body[data-page="home"],
  body[data-page="home"] .site-header,
  body[data-page="home"] .site-header .header-inner {
    --header-h:146px;
  }

  body[data-page="home"] .site-header .header-inner {
    min-height:var(--header-h) !important;
    grid-template-columns:minmax(0,1fr) auto auto !important;
    grid-template-rows:50px 34px 42px !important;
    grid-template-areas:
      "brand utility actions"
      "nav nav nav"
      "search search search" !important;
    gap:.3rem .7rem !important;
    padding-block:.42rem !important;
  }

  body[data-page="home"] .site-header .brand {
    grid-area:brand !important;
  }

  body[data-page="home"] .site-header .home-header-utility {
    grid-area:utility !important;
    display:flex !important;
    align-items:center;
    justify-content:flex-end;
  }

  body[data-page="home"] .site-header .home-header-search {
    grid-area:search !important;
    width:100%;
    min-width:0;
    padding-left:0 !important;
  }

  body[data-page="home"] .site-header .home-header-search__bar {
    min-height:42px;
    border-radius:14px;
  }

  body[data-page="home"] .site-header .home-header-search input {
    height:40px;
  }

  body:not([data-page="home"]),
  body:not([data-page="home"]) .site-header,
  body:not([data-page="home"]) .site-header .header-inner {
    --header-h:98px;
  }

  body:not([data-page="home"]) .site-header .header-inner {
    min-height:var(--header-h) !important;
    grid-template-columns:minmax(0,1fr) auto auto !important;
    grid-template-rows:52px 32px !important;
    grid-template-areas:
      "brand utility actions"
      "nav nav nav" !important;
    gap:.28rem .7rem !important;
    padding-block:.42rem !important;
  }

  body:not([data-page="home"]) .site-header .brand {
    grid-area:brand !important;
  }

  body:not([data-page="home"]) .site-header .home-header-utility {
    grid-area:utility !important;
    display:flex !important;
    align-items:center;
    justify-content:flex-end;
  }
}

/* The accessible drawer remains the compact navigation pattern on phones and
   tablets, but the wordmark and key shopper actions never collapse to zero. */
@media (max-width:900px) {
  .site-header .brand {
    min-width:0;
    gap:.45rem;
  }

  .site-header .brand-copy {
    position:static !important;
    display:flex !important;
    flex-direction:column;
    width:auto !important;
    height:auto !important;
    min-width:0 !important;
    overflow:visible !important;
    clip:auto !important;
    clip-path:none !important;
    white-space:normal !important;
  }

  .site-header .brand-script {
    display:block !important;
    min-width:0;
    overflow:hidden;
    font-size:1.16rem !important;
    line-height:1;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .site-header .brand-kicker {
    display:block !important;
    min-width:0;
    overflow:hidden;
    font-size:.52rem !important;
    letter-spacing:.045em !important;
    line-height:1.08;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  body[data-page="home"],
  body[data-page="home"] .site-header,
  body[data-page="home"] .site-header .header-inner {
    --header-h:116px;
  }

  body[data-page="home"] .site-header .header-inner {
    min-height:var(--header-h) !important;
    grid-template-columns:minmax(0,1fr) auto auto !important;
    grid-template-rows:50px 42px !important;
    grid-template-areas:
      "brand utility menu"
      "search search search" !important;
    column-gap:.42rem !important;
    row-gap:.32rem !important;
    padding-block:.38rem !important;
  }

  body[data-page="home"] .site-header .brand {
    grid-area:brand !important;
  }

  body[data-page="home"] .site-header .home-header-utility {
    grid-area:utility !important;
    display:flex !important;
    align-items:center;
    gap:.3rem;
  }

  body[data-page="home"] .site-header .home-header-utility__sell {
    display:none !important;
  }

  body[data-page="home"] .site-header .home-header-utility a {
    min-width:40px;
    min-height:40px;
  }

  body[data-page="home"] .site-header .header-actions {
    grid-area:menu !important;
    display:flex !important;
    justify-self:end;
  }

  body[data-page="home"] .site-header .header-actions .theme-toggle:not(.theme-toggle--footer) {
    display:none !important;
  }

  body[data-page="home"] .site-header .nav-toggle {
    position:static !important;
    display:inline-flex !important;
    width:68px !important;
    min-width:68px !important;
    min-height:40px !important;
    height:40px !important;
    margin:0;
    padding-inline:.44rem;
  }

  body[data-page="home"] .site-header .home-header-search {
    grid-area:search !important;
    width:100%;
    min-width:0;
    padding-left:0 !important;
  }

  body[data-page="home"] .site-header .home-header-search__bar {
    min-height:42px !important;
    border-radius:14px !important;
  }

  body[data-page="home"] .site-header .home-header-search input {
    height:40px !important;
  }

  body:not([data-page="home"]),
  body:not([data-page="home"]) .site-header,
  body:not([data-page="home"]) .site-header .header-inner {
    --header-h:76px;
  }

  body:not([data-page="home"]) .site-header .header-inner {
    min-height:var(--header-h) !important;
    grid-template-columns:minmax(0,1fr) auto auto !important;
    grid-template-rows:1fr !important;
    grid-template-areas:"brand utility menu" !important;
    gap:.42rem !important;
    padding-block:.38rem !important;
  }

  body:not([data-page="home"]) .site-header .brand {
    grid-area:brand !important;
  }

  body:not([data-page="home"]) .site-header .home-header-utility {
    grid-area:utility !important;
    display:flex !important;
    align-items:center;
    justify-content:flex-end;
    gap:.3rem;
  }

  body:not([data-page="home"]) .site-header .home-header-utility a {
    min-width:40px;
    min-height:40px;
  }

  body:not([data-page="home"]) .site-header .header-actions {
    grid-area:menu !important;
    display:flex !important;
    justify-self:end;
  }

  body:not([data-page="home"]) .site-header .header-actions .theme-toggle:not(.theme-toggle--footer) {
    display:none !important;
  }
}

/* The shared script moves this control into the drawer at this breakpoint;
   keep that in-drawer control available rather than hiding the only switcher. */
@media (max-width:900px) {
  .site-header .site-nav .theme-toggle:not(.theme-toggle--footer) {
    display:inline-flex !important;
  }
}

@media (max-width:520px) {
  .site-header .brand-logo {
    width:46px !important;
    height:46px !important;
  }

  .site-header .brand-script {
    font-size:1rem !important;
  }

  .site-header .brand-kicker {
    font-size:.43rem !important;
  }

  body[data-page="home"],
  body[data-page="home"] .site-header,
  body[data-page="home"] .site-header .header-inner {
    --header-h:112px;
  }

  body[data-page="home"] .site-header .header-inner {
    grid-template-rows:48px 42px !important;
  }

  .site-header .home-header-utility__icon[href$="wishlist.html"] {
    display:none !important;
  }

  .site-header .home-header-utility a {
    min-width:38px !important;
    min-height:38px !important;
  }

  .site-header .nav-toggle {
    width:60px !important;
    min-width:60px !important;
  }
}

/* Keep the shared footer photo separator proportional to a phone viewport and
   avoid stacking every link group into a single tall column on common phones. */
@media (max-width:700px) {
  .footer.site-footer {
    --footer-artwork-offset:clamp(8.5rem,38vw,10.75rem);
  }

  /* Home already has a deliberately subtle field-photo lead-in. Declare that
     exception in this final responsive layer rather than depending on an
     earlier, more-specific selector to undo the shared mobile token. */
  body[data-page="home"] .footer.site-footer {
    --footer-artwork-offset:3rem;
  }

  .footer.site-footer::before {
    min-height:0 !important;
    height:var(--footer-artwork-offset) !important;
  }

  .footer.site-footer .footer-inner {
    padding-top:calc(var(--footer-artwork-offset) + 1rem) !important;
  }
}

@media (max-width:420px) {
  .footer.site-footer .footer-link-groups {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .footer.site-footer .footer-link-group--storefronts {
    grid-column:1 / -1;
  }

  /* The home stylesheet previously reintroduced a one-column footer at this
     width, which made its otherwise shared footer much taller than account
     and catalog pages. Keep the marketplace links as the full-width third
     group while the two primary groups stay side by side. */
  body[data-page="home"] .footer.site-footer .footer-link-groups {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  body[data-page="home"] .footer.site-footer .footer-link-group--storefronts {
    grid-column:1 / -1;
  }
}

/* Keep the three distinct footer groups beside one another until a phone is
   genuinely too narrow to give each one a useful reading column. */
@media (min-width:481px) and (max-width:700px) {
  .footer.site-footer .footer-link-groups,
  body[data-page="home"] .footer.site-footer .footer-link-groups {
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:.68rem !important;
  }

  .footer.site-footer .footer-link-group,
  body[data-page="home"] .footer.site-footer .footer-link-group {
    min-width:0;
    padding-top:.52rem;
  }

  .footer.site-footer .footer-link-group--storefronts,
  body[data-page="home"] .footer.site-footer .footer-link-group--storefronts {
    grid-column:auto;
  }

  .footer.site-footer .footer-link-group strong,
  body[data-page="home"] .footer.site-footer .footer-link-group strong {
    font-size:.79rem;
    letter-spacing:.09em;
  }

  .footer.site-footer .footer-link-group a,
  body[data-page="home"] .footer.site-footer .footer-link-group a {
    min-height:0;
    padding:.34rem 0;
    font-size:.78rem;
    line-height:1.25;
    overflow-wrap:anywhere;
  }
}

/* AI card-intake workbench -------------------------------------------------- */
.card-ai-workbench {
  margin:1.4rem 0 1.6rem;
  padding:1.15rem;
  border:1px solid color-mix(in srgb,var(--border-color,#445) 82%,transparent);
  border-radius:1rem;
  background:color-mix(in srgb,var(--panel-bg,#151922) 92%,#0b111d);
}

.card-ai-workbench__header {
  align-items:flex-start;
  gap:1rem;
}

.card-ai-workbench__actions,
.card-ai-single-toolbar,
.card-ai-row-actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.55rem;
}

.card-ai-file-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}

.card-ai-status,
.card-ai-inline-status {
  display:block;
  min-height:1.3rem;
  color:var(--muted-text,#9da9ba);
  font-size:.87rem;
}

.card-ai-status {
  margin:.75rem 0;
  padding:.65rem .8rem;
  border-radius:.65rem;
  background:color-mix(in srgb,var(--panel-bg,#151922) 76%,#263044);
}

.card-ai-status--success,
.card-ai-inline-status--success { color:#8fe2ac; }
.card-ai-status--warning,
.card-ai-inline-status--warning { color:#f2cb7f; }
.card-ai-status--error,
.card-ai-inline-status--error { color:#ffaaa6; }

.card-ai-groups__heading,
.card-ai-results__heading {
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:baseline;
  margin:.85rem 0 .6rem;
}

.card-ai-groups__heading span,
.card-ai-results__heading span {
  color:var(--muted-text,#9da9ba);
  font-size:.82rem;
}

.card-ai-groups__grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:.65rem;
}

.card-ai-group-card {
  display:grid;
  grid-template-columns:3.5rem minmax(0,1fr);
  gap:.65rem;
  align-items:center;
  padding:.6rem;
  border:1px solid color-mix(in srgb,var(--border-color,#445) 70%,transparent);
  border-radius:.75rem;
  background:color-mix(in srgb,var(--panel-bg,#151922) 80%,#0c1220);
}

.card-ai-group-card__thumb,
.card-ai-result-photo {
  overflow:hidden;
  border-radius:.45rem;
  background:#0b1019;
}

.card-ai-group-card__thumb {
  width:3.5rem;
  height:4.5rem;
  display:grid;
  place-items:center;
  color:var(--muted-text,#9da9ba);
  font-size:.7rem;
}

.card-ai-group-card__thumb img,
.card-ai-result-photo img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.card-ai-group-card strong,
.card-ai-group-card span,
.card-ai-group-card small {
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.card-ai-group-card span,
.card-ai-group-card small {
  color:var(--muted-text,#9da9ba);
  font-size:.76rem;
}

.card-ai-group-card small {
  grid-column:1 / -1;
  white-space:normal;
  overflow-wrap:anywhere;
}

.card-ai-results__table-wrap {
  overflow:auto;
  border:1px solid color-mix(in srgb,var(--border-color,#445) 72%,transparent);
  border-radius:.75rem;
}

.card-ai-results__table {
  width:100%;
  min-width:930px;
  border-collapse:collapse;
  font-size:.78rem;
}

.card-ai-results__table th,
.card-ai-results__table td {
  padding:.55rem .6rem;
  border-bottom:1px solid color-mix(in srgb,var(--border-color,#445) 58%,transparent);
  text-align:left;
  vertical-align:middle;
}

.card-ai-results__table th {
  color:var(--muted-text,#9da9ba);
  font-size:.68rem;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.card-ai-result-row--approved { background:color-mix(in srgb,#1b6b42 14%,transparent); }
.card-ai-result-row--review { background:color-mix(in srgb,#8a6416 13%,transparent); }
.card-ai-result-row--error { background:color-mix(in srgb,#8a2b2b 13%,transparent); }

.card-ai-result-photo {
  width:2.5rem;
  height:3.2rem;
  display:flex;
  align-items:flex-end;
  position:relative;
}

.card-ai-result-photo small {
  position:absolute;
  right:.15rem;
  bottom:.15rem;
  left:.15rem;
  overflow:hidden;
  color:#fff;
  font-size:.58rem;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-shadow:0 1px 2px #000;
}

.card-ai-status-pill {
  display:inline-flex;
  padding:.2rem .4rem;
  border-radius:999px;
  background:#303a4b;
  color:#d7e0ed;
  font-size:.68rem;
  white-space:nowrap;
}

.card-ai-status-pill--approved,
.card-ai-status-pill--saved,
.card-ai-status-pill--ready { background:#1e6842; color:#c8f5d8; }
.card-ai-status-pill--review,
.card-ai-status-pill--saving { background:#73561c; color:#ffe6a8; }
.card-ai-status-pill--error { background:#7a2c2c; color:#ffd0cd; }

.card-ai-row-actions button {
  min-height:2rem;
  padding:.3rem .5rem;
  font-size:.7rem;
}

.card-identification-editor-section {
  border-color:color-mix(in srgb,#5b83c8 48%,var(--border-color,#445));
}

.card-ai-single-toolbar {
  margin-bottom:.85rem;
}

.card-identification-fields {
  margin-top:.25rem;
}

.card-ai-detail-summary {
  display:flex;
  flex-wrap:wrap;
  gap:.6rem 1rem;
  margin-top:.9rem;
  padding:.65rem .75rem;
  border-radius:.65rem;
  background:color-mix(in srgb,#345a9a 18%,transparent);
}

.card-ai-detail-summary span,
.card-ai-detail-block {
  color:var(--muted-text,#9da9ba);
  font-size:.82rem;
}

.card-ai-detail-block {
  margin-top:.55rem;
  padding:.55rem .7rem;
  border:1px solid color-mix(in srgb,var(--border-color,#445) 58%,transparent);
  border-radius:.55rem;
}

.card-ai-detail-block summary {
  cursor:pointer;
  color:var(--body-text,#e3e8ef);
}

.card-ai-detail-block ul {
  margin:.45rem 0 0 1.15rem;
  padding:0;
}

.card-ai-detail-block li + li { margin-top:.28rem; }

@media (max-width:700px) {
  .card-ai-workbench { padding:.8rem; }
  .card-ai-workbench__header,
  .card-ai-groups__heading,
  .card-ai-results__heading { display:block; }
  .card-ai-workbench__actions { margin-top:.8rem; }
  .card-ai-workbench__actions > *,
  .card-ai-single-toolbar > * { max-width:100%; }
  .card-ai-file-button { white-space:normal; text-align:center; }
}

/* Shared footer finish: retain the current DJHC logo, collection artwork, and
   every existing destination, while giving the footer the quieter, structured
   dark treatment used by the new fan-tool concepts. */
.footer.site-footer {
  border-top:1px solid rgba(255,255,255,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}

.footer.site-footer .footer-logo-line {
  padding-bottom:.82rem;
  border-bottom:1px solid rgba(255,255,255,.14);
}

.footer.site-footer .footer-logo {
  padding:.24rem;
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  background:rgba(255,255,255,.06);
  box-shadow:0 12px 24px rgba(0,0,0,.18);
}

.footer.site-footer .footer-bottom {
  margin-top:.2rem;
  background:rgba(3,8,22,.24);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.footer.site-footer .footer-bottom > * {
  min-width:0;
}

@media (max-width:700px) {
  .footer.site-footer .footer-logo-line {
    padding-bottom:.68rem;
  }

  .footer.site-footer .footer-bottom {
    margin-inline:-.75rem;
    padding-inline:.75rem;
  }
}

/* Keep the compact header’s visible Menu label readable on phones and tablets. */
@media (min-width:361px) and (max-width:1180px) {
  .site-header .nav-toggle .button-label {
    font-size:.9rem;
  }
}

/* Give the readable label room without changing the hamburger glyph size. */
@media (min-width:361px) and (max-width:900px) {
  .site-header .nav-toggle {
    gap:.35rem;
    min-width:84px !important;
    width:84px !important;
    padding-inline:.42rem;
  }

  body:not([data-page="home"]) .site-header .nav-toggle {
    gap:.35rem;
    min-width:84px !important;
    width:84px !important;
    padding-inline:.42rem;
  }

  body[data-page="home"] .site-header .nav-toggle {
    gap:.35rem;
    min-width:84px !important;
    width:84px !important;
    padding-inline:.42rem;
  }
}

/* At the narrowest width, keep the label accessible and show the icon only. */
@media (max-width:360px) {
  .site-header .nav-toggle .button-label {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    clip-path:inset(50%);
    white-space:nowrap;
  }
}

/* Final narrow-screen layer for the product modal: keep purchase actions in
   reach while the newly collapsible listing details are scrolled. */
@media (max-width:980px) {
  .modal-copy .modal-actions--sticky {
    position:sticky !important;
    z-index:8;
    bottom:calc(env(safe-area-inset-bottom,0px) + .35rem) !important;
    margin:.15rem -.35rem .2rem;
    padding:.7rem .35rem calc(.7rem + env(safe-area-inset-bottom,0px)) !important;
    border-radius:14px;
    background:var(--surface-strong);
    box-shadow:0 -12px 30px rgba(7,11,24,.18);
    backdrop-filter:blur(16px);
  }

  .modal-copy .modal-actions--sticky > *,
  .modal-listing-details > summary {
    min-height:50px;
  }
}
