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

:root {
  --sw-bg: #ffffff;
  --sw-bg-2: #f8f8f8;
  --sw-bg-3: #f0f0f0;
  --sw-line: #e2e2e2;
  --sw-line-soft: #f2f2f2;
  --sw-paper: #ffffff;
  --sw-fg: #000000;
  --sw-fg-muted: #6b6b6b;
  --sw-accent: #ff4e16; /* electric orange — the soul of Drapex */
  --sw-accent-2: #1a1a1a;
  --sw-radius: 0px; /* sharp corners — streetwear */
  --sw-display: "Lato", sans-serif;
  --sw-display-tight: "Lato", sans-serif;
  --sw-body: "Lato", sans-serif;
}

/* GLOBAL LIGHT THEME 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);
  text-decoration: none;
  transition: color 0.2s ease;
}
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, 0.12);
  padding: 1px 8px;
}
.notice-dot {
  background: #fff !important;
}

/* ============================================================
   HEADER — clean, minimal, sticky
   ============================================================ */
.site-header {
  background: rgba(255, 255, 255, 0.85) !important;
  backdrop-filter: blur(12px) saturate(180%);
  -webkit-backdrop-filter: blur(12px) saturate(180%);
  border-bottom: 1px solid var(--sw-line) !important;
  padding: 14px 0 !important;
}
.logo-text {
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  font-size: 2.1rem !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;
  transition: color 0.18s ease;
}

.main-navigation a:hover {
  color: var(--sw-accent) !important;
}

.header-auth-link {
  font-family: var(--sw-display-tight) !important;
  font-size: 0.88rem !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: var(--sw-fg) !important;
  background: transparent !important;
  border: 1.5px solid var(--sw-line) !important;
  padding: 8px 18px !important;
  transition: all 0.22s ease !important;
  text-decoration: none !important;
}

.header-auth-link:hover {
  border-color: var(--sw-accent) !important;
  color: var(--sw-accent) !important;
  background: rgba(255, 78, 22, 0.04) !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(0.55) contrast(1.05) saturate(0.85);
}
.sw-hero-grain {
  position: absolute;
  inset: 0;
  z-index: 2;
  background:
    radial-gradient(
      ellipse at top,
      transparent 0%,
      rgba(0, 0, 0, 0.3) 60%,
      rgba(0, 0, 0, 0.85) 100%
    ),
    repeating-linear-gradient(
      0deg,
      rgba(255, 255, 255, 0.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: #ffffff !important;
  margin: 0 0 28px !important;
}
.sw-hero-title .sw-stroke {
  -webkit-text-stroke: 1.5px #ffffff;
  color: transparent;
}
.sw-hero-title .sw-accent {
  color: var(--sw-accent) !important;
}
.sw-hero-title em {
  font-family: "Lato", sans-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, 0.18);
  border-bottom: 1px solid rgba(255, 255, 255, 0.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, 0.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 0.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 0.2s ease;
}
.btn-sw-primary:hover svg {
  transform: translateX(6px);
}

.btn-sw-ghost {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: transparent;
  color: #ffffff !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, 0.22);
  text-decoration: none !important;
  transition: all 0.2s ease;
  border-radius: 0;
}
.btn-sw-ghost:hover {
  background: rgba(255, 255, 255, 0.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(0.4);
    transform-origin: top;
    opacity: 0.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, 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 0.8s cubic-bezier(0.2, 0.7, 0.2, 1);
  filter: brightness(0.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, 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 0.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, 0.6) 0%, transparent 60%);
  opacity: 0;
  transition: opacity 0.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 0.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 0.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) !important;
  font-size: 0.8rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--sw-fg) !important;
}
.sw-bundle-card.is-feature .sw-bundle-tag {
  color: rgba(255, 255, 255, 0.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) !important;
  font-size: 1.7rem;
  color: var(--sw-fg) !important;
}
.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) !important;
}
.sw-bundle-card.is-feature .sw-bundle-old {
  color: rgba(255, 255, 255, 0.7);
}
.sw-bundle-note {
  color: var(--sw-fg) !important;
  font-size: 0.92rem;
  line-height: 1.5;
  flex: 1;
}
.sw-bundle-card.is-feature .sw-bundle-note {
  color: rgba(255, 255, 255, 0.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 0.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, 0.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 0.5s ease,
    filter 0.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, 0.4);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.sw-social-tile:hover::after {
  opacity: 1;
}
.sw-social-tile-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.7);
  z-index: 2;
  opacity: 0;
  transition: all 0.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, 0.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, 0.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 0.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) !important;
  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: #ffffff !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: #ffffff !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, 0.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, 0.12) !important;
  color: var(--sw-accent-2) !important;
  border-color: rgba(216, 255, 0, 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 0.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 0.6s cubic-bezier(0.2, 0.7, 0.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, 0.85);
  backdrop-filter: blur(6px);
  padding: 12px;
  transform: translateY(100%);
  transition: transform 0.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, 0.18);
}
.product-card-minimal .arrow-icon-minimal {
  color: var(--sw-fg-muted) !important;
  font-size: 1.1rem;
  text-decoration: none;
  transition:
    color 0.2s ease,
    transform 0.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 0.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: #ffffff !important;
  border: 1px solid #000000 !important;
  color: #000000 !important;
  border-radius: 0 !important;
  padding: 18px 24px !important;
  font-size: 0.92rem !important;
  margin-bottom: 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px;
}

.woocommerce-message::before,
.woocommerce-error::before,
.woocommerce-info::before {
  color: var(--sw-accent) !important;
  font-size: 1.1rem !important;
  top: auto !important;
  position: relative !important;
  display: inline-block !important;
  margin-right: 12px !important;
}

.woocommerce-message a.button,
.woocommerce-message .button,
.woocommerce-error .button,
.woocommerce-info .button {
  background: var(--sw-accent) !important;
  color: #ffffff !important;
  font-family: var(--sw-display-tight) !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  padding: 10px 20px !important;
  border: none !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  float: none !important;
  order: 2;
}

.woocommerce-message a.button:hover {
  background: #000000 !important;
  color: #ffffff !important;
}

/* Ensure notice text is black */
.woocommerce-message {
  color: #000000 !important;
}

/* ============================================================
   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, 0.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, 0.08) !important;
  --drapex-gold: #ff4e16 !important;
  --drapex-gold-deep: #ff8c5a !important;
  --drapex-shadow: 0 24px 60px rgba(0, 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: #ffffff !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: 0.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 0.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 dark by default in light mode */
body,
body * {
  color: var(--sw-fg);
}

/* But buttons / badges / pills with vibrant/dark backgrounds
   must keep their white text. Allowlist them back. */
.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-colorway-badge,
.site-notice-bar,
.site-notice-bar *,
.sw-marquee,
.sw-marquee * {
  color: #ffffff !important;
}

/* Specific cases where we want dark text regardless */
.btn-sw-primary:hover,
.drapex-wc-submit-btn:hover {
  color: #000000 !important;
}

.sw-section-light *,
.sw-founders * {
  color: #000000 !important;
}
.sw-bundle-card.is-feature .sw-bundle-tag {
  color: rgba(255, 255, 255, 0.78) !important;
}
.sw-bundle-card.is-feature .sw-bundle-old {
  color: rgba(255, 255, 255, 0.7) !important;
}
.sw-bundle-card.is-feature .sw-bundle-note {
  color: rgba(255, 255, 255, 0.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, 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, 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 0.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 0.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 0.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, 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, 0.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: #000000 !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, 0.6);
  animation: notice-pulse-white 2s infinite;
}
@keyframes notice-pulse-white {
  0% {
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.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 0.2s ease;
}
.footer-legal-links a:hover {
  color: var(--sw-accent) !important;
}
.footer-legal-links span {
  color: var(--sw-fg-muted) !important;
  opacity: 0.4;
}
@media (max-width: 640px) {
  .footer-legal-links {
    gap: 8px 14px;
    font-size: 0.72rem;
  }
}

/* ============================================================
   GLOBAL CONTRAST & VISIBILITY HOTFIX (v3)
   Ensures all text is visible on the dark theme across all pages.
   ============================================================ */

/* 1. Global Headings - override black-on-black from base theme */
h1,
h2,
h3,
h4,
h5,
h6,
.entry-title,
.product-title,
.section-title,
.page-title,
.woocommerce-products-header__title,
.drapex-product-title {
  color: var(--sw-fg) !important;
}

/* 2. Global Body Text & Common Elements */
body,
.entry-content,
.entry-summary,
.product-description,
.woocommerce-product-details__short-description,
.woocommerce-tabs,
.comment-content,
.drapex-product-intro,
.drapex-product-intro p {
  color: var(--sw-fg) !important;
}

p,
li,
label,
strong,
em,
b,
i,
blockquote,
q,
cite,
dl,
dt,
dd {
  color: inherit;
}

/* 3. Single Product Page Specific Polish (Overriding drapex.css) */
.drapex-single-product-page {
  background: var(--sw-bg) !important;
}

.drapex-product-gallery-shell,
.drapex-product-summary-card,
.drapex-product-detail-panel,
.drapex-meta-item,
.drapex-detail-row,
.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;
  color: var(--sw-fg) !important;
}

.drapex-meta-item span,
.drapex-detail-row span,
.drapex-product-header .section-label,
.drapex-product-detail-panel h2,
.drapex-trust-card span {
  color: var(--sw-fg-muted) !important;
}

.drapex-meta-item strong,
.drapex-meta-item strong a,
.drapex-detail-row strong,
.drapex-product-price,
.drapex-product-price ins,
.drapex-trust-card strong {
  color: var(--sw-fg) !important;
}

.drapex-meta-item strong a:hover {
  color: var(--sw-accent) !important;
}

/* 4. Breadcrumbs - Force visibility on all templates */
.woocommerce-breadcrumb,
.woocommerce-breadcrumb a,
.drapex-product-breadcrumb .woocommerce-breadcrumb,
.drapex-product-breadcrumb .woocommerce-breadcrumb a {
  color: var(--sw-fg-muted) !important;
  text-decoration: none !important;
}
.woocommerce-breadcrumb a:hover,
.drapex-product-breadcrumb .woocommerce-breadcrumb a:hover {
  color: var(--sw-accent) !important;
}

/* 5. Product Meta & Post Categories */
.product_meta,
.product_meta span,
.product_meta a,
.posted_in,
.posted_in a,
.tagged_as,
.tagged_as a {
  color: var(--sw-fg) !important; /* Make actual values brighter */
  text-decoration: none !important;
}
.product_meta .sku_wrapper,
.product_meta .posted_in,
.product_meta .tagged_as {
  color: var(--sw-fg-muted) !important; /* Muted labels */
}

/* 6. Cart & Checkout: Product names and links */
.woocommerce-cart .product-name a,
.woocommerce-cart .cart-item-product a,
.woocommerce-cart .cart-item-details a,
.woocommerce-checkout .product-name {
  color: var(--sw-fg) !important;
  text-decoration: none !important;
}

/* 7. Checkout Button - Force high visibility + Layout */
.woocommerce-cart .checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a,
.woocommerce-cart .wc-proceed-to-checkout .button,
.checkout-btn,
.place-order .button,
.wc-proceed-to-checkout a.checkout-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 58px !important;
  background: var(--sw-accent) !important;
  color: #ffffff !important;
  padding: 16px 24px !important;
  text-align: center !important;
  text-transform: uppercase !important;
  font-family: var(--sw-display-tight) !important;
  letter-spacing: 0.22em !important;
  font-weight: 400 !important;
  border-radius: 0 !important;
  margin-top: 20px !important;
  text-decoration: none !important;
  border: none !important;
  font-size: 1.15rem !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
}
.woocommerce-cart .checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a:hover {
  background: #ffffff !important;
  color: #000000 !important;
}

/* 8. Form Elements - override browser/base defaults */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="search"],
input[type="password"],
textarea,
select {
  color: var(--sw-fg) !important;
  background-color: var(--sw-bg-3) !important;
  border: 1px solid var(--sw-line) !important;
  border-radius: 0 !important;
}

input::placeholder,
textarea::placeholder {
  color: var(--sw-fg-muted) !important;
  opacity: 0.8 !important;
}

/* 9. Section Labels & Eyebrows */
.section-label,
.sw-section-eyebrow,
.kicker {
  color: var(--sw-fg-muted) !important;
}

/* 10. EXCEPTIONS: Light sections must keep dark text for readability */
.sw-section-light,
.sw-section-light p,
.sw-section-light span,
.sw-section-light li,
.sw-section-light h1,
.sw-section-light h2,
.sw-section-light h3,
.sw-section-light h4,
.sw-section-light h5,
.sw-section-light h6,
.sw-founders,
.sw-founders p,
.sw-founders span,
.sw-founders li,
.sw-founders h1,
.sw-founders h2,
.sw-founders h3,
.sw-founders h4,
.sw-founders h5,
.sw-founders h6,
.sw-marquee,
.sw-marquee * {
  color: #0a0a0a !important;
}

/* Ensure accents still pop in light sections */
.sw-section-light .sw-accent,
.sw-founders .sw-accent,
.sw-marquee .star {
  color: var(--sw-accent) !important;
}

/* 11. WooCommerce Tabs - Professional Streetwear Look */
.woocommerce-tabs {
  margin-top: 40px !important;
}

.woocommerce-tabs ul.tabs {
  border-bottom: 1px solid var(--sw-line) !important;
  padding: 0 0 16px 0 !important;
  margin: 0 0 32px 0 !important;
  display: flex !important;
  gap: 12px !important;
  list-style: none !important;
}

.woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce-tabs ul.tabs li a {
  display: block !important;
  padding: 14px 28px !important;
  background: var(--sw-bg-3) !important;
  color: var(--sw-fg-muted) !important;
  font-family: var(--sw-display-tight) !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.18em !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  border: 1px solid var(--sw-line) !important;
}

.woocommerce-tabs ul.tabs li.active a {
  background: var(--sw-accent) !important;
  color: #ffffff !important;
  border-color: var(--sw-accent) !important;
}

.woocommerce-tabs ul.tabs li a:hover:not(.active a) {
  background: var(--sw-bg-4) !important;
  color: var(--sw-fg) !important;
}

.woocommerce-tabs .panel {
  color: var(--sw-fg) !important;
  line-height: 1.8 !important;
  font-size: 1rem !important;
}

.woocommerce-tabs .panel h2:first-of-type {
  display: none !important; /* Hide redundant titles inside panels */
}

.woocommerce-Tabs-panel--description p {
  margin-bottom: 1.5rem !important;
  color: var(--sw-fg) !important;
}

/* Review form & other inner elements */
.woocommerce-tabs .comment-respond h3 {
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  margin-bottom: 20px !important;
}

.woocommerce-tabs .stars a {
  color: var(--sw-accent) !important;
}

/* 12. WooCommerce Container Boxes - Dark Mode Polish */
.cart-content-box,
.cart-sidebar-box,
.checkout-section-box,
#order_review,
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading {
  background: var(--sw-bg-2) !important;
  border: 1px solid var(--sw-line) !important;
  color: var(--sw-fg) !important;
  box-shadow: none !important;
}

.cart-sidebar-box h3,
.checkout-section-box h3,
#order_review_heading,
.woocommerce-checkout h3 {
  color: var(--sw-fg) !important;
  font-family: var(--sw-display) !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  border-bottom: 1px solid var(--sw-line) !important;
  padding-bottom: 15px !important;
  margin-bottom: 25px !important;
}

/* Table rows in boxes */
.review-order-item,
.cart-item-row,
.cart-header-row {
  border-color: var(--sw-line) !important;
  background: transparent !important;
}

.summary-row.total,
.order-total {
  border-top: 1px solid var(--sw-line) !important;
  color: var(--sw-fg) !important;
}

/* Payment box on checkout */
#payment div.payment_box {
  background: var(--sw-bg-3) !important;
  color: var(--sw-fg-muted) !important;
}
#payment div.payment_box::before {
  border-bottom-color: var(--sw-bg-3) !important;
}

/* 13. WooCommerce Empty States */
.cart-empty,
.woocommerce-noreviews,
.no-comments {
  background: var(--sw-bg-2) !important;
  border: 1px solid var(--sw-line) !important;
  padding: 20px 30px !important;
  margin-bottom: 30px !important;
  border-radius: 0 !important;
}

.cart-empty {
  font-family: var(--sw-display) !important;
  font-size: 2rem !important;
  text-transform: uppercase !important;
  text-align: center !important;
}

.return-to-shop {
  text-align: center !important;
  border: none !important;
  background: transparent !important;
}

.return-to-shop .button {
  background: var(--sw-accent) !important;
  color: #fff !important;
  padding: 16px 32px !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
}

/* 14. Related & Upsell Products - Grid Polish */
.related.products,
.upsells.products,
.cart-recommendations {
  margin-top: 60px !important;
  padding-top: 40px !important;
  clear: both;
}

.related.products h2,
.upsells.products h2,
.cart-recommendations h2.section-title {
  font-family: var(--sw-display) !important;
  font-size: 2.2rem !important;
  text-transform: uppercase !important;
  margin-bottom: 30px !important;
  color: var(--sw-fg) !important;
  border: none !important;
  line-height: 1 !important;
}

.related.products ul.products,
.upsells.products ul.products,
.fallback-recommendations ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.related.products ul.products::before,
.related.products ul.products::after,
.upsells.products ul.products::before,
.upsells.products ul.products::after {
  display: none !important; /* Remove float clear fix that breaks grid */
}

@media (max-width: 991px) {
  .related.products ul.products,
  .upsells.products ul.products,
  .fallback-recommendations ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* Review Form Styling - Professional UI */
#review_form_wrapper {
  background: var(--sw-bg-2) !important;
  padding: clamp(20px, 5vw, 50px) !important;
  border: 1px solid var(--sw-line) !important;
  margin-top: 30px !important;
}

#reply-title {
  font-family: var(--sw-display-tight) !important;
  font-size: 1.1rem !important;
  color: var(--sw-fg) !important;
  margin-bottom: 25px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  display: block !important;
}

.comment-form-rating {
  margin-bottom: 25px !important;
}

.comment-form-rating label {
  color: var(--sw-fg-muted) !important;
  font-weight: 700 !important;
  margin-bottom: 10px !important;
  display: block !important;
  font-size: 0.85rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

.comment-form-comment textarea {
  min-height: 120px !important;
  background: var(--sw-bg-3) !important;
  border-color: var(--sw-line) !important;
  color: var(--sw-fg) !important;
}

#submit {
  min-width: 180px !important;
  height: 52px !important;
  background: var(--sw-accent) !important;
  color: #fff !important;
  border: none !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
  letter-spacing: 0.15em !important;
  font-size: 0.9rem !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
}

#submit:hover {
  background: #fff !important;
  color: #000 !important;
}

/* Stars */
.stars a {
  color: var(--sw-accent) !important;
}
a.view-details-btn {
  color: #000 !important;
}

.woocommerce ul.products li.product a {
  text-decoration: none;
  color: #000 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: #ffffff !important;
  padding: 10px 20px !important;
}

button.wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button.contained {
  background: #fe4e16;
}
/* ============================================================
   15. WOOCOMMERCE CHECKOUT BLOCKS - UI FIXES
   The new block-based checkout uses different classes and 
   floating labels that often overlap in custom dark themes.
   ============================================================ */

/* Container & Field Spacing */
.wc-block-checkout__form {
  gap: 24px !important;
}

/* Individual Field Wrap */
.wc-block-components-text-input,
.wc-block-components-form-token {
  position: relative !important;
  margin-top: 10px !important;
}

/* Fix Overlapping Labels */
.wc-block-components-text-input label,
.wc-block-components-floating-label {
  position: absolute !important;
  top: 0 !important;
  left: 12px !important;
  transform: translateY(-50%) !important; /* Pull label above the border */
  background: var(--sw-bg-2) !important; /* Match input background */
  padding: 0 6px !important;
  font-size: 0.75rem !important;
  color: var(
    --sw-accent
  ) !important; /* Use accent color for labels to make them clear */
  z-index: 2 !important;
  pointer-events: none !important;
  transition: all 0.2s ease !important;
}

/* When input is focused or has content (Blocks often use 'is-active' or similar) */
.wc-block-components-text-input.is-active label,
.wc-block-components-text-input:focus-within label {
  color: var(--sw-accent) !important;
  opacity: 1 !important;
}

/* The Input itself */
.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-form-token input {
  background: var(--sw-bg-2) !important;
  border: 1px solid var(--sw-line) !important;
  color: var(--sw-fg) !important;
  padding: 16px 14px 12px !important; /* Extra top padding for label breathing room */
  height: 56px !important;
  border-radius: 0 !important;
  font-size: 1rem !important;
}

.wc-block-components-text-input input:focus {
  border-color: var(--sw-accent) !important;
  box-shadow: 0 0 0 1px var(--sw-accent) !important;
  outline: none !important;
}

/* Select/Dropdowns (Country/State) */
.wc-block-components-combobox-control,
.wc-block-components-form-token {
  background: var(--sw-bg-2) !important;
}

.wc-block-components-combobox-control
  .wc-block-components-combobox-control__input-container {
  border: 1px solid var(--sw-line) !important;
  background: var(--sw-bg-2) !important;
}

/* Checkout Block Buttons */
.wc-block-components-checkout-place-order-button {
  height: 60px !important;
  background: var(--sw-accent) !important;
  font-family: var(--sw-display-tight) !important;
  font-size: 1.2rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  transition: all 0.3s ease !important;
  margin-top: 20px !important;
}

.wc-block-components-checkout-place-order-button:hover {
  background: #fff !important;
  color: #000 !important;
}

/* Checkout Totals / Review area in Blocks */
.wc-block-components-totals-item,
.wc-block-components-totals-footer-item {
  color: var(--sw-fg) !important;
}

.wc-block-components-totals-footer-item {
  font-family: var(--sw-display) !important;
  font-size: 1.5rem !important;
  border-top: 1px solid var(--sw-line) !important;
  padding-top: 15px !important;
}

.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value {
  color: var(--sw-fg) !important;
}

/* Placeholder visibility */
::placeholder {
  color: var(--sw-fg-muted) !important;
  opacity: 0.5 !important;
}

/* Additional refinements for Checkout Blocks */
.wc-block-components-form-step__title {
  font-family: var(--sw-display) !important;
  color: var(--sw-fg) !important;
  text-transform: uppercase !important;
  font-size: 1.8rem !important;
}

.wc-block-components-button.is-secondary,
.wc-block-components-form-step__actions .wc-block-components-button {
  color: var(--sw-accent) !important;
  text-decoration: underline !important;
  background: transparent !important;
  border: none !important;
  font-family: var(--sw-display-tight) !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

/* Fix dropdown arrow visibility */
.wc-block-components-combobox-control__input-container::after {
  border-color: var(--sw-fg) transparent transparent transparent !important;
}

/* Combobox (Dropdown) Label Fixes */
.wc-block-components-combobox-control {
  position: relative !important;
}

.wc-block-components-combobox-control label {
  position: absolute !important;
  top: 0 !important;
  left: 12px !important;
  transform: translateY(-50%) !important;
  background: var(--sw-bg-2) !important;
  padding: 0 6px !important;
  font-size: 0.75rem !important;
  color: var(--sw-accent) !important;
  z-index: 5 !important; /* Ensure it stays above the combobox input */
}

/* Combobox Input specifics */
.wc-block-components-combobox-control input {
  padding-top: 18px !important; /* Space for the floating label */
}

/* Ensure the total amount is highlighted */
.wc-block-components-totals-footer-item
  .wc-block-components-totals-item__value {
  color: var(--sw-accent) !important;
  font-weight: 800 !important;
}

.wc-block-components-order-summary-item__quantity span {
  color: #ff4e16 !important;
  font-weight: 900;
}
a.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained {
  background: #ff4e16;
  text-decoration: none;
  border: 2px solid #ff4e16;
  border-radius: 4px;
}

/* ============================================================
   16. WOOCOMMERCE NOTICE BANNER (POP TOAST) - VISIBILITY FIX
   Ensures that system notices (coupons, cart updates) are
   legible in the dark-mode streetwear theme.
   ============================================================ */

.wc-block-components-notice-banner {
  background: var(--sw-bg-2) !important; /* Dark background to match theme */
  border: 1px solid var(--sw-line) !important;
  border-radius: 0 !important; /* Sharp streetwear corners */
  padding: 16px 20px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4) !important;
}

/* Force text visibility */
.wc-block-components-notice-banner__content,
.wc-block-components-notice-banner__content p,
.wc-block-components-notice-banner__content span,
.wc-block-components-notice-banner__content strong {
  color: #ffffff !important; /* White text for maximum legibility */
  font-family: var(--sw-body) !important;
  font-size: 0.95rem !important;
}

/* Icon visibility */
.wc-block-components-notice-banner svg {
  fill: var(--sw-accent) !important; /* Branded orange icon */
}

/* Close button */
.wc-block-components-notice-banner__close {
  color: var(--sw-fg-muted) !important;
  opacity: 0.8;
}
.wc-block-components-notice-banner__close:hover {
  color: #ffffff !important;
  opacity: 1;
}

/* ============================================================
   AUTH PAGE — Login & Registration (template-auth.php)
   ============================================================ */

/* ── Page wrapper ── */
.auth-page {
  min-height: 100vh;
  background: var(--sw-bg);
  position: relative;
  display: flex;
  align-items: stretch;
  padding: 80px 0 60px;
  overflow: hidden;
}

/* Grain / noise overlay */
.auth-bg-grain {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: repeating-linear-gradient(
    0deg,
    rgba(255, 255, 255, 0.012) 0 1px,
    transparent 1px 3px
  );
}

/* ── Shell — two-column split ── */
.auth-shell {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  min-height: 80vh;
  border: 1px solid var(--sw-line);
  background: var(--sw-bg-2);
}

/* ── LEFT — brand visual panel ── */
.auth-visual {
  position: relative;
  background: #000;
  overflow: hidden;
  display: flex;
  align-items: stretch;
  min-height: 560px;
}

/* Animated gradient blob */
.auth-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      ellipse at 20% 20%,
      rgba(255, 78, 22, 0.22) 0%,
      transparent 55%
    ),
    radial-gradient(
      ellipse at 80% 80%,
      rgba(216, 255, 0, 0.08) 0%,
      transparent 50%
    ),
    linear-gradient(160deg, #0a0a0a 0%, #111 100%);
  animation: auth-blob 8s ease-in-out infinite alternate;
}

@keyframes auth-blob {
  0% {
    background-position:
      20% 20%,
      80% 80%;
  }
  100% {
    background-position:
      30% 30%,
      70% 70%;
  }
}

.auth-visual-inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 48px 44px;
  width: 100%;
}

/* Live badge */
.auth-visual-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--sw-display-tight);
  font-size: 0.78rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--sw-fg-muted);
  border: 1px solid var(--sw-line);
  padding: 7px 14px;
  width: fit-content;
}

.auth-badge-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--sw-accent);
  display: inline-block;
  animation: auth-pulse 1.8s ease-in-out infinite;
}

@keyframes auth-pulse {
  0%,
  100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.5;
    transform: scale(0.7);
  }
}

/* Visual logo */
.auth-visual-logo {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

/* Big tagline */
.auth-tagline-heading {
  font-family: var(--sw-display) !important;
  font-size: clamp(3.5rem, 5.5vw, 7rem) !important;
  font-weight: 400 !important;
  line-height: 0.95 !important;
  letter-spacing: -0.02em !important;
  text-transform: uppercase !important;
  color: var(--sw-fg) !important;
  margin: 0 !important;
}

.auth-tagline-heading .sw-stroke {
  -webkit-text-stroke: 1.5px var(--sw-fg);
  color: transparent;
}

/* Perks list */
.auth-visual-perks {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.auth-perk {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: var(--sw-body);
  font-size: 0.88rem;
  color: var(--sw-fg-muted);
  letter-spacing: 0.02em;
}

.auth-perk svg {
  color: var(--sw-accent);
  flex-shrink: 0;
}

/* Decorative lines */
.auth-visual-line {
  position: absolute;
  background: var(--sw-line);
  pointer-events: none;
}
.auth-line-v {
  top: 0;
  bottom: 0;
  right: 0;
  width: 1px;
}
.auth-line-h {
  left: 0;
  right: 0;
  bottom: 25%;
  height: 1px;
  opacity: 0.4;
}

/* ── RIGHT — forms panel ── */
.auth-forms-panel {
  display: flex;
  flex-direction: column;
  padding: 52px 48px 40px;
  gap: 0;
  background: var(--sw-bg-2);
}

/* ── Tab switcher ── */
.auth-tabs {
  position: relative;
  display: flex;
  gap: 0;
  border-bottom: 1px solid var(--sw-line);
  margin-bottom: 40px;
}

.auth-tab {
  flex: 1;
  background: transparent;
  border: none;
  color: var(--sw-fg-muted);
  font-family: var(--sw-display-tight);
  font-size: 1.05rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 0 0 18px;
  cursor: pointer;
  transition: color 0.22s ease;
  position: relative;
  z-index: 1;
}

.auth-tab.active {
  color: var(--sw-fg);
}

.auth-tab:hover {
  color: var(--sw-fg);
}

/* Sliding underline indicator */
.auth-tab-indicator {
  position: absolute;
  bottom: -1px;
  height: 2px;
  background: var(--sw-accent);
  transition:
    left 0.3s cubic-bezier(0.4, 0, 0.2, 1),
    width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  left: 0;
  width: 50%;
}

/* ── Auth panels ── */
.auth-panel {
  display: none;
  flex-direction: column;
  gap: 0;
  flex: 1;
  animation: auth-fadein 0.3s ease forwards;
}

.auth-panel.active {
  display: flex;
}

@keyframes auth-fadein {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Panel header */
.auth-panel-header {
  margin-bottom: 28px;
}

.auth-panel-title {
  font-family: var(--sw-display) !important;
  font-size: clamp(1.6rem, 3vw, 2.4rem) !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.01em !important;
  color: var(--sw-fg) !important;
  margin: 0 0 8px !important;
  line-height: 1 !important;
}

.auth-panel-sub {
  color: var(--sw-fg-muted);
  font-size: 0.88rem;
  line-height: 1.6;
  margin: 0;
}

/* ── Forms ── */
.auth-form,
.woocommerce-form-login,
.woocommerce-form-register {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin-bottom: 22px !important;
}

/* Two-column row for first/last name */
.auth-fields-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

/* Field group */
.auth-field-group,
.woocommerce-form-row {
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  margin-bottom: 0 !important;
}

.auth-label-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

/* Labels */
.auth-label,
.woocommerce-form-login label,
.woocommerce-form-register label {
  font-family: var(--sw-display-tight) !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: var(--sw-fg-muted) !important;
  margin-bottom: 0 !important;
}

/* Forgot password link */
.auth-forgot-link {
  font-size: 0.8rem;
  color: var(--sw-fg-muted);
  text-decoration: none;
  transition: color 0.18s ease;
}
.auth-forgot-link:hover {
  color: var(--sw-accent);
}

/* Input wrapper — icon + input + optional toggle */
.auth-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.auth-input-icon {
  position: absolute;
  left: 14px;
  color: var(--sw-fg-muted);
  pointer-events: none;
  z-index: 1;
}

/* Core input */
.auth-input,
.woocommerce-form-login input[type="email"],
.woocommerce-form-login input[type="text"],
.woocommerce-form-login input[type="password"],
.woocommerce-form-register input[type="email"],
.woocommerce-form-register input[type="text"],
.woocommerce-form-register input[type="password"] {
  width: 100% !important;
  background: var(--sw-bg-3) !important;
  border: 1px solid var(--sw-line) !important;
  border-radius: 0 !important;
  color: var(--sw-fg) !important;
  font-family: var(--sw-body) !important;
  font-size: 0.92rem !important;
  padding: 13px 44px 13px 42px !important;
  outline: none !important;
  box-shadow: none !important;
  transition:
    border-color 0.2s ease,
    background 0.2s ease !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

.auth-input::placeholder,
.woocommerce-form-login input::placeholder,
.woocommerce-form-register input::placeholder {
  color: rgba(160, 155, 145, 0.45) !important;
}

.auth-input:focus,
.woocommerce-form-login input:focus,
.woocommerce-form-register input:focus {
  border-color: var(--sw-accent) !important;
  background: #ffffff !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(255, 78, 22, 0.08) !important;
}

/* Toggle password button */
.auth-toggle-pw {
  position: absolute;
  right: 14px;
  background: transparent;
  border: none;
  cursor: pointer;
  color: var(--sw-fg-muted);
  padding: 0;
  display: flex;
  align-items: center;
  transition: color 0.18s ease;
}

.auth-toggle-pw:hover {
  color: var(--sw-fg);
}

/* Password strength bar */
.auth-pw-strength {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 6px;
}

.pw-strength-track {
  flex: 1;
  height: 3px;
  background: var(--sw-line);
  border-radius: 2px;
  overflow: hidden;
}

.pw-strength-fill {
  display: block;
  height: 100%;
  width: 0%;
  border-radius: 2px;
  transition:
    width 0.4s ease,
    background 0.4s ease;
}

.pw-strength-label {
  font-size: 0.76rem;
  font-family: var(--sw-display-tight);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sw-fg-muted);
  white-space: nowrap;
  transition: color 0.4s ease;
  min-width: 90px;
}

/* Checkbox row */
.auth-check-row,
.auth-terms-row {
  display: flex;
  align-items: flex-start;
  gap: 0;
}

.auth-checkbox-label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-family: var(--sw-body) !important;
  font-size: 0.84rem !important;
  color: var(--sw-fg-muted) !important;
  cursor: pointer;
  line-height: 1.5;
}

.auth-checkbox-label a {
  color: var(--sw-accent);
  text-decoration: underline;
  text-decoration-color: rgba(255, 78, 22, 0.4);
}

.auth-checkbox-label a:hover {
  text-decoration-color: var(--sw-accent);
}

/* Hide native checkbox */
.auth-checkbox {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

/* Custom checkmark box */
.auth-checkmark {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  border: 1.5px solid var(--sw-line);
  background: var(--sw-bg-3);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 2px;
  transition:
    border-color 0.18s ease,
    background 0.18s ease;
  position: relative;
}

.auth-checkbox:checked + .auth-checkmark {
  background: var(--sw-accent);
  border-color: var(--sw-accent);
}

.auth-checkbox:checked + .auth-checkmark::after {
  content: "";
  display: block;
  width: 9px;
  height: 5px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg) translateY(-1px);
}

/* ── Submit button ── */
.auth-submit-btn,
.woocommerce-form-login .woocommerce-Button,
.woocommerce-form-register .woocommerce-Button {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: 100% !important;
  background: var(--sw-accent) !important;
  border: 1.5px solid var(--sw-accent) !important;
  border-radius: 0 !important;
  color: #fff !important;
  font-family: var(--sw-display-tight) !important;
  font-size: 1.05rem !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  padding: 16px 22px !important;
  cursor: pointer !important;
  transition:
    background 0.22s ease,
    color 0.22s ease,
    transform 0.18s ease !important;
  margin-top: 6px !important;
  position: relative;
  overflow: hidden;
}

.auth-submit-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0);
  transition: background 0.22s ease;
}

.auth-submit-btn:hover,
.woocommerce-form-login .woocommerce-Button:hover,
.woocommerce-form-register .woocommerce-Button:hover {
  background: var(--sw-fg) !important;
  border-color: var(--sw-fg) !important;
  color: var(--sw-bg) !important;
  transform: translateY(-2px) !important;
}

.auth-submit-btn:hover svg {
  transform: translateX(5px);
}

.auth-submit-btn svg {
  transition: transform 0.22s ease;
  flex-shrink: 0;
}

/* Loading state */
.auth-submit-btn.loading {
  opacity: 0.7;
  cursor: not-allowed;
  pointer-events: none;
}

.auth-submit-btn.loading svg {
  animation: auth-spin 0.8s linear infinite;
}

@keyframes auth-spin {
  to {
    transform: rotate(360deg);
  }
}

/* ── Switch hint ── */
.auth-switch-hint {
  font-size: 0.85rem;
  color: var(--sw-fg-muted);
  text-align: center;
  margin: 20px 0 0;
}

.auth-switch-btn {
  background: transparent;
  border: none;
  color: var(--sw-accent);
  font-family: var(--sw-body);
  font-size: 0.85rem;
  cursor: pointer;
  padding: 0;
  text-decoration: underline;
  text-decoration-color: rgba(255, 78, 22, 0.4);
  transition: text-decoration-color 0.18s ease;
}

.auth-switch-btn:hover {
  text-decoration-color: var(--sw-accent);
}

/* ── Social proof strip ── */
.auth-social-strip {
  display: flex;
  align-items: center;
  gap: 0;
  border-top: 1px solid var(--sw-line);
  margin-top: auto;
  padding-top: 28px;
}

.auth-strip-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}

.auth-strip-num {
  font-family: var(--sw-display);
  font-size: 1.5rem;
  color: var(--sw-fg);
  line-height: 1;
}

.auth-strip-label {
  font-family: var(--sw-display-tight);
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--sw-fg-muted);
}

.auth-strip-divider {
  width: 1px;
  height: 40px;
  background: var(--sw-line);
}

/* ── WooCommerce form overrides inside auth page ── */
.auth-panel .woocommerce-form-login,
.auth-panel .woocommerce-form-register {
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}

.auth-panel .woocommerce-form-login p,
.auth-panel .woocommerce-form-register p {
  margin-bottom: 18px !important;
}

.auth-panel .woocommerce-form-login .woocommerce-form__label,
.auth-panel .woocommerce-form-register .woocommerce-form__label {
  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;
}

.auth-panel .woocommerce-form-login__rememberme {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 0.84rem !important;
  color: var(--sw-fg-muted) !important;
}

.auth-panel .lost_password a {
  color: var(--sw-fg-muted) !important;
  font-size: 0.82rem !important;
  text-decoration: none;
  transition: color 0.18s ease;
}

.auth-panel .lost_password a:hover {
  color: var(--sw-accent) !important;
}

/* WooCommerce notices inside auth */
.auth-panel .woocommerce-error,
.auth-panel .woocommerce-message,
.auth-panel .woocommerce-info {
  background: var(--sw-bg-3) !important;
  border-left: 3px solid var(--sw-accent) !important;
  color: var(--sw-fg) !important;
  font-size: 0.88rem !important;
  padding: 12px 16px !important;
  margin-bottom: 16px !important;
  border-radius: 0 !important;
}

.auth-panel .woocommerce-error {
  border-left-color: #ef4444 !important;
}

/* ── RESPONSIVE ── */
@media (max-width: 991px) {
  .auth-shell {
    grid-template-columns: 1fr;
  }

  .auth-visual {
    min-height: 300px;
  }

  .auth-visual-inner {
    padding: 36px 32px;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 24px;
  }

  .auth-visual-perks {
    display: none;
  }

  .auth-tagline-heading {
    font-size: clamp(2.4rem, 8vw, 4rem) !important;
  }

  .auth-forms-panel {
    padding: 40px 32px 36px;
  }
}

@media (max-width: 640px) {
  .auth-page {
    padding: 70px 0 40px;
  }

  .auth-shell {
    border-left: none;
    border-right: none;
  }

  .auth-visual {
    min-height: 220px;
  }

  .auth-visual-inner {
    padding: 24px 20px;
    gap: 16px;
  }

  .auth-tagline-heading {
    font-size: 2.2rem !important;
  }

  .auth-forms-panel {
    padding: 32px 20px 28px;
  }

  .auth-fields-row {
    grid-template-columns: 1fr;
  }

  .auth-social-strip {
    padding-top: 20px;
  }

  .auth-strip-num {
    font-size: 1.15rem;
  }

  .auth-strip-label {
    font-size: 0.65rem;
  }
}

/* Body class for the auth page — removes default page padding */
body.page-template-template-auth .site-main {
  padding-top: 0 !important;
}

/* ============================================================
   MY ACCOUNT — Edit Account Details Form
   (woocommerce/myaccount/form-edit-account.php override)
   ============================================================ */

/* ── Wrappers ── */
.drapex-account-form {
  background: var(--sw-bg-2);
  border: 1px solid var(--sw-line);
  padding: 40px 44px;
  max-width: 700px;
  margin: 0 auto;
}

.drapex-form-row-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

/* ── Labels ── */
.drapex-account-form label,
.drapex-account-form .woocommerce-form-row label {
  display: block;
  font-family: var(--sw-display-tight) !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: var(--sw-fg-muted) !important;
  margin-bottom: 7px !important;
}

.drapex-account-form label .required {
  color: var(--sw-accent) !important;
  font-weight: 700;
}

/* ── Input wrapper (icon + field) ── */
.drapex-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.drapex-input-icon {
  position: absolute;
  left: 14px;
  color: var(--sw-fg-muted);
  pointer-events: none;
  z-index: 1;
  flex-shrink: 0;
}

/* ── All inputs inside the account form ── */
.drapex-account-form .woocommerce-Input,
.drapex-account-form input[type="text"],
.drapex-account-form input[type="email"],
.drapex-account-form input[type="tel"],
.drapex-account-form input[type="password"] {
  width: 100% !important;
  background: var(--sw-bg-3) !important;
  border: 1px solid var(--sw-line) !important;
  border-radius: 0 !important;
  color: var(--sw-fg) !important;
  font-family: var(--sw-body) !important;
  font-size: 0.92rem !important;
  padding: 13px 44px 13px 42px !important;
  outline: none !important;
  box-shadow: none !important;
  transition:
    border-color 0.2s ease,
    background 0.2s ease !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

.drapex-account-form .woocommerce-Input::placeholder,
.drapex-account-form input::placeholder {
  color: rgba(160, 155, 145, 0.45) !important;
}

.drapex-account-form .woocommerce-Input:focus,
.drapex-account-form input:focus {
  border-color: var(--sw-accent) !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(255, 78, 22, 0.08) !important;
  outline: none !important;
}

/* ── Fieldset / Password section ── */
.drapex-fieldset {
  border: 1px solid var(--sw-line) !important;
  padding: 28px 24px 20px !important;
  margin: 28px 0 24px !important;
  background: var(--sw-bg-3);
}

.drapex-fieldset legend {
  font-family: var(--sw-display-tight) !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.26em !important;
  text-transform: uppercase !important;
  color: var(--sw-fg-muted) !important;
  padding: 0 10px !important;
  border: none !important;
  float: none !important;
  width: auto !important;
}

/* ── Password toggle button ── */
.drapex-toggle-pw {
  position: absolute;
  right: 14px;
  background: transparent;
  border: none;
  cursor: pointer;
  color: var(--sw-fg-muted);
  padding: 0;
  display: flex;
  align-items: center;
  transition: color 0.18s ease;
  z-index: 2;
}

.drapex-toggle-pw:hover {
  color: var(--sw-fg);
}

/* ── Description text (display name hint) ── */
.drapex-account-form #account_display_name_description em {
  font-size: 0.78rem;
  color: var(--sw-fg-muted);
  font-style: normal;
}

/* ── Submit row ── */
.drapex-form-submit-row {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 0 !important;
  padding: 0 !important;
}

.drapex-account-save-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  background: var(--sw-accent) !important;
  border: 1.5px solid var(--sw-accent) !important;
  border-radius: 0 !important;
  color: #fff !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;
  cursor: pointer !important;
  transition:
    background 0.22s ease,
    color 0.22s ease,
    transform 0.18s ease !important;
}

.drapex-account-save-btn:hover {
  background: var(--sw-fg) !important;
  border-color: var(--sw-fg) !important;
  color: var(--sw-bg) !important;
  transform: translateY(-2px) !important;
}

.drapex-account-save-btn svg {
  transition: transform 0.22s ease;
  flex-shrink: 0;
}

.drapex-account-save-btn:hover svg {
  transform: translateX(5px);
}

/* ── WooCommerce form-row overrides inside account form ── */
.drapex-account-form .woocommerce-form-row {
  margin-bottom: 20px !important;
  padding: 0 !important;
}

.drapex-account-form .woocommerce-form-row label {
  margin-bottom: 7px !important;
}

/* ── My Account sidebar / navigation ── */
.woocommerce-MyAccount-navigation {
  background: var(--sw-bg-2) !important;
  border: 1px solid var(--sw-line) !important;
  padding: 0 !important;
}

.woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce-MyAccount-navigation li a {
  display: block;
  padding: 14px 22px;
  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;
  border-bottom: 1px solid var(--sw-line);
  text-decoration: none !important;
  transition:
    color 0.18s ease,
    background 0.18s ease;
}

.woocommerce-MyAccount-navigation li a:hover,
.woocommerce-MyAccount-navigation li.is-active a {
  color: var(--sw-fg) !important;
  background: var(--sw-bg-3);
}

.woocommerce-MyAccount-navigation li.is-active a {
  border-left: 3px solid var(--sw-accent);
  padding-left: 19px;
}

/* ── My Account page title ── */
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
  font-family: var(--sw-display) !important;
  font-size: clamp(1.4rem, 3vw, 2.2rem) !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  color: var(--sw-fg) !important;
  letter-spacing: -0.01em !important;
  margin-bottom: 28px !important;
}

/* ── Responsive ── */
@media (max-width: 640px) {
  .drapex-account-form {
    padding: 28px 20px;
  }

  .drapex-form-row-wrap {
    grid-template-columns: 1fr;
    gap: 0;
  }
}

/* ============================================================
   MY ACCOUNT — Login & Register (Single Form View)
   ============================================================ */

.drapex-auth-container {
  max-width: 850px;
  margin: 60px auto;
  width: 100%;
  padding: 0 20px;
  box-sizing: border-box;
}

.drapex-login-columns {
  background: var(--sw-bg-2);
  border: 1px solid var(--sw-line);
  padding: 60px 54px;
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  position: relative;
}

/* Hide vertical divider (no longer needed) */
.drapex-login-columns::after {
  display: none !important;
}

/* ── Panel Visibility ── */
.drapex-auth-panel {
  display: none !important;
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  animation: drapexFadeIn 0.4s ease forwards;
}

/* Initial state: show login */
#panel-login {
  display: block !important;
}

/* State: show register */
.show-register #panel-login,
.show-register #panel-lost-password {
  display: none !important;
}
.show-register #panel-register {
  display: block !important;
}

/* State: show lost password */
.show-lost-password #panel-login,
.show-lost-password #panel-register {
  display: none !important;
}
.show-lost-password #panel-lost-password {
  display: block !important;
}

@keyframes drapexFadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.drapex-auth-success-msg {
  background: rgba(255, 78, 22, 0.08);
  border: 1px solid rgba(255, 78, 22, 0.2);
  padding: 16px 20px;
  margin-bottom: 25px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--sw-fg);
  font-size: 0.95rem;
  animation: drapexFadeIn 0.3s ease forwards;
}

.drapex-auth-success-msg svg {
  color: var(--sw-accent);
  flex-shrink: 0;
}

/* ── Typography & Forms ── */
.drapex-myaccount-title {
  font-family: var(--sw-display) !important;
  font-size: clamp(2rem, 4vw, 2.8rem) !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.01em !important;
  color: var(--sw-fg) !important;
  margin-bottom: 12px !important;
  line-height: 1.1 !important;
}

.drapex-myaccount-sub {
  color: var(--sw-fg-muted);
  font-size: 0.95rem;
  line-height: 1.6;
  margin-bottom: 40px;
}

.drapex-wc-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 26px !important;
  width: 100% !important;
}

.drapex-form-name-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 20px !important;
  width: 100% !important;
}

.drapex-wc-form .woocommerce-form-row {
  margin-bottom: 0 !important;
  width: 100% !important;
  position: relative !important;
}

.drapex-wc-form label {
  display: block !important;
  font-family: var(--sw-display-tight) !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.26em !important;
  text-transform: uppercase !important;
  color: var(--sw-fg-muted) !important;
  margin-bottom: 10px !important;
  font-weight: 500 !important;
}

.drapex-wc-form label .required {
  color: var(--sw-accent) !important;
  margin-left: 2px;
}

.drapex-half-row {
  margin-bottom: 0 !important;
  width: 100% !important;
}

.drapex-wc-form .woocommerce-Input {
  width: 100% !important;
  background: var(--sw-bg-3) !important;
  border: 1px solid var(--sw-line) !important;
  border-radius: 0 !important;
  color: var(--sw-fg) !important;
  font-family: var(--sw-body) !important;
  font-size: 1rem !important;
  padding: 15px 20px !important; /* Standard symmetric padding */
  outline: none !important;
  box-sizing: border-box !important;
  display: block !important;
  transition: all 0.2s ease !important;
}

.drapex-wc-form .woocommerce-Input::placeholder {
  color: rgba(160, 155, 145, 0.4) !important;
  font-size: 0.95rem;
}

.drapex-wc-form .woocommerce-Input:focus {
  border-color: var(--sw-accent) !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(255, 78, 22, 0.08) !important;
}

/* ── Input Wrapper & Icons ── */
.drapex-input-wrap {
  position: relative !important;
  display: block !important;
  width: 100% !important;
}

/* Icons hidden per user request */
.drapex-input-icon {
  display: none !important;
}

.drapex-toggle-pw {
  position: absolute !important;
  right: 18px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  cursor: pointer !important;
  color: var(--sw-fg-muted) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 6 !important;
}

/* ── Switch Buttons ── */
.drapex-auth-switch {
  margin-top: 40px;
  padding-top: 30px;
  border-top: 1px solid var(--sw-line);
  text-align: center;
}

.drapex-auth-switch p {
  color: var(--sw-fg-muted);
  font-size: 0.9rem;
  margin-bottom: 12px;
}

.drapex-switch-btn {
  background: transparent;
  border: 1.5px solid var(--sw-line);
  color: var(--sw-fg);
  font-family: var(--sw-display-tight);
  font-size: 0.85rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 12px 24px;
  cursor: pointer;
  transition: all 0.22s ease;
}

.drapex-switch-btn:hover {
  border-color: var(--sw-accent);
  color: var(--sw-accent);
}

/* ── Submit Button ── */
.drapex-wc-submit-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  background: var(--sw-accent) !important;
  border: 1.5px solid var(--sw-accent) !important;
  border-radius: 0 !important;
  color: #fff !important;
  font-family: var(--sw-display-tight) !important;
  font-size: 1rem !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  padding: 16px 36px !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  width: 100% !important;
}

.drapex-wc-submit-btn:hover {
  background: var(--sw-fg) !important;
  border-color: var(--sw-fg) !important;
  color: var(--sw-bg) !important;
  transform: translateY(-3px);
}

.drapex-wc-submit-btn:hover svg {
  transform: translateX(6px);
}

.lost_password {
  margin-top: 15px !important;
  text-align: center;
}

.lost_password a {
  font-size: 0.82rem;
  color: var(--sw-fg-muted);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  transition: color 0.2s ease;
}

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

/* ── Responsive ── */
@media (max-width: 640px) {
  .drapex-auth-container {
    padding: 0 15px;
  }
  .drapex-login-columns {
    padding: 40px 24px;
  }
  .drapex-form-name-row {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
  }
  .drapex-myaccount-title {
    font-size: 2.2rem !important;
  }
}
span.password-input {
  width: 100%;
}
.wc-block-components-button__text {
  color: #ffffff !important;
}
