/* AllCoach BETA design tokens: the ONE place for colour, type, spacing, radii and shadows (light + dark).
   Components (beta.css) use only these variables. Change a value here and it changes everywhere in the beta. */
@font-face { font-family: Montserrat; font-style: normal; font-weight: 400 800; font-display: swap; src: url(/static/fonts/montserrat-latin.woff2) format('woff2'); }

:root {
  /* brand */
  --brand: #764ba2; --brand-dark: #5c3a82; --brand-ink: #5c3a82; --lilac: #f1ebf8; --lilac-deep: #e4d8f2; --navy: #0a2540;
  /* text + surfaces */
  --text: #1d2f45; --body: #3c4558; --muted: #566278;
  --bg: #eef0f7; --panel: #ffffff; --surface: #f5f6fa; --border: #d6dce8; --border-soft: #e6eaf2;
  /* trip kinds (date tiles, badges) */
  --day: #764ba2; --day-ink: #ffffff; --brk: #0a2540; --brk-ink: #ffffff; --xmas: #1f5e4a; --xmas-ink: #ffffff;
  /* states */
  --near: #0b6b4f; --near-tint: #e2f4ec; --heart: #c0264b; --warn: #a8321c;
  --chip-on: #0a2540; --chip-on-ink: #ffffff; --btn: #764ba2; --btn-ink: #ffffff; --btn-hover: #5c3a82;
  /* hero */
  --hero-ink: #ffffff; --hero-lead: #f2f4fa; --hero-shade: rgba(10,37,64,.86); --hero-shade-2: rgba(10,37,64,.25);
  --hero-plain-a: #0a2540; --hero-plain-b: #5c3a82;
  /* operator initials badges (op-c0..op-c7) */
  --op0: #764ba2; --op1: #0a2540; --op2: #1f5e4a; --op3: #8a3b12; --op4: #2b5c8a; --op5: #6b2f5e; --op6: #4a5a20; --op7: #7a4b00;

  /* type */
  --f-body: Montserrat, "Segoe UI", Arial, Helvetica, sans-serif;
  --fs-xs: 11px; --fs-sm: 12.5px; --fs-md: 13.5px; --fs-base: 15px; --fs-lg: 16.5px; --fs-xl: 19px;
  --fs-h1: clamp(2rem, 5vw, 3.2rem); --fs-price: 26px; --fs-tile: 30px;
  --fw-body: 500; --fw-semi: 600; --fw-bold: 700; --fw-black: 800;
  /* space */
  --s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px; --s5: 20px; --s6: 24px; --s7: 32px; --s8: 48px;
  --gutter: 16px; --maxw: 1200px; --side-w: 330px;
  /* radii */
  --r-sm: 8px; --r: 14px; --r-lg: 18px; --r-pill: 999px;
  /* shadows */
  --shadow: 0 10px 30px rgba(10,37,64,.12); --shadow-sm: 0 1px 2px rgba(10,37,64,.08), 0 4px 14px rgba(10,37,64,.06);
  /* trip rows: the live site's list-row values (app.css .dr / .dr-*; measured at 390px; padding per mock v4), phone first; desktop sizes in beta.css */
  --accent: #5a3f8e; --row-muted: #4a5a70; --row-line: #e4e9f1;
  --nudge-bg: #fff4cf; --nudge-line: #e8a317; --nudge-btn: #c2410c; --nudge-btn-hover: #a8380a; --nudge-btn-ink: #ffffff;          /* the postcode reminder card (owner 7 Nov 2026: can't be missed) */
  --row-fs: 13.1px; --row-pad: 15px; --row-date: 13.75px; --row-price: 15.2px; --row-title: 14.7px; --row-small: 11.5px;
  --row-fs-d: 13.6px; --row-pad-d: 16px; --row-date-d: 14.5px; --row-price-d: 16px; --row-title-d: 15.5px;
  /* sizes */
  --tile-w: 104px; --tile-w-sm: 64px; --hit: 42px;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --brand: #b18ce0; --brand-dark: #9a72cf; --brand-ink: #c9aef0; --lilac: #2a2140; --lilac-deep: #3a2d57; --navy: #dfe7f5;
    --text: #e7ecf5; --body: #c3cbda; --muted: #97a3b8;
    --bg: #0d1524; --panel: #162236; --surface: #1b2940; --border: #2c3c58; --border-soft: #23324b;
    --day: #6a43a0; --brk: #25466f; --xmas: #1d6650;
    --near: #5fd3a6; --near-tint: #123a2f; --heart: #ff6f8f; --warn: #ff9b85;
    --chip-on: #e7ecf5; --chip-on-ink: #0d1524; --btn: #7d55b8; --btn-hover: #8f68cb;
    --hero-shade: rgba(5,12,24,.88); --hero-shade-2: rgba(5,12,24,.35); --hero-plain-a: #0b1730; --hero-plain-b: #3a2560;
    --op1: #25466f;
    --accent: #c9aef0; --row-muted: #97a3b8; --row-line: #23324b;
  --nudge-bg: #3a2c08; --nudge-line: #c98a12; --nudge-btn: #f59e0b; --nudge-btn-hover: #fbb53a; --nudge-btn-ink: #1a1205;
    --shadow: 0 10px 30px rgba(0,0,0,.45); --shadow-sm: 0 1px 2px rgba(0,0,0,.4), 0 4px 14px rgba(0,0,0,.25);
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --brand: #b18ce0; --brand-dark: #9a72cf; --brand-ink: #c9aef0; --lilac: #2a2140; --lilac-deep: #3a2d57; --navy: #dfe7f5;
  --text: #e7ecf5; --body: #c3cbda; --muted: #97a3b8;
  --bg: #0d1524; --panel: #162236; --surface: #1b2940; --border: #2c3c58; --border-soft: #23324b;
  --day: #6a43a0; --brk: #25466f; --xmas: #1d6650;
  --near: #5fd3a6; --near-tint: #123a2f; --heart: #ff6f8f; --warn: #ff9b85;
  --chip-on: #e7ecf5; --chip-on-ink: #0d1524; --btn: #7d55b8; --btn-hover: #8f68cb;
  --hero-shade: rgba(5,12,24,.88); --hero-shade-2: rgba(5,12,24,.35); --hero-plain-a: #0b1730; --hero-plain-b: #3a2560;
  --op1: #25466f;
  --accent: #c9aef0; --row-muted: #97a3b8; --row-line: #23324b;
  --nudge-bg: #3a2c08; --nudge-line: #c98a12; --nudge-btn: #f59e0b; --nudge-btn-hover: #fbb53a; --nudge-btn-ink: #1a1205;
  --shadow: 0 10px 30px rgba(0,0,0,.45); --shadow-sm: 0 1px 2px rgba(0,0,0,.4), 0 4px 14px rgba(0,0,0,.25);
  color-scheme: dark;
}
