/* ══════════════════════════════════════════════════════════════════════════
   ZAYLORE STUDIO — Centralized Design Token System
   Contemporary Luxury Fashion Editorial / Premium Gen-Z Streetwear Palette
   STRICT TEXT-COLOUR POLICY: ONLY #000000, #FFFFFF, or #D41920
   ══════════════════════════════════════════════════════════════════════════ */

:root {
  /* ── Strict Text Palette (ONLY Black #000000, White #FFFFFF, Red #D41920) ── */
  --text-primary: #000000;
  --text-inverse: #FFFFFF;
  --text-accent: #D41920;
  --text-black: #000000;
  --text-white: #FFFFFF;
  --text-red: #D41920;
  --text-secondary: #000000;
  --text-muted: #000000;
  --muted: #000000;
  --text: #000000;
  --text-light: #000000;
  --text2: #000000;
  --text3: #000000;

  /* ── Backgrounds & Surfaces (Permitted Neutral + Accent Palette) ── */
  --bg-primary: #F7F5F0;
  --bg-surface: #FFFFFF;
  --bg-secondary: #E9E5DC;
  --bg-silver: #C7C9CC;
  --bg-dark: #000000;
  --bg-charcoal: #343434;
  --bg-accent: #D41920;

  --bg-cream: #F7F5F0;
  --color-white: #FFFFFF;
  --color-silver: #C7C9CC;
  --border-silver: #E5E5E5;
  --bg-warm-stone: #E9E5DC;
  --color-charcoal: #343434;
  --signature-red: #D41920;

  /* ── Extended Surface Tokens ── */
  --signature-red-hover: #b51218;
  --signature-red-active: #9e0e14;
  --signature-red-subtle: rgba(212, 25, 32, 0.08);
  --signature-red-glow: rgba(212, 25, 32, 0.22);
  --charcoal-hover: #1f1f1f;
  --silver-metallic: linear-gradient(135deg, #e5e5e5 0%, #c7c9cc 50%, #d8d8d8 100%);
  --stone-card: #f2eee6;
  --surface-card-hover: #faf9f6;

  /* ── Semantic Design Tokens ── */
  --zs-cream: var(--bg-cream);
  --zs-white: var(--color-white);
  --zs-silver: var(--color-silver);
  --zs-silver-border: var(--border-silver);
  --zs-warm-stone: var(--bg-warm-stone);
  --zs-charcoal: var(--color-charcoal);
  --zs-text-primary: var(--text-primary);
  --zs-text-muted: var(--text-muted);
  --zs-signature-red: var(--signature-red);

  /* ── Borders ── */
  --border-subtle: #E5E5E5;
  --border-strong: #C7C9CC;
  --border-dark: #000000;
  --border-accent: #D41920;
  --border-color: #E5E5E5;

  /* ── Shadows (Strict Soft Black & Red Tinted) ── */
  --shadow-soft: 0 4px 16px rgba(0, 0, 0, 0.08);
  --shadow-medium: 0 8px 28px rgba(0, 0, 0, 0.12);
  --shadow-accent: 0 4px 18px rgba(212, 25, 32, 0.16);
  --shadow-subtle: 0 2px 10px rgba(0, 0, 0, 0.04);
  --shadow-card: 0 8px 24px rgba(0, 0, 0, 0.06);
  --shadow-elevated: 0 16px 40px rgba(0, 0, 0, 0.08);
  --shadow-modal: 0 30px 80px rgba(0, 0, 0, 0.16);

  /* ── Interaction & Cursors ── */
  --cursor-accent: #D41920;
  --focus-ring: #D41920;
  --accent: #D41920;
  --accent-bright: #b51218;
  --accent-glow: rgba(212, 25, 32, 0.22);

  /* ── Functional Surface Variables ── */
  --bg: var(--bg-cream);
  --bg-dark-gray: #1b1b1b;
  --bg-dark-card: #222222;
  --surface: var(--color-white);
  --surface-elevated: var(--bg-warm-stone);
  --silver: var(--color-silver);

  /* ── Typography Tokens ── */
  --ff-display: 'Anton', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --ff-ui: 'Space Grotesk', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --ff-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  /* ── Spacing & Radii ── */
  --radius-xs: 4px;
  --radius-sm: 8px;
  --radius: 12px;
  --radius-lg: 18px;
  --radius-pill: 9999px;

  /* ── Transitions ── */
  --transition-fast: 0.18s cubic-bezier(0.2, 0.8, 0.2, 1);
  --transition-base: 0.28s cubic-bezier(0.2, 0.8, 0.2, 1);
  --transition-smooth: 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

/* ══════════════════════════════════════════════════════════════════════════
   DARK SECTIONS & FOOTER CONTEXT: STRICT WHITE TEXT (#FFFFFF) OR RED (#D41920)
   ══════════════════════════════════════════════════════════════════════════ */
#main-footer,
.campaign-dark,
.drop-section,
.syndicate-manifesto,
.dark-section,
[data-theme="dark"],
.theme-dark {
  --text-primary: #FFFFFF;
  --text-inverse: #000000;
  --text-secondary: #FFFFFF;
  --text-muted: #FFFFFF;
  --muted: #FFFFFF;
  --text: #FFFFFF;
  --text-light: #FFFFFF;
  --text2: #FFFFFF;
  --text3: #FFFFFF;
  --text-accent: #D41920;
}

/* ══════════════════════════════════════════════════════════════════════════
   GLOBAL BASE & TYPOGRAPHY
   ══════════════════════════════════════════════════════════════════════════ */
html {
  background-color: var(--bg-cream);
  color: #000000;
  scroll-behavior: smooth;
  scroll-padding-top: 90px;
}

body {
  background-color: var(--bg-cream);
  color: #000000;
  font-family: var(--ff-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

::selection {
  background: var(--signature-red);
  color: #FFFFFF;
}

/* ══════════════════════════════════════════════════════════════════════════
   NAVIGATION: Crisp Cream/White Surface, Black Text, Silver Divider
   ══════════════════════════════════════════════════════════════════════════ */
#main-nav {
  background: rgba(247, 245, 240, 0.94) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  border-bottom: 1px solid var(--border-silver) !important;
  transition: background var(--transition-base), height var(--transition-base), box-shadow var(--transition-base);
}

#main-nav.scrolled {
  background: rgba(255, 255, 255, 0.97) !important;
  border-bottom: 1px solid var(--border-silver) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

.nav-logo {
  color: #000000 !important;
}

.nav-logo img {
  border: 1.5px solid var(--border-silver) !important;
  border-radius: var(--radius-sm);
  background: var(--color-white);
}

.nav-logo .logo-text,
.logo-text {
  font-family: var(--ff-display);
  font-weight: 700;
  letter-spacing: 3px;
  color: #000000 !important;
}

.nav-link {
  color: #000000 !important;
  font-family: var(--ff-ui) !important;
  font-weight: 700 !important;
  font-size: 0.78rem !important;
  letter-spacing: 1.6px !important;
  text-transform: uppercase;
  transition: color var(--transition-fast) !important;
}

.nav-link:hover,
.nav-link.active {
  color: #D41920 !important;
}

.nav-link::after {
  background: var(--signature-red) !important;
  height: 2px !important;
}

.nav-action {
  background: var(--color-white) !important;
  border: 1px solid var(--border-silver) !important;
  color: #000000 !important;
  box-shadow: var(--shadow-subtle) !important;
  transition: all var(--transition-fast) !important;
}

.nav-action:hover {
  border-color: var(--signature-red) !important;
  color: #D41920 !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(212, 25, 32, 0.15) !important;
}

.nav-action.nav-logged-in {
  border-color: var(--signature-red) !important;
  background: var(--color-white) !important;
  color: #D41920 !important;
  box-shadow: 0 0 12px rgba(212, 25, 32, 0.2) !important;
}

.nav-avatar-initial {
  color: #D41920 !important;
  text-shadow: none !important;
}

.hamburger span {
  background: #000000 !important;
}

.profile-dropdown {
  background: var(--color-white) !important;
  border: 1px solid var(--border-silver) !important;
  border-radius: var(--radius);
  box-shadow: var(--shadow-modal) !important;
}

.dropdown-header {
  border-bottom: 1px solid var(--border-silver) !important;
}

.user-name {
  color: #000000 !important;
}

.user-email {
  color: #000000 !important;
}

.dropdown-menu li a {
  color: #000000 !important;
}

.dropdown-menu li a:hover {
  background: var(--bg-warm-stone) !important;
  color: #D41920 !important;
}

/* Mobile Nav Drawer */
@media (max-width: 1024px) {
  .nav-links {
    background: var(--bg-cream) !important;
    border-left: 1px solid var(--border-silver);
  }
  .nav-links .nav-link {
    color: #000000 !important;
  }
  #main-nav:has(.nav-links.open) {
    background: var(--bg-cream) !important;
  }
}

/* ══════════════════════════════════════════════════════════════════════════
   GLOBAL BUTTONS & CONTROLS (Polished Luxury Editorial Shapes)
   ══════════════════════════════════════════════════════════════════════════ */
.btn-primary,
.zs-btn-primary,
.discover-btn,
.gallery-shop-btn,
.cta-strip-btn,
.founder-cta-primary {
  background: var(--signature-red) !important;
  color: #FFFFFF !important;
  border: 1px solid var(--signature-red) !important;
  font-family: var(--ff-ui);
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  border-radius: var(--radius-sm);
  transition: all var(--transition-base);
  box-shadow: 0 4px 16px rgba(212, 25, 32, 0.22);
}

.btn-primary:hover,
.zs-btn-primary:hover,
.discover-btn:hover,
.gallery-shop-btn:hover,
.cta-strip-btn:hover,
.founder-cta-primary:hover {
  background: var(--signature-red-hover) !important;
  border-color: var(--signature-red-hover) !important;
  color: #FFFFFF !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(212, 25, 32, 0.32);
}

.btn-ghost,
.zs-btn-ghost,
.founder-cta-ghost {
  background: var(--color-white) !important;
  color: #000000 !important;
  border: 1px solid var(--border-silver) !important;
  font-family: var(--ff-ui);
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  border-radius: var(--radius-sm);
  transition: all var(--transition-base);
}

.btn-ghost:hover,
.zs-btn-ghost:hover,
.founder-cta-ghost:hover {
  border-color: #000000 !important;
  color: #D41920 !important;
  background: var(--bg-warm-stone) !important;
}

.btn-dark {
  background: #000000 !important;
  color: #FFFFFF !important;
  border: 1px solid #000000 !important;
}

.btn-dark:hover {
  background: var(--signature-red) !important;
  border-color: var(--signature-red) !important;
  color: #FFFFFF !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   PRODUCT CARDS & CATALOGUE
   Cream background, Pure White cards, Subtle Silver borders, Black text
   ══════════════════════════════════════════════════════════════════════════ */
.products-grid,
.product-grid {
  gap: 24px;
}

.product-card {
  background: var(--color-white) !important;
  border: 1px solid var(--border-silver) !important;
  border-radius: var(--radius) !important;
  overflow: hidden;
  box-shadow: var(--shadow-card);
  transition: transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base);
}

.product-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-elevated) !important;
  border-color: var(--color-silver) !important;
}

.product-info-wrap,
.product-card-body {
  background: var(--color-white) !important;
  padding: 20px !important;
}

.product-card-title {
  color: #000000 !important;
  font-family: var(--ff-display) !important;
  font-size: 1.3rem !important;
  letter-spacing: 0.5px;
  margin-bottom: 6px;
}

.product-card-subtitle {
  color: #000000 !important;
  font-family: var(--ff-ui) !important;
  font-size: 0.76rem !important;
  letter-spacing: 1px;
}

.product-card-price,
.prod-price {
  color: #000000 !important;
  font-family: var(--ff-ui) !important;
  font-weight: 700 !important;
  font-size: 1.05rem !important;
}

.product-tag {
  background: var(--signature-red) !important;
  color: #FFFFFF !important;
  font-family: var(--ff-ui);
  font-weight: 700;
  letter-spacing: 1.5px;
}

.prod-btn {
  background: #000000 !important;
  color: #FFFFFF !important;
  border: 1px solid #000000 !important;
  font-family: var(--ff-ui) !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  border-radius: var(--radius-xs) !important;
  transition: all var(--transition-fast) !important;
}

.prod-btn:hover {
  background: var(--signature-red) !important;
  border-color: var(--signature-red) !important;
  color: #FFFFFF !important;
}

.prod-wish-icon {
  background: var(--color-white) !important;
  border: 1px solid var(--border-silver) !important;
  color: #000000 !important;
}

.prod-wish-icon:hover {
  border-color: var(--signature-red) !important;
  color: #D41920 !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   SHOP TOOLBAR & FILTER CONTROLS
   ══════════════════════════════════════════════════════════════════════════ */
.shop-toolbar {
  background: var(--color-white) !important;
  border: 1px solid var(--border-silver) !important;
  box-shadow: var(--shadow-card) !important;
  border-radius: var(--radius) !important;
}

.shop-search,
.shop-sort {
  background: #FAF9F6 !important;
  border: 1px solid var(--border-silver) !important;
  color: #000000 !important;
  border-radius: var(--radius-sm) !important;
}

.shop-search:focus,
.shop-sort:focus {
  border-color: var(--signature-red) !important;
  box-shadow: 0 0 0 3px var(--signature-red-subtle) !important;
  background: var(--color-white) !important;
}

.shop-category-btn {
  background: var(--bg-warm-stone) !important;
  border: 1px solid var(--border-silver) !important;
  color: #000000 !important;
  transition: all var(--transition-fast) !important;
}

.shop-category-btn:hover {
  background: var(--color-white) !important;
  border-color: #000000 !important;
  color: #D41920 !important;
}

.shop-category-btn[aria-pressed="true"] {
  background: #000000 !important;
  border-color: #000000 !important;
  color: #FFFFFF !important;
}

.shop-clear {
  border: 1px solid var(--border-silver) !important;
  color: #000000 !important;
}

.shop-clear:hover {
  border-color: var(--signature-red) !important;
  color: #D41920 !important;
}

.shop-results-row {
  border-top: 1px solid var(--border-silver) !important;
}

.shop-results-count {
  color: #000000 !important;
}

.shop-results-count strong {
  color: #000000 !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   COUNTDOWN & EDITORIAL PRELAUNCH BOXES
   ══════════════════════════════════════════════════════════════════════════ */
.cd-box {
  background: var(--color-white) !important;
  border: 1px solid var(--border-silver) !important;
  box-shadow: var(--shadow-subtle) !important;
  backdrop-filter: none !important;
}

.cd-box:hover {
  border-color: var(--signature-red) !important;
  transform: translateY(-3px);
  box-shadow: var(--shadow-card) !important;
}

.cd-box span {
  color: #000000 !important;
}

.cd-label {
  color: #000000 !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   AUTHENTICATION & ACCOUNT PAGES (Pure White card, Cream background)
   ══════════════════════════════════════════════════════════════════════════ */
.account-page,
.verify-page {
  background-color: var(--bg-cream) !important;
}

.auth-container,
.verify-container {
  background: var(--color-white) !important;
  border: 1px solid var(--border-silver) !important;
  box-shadow: var(--shadow-modal) !important;
  border-radius: var(--radius-lg) !important;
}

.auth-container::before,
.verify-container::before {
  background: linear-gradient(90deg, transparent, var(--signature-red) 30%, #ff4a4a 50%, var(--signature-red) 70%, transparent) !important;
}

.auth-title,
.verify-title {
  color: #000000 !important;
}

.auth-subtitle,
.verify-subtitle {
  color: #000000 !important;
}

.auth-input,
.verify-input,
.form-control,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"] {
  background: #FAF9F6 !important;
  border: 1px solid var(--border-silver) !important;
  color: #000000 !important;
  border-radius: var(--radius-sm);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);
}

.auth-input:focus,
.verify-input:focus,
.form-control:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus {
  border-color: var(--signature-red) !important;
  background: var(--color-white) !important;
  box-shadow: 0 0 0 3px var(--signature-red-subtle) !important;
  outline: none !important;
}

.auth-tabs {
  background: var(--bg-warm-stone) !important;
  border: 1px solid var(--border-silver) !important;
  border-radius: var(--radius-pill) !important;
  padding: 4px !important;
}

.auth-tab {
  color: #000000 !important;
  border-radius: var(--radius-pill) !important;
  font-family: var(--ff-ui);
  font-weight: 700;
  font-size: 0.78rem;
  letter-spacing: 1px;
}

.auth-tab.active {
  background: var(--color-white) !important;
  color: #000000 !important;
  box-shadow: var(--shadow-subtle) !important;
}

.oauth-btn {
  background: var(--color-white) !important;
  border: 1px solid var(--border-silver) !important;
  color: #000000 !important;
  font-family: var(--ff-ui);
  font-weight: 600;
  box-shadow: var(--shadow-subtle);
  transition: all var(--transition-fast);
}

.oauth-btn:hover {
  background: var(--bg-warm-stone) !important;
  border-color: var(--color-silver) !important;
  color: #D41920 !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   CHECKOUT MODAL & CART SYSTEM (Pure White Card, Silver Separators, Red Action)
   ══════════════════════════════════════════════════════════════════════════ */
.zs-checkout-backdrop {
  background: rgba(0, 0, 0, 0.65) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}

.zs-checkout-card {
  background: var(--color-white) !important;
  border: 1px solid var(--border-silver) !important;
  color: #000000 !important;
  box-shadow: var(--shadow-modal) !important;
  border-radius: var(--radius-lg) !important;
}

.zs-checkout-header {
  border-bottom: 1px solid var(--border-silver) !important;
}

.zs-checkout-title {
  color: #000000 !important;
  font-family: var(--ff-display);
  letter-spacing: 1.5px;
}

.zs-checkout-close {
  color: #000000 !important;
}

.zs-checkout-close:hover {
  color: #D41920 !important;
}

.zs-checkout-section-title {
  color: #000000 !important;
  font-weight: 700;
}

.zs-checkout-summary-card {
  background: var(--bg-cream) !important;
  border: 1px solid var(--border-silver) !important;
  border-radius: var(--radius-sm) !important;
}

.zs-checkout-summary-row {
  color: #000000 !important;
}

.zs-checkout-summary-row.total {
  border-top: 1px solid var(--border-silver) !important;
  color: #000000 !important;
  font-weight: 700;
}

.zs-checkout-address-select {
  background: #FAF9F6 !important;
  border: 1px solid var(--border-silver) !important;
  color: #000000 !important;
}

.zs-checkout-address-select:focus {
  border-color: var(--signature-red) !important;
}

.zs-checkout-method-btn {
  background: var(--color-white) !important;
  border: 1px solid var(--border-silver) !important;
  color: #000000 !important;
}

.zs-checkout-method-btn.active {
  background: var(--signature-red-subtle) !important;
  border-color: var(--signature-red) !important;
  color: #D41920 !important;
}

.zs-checkout-footer {
  border-top: 1px solid var(--border-silver) !important;
}

.zs-checkout-btn-primary {
  background: var(--signature-red) !important;
  color: #FFFFFF !important;
  border-radius: var(--radius-sm) !important;
}

.zs-checkout-btn-primary:hover {
  background: var(--signature-red-hover) !important;
}

.invoice-card {
  background: var(--color-white) !important;
  border: 1px solid var(--border-silver) !important;
  color: #000000 !important;
  box-shadow: var(--shadow-modal) !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   CAMPAIGN SECTIONS (Retain dark campaign contrast for brand storytelling)
   Strict White text (#FFFFFF) or Signature Red text (#D41920)
   ══════════════════════════════════════════════════════════════════════════ */
.drop-section,
.syndicate-manifesto,
.campaign-dark {
  background-color: var(--color-charcoal) !important;
  color: #FFFFFF !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.drop-section .drop-meta-desc,
.syndicate-manifesto .manifesto-quote {
  color: #FFFFFF !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   FOOTER: Anchoring Charcoal Luxury Grounding with Strict White Text
   ══════════════════════════════════════════════════════════════════════════ */
#main-footer {
  background: var(--color-charcoal) !important;
  color: #FFFFFF !important;
  border-top: 1px solid #444444 !important;
  position: relative;
  z-index: 10;
}

.footer-col-title {
  color: #FFFFFF !important;
  font-family: var(--ff-ui);
  letter-spacing: 2px;
}

.footer-col-title::after,
.footer-col-title::before {
  background: var(--signature-red) !important;
}

.footer-desc {
  color: #FFFFFF !important;
}

.footer-menu-link {
  color: #FFFFFF !important;
  transition: color var(--transition-fast), padding-left var(--transition-fast);
}

.footer-menu-link:hover {
  color: #D41920 !important;
  padding-left: 6px;
}

.social-btn {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: #FFFFFF !important;
}

.social-btn:hover {
  background: var(--signature-red) !important;
  border-color: var(--signature-red) !important;
  color: #FFFFFF !important;
  transform: translateY(-3px);
}

.newsletter-form {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

.newsletter-form:focus-within {
  border-color: var(--signature-red) !important;
  background: rgba(255, 255, 255, 0.1) !important;
}

.newsletter-input {
  color: #FFFFFF !important;
}

.newsletter-input::placeholder {
  color: #FFFFFF !important;
  opacity: 0.7;
}

.newsletter-btn {
  background: var(--signature-red) !important;
  color: #FFFFFF !important;
}

.newsletter-btn:hover {
  background: var(--signature-red-hover) !important;
}

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.copyright {
  color: #FFFFFF !important;
}

.legal-link {
  color: #FFFFFF !important;
}

.legal-link:hover {
  color: #D41920 !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   STRICT GLOBAL TEXT-COLOUR POLICY ENFORCEMENT & ACCESSIBILITY
   Only #000000 (Black), #FFFFFF (White), and #D41920 (Signature Red) allowed
   ══════════════════════════════════════════════════════════════════════════ */
html, body {
  color: #000000;
}

/* Light surfaces: All primary text tags inherit or resolve to Black */
h1, h2, h3, h4, h5, h6,
p, span, label, li, dt, dd,
blockquote, figcaption, td, th {
  color: inherit;
}

/* Links: Black on light surfaces by default, Signature Red on hover */
a {
  color: #000000;
}

a:hover {
  color: #D41920;
}

/* Dark surfaces text enforcement */
#main-footer a,
.campaign-dark a,
.drop-section a,
.syndicate-manifesto a,
.dark-section a {
  color: #FFFFFF;
}

#main-footer a:hover,
.campaign-dark a:hover,
.drop-section a:hover,
.syndicate-manifesto a:hover,
.dark-section a:hover {
  color: #D41920;
}

/* Form place-holders */
input::placeholder,
textarea::placeholder {
  color: #000000 !important;
  opacity: 0.55;
}

#main-footer input::placeholder,
.campaign-dark input::placeholder,
.dark-section input::placeholder {
  color: #FFFFFF !important;
  opacity: 0.75;
}

/* Form validation and status text */
.error, .invalid-feedback, .error-message, .auth-error, .text-error {
  color: #D41920 !important;
}

.success, .valid-feedback, .success-message, .auth-success, .text-success {
  color: #000000 !important;
}

/* Status / Badge text rules: MUST be Black, White, or Red */
.badge, .tag, .status-badge {
  color: #FFFFFF;
}

.badge-light, .tag-light {
  color: #000000 !important;
}

.badge-red, .tag-red {
  background: var(--signature-red) !important;
  color: #FFFFFF !important;
}

.badge-black, .tag-black {
  background: #000000 !important;
  color: #FFFFFF !important;
}

/* Focus rings: Strictly accessible Signature Red */
:focus-visible {
  outline: 2px solid #D41920 !important;
  outline-offset: 3px !important;
}

/* Custom Red Cursor Accent (accessible, non-intrusive) */
#z-cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 10px;
  height: 10px;
  background: #D41920;
  border-radius: 50%;
  pointer-events: none;
  z-index: 999999;
  mix-blend-mode: normal;
  opacity: 0.9;
  transition: width 0.18s, height 0.18s, background-color 0.18s, opacity 0.18s;
  will-change: transform;
}

#z-cursor.link {
  width: 30px;
  height: 30px;
  background: rgba(212, 25, 32, 0.2);
  border: 1.5px solid #D41920;
}

@media (pointer: coarse), (hover: none), (prefers-reduced-motion: reduce) {
  #z-cursor {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

@media (forced-colors: active) {
  .btn-primary,
  .zs-btn-primary,
  .discover-btn,
  .nav-action,
  .product-card {
    border: 2px solid ButtonText !important;
  }
}
