/* Aarti 3 — SITEWIDE readable layer (loads LAST)
   Whole page, every page: dark surfaces + white text.
   Cyan / amber CTAs keep dark labels. */

html {
  background: #07090C !important;
  color: #FFFFFF !important;
}

body.aarti-night {
  --nm-bg: #07090C;
  --nm-surface: #12161C;
  --nm-ink: #FFFFFF;
  --nm-muted: #FFFFFF;
  --nm-cyan: #2EF2C8;
  --nm-amber: #FFC857;
  --ink: #FFFFFF;
  --ink-soft: #FFFFFF;
  --muted: #FFFFFF;
  --white: #FFFFFF;
  --line: rgba(255, 255, 255, 0.22);
  --pick-ticket: #12161C;
  --pick-accent-soft: rgba(46, 242, 200, 0.14);
  --club-ink: #FFFFFF;
  --club-muted: #FFFFFF;
  --club-surface: #12161C;
  --shop-ink: #FFFFFF;
  --shop-muted: #FFFFFF;
  --shop-surface: #12161C;
  --lane-ink: #FFFFFF;
  --lane-muted: #FFFFFF;
  --lane-panel: #12161C;
  --trolley-ink: #FFFFFF;
  --trolley-muted: #FFFFFF;
  --trolley-surface: #12161C;
  background: #07090C !important;
  color: #FFFFFF !important;
}

/* ========== 1) EVERY text node is white (whole tree) ========== */
body.aarti-night *:not(svg):not(svg *):not(path):not(circle):not(line):not(rect):not(polyline):not(polygon):not(ellipse):not(g):not(defs):not(clipPath):not(mask):not(use):not(img):not(video):not(canvas):not(iframe) {
  color: #FFFFFF !important;
  caret-color: #FFFFFF !important;
}

/* ========== 2) EVERY layout surface is dark (whole page) ========== */
body.aarti-night div:not(.nm-glow):not(.nm-glow-a):not(.nm-glow-b),
body.aarti-night section,
body.aarti-night article,
body.aarti-night aside,
body.aarti-night header,
body.aarti-night footer,
body.aarti-night main,
body.aarti-night nav,
body.aarti-night form,
body.aarti-night fieldset,
body.aarti-night ul,
body.aarti-night ol,
body.aarti-night li,
body.aarti-night dl,
body.aarti-night dt,
body.aarti-night dd,
body.aarti-night table,
body.aarti-night thead,
body.aarti-night tbody,
body.aarti-night tfoot,
body.aarti-night tr,
body.aarti-night th,
body.aarti-night td,
body.aarti-night details,
body.aarti-night summary,
body.aarti-night figure,
body.aarti-night figcaption,
body.aarti-night blockquote,
body.aarti-night dialog,
body.aarti-night menu,
body.aarti-night address {
  background-color: #12161C !important;
  background-image: none !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
  box-shadow: none !important;
  outline-color: rgba(255, 255, 255, 0.2) !important;
}

/* Page shell stays open so atmosphere shows */
body.aarti-night .nm-wrap,
body.aarti-night .nm-main,
body.aarti-night .nm-glow,
body.aarti-night .nm-glow-a,
body.aarti-night .nm-glow-b,
body.aarti-night .container,
body.aarti-night .section,
body.aarti-night main,
body.aarti-night .gm-collection,
body.aarti-night .club-floor,
body.aarti-night .club-hero,
body.aarti-night .gate-floor,
body.aarti-night .tag-floor,
body.aarti-night .lane-floor,
body.aarti-night .board-floor,
body.aarti-night .trolley-floor,
body.aarti-night .vault-floor,
body.aarti-night .pick-stage,
body.aarti-night .pick-hero,
body.aarti-night .vault-empty-floor,
body.aarti-night .page-pick-miss {
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* Forms */
body.aarti-night input,
body.aarti-night select,
body.aarti-night textarea,
body.aarti-night option {
  background: #0A0D11 !important;
  background-color: #0A0D11 !important;
  background-image: none !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
}
body.aarti-night input::placeholder,
body.aarti-night textarea::placeholder {
  color: #E8EEF4 !important;
  opacity: 1 !important;
}

/* ========== 3) Accent text (after universal white) ========== */
body.aarti-night .mart-kicker,
body.aarti-night .club-kicker,
body.aarti-night .lane-kicker,
body.aarti-night .board-kicker,
body.aarti-night .gate-kicker,
body.aarti-night .tag-kicker,
body.aarti-night .trolley-kicker,
body.aarti-night .vault-kicker,
body.aarti-night .pick-ticket-kicker,
body.aarti-night .pick-kicker,
body.aarti-night .nm-hero-tag,
body.aarti-night .nm-foot h4,
body.aarti-night .nm-ticker,
body.aarti-night h1 em,
body.aarti-night .nm-line-2 {
  color: #FFC857 !important;
}

body.aarti-night a {
  color: #2EF2C8 !important;
}
body.aarti-night .nm-nav a,
body.aarti-night .nm-actions > a,
body.aarti-night .nm-logo,
body.aarti-night .nm-logo span,
body.aarti-night .nm-foot a,
body.aarti-night .nm-list-row,
body.aarti-night .nm-cell,
body.aarti-night .nm-cell-meta,
body.aarti-night .nm-cell-meta strong {
  color: #FFFFFF !important;
}
body.aarti-night .nm-logo em,
body.aarti-night .nm-actions > a:hover,
body.aarti-night .nm-foot a:hover,
body.aarti-night .panel a,
body.aarti-night .mini-copy a {
  color: #2EF2C8 !important;
}

body.aarti-night .pick-meta-icon,
body.aarti-night .pick-qty-btn,
body.aarti-night .nm-cell-meta span,
body.aarti-night .club-pass-chip {
  color: #2EF2C8 !important;
}

body.aarti-night .pick-ring-label {
  color: #FFFFFF !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.9) !important;
}
body.aarti-night .pick-ring-track { stroke: rgba(255, 255, 255, 0.3) !important; }
body.aarti-night .pick-ring-fill { stroke: #2EF2C8 !important; }
body.aarti-night .pick-star.is-on,
body.aarti-night .pick-star.is-filled,
body.aarti-night .gm-star.is-filled { color: #FFC857 !important; }

/* ========== 4) Primary CTAs — cyan fill, dark label (whole site) ========== */
body.aarti-night .btn,
body.aarti-night .btn-primary,
body.aarti-night a.btn,
body.aarti-night a.btn-primary,
body.aarti-night .gate-btn-primary,
body.aarti-night .tag-btn-primary,
body.aarti-night .pick-btn-primary,
body.aarti-night .vault-btn-primary,
body.aarti-night .club-btn-primary,
body.aarti-night .board-btn-primary,
body.aarti-night .lane-btn-primary,
body.aarti-night .trolley-btn-primary,
body.aarti-night .gm-filter-apply,
body.aarti-night .gm-product-btn:not(.gm-product-btn-disabled),
body.aarti-night .nm-cta:not(.nm-cta-ghost),
body.aarti-night .nm-nav a.is-active,
body.aarti-night .nm-nav a:hover,
body.aarti-night .club-rail-btn.is-active,
body.aarti-night .club-gate-tab.is-active,
body.aarti-night .gm-view-btn.is-active,
body.aarti-night .gm-page-num.is-active,
body.aarti-night .policy-nav a.active,
body.aarti-night .nm-catalog-view,
body.aarti-night .nm-chip-all,
body.aarti-night button[type="submit"] {
  background: #2EF2C8 !important;
  background-color: #2EF2C8 !important;
  background-image: none !important;
  color: #04120E !important;
  border: none !important;
}

body.aarti-night .btn *,
body.aarti-night .btn-primary *,
body.aarti-night a.btn *,
body.aarti-night a.btn-primary *,
body.aarti-night .gate-btn-primary *,
body.aarti-night .tag-btn-primary *,
body.aarti-night .pick-btn-primary *,
body.aarti-night .vault-btn-primary *,
body.aarti-night .club-btn-primary *,
body.aarti-night .board-btn-primary *,
body.aarti-night .lane-btn-primary *,
body.aarti-night .trolley-btn-primary *,
body.aarti-night .gm-product-btn:not(.gm-product-btn-disabled),
body.aarti-night .gm-product-btn:not(.gm-product-btn-disabled) *,
body.aarti-night .nm-cta:not(.nm-cta-ghost),
body.aarti-night .nm-cta:not(.nm-cta-ghost) *,
body.aarti-night .nm-nav a.is-active,
body.aarti-night .nm-nav a:hover,
body.aarti-night .club-rail-btn.is-active,
body.aarti-night .club-rail-btn.is-active *,
body.aarti-night .club-gate-tab.is-active,
body.aarti-night .nm-catalog-view,
body.aarti-night button[type="submit"],
body.aarti-night button[type="submit"] * {
  color: #04120E !important;
}

/* Soft / secondary */
body.aarti-night .btn-soft,
body.aarti-night .btn-soft-green,
body.aarti-night .gate-btn-soft,
body.aarti-night .tag-btn-soft,
body.aarti-night .pick-btn-soft,
body.aarti-night .vault-btn-soft,
body.aarti-night .club-btn-soft,
body.aarti-night .board-btn-soft,
body.aarti-night .lane-btn-soft,
body.aarti-night .trolley-btn-soft,
body.aarti-night .nm-chip,
body.aarti-night .pick-badges li,
body.aarti-night .pick-aisle-chip,
body.aarti-night button.club-btn-soft[type="submit"],
body.aarti-night button.gate-btn-soft[type="submit"],
body.aarti-night button.tag-btn-soft[type="submit"] {
  background: #0B3D34 !important;
  background-color: #0B3D34 !important;
  background-image: none !important;
  color: #FFFFFF !important;
  border: 1px solid #2EF2C8 !important;
}
body.aarti-night .btn-soft *,
body.aarti-night .btn-soft-green *,
body.aarti-night .club-btn-soft *,
body.aarti-night .board-btn-soft *,
body.aarti-night .gate-btn-soft *,
body.aarti-night .tag-btn-soft *,
body.aarti-night .vault-btn-soft *,
body.aarti-night .trolley-btn-soft *,
body.aarti-night .nm-chip *,
body.aarti-night .pick-badges li,
body.aarti-night .pick-badges li * {
  color: #FFFFFF !important;
}

/* Ghost */
body.aarti-night .btn-ghost,
body.aarti-night .gate-btn-ghost,
body.aarti-night .tag-btn-ghost,
body.aarti-night .tag-btn-outline,
body.aarti-night .pick-btn-ghost,
body.aarti-night .lane-btn-ghost,
body.aarti-night .trolley-btn-ghost,
body.aarti-night .nm-cta-ghost,
body.aarti-night .club-btn-ghost {
  background: transparent !important;
  background-color: transparent !important;
  color: #FFFFFF !important;
  border: 1px solid #FFFFFF !important;
}
body.aarti-night .btn-ghost *,
body.aarti-night .nm-cta-ghost *,
body.aarti-night .tag-btn-outline *,
body.aarti-night .club-btn-ghost * {
  color: #FFFFFF !important;
}

/* Bag / amber chip */
body.aarti-night .nm-bag,
body.aarti-night .nm-chip:hover,
body.aarti-night .nm-chip-all,
body.aarti-night .trolley-cold-badge {
  background: #FFC857 !important;
  background-color: #FFC857 !important;
  background-image: none !important;
  color: #111111 !important;
  border-color: #FFC857 !important;
}
body.aarti-night .nm-bag *,
body.aarti-night .nm-chip:hover *,
body.aarti-night .nm-chip-all *,
body.aarti-night .trolley-cold-badge * {
  color: #111111 !important;
}

/* Disabled */
body.aarti-night .pick-btn-disabled,
body.aarti-night .gm-product-btn-disabled,
body.aarti-night span.gm-product-btn-disabled {
  background: #2A3038 !important;
  color: #FFFFFF !important;
  opacity: 0.9 !important;
}

/* Header float bar */
body.aarti-night .nm-float {
  background: rgba(18, 22, 28, 0.94) !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
}
body.aarti-night .nm-search input {
  background: #0A0D11 !important;
  color: #FFFFFF !important;
}
