/* Base: font, reset, RTL defaults, type utilities. Values come from tokens.css. */

/* Self-hosted IBM Plex Sans Arabic (per-script subsets, weights 400/500/600/700) */
@import url("../assets/fonts/fonts.css");

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { height: 100%; }
body {
  min-height: 100%;
  direction: rtl;
  font-family: var(--font-family-text);
  font-size: var(--typo-size-text-md);
  line-height: var(--lh-text-md);
  color: var(--text-default);
  background: var(--background-body);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img, svg { display: block; max-width: 100%; }
button { font: inherit; color: inherit; background: none; border: none; cursor: pointer; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }

/* Type utilities — names mirror Figma text styles */
.display-xs-bold     { font-size: var(--typo-size-display-xs); line-height: var(--lh-display-xs); font-weight: 700; color: var(--text-display); }
.display-xs-semibold { font-size: var(--typo-size-display-xs); line-height: var(--lh-display-xs); font-weight: 600; color: var(--text-display); }
.text-xl-bold        { font-size: var(--typo-size-text-xl); line-height: var(--lh-text-xl); font-weight: 700; }
.text-xl-medium      { font-size: var(--typo-size-text-xl); line-height: var(--lh-text-xl); font-weight: 500; }
.text-lg-bold        { font-size: var(--typo-size-text-lg); line-height: var(--lh-text-lg); font-weight: 700; }
.text-lg-semibold    { font-size: var(--typo-size-text-lg); line-height: var(--lh-text-lg); font-weight: 600; }
.text-md-bold        { font-size: var(--typo-size-text-md); line-height: var(--lh-text-md); font-weight: 700; }
.text-md-semibold    { font-size: var(--typo-size-text-md); line-height: var(--lh-text-md); font-weight: 600; }
.text-md-medium      { font-size: var(--typo-size-text-md); line-height: var(--lh-text-md); font-weight: 500; }
.text-md-regular     { font-size: var(--typo-size-text-md); line-height: var(--lh-text-md); font-weight: 400; }
.text-sm-bold        { font-size: var(--typo-size-text-sm); line-height: var(--lh-text-sm); font-weight: 700; }
.text-sm-semibold    { font-size: var(--typo-size-text-sm); line-height: var(--lh-text-sm); font-weight: 600; }
.text-sm-medium      { font-size: var(--typo-size-text-sm); line-height: var(--lh-text-sm); font-weight: 500; }
.text-sm-regular     { font-size: var(--typo-size-text-sm); line-height: var(--lh-text-sm); font-weight: 400; }
.text-xs-semibold    { font-size: var(--typo-size-text-xs); line-height: var(--lh-text-xs); font-weight: 600; }
.text-xs-medium      { font-size: var(--typo-size-text-xs); line-height: var(--lh-text-xs); font-weight: 500; }
.text-xs-regular     { font-size: var(--typo-size-text-xs); line-height: var(--lh-text-xs); font-weight: 400; }
.text-2xs-semibold   { font-size: var(--typo-size-text-2xs); line-height: var(--lh-text-2xs); font-weight: 600; }

/* Numerals in this product are Western (Saudi-gov default) */
body { font-variant-numeric: lining-nums; }
