/* Luxor white / charcoal. Brand accents match the approved #454545 navbar logo.
   Previous palette: node tools/luxor-theme/switch-palette.mjs white-sage */
:root:has(.theme-target[data-theme='target']),
.theme-target[data-theme='target'] {
 --luxor-accent: #454545;
 --luxor-accent-foreground: #ffffff;
 /* Existing component aliases share the current brand accent. */
 --luxor-green: var(--luxor-accent);
 --luxor-green-text: var(--luxor-accent);
 --luxor-forest: var(--luxor-green);
 --luxor-charcoal: #252421;
 --luxor-dark: #21211f;
 --luxor-gold: #ffffff;
 --luxor-gold-text: var(--luxor-accent);
 --luxor-ivory: #ffffff;
 --luxor-linen: #f5f5f5;
 --luxor-teal: var(--luxor-forest);
 --luxor-teal-light: var(--luxor-linen);
 --w19-ink: var(--luxor-charcoal);
 --w19-stone: #6d6d6d;
 --w19-fog: var(--luxor-linen);
 --w19-line: #e3e3e3;
 --tg-red: var(--luxor-charcoal);
 --tg-ink: var(--luxor-charcoal);
 --tg-muted: var(--w19-stone);
 --tg-gray: var(--w19-fog);
 --tg-cream: var(--luxor-ivory);
 --tg-line: var(--w19-line);
 --background: 0 0% 100%;
 --foreground: 40 6% 14%;
 --primary: 40 6% 14%;
 --primary-foreground: 0 0% 100%;
 --secondary: 0 0% 96%;
 --secondary-foreground: 40 6% 14%;
 --accent: 0 0% 27.0588235294%;
 --accent-foreground: 0 0% 100%;
 --muted: 0 0% 96%;
 --muted-foreground: 36 7% 41%;
 --border: 0 0% 89%;
 --input: 0 0% 89%;
 --ring: 40 6% 14%;
 --card: 0 0% 100%;
 --card-foreground: 40 6% 14%;
 --popover: 0 0% 100%;
 --popover-foreground: 40 6% 14%;
 --sidebar-primary: 40 6% 14%;
 --sidebar-primary-foreground: 0 0% 100%;
 --sidebar-background: 0 0% 100%;
 --sidebar-foreground: 40 6% 14%;
 --sidebar-accent: 0 0% 96%;
 --sidebar-accent-foreground: 40 6% 14%;
 --sidebar-border: 0 0% 89%;
 --sidebar-ring: 40 6% 14%;
}

body:has(.theme-target[data-theme='target']) { background-color: var(--luxor-ivory); }
.theme-target[data-theme='target'] { color: var(--luxor-charcoal); background-color: var(--luxor-ivory); }

/* White page surfaces, navigation, catalogue, forms, account and checkout. */
.theme-target[data-theme='target'] :is(
 .tg-home, .w19-header, .w19-quiet, .w19-mega, .w19-menu-sheet,
 .w19-cats, .editorial, .standard, .scale, .duel, .insta, .concierge,
 .w19-plp, .w19-plp .toolbar, .w19-fbar, .w19-pdp, .w19-sf,
 .w19-help, .w19-acct-main, .w19-acct-ground, .w19-co-main,
 .w19-bag-bar, .w19-quiet-foot, .w19-am-panel, .w19-am-panel::before,
 .w19-sx, .w19-qv, .w19-dlg, .w19-view, .w19-auth-main,
 .w19-auth-card, .w19-oc, .w19-ov-tile, .w19-adr-add
) { background-color: var(--luxor-ivory); }

.theme-target[data-theme='target'] :is(.arrivals, .bestsellers, .luxor-support, .shop-by-style) { background-color: var(--luxor-ivory); }
.theme-target[data-theme='target'] :is(.index, .luxor-stores.is-home, .standard .tile-fog, .luxor-support .offers) { background-color: var(--luxor-linen); }
.theme-target[data-theme='target'] :is(.tg-card, .tg-card-media, .w19-gal-cell, .w19-gal-cap) { background-color: #fff; }

/* Quiet neutral navigation keeps the supplied charcoal logo in focus. */
.theme-target[data-theme='target'] .w19-announce { background-color: var(--luxor-linen); color: #656565; }
.theme-target[data-theme='target'] .w19-header { border-bottom-color: #e3e3e3; }
.theme-target[data-theme='target'] .luxor-preview { color: #6d6d6d; background-color: var(--luxor-linen); }
.theme-target[data-theme='target'] :is(.w19-link, .w19-service, .w19-icon) { color: var(--luxor-charcoal); }
.theme-target[data-theme='target'] :is(.w19-link:hover, .w19-link[aria-expanded='true'], .w19-service:hover) { color: var(--luxor-gold-text); }
.theme-target[data-theme='target'] :is(.w19-help-head .w19-acct-eyebrow, .w19-sf-eyebrow, .w19-pdp .w19-pdp-kicker) { color: var(--luxor-gold-text); }
.theme-target[data-theme='target'] :is(.arrivals, .bestsellers, .standard, .editorial, .trending, .insta, .luxor-support, .luxor-stores) .eyebrow,
.theme-target[data-theme='target'] :is(.luxor-stores, .luxor-support) .w19-acct-eyebrow { color: var(--luxor-gold-text); }
.theme-target[data-theme='target'] .store-switch button[aria-pressed='true'] { color: var(--luxor-charcoal); border-color: var(--luxor-green); }
.theme-target[data-theme='target'] .photo-switch button[aria-pressed='true'] { border-color: var(--luxor-gold-text); box-shadow: inset 0 0 0 1px var(--luxor-gold-text); }

/* Main actions retain their existing size and behaviour. Errors stay red. */
.theme-target[data-theme='target'] :is(
 .w19-acct-btn:not(.is-line), .w19-pdp-add, .w19-bag-add, .w19-cart-go,
 .w19-coa-ink, .w19-cop-ink, .w19-ok-ink, .w19-no-ink, .w19-addr-save,
 .w19-rev-ink, .tg-add, .editorial .tg-add
):not(:disabled):not([aria-disabled='true']) {
 background-color: var(--luxor-charcoal); border-color: var(--luxor-charcoal); color: var(--luxor-ivory);
}
.theme-target[data-theme='target'] :is(
 .w19-acct-btn:not(.is-line), .w19-pdp-add, .w19-bag-add, .w19-cart-go,
 .w19-coa-ink, .w19-cop-ink, .w19-ok-ink, .w19-no-ink, .w19-addr-save,
 .w19-rev-ink, .tg-add, .editorial .tg-add
):hover:not(:disabled):not([aria-disabled='true']) {
 background-color: var(--luxor-accent); border-color: var(--luxor-accent); color: var(--luxor-accent-foreground);
}
.theme-target[data-theme='target'] :is(.w19-acct-btn.is-line, .w19-pdp-save, .tg-fav, .tg-quick, .w19-sx-all) {
 background-color: var(--luxor-ivory); color: var(--luxor-charcoal); border-color: var(--luxor-charcoal);
}
.theme-target[data-theme='target'] :is(.w19-acct-btn.is-line, .w19-pdp-save, .tg-quick):hover { background-color: var(--luxor-linen); }
.theme-target[data-theme='target'] .editorial .tg-fav.is-active { color: var(--luxor-gold-text); border-color: var(--luxor-gold-text); }
.theme-target[data-theme='target'] :is(input, textarea, select) { accent-color: var(--luxor-charcoal); }
.theme-target[data-theme='target'] :is(a, button, input, select, textarea):focus-visible { outline-color: var(--luxor-charcoal); }

/* Charcoal details on filters, product controls and the homepage's editorial sections. */
.theme-target[data-theme='target'] :is(.arrivals .category-filters button.active::after, .w19-plp .tabs a.is-on::after, .editorial .row-progress) { background-color: var(--luxor-gold-text); }
.theme-target[data-theme='target'] :is(.bestsellers, .arrivals) .pagination button:hover:not(:disabled) { background-color: var(--luxor-linen); border-color: var(--luxor-charcoal); }
.theme-target[data-theme='target'] .shop-by-style .style-grid { background-color: var(--w19-line); border-color: var(--w19-line); }
.theme-target[data-theme='target'] .shop-by-style :is(.style-tile, .tile-copy h3, .tile-copy svg) { color: var(--luxor-charcoal); }
.theme-target[data-theme='target'] .standard .tile-light { background-color: var(--luxor-ivory); border-color: #e3e3e3; }
.theme-target[data-theme='target'] .standard .stamp { color: var(--luxor-gold-text); }
.theme-target[data-theme='target'] .standard .ticker-list li::after { background-color: var(--luxor-gold); }
.theme-target[data-theme='target'] .index .item { color: var(--w19-stone); }
.theme-target[data-theme='target'] .index :is(.drawer-name, .item):hover { color: var(--luxor-gold-text); }

/* Charcoal editorial bands add contrast without colouring the whole store. */
.theme-target[data-theme='target'] :is(.shape-spotlight, .list, .standard .tile-dark, .standard .tile-care) {
 background-color: var(--luxor-dark); color: var(--luxor-ivory);
}
.theme-target[data-theme='target'] .shape-spotlight :is(.eyebrow, .shape-options button.active, .shape-options button:hover, .explore-link:hover) { color: var(--luxor-gold); }
.theme-target[data-theme='target'] .shape-spotlight :is(.intro, .shape-name, .shape-options button) { color: #d6d0c6; }
.theme-target[data-theme='target'] .shape-spotlight :is(.shape-options button.active, .shape-options button:hover) { color: var(--luxor-gold); }
.theme-target[data-theme='target'] .shape-spotlight :is(.explore-link, .motion-toggle) { border-color: #8c7d62; }
.theme-target[data-theme='target'] .list { background-image: radial-gradient(ellipse at 50% 40%, #34312c, #21211f 72%); }
.theme-target[data-theme='target'] .list .eyebrow { color: var(--luxor-gold); }
.theme-target[data-theme='target'] .list button { background-color: var(--luxor-gold); border-color: var(--luxor-gold); color: var(--luxor-dark); }
.theme-target[data-theme='target'] .list button:hover:not(:disabled) { background-color: var(--luxor-ivory); border-color: var(--luxor-ivory); color: var(--luxor-dark); }
.theme-target[data-theme='target'] :is(.list, .shape-spotlight) :is(a, button, input):focus-visible { outline-color: var(--luxor-gold); }

/* The existing large footer wordmark and its movement are preserved. */
.theme-target[data-theme='target'] .w19-footer { background-color: var(--luxor-dark); color: var(--luxor-ivory); }
.theme-target[data-theme='target'] .w19-footer :is(.lead-line, .mark) { color: var(--luxor-ivory); }
.theme-target[data-theme='target'] .w19-footer .col h3 { color: #ffffff; border-color: #484946; }
.theme-target[data-theme='target'] .w19-footer :is(.col a, .legal a, .copy, .top, .col-text) { color: #d5cfc5; }
.theme-target[data-theme='target'] .w19-footer :is(.col a:hover, .legal a:hover, .top:hover, .ch:hover) { color: var(--luxor-gold); }
.theme-target[data-theme='target'] .w19-footer .bar { border-color: #4c473d; }
.theme-target[data-theme='target'] .w19-footer :is(a, button):focus-visible { outline-color: var(--luxor-gold); }

/* Popovers and notifications outside the theme wrapper inherit the same palette. */
body:has(.theme-target[data-theme='target']) :is(.w19-dlg, .w19-sx, .w19-qv, .w19-fpop, .w19-consent) {
 background-color: var(--luxor-ivory); color: var(--luxor-charcoal); border-color: var(--w19-line);
}
body:has(.theme-target[data-theme='target']) .w19-consent p { color: var(--w19-stone); }
body:has(.theme-target[data-theme='target']) .w19-consent button { color: var(--luxor-charcoal); border-color: var(--luxor-charcoal); background-color: var(--luxor-ivory); }
body:has(.theme-target[data-theme='target']) .w19-consent button:last-child { color: var(--luxor-ivory); background-color: var(--luxor-charcoal); }
body:has(.theme-target[data-theme='target']) .w19-consent button:hover { color: var(--luxor-dark); background-color: var(--luxor-gold); }
body:has(.theme-target[data-theme='target']) [data-sonner-toast] {
 --normal-bg: var(--luxor-ivory); --normal-border: var(--w19-line); --normal-text: var(--luxor-charcoal);
}
body:has(.theme-target[data-theme='target']) [data-sonner-toast] [data-description] { color: var(--w19-stone); }
body:has(.theme-target[data-theme='target']) [data-sonner-toast]:not([data-type='error']) [data-icon] { color: var(--luxor-charcoal); }

/* Brand accents use the same charcoal on all light surfaces. */
.theme-target[data-theme='target'] .collection-support li a:hover { color: var(--luxor-green-text); }

/* White surfaces, light-grey dividers and charcoal details. Supplied logo artwork is unchanged. */
.theme-target[data-theme='target'] .standard .ticker-list li::after { background-color:var(--luxor-green); }
