/* Premium type layer — Outfit for headings, Public Sans for text, Roboto Mono
   for every code and figure. Load AFTER theme-susin.css. */

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=Public+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=Roboto+Mono:wght@400;500;600&display=swap');

:root {
  --font-heading: 'Outfit', 'Barlow Condensed', system-ui, sans-serif;
  --font-body: 'Public Sans', system-ui, -apple-system, sans-serif;
  --font-mono: 'Roboto Mono', ui-monospace, 'SF Mono', Menlo, monospace;
}

html, body {
  font-family: var(--font-body);
  font-size: 13px;
  line-height: 1.5;
  letter-spacing: -0.003em;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-feature-settings: 'ss01' 1, 'cv05' 1;
}

/* headings: geometric, tight, never shouty */
h1, h2, h3, h4,
[style*="font-family: var(--font-heading)"] {
  font-family: var(--font-heading) !important;
  font-weight: 600 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.08 !important;
}

/* the page title in the header bar */
header [style*="font-size: 26px"],
header [style*="font-size: 24px"],
main [style*="font-size: 26px"],
main [style*="font-size: 24px"] {
  font-family: var(--font-heading) !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
}

/* micro labels — the small caps rail that organises every screen */
[style*="text-transform: uppercase"][style*="letter-spacing"] {
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
  font-size: 9.5px !important;
  color: var(--color-neutral-600);
}

/* every code, quantity and money figure is monospaced and aligned */
[style*="tabular-nums"],
[data-num],
input[inputmode="numeric"] {
  font-family: var(--font-mono) !important;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
}

/* the big KPI figures read as instrument readouts */
main [style*="font-size: 19px"][style*="tabular-nums"],
main [style*="font-size: 22px"][style*="tabular-nums"],
main [style*="font-size: 24px"][style*="tabular-nums"],
main [style*="font-size: 26px"][style*="tabular-nums"] {
  font-weight: 500 !important;
  letter-spacing: -0.035em !important;
}

/* item codes sit a shade smaller than the description they label */
main [style*="color: var(--color-accent-800)"][style*="tabular-nums"] {
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: 0;
}

/* buttons and controls */
button, input, select, textarea {
  font-family: var(--font-body);
  letter-spacing: -0.005em;
}
button { font-weight: 600 !important; }

/* attribute chips and tags */
main span[style*="background: var(--color-neutral-200)"] {
  border-radius: 6px;
  font-feature-settings: 'tnum' 1;
}

/* denser, calmer table rows */
main [data-row] { line-height: 1.35; }

/* long descriptions wrap kindly when they are allowed to wrap */
main p, main [style*="line-height: 1.5"], main [style*="line-height: 1.6"] {
  text-wrap: pretty;
}
