/* HRB Racecards — polish within the existing horseracingbetting.co.uk brand
   Palette retained: dark navy header (#1d2330-ish), orange logo, forest green (#16834c) accents, white cards. */

/* ============ Base — used on all racecard plugin pages ============ */

article.hrb-racecards-index,
article.hrb-meeting,
article.hrb-race-detail,
article.hrb-track-stub { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif; color: #1f242b; }

/* ============ Hero band ============ */

article.hrb-racecards-index .intro,
article.hrb-meeting .intro,
article.hrb-race-detail .intro,
article.hrb-track-stub .intro { position: relative; padding: 40px 24px 36px 24px; background: linear-gradient(135deg, #16834c 0%, #0f6e3c 100%); color: #ffffff; overflow: hidden; }
article.hrb-racecards-index .intro:after,
article.hrb-track-stub .intro:after,
article.hrb-race-detail .intro:after { content: ""; position: absolute; right: -70px; top: -70px; width: 240px; height: 240px; background: radial-gradient(circle, rgba(255,255,255,0.14), rgba(255,255,255,0) 70%); pointer-events: none; }
article.hrb-racecards-index .intro h1,
article.hrb-meeting .intro h1,
article.hrb-race-detail .intro h1,
article.hrb-track-stub .intro h1 { position: relative; margin: 0; font-size: clamp(27px, 4vw, 34px); font-weight: 800; line-height: 1.1; letter-spacing: -0.6px; color: #ffffff; }
article.hrb-racecards-index .intro .meta-date,
article.hrb-meeting .intro .meta-line,
article.hrb-race-detail .intro .race-meta,
article.hrb-track-stub .intro .meta-date,
article.hrb-track-stub .intro .meta-line { position: relative; display: inline-block; margin-top: 12px; font-size: 14px; font-weight: 500; line-height: 1.4; color: rgba(255,255,255,0.92); letter-spacing: 0.1px; }
article.hrb-race-detail .intro .race-meta .sep,
article.hrb-meeting .intro .meta-line .sep { display: inline-block; padding: 0 7px; opacity: 0.55; }
article .hrb-back { display: inline-block; margin-top: 14px; padding: 6px 0; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.8px; color: rgba(255,255,255,0.92); text-decoration: none; border-bottom: 1px solid rgba(255,255,255,0.4); }
article .hrb-back:hover { color: #ffffff; border-bottom-color: #ffffff; }

/* ============ Content area — light surface so white cards lift ============ */

article.hrb-racecards-index .content,
article.hrb-meeting .content,
article.hrb-race-detail .content,
article.hrb-track-stub .content { padding: 22px 16px 44px 16px; background: #f5f6f8; }

/* ============ Empty / 404 states ============ */

article .hrb-empty { padding: 44px 24px; text-align: center; color: #6a7178; font-size: 15px; line-height: 1.5; background: #ffffff; border: 1px solid #e8ebef; border-radius: 14px; }
article .hrb-empty a { color: #16834c; font-weight: 700; }
article.hrb-404 { padding: 80px 24px; text-align: center; background: #ffffff; }
article.hrb-404 h1 { margin: 0 0 10px 0; font-size: 28px; font-weight: 800; color: #1f242b; }
article.hrb-404 p { margin: 0; color: #6a7178; font-size: 14px; }

/* ============ Meetings index — card grid ============ */

article.hrb-racecards-index .content > ul.hrb-meetings,
ul.hrb-meetings { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: 1fr; gap: 14px; width: 100%; }
ul.hrb-meetings .hrb-meeting-card { margin: 0; padding: 0; border: 1px solid #e8ebef; border-radius: 14px; background: #ffffff; overflow: hidden; box-shadow: 0 1px 2px rgba(16,24,40,0.04); transition: box-shadow 0.18s ease, transform 0.18s ease, border-color 0.18s ease; }
ul.hrb-meetings .hrb-meeting-card:hover { transform: translateY(-2px); box-shadow: 0 12px 30px -10px rgba(16,24,40,0.20); border-color: #dde2e7; }
ul.hrb-meetings .hrb-meeting-card .hrb-meeting-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 18px; background: #1d2330; color: #ffffff; }
ul.hrb-meetings .hrb-meeting-card .hrb-meeting-head h2 { margin: 0; font-size: 17px; font-weight: 800; line-height: 1.15; letter-spacing: -0.2px; }
ul.hrb-meetings .hrb-meeting-card .hrb-meeting-head h2 a { color: #ffffff; text-decoration: none; }
ul.hrb-meetings .hrb-meeting-card .hrb-meeting-head h2 a:hover { color: #7fd7a6; }
ul.hrb-meetings .hrb-meeting-card .hrb-meeting-head .going-line { flex: 0 0 auto; text-align: right; font-size: 11px; font-weight: 600; letter-spacing: 0.2px; color: rgba(255,255,255,0.7); white-space: nowrap; }
ul.hrb-meetings ul.hrb-meeting-races { margin: 0; padding: 0; list-style: none; display: block; width: 100%; }
ul.hrb-meetings ul.hrb-meeting-races li { padding: 0; margin: 0; border-top: 1px solid #f1f3f5; }
ul.hrb-meetings ul.hrb-meeting-races li:first-child { border-top: 0; }
ul.hrb-meetings ul.hrb-meeting-races a { display: flex; align-items: center; gap: 12px; padding: 11px 16px; color: #1f242b; text-decoration: none; transition: background 0.12s ease; }
ul.hrb-meetings ul.hrb-meeting-races a:hover { background: #f3faf6; }
ul.hrb-meetings ul.hrb-meeting-races .race-time { flex: 0 0 auto; min-width: 46px; color: #117a44; font-weight: 800; font-size: 14px; font-variant-numeric: tabular-nums; letter-spacing: -0.2px; }
ul.hrb-meetings ul.hrb-meeting-races .race-name { flex: 1 1 auto; min-width: 0; font-size: 13.5px; line-height: 1.35; color: #2a3038; }
ul.hrb-meetings ul.hrb-meeting-races .race-arrow { flex: 0 0 auto; padding-left: 4px; color: #c2c7cc; font-size: 18px; font-weight: 700; transition: color 0.12s ease, transform 0.12s ease; }
ul.hrb-meetings ul.hrb-meeting-races a:hover .race-arrow { color: #16834c; transform: translateX(3px); }

/* ============ Race-time jump nav (track page) ============ */

article.hrb-track-stub .hrb-racenav { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px 0; padding: 0; }
article.hrb-track-stub .hrb-racenav a { display: inline-flex; align-items: center; padding: 8px 15px; border-radius: 4px; background: #ffffff; border: 1px solid #e3e7eb; color: #1d2330; font-size: 13px; font-weight: 800; text-decoration: none; font-variant-numeric: tabular-nums; box-shadow: 0 1px 2px rgba(16,24,40,0.04); transition: background 0.14s ease, color 0.14s ease, border-color 0.14s ease, transform 0.14s ease; }
article.hrb-track-stub .hrb-racenav a:hover { background: #16834c; border-color: #16834c; color: #ffffff; transform: translateY(-1px); }

/* ============ Race detail page (legacy selectors kept harmless) ============ */

article.hrb-race-detail .hrb-runners-wrap { overflow-x: auto; margin: 0; background: #ffffff; border: 1px solid #e8ebef; border-radius: 14px; }
article.hrb-race-detail .content { background: #f5f6f8; }

/* ============ Runners table — light, airy 2026 form guide ============ */

table.hrb-runners { width: 100%; border-collapse: collapse; background: #ffffff; }
table.hrb-runners thead tr { background: #f4f6f8; }
table.hrb-runners thead th { padding: 12px 14px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; text-align: left; color: #6a7178; border-bottom: 1px solid #e8ebef; white-space: nowrap; }
table.hrb-runners thead th.numeric { text-align: right; }
table.hrb-runners tbody tr { border-bottom: 1px solid #f1f3f5; transition: background 0.1s ease; }
table.hrb-runners tbody tr:last-child { border-bottom: 0; }
table.hrb-runners tbody tr:hover { background: #f3faf6; }
table.hrb-runners tbody td { padding: 13px 14px; font-size: 14px; color: #2a3038; vertical-align: middle; line-height: 1.3; }
table.hrb-runners tbody td.numeric { text-align: right; font-variant-numeric: tabular-nums; color: #6a7178; }
table.hrb-runners tbody td.horse { font-weight: 800; color: #1d2330; font-size: 14.5px; letter-spacing: -0.2px; }
table.hrb-runners tbody td.odds { font-weight: 800; color: #117a44; font-variant-numeric: tabular-nums; text-align: right; min-width: 54px; font-size: 14.5px; }
table.hrb-runners tbody td .form-chip { display: inline-block; padding: 3px 8px; background: #f1f3f5; border-radius: 3px; font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; font-size: 11.5px; font-weight: 600; color: #5a6068; letter-spacing: 1px; }

/* ============ Race card block (track / meeting pages) ============ */

article.hrb-track-stub .hrb-race,
article.hrb-meeting .hrb-race { scroll-margin-top: 88px; margin: 0 0 16px 0; padding: 0; border: 1px solid #e8ebef; border-radius: 14px; background: #ffffff; overflow: hidden; box-shadow: 0 1px 2px rgba(16,24,40,0.04); }
article.hrb-track-stub .hrb-race h2,
article.hrb-meeting .hrb-race h2 { display: flex; align-items: center; gap: 12px; margin: 0; padding: 16px 20px 12px 20px; font-size: 17px; font-weight: 800; line-height: 1.2; letter-spacing: -0.2px; color: #1d2330; }
article.hrb-track-stub .hrb-race h2 .off-time,
article.hrb-meeting .hrb-race h2 .off-time { flex: 0 0 auto; color: #117a44; font-size: 16px; font-weight: 800; font-variant-numeric: tabular-nums; letter-spacing: -0.3px; }
article.hrb-track-stub .hrb-race h2 .race-title,
article.hrb-meeting .hrb-race h2 .race-title { flex: 1 1 auto; min-width: 0; }
article.hrb-track-stub .hrb-race .race-meta-row,
article.hrb-meeting .hrb-race .race-meta-row { margin: 0; padding: 0 20px 14px 20px; font-size: 12.5px; font-weight: 600; color: #6a7178; }
article.hrb-track-stub .hrb-race .race-meta-row .sep,
article.hrb-meeting .hrb-race .race-meta-row .sep { display: inline-block; padding: 0 8px; opacity: 0.4; }
article.hrb-track-stub .hrb-race .hrb-runners-wrap,
article.hrb-meeting .hrb-race .hrb-runners-wrap { overflow-x: auto; border-top: 1px solid #f1f3f5; }

/* ============ Tablet ============ */

@media (min-width: 768px) {
  article.hrb-racecards-index .intro,
  article.hrb-meeting .intro,
  article.hrb-race-detail .intro,
  article.hrb-track-stub .intro { padding: 48px 32px 44px 32px; }
  article.hrb-racecards-index .content,
  article.hrb-meeting .content,
  article.hrb-race-detail .content,
  article.hrb-track-stub .content { padding: 28px 28px 52px 28px; }
  article.hrb-racecards-index .content > ul.hrb-meetings,
  ul.hrb-meetings { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  table.hrb-runners thead th { padding: 13px 16px; }
  table.hrb-runners tbody td { padding: 14px 16px; }
  article.hrb-track-stub .hrb-race h2,
  article.hrb-meeting .hrb-race h2 { padding: 18px 24px 12px 24px; font-size: 18px; }
  article.hrb-track-stub .hrb-race .race-meta-row,
  article.hrb-meeting .hrb-race .race-meta-row { padding: 0 24px 16px 24px; }
}

/* ============ Desktop ============ */

@media (min-width: 1024px) {
  article.hrb-racecards-index .content > ul.hrb-meetings,
  ul.hrb-meetings { grid-template-columns: repeat(3, 1fr); gap: 18px; }
}

/* ============ Tips page (Nap hero + ranked selections) ============ */
article.hrb-tips-page .content { padding: 28px 24px 40px 24px; background: #ffffff; }

/* Today/Tomorrow toggle */
article.hrb-tips-page .hrb-tips-toggle { display: inline-flex; margin-top: 14px; border: 1px solid rgba(255,255,255,0.35); border-radius: 4px; overflow: hidden; }
article.hrb-tips-page .hrb-tips-toggle a { padding: 7px 18px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.6px; color: rgba(255,255,255,0.9); text-decoration: none; transition: background 0.15s ease; }
article.hrb-tips-page .hrb-tips-toggle a + a { border-left: 1px solid rgba(255,255,255,0.35); }
article.hrb-tips-page .hrb-tips-toggle a.is-active { background: #16834c; color: #ffffff; }
article.hrb-tips-page .hrb-tips-toggle a:hover:not(.is-active) { background: rgba(255,255,255,0.12); }

/* Confidence badge */
.hrb-conf { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; min-width: 52px; padding: 6px 8px; border-radius: 6px; background: #eef0f2; color: #1d2330; line-height: 1; }
.hrb-conf .hrb-conf-num { font-size: 22px; font-weight: 800; letter-spacing: -0.5px; font-variant-numeric: tabular-nums; }
.hrb-conf .hrb-conf-label { font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.7px; margin-top: 3px; opacity: 0.8; }
.hrb-conf.hot  { background: #16834c; color: #ffffff; }
.hrb-conf.warm { background: #e8f5ee; color: #0e6b3c; }
.hrb-conf.ok   { background: #eef0f2; color: #1d2330; }

.hrb-odds { font-weight: 800; font-size: 16px; color: #1d2330; font-variant-numeric: tabular-nums; letter-spacing: -0.3px; }
.bet-pill { display: inline-block; padding: 4px 9px; border-radius: 3px; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.7px; }
.bet-pill.bet-win { background: #16834c; color: #ffffff; }
.bet-pill.bet-each-way { background: #1d2330; color: #ffd47a; }

.hrb-tip-factors { margin: 12px 0 0 0; padding: 0; list-style: none; }
.hrb-tip-factors li { position: relative; padding: 3px 0 3px 16px; font-size: 13px; line-height: 1.5; color: #2a3038; }
.hrb-tip-factors li:before { content: ""; position: absolute; left: 0; top: 10px; width: 5px; height: 5px; background: #16834c; border-radius: 50%; }

/* Nap hero */
.hrb-nap { border: 1px solid #e2e5e8; border-radius: 8px; overflow: hidden; margin: 0 0 28px 0; box-shadow: 0 4px 16px rgba(0,0,0,0.06); }
.hrb-nap-flag { background: linear-gradient(135deg, #1d2330 0%, #16834c 100%); color: #ffffff; padding: 10px 18px; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 1.2px; border-bottom: 3px solid #16834c; }
.hrb-nap-body { display: flex; flex-wrap: wrap; gap: 20px; padding: 20px 18px; background: #ffffff; }
.hrb-nap-main { flex: 1 1 320px; }
.hrb-nap-horse { display: block; font-size: 26px; font-weight: 800; letter-spacing: -0.5px; color: #1d2330; line-height: 1.1; }
.hrb-nap-meta { display: block; margin-top: 5px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; color: #16834c; }
.hrb-nap-writeup { margin: 12px 0 0 0; font-size: 14px; line-height: 1.65; color: #2a3038; }
.hrb-nap-side { flex: 0 0 140px; display: flex; flex-direction: column; align-items: center; gap: 10px; justify-content: flex-start; padding-top: 4px; }
.hrb-nap-side .hrb-conf { min-width: 92px; padding: 12px; }
.hrb-nap-side .hrb-conf .hrb-conf-num { font-size: 34px; }
.hrb-nap-side .btn-alternative { margin-top: 4px; width: 100%; box-sizing: border-box; }

/* Ranked tips list */
.hrb-tips-heading { font-size: 18px; font-weight: 800; color: #1d2330; margin: 0 0 14px 0; padding-bottom: 8px; border-bottom: 2px solid #16834c; display: inline-block; padding-right: 16px; }
ol.hrb-tips { margin: 0; padding: 0; list-style: none; counter-reset: none; }
ol.hrb-tips .hrb-tip { display: flex; align-items: center; gap: 14px; padding: 14px 14px 14px 0; border: 1px solid #e2e5e8; border-radius: 6px; background: #ffffff; margin-bottom: 10px; transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease; }
ol.hrb-tips .hrb-tip:hover { border-color: #16834c; box-shadow: 0 4px 14px rgba(0,0,0,0.07); transform: translateY(-1px); }
ol.hrb-tips .hrb-tip-rank { flex: 0 0 38px; align-self: stretch; display: flex; align-items: center; justify-content: center; background: linear-gradient(180deg, #1d2330 0%, #2b3344 100%); color: #ffffff; font-size: 15px; font-weight: 800; border-right: 3px solid #16834c; border-radius: 6px 0 0 6px; }
ol.hrb-tips .hrb-tip-info { flex: 1 1 auto; min-width: 0; }
ol.hrb-tips .hrb-tip-horse { display: block; font-size: 17px; font-weight: 800; color: #1d2330; text-decoration: none; letter-spacing: -0.2px; }
ol.hrb-tips .hrb-tip-horse:hover { color: #16834c; }
ol.hrb-tips .hrb-tip-race { display: block; margin-top: 2px; font-size: 12px; color: #6a6f75; font-weight: 600; }
ol.hrb-tips .hrb-tip-factor { display: block; margin-top: 6px; font-size: 12.5px; color: #2a3038; line-height: 1.45; }
ol.hrb-tips .hrb-tip-stats { flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; gap: 6px; padding-right: 4px; }

.hrb-tips-note { margin: 22px 0 0 0; padding: 12px 16px; background: #fafbfc; border-left: 3px solid #c4c4c4; font-size: 11.5px; line-height: 1.55; color: #6a6f75; }

@media (max-width: 768px) {
  .hrb-nap-body { flex-direction: column; }
  .hrb-nap-side { flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-items: center; }
  .hrb-nap-side .btn-alternative { width: auto; }
  ol.hrb-tips .hrb-tip-stats { flex-direction: column; }
  ol.hrb-tips .hrb-tip-horse { font-size: 16px; }
}

/* ============ Tools & calculators ============ */
article.hrb-tool { background: #ffffff; }
article.hrb-tool .container { max-width: 1040px; margin: 0 auto; padding: 28px 24px 44px 24px; }
article.hrb-tool .calc-page__intro h1, article.hrb-tool .conv-page__intro h1 { font-size: 30px; font-weight: 800; letter-spacing: -0.5px; color: #1d2330; line-height: 1.1; margin: 0 0 10px 0; }
article.hrb-tool .calc-page__intro p, article.hrb-tool .conv-page__intro p { font-size: 15px; line-height: 1.7; color: #2a3038; margin: 0 0 24px 0; }

/* Layout: form | results */
article.hrb-tool .calc-layout { display: grid; grid-template-columns: 1fr; gap: 20px; }
article.hrb-tool .calc-form, article.hrb-tool .calc-results, article.hrb-tool .conv-card { background: #ffffff; border: 1px solid #e2e5e8; border-radius: 8px; padding: 22px 20px; box-shadow: 0 1px 3px rgba(0,0,0,0.04); }
article.hrb-tool .calc-form h2, article.hrb-tool .calc-results h2, article.hrb-tool .conv-card h2 { margin: 0 0 16px 0; font-size: 14px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.8px; color: #1d2330; padding-bottom: 10px; border-bottom: 2px solid #16834c; display: inline-block; }

/* Form controls */
article.hrb-tool .form-group { margin-bottom: 14px; }
article.hrb-tool .form-row { display: flex; gap: 12px; }
article.hrb-tool .form-row > .form-group { flex: 1; }
article.hrb-tool .form-row--3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
article.hrb-tool label { display: block; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; color: #6a6f75; margin-bottom: 5px; }
article.hrb-tool input, article.hrb-tool select { width: 100%; box-sizing: border-box; padding: 10px 12px; border: 1px solid #dcdede; border-radius: 4px; font-size: 15px; background: #ffffff; color: #1f242b; transition: border-color 0.12s ease, box-shadow 0.12s ease; }
article.hrb-tool input:focus, article.hrb-tool select:focus { outline: 0; border-color: #16834c; box-shadow: 0 0 0 3px rgba(22,131,76,0.12); }
article.hrb-tool .hint { margin: 5px 0 0 0; font-size: 11.5px; color: #8a8f95; }

/* Buttons */
article.hrb-tool .calc-btn, article.hrb-tool .conv-card button { display: inline-block; width: 100%; box-sizing: border-box; background: #16834c; color: #ffffff; border: 0; border-radius: 4px; padding: 13px 22px; font-size: 14px; font-weight: 800; letter-spacing: 0.7px; text-transform: uppercase; cursor: pointer; box-shadow: 0 2px 0 #0d5e36; transition: background 0.15s ease, transform 0.1s ease; margin-top: 6px; }
article.hrb-tool .calc-btn:hover, article.hrb-tool .conv-card button:hover { background: #0e6b3c; }
article.hrb-tool .calc-btn:active { transform: translateY(1px); }
article.hrb-tool .remove-runner-btn, article.hrb-tool .selection-row__remove { background: #fdeced; color: #c0392b; border: 1px solid #f3c7cb; border-radius: 4px; padding: 6px 10px; font-size: 12px; font-weight: 700; cursor: pointer; width: auto; }

/* Result rows */
article.hrb-tool .result-row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 9px 0; border-bottom: 1px solid #eef0f2; font-size: 14px; }
article.hrb-tool .result-row:last-child { border-bottom: 0; }
article.hrb-tool .result-row__label { color: #6a6f75; }
article.hrb-tool .result-row__value { font-weight: 700; color: #1d2330; font-variant-numeric: tabular-nums; text-align: right; }
article.hrb-tool .result-row--header { font-weight: 800; text-transform: uppercase; font-size: 11px; letter-spacing: 0.8px; color: #1d2330; border-bottom: 2px solid #e2e5e8; }
article.hrb-tool .result-row--sub .result-row__label { padding-left: 12px; font-size: 13px; }
article.hrb-tool .result-row--total { border-top: 2px solid #1d2330; border-bottom: 0; margin-top: 6px; padding-top: 12px; }
article.hrb-tool .result-row--total .result-row__label { font-weight: 800; color: #1d2330; text-transform: uppercase; font-size: 13px; letter-spacing: 0.5px; }
article.hrb-tool .result-row--total .result-row__value { font-size: 22px; color: #16834c; font-weight: 800; }
article.hrb-tool .result-row--profit .result-row__value { color: #16834c; }
article.hrb-tool .result-row--loss .result-row__value { color: #c0392b; }
article.hrb-tool .result-row--info { font-size: 12.5px; color: #6a6f75; }
article.hrb-tool .result-row--deduction .result-row__value { color: #c0392b; }
article.hrb-tool .result-display { font-size: 26px; font-weight: 800; color: #16834c; text-align: center; padding: 14px 0; font-variant-numeric: tabular-nums; }

/* Result groups / bets (acca, multiples) */
article.hrb-tool .result-group { margin-top: 16px; }
article.hrb-tool .result-group__title { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.6px; color: #16834c; margin-bottom: 6px; }
article.hrb-tool .result-bet { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid #eef0f2; }
article.hrb-tool .result-bet__desc { color: #2a3038; font-size: 13px; }
article.hrb-tool .result-bet__return { font-weight: 700; font-variant-numeric: tabular-nums; }
article.hrb-tool .result-bet__return--won { color: #16834c; }
article.hrb-tool .result-bet__return--lost { color: #9aa0a6; }

/* Multi-selection blocks (trixie/yankee/lucky15/patent) */
article.hrb-tool .selection-block { border: 1px solid #e2e5e8; border-radius: 6px; padding: 14px; margin-bottom: 12px; background: #fafbfc; }
article.hrb-tool .selection-block__title { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.6px; color: #1d2330; margin-bottom: 10px; }
article.hrb-tool .selection-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
article.hrb-tool .selection-grid__label { font-size: 11px; font-weight: 700; text-transform: uppercase; color: #6a6f75; }
article.hrb-tool .selection-row__header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
article.hrb-tool .selection-row__number { font-weight: 800; color: #1d2330; }
article.hrb-tool .runner-row { display: flex; gap: 10px; align-items: flex-end; margin-bottom: 10px; }
article.hrb-tool .runner-name { flex: 2; } article.hrb-tool .runner-odds { flex: 1; }

/* Each-way options reveal */
article.hrb-tool .ew-options { padding: 12px; background: #f4faf6; border: 1px solid #d6eade; border-radius: 6px; margin-bottom: 14px; }

/* Dutching book status */
article.hrb-tool .book-status { display: inline-block; padding: 4px 12px; border-radius: 4px; font-size: 12px; font-weight: 800; }
article.hrb-tool .book-status--favour { background: #e8f5ee; color: #0e6b3c; }
article.hrb-tool .book-status--against { background: #fdeced; color: #c0392b; }

/* Converter + reference tables */
article.hrb-tool .conv-table, article.hrb-tool .ref-table { width: 100%; border-collapse: collapse; margin-top: 8px; }
article.hrb-tool .conv-table th, article.hrb-tool .ref-table th, article.hrb-tool .conv-table__header, article.hrb-tool .ref-table__header { background: #1d2330; color: #ffffff; padding: 10px 12px; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.6px; text-align: left; border-bottom: 3px solid #16834c; }
article.hrb-tool .conv-table td, article.hrb-tool .ref-table td { padding: 9px 12px; font-size: 13px; border-bottom: 1px solid #eef0f2; color: #2a3038; font-variant-numeric: tabular-nums; }
article.hrb-tool .conv-table tr:nth-child(even) td, article.hrb-tool .ref-table tr:nth-child(even) td { background: #fafbfc; }

/* Explainer note */
article.hrb-tool .calc-explainer { margin-top: 22px; padding: 16px 18px; background: #fafbfc; border-left: 3px solid #16834c; border-radius: 0 4px 4px 0; font-size: 13px; line-height: 1.65; color: #5a5f66; }
article.hrb-tool .calc-explainer h3 { border: 0; padding: 0; display: block; margin-bottom: 8px; }

/* ============ Tools index grid ============ */
article.hrb-tools-index .content { padding: 28px 24px 44px 24px; background: #ffffff; }
.hrb-tools-grid { display: grid; grid-template-columns: 1fr; gap: 14px; margin: 0 0 8px 0; padding: 0; list-style: none; }
.hrb-tools-grid li { margin: 0; }
.hrb-tools-grid a { display: block; height: 100%; box-sizing: border-box; border: 1px solid #e2e5e8; border-radius: 8px; padding: 18px 18px; background: #ffffff; text-decoration: none; transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease; }
.hrb-tools-grid a:hover { border-color: #16834c; box-shadow: 0 6px 16px rgba(0,0,0,0.08); transform: translateY(-2px); }
.hrb-tools-grid .tool-name { display: block; font-size: 17px; font-weight: 800; color: #1d2330; letter-spacing: -0.2px; }
.hrb-tools-grid .tool-blurb { display: block; margin-top: 5px; font-size: 13px; line-height: 1.5; color: #6a6f75; }
.hrb-tools-grid .tool-arrow { color: #16834c; font-weight: 800; }
.hrb-tools-section-title { font-size: 18px; font-weight: 800; color: #1d2330; margin: 4px 0 16px 0; padding-bottom: 8px; border-bottom: 2px solid #16834c; display: inline-block; padding-right: 16px; }

@media (min-width: 768px) {
  article.hrb-tool .calc-layout { grid-template-columns: 380px 1fr; align-items: start; }
  .hrb-tools-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .hrb-tools-grid { grid-template-columns: repeat(3, 1fr); }
}

/* Beat the theme's `.content > ul { display: table }` for the tools grid */
article.hrb-tools-index .content > ul.hrb-tools-grid { display: grid !important; grid-template-columns: 1fr; width: 100%; }
article.hrb-tools-index .content > ul.hrb-tools-grid > li { display: block !important; }
@media (min-width: 768px) { article.hrb-tools-index .content > ul.hrb-tools-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (min-width: 1024px) { article.hrb-tools-index .content > ul.hrb-tools-grid { grid-template-columns: repeat(3, 1fr) !important; } }

/* Suppress the theme's list bullets/markers on the tools grid items */
article.hrb-tools-index .content > ul.hrb-tools-grid { list-style: none !important; margin-left: 0 !important; padding-left: 0 !important; }
article.hrb-tools-index .content > ul.hrb-tools-grid > li { list-style: none !important; padding-left: 0 !important; margin-left: 0 !important; }
article.hrb-tools-index .content > ul.hrb-tools-grid > li:before { content: none !important; display: none !important; }

/* ============ Guides & glossary ============ */
article.hrb-guide { background: #ffffff; color: #1f242b; }
article.hrb-guide .container { max-width: 820px; margin: 0 auto; padding: 0 24px; }

/* Hero — brand green gradient band */
article.hrb-guide .guide-hero { background: linear-gradient(135deg, #1d2330 0%, #16834c 100%); color: #ffffff; padding: 40px 0; }
article.hrb-guide .guide-hero h1 { margin: 0 0 12px 0; font-size: 30px; font-weight: 800; letter-spacing: -0.5px; line-height: 1.12; color: #ffffff; }
article.hrb-guide .guide-hero p { margin: 0; font-size: 16px; line-height: 1.7; color: rgba(255,255,255,0.92); }
article.hrb-guide .text-gold { color: #ffd47a; }
article.hrb-guide .guide-hero__meta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
article.hrb-guide .guide-hero__meta span { font-size: 12px; font-weight: 700; color: #ffffff; background: rgba(255,255,255,0.14); border: 1px solid rgba(255,255,255,0.22); padding: 5px 12px; border-radius: 4px; }
article.hrb-guide .guide-hero__breadcrumb { font-size: 12px; color: rgba(255,255,255,0.7); margin-bottom: 10px; }
article.hrb-guide .guide-hero__badge { display: inline-block; background: #16834c; color: #fff; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.6px; padding: 4px 10px; border-radius: 4px; margin-bottom: 12px; }

/* Body typography */
article.hrb-guide .guide-body, article.hrb-guide .guide-content, article.hrb-guide .analysis-content { padding: 32px 0 44px 0; }
article.hrb-guide .guide-body__content, article.hrb-guide .analysis-article { font-size: 16px; line-height: 1.75; color: #2a3038; }
article.hrb-guide h2 { font-size: 24px; font-weight: 800; letter-spacing: -0.3px; color: #1d2330; margin: 34px 0 12px 0; padding-bottom: 8px; border-bottom: 2px solid #16834c; }
article.hrb-guide h3 { font-size: 19px; font-weight: 700; color: #1d2330; margin: 26px 0 10px 0; }
article.hrb-guide h4 { font-size: 16px; font-weight: 700; color: #1d2330; margin: 20px 0 8px 0; }
article.hrb-guide p { margin: 0 0 16px 0; }
article.hrb-guide ul, article.hrb-guide ol { margin: 0 0 18px 0; padding-left: 22px; }
article.hrb-guide li { margin-bottom: 7px; line-height: 1.7; }
article.hrb-guide a { color: #16834c; }
article.hrb-guide a:hover { color: #0e6b3c; }
article.hrb-guide strong { color: #1d2330; }
article.hrb-guide .mono, article.hrb-guide .form-string, article.hrb-guide .guide-code-block { font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; }
article.hrb-guide .form-string { background: #eef0f2; padding: 2px 7px; border-radius: 3px; font-weight: 700; letter-spacing: 1px; color: #1d2330; }
article.hrb-guide .guide-code-block { display: block; background: #1d2330; color: #e6edf3; padding: 14px 16px; border-radius: 6px; font-size: 13px; overflow-x: auto; margin: 0 0 18px 0; }

/* Callouts / tips */
article.hrb-guide .guide-callout { background: #fafbfc; border-left: 4px solid #16834c; border-radius: 0 6px 6px 0; padding: 16px 20px; margin: 0 0 20px 0; }
article.hrb-guide .guide-callout--tip { border-left-color: #16834c; background: #f4faf6; }
article.hrb-guide .guide-tip-box, article.hrb-guide .guide-tip { background: #f4faf6; border: 1px solid #cfe7da; border-radius: 8px; padding: 18px 20px; margin: 0 0 20px 0; }
article.hrb-guide .guide-tip-box__title, article.hrb-guide .guide-tip__title { font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.7px; color: #0e6b3c; margin-bottom: 8px; }

/* Example boxes */
article.hrb-guide .guide-example { background: #ffffff; border: 1px solid #e2e5e8; border-radius: 8px; padding: 18px 20px; margin: 0 0 20px 0; box-shadow: 0 1px 3px rgba(0,0,0,0.04); }
article.hrb-guide .guide-example__title { font-size: 15px; font-weight: 800; color: #1d2330; margin-bottom: 6px; }
article.hrb-guide .guide-example__label { display: inline-block; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.8px; color: #16834c; margin-bottom: 8px; }

/* Tables */
article.hrb-guide .guide-table, article.hrb-guide .class-table { width: 100%; border-collapse: collapse; margin: 0 0 22px 0; border: 1px solid #e2e5e8; border-radius: 6px; overflow: hidden; }
article.hrb-guide .guide-table th, article.hrb-guide .class-table th { background: #1d2330; color: #fff; padding: 11px 14px; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.6px; text-align: left; border-bottom: 3px solid #16834c; }
article.hrb-guide .guide-table td, article.hrb-guide .class-table td { padding: 10px 14px; font-size: 14px; border-bottom: 1px solid #eef0f2; color: #2a3038; }
article.hrb-guide .guide-table tr:nth-child(even) td, article.hrb-guide .class-table tr:nth-child(even) td { background: #fafbfc; }
article.hrb-guide .class-label { display: inline-block; font-weight: 800; color: #16834c; }
article.hrb-guide .going-label { display: inline-block; font-weight: 700; color: #1d2330; }
article.hrb-guide .going-table td.going-stick { font-weight: 700; color: #16834c; white-space: nowrap; }

/* Bet-type cards */
article.hrb-guide .bet-type-card { border: 1px solid #e2e5e8; border-radius: 8px; padding: 18px 20px; margin: 0 0 16px 0; background: #ffffff; box-shadow: 0 1px 3px rgba(0,0,0,0.04); }
article.hrb-guide .bet-type-card__header { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 10px; }
article.hrb-guide .bet-type-card__name { font-size: 18px; font-weight: 800; color: #1d2330; }
article.hrb-guide .bet-type-card__stats { display: flex; flex-wrap: wrap; gap: 18px; padding-top: 10px; border-top: 1px solid #eef0f2; }
article.hrb-guide .bet-type-card__stat { font-size: 13px; color: #6a6f75; }
article.hrb-guide .bet-type-card__stat strong { display: block; font-size: 16px; color: #16834c; }

/* Responsible-gambling banner */
article.hrb-guide .rg-banner { display: flex; align-items: center; gap: 12px; background: #f4faf6; border: 1px solid #cfe7da; border-radius: 8px; padding: 14px 18px; margin: 24px 0; font-size: 13.5px; color: #155e3c; }
article.hrb-guide .rg-banner__icon { font-size: 20px; }

/* CTA / next / checklist */
article.hrb-guide .guide-cta { background: linear-gradient(135deg, #1d2330 0%, #2b3344 100%); color: #fff; border-radius: 8px; padding: 24px; margin: 28px 0; text-align: center; border-top: 3px solid #16834c; }
article.hrb-guide .guide-cta__link { display: inline-block; margin-top: 10px; background: #16834c; color: #fff !important; padding: 12px 24px; border-radius: 4px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.6px; font-size: 13px; text-decoration: none; box-shadow: 0 2px 0 #0d5e36; }
article.hrb-guide .guide-cta__link:hover { background: #0e6b3c; color: #fff !important; }
article.hrb-guide .guide-checklist { list-style: none; padding-left: 0; }
article.hrb-guide .guide-checklist li { position: relative; padding-left: 26px; margin-bottom: 10px; }
article.hrb-guide .guide-checklist li:before { content: "\2713"; position: absolute; left: 0; top: 1px; color: #16834c; font-weight: 800; }
article.hrb-guide .guide-next { margin-top: 28px; padding-top: 18px; border-top: 1px solid #e2e5e8; font-size: 14px; }

/* Sidebar TOC (if present) — keep inline, simple */
article.hrb-guide .guide-sidebar { background: #fafbfc; border: 1px solid #e2e5e8; border-radius: 8px; padding: 16px 18px; margin: 0 0 24px 0; }
article.hrb-guide .guide-sidebar__toc { list-style: none; padding-left: 0; margin: 0; }
article.hrb-guide .guide-sidebar__toc li { margin-bottom: 6px; }

/* ============ Glossary ============ */
article.hrb-guide .glossary-hero { background: linear-gradient(135deg, #1d2330 0%, #16834c 100%); color: #fff; padding: 40px 0; }
article.hrb-guide .glossary-hero h1 { font-size: 30px; font-weight: 800; color: #fff; margin: 0 0 10px 0; }
article.hrb-guide .glossary-search__input { width: 100%; box-sizing: border-box; max-width: 480px; padding: 12px 16px; border: 1px solid #dcdede; border-radius: 6px; font-size: 15px; margin: 8px 0 0 0; }
article.hrb-guide .glossary-search__input:focus { outline: 0; border-color: #16834c; box-shadow: 0 0 0 3px rgba(22,131,76,0.15); }
article.hrb-guide .glossary-alpha { display: flex; flex-wrap: wrap; gap: 6px; margin: 18px 0 24px 0; padding: 0; list-style: none; }
article.hrb-guide .glossary-alpha__link { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border: 1px solid #e2e5e8; border-radius: 4px; font-weight: 800; font-size: 13px; color: #1d2330; text-decoration: none; transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease; }
article.hrb-guide .glossary-alpha__link:hover { background: #16834c; color: #fff; border-color: #16834c; }
article.hrb-guide .glossary-alpha__link--disabled { opacity: 0.35; pointer-events: none; }
article.hrb-guide .glossary-letter-section { margin-bottom: 26px; }
article.hrb-guide .glossary-letter-heading { font-size: 22px; font-weight: 800; color: #16834c; border-bottom: 2px solid #e2e5e8; padding-bottom: 6px; margin: 0 0 12px 0; }
article.hrb-guide .glossary-term { padding: 12px 0; border-bottom: 1px solid #eef0f2; }
article.hrb-guide .glossary-term__word { display: block; font-size: 16px; font-weight: 800; color: #1d2330; margin-bottom: 3px; }
article.hrb-guide .glossary-term__def { font-size: 14.5px; line-height: 1.65; color: #2a3038; }

@media (min-width: 768px) {
  article.hrb-guide .guide-hero h1, article.hrb-guide .glossary-hero h1 { font-size: 36px; }
}

/* ============ Results pages ============ */
article.hrb-results-page .content { padding: 28px 24px 40px 24px; background: #ffffff; }
article.hrb-results-page .hrb-results-nav a { padding: 7px 14px; font-size: 12px; }
.hrb-result-meeting { border: 1px solid #e2e5e8; border-radius: 8px; overflow: hidden; margin-bottom: 22px; box-shadow: 0 1px 3px rgba(0,0,0,0.04); }
.hrb-result-meeting .hrb-meeting-head { padding: 14px 18px; background: #1d2330; color: #fff; border-bottom: 3px solid #16834c; }
.hrb-result-meeting .hrb-meeting-head h2 { margin: 0; font-size: 18px; font-weight: 800; color: #fff; }
.hrb-result-meeting .hrb-meeting-head .going-line { display: block; margin-top: 3px; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.7px; color: rgba(255,255,255,0.7); }
.hrb-result-race { border-top: 1px solid #eef0f2; padding: 6px 0 0 0; }
.hrb-result-race:first-of-type { border-top: 0; }
.hrb-result-race h3 { margin: 0; padding: 12px 18px 8px 18px; font-size: 15px; font-weight: 700; color: #1d2330; }
.hrb-result-race h3 .off-time { display: inline-block; min-width: 52px; color: #16834c; font-weight: 800; font-variant-numeric: tabular-nums; }
table.hrb-result-table tbody tr.is-winner td { background: #f4faf6 !important; }
table.hrb-result-table tbody tr.is-winner td.pos { color: #16834c; font-weight: 800; }
table.hrb-result-table td.pos { font-weight: 700; }

/* ============ Affiliate bookmaker strip (compliant) ============ */
.hrb-bookies { margin: 26px 0; padding: 18px 18px 14px 18px; background: #ffffff; border: 1px solid #e2e5e8; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.04); }
.hrb-bookies__title { display: block; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.8px; color: #1d2330; padding-bottom: 12px; margin-bottom: 14px; border-bottom: 2px solid #16834c; }
.hrb-bookies__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.hrb-bookies .hrb-bookie { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px; border: 1px solid #eef0f2; border-radius: 6px; background: #fafbfc; }
.hrb-bookies .hrb-bookie .logo { max-width: 120px; height: 30px; background-size: contain; background-repeat: no-repeat; background-position: left center; flex: 0 0 auto; text-indent: -9999px; overflow: hidden; display: inline-block; }
.hrb-bookies .hrb-bookie__cta { flex: 0 0 auto; background: #16834c; color: #ffffff; border-radius: 4px; padding: 9px 18px; font-size: 12px; font-weight: 800; letter-spacing: 0.6px; text-transform: uppercase; text-decoration: none; box-shadow: 0 2px 0 #0d5e36; transition: background 0.15s ease; white-space: nowrap; }
.hrb-bookies .hrb-bookie__cta:hover { background: #0e6b3c; color: #ffffff; }
.hrb-bookies__note { display: block; margin-top: 14px; font-size: 11px; color: #6a6f75; line-height: 1.5; }
.hrb-bookies__note a { color: #16834c; }
@media (max-width: 768px) {
  .hrb-bookies__list { grid-template-columns: 1fr; }
}

/* Fix: some guide content (e.g. reading-racecards) contains a nested <article>
   which inherits the theme's green article gradient and swamps the page. Neutralise it. */
article.hrb-guide article { background: transparent !important; background-image: none !important; padding: 0 !important; }
article.hrb-guide .analysis-article, article.hrb-guide .analysis-content { background: transparent !important; background-image: none !important; }

/* Track racecard: 'next meeting' note */
article.hrb-track-stub .hrb-next-note { margin: 0 0 18px 0; padding: 13px 18px; background: #f4faf6; border: 1px solid #cfe7da; border-left: 3px solid #16834c; border-radius: 10px; font-size: 13px; color: #155e3c; }
article.hrb-track-stub .hrb-empty a { color: #16834c; font-weight: 700; }

/* Track racecard: short course guide below the bookmaker strip */
article.hrb-track-stub .hrb-track-guide { margin: 20px 0 0 0; padding: 24px 26px; background: #fff; border: 1px solid #e8ebef; border-radius: 14px; box-shadow: 0 1px 2px rgba(16,24,40,0.04); }
article.hrb-track-stub .hrb-track-guide h2 { margin: 0 0 14px 0; padding: 0 0 10px 0; font-size: 20px; font-weight: 700; color: #1d2330; border-bottom: 2px solid #16834c; display: inline-block; }
article.hrb-track-stub .hrb-track-guide p { margin: 0 0 12px 0; font-size: 15px; line-height: 1.7; color: #3a4150; }
article.hrb-track-stub .hrb-track-guide p:last-child { margin-bottom: 0; }

/* Track guide section subheadings */
article.hrb-track-stub .hrb-track-guide h3 { margin: 20px 0 6px 0; padding: 0; font-size: 16px; font-weight: 700; color: #1d2330; border: 0; }
article.hrb-track-stub .hrb-track-guide h3:first-of-type { margin-top: 4px; }

/* Kill the theme's green vertical gridlines on runner tables — keep horizontal dividers only */
table.hrb-runners thead th,
table.hrb-runners tbody td { border-left: 0; border-right: 0; border-top: 0; }

/* Theme stamps an orange icon_list.png ::before on every <li>; kill it on racecard lists */
article.hrb-racecards-index li:before,
article.hrb-racecards-index li:after,
article.hrb-meeting li:before,
article.hrb-track-stub li:before { display: none !important; content: none !important; background: none !important; }

/* ============ Tips + Results: adopt the modern racecard shell (2026) ============ */

/* Hero — match the racecards/track green->dark-green gradient + sheen (overrides the theme navy->green intro) */
article.hrb-tips-page .intro,
article.hrb-results-page .intro { position: relative; padding: 40px 24px 36px 24px; background: linear-gradient(135deg, #16834c 0%, #0f6e3c 100%); color: #ffffff; overflow: hidden; }
article.hrb-tips-page .intro:after,
article.hrb-results-page .intro:after { content: ""; position: absolute; right: -70px; top: -70px; width: 240px; height: 240px; background: radial-gradient(circle, rgba(255,255,255,0.14), rgba(255,255,255,0) 70%); pointer-events: none; }
article.hrb-tips-page .intro h1,
article.hrb-results-page .intro h1 { position: relative; margin: 0; font-size: clamp(27px, 4vw, 34px); font-weight: 800; line-height: 1.1; letter-spacing: -0.6px; color: #ffffff; }
article.hrb-tips-page .intro .meta-date,
article.hrb-results-page .intro .meta-date { position: relative; display: inline-block; margin-top: 12px; font-size: 14px; font-weight: 500; line-height: 1.4; color: rgba(255,255,255,0.92); }
article.hrb-tips-page .intro .hrb-tips-toggle,
article.hrb-results-page .intro .hrb-tips-toggle { position: relative; }

/* Light surface so the cards lift, matching /racecards/ + /tracks/ */
article.hrb-tips-page .content,
article.hrb-results-page .content { background: #f5f6f8; padding: 22px 16px 44px 16px; }

/* De-pill the bet labels -> small squared tags (no AI pills) */
.bet-pill { border-radius: 3px; padding: 4px 9px; }

/* Unify card radii / borders / shadows with the racecard cards */
.hrb-nap { border-radius: 14px; border-color: #e8ebef; box-shadow: 0 1px 2px rgba(16,24,40,0.04); }
ol.hrb-tips .hrb-tip { border-radius: 12px; border-color: #e8ebef; }
ol.hrb-tips .hrb-tip-rank { border-radius: 12px 0 0 12px; }
.hrb-result-meeting { border-radius: 14px; border-color: #e8ebef; box-shadow: 0 1px 2px rgba(16,24,40,0.04); }
.hrb-result-meeting .hrb-meeting-head { border-bottom: 0; }
.hrb-result-meeting .hrb-meeting-head .going-line { text-transform: none; letter-spacing: 0.2px; font-size: 11px; }

/* Defensive: kill the theme's orange li-icon if it reaches tip rows */
article.hrb-tips-page ol.hrb-tips > li.hrb-tip:before { display: none !important; content: none !important; background: none !important; }

@media (min-width: 768px) {
  article.hrb-tips-page .intro,
  article.hrb-results-page .intro { padding: 48px 32px 44px 32px; }
  article.hrb-tips-page .content,
  article.hrb-results-page .content { padding: 28px 28px 52px 28px; }
}

/* ============ Tips: per-tip recommended bookmaker + clearer confidence ============ */

/* Confidence explainer under the heading */
.hrb-tips-subnote { margin: 0 0 16px 0; font-size: 13.5px; line-height: 1.5; color: #6a7178; }
.hrb-tips-subnote strong { color: #1d2330; font-weight: 700; }

/* Recommended bookmaker block (fills the previously-empty middle of each row) */
ol.hrb-tips .hrb-tip-book { flex: 0 0 138px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 0 16px; border-left: 1px solid #eef0f2; text-align: center; }
ol.hrb-tips .hrb-tip-book__label { font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.8px; color: #9aa0a6; }
ol.hrb-tips .hrb-tip-book .logo { display: block; width: 92px; height: 22px; background-size: contain; background-repeat: no-repeat; background-position: center; text-indent: -9999px; overflow: hidden; }
ol.hrb-tips .hrb-tip-cta { display: inline-block; padding: 7px 16px; background: #16834c; color: #ffffff; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.4px; text-decoration: none; border-radius: 4px; transition: background 0.14s ease; white-space: nowrap; }
ol.hrb-tips .hrb-tip-cta:hover { background: #117a44; }

/* Confidence badge: always show the label so it reads as a score */
ol.hrb-tips .hrb-tip-stats .hrb-conf { min-width: 68px; padding: 7px 8px; }
ol.hrb-tips .hrb-tip-stats .hrb-conf .hrb-conf-num { font-size: 20px; }
ol.hrb-tips .hrb-tip-stats .hrb-conf .hrb-conf-label { display: block; font-size: 8px; letter-spacing: 0.3px; white-space: nowrap; margin-top: 2px; }

@media (max-width: 768px) {
  ol.hrb-tips .hrb-tip { flex-wrap: wrap; }
  ol.hrb-tips .hrb-tip-book { order: 4; flex: 1 1 100%; flex-direction: row; gap: 14px; border-left: 0; border-top: 1px solid #eef0f2; padding: 12px 0 2px 0; margin-top: 10px; justify-content: center; }
}

/* ============ Tips: full-width list + nap bookmaker + bookie on the right ============ */

/* Theme caps content lists at ~1000px — let the tips list use the full content width */
article.hrb-tips-page ol.hrb-tips,
article.hrb-tips-page .hrb-nap,
article.hrb-tips-page .hrb-tips-heading,
article.hrb-tips-page .hrb-tips-subnote,
article.hrb-tips-page .hrb-tips-note { max-width: none !important; width: auto; }
article.hrb-tips-page ol.hrb-tips { width: 100%; }

/* Bookie now sits at the far right of each row, with a divider from the stats */
ol.hrb-tips .hrb-tip-stats { border-left: 1px solid #eef0f2; padding-left: 16px; padding-right: 4px; }
ol.hrb-tips .hrb-tip-book { border-left: 1px solid #eef0f2; }

/* Nap: recommended bookmaker block in the side column */
.hrb-nap-book { display: flex; flex-direction: column; align-items: center; gap: 6px; width: 100%; padding-top: 12px; margin-top: 6px; border-top: 1px solid #eef0f2; text-align: center; }
.hrb-nap-book__label { font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.8px; color: #9aa0a6; }
.hrb-nap-book .logo { display: block; width: 96px; height: 24px; background-size: contain; background-repeat: no-repeat; background-position: center; text-indent: -9999px; overflow: hidden; }
.hrb-nap-book .hrb-tip-cta { width: 100%; box-sizing: border-box; text-align: center; }

@media (max-width: 768px) {
  ol.hrb-tips .hrb-tip-stats { border-left: 0; padding-left: 0; }
}

/* CTA button shared by the tip rows AND the nap (was scoped to ol.hrb-tips only) */
.hrb-tip-cta { display: inline-block; padding: 7px 16px; background: #16834c; color: #ffffff; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.4px; text-decoration: none; border-radius: 4px; transition: background 0.14s ease; white-space: nowrap; }
.hrb-tip-cta:hover { background: #117a44; color: #ffffff; }

/* Nap horse name is now the race link — keep it looking like the heading, not a link */
.hrb-nap-horse { text-decoration: none; }
.hrb-nap-horse:hover { color: #16834c; }

/* ============ Accessibility + mobile-first type scale (WCAG AA) ============ */

/* Hero: darken the green gradient so small white text clears 4.5:1; bigger meta */
article.hrb-racecards-index .intro, article.hrb-meeting .intro, article.hrb-race-detail .intro,
article.hrb-track-stub .intro, article.hrb-tips-page .intro, article.hrb-results-page .intro { background: linear-gradient(135deg, #117a44 0%, #0a5530 100%); }
article.hrb-racecards-index .intro .meta-date, article.hrb-meeting .intro .meta-line,
article.hrb-track-stub .intro .meta-date, article.hrb-track-stub .intro .meta-line,
article.hrb-tips-page .intro .meta-date, article.hrb-results-page .intro .meta-date { font-size: 15px; color: #ffffff; }

/* Today/Tomorrow + results date toggle: bigger, AA-contrast */
article.hrb-tips-page .hrb-tips-toggle a, article.hrb-results-page .hrb-tips-toggle a { font-size: 14px; color: #ffffff; }
article.hrb-tips-page .hrb-tips-toggle a.is-active, article.hrb-results-page .hrb-tips-toggle a.is-active { background: #16834c; color: #1d2330; }

/* Runner tables: larger, readable; darker header label */
table.hrb-runners thead th { font-size: 12px; color: #565c63; letter-spacing: 0.4px; }
table.hrb-runners tbody td { font-size: 15px; }
table.hrb-runners tbody td.horse { font-size: 16px; }
table.hrb-runners tbody td.odds { font-size: 16px; }
table.hrb-runners tbody td.numeric { color: #565c63; }
table.hrb-runners tbody td .form-chip { font-size: 13px; color: #4a4f56; }

/* Race blocks + jump nav + meta */
article.hrb-track-stub .hrb-race h2, article.hrb-meeting .hrb-race h2 { font-size: 18px; }
article.hrb-track-stub .hrb-race .race-meta-row, article.hrb-meeting .hrb-race .race-meta-row { font-size: 14px; color: #565c63; }
article.hrb-track-stub .hrb-racenav a { font-size: 14px; }
article.hrb-track-stub .hrb-next-note { font-size: 14px; }

/* Meetings index cards */
ul.hrb-meetings .hrb-meeting-card .hrb-meeting-head h2 { font-size: 18px; }
ul.hrb-meetings .hrb-meeting-card .hrb-meeting-head .going-line { font-size: 12px; color: rgba(255,255,255,0.88); }
ul.hrb-meetings ul.hrb-meeting-races .race-time { font-size: 15px; }
ul.hrb-meetings ul.hrb-meeting-races .race-name { font-size: 15px; color: #2a3038; }

/* Tips: headings + rows + nap */
.hrb-tips-subnote { font-size: 15px; color: #565c63; }
.hrb-tips-subnote strong { color: #1d2330; }
.hrb-tips-heading { font-size: 20px; }
ol.hrb-tips .hrb-tip-horse { font-size: 18px; }
ol.hrb-tips .hrb-tip-race { font-size: 14px; color: #565c63; }
ol.hrb-tips .hrb-tip-factor { font-size: 14px; color: #3a4150; }
.hrb-nap-horse { font-size: 28px; }
.hrb-nap-meta { font-size: 14px; color: #0e6b3c; }
.hrb-nap-writeup { font-size: 16px; color: #2a3038; }
.hrb-tip-factors li { font-size: 15px; color: #2a3038; }
.hrb-odds { font-size: 17px; }
.bet-pill { font-size: 11px; }
.hrb-tip-cta { font-size: 13px; }
ol.hrb-tips .hrb-tip-book__label, .hrb-nap-book__label { font-size: 11px; color: #565c63; letter-spacing: 0.5px; }
.hrb-conf .hrb-conf-label, ol.hrb-tips .hrb-tip-stats .hrb-conf .hrb-conf-label { font-size: 10px; }

/* Notes / links / empty states */
.hrb-tips-note { font-size: 13px; color: #565c63; }
.hrb-tips-note a, article .hrb-empty a, .hrb-bookies__note a { color: #0e6b3c; }
article .hrb-empty { font-size: 16px; color: #565c63; }

/* Results */
.hrb-result-race h3 { font-size: 16px; }
.hrb-result-meeting .hrb-meeting-head h2 { font-size: 18px; }
.hrb-result-meeting .hrb-meeting-head .going-line { color: rgba(255,255,255,0.88); }

/* Track course guide prose */
article.hrb-track-stub .hrb-track-guide p { font-size: 16px; line-height: 1.75; color: #3a4150; }
article.hrb-track-stub .hrb-track-guide h3 { font-size: 17px; }

/* ============ Mobile-first tip card redesign (<=768px) ============ */
@media (max-width: 768px) {
  /* Card reflows into: [rank spine | tip info]  /  stats bar  /  bookmaker bar */
  ol.hrb-tips .hrb-tip { flex-wrap: wrap; align-items: stretch; padding: 0; gap: 0; }
  ol.hrb-tips .hrb-tip-rank { flex: 0 0 44px; align-self: stretch; font-size: 16px; border-radius: 12px 0 0 0; }
  ol.hrb-tips .hrb-tip-info { flex: 1 1 0; min-width: 0; padding: 15px 16px; }

  /* Stats become a horizontal bar (was a wasteful vertical column) */
  ol.hrb-tips .hrb-tip-stats { order: 3; flex: 1 1 100%; flex-direction: row; align-items: center; justify-content: flex-start; gap: 18px; border-left: 0; border-top: 1px solid #eef0f2; padding: 12px 16px; }

  /* Bookmaker bar: label+logo left, CTA pinned right */
  ol.hrb-tips .hrb-tip-book { order: 4; flex: 1 1 100%; flex-direction: row; align-items: center; gap: 12px; border-left: 0; border-top: 1px solid #eef0f2; padding: 12px 16px; margin: 0; }
  ol.hrb-tips .hrb-tip-book .hrb-tip-cta { margin-left: auto; padding: 9px 18px; font-size: 14px; }
  ol.hrb-tips .hrb-tip-book .logo { width: 84px; height: 24px; }

  /* Nap: clean single-column side bar */
  .hrb-nap-body { gap: 0; }
  .hrb-nap-side { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 16px; padding-top: 16px; margin-top: 4px; border-top: 1px solid #eef0f2; }
  .hrb-nap-book { flex: 1 1 100%; flex-direction: row; align-items: center; gap: 12px; justify-content: flex-start; text-align: left; }
  .hrb-nap-book .hrb-tip-cta { margin-left: auto; width: auto; }
  .hrb-nap-book .logo { margin: 0; }
}

/* Force AA contrast over the theme's link colours (gold-on-orange toggle, light-green links) */
article.hrb-tips-page .hrb-tips-toggle a, article.hrb-results-page .hrb-tips-toggle a { color: #ffffff !important; }
article.hrb-tips-page .hrb-tips-toggle a.is-active, article.hrb-results-page .hrb-tips-toggle a.is-active { color: #1d2330 !important; }
article.hrb-tips-page .hrb-tips-note a, article.hrb-results-page .hrb-tips-note a,
article .hrb-empty a, .hrb-bookies__note a { color: #0c6b34 !important; }

/* Kill the theme's green td bottom-border (the grey tr border is the divider) */
table.hrb-runners thead th, table.hrb-runners tbody td { border-bottom: 0; }

/* Mobile-first runner tables: tighten + drop non-essential columns so it fits without ugly scroll */
@media (max-width: 768px) {
  table.hrb-runners thead th, table.hrb-runners tbody td { padding: 11px 9px; }
  table.hrb-runners .col-trainer, table.hrb-runners .col-wgt { display: none; }
  table.hrb-runners tbody td.horse { font-size: 15px; }
  article.hrb-track-stub .hrb-race h2 { font-size: 16px; flex-wrap: wrap; }
}

/* Jockey-as-subtext under horse (mobile only); desktop keeps the columns */
table.hrb-runners .horse-sub { display: none; }
@media (max-width: 768px) {
  table.hrb-runners .horse-sub { display: block; font-size: 12.5px; font-weight: 600; color: #565c63; margin-top: 2px; letter-spacing: 0; }
  /* Keep only the essentials so Odds always stays visible: #, Horse, Form, Odds */
  table.hrb-runners .col-trainer, table.hrb-runners .col-wgt,
  table.hrb-runners .col-jockey, table.hrb-runners .col-draw { display: none; }
  table.hrb-runners tbody td.horse { font-size: 16px; }
  table.hrb-runners thead th, table.hrb-runners tbody td { padding: 12px 10px; }
}

/* Theme forces a dark-green th background — force the intended light header (AA: grey-on-light ~6:1) */
table.hrb-runners thead th { background: #f4f6f8 !important; color: #565c63 !important; border-bottom: 1px solid #e8ebef !important; }
table.hrb-result-table thead th { background: #f4f6f8 !important; color: #565c63 !important; }

/* ============ Tips v2 — confidence-meter card (mobile-first) ============ */
article.hrb-tips-page ol.hrb-tips { display: block; }
article.hrb-tips-page ol.hrb-tips .hrb-tip { display: block; padding: 16px; margin: 0 0 14px 0; border: 1px solid #e8ebef; border-left: 4px solid #cdd2d8; border-radius: 12px; background: #fff; box-shadow: 0 1px 2px rgba(16,24,40,0.05); transition: box-shadow 0.16s ease; }
article.hrb-tips-page ol.hrb-tips .hrb-tip:hover { box-shadow: 0 8px 22px -8px rgba(16,24,40,0.16); }

/* strength left edge */
.hrb-tip.band-strong { border-left-color: #16834c; }
.hrb-tip.band-solid  { border-left-color: #d98a00; }
.hrb-tip.band-fair   { border-left-color: #9aa0a6; }

/* head: rank + horse + odds */
.hrb-tip-head { display: flex; align-items: flex-start; gap: 12px; }
article.hrb-tips-page ol.hrb-tips .hrb-tip .hrb-tip-rank { flex: 0 0 auto; align-self: auto; display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; background: #1d2330; color: #fff; font-size: 15px; font-weight: 800; border: 0; border-radius: 6px; }
article.hrb-tips-page ol.hrb-tips .hrb-tip .hrb-tip-horse { flex: 1 1 auto; min-width: 0; font-size: 19px; font-weight: 800; line-height: 1.2; letter-spacing: -0.3px; color: #1d2330; text-decoration: none; }
.hrb-tip-head .hrb-tip-horse:hover { color: #16834c; }
.hrb-tip-odds { flex: 0 0 auto; text-align: right; font-size: 18px; font-weight: 800; color: #1d2330; font-variant-numeric: tabular-nums; line-height: 1.1; }
.hrb-tip-odds .lbl { display: block; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; color: #565c63; margin-bottom: 2px; }
.hrb-tip-race { display: block; margin: 6px 0 0 0; font-size: 14px; color: #565c63; }

/* confidence meter */
.hrb-conf-meter { margin: 14px 0 0 0; }
.hrb-conf-top { display: flex; align-items: center; gap: 10px; margin-bottom: 7px; }
.hrb-conf-name { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.7px; color: #565c63; }
.hrb-conf-verdict { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px; }
.hrb-conf-score { margin-left: auto; font-size: 17px; font-weight: 800; color: #1d2330; font-variant-numeric: tabular-nums; }
.hrb-conf-score span { font-size: 11px; color: #565c63; font-weight: 700; }
.hrb-conf-track { height: 9px; background: #eceff2; border-radius: 2px; overflow: hidden; }
.hrb-conf-fill { display: block; height: 100%; border-radius: 2px; }
.band-strong .hrb-conf-fill { background: #16834c; } .band-strong .hrb-conf-verdict { color: #0e6b3c; }
.band-solid  .hrb-conf-fill { background: #d98a00; } .band-solid  .hrb-conf-verdict { color: #8a5a00; }
.band-fair   .hrb-conf-fill { background: #9aa0a6; } .band-fair   .hrb-conf-verdict { color: #565c63; }
.hrb-tip-reason { margin: 12px 0 0 0; font-size: 15px; line-height: 1.55; color: #3a4150; }

/* foot: bet tag + recommended bookmaker + CTA */
.hrb-tip-foot { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 12px; margin-top: 14px; padding-top: 14px; border-top: 1px solid #f1f3f5; }
.hrb-tip-foot .hrb-tip-odds { text-align: left; }
.hrb-tip-foot .hrb-tip-book-lbl { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; color: #565c63; }
.hrb-tip-foot .logo { display: inline-block; width: 84px; height: 22px; background-size: contain; background-repeat: no-repeat; background-position: center; text-indent: -9999px; overflow: hidden; }
.hrb-tip-foot .hrb-tip-cta { margin-left: auto; }

/* subnote legend */
.hrb-tips-subnote .key-strong { color: #0e6b3c; font-weight: 800; }
.hrb-tips-subnote .key-solid  { color: #8a5a00; font-weight: 800; }
.hrb-tips-subnote .key-fair   { color: #565c63; font-weight: 800; }

/* Nap: single column + larger meter */
article.hrb-tips-page .hrb-nap { border-left: 4px solid #16834c; }
article.hrb-tips-page .hrb-nap-body { display: block; padding: 20px; }
article.hrb-tips-page .hrb-nap-horse { display: inline-block; font-size: 26px; font-weight: 800; letter-spacing: -0.5px; color: #1d2330; text-decoration: none; line-height: 1.1; }
article.hrb-tips-page .hrb-nap-horse:hover { color: #16834c; }
.hrb-conf-meter-lg .hrb-conf-track { height: 12px; }
.hrb-conf-meter-lg .hrb-conf-score { font-size: 20px; }
.hrb-conf-meter-lg .hrb-conf-verdict { font-size: 13px; }

@media (min-width: 768px) {
  article.hrb-tips-page ol.hrb-tips .hrb-tip { padding: 18px 22px; }
  article.hrb-tips-page ol.hrb-tips .hrb-tip .hrb-tip-horse { font-size: 20px; }
}

/* Make the selection unmistakable: "Our Tip" eyebrow + bet tag beside the horse */
.hrb-tip-pick { flex: 1 1 auto; min-width: 0; }
.hrb-tip-eyebrow { display: block; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 1.2px; color: #0e6b3c; margin-bottom: 3px; }
.hrb-tip-namebet { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.hrb-tip-namebet .hrb-tip-horse { flex: 0 1 auto; }
.hrb-nap-namebet { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 4px; }

/* Keep the bet tag tight to the horse name (beat the old flex:1 on .hrb-tip-horse) */
article.hrb-tips-page ol.hrb-tips .hrb-tip .hrb-tip-namebet .hrb-tip-horse { flex: 0 1 auto; }

/* ===== Tip clarity fixes: orange tip accent, inline odds, consistent logos ===== */

/* Tip accent = rust/orange, clearly different from the GREEN Visit Here CTA */
.hrb-tip-eyebrow { color: #b8530c; }

/* Odds sits inline beside the horse + bet tag (fixes desktop misalignment) */
.hrb-tip-namebet .hrb-tip-odds { display: inline-flex; align-items: baseline; text-align: left; font-size: 16px; font-weight: 800; color: #1d2330; line-height: 1.1; font-variant-numeric: tabular-nums; }
.hrb-tip-namebet .hrb-tip-odds .lbl { display: inline; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; color: #565c63; margin: 0 5px 0 0; }

/* Consistent bookmaker logo size everywhere (match the operators strip) + readable label */
.hrb-tip-foot .logo { width: 120px; max-width: 120px; height: 30px; background-size: contain; background-repeat: no-repeat; background-position: left center; }
.hrb-tip-foot .hrb-tip-book-lbl { font-size: 12px; color: #565c63; }

/* Visit Here: solid, consistent green affiliate button (same CTA colour site-wide) */
.hrb-tip-cta { padding: 11px 24px; font-size: 14px; }

/* Visit Here: identical to the operators-strip CTA so all affiliate buttons match site-wide */
.hrb-tip-cta { padding: 9px 18px; font-size: 12px; letter-spacing: 0.6px; box-shadow: 0 2px 0 #0d5e36; }

/* ===== Prediction clarity: horse + bet + odds on one line; bold restyled bet tag; bigger logos ===== */

/* the prediction line (horse + bet + odds together) */
.hrb-pick-line { display: flex; align-items: center; gap: 10px 12px; flex-wrap: wrap; margin: 2px 0 0 0; }
.hrb-pick-line .hrb-tip-horse, .hrb-pick-line .hrb-nap-horse { flex: 0 1 auto; }
.hrb-pick-odds { display: inline-flex; align-items: baseline; font-size: 16px; font-weight: 800; color: #1d2330; font-variant-numeric: tabular-nums; }
.hrb-pick-odds .lbl { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; color: #565c63; margin-right: 5px; }
.hrb-nap .hrb-pick-odds { font-size: 18px; }

/* PREDICTION (bet) tag — bold navy, bigger, clearly the recommended bet (was a small green pill) */
.bet-pill, .bet-pill.bet-win, .bet-pill.bet-each-way { display: inline-block; padding: 6px 14px; border-radius: 4px; font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px; background: #1d2330; color: #ffffff; }
.hrb-nap .hrb-pick-line .bet-pill { padding: 8px 16px; font-size: 14px; }

/* Bookmaker logos — bigger + consistent across the whole site */
.hrb-tip-foot .logo, .hrb-bookies .hrb-bookie .logo { width: 140px; max-width: 140px; height: 38px; background-size: contain; background-repeat: no-repeat; background-position: left center; }

/* Group horse + bet + odds together on the LEFT (beat the old flex:1 on the horse) */
article.hrb-tips-page ol.hrb-tips .hrb-tip .hrb-pick-line { justify-content: flex-start; }
article.hrb-tips-page ol.hrb-tips .hrb-tip .hrb-pick-line .hrb-tip-horse { flex: 0 1 auto; }

/* Bookmaker logos = 150x60, matching the homepage operator table exactly (site-wide) */
.hrb-tip-foot .logo,
.hrb-bookies .hrb-bookie .logo { width: 150px; max-width: 150px; height: 60px; background-size: contain; background-repeat: no-repeat; background-position: left center; }

/* Mobile foot: keep Recommended + logo on one row, Visit Here full-width below (was misaligned) */
@media (max-width: 768px) {
  .hrb-tip-foot { flex-wrap: wrap; align-items: center; gap: 10px 12px; }
  .hrb-tip-foot .hrb-tip-cta { margin-left: 0; flex: 1 1 100%; text-align: center; padding: 13px 18px; }
}

/* List card strength colour edge like the nap (beat the higher-specificity grey base) */
article.hrb-tips-page ol.hrb-tips .hrb-tip.band-strong { border-left-color: #16834c; }
article.hrb-tips-page ol.hrb-tips .hrb-tip.band-solid  { border-left-color: #d98a00; }
article.hrb-tips-page ol.hrb-tips .hrb-tip.band-fair   { border-left-color: #9aa0a6; }

/* Race lines are now links to the racecard */
.hrb-tip-race, a.hrb-nap-meta { text-decoration: none; }
a.hrb-tip-race:hover { color: #16834c; }
a.hrb-nap-meta:hover { color: #0e6b3c; }

/* Tips: green treatment throughout like the nap (race line, edge, bar, verdict) */
.hrb-tip-race, a.hrb-tip-race { color: #0e6b3c; }
a.hrb-tip-race:hover { color: #0a5530; }
article.hrb-tips-page ol.hrb-tips .hrb-tip.band-strong,
article.hrb-tips-page ol.hrb-tips .hrb-tip.band-solid,
article.hrb-tips-page ol.hrb-tips .hrb-tip.band-fair { border-left-color: #16834c; }
.band-strong .hrb-conf-fill, .band-solid .hrb-conf-fill, .band-fair .hrb-conf-fill { background: #16834c; }
.band-strong .hrb-conf-verdict, .band-solid .hrb-conf-verdict, .band-fair .hrb-conf-verdict { color: #0e6b3c; }

/* Race line GREEN like the nap (beat the earlier ol.hrb-tips .hrb-tip-race grey rule) */
article.hrb-tips-page ol.hrb-tips .hrb-tip a.hrb-tip-race,
article.hrb-tips-page ol.hrb-tips .hrb-tip .hrb-tip-race { color: #0e6b3c; }
article.hrb-tips-page ol.hrb-tips .hrb-tip a.hrb-tip-race:hover { color: #0a5530; }

/* REVERT: confidence bar + verdict + card edge back to strength colours (race line stays green) */
.band-strong .hrb-conf-fill { background: #16834c; }
.band-solid  .hrb-conf-fill { background: #d98a00; }
.band-fair   .hrb-conf-fill { background: #9aa0a6; }
.band-strong .hrb-conf-verdict { color: #0e6b3c; }
.band-solid  .hrb-conf-verdict { color: #8a5a00; }
.band-fair   .hrb-conf-verdict { color: #565c63; }
article.hrb-tips-page ol.hrb-tips .hrb-tip.band-strong { border-left-color: #16834c; }
article.hrb-tips-page ol.hrb-tips .hrb-tip.band-solid  { border-left-color: #d98a00; }
article.hrb-tips-page ol.hrb-tips .hrb-tip.band-fair   { border-left-color: #9aa0a6; }

/* ============ Tracks / Events hub pages ============ */
article.hrb-hub { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif; color: #1f242b; }
article.hrb-hub .intro { position: relative; padding: 40px 24px 36px 24px; background: linear-gradient(135deg, #117a44 0%, #0a5530 100%); color: #fff; overflow: hidden; }
article.hrb-hub .intro:after { content: ""; position: absolute; right: -70px; top: -70px; width: 240px; height: 240px; background: radial-gradient(circle, rgba(255,255,255,0.14), rgba(255,255,255,0) 70%); pointer-events: none; }
article.hrb-hub .intro h1 { position: relative; margin: 0; font-size: clamp(27px, 4vw, 34px); font-weight: 800; line-height: 1.1; letter-spacing: -0.6px; color: #fff; }
article.hrb-hub .intro .meta-date { position: relative; display: inline-block; margin-top: 12px; font-size: 15px; font-weight: 500; color: rgba(255,255,255,0.92); }
article.hrb-hub .content { padding: 22px 16px 44px 16px; background: #f5f6f8; }

article.hrb-hub .hrb-hub-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
article.hrb-hub .hrb-hub-card { display: flex; flex-direction: column; gap: 6px; padding: 16px; background: #fff; border: 1px solid #e8ebef; border-radius: 12px; box-shadow: 0 1px 2px rgba(16,24,40,0.05); text-decoration: none; transition: box-shadow 0.16s ease, transform 0.16s ease, border-color 0.16s ease; }
article.hrb-hub .hrb-hub-card:hover { transform: translateY(-2px); box-shadow: 0 10px 24px -8px rgba(16,24,40,0.18); border-color: #16834c; }
article.hrb-hub .hrb-hub-card__name { font-size: 16px; font-weight: 800; color: #1d2330; letter-spacing: -0.2px; line-height: 1.2; }
article.hrb-hub .hrb-hub-card__meta { font-size: 13px; font-weight: 600; color: #565c63; }
article.hrb-hub .hrb-hub-card__cta { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px; color: #0e6b3c; }
article.hrb-hub .hrb-hub-card__cta .arr { font-weight: 700; }
article.hrb-hub .hrb-hub-card:hover .hrb-hub-card__cta { color: #16834c; }

/* events: fewer, larger feature cards */
article.hrb-events-hub .hrb-hub-grid { grid-template-columns: 1fr; }
article.hrb-events-hub .hrb-hub-card { padding: 22px; }
article.hrb-events-hub .hrb-hub-card__name { font-size: 20px; }

@media (min-width: 768px) {
  article.hrb-hub .intro { padding: 48px 32px 44px 32px; }
  article.hrb-hub .content { padding: 28px 28px 52px 28px; }
  article.hrb-tracks-hub .hrb-hub-grid { grid-template-columns: repeat(3, 1fr); gap: 14px; }
  article.hrb-events-hub .hrb-hub-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
}
@media (min-width: 1024px) {
  article.hrb-tracks-hub .hrb-hub-grid { grid-template-columns: repeat(4, 1fr); }
}

/* ============================================================
   Guide + Tool sub-pages: a white 1150 content column floating on the
   green page, with a full-width navy->green hero. Matches the homepage,
   the hubs and the racecard pages (full-width hero + narrow white column,
   green showing on the outside).
   ============================================================ */

/* The article IS the white content column, centred on the green body */
article.hrb-guide,
article.hrb-tool { max-width: 1198px; margin: 0 auto; background: #ffffff !important; }

/* Inner text measure inside the white column */
article.hrb-guide .container,
article.hrb-tool .container { max-width: 1150px !important; }

/* Hero breaks out of the column to the full viewport width (navy->green ATF) */
article.hrb-guide .guide-hero,
article.hrb-guide .glossary-hero,
article.hrb-tool .calc-page__intro,
article.hrb-tool .conv-page__intro {
  background: linear-gradient(135deg, #1d2330 0%, #16834c 100%) !important;
  color: #ffffff;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* Tool hero has no inner .container, so re-centre its text within the bled-out band */
article.hrb-tool .calc-page__intro,
article.hrb-tool .conv-page__intro {
  margin-top: -28px;
  margin-bottom: 30px;
  padding: 40px max(24px, calc(50vw - 575px)) 34px;
}
article.hrb-tool .calc-page__intro h1, article.hrb-tool .conv-page__intro h1 { color: #ffffff !important; }
article.hrb-tool .calc-page__intro p, article.hrb-tool .conv-page__intro p { color: rgba(255,255,255,0.92) !important; margin-bottom: 0 !important; }
/* Remove the in-content responsible-gambling banner (compliance lives in the footer) */
article.hrb-guide .rg-banner { display: none !important; }

/* Going Explained: scale bar + table (were unstyled/broken) */
article.hrb-guide .going-scale-visual { display: flex; border: 1px solid #cfe7da; border-radius: 6px; overflow: hidden; margin: 0 0 24px 0; }
article.hrb-guide .going-scale-visual > div { flex: 1; padding: 14px 6px; text-align: center; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.4px; color: #ffffff; line-height: 1.2; }
article.hrb-guide .gsv-hard  { background: #9cbfa9; color: #1d2330; }
article.hrb-guide .gsv-firm  { background: #6fa888; color: #1d2330; }
article.hrb-guide .gsv-gf    { background: #3f9268; }
article.hrb-guide .gsv-good  { background: #16834c; }
article.hrb-guide .gsv-gs    { background: #126b3e; }
article.hrb-guide .gsv-soft  { background: #0e5331; }
article.hrb-guide .gsv-heavy { background: #093b23; }
article.hrb-guide .going-table { width: 100%; border-collapse: collapse; margin: 0 0 22px 0; border: 1px solid #e2e5e8; border-radius: 6px; overflow: hidden; }
article.hrb-guide .going-table th { background: #1d2330; color: #ffffff; padding: 11px 14px; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.6px; text-align: left; border-bottom: 3px solid #16834c; }
article.hrb-guide .going-table td { padding: 11px 14px; font-size: 14px; line-height: 1.6; border-top: 1px solid #e2e5e8; vertical-align: top; }
article.hrb-guide .going-table tr:nth-child(even) td { background: #fafbfc; }
article.hrb-guide .going-table td.going-label { font-weight: 800; color: #1d2330; white-space: nowrap; }

/* "How it works" explainer: render as readable section prose, not a cramped grey callout */
article.hrb-tool .calc-explainer { margin-top: 36px !important; padding: 30px 0 0 !important; background: none !important; border-left: 0 !important; border-radius: 0 !important; border-top: 1px solid #e2e5e8 !important; font-size: 16px !important; line-height: 1.65 !important; color: #2a3038 !important; }
article.hrb-tool .calc-explainer h2, article.hrb-tool .calc-explainer h3 { color: #1d2330; margin: 0 0 14px; }
article.hrb-tool .calc-explainer h3 { color: #1d2330; font-size: 16px; font-weight: 800; letter-spacing: -0.2px; margin: 26px 0 6px; }
article.hrb-tool .calc-explainer p { margin: 0 0 14px; }
article.hrb-tool .calc-explainer strong { color: #1d2330; }

/* Odds converter uses .conv-explainer — same readable-prose treatment */
article.hrb-tool .conv-explainer { margin-top: 36px !important; padding: 30px 0 0 !important; background: none !important; border-left: 0 !important; border-radius: 0 !important; border-top: 1px solid #e2e5e8 !important; font-size: 16px !important; line-height: 1.65 !important; color: #2a3038 !important; }
article.hrb-tool .conv-explainer h2, article.hrb-tool .conv-explainer h3 { color: #1d2330; margin: 0 0 14px; }
article.hrb-tool .conv-explainer h3 { color: #1d2330; font-size: 16px; font-weight: 800; letter-spacing: -0.2px; margin: 26px 0 6px; }
article.hrb-tool .conv-explainer p { margin: 0 0 14px; }
article.hrb-tool .conv-explainer strong { color: #1d2330; }

/* === Guides: remove leftover reference-port artifacts + fixes === */
article.hrb-guide .guide-hero__breadcrumb,
article.hrb-guide .guide-sidebar,
article.hrb-guide .guide-toc,
article.hrb-guide .guide-next,
article.hrb-guide .guide-prev { display: none !important; }
/* first content heading flush to top (kills the dead gap after the hero) */
article.hrb-guide .guide-body > :first-child,
article.hrb-guide .guide-body__content > :first-child,
article.hrb-guide .analysis-article > :first-child { margin-top: 0 !important; }
/* glossary hero intro copy must be white on the dark hero */
article.hrb-guide .glossary-hero p { color: #ffffff !important; }

/* Guides/Tools hubs: same hub-cards as the events hub, in a responsive 3-col grid */
article.hrb-tools-index .hrb-hub-grid { grid-template-columns: 1fr; gap: 14px; }
@media (min-width: 600px) { article.hrb-tools-index .hrb-hub-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { article.hrb-tools-index .hrb-hub-grid { grid-template-columns: repeat(3, 1fr); } }
article.hrb-tools-index .hrb-hub-card { padding: 20px; }

/* Hub cards: title-only anchor (clean inner-link text) + stretched click area over the card */
article.hrb-hub .hrb-hub-card { position: relative; }
article.hrb-hub .hrb-hub-card__name a { color: inherit; text-decoration: none; }
article.hrb-hub .hrb-hub-card__name a:after { content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; }

/* Non-finisher marker in results (NR / PU / F / UR ...) */
.hrb-result-meeting .pos .hrb-nf, article .results-body .pos .hrb-nf, td.pos .hrb-nf { display: inline-block; padding: 1px 6px; border: 1px solid #d4d8dc; border-radius: 4px; background: #f4f5f6; color: #6a6f75; font-size: 11px; font-weight: 800; letter-spacing: 0.4px; cursor: help; }

/* Racecard runner table: explicit alignment + silks + bet column */
table.hrb-runners tbody td { text-align: left; }
table.hrb-runners td.horse .silk { width: 25px; height: 21px; object-fit: contain; vertical-align: -5px; margin-right: 9px; }
table.hrb-runners th.col-bet { text-align: center !important; }
table.hrb-runners td.col-bet { text-align: center; white-space: nowrap; }
table.hrb-runners td.col-bet .hrb-bet-logo { display: block; width: 84px; height: 20px; margin: 0 auto 6px; background-size: contain; background-repeat: no-repeat; background-position: center; text-indent: -9999px; overflow: hidden; }
table.hrb-runners td.col-bet .hrb-bet-btn { display: inline-block; padding: 7px 14px; background: #16834c; color: #ffffff; border-radius: 4px; font-size: 11px; font-weight: 800; letter-spacing: 0.5px; text-transform: uppercase; text-decoration: none; box-shadow: 0 2px 0 #0d5e36; transition: background 0.12s ease; }
table.hrb-runners td.col-bet .hrb-bet-btn:hover { background: #0e6b3c; }

/* Tips: jockey silks beside the pick */
.hrb-pick-line .silk { width: 26px; height: 22px; object-fit: contain; vertical-align: -5px; margin-right: 8px; }

/* "Last Updated" byline outside the operator table */
.hrb-updated, .hrb-tpl-updated { margin: 14px 0 6px; }
.hrb-updated .t-updated, .hrb-updated, .hrb-tpl-updated .t-updated { font-size: 12px; font-style: italic; color: #1c7331; }
.hrb-updated a, .hrb-tpl-updated a { color: #0e6b3c; font-style: normal; }
article.hrb-guide .hrb-tpl-updated, article.hrb-tool .hrb-tpl-updated { margin: 16px 0 0; }
