/*
 * Design tokens — constantinoiu theme (§3 of docs/IMPLEMENTATION_PLAN.md).
 *
 * Single source of truth: every color, type, spacing, border, and fixed
 * size used anywhere in the theme is defined ONCE here as a `:root`
 * custom property. Component/page CSS (later waves) must reference these
 * tokens — never repeat a raw hex/px value.
 *
 * Plain CSS, no build step. Base: 1rem = 16px (see base.css `html`).
 */

:root {

	/* ---------------------------------------------------------------
	 * 3.1 Color tokens
	 * --------------------------------------------------------------- */
	--c-white: #FFFFFF;
	--c-black: #000000;
	--c-accent: #CDC600;
	--c-badge-available: #00418B;
	--c-badge-sold: #FF0000;
	--c-error: #ff6767; /* client feedback-01: contact form inline validation error color */

	/* Overlay color/opacity are runtime-overridable from Customizer/meta
	   settings (inline style on the background/overlay element), so they
	   stay as plain, directly-overridable custom properties. */
	--overlay-color: #000000;
	--overlay-opacity: 0.5;

	/* ---------------------------------------------------------------
	 * Font family (self-hosted, see fonts.css for @font-face)
	 * --------------------------------------------------------------- */
	--font-family: 'Google Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

	/* ---------------------------------------------------------------
	 * 3.2 Type scale primitives
	 * --------------------------------------------------------------- */
	--fs-14: 0.875rem; /* 14px */
	--fs-16: 1rem;     /* 16px */
	--fs-18: 1.125rem; /* 18px */
	--fs-20: 1.25rem;  /* 20px */
	--fs-22: 1.375rem; /* 22px */
	--fs-24: 1.5rem;   /* 24px */
	--fs-30: 1.875rem; /* 30px */
	--fs-32: 2rem;     /* 32px */

	/* Letter-spacing tokens */
	--ls-14: 0.0875rem; /* 1.40px */
	--ls-28: 0.175rem;  /* 2.80px */
	--ls-32: 0.2rem;    /* 3.20px */
	--ls-36: 0.225rem;  /* 3.60px */
	--ls-40: 0.25rem;   /* 4px */
	--ls-44: 0.275rem;  /* 4.40px */
	--ls-64: 0.4rem;    /* 6.40px */

	/* Weight tokens */
	--fw-regular: 400;
	--fw-bold: 700;

	/* ---------------------------------------------------------------
	 * 3.4 Spacing scale (normalized from spec rems)
	 * --------------------------------------------------------------- */
	--sp-4xl: 6.25rem;  /* 100px */
	--sp-3xl: 4.375rem; /* 70px */
	--sp-2xl: 3.75rem;  /* 60px */
	--sp-xl: 3.125rem;  /* 50px */
	--sp-lg: 2.5rem;    /* 40px */
	--sp-md: 1.875rem;  /* 30px */
	--sp-sm: 1.25rem;   /* 20px */
	--sp-xs: 1rem;      /* 16px */

	/* Borders */
	--bd-strong: 3px; /* card / image white border */
	--bd-thin: 1px;   /* form field border */

	/* Desktop content container (client feedback-01): shared centered
	   column width for the Lucrari listing (lucrari.css) AND the Lucrari
	   detail (detaliu.css) — single-sourced here so both stay in sync. */
	--container-max: 1140px; /* client-specified (inspector measurement) */

	/* ---------------------------------------------------------------
	 * 3.4 Fixed sizes (not part of the spacing scale)
	 * --------------------------------------------------------------- */
	--logo-home: 27.5rem;   /* home desktop logo width */
	--logo-inner: 21.875rem; /* inner-page desktop logo width */
	--logo-mobile: 16.25rem; /* mobile logo width, all pages */

	--icon-social: 1.5rem; /* social icon size */

	--form-width: 25rem;    /* contact form field width */
	--input-height: 3.125rem; /* contact form input height */

}

/*
 * ---------------------------------------------------------------------
 * 3.5 Breakpoints — REFERENCE ONLY, not usable inside @media queries.
 *
 * CSS custom properties cannot be substituted into @media query
 * conditions, so these are NOT declared as custom properties. This
 * comment block is the canonical source of truth: every page/component
 * stylesheet (home.css, lucrari.css, detaliu.css, despre.css,
 * contact.css, components.css) MUST hardcode these exact min-width
 * values in its @media queries — do not invent different breakpoints.
 *
 *   --bp-sm  480px  — small-phone tuning
 *   --bp-md  768px  — PRIMARY desktop/mobile switch (menu orientation,
 *                      carousel arrows, masonry columns, detail title
 *                      layout all flip here)
 *   --bp-lg  1024px — large-desktop tuning (e.g. lock masonry to 2-col)
 *   --bp-xl  1280px — max content framing
 *
 * Mobile-first: author base rules for mobile, then override with
 * `@media (min-width: 768px) { ... }` etc.
 * ---------------------------------------------------------------------
 */

/*
 * ---------------------------------------------------------------------
 * 3.3 Semantic type tokens — DEFERRED to components.css (Wave 2.4).
 *
 * The plan (§3.3, task 2.4) explicitly assigns type-menu, type-badge,
 * type-card-title, type-card-price, type-detail-title, type-detail-price,
 * type-detail-status, type-detail-body, type-cta, and type-body as
 * plain-CSS utility classes living in components.css, built from the
 * primitives defined above. Kept out of this file so tokens.css stays a
 * pure custom-property layer.
 * ---------------------------------------------------------------------
 */
