:root{
  --t-xs:0.75rem; --t-sm:0.875rem; --t-base:1rem; --t-md:1.125rem;
  --t-lg:1.25rem; --t-xl:1.5rem; --t-2xl:2rem; --t-3xl:2.5rem;
  --w-normal:400; --w-medium:500; --w-semi:600; --w-bold:700;
  --serif:'Fraunces',Georgia,serif; --sans:'Work Sans',sans-serif; --mono:'IBM Plex Mono',monospace;
  --lh-tight:1.15; --lh-snug:1.35; --lh-body:1.6;
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:24px; --s-6:32px; --s-7:48px;
  --r-sm:8px; --r-md:12px; --r-full:999px; --b-hair:1px; --b-firm:2px;
  --brand-gold:#c9a655; --brand-red:#c8202b; --brand-cream:#f2ede0;
  --bg:#0d0d10; --surface:#17171c; --surface-2:#22222a; --line:#2e2e38; --line-firm:#45454f;
  --text:#f5f2ea; --text-2:#b8b4ab; --text-3:#8a8781;
  --gold:#e0c176; --gold-bg:#2a2415; --gold-line:#6b5a2c;
  --red:#f2a0a6; --red-bg:#2e1416; --red-line:#6e2b30;
  --green:#8fd8a4; --green-bg:#14251a; --green-line:#2f5236;
  --shadow:0 1px 3px rgba(0,0,0,0.4),0 6px 16px rgba(0,0,0,0.24);
}
html[data-theme="light"]{
  --bg:#e8e8e6; --surface:#ffffff; --surface-2:#f4f4f2; --line:#d8d8d5; --line-firm:#a8a8a4;
  --text:#15151a; --text-2:#4a4a50; --text-3:#6c6c73;
  --gold:#7a5f1f; --gold-bg:#faf4e4; --gold-line:#d4c193;
  --red:#a8151d; --red-bg:#fdf2f2; --red-line:#e0b0b0;
  --green:#26592d; --green-bg:#f0f6f1; --green-line:#b4ceb8;
  --shadow:0 1px 3px rgba(0,0,0,0.10),0 4px 12px rgba(0,0,0,0.05);
}
/* second light block: dashboard/driver only */
html[data-theme="light"]{
  --ink:#e3dfd4; --black:#e3dfd4; --black-deep:#d8d3c6; --panel:#ffffff; --panel-raised:#ffffff;
  --text:#1a1815; --text-muted:#5f5a51;
  --divider:rgba(26,24,21,0.14); --divider-strong:rgba(26,24,21,0.26);
  --gold:#7a5f1f; --gold-bright:#6b5219; --gold-hi:#6b5219; --gold-pale:#8a6b26;
  --gold-deep:#d9cba4; --gold-bg:#f7f1e2; --gold-line:#cbb684;
  --red:#a8161f; --red-text:#8f1219;
  --surface:#ffffff; --surface-2:#1a1815;
}
html[data-theme="light"] body{ background:var(--ink); color:var(--text); }

/* Fallback link shown by route-fares.js in place of any figure that cannot be
   read live from the backend (see data-live). Never a stale number. */
.cy-live-link{ color:var(--gold-bright, #c9a655); text-decoration:none; border-bottom:1px solid currentColor; white-space:nowrap; }
.cy-live-link:hover{ color:var(--gold, #9c7a3c); }

/* Book/quote call-to-action inside a Related Routes block: the reader at the
   bottom of a page is the most likely to book, so give them a way to. */
.lp-cross-links .book-btn{ display:block; text-align:center; background:var(--gold,#9c7a3c); color:var(--ink,#0a0a0a); border:2px solid var(--logo-red,#c8202b); border-radius:28px; padding:15px 24px; font-weight:600; margin:0 0 20px; }
.lp-cross-links .book-btn:hover{ background:var(--gold-bright,#c9a655); color:var(--ink,#0a0a0a); }
