/**
 * Boss & Bubs Taxi — design tokens.
 *
 * One vocabulary, one file, owned by the plugin. No literal hex, font-size,
 * border-radius or box-shadow may appear anywhere else in this plugin's or
 * the companion theme's CSS (emails/ is the documented exception — D39).
 * Enforced by the token-audit test in tools/test.php.
 *
 * P42 (D171, spec/14-CORRECTIONS-BRIEF.md): the client's own navy and gold.
 * The token names are P13's and stay - harbour is now the navy, signal the
 * gold - so no rule outside this file changed its vocabulary. Navy is the
 * brand and the primary button, with white text. Gold is an accent: a gold
 * fill carries --on-signal text, and gold is never small text on a light
 * ground (--signal-deep carries gold text there). There is deliberately no
 * "success" colour; a confirmed state is navy. token-values-test.php holds
 * every value below to the brief's table.
 */

:root {
	/* Font */
	--font: 'Figtree', system-ui, -apple-system, 'Segoe UI', sans-serif;

	/* Brand */
	--harbour: #14284B;
	--harbour-deep: #0C1A33;
	--harbour-soft: #E3E8F1;
	--harbour-tint: #F0F3F8;
	--signal: #C9A24B;
	/* The gold that carries TEXT on light grounds: 5.0:1 on --paper, 4.6:1
	   on --base. --signal itself is 2.4:1 on --paper. */
	--signal-deep: #8C6A1C;
	--signal-soft: #F7EFDC;

	/* Text on a gold fill: navy, 7.2:1. Never white (2.4:1). */
	--on-signal: #0C1A33;

	/* Neutrals */
	--base: #F4F5F7;
	--paper: #FFFFFF;
	--fog: #F8F9FB;
	--ink: #111827;
	--slate: #4B5563;
	/* Secondary text - field labels, hints, fact labels, placeholders.
	   5.0:1 on --base, 4.9:1 on --harbour-tint. */
	--muted: #5F6B7A;
	/* Disabled controls and non-text marks only (WCAG 1.4.3 exempts them);
	   never body text. */
	--faint: #8B95A3;
	--hairline: #E1E5EB;
	--rule: #E7EAEF;
	--card-edge: #E1E5EB;
	--segment-off: #E1E5EB;
	--badge-bg: #F0F3F8;
	--notice-ink: #7A4F0E;
	--notice-edge: #F1DDB0;
	--connector: #C3CCDA;
	--dot: #C3CCDA;

	/* On navy (footer, dark bands) */
	--on-navy: #FFFFFF;
	--on-navy-body: #CBD5E4;
	--on-navy-link: #E3E8F1;
	--on-navy-muted: #AAB6C8;
	/* Footer headings and copyright - real text, so real AA: 7.1:1. */
	--on-navy-faint: #AAB6C8;
	--on-navy-label: #93A1B8;
	--on-navy-fill: rgba(255, 255, 255, 0.10);
	--on-navy-edge: rgba(255, 255, 255, 0.18);
	--on-navy-rule: rgba(255, 255, 255, 0.14);
	--on-navy-dash: rgba(255, 255, 255, 0.3);

	/* P42 (D171): the floating WhatsApp button's fill - WhatsApp's own
	   green, the platform's mark, used for that one button only. */
	--whatsapp: #25D366;

	/* Status. A confirmed state is navy, not a separate green. */
	--confirm: var(--harbour);
	--status-error: #B42318;
	--status-warn-ink: var(--notice-ink);
	--status-warn-bg: var(--signal-soft);

	/* Focus ring. P43 (D172): navy on the light grounds (13.4:1 on --base);
	   gold was 2.40:1 on --paper, under 1.4.11's 3:1. The navy bands (the
	   footer, the closing band, the booking photo's shade) set --focus to
	   --focus-on-dark, gold on navy at 6.1:1. */
	--focus: var(--harbour);
	--focus-on-dark: var(--signal);

	/* Type — 8 sizes, fixed (PAGES-FEATURES-RULES.md #6). */
	--t-12: 12px;
	--t-13: 13px;
	--t-14: 14px;
	--t-15: 15px;
	--t-16: 16px;
	--t-18: 18px;
	--t-24: 24px;
	--t-34: 34px;

	/* Radii — 4, fixed (D31). */
	--r-sm: 10px;
	--r-md: 12px;
	--r-card: 18px;
	--r-pill: 999px;

	/* Overlay. P42: --harbour-deep's own channels (12, 26, 51). */
	--scrim: rgba(12, 26, 51, 0.45);
	/* P33 (D162): the service photo cards' gradient, --harbour-deep from clear
	   to 88%. The title sits only where it is full strength, where white over
	   a pure white photo pixel is 12.6:1. */
	--photo-scrim-strong: rgba(12, 26, 51, 0.88);
	--photo-scrim-clear: rgba(12, 26, 51, 0);
	/* P42 (D171): the homepage booking photo's shade, --harbour-deep at 85% on
	   the left to 40% on the right. The white heading and lines sit in the
	   left half, where it is at least 62.5%: white over that on a pure white
	   photo pixel is 5.0:1 (booking-backdrop-test.php computes it). */
	--hero-scrim-left: rgba(12, 26, 51, 0.85);
	--hero-scrim-right: rgba(12, 26, 51, 0.40);

	/* Shadows, in --ink's channels (17, 24, 39) */
	--shadow-card: 0 1px 2px rgba(17, 24, 39, 0.04);
	--shadow-rail: 0 12px 28px -18px rgba(17, 24, 39, 0.22);
	--shadow-pop: 0 16px 32px -14px rgba(17, 24, 39, 0.26);
	--shadow-soft: 0 10px 24px -18px rgba(17, 24, 39, 0.18);
	--shadow-chip: 0 2px 8px rgba(17, 24, 39, 0.14);
	/* The primary button's lift, in --harbour's channels (20, 40, 75). */
	--shadow-cta: 0 8px 18px -10px rgba(20, 40, 75, 0.45);
	--shadow-sticky: 0 -6px 24px rgba(17, 24, 39, 0.09);
	/* P13: the ring around a selected vehicle card. A shadow rather than a
	   border so selecting a card never shifts the layout by 3px. */
	--shadow-ring: 0 0 0 3px var(--harbour-tint);
}
