/*
 * 3.6.51 — site-wide light/dark contrast and colour consistency audit.
 * Colour-only overrides. No layout, route, data or interaction changes.
 */
:root{
  /* Semantic aliases used by newer route centres. */
  --smt-heading:#0a1728;
  --smt-ink:#142033;
  --smt-card:#fff;
  --smt-soft:#f5f8fb;
  --smt-surface-2:#f7fafc;
  --smt-green:var(--smt-primary);
  --smt-green-soft:#e2f7ef;

  /* Stronger shared contrast tokens. */
  --smt-muted:#53657a;
  --smt-border:#d6e0ea;
  --smt-link:#087a50;
  --smt-on-primary:#04170f;
  --smt-positive-ink:#08734a;
  --smt-negative-ink:#a42532;
  --smt-warning-ink:#765000;
  --smt-info-ink:#225a8e;
  --smt-control-bg:#fff;
  --smt-control-text:#142033;
}

html[data-theme="dark"]{
  --smt-bg:#07111f;
  --smt-surface:#0d1b2e;
  --smt-surface-soft:#12243a;
  --smt-text:#f6fafd;
  --smt-muted:#b4c3d3;
  --smt-border:#2b425d;
  --smt-heading:#f7fafd;
  --smt-ink:#f1f6fb;
  --smt-card:#0d1b2e;
  --smt-soft:#12243a;
  --smt-surface-2:#12243a;
  --smt-green:var(--smt-primary);
  --smt-green-soft:#10352b;
  --smt-link:#72e7b9;
  --smt-on-primary:#04170f;
  --smt-positive-ink:#79e7b8;
  --smt-negative-ink:#ff9ea6;
  --smt-warning-ink:#f7d486;
  --smt-info-ink:#a8ccfa;
  --smt-control-bg:#10243a;
  --smt-control-text:#f6fafd;
}

/* Form fields, menus and browser-native controls. */
input,select,textarea,button{color:inherit}
input::placeholder,textarea::placeholder{color:var(--smt-muted);opacity:1}
select option{background:var(--smt-surface);color:var(--smt-text)}
input:disabled,select:disabled,textarea:disabled,button:disabled{opacity:.72}
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea{
  color:var(--smt-control-text);
  border-color:var(--smt-border);
}
html[data-theme="dark"] input:-webkit-autofill,
html[data-theme="dark"] input:-webkit-autofill:hover,
html[data-theme="dark"] input:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--smt-control-text);
  box-shadow:0 0 0 1000px var(--smt-control-bg) inset;
}

/* Shared small accent links and labels need stronger light-mode contrast. */
.smt-mega-eyebrow,.smt-eyebrow,.smt-live-eyebrow,
.smt-mega-all,.smt-drawer-all,.smt-search-box button,
.smt-panel-head>a,.smt-section-link,.smt-panel-link,
.smt-expand-button,.smt-readmore,.smt-entry-content a{
  color:var(--smt-link);
}
.smt-mini-badge,.smt-search-result-icon,.smt-team-avatar,.smt-round-badge,
.smt-empty-icon,.smt-route-entity-logo{
  color:var(--smt-link);
}
html[data-theme="dark"] .smt-mini-badge,
html[data-theme="dark"] .smt-search-result-icon,
html[data-theme="dark"] .smt-team-avatar,
html[data-theme="dark"] .smt-round-badge,
html[data-theme="dark"] .smt-empty-icon,
html[data-theme="dark"] .smt-route-entity-logo{
  background:color-mix(in srgb,var(--smt-primary) 14%,var(--smt-surface));
}

/* Green buttons remain visually identical but use readable dark ink. */
.smt-button-primary,.smt-button-primary:hover,
.smt-standings-scope button.is-active,
.smt-fixtures-follow.is-followed,
.smt-fixtures-view-switch button.is-active,
.smt-fixtures-info-grid a,
.smt-results-centre-page .smt-route-tabs a[aria-current="page"],
.smt-results-view-switch button.is-active,
.smt-predictions-date-strip button.is-active,
.smt-odds-follow[aria-pressed="true"],
.smt-odds-date-nav>div>button.is-active,
.smt-scorers-follow[aria-pressed="true"],
.smt-scorers-view-switch button.is-active,
.smt-assists-centre-page .smt-scorers-view-switch button.is-active,
.smt-match-lineup-view-switch button.is-active{
  color:var(--smt-on-primary);
}
.smt-odds-date-nav>div>button.is-active strong{color:var(--smt-on-primary)}

/* General card and table text inheritance. */
.smt-card,.smt-panel,.smt-route-panel,.smt-route-directory-section,
.smt-league-centre-card,.smt-league-insights-section,
.smt-standings-board,.smt-fixtures-list,.smt-results-list,
.smt-predictions-list,.smt-odds-list,.smt-scorers-ranking,
.smt-match-centre-card,.smt-match-events-pro,.smt-match-stats-pro,
.smt-match-lineups-pro,.smt-match-h2h-pro{
  color:var(--smt-text);
}

/* Homepage, navigation and footer secondary copy. */
.smt-brand-copy small,.smt-mega-menu p,.smt-mega-links a small,
.smt-drawer-scroll details a,.smt-search-meta,.smt-section-head p,
.smt-panel-head p,.smt-home-guide p,.smt-home-faq p,
.smt-home-faq summary+div,.smt-breadcrumbs,.smt-entry-meta{
  color:var(--smt-muted);
}
.smt-footer-brand p,.smt-footer-column a,.smt-footer .smt-brand-copy small{
  color:#b5c5d6;
}
.smt-footer-bottom{color:#9fb1c4}
.smt-footer-settings button{color:#eef5fb;border-color:rgba(255,255,255,.16)}

/* Match Spotlight light/dark supporting text. */
.smt-featured-premium{--smt-spotlight-muted:#586b82;--smt-spotlight-line:#cbd7e2}
html[data-theme="dark"] .smt-featured-premium{
  --smt-spotlight-muted:#afbed0;
  --smt-spotlight-line:#49617a;
}

/* Match-centre statuses and event icons. */
.smt-match-centre-form-badges b{color:#56697e;background:#edf1f5}
.smt-match-centre-form-badges b.is-win{color:var(--smt-positive-ink);background:#e4f8ec}
.smt-match-centre-form-badges b.is-loss{color:var(--smt-negative-ink);background:#ffe9e9}
.smt-match-event-entry.is-card .smt-match-event-card-icon,
.smt-match-centre-event-icon.is-yellow-card{color:var(--smt-warning-ink);background:#fff3bd}
.smt-match-centre-event-icon.is-red-card{color:var(--smt-negative-ink);background:#ffe3e3}
.smt-match-h2h-recent em.is-win{color:var(--smt-positive-ink);background:#e3f7ed}
.smt-match-h2h-recent em.is-loss{color:var(--smt-negative-ink);background:#ffe9eb}
html[data-theme="dark"] .smt-match-centre-form-badges b{color:#c2cfdd;background:#26384d}
html[data-theme="dark"] .smt-match-centre-form-badges b.is-win{color:#82e9bc;background:#12392d}
html[data-theme="dark"] .smt-match-centre-form-badges b.is-loss{color:#ff9ea6;background:#3b2028}
html[data-theme="dark"] .smt-match-event-entry.is-card .smt-match-event-card-icon,
html[data-theme="dark"] .smt-match-centre-event-icon.is-yellow-card{color:#f7d486;background:#3a3215}
html[data-theme="dark"] .smt-match-centre-event-icon.is-red-card{color:#ff9ea6;background:#3b2028}
html[data-theme="dark"] .smt-match-h2h-recent em.is-win{color:#82e9bc;background:#12392d}
html[data-theme="dark"] .smt-match-h2h-recent em.is-loss{color:#ff9ea6;background:#3b2028}

/* League and competition overview/standings. */
.smt-league-centre-page,.smt-standings-centre-page,
.smt-fixtures-centre-page,.smt-results-centre-page,
.smt-predictions-centre-page,.smt-odds-centre-page,
.smt-scorers-centre-page,.smt-assists-centre-page{
  color:var(--smt-text);
}
.smt-league-ranking-row small,.smt-league-ranking-row span,
.smt-league-results-list small,.smt-league-club-card small,
.smt-standings-table th,.smt-standings-table small,
.smt-standings-note,.smt-standings-key p{
  color:var(--smt-muted);
}

/* Fixtures and Results badges/callouts. */
.smt-fixtures-info-icon,.smt-results-highlights>div>span{
  color:var(--smt-positive-ink);
  background:#e2f8ef;
}
.smt-fixtures-round-cards button>span,.smt-results-round-cards button>span,
.smt-results-count span,.smt-fixtures-count{
  color:var(--smt-positive-ink);
}
.smt-fixtures-next-actions a{color:var(--smt-positive-ink)}
html[data-theme="dark"] .smt-fixtures-info-icon,
html[data-theme="dark"] .smt-results-highlights>div>span{
  color:#79e7b8;
  background:#10352b;
}
html[data-theme="dark"] .smt-fixtures-round-cards button>span,
html[data-theme="dark"] .smt-results-round-cards button>span,
html[data-theme="dark"] .smt-results-count span,
html[data-theme="dark"] .smt-fixtures-count,
html[data-theme="dark"] .smt-fixtures-next-actions a{
  color:#79e7b8;
}

/* Predictions: disclaimer and confidence pills. */
.smt-predictions-disclaimer{color:#765000;background:#fff9ed;border-color:#e9c982}
.smt-predictions-confidence.is-high{color:var(--smt-positive-ink);background:#e5f8ef;border-color:#9ddfc8}
.smt-predictions-confidence.is-medium{color:#765000;background:#fff6df;border-color:#e9cc83}
.smt-predictions-confidence.is-low{color:#53657a;background:#f1f4f7;border-color:#cbd6e1}
html[data-theme="dark"] .smt-predictions-disclaimer{color:#f7d486;background:#2b2418;border-color:#80652e}
html[data-theme="dark"] .smt-predictions-confidence.is-high{color:#79e7b8;background:#12392d;border-color:#2e7454}
html[data-theme="dark"] .smt-predictions-confidence.is-medium{color:#f7d486;background:#3c3118;border-color:#7a642c}
html[data-theme="dark"] .smt-predictions-confidence.is-low{color:#c2cfdd;background:#202a38;border-color:#44546a}

/* Odds notices, best prices and active selections. */
.smt-odds-centre-page{--smt-odds-muted:var(--smt-muted);--smt-odds-line:var(--smt-border);--smt-odds-soft:var(--smt-surface-soft);--smt-odds-card:var(--smt-surface)}
.smt-odds-notice{color:#765000;background:#fff8eb;border-color:#e9c982}
.smt-odds-price.is-best{color:#08734a;background:#eaf9f3;border-color:#91d8bf}
html[data-theme="dark"] .smt-odds-notice{color:#f7d486;background:#2b2418;border-color:#80652e}
html[data-theme="dark"] .smt-odds-price.is-best{color:#79e7b8;background:#0f2e27;border-color:#2e7454}

/* Ranking centres: small labels, active views and mobile cards. */
.smt-scorers-subhead p,.smt-scorers-podium-club,
.smt-scorers-podium-player>small,.smt-scorers-podium-stats span,
.smt-scorers-table thead th,.smt-scorers-table .is-rank,
.smt-scorers-table .is-player small,.smt-scorers-profile-person small,
.smt-scorers-profile-bars b,.smt-scorers-notes p{
  color:var(--smt-muted);
}
.smt-scorers-podium-label,.smt-scorers-reset{color:var(--smt-link)}

/* Stronger dark-mode surfaces and borders without changing geometry. */
html[data-theme="dark"] .smt-header,
html[data-theme="dark"] .smt-mobile-bottom-nav,
html[data-theme="dark"] .smt-route-tabs,
html[data-theme="dark"] .smt-tabs,
html[data-theme="dark"] .smt-filter-bar,
html[data-theme="dark"] .smt-search-box,
html[data-theme="dark"] .smt-season-picker,
html[data-theme="dark"] .smt-predictions-filters,
html[data-theme="dark"] .smt-odds-filters,
html[data-theme="dark"] .smt-scorers-toolbar{
  border-color:var(--smt-border);
}
html[data-theme="dark"] .smt-route-tabs a,
html[data-theme="dark"] .smt-tabs button,
html[data-theme="dark"] .smt-filter-bar button,
html[data-theme="dark"] .smt-mobile-bottom-nav a,
html[data-theme="dark"] .smt-mobile-bottom-nav button{
  color:var(--smt-muted);
}
html[data-theme="dark"] .smt-route-tabs a:hover,
html[data-theme="dark"] .smt-route-tabs a:focus-visible,
html[data-theme="dark"] .smt-route-tabs a[aria-current="page"]{
  color:var(--smt-on-primary);
}

/* Native focus visibility on both themes. */
:focus-visible{outline-color:color-mix(in srgb,var(--smt-primary) 72%,var(--smt-text))}

/* Accent copy used as text (not as a background) needs link-grade contrast. */
.smt-news-category,.smt-content-number,
.smt-featured-premium .smt-featured-section-head .smt-eyebrow,
.smt-player-card b,.smt-league-kicker,
.smt-league-primary-link,.smt-league-text-link,
.smt-league-section-heading>div>span,
.smt-league-insight-card header>div>span,
.smt-league-section-heading>a,.smt-league-ranking-list li b,
.smt-standings-hero-copy>span,.smt-standings-page-head span,
.smt-standings-race-head span,.smt-standings-board-head>div>span,
.smt-standings-subhead span,.smt-standings-group-row th,
.smt-scorers-hero-copy>span,.smt-scorers-page-head>div>span,
.smt-scorers-ranking-head>div>span,.smt-scorers-subhead>div>span,
.smt-scorers-notes section>span,.smt-scorers-reset,
.smt-ranking-list b,.smt-stat-list b{
  color:var(--smt-link);
}

/* The away H2H segment keeps the approved teal but clears AA contrast. */
.smt-match-h2h-distribution span:nth-child(3){background:#06766d;color:#fff}
html[data-theme="dark"] .smt-match-h2h-distribution span:nth-child(3){background:#5e82ba;color:#fff}
