/*
 * brand-identity.css — Tucson Rodeo
 *
 * Generated from the Figma token export committed to tokens/ in this theme
 * (primitives.json, light.json, dark.json). To regenerate, run from the
 * parent theme:
 *
 *   python3 tools/tokens-to-css.py \
 *       ../tucson-rodeo-theme/tokens/primitives.json \
 *       ../tucson-rodeo-theme/tokens/light.json \
 *       ../tucson-rodeo-theme/tokens/dark.json
 *
 * Paste the output over the GENERATED section below, and never edit inside
 * it by hand: hand overrides go in the OVERRIDES section, which a re-run
 * cannot touch.
 *
 * Loads after the parent stylesheet and before this theme's style.css.
 */

/* ==== GENERATED, converter output replaces everything in this section ==== */

/* Generated by tools/tokens-to-css.py. Do not edit by hand,
   re-run the converter against a fresh export instead. */

:root {

	/* ---- Primitives ---- */

	/* Primary */
	--primary-100: #E59E9E;
	--primary-200: #CC6666;
	--primary-300: #A13030;
	--primary-400: #860000;

	/* Secondary */
	--secondary-100: #E5DDD3;
	--secondary-200: #E6CFB7;
	--secondary-300: #E5AE77;
	--secondary-400: #D98C3F;

	/* Accent */
	--accent-100: #D8E6F2;
	--accent-200: #B3CFE8;
	--accent-300: #6D91B2;
	--accent-400: #467098;

	/* Neutral */
	--neutral-100: #F1EEE9;
	--neutral-200: #B7B8B9;
	--neutral-300: #6D6E70;
	--neutral-400: #333234;
	--white: #FFFFFF;
	--black: #000000;

	/* ---- Semantics, light ---- */

	/* Surface */
	--surface-page: var(--neutral-100);
	--surface-card: var(--white);
	--surface-subtle: var(--neutral-200);
	--surface-overlay: var(--neutral-100);

	/* Text */
	--text-primary: var(--neutral-400);
	--text-secondary: var(--neutral-300);
	--text-disabled: var(--neutral-200);
	--text-on-brand: var(--white);
	--text-accent: var(--primary-400);

	/* Brand */
	--brand-tint: var(--primary-100);
	--brand-subtle: var(--primary-200);
	--brand-default: var(--primary-300);
	--brand-strong: var(--primary-400);

	/* CTA */
	--cta-tint: var(--accent-100);
	--cta-default: var(--secondary-400);
	--cta-hover: var(--accent-300);
	--cta-text: var(--text-primary);

	/* Accent */
	--accent-tint: var(--accent-100);
	--accent-default: var(--accent-300);
	--accent-strong: var(--accent-400);
	--accent-link: var(--accent-300);
	--accent-badge-bg: var(--accent-100);
	--accent-badge-text: var(--accent-400);

	/* Border */
	--border-default: var(--neutral-200);
	--border-strong: var(--neutral-300);
	--border-brand: var(--primary-300);
	--border-focus: var(--accent-300);
}

.is-dark {

	/* Surface */
	--surface-page: var(--neutral-400);
	--surface-card: var(--neutral-300);
	--surface-subtle: var(--neutral-300);
	--surface-overlay: var(--neutral-300);

	/* Text */
	--text-primary: var(--neutral-100);
	--text-secondary: var(--neutral-200);
	--text-disabled: var(--neutral-300);
	--text-on-brand: var(--white);
	--text-accent: var(--primary-200);

	/* Brand */
	--brand-tint: var(--primary-400);
	--brand-subtle: var(--primary-400);
	--brand-default: var(--primary-300);
	--brand-strong: var(--primary-200);

	/* CTA */
	--cta-tint: var(--secondary-400);
	--cta-default: var(--secondary-300);
	--cta-hover: var(--secondary-200);
	--cta-text: var(--secondary-200);

	/* Accent */
	--accent-tint: var(--accent-400);
	--accent-default: var(--accent-200);
	--accent-strong: var(--accent-100);
	--accent-link: var(--accent-200);
	--accent-badge-bg: var(--accent-400);
	--accent-badge-text: var(--accent-200);

	/* Border */
	--border-default: var(--neutral-300);
	--border-strong: var(--neutral-200);
	--border-brand: var(--primary-300);
	--border-focus: var(--accent-200);
}

/* ==== OVERRIDES, hand written, survives converter re-runs ==== */

:root {

	/* ---- Type scale ----------------------------------------------------
	   clamp(minimum, preferred, maximum). Maximum is the desktop size from
	   Figma; preferred in vw is roughly maximum / 12. */

	/* Figma inner pages (2026-09-21): page title 40/700, section heading
	   30, card and FAQ titles 22/600, label 17/500, body 16/20, sub 14. */
	--font-size-h1: clamp(30px, 3.4vw, 40px);
	--font-size-h2: clamp(24px, 2.6vw, 30px);
	--font-size-h3: clamp(18px, 1.8vw, 22px);
	--font-size-h4: 17px;
	--font-size-h5: 16px;

	--font-size-body: 16px;
	--font-size-small: 14px;

	/* ---- Font families -------------------------------------------------
	   Hand-set from the Figma file until the typography export exists
	   (brief §4). Loaded in functions.php under the parent's handle. */

	--font-family-heading: "Unbounded", "Helvetica", sans-serif;
	--font-family-body: "Space Grotesk", "Helvetica", sans-serif;
	--font-family-button: "Unbounded", "Helvetica", sans-serif;

	/* ---- Line height ---------------------------------------------------
	   Unitless only, so it scales with clamped font sizes. */

	--line-height-heading: 1.2;
	--line-height-body: 1.25;

	/* ---- Buttons -------------------------------------------------------
	   Every Figma CTA is an outline with a hand-drawn stroke; the shape and
	   colours live in css/site.css. Padding per the button components. */

	--btn-radius: 4px;
	--btn-padding-y: 8px;
	--btn-padding-x: 20px;

	/* ---- Surfaces ------------------------------------------------------
	   Every frame's fill is #E5DDD3 (Secondary-100), not the export's
	   Neutral-100 page surface. */

	--surface-page: var(--secondary-100);

	/* ---- Layout --------------------------------------------------------
	   Content spans x=144 to 1296 on the 1440 artboard. */

	--content-max-width: 1152px;
	--margin-vertical-normal: 50px;
	--margin-vertical-wide: 70px;
	--margin-vertical-wider: 78px;

}
