/* ============================================================
   DRAPEX — Streetwear Edition (Darkbuck-inspired)
   Loads after drapex.css, overrides aggressively
   ============================================================ */

:root {
  --sw-bg: #0a0a0a;
  --sw-bg-2: #111111;
  --sw-bg-3: #181818;
  --sw-line: #232323;
  --sw-line-soft: #1a1a1a;
  --sw-paper: #f4f0e8;
  --sw-fg: #f6f4ee;
  --sw-fg-muted: #a09b91;
  --sw-accent: #ff4e16;        /* electric orange */
  --sw-accent-2: #d8ff00;       /* electric lime */
  --sw-radius: 0px;             /* sharp corners — streetwear */
  --sw-display: 'Anton', 'Bebas Neue', 'Manrope', sans-serif;
  --sw-display-tight: 'Bebas Neue', 'Anton', sans-serif;
  --sw-body: 'Manrope', 'Inter', sans-serif;
}

/* GLOBAL DARK SHIFT */
body {
  background: var(--sw-bg) !important;
  color: var(--sw-fg) !important;
  font-family: var(--sw-body) !important;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--sw-fg); }
a:hover { color: var(--sw-accent); }

::selection { background: var(--sw-accent); color: #fff; }

/* ============================================================
   NOTICE BAR — louder
   ============================================================ */
.site-notice-bar {
  background: var(--sw-accent) !important;
  color: #fff !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  font-size: 0.74rem !important;
  text-transform: uppercase;
  padding: 9px 0 !important;
  border: 0 !important;
}
.site-notice-bar .site-notice-copy { color: #fff !important; }
.site-notice-bar strong { color: #fff !important; background: rgba(0,0,0,.25); padding: 1px 8px; }
.notice-dot { background: #fff !important; }

/* ============================================================
   HEADER — dark, transparent over hero, sticky on scroll
   ============================================================ */
.site-header {
  background: rgba(10, 10, 10, .7) !important;
  backdrop-filter: blur(14px) saturate(160%);
  -webkit-backdrop-filter: blur(14px) saturate(160%);
  border-bottom: 1px solid var(--sw-line) !important;
  padding: 16px 0 !important;
}
.logo-text {
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  font-size: 2rem !important;
  letter-spacing: 0.18em !important;
  color: var(--sw-fg) !important;
  text-transform: uppercase;
}
.logo-subtext {
  color: var(--sw-fg-muted) !important;
  font-weight: 600 !important;
  letter-spacing: 0.3em !important;
  font-size: 0.6rem !important;
  white-space: nowrap !important;
}
.main-navigation a {
  color: var(--sw-fg) !important;
  font-family: var(--sw-display-tight);
  font-size: 1.1rem !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase;
  font-weight: 400 !important;
  white-space: nowrap !important;
}
.main-navigation a::after { background: var(--sw-accent) !important; }
.main-navigation a:hover { color: var(--sw-accent) !important; }
.header-shop-link {
  background: var(--sw-accent) !important;
  border-color: var(--sw-accent) !important;
  color: #fff !important;
  font-family: var(--sw-display-tight) !important;
  letter-spacing: 0.16em !important;
  font-size: 0.95rem !important;
  text-transform: uppercase;
  padding: 10px 22px !important;
  white-space: nowrap !important;
}
.header-shop-link:hover {
  background: #fff !important;
  border-color: #fff !important;
  color: #000 !important;
}
.cart-contents { color: var(--sw-fg) !important; }
.cart-count { background: var(--sw-accent) !important; }

.mobile-menu-toggle .bar { background: var(--sw-fg) !important; }

/* ============================================================
   STREETWEAR HOMEPAGE
   ============================================================ */

/* Hide the OLD homepage sections — only on the homepage. The same classes
   (especially .featured-products-minimal) are reused on the shop archive,
   so we must NOT hide them globally. */
body.home .drapex-hero,
body.home .drapex-tee,
body.home .drapex-bundles,
body.home .drapex-promise,
body.home .drapex-features,
body.home .drapex-promo-strip { display: none !important; }

/* === FULL-BLEED HERO === */
.sw-hero {
  position: relative;
  min-height: 100vh;
  width: 100%;
  overflow: hidden;
  background: #000;
}
.sw-hero-media {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.sw-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: brightness(.55) contrast(1.05) saturate(.85);
}
.sw-hero-grain {
  position: absolute; inset: 0; z-index: 2;
  background:
    radial-gradient(ellipse at top, transparent 0%, rgba(0,0,0,.3) 60%, rgba(0,0,0,.85) 100%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.012) 0 1px, transparent 1px 3px);
  pointer-events: none;
}
.sw-hero-content {
  position: relative;
  z-index: 5;
  width: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 140px 0 60px;
}
.sw-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: var(--sw-display-tight);
  font-size: 1rem;
  letter-spacing: 0.32em;
  color: var(--sw-fg);
  text-transform: uppercase;
  margin-bottom: 22px;
}
.sw-hero-eyebrow::before {
  content: "";
  width: 36px; height: 1.5px;
  background: var(--sw-accent);
  display: inline-block;
}
.sw-hero-title {
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  font-size: clamp(3.5rem, 10vw, 12rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.02em !important;
  text-transform: uppercase !important;
  color: var(--sw-fg) !important;
  margin: 0 0 28px !important;
}
.sw-hero-title .sw-stroke {
  -webkit-text-stroke: 1.5px var(--sw-fg);
  color: transparent;
}
.sw-hero-title .sw-accent { color: var(--sw-accent); }
.sw-hero-title em {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-weight: 500;
  font-size: 0.55em;
  vertical-align: 0.18em;
  letter-spacing: -0.01em;
  color: var(--sw-fg-muted);
  text-transform: none;
}
.sw-hero-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 26px;
  padding: 22px 0;
  border-top: 1px solid rgba(255,255,255,.18);
  border-bottom: 1px solid rgba(255,255,255,.18);
  margin-bottom: 28px;
  max-width: 920px;
}
.sw-hero-meta-item {
  display: flex; flex-direction: column; gap: 2px;
}
.sw-hero-meta-label {
  font-family: var(--sw-display-tight);
  font-size: 0.78rem;
  letter-spacing: 0.24em;
  color: var(--sw-fg-muted);
  text-transform: uppercase;
}
.sw-hero-meta-value {
  font-family: var(--sw-body);
  font-size: 1rem;
  font-weight: 700;
  color: var(--sw-fg);
}
.sw-hero-meta-divider {
  width: 1px; height: 36px;
  background: rgba(255,255,255,.18);
}
.sw-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
}

/* === BUTTONS === */
.btn-sw-primary {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  background: var(--sw-accent);
  color: #fff !important;
  font-family: var(--sw-display-tight);
  font-size: 1.15rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 400;
  padding: 18px 36px;
  border: 1.5px solid var(--sw-accent);
  text-decoration: none !important;
  transition: all .2s ease;
  border-radius: 0;
}
.btn-sw-primary:hover {
  background: #fff;
  border-color: #fff;
  color: #000 !important;
  transform: translateY(-2px);
}
.btn-sw-primary svg { transition: transform .2s ease; }
.btn-sw-primary:hover svg { transform: translateX(6px); }

.btn-sw-ghost {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: transparent;
  color: var(--sw-fg) !important;
  font-family: var(--sw-display-tight);
  font-size: 1.05rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 18px 26px;
  border: 1.5px solid rgba(255,255,255,.22);
  text-decoration: none !important;
  transition: all .2s ease;
  border-radius: 0;
}
.btn-sw-ghost:hover {
  background: rgba(255,255,255,.06);
  border-color: var(--sw-fg);
  color: var(--sw-fg) !important;
}

/* Scroll cue */
.sw-hero-scroll {
  position: absolute;
  bottom: 24px;
  right: 30px;
  z-index: 6;
  display: flex; align-items: center; gap: 10px;
  font-family: var(--sw-display-tight);
  letter-spacing: 0.3em;
  font-size: 0.74rem;
  color: var(--sw-fg-muted);
  text-transform: uppercase;
  writing-mode: vertical-rl;
  padding-bottom: 60px;
}
.sw-hero-scroll::after {
  content: "";
  position: absolute;
  bottom: 0; left: 50%;
  transform: translateX(-50%);
  width: 1px; height: 50px;
  background: linear-gradient(to bottom, var(--sw-fg-muted), transparent);
  animation: sw-scroll-line 1.6s ease-in-out infinite;
}
@keyframes sw-scroll-line {
  0%, 100% { transform: translateX(-50%) scaleY(.4); transform-origin: top; opacity: .4; }
  50% { transform: translateX(-50%) scaleY(1); opacity: 1; }
}

/* === MARQUEE === */
.sw-marquee {
  background: var(--sw-fg);
  color: var(--sw-bg);
  padding: 18px 0;
  overflow: hidden;
  position: relative;
  border-top: 1.5px solid var(--sw-accent);
  border-bottom: 1.5px solid var(--sw-accent);
}
.sw-marquee-track {
  display: inline-flex;
  align-items: center;
  gap: 30px;
  animation: sw-scroll 32s linear infinite;
  font-family: var(--sw-display);
  font-size: 1.4rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  white-space: nowrap;
}
.sw-marquee-track .star {
  display: inline-flex; align-items: center;
  color: var(--sw-accent);
  font-size: 1.1rem;
}
@keyframes sw-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* === SECTION HEADER === */
.sw-section {
  padding: 110px 0;
  background: var(--sw-bg);
  position: relative;
}
.sw-section-alt { background: var(--sw-bg-2); }
.sw-section-light { background: var(--sw-paper); color: #0a0a0a; }
.sw-section-light .sw-section-heading,
.sw-section-light .sw-section-eyebrow,
.sw-section-light h2,
.sw-section-light h3 { color: #0a0a0a !important; }
.sw-section-light .sw-section-sub { color: #4a4744; }

.sw-section-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 24px;
  margin-bottom: 64px;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--sw-line);
}
.sw-section-light .sw-section-head { border-bottom-color: rgba(0,0,0,.12); }
.sw-section-eyebrow {
  font-family: var(--sw-display-tight);
  font-size: 0.95rem;
  letter-spacing: 0.32em;
  color: var(--sw-fg-muted);
  text-transform: uppercase;
  margin-bottom: 14px;
  display: block;
}
.sw-section-heading {
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  font-size: clamp(2.2rem, 6vw, 5rem) !important;
  line-height: 0.95 !important;
  letter-spacing: -0.01em !important;
  text-transform: uppercase !important;
  color: var(--sw-fg) !important;
  margin: 0 !important;
}
.sw-section-heading .sw-stroke {
  -webkit-text-stroke: 1.2px var(--sw-fg);
  color: transparent;
}
.sw-section-light .sw-section-heading .sw-stroke {
  -webkit-text-stroke: 1.2px #0a0a0a;
}
.sw-section-sub {
  max-width: 360px;
  color: var(--sw-fg-muted);
  font-size: 0.95rem;
  line-height: 1.5;
  text-align: right;
}

/* === COLORWAY GRID — magazine style === */
.sw-colorway-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2px;
  background: var(--sw-line);
}
.sw-colorway-card {
  position: relative;
  aspect-ratio: 3/4;
  overflow: hidden;
  display: block;
  text-decoration: none;
  background: var(--sw-bg-2);
  cursor: pointer;
}
.sw-colorway-card img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .8s cubic-bezier(.2,.7,.2,1);
  filter: brightness(.85);
}
.sw-colorway-card:hover img { transform: scale(1.06); filter: brightness(1); }
.sw-colorway-card::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.85) 0%, transparent 50%);
}
.sw-colorway-meta {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  z-index: 2;
  padding: 24px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  color: #fff;
}
.sw-colorway-name {
  font-family: var(--sw-display);
  font-size: 1.8rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1;
  color: #fff;
}
.sw-colorway-num {
  font-family: var(--sw-display-tight);
  font-size: 0.85rem;
  letter-spacing: 0.24em;
  color: var(--sw-fg-muted);
}
.sw-colorway-badge {
  position: absolute;
  top: 18px; left: 18px;
  z-index: 3;
  background: var(--sw-accent);
  color: #fff;
  font-family: var(--sw-display-tight);
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  padding: 5px 10px;
  text-transform: uppercase;
}

/* === LOOKBOOK / EDITORIAL === */
.sw-lookbook {
  background: var(--sw-bg);
  padding: 0;
  position: relative;
}
.sw-lookbook-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: 100px;
  gap: 8px;
}
.sw-look-tile {
  position: relative;
  overflow: hidden;
  background: var(--sw-bg-2);
}
.sw-look-tile img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .8s ease;
}
.sw-look-tile:hover img { transform: scale(1.04); }
.sw-look-tile::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.6) 0%, transparent 60%);
  opacity: 0;
  transition: opacity .3s ease;
}
.sw-look-tile:hover::after { opacity: 1; }
.sw-look-caption {
  position: absolute;
  bottom: 16px; left: 18px;
  font-family: var(--sw-display-tight);
  font-size: 0.78rem;
  letter-spacing: 0.2em;
  color: #fff;
  text-transform: uppercase;
  z-index: 2;
  opacity: 0;
  transform: translateY(8px);
  transition: all .25s ease;
}
.sw-look-tile:hover .sw-look-caption { opacity: 1; transform: translateY(0); }

.sw-look-tile.t-1 { grid-column: span 6; grid-row: span 5; }
.sw-look-tile.t-2 { grid-column: span 3; grid-row: span 3; }
.sw-look-tile.t-3 { grid-column: span 3; grid-row: span 3; }
.sw-look-tile.t-4 { grid-column: span 3; grid-row: span 2; }
.sw-look-tile.t-5 { grid-column: span 3; grid-row: span 2; }
.sw-look-tile.t-6 { grid-column: span 4; grid-row: span 4; }
.sw-look-tile.t-7 { grid-column: span 4; grid-row: span 4; }
.sw-look-tile.t-8 { grid-column: span 4; grid-row: span 4; }

.sw-lookbook-bar {
  background: var(--sw-bg-3);
  padding: 20px 0;
  text-align: center;
  font-family: var(--sw-display);
  font-size: 1.3rem;
  letter-spacing: 0.3em;
  color: var(--sw-fg);
  text-transform: uppercase;
  border-bottom: 1px solid var(--sw-line);
}
.sw-lookbook-bar span { color: var(--sw-accent); margin: 0 12px; }

/* === BUNDLES ON DARK === */
.sw-bundles {
  background: var(--sw-bg);
  padding: 110px 0;
}
.sw-bundle-grid {
  display: grid;
  grid-template-columns: 1fr 1.15fr 1fr;
  gap: 14px;
  align-items: stretch;
}
.sw-bundle-card {
  border: 1px solid var(--sw-line);
  background: var(--sw-bg-2);
  padding: 36px 30px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  position: relative;
  transition: all .3s ease;
}
.sw-bundle-card:hover {
  border-color: var(--sw-accent);
  transform: translateY(-3px);
}
.sw-bundle-card.is-feature {
  background: var(--sw-accent);
  border-color: var(--sw-accent);
  color: #fff;
}
.sw-bundle-tag {
  font-family: var(--sw-display-tight);
  font-size: 0.8rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--sw-fg-muted);
}
.sw-bundle-card.is-feature .sw-bundle-tag { color: rgba(255,255,255,.78); }
.sw-bundle-qty {
  font-family: var(--sw-display) !important;
  font-size: 4rem !important;
  font-weight: 400 !important;
  line-height: 0.95 !important;
  text-transform: uppercase !important;
  margin: 0 !important;
  color: var(--sw-fg);
  letter-spacing: -0.01em !important;
}
.sw-bundle-card.is-feature .sw-bundle-qty { color: #fff; }
.sw-bundle-row { display: flex; align-items: baseline; gap: 12px; }
.sw-bundle-amount {
  font-family: var(--sw-display);
  font-size: 1.7rem;
  color: var(--sw-fg);
}
.sw-bundle-card.is-feature .sw-bundle-amount { color: #fff; }
.sw-bundle-old {
  font-size: 0.85rem;
  text-decoration: line-through;
  color: var(--sw-fg-muted);
}
.sw-bundle-card.is-feature .sw-bundle-old { color: rgba(255,255,255,.7); }
.sw-bundle-note {
  color: var(--sw-fg-muted);
  font-size: 0.92rem;
  line-height: 1.5;
  flex: 1;
}
.sw-bundle-card.is-feature .sw-bundle-note { color: rgba(255,255,255,.85); }
.sw-bundle-cta {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-family: var(--sw-display-tight);
  font-size: 1rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--sw-fg) !important;
  text-decoration: none;
  border-top: 1px solid var(--sw-line);
  padding-top: 16px;
  margin-top: 8px;
  transition: color .2s ease;
}
.sw-bundle-card:hover .sw-bundle-cta { color: var(--sw-accent) !important; }
.sw-bundle-card.is-feature .sw-bundle-cta {
  color: #fff !important;
  border-top-color: rgba(255,255,255,.3);
}
.sw-bundle-card.is-feature:hover .sw-bundle-cta { color: #fff !important; }

/* === INSTAGRAM / SOCIAL STRIP === */
.sw-social {
  background: var(--sw-bg-2);
  padding: 90px 0;
}
.sw-social-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 4px;
}
.sw-social-tile {
  position: relative;
  aspect-ratio: 1/1;
  overflow: hidden;
  background: var(--sw-bg-3);
  cursor: pointer;
  display: block;
}
.sw-social-tile img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .5s ease, filter .5s ease;
}
.sw-social-tile:hover img { transform: scale(1.08); }
.sw-social-tile::after {
  content: "";
  position: absolute; inset: 0;
  background: rgba(0,0,0,.4);
  opacity: 0;
  transition: opacity .3s ease;
}
.sw-social-tile:hover::after { opacity: 1; }
.sw-social-tile-icon {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%) scale(.7);
  z-index: 2;
  opacity: 0;
  transition: all .3s ease;
  color: #fff;
}
.sw-social-tile:hover .sw-social-tile-icon { opacity: 1; transform: translate(-50%, -50%) scale(1); }

/* === FOUNDERS NOTE === */
.sw-founders {
  background: var(--sw-paper);
  color: #0a0a0a;
  padding: 130px 0;
  position: relative;
}
.sw-founders-grid {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 80px;
  align-items: center;
}
.sw-founders-headline {
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  font-size: clamp(2.4rem, 5.5vw, 4.4rem) !important;
  line-height: 0.95 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.01em !important;
  color: #0a0a0a !important;
  margin-bottom: 22px !important;
}
.sw-founders-headline em {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-weight: 500;
  color: #5a5650;
  text-transform: none;
  font-size: 0.78em;
  letter-spacing: -0.02em;
}
.sw-founders-copy {
  font-size: 1.08rem;
  line-height: 1.65;
  color: #2a2724;
  margin-bottom: 18px;
}
.sw-founders-sig {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  color: #5a5650;
  font-size: 1.15rem;
  margin-top: 12px;
}

/* === BIG STAMP CTA === */
.sw-stamp {
  background: var(--sw-accent);
  color: #fff;
  padding: 110px 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.sw-stamp-bg-text {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--sw-display);
  font-size: 22vw;
  line-height: 1;
  color: rgba(255,255,255,.08);
  text-transform: uppercase;
  letter-spacing: -0.02em;
  pointer-events: none;
  z-index: 1;
}
.sw-stamp-content {
  position: relative;
  z-index: 2;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 22px;
}
.sw-stamp-eyebrow {
  font-family: var(--sw-display-tight);
  font-size: 1rem;
  letter-spacing: 0.36em;
  color: #fff;
  text-transform: uppercase;
}
.sw-stamp-title {
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  font-size: clamp(2.6rem, 8vw, 7rem) !important;
  line-height: 0.92 !important;
  letter-spacing: -0.015em !important;
  text-transform: uppercase !important;
  color: #fff !important;
  margin: 0 !important;
}
.sw-stamp-sub {
  font-size: 1.15rem;
  color: rgba(255,255,255,.85);
  max-width: 540px;
  line-height: 1.55;
}
.btn-sw-light {
  background: #fff !important;
  color: #ff4e16 !important;
  border-color: #fff !important;
  font-size: 1.15rem !important;
}
.btn-sw-light:hover {
  background: #000 !important;
  color: #fff !important;
  border-color: #000 !important;
}

/* === FEATURE STRIP — dark === */
.sw-features {
  background: var(--sw-bg);
  padding: 0;
  border-top: 1px solid var(--sw-line);
}
.sw-features-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.sw-feature-cell {
  padding: 38px 30px;
  border-right: 1px solid var(--sw-line);
  text-align: left;
  transition: background .25s ease;
}
.sw-feature-cell:last-child { border-right: 0; }
.sw-feature-cell:hover { background: var(--sw-bg-2); }
.sw-feature-num {
  font-family: var(--sw-display-tight);
  font-size: 0.85rem;
  letter-spacing: 0.32em;
  color: var(--sw-accent);
  text-transform: uppercase;
  display: block;
  margin-bottom: 14px;
}
.sw-feature-cell h4 {
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  font-size: 1.6rem !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  color: var(--sw-fg) !important;
  margin: 0 0 10px !important;
}
.sw-feature-cell p {
  color: var(--sw-fg-muted);
  font-size: 0.92rem;
  line-height: 1.55;
  margin: 0;
}

/* ============================================================
   FOOTER — dark + bold
   ============================================================ */
.site-footer {
  background: #050505 !important;
  border-top: 1px solid var(--sw-line);
}
.footer-kicker {
  color: var(--sw-accent) !important;
  font-family: var(--sw-display-tight) !important;
  font-size: 1.1rem !important;
  letter-spacing: 0.32em !important;
  font-weight: 400 !important;
}
.footer-heading {
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  font-size: 3rem !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  color: var(--sw-fg) !important;
}
.footer-copy { color: var(--sw-fg-muted) !important; }
.footer-title {
  font-family: var(--sw-display-tight) !important;
  font-size: 1rem !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  color: var(--sw-fg) !important;
}
.footer-links a { color: var(--sw-fg-muted) !important; }
.footer-links a:hover { color: var(--sw-accent) !important; }
.footer-socials a { color: var(--sw-fg) !important; }
.footer-socials a:hover { color: var(--sw-accent) !important; }
.newsletter-input { color: var(--sw-fg) !important; }
.newsletter-input::placeholder { color: var(--sw-fg-muted) !important; }
.newsletter-submit-arrow {
  background: var(--sw-accent) !important;
  color: #fff !important;
}
.newsletter-submit-arrow:hover { background: #fff !important; color: var(--sw-accent) !important; }
.payment-pill {
  border-color: var(--sw-line) !important;
  color: var(--sw-fg-muted) !important;
}

/* ============================================================
   PRODUCT PAGE — dark/streetwear
   ============================================================ */
.drapex-single-product-page {
  background: var(--sw-bg) !important;
}
.drapex-product-gallery-shell,
.drapex-product-summary-card,
.drapex-product-lower .woocommerce-tabs,
.drapex-product-lower .related,
.drapex-product-lower .upsells {
  background: var(--sw-bg-2) !important;
  border-color: var(--sw-line) !important;
  box-shadow: none !important;
}
.drapex-product-title {
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  font-size: clamp(2rem, 3vw, 2.8rem) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.01em !important;
  color: var(--sw-fg) !important;
}
.drapex-product-header .section-label {
  color: var(--sw-accent) !important;
  font-family: var(--sw-display-tight);
  font-size: 0.85rem !important;
  letter-spacing: 0.28em !important;
}
.drapex-product-header { border-bottom-color: var(--sw-line) !important; }
.drapex-product-price { color: var(--sw-fg) !important; }
.drapex-product-price del { color: var(--sw-fg-muted) !important; }
.drapex-product-intro { border-bottom-color: var(--sw-line) !important; }
.drapex-product-intro,
.drapex-product-intro p { color: var(--sw-fg-muted) !important; }
.drapex-product-trust-grid {
  background: var(--sw-bg-3) !important;
  border-color: var(--sw-line) !important;
}
.drapex-trust-card { border-right-color: var(--sw-line) !important; }
.drapex-trust-card:hover { background: rgba(255,78,22,.06) !important; }
.drapex-trust-card strong { color: var(--sw-fg) !important; }
.drapex-trust-card span { color: var(--sw-fg-muted) !important; }
.drapex-product-purchase {
  border-color: var(--sw-line) !important;
}
.drapex-product-purchase .single_add_to_cart_button {
  background: var(--sw-accent) !important;
  border-color: var(--sw-accent) !important;
  font-family: var(--sw-display-tight) !important;
  font-size: 1.1rem !important;
  letter-spacing: 0.22em !important;
}
.drapex-product-purchase .single_add_to_cart_button:hover {
  background: #fff !important;
  border-color: #fff !important;
  color: #000 !important;
}
.drapex-product-purchase .quantity .qty {
  background: var(--sw-bg-3) !important;
  border-color: var(--sw-line) !important;
  color: var(--sw-fg) !important;
}
.drapex-product-purchase .variations select {
  background-color: var(--sw-bg-3) !important;
  border-color: var(--sw-line) !important;
  color: var(--sw-fg) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23f6f4ee' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}
.drapex-product-meta-grid .drapex-meta-item {
  background: var(--sw-bg-3) !important;
  border-color: var(--sw-line) !important;
}
.drapex-meta-item span { color: var(--sw-fg-muted) !important; }
.drapex-meta-item strong, .drapex-meta-item strong a { color: var(--sw-fg) !important; }
.drapex-product-detail-panel {
  background: var(--sw-bg-3) !important;
  border-color: var(--sw-line) !important;
}
.drapex-product-detail-panel h2 { color: var(--sw-fg-muted) !important; }
.drapex-detail-row { border-bottom-color: var(--sw-line) !important; }
.drapex-detail-row span { color: var(--sw-fg-muted) !important; }
.drapex-detail-row strong { color: var(--sw-fg) !important; }
.drapex-stock-pill {
  background: rgba(216,255,0,.12) !important;
  color: var(--sw-accent-2) !important;
  border-color: rgba(216,255,0,.3) !important;
}
.drapex-stock-pill::before { background: var(--sw-accent-2) !important; }
.drapex-product-gallery-shell .woocommerce-product-gallery__image {
  background: var(--sw-bg-3) !important;
}
.drapex-product-gallery-shell .flex-control-thumbs img {
  background: var(--sw-bg-3) !important;
}
.drapex-product-gallery-shell .flex-control-thumbs img.flex-active {
  border-color: var(--sw-accent) !important;
}
.drapex-product-lower .woocommerce-tabs ul.tabs li a {
  background: var(--sw-bg-3) !important;
  border-color: var(--sw-line) !important;
  color: var(--sw-fg) !important;
}
.drapex-product-lower .woocommerce-tabs ul.tabs li.active a {
  background: var(--sw-accent) !important;
  border-color: var(--sw-accent) !important;
}
.drapex-product-lower .related > h2,
.drapex-product-lower .upsells > h2 {
  font-family: var(--sw-display) !important;
  text-transform: uppercase !important;
  color: var(--sw-fg) !important;
}
.drapex-product-breadcrumb .woocommerce-breadcrumb,
.drapex-product-breadcrumb .woocommerce-breadcrumb a,
.woocommerce-breadcrumb,
.woocommerce-breadcrumb a {
  color: var(--sw-fg-muted) !important;
  font-family: var(--sw-display-tight) !important;
  letter-spacing: 0.22em !important;
}
.drapex-product-breadcrumb .woocommerce-breadcrumb a:hover,
.woocommerce-breadcrumb a:hover { color: var(--sw-accent) !important; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1100px) {
  .sw-colorway-grid { grid-template-columns: repeat(2, 1fr); }
  .sw-bundle-grid { grid-template-columns: 1fr; }
  .sw-bundle-card.is-feature { transform: none; }
  .sw-features-grid { grid-template-columns: repeat(2, 1fr); }
  .sw-feature-cell:nth-child(2) { border-right: 0; }
  .sw-feature-cell:nth-child(1), .sw-feature-cell:nth-child(2) { border-bottom: 1px solid var(--sw-line); }
  .sw-founders-grid { grid-template-columns: 1fr; gap: 40px; }
  .sw-social-grid { grid-template-columns: repeat(3, 1fr); }
  .sw-section-head { flex-direction: column; align-items: flex-start; }
  .sw-section-sub { text-align: left; max-width: 100%; }
  .sw-lookbook-grid {
    grid-template-columns: repeat(6, 1fr);
    grid-auto-rows: 80px;
  }
  .sw-look-tile.t-1 { grid-column: span 6; grid-row: span 4; }
  .sw-look-tile.t-2, .sw-look-tile.t-3 { grid-column: span 3; grid-row: span 3; }
  .sw-look-tile.t-4, .sw-look-tile.t-5 { grid-column: span 3; grid-row: span 2; }
  .sw-look-tile.t-6, .sw-look-tile.t-7, .sw-look-tile.t-8 { grid-column: span 2; grid-row: span 3; }
}

@media (max-width: 640px) {
  .sw-hero-content { padding: 110px 0 50px; }
  .sw-section { padding: 70px 0; }
  .sw-hero-meta { gap: 14px; padding: 16px 0; }
  .sw-hero-meta-divider { display: none; }
  .sw-colorway-grid { grid-template-columns: 1fr 1fr; }
  .sw-features-grid { grid-template-columns: 1fr; }
  .sw-feature-cell { border-right: 0; border-bottom: 1px solid var(--sw-line); }
  .sw-feature-cell:last-child { border-bottom: 0; }
  .sw-founders { padding: 80px 0; }
  .sw-stamp { padding: 80px 0; }
  .sw-stamp-bg-text { font-size: 30vw; }
  .sw-social-grid { grid-template-columns: repeat(3, 1fr); }
  .sw-marquee-track { font-size: 1rem; gap: 18px; }
  .sw-hero-scroll { display: none; }
  .footer-heading { font-size: 2rem !important; }
  .btn-sw-primary, .btn-sw-ghost { padding: 14px 22px; font-size: 0.95rem; }
}

/* ============================================================
   SHOP ARCHIVE / PRODUCT GRID — streetwear dark theme
   Used by: archive-product.php (.featured-products-minimal),
   single-product upsells/related, and any list view of products.
   ============================================================ */

.featured-products-minimal {
  background: var(--sw-bg) !important;
  padding: 70px 0 100px !important;
}

/* Page heading area on shop archive */
.woocommerce-products-header {
  margin-bottom: 36px !important;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--sw-line);
}
.woocommerce-products-header .section-label {
  font-family: var(--sw-display-tight) !important;
  font-size: 0.95rem !important;
  letter-spacing: 0.32em !important;
  color: var(--sw-accent) !important;
  text-transform: uppercase !important;
  display: block;
  margin-bottom: 12px;
}
.woocommerce-products-header .section-title-minimal,
.woocommerce-products-header__title {
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  font-size: clamp(2.2rem, 5vw, 4.5rem) !important;
  line-height: 0.95 !important;
  letter-spacing: -0.005em !important;
  text-transform: uppercase !important;
  color: var(--sw-fg) !important;
  margin: 0 !important;
}
.term-description, .term-description p {
  color: var(--sw-fg-muted) !important;
  font-size: 0.96rem;
  line-height: 1.6;
}

/* Sort + result count row */
.shop-controls,
.shop-controls.d-flex {
  background: var(--sw-bg-2) !important;
  border: 1px solid var(--sw-line) !important;
  padding: 14px 20px !important;
  margin: 0 0 32px !important;
  border-radius: 0 !important;
}
.result-count {
  color: var(--sw-fg-muted) !important;
  font-family: var(--sw-display-tight);
  font-size: 0.85rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.woocommerce-ordering select {
  background: transparent !important;
  border: 1px solid var(--sw-line) !important;
  color: var(--sw-fg) !important;
  font-family: var(--sw-display-tight) !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  padding: 8px 14px !important;
}
.woocommerce-ordering select option {
  background: var(--sw-bg-2);
  color: var(--sw-fg);
}

/* Product grid (WooCommerce <ul.products>) */
ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 4px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: var(--sw-line);
  border-top: 1px solid var(--sw-line);
  border-bottom: 1px solid var(--sw-line);
}
@media (max-width: 1100px) { ul.products { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 800px)  { ul.products { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 480px)  { ul.products { grid-template-columns: 1fr !important; } }

.woocommerce ul.products li.product,
.product-card-minimal-wrapper {
  background: var(--sw-bg-2) !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  width: 100% !important;
}
.woocommerce ul.products li.product::before,
.woocommerce ul.products li.product::after { display: none !important; }

/* Product card itself */
.product-card-minimal {
  background: var(--sw-bg-2) !important;
  border: 0 !important;
  border-radius: 0 !important;
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: background .25s ease;
}
.product-card-minimal:hover { background: var(--sw-bg-3) !important; box-shadow: none !important; transform: none !important; }

.product-card-minimal .product-image-container {
  aspect-ratio: 4/5 !important;
  background: var(--sw-bg-3) !important;
  position: relative;
  overflow: hidden;
}
.product-card-minimal .product-image-container img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .6s cubic-bezier(.2,.7,.2,1) !important;
}
.product-card-minimal:hover .product-image-container img { transform: scale(1.04) !important; }

/* Hover actions overlay (View / Add to cart) */
.product-card-minimal .product-hover-actions {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  display: flex;
  gap: 0;
  background: rgba(10, 10, 10, .85);
  backdrop-filter: blur(6px);
  padding: 12px;
  transform: translateY(100%);
  transition: transform .3s ease;
  z-index: 3;
}
.product-card-minimal:hover .product-hover-actions { transform: translateY(0); }
.product-card-minimal .product-hover-actions a,
.product-card-minimal .product-hover-actions .button {
  flex: 1;
  text-align: center;
  font-family: var(--sw-display-tight) !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  padding: 10px 8px !important;
  background: transparent !important;
  border: 1px solid var(--sw-fg) !important;
  color: var(--sw-fg) !important;
  text-decoration: none !important;
  border-radius: 0 !important;
  font-weight: 400 !important;
  margin: 0 4px !important;
  height: auto !important;
  line-height: 1 !important;
}
.product-card-minimal .product-hover-actions a:hover,
.product-card-minimal .product-hover-actions .button:hover {
  background: var(--sw-accent) !important;
  border-color: var(--sw-accent) !important;
  color: #fff !important;
}

/* Product info below image */
.product-card-minimal .product-info-minimal {
  padding: 18px 18px 22px !important;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.product-card-minimal .product-brand {
  font-family: var(--sw-display-tight) !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.24em !important;
  color: var(--sw-accent) !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  margin-bottom: 4px;
}
.product-card-minimal .product-name-minimal {
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  font-size: 1.2rem !important;
  letter-spacing: 0.01em !important;
  text-transform: uppercase !important;
  color: var(--sw-fg) !important;
  margin: 0 !important;
  display: block;
  line-height: 1.1;
}
.product-card-minimal .product-price-minimal {
  font-family: var(--sw-body) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: var(--sw-fg) !important;
  margin-top: 4px !important;
}
.product-card-minimal .product-price-minimal del,
.product-card-minimal .product-price-minimal .old-price {
  color: var(--sw-fg-muted) !important;
  font-weight: 500 !important;
  font-size: 0.85rem !important;
  margin-left: 6px !important;
  text-decoration: line-through;
}
.product-card-minimal .product-price-minimal ins {
  text-decoration: none !important;
  color: var(--sw-fg) !important;
}
.product-card-minimal .product-meta-minimal {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 10px;
}
.product-card-minimal .color-swatches-minimal { display: flex; gap: 6px; }
.product-card-minimal .swatch-minimal {
  width: 14px; height: 14px;
  border-radius: 50%;
  display: inline-block;
  border: 1px solid rgba(255,255,255,.18);
}
.product-card-minimal .arrow-icon-minimal {
  color: var(--sw-fg-muted) !important;
  font-size: 1.1rem;
  text-decoration: none;
  transition: color .2s ease, transform .2s ease;
}
.product-card-minimal:hover .arrow-icon-minimal {
  color: var(--sw-accent) !important;
  transform: translateX(3px);
}
.product-card-minimal .product-details-link { text-decoration: none !important; display: block; }
.product-card-minimal .product-link-overlay {
  position: absolute; inset: 0; z-index: 1;
}

/* Pagination */
.woocommerce-pagination {
  margin-top: 50px !important;
  text-align: center;
}
.woocommerce-pagination ul.page-numbers li a,
.woocommerce-pagination ul.page-numbers li span {
  background: var(--sw-bg-2) !important;
  border: 1px solid var(--sw-line) !important;
  color: var(--sw-fg) !important;
  width: 44px; height: 44px;
  font-family: var(--sw-display-tight);
  letter-spacing: 0.1em;
  border-radius: 0 !important;
}
.woocommerce-pagination ul.page-numbers li span.current,
.woocommerce-pagination ul.page-numbers li a:hover {
  background: var(--sw-accent) !important;
  border-color: var(--sw-accent) !important;
  color: #fff !important;
}

/* "View all" link on homepage when products exist */
.section-header-minimal {
  border-bottom: 1px solid var(--sw-line) !important;
}
.section-header-minimal h2 {
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  color: var(--sw-fg) !important;
}
.section-header-minimal .section-label {
  color: var(--sw-accent) !important;
  font-family: var(--sw-display-tight);
}
.view-all-link {
  font-family: var(--sw-display-tight) !important;
  letter-spacing: 0.2em !important;
  color: var(--sw-fg) !important;
  border-bottom-color: var(--sw-accent) !important;
}

/* ============================================================
   CART PAGE — dark theme
   ============================================================ */

.woocommerce-cart .featured-products-minimal,
.woocommerce-cart-form,
.woocommerce-cart {
  background: var(--sw-bg);
}

/* Free-shipping progress bar */
.shipping-progress {
  background: var(--sw-bg-2) !important;
  border: 1px solid var(--sw-line) !important;
  padding: 22px 26px !important;
  border-radius: 0 !important;
  margin: 0 0 32px !important;
}
.shipping-msg {
  color: var(--sw-fg) !important;
  font-family: var(--sw-display-tight);
  font-size: 0.95rem !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin: 0 0 12px !important;
}
.shipping-msg .highlight {
  color: var(--sw-accent) !important;
  font-weight: 700;
}
.progress-bar-container {
  background: var(--sw-bg-3) !important;
  border-radius: 999px;
  height: 6px !important;
  overflow: hidden;
}
.progress-bar-fill {
  background: linear-gradient(to right, var(--sw-accent), #ff8c5a) !important;
  height: 100%;
  border-radius: 999px;
}

/* Two-column cart layout */
.cart-main-wrapper {
  display: grid !important;
  grid-template-columns: 2fr 1fr !important;
  gap: 28px !important;
  align-items: start !important;
}
@media (max-width: 991px) {
  .cart-main-wrapper { grid-template-columns: 1fr !important; }
}

.cart-content-box,
.cart-totals-box,
.cart-collaterals .cart_totals {
  background: var(--sw-bg-2) !important;
  border: 1px solid var(--sw-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 32px !important;
  color: var(--sw-fg) !important;
}
.cart-content-box h2,
.cart-collaterals .cart_totals h2 {
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  font-size: 1.8rem !important;
  letter-spacing: 0.02em !important;
  color: var(--sw-fg) !important;
  margin: 0 0 22px !important;
}

/* Cart header row + items */
.cart-header-row {
  border-bottom: 1px solid var(--sw-line) !important;
  color: var(--sw-fg-muted) !important;
  font-family: var(--sw-display-tight) !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  padding-bottom: 14px !important;
  margin-bottom: 18px !important;
}
.cart-item-row {
  background: var(--sw-bg-3) !important;
  border: 1px solid var(--sw-line) !important;
  border-radius: 0 !important;
  padding: 18px !important;
  margin-bottom: 14px !important;
  color: var(--sw-fg) !important;
}
.cart-item-row:hover {
  border-color: var(--sw-accent) !important;
  box-shadow: none !important;
}
.cart-item-img {
  background: var(--sw-bg) !important;
  border-radius: 0 !important;
  border: 1px solid var(--sw-line);
  padding: 0 !important;
  width: 90px !important;
  height: 90px !important;
}
.cart-item-img img { object-fit: cover !important; max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; }
.cart-item-details h4,
.cart-item-details a {
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
  color: var(--sw-fg) !important;
  font-size: 1.05rem !important;
}
.cart-item-details .color-info,
.cart-item-details .variation,
.cart-item-details small {
  color: var(--sw-fg-muted) !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.04em;
}

/* Quantity selector */
.cart-qty-selector,
.quantity {
  background: var(--sw-bg) !important;
  border: 1px solid var(--sw-line) !important;
  border-radius: 0 !important;
  padding: 4px !important;
}
.cart-qty-btn {
  color: var(--sw-fg) !important;
  background: transparent !important;
  font-weight: 700;
}
.cart-qty-btn:hover { color: var(--sw-accent) !important; }
.cart-qty-input,
.quantity .qty {
  background: transparent !important;
  color: var(--sw-fg) !important;
  border: 0 !important;
  font-weight: 700 !important;
}

/* Remove button */
.product-remove a,
.remove,
a.remove {
  color: var(--sw-fg-muted) !important;
  text-decoration: none !important;
  background: transparent !important;
  border: 1px solid var(--sw-line) !important;
  width: 28px !important; height: 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  font-size: 1.1rem;
}
.product-remove a:hover,
.remove:hover,
a.remove:hover {
  color: var(--sw-accent) !important;
  border-color: var(--sw-accent) !important;
  background: transparent !important;
}

/* Coupon row */
.coupon, .actions .coupon {
  display: flex !important;
  gap: 8px !important;
  margin: 18px 0 !important;
}
.coupon input[type="text"],
.cart-coupon-input,
.input-text {
  background: var(--sw-bg-3) !important;
  border: 1px solid var(--sw-line) !important;
  color: var(--sw-fg) !important;
  padding: 12px 14px !important;
  border-radius: 0 !important;
  font-family: inherit !important;
  height: 46px !important;
}
.coupon input[type="text"]:focus { border-color: var(--sw-accent) !important; outline: none; }
.coupon button,
button[name="apply_coupon"],
.button[name="apply_coupon"] {
  background: transparent !important;
  border: 1px solid var(--sw-fg) !important;
  color: var(--sw-fg) !important;
  font-family: var(--sw-display-tight) !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  padding: 0 22px !important;
  height: 46px !important;
  border-radius: 0 !important;
  font-size: 0.85rem !important;
  cursor: pointer;
}
.coupon button:hover,
button[name="apply_coupon"]:hover {
  background: var(--sw-fg) !important;
  color: var(--sw-bg) !important;
}

/* Update cart button */
button[name="update_cart"],
.button[name="update_cart"] {
  background: transparent !important;
  border: 1px solid var(--sw-line) !important;
  color: var(--sw-fg) !important;
  font-family: var(--sw-display-tight) !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  padding: 12px 22px !important;
  border-radius: 0 !important;
}
button[name="update_cart"]:hover {
  border-color: var(--sw-accent) !important;
  color: var(--sw-accent) !important;
}

/* Cart totals */
.cart-totals-box,
.cart-collaterals .cart_totals {
  position: sticky;
  top: 130px;
}
.cart-totals-box h3,
.cart-collaterals .cart_totals h2 {
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  font-size: 1.6rem !important;
  text-transform: uppercase !important;
  margin: 0 0 18px !important;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--sw-line);
  color: var(--sw-fg) !important;
}
.cart-totals-box table,
.cart_totals table.shop_table {
  width: 100% !important;
  background: transparent !important;
  border: 0 !important;
  margin: 0 !important;
  border-collapse: collapse;
}
.cart-totals-box table th,
.cart-totals-box table td,
.cart_totals table.shop_table th,
.cart_totals table.shop_table td {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--sw-line) !important;
  padding: 14px 0 !important;
  color: var(--sw-fg) !important;
  font-size: 0.94rem !important;
}
.cart-totals-box table th,
.cart_totals table.shop_table th {
  text-align: left !important;
  font-family: var(--sw-display-tight) !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--sw-fg-muted) !important;
  font-weight: 400 !important;
  font-size: 0.78rem !important;
}
.cart-totals-box table td,
.cart_totals table.shop_table td {
  text-align: right !important;
  font-weight: 700 !important;
}
.cart-totals-box .order-total td,
.order-total td {
  font-size: 1.25rem !important;
  color: var(--sw-fg) !important;
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
}

/* Proceed to checkout button */
.checkout-button,
.wc-proceed-to-checkout a.checkout-button,
.cart-totals-box .checkout-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 56px !important;
  background: var(--sw-accent) !important;
  border: 1.5px solid var(--sw-accent) !important;
  color: #fff !important;
  font-family: var(--sw-display-tight) !important;
  font-size: 1.1rem !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  margin-top: 18px !important;
  transition: all .25s ease !important;
}
.checkout-button:hover,
.wc-proceed-to-checkout a.checkout-button:hover {
  background: #fff !important;
  color: #000 !important;
  border-color: #fff !important;
}

/* Empty cart */
.woocommerce-cart .cart-empty {
  background: var(--sw-bg-2) !important;
  border: 1px solid var(--sw-line) !important;
  color: var(--sw-fg) !important;
  padding: 40px !important;
  text-align: center;
  font-family: var(--sw-display-tight) !important;
  font-size: 1.1rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  margin: 30px 0 !important;
}
.return-to-shop a {
  background: var(--sw-accent) !important;
  color: #fff !important;
  font-family: var(--sw-display-tight) !important;
  letter-spacing: 0.2em !important;
  padding: 14px 28px !important;
  text-decoration: none !important;
  display: inline-block;
  margin-top: 16px;
}

/* WC notices on cart/shop/product pages */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  background: var(--sw-bg-2) !important;
  border: 1px solid var(--sw-line) !important;
  border-left: 3px solid var(--sw-accent) !important;
  color: var(--sw-fg) !important;
  border-radius: 0 !important;
  padding: 14px 18px !important;
  font-size: 0.92rem !important;
}
.woocommerce-message a,
.woocommerce-error a,
.woocommerce-info a {
  color: var(--sw-accent) !important;
  text-decoration: underline;
}

/* ============================================================
   MINI-CART DRAWER (footer.php)
   ============================================================ */
.cart-drawer {
  background: var(--sw-bg) !important;
  color: var(--sw-fg) !important;
  border-left: 1px solid var(--sw-line) !important;
}
.cart-drawer-header {
  background: var(--sw-bg-2) !important;
  border-bottom: 1px solid var(--sw-line) !important;
  color: var(--sw-fg) !important;
  padding: 20px 24px !important;
}
.cart-drawer-header h3 {
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  color: var(--sw-fg) !important;
  font-size: 1.4rem !important;
  letter-spacing: 0.04em !important;
  margin: 0 !important;
}
.cart-drawer-close {
  background: transparent !important;
  border: 1px solid var(--sw-line) !important;
  color: var(--sw-fg) !important;
  font-family: var(--sw-display-tight) !important;
  letter-spacing: 0.18em !important;
  font-size: 0.78rem;
  padding: 8px 14px !important;
}
.cart-drawer-close:hover {
  border-color: var(--sw-accent) !important;
  color: var(--sw-accent) !important;
}
.cart-drawer-content { color: var(--sw-fg) !important; padding: 20px 24px !important; }
.cart-drawer-content .woocommerce-mini-cart-item,
.cart-drawer-content .mini_cart_item {
  background: var(--sw-bg-2) !important;
  border: 1px solid var(--sw-line) !important;
  padding: 14px !important;
  margin-bottom: 10px !important;
}
.cart-drawer-content .woocommerce-mini-cart-item a,
.cart-drawer-content .mini_cart_item a { color: var(--sw-fg) !important; text-decoration: none; }
.cart-drawer-content img { background: var(--sw-bg-3); }
.cart-drawer-content .woocommerce-mini-cart__total,
.cart-drawer-content .total {
  border-top: 1px solid var(--sw-line) !important;
  padding-top: 14px !important;
  color: var(--sw-fg) !important;
}
.cart-drawer-content .woocommerce-mini-cart__buttons .button {
  background: var(--sw-accent) !important;
  color: #fff !important;
  border: 0 !important;
  font-family: var(--sw-display-tight) !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  padding: 12px 18px !important;
  border-radius: 0 !important;
  margin-right: 6px;
}
.cart-drawer-content .woocommerce-mini-cart__buttons .button.checkout,
.cart-drawer-content .woocommerce-mini-cart__buttons .checkout {
  background: var(--sw-fg) !important;
  color: var(--sw-bg) !important;
}

/* ============================================================
   CHECKOUT FORM
   ============================================================ */
.woocommerce-checkout {
  background: var(--sw-bg) !important;
  color: var(--sw-fg) !important;
}
.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading {
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  color: var(--sw-fg) !important;
}
.woocommerce-checkout .form-row label,
.woocommerce form .form-row label {
  color: var(--sw-fg-muted) !important;
  font-family: var(--sw-display-tight) !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  font-size: 0.78rem !important;
  font-weight: 400 !important;
}
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="number"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
  background: var(--sw-bg-2) !important;
  border: 1px solid var(--sw-line) !important;
  color: var(--sw-fg) !important;
  border-radius: 0 !important;
  padding: 12px 14px !important;
  height: auto !important;
}
.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus,
.woocommerce form .form-row input:focus {
  border-color: var(--sw-accent) !important;
  outline: none;
}
.woocommerce-checkout #order_review,
.woocommerce-checkout-review-order-table {
  background: var(--sw-bg-2) !important;
  border: 1px solid var(--sw-line) !important;
  color: var(--sw-fg) !important;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  border-bottom: 1px solid var(--sw-line) !important;
  background: transparent !important;
  color: var(--sw-fg) !important;
  padding: 12px 14px !important;
}
#payment, .woocommerce-checkout #payment {
  background: var(--sw-bg-2) !important;
  border: 1px solid var(--sw-line) !important;
  border-radius: 0 !important;
}
#payment ul.payment_methods,
.woocommerce-checkout #payment ul.payment_methods {
  background: transparent !important;
  border-bottom: 1px solid var(--sw-line) !important;
}
#payment ul.payment_methods li,
.woocommerce-checkout #payment ul.payment_methods li {
  background: transparent !important;
  color: var(--sw-fg) !important;
}
#payment div.payment_box {
  background: var(--sw-bg-3) !important;
  color: var(--sw-fg-muted) !important;
  border-radius: 0 !important;
}
#payment div.payment_box::before {
  border-color: transparent transparent var(--sw-bg-3) !important;
}
#place_order,
.woocommerce-checkout #place_order {
  background: var(--sw-accent) !important;
  border: 0 !important;
  color: #fff !important;
  font-family: var(--sw-display-tight) !important;
  font-size: 1.1rem !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  padding: 16px 32px !important;
  border-radius: 0 !important;
  width: 100% !important;
  margin-top: 16px;
}
#place_order:hover { background: #fff !important; color: #000 !important; }

/* Misc cart-related buttons everywhere */
.added_to_cart, .button.alt {
  background: var(--sw-accent) !important;
  color: #fff !important;
  border: 0 !important;
  font-family: var(--sw-display-tight) !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  padding: 10px 18px !important;
}

/* ============================================================
   GLOBAL TEXT VISIBILITY FIX
   Re-maps every CSS variable from main.css/drapex.css onto the
   dark streetwear palette + brute-forces hardcoded dark colors.
   This ensures NO black-on-black text anywhere on the site.
   ============================================================ */

:root {
  /* main.css variables */
  --primary: #f6f4ee !important;
  --primary-hover: #ffffff !important;
  --secondary: #a09b91 !important;
  --background: #0a0a0a !important;
  --surface: #111111 !important;
  --text-primary: #f6f4ee !important;
  --text-secondary: #a09b91 !important;
  --accent: #ff4e16 !important;
  --glass: rgba(10,10,10,.7) !important;
  --border: #232323 !important;

  /* drapex.css variables (premium refresh layer) */
  --drapex-bg: #0a0a0a !important;
  --drapex-surface: #111111 !important;
  --drapex-surface-strong: #181818 !important;
  --drapex-ink: #f6f4ee !important;
  --drapex-muted: #a09b91 !important;
  --drapex-line: rgba(255,255,255,.08) !important;
  --drapex-gold: #ff4e16 !important;
  --drapex-gold-deep: #ff8c5a !important;
  --drapex-shadow: 0 24px 60px rgba(0,0,0,.5) !important;

  /* drapex.css polish layer */
  --drapex-paper: #0a0a0a !important;
  --drapex-paper-warm: #111111 !important;
}

/* Defensive: any element relying on inherit/default browser color */
html, body {
  color: var(--sw-fg) !important;
  background: var(--sw-bg) !important;
}

/* All headings light by default */
h1, h2, h3, h4, h5, h6,
.entry-title, .page-title,
.section-title-minimal,
.section-heading-wrap h1,
.section-heading-wrap h2 {
  color: var(--sw-fg) !important;
}

/* All paragraphs / spans / lists default to light */
p, li, dd, dt, span, label, blockquote, q,
.entry-content,
.entry-content p,
.entry-content li,
.entry-content blockquote,
.entry-content strong,
.entry-content em,
.entry-content small,
article, article p, article li,
.post-content, .post-content p, .post-content li {
  color: var(--sw-fg) !important;
}

/* Muted text */
.entry-meta, .entry-meta a,
.post-meta, .post-meta a,
small.text-muted, .text-muted,
.result-count, .term-description,
time, .posted-on, .byline {
  color: var(--sw-fg-muted) !important;
}

/* Generic links inside content blocks */
.entry-content a,
.post-content a,
article a {
  color: var(--sw-accent) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.entry-content a:hover,
.post-content a:hover,
article a:hover { color: #fff !important; }

/* Blockquotes */
blockquote, .entry-content blockquote {
  border-left: 3px solid var(--sw-accent) !important;
  background: var(--sw-bg-2) !important;
  color: var(--sw-fg) !important;
  padding: 18px 22px !important;
  margin: 22px 0 !important;
  font-style: italic;
}

/* Code / pre */
code, pre, kbd, samp {
  background: var(--sw-bg-2) !important;
  color: #ffd9c8 !important;
  border: 1px solid var(--sw-line) !important;
  border-radius: 0;
  padding: 2px 6px;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', monospace;
}
pre { padding: 14px 16px !important; overflow-x: auto; }
pre code { border: 0; padding: 0; background: transparent !important; }

/* Tables (anywhere) */
table { color: var(--sw-fg) !important; background: transparent !important; }
table th, table td {
  border-color: var(--sw-line) !important;
  color: var(--sw-fg) !important;
}
table thead th { color: var(--sw-fg-muted) !important; }

/* HR */
hr { border-top: 1px solid var(--sw-line) !important; opacity: 1; }

/* Form inputs everywhere — white text on dark */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="url"],
input[type="date"],
textarea,
select {
  background: var(--sw-bg-2) !important;
  color: var(--sw-fg) !important;
  border: 1px solid var(--sw-line) !important;
  border-radius: 0 !important;
  padding: 12px 14px;
  font-family: inherit;
}
input:focus, textarea:focus, select:focus {
  outline: none;
  border-color: var(--sw-accent) !important;
}
input::placeholder, textarea::placeholder {
  color: var(--sw-fg-muted) !important;
  opacity: .7;
}
select option {
  background: var(--sw-bg-2);
  color: var(--sw-fg);
}
label, legend {
  color: var(--sw-fg-muted) !important;
}

/* Default button-likes */
button, .button, input[type="submit"], input[type="button"] {
  font-family: var(--sw-display-tight, 'Bebas Neue', sans-serif);
}

/* WordPress admin bar — keep its own dark theme, just make sure it
   sits above our content */
#wpadminbar { z-index: 9999 !important; }

/* ============================================================
   PAGE TEMPLATES (page.php / single.php / 404 / archive)
   ============================================================ */

/* The page wrapper used by page.php is .featured-products-minimal.
   We already set that to dark in the SHOP block, but the inner
   article needs explicit light text. */
.featured-products-minimal article,
.featured-products-minimal .entry-content,
.featured-products-minimal .entry-content *:not(a):not(.button):not([class*="btn"]):not(.section-label) {
  color: var(--sw-fg) !important;
}
.featured-products-minimal .section-label {
  color: var(--sw-accent) !important;
}
.featured-products-minimal .entry-title,
.featured-products-minimal .page-title,
.featured-products-minimal .section-title-minimal {
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.01em !important;
  color: var(--sw-fg) !important;
}

/* Checkout step indicators */
.checkout-steps {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.checkout-steps .step {
  font-family: var(--sw-display-tight) !important;
  font-size: 0.9rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--sw-fg-muted) !important;
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 14px;
  border: 1px solid var(--sw-line);
  background: var(--sw-bg-2);
}
.checkout-steps .step span { color: var(--sw-accent) !important; font-weight: 700; }
.checkout-steps .step.active {
  background: var(--sw-accent) !important;
  border-color: var(--sw-accent) !important;
  color: #fff !important;
}
.checkout-steps .step.active span { color: #fff !important; }
.checkout-steps .step-divider {
  width: 24px; height: 1px;
  background: var(--sw-line);
}

/* Single post / blog */
.single-post-content,
.single .entry-content,
article.post {
  background: var(--sw-bg-2) !important;
  border: 1px solid var(--sw-line) !important;
  color: var(--sw-fg) !important;
  border-radius: 0 !important;
  padding: 32px !important;
}
.single .entry-content,
.single .entry-content p,
.single .entry-content li {
  color: var(--sw-fg) !important;
}

/* 404 */
.error-404 .page-title,
.error-404-container .page-title { color: var(--sw-fg) !important; }
.error-404 p, .error-404-container p { color: var(--sw-fg-muted) !important; }
.search-field {
  background: var(--sw-bg-2) !important;
  border-color: var(--sw-line) !important;
  color: var(--sw-fg) !important;
}
.search-submit {
  background: var(--sw-accent) !important;
  border: 0 !important;
  color: #fff !important;
  font-family: var(--sw-display-tight) !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
}

/* ============================================================
   WOOCOMMERCE — MY ACCOUNT, LOGIN, REGISTER, ADDRESS
   ============================================================ */
.woocommerce-account,
.woocommerce-account .featured-products-minimal {
  background: var(--sw-bg) !important;
  color: var(--sw-fg) !important;
}
.woocommerce-MyAccount-navigation,
.woocommerce-MyAccount-content {
  background: var(--sw-bg-2) !important;
  border: 1px solid var(--sw-line) !important;
  padding: 24px !important;
  color: var(--sw-fg) !important;
}
.woocommerce-MyAccount-navigation ul,
.woocommerce-MyAccount-navigation ul li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid var(--sw-line);
}
.woocommerce-MyAccount-navigation ul li:last-child { border-bottom: 0; }
.woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 12px 0 !important;
  color: var(--sw-fg) !important;
  text-decoration: none;
  font-family: var(--sw-display-tight);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-size: 0.88rem;
}
.woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-MyAccount-navigation ul li.is-active a {
  color: var(--sw-accent) !important;
}
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3,
.woocommerce-MyAccount-content p,
.woocommerce-MyAccount-content address,
.woocommerce-MyAccount-content strong,
.woocommerce-MyAccount-content a {
  color: var(--sw-fg) !important;
}
.woocommerce-MyAccount-content a:hover { color: var(--sw-accent) !important; }
.woocommerce-MyAccount-content table,
.woocommerce-MyAccount-content .shop_table {
  background: transparent !important;
  border: 1px solid var(--sw-line) !important;
}
.woocommerce-MyAccount-content table th,
.woocommerce-MyAccount-content table td,
.woocommerce-MyAccount-content .shop_table th,
.woocommerce-MyAccount-content .shop_table td {
  background: transparent !important;
  border-color: var(--sw-line) !important;
  color: var(--sw-fg) !important;
}

/* Login / Register / Lost password forms */
.woocommerce-form-login,
.woocommerce-form-register,
.woocommerce-ResetPassword,
.lost_reset_password,
.u-column1, .u-column2,
.col2-set .col-1, .col2-set .col-2,
form.checkout_coupon {
  background: var(--sw-bg-2) !important;
  border: 1px solid var(--sw-line) !important;
  color: var(--sw-fg) !important;
  padding: 28px !important;
  border-radius: 0 !important;
}
.woocommerce-form-login h2,
.woocommerce-form-register h2,
.woocommerce-ResetPassword h2,
.col2-set h2 {
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  color: var(--sw-fg) !important;
}
.woocommerce-form-login__rememberme,
.woocommerce-form__label-for-checkbox,
.woocommerce-terms-and-conditions-wrapper {
  color: var(--sw-fg-muted) !important;
}

/* Submit buttons in forms */
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button:not(.checkout-button):not(.added_to_cart),
button[type="submit"]:not(.newsletter-submit-arrow):not(.search-submit) {
  background: var(--sw-accent) !important;
  border: 1.5px solid var(--sw-accent) !important;
  color: #fff !important;
  font-family: var(--sw-display-tight) !important;
  font-size: 0.92rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  padding: 12px 24px !important;
  border-radius: 0 !important;
  font-weight: 400 !important;
  cursor: pointer;
  transition: all .2s ease;
}
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button:not(.checkout-button):not(.added_to_cart):hover,
button[type="submit"]:hover {
  background: #fff !important;
  border-color: #fff !important;
  color: #000 !important;
}

/* Address blocks */
.woocommerce-Address,
.woocommerce-customer-details,
.woocommerce-customer-details address {
  background: var(--sw-bg-3) !important;
  border: 1px solid var(--sw-line) !important;
  color: var(--sw-fg) !important;
  padding: 18px !important;
  border-radius: 0 !important;
}

/* Order received / thank-you */
.woocommerce-order,
.woocommerce-thankyou-order-received,
.woocommerce-order-overview,
.woocommerce-table--order-details {
  color: var(--sw-fg) !important;
}
.woocommerce-order-overview {
  background: var(--sw-bg-2) !important;
  border: 1px solid var(--sw-line) !important;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  padding: 0 !important;
  margin: 24px 0 !important;
}
.woocommerce-order-overview li {
  flex: 1 1 200px;
  padding: 18px 22px;
  border-right: 1px solid var(--sw-line);
  color: var(--sw-fg-muted) !important;
  font-family: var(--sw-display-tight);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.78rem;
}
.woocommerce-order-overview li:last-child { border-right: 0; }
.woocommerce-order-overview li strong {
  display: block;
  margin-top: 6px;
  color: var(--sw-fg) !important;
  font-family: var(--sw-display);
  font-size: 1.15rem;
  font-weight: 400;
  letter-spacing: 0.02em;
}

/* Comments */
#comments, .comments-area {
  background: var(--sw-bg-2) !important;
  border: 1px solid var(--sw-line) !important;
  padding: 28px !important;
  margin-top: 32px !important;
  color: var(--sw-fg) !important;
}
.comment-list, .comment-list li,
.comment-author, .comment-meta, .comment-content {
  color: var(--sw-fg) !important;
}
.comments-title, .comment-reply-title {
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  color: var(--sw-fg) !important;
}

/* ============================================================
   WOOCOMMERCE SINGLE PRODUCT — TABS PANEL CONTENT
   (description text was probably black on dark)
   ============================================================ */
.woocommerce-tabs .panel,
.woocommerce-tabs .panel p,
.woocommerce-tabs .panel li,
.woocommerce-tabs .panel h2,
.woocommerce-tabs .panel h3,
.woocommerce-Reviews,
.woocommerce-Reviews-title,
#reviews #comments h2,
.woocommerce-product-attributes,
.woocommerce-product-attributes th,
.woocommerce-product-attributes td {
  color: var(--sw-fg) !important;
  background: transparent !important;
}
.woocommerce-product-attributes th,
.woocommerce-product-attributes td {
  border-color: var(--sw-line) !important;
  padding: 10px 14px !important;
}
.woocommerce-product-attributes th { color: var(--sw-fg-muted) !important; }

/* Star rating fields */
.star-rating, .stars, p.stars a { color: var(--sw-accent) !important; }

/* ============================================================
   WIDGETS / SIDEBARS (if any are added later)
   ============================================================ */
.widget, aside.widget {
  background: var(--sw-bg-2) !important;
  border: 1px solid var(--sw-line) !important;
  padding: 22px !important;
  color: var(--sw-fg) !important;
  border-radius: 0 !important;
  margin-bottom: 18px !important;
}
.widget-title, .widget h2, .widget h3 {
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: var(--sw-fg) !important;
  margin: 0 0 14px !important;
}
.widget ul, .widget li { color: var(--sw-fg) !important; }
.widget a { color: var(--sw-fg) !important; }
.widget a:hover { color: var(--sw-accent) !important; }

/* ============================================================
   Bootstrap legacy classes that used dark text on white
   ============================================================ */
.text-dark, .text-black, .text-body { color: var(--sw-fg) !important; }
.bg-white, .bg-light { background: var(--sw-bg-2) !important; color: var(--sw-fg) !important; }
.card { background: var(--sw-bg-2) !important; border-color: var(--sw-line) !important; color: var(--sw-fg) !important; }
.card-body, .card-title, .card-text { color: var(--sw-fg) !important; }

/* Modals (Bootstrap) */
.modal-content {
  background: var(--sw-bg-2) !important;
  color: var(--sw-fg) !important;
  border: 1px solid var(--sw-line) !important;
  border-radius: 0 !important;
}
.modal-header, .modal-footer { border-color: var(--sw-line) !important; }
.modal-title { color: var(--sw-fg) !important; }

/* Last-resort: any element that ended up with text === bg */
[style*="color: #000"],
[style*="color:#000"],
[style*="color: #111"],
[style*="color:#111"],
[style*="color: #1a1a1a"],
[style*="color:#1a1a1a"] {
  color: var(--sw-fg) !important;
}

/* ============================================================
   SLEDGEHAMMER — DARK THEME TEXT FIX
   Loads at end of cascade. Forces every text-bearing element
   to a visible light color, except an explicit allowlist of
   elements that NEED dark text (e.g., buttons sitting on
   light/orange/white backgrounds).
   ============================================================ */

/* Universal: any direct text descendant of body gets light by default */
body,
body * {
  color: var(--sw-fg);
}

/* But buttons / badges / pills with white/orange/cream backgrounds
   must keep their dark text. Allowlist them back. */
.btn-sw-primary:hover,
.btn-sw-light,
.bundle-cta-feature,
.payment-pill,
.sw-stamp,
.sw-stamp *,
.sw-marquee,
.sw-marquee *,
.sw-section-light,
.sw-section-light *,
.sw-founders,
.sw-founders *,
.site-notice-bar,
.site-notice-bar *,
.site-notice-bar strong,
.notice-dot,
.product-card-minimal .product-hover-actions a:hover,
.product-card-minimal .product-hover-actions .button:hover,
.checkout-button,
.wc-proceed-to-checkout a.checkout-button,
.cart-totals-box .checkout-btn,
.return-to-shop a,
.checkout-steps .step.active,
.checkout-steps .step.active *,
#place_order:hover,
.coupon button:hover,
button[name="apply_coupon"]:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button:hover,
.btn-sw-primary:hover *,
.header-shop-link:hover,
.bundle-cta:hover {
  color: inherit;
}

/* Explicit dark-on-light pieces */
.btn-sw-primary:hover { color: #000 !important; }
.btn-sw-light { color: #ff4e16 !important; }
.btn-sw-light:hover { color: #fff !important; }
.sw-stamp,
.sw-stamp .sw-stamp-eyebrow,
.sw-stamp .sw-stamp-title,
.sw-stamp .sw-stamp-sub { color: #fff !important; }
.sw-stamp .sw-stamp-sub strong { color: #fff !important; }
.sw-marquee,
.sw-marquee-track,
.sw-marquee-track span:not(.star) { color: var(--sw-bg) !important; }
.sw-marquee-track .star { color: var(--sw-accent) !important; }
.site-notice-bar,
.site-notice-bar .site-notice-copy,
.site-notice-bar strong { color: #fff !important; }
.sw-founders,
.sw-founders-headline,
.sw-founders-copy,
.sw-founders-sig { color: #0a0a0a !important; }
.sw-founders-headline em,
.sw-founders-sig { color: #5a5650 !important; }
.sw-section-light .sw-section-heading,
.sw-section-light .sw-section-eyebrow,
.sw-section-light h2,
.sw-section-light h3 { color: #0a0a0a !important; }
.sw-section-light .sw-section-sub { color: #4a4744 !important; }

/* Buttons whose background is the orange accent: white text */
.btn-sw-primary,
.header-shop-link,
.return-to-shop a,
.added_to_cart,
.button.alt,
.checkout-button,
.wc-proceed-to-checkout a.checkout-button,
#place_order,
.woocommerce-mini-cart__buttons .button.checkout,
.product-card-minimal .product-hover-actions a:hover,
.product-card-minimal .product-hover-actions .button:hover,
.sw-bundle-card.is-feature .sw-bundle-tag,
.sw-bundle-card.is-feature .sw-bundle-qty,
.sw-bundle-card.is-feature .sw-bundle-amount,
.sw-bundle-card.is-feature .sw-bundle-old,
.sw-bundle-card.is-feature .sw-bundle-note,
.sw-bundle-card.is-feature .sw-bundle-cta,
.sw-bundle-card.is-feature * {
  color: #fff !important;
}
.sw-bundle-card.is-feature .sw-bundle-tag { color: rgba(255,255,255,.78) !important; }
.sw-bundle-card.is-feature .sw-bundle-old { color: rgba(255,255,255,.7) !important; }
.sw-bundle-card.is-feature .sw-bundle-note { color: rgba(255,255,255,.85) !important; }

/* The Bebas/Anton dropdown caret on selects: re-color in dark */
select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23f6f4ee' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding-right: 36px !important;
}

/* Catch any *element* that explicitly sets a dark color via inline style */
[style*="color: #000"], [style*="color:#000"],
[style*="color: #111"], [style*="color:#111"],
[style*="color: #1a1a1a"], [style*="color:#1a1a1a"],
[style*="color: #151515"], [style*="color:#151515"],
[style*="color: black"], [style*="color:black"],
[style*="color: rgb(0"] {
  color: var(--sw-fg) !important;
}

/* main.css hardcoded #111 selectors — re-target them all explicitly so
   the cascade wins against !important rules in main.css */
.cart-item-details h4,
.cart-item-product .cart-item-details h4,
.product-name,
.product-title,
.entry-title,
.page-title,
.woocommerce-products-header__title,
.woocommerce-loop-product__title,
.product-info-minimal,
.product-info-minimal *,
.product-card-minimal *,
.product-meta-minimal,
.product-meta-minimal *,
.shop-controls,
.shop-controls *,
.cart-content-box,
.cart-content-box *,
.cart-totals-box,
.cart-totals-box *,
.cart-header-row,
.cart-item-row,
.cart-item-row *,
.cart-qty-input,
.minicart-checkout-btn,
.cart-totals-row,
.cart-totals-row *,
.checkout-form,
.checkout-form *,
.product-summary-content,
.product-summary-content *,
.related-products,
.related-products *,
.upsell-products,
.upsell-products *,
.search-form,
.search-form *,
.entry-content,
.entry-content *,
.post-content,
.post-content *,
.feature-item,
.feature-item *,
.why-us *,
.about-section,
.about-section *,
form.cart,
form.cart *,
.variations *,
.product_meta,
.product_meta * {
  color: var(--sw-fg) !important;
}

/* But re-allow lower-priority subtle shades for muted/secondary text */
.product-brand,
.cart-item-details .color-info,
.cart-item-details .variation,
.cart-item-details small,
.product_meta a,
.posted_in,
.tagged_as,
.result-count,
.term-description,
small.text-muted,
.text-muted,
.entry-meta,
.post-meta,
time, .posted-on, .byline,
.sku_wrapper,
.bundle-tag:not(.bundle-tag-feature),
.colorway-desc,
.feature-cell p,
.bundle-old:not(.is-feature .bundle-old),
.product-price-minimal del,
.product-price-minimal .old-price,
.cart-totals-box table th,
.cart_totals table.shop_table th,
.checkout-steps .step:not(.active),
.woocommerce-MyAccount-navigation ul li a:not(:hover),
.entry-meta a, .post-meta a,
.section-label:not(.sw-section-light .section-label),
.drapex-product-header .section-label,
.section-heading-wrap > p,
.feature-cell p,
.colorway-meta p {
  color: var(--sw-fg-muted) !important;
}

/* Brand kicker / accents stay orange */
.product-brand,
.section-label,
.sw-section-eyebrow,
.sw-feature-num,
.footer-kicker,
.promo-kicker,
.sw-hero-eyebrow,
.bundle-tag-feature,
.eyebrow-dot { color: var(--sw-accent) !important; }

/* Strong inside dark cards */
.cart-item-details strong,
.cart-content-box strong,
.cart-totals-box strong,
.cart-totals-box .order-total td,
.order-total td,
.amount,
.woocommerce-Price-amount,
.product-price-minimal,
.drapex-product-price,
.drapex-product-price ins,
.drapex-meta-item strong,
.drapex-detail-row strong { color: var(--sw-fg) !important; }

/* Strikethrough old prices muted */
del,
.amount del,
.woocommerce-Price-amount del,
.drapex-product-price del,
.product-price-minimal del,
.product-price-minimal .old-price,
.cart-item-row del,
.cart-item-row .old-price { color: var(--sw-fg-muted) !important; }

/* Final safety: anything inside a section that has a dark background
   but a hardcoded text rule still slipping through */
.featured-products-minimal,
.featured-products-minimal *,
.woocommerce,
.woocommerce *,
.woocommerce-cart,
.woocommerce-cart *,
.woocommerce-checkout,
.woocommerce-checkout *,
.woocommerce-account,
.woocommerce-account *,
.single-product,
.single-product * {
  /* leave the existing allowlist exceptions */
}

/* Re-state to guarantee they apply on cart/shop after cascade */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-loop-product__title,
.product-card-minimal .product-name-minimal,
.product-card-minimal .product-price-minimal,
.product-card-minimal .product-name-minimal a {
  color: var(--sw-fg) !important;
}

/* Sale flash */
.onsale, .woocommerce span.onsale {
  background: var(--sw-accent) !important;
  color: #fff !important;
  font-family: var(--sw-display-tight) !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  padding: 4px 10px !important;
  font-size: 0.74rem !important;
  font-weight: 400 !important;
  min-height: auto !important;
  min-width: auto !important;
  line-height: 1.4 !important;
  border: 0 !important;
}

/* Quantity widget (+/− buttons) on dark */
.cart-qty-btn,
.cart-qty-input,
.quantity input.qty,
.quantity .plus, .quantity .minus { color: var(--sw-fg) !important; }

/* ============================================================
   STAMP CTA — restore faint watermark + button contrast
   The sledgehammer above forced everything to opaque white.
   These rules restore the intended translucent watermark and
   ensure the white-fill button keeps orange text.
   ============================================================ */

/* Faint background watermark — must stay 8% white */
.sw-stamp-bg-text,
.sw-stamp .sw-stamp-bg-text {
  color: rgba(255, 255, 255, 0.08) !important;
  font-family: var(--sw-display) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

/* Foreground stamp content sits on top */
.sw-stamp .sw-stamp-content,
.sw-stamp-content {
  position: relative !important;
  z-index: 5 !important;
}

/* Ensure the foreground text stays sharp white above the watermark */
.sw-stamp .sw-stamp-eyebrow,
.sw-stamp .sw-stamp-title,
.sw-stamp .sw-stamp-sub,
.sw-stamp .sw-stamp-sub strong { color: #fff !important; }
.sw-stamp .sw-stamp-sub strong { background: rgba(0,0,0,.18); padding: 1px 8px; border-radius: 0; }

/* Light-fill CTA button: white background, ORANGE text (not white-on-white) */
.btn-sw-primary.btn-sw-light,
a.btn-sw-light,
.btn-sw-light {
  background: #ffffff !important;
  border-color: #ffffff !important;
  color: #ff4e16 !important;
}
.btn-sw-primary.btn-sw-light *,
a.btn-sw-light *,
.btn-sw-light * { color: #ff4e16 !important; }
.btn-sw-primary.btn-sw-light:hover,
.btn-sw-light:hover {
  background: #000 !important;
  border-color: #000 !important;
  color: #fff !important;
}
.btn-sw-primary.btn-sw-light:hover *,
.btn-sw-light:hover * { color: #fff !important; }

/* The arrow svg inside the light button */
.btn-sw-light svg { color: #ff4e16 !important; }
.btn-sw-light:hover svg { color: #fff !important; }

/* ============================================================
   CONTRAST FIXES — In Stock pill + View Details button
   ============================================================ */

/* "In Stock" pill — bright electric lime, much more visible */
.drapex-stock-pill,
.drapex-product-rating-row .drapex-stock-pill,
.single-product .drapex-stock-pill {
  background: rgba(216, 255, 0, 0.14) !important;
  color: #d8ff00 !important;
  border: 1px solid #d8ff00 !important;
  font-family: var(--sw-display-tight) !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  padding: 6px 12px !important;
  font-weight: 400 !important;
  height: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.drapex-stock-pill::before {
  background: #d8ff00 !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  box-shadow: 0 0 8px rgba(216,255,0,.6);
}

/* "View Details" / "Add to Cart" hover overlay buttons — solid + readable */
.product-card-minimal .product-hover-actions {
  background: rgba(0, 0, 0, 0.85) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  padding: 14px !important;
  gap: 8px !important;
}
.product-card-minimal .product-hover-actions a,
.product-card-minimal .product-hover-actions .button,
.product-card-minimal .product-hover-actions .view-details-btn,
.product-card-minimal .product-hover-actions .add_to_cart_button {
  flex: 1 !important;
  text-align: center !important;
  font-family: var(--sw-display-tight) !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  padding: 12px 8px !important;
  background: #ffffff !important;
  border: 1.5px solid #ffffff !important;
  color: #000000 !important;
  text-decoration: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
  height: auto !important;
  line-height: 1 !important;
  transition: all .2s ease !important;
}
.product-card-minimal .product-hover-actions a *,
.product-card-minimal .product-hover-actions .button *,
.product-card-minimal .product-hover-actions .view-details-btn *,
.product-card-minimal .product-hover-actions .add_to_cart_button * {
  color: #000000 !important;
}

/* Second button (Add to Cart) — fill orange so the two buttons differ */
.product-card-minimal .product-hover-actions a.add_to_cart_button,
.product-card-minimal .product-hover-actions .add_to_cart_button,
.product-card-minimal .product-hover-actions .button.product_type_simple,
.product-card-minimal .product-hover-actions .ajax_add_to_cart {
  background: var(--sw-accent) !important;
  border-color: var(--sw-accent) !important;
  color: #ffffff !important;
}
.product-card-minimal .product-hover-actions a.add_to_cart_button *,
.product-card-minimal .product-hover-actions .add_to_cart_button *,
.product-card-minimal .product-hover-actions .button.product_type_simple *,
.product-card-minimal .product-hover-actions .ajax_add_to_cart * {
  color: #ffffff !important;
}

/* Hover states */
.product-card-minimal .product-hover-actions a:hover,
.product-card-minimal .product-hover-actions .button:hover,
.product-card-minimal .product-hover-actions .view-details-btn:hover {
  background: var(--sw-accent) !important;
  border-color: var(--sw-accent) !important;
  color: #ffffff !important;
}
.product-card-minimal .product-hover-actions a:hover *,
.product-card-minimal .product-hover-actions .button:hover *,
.product-card-minimal .product-hover-actions .view-details-btn:hover * {
  color: #ffffff !important;
}
.product-card-minimal .product-hover-actions a.add_to_cart_button:hover,
.product-card-minimal .product-hover-actions .add_to_cart_button:hover,
.product-card-minimal .product-hover-actions .ajax_add_to_cart:hover {
  background: #ffffff !important;
  border-color: #ffffff !important;
  color: #000000 !important;
}
.product-card-minimal .product-hover-actions a.add_to_cart_button:hover *,
.product-card-minimal .product-hover-actions .add_to_cart_button:hover *,
.product-card-minimal .product-hover-actions .ajax_add_to_cart:hover * {
  color: #000000 !important;
}

/* ============================================================
   COMPREHENSIVE DARK-THEME OVERRIDE
   Handles every custom theme class that wasn't explicitly
   restyled — cart sub-rows, checkout columns, mini-cart items,
   brand pages, collection pages, totals, taxes, coupons, etc.
   ============================================================ */

/* ===== CART: every sub-element ===== */
.cart-left-column,
.cart-right-column,
.cart-sidebar-box,
.cart-footer-actions,
.cart-item-price,
.cart-item-qty,
.cart-item-unit-price,
.cart-item-remove,
.cart-item-remove-cell,
.cart-discount,
.cart-subtotal,
.cart-totals-row,
.cart-totals-row * {
  color: var(--sw-fg) !important;
}
.cart-sidebar-box {
  background: var(--sw-bg-2) !important;
  border: 1px solid var(--sw-line) !important;
  padding: 32px !important;
  position: sticky;
  top: 130px;
}
.cart-item-price,
.cart-item-unit-price,
.cart-item-qty {
  font-weight: 700;
  font-size: 0.95rem;
  color: var(--sw-fg) !important;
}
.cart-item-remove a, .cart-item-remove-cell a {
  color: var(--sw-fg-muted) !important;
}
.cart-item-remove a:hover, .cart-item-remove-cell a:hover {
  color: var(--sw-accent) !important;
}

/* Summary rows (Subtotal / Shipping / Total) */
.summary-list, .summary-row,
.summary-row span, .summary-row strong {
  color: var(--sw-fg) !important;
}
.summary-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid var(--sw-line) !important;
  font-size: 0.95rem;
}
.summary-row:last-child { border-bottom: 0 !important; }
.total-label, .subtotal-val, .total-val, .price-val {
  color: var(--sw-fg) !important;
  font-weight: 700;
}
.total-label {
  font-family: var(--sw-display-tight) !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--sw-fg-muted) !important;
  font-weight: 400 !important;
}
.summary-row.total {
  border-top: 1px solid var(--sw-line);
  padding-top: 16px !important;
  margin-top: 8px;
}
.summary-row.total .total-label,
.summary-row.total .total-val {
  font-family: var(--sw-display) !important;
  font-size: 1.2rem !important;
  font-weight: 400 !important;
  color: var(--sw-fg) !important;
  letter-spacing: 0.01em !important;
}

/* Tax/fee/product-total inside totals table */
.tax-rate, .tax-total, .fee, .product-total {
  color: var(--sw-fg) !important;
}

/* Coupon row inside cart sidebar */
.coupon-input,
input.coupon-input,
.coupon-input input {
  background: var(--sw-bg-3) !important;
  border: 1px solid var(--sw-line) !important;
  color: var(--sw-fg) !important;
  border-radius: 0 !important;
  padding: 12px 14px !important;
  font-family: inherit;
  width: 100% !important;
}
.coupon-input::placeholder { color: var(--sw-fg-muted) !important; }

/* Highlighted free-shipping token */
.highlight {
  color: var(--sw-accent) !important;
  font-weight: 700 !important;
}

/* ===== CHECKOUT: every sub-element ===== */
.checkout-main-wrapper {
  display: grid !important;
  grid-template-columns: 1.4fr 1fr !important;
  gap: 28px !important;
  align-items: start;
}
@media (max-width: 991px) {
  .checkout-main-wrapper { grid-template-columns: 1fr !important; }
}
.checkout-left-column,
.checkout-right-column,
.checkout-section-box,
.billing-details-wrapper,
.shipping-details-wrapper,
.shipping-section,
.review-order-box,
.order-review-box {
  background: var(--sw-bg-2) !important;
  border: 1px solid var(--sw-line) !important;
  padding: 28px !important;
  border-radius: 0 !important;
  color: var(--sw-fg) !important;
  margin-bottom: 18px;
}
.checkout-section-box h2,
.checkout-section-box h3,
.review-order-box h2,
.review-order-box h3 {
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  font-size: 1.4rem !important;
  letter-spacing: 0.02em !important;
  color: var(--sw-fg) !important;
  margin: 0 0 18px !important;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--sw-line);
}

.checkout-progress {
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  margin-bottom: 24px;
}

/* Payment methods grid */
.payment-methods-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 10px;
  margin: 14px 0;
}
.payment-method-item {
  background: var(--sw-bg-3) !important;
  border: 1px solid var(--sw-line) !important;
  color: var(--sw-fg) !important;
  padding: 14px !important;
  cursor: pointer;
  font-family: var(--sw-display-tight);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.82rem;
  text-align: center;
  transition: all .2s ease;
}
.payment-method-item:hover,
.payment-method-item.active {
  border-color: var(--sw-accent) !important;
  color: var(--sw-accent) !important;
  background: var(--sw-bg-2) !important;
}

/* Review-order items inside checkout */
.review-order-items,
.review-order-totals {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.review-order-item {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid var(--sw-line) !important;
  color: var(--sw-fg) !important;
}
.review-order-item:last-child { border-bottom: 0 !important; }
.review-order-header {
  font-family: var(--sw-display-tight) !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--sw-fg-muted) !important;
  font-size: 0.78rem !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid var(--sw-line);
}

/* ===== MINI-CART (drawer + widget) ===== */
.woocommerce-mini-cart,
.cart_list,
.product_list_widget {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  color: var(--sw-fg) !important;
}
.woocommerce-mini-cart li,
.cart_list li,
.product_list_widget li {
  background: var(--sw-bg-2) !important;
  border: 1px solid var(--sw-line) !important;
  padding: 14px !important;
  margin-bottom: 8px !important;
  color: var(--sw-fg) !important;
  display: flex;
  gap: 12px;
  align-items: center;
}
.woocommerce-mini-cart li a,
.cart_list li a,
.product_list_widget li a {
  color: var(--sw-fg) !important;
  text-decoration: none !important;
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  font-size: 0.95rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
}
.woocommerce-mini-cart__total,
.woocommerce-mini-cart-item .quantity,
.mini-cart-details,
.mini-cart-meta,
.mini-cart-name,
.mini-cart-name-row,
.mini-cart-footer,
.item-details, .item-info, .item-name,
.item-total, .item-qty-badge {
  color: var(--sw-fg) !important;
}
.item-name, .mini-cart-name {
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  font-size: 1rem !important;
  text-transform: uppercase !important;
  color: var(--sw-fg) !important;
}
.item-qty-badge,
.cart-drawer-content .quantity {
  color: var(--sw-fg-muted) !important;
  font-family: var(--sw-display-tight);
  letter-spacing: 0.14em;
  font-size: 0.82rem;
  text-transform: uppercase;
}
.item-total {
  color: var(--sw-fg) !important;
  font-weight: 700;
}
.mini-cart-img, .item-img {
  background: var(--sw-bg-3) !important;
  border: 1px solid var(--sw-line) !important;
  width: 60px !important;
  height: 60px !important;
  flex-shrink: 0;
}
.mini-cart-img img, .item-img img {
  width: 100% !important; height: 100% !important;
  object-fit: cover !important;
}
.mini-cart-footer {
  border-top: 1px solid var(--sw-line) !important;
  padding-top: 16px !important;
  margin-top: 14px !important;
}
.woocommerce-mini-cart__empty-message {
  color: var(--sw-fg-muted) !important;
  text-align: center;
  padding: 32px 16px !important;
  font-family: var(--sw-display-tight);
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

/* Mini-cart action buttons */
.woocommerce-mini-cart__buttons {
  display: flex;
  gap: 8px;
  margin-top: 14px !important;
}
.woocommerce-mini-cart__buttons .button {
  flex: 1;
  text-align: center;
}

/* ===== BRAND PAGES (template-about-us.php) ===== */
.brand-page-hero,
.brand-page-hero-about,
.brand-page-hero-collection,
.brand-page-hero-grid,
.brand-page-hero-copy,
.brand-page-hero-media,
.brand-page-intro,
.brand-page-editorial-copy,
.brand-page-stat,
.brand-page-stat-row,
.brand-page-title,
.brand-story-block,
.brand-story-copy,
.brand-story-layout,
.brand-story-section,
.brand-timeline-item,
.brand-timeline-section,
.brand-timeline-shell,
.brand-value-card,
.brand-values-grid,
.brand-values-section,
.brand-cta-panel,
.brand-cta-section,
.brand-media-fallback {
  color: var(--sw-fg) !important;
}
.brand-page-hero,
.brand-story-section,
.brand-values-section,
.brand-timeline-section,
.brand-cta-section {
  background: var(--sw-bg) !important;
  padding: 90px 0;
}
.brand-page-title,
.brand-page-hero-copy h1,
.brand-page-hero-copy h2 {
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  font-size: clamp(2.4rem, 6vw, 5.5rem) !important;
  line-height: 0.95 !important;
  letter-spacing: -0.01em !important;
  text-transform: uppercase !important;
  color: var(--sw-fg) !important;
}
.brand-page-editorial-copy,
.brand-story-copy,
.brand-page-intro p {
  color: var(--sw-fg-muted) !important;
  font-size: 1.05rem !important;
  line-height: 1.65 !important;
}
.brand-value-card,
.brand-timeline-item {
  background: var(--sw-bg-2) !important;
  border: 1px solid var(--sw-line) !important;
  padding: 28px !important;
  border-radius: 0 !important;
}
.brand-value-card h3,
.brand-value-card h4,
.brand-timeline-item h3,
.brand-timeline-item h4 {
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  color: var(--sw-fg) !important;
  margin: 0 0 10px !important;
}
.brand-value-card p,
.brand-timeline-item p {
  color: var(--sw-fg-muted) !important;
}
.brand-page-stat {
  border-top: 1px solid var(--sw-line);
  padding-top: 18px;
}
.brand-page-stat strong {
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  font-size: 2.4rem !important;
  color: var(--sw-fg) !important;
}
.brand-page-stat span {
  color: var(--sw-fg-muted) !important;
  font-family: var(--sw-display-tight);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-size: 0.78rem;
}
.brand-cta-panel {
  background: var(--sw-accent) !important;
  border: 0 !important;
  padding: 60px 40px !important;
  text-align: center;
}
.brand-cta-panel,
.brand-cta-panel * {
  color: #fff !important;
}
.brand-cta-panel h2,
.brand-cta-panel h3 {
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  color: #fff !important;
}

/* ===== COLLECTION PAGES (template-collection.php) ===== */
.collection-category-section,
.collection-featured-section {
  background: var(--sw-bg) !important;
  padding: 80px 0;
}
.collection-category-grid,
.collection-product-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 4px;
  background: var(--sw-line);
}
@media (max-width: 991px) { .collection-category-grid, .collection-product-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 640px) { .collection-category-grid, .collection-product-grid { grid-template-columns: 1fr !important; } }

.collection-category-card,
.collection-product-card {
  position: relative;
  background: var(--sw-bg-2) !important;
  overflow: hidden;
  aspect-ratio: 4/5;
  display: block;
  text-decoration: none !important;
  color: var(--sw-fg) !important;
}
.collection-category-card img,
.collection-product-card img,
.collection-product-image img {
  width: 100% !important; height: 100% !important;
  object-fit: cover !important;
  transition: transform .6s ease;
}
.collection-category-card:hover img,
.collection-product-card:hover img { transform: scale(1.05); }

.collection-category-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.85), transparent 60%);
  z-index: 1;
}
.collection-category-copy,
.collection-product-copy {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  z-index: 2;
  padding: 22px;
  color: #fff !important;
}
.collection-category-copy h3,
.collection-category-copy h4,
.collection-product-copy h3,
.collection-product-copy h4 {
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  color: #fff !important;
  margin: 0 !important;
  font-size: 1.4rem !important;
}
.collection-category-copy p,
.collection-product-copy p,
.collection-product-copy span {
  color: rgba(255,255,255,.8) !important;
  font-size: 0.88rem;
}

.collection-product-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 0;
  border-bottom: 1px solid var(--sw-line);
  color: var(--sw-fg) !important;
}

.collection-secondary-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  background: transparent !important;
  border: 1.5px solid var(--sw-fg) !important;
  color: var(--sw-fg) !important;
  font-family: var(--sw-display-tight) !important;
  font-size: 0.95rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  padding: 14px 22px !important;
  text-decoration: none !important;
  border-radius: 0 !important;
}
.collection-secondary-btn:hover {
  background: var(--sw-fg) !important;
  color: var(--sw-bg) !important;
}

.collection-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 22px; }

/* ===== PRODUCT TITLE FALLBACK ===== */
.product_title,
.product-name {
  color: var(--sw-fg) !important;
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
}

/* ===== POSTS / BLOG (archive, single, index) ===== */
.posts-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)) !important;
  gap: 20px !important;
}
.post-card {
  background: var(--sw-bg-2) !important;
  border: 1px solid var(--sw-line) !important;
  border-radius: 0 !important;
  overflow: hidden;
  color: var(--sw-fg) !important;
}
.post-card:hover { box-shadow: none !important; transform: translateY(-3px) !important; }
.post-thumbnail { background: var(--sw-bg-3); }
.post-thumbnail img { width: 100% !important; height: 240px !important; object-fit: cover !important; }
.post-card .entry-title,
.post-card .entry-title a {
  color: var(--sw-fg) !important;
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
}
.entry-excerpt, .entry-meta {
  color: var(--sw-fg-muted) !important;
}
.read-more {
  color: var(--sw-accent) !important;
  font-family: var(--sw-display-tight) !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}
.read-more:hover { color: #fff !important; }
.tags-links, .tags-links a, .posted-on, .byline {
  color: var(--sw-fg-muted) !important;
  font-size: 0.78rem;
  font-family: var(--sw-display-tight);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.entry-footer {
  border-top: 1px solid var(--sw-line) !important;
  padding-top: 14px !important;
  margin-top: 22px !important;
  color: var(--sw-fg-muted) !important;
}

/* ===== 404 PAGE ===== */
.error-404,
.error-404-container,
.not-found {
  text-align: center;
  padding: 90px 20px !important;
  color: var(--sw-fg) !important;
  background: var(--sw-bg) !important;
}
.error-404 .page-title,
.error-404-container .page-title,
.not-found .page-title {
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  font-size: clamp(3rem, 10vw, 7rem) !important;
  letter-spacing: -0.01em !important;
  text-transform: uppercase !important;
  color: var(--sw-fg) !important;
  margin: 0 0 16px !important;
}
.back-home,
.secondary-button {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  background: var(--sw-accent) !important;
  border: 1.5px solid var(--sw-accent) !important;
  color: #fff !important;
  font-family: var(--sw-display-tight) !important;
  font-size: 1rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  padding: 14px 28px !important;
  text-decoration: none !important;
  border-radius: 0 !important;
  margin-top: 22px !important;
}
.back-home:hover,
.secondary-button:hover {
  background: #fff !important;
  border-color: #fff !important;
  color: #000 !important;
}

/* ===== ARCHIVE / PAGE HEADERS ===== */
.page-header,
.page-content,
.archive-description {
  color: var(--sw-fg) !important;
}
.page-header { padding: 40px 0 20px; border-bottom: 1px solid var(--sw-line); margin-bottom: 30px; }
.page-title {
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  color: var(--sw-fg) !important;
}

/* ===== INDIGO PILL (random custom badge) ===== */
.indigo-pill {
  display: inline-block;
  background: var(--sw-accent) !important;
  color: #fff !important;
  font-family: var(--sw-display-tight) !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  font-size: 0.74rem !important;
  padding: 4px 10px !important;
  border-radius: 0 !important;
}

/* ===== STARS / RATING ===== */
.star-rating, .stars, p.stars a, p.stars a:before {
  color: var(--sw-accent) !important;
}

/* ===== MOBILE DRAWER NAV ===== */
.mobile-nav-drawer,
.mobile-nav-list,
.mobile-nav-list li,
.mobile-nav-list a,
.drawer-content,
.drawer-branding * {
  color: var(--sw-fg) !important;
  background-color: var(--sw-bg) !important;
}
.mobile-nav-drawer { background: var(--sw-bg) !important; border-left: 1px solid var(--sw-line); }
.drawer-header {
  background: var(--sw-bg-2) !important;
  border-bottom: 1px solid var(--sw-line) !important;
  padding: 20px 24px !important;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.drawer-close {
  background: transparent !important;
  border: 1px solid var(--sw-line) !important;
  color: var(--sw-fg) !important;
  width: 36px; height: 36px;
  font-size: 1.4rem;
  cursor: pointer;
}
.drawer-close:hover {
  border-color: var(--sw-accent) !important;
  color: var(--sw-accent) !important;
}
.drawer-content { padding: 24px !important; }
.mobile-nav-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.mobile-nav-list li {
  border-bottom: 1px solid var(--sw-line);
}
.mobile-nav-list li a {
  display: block;
  padding: 16px 0 !important;
  font-family: var(--sw-display-tight) !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  font-size: 1rem !important;
  text-decoration: none !important;
}
.mobile-nav-list li a:hover { color: var(--sw-accent) !important; }
.drawer-shop-link {
  display: block !important;
  background: var(--sw-accent) !important;
  color: #fff !important;
  text-align: center;
  padding: 16px !important;
  margin-top: 22px !important;
  font-family: var(--sw-display-tight) !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  font-size: 1rem !important;
  text-decoration: none !important;
  border-radius: 0 !important;
}

/* ===== HEADER MOBILE BAR ANIM ===== */
.mobile-menu-toggle .bar { background: var(--sw-fg) !important; }

/* ===== BOOTSTRAP FORM CONTROLS ===== */
.form-control, .form-select {
  background: var(--sw-bg-2) !important;
  color: var(--sw-fg) !important;
  border: 1px solid var(--sw-line) !important;
  border-radius: 0 !important;
}
.form-control:focus, .form-select:focus {
  background: var(--sw-bg-2) !important;
  color: var(--sw-fg) !important;
  border-color: var(--sw-accent) !important;
  box-shadow: none !important;
}
.form-control::placeholder { color: var(--sw-fg-muted) !important; }

/* ===== FALLBACK: any leftover .container-fluid section ===== */
.luxecom-shop-container { background: var(--sw-bg) !important; color: var(--sw-fg) !important; }

/* ===== Coupon code styling (e.g., DRAPEX100 chip) ===== */
.coupon-DRAPEX100,
.cart-discount,
.cart-discount * {
  color: var(--sw-accent) !important;
}

/* ===== Final guarantee: anchor links inside dark cards ===== */
.cart-content-box a,
.cart-totals-box a,
.cart-sidebar-box a,
.checkout-section-box a,
.review-order-box a,
.brand-story-block a,
.brand-value-card a {
  color: var(--sw-accent) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.cart-content-box a:hover,
.cart-totals-box a:hover,
.cart-sidebar-box a:hover,
.checkout-section-box a:hover { color: #fff !important; }

/* ============================================================
   CART PAGE — visibility lockdown
   The cart page (page.php wrapping woocommerce_cart) had
   low-contrast heading + faded sub-elements. Force everything
   to high-contrast on dark.
   ============================================================ */

/* Page wrapper */
.woocommerce-cart .featured-products-minimal,
.woocommerce-cart .container-fluid,
.woocommerce-cart article.page,
.woocommerce-cart .entry-header,
.woocommerce-cart .entry-content {
  background: var(--sw-bg) !important;
  color: var(--sw-fg) !important;
}

/* HUGE bright heading at the top of the cart */
.woocommerce-cart .entry-header,
.woocommerce-cart .entry-header * {
  color: var(--sw-fg) !important;
}
.woocommerce-cart .entry-header .section-label {
  color: var(--sw-accent) !important;
  font-family: var(--sw-display-tight) !important;
  font-size: 1rem !important;
  letter-spacing: 0.32em !important;
  text-transform: uppercase !important;
  display: block;
  margin-bottom: 16px;
}
.woocommerce-cart .entry-header .entry-title,
.woocommerce-cart .entry-header h1,
.woocommerce-cart .entry-title.section-title-minimal {
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  font-size: clamp(3rem, 8vw, 6rem) !important;
  line-height: 0.95 !important;
  letter-spacing: -0.01em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  margin: 0 0 32px !important;
  -webkit-text-stroke: 0 !important;
  text-shadow: none !important;
  opacity: 1 !important;
}

/* Free-shipping progress card */
.woocommerce-cart .shipping-progress,
.woocommerce-cart .main-cart-progress {
  background: var(--sw-bg-2) !important;
  border: 1px solid var(--sw-line) !important;
  padding: 22px 26px !important;
  margin: 0 0 28px !important;
  border-radius: 0 !important;
}
.woocommerce-cart .shipping-msg,
.woocommerce-cart .shipping-msg * {
  color: var(--sw-fg) !important;
  font-family: var(--sw-display-tight) !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  font-size: 0.92rem !important;
}
.woocommerce-cart .shipping-msg .highlight {
  color: var(--sw-accent) !important;
  font-weight: 700 !important;
}
.woocommerce-cart .progress-bar-container {
  background: var(--sw-bg-3) !important;
  border-radius: 999px;
  height: 6px !important;
  overflow: hidden;
}
.woocommerce-cart .progress-bar-fill {
  background: linear-gradient(to right, var(--sw-accent), #ff8c5a) !important;
  height: 100%;
}

/* Two-column cart wrapper */
.woocommerce-cart .cart-main-wrapper {
  display: grid !important;
  grid-template-columns: 1.55fr 1fr !important;
  gap: 28px !important;
  align-items: start !important;
}
@media (max-width: 991px) {
  .woocommerce-cart .cart-main-wrapper { grid-template-columns: 1fr !important; }
}

/* Left column = cart items */
.woocommerce-cart .cart-left-column,
.woocommerce-cart .cart-content-box {
  background: var(--sw-bg-2) !important;
  border: 1px solid var(--sw-line) !important;
  border-radius: 0 !important;
  padding: 32px !important;
  color: var(--sw-fg) !important;
  box-shadow: none !important;
}
.woocommerce-cart .cart-content-box h2,
.woocommerce-cart .cart-content-box h3 {
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  font-size: 1.5rem !important;
  letter-spacing: 0.02em !important;
  color: var(--sw-fg) !important;
  margin: 0 0 20px !important;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--sw-line);
}

/* Cart header row (Product / Price / Qty / Subtotal labels) */
.woocommerce-cart .cart-header-row {
  display: grid !important;
  grid-template-columns: 70px 2.6fr 1fr 1.4fr 1fr 40px !important;
  gap: 14px !important;
  padding: 0 0 14px 0 !important;
  border-bottom: 1px solid var(--sw-line) !important;
  margin-bottom: 16px !important;
  color: var(--sw-fg-muted) !important;
  font-family: var(--sw-display-tight) !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  align-items: center !important;
}
.woocommerce-cart .cart-header-row > * {
  color: var(--sw-fg-muted) !important;
}

/* Cart item rows */
.woocommerce-cart .cart-items-list { display: block; }
.woocommerce-cart .cart-item-row {
  display: grid !important;
  grid-template-columns: 70px 2.6fr 1fr 1.4fr 1fr 40px !important;
  gap: 14px !important;
  background: var(--sw-bg-3) !important;
  border: 1px solid var(--sw-line) !important;
  border-radius: 0 !important;
  padding: 16px !important;
  margin-bottom: 10px !important;
  align-items: center !important;
  color: var(--sw-fg) !important;
}
.woocommerce-cart .cart-item-row * {
  color: var(--sw-fg) !important;
}
.woocommerce-cart .cart-item-row:hover {
  border-color: var(--sw-accent) !important;
}

/* Cart item image cell */
.woocommerce-cart .cart-item-img,
.woocommerce-cart .item-img {
  width: 70px !important;
  height: 70px !important;
  background: var(--sw-bg) !important;
  border: 1px solid var(--sw-line) !important;
  padding: 0 !important;
  border-radius: 0 !important;
  overflow: hidden;
}
.woocommerce-cart .cart-item-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  max-width: 100% !important;
  max-height: 100% !important;
}

/* Cart item product name + meta */
.woocommerce-cart .cart-item-product { display: flex; flex-direction: column; gap: 6px; }
.woocommerce-cart .cart-item-details h4,
.woocommerce-cart .cart-item-details a,
.woocommerce-cart .cart-item-product a {
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  font-size: 1.05rem !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  text-decoration: none !important;
  margin: 0 !important;
}
.woocommerce-cart .cart-item-details a:hover { color: var(--sw-accent) !important; }
.woocommerce-cart .cart-item-details .color-info,
.woocommerce-cart .cart-item-details .variation,
.woocommerce-cart .cart-item-details small,
.woocommerce-cart .cart-item-details span {
  color: var(--sw-fg-muted) !important;
  font-size: 0.78rem !important;
  font-family: var(--sw-display-tight) !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  display: block;
}

/* Price / subtotal cells */
.woocommerce-cart .cart-item-price,
.woocommerce-cart .cart-item-unit-price,
.woocommerce-cart .cart-item-total,
.woocommerce-cart .product-total {
  text-align: center;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
}

/* Quantity cell */
.woocommerce-cart .cart-item-qty,
.woocommerce-cart .cart-qty-selector {
  display: inline-flex !important;
  align-items: center !important;
  background: var(--sw-bg) !important;
  border: 1px solid var(--sw-line) !important;
  border-radius: 0 !important;
  padding: 0 !important;
  width: fit-content !important;
  margin: 0 auto !important;
}
.woocommerce-cart .cart-qty-btn,
.woocommerce-cart .cart-qty-selector button {
  width: 32px !important; height: 36px !important;
  background: transparent !important;
  border: 0 !important;
  color: var(--sw-fg) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  cursor: pointer;
}
.woocommerce-cart .cart-qty-btn:hover { color: var(--sw-accent) !important; }
.woocommerce-cart .cart-qty-input,
.woocommerce-cart .cart-qty-selector input {
  width: 38px !important;
  text-align: center !important;
  background: transparent !important;
  border: 0 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 0.92rem !important;
}

/* Remove button (X) */
.woocommerce-cart .cart-item-remove,
.woocommerce-cart .cart-item-remove-cell {
  text-align: center;
}
.woocommerce-cart .cart-item-remove a,
.woocommerce-cart .cart-item-remove-cell a,
.woocommerce-cart a.remove,
.woocommerce-cart .product-remove a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important; height: 30px !important;
  background: transparent !important;
  border: 1px solid var(--sw-line) !important;
  border-radius: 50% !important;
  color: var(--sw-fg-muted) !important;
  text-decoration: none !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  margin: 0 auto !important;
}
.woocommerce-cart .cart-item-remove a:hover,
.woocommerce-cart .cart-item-remove-cell a:hover,
.woocommerce-cart a.remove:hover {
  border-color: var(--sw-accent) !important;
  color: var(--sw-accent) !important;
  background: transparent !important;
}

/* Cart footer actions (coupon + update) */
.woocommerce-cart .cart-footer-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 22px !important;
  padding-top: 22px !important;
  border-top: 1px solid var(--sw-line) !important;
  align-items: stretch !important;
}
.woocommerce-cart .cart-footer-actions input.coupon-input,
.woocommerce-cart .cart-footer-actions .coupon-input {
  flex: 1 1 200px !important;
  background: var(--sw-bg) !important;
  border: 1px solid var(--sw-line) !important;
  color: #ffffff !important;
  padding: 12px 16px !important;
  font-family: inherit !important;
  height: 48px !important;
  border-radius: 0 !important;
}
.woocommerce-cart .cart-footer-actions input.coupon-input::placeholder { color: var(--sw-fg-muted) !important; }

/* RIGHT COLUMN — totals sidebar */
.woocommerce-cart .cart-right-column,
.woocommerce-cart .cart-sidebar-box,
.woocommerce-cart .cart-totals-box,
.woocommerce-cart .cart_totals {
  background: var(--sw-bg-2) !important;
  border: 1px solid var(--sw-line) !important;
  border-radius: 0 !important;
  padding: 28px !important;
  color: var(--sw-fg) !important;
  position: sticky;
  top: 130px;
  box-shadow: none !important;
}
.woocommerce-cart .cart-sidebar-box h2,
.woocommerce-cart .cart-sidebar-box h3,
.woocommerce-cart .cart-totals-box h2,
.woocommerce-cart .cart-totals-box h3,
.woocommerce-cart .cart_totals h2,
.woocommerce-cart .cart_totals h3 {
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  font-size: 1.5rem !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  margin: 0 0 18px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid var(--sw-line) !important;
}

/* Summary rows in totals */
.woocommerce-cart .summary-list { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.woocommerce-cart .summary-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid var(--sw-line) !important;
  color: var(--sw-fg) !important;
  font-size: 0.95rem !important;
}
.woocommerce-cart .summary-row:last-child { border-bottom: 0 !important; }
.woocommerce-cart .total-label,
.woocommerce-cart .summary-row > span:first-child {
  color: var(--sw-fg-muted) !important;
  font-family: var(--sw-display-tight) !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  font-size: 0.78rem !important;
  font-weight: 400 !important;
}
.woocommerce-cart .subtotal-val,
.woocommerce-cart .price-val,
.woocommerce-cart .total-val,
.woocommerce-cart .summary-row strong,
.woocommerce-cart .summary-row > span:last-child {
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
}
.woocommerce-cart .summary-row.total {
  border-top: 2px solid var(--sw-line) !important;
  padding-top: 18px !important;
  margin-top: 10px !important;
  border-bottom: 0 !important;
}
.woocommerce-cart .summary-row.total .total-label {
  color: var(--sw-fg) !important;
  font-family: var(--sw-display) !important;
  font-size: 1rem !important;
  letter-spacing: 0.04em !important;
}
.woocommerce-cart .summary-row.total .total-val {
  font-family: var(--sw-display) !important;
  font-size: 1.5rem !important;
  font-weight: 400 !important;
  color: var(--sw-accent) !important;
  letter-spacing: -0.01em !important;
}

/* Big orange checkout button */
.woocommerce-cart .checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .cart-totals-box .checkout-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 58px !important;
  background: var(--sw-accent) !important;
  border: 1.5px solid var(--sw-accent) !important;
  color: #ffffff !important;
  font-family: var(--sw-display-tight) !important;
  font-size: 1.15rem !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  margin-top: 22px !important;
  font-weight: 400 !important;
}
.woocommerce-cart .checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  background: #ffffff !important;
  color: #000000 !important;
  border-color: #ffffff !important;
}

/* Empty cart state */
.woocommerce-cart .cart-empty {
  background: var(--sw-bg-2) !important;
  border: 1px solid var(--sw-line) !important;
  color: var(--sw-fg) !important;
  padding: 60px 30px !important;
  text-align: center;
  font-family: var(--sw-display-tight) !important;
  font-size: 1.2rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  margin: 30px 0 !important;
}
.woocommerce-cart .return-to-shop a {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  background: var(--sw-accent) !important;
  border: 0 !important;
  color: #ffffff !important;
  font-family: var(--sw-display-tight) !important;
  font-size: 1rem !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  padding: 14px 28px !important;
  text-decoration: none !important;
  border-radius: 0 !important;
  margin-top: 16px;
}

/* Full-width cart on mobile */
@media (max-width: 991px) {
  .woocommerce-cart .cart-right-column,
  .woocommerce-cart .cart-sidebar-box {
    position: static !important;
    top: auto !important;
  }
  .woocommerce-cart .cart-header-row { display: none !important; }
  .woocommerce-cart .cart-item-row {
    grid-template-columns: 60px 1fr auto !important;
    grid-template-rows: auto auto;
    gap: 12px !important;
  }
  .woocommerce-cart .cart-item-price,
  .woocommerce-cart .cart-item-qty,
  .woocommerce-cart .cart-item-total,
  .woocommerce-cart .cart-item-remove,
  .woocommerce-cart .cart-item-remove-cell {
    grid-column: 2 / span 2;
    text-align: left;
    margin: 0 !important;
  }
}

/* ============================================================
   NOTICE BAR — force orange on EVERY page, all viewports
   The cart page was inheriting #121212 from main.css due to
   sticky/transition rules. Bump specificity with body-level
   selectors so streetwear wins on every template.
   ============================================================ */

html body .site-notice-bar,
html body.home .site-notice-bar,
html body.page .site-notice-bar,
html body.woocommerce .site-notice-bar,
html body.woocommerce-cart .site-notice-bar,
html body.woocommerce-checkout .site-notice-bar,
html body.woocommerce-account .site-notice-bar,
html body.single-product .site-notice-bar,
html body.archive .site-notice-bar,
html body.search .site-notice-bar,
html body.error404 .site-notice-bar {
  background: #ff4e16 !important;
  background-color: #ff4e16 !important;
  color: #ffffff !important;
  border: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  padding: 9px 0 !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1001 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  transition: none !important;
  transform: none !important;
  opacity: 1 !important;
}
html body .site-notice-bar.scrolled,
html body.woocommerce-cart .site-notice-bar.scrolled {
  transform: none !important;
  opacity: 1 !important;
}
html body .site-notice-bar .container-fluid,
html body .site-notice-bar > * {
  background: transparent !important;
  border: 0 !important;
}
html body .site-notice-bar .site-notice-copy,
html body .site-notice-bar p,
html body .site-notice-bar p.site-notice-copy {
  color: #ffffff !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}
html body .site-notice-bar strong {
  color: #ffffff !important;
  background: rgba(0, 0, 0, 0.22) !important;
  padding: 1px 9px !important;
  border-radius: 0 !important;
  font-weight: 800 !important;
}
html body .site-notice-bar .notice-dot {
  background: #ffffff !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  display: inline-block !important;
  margin-right: 8px !important;
  vertical-align: middle !important;
  box-shadow: 0 0 0 0 rgba(255,255,255,.6);
  animation: notice-pulse-white 2s infinite;
}
@keyframes notice-pulse-white {
  0% { box-shadow: 0 0 0 0 rgba(255,255,255,.6); }
  70% { box-shadow: 0 0 0 8px rgba(255,255,255,0); }
  100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); }
}

/* ============================================================
   Footer legal link row (Privacy / Terms / Disclaimer / etc)
   ============================================================ */
.footer-legal-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 22px 0 16px;
  border-top: 1px solid var(--sw-line);
  border-bottom: 1px solid var(--sw-line);
  margin: 24px 0 18px;
}
.footer-legal-links a {
  color: var(--sw-fg-muted) !important;
  font-family: var(--sw-display-tight) !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: color .2s ease;
}
.footer-legal-links a:hover { color: var(--sw-accent) !important; }
.footer-legal-links span {
  color: var(--sw-fg-muted) !important;
  opacity: .4;
}
@media (max-width: 640px) {
  .footer-legal-links { gap: 8px 14px; font-size: 0.72rem; }
}
