/**
 * Booking design tokens — scoped entirely under `.tsc-booking-app`.
 *
 * DELIBERATE DECISION (Stage 3, Prompt 1): this file does NOT define a
 * brand colour palette. It inherits the live site's own `--tsc-*` custom
 * properties, which docs/architecture/SYSTEM-ARCHITECTURE.md records as
 * already existing on the production theme (`astra-child-tsc`) — see
 * that file's line ~106 and MASTER-SRS.md NFR-007 ("Existing design
 * tokens (--tsc-* CSS custom properties) are reused; no new
 * color/spacing/typography values are introduced").
 *
 * This prompt's live-site re-verification of those exact values was
 * BLOCKED: the production host (<server IP redacted>) refused/timed out every
 * connection attempt from this environment during this session, while
 * general internet access was confirmed working (see
 * docs/development/FRONTEND-ARCHITECTURE.md for the full diagnostic).
 * Every `--tscb-*` token below therefore reads `var(--tsc-<name>, <fallback>)`
 * — on the real site, the real theme values win automatically; the
 * fallback exists ONLY so this interface renders sensibly in a
 * disposable local WordPress install that does not have the real theme
 * installed. The fallback palette is deliberately neutral (grayscale +
 * a single restrained blue accent) — NOT green — specifically so it can
 * never be mistaken for an assumed/approved brand colour, per this
 * prompt's explicit "do not assume emerald-green" instruction.
 */

.tsc-booking-app {
	/* --- Colour: inherited from the theme, neutral local fallback --- */
	--tscb-color-primary: var(--tsc-color-primary, #0e2a47);
	--tscb-color-primary-contrast: var(--tsc-color-primary-contrast, #ffffff);
	--tscb-color-secondary: var(--tsc-color-secondary, #5a6b7a);
	--tscb-color-accent: var(--tsc-color-accent, #f4a62a);

	--tscb-color-background: var(--tsc-color-background, #ffffff);
	--tscb-color-surface: var(--tsc-color-surface, #f7f8f9);
	--tscb-color-surface-hover: var(--tsc-color-surface-hover, #eef0f2);
	--tscb-color-border: var(--tsc-color-border, #d8dce0);
	--tscb-color-border-strong: var(--tsc-color-border-strong, #b7bec5);

	--tscb-color-text: var(--tsc-color-text, #1f2933);
	--tscb-color-text-muted: var(--tsc-color-text-muted, #5a6b7a);
	--tscb-color-text-on-primary: var(--tsc-color-text-on-primary, #ffffff);

	--tscb-color-success: var(--tsc-color-success, #1f7a4d);
	--tscb-color-success-surface: var(--tsc-color-success-surface, #eaf6ef);
	--tscb-color-warning: var(--tsc-color-warning, #92600a);
	--tscb-color-warning-surface: var(--tsc-color-warning-surface, #fbf1de);
	--tscb-color-error: var(--tsc-color-error, #a3242f);
	--tscb-color-error-surface: var(--tsc-color-error-surface, #fbeceb);

	--tscb-color-focus-ring: var(--tsc-color-focus-ring, #0e2a47);

	/* --- Typography: inherited, system-font fallback (never invented webfonts) --- */
	--tscb-font-heading: var(--tsc-font-heading, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);
	--tscb-font-body: var(--tsc-font-body, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);

	--tscb-font-size-sm: var(--tsc-font-size-sm, 0.875rem);
	--tscb-font-size-base: var(--tsc-font-size-base, 1rem);
	--tscb-font-size-lg: var(--tsc-font-size-lg, 1.125rem);
	--tscb-font-size-xl: var(--tsc-font-size-xl, 1.375rem);
	--tscb-font-size-2xl: var(--tsc-font-size-2xl, 1.75rem);

	--tscb-font-weight-normal: 400;
	--tscb-font-weight-medium: 500;
	--tscb-font-weight-bold: 700;

	--tscb-line-height-base: 1.55;
	--tscb-line-height-heading: 1.25;

	/* --- Spacing (a restrained 8px scale) --- */
	--tscb-space-1: 0.25rem;
	--tscb-space-2: 0.5rem;
	--tscb-space-3: 0.75rem;
	--tscb-space-4: 1rem;
	--tscb-space-5: 1.5rem;
	--tscb-space-6: 2rem;
	--tscb-space-7: 3rem;
	--tscb-space-8: 4rem;

	/* --- Radii: inherited (Astra sites commonly use a small, consistent radius) --- */
	--tscb-radius-sm: var(--tsc-radius-sm, 4px);
	--tscb-radius-md: var(--tsc-radius-md, 8px);
	--tscb-radius-lg: var(--tsc-radius-lg, 12px);
	--tscb-radius-full: 999px;

	/* --- Shadows: restrained, no heavy drop shadows --- */
	--tscb-shadow-sm: 0 1px 2px rgba(15, 23, 32, 0.06);
	--tscb-shadow-md: 0 2px 8px rgba(15, 23, 32, 0.08);
	--tscb-shadow-focus: 0 0 0 3px color-mix(in srgb, var(--tscb-color-focus-ring) 35%, transparent);

	/* --- Motion --- */
	--tscb-duration-fast: 120ms;
	--tscb-duration-base: 200ms;
	--tscb-easing: ease-out;

	/* --- Breakpoints (documented as reference values for the media
	     queries in layout.css — CSS custom properties cannot be used
	     inside @media conditions, so these exist for JS/documentation
	     parity, not direct CSS consumption) --- */
	--tscb-breakpoint-sm: 380px;
	--tscb-breakpoint-md: 600px;
	--tscb-breakpoint-lg: 900px;
	--tscb-breakpoint-xl: 1200px;
}

/* Reduced-motion: disable all booking-app transitions/animations. */
@media (prefers-reduced-motion: reduce) {
	.tsc-booking-app,
	.tsc-booking-app * {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
		scroll-behavior: auto !important;
	}
}
