/* cleanbros design system — tokens
   Source: Figma "Главная / 1440" (node 7816:20717), offline cache figma/export.json.
   Roles ratified via /pl-design-figma-import on 2026-06-10 (import: 1 экран + доп опции).
   Numeric convergence (scale dedup) deferred to /pl-design-tokens-system. */

/* ── Gerbera webfont (woff2+woff under design/fonts/gerbera) ─────────── */
@font-face{font-family:'Gerbera';font-weight:300;font-style:normal;font-display:optional;
  src:url('/assets/fonts/gerbera/Gerbera-Light.woff2') format('woff2'),url('/assets/fonts/gerbera/Gerbera-Light.woff') format('woff')}
@font-face{font-family:'Gerbera';font-weight:400;font-style:normal;font-display:optional;
  src:url('/assets/fonts/gerbera/Gerbera.woff2') format('woff2'),url('/assets/fonts/gerbera/Gerbera.woff') format('woff')}
@font-face{font-family:'Gerbera';font-weight:500;font-style:normal;font-display:optional;
  src:url('/assets/fonts/gerbera/Gerbera-Medium.woff2') format('woff2'),url('/assets/fonts/gerbera/Gerbera-Medium.woff') format('woff')}
@font-face{font-family:'Gerbera';font-weight:700;font-style:normal;font-display:optional;
  src:url('/assets/fonts/gerbera/Gerbera-Bold.woff2') format('woff2'),url('/assets/fonts/gerbera/Gerbera-Bold.woff') format('woff')}
@font-face{font-family:'Gerbera';font-weight:900;font-style:normal;font-display:optional;
  src:url('/assets/fonts/gerbera/Gerbera-Black.woff2') format('woff2'),url('/assets/fonts/gerbera/Gerbera-Black.woff') format('woff')}

:root{
  /* colors — role ← anonymous token (tokens.json) */
  --ink:#333333;          /* color-1 ×476 — primary text / icons            */
  --white:#FFFFFF;        /* color-2 ×238 — page & input surface            */
  --surface:#F4F0ED;      /* color-3 ×91  — beige section / card / calc bg  */
  --muted:#767575;        /* color-6 ×71  — secondary text (desc, prices)   */
  --placeholder:#B5B0AC;  /* color-4 ×87  — inactive nav / input placeholder*/
  --border:#D6D0CD;       /* color-5 ×79  — input / card / divider stroke   */
  --accent:#9BF0F5;       /* color-7 ×45  — cyan brand (buttons, login)     */
  --star:#F8CD02;         /* color-10 ×5  — rating stars                    */
  --link:#1AA5B8;         /* color-13 ×2  — teal link (раздел «Безопасность и гарантии»; glavnaya/05-cleaners) */

  /* typography — Gerbera; size/line-height transcribed raw from Figma */
  --font:'Gerbera','Manrope','Segoe UI',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  --fs-h1:52px;      --lh-h1:52px;        /* text-29 */
  --fs-h2:38px;      --lh-h2:41.8px;      /* text-9  */
  --fs-lead:20px;    --lh-lead:28px;      /* text-7  */
  --fs-body:18px;    --lh-body:26.64px;   /* text-1  */
  --fs-body-sm:15px; --lh-body-sm:22.8px; /* text-2  */
  --fs-caption:14px; --lh-caption:19.6px; /* text-4  */
  --fs-nav:16px;     --lh-nav:22.4px; --ls-nav:1.6px;  /* text-5 — uppercase main nav */
  --fs-para:16px;    --lh-para:23.68px;   /* text-8  — body paragraph / interview quotes */
  --fs-btn:15px;     --lh-btn:21px;       /* text-3  — button label / CTA copy           */
  --fs-micro:12px;   --lh-micro:16.8px;   /* text-6  — micro copy (card badges, captions) */

  /* spacing — dominant scale (full dedup deferred to convergence step) */
  --space-8:8px;
  --space-10:10px;
  --space-12:12px;
  --space-20:20px;
  --space-30:30px;   /* situations card grid gap (Frame 1469 itemSpacing) */

  /* radii (not in tokens.json — observed on pills & cards) */
  --r-card:12px;
  --r-pill:40px;

  /* mobile — max lines of body copy before truncation with «…» (card desc,
     paragraph notes). Single knob to retune truncation on every mobile screen. */
  --mobile-text-lines:3;
}
