/* SyncSmart's brand for the Lynton booking widget (spec 272 Part 3.4).
 *
 * The widget ships no brand of its own — it reads CSS custom properties and
 * defines none. This file is SyncSmart's, lives in SyncSmart's repo, and is the
 * whole of "theming happens in the consuming site". Nothing here required a
 * change to @platform/factory-booking.
 *
 * Load order matters and is set in migration.config.json:
 *   booking.css  (structure) → neutral.css (base tokens) → this file (brand)
 *
 * Values are lifted from the site's own theme stylesheet
 * (template_theme-style.min.css), not invented:
 *   #5b0eff  primary button background      #7d7aff  its hover
 *   #010101  body text                      #41434d  secondary text
 *   Poppins  the site typeface, already vendored under
 *            /assets/site/_hcms/googlefonts/Poppins
 *
 * Scoped to .lb-public — the widget's own root — so it cannot leak onto the
 * page around it. */
.lb-public {
	/* Brand purple. 400 is the site's hover tint; 600/700 are darkened for
	 * pressed and focus states the site does not itself define. */
	--accent-400: #7d7aff;
	--accent-500: #5b0eff;
	--accent-600: #4a0bd1;
	--accent-700: #3a09a3;

	/* The site loads Poppins already, so the widget costs no extra font. */
	--font-sans: Poppins, Arial, Helvetica, sans-serif;
	--fw-med: 500;
	--fw-strong: 600;

	/* The page this sits on is white; keep the widget flat against it rather
	 * than floating a panel of a different shade. */
	--bg-base: #ffffff;
	--bg-panel: #ffffff;
	--bg-raised: #f7f7fa;
	--bg-subtle: #eeeef4;
	--bg-hover: rgba(91, 14, 255, 0.06);
	--border-strong: #dcdce4;

	--fg-default: #010101;
	--fg-muted: #41434d;
	--fg-dim: #6b6d77;
	--fg-faint: #9a9ca4;

	/* The site mixes square edges with 4px and 12px; pills are reserved for its
	 * own buttons, so the widget stays on the softer of its two card radii. */
	--radius-sm: 4px;
	--radius-md: 8px;
	--radius-lg: 12px;

	/* The site is light-only — no dark stylesheet ships — so pin the widget
	 * rather than letting it follow the visitor's system preference and go dark
	 * on a white page. */
	color-scheme: light;

	/* The widget's own stylesheet is written for cal.lynton.ai, where it IS the
	 * page: min-height:100vh plus a page-scale radial gradient. Embedded in a
	 * section both are wrong — it would reserve a full viewport and paint a glow
	 * across the middle of the page. Size to content, sit flat on the white
	 * background instead.
	 *
	 * This is the theming contract doing its job: two declarations here, none in
	 * the package. */
	min-height: 0;
	background: none;

	/* The SyncSmart Turnstile widget is INVISIBLE (Cloudflare account 98cc6370,
	 * sitekey 0x4AAAAAAEfrzcXja_Exf1n-), so it draws nothing. The component
	 * reserves 65px + 14px for a Managed challenge's box; left alone that would
	 * be a blank gap between the notes field and the buttons.
	 *
	 * Collapse it. If the widget is ever switched back to Managed, remove these
	 * two lines or the challenge renders flush against the buttons. */
	--turnstile-min-height: 0;
	--turnstile-gap: 0;
}
