:root{--bh-ink:#0A0D12;--bh-card:#121821;--bh-surface:#18202B;--bh-line:#232C38;--bh-lime:#4DA8FF;--bh-text:#F1F4F8;--bh-muted:#98A2AF}
/* Bets & Horses Racing Data — styles (Night Meeting dark palette; colours remapped from the horse.bet fork)
   Forces a self-contained light "panel" so content stays readable
   regardless of the host theme's light/dark mode. */

.bh-main {
  /* Transparent so theme dark/light mode shows through */
  background: transparent !important;
  padding: 32px 0 64px;
  min-height: 60vh;
}

.bh-main * {
  /* Reset any inherited dark-mode text colors from the theme */
  color: inherit;
}

.bh-shell {
  font-family: var(--bh-body-font, "Inter", system-ui, sans-serif);
  line-height: 1.5;
  background: transparent;
}
.bh-container, .bh-page {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 20px;
  color: var(--bh-text);
}

.bh-breadcrumbs { font-size: 12px; color: var(--bh-muted) !important; margin-bottom: 20px; }
.bh-breadcrumbs ol { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 4px; }
.bh-breadcrumbs li::after { content: " › "; color: #6B7685; margin: 0 4px; }
.bh-breadcrumbs li:last-child::after { content: ""; }
.bh-breadcrumbs a { color: var(--bh-lime) !important; text-decoration: none; }
.bh-breadcrumbs a:hover { text-decoration: underline; }
.bh-breadcrumbs li[aria-current] { color: var(--bh-text) !important; }

/* H1 / page header */
.bh-page-header,
.bh-race-header {
  background: var(--bh-card) !important;
  color: var(--bh-text) !important;
  border: 0.5px solid rgba(255,255,255,0.08);
  border-radius: 12px;
  padding: 24px 28px;
  margin-bottom: 20px;
}
.bh-eyebrow {
  font-size: 11px;
  letter-spacing: 1.2px;
  color: var(--bh-muted) !important;
  margin-bottom: 6px;
  font-weight: 500;
  text-transform: uppercase;
}
.bh-page-header h1,
.bh-race-header h1,
.bh-main h1 {
  font-size: 28px !important;
  font-weight: 600 !important;
  margin: 0 0 8px !important;
  line-height: 1.2 !important;
  color: var(--bh-text) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  text-align: left !important;
  background: transparent !important;
  text-shadow: none !important;
  padding: 0 !important;
}
.bh-summary { font-size: 15px; color: #C8CFD8 !important; margin: 0; }
.bh-region { font-size: 16px; color: var(--bh-muted) !important; font-weight: 400; }

/* Tags */
.bh-tag-row { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.bh-tag { background: var(--bh-surface); color: #C8CFD8 !important; padding: 3px 9px; border-radius: 4px; font-size: 12px; }
.bh-tag-info { background: rgba(77,168,255,.08); color: var(--bh-lime) !important; }

/* Sections */
.bh-section {
  background: var(--bh-card) !important;
  color: var(--bh-text) !important;
  border: 0.5px solid rgba(255,255,255,0.08);
  border-radius: 12px;
  padding: 20px 24px;
  margin-bottom: 20px;
}
.bh-section h2,
.bh-main h2 {
  font-size: 18px !important;
  font-weight: 600 !important;
  margin: 0 0 14px !important;
  color: var(--bh-text) !important;
  text-align: left !important;
  background: transparent !important;
}
.bh-section-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 12px; flex-wrap: wrap; gap: 8px; }
.bh-section-head h2 { margin: 0 !important; }

.bh-updated { font-size: 12px; color: var(--bh-muted) !important; display: inline-flex; align-items: center; gap: 6px; }
.bh-dot { width: 6px; height: 6px; border-radius: 50%; background: #2E7D32; display: inline-block; }

/* Meetings grid */
.bh-meetings-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; margin-bottom: 28px; }
.bh-meeting-card { background: var(--bh-card) !important; color: var(--bh-text) !important; border: 0.5px solid rgba(255,255,255,0.08); border-radius: 10px; padding: 16px 18px; }
.bh-meeting-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 12px; padding-bottom: 10px; border-bottom: 0.5px solid rgba(255,255,255,0.06); }
.bh-meeting-head h2 { font-size: 17px !important; font-weight: 600 !important; margin: 0 !important; }
.bh-meeting-head h2 a { color: var(--bh-text) !important; text-decoration: none; }
.bh-meeting-head h2 a:hover { color: var(--bh-lime) !important; }
.bh-going { font-size: 12px; color: var(--bh-muted) !important; }

/* Race list */
.bh-race-list { list-style: none; margin: 0; padding: 0; }
.bh-race-link { display: grid; grid-template-columns: 50px 1fr auto; gap: 10px; padding: 8px 0; color: var(--bh-text) !important; text-decoration: none; align-items: baseline; border-bottom: 0.5px solid rgba(255,255,255,0.04); }
.bh-race-link:hover { background: var(--bh-surface); }
.bh-time { font-variant-numeric: tabular-nums; font-weight: 600; color: var(--bh-text) !important; }
.bh-race-name { font-size: 14px; color: var(--bh-text) !important; }
.bh-race-meta { font-size: 11px; color: var(--bh-muted) !important; }

/* Racecard table */
.bh-racecard-table-wrap { border: 0.5px solid rgba(255,255,255,0.08); border-radius: 10px; overflow-x: auto; background: var(--bh-card); }
.bh-racecard-table, .bh-results-table { width: 100%; border-collapse: collapse; font-size: 13px; background: var(--bh-card) !important; color: var(--bh-text) !important; }
.bh-racecard-table thead tr, .bh-results-table thead tr { background: var(--bh-surface) !important; color: var(--bh-muted) !important; font-size: 11px; letter-spacing: 0.5px; }
.bh-racecard-table th, .bh-results-table th { text-align: left; padding: 10px 12px; font-weight: 600; text-transform: uppercase; white-space: nowrap; color: var(--bh-muted) !important; }
.bh-racecard-table th.bh-num, .bh-racecard-table td.bh-num, .bh-results-table th.bh-num, .bh-results-table td.bh-num, .bh-col-odds, .bh-col-best, .bh-col-form { text-align: right; }
.bh-col-num { width: 36px; text-align: center !important; }
.bh-racecard-table td, .bh-results-table td { padding: 11px 12px; vertical-align: middle; border-top: 0.5px solid rgba(255,255,255,0.06); color: var(--bh-text) !important; }
.bh-racecard-table tbody tr:hover, .bh-results-table tbody tr:hover { background: var(--bh-surface) !important; }
.bh-row-fav { background: rgba(77,168,255,.06) !important; }
.bh-row-fav:hover { background: #effaf3 !important; }

.bh-horse-name a { color: var(--bh-text) !important; text-decoration: none; font-weight: 600; }
.bh-horse-name a:hover { color: var(--bh-lime) !important; }
.bh-horse-meta { font-size: 12px; color: var(--bh-muted) !important; margin-top: 2px; }
.bh-horse-meta a { color: var(--bh-muted) !important; text-decoration: none; }
.bh-horse-meta a:hover { color: var(--bh-lime) !important; }

.bh-pill { font-size: 10px; padding: 1px 6px; border-radius: 3px; margin-left: 6px; letter-spacing: 0.4px; }
.bh-pill-fav { background: rgba(77,168,255,.10); color: #7CC0FF !important; }

.bh-form-string { font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; font-size: 12px; color: var(--bh-muted) !important; }
.bh-best-price { font-weight: 600; color: #7CC0FF !important; }
.bh-best-book { display: block; font-size: 10px; color: var(--bh-muted) !important; }

.bh-pos { display: inline-block; padding: 2px 8px; border-radius: 4px; background: var(--bh-surface); color: #C8CFD8 !important; font-weight: 600; font-size: 12px; min-width: 28px; text-align: center; }
.bh-pos-win { background: rgba(77,168,255,.10); color: #7CC0FF !important; }
.bh-pos-place { background: rgba(255,200,97,.08); color: #FFC861 !important; }

/* Stats grid */
.bh-stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 10px; margin-bottom: 20px; }
.bh-stat { background: var(--bh-card) !important; border: 0.5px solid rgba(255,255,255,0.08); border-radius: 8px; padding: 14px 16px; }
.bh-stat-label { font-size: 11px; color: var(--bh-muted) !important; text-transform: uppercase; letter-spacing: 0.5px; }
.bh-stat-value { font-size: 22px; font-weight: 600; margin-top: 6px; font-variant-numeric: tabular-nums; color: var(--bh-text) !important; }

/* Meeting blocks */
.bh-meeting-races { display: grid; gap: 12px; margin-bottom: 24px; }
.bh-race-block { background: var(--bh-card) !important; color: var(--bh-text) !important; border: 0.5px solid rgba(255,255,255,0.08); border-radius: 10px; padding: 16px 20px; }
.bh-race-block-link { display: flex; gap: 14px; align-items: baseline; color: var(--bh-text) !important; text-decoration: none; }
.bh-time-large { font-size: 20px; font-weight: 600; font-variant-numeric: tabular-nums; min-width: 64px; color: var(--bh-text) !important; }
.bh-race-block-name { font-size: 15px; color: var(--bh-text) !important; }
.bh-runner-strip { list-style: none; margin: 10px 0 8px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.bh-runner-strip li { font-size: 12px; background: var(--bh-surface); padding: 3px 8px; border-radius: 4px; color: #C8CFD8 !important; }
.bh-runner-strip li a { color: #C8CFD8 !important; text-decoration: none; }
.bh-runner-more { color: var(--bh-muted) !important; }
.bh-race-block-cta { display: inline-block; margin-top: 8px; font-size: 13px; color: var(--bh-lime) !important; text-decoration: none; }
.bh-race-block-cta:hover { text-decoration: underline; }

/* CTA cards */
.bh-cta-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; }
.bh-cta-card { display: block; background: var(--bh-card) !important; color: var(--bh-text) !important; border: 0.5px solid rgba(255,255,255,0.08); border-radius: 10px; padding: 18px 20px; text-decoration: none; transition: border-color 0.15s, transform 0.15s; }
.bh-cta-card:hover { border-color: #1d5fa5; transform: translateY(-1px); }
.bh-cta-eyebrow { font-size: 11px; letter-spacing: 1px; color: var(--bh-muted) !important; font-weight: 600; }
.bh-cta-title { font-size: 18px; font-weight: 600; margin-top: 6px; color: var(--bh-text) !important; }
.bh-cta-sub { font-size: 13px; color: var(--bh-muted) !important; margin-top: 4px; }

/* Lists */
.bh-quick-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 6px; }
.bh-quick-list a { display: flex; justify-content: space-between; padding: 10px 14px; background: var(--bh-surface) !important; border-radius: 6px; color: var(--bh-text) !important; text-decoration: none; font-size: 14px; }
.bh-quick-list a:hover { background: #f0efe8 !important; color: var(--bh-lime) !important; }
.bh-quick-count { color: var(--bh-muted) !important; font-size: 12px; }

.bh-courses-grid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 8px; }
.bh-courses-grid a { display: block; padding: 10px 14px; background: var(--bh-surface) !important; border-radius: 6px; color: var(--bh-text) !important; text-decoration: none; font-size: 14px; }
.bh-courses-grid a:hover { background: rgba(77,168,255,.08) !important; color: var(--bh-lime) !important; }

.bh-variance { background: rgba(77,168,255,.10); color: #7CC0FF !important; padding: 2px 8px; border-radius: 4px; font-weight: 600; font-variant-numeric: tabular-nums; }

/* SEO text */
.bh-seo-text { background: var(--bh-card) !important; color: var(--bh-text) !important; border: 0.5px solid rgba(255,255,255,0.08); border-radius: 12px; padding: 24px 28px; margin-top: 20px; }
.bh-seo-text h2 { font-size: 18px !important; font-weight: 600 !important; margin: 0 0 12px !important; color: var(--bh-text) !important; }
.bh-seo-text p { font-size: 14px; line-height: 1.7; color: var(--bh-text) !important; margin: 0 0 12px; }
.bh-seo-text p:last-child { margin-bottom: 0; }
.bh-seo-text a { color: var(--bh-lime) !important; text-decoration: none; }
.bh-seo-text a:hover { text-decoration: underline; }
.bh-related { font-size: 13px; color: var(--bh-muted) !important; margin-top: 16px; }
.bh-related a { color: var(--bh-lime) !important; text-decoration: none; margin: 0 4px; }

/* Empty / 404 */
.bh-empty { background: var(--bh-card) !important; color: var(--bh-muted) !important; border: 0.5px solid rgba(255,255,255,0.08); border-radius: 12px; padding: 40px 28px; text-align: center; }
.bh-error-detail { font-size: 12px; margin-top: 8px; }
.bh-404 { text-align: center; padding: 60px 20px; }
.bh-404 h1 { font-size: 32px !important; margin: 0 0 12px !important; color: var(--bh-text) !important; }

/* Reset against aggressive theme styles
   (some themes give h1/h2 huge fonts, image backgrounds, text-shadows) */
.bh-main h1, .bh-main h2, .bh-main h3,
.bh-main h4, .bh-main h5, .bh-main h6 {
  text-shadow: none !important;
  background-image: none !important;
  -webkit-text-fill-color: initial !important;
  letter-spacing: normal !important;
}

/* Mobile */
@media (max-width: 720px) {
  .bh-main { padding: 16px 0 32px; }
  .bh-container { padding: 0 14px; }
  .bh-page-header, .bh-race-header { padding: 18px; }
  .bh-page-header h1, .bh-race-header h1, .bh-main h1 { font-size: 22px !important; }
  .bh-section, .bh-seo-text { padding: 16px 18px; }
  .bh-racecard-table th.bh-col-odds:nth-child(n+5),
  .bh-racecard-table td.bh-col-odds:nth-child(n+5) { display: none; }
}
@media (max-width: 480px) {
  .bh-racecard-table th.bh-col-odds, .bh-racecard-table td.bh-col-odds { display: none; }
}

/* Custom site header (replaces theme's hero header) */
.bh-site-header {
  background: var(--bh-ink);
  border-bottom: 1px solid rgba(255,255,255,0.08);
  padding: 16px 0;
}
.bh-site-header-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.bh-site-logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  color: #B9A27E !important;
  font-size: 22px;
  font-weight: 500;
  letter-spacing: 0.5px;
}
.bh-logo-img {
  max-height: 40px;
  width: auto;
}
.bh-site-title {
  color: #B9A27E !important;
}
.bh-site-nav {
  display: flex;
  align-items: center;
}
.bh-site-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 28px;
}
.bh-site-nav li { margin: 0; padding: 0; }
.bh-site-nav a {
  color: #e8e6e0 !important;
  text-decoration: none;
  font-size: 15px;
  transition: color 0.15s;
}
.bh-site-nav a:hover {
  color: #B9A27E !important;
}

@media (max-width: 720px) {
  .bh-site-header-inner { padding: 0 14px; gap: 12px; }
  .bh-site-nav ul { gap: 16px; }
  .bh-site-nav a { font-size: 13px; }
  .bh-site-logo { font-size: 18px; }
}

/* ===== HIDE THEME'S PAGE HERO ON PLUGIN PAGES ===== */
/* The theme injects a hero block with the post title on every singular page.
   We hide common patterns. Adjust selectors if your theme uses different ones. */

/* Site-specific theme hero is handled by the .hs-page-header rule below.
   We deliberately do not use broad selectors like [class*="hero"] because
   they would also match our own .bh-hero-v2 class. */

/* Some themes use a wave SVG divider after the hero */
body.bh-plugin-page .wave-divider,
body.bh-plugin-page .wp-block-spacer + svg,
body.bh-plugin-page svg.divider {
  display: none !important;
}

/* ===== HIDE ONLY THE SPECIFIC THEME HERO ===== */
/* The horse.bet theme uses .hs-page-header for its hero block. We hide only
   that class so we don't accidentally hide our own .bh-hero-v2 etc. */
body.bh-plugin-page .hs-page-header {
  display: none !important;
}

/* Trim any leftover top padding from the main wrapper */
body.bh-plugin-page .site-content,
body.bh-plugin-page main.site-main,
body.bh-plugin-page #main,
body.bh-plugin-page #content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* ===== MANUAL OVERRIDE ===== */
/* If the hero is still visible after the rules above, inspect the element in your
   browser (right-click → Inspect) and find the wrapper div/section that contains
   it. Then add its class here, e.g.:

   body.bh-plugin-page .your-theme-hero-class { display: none !important; }
*/

/* ===== PRECISE THEME HERO REMOVAL ===== */
/* horse.bet theme renders a hero with class "hs-page-header" on every page.
   Kill it on plugin pages only. */
body.bh-plugin-page .hs-page-header {
  display: none !important;
}

/* ===== MOBILE FIXES ===== */

/* Container — tighter padding on phones */
@media (max-width: 768px) {
  .bh-shell, .bh-main { padding: 12px 0 32px !important; }
  .bh-container, .bh-page { padding: 0 12px !important; }

  /* Headers more compact */
  .bh-page-header, .bh-race-header {
    padding: 16px 14px !important;
    margin-bottom: 12px !important;
    border-radius: 8px !important;
  }
  .bh-page-header h1, .bh-race-header h1, .bh-main h1 {
    font-size: 20px !important;
    line-height: 1.25 !important;
  }
  .bh-summary { font-size: 13px; }

  /* Sections */
  .bh-section, .bh-seo-text {
    padding: 14px 14px !important;
    margin-bottom: 12px !important;
    border-radius: 8px !important;
  }
  .bh-section h2, .bh-seo-text h2 {
    font-size: 16px !important;
    margin-bottom: 10px !important;
  }
  .bh-section-head { flex-direction: column; align-items: flex-start; gap: 4px; }
  .bh-updated { font-size: 11px; }

  /* Tags */
  .bh-tag { font-size: 11px; padding: 2px 7px; }
  .bh-tag-row { gap: 4px; }

  /* Stats grid — 2 columns on mobile, smaller */
  .bh-stats-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }
  .bh-stat { padding: 10px 12px !important; }
  .bh-stat-label { font-size: 10px !important; }
  .bh-stat-value { font-size: 18px !important; margin-top: 4px !important; }

  /* Meetings grid */
  .bh-meetings-grid { grid-template-columns: 1fr !important; gap: 10px !important; }
  .bh-meeting-card { padding: 14px !important; }

  /* CTA grid */
  .bh-cta-grid { grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
  .bh-cta-card { padding: 14px 14px !important; }
  .bh-cta-title { font-size: 15px !important; }
  .bh-cta-sub { font-size: 11px !important; }

  /* Quick lists, courses grid */
  .bh-quick-list, .bh-courses-grid {
    grid-template-columns: 1fr !important;
  }

  /* Race links — stack better */
  .bh-race-link {
    grid-template-columns: 48px 1fr !important;
    gap: 8px !important;
    padding: 10px 6px !important;
  }
  .bh-race-link .bh-race-meta {
    grid-column: 1 / -1 !important;
    margin-left: 56px;
    margin-top: 2px;
  }
  .bh-time { font-size: 14px !important; }
  .bh-race-name { font-size: 13px !important; }

  /* Tables — horizontal scroll wrapper */
  .bh-racecard-table-wrap {
    margin-left: -14px;
    margin-right: -14px;
    border-radius: 0 !important;
    border-left: none !important;
    border-right: none !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .bh-racecard-table, .bh-results-table {
    font-size: 12px !important;
    min-width: 100%;
  }
  .bh-racecard-table th, .bh-results-table th,
  .bh-racecard-table td, .bh-results-table td {
    padding: 8px 8px !important;
  }
  .bh-horse-meta { font-size: 11px !important; }

  /* Hide secondary columns on race tables to reduce horizontal scroll */
  .bh-racecard-table th.bh-col-form,
  .bh-racecard-table td.bh-col-form { display: none; }

  /* Hide all bookmaker odds columns, keep only "best" */
  .bh-racecard-table th.bh-col-odds,
  .bh-racecard-table td.bh-col-odds { display: none; }

  /* Breadcrumbs — smaller, wrap */
  .bh-breadcrumbs { font-size: 11px; margin-bottom: 12px; }
  .bh-breadcrumbs ol { gap: 2px; }
  .bh-breadcrumbs li::after { margin: 0 2px; }

  /* SEO copy text */
  .bh-seo-text p { font-size: 13px !important; line-height: 1.65 !important; }

  /* Site header (your theme's nav) — let it scroll if it overflows */
  body.bh-plugin-page { overflow-x: hidden !important; }
}

/* Very small phones */
@media (max-width: 380px) {
  .bh-page-header h1, .bh-race-header h1, .bh-main h1 {
    font-size: 18px !important;
  }
  .bh-cta-grid { grid-template-columns: 1fr !important; }
  .bh-stats-grid { grid-template-columns: 1fr 1fr !important; }
  .bh-stat-value { font-size: 16px !important; }
}

/* Make sure nothing in the plugin pushes wider than the viewport */
body.bh-plugin-page .bh-main * {
  max-width: 100%;
  box-sizing: border-box;
}
body.bh-plugin-page .bh-main table { max-width: none; }

/* ========== AFFILIATE BANNERS ========== */

/* SLOT A: Hero banner (top of race / meeting / hub pages) */
.bh-aff-hero {
  border-radius: 12px;
  padding: 14px 18px;
  margin: 0 0 18px;
  display: flex;
  align-items: center;
  gap: 14px;
  color: #FFFFFF !important;
  text-decoration: none;
  position: relative;
  overflow: hidden;
}
.bh-aff-hero-logo {
  background: var(--bh-card);
  border-radius: 8px;
  padding: 8px 10px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 90px;
  height: 50px;
}
.bh-aff-hero-logo img {
  max-height: 32px;
  max-width: 70px;
  width: auto;
  height: auto;
}
.bh-aff-hero-text { flex: 1; min-width: 0; }
.bh-aff-hero-eyebrow {
  font-size: 10px;
  opacity: 0.7;
  letter-spacing: 1px;
  color: #FFFFFF;
}
.bh-aff-hero-offer {
  font-size: 17px;
  font-weight: 500;
  line-height: 1.2;
  margin-top: 2px;
  color: #FFFFFF !important;
}
.bh-aff-hero-terms {
  font-size: 10px;
  opacity: 0.65;
  margin-top: 4px;
  color: #FFFFFF;
}
.bh-aff-hero-btn {
  padding: 10px 16px;
  border-radius: 6px;
  text-decoration: none !important;
  font-weight: 500;
  font-size: 13px;
  white-space: nowrap;
  flex-shrink: 0;
  border: none;
  cursor: pointer;
  transition: opacity 0.15s;
}
.bh-aff-hero-btn:hover { opacity: 0.92; }

@media (max-width: 600px) {
  .bh-aff-hero {
    flex-wrap: wrap;
    padding: 12px 14px;
  }
  .bh-aff-hero-logo {
    min-width: 70px;
    height: 42px;
    padding: 6px 8px;
  }
  .bh-aff-hero-logo img { max-height: 26px; max-width: 56px; }
  .bh-aff-hero-offer { font-size: 15px; }
  .bh-aff-hero-btn {
    width: 100%;
    text-align: center;
    margin-top: 6px;
    padding: 10px;
  }
}

/* SLOT C: Best price on favourite */
.bh-aff-bestprice {
  background: linear-gradient(90deg, rgba(255,200,97,.08) 0%, rgba(255,200,97,.08) 100%);
  border: 0.5px solid rgba(255,200,97,.45);
  border-radius: 12px;
  padding: 14px 16px;
  margin: 0 0 8px;
  display: flex;
  align-items: center;
  gap: 14px;
}
.bh-aff-bp-icon {
  width: 36px;
  height: 36px;
  background: #BA7517;
  color: #FFFFFF !important;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 18px;
  font-weight: 500;
}
.bh-aff-bp-body { flex: 1; min-width: 0; }
.bh-aff-bp-lbl {
  font-size: 10px;
  color: #FFC861 !important;
  letter-spacing: 0.5px;
  font-weight: 500;
}
.bh-aff-bp-title {
  font-size: 14px;
  font-weight: 500;
  color: var(--bh-text) !important;
  line-height: 1.3;
  margin-top: 2px;
}
.bh-aff-bp-race {
  font-weight: 400;
  color: var(--bh-muted) !important;
}
.bh-aff-bp-meta {
  font-size: 11px;
  color: var(--bh-muted) !important;
  margin-top: 3px;
}
.bh-aff-bp-priceblock {
  text-align: right;
  flex-shrink: 0;
}
.bh-aff-bp-price {
  font-size: 20px;
  font-weight: 500;
  color: #7CC0FF !important;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.bh-aff-bp-bookie {
  font-size: 10px;
  color: var(--bh-muted) !important;
  margin-top: 2px;
}
.bh-aff-bp-btn {
  background: #0F2A47 !important;
  color: #FFFFFF !important;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 11px;
  text-decoration: none !important;
  font-weight: 500;
  margin-top: 6px;
  display: inline-block;
  white-space: nowrap;
}
.bh-aff-bp-btn:hover { opacity: 0.92; }

.bh-aff-disclaimer {
  font-size: 10px;
  color: var(--color-text-secondary) !important;
  text-align: center;
  margin: 0 0 18px;
  opacity: 0.7;
}

@media (max-width: 600px) {
  .bh-aff-bestprice {
    flex-wrap: wrap;
    padding: 12px 14px;
    gap: 10px;
  }
  .bh-aff-bp-priceblock {
    width: 100%;
    text-align: left;
    display: flex;
    align-items: center;
    gap: 10px;
    padding-top: 8px;
    border-top: 0.5px solid rgba(255,200,97,.45);
  }
  .bh-aff-bp-btn { margin-top: 0; margin-left: auto; }
}

/* ============================================================
   v2 REDESIGN — dark hero, editorial cards, runner rows with silks
   ============================================================ */

.bh-page.bh-race-v2 {
  max-width: 760px;
  margin: 0 auto;
  padding: 16px 12px 40px;
}

/* Dark gradient hero */
.bh-hero-v2 {
  background: linear-gradient(135deg, var(--bh-ink) 0%, var(--bh-ink) 100%) !important;
  border-radius: 14px;
  padding: 22px 22px 16px;
  color: #FFFFFF !important;
  margin-bottom: 16px;
  border: none !important;
}
.bh-hero-v2 * { color: #FFFFFF !important; }
.bh-hero-v2-eyebrow {
  font-size: 10px;
  letter-spacing: 1.5px;
  opacity: 0.65;
}
.bh-hero-v2 h1 {
  font-size: 24px !important;
  font-weight: 500 !important;
  line-height: 1.15 !important;
  margin: 4px 0 14px !important;
  color: #FFFFFF !important;
}
.bh-hero-v2-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 16px;
}
.bh-hero-v2 .bh-pill {
  background: rgba(255,255,255,0.12);
  color: #FFFFFF !important;
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 400;
}
.bh-hero-v2 .bh-pill-prize {
  background: #d4b896 !important;
  color: var(--bh-text) !important;
  font-weight: 500;
}
.bh-hero-v2-keyinfo {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,0.08);
}
.bh-hero-v2-keyinfo > div { text-align: center; }
.bh-hero-v2-kl {
  font-size: 10px;
  opacity: 0.6;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.bh-hero-v2-kv {
  font-size: 15px;
  font-weight: 500;
  margin-top: 3px;
  color: #FFFFFF !important;
}

/* Editor's verdict card */
.bh-verdict {
  background: rgba(255,200,97,.08) !important;
  border-left: 3px solid #BA7517 !important;
  border-radius: 0 10px 10px 0;
  padding: 14px 18px;
  margin: 0 0 16px;
}
.bh-verdict-h {
  font-size: 11px;
  letter-spacing: 1px;
  color: #FFC861 !important;
  font-weight: 500;
}
.bh-verdict p {
  font-family: var(--bh-body-font, "Inter", system-ui, sans-serif);
  font-style: normal;
  font-size: 14px;
  line-height: 1.65;
  margin: 6px 0 0;
  color: var(--bh-text) !important;
}
.bh-verdict-byline {
  font-size: 11px;
  color: var(--bh-muted) !important;
  margin-top: 10px;
  font-family: inherit;
  font-style: normal;
}

/* v2 cards */
.bh-card-v2 {
  background: var(--bh-card) !important;
  border: 0.5px solid rgba(255,255,255,0.08);
  border-radius: 12px;
  padding: 18px 18px 8px;
  margin-bottom: 16px;
}
.bh-card-v2 h2 {
  font-size: 16px !important;
  font-weight: 500 !important;
  margin: 0 0 14px !important;
  color: var(--bh-text) !important;
  display: flex;
  align-items: center;
  gap: 8px;
}
.bh-card-v2 .bh-ic {
  font-style: normal;
  color: var(--bh-muted);
  font-size: 14px;
}

/* Tips row */
.bh-tips-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
  margin-bottom: 8px;
}
.bh-tip-card {
  background: var(--bh-surface);
  padding: 10px 12px;
  border-radius: 8px;
}
.bh-tip-lbl {
  font-size: 10px;
  color: var(--bh-muted) !important;
  letter-spacing: 0.5px;
  font-weight: 500;
}
.bh-tip-name {
  font-size: 13px;
  font-weight: 500;
  margin-top: 4px;
  color: var(--bh-text) !important;
}
.bh-tip-reason {
  font-size: 11px;
  color: var(--bh-muted) !important;
  margin-top: 3px;
  line-height: 1.4;
}

/* Runner row */
.bh-runner-v2 {
  display: grid;
  grid-template-columns: 36px 36px 1fr auto;
  gap: 10px;
  padding: 12px 0;
  border-bottom: 0.5px solid rgba(255,255,255,0.06);
  align-items: center;
}
.bh-runner-v2:last-child { border-bottom: 0; }
.bh-runner-v2.is-fav {
  background: rgba(77,168,255,.06);
  margin: 0 -8px;
  padding: 12px 8px;
  border-radius: 6px;
}
.bh-runner-num {
  font-variant-numeric: tabular-nums;
  font-weight: 500;
  font-size: 15px;
  color: var(--bh-text) !important;
  text-align: center;
  background: var(--bh-surface);
  border-radius: 6px;
  padding: 5px 0;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.bh-draw {
  display: block;
  font-size: 9px;
  color: var(--bh-muted) !important;
  font-weight: 400;
  margin-top: 2px;
}
.bh-runner-silk {
  width: 36px;
  height: 36px;
  border-radius: 6px;
  overflow: hidden;
  background: var(--bh-surface);
  display: flex;
  align-items: center;
  justify-content: center;
}
.bh-runner-silk img,
.bh-runner-silk svg {
  width: 32px;
  height: 32px;
}
.bh-runner-body { min-width: 0; }
.bh-runner-name {
  font-weight: 500;
  font-size: 14px;
  color: var(--bh-text) !important;
  line-height: 1.3;
}
.bh-runner-name a {
  color: var(--bh-text) !important;
  text-decoration: none;
}
.bh-runner-name a:hover { color: var(--bh-lime) !important; }
.bh-fav-tag {
  background: rgba(77,168,255,.10);
  color: #7CC0FF !important;
  font-size: 9px;
  font-weight: 500;
  padding: 1px 6px;
  border-radius: 3px;
  margin-left: 4px;
  letter-spacing: 0.5px;
  vertical-align: 2px;
}
.bh-tag-value {
  background: #FAEEDA;
  color: #FFC861 !important;
}
.bh-tag-ew {
  background: rgba(77,168,255,.08);
  color: var(--bh-lime) !important;
}
.bh-runner-meta {
  font-size: 11px;
  color: var(--bh-muted) !important;
  margin-top: 3px;
  line-height: 1.4;
}
.bh-runner-meta a {
  color: var(--bh-muted) !important;
  text-decoration: none;
}
.bh-runner-meta a:hover { color: var(--bh-lime) !important; text-decoration: underline; }
.bh-runner-form {
  font-size: 11px;
  color: var(--bh-muted) !important;
  margin-top: 4px;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.bh-form-row {
  display: inline-flex;
  gap: 2px;
}
.bh-form-digit {
  display: inline-flex;
  width: 18px;
  height: 18px;
  border-radius: 3px;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}
.bh-fd-win { background: rgba(77,168,255,.10); color: #7CC0FF !important; }
.bh-fd-place { background: rgba(255,200,97,.08); color: #FFC861 !important; }
.bh-fd-other { background: var(--bh-surface); color: var(--bh-muted) !important; }
.bh-fd-sep { color: #6B7685 !important; font-size: 11px; padding: 0 2px; }
.bh-form-empty {
  font-style: normal;
  color: #6B7685 !important;
}
.bh-last-run { color: #6B7685 !important; }
.bh-runner-odds {
  text-align: right;
  min-width: 50px;
}
.bh-runner-price {
  font-size: 17px;
  font-weight: 500;
  color: #7CC0FF !important;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.bh-runner-price.bh-no-price {
  color: #6B7685 !important;
  font-weight: 400;
}
.bh-runner-bookie {
  font-size: 10px;
  color: var(--bh-muted) !important;
  margin-top: 3px;
}

/* Mobile tweaks for the new design */
@media (max-width: 600px) {
  .bh-hero-v2 { padding: 18px 16px 14px; border-radius: 12px; }
  .bh-hero-v2 h1 { font-size: 19px !important; }
  .bh-hero-v2-keyinfo { gap: 4px; }
  .bh-hero-v2-kv { font-size: 12px; }
  .bh-card-v2 { padding: 14px 14px 6px; }
  .bh-tips-row { grid-template-columns: 1fr; gap: 6px; }
  .bh-tip-card { padding: 10px 12px; }
  .bh-runner-v2 {
    grid-template-columns: 32px 32px 1fr auto;
    gap: 8px;
    padding: 10px 0;
  }
  .bh-runner-num { font-size: 14px; padding: 3px 0; }
  .bh-runner-silk { width: 32px; height: 32px; }
  .bh-runner-silk img, .bh-runner-silk svg { width: 28px; height: 28px; }
  .bh-runner-name { font-size: 13px; }
  .bh-runner-price { font-size: 15px; }
}

/* ===== CRITICAL FIXES FOR v2 DESIGN ===== */
/* The earlier .bh-main * { color: inherit } rule was leaking light-context
   colors into the dark hero and affiliate banners. Override here. */

/* Dark hero text must stay white */
.bh-page.bh-race-v2 .bh-hero-v2,
.bh-page.bh-race-v2 .bh-hero-v2 *,
.bh-hero-v2,
.bh-hero-v2 h1,
.bh-hero-v2 .bh-pill,
.bh-hero-v2 .bh-hero-v2-eyebrow,
.bh-hero-v2 .bh-hero-v2-kl,
.bh-hero-v2 .bh-hero-v2-kv {
  color: #FFFFFF !important;
}
.bh-hero-v2 .bh-pill-prize {
  color: var(--bh-text) !important;
}

/* Affiliate hero banner — force white text on dark background */
.bh-aff-hero,
.bh-aff-hero * {
  color: #FFFFFF !important;
}
.bh-aff-hero .bh-aff-hero-btn {
  /* button text uses its inline-style color, not white */
  color: inherit !important;
}
/* Override the inline-style fallback — let inline color win */
.bh-aff-hero a.bh-aff-hero-btn[style*="color"] {
  color: #7CC0FF !important;
}

/* Best-price banner — keep its darker text colors visible */
.bh-aff-bestprice .bh-aff-bp-title { color: var(--bh-text) !important; }
.bh-aff-bestprice .bh-aff-bp-lbl { color: #FFC861 !important; }
.bh-aff-bestprice .bh-aff-bp-meta,
.bh-aff-bestprice .bh-aff-bp-race,
.bh-aff-bestprice .bh-aff-bp-bookie { color: var(--bh-muted) !important; }
.bh-aff-bestprice .bh-aff-bp-price { color: #7CC0FF !important; }
.bh-aff-bestprice .bh-aff-bp-icon { color: #FFFFFF !important; background: #BA7517 !important; }
.bh-aff-bestprice .bh-aff-bp-btn { color: #FFFFFF !important; background: #0F2A47 !important; }

/* Editor's verdict text — readable on the amber background */
.bh-verdict, .bh-verdict * { color: var(--bh-text) !important; }
.bh-verdict-h { color: #FFC861 !important; }
.bh-verdict-byline { color: var(--bh-muted) !important; }

/* Tip card text colors */
.bh-tip-card .bh-tip-lbl { color: var(--bh-muted) !important; }
.bh-tip-card .bh-tip-name { color: var(--bh-text) !important; }
.bh-tip-card .bh-tip-reason { color: var(--bh-muted) !important; }

/* Runner row colors */
.bh-runner-v2 .bh-runner-num { color: var(--bh-text) !important; }
.bh-runner-v2 .bh-runner-name,
.bh-runner-v2 .bh-runner-name a { color: var(--bh-text) !important; }
.bh-runner-v2 .bh-runner-meta,
.bh-runner-v2 .bh-runner-meta a,
.bh-runner-v2 .bh-runner-form,
.bh-runner-v2 .bh-runner-bookie,
.bh-runner-v2 .bh-draw,
.bh-runner-v2 .bh-last-run { color: var(--bh-muted) !important; }
.bh-runner-v2 .bh-runner-price { color: #7CC0FF !important; }
.bh-runner-v2 .bh-runner-price.bh-no-price { color: #6B7685 !important; }

/* Form-digit colors */
.bh-fd-win { background: rgba(77,168,255,.10) !important; color: #7CC0FF !important; }
.bh-fd-place { background: rgba(255,200,97,.08) !important; color: #FFC861 !important; }
.bh-fd-other { background: var(--bh-surface) !important; color: var(--bh-muted) !important; }
.bh-fd-sep { color: #6B7685 !important; }

/* Make sure the article container doesn't constrain */
.bh-page.bh-race-v2 {
  max-width: 760px !important;
  margin: 0 auto !important;
  padding: 16px 12px 40px !important;
}
.bh-card-v2 { 
  background: var(--bh-card) !important;
  color: var(--bh-text) !important;
}
.bh-card-v2 h2 { color: var(--bh-text) !important; }

/* ============================================================
   v2 GLOBAL DESIGN SYSTEM — applied to all pages
   ============================================================ */

.bh-page.bh-v2 {
  max-width: 760px !important;
  margin: 0 auto !important;
  padding: 16px 12px 40px !important;
}

/* Hero — applies to ALL v2 pages now */
.bh-v2 .bh-hero-v2 {
  background: linear-gradient(135deg, var(--bh-ink) 0%, var(--bh-ink) 100%) !important;
  border-radius: 14px !important;
  padding: 22px 22px 16px !important;
  color: #FFFFFF !important;
  margin-bottom: 16px !important;
  border: none !important;
}
.bh-v2 .bh-hero-v2 * { color: #FFFFFF !important; }
.bh-v2 .bh-hero-v2 h1 {
  font-size: 24px !important;
  font-weight: 500 !important;
  line-height: 1.15 !important;
  margin: 4px 0 14px !important;
  color: #FFFFFF !important;
}
.bh-v2 .bh-hero-v2-eyebrow { font-size: 10px; letter-spacing: 1.5px; opacity: 0.65; }
.bh-v2 .bh-hero-v2-pills { display: flex; flex-wrap: wrap; gap: 6px; }
.bh-v2 .bh-hero-v2 .bh-pill {
  background: rgba(255,255,255,0.12) !important;
  color: #FFFFFF !important;
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 12px;
}
.bh-v2 .bh-hero-v2 .bh-pill-prize {
  background: #d4b896 !important;
  color: var(--bh-text) !important;
  font-weight: 500;
}

/* Hero variant: horse profile with silk */
.bh-v2 .bh-hero-v2-profile { display: flex; gap: 16px; align-items: center; }
.bh-v2 .bh-hero-v2-silk { width: 56px; height: 56px; border-radius: 10px; overflow: hidden; background: rgba(255,255,255,0.1); flex-shrink: 0; }
.bh-v2 .bh-hero-v2-silk svg { width: 56px; height: 56px; }
.bh-v2 .bh-hero-v2-text { flex: 1; min-width: 0; }
.bh-v2 .bh-hero-v2-reg { font-size: 15px; opacity: 0.55; font-weight: 400; }
.bh-v2 .bh-hero-v2-sub { font-size: 13px; opacity: 0.85; line-height: 1.45; margin-top: 6px; }

/* Cards */
.bh-v2 .bh-card-v2 {
  background: var(--bh-card) !important;
  border: 0.5px solid rgba(255,255,255,0.08) !important;
  border-radius: 12px !important;
  padding: 18px 18px 8px !important;
  margin-bottom: 16px !important;
  color: var(--bh-text) !important;
}
.bh-v2 .bh-card-v2 h2 {
  font-size: 16px !important;
  font-weight: 500 !important;
  margin: 0 0 14px !important;
  color: var(--bh-text) !important;
  display: flex;
  align-items: center;
  gap: 8px;
}
.bh-v2 .bh-card-v2 .bh-ic { font-style: normal; color: var(--bh-muted) !important; font-size: 14px; }

/* Verdict */
.bh-v2 .bh-verdict {
  background: rgba(255,200,97,.08) !important;
  border-left: 3px solid #BA7517 !important;
  border-radius: 0 10px 10px 0 !important;
  padding: 14px 18px !important;
  margin: 0 0 16px !important;
}
.bh-v2 .bh-verdict, .bh-v2 .bh-verdict * { color: var(--bh-text) !important; }
.bh-v2 .bh-verdict-h { font-size: 11px !important; letter-spacing: 1px !important; color: #FFC861 !important; font-weight: 500 !important; }
.bh-v2 .bh-verdict p {
  font-family: var(--bh-body-font, "Inter", system-ui, sans-serif) !important;
  font-style: normal !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
  margin: 6px 0 0 !important;
  color: var(--bh-text) !important;
}
.bh-v2 .bh-verdict-byline {
  font-size: 11px !important;
  color: var(--bh-muted) !important;
  margin-top: 10px !important;
  font-style: normal !important;
  font-family: -apple-system, sans-serif !important;
}

/* Race row (used on today, tomorrow, meeting, course, home) */
.bh-race-row-v2 {
  display: grid;
  grid-template-columns: 60px 1fr auto;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 0.5px solid rgba(255,255,255,0.06);
  text-decoration: none !important;
  color: inherit !important;
  align-items: center;
}
.bh-race-row-v2:last-child { border-bottom: 0; }
.bh-race-row-v2:hover {
  background: var(--bh-surface);
  margin: 0 -8px;
  padding: 12px 8px;
  border-radius: 6px;
}
.bh-race-row-time {
  font-variant-numeric: tabular-nums;
  font-weight: 500;
  font-size: 15px;
  color: var(--bh-text) !important;
}
.bh-race-row-body { min-width: 0; }
.bh-race-row-name { font-size: 14px; color: var(--bh-text) !important; font-weight: 500; }
.bh-race-row-meta { font-size: 11px; color: var(--bh-muted) !important; margin-top: 2px; line-height: 1.4; }
.bh-race-row-fav { text-align: right; min-width: 50px; }
.bh-race-row-fav-lbl { font-size: 9px; color: var(--bh-muted) !important; letter-spacing: 0.5px; font-weight: 500; }
.bh-race-row-fav-price { font-size: 15px; font-weight: 500; color: #7CC0FF !important; font-variant-numeric: tabular-nums; margin-top: 2px; }

/* Meeting header (today page sections) */
.bh-meeting-h-v2 {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 0.5px solid rgba(255,255,255,0.08);
  flex-wrap: wrap;
  gap: 8px;
}
.bh-meeting-h-v2 h2 { font-size: 17px !important; margin: 0 !important; font-weight: 500 !important; }
.bh-meeting-h-v2 h2 a { color: var(--bh-text) !important; text-decoration: none !important; }
.bh-meeting-h-v2 h2 a:hover { color: var(--bh-lime) !important; }
.bh-meeting-h-meta { display: flex; gap: 6px; }
.bh-pill-soft {
  background: var(--bh-surface);
  color: #C8CFD8 !important;
  padding: 3px 9px;
  border-radius: 4px;
  font-size: 11px;
}

/* CTA row */
.bh-cta-row-v2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 16px 0;
}
.bh-cta-row-v2.bh-cta-4 { grid-template-columns: repeat(2, 1fr); }
.bh-cta-v2 {
  display: block;
  background: var(--bh-card) !important;
  border: 0.5px solid rgba(255,255,255,0.1) !important;
  border-radius: 10px;
  padding: 14px 16px;
  text-decoration: none !important;
  transition: border-color 0.15s;
  color: var(--bh-text) !important;
}
.bh-cta-v2:hover { border-color: #1d5fa5 !important; }
.bh-cta-v2-title { font-size: 14px; font-weight: 500; color: var(--bh-text) !important; }
.bh-cta-v2-sub { font-size: 11px; color: var(--bh-muted) !important; margin-top: 3px; }

/* Stats grid v2 */
.bh-stats-grid-v2 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
.bh-stat-v2 {
  background: var(--bh-surface) !important;
  border-radius: 8px;
  padding: 12px 10px;
  text-align: center;
}
.bh-stat-v2-val {
  font-size: 22px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  color: var(--bh-text) !important;
  line-height: 1.1;
}
.bh-stat-v2-val.bh-stat-pos { color: #7CC0FF !important; }
.bh-stat-v2-val.bh-stat-neg { color: #FF7A7A !important; }
.bh-stat-v2-lbl {
  font-size: 10px;
  color: var(--bh-muted) !important;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  margin-top: 4px;
}

/* Form readout */
.bh-form-readout {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  background: var(--bh-surface);
  border-radius: 8px;
  margin: 12px 0;
  flex-wrap: wrap;
}
.bh-form-readout-lbl { font-size: 11px; color: var(--bh-muted) !important; font-weight: 500; }
.bh-form-readout-hint { font-size: 10px; color: #6B7685 !important; margin-left: auto; }

/* Race history row */
.bh-race-history-row {
  display: grid;
  grid-template-columns: 40px 1fr auto;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 0.5px solid rgba(255,255,255,0.06);
  align-items: center;
}
.bh-race-history-row:last-child { border-bottom: 0; }
.bh-race-history-pos {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  font-size: 15px;
  font-variant-numeric: tabular-nums;
}
.bh-pos-win-v2 { background: rgba(77,168,255,.10) !important; color: #7CC0FF !important; }
.bh-pos-place-v2 { background: rgba(255,200,97,.08) !important; color: #FFC861 !important; }
.bh-pos-other-v2 { background: var(--bh-surface) !important; color: var(--bh-muted) !important; }

.bh-race-history-date { font-size: 11px; color: var(--bh-muted) !important; }
.bh-race-history-meta { font-size: 13px; color: var(--bh-text) !important; font-weight: 500; margin-top: 2px; }
.bh-race-history-meta a { color: var(--bh-text) !important; text-decoration: none; }
.bh-race-history-detail { font-size: 11px; color: var(--bh-muted) !important; margin-top: 2px; }
.bh-race-history-detail a { color: var(--bh-muted) !important; text-decoration: none; }
.bh-race-history-detail a:hover { color: var(--bh-lime) !important; }
.bh-race-history-sp { text-align: right; min-width: 50px; }
.bh-race-history-sp-price { font-weight: 500; font-size: 14px; color: var(--bh-text) !important; }
.bh-race-history-sp-lbl { font-size: 9px; color: var(--bh-muted) !important; letter-spacing: 0.5px; margin-top: 2px; }

/* Breeding grid */
.bh-breed-grid-v2 {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px 16px;
  font-size: 13px;
}
.bh-breed-lbl { color: var(--bh-muted) !important; }
.bh-breed-val { font-weight: 500; color: var(--bh-text) !important; }
.bh-breed-val a { color: var(--bh-lime) !important; text-decoration: none; }

/* Course performance table */
.bh-coursetable-wrap {
  border: 0.5px solid rgba(255,255,255,0.08);
  border-radius: 8px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.bh-coursetable {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.bh-coursetable thead { background: var(--bh-surface); }
.bh-coursetable th {
  text-align: left;
  padding: 10px 12px;
  font-weight: 500;
  font-size: 10px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: var(--bh-muted) !important;
}
.bh-coursetable th.bh-num, .bh-coursetable td.bh-num { text-align: right; }
.bh-coursetable td {
  padding: 10px 12px;
  border-top: 0.5px solid rgba(255,255,255,0.06);
  color: var(--bh-text) !important;
  font-variant-numeric: tabular-nums;
}
.bh-coursetable .bh-pl-pos { color: #7CC0FF !important; font-weight: 500; }
.bh-coursetable .bh-pl-neg { color: #FF7A7A !important; font-weight: 500; }

/* Best odds list */
.bh-bestodds-row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 0.5px solid rgba(255,255,255,0.06);
  align-items: center;
}
.bh-bestodds-row:last-child { border-bottom: 0; }
.bh-bestodds-horse { font-weight: 500; font-size: 14px; color: var(--bh-text) !important; }
.bh-bestodds-horse a { color: var(--bh-text) !important; text-decoration: none; }
.bh-bestodds-race { font-size: 11px; color: var(--bh-muted) !important; margin-top: 2px; }
.bh-bestodds-race a { color: var(--bh-muted) !important; text-decoration: none; }
.bh-bestodds-price { text-align: right; min-width: 70px; }
.bh-bestodds-frac { font-size: 16px; font-weight: 500; color: #7CC0FF !important; font-variant-numeric: tabular-nums; }
.bh-bestodds-bookie { font-size: 10px; color: var(--bh-muted) !important; margin-top: 2px; }
.bh-bestodds-spread {
  background: rgba(77,168,255,.10);
  color: #7CC0FF !important;
  padding: 4px 8px;
  border-radius: 4px;
  font-weight: 500;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}

/* Mobile */
@media (max-width: 600px) {
  .bh-page.bh-v2 { padding: 12px 10px 32px !important; }
  .bh-v2 .bh-hero-v2 { padding: 18px 16px 14px !important; border-radius: 12px !important; }
  .bh-v2 .bh-hero-v2 h1 { font-size: 20px !important; }
  .bh-v2 .bh-card-v2 { padding: 14px 14px 6px !important; }
  .bh-stats-grid-v2 { grid-template-columns: repeat(2, 1fr); }
  .bh-cta-row-v2 { grid-template-columns: 1fr; }
  .bh-cta-row-v2.bh-cta-4 { grid-template-columns: 1fr 1fr; }
  .bh-race-row-v2 { grid-template-columns: 50px 1fr auto; gap: 8px; padding: 10px 0; }
  .bh-race-row-name { font-size: 13px; }
  .bh-race-history-row { grid-template-columns: 36px 1fr auto; gap: 10px; }
  .bh-race-history-pos { width: 36px; height: 36px; font-size: 13px; }
  .bh-race-history-meta { font-size: 12px; }
  .bh-bestodds-row { grid-template-columns: 1fr auto; gap: 8px; padding: 10px 0; }
  .bh-bestodds-spread { grid-column: 1 / -1; justify-self: start; }
}

/* ===== COURSES INDEX PAGE ===== */
.bh-courses-grid-v2 {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 8px;
}
.bh-course-card-v2 {
  display: block;
  padding: 14px 16px;
  background: var(--bh-surface) !important;
  border: 0.5px solid rgba(255,255,255,0.08);
  border-radius: 8px;
  text-decoration: none !important;
  color: var(--bh-text) !important;
  transition: border-color 0.15s, background 0.15s;
}
.bh-course-card-v2:hover {
  border-color: #1d5fa5 !important;
  background: var(--bh-surface) !important;
}
.bh-course-card-v2.is-racing {
  background: rgba(77,168,255,.10) !important;
  border-color: #1D9E75 !important;
}
.bh-course-card-v2.is-racing:hover {
  background: #d4eee3 !important;
}
.bh-course-card-name {
  font-size: 14px;
  font-weight: 500;
  color: var(--bh-text) !important;
  line-height: 1.3;
}
.bh-course-card-v2.is-racing .bh-course-card-name {
  color: #7CC0FF !important;
}
.bh-course-card-sub {
  font-size: 11px;
  color: #7CC0FF !important;
  margin-top: 3px;
  font-weight: 500;
}
@media (max-width: 600px) {
  .bh-courses-grid-v2 { grid-template-columns: repeat(2, 1fr); gap: 6px; }
  .bh-course-card-v2 { padding: 10px 12px; }
  .bh-course-card-name { font-size: 13px; }
}

/* ========== v2.7.0 partner-comparison grid (best-odds page) ========== */
.bh-bestodds-row-v3 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 16px;
    align-items: center;
    padding: 14px 12px;
    border-bottom: 1px solid var(--bh-line);
}
.bh-bestodds-row-v3 .bh-bestodds-grid {
    display: flex;
    gap: 8px;
    flex-wrap: nowrap;
}
.bh-bestodds-row-v3 .bh-bestodds-cell {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    min-width: 72px;
    padding: 8px 10px;
    border: 1px solid var(--bh-line);
    border-radius: 8px;
    background: var(--bh-card);
    text-decoration: none;
    color: var(--bh-text);
    transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
    position: relative;
    line-height: 1.2;
}
.bh-bestodds-row-v3 a.bh-bestodds-cell:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(77,168,255,.15);
    border-color: var(--bh-lime);
}
.bh-bestodds-row-v3 .bh-bestodds-cell.is-best {
    border-color: var(--bh-lime);
    background: linear-gradient(135deg, rgba(255,200,97,.08) 0%, rgba(255,200,97,.12) 100%);
    box-shadow: 0 2px 6px rgba(77,168,255,.25);
}
.bh-bestodds-row-v3 .bh-bestodds-cell.is-empty {
    opacity: .55;
    cursor: default;
}
.bh-bestodds-row-v3 .bh-bo-bookie {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: var(--bh-muted);
}
.bh-bestodds-row-v3 .bh-bestodds-cell.is-best .bh-bo-bookie { color: #FFC861; }
.bh-bestodds-row-v3 .bh-bo-price {
    font-family: var(--bh-body-font, "Inter", system-ui, sans-serif);
    font-size: 18px;
    font-weight: 700;
    color: var(--bh-text);
}
.bh-bestodds-row-v3 .bh-bestodds-cell.is-best .bh-bo-price { color: #FFC861; }
.bh-bestodds-row-v3 .bh-bo-tag {
    position: absolute;
    top: -8px;
    right: -6px;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .05em;
    padding: 2px 6px;
    border-radius: 4px;
    background: var(--bh-lime);
    color: var(--bh-ink);
}
.bh-bestodds-row-v3 .bh-bestodds-spread {
    font-size: 13px;
    font-weight: 700;
    color: #7CC0FF;
    background: rgba(77,168,255,.08);
    padding: 4px 8px;
    border-radius: 6px;
    white-space: nowrap;
}
@media (max-width: 640px) {
    .bh-bestodds-row-v3 {
        grid-template-columns: minmax(0, 1fr) auto;
        row-gap: 10px;
    }
    .bh-bestodds-row-v3 .bh-bestodds-grid {
        grid-column: 1 / -1;
        flex-wrap: wrap;
    }
    .bh-bestodds-row-v3 .bh-bestodds-cell { min-width: 0; flex: 1 1 90px; }
}

/* ========== v2.8.0 multi-partner comparison grid ========== */

/* Reusable grid component — used on race.php (per runner) and best_odds.php (per row) */
.bh-pgrid {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    padding: 4px 0 6px;
    margin-top: 8px;
}
.bh-pgrid::-webkit-scrollbar { height: 4px; }
.bh-pgrid::-webkit-scrollbar-thumb { background: var(--bh-line); border-radius: 2px; }
.bh-pgrid-cell {
    flex: 0 0 auto;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1px;
    min-width: 64px;
    padding: 6px 8px;
    border: 1px solid var(--bh-line);
    border-radius: 7px;
    background: var(--bh-card);
    text-decoration: none;
    color: var(--bh-text);
    transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
    position: relative;
    line-height: 1.15;
}
a.bh-pgrid-cell:hover {
    transform: translateY(-1px);
    box-shadow: 0 3px 10px rgba(77,168,255,.15);
    border-color: var(--bh-lime);
}
.bh-pgrid-cell.is-best {
    border-color: var(--bh-lime);
    background: linear-gradient(135deg, rgba(255,200,97,.08) 0%, rgba(255,200,97,.12) 100%);
    box-shadow: 0 2px 6px rgba(77,168,255,.25);
}
.bh-pgrid-cell.is-empty {
    opacity: .45;
    cursor: default;
}
.bh-pgrid-bookie {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--bh-muted);
}
.bh-pgrid-cell.is-best .bh-pgrid-bookie { color: #FFC861; }
.bh-pgrid-price {
    font-family: var(--bh-body-font, "Inter", system-ui, sans-serif);
    font-size: 15px;
    font-weight: 700;
    color: var(--bh-text);
}
.bh-pgrid-cell.is-best .bh-pgrid-price { color: #FFC861; }
.bh-pgrid-tag {
    position: absolute;
    top: -7px;
    right: -5px;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .05em;
    padding: 2px 5px;
    border-radius: 4px;
    background: var(--bh-lime);
    color: #FFC861;
}

/* best-odds-today row layout (v4) — body left, grid spans below on narrow, alongside on wide */
.bh-bestodds-row-v4 {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    padding: 14px 12px;
    border-bottom: 1px solid var(--bh-line);
}
.bh-bestodds-row-v4 .bh-bestodds-horse {
    font-family: var(--bh-body-font, "Inter", system-ui, sans-serif);
    font-size: 17px;
    font-weight: 700;
    color: var(--bh-text);
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.bh-bestodds-row-v4 .bh-bestodds-horse a {
    color: var(--bh-text);
    text-decoration: none;
    border-bottom: 1px dotted transparent;
}
.bh-bestodds-row-v4 .bh-bestodds-horse a:hover {
    border-bottom-color: var(--bh-lime);
    color: var(--bh-lime);
}
.bh-bestodds-row-v4 .bh-bestodds-spread {
    font-size: 11px;
    font-weight: 700;
    color: #7CC0FF;
    background: rgba(77,168,255,.08);
    padding: 2px 7px;
    border-radius: 4px;
    white-space: nowrap;
}
.bh-bestodds-row-v4 .bh-bestodds-race {
    font-size: 12px;
    color: var(--bh-muted);
}
.bh-bestodds-row-v4 .bh-bestodds-race a {
    color: var(--bh-muted);
    text-decoration: none;
}
.bh-bestodds-row-v4 .bh-bestodds-race a:hover { color: var(--bh-lime); }

/* race.php per-runner grid spacing */
.bh-runner-row + .bh-pgrid {
    margin: -4px 0 14px;
    padding-left: 12px;
}

/* Per-runner price link wrapper preserves existing layout */
a.bh-runner-price-link {
    text-decoration: none;
    color: inherit;
    display: block;
}
a.bh-runner-price-link:hover .bh-runner-price { color: var(--bh-lime); }

@media (min-width: 880px) {
    /* On wide screens, body and grid sit side-by-side */
    .bh-bestodds-row-v4 {
        grid-template-columns: 280px 1fr;
        align-items: center;
        gap: 16px;
    }
}

/* ========== v2.9.0 oddschecker-style odds comparison table ========== */

/* Meeting race-time nav (top of race page) */
.bh-mtg-nav {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding: 10px 12px;
    margin: 0 0 14px;
    background: var(--bh-surface);
    border: 1px solid var(--bh-line);
    border-radius: 8px;
}
.bh-mtg-nav-lbl {
    font-size: 12px;
    font-weight: 700;
    color: var(--bh-muted);
    text-transform: uppercase;
    letter-spacing: .04em;
    white-space: nowrap;
}
.bh-mtg-nav-pills {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}
.bh-mtg-pill {
    display: inline-block;
    padding: 5px 10px;
    border-radius: 6px;
    background: var(--bh-card);
    border: 1px solid var(--bh-line);
    color: var(--bh-text);
    font-family: var(--bh-body-font, "Inter", system-ui, sans-serif);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: all .12s ease;
}
a.bh-mtg-pill:hover {
    background: rgba(77,168,255,.08);
    border-color: var(--bh-lime);
    color: var(--bh-lime);
}
.bh-mtg-pill.is-current {
    background: var(--bh-lime);
    border-color: var(--bh-lime);
    color: var(--bh-ink);
}

/* Section heading row */
.bh-oc-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 6px;
}
.bh-oc-head h2 { margin: 0; }
.bh-oc-market {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
}
.bh-oc-market-lbl { color: var(--bh-muted); font-weight: 600; }
.bh-oc-market-active {
    padding: 4px 10px;
    background: rgba(77,168,255,.08);
    color: var(--bh-lime);
    border-radius: 6px;
    font-weight: 700;
}
.bh-oc-legend {
    font-size: 12px;
    color: var(--bh-muted);
    margin: 0 0 10px;
}
.bh-legend-swatch {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 2px;
    vertical-align: middle;
    margin-right: 4px;
}
.bh-legend-best {
    background: linear-gradient(135deg, rgba(255,200,97,.12) 0%, var(--bh-lime) 100%);
    border: 1px solid var(--bh-lime);
}

/* Wrapper enables horizontal scroll on narrow screens */
.bh-oc-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 0 -12px;     /* break out of card padding on mobile */
    padding: 0 12px;
    scrollbar-width: thin;
}
.bh-oc-table-wrap::-webkit-scrollbar { height: 6px; }
.bh-oc-table-wrap::-webkit-scrollbar-thumb { background: var(--bh-line); border-radius: 3px; }

/* The table itself */
.bh-oc-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 13px;
    min-width: 720px;    /* forces horizontal scroll below this width */
}
.bh-oc-table th,
.bh-oc-table td {
    padding: 8px 6px;
    text-align: center;
    border-bottom: 1px solid var(--bh-line);
    background: var(--bh-card);
    vertical-align: middle;
}

/* Header row */
.bh-oc-table thead th {
    position: sticky;
    top: 0;
    background: var(--bh-surface);
    z-index: 2;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--bh-muted);
    padding: 10px 6px;
}
.bh-oc-th-horse {
    text-align: left;
    width: 280px;
    min-width: 280px;
    position: sticky !important;
    left: 0;
    z-index: 3 !important;
    box-shadow: 4px 0 6px -4px rgba(0,0,0,0.24);
}
.bh-oc-th-bookie a {
    color: var(--bh-muted);
    text-decoration: none;
    display: block;
    padding: 2px 0;
}
.bh-oc-th-bookie a:hover { color: var(--bh-lime); }
.bh-oc-th-best {
    background: rgba(77,168,255,.10) !important;
    color: #FFC861;
    min-width: 70px;
}

/* First column = horse (sticky) */
.bh-oc-td-horse {
    text-align: left;
    width: 280px;
    min-width: 280px;
    position: sticky;
    left: 0;
    background: var(--bh-card);
    z-index: 1;
    box-shadow: 4px 0 6px -4px rgba(0,0,0,0.24);
    padding: 10px 8px !important;
}
.bh-oc-row.is-fav .bh-oc-td-horse { background: rgba(255,200,97,.08); }

.bh-oc-runner {
    display: grid;
    grid-template-columns: 32px 32px 1fr;
    gap: 6px;
    align-items: start;
}
.bh-oc-num {
    font-family: var(--bh-body-font, "Inter", system-ui, sans-serif);
    font-size: 16px;
    font-weight: 800;
    color: var(--bh-lime);
    line-height: 1;
    text-align: center;
}
.bh-oc-draw {
    display: block;
    font-size: 9px;
    color: var(--bh-muted);
    margin-top: 2px;
}
.bh-oc-silk { display: inline-flex; }
.bh-oc-silk img, .bh-oc-silk svg { display: block; }
.bh-oc-body { line-height: 1.3; }
.bh-oc-name {
    display: block;
    font-family: var(--bh-body-font, "Inter", system-ui, sans-serif);
    font-size: 14px;
    font-weight: 700;
    color: var(--bh-text);
}
.bh-oc-name a { color: var(--bh-text); text-decoration: none; border-bottom: 1px dotted transparent; }
.bh-oc-name a:hover { border-bottom-color: var(--bh-lime); color: var(--bh-lime); }
.bh-oc-meta {
    display: block;
    font-size: 11px;
    color: var(--bh-muted);
    margin-top: 2px;
}
.bh-oc-meta a { color: var(--bh-muted); text-decoration: none; }
.bh-oc-meta a:hover { color: var(--bh-lime); }
.bh-oc-form { color: var(--bh-lime); font-weight: 600; }

/* Price cells */
.bh-oc-td-price {
    min-width: 56px;
    padding: 8px 4px !important;
}
.bh-oc-td-price a {
    display: block;
    padding: 6px 4px;
    border-radius: 5px;
    font-family: var(--bh-body-font, "Inter", system-ui, sans-serif);
    font-size: 14px;
    font-weight: 700;
    color: var(--bh-text);
    text-decoration: none;
    transition: all .12s ease;
}
.bh-oc-td-price a:hover {
    background: rgba(77,168,255,.08);
    color: var(--bh-lime);
    transform: translateY(-1px);
}
.bh-oc-td-price.is-best a {
    background: linear-gradient(135deg, rgba(255,200,97,.08) 0%, rgba(255,200,97,.12) 100%);
    color: #FFC861;
    box-shadow: inset 0 0 0 1px var(--bh-lime);
}
.bh-oc-td-price.is-best a:hover {
    background: linear-gradient(135deg, rgba(255,200,97,.12) 0%, var(--bh-lime) 100%);
    color: #FFC861;
}
.bh-oc-td-price.is-empty {
    color: #d1d5db;
    font-weight: 400;
}

/* Best column (rightmost) — sticky bet-now CTA */
.bh-oc-td-bestcol {
    min-width: 70px;
    background: rgba(77,168,255,.10);
}
.bh-oc-bestbtn {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    padding: 6px 8px;
    border-radius: 6px;
    background: var(--bh-lime);
    color: #FFC861;
    text-decoration: none;
    font-family: var(--bh-body-font, "Inter", system-ui, sans-serif);
    font-weight: 800;
    line-height: 1.15;
    transition: transform .12s ease, box-shadow .12s ease;
}
.bh-oc-bestbtn:hover {
    transform: translateY(-1px);
    box-shadow: 0 3px 8px rgba(77,168,255,.4);
}
.bh-oc-bestbtn.is-empty {
    background: transparent;
    color: var(--bh-muted);
    cursor: default;
}
.bh-oc-bestfrac { font-size: 14px; }
.bh-oc-bestbookie {
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-top: 2px;
}

/* Tags inline with name */
.bh-oc-name .bh-fav-tag {
    margin-left: 6px;
    font-size: 9px;
    padding: 1px 5px;
    vertical-align: middle;
}

/* Mobile tweaks */
@media (max-width: 720px) {
    .bh-oc-table { font-size: 12px; min-width: 660px; }
    .bh-oc-th-horse,
    .bh-oc-td-horse { width: 220px; min-width: 220px; }
    .bh-oc-runner { grid-template-columns: 26px 28px 1fr; gap: 4px; }
    .bh-oc-name { font-size: 13px; }
    .bh-oc-meta { font-size: 10px; }
}

/* ========== v2.10.0 extended verdict + probability chart ========== */

/* Extended verdict block — multiple tip paragraphs */
.bh-verdict-extended {
    padding: 18px 20px;
}
.bh-verdict-extended p {
    margin: 0 0 10px;
    line-height: 1.55;
}
.bh-verdict-extended p:last-of-type { margin-bottom: 0; }

.bh-verdict-lead {
    font-size: 16px;
    color: var(--bh-text);
    font-weight: 500;
}
.bh-verdict-market {
    font-style: normal;
    color: var(--bh-lime);
    border-left: 3px solid var(--bh-lime);
    padding-left: 12px;
}
.bh-verdict-tag {
    color: var(--bh-lime);
    font-weight: 800;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: .04em;
    margin-right: 2px;
}
.bh-verdict-ctx {
    font-size: 12px;
    color: var(--bh-muted);
    border-top: 1px dashed var(--bh-line);
    padding-top: 10px;
    margin-top: 12px !important;
}

/* Probability chart — pure HTML/CSS bars */
.bh-probchart {
    margin: 16px 0 20px;
    padding: 16px 18px;
    background: var(--bh-card);
    border: 1px solid var(--bh-line);
    border-radius: 10px;
}
.bh-probchart-h {
    font-size: 12px;
    font-weight: 800;
    color: var(--bh-lime);
    text-transform: uppercase;
    letter-spacing: .05em;
    margin-bottom: 4px;
}
.bh-probchart-sub {
    font-size: 12px;
    color: var(--bh-muted);
    margin: 0 0 14px;
    line-height: 1.5;
}
.bh-probchart-rows {
    list-style: none;
    padding: 0;
    margin: 0;
}
.bh-probchart-row {
    display: grid;
    grid-template-columns: minmax(120px, 1fr) minmax(0, 2fr) 56px 64px;
    gap: 10px;
    align-items: center;
    padding: 6px 0;
    border-bottom: 1px solid #f3f4f6;
    font-size: 13px;
}
.bh-probchart-row:last-child { border-bottom: none; }
.bh-probchart-row.is-fav .bh-probchart-name { color: var(--bh-lime); font-weight: 700; }
.bh-probchart-name {
    font-family: var(--bh-body-font, "Inter", system-ui, sans-serif);
    font-weight: 600;
    color: var(--bh-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.bh-probchart-name a {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px dotted transparent;
}
.bh-probchart-name a:hover { border-bottom-color: var(--bh-lime); color: var(--bh-lime); }
.bh-probchart-bar-wrap {
    height: 14px;
    background: var(--bh-surface);
    border-radius: 3px;
    overflow: hidden;
    position: relative;
}
.bh-probchart-bar {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, var(--bh-lime) 0%, #818cf8 60%, var(--bh-lime) 100%);
    border-radius: 3px;
    transition: width .3s ease;
}
.bh-probchart-row.is-fav .bh-probchart-bar {
    background: linear-gradient(90deg, var(--bh-lime) 0%, #f59e0b 100%);
}
.bh-probchart-pct {
    font-family: var(--bh-body-font, "Inter", system-ui, sans-serif);
    font-weight: 700;
    color: var(--bh-text);
    text-align: right;
    font-size: 13px;
}
.bh-probchart-price {
    display: inline-block;
    padding: 4px 8px;
    background: var(--bh-lime);
    color: var(--bh-ink);
    border-radius: 5px;
    font-family: var(--bh-body-font, "Inter", system-ui, sans-serif);
    font-weight: 700;
    font-size: 12px;
    text-decoration: none;
    text-align: center;
    transition: transform .12s ease, box-shadow .12s ease;
}
a.bh-probchart-price:hover {
    transform: translateY(-1px);
    box-shadow: 0 3px 8px rgba(77,168,255,.3);
    background: var(--bh-lime);
}
.bh-probchart-price.is-empty {
    background: transparent;
    color: var(--bh-muted);
    border: 1px dashed var(--bh-line);
    cursor: default;
}

@media (max-width: 640px) {
    .bh-probchart-row {
        grid-template-columns: 1fr;
        gap: 4px;
        padding: 10px 0;
    }
    .bh-probchart-name { font-size: 14px; }
    .bh-probchart-bar-wrap { height: 10px; }
    .bh-probchart-pct, .bh-probchart-price {
        text-align: left;
        justify-self: start;
    }
    .bh-probchart-price { padding: 3px 8px; font-size: 11px; }
}

/* ========== v2.11.0 enriched course pages ========== */

/* Course intro — slightly larger lead paragraph */
.bh-course-intro .bh-verdict-lead { font-size: 16px; }
.bh-course-intro p { line-height: 1.55; }

/* Track configuration grid */
.bh-config-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 12px;
    margin: 8px 0 18px;
    padding: 0;
    list-style: none;
}
.bh-config-item {
    margin: 0;
    padding: 12px 14px;
    background: var(--bh-surface);
    border: 1px solid var(--bh-line);
    border-radius: 8px;
    border-left: 3px solid var(--bh-lime);
}
.bh-config-item dt {
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--bh-muted);
    margin-bottom: 4px;
}
.bh-config-item dd {
    margin: 0;
    font-family: var(--bh-body-font, "Inter", system-ui, sans-serif);
    font-size: 14px;
    font-weight: 700;
    color: var(--bh-text);
    line-height: 1.3;
}
.bh-config-narrative {
    padding-top: 8px;
    border-top: 1px dashed var(--bh-line);
}
.bh-config-narrative p {
    margin: 8px 0;
    font-size: 14px;
    line-height: 1.55;
    color: #C8CFD8;
}

/* Signature events list */
.bh-events-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.bh-event-item {
    display: grid;
    grid-template-columns: 130px 1fr;
    gap: 14px;
    padding: 14px 0;
    border-bottom: 1px solid var(--bh-line);
    align-items: start;
}
.bh-event-item:last-child { border-bottom: none; }
.bh-event-month {
    font-family: var(--bh-body-font, "Inter", system-ui, sans-serif);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--bh-ink);
    background: linear-gradient(135deg, var(--bh-lime) 0%, var(--bh-lime) 100%);
    padding: 6px 10px;
    border-radius: 5px;
    text-align: center;
    align-self: start;
}
.bh-event-name {
    font-family: var(--bh-body-font, "Inter", system-ui, sans-serif);
    font-size: 15px;
    font-weight: 700;
    color: var(--bh-text);
    margin-bottom: 4px;
}
.bh-event-desc {
    font-size: 13px;
    color: #98A2AF;
    line-height: 1.55;
}

/* Punter tips list */
.bh-course-tips .bh-tips-list {
    list-style: none;
    padding: 0;
    margin: 4px 0 12px;
}
.bh-course-tips .bh-tips-list li {
    position: relative;
    padding: 10px 12px 10px 32px;
    margin-bottom: 6px;
    background: rgba(255,200,97,.08);
    border-left: 3px solid var(--bh-lime);
    border-radius: 4px;
    font-size: 14px;
    line-height: 1.55;
    color: #C8CFD8;
}
.bh-course-tips .bh-tips-list li:before {
    content: "★";
    position: absolute;
    left: 10px;
    top: 10px;
    color: #FFC861;
    font-weight: 700;
}
.bh-tips-byline {
    font-size: 11px;
    color: var(--bh-muted);
    font-style: normal;
    text-align: right;
    margin-top: 8px;
}

/* How to get there */
.bh-course-getthere p {
    font-size: 14px;
    line-height: 1.7;
    color: #C8CFD8;
}
.bh-course-getthere a {
    color: var(--bh-lime);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px dotted var(--bh-lime);
}
.bh-course-getthere a:hover { color: var(--bh-text); }

@media (max-width: 560px) {
    .bh-event-item { grid-template-columns: 1fr; gap: 6px; }
    .bh-event-month { justify-self: start; padding: 4px 8px; font-size: 10px; }
    .bh-config-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
    .bh-config-item { padding: 10px 12px; }
}

/* ========== v2.12.0 enriched horse profile pages ========== */

/* Next race block — split layout: race info left, odds CTA right */
.bh-nextrace-block {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 14px;
    background: linear-gradient(135deg, #f5f3ff 0%, #ede9fe 100%);
    border: 1px solid #c4b5fd;
    border-radius: 10px;
}
@media (min-width: 700px) {
    .bh-nextrace-block { grid-template-columns: 1fr 220px; align-items: center; }
}
.bh-nextrace-time {
    font-family: var(--bh-body-font, "Inter", system-ui, sans-serif);
    font-size: 28px;
    font-weight: 800;
    color: var(--bh-lime);
    line-height: 1;
}
.bh-nextrace-course {
    font-size: 13px;
    font-weight: 700;
    color: #6b21a8;
    text-transform: uppercase;
    letter-spacing: .05em;
    margin: 4px 0;
}
.bh-nextrace-name {
    font-family: var(--bh-body-font, "Inter", system-ui, sans-serif);
    font-size: 16px;
    color: var(--bh-text);
    margin: 4px 0;
}
.bh-nextrace-meta { font-size: 12px; color: var(--bh-muted); margin: 4px 0 8px; }
.bh-cta-v2-inline {
    color: var(--bh-lime);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px dotted var(--bh-lime);
    font-size: 13px;
}
.bh-cta-v2-inline:hover { color: var(--bh-text); }
.bh-nextrace-odds {
    background: var(--bh-card);
    padding: 14px;
    border-radius: 8px;
    text-align: center;
    box-shadow: 0 2px 8px rgba(77,168,255,.1);
}
.bh-nextrace-odds-lbl {
    font-size: 9px;
    font-weight: 800;
    color: var(--bh-muted);
    letter-spacing: .06em;
    margin-bottom: 6px;
    line-height: 1.2;
}
.bh-nextrace-odds-row {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 12px;
}
.bh-nextrace-odds-price {
    font-family: var(--bh-body-font, "Inter", system-ui, sans-serif);
    font-size: 26px;
    font-weight: 800;
    color: var(--bh-lime);
}
.bh-nextrace-odds-prob {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
}
.bh-nextrace-odds-prob-pct {
    font-family: var(--bh-body-font, "Inter", system-ui, sans-serif);
    font-weight: 700;
    color: #7CC0FF;
    font-size: 16px;
}
.bh-nextrace-odds-prob-lbl { font-size: 9px; color: var(--bh-muted); }
.bh-nextrace-odds-bookie { font-size: 11px; color: var(--bh-muted); margin: 4px 0 10px; }
.bh-nextrace-betbtn {
    display: block;
    background: var(--bh-lime);
    color: var(--bh-ink) !important;
    padding: 8px 12px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 700;
    font-size: 13px;
    transition: transform .12s, box-shadow .12s;
}
.bh-nextrace-betbtn:hover {
    transform: translateY(-1px);
    background: var(--bh-lime);
    box-shadow: 0 3px 8px rgba(77,168,255,.35);
}

/* Performance breakdown tables (course / going / distance) */
.bh-breakdown-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 16px;
}
.bh-breakdown-block {
    background: var(--bh-surface);
    border: 1px solid var(--bh-line);
    border-radius: 8px;
    padding: 12px;
}
.bh-breakdown-h {
    font-family: var(--bh-body-font, "Inter", system-ui, sans-serif);
    font-size: 14px;
    font-weight: 700;
    color: var(--bh-lime);
    margin: 0 0 8px;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.bh-breakdown-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}
.bh-breakdown-table th,
.bh-breakdown-table td {
    padding: 6px 4px;
    text-align: right;
    border-bottom: 1px solid var(--bh-line);
}
.bh-breakdown-table th:first-child,
.bh-breakdown-table td:first-child {
    text-align: left;
    font-weight: 600;
    color: var(--bh-text);
}
.bh-breakdown-table thead th {
    font-size: 10px;
    font-weight: 700;
    color: var(--bh-muted);
    text-transform: uppercase;
    letter-spacing: .04em;
    border-bottom: 2px solid var(--bh-line);
}
.bh-breakdown-table tbody tr:last-child th,
.bh-breakdown-table tbody tr:last-child td { border-bottom: none; }

/* Form analyst comment list */
.bh-comment-list {
    list-style: none;
    padding: 0;
    margin: 8px 0;
}
.bh-comment-list li {
    padding: 10px 12px;
    margin-bottom: 8px;
    background: var(--bh-surface);
    border-left: 3px solid var(--bh-lime);
    border-radius: 4px;
}
.bh-comment-meta {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 4px;
    font-size: 11px;
}
.bh-comment-pos {
    background: var(--bh-lime);
    color: var(--bh-ink);
    padding: 2px 7px;
    border-radius: 3px;
    font-weight: 700;
    letter-spacing: .03em;
}
.bh-comment-date { color: var(--bh-muted); font-weight: 600; }
.bh-comment-course { color: var(--bh-lime); font-weight: 600; }
.bh-comment-text {
    margin: 0;
    font-size: 13px;
    color: #C8CFD8;
    line-height: 1.55;
    font-style: normal;
}
.bh-stats-byline {
    font-size: 11px;
    color: var(--bh-muted);
    margin-top: 10px;
    font-style: normal;
}
.bh-stats-byline strong { color: var(--bh-lime); font-style: normal; }

/* ============ v2.13.0 — enriched hub + best-odds pages ============ */

/* Hero pills variant */
.bh-pill-feat {
    background: linear-gradient(135deg, rgba(255,200,97,.12) 0%, rgba(255,200,97,.18) 100%) !important;
    border-color: #f59e0b !important;
    color: #FFC861 !important;
    font-weight: 700;
}
.bh-card-v2-intro {
    font-size: 13px;
    color: var(--bh-muted);
    margin: 4px 0 14px;
    line-height: 1.5;
}

/* Headline race callout (hub) */
.bh-home-headline { border-left: 4px solid #b45309; }
.bh-headline-callout {
    display: grid;
    grid-template-columns: 80px 1fr auto;
    gap: 14px;
    align-items: center;
    padding: 14px;
    background: linear-gradient(90deg, rgba(255,200,97,.08) 0%, var(--bh-card) 60%);
    border: 1px solid rgba(255,200,97,.35);
    border-radius: 8px;
    text-decoration: none;
    color: inherit;
    transition: transform .12s, box-shadow .12s;
}
.bh-headline-callout:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 14px rgba(180, 83, 9, .12);
}
.bh-headline-callout-time {
    font-family: var(--bh-body-font, "Inter", system-ui, sans-serif);
    font-size: 26px;
    font-weight: 800;
    color: #FFC861;
    line-height: 1;
    text-align: center;
}
.bh-headline-callout-course {
    font-size: 11px;
    font-weight: 800;
    color: #FFC861;
    text-transform: uppercase;
    letter-spacing: .05em;
    margin-bottom: 4px;
}
.bh-headline-callout-name {
    font-family: var(--bh-body-font, "Inter", system-ui, sans-serif);
    font-size: 16px;
    color: var(--bh-text);
    font-weight: 700;
    margin-bottom: 4px;
}
.bh-headline-callout-meta {
    font-size: 12px;
    color: var(--bh-muted);
}
.bh-headline-callout-cta {
    background: #b45309;
    color: #FFFFFF;
    padding: 8px 14px;
    border-radius: 6px;
    font-weight: 700;
    font-size: 12px;
    white-space: nowrap;
}

/* Top picks grid (hub) */
.bh-picks-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
}
.bh-pick-card {
    background: var(--bh-card);
    border: 1px solid var(--bh-line);
    border-left: 3px solid var(--bh-lime);
    border-radius: 8px;
    padding: 14px;
    transition: transform .12s, box-shadow .12s, border-left-color .12s;
}
.bh-pick-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 14px rgba(77,168,255,.12);
    border-left-color: #f59e0b;
}
.bh-pick-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 11px;
    margin-bottom: 8px;
}
.bh-pick-off {
    font-weight: 800;
    color: var(--bh-lime);
    font-family: var(--bh-body-font, "Inter", system-ui, sans-serif);
    font-size: 14px;
}
.bh-pick-course {
    color: var(--bh-muted);
    text-transform: uppercase;
    letter-spacing: .03em;
    font-size: 11px;
    font-weight: 600;
}
.bh-pick-horse {
    font-family: var(--bh-body-font, "Inter", system-ui, sans-serif);
    font-size: 16px;
    font-weight: 700;
    color: var(--bh-text);
    margin-bottom: 4px;
    line-height: 1.2;
}
.bh-pick-horse a {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px dotted var(--bh-lime);
}
.bh-pick-price {
    display: inline-block;
    background: var(--bh-lime);
    color: var(--bh-ink);
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 2px;
}
.bh-pick-bookie {
    font-size: 10px;
    color: var(--bh-muted);
    margin-bottom: 8px;
}
.bh-pick-race {
    font-size: 11px;
    color: var(--bh-muted);
    line-height: 1.4;
    margin-bottom: 8px;
}
.bh-pick-cta {
    display: block;
    text-align: center;
    background: var(--bh-surface);
    color: var(--bh-lime);
    padding: 6px 8px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 600;
    font-size: 11px;
    border: 1px solid var(--bh-line);
}
.bh-pick-cta:hover {
    background: var(--bh-lime);
    color: var(--bh-ink);
}

/* Horses to watch list */
.bh-watch-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.bh-watch-row {
    display: grid;
    grid-template-columns: 70px 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 12px;
    background: var(--bh-surface);
    border-radius: 8px;
    margin-bottom: 8px;
    border-left: 3px solid #16a34a;
}
.bh-watch-rating {
    text-align: center;
    background: #2E7D32;
    color: #FFFFFF;
    padding: 8px;
    border-radius: 6px;
}
.bh-watch-rating-val {
    font-family: var(--bh-body-font, "Inter", system-ui, sans-serif);
    font-size: 18px;
    font-weight: 800;
    line-height: 1;
}
.bh-watch-rating-lbl {
    font-size: 9px;
    letter-spacing: .04em;
    margin-top: 2px;
    opacity: .9;
}
.bh-watch-horse {
    font-family: var(--bh-body-font, "Inter", system-ui, sans-serif);
    font-size: 15px;
    font-weight: 700;
    color: var(--bh-text);
    margin-bottom: 2px;
}
.bh-watch-horse a {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px dotted var(--bh-lime);
}
.bh-watch-race {
    font-size: 12px;
    color: var(--bh-muted);
}
.bh-watch-race a {
    color: var(--bh-lime);
    font-weight: 600;
    text-decoration: none;
}
.bh-watch-price {
    text-align: center;
    background: var(--bh-card);
    padding: 6px 10px;
    border-radius: 4px;
    border: 1px solid var(--bh-line);
}
.bh-watch-price-val {
    font-family: var(--bh-body-font, "Inter", system-ui, sans-serif);
    font-weight: 700;
    color: var(--bh-lime);
    font-size: 14px;
}
.bh-watch-price-lbl {
    font-size: 9px;
    color: var(--bh-muted);
    letter-spacing: .03em;
}

/* Tomorrow preview */
.bh-home-tomorrow { border-left: 4px solid var(--bh-lime); }
.bh-cta-v2-inline {
    display: inline-block;
    color: var(--bh-lime);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dotted var(--bh-lime);
}
.bh-cta-v2-inline:hover { color: var(--bh-text); }

/* Upcoming events calendar */
.bh-events-cal {
    list-style: none;
    padding: 0;
    margin: 0;
}
.bh-event-cal-row {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 14px;
    padding: 14px 0;
    border-bottom: 1px solid var(--bh-line);
    align-items: start;
}
.bh-event-cal-row:last-child { border-bottom: none; }
.bh-event-cal-when {
    text-align: center;
    padding: 10px 8px;
    background: linear-gradient(135deg, var(--bh-lime) 0%, var(--bh-lime) 100%);
    border-radius: 6px;
    color: var(--bh-ink);
    align-self: start;
}
.bh-event-cal-count {
    font-family: var(--bh-body-font, "Inter", system-ui, sans-serif);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.1;
}
.bh-event-cal-date {
    font-size: 10px;
    letter-spacing: .04em;
    margin-top: 4px;
    opacity: .85;
}
.bh-event-cal-name {
    font-family: var(--bh-body-font, "Inter", system-ui, sans-serif);
    font-size: 15px;
    font-weight: 700;
    color: var(--bh-text);
    margin-bottom: 4px;
}
.bh-event-cal-name a {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px dotted var(--bh-lime);
}
.bh-event-cal-type {
    background: var(--bh-line);
    color: #C8CFD8;
    font-size: 9px;
    padding: 2px 6px;
    border-radius: 3px;
    margin-left: 6px;
    font-weight: 700;
    letter-spacing: .04em;
    vertical-align: middle;
}
.bh-event-cal-course {
    font-size: 11px;
    color: var(--bh-muted);
    margin-bottom: 4px;
}
.bh-event-cal-desc {
    font-size: 13px;
    color: #C8CFD8;
    line-height: 1.5;
}

/* Featured courses grid */
.bh-courses-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 8px;
}
.bh-course-tile {
    display: block;
    padding: 10px 12px;
    background: var(--bh-surface);
    border: 1px solid var(--bh-line);
    border-radius: 6px;
    text-decoration: none;
    transition: background .12s, border-color .12s, transform .12s;
}
.bh-course-tile:hover {
    background: var(--bh-card);
    border-color: var(--bh-lime);
    transform: translateY(-1px);
}
.bh-course-tile-name {
    font-family: var(--bh-body-font, "Inter", system-ui, sans-serif);
    font-size: 14px;
    font-weight: 700;
    color: var(--bh-text);
}
.bh-course-tile-meta {
    font-size: 10px;
    color: var(--bh-muted);
    text-transform: uppercase;
    letter-spacing: .03em;
    margin-top: 2px;
}

/* Evergreen SEO content block */
.bh-home-seo h3 {
    font-family: var(--bh-body-font, "Inter", system-ui, sans-serif);
    font-size: 16px;
    color: var(--bh-lime);
    margin: 16px 0 6px;
    font-weight: 700;
}
.bh-home-seo p {
    font-size: 14px;
    line-height: 1.6;
    color: #C8CFD8;
    margin: 0 0 10px;
}
.bh-home-seo strong { color: #F1F4F8; }

/* Best-odds tips card */
.bh-bestodds-tips .bh-tips-list {
    list-style: none;
    padding: 0;
    margin: 4px 0 8px;
}
.bh-bestodds-tips .bh-tips-list li {
    position: relative;
    padding: 10px 12px 10px 32px;
    margin-bottom: 6px;
    background: rgba(255,200,97,.08);
    border-left: 3px solid var(--bh-lime);
    border-radius: 4px;
    font-size: 14px;
    line-height: 1.55;
    color: #C8CFD8;
}
.bh-bestodds-tips .bh-tips-list li:before {
    content: "★";
    position: absolute;
    left: 10px;
    top: 10px;
    color: #FFC861;
    font-weight: 700;
}

/* Most-fancied list */
.bh-fancied-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.bh-fancied-row {
    display: grid;
    grid-template-columns: 70px 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 12px;
    background: var(--bh-card);
    border: 1px solid var(--bh-line);
    border-left: 3px solid var(--bh-lime);
    border-radius: 6px;
    margin-bottom: 6px;
}
.bh-fancied-price {
    font-family: var(--bh-body-font, "Inter", system-ui, sans-serif);
    font-size: 18px;
    font-weight: 800;
    color: var(--bh-lime);
    text-align: center;
    background: rgba(77,168,255,.08);
    padding: 6px;
    border-radius: 4px;
}
.bh-fancied-horse {
    font-family: var(--bh-body-font, "Inter", system-ui, sans-serif);
    font-size: 14px;
    font-weight: 700;
    color: var(--bh-text);
}
.bh-fancied-horse a { color: inherit; text-decoration: none; border-bottom: 1px dotted var(--bh-lime); }
.bh-fancied-race { font-size: 11px; color: var(--bh-muted); margin-top: 2px; }
.bh-fancied-race a { color: var(--bh-lime); font-weight: 600; text-decoration: none; }
.bh-fancied-bet {
    background: #b45309;
    color: #FFFFFF;
    padding: 8px 12px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 700;
    font-size: 12px;
    white-space: nowrap;
    transition: background .12s, transform .12s;
}
.bh-fancied-bet:hover {
    background: #d97706;
    transform: translateY(-1px);
}

@media (max-width: 560px) {
    .bh-headline-callout { grid-template-columns: 60px 1fr; }
    .bh-headline-callout-cta { grid-column: 1 / -1; text-align: center; }
    .bh-event-cal-row { grid-template-columns: 80px 1fr; }
    .bh-watch-row { grid-template-columns: 60px 1fr; }
    .bh-watch-price { grid-column: 2 / 3; justify-self: start; }
    .bh-fancied-row { grid-template-columns: 60px 1fr; }
    .bh-fancied-bet { grid-column: 1 / -1; text-align: center; margin-top: 4px; }
}

/* ============ v2.13.1 — today page facts list ============ */
.bh-today-facts {
    list-style: none;
    padding: 0;
    margin: 0;
}
.bh-today-facts li {
    padding: 10px 12px;
    margin-bottom: 6px;
    background: var(--bh-surface);
    border-left: 3px solid var(--bh-lime);
    border-radius: 4px;
    font-size: 14px;
    line-height: 1.55;
    color: #C8CFD8;
}
.bh-today-facts li strong { color: var(--bh-text); }
.bh-today-facts a {
    color: var(--bh-lime);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px dotted var(--bh-lime);
}
.bh-today-facts a:hover { color: var(--bh-text); }

/* ============================================================
   v2.16 — Upgraded hero (brand + code + full terms) and the
   "Best Welcome Bonus Bets" offers table (SLOT D).
   ============================================================ */
.bh-aff-hero-brand {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  opacity: 0.92;
  color: #FFFFFF !important;
  margin-top: 1px;
}
.bh-aff-hero-offer { font-size: 20px !important; font-weight: 700 !important; }
.bh-aff-hero-code {
  display: inline-block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.8px;
  padding: 1px 8px;
  margin-left: 4px;
  border-radius: 5px;
  background: rgba(255,255,255,0.16);
  border: 1px dashed rgba(255,255,255,0.6);
  vertical-align: 2px;
  color: #FFFFFF !important;
}
@media (max-width: 600px) {
  .bh-aff-hero-offer { font-size: 17px !important; }
  .bh-aff-hero-code { display: inline-block; margin: 4px 0 0; }
}

/* ---- Offers table ---- */
.bh-offers {
  background: var(--bh-card);
  border: 0.5px solid rgba(255,255,255,0.08);
  border-radius: 12px;
  margin: 0 0 16px;
  overflow: hidden;
}
.bh-offers-head { padding: 18px 18px 2px; }
.bh-offers-head h2 {
  font-family: var(--bh-body-font, "Inter", system-ui, sans-serif);
  font-style: normal;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--bh-text) !important;
  margin: 0 !important;
  display: flex;
  align-items: center;
  gap: 9px;
}
.bh-offers-head h2 .bh-ic { font-style: normal; color: #FFC861 !important; font-size: 15px; }
.bh-offers-sub { font-size: 11px; color: var(--bh-muted) !important; margin: 5px 0 0; line-height: 1.5; }
.bh-offers-sub a { color: #FFC861 !important; text-decoration: none; }

.bh-offers-table { margin-top: 10px; }
.bh-offers-row {
  display: grid;
  grid-template-columns: 1.25fr 1fr 1.5fr auto auto;
  gap: 14px;
  align-items: center;
  padding: 14px 18px;
  border-top: 0.5px solid rgba(255,255,255,0.07);
}
.bh-offers-head-row {
  padding-top: 8px; padding-bottom: 8px; border-top: 0;
  font-size: 10px; text-transform: uppercase; letter-spacing: 0.8px;
  color: var(--bh-muted); font-weight: 700;
}
.bh-offers-row:not(.bh-offers-head-row):hover { background: #fcfbf6; }

.bh-offers-brand { display: flex; align-items: center; gap: 11px; min-width: 0; }
.bh-offers-logo {
  flex: 0 0 auto;
  width: 60px; height: 40px;
  background: var(--bh-card);
  border: 0.5px solid rgba(255,255,255,0.1);
  border-radius: 7px;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
}
.bh-offers-logo img { max-width: 50px; max-height: 30px; width: auto; height: auto; }
.bh-offers-logo-fb {
  align-items: center; justify-content: center;
  font-family: var(--bh-body-font, "Inter", system-ui, sans-serif); font-style: normal; font-weight: 700;
  font-size: 12px; color: #16243A; letter-spacing: 0.2px; text-align: center; line-height: 1;
}
.bh-offers-name { font-weight: 700; color: var(--bh-text) !important; font-size: 14px; }

.bh-offers-bonus {
  font-family: var(--bh-body-font, "Inter", system-ui, sans-serif); font-style: normal;
  font-weight: 700; color: var(--bh-text) !important; font-size: 18px; line-height: 1.1;
}
.bh-offers-terms { font-size: 11.5px; color: var(--bh-muted) !important; line-height: 1.45; }

.bh-offers-code-pill {
  display: inline-block;
  background: rgba(255,200,97,.08); border: 1px dashed #BA7517; color: #FFC861 !important;
  font-weight: 800; letter-spacing: 0.6px; font-size: 11px;
  padding: 2px 8px; border-radius: 5px; white-space: nowrap;
}
.bh-offers-code-none { font-size: 11px; color: var(--bh-muted) !important; font-style: normal; }

.bh-offers-act a {
  display: inline-block;
  background: #BA7517; color: #FFFFFF !important;
  text-decoration: none !important; font-weight: 700; font-size: 12.5px;
  padding: 10px 16px; border-radius: 7px; white-space: nowrap; text-align: center;
  transition: opacity 0.15s;
}
.bh-offers-act a:hover { opacity: 0.92; }

.bh-offers-foot {
  padding: 11px 18px; margin: 0;
  background: rgba(255,200,97,.08); border-top: 0.5px solid rgba(255,255,255,0.07);
  font-size: 10.5px; color: var(--bh-muted) !important; line-height: 1.5;
}
.bh-offers-foot a { color: #FFC861 !important; text-decoration: none; }

@media (max-width: 680px) {
  .bh-offers-head-row { display: none; }
  .bh-offers-row {
    grid-template-columns: 1fr 1fr;
    gap: 8px 12px;
    padding: 14px 16px;
  }
  .bh-offers-brand { grid-column: 1 / -1; }
  .bh-offers-bonus { grid-column: 1 / -1; font-size: 17px; }
  .bh-offers-terms { grid-column: 1 / -1; }
  .bh-offers-code { grid-column: 1; }
  .bh-offers-act { grid-column: 2; text-align: right; }
  .bh-offers-act a { width: 100%; padding: 11px; }
  .bh-offers-row [data-label]::before {
    content: attr(data-label);
    display: block; font-size: 9px; text-transform: uppercase; letter-spacing: 0.6px;
    color: #b3b3ac; font-weight: 700; margin-bottom: 3px;
  }
  .bh-offers-brand[data-label]::before, .bh-offers-act [data-label]::before { content: none; }
}


/* ======================================================= results pages v3 */
.bh-res{max-width:1080px;margin:0 auto;padding:0 16px 40px}
.bh-res a{color:#4DA8FF;text-decoration:none}.bh-res a:hover{color:#fff}
.bh-page.bh-res h2,.bh-res h2{font-family:var(--bh-disp,"Anton",Impact,sans-serif);font-weight:400;text-transform:uppercase;font-size:clamp(22px,3vw,28px);line-height:1.1;margin:38px 0 14px !important;color:#F1F4F8;font-size:clamp(22px,3vw,28px) !important}
.bh-res-hero{border:1px solid #232C38;border-radius:18px;padding:22px;background:linear-gradient(135deg,#121821,#0f1520);margin:18px 0 0}
.bh-res-kicker{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#4DA8FF;margin:0 0 8px}
.bh-res-hero h1{font-family:var(--bh-disp,"Anton",Impact,sans-serif);font-weight:400;text-transform:uppercase;font-size:clamp(30px,4.6vw,50px);line-height:1.03;margin:0;color:#F1F4F8}
.bh-res-hero h1 span{color:#4DA8FF}
.bh-res-hero .bh-res-h2{margin:0 0 8px}
.bh-res-chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}
.bh-res-chip{border:1px solid #2b3646;background:#121821;border-radius:99px;padding:5px 12px;font-size:13px;font-weight:600;color:#C8CFD8}.bh-res-chip b{color:#F1F4F8}
.bh-res-win{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;margin-top:20px;border:1px solid #4DA8FF;border-radius:16px;padding:18px;background:rgba(77,168,255,.07)}
.bh-res-badge{display:inline-block;background:#FFC861;color:#0A0D12;font-size:11px;font-weight:800;letter-spacing:.12em;border-radius:6px;padding:3px 8px;text-transform:uppercase}
.bh-res-win-name{font-weight:800;font-size:24px;line-height:1.15;margin:6px 0 4px}.bh-res-win-name a{color:#F1F4F8!important}
.bh-res-win-meta{color:#C8CFD8;font-size:14px;margin:0;line-height:1.55}
.bh-res-win-sp{text-align:right}.bh-res-win-sp b{display:block;font-family:var(--bh-disp,"Anton",Impact,sans-serif);font-weight:400;font-size:40px;line-height:1;color:#4DA8FF}.bh-res-win-sp small{color:#98A2AF;font-size:12px}
.bh-res-summary{font-size:16.5px;line-height:1.7;color:#C8CFD8;margin:18px 0 0;max-width:800px}.bh-res-summary strong{color:#F1F4F8}
.bh-res-sub{color:#98A2AF;font-size:12.5px;font-weight:400}
.bh-res-silk{width:36px;height:36px;object-fit:contain;flex:none;display:inline-block}
.bh-res-silk.is-empty{background:#18202B;border-radius:8px}
.bh-res-win .bh-res-silk{width:72px;height:72px}
.bh-res-table{width:100%;border-collapse:separate;border-spacing:0 8px}
.bh-res-table th{text-align:left;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#98A2AF;padding:0 12px;background:none;border:0}
.bh-res-table td{background:#121821;padding:12px;border-top:1px solid #232C38;border-bottom:1px solid #232C38;vertical-align:middle;color:#F1F4F8}
.bh-res-table td:first-child{border-left:1px solid #232C38;border-radius:12px 0 0 12px}.bh-res-table td:last-child{border-right:1px solid #232C38;border-radius:0 12px 12px 0}
.bh-res-table .num{font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.bh-res-pos{display:inline-grid;place-items:center;min-width:34px;height:34px;padding:0 4px;border-radius:10px;font-weight:800;font-size:13px;background:#18202B;color:#C8CFD8}
.is-p1 .bh-res-pos{background:#FFC861;color:#0A0D12}.is-p2 .bh-res-pos{background:#C8CFD8;color:#0A0D12}.is-p3 .bh-res-pos{background:#B07A4A;color:#0A0D12}
.is-dnf td{opacity:.6}
.bh-res-hn{display:flex;gap:10px;align-items:center}.bh-res-horse{display:block;font-weight:700;font-size:15px}
.bh-res-table .c-jt .bh-res-sub{display:block}
.bh-res-fav{color:#FFC861;font-size:10.5px;font-weight:800;margin-left:5px;letter-spacing:.04em}
.bh-res-note{color:#98A2AF;font-size:13px;margin:4px 0 0}
.bh-res-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:16px}
.bh-res-tile{border:1px solid #232C38;background:#121821;border-radius:14px;padding:14px}
.bh-res-tile small{display:block;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#4DA8FF}
.bh-res-tile b{display:block;font-family:var(--bh-disp,"Anton",Impact,sans-serif);font-weight:400;font-size:26px;line-height:1.1;margin-top:4px;color:#F1F4F8}
.bh-res-tile span{color:#98A2AF;font-size:12.5px}
.bh-res-card{border:1px solid #232C38;border-radius:16px;background:#121821;padding:16px;margin:0 0 14px}
.bh-res-card-h{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap;margin:0!important;font:800 16px/1.3 var(--bh-body,Inter,sans-serif)!important;text-transform:none!important;letter-spacing:0!important}
.bh-res-card-h a{flex:1;min-width:200px}
.bh-res-card-h .bh-res-sub{flex-basis:100%}
.bh-res-time{font-family:var(--bh-disp,"Anton",Impact,sans-serif);font-weight:400;font-size:28px;line-height:1;color:#4DA8FF;min-width:56px}
.bh-res-top3,.bh-res-winners{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:6px}
.bh-res-top3 li,.bh-res-winners li>a{display:grid;grid-template-columns:auto auto 1fr auto;gap:10px;align-items:center;background:#18202B;border-radius:10px;padding:8px 10px;color:#F1F4F8!important}
.bh-res-winners .bh-res-time{font-size:20px;min-width:44px}
.bh-res-top3 .bh-res-pos{min-width:26px;height:26px;font-size:12px}
.bh-res-top3 .bh-res-silk,.bh-res-winners .bh-res-silk{width:28px;height:28px}
.bh-res-t3n{min-width:0}.bh-res-t3n b{font-weight:700}.bh-res-winners .bh-res-t3n .bh-res-sub{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bh-res-sp{font-weight:800;white-space:nowrap}
.bh-res-card-f{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:13px;color:#98A2AF;flex-wrap:wrap;gap:8px}
.bh-res .bh-res-btn{padding:9px 14px;font-size:13px;border-radius:10px;color:#0A0D12!important}
.bh-res-mh{margin:18px 0 0!important;font:800 15px/1.3 var(--bh-body,Inter,sans-serif)!important;text-transform:none!important}
.bh-res-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.bh-res-daycard{border:1px solid #232C38;border-radius:14px;background:#121821;padding:14px}
.bh-res-daycard h3{margin:0;font:800 15px/1.3 var(--bh-body,Inter,sans-serif)!important;text-transform:none!important}
.bh-res-daycard p{margin:2px 0 8px}.bh-res-daycard ul{list-style:none;margin:0;padding:0;font-size:14px;line-height:1.8}
.bh-res-nav{display:flex;gap:10px;margin:28px 0 0}
.bh-res-nav>*{flex:1;border:1px solid #232C38;background:#121821;border-radius:12px;padding:12px 14px;font-weight:700}
.bh-res-nav small{display:block;color:#98A2AF;font-weight:400;font-size:12px}.bh-res-nav .is-off{color:#6B7685}
.bh-res .bh-faq-item[open] summary{pointer-events:none}
@media(max-width:640px){
  .bh-res-hero{padding:16px}
  .bh-res-win{grid-template-columns:auto 1fr;padding:14px}.bh-res-win .bh-res-silk{width:56px;height:56px}
  .bh-res-win-sp{grid-column:1/-1;text-align:left;display:flex;gap:10px;align-items:baseline}.bh-res-win-sp b{display:inline;font-size:30px}
  .bh-res-tiles{grid-template-columns:1fr 1fr}
  .bh-res-table,.bh-res-table tbody,.bh-res-table tr,.bh-res-table td{display:block}
  .bh-res-table thead{display:none}
  .bh-res-table tr{display:grid;grid-template-columns:auto 1fr auto;gap:4px 10px;background:#121821;border:1px solid #232C38;border-radius:12px;padding:10px;margin-bottom:8px}
  .bh-res-table td{background:none;border:0!important;padding:0;border-radius:0!important}
  .bh-res-table td.c-pos{grid-row:1/3}.bh-res-table td.c-h{grid-column:2}.bh-res-table td.c-sp{grid-column:3;grid-row:1;text-align:right}
  .bh-res-table td.c-jt{grid-column:2/4}.bh-res-table td.c-jt .bh-res-sub{display:inline;margin-left:6px}
  .bh-res-table td.c-btn{grid-column:3;grid-row:2;text-align:right;font-size:12px;color:#98A2AF}.bh-res-table td.c-or{display:none}
  .bh-res-nav{flex-direction:column}
  .bh-res-card-f .bh-res-btn{width:100%;text-align:center}
}

/* ==========================================================================
   Homepage v4 — magazine layout (lead story, stat strip, main + sidebar)
   ========================================================================== */
.bh-home-v4,body .bh-main .bh-page.bh-home-v4{max-width:calc(var(--bh-w,1180px) + 2 * var(--bh-gut,20px))!important}
.bh-home-v4 a{text-decoration:none}
.bh-mag-ticker{display:flex;align-items:center;overflow-x:auto;scrollbar-width:none;border:1px solid var(--bh-line);background:#0d121a;border-radius:12px;margin:0 0 16px;font-size:13px;white-space:nowrap}
.bh-mag-ticker::-webkit-scrollbar{display:none}
.bh-mag-tk-lbl{font-weight:800;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#FFC861 !important;padding:12px 14px}
.bh-mag-tk{padding:12px 14px;border-left:1px solid var(--bh-line);color:var(--bh-text) !important}
.bh-mag-tk b{font-family:var(--bh-disp,Anton,sans-serif);font-weight:400;font-size:16px;color:var(--bh-lime) !important;margin-right:4px}
.bh-mag-lead{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:20px}
.bh-mag-lead.is-solo{grid-template-columns:1fr}
.bh-mag-story{position:relative;border-radius:18px;overflow:hidden;min-height:440px;display:flex;align-items:flex-end;isolation:isolate;background:#121821;margin:0}
.bh-mag-story .bh-hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.bh-mag-story:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,13,18,.3) 0%,rgba(10,13,18,.62) 38%,rgba(10,13,18,.95) 75%)}
.bh-mag-story-in{padding:26px}
.bh-main .bh-mag-kicker{font-weight:800;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:#FFC861 !important;opacity:1;margin:0 0 8px;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.bh-main .bh-mag-story h1{font-family:var(--bh-disp,Anton,sans-serif);font-weight:400;font-size:44px;line-height:1.02;text-transform:uppercase;margin:0 0 12px;color:var(--bh-text)}
.bh-mag-story h1 span{color:var(--bh-lime) !important}
.bh-mag-standfirst{color:#C8CFD8 !important;margin:0 0 14px;max-width:660px;font-size:15.5px;line-height:1.55}
.bh-mag-standfirst strong{color:var(--bh-text) !important}
.bh-mag-chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.bh-mag-chip{border:1px solid #2b3646;background:rgba(18,24,33,.8);border-radius:99px;padding:5px 12px;font-weight:600;font-size:12.5px;color:#C8CFD8 !important}
.bh-mag-chip b{color:var(--bh-text) !important}
.bh-mag-next{display:flex;flex-direction:column;background:var(--bh-card);border:1px solid var(--bh-line);border-radius:18px;padding:18px}
.bh-main .bh-mag-boxh{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-family:var(--bh-disp,Anton,sans-serif);font-weight:400;font-size:22px;line-height:1.1;text-transform:uppercase;margin:0 0 10px;color:var(--bh-text)}
.bh-mag-boxh a{font-family:Inter,sans-serif;font-size:12.5px;font-weight:700;text-transform:none;color:var(--bh-lime) !important}
.bh-mag-next ol,.bh-mag-res,.bh-mag-watch,.bh-mag-jk{list-style:none;margin:0;padding:0}
.bh-mag-next li a,.bh-mag-res li a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--bh-line);color:var(--bh-text) !important}
.bh-mag-next li:first-child a{border-top:0}
.bh-mag-nx-t{font-family:var(--bh-disp,Anton,sans-serif);font-size:24px;color:var(--bh-lime) !important;min-width:54px}
.bh-mag-nx-b b{display:block;font-size:14px}
.bh-mag-nx-b small{display:block;color:var(--bh-muted) !important;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bh-mag-nx-cd{font-weight:700;font-size:12px;color:#FFC861 !important;white-space:nowrap}
.bh-mag-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:16px 0 0}
.bh-mag-st{background:var(--bh-card);border:1px solid var(--bh-line);border-radius:14px;padding:12px 14px;color:var(--bh-text) !important;transition:border-color .15s}
.bh-mag-st:hover{border-color:var(--bh-lime)}
.bh-mag-st small{display:block;font-weight:800;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--bh-lime) !important}
.bh-mag-st b{display:block;font-family:var(--bh-disp,Anton,sans-serif);font-weight:400;font-size:26px;line-height:1.15}
.bh-mag-st span{display:block;color:var(--bh-muted) !important;font-size:12px;line-height:1.4}
.bh-mag{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;margin:32px 0 0;align-items:start}
.bh-mag-sec{margin:0 0 36px}
.bh-main .bh-mag-sec>h2{font-family:var(--bh-disp,Anton,sans-serif);font-weight:400;font-size:28px;line-height:1.1;text-transform:uppercase;margin:0 0 4px}
.bh-mag-dek{color:var(--bh-muted) !important;margin:0 0 14px;font-size:14px}
.bh-mag-more{margin:10px 0 0;font-size:14px;font-weight:700}
.bh-mag-more a,.bh-mag-sec p a{color:var(--bh-lime) !important}
.bh-mag-picks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media (max-width:1180px){.bh-mag-picks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.bh-mag-picks{grid-template-columns:1fr}}
.bh-mag-pk{background:var(--bh-card);border:1px solid var(--bh-line);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:6px}
.bh-mag-tag{align-self:flex-start;font-weight:800;font-size:10px;letter-spacing:.12em;text-transform:uppercase;border-radius:6px;padding:3px 8px;background:rgba(77,168,255,.14);color:var(--bh-lime) !important}
.bh-mag-tag.is-amb{background:rgba(255,200,97,.14);color:#FFC861 !important}
.bh-main .bh-mag-pk h3{margin:2px 0 0;font-family:Inter,sans-serif;font-weight:800;font-size:17px;line-height:1.2;text-transform:none}
.bh-mag-pk h3 a{color:var(--bh-text) !important}
.bh-mag-pk-meta,.bh-mag-pk-race{margin:0;color:#C8CFD8 !important;font-size:13px;line-height:1.45}
.bh-mag-pk-race{color:var(--bh-muted) !important}
.bh-mag-pr{margin-top:auto;display:flex;align-items:center;gap:8px;border-top:1px solid var(--bh-line);padding-top:8px;font-size:12.5px;color:var(--bh-muted) !important}
.bh-mag-pr b{font-family:var(--bh-disp,Anton,sans-serif);font-weight:400;font-size:22px;color:var(--bh-lime) !important}
.bh-mag-meets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.bh-mag-mt{background:var(--bh-card);border:1px solid var(--bh-line);border-radius:16px;padding:14px}
.bh-main .bh-mag-mt h3{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 2px;font-family:Inter,sans-serif;font-weight:800;font-size:17px;text-transform:none}
.bh-mag-mt h3 a{color:var(--bh-text) !important}
.bh-mag-mt h3 span{font-weight:600;font-size:12px;color:var(--bh-muted) !important;white-space:nowrap}
.bh-mag-mt-g{color:var(--bh-muted) !important;font-size:12.5px;margin:0 0 8px}
.bh-mag-times{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.bh-mag-times a{background:var(--bh-surface);border-radius:8px;padding:4px 9px;font-weight:700;font-size:13px;color:var(--bh-text) !important}
.bh-mag-times a:hover{background:var(--bh-lime);color:var(--bh-ink) !important}
.bh-mag-times a.is-off{opacity:.45}
.bh-mag-watch li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;background:var(--bh-card);border:1px solid var(--bh-line);border-radius:12px;padding:10px 14px;margin:0 0 8px}
.bh-mag-rt,.bh-mag-wp{text-align:center;line-height:1.1}
.bh-mag-rt b,.bh-mag-wp b{display:block;font-family:var(--bh-disp,Anton,sans-serif);font-weight:400;font-size:22px;color:var(--bh-lime) !important}
.bh-mag-rt small,.bh-mag-wp small{font-size:10px;color:var(--bh-muted) !important;text-transform:uppercase;letter-spacing:.08em}
.bh-mag-wh{display:block;font-weight:800;color:var(--bh-text) !important}
.bh-mag-wb small{color:var(--bh-muted) !important;font-size:12.5px}
.bh-mag-res li a{background:var(--bh-card);border:1px solid var(--bh-line);border-radius:12px;padding:10px 14px;margin:0 0 8px}
.bh-mag-res .bh-mag-nx-t{font-size:20px}
.bh-mag-sp{font-weight:800;font-size:15px}
.bh-mag-sp small{font-weight:600;color:var(--bh-muted) !important;font-size:11px}
.bh-mag-tom{background:var(--bh-card);border:1px solid var(--bh-line);border-radius:16px;padding:18px}
.bh-mag-tom p{color:#C8CFD8 !important;margin:6px 0 0}
.bh-mag-guide{background:linear-gradient(135deg,#121821,#0f1520);border:1px solid var(--bh-line);border-radius:18px;padding:22px}
.bh-mag-events{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.bh-mag-ev{background:var(--bh-card);border:1px solid var(--bh-line);border-radius:14px;padding:14px;color:var(--bh-text) !important}
.bh-mag-ev small{color:#FFC861 !important;font-weight:800;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase}
.bh-mag-ev b{display:block;font-weight:800;font-size:15px;margin:4px 0}
.bh-mag-ev span{color:var(--bh-muted) !important;font-size:12.5px}
.bh-mag-courses{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.bh-mag-courses a{background:var(--bh-card);border:1px solid var(--bh-line);border-radius:12px;padding:10px 12px;color:var(--bh-text) !important}
.bh-mag-courses a:hover,.bh-mag-ev:hover{border-color:var(--bh-lime)}
.bh-mag-courses b{display:block;font-size:14px}
.bh-mag-courses small{color:var(--bh-muted) !important;font-size:11.5px}
.bh-mag-side{display:flex;flex-direction:column;gap:16px}
.bh-mag-stick{position:sticky;top:16px;display:flex;flex-direction:column;gap:16px}
.bh-mag-box{background:var(--bh-card);border:1px solid var(--bh-line);border-radius:16px;padding:16px}
.bh-main .bh-mag-side .bh-mag-boxh{font-family:Inter,sans-serif;font-weight:800;font-size:11px;letter-spacing:.14em;color:var(--bh-muted);margin:0 0 10px}
.bh-mag-ofd{border-color:var(--bh-lime);background:linear-gradient(160deg,rgba(77,168,255,.12),#121821 60%)}
.bh-mag-ofd .bh-banner{display:block;background:none;border:0;padding:0;margin:0}
.bh-mag-ofd .bh-banner-top{display:flex;align-items:center;gap:12px}
.bh-mag-ofd .bh-banner-name{font-size:18px;margin:0 auto 0 0}
.bh-mag-ofd .bh-banner-offer{margin:12px 0 8px}
.bh-mag-ofd .bh-banner .bh-btn{display:block;width:100%;text-align:center;margin-top:12px}
.bh-mag-ofd .bh-banner-offer{font-size:24px}
.bh-mag-offers .bh-offerlist{margin:0}
.bh-main .bh-mag-offers .bh-offerlist-title{font-family:Inter,sans-serif;font-weight:800;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--bh-muted);margin:0 0 10px}
.bh-mag-offers .bh-ol{display:block}
.bh-mag-offers .bh-li{display:block;background:none;border:0;border-top:1px solid var(--bh-line);border-radius:0;padding:12px 0;margin:0;box-shadow:none}
.bh-mag-offers .bh-li:first-child{border-top:0;padding-top:0}
.bh-mag-offers .bh-li-attrs,.bh-mag-offers .bh-li-best{display:none}
.bh-mag-offers .bh-li-logo img{width:40px;height:40px}
.bh-mag-offers .bh-li-head{font-size:20px}
.bh-mag-offers .bh-li-offer{margin:10px 0 10px}
.bh-mag-offers .bh-li-name{font-size:17px!important}
.bh-mag-offers .bh-li-logo .bh-logo-tile{width:40px;height:40px;border-radius:10px}
.bh-mag-offers .bh-li.is-top{box-shadow:none}
.bh-mag-offers .bh-li-act{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 12px}
.bh-mag-offers .bh-li-act .bh-btn{flex:1 1 100%;text-align:center}
.bh-mag-offers .bh-li-review{text-align:left}
.bh-mag-offers .bh-li-act .bh-btn{padding:8px 12px;font-size:13px}
.bh-mag-offers .bh-terms{font-size:10.5px;line-height:1.45}
.bh-mag-offers .bh-offerlist-foot{font-size:11px}
.bh-mag-jk li{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-top:1px solid var(--bh-line);font-size:14px;counter-increment:jk}
.bh-mag-jk li:first-child{border-top:0}
.bh-mag-jk li a{color:var(--bh-text) !important;font-weight:600}
.bh-mag-jk li a:before{content:counter(jk);display:inline-block;width:22px;color:var(--bh-muted);font-weight:800}
.bh-mag-jk li span{color:var(--bh-muted) !important;font-size:12.5px}
.bh-mag-jk{counter-reset:jk}
.bh-mag-links a{display:flex;justify-content:space-between;padding:9px 0;border-top:1px solid var(--bh-line);font-weight:700;font-size:14px;color:var(--bh-text) !important}
.bh-mag-links .bh-mag-boxh+a{border-top:0}
.bh-mag-links a span{color:var(--bh-lime) !important}
.bh-mag-rg p{font-size:12.5px;color:#C8CFD8 !important;margin:0 0 8px;line-height:1.5}
.bh-mag-rg b{color:var(--bh-text) !important}
.bh-mag-rg a{color:var(--bh-lime) !important}
@media (max-width:1024px){
  .bh-mag{grid-template-columns:minmax(0,1fr) 300px;gap:20px}
  .bh-mag-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .bh-main .bh-mag-story h1{font-size:36px}
}
@media (max-width:860px){
  .bh-mag-lead{grid-template-columns:1fr}
  .bh-mag{display:flex;flex-direction:column;gap:0}
  .bh-mag-main,.bh-mag-side,.bh-mag-stick{display:contents}
  .bh-mag-box{margin:0 0 28px;width:100%;box-sizing:border-box;align-self:stretch}
  .bh-mag-sec{width:100%}
  .bh-mag-o1{order:1}.bh-mag-o2{order:2}.bh-mag-o3{order:3}.bh-mag-o4{order:4}.bh-mag-o5{order:5}.bh-mag-o6{order:6}.bh-mag-o7{order:7}
  .bh-mag-o8{order:8}.bh-mag-o9{order:9}.bh-mag-o10{order:10}.bh-mag-o11{order:11}.bh-mag-o12{order:12}.bh-mag-o13{order:13}.bh-mag-o14{order:14}
}
@media (max-width:640px){
  .bh-mag-story{min-height:420px}
  .bh-mag-story-in{padding:20px 18px}
  .bh-main .bh-mag-story h1{font-size:30px}
  .bh-mag-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bh-mag-stats .bh-mag-st:first-child{grid-column:1/-1}
  .bh-mag-meets,.bh-mag-events{grid-template-columns:1fr}
  .bh-main .bh-mag-sec>h2{font-size:24px}
  .bh-mag-guide{padding:16px}
}
.bh-mag-courses small{display:block;line-height:1.4;margin-top:2px}
.bh-main .bh-mag-o11>h2,.bh-main .bh-mag-guide>h2{font-family:var(--bh-disp,Anton,sans-serif);font-weight:400;font-size:26px;line-height:1.1;text-transform:uppercase;margin:28px 0 10px}
.bh-main .bh-mag-guide>h2:first-child,.bh-main .bh-mag-o11>h2:first-child{margin-top:0}
