/* ============================================================================
   ONEEXISTS v1.3.0 — Charcoal Warm Atelier palette flip
   DARK IS DEFAULT. Light sections opt-in via .oe-section--paper (material + design only).
   Loaded AFTER v120-additions.css so overrides everything.
   ============================================================================ */

/* -- Repaint token palette to warm charcoal ----------------------------- */
:root {
  --oe-black:         15  14  13;    /* deepest warm — hero placeholder end */
  --oe-graphite:      28  27  26;    /* CHARCOAL WARM — main body bg */
  --oe-charcoal:      36  34  31;    /* surface elevation */
  --oe-concrete:     140 135 126;    /* warm mid-grey text muted */
  --oe-silver:       195 200 208;    /* brushed silver metallic accent */
  --oe-mist:          72  68  63;    /* dark borders (raised) */
  --oe-fog:           48  46  42;    /* dark hairline */
  --oe-cloud:         36  34  31;    /* muted dark */
  --oe-paper:        245 245 247;    /* NOW: opt-in light section */
  --oe-white:        237 234 228;    /* WARM off-white — text default */
  --oe-metallic:     195 200 208;    /* brushed silver accent */

  /* Semantic — flipped */
  --oe-bg:            var(--oe-graphite);
  --oe-bg-alt:        var(--oe-charcoal);
  --oe-bg-muted:      var(--oe-black);
  --oe-bg-dark:       var(--oe-black);
  --oe-bg-deep:       var(--oe-black);
  --oe-bg-light:      var(--oe-paper);
  --oe-text:          var(--oe-white);
  --oe-text-muted:    var(--oe-concrete);
  --oe-text-subtle:   var(--oe-mist);
  --oe-text-inverse:  var(--oe-graphite);
  --oe-border:        var(--oe-fog);
  --oe-border-strong: var(--oe-mist);
  --oe-border-dark:   var(--oe-white);
}

/* -- Base body + text -- */
body {
  background: rgb(var(--oe-bg)) !important;
  color: rgb(var(--oe-text)) !important;
}
::selection { background: rgb(var(--oe-white)); color: rgb(var(--oe-graphite)); }
:focus-visible { outline-color: rgb(var(--oe-white)); }
h1, h2, h3, h4, h5, .oe-h1, .oe-h2, .oe-h3, .oe-h4, .oe-h5,
.oe-display, p, .oe-lede, address, li, blockquote {
  color: rgb(var(--oe-text));
}
.oe-eyebrow, h6 { color: rgb(var(--oe-silver)); }
a { color: currentColor; text-decoration-color: rgb(var(--oe-silver) / 0.6); }
a:hover { text-decoration-color: rgb(var(--oe-white)); }
hr { background: rgb(var(--oe-fog)); }

/* -- Header on dark -- */
.oe-header { background: rgb(var(--oe-bg)) !important; }
.oe-header.is-scrolled { border-bottom-color: rgb(var(--oe-border)) !important; }
.oe-nav a { color: rgb(var(--oe-text)) !important; }
.oe-nav a::after { background: rgb(var(--oe-text)) !important; }
.oe-header__hamburger,
.oe-header__right .oe-btn--icon-only { color: rgb(var(--oe-text)) !important; }
.oe-header__right .oe-btn--icon-only:hover { background: rgb(var(--oe-charcoal)) !important; }
.oe-header__logo::before { color: rgb(var(--oe-text)) !important; }
.oe-bag-count { background: rgb(var(--oe-white)); color: rgb(var(--oe-graphite)); }

.oe-lang-switch a,
.oe-lang-switch .oe-lang-current,
.oe-lang-switch .oe-lang-other { color: rgb(var(--oe-text-muted)); }
.oe-lang-switch .current-lang a,
.oe-lang-switch .oe-lang-current { color: rgb(var(--oe-text)); }

/* Announcement stays deepest black + warm hairline bottom */
.oe-announcement {
  background: rgb(var(--oe-bg-deep));
  border-bottom: 1px solid rgb(var(--oe-fog));
}

/* Mobile drawer stays dark */
.oe-drawer__panel { background: rgb(var(--oe-bg)); color: rgb(var(--oe-text)); }
.oe-drawer__head { border-bottom-color: rgb(var(--oe-fog)); }
.oe-drawer__nav a { color: rgb(var(--oe-text)) !important; border-bottom-color: rgb(var(--oe-fog)); }
.oe-drawer__nav a:hover { background: rgb(var(--oe-charcoal)); }
.oe-drawer__foot { border-top-color: rgb(var(--oe-fog)); }
.oe-drawer__logo::before { color: rgb(var(--oe-text)); }

/* Search overlay on dark */
.oe-search-overlay { background: rgb(var(--oe-bg) / 0.98); }
.oe-search-input { color: rgb(var(--oe-white)); }
.oe-search-input::placeholder { color: rgb(var(--oe-text-muted)); }
.oe-search-form { border-bottom-color: rgb(var(--oe-white)); }
.oe-search-icon, .oe-search-close { color: rgb(var(--oe-white)); }

/* -- Section backgrounds -- */
.oe-section--paper {
  background: rgb(var(--oe-bg-light)) !important;
  color: rgb(var(--oe-text-inverse)) !important;
}
.oe-section--paper h1, .oe-section--paper h2, .oe-section--paper h3,
.oe-section--paper h4, .oe-section--paper h5, .oe-section--paper p,
.oe-section--paper .oe-lede, .oe-section--paper address, .oe-section--paper li {
  color: rgb(var(--oe-text-inverse)) !important;
}
.oe-section--paper .oe-eyebrow, .oe-section--paper h6 { color: rgb(120 115 108) !important; }
.oe-section--paper .oe-btn--tertiary { color: rgb(var(--oe-graphite)); border-bottom-color: rgb(var(--oe-graphite)); }

.oe-section--dark, .oe-dark {
  background: rgb(var(--oe-bg-deep)) !important;
  color: rgb(var(--oe-white)) !important;
}
.oe-section--muted { background: rgb(var(--oe-charcoal)); }

/* Hero placeholder — warm charcoal gradient */
.oe-hero--placeholder {
  background: linear-gradient(180deg, rgb(var(--oe-graphite)) 0%, rgb(var(--oe-black)) 100%);
}

/* Placeholders (used when images not uploaded yet) */
.oe-placeholder { background: linear-gradient(135deg, rgb(var(--oe-charcoal)) 0%, rgb(var(--oe-black)) 100%); }
.oe-placeholder--warm { background: linear-gradient(135deg, rgb(var(--oe-graphite)) 0%, rgb(var(--oe-charcoal)) 100%); }
.oe-placeholder--dark { background: linear-gradient(135deg, rgb(var(--oe-black)) 0%, rgb(0 0 0) 100%); }
.oe-placeholder--continental-800 { background: linear-gradient(135deg, rgb(var(--oe-silver)) 0%, rgb(var(--oe-concrete)) 100%); }
.oe-placeholder--black-object { background: linear-gradient(135deg, rgb(var(--oe-black)) 0%, rgb(0 0 0) 100%); }
.oe-placeholder--signature { background: linear-gradient(135deg, rgb(var(--oe-charcoal)) 0%, rgb(var(--oe-graphite)) 100%); }
.oe-placeholder--archive { background: linear-gradient(135deg, rgb(var(--oe-concrete)) 0%, rgb(var(--oe-mist)) 100%); }
/* Light-section placeholders (subtle cream tone against paper) */
.oe-section--paper .oe-placeholder,
.oe-section--paper .oe-placeholder--warm {
  background: linear-gradient(135deg, rgb(230 230 232) 0%, rgb(210 210 214) 100%);
}

/* -- Form fields on dark -- */
.oe-input, .oe-select, .oe-textarea {
  background: rgb(var(--oe-charcoal));
  color: rgb(var(--oe-white));
  border-color: rgb(var(--oe-mist));
}
.oe-input:focus, .oe-select:focus, .oe-textarea:focus { border-color: rgb(var(--oe-white)); }
.oe-input::placeholder, .oe-textarea::placeholder { color: rgb(var(--oe-text-muted)); }
.oe-select {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='none' stroke='%23edeae4' stroke-width='1.5' d='M1 1l4 4 4-4'/></svg>");
}
.oe-label { color: rgb(var(--oe-silver)); }
/* Light section fields — invert back */
.oe-section--paper .oe-input,
.oe-section--paper .oe-select,
.oe-section--paper .oe-textarea {
  background: rgb(var(--oe-white));
  color: rgb(var(--oe-graphite));
  border-color: rgb(210 210 214);
}
.oe-section--paper .oe-select {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='none' stroke='%230e0e0e' stroke-width='1.5' d='M1 1l4 4 4-4'/></svg>");
}
.oe-section--paper .oe-label { color: rgb(120 115 108); }

/* -- Buttons -- */
.oe-btn--primary {
  background: rgb(var(--oe-white));
  color: rgb(var(--oe-graphite));
  border-color: rgb(var(--oe-white));
}
.oe-btn--primary:hover { background: rgb(var(--oe-silver)); border-color: rgb(var(--oe-silver)); }
.oe-btn--secondary { color: rgb(var(--oe-white)); border-color: rgb(var(--oe-white)); }
.oe-btn--secondary:hover { background: rgb(var(--oe-white)); color: rgb(var(--oe-graphite)); }
.oe-btn--ghost { color: rgb(var(--oe-white)); border-color: rgb(var(--oe-white)); }
.oe-btn--ghost:hover { background: rgb(var(--oe-white)); color: rgb(var(--oe-graphite)); }
.oe-btn--tertiary { color: rgb(var(--oe-white)); border-bottom-color: rgb(var(--oe-white)); }
/* Light section — flip button treatment */
.oe-section--paper .oe-btn--primary {
  background: rgb(var(--oe-graphite));
  color: rgb(var(--oe-white));
  border-color: rgb(var(--oe-graphite));
}
.oe-section--paper .oe-btn--primary:hover { background: rgb(var(--oe-black)); border-color: rgb(var(--oe-black)); }
.oe-section--paper .oe-btn--secondary { color: rgb(var(--oe-graphite)); border-color: rgb(var(--oe-graphite)); }
.oe-section--paper .oe-btn--secondary:hover { background: rgb(var(--oe-graphite)); color: rgb(var(--oe-white)); }

/* -- Footer stays deepest -- */
.oe-footer { background: rgb(var(--oe-bg-deep)); border-top: 1px solid rgb(var(--oe-fog)); }
.oe-footer-bottom { background: rgb(var(--oe-bg-deep)); border-top-color: rgb(var(--oe-fog)); }

/* -- Passport / accordion / cards on dark -- */
.oe-passport { border-top-color: rgb(var(--oe-fog)); color: rgb(var(--oe-silver)); }
.oe-passport dt { color: rgb(var(--oe-text-muted)); }
.oe-passport dd { color: rgb(var(--oe-white)); }

.oe-accordion { border-top-color: rgb(var(--oe-fog)); }
.oe-accordion__item { border-bottom-color: rgb(var(--oe-fog)); }
.oe-accordion__trigger { color: rgb(var(--oe-white)); }
.oe-accordion__panel { color: rgb(var(--oe-text-muted)); }

.oe-chip { border-color: rgb(var(--oe-mist)); color: rgb(var(--oe-white)); }
.oe-chip[aria-pressed="true"] { background: rgb(var(--oe-white)); color: rgb(var(--oe-graphite)); border-color: rgb(var(--oe-white)); }
.oe-chip:hover:not([aria-pressed="true"]) { border-color: rgb(var(--oe-white)); }
.oe-badge { background: rgb(var(--oe-white)); color: rgb(var(--oe-graphite)); }
.oe-badge--outline { color: rgb(var(--oe-white)); border-color: rgb(var(--oe-white)); }
.oe-badge--limited { background: transparent; border-color: rgb(var(--oe-silver)); color: rgb(var(--oe-silver)); font-family: var(--oe-font-mono); }

.oe-swatch { border-color: rgb(var(--oe-mist)); }

/* -- Roadmap on dark -- */
.oe-roadmap { background: rgb(var(--oe-fog)); border-color: rgb(var(--oe-fog)); }
.oe-roadmap__item { background: rgb(var(--oe-charcoal)); color: rgb(var(--oe-white)); }
.oe-roadmap__item .oe-eyebrow { color: rgb(var(--oe-silver)); }
.oe-roadmap__no { color: rgb(var(--oe-text-muted)); }
.oe-roadmap__desc { color: rgb(var(--oe-silver)); }
.oe-roadmap__item--active { background: rgb(var(--oe-silver)); color: rgb(var(--oe-graphite)); }
.oe-roadmap__item--active .oe-eyebrow,
.oe-roadmap__item--active .oe-no,
.oe-roadmap__item--active .oe-passport,
.oe-roadmap__item--active .oe-roadmap__desc,
.oe-roadmap__item--active .oe-roadmap__no {
  color: rgb(var(--oe-graphite)) !important;
}

/* -- Personalization cards on dark -- */
.oe-pers-card {
  background: rgb(var(--oe-charcoal));
  border-color: rgb(var(--oe-silver));
  color: rgb(var(--oe-white));
}
.oe-pers-card h3 { color: rgb(var(--oe-white)); }
.oe-pers-card p { color: rgb(var(--oe-silver)); }
.oe-pers-card .oe-passport {
  color: rgb(var(--oe-text-muted));
  border-top: 0;
  padding-top: 0;
  margin: 0;
}

/* -- Material story cards (LIGHT SECTION) -- */
.oe-section--paper .oe-mat-card {
  background: rgb(var(--oe-white));
  border-color: rgb(215 215 218);
  color: rgb(var(--oe-graphite));
}
.oe-section--paper .oe-mat-card:hover { border-color: rgb(var(--oe-graphite)); }
.oe-section--paper .oe-mat-card__code { color: rgb(120 115 108); }
.oe-section--paper .oe-mat-card__name { color: rgb(var(--oe-graphite)); }
.oe-section--paper .oe-mat-card__sub { color: rgb(120 115 108); }
.oe-section--paper .oe-mat-card__lede { color: rgb(120 115 108); }

/* -- Design process cards (LIGHT SECTION) -- */
.oe-section--paper .oe-design-card__title { color: rgb(var(--oe-graphite)); }
.oe-section--paper .oe-design-card__desc { color: rgb(120 115 108); }

/* -- Collection tiles (if used later) -- */
.oe-coll-tile { color: rgb(var(--oe-white)); }
.oe-coll-tile__meta .oe-passport { color: rgb(var(--oe-text-muted)); }
.oe-coll-tile__note { color: rgb(var(--oe-text-muted)); }

/* -- Journal cards on dark -- */
.oe-jour-card__link { color: rgb(var(--oe-white)); }
.oe-jour-card__title { color: rgb(var(--oe-white)); }
.oe-jour-card__meta .oe-eyebrow { color: rgb(var(--oe-silver)); }

/* -- Coming soon block -- */
.oe-coming-soon { background: rgb(var(--oe-charcoal)); border-color: rgb(var(--oe-mist)); color: rgb(var(--oe-white)); }

/* -- Hero waitlist glass form: subtle warm-tinted -- */
.oe-hero__form {
  background: rgb(var(--oe-black) / 0.35);
  border-color: rgb(var(--oe-silver) / 0.2);
}

/* -- WooCommerce overrides carry forward: dark surfaces -- */
.woocommerce ul.products li.product .woocommerce-loop-product__title { color: rgb(var(--oe-white)); }
.woocommerce ul.products li.product .price { color: rgb(var(--oe-white)); }
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  background: rgb(var(--oe-charcoal));
  color: rgb(var(--oe-white));
  border-top-color: rgb(var(--oe-white));
}
.woocommerce span.onsale {
  background: rgb(var(--oe-white));
  color: rgb(var(--oe-graphite));
  border-color: rgb(var(--oe-white));
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  background: rgb(var(--oe-charcoal));
  color: rgb(var(--oe-white));
  border-color: rgb(var(--oe-mist));
}
.woocommerce form .form-row label { color: rgb(var(--oe-silver)); }
.woocommerce table.shop_table th,
.woocommerce table.shop_table td { color: rgb(var(--oe-white)); border-top-color: rgb(var(--oe-fog)); }

/* -- Notification success on hero -- */
.oe-waitlist-success { color: rgb(var(--oe-white)); }
.oe-waitlist-success .oe-eyebrow { color: rgb(var(--oe-silver)); }

/* -- Astra parent theme leaks that fight the flip -- */
.ast-container, .site, .site-content, .entry-content, .site-main {
  background: rgb(var(--oe-bg)) !important;
  color: rgb(var(--oe-text)) !important;
}
.entry-title { color: rgb(var(--oe-white)); }
