/**
 * Turismo Malesia - design tokens.
 *
 * Single source of truth for colors, type, spacing, radii and shadows.
 * Every other stylesheet reads from these variables: never hardcode values.
 *
 * Breakpoints (aligned with Kadence, cannot be variables in media queries):
 *   mobile   < 720px
 *   tablet   >= 720px
 *   desktop  >= 1025px
 */

:root {
	/* Brand: logo navy blue (buttons, links); logo red and gold as small accents only */
	--tm-brand: #1d4380;          /* 9.7:1 with white text (AAA) */
	--tm-brand-dark: #15325f;     /* hover, text links on white */
	--tm-brand-light: #a9c3ee;    /* kicker / accents on dark backgrounds */
	--tm-brand-tint: #edf2fa;     /* highlighted row background */
	--tm-brand-rgb: 29, 67, 128;  /* --tm-brand as channels, for rgba() tints */

	/* Logo gold: never as text on white (2.2:1). Ink text on it: 7.4:1 */
	--tm-accent: #e0a010;
	--tm-accent-dark: #c48a08;
	--tm-accent-tint: #fdf5e1;
	--tm-on-accent: #0b1d36;

	/* Logo red: kickers, rules, small marks. 7.2:1 on white */
	--tm-red: #b0101a;
	--tm-red-light: #f08a8f;   /* on dark backgrounds */

	/* Ink (dark surfaces): logo navy */
	--tm-ink: #0b1d36;
	--tm-ink-2: #132a4a;        /* cards on dark sections */
	--tm-ink-3: #1d3a60;        /* dark button hover */

	/* Neutrals: surfaces */
	--tm-white: #ffffff;
	--tm-gray-50: #f8fafc;
	--tm-gray-100: #f3f6fa;
	--tm-gray-150: #eef2f7;
	--tm-gray-200: #e7ecf3;
	--tm-border: #e1e7ef;

	/* Neutrals: text */
	--tm-text: var(--tm-ink);
	--tm-text-2: #34405a;       /* secondary body text */
	--tm-text-3: #4a5670;       /* lead / descriptions */
	--tm-text-muted: #56627a;   /* meta, terms */
	--tm-text-subtle: #667189;  /* fine print */
	--tm-text-disabled: #a3acbb;

	/* On dark */
	--tm-on-dark: #ffffff;
	--tm-on-dark-2: rgba(255, 255, 255, 0.74);
	--tm-on-dark-3: rgba(255, 255, 255, 0.58);
	--tm-on-dark-border: rgba(255, 255, 255, 0.14);
	--tm-on-dark-fill: rgba(255, 255, 255, 0.06);

	/* Feedback */
	--tm-success: #11804f;
	--tm-success-tint: #e9f7f0;
	--tm-danger: #b42318;      /* cons, errors: 6.5:1 on white */
	--tm-danger-tint: #fdf0ee;
	--tm-warning: #b45309;
	--tm-warning-tint: #fff7e8;
	--tm-info: #1d4380;
	--tm-info-tint: #edf2fa;

	/* Extra accents (brand colors of the typographic product packs) */
	--tm-accent-violet: #6d28d9;
	--tm-accent-teal: #0f766e;
	--tm-accent-rose: #be185d;

	/* Typography: serif headings, humanist sans for text and UI */
	--tm-font-display: "Source Serif 4", Georgia, "Times New Roman", serif;
	--tm-font-body: "Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--tm-font-nav: var(--tm-font-body);

	--tm-fs-hero: clamp(2.125rem, 1.5rem + 2.6vw, 3.25rem);   /* 34 -> 52 */
	--tm-fs-h1: clamp(2rem, 1.55rem + 1.9vw, 2.75rem);        /* 32 -> 44 */
	--tm-fs-h2: clamp(1.625rem, 1.3rem + 1.3vw, 2.25rem);     /* 26 -> 36 */
	--tm-fs-h3: clamp(1.3125rem, 1.15rem + 0.6vw, 1.625rem);  /* 21 -> 26 */
	--tm-fs-h4: clamp(1.1875rem, 1.1rem + 0.35vw, 1.3125rem); /* 19 -> 21 */
	--tm-fs-h5: 1.125rem;
	--tm-fs-h6: 1.0625rem;
	--tm-fs-lead: clamp(1.125rem, 1.05rem + 0.3vw, 1.25rem);  /* 18 -> 20 */
	--tm-fs-body: 1.0625rem;    /* 17: Source Sans runs small */
	--tm-fs-sm: 0.9375rem;      /* 15 */
	--tm-fs-xs: 0.875rem;       /* 14 */
	--tm-fs-2xs: 0.8125rem;     /* 13 */
	--tm-fs-3xs: 0.75rem;       /* 12 */
	--tm-fs-micro: 0.71875rem;  /* 11.5 */

	--tm-lh-tight: 1.05;
	--tm-lh-heading: 1.2;
	--tm-lh-body: 1.65;

	--tm-ls-display: -0.005em;
	--tm-ls-label: 0.05em;
	--tm-ls-kicker: 0.1em;

	/* Spacing (4px base) */
	--tm-space-1: 0.25rem;
	--tm-space-2: 0.5rem;
	--tm-space-3: 0.75rem;
	--tm-space-4: 1rem;
	--tm-space-5: 1.25rem;
	--tm-space-6: 1.5rem;
	--tm-space-7: 1.75rem;
	--tm-space-8: 2rem;
	--tm-space-10: 2.5rem;
	--tm-space-12: 3rem;
	--tm-space-14: 3.5rem;
	--tm-space-16: 4rem;

	--tm-section-gap: clamp(3rem, 2.2rem + 3.2vw, 4.25rem);   /* 48 -> 68 */

	/* Layout */
	/* Same content box as the Kadence header (1290px wide, 1.5rem edge padding),
	   so every section lines up with the logo and the last menu item. */
	--tm-container: calc(var(--global-content-width, 1290px) - 2 * var(--global-content-edge-padding, 1.5rem));
	--tm-container-narrow: 760px;  /* long-form articles */
	--tm-gutter: var(--global-content-edge-padding, 1.5rem);
	--tm-header-h: 88px;

	/* Radii: near-square corners, institutional look */
	--tm-radius-xs: 2px;
	--tm-radius-sm: 3px;
	--tm-radius-md: 4px;
	--tm-radius-lg: 4px;
	--tm-radius-pill: 999px;

	/* Shadows */
	--tm-shadow-sm: 0 1px 2px rgba(11, 29, 54, 0.06);
	--tm-shadow-md: 0 6px 18px rgba(11, 29, 54, 0.08);
	--tm-shadow-lg: 0 18px 40px rgba(11, 29, 54, 0.22);

	/* Motion */
	--tm-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
	--tm-dur: 0.18s;

	/* Layers */
	--tm-z-header: 20;
	--tm-z-overlay: 100;
}
