/* ─────────────────────────────────────────────────────────────────────────
   US Design Tokens — Lapis & Alabaster
   Loaded only on SITE_PROFILE=discoverytours via HomepageUS.astro.
   Does NOT bleed into UK build.

   Direction: distinctly Egyptian — deep lapis blue (the actual pigment in
   Tutankhamun's mask) on warm alabaster cream, with a single hot carnelian
   accent and true gold for highlights. Drops generic luxury-travel teal.
   Variable names preserved (--us-nile etc.) so existing markup is untouched.
   ───────────────────────────────────────────────────────────────────────── */

:root,
[data-theme="us"] {
  /* Surfaces — warm Egyptian alabaster (slight peach undertone, not generic cream) */
  --us-stone: #F3E8D4;          /* paper — warm alabaster */
  --us-stone-deep: #E8D9BE;     /* alt section bg */
  --us-stone-soft: #F9F0DE;     /* card bg */
  --us-cream: #FDF6E7;          /* lightest neutral */

  /* Ink — true lapis depth, near-black-blue */
  --us-ink: #0E1E3F;            /* deep lapis ink (Tutankhamun-mask depth) */
  --us-ink-soft: #2B3A5F;       /* body text */
  --us-ink-faint: #5A6987;      /* meta */
  --us-ink-mute: #8B95AB;       /* labels */

  /* Primary accent — LAPIS (replaces teal, keeps --us-nile name for compat) */
  --us-nile: #1F4287;           /* primary lapis */
  --us-nile-deep: #122E63;      /* hover / pressed */
  --us-nile-soft: #4A6FB5;      /* tints */

  /* True gold (cleaner than amber-brown) */
  --us-amber: #C9A24D;          /* metallic gold */
  --us-amber-deep: #9C7A2F;     /* hover */

  /* Carnelian — Egypt's hot accent, replaces terracotta */
  --us-rose: #B23A2B;           /* carnelian red — sparing */

  /* Lines — derived from lapis ink */
  --us-rule: rgba(14, 30, 63, 0.10);
  --us-rule-strong: rgba(14, 30, 63, 0.20);

  /* Type scale (denser than UK) */
  --us-font-display: "General Sans", "Inter", system-ui, -apple-system, sans-serif;
  --us-font-body: "Inter", system-ui, -apple-system, sans-serif;

  --us-text-xs: 11px;
  --us-text-sm: 13px;
  --us-text-base: 16px;
  --us-text-lg: 18px;
  --us-text-xl: 22px;
  --us-text-2xl: 28px;
  --us-text-3xl: 36px;
  --us-text-4xl: 48px;
  --us-text-5xl: 64px;
  --us-text-6xl: 80px;

  /* Tracking */
  --us-track-tight: -0.02em;
  --us-track-loose: 0.18em;

  /* Stat numerals — bigger than UK */
  --us-stat: 88px;

  /* Section pacing — denser than UK's 24/28 padding */
  --us-section-pad-y: 5rem;     /* mobile: 80px */
  --us-section-pad-y-md: 7rem;  /* desktop: 112px */
  --us-gutter: 1.25rem;
  --us-gutter-md: 2rem;
  --us-max: 1240px;
}

/* Apply on .us-theme containers (HomepageUS root) */
.us-theme {
  background: var(--us-stone);
  color: var(--us-ink);
  font-family: var(--us-font-body);
  font-feature-settings: "ss01", "cv11", "cv03";
}

.us-theme .us-display {
  font-family: var(--us-font-display);
  font-weight: 600;
  letter-spacing: var(--us-track-tight);
  line-height: 1.05;
}

.us-theme .us-display-medium {
  font-family: var(--us-font-display);
  font-weight: 500;
  letter-spacing: var(--us-track-tight);
}

.us-theme .us-stat {
  font-family: var(--us-font-display);
  font-weight: 700;
  font-size: var(--us-stat);
  line-height: 1;
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums lining-nums;
}

.us-theme .us-eyebrow {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-weight: 500;
  color: var(--us-nile);
}

.us-theme .us-num {
  font-feature-settings: "tnum", "lnum";
  font-variant-numeric: tabular-nums lining-nums;
}

/* CTAs — squared corners, not the UK pill shape */
.us-theme .us-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 1.75rem;
  background: var(--us-nile);
  color: white;
  border-radius: 6px;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.005em;
  transition: background 200ms;
  text-decoration: none;
}
.us-theme .us-btn-primary:hover { background: var(--us-nile-deep); }

.us-theme .us-btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 1.75rem;
  background: transparent;
  color: var(--us-ink);
  border: 1.5px solid var(--us-rule-strong);
  border-radius: 6px;
  font-weight: 600;
  font-size: 14px;
  transition: border 200ms, background 200ms;
  text-decoration: none;
}
.us-theme .us-btn-secondary:hover {
  border-color: var(--us-ink);
  background: var(--us-stone-soft);
}

.us-theme .us-btn-amber {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 1.75rem;
  background: var(--us-amber);
  color: var(--us-ink);
  border-radius: 6px;
  font-weight: 600;
  font-size: 14px;
  transition: background 200ms;
  text-decoration: none;
}
.us-theme .us-btn-amber:hover { background: var(--us-amber-deep); color: white; }

/* Cards — subtle elevation, not flat */
.us-theme .us-card {
  background: var(--us-cream);
  border: 1px solid var(--us-rule);
  border-radius: 12px;
  transition: transform 200ms, box-shadow 200ms, border-color 200ms;
}
.us-theme .us-card:hover {
  transform: translateY(-2px);
  border-color: var(--us-rule-strong);
  box-shadow: 0 12px 32px -16px rgba(14, 30, 63, 0.22);
}

/* Section sequence variants */
.us-theme .us-section-deep { background: var(--us-stone-deep); }
.us-theme .us-section-ink {
  background: var(--us-ink);
  color: var(--us-cream);
}

/* Star rating glyph */
.us-theme .us-star { color: var(--us-amber); }

/* Ribbon for trust stack */
.us-theme .us-trust-ribbon {
  background: rgba(14, 30, 63, 0.05);
  border: 1px solid var(--us-rule);
  border-radius: 999px;
  padding: 0.5rem 1.25rem;
  display: inline-flex;
  align-items: center;
  gap: 1.5rem;
  font-size: 12px;
  font-weight: 500;
  color: var(--us-ink-soft);
}

/* Honest answers / FAQ accordion — clean numbered list */
.us-theme .us-faq-item {
  border-top: 1px solid var(--us-rule);
  padding: 1.5rem 0;
}
.us-theme .us-faq-item:last-child { border-bottom: 1px solid var(--us-rule); }

.us-theme .us-faq-num {
  font-family: var(--us-font-display);
  font-weight: 600;
  color: var(--us-nile);
  font-size: 14px;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.05em;
}

/* Comparison block grid */
.us-theme .us-compare-grid {
  display: grid;
  gap: 1px;
  background: var(--us-rule);
  border: 1px solid var(--us-rule);
  border-radius: 8px;
  overflow: hidden;
}

.us-theme .us-compare-cell {
  background: var(--us-cream);
  padding: 1.5rem;
}

.us-theme .us-compare-us {
  background: linear-gradient(180deg, rgba(31, 66, 135, 0.05), rgba(31, 66, 135, 0.10));
}

/* Sample itinerary day card */
.us-theme .us-day-card {
  border-left: 3px solid var(--us-nile);
  padding-left: 1.5rem;
}

/* Lead magnet inline form */
.us-theme .us-leadform {
  display: flex;
  gap: 0.5rem;
  background: var(--us-cream);
  padding: 0.5rem;
  border: 1px solid var(--us-rule-strong);
  border-radius: 8px;
  max-width: 480px;
}
.us-theme .us-leadform input {
  flex: 1;
  border: 0;
  background: transparent;
  padding: 0.625rem 0.875rem;
  font-size: 14px;
  color: var(--us-ink);
  outline: none;
}
.us-theme .us-leadform input::placeholder { color: var(--us-ink-faint); }
.us-theme .us-leadform button {
  background: var(--us-nile);
  color: white;
  border: 0;
  border-radius: 6px;
  padding: 0.625rem 1rem;
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
  transition: background 200ms;
}
.us-theme .us-leadform button:hover { background: var(--us-nile-deep); }

/* Speakable hint (visually invisible but selectable) */
.us-theme [data-speakable="true"] {
  /* No visual change — schema-only */
}
