:root{
/* ---- Base ramp: Blush (the brand's one saturated colour) ---- */
--blush-100:#FEF1EF; /* faintest tint — sampled from handle type on cream */
--blush-200:#FBE7E6;
--blush-300:#F8D4D3; /* sampled: anti-aliased edge tint */
--blush-400:#F5C7C7;
--blush-500:#F2B6B6; /* CORE BRAND BLUSH — full-bleed page colour */
--blush-600:#E5A3A3; /* hover on blush surfaces */
--blush-700:#D08E8E; /* pressed */

/* ---- Base ramp: Cream / neutral paper ---- */
--cream-000:#FFFFFF;
--cream-050:#FFFBF9; /* CORE PAPER — every light page */
--cream-100:#FEF6F2;

/* ---- Base ramp: Ink ---- */
--ink-900:#000000;   /* headings and body on cream — true black, not softened */
--ink-700:#4C4B4A;
--ink-500:#82807F;
--ink-300:#BCB9B7;

/* ---- Accent ---- */
--highlight-500:#FFFD47; /* highlighter yellow — link/label colour on blush only */

/* ---- Semantic aliases ---- */
--surface-page:var(--cream-050);
--surface-page-blush:var(--blush-500);
--surface-raised:var(--cream-000);
--surface-tint:var(--blush-100);

--text-heading:var(--ink-900);
--text-body:var(--ink-900);
--text-muted:var(--ink-500);
--text-on-blush:var(--cream-050);
--text-on-blush-soft:var(--blush-100);
--text-link:var(--highlight-500);
--text-handle:var(--blush-500);
--text-stat-label:var(--blush-500);

--border-rule:var(--ink-900);      /* the 2px price-column rule */
--border-hairline:var(--ink-300);
--icon-blush:var(--blush-500);
--wave-fill:var(--cream-050);

/* ---- Imagery palette ----
   Sampled FROM the photography, not used for layout. Use to sanity-check that a
   photo belongs in the feed, or to tint a mock product. */
--img-matcha:#6E8145;
--img-turf:#6B7A3A;
--img-terracotta:#9D4020;
--img-pastry:#D9A76C;
}
