/* ============================================================
   horse.bet North America Racing — v2 design system
   Mirrors horsebet-uk styling, prefixed .hbna- to avoid collisions.
   ============================================================ */

.hbna-main { background: transparent !important; padding: 32px 0 64px; min-height: 60vh; }

/* Hide theme hero on plugin pages */
body.hbna-plugin-page .hs-page-header { display: none !important; }

.hbna-page.hbna-v2 {
  max-width: 760px !important;
  margin: 0 auto !important;
  padding: 16px 12px 40px !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* Breadcrumbs */
.hbna-breadcrumbs { margin-bottom: 16px; font-size: 12px; }
.hbna-breadcrumbs ol { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.hbna-breadcrumbs li { display: inline; color: #6b6b66 !important; }
.hbna-breadcrumbs li + li::before { content: '›'; margin-right: 6px; color: #b5b5ad; }
.hbna-breadcrumbs a { color: #1d5fa5 !important; text-decoration: none; }
.hbna-breadcrumbs a:hover { text-decoration: underline; }

/* Hero */
.hbna-v2 .hbna-hero-v2 {
  background: linear-gradient(135deg, #0e1924 0%, #1a2a3a 100%) !important;
  border-radius: 14px !important;
  padding: 22px 22px 16px !important;
  color: #fff !important;
  margin-bottom: 16px !important;
  border: none !important;
}
.hbna-v2 .hbna-hero-v2 * { color: #fff !important; }
.hbna-v2 .hbna-hero-v2 h1 {
  font-size: 24px !important;
  font-weight: 500 !important;
  line-height: 1.15 !important;
  margin: 4px 0 14px !important;
  color: #fff !important;
}
.hbna-v2 .hbna-hero-v2-eyebrow { font-size: 10px; letter-spacing: 1.5px; opacity: 0.65; }
.hbna-v2 .hbna-hero-v2-pills { display: flex; flex-wrap: wrap; gap: 6px; }
.hbna-v2 .hbna-hero-v2 .hbna-pill {
  background: rgba(255,255,255,0.12) !important;
  color: #fff !important;
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 12px;
}
.hbna-v2 .hbna-hero-v2 .hbna-pill-prize {
  background: #d4b896 !important;
  color: #0e1924 !important;
  font-weight: 500;
}
.hbna-v2 .hbna-hero-v2 .hbna-pill-dirt { background: rgba(186, 117, 23, 0.35) !important; }
.hbna-v2 .hbna-hero-v2 .hbna-pill-turf { background: rgba(29, 158, 117, 0.45) !important; }
.hbna-v2 .hbna-hero-v2 .hbna-pill-synth { background: rgba(83, 74, 183, 0.45) !important; }

.hbna-hero-v2-keyinfo {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 8px;
  padding-top: 14px;
  margin-top: 14px;
  border-top: 1px solid rgba(255,255,255,0.08);
}
.hbna-hero-v2-keyinfo > div { text-align: center; }
.hbna-hero-v2-kl { font-size: 10px; opacity: 0.6; text-transform: uppercase; letter-spacing: 0.5px; }
.hbna-hero-v2-kv { font-size: 14px; font-weight: 500; margin-top: 3px; }

/* Grade badge inside H1 */
.hbna-grade-badge {
  display: inline-block;
  background: #d4b896;
  color: #0e1924 !important;
  font-size: 11px;
  font-weight: 500;
  padding: 2px 7px;
  border-radius: 4px;
  vertical-align: 4px;
  margin-right: 8px;
  letter-spacing: 0.5px;
}
.hbna-grade-pill {
  display: inline-block;
  background: #FAEEDA;
  color: #854F0B !important;
  font-size: 10px;
  font-weight: 500;
  padding: 1px 6px;
  border-radius: 3px;
  margin-right: 6px;
  letter-spacing: 0.5px;
}

/* Verdict card */
.hbna-v2 .hbna-verdict {
  background: #fffaeb !important;
  border-left: 3px solid #BA7517 !important;
  border-radius: 0 10px 10px 0 !important;
  padding: 14px 18px !important;
  margin: 0 0 16px !important;
}
.hbna-v2 .hbna-verdict, .hbna-v2 .hbna-verdict * { color: #2C2C2A !important; }
.hbna-v2 .hbna-verdict-h { font-size: 11px !important; letter-spacing: 1px !important; color: #854F0B !important; font-weight: 500 !important; }
.hbna-v2 .hbna-verdict p {
  font-family: Georgia, var(--font-serif, serif) !important;
  font-style: italic !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
  margin: 6px 0 0 !important;
  color: #2C2C2A !important;
}
.hbna-v2 .hbna-verdict-byline {
  font-size: 11px !important;
  color: #6b6b66 !important;
  margin-top: 10px !important;
  font-style: normal !important;
  font-family: -apple-system, sans-serif !important;
}

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

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

/* CTA row */
.hbna-cta-row-v2 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  margin: 16px 0;
}
.hbna-cta-v2 {
  display: block;
  background: #fff !important;
  border: 0.5px solid rgba(0,0,0,0.1) !important;
  border-radius: 10px;
  padding: 14px 16px;
  text-decoration: none !important;
  transition: border-color 0.15s;
  color: #1a1a1a !important;
}
.hbna-cta-v2:hover { border-color: #1d5fa5 !important; }
.hbna-cta-v2-title { font-size: 14px; font-weight: 500; color: #1a1a1a !important; }
.hbna-cta-v2-sub { font-size: 11px; color: #6b6b66 !important; margin-top: 3px; }

/* Tips row (race page selections-at-a-glance) */
.hbna-tips-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
  margin-bottom: 8px;
}
.hbna-tip-card { background: #f5f4ef; padding: 10px 12px; border-radius: 8px; }
.hbna-tip-lbl { font-size: 10px; color: #6b6b66 !important; letter-spacing: 0.5px; font-weight: 500; }
.hbna-tip-name { font-size: 13px; font-weight: 500; margin-top: 4px; color: #1a1a1a !important; }
.hbna-tip-reason { font-size: 11px; color: #6b6b66 !important; margin-top: 3px; line-height: 1.4; }

/* Runner row (race page field) */
.hbna-runner-v2 {
  display: grid;
  grid-template-columns: 44px 36px 1fr 80px;
  gap: 10px;
  padding: 12px 0;
  border-bottom: 0.5px solid rgba(0,0,0,0.06);
  align-items: center;
}
.hbna-runner-v2:last-of-type { border-bottom: 0; }
.hbna-runner-v2.is-fav {
  background: #f5faf8;
  margin: 0 -8px;
  padding: 12px 8px;
  border-radius: 6px;
}
.hbna-runner-num {
  width: 44px;
  height: 44px;
  border-radius: 6px;
  background: #f5f4ef;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.hbna-pp-num { font-size: 15px; font-weight: 500; font-variant-numeric: tabular-nums; color: #1a1a1a !important; line-height: 1; }
.hbna-pp-post { font-size: 9px; color: #6b6b66 !important; margin-top: 2px; }
.hbna-runner-silk {
  width: 36px;
  height: 36px;
  border-radius: 6px;
  overflow: hidden;
  background: #f5f4ef;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hbna-runner-silk svg { width: 32px; height: 32px; }
.hbna-runner-body { min-width: 0; }
.hbna-runner-name { font-weight: 500; font-size: 14px; color: #1a1a1a !important; }
.hbna-fav-tag {
  background: #E1F5EE;
  color: #085041 !important;
  font-size: 9px;
  font-weight: 500;
  padding: 1px 6px;
  border-radius: 3px;
  margin-left: 4px;
  letter-spacing: 0.5px;
  vertical-align: 2px;
}
.hbna-runner-meta { font-size: 11px; color: #6b6b66 !important; margin-top: 3px; line-height: 1.4; }
.hbna-runner-meta a { color: #6b6b66 !important; text-decoration: none; }
.hbna-runner-meta a:hover { color: #1d5fa5 !important; text-decoration: underline; }
.hbna-runner-breeding { font-size: 11px; color: #6b6b66 !important; margin-top: 3px; font-style: italic; }
.hbna-runner-equipment { display: flex; gap: 4px; margin-top: 4px; }
.hbna-eq-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  font-size: 10px;
  font-weight: 500;
  background: #FAEEDA;
  color: #854F0B !important;
  border-radius: 3px;
  cursor: help;
}
.hbna-eq-tag.hbna-med-tag {
  background: #FCEBEB;
  color: #A32D2D !important;
}

/* Runner odds (M/L + live) */
.hbna-runner-odds { text-align: right; min-width: 60px; }
.hbna-odds-lbl { font-size: 9px; color: #6b6b66 !important; letter-spacing: 0.5px; font-weight: 500; }
.hbna-runner-price {
  font-size: 15px;
  font-weight: 500;
  color: #1a1a1a !important;
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
  margin-top: 2px;
}
.hbna-runner-price.hbna-live-price { color: #085041 !important; }

/* Scratches block */
.hbna-scratches {
  padding: 10px 12px;
  background: #f5f4ef;
  border-radius: 8px;
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
.hbna-scratches-lbl { font-size: 11px; color: #6b6b66 !important; font-weight: 500; }
.hbna-scratch-pill {
  background: #fff;
  color: #6b6b66 !important;
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 11px;
  text-decoration: line-through;
}

/* Track tile grid (used on home/today/tomorrow for meet listings) */
.hbna-track-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}
.hbna-track-tile {
  display: block;
  padding: 12px 14px;
  background: #f5f4ef !important;
  border: 0.5px solid rgba(0,0,0,0.08);
  border-radius: 8px;
  text-decoration: none !important;
  color: #1a1a1a !important;
  transition: border-color 0.15s, background 0.15s;
}
.hbna-track-tile:hover {
  border-color: #1d5fa5 !important;
  background: #fafaf7 !important;
}
.hbna-track-tile-name {
  font-size: 14px;
  font-weight: 500;
  color: #1a1a1a !important;
  line-height: 1.25;
}
.hbna-track-tile-meta {
  font-size: 11px;
  color: #6b6b66 !important;
  margin-top: 3px;
  letter-spacing: 0.3px;
}

/* Tracks/Courses grid */
.hbna-courses-grid-v2 {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 8px;
}
.hbna-course-card-v2 {
  display: block;
  padding: 14px 16px;
  background: #f5f4ef !important;
  border: 0.5px solid rgba(0,0,0,0.08);
  border-radius: 8px;
  text-decoration: none !important;
  color: #1a1a1a !important;
}
.hbna-course-card-v2:hover { border-color: #1d5fa5 !important; background: #fafaf7 !important; }
.hbna-course-card-v2.is-racing { background: #E1F5EE !important; border-color: #1D9E75 !important; }
.hbna-course-card-name { font-size: 14px; font-weight: 500; color: #1a1a1a !important; }
.hbna-course-card-v2.is-racing .hbna-course-card-name { color: #044229 !important; }
.hbna-course-card-sub { font-size: 11px; color: #085041 !important; margin-top: 3px; font-weight: 500; }

/* Affiliate banner — slot A */
.hbna-aff-hero {
  border-radius: 12px;
  padding: 14px 18px;
  margin: 0 0 18px;
  display: flex;
  align-items: center;
  gap: 14px;
  color: #fff !important;
  text-decoration: none;
  position: relative;
  overflow: hidden;
}
.hbna-aff-hero * { color: #fff !important; }
.hbna-aff-hero-logo {
  background: #fff;
  border-radius: 8px;
  padding: 8px 10px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 90px;
  height: 50px;
}
.hbna-aff-hero-logo img { max-height: 32px; max-width: 70px; width: auto; height: auto; }
.hbna-aff-hero-text { flex: 1; min-width: 0; }
.hbna-aff-hero-eyebrow { font-size: 10px; opacity: 0.7; letter-spacing: 1px; }
.hbna-aff-hero-offer { font-size: 17px; font-weight: 500; line-height: 1.2; margin-top: 2px; }
.hbna-aff-hero-terms { font-size: 10px; opacity: 0.65; margin-top: 4px; }
.hbna-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;
}
.hbna-aff-hero a.hbna-aff-hero-btn[style*="color"] { color: #014230 !important; }

/* Affiliate banner — slot C (best price) */
.hbna-aff-bestprice {
  background: linear-gradient(90deg, #fffaeb 0%, #fef6e3 100%);
  border: 0.5px solid #FAC775;
  border-radius: 12px;
  padding: 14px 16px;
  margin: 0 0 8px;
  display: flex;
  align-items: center;
  gap: 14px;
}
.hbna-aff-bp-icon { width: 36px; height: 36px; background: #BA7517; color: #fff !important; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 18px; font-weight: 500; }
.hbna-aff-bp-body { flex: 1; min-width: 0; }
.hbna-aff-bp-lbl { font-size: 10px; color: #854F0B !important; letter-spacing: 0.5px; font-weight: 500; }
.hbna-aff-bp-title { font-size: 14px; font-weight: 500; color: #2C2C2A !important; line-height: 1.3; margin-top: 2px; }
.hbna-aff-bp-race { font-weight: 400; color: #6b6b66 !important; }
.hbna-aff-bp-meta { font-size: 11px; color: #6b6b66 !important; margin-top: 3px; }
.hbna-aff-bp-priceblock { text-align: right; flex-shrink: 0; }
.hbna-aff-bp-price { font-size: 20px; font-weight: 500; color: #014230 !important; line-height: 1; font-variant-numeric: tabular-nums; }
.hbna-aff-bp-bookie { font-size: 10px; color: #6b6b66 !important; margin-top: 2px; }
.hbna-aff-bp-btn { background: #014230 !important; color: #fff !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; }
.hbna-aff-disclaimer { font-size: 10px; color: #6b6b66 !important; text-align: center; margin: 0 0 18px; opacity: 0.7; }

/* Mobile */
/* Affiliate banner — slot B (inline mid-page) */
.hbna-aff-inline {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  background: #fff;
  border: 0.5px solid rgba(0,0,0,0.1);
  border-left: 3px solid #0b2855;
  border-radius: 10px;
  margin: 0 0 8px;
}
.hbna-aff-inline-logo {
  background: #0b2855;
  border-radius: 6px;
  padding: 6px 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  min-width: 80px;
  height: 44px;
}
.hbna-aff-inline-logo img { max-height: 30px; max-width: 64px; width: auto; height: auto; }
.hbna-aff-inline-body { flex: 1; min-width: 0; }
.hbna-aff-inline-eyebrow { font-size: 9px; color: #6b6b66 !important; letter-spacing: 1px; }
.hbna-aff-inline-title { font-size: 14px; font-weight: 500; color: #1a1a1a !important; margin-top: 2px; }
.hbna-aff-inline-meta { font-size: 11px; color: #6b6b66 !important; margin-top: 3px; }
.hbna-aff-inline-meta strong { color: #0b2855; }
.hbna-aff-inline-btn {
  background: #0b2855 !important;
  color: #fff !important;
  padding: 10px 14px;
  border-radius: 6px;
  text-decoration: none !important;
  font-weight: 500;
  font-size: 13px;
  white-space: nowrap;
  flex-shrink: 0;
}

/* Affiliate banner — slot D (footer card) */
.hbna-aff-footer-card {
  background: linear-gradient(135deg, #f5f4ef 0%, #fafaf7 100%);
  border: 0.5px solid rgba(0,0,0,0.1);
  border-radius: 12px;
  padding: 18px 20px;
  margin: 24px 0 0;
}
.hbna-aff-fc-eyebrow { font-size: 10px; color: #6b6b66 !important; letter-spacing: 1.5px; font-weight: 500; }
.hbna-aff-fc-grid {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 16px;
  margin-top: 10px;
  align-items: start;
}
.hbna-aff-fc-logo {
  background: #0b2855;
  border-radius: 8px;
  padding: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hbna-aff-fc-logo img { max-width: 80px; max-height: 50px; width: auto; height: auto; }
.hbna-aff-fc-body h3 {
  font-size: 18px !important;
  font-weight: 500 !important;
  margin: 0 0 6px !important;
  color: #1a1a1a !important;
}
.hbna-aff-fc-body p { font-size: 13px; color: #2C2C2A !important; margin: 0 0 10px; line-height: 1.5; }
.hbna-aff-fc-features {
  list-style: none;
  padding: 0;
  margin: 0 0 10px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 14px;
}
.hbna-aff-fc-features li {
  font-size: 12px;
  color: #2C2C2A !important;
  padding-left: 16px;
  position: relative;
}
.hbna-aff-fc-features li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: #1D9E75;
  font-weight: 500;
}
.hbna-aff-fc-promo {
  font-size: 12px;
  color: #6b6b66 !important;
  margin-bottom: 10px;
}
.hbna-aff-fc-promo strong {
  background: #FACC15;
  color: #0b2855 !important;
  padding: 2px 7px;
  border-radius: 4px;
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 11px;
  letter-spacing: 1px;
}
.hbna-aff-fc-btn {
  display: inline-block;
  background: #0b2855 !important;
  color: #fff !important;
  padding: 10px 18px;
  border-radius: 6px;
  text-decoration: none !important;
  font-weight: 500;
  font-size: 13px;
}

/* Finishing-position pill (jockey/trainer recent results) */
.hbna-pos-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #e8e8e0;
  color: #6b6b66 !important;
  font-size: 14px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}
.hbna-pos-pill.pos-win {
  background: #FFD700;
  color: #5C3A0F !important;
  box-shadow: inset 0 0 0 1px #d4a000;
}
.hbna-pos-pill.pos-place {
  background: #C0C0C0;
  color: #1a1a1a !important;
}
.hbna-pos-pill.pos-show {
  background: #CD7F32;
  color: #fff !important;
}

/* Scratched row */
.hbna-race-row-v2.is-scratched {
  opacity: 0.55;
}
.hbna-race-row-v2.is-scratched .hbna-race-row-name {
  text-decoration: line-through;
}

@media (max-width: 600px) {
  .hbna-page.hbna-v2 { padding: 12px 10px 32px !important; }
  .hbna-v2 .hbna-hero-v2 { padding: 18px 16px 14px !important; border-radius: 12px !important; }
  .hbna-v2 .hbna-hero-v2 h1 { font-size: 20px !important; }
  .hbna-v2 .hbna-card-v2 { padding: 14px 14px 6px !important; }
  .hbna-cta-row-v2 { grid-template-columns: 1fr 1fr; }
  .hbna-tips-row { grid-template-columns: 1fr; }
  .hbna-race-row-v2 { grid-template-columns: 60px 1fr auto; gap: 8px; padding: 10px 0; }
  .hbna-runner-v2 { grid-template-columns: 40px 32px 1fr 60px; gap: 8px; padding: 10px 0; }
  .hbna-runner-num { width: 40px; height: 40px; }
  .hbna-runner-silk { width: 32px; height: 32px; }
  .hbna-runner-silk svg { width: 28px; height: 28px; }
  .hbna-runner-name { font-size: 13px; }
  .hbna-aff-hero { flex-wrap: wrap; padding: 12px 14px; }
  .hbna-aff-hero-btn { width: 100%; text-align: center; margin-top: 6px; }
  .hbna-aff-bestprice { flex-wrap: wrap; }
  .hbna-aff-inline { flex-wrap: wrap; padding: 12px 14px; }
  .hbna-aff-inline-btn { width: 100%; text-align: center; margin-top: 6px; }
  .hbna-aff-fc-grid { grid-template-columns: 1fr; gap: 12px; }
  .hbna-aff-fc-logo { padding: 12px; }
  .hbna-aff-fc-features { grid-template-columns: 1fr; }
  .hbna-aff-fc-btn { width: 100%; text-align: center; }
  .hbna-courses-grid-v2 { grid-template-columns: repeat(2, 1fr); gap: 6px; }
  .hbna-track-grid { grid-template-columns: repeat(2, 1fr); gap: 6px; }
}

/* ───────────────────────────────────────────────────────────────────────
   v2.0.0 — Event offers section (race + meet pages)
   AmWager primary partner card + static info row of other US racebooks
   ─────────────────────────────────────────────────────────────────────── */
.hbna-aff-event-offers {
  background: #fff;
  border: 1px solid #e8e2d4;
  border-radius: 10px;
  padding: 22px;
  margin: 24px 0;
}
.hbna-aff-event-offers-h {
  font-family: Georgia, serif;
  font-style: italic;
  color: #0b1d3a;
  margin: 0 0 8px;
  font-size: 22px;
  line-height: 1.3;
}
.hbna-aff-event-offers-intro {
  font-size: 13.5px;
  line-height: 1.55;
  color: #444;
  margin: 0 0 6px;
}
.hbna-aff-event-offers-disclaimer {
  font-size: 10.5px;
  line-height: 1.5;
  color: #888;
  margin: 0 0 16px;
}
.hbna-aff-event-primary {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 22px;
  background: linear-gradient(135deg, #003c8f 0%, #1a5fc2 100%);
  color: #fff;
  border-radius: 10px;
  text-decoration: none !important;
  margin-bottom: 16px;
  border: 2px solid #cba135;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.hbna-aff-event-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(0,60,143,0.25);
}
.hbna-aff-event-primary-logo {
  background: #fff;
  padding: 8px 12px;
  border-radius: 6px;
  min-width: 88px;
  text-align: center;
}
.hbna-aff-event-primary-logo img {
  display: block;
  max-width: 72px;
  height: auto;
}
.hbna-aff-event-primary-body { flex: 1; min-width: 160px; }
.hbna-aff-event-primary-eyebrow {
  font-size: 10.5px;
  letter-spacing: 2px;
  color: #cba135;
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: 3px;
}
.hbna-aff-event-primary-offer {
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 3px;
  color: #fff;
}
.hbna-aff-event-primary-terms {
  font-size: 11px;
  color: #cce0ff;
  line-height: 1.4;
}
.hbna-aff-event-primary-terms strong { color: #fff; }
.hbna-aff-event-primary-btn {
  background: #cba135;
  color: #0b1d3a;
  padding: 10px 22px;
  border-radius: 6px;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.3px;
  white-space: nowrap;
}
.hbna-aff-event-other-lbl {
  font-size: 10.5px;
  letter-spacing: 1.5px;
  color: #888;
  font-weight: 700;
  text-transform: uppercase;
  margin: 18px 0 8px;
}
.hbna-aff-event-other-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 8px;
}
.hbna-aff-event-other-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 12px 10px;
  border-radius: 6px;
  text-align: center;
  line-height: 1.2;
  gap: 4px;
  opacity: 0.88;
}
.hbna-aff-event-other-name {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.3px;
}
.hbna-aff-event-other-tag {
  font-size: 9.5px;
  opacity: 0.85;
  letter-spacing: 0.4px;
  text-transform: uppercase;
}
.hbna-aff-event-offers-rg {
  font-size: 10.5px;
  line-height: 1.55;
  color: #777;
  margin: 14px 0 0;
  border-top: 1px solid #f0ecdf;
  padding-top: 10px;
}

/* Per-runner AmWager CTA pill (inside runner card) */
.hbna-runner-bet-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 7px 12px;
  margin: 8px 0 0;
  background: linear-gradient(90deg, #003c8f 0%, #1a5fc2 100%);
  color: #fff !important;
  border-radius: 6px;
  text-decoration: none !important;
  border: 1px solid #cba135;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.3px;
  line-height: 1;
  transition: transform 0.12s ease;
}
.hbna-runner-bet-cta:hover { transform: translateY(-1px); }
.hbna-runner-bet-cta-lbl { color: #cba135; font-weight: 700; }
.hbna-runner-bet-cta-ml {
  background: rgba(255,255,255,0.18);
  padding: 3px 7px;
  border-radius: 4px;
  font-variant-numeric: tabular-nums;
}
.hbna-runner-bet-cta-promo {
  color: #fff;
  font-weight: 600;
}

@media (max-width: 600px) {
  .hbna-aff-event-offers { padding: 16px; }
  .hbna-aff-event-primary { flex-wrap: wrap; padding: 14px; }
  .hbna-aff-event-primary-btn { width: 100%; text-align: center; margin-top: 8px; }
  .hbna-aff-event-other-grid { grid-template-columns: repeat(2, 1fr); }
  .hbna-runner-bet-cta { font-size: 10.5px; padding: 6px 10px; gap: 8px; }
  .hbna-runner-bet-cta-lbl { display: none; }
}

/* ───────────────────────────────────────────────────────────────────────
   v2.1.0 — Composite-scored tipster cards (NAP / EACH-WAY / DARK HORSE)
   ─────────────────────────────────────────────────────────────────────── */
.hbna-tip-card.hbna-tip-nap { border-left: 3px solid #cba135; }
.hbna-tip-card.hbna-tip-ew  { border-left: 3px solid #1a5fc2; }
.hbna-tip-card.hbna-tip-dh  { border-left: 3px solid #6b7280; }

.hbna-tip-price {
  font-size: 13px;
  font-weight: 700;
  color: #0b1d3a;
  font-variant-numeric: tabular-nums;
  margin: 4px 0 6px;
  letter-spacing: 0.3px;
}
.hbna-tip-stars {
  font-size: 14px;
  letter-spacing: 1px;
  margin: 0 0 6px;
  line-height: 1;
}
.hbna-tip-stars .hbna-star-on  { color: #cba135; }
.hbna-tip-stars .hbna-star-off { color: #e0d9c4; }

.hbna-tip-reason {
  font-size: 11.5px !important;
  color: #555 !important;
  line-height: 1.45 !important;
}

.hbna-tip-methodology {
  font-size: 11px;
  line-height: 1.55;
  color: #777;
  margin: 14px 0 0;
  padding: 10px 12px;
  background: #fafaf7;
  border-radius: 6px;
  border-left: 2px solid #e0d9c4;
}
.hbna-tip-methodology strong { color: #0b1d3a; }

/* ============================================================
   Tracks by State  (/racing-data/tracks/{state}/)   v2.6.0
   ============================================================ */
.hbna-tbs-intro{font-size:16px;line-height:1.65;margin-top:14px;max-width:760px}
.hbna-tbs-intro a{color:#b07e16;font-weight:600;text-decoration:underline}

.hbna-track-block{border:1px solid #e9e3d6;border-radius:14px;background:#fff;padding:20px 22px;margin:0 0 18px}
.hbna-track-top{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}
.hbna-track-idblk{flex:1;min-width:240px}
.hbna-track-idblk h3{font-size:21px;margin:0 0 3px;line-height:1.2}
.hbna-flag{display:inline-block;background:#c9a24b;color:#081428;font-size:9.5px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;padding:3px 7px;border-radius:5px;vertical-align:3px;margin-left:6px}
.hbna-track-loc{font-size:13px;color:#74808f}
.hbna-track-nap{font-size:12.5px;color:#5a6472;line-height:1.7;min-width:210px}
.hbna-nap-src{color:#9aa6b8;font-size:10.5px;font-style:italic}
.hbna-track-blurb{font-size:14px;color:#3a4757;line-height:1.6;margin:14px 0 0;max-width:760px}
.hbna-track-facils{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 0}
.hbna-track-facils span{font-size:11px;color:#5a6472;background:#f4f1ea;border:1px solid #e6dec9;border-radius:999px;padding:4px 10px}
.hbna-track-sig{font-size:12.5px;color:#74808f;margin:10px 0 0}
.hbna-track-sig strong{color:#0b1d3a}

.hbna-track-res{margin-top:14px}
.hbna-track-res-h{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:#8a93a0;font-weight:600;margin-bottom:4px}
.hbna-res-table{width:100%;border-collapse:collapse}
.hbna-res-table td{padding:9px 10px;border-top:1px solid #f2eee4;font-size:13.5px;vertical-align:middle}
.hbna-res-table tr:first-child td{border-top:none}
.hbna-res-table .rn{color:#0b1d3a;font-weight:600}
.hbna-res-table .rn .rt{display:block;font-size:11px;color:#9aa6b8;font-weight:400}
.hbna-res-table .od{font-weight:700;color:#b07e16;white-space:nowrap;font-variant-numeric:tabular-nums}
.hbna-res-table .fav{font-size:9px;background:#c9a24b;color:#081428;padding:1px 4px;border-radius:4px;margin-left:4px;vertical-align:1px}
.hbna-res-table .go{font-size:11px;color:#8a93a0}
.hbna-res-table .pz{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.hbna-res-hidden{display:none}
.hbna-res-hidden.open{display:table-row-group}
.hbna-res-more{margin-top:10px;width:100%;background:#f4f1ea;border:1px solid #e6dec9;color:#0b1d3a;font-weight:600;font-size:12.5px;padding:8px 14px;border-radius:8px;cursor:pointer}
.hbna-res-more:hover{border-color:#c9a24b}
.hbna-track-nores{font-size:13px;color:#74808f;font-style:italic;margin-top:12px}

.hbna-tbs-top-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.hbna-tbs-top-card{background:linear-gradient(160deg,#11294b,#081428);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:16px;color:#f4f1ea}
.hbna-tbs-top-card .nm{font-size:16px;font-weight:600;color:#fff}
.hbna-tbs-top-card .tk{font-size:11.5px;color:#9aa6b8;margin:2px 0 10px}
.hbna-tbs-top-card .pz{font-size:20px;color:#d9bd6a;font-weight:700}
.hbna-tbs-top-card .wn{font-size:12px;color:#cbd2dd;margin-top:4px}

@media(max-width:820px){
  .hbna-tbs-top-grid{grid-template-columns:1fr}
  .hbna-res-table .go{display:none}
}

/* =============================================================
   v2.7.0 — Odds comparison widget (race, horse, today variants)
   ============================================================= */
.hbna-odds-widget { background: #fff; border: 1px solid #e8e2d4; border-radius: 12px; padding: 20px 22px; margin: 22px 0; overflow: hidden; }
.hbna-odds-header { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 12px; flex-wrap: wrap; gap: 8px; }
.hbna-odds-h { font-family: Georgia, serif; font-style: italic; font-weight: 600; font-size: 20px; color: #0b1d3a; margin: 0; line-height: 1.3; }
.hbna-odds-eyebrow { font-size: 9px; letter-spacing: 1.5px; color: #6b6b66; font-weight: 700; text-transform: uppercase; margin-bottom: 4px; }
.hbna-odds-legal { font-size: 10px; color: #888; font-style: italic; margin: 8px 0 14px; padding-bottom: 10px; border-bottom: 1px solid #f0ece0; }

.hbna-odds-verdict { background: #f7f5ef; border-left: 3px solid #cba135; border-radius: 6px; padding: 14px 18px; margin: 0 0 16px; }
.hbna-odds-verdict-h { font-size: 10px; letter-spacing: 1.5px; color: #cba135; font-weight: 700; margin-bottom: 6px; }
.hbna-odds-verdict p { margin: 0; font-size: 14px; line-height: 1.6; color: #1f2937; }
.hbna-odds-verdict strong { color: #014230; font-weight: 700; }
.hbna-odds-verdict-byline { font-size: 11px; color: #888; font-style: italic; margin-top: 8px; }

.hbna-odds-tbl-wrap { overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; margin: 0 -22px; padding: 0 22px 4px; }
.hbna-odds-tbl-wrap::-webkit-scrollbar { height: 6px; }
.hbna-odds-tbl-wrap::-webkit-scrollbar-thumb { background: #cba135; border-radius: 3px; }
.hbna-odds-tbl-wrap::-webkit-scrollbar-track { background: #f0ece0; }
.hbna-odds-tbl { border-collapse: separate; border-spacing: 0; font-size: 13px; width: 100%; min-width: 820px; }
.hbna-odds-tbl thead th { font-size: 11px; letter-spacing: 0.5px; color: #6b6b66; font-weight: 700; text-align: center; padding: 10px 8px; background: #faf7ec; border-bottom: 2px solid #cba135; white-space: nowrap; }
.hbna-odds-tbl thead th.runner-col { text-align: left; padding-left: 12px; min-width: 200px; }
.hbna-odds-tbl thead th.amwager-col { background: #FEF9C3; border-bottom-color: #FACC15; }
.hbna-odds-tbl thead th.amwager-col a { color: #014230; text-decoration: none; border-bottom: 2px dotted #014230; font-weight: 700; font-size: 12px; }
.hbna-odds-tbl thead th.amwager-col a:hover { border-bottom-style: solid; }
.hbna-odds-tbl tbody td { padding: 10px 8px; text-align: center; border-bottom: 1px solid #f0ece0; font-variant-numeric: tabular-nums; white-space: nowrap; }
.hbna-odds-tbl tbody td.runner { text-align: left; padding-left: 12px; min-width: 200px; }
.hbna-odds-tbl thead th.runner-col,
.hbna-odds-tbl tbody td.runner { position: sticky; left: 0; z-index: 2; box-shadow: 6px 0 6px -4px rgba(0,0,0,0.06); }
.hbna-odds-tbl thead th.runner-col { background: #faf7ec; }
.hbna-odds-tbl tbody td.runner    { background: #fff; }
.hbna-odds-pn { color: #6b6b66; font-size: 12px; }
.hbna-odds-runner-name { font-family: Georgia, serif; font-style: italic; font-weight: 600; font-size: 14px; color: #0b1d3a; }
.hbna-odds-runner-meta { font-size: 11px; color: #6b6b66; margin-top: 2px; }
.hbna-odds-num { font-family: 'SF Mono', Menlo, monospace; font-size: 13px; color: #1f2937; font-weight: 600; }
.hbna-odds-num.best { background: #dcfce7; color: #14532d; font-weight: 700; border-radius: 4px; padding: 3px 6px; }
.hbna-odds-tbl tbody td.amwager-cell { background: #FEFDEC; }
.hbna-odds-tbl tbody td.amwager-cell a { text-decoration: none; color: inherit; display: block; }
.hbna-odds-tbl tbody td.amwager-cell a:hover .hbna-odds-num { background: #FACC15; color: #014230; border-radius: 4px; padding: 3px 6px; }
.hbna-odds-tbl tbody td.amwager-cell a:hover .hbna-odds-num.best { background: #FACC15; color: #014230; }

.hbna-odds-mv { font-size: 12px; font-weight: 600; }
.hbna-mv-steady { color: #6b6b66; }
.hbna-mv-drift { color: #a32d2d; }
.hbna-mv-short { color: #14532d; }

.hbna-odds-share-bar-outer { background: #f0ece0; height: 6px; border-radius: 3px; overflow: hidden; margin: 0 auto 4px; max-width: 80px; }
.hbna-odds-share-bar-inner { background: linear-gradient(90deg, #cba135 0%, #FACC15 100%); height: 100%; }
.hbna-odds-share-pct { font-size: 11px; font-weight: 600; color: #6b6b66; font-variant-numeric: tabular-nums; }

.hbna-odds-footer { display: flex; justify-content: space-between; align-items: center; margin-top: 14px; gap: 14px; flex-wrap: wrap; }
.hbna-odds-updated { font-size: 11px; color: #888; }

.hbna-odds-amwager-cta { display: flex; align-items: center; gap: 14px; background: linear-gradient(135deg, #014230 0%, #016a4a 100%); color: #fff; padding: 12px 16px; border-radius: 10px; }
.hbna-odds-amwager-eyebrow { font-size: 9px; letter-spacing: 1.5px; opacity: 0.95; font-weight: 700; color: #FACC15; }
.hbna-odds-amwager-line { font-size: 13px; font-weight: 600; margin-top: 2px; }
.hbna-odds-amwager-fineprint { font-size: 9px; opacity: 0.65; margin-top: 4px; }
.hbna-odds-amwager-btn { display: inline-block; background: #FACC15; color: #014230; padding: 10px 16px; border-radius: 6px; font-weight: 700; text-decoration: none; font-size: 13px; white-space: nowrap; }

.hbna-legend { font-size: 10px; color: #888; margin-top: 8px; }
.hbna-legend .swatch { display: inline-block; width: 10px; height: 10px; background: #dcfce7; border-radius: 2px; vertical-align: middle; margin: 0 4px 2px 0; }
.hbna-legend .swatch.amw { background: #FEF9C3; border: 1px solid #FACC15; }

/* Horse profile compact widget */
.hbna-odds-strip { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; margin: 12px 0; }
.hbna-odds-strip-cell { background: #f7f5ef; border-radius: 6px; padding: 10px 6px; text-align: center; }
.hbna-odds-strip-cell.best { background: #dcfce7; }
.hbna-odds-strip-cell.amwager { background: #FEF9C3; border: 1px solid #FACC15; }
.hbna-odds-strip-cell.amwager a { text-decoration: none; color: inherit; display: block; }
.hbna-odds-strip-cell.amwager a:hover { background: #FACC15; border-radius: 4px; }
.hbna-odds-strip-op { font-size: 10px; letter-spacing: 0.5px; color: #6b6b66; font-weight: 700; }
.hbna-odds-strip-cell.amwager .hbna-odds-strip-op { color: #014230; text-decoration: underline; }
.hbna-odds-strip-price { font-family: 'SF Mono', Menlo, monospace; font-size: 18px; font-weight: 700; color: #0b1d3a; margin-top: 4px; }
.hbna-odds-strip-cell.best .hbna-odds-strip-price { color: #14532d; }
.hbna-odds-strip-cell.amwager .hbna-odds-strip-price { color: #014230; }
.hbna-odds-strip-mv { font-size: 12px; }

/* Today hub — favourites board */
.hbna-hub-board .hbna-hub-row { display: grid; grid-template-columns: 100px 1fr auto; gap: 14px; align-items: center; padding: 14px 0; border-bottom: 1px solid #f0ece0; }
.hbna-hub-row:last-child { border-bottom: none; }
.hbna-hub-track { font-family: Georgia, serif; font-style: italic; font-weight: 600; font-size: 15px; color: #0b1d3a; }
.hbna-hub-race { font-size: 12px; color: #6b6b66; margin-top: 2px; }
.hbna-hub-fav { display: flex; flex-direction: column; }
.hbna-hub-fav-lbl { font-size: 9px; letter-spacing: 1.5px; color: #6b6b66; font-weight: 700; text-transform: uppercase; }
.hbna-hub-fav-name { font-family: Georgia, serif; font-style: italic; font-size: 15px; color: #1f2937; font-weight: 600; margin-top: 2px; }
.hbna-hub-fav-runners { font-size: 11px; color: #6b6b66; margin-top: 2px; }
.hbna-hub-best { text-align: right; }
.hbna-hub-best-lbl { font-size: 9px; letter-spacing: 1.5px; color: #6b6b66; font-weight: 700; }
.hbna-hub-best-price { font-family: 'SF Mono', Menlo, monospace; font-size: 22px; font-weight: 700; color: #14532d; margin-top: 2px; }
.hbna-hub-best-op { font-size: 10px; color: #6b6b66; margin-top: 2px; }
.hbna-hub-best-op a { color: #014230; font-weight: 700; text-decoration: underline; }

@media (max-width: 720px) {
  .hbna-odds-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hbna-hub-board .hbna-hub-row { grid-template-columns: 1fr; gap: 6px; }
  .hbna-hub-best { text-align: left; }
  .hbna-odds-widget { padding: 16px; }
  .hbna-odds-tbl-wrap { margin: 0 -16px; padding: 0 16px 4px; }
  .hbna-odds-amwager-cta { padding: 10px 12px; gap: 10px; }
  .hbna-odds-amwager-btn { padding: 8px 12px; font-size: 12px; }
}

/* =============================================================
   v2.7.3 — Results pages (hub, day, meet, race)
   Templates use their own class taxonomy (hbna-page-header,
   hbna-result-race-card, hbna-rnum etc.) which had NO CSS at all
   until now — pages rendered as raw HTML. This section fixes that.
   ============================================================= */

.hbna-page.hbna-results-hub,
.hbna-page.hbna-results-day,
.hbna-page.hbna-results-meet,
.hbna-page.hbna-results-race {
  max-width: 1080px;
  margin: 0 auto;
  padding: 30px 20px 60px;
  color: #1f2937;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  line-height: 1.6;
}

.hbna-page-header { margin-bottom: 28px; padding-bottom: 22px; border-bottom: 2px solid #cba135; }
.hbna-page-header .hbna-eyebrow { font-size: 12px; letter-spacing: 0.5px; color: #6b6b66; font-weight: 500; margin-bottom: 8px; }
.hbna-page-header .hbna-eyebrow a { color: #014230; text-decoration: none; font-weight: 600; }
.hbna-page-header .hbna-eyebrow a:hover { text-decoration: underline; }
.hbna-page-header h1 { font-family: Georgia, serif; font-style: italic; font-weight: 600; font-size: 32px; color: #0b1d3a; line-height: 1.25; margin: 0 0 12px; }
.hbna-page-header .hbna-summary { font-size: 16px; line-height: 1.65; color: #333; margin: 0; }
.hbna-page-header .hbna-summary strong { color: #014230; font-weight: 700; }
.hbna-page-header .hbna-summary a { color: #014230; text-decoration: none; border-bottom: 1px dotted #014230; }
.hbna-page-header .hbna-summary a:hover { border-bottom-style: solid; }

/* Results hub — days list */
.hbna-results-hub .hbna-results-day { margin-bottom: 36px; }
.hbna-results-hub .hbna-results-day-heading { font-family: Georgia, serif; font-style: italic; font-size: 20px; color: #0b1d3a; margin: 0 0 12px; padding-bottom: 6px; border-bottom: 1px solid #f0ece0; }
.hbna-results-hub .hbna-results-day-heading a { color: inherit; text-decoration: none; }
.hbna-results-hub .hbna-results-day-heading a:hover { color: #014230; }
.hbna-results-meet-list,
.hbna-results-meet-list-large { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; list-style: none; padding: 0; margin: 0; }
.hbna-results-meet-list li,
.hbna-results-meet-list-large li { background: #fff; border: 1px solid #e8e2d4; border-radius: 8px; padding: 12px 14px; transition: all 0.15s ease; }
.hbna-results-meet-list li:hover,
.hbna-results-meet-list-large li:hover { border-color: #cba135; box-shadow: 0 2px 6px rgba(203, 161, 53, 0.15); }
.hbna-results-meet-list a,
.hbna-results-meet-list-large a { color: #0b1d3a; text-decoration: none; font-weight: 600; font-size: 14px; display: block; }
.hbna-results-meet-list .hbna-meta,
.hbna-results-meet-list-large .hbna-meta { font-size: 11px; color: #6b6b66; margin-top: 3px; font-weight: 400; }

/* Results day nav */
.hbna-results-day-nav { display: flex; gap: 12px; margin: 20px 0; font-size: 13px; }
.hbna-results-day-nav a { color: #014230; text-decoration: none; padding: 6px 12px; border: 1px solid #e8e2d4; border-radius: 6px; }
.hbna-results-day-nav a:hover { background: #faf7ec; border-color: #cba135; }

/* Results meet — race cards grid */
.hbna-results-races { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 16px; margin-top: 8px; }
.hbna-result-race-card { background: #fff; border: 1px solid #e8e2d4; border-radius: 10px; padding: 18px 20px; transition: all 0.15s ease; display: flex; flex-direction: column; }
.hbna-result-race-card:hover { border-color: #cba135; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); }

.hbna-result-race-name { font-family: Georgia, serif; font-style: italic; font-weight: 600; font-size: 17px; color: #0b1d3a; margin: 0 0 6px; line-height: 1.3; }
.hbna-result-race-name a { color: inherit; text-decoration: none; display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.hbna-result-race-name a:hover .hbna-rnum { background: #014230; color: #FACC15; }
.hbna-rnum { display: inline-block; background: #faf7ec; color: #014230; font-family: -apple-system, BlinkMacSystemFont, sans-serif; font-style: normal; font-size: 11px; font-weight: 700; letter-spacing: 0.5px; padding: 3px 8px; border-radius: 4px; border: 1px solid #cba135; transition: all 0.15s ease; text-transform: uppercase; }

.hbna-result-race-meta { font-size: 12px; color: #6b6b66; margin: 0 0 12px; }

.hbna-result-top3 { list-style: none; padding: 0; margin: 0 0 12px; display: flex; flex-direction: column; gap: 4px; }
.hbna-result-top3 li { display: flex; align-items: center; gap: 10px; padding: 6px 8px; background: #faf9f4; border-radius: 6px; font-size: 13px; }
.hbna-result-top3 li.hbna-pos-1 { background: linear-gradient(90deg, #fff9db 0%, #faf9f4 100%); }
.hbna-result-top3 li.hbna-pos-2 { background: linear-gradient(90deg, #f3f3f0 0%, #faf9f4 100%); }
.hbna-result-top3 li.hbna-pos-3 { background: linear-gradient(90deg, #fbe8d3 0%, #faf9f4 100%); }
.hbna-result-top3 .hbna-pos { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; background: #6b6b66; color: #fff; border-radius: 50%; font-size: 11px; font-weight: 700; flex-shrink: 0; }
.hbna-result-top3 li.hbna-pos-1 .hbna-pos { background: #d4af37; color: #fff; }
.hbna-result-top3 li.hbna-pos-2 .hbna-pos { background: #a8a8a8; color: #fff; }
.hbna-result-top3 li.hbna-pos-3 .hbna-pos { background: #cd7f32; color: #fff; }
.hbna-result-top3 .hbna-horse { font-family: Georgia, serif; font-style: italic; font-weight: 600; color: #0b1d3a; }
.hbna-result-top3 .hbna-horse a { color: inherit; text-decoration: none; }
.hbna-result-top3 .hbna-horse a:hover { color: #014230; text-decoration: underline; }

.hbna-result-fullresult { margin-top: auto; padding-top: 8px; color: #014230; text-decoration: none; font-size: 12px; font-weight: 600; letter-spacing: 0.3px; text-transform: uppercase; }
.hbna-result-fullresult:hover { color: #cba135; }

/* Results race — meta bar + full table */
.hbna-result-meta { display: flex; flex-wrap: wrap; gap: 16px; padding: 14px 18px; background: #faf7ec; border-radius: 10px; margin: 0 0 24px; font-size: 13px; color: #333; }
.hbna-result-meta strong { color: #014230; font-weight: 700; margin-right: 4px; }

.hbna-result-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; background: #fff; border: 1px solid #e8e2d4; border-radius: 10px; overflow: hidden; margin-bottom: 20px; }
.hbna-result-table thead th { background: #014230; color: #fff; font-size: 11px; font-weight: 700; letter-spacing: 0.5px; text-transform: uppercase; padding: 12px 10px; text-align: left; }
.hbna-result-table thead th:first-child { text-align: center; width: 60px; }
.hbna-result-table tbody td { padding: 12px 10px; border-bottom: 1px solid #f0ece0; vertical-align: middle; }
.hbna-result-table tbody tr:last-child td { border-bottom: none; }
.hbna-result-table tbody tr.hbna-row-winner { background: linear-gradient(90deg, #fff9db 0%, #fff 40%); }
.hbna-result-table tbody tr.hbna-row-winner td.hbna-horse a { color: #014230; font-weight: 700; }

.hbna-result-table td.hbna-pos { text-align: center; }
.hbna-pos-badge { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; background: #6b6b66; color: #fff; border-radius: 50%; font-size: 12px; font-weight: 700; }
.hbna-pos-badge.hbna-pos-1 { background: #d4af37; }
.hbna-pos-badge.hbna-pos-2 { background: #a8a8a8; }
.hbna-pos-badge.hbna-pos-3 { background: #cd7f32; }

.hbna-result-table td.hbna-horse { font-family: Georgia, serif; font-style: italic; font-weight: 600; color: #0b1d3a; font-size: 15px; }
.hbna-result-table td.hbna-horse a { color: inherit; text-decoration: none; }
.hbna-result-table td.hbna-horse a:hover { color: #014230; text-decoration: underline; }
.hbna-result-table td a { color: #014230; text-decoration: none; }
.hbna-result-table td a:hover { text-decoration: underline; }
.hbna-result-table td.hbna-payoff { font-family: 'SF Mono', Menlo, monospace; font-variant-numeric: tabular-nums; color: #14532d; font-weight: 600; text-align: right; }

.hbna-result-nav { display: flex; justify-content: space-between; gap: 12px; margin-top: 24px; padding-top: 20px; border-top: 1px solid #f0ece0; }
.hbna-result-nav a { color: #014230; text-decoration: none; font-size: 13px; padding: 8px 14px; border: 1px solid #e8e2d4; border-radius: 6px; font-weight: 600; }
.hbna-result-nav a:hover { background: #faf7ec; border-color: #cba135; }

.hbna-empty { padding: 40px 20px; text-align: center; color: #6b6b66; background: #faf7ec; border-radius: 10px; }

@media (max-width: 720px) {
  .hbna-page.hbna-results-hub,
  .hbna-page.hbna-results-day,
  .hbna-page.hbna-results-meet,
  .hbna-page.hbna-results-race { padding: 20px 14px 40px; }
  .hbna-page-header h1 { font-size: 24px; }
  .hbna-page-header .hbna-summary { font-size: 14px; }
  .hbna-results-races { grid-template-columns: 1fr; }
  .hbna-result-meta { gap: 10px; font-size: 12px; padding: 10px 14px; }
  .hbna-result-table { font-size: 12px; display: block; overflow-x: auto; }
  .hbna-result-table thead th, .hbna-result-table tbody td { padding: 8px 6px; white-space: nowrap; }
  .hbna-result-table td.hbna-horse { font-size: 13px; }
}

/* =============================================================
   v2.7.4 — Results-page footer blocks
   (internal-linking editorial note + guides grid + tools grid)
   Rendered by HorseBetNA_ResultsFooter::render() at the bottom
   of results_meet.php and results_race.php.
   ============================================================= */

.hbna-post-results-note {
    background: #faf7ec;
    border-left: 3px solid #cba135;
    border-radius: 8px;
    padding: 16px 20px;
    margin: 32px 0 24px;
    font-size: 14px;
    line-height: 1.65;
    color: #333;
}
.hbna-post-results-note a {
    color: #014230;
    text-decoration: none;
    border-bottom: 1px dotted #014230;
    font-weight: 600;
}
.hbna-post-results-note a:hover {
    border-bottom-style: solid;
    color: #cba135;
}

.hbna-post-results-section {
    margin: 36px 0 28px;
}
.hbna-post-results-h {
    font-family: Georgia, serif;
    font-style: italic;
    font-weight: 600;
    font-size: 22px;
    color: #0b1d3a;
    margin: 0 0 6px;
    line-height: 1.3;
}
.hbna-post-results-sub {
    font-size: 13px;
    color: #6b6b66;
    margin: 0 0 16px;
}
.hbna-post-results-more {
    margin-top: 14px;
    font-size: 13px;
    color: #6b6b66;
}
.hbna-post-results-more a {
    color: #014230;
    text-decoration: none;
    border-bottom: 1px dotted #014230;
    font-weight: 600;
}
.hbna-post-results-more a:hover { border-bottom-style: solid; }

/* Guides grid */
.hbna-guides-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.hbna-guide-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #e8e2d4;
    border-radius: 10px;
    padding: 16px 18px;
    text-decoration: none;
    color: inherit;
    transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.hbna-guide-card:hover {
    border-color: #cba135;
    box-shadow: 0 4px 14px rgba(0,0,0,0.06);
    transform: translateY(-1px);
}
.hbna-guide-cat {
    font-size: 10px;
    letter-spacing: 1.5px;
    color: #cba135;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 8px;
}
.hbna-guide-title {
    font-family: Georgia, serif;
    font-style: italic;
    font-weight: 600;
    font-size: 15px;
    color: #0b1d3a;
    line-height: 1.35;
    margin: 0 0 6px;
}
.hbna-guide-blurb {
    font-size: 12px;
    color: #6b6b66;
    line-height: 1.55;
    margin: 0 0 10px;
    flex: 1;
}
.hbna-guide-cta {
    font-size: 11px;
    letter-spacing: 0.5px;
    font-weight: 700;
    color: #014230;
    text-transform: uppercase;
    margin-top: auto;
}
.hbna-guide-card:hover .hbna-guide-cta { color: #cba135; }

/* Tools grid */
.hbna-tools-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.hbna-tool-card {
    display: flex;
    flex-direction: column;
    background: linear-gradient(135deg, #014230 0%, #016a4a 100%);
    color: #fff;
    border-radius: 10px;
    padding: 18px 20px;
    text-decoration: none;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.hbna-tool-card:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(1,66,48,0.25);
}
.hbna-tool-eyebrow {
    font-size: 10px;
    letter-spacing: 1.5px;
    color: #FACC15;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 8px;
}
.hbna-tool-title {
    font-family: Georgia, serif;
    font-style: italic;
    font-weight: 600;
    font-size: 18px;
    margin: 0 0 6px;
    line-height: 1.3;
}
.hbna-tool-blurb {
    font-size: 12px;
    opacity: 0.85;
    line-height: 1.5;
    margin: 0 0 14px;
    flex: 1;
}
.hbna-tool-cta {
    font-size: 12px;
    font-weight: 700;
    background: #FACC15;
    color: #014230;
    padding: 6px 12px;
    border-radius: 5px;
    align-self: flex-start;
    letter-spacing: 0.3px;
}

@media (max-width: 720px) {
    .hbna-guides-grid { grid-template-columns: 1fr; }
    .hbna-tools-grid { grid-template-columns: 1fr; }
    .hbna-post-results-h { font-size: 18px; }
}

/* =============================================================
   v2.7.6 — Fix black-on-black tool cards.
   The theme's global `a { color: ... }` was overriding
   `.hbna-tool-card { color: #fff }`. Bumping specificity with
   `a.hbna-tool-card` + explicit colors on every child.
   ============================================================= */
a.hbna-tool-card,
a.hbna-tool-card:link,
a.hbna-tool-card:visited,
a.hbna-tool-card:hover,
a.hbna-tool-card:focus,
a.hbna-tool-card:active {
    color: #fff;
    text-decoration: none;
}
.hbna-tool-card .hbna-tool-eyebrow { color: #FACC15; }
.hbna-tool-card .hbna-tool-title   { color: #fff; }
.hbna-tool-card .hbna-tool-blurb   { color: #fff; opacity: 0.85; }
.hbna-tool-card .hbna-tool-cta     { color: #014230; background: #FACC15; }

/* Also lock down the guide card link states — cheap insurance in
   case the theme's a:visited rule paints them purple etc. */
a.hbna-guide-card,
a.hbna-guide-card:link,
a.hbna-guide-card:visited,
a.hbna-guide-card:hover,
a.hbna-guide-card:focus,
a.hbna-guide-card:active {
    text-decoration: none;
    color: inherit;
}
.hbna-guide-card .hbna-guide-cat   { color: #cba135; }
.hbna-guide-card .hbna-guide-title { color: #0b1d3a; }
.hbna-guide-card .hbna-guide-blurb { color: #6b6b66; }
.hbna-guide-card .hbna-guide-cta   { color: #014230; }
.hbna-guide-card:hover .hbna-guide-cta { color: #cba135; }

/* =============================================================
   v2.7.7 — Top-3 feature race cards + day-analysis block
   Rendered by HorseBetNA_OddsWidget::render_top3_cards() on
   /racing-data/ and /racing-data/today/.
   ============================================================= */
.hbna-top3-section { margin: 22px 0; }
.hbna-top3-header { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; margin: 0 0 4px; }
.hbna-top3-h { font-family: Georgia, serif; font-style: italic; font-weight: 600; font-size: 22px; color: #0b1d3a; margin: 0; }
.hbna-top3-badge { display: inline-block; background: #FACC15; color: #014230; font-family: -apple-system, sans-serif; font-style: normal; font-size: 10px; letter-spacing: 1px; padding: 2px 7px; border-radius: 3px; vertical-align: middle; margin-left: 8px; font-weight: 700; }
.hbna-top3-sub { font-size: 12px; color: #6b6b66; margin: 0 0 14px; }

.hbna-top3-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 8px 0 20px; }
a.hbna-top3-card,
a.hbna-top3-card:link,
a.hbna-top3-card:visited,
a.hbna-top3-card:hover,
a.hbna-top3-card:focus,
a.hbna-top3-card:active {
    text-decoration: none;
    color: inherit;
}
.hbna-top3-card { background: #fff; border: 1px solid #e8e2d4; border-radius: 10px; padding: 16px 18px; display: flex; flex-direction: column; transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease; }
.hbna-top3-card:hover { border-color: #cba135; box-shadow: 0 4px 14px rgba(0,0,0,0.06); transform: translateY(-1px); }
.hbna-top3-rank { display: inline-block; background: #014230; color: #FACC15; width: 22px; height: 22px; line-height: 22px; text-align: center; border-radius: 50%; font-size: 11px; font-weight: 700; margin-bottom: 8px; }
.hbna-top3-race { font-family: Georgia, serif; font-style: italic; font-weight: 600; font-size: 16px; color: #0b1d3a; line-height: 1.3; margin: 0 0 4px; }
.hbna-top3-race .hbna-grade-badge { background: #FACC15; color: #014230; font-family: -apple-system, sans-serif; font-style: normal; font-size: 9px; letter-spacing: 0.5px; padding: 2px 5px; border-radius: 3px; font-weight: 700; }
.hbna-top3-track { font-size: 12px; color: #6b6b66; margin: 0 0 10px; }
.hbna-top3-track strong { color: #014230; }
.hbna-top3-meta { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px 12px; font-size: 11px; margin-bottom: 10px; }
.hbna-top3-meta > div { display: flex; flex-direction: column; }
.hbna-top3-meta .k { color: #6b6b66; letter-spacing: 0.5px; font-weight: 700; text-transform: uppercase; font-size: 9px; }
.hbna-top3-meta .v { color: #0b1d3a; font-weight: 600; font-family: Georgia, serif; font-style: italic; font-size: 13px; margin-top: 1px; }
.hbna-top3-fav { background: #faf7ec; border-radius: 6px; padding: 8px 10px; margin-top: auto; }
.hbna-top3-fav-lbl { font-size: 9px; letter-spacing: 1px; color: #cba135; font-weight: 700; text-transform: uppercase; }
.hbna-top3-fav-name { font-family: Georgia, serif; font-style: italic; font-weight: 600; color: #0b1d3a; font-size: 13px; margin-top: 2px; }
.hbna-top3-fav-price { font-family: 'SF Mono', Menlo, monospace; color: #14532d; font-weight: 700; font-size: 15px; margin-top: 2px; }

/* Day-wide "what to bet today" analysis */
.hbna-day-analysis { background: #f7f5ef; border-left: 3px solid #cba135; border-radius: 6px; padding: 16px 20px; margin: 4px 0 24px; }
.hbna-day-analysis-h { font-size: 10px; letter-spacing: 1.5px; color: #cba135; font-weight: 700; margin-bottom: 6px; }
.hbna-day-analysis p { margin: 0 0 8px; font-size: 14px; line-height: 1.65; color: #1f2937; }
.hbna-day-analysis p:last-of-type { margin-bottom: 0; }
.hbna-day-analysis strong { color: #014230; font-weight: 700; }
.hbna-day-analysis-byline { font-size: 11px; color: #888; font-style: italic; margin-top: 8px; }

@media (max-width: 720px) {
    .hbna-top3-grid { grid-template-columns: 1fr; }
    .hbna-top3-h { font-size: 18px; }
}
