/* Oxbow Suite unify — remap foreign page tokens onto index.php identity.
   Dark canopy surface + Fraunces/Commissioner. Loaded AFTER page CSS. */

body.ox-suite.page-shop,
body.ox-suite.page-catalog,
body.ox-suite.page-product,
body.ox-suite.page-cart,
body.ox-suite.page-checkout,
body.ox-suite.page-account,
body.ox-suite.page-orders,
body.ox-suite.page-order-status,
body.ox-suite.page-order-success,
body.ox-suite.page-contact,
body.ox-suite.page-company,
body.ox-suite.page-help,
body.ox-suite.page-support,
body.ox-suite.page-policy,
body.ox-suite.page-policy.ox-policy {
  background:
    radial-gradient(90% 55% at 8% -10%, rgba(110, 201, 180, 0.16), transparent 46%),
    radial-gradient(70% 45% at 100% 0%, rgba(212, 137, 74, 0.12), transparent 42%),
    radial-gradient(50% 40% at 70% 100%, rgba(217, 132, 150, 0.08), transparent 50%),
    linear-gradient(168deg, #0a1612 0%, var(--ox-void) 48%, #0c1915 100%) !important;
  color: var(--ox-paper) !important;
  font-family: var(--ox-sans) !important;
}

/* Shop — already dark; retint accents */
.page-shop.sl-darkroom {
  --sl-void: var(--ox-void) !important;
  --sl-bay: var(--ox-canopy) !important;
  --sl-safe: var(--ox-dew) !important;
  --sl-silver: var(--ox-mist) !important;
  --sl-fog: var(--ox-mute) !important;
  --sl-paper: var(--ox-paper) !important;
  --sl-ink: var(--ox-ink) !important;
  --sl-display: var(--ox-display) !important;
  --sl-sans: var(--ox-sans) !important;
  --sl-ease: var(--ox-ease) !important;
}

/* Catalog — Oxbow aisle index tokens */
.page-catalog.el-chart {
  --el-void: var(--ox-void) !important;
  --el-canopy: var(--ox-canopy) !important;
  --el-panel: color-mix(in srgb, var(--ox-panel) 92%, #000 8%) !important;
  --el-ink: var(--ox-paper) !important;
  --el-muted: var(--ox-mute) !important;
  --el-dew: var(--ox-dew) !important;
  --el-saffron: var(--ox-saffron) !important;
  --el-copper: var(--ox-copper) !important;
  --el-line: var(--ox-line) !important;
  --el-display: var(--ox-display) !important;
  --el-sans: var(--ox-sans) !important;
  --el-ease: var(--ox-ease) !important;
}

/* Product — Oxbow packet desk */
.page-product.wd-loom {
  --wd-ink: var(--ox-paper) !important;
  --wd-mute: var(--ox-mute) !important;
  --wd-void: var(--ox-void) !important;
  --wd-panel: color-mix(in srgb, var(--ox-panel) 92%, #000 8%) !important;
  --wd-saffron: var(--ox-saffron) !important;
  --wd-dew: var(--ox-dew) !important;
  --wd-copper: var(--ox-copper) !important;
  --wd-line: var(--ox-line) !important;
  --wd-display: var(--ox-display) !important;
  --wd-sans: var(--ox-sans) !important;
  --wd-ease: var(--ox-ease) !important;
}

/* Cart — Oxbow crate desk */
.page-cart.dw-sheet {
  --dw-ink: var(--ox-paper) !important;
  --dw-mute: var(--ox-mute) !important;
  --dw-void: var(--ox-void) !important;
  --dw-panel: color-mix(in srgb, var(--ox-panel) 92%, #000 8%) !important;
  --dw-saffron: var(--ox-saffron) !important;
  --dw-dew: var(--ox-dew) !important;
  --dw-copper: var(--ox-copper) !important;
  --dw-line: var(--ox-line) !important;
  --dw-display: var(--ox-display) !important;
  --dw-sans: var(--ox-sans) !important;
  --dw-ease: var(--ox-ease) !important;
}

/* Checkout — Oxbow order desk */
.page-checkout.fy-stone {
  --fy-ink: var(--ox-paper) !important;
  --fy-mute: var(--ox-mute) !important;
  --fy-void: var(--ox-void) !important;
  --fy-panel: color-mix(in srgb, var(--ox-panel) 92%, #000 8%) !important;
  --fy-saffron: var(--ox-saffron) !important;
  --fy-dew: var(--ox-dew) !important;
  --fy-copper: var(--ox-copper) !important;
  --fy-bloom: var(--ox-bloom) !important;
  --fy-line: var(--ox-line) !important;
  --fy-display: var(--ox-display) !important;
  --fy-sans: var(--ox-sans) !important;
  --fy-ease: var(--ox-ease) !important;
}

/* Account — Oxbow account desk */
.page-account.vk-pass {
  --vk-ink: var(--ox-paper) !important;
  --vk-mute: var(--ox-mute) !important;
  --vk-void: var(--ox-void) !important;
  --vk-panel: color-mix(in srgb, var(--ox-panel) 92%, #000 8%) !important;
  --vk-saffron: var(--ox-saffron) !important;
  --vk-dew: var(--ox-dew) !important;
  --vk-copper: var(--ox-copper) !important;
  --vk-bloom: var(--ox-bloom) !important;
  --vk-line: var(--ox-line) !important;
  --vk-display: var(--ox-display) !important;
  --vk-sans: var(--ox-sans) !important;
  --vk-ease: var(--ox-ease) !important;
}

/* Orders — Oxbow order desk */
.page-orders.tl-almanac {
  --tl-ink: var(--ox-paper) !important;
  --tl-mute: var(--ox-mute) !important;
  --tl-void: var(--ox-void) !important;
  --tl-panel: color-mix(in srgb, var(--ox-panel) 92%, #000 8%) !important;
  --tl-saffron: var(--ox-saffron) !important;
  --tl-dew: var(--ox-dew) !important;
  --tl-copper: var(--ox-copper) !important;
  --tl-bloom: var(--ox-bloom) !important;
  --tl-line: var(--ox-line) !important;
  --tl-display: var(--ox-display) !important;
  --tl-sans: var(--ox-sans) !important;
  --tl-ease: var(--ox-ease) !important;
}

/* Order status — Oxbow status desk */
.page-order-status.cg-guide {
  --cg-ink: var(--ox-paper) !important;
  --cg-mute: var(--ox-mute) !important;
  --cg-void: var(--ox-void) !important;
  --cg-panel: color-mix(in srgb, var(--ox-panel) 92%, #000 8%) !important;
  --cg-saffron: var(--ox-saffron) !important;
  --cg-dew: var(--ox-dew) !important;
  --cg-copper: var(--ox-copper) !important;
  --cg-bloom: var(--ox-bloom) !important;
  --cg-line: var(--ox-line) !important;
  --cg-display: var(--ox-display) !important;
  --cg-sans: var(--ox-sans) !important;
  --cg-ease: var(--ox-ease) !important;
  --cg-chalk: var(--ox-void) !important;
  --cg-paper: color-mix(in srgb, var(--ox-panel) 92%, #000 8%) !important;
  --cg-granite: var(--ox-mist) !important;
  --cg-sky: var(--ox-dew) !important;
  --cg-route: var(--ox-bloom) !important;
  --cg-moss: var(--ox-dew) !important;
  --cg-bolt: var(--ox-saffron) !important;
}

/* Order success — Oxbow confirm desk */
.page-order-success.mq-house {
  --mq-ink: var(--ox-paper) !important;
  --mq-mute: var(--ox-mute) !important;
  --mq-void: var(--ox-void) !important;
  --mq-panel: color-mix(in srgb, var(--ox-panel) 92%, #000 8%) !important;
  --mq-saffron: var(--ox-saffron) !important;
  --mq-dew: var(--ox-dew) !important;
  --mq-copper: var(--ox-copper) !important;
  --mq-line: var(--ox-line) !important;
  --mq-display: var(--ox-display) !important;
  --mq-sans: var(--ox-sans) !important;
  --mq-ease: var(--ox-ease) !important;
}

/* Contact — Oxbow message desk */
body.page-contact {
  --ix-ink: var(--ox-paper) !important;
  --ix-mute: var(--ox-mute) !important;
  --ix-void: var(--ox-void) !important;
  --ix-panel: color-mix(in srgb, var(--ox-panel) 92%, #000 8%) !important;
  --ix-saffron: var(--ox-saffron) !important;
  --ix-dew: var(--ox-dew) !important;
  --ix-copper: var(--ox-copper) !important;
  --ix-bloom: var(--ox-bloom) !important;
  --ix-line: var(--ox-line) !important;
  --ix-display: var(--ox-display) !important;
  --ix-sans: var(--ox-sans) !important;
  --ix-ease: var(--ox-ease) !important;
}

/* Company — was heartwood paper */
.page-company.dn-core {
  --dn-paper: var(--ox-void) !important;
  --dn-heart: var(--ox-copper) !important;
  --dn-sap: var(--ox-saffron) !important;
  --dn-ink: var(--ox-paper) !important;
  --dn-mute: var(--ox-mute) !important;
  --dn-indigo: var(--ox-dew) !important;
  --dn-display: var(--ox-display) !important;
  --dn-sans: var(--ox-sans) !important;
  --dn-ease: var(--ox-ease) !important;
}

/* Help — Oxbow support desk */
.page-help.vt-gallery {
  --vt-ink: var(--ox-paper) !important;
  --vt-mute: var(--ox-mute) !important;
  --vt-void: var(--ox-void) !important;
  --vt-panel: color-mix(in srgb, var(--ox-panel) 92%, #000 8%) !important;
  --vt-saffron: var(--ox-saffron) !important;
  --vt-dew: var(--ox-dew) !important;
  --vt-copper: var(--ox-copper) !important;
  --vt-line: var(--ox-line) !important;
  --vt-display: var(--ox-display) !important;
  --vt-sans: var(--ox-sans) !important;
  --vt-ease: var(--ox-ease) !important;
}

/* Track — Oxbow dispatch desk */
.page-support.kp-pass {
  --kp-ink: var(--ox-paper) !important;
  --kp-mute: var(--ox-mute) !important;
  --kp-void: var(--ox-void) !important;
  --kp-panel: color-mix(in srgb, var(--ox-panel) 92%, #000 8%) !important;
  --kp-saffron: var(--ox-saffron) !important;
  --kp-dew: var(--ox-dew) !important;
  --kp-copper: var(--ox-copper) !important;
  --kp-bloom: var(--ox-bloom) !important;
  --kp-line: var(--ox-line) !important;
  --kp-display: var(--ox-display) !important;
  --kp-sans: var(--ox-sans) !important;
  --kp-ease: var(--ox-ease) !important;
}

/* Kill leftover Appily brutal chrome if present */
body.ox-suite .a70-foot,
body.ox-suite .a70-foot-watermark,
body.ox-suite .a70-brand-block {
  display: none !important;
}

body.ox-suite h1,
body.ox-suite h2,
body.ox-suite h3 {
  font-family: var(--ox-display);
  letter-spacing: -0.02em;
}

/* Cards/panels that still paint bright paper get canopy treatment */
body.ox-suite .ox-panel,
body.ox-suite [class*="-card"],
body.ox-suite [class*="-panel"] {
  border-color: var(--ox-line);
}

/* Form controls — dark canopy fields (kill leftover paper inputs) */
body.ox-suite input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]):not([type="submit"]):not([type="button"]),
body.ox-suite textarea,
body.ox-suite select {
  background: rgba(22, 48, 40, 0.72) !important;
  color: var(--ox-paper) !important;
  border-color: rgba(214, 228, 216, 0.22) !important;
  caret-color: var(--ox-dew);
}

body.ox-suite input::placeholder,
body.ox-suite textarea::placeholder {
  color: rgba(244, 239, 228, 0.5) !important;
  opacity: 1;
}

body.ox-suite option {
  background: var(--ox-canopy);
  color: var(--ox-paper);
}

/* Contrast: solid CTAs never use remapped “paper” (dark) as label color */
body.ox-suite [class*="-go"]:not([class*="-ghost"]),
body.ox-suite [class*="-cast"],
body.ox-suite [class*="-pull"],
body.ox-suite [class*="-send"],
body.ox-suite [class*="-cr"] {
  -webkit-font-smoothing: antialiased;
}

body.ox-suite [class*="-go-ghost"],
body.ox-suite [class*="-issue-ghost"],
body.ox-suite [class*="-btn-ghost"] {
  color: #f4efe4;
}

/* Ensure main content sits above spore nav spacing */
body.ox-suite .a70-main > *:first-child {
  position: relative;
  z-index: 1;
}

/* Skip links always high contrast */
body.ox-suite [class*="-skip"] {
  background: #f4efe4 !important;
  color: #0c1a15 !important;
}

/* —— Suite ↔ Rift footer alignment ——
   Page desks were left-shifted for the spore cluster, which left a dead
   gap on the right and misaligned the centered footer shell. Center every
   desk on the same 1180px / 2rem frame as .kb-rift-shell. */
body.ox-suite:not(.page-home) .a70-main > :where(
  .sl-bay,
  .el-atlas,
  .vt-floor,
  .dw-sheet-wrap,
  .tl-harbour,
  .vk-desk,
  .ic-studio,
  .ic-empty,
  .wd-bay,
  .wd-miss,
  .fy-press,
  .kp-line,
  .ix-desk,
  .dn-lab,
  .mq-lot,
  .cg-book,
  .ox-policy-desk,
  .pr-wrap,
  .dv-page
) {
  width: min(1180px, calc(100% - 2rem)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-bottom: 1.5rem !important;
}

/* Keep intentional narrower desks, but still center them */
body.ox-suite.page-contact .a70-main > .ix-desk {
  width: min(1180px, calc(100% - 2rem)) !important;
}
body.ox-suite.page-order-success .a70-main > .mq-lot {
  width: min(880px, calc(100% - 2rem)) !important;
}
body.ox-suite.page-company .a70-main > .dn-lab {
  width: min(1080px, calc(100% - 2rem)) !important;
}
body.ox-suite.page-support .a70-main > .kp-line {
  width: min(1100px, calc(100% - 2rem)) !important;
}

/* Tuck Rift footer under content instead of a tall empty main band */
body.ox-suite:not(.page-home) .a70-root-bare > .a70-main {
  flex: 0 0 auto;
  min-height: 0 !important;
}

body.ox-suite:not(.page-home) .kb-rift {
  margin-top: 1.25rem;
}
