/* Sewa Rent design tokens — single source for colours, radii, spacing. Modules use var(--sewa-*) only. */
:root{
  --sewa-accent:#e0173c; /* AA (4.8:1 on white); brand source #f91942 — includes/a11y.php */ --sewa-accent-dark:#d8113a; --sewa-navy:#1f2a44; --sewa-text:#333; --sewa-muted:#707070; /* AA on #fff / #f7f8fa / #f6f6f6 (was #777, 4.5:1) */ --sewa-line:#e6e6e6;
  --sewa-bg:#fff; --sewa-bg-soft:#f7f8fa; --sewa-ok:#2ecc71; --sewa-warn:#f39c12; --sewa-danger:#e74c3c;
  --sewa-radius:14px; --sewa-radius-pill:50px; --sewa-shadow:0 6px 24px rgba(0,0,0,.08); --sewa-shadow-lg:0 12px 40px rgba(0,0,0,.16);
  --sewa-space-1:4px; --sewa-space-2:8px; --sewa-space-3:12px; --sewa-space-4:16px; --sewa-space-6:24px; --sewa-space-8:32px; --sewa-space-12:48px;
  --sewa-font-size-sm:14px; --sewa-font-size:15px; --sewa-font-size-lg:17px; --sewa-h2:32px; --sewa-h3:24px;
}
/* Palette (TRACKER §3 P1 "colours → tokens"): every colour used by the child theme (style.css, style-home.css) and
   cabinet.css, defined once. Values are the exact pre-refactor colours (no visual change); near-duplicate greys
   (e2/e3, f5/f6/f7/f8, c4/c8) are consolidation candidates for a design pass. Alpha colours use the *-rgb channels:
   rgba(var(--sewa-black-rgb), .45). */
:root{
  --sewa-white:#fff; --sewa-black:#000;
  --sewa-white-rgb:255,255,255; --sewa-black-rgb:0,0,0; --sewa-accent-rgb:224,23,60; --sewa-hero-rgb:10,30,50;
  --sewa-accent-soft:#fdecee; --sewa-warn-soft:#fff4e5; --sewa-progress:#e07912; --sewa-whatsapp:#25d366; --sewa-slate:#4c5a73;
  --sewa-grey-11:#111; --sewa-grey-22:#222; --sewa-grey-3a:#3a3a3a; --sewa-grey-44:#444; --sewa-grey-55:#555; --sewa-grey-80:#808080;
  --sewa-grey-88:#888; --sewa-grey-cool:#9aa0a6; --sewa-grey-aa:#aaa; --sewa-grey-b0:#b0b0b0; --sewa-grey-bb:#bbb; --sewa-grey-c4:#c4c4c4;
  --sewa-grey-c8:#c8c8c8; --sewa-grey-cc:#ccc; --sewa-grey-d0:#d0d0d0; --sewa-grey-d9:#d9d9d9; --sewa-grey-dd:#ddd; --sewa-grey-e2:#e2e2e2;
  --sewa-grey-e3:#e3e3e3; --sewa-grey-e9:#e9e9e9; --sewa-grey-eb:#ebebeb; --sewa-grey-ee:#eee; --sewa-grey-f3:#f3f3f3; --sewa-grey-f5:#f5f5f6;
  --sewa-grey-f6:#f6f6f7; --sewa-grey-f7:#f7f7f7; --sewa-grey-f8:#f8f8f8;
  /* cabinet empty-state illustrations */
  --sewa-art-gold:#d9b26a; --sewa-art-tan:#c99b62;
  /* home: region card tones and category tile gradients */
  --sewa-tone-1-from:#17698c; --sewa-tone-1-to:#2a9aa8; --sewa-tone-2-from:#0c2461; --sewa-tone-2-to:#1e3799;
  --sewa-tone-3-from:#27ae60; --sewa-tone-3-to:#2f9e74; --sewa-tone-4-from:#c0392b; --sewa-tone-4-to:#e55039;
  --sewa-tone-5-from:#2c3e50; --sewa-tone-5-to:#4b6584; --sewa-tone-6-from:#b9770e; --sewa-tone-6-to:#d68910;
  --sewa-cat-villa-from:#0f9b8e; --sewa-cat-villa-to:#5ad6a4; --sewa-cat-equipment-to:#f7c948;
  --sewa-cat-aircraft-from:#1e3c72; --sewa-cat-aircraft-to:#2a5298; --sewa-cat-helicopter-from:#4b2c5e; --sewa-cat-helicopter-to:#8e44ad;
  --sewa-cat-car-from:#0b5ea8; --sewa-cat-car-to:#4fb3e8;
  --sewa-cat-driver-from:#263238; --sewa-cat-driver-to:#f2b705; --sewa-cat-kos-from:#8d3b72; --sewa-cat-kos-to:#e2777a; --sewa-cat-guide-from:#2e7d32; --sewa-cat-guide-to:#9ccc65;
}
/* Accessibility (WCAG 2.2 AA, docs/qa/a11y.md): text-on-tint and on-dark variants, focus ring */
:root{
  --sewa-primary:var(--sewa-accent); --sewa-accent-deep:#c41034; --sewa-focus:var(--sewa-navy);
  --sewa-whatsapp-aa:#15803d; --sewa-whatsapp-aa-dark:#166534; --sewa-whatsapp-text:#15803d;
  --sewa-featured-text:#846400; --sewa-info-text:#286f94; --sewa-on-dark-muted:#a3a8b0;
}
/* Readability (TRACKER 2.95, docs/review/readability-2026-10-11.md). The brand red is 4.0:1 on white (#f91942, prod while
   sewa_a11y_aa_colors=off) and 4.8:1 (#e0173c) but only 4.2:1 on the soft red tint, so SMALL red text (< 24px, or < 18.66px
   bold) — category names, links, labels — uses --sewa-red-text (#c41034: 6.0:1 on white, 5.3:1 on --sewa-accent-soft).
   Buttons and large text keep the brand/accent red. --sewa-text-subtle = calm grey for secondary lines (6.0:1 on white,
   5.3:1 on the tint); --sewa-hover-bg = neutral row highlight; --sewa-photo-scrim = dark layer under text on photos and
   gradient tiles (white small text >= 4.5:1 on the brightest 5 % of pixels). */
:root{
  --sewa-red-text:var(--sewa-accent-deep); --sewa-text-subtle:#5f6368; /* 2.121: very dark grey, not black — area rows of the location list, list icons (13.7:1 on white, 12:1 on the tint) */ --sewa-text-strong:#2b2f36;--sewa-hover-bg:#f3f4f6; --sewa-select-bg:var(--sewa-accent-soft);
  --sewa-photo-scrim:rgba(var(--sewa-black-rgb),.3); --sewa-ok-text:#166534; /* green text on the light green pill: 6.4:1 */ --sewa-red-on-dark:#ff7a8f; /* red links on the dark #222 mobile menu: 6.4:1 */
}
/* Form controls (TRACKER 2.104): every cabinet / wizard / account input has a visible resting box (WCAG 1.4.11: edge
   >= 3:1 — #7c828d is 3.9:1 on white, 3.7:1 on the fill), 48px high, 16px text (no iOS zoom), label above, unit inside.
   Focus = navy edge + 2px navy ring (a thickness change, not colour only); error = red text token + icon + 2px red edge;
   disabled = grey fill + dashed edge. Chips / tiles / cards (radio, checkbox) share the edge; selected = navy + check. */
:root{
  --sewa-field-border:#7c828d; --sewa-field-border-hover:var(--sewa-grey-44); --sewa-field-bg:#fafbfc; --sewa-field-focus:var(--sewa-navy);
  --sewa-field-bg-disabled:var(--sewa-hover-bg); --sewa-field-border-disabled:var(--sewa-grey-cool); --sewa-field-error:var(--sewa-red-text);
  --sewa-field-radius:10px; --sewa-field-h:48px; --sewa-field-font:16px; --sewa-field-selected:var(--sewa-navy); --sewa-field-selected-soft:#eef1f7;
}
