/**
 * TP Tours design tokens — the single source of truth.
 * Never hard-code colors, spacing, or radii in templates; consume these
 * custom properties. Values are client-supplied (media/ + client palette).
 * Older --tpt-nile-* / clay / sand aliases were removed in rev 2; see
 * docs/client-brand-assets.md for the palette source of truth.
 */

:root {
	/* Color — client brand palette */
	--brand-paper: #fafafa;    /* client off-white */
	--brand-sand: #bda580;     /* sand / beige */
	--brand-gold: #e9b266;     /* warm gold */
	--brand-clay: #d27b50;     /* terracotta */
	--brand-ink: #252a3d;      /* dark navy */
	--brand-brown: #4a3428;    /* warm dark brown from logo lockup (derived) */

	/* Color — derived surfaces & text (accessibility states) */
	--tpt-sand-050: #fafafa;   /* page background ≈ off-white paper */
	--tpt-sand-100: #f4efe4;   /* alternate section background (sand at ~8%) */
	--tpt-sand-300: #e3d9c4;   /* hairline borders, dividers */
	--tpt-surface: #ffffff;    /* cards */
	--tpt-ink-900: #252a3d;    /* primary text (dark navy) */
	--tpt-ink-600: #565b70;    /* secondary text */

	/* Color — accents (mapped to client palette) */
	--tpt-nile-700: #252a3d;   /* primary CTA fill = brand navy */
	--tpt-nile-800: #1a1e2e;   /* primary hover */
	--tpt-nile-050: #f4efe4;   /* tinted chips / selected facets */
	--tpt-clay-600: #d27b50;   /* secondary accent: prices, eyebrows, badges
	                               (AA only at >=18px or >=14px bold — large/bold usage) */
	--tpt-gold-500: #e9b266;   /* highlights, badges on navy, rules */
	--tpt-night-900: #1b1f2e;  /* footer background */

	/* Color — semantic */
	--tpt-error: #a33a2a;
	--tpt-focus: #252a3d;
	--tpt-scrim: linear-gradient(180deg, rgba(37, 42, 61, 0) 0%, rgba(37, 42, 61, 0.62) 100%);

	/* Typography — client branding references: Franklin Gothic Heavy, Moon Get,
	   FortySecondStreetHB. Exact webfonts not supplied; Libre Franklin is the
	   legally safe stand-in for the display face (see client-brand-assets.md). */
	--tpt-font-display: "Libre Franklin", "Franklin Gothic Medium", Arial, sans-serif;
	--tpt-font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;

	/* Fluid type scale */
	--tpt-text-display: clamp(2.4rem, 1.7rem + 3vw, 3.9rem);
	--tpt-text-h2: clamp(1.9rem, 1.5rem + 1.6vw, 2.6rem);
	--tpt-text-h3: 1.5rem;
	--tpt-text-h4: 1.25rem;
	--tpt-text-body: 1.0625rem;
	--tpt-text-small: 0.875rem;
	--tpt-text-eyebrow: 0.8125rem;

	/* Spacing scale (4px base) */
	--tpt-space-1: 4px;
	--tpt-space-2: 8px;
	--tpt-space-3: 12px;
	--tpt-space-4: 16px;
	--tpt-space-5: 20px;
	--tpt-space-6: 24px;
	--tpt-space-8: 32px;
	--tpt-space-10: 40px;
	--tpt-space-12: 48px;
	--tpt-space-16: 64px;
	--tpt-space-24: 96px;
	--tpt-space-32: 128px;
	--tpt-section-gap: clamp(4rem, 3rem + 3vw, 6rem);

	/* Layout */
	--tpt-container: 1240px;
	--tpt-gutter: clamp(1rem, 0.5rem + 1.5vw, 2rem);

	/* Radius */
	--tpt-radius-card: 16px;
	--tpt-radius-input: 12px;
	--tpt-radius-badge: 8px;
	--tpt-radius-pill: 999px;

	/* Elevation */
	--tpt-shadow-rest: 0 1px 2px rgba(37, 42, 61, 0.06);
	--tpt-shadow-hover: 0 12px 32px -8px rgba(37, 42, 61, 0.18);

	/* Motion */
	--tpt-transition: 180ms ease-out;

	/* Component metrics */
	--tpt-control-height: 52px;
	--tpt-control-height-lg: 56px;
	--tpt-header-height: 72px;
}
