/* ══════════════════════════════════════════════════════════════════════════
   Arcade Fish Soup — THEME TOKENS.  Edit colours and fonts here, nowhere else.
   Every page on the site loads this file first; nothing else defines a colour
   or a font stack. Palette and type come from ../../Theme/Assets.png and
   ../../YI JIA CHUN Rustic Brand Kit.png.
   ══════════════════════════════════════════════════════════════════════════ */
:root{
  /* ── greens: the house colour ── */
  --green:#23422F;        /* bars, buttons, headings on paper */
  --green-dp:#182D20;     /* footer, deepest band */
  --green-lt:#2F5A40;     /* hover on a green fill */

  /* ── oranges. Read this before using one. ──
     The kit's orange is beautiful and mostly illegible: #E56A22 is 2.67:1 on
     the paper and 3.27:1 under white, so it fails WCAG AA for text. It stays
     decorative ON PAPER, and only carries type on dark green, where it finally
     clears AA (3.4:1 on --green, 4.5:1 on --green-dp). */
  --orange:#E56A22;       /* decoration on paper; display type on dark green */
  --orange-hi:#D2591B;    /* large display type on paper, >=24px — 3.3:1 */
  --orange-dp:#B94D14;    /* filled buttons (white text) + small type on light paper */
  --orange-dpr:#A34310;   /* small caps on the darker paper band, and hovers */

  --brown:#6A3E22;        /* the ticker band, muted captions */
  --sage:#7A8F6A;         /* chip outlines */

  /* ── paper ── */
  --cream:#F5E6D0;        /* the page */
  --cream-lt:#FBF2E4;     /* cards sitting on the page */
  --cream-dk:#EEDCC2;     /* alternating bands, soft fills */
  --cream-soft:rgba(245,230,208,.85);  /* body text on the dark footer */

  --ink:#2C2318;          /* body text */
  --ink-2:#6A5B48;        /* secondary text */
  --rule:rgba(44,35,24,.28);           /* hairlines, card borders */

  --wa:#1EA952; --wa-dk:#178742;       /* WhatsApp green, kept literal on purpose */

  /* ── type. Three faces, fixed duties. ──
     --disp  headings, prices, quantities, counters — anything that IS a
             headline or a number.
     --mark  brand voice in small doses — buttons, the zh label beside a product
             name, eyebrows, small-caps tags, footer column headers.
     --body  paragraphs, addresses, hours, and a form's own field labels.
     Shantell Sans stands in for the kit's "Rough Marker", which is not a
     webfont. If that licence is ever bought, swap it here and the whole site
     follows. Keep the <link> in each page's <head> in step with these. */
  --disp:'Bebas Neue',Impact,sans-serif;
  --mark:'Shantell Sans','Comic Sans MS',cursive;
  --body:'DM Sans',system-ui,sans-serif;

  /* paper grain: an SVG turbulence tile, so it costs bytes rather than a request */
  --paper:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='200' height='200' filter='url(%23g)' opacity='0.13'/></svg>");
  /* one rough-edged mask, reused by every painted brush label on the site */
  --rough:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 60' preserveAspectRatio='none'><filter id='r' x='-12%25' y='-30%25' width='124%25' height='160%25'><feTurbulence type='fractalNoise' baseFrequency='0.028 0.4' numOctaves='3' seed='9' result='n'/><feDisplacementMap in='SourceGraphic' in2='n' scale='11' xChannelSelector='R' yChannelSelector='G'/></filter><rect x='8' y='8' width='184' height='44' rx='10' fill='%23fff' filter='url(%23r)'/></svg>");
}
