/* ==========================================================================
   orient-luxury-core.css
   CIO Factory shared design system. Near-black base, grain overlay, gold
   accent stack. Dark mode is the default theme; [data-theme="light"] on
   <html> switches to the parchment palette. This instance was authored
   fresh for the Newsroom build (the canonical shared file was not present
   in this workspace) — see DEPLOY-NOTES.md for reconciliation guidance.
   ========================================================================== */

:root {
  /* --- gold accent stack --- */
  --ol-gold-100: #f1e2ad;
  --ol-gold-200: #ddc06a;
  --ol-gold: #c9a84c;
  --ol-gold-600: #a3822f;
  --ol-gold-700: #8a6820;

  /* --- dark (default) surface stack --- */
  --ol-bg: #09080b;
  --ol-bg-raised: #121016;
  --ol-bg-raised-2: #1a1720;
  --ol-hairline: rgba(201, 168, 76, 0.28);
  --ol-hairline-strong: rgba(201, 168, 76, 0.55);
  --ol-ink: #ece7db;
  --ol-ink-dim: #b9b2a1;
  --ol-ink-faint: #7d7669;
  --ol-shadow: rgba(0, 0, 0, 0.55);

  --ol-positive: #7fae6c;
  --ol-negative: #b0685a;
  --ol-neutral: #b9ab7c;

  /* --- typography --- */
  --ol-font-display: 'Cinzel', 'Times New Roman', serif;
  --ol-font-body: 'Cormorant Garamond', Georgia, serif;
  --ol-font-ui: 'Syne', 'Helvetica Neue', sans-serif;
  --ol-font-mono: 'IBM Plex Mono', ui-monospace, Menlo, monospace;

  --ol-radius: 2px;
  --ol-transition: 220ms cubic-bezier(0.2, 0.6, 0.2, 1);
}

html[data-theme="light"] {
  --ol-bg: #f3ecd9;
  --ol-bg-raised: #ede2c8;
  --ol-bg-raised-2: #e6d9b8;
  --ol-hairline: rgba(138, 104, 32, 0.35);
  --ol-hairline-strong: rgba(138, 104, 32, 0.65);
  --ol-ink: #2a2318;
  --ol-ink-dim: #55492f;
  --ol-ink-faint: #877757;
  --ol-shadow: rgba(80, 65, 30, 0.25);

  --ol-gold: #8a6820;
  --ol-gold-200: #a3822f;
  --ol-gold-600: #6e5119;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  background: var(--ol-bg);
  color: var(--ol-ink);
}

body {
  font-family: var(--ol-font-body);
  position: relative;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
}

/* --- grain overlay: fixed, full-viewport, blended, never intercepts clicks --- */
.ol-grain {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  mix-blend-mode: soft-light;
  opacity: 0.5;
  z-index: 1;
}

[hidden] { display: none !important; }

a { color: inherit; }

::selection {
  background: var(--ol-gold);
  color: var(--ol-bg);
}

.ol-visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

:focus-visible {
  outline: 2px solid var(--ol-gold);
  outline-offset: 2px;
}

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