/* MatchLab v9.5 — Geist + Inter typography system
   Geist = display/UI emphasis (headings, card titles, buttons)
   Inter = body copy, menus, labels, tables, scores and statistics
*/
:root{
  --ml-font-display:"Geist","Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --ml-font-body:"Inter","Geist",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}

/* ---------- GLOBAL BODY / COPY: INTER ---------- */
html,body,
input,select,textarea,
a,p,span,small,label,li,th,td,dt,dd,
time,em,
.nav,.tabs,.tab,.badge,.kpi,.metric,.field,.search,.input,.select,
[class*="team-"],[class*="match-"],
[class*="mlp-"],[class*="mld-"],[class*="landing-"]{
  font-family:var(--ml-font-body)!important;
  font-synthesis:none;
}

body{font-weight:400!important}

/* Normal copy / descriptions: Inter 400 */
p,small,time,dd,
.muted,.small,.description,.subtitle,.caption,.hint,
.card p,.news-body p,.bubble,.field label,
.mlp-footer p,.mlp-page-head p,.mlp-feature-card p,.mlp-process p,.mlp-faq details p,
.landing-v89-copy>p,.landing-v89-feature-grid p,
body.demo-standalone .mld-title p{
  font-family:var(--ml-font-body)!important;
  font-weight:400!important;
}

/* Menus / navigation / labels: Inter 500 */
nav,nav a,
.nav a,.nav-item,.sidebar .nav a,
.tab,.tabs,.breadcrumb,.breadcrumb a,
.team-v86-breadcrumb,.team-v86-breadcrumb a,
.mlp-header nav a,.mlp-footer a,.mlp-page-head>a,
.landing-v89-header nav a,
body.demo-standalone .mld-side nav button,
body.demo-standalone .mld-link-btn,
.field label,.form-label,.label,
.global-search-result-v85 small,
.team-history-date-v85 span,.team-upcoming-v85 small{
  font-family:var(--ml-font-body)!important;
  font-weight:500!important;
}

.nav a.active,.tab.active,.mlp-header nav a.active{font-weight:500!important}

/* ---------- DISPLAY / UI: GEIST ---------- */
/* Large titles: Geist 700/800 */
h1,
.top-title h1,
.login-brand h1,
.team-hero-main-v85 h1,
.team-v86-name h1,.team-v86-identity h1,
.mlp-hero h1,.mlp-page-head h1,
.landing-v89-copy h1,
body.demo-standalone .mld-team-hero h2,
body.demo-standalone .mld-title h2{
  font-family:var(--ml-font-display)!important;
  font-weight:800!important;
  letter-spacing:-.025em;
}

/* Large secondary display titles: Geist 700 */
.login-right h2,.mlp-cta h2,.mlp-page-cta h2,
.landing-v89-cta h2,
.match-detail-v87 h1,
.section-hero-title,.page-title{
  font-family:var(--ml-font-display)!important;
  font-weight:700!important;
}

/* Card / section titles: Geist 600 */
h2,h3,h4,h5,h6,
.card h2,.card h3,.card h4,
.section-title h2,.section-title h3,
.team-card-head-v85 h2,
.mlp-how-box>h2,.mlp-steps h3,.mlp-why>h2,.mlp-pricing-mini>h2,
.mlp-feature-card h3,.mlp-process h3,.mlp-faq summary,
.landing-v89-how>h2,.landing-v89-steps h3,.landing-v89-why h2,.landing-v89-pricing h2,
.landing-v89-feature-grid h3,
body.demo-standalone .mld-panel h3{
  font-family:var(--ml-font-display)!important;
  font-weight:600!important;
  letter-spacing:-.012em;
}

/* Buttons / CTAs: Geist 600 */
button,.btn,.icon-btn,.mlp-btn,
.landing-v89-actions button,.landing-v89-hero-actions button,.landing-v89-cta button,
.v89-auth-switch button,.v89-auth-submit,
.mlp-auth-tabs button,.mlp-auth-submit,
body.demo-standalone .mld-side-bottom button,
body.demo-standalone .mld-panel header button{
  font-family:var(--ml-font-display)!important;
  font-weight:600!important;
  letter-spacing:-.008em;
}

/* Brand / logo lettering: Geist 700 */
.logo,.brand-name,.landing-v89-logo,.mlp-logo,
.sidebar .brand,.demo-brand{
  font-family:var(--ml-font-display)!important;
  font-weight:700!important;
  letter-spacing:-.02em;
}

/* ---------- NUMBERS / STATS: INTER ---------- */
/* Main numbers, scores, odds and KPIs: Inter 700 */
.kpi .value,.donut span,.metric-values,
.team-metric-v85 strong,.team-rank-v85 strong,
.team-v86-kpi strong,.team-v86-stat strong,
.team-v86-position strong,.team-v86-standing-points,
.team-v86-season-card strong,.team-v86-split strong,
.team-history-score-v85,.match-score,.score,
.match-v87-score,.match-v87-stat-value,.match-v87-team-score,
[class*="stat-value"],[class*="score-value"],[class*="kpi-value"],
[class*="probability"],[class*="prob-value"],
[class*="odds"],[class*="quota"],
.mlp-plan-grid strong,.mlp-pricing-page strong,
.landing-v89-plans strong,
body.demo-standalone .mld-score,
body.demo-standalone .mld-kpi strong,
body.demo-standalone .mld-stat strong,
body.demo-standalone .mld-metric strong{
  font-family:var(--ml-font-body)!important;
  font-weight:700!important;
  font-variant-numeric:tabular-nums lining-nums;
  letter-spacing:-.01em;
}

/* Dense table/stat numbers: Inter 600 */
table td,table th,
.team-standing-v85,.team-standing-v85 th,
.team-v86-standing-row,
.badge,.form-chip-v85,
[class*="percentage"],[class*="percent"],
[class*="metric-number"],[class*="stat-number"],
body.demo-standalone table td,body.demo-standalone table th{
  font-family:var(--ml-font-body)!important;
  font-weight:600!important;
  font-variant-numeric:tabular-nums lining-nums;
}

/* Team/player/match names are content, not display decoration. */
.team,.team-name,.player-name,.match-team,
.team-history-club-v85,.team-v86-standing-name{
  font-family:var(--ml-font-body)!important;
  font-weight:600!important;
}

/* Legacy overrides that previously forced Arial / unsupported weights. */
.perf-loss-char,.perf-refund-char{
  font-family:var(--ml-font-body)!important;
  font-weight:600!important;
}
.radar-value{
  font-family:var(--ml-font-body)!important;
  font-weight:700!important;
  font-variant-numeric:tabular-nums lining-nums;
}
.radar-change{font-family:var(--ml-font-body)!important;font-weight:600!important}
.mlp-steps>b,.landing-v89-steps>b{font-family:var(--ml-font-body)!important;font-weight:500!important}

/* Make inherited strong text follow its context unless it is a numeric KPI above. */
p strong,li strong,.description strong,.subtitle strong,.caption strong{
  font-family:var(--ml-font-body)!important;
  font-weight:600!important;
}
