:root {
  --rsn-report-bg: transparent;
  --rsn-report-panel: #0c0f14;
  --rsn-report-head: #d63c3c;
  --rsn-report-line: rgba(255,255,255,.08);
  --rsn-report-line-strong: rgba(255,255,255,.11);
  --rsn-report-text: #f7f8fb;
  --rsn-report-muted: rgba(255,255,255,.80);
  --rsn-report-soft: rgba(255,255,255,.72);
  --rsn-report-red: #e34747;
  --rsn-report-green: #41d46d;
}

.rsn-ratings-report {
  background: var(--rsn-report-bg);
  color: var(--rsn-report-text);
  margin: 26px 0 32px;
  padding: 0;
}

/* Use a real left border instead of an absolute pseudo element so it cannot overlap the title. */
.rsn-ratings-report h2,
.rsn-ratings-report h3,
.rsn-ratings-report .rsn-widget-card h3 {
  border-left: 8px solid var(--rsn-report-red) !important;
  color: #fff !important;
  display: block !important;
  font-family: inherit;
  font-size: clamp(26px, 3.7vw, 50px);
  font-style: normal;
  font-weight: 800;
  letter-spacing: .015em;
  line-height: 1.08;
  margin: 0 0 18px !important;
  padding: 0 0 0 16px !important;
  position: relative;
  text-transform: uppercase;
}

.rsn-ratings-report h2:not(:first-child),
.rsn-ratings-report h3:not(:first-child) {
  margin-top: 36px !important;
}

/* Disable older pseudo marker versions if cached/theme CSS still tries to draw them. */
.rsn-ratings-report h2::before,
.rsn-ratings-report h3::before,
.rsn-ratings-report .rsn-widget-card h3::before {
  content: none !important;
  display: none !important;
}

.rsn-ratings-report .wp-block-table,
.rsn-ratings-report figure.wp-block-table {
  background: var(--rsn-report-panel);
  border: 1px solid var(--rsn-report-line) !important;
  border-radius: 9px;
  box-shadow: none !important;
  margin: 0 0 16px !important;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-color: rgba(255,255,255,.18) rgba(255,255,255,.04);
  scrollbar-width: thin;
  width: 100%;
}

.rsn-ratings-report .wp-block-table::-webkit-scrollbar,
.rsn-ratings-report figure.wp-block-table::-webkit-scrollbar {
  height: 8px;
}

.rsn-ratings-report .wp-block-table::-webkit-scrollbar-track,
.rsn-ratings-report figure.wp-block-table::-webkit-scrollbar-track {
  background: rgba(255,255,255,.04);
  border-radius: 999px;
}

.rsn-ratings-report .wp-block-table::-webkit-scrollbar-thumb,
.rsn-ratings-report figure.wp-block-table::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,.18);
  border-radius: 999px;
}

.rsn-ratings-report table {
  background: var(--rsn-report-panel) !important;
  border: 0 !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  color: var(--rsn-report-text);
  font-size: clamp(14px, 1.25vw, 17px);
  line-height: 1.25;
  margin: 0 !important;
  min-width: 560px;
  table-layout: fixed;
  width: 100%;
}

.rsn-ratings-report table,
.rsn-ratings-report table *,
.rsn-ratings-report .wp-block-table,
.rsn-ratings-report figure.wp-block-table {
  box-shadow: none !important;
}

.rsn-ratings-report caption {
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  position: absolute;
  width: 1px;
}

/* Red top/header background like your screenshot. No white separator. */
.rsn-ratings-report thead,
.rsn-ratings-report thead tr {
  background: var(--rsn-report-head) !important;
  border: 0 !important;
}

.rsn-ratings-report thead th {
  background: var(--rsn-report-head) !important;
  border-top: 0 !important;
  border-left: 0 !important;
  border-right: 1px solid rgba(0,0,0,.18) !important;
  border-bottom: 1px solid rgba(0,0,0,.22) !important;
  color: #fff !important;
  font-family: inherit;
  font-size: .9em;
  font-weight: 800;
  letter-spacing: .01em;
  padding: 17px 14px !important;
  text-align: center;
  text-transform: uppercase;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  line-height: 1.15;
  vertical-align: middle;
}

.rsn-ratings-report thead th:first-child {
  text-align: left;
}

.rsn-ratings-report thead th:last-child {
  border-right: 0 !important;
}

.rsn-ratings-report tbody th,
.rsn-ratings-report tbody td {
  background: var(--rsn-report-panel) !important;
  border-top: 0 !important;
  border-left: 0 !important;
  border-right: 1px solid var(--rsn-report-line) !important;
  border-bottom: 1px solid var(--rsn-report-line) !important;
  color: var(--rsn-report-text) !important;
  padding: 20px 16px !important;
  text-align: center;
  vertical-align: middle;
}

.rsn-ratings-report tbody tr:last-child th,
.rsn-ratings-report tbody tr:last-child td {
  border-bottom: 0 !important;
}

.rsn-ratings-report tbody th {
  color: #fff !important;
  font-family: inherit;
  font-size: .92em;
  font-weight: 800;
  letter-spacing: .005em;
  line-height: 1.2;
  text-align: left;
  text-transform: uppercase;
  width: 30%;
}

.rsn-ratings-report tbody td:last-child,
.rsn-ratings-report tbody th:last-child {
  border-right: 0 !important;
}

.rsn-ratings-report tbody td {
  font-weight: 700;
}

.rsn-ratings-report td span[style*="#4CAF50"],
.rsn-ratings-report td span[style*="4CAF50"],
.rsn-ratings-report .rsn-up {
  color: var(--rsn-report-green) !important;
  font-weight: 900 !important;
}

.rsn-ratings-report td span[style*="#F44336"],
.rsn-ratings-report td span[style*="F44336"],
.rsn-ratings-report .rsn-down {
  color: var(--rsn-report-red) !important;
  font-weight: 900 !important;
}

.rsn-ratings-report > p,
.rsn-ratings-report .wp-block-paragraph,
.rsn-ratings-report p {
  color: var(--rsn-report-muted);
  font-size: 15px;
  line-height: 1.55;
}

.rsn-ratings-report figure.wp-block-table + p,
.rsn-ratings-report .wp-block-table + p {
  color: var(--rsn-report-soft);
  font-size: 14px;
  margin-top: 10px !important;
}

.rsn-ratings-report p:empty {
  display: none;
}

.rsn-ratings-report .rsn-widget-card {
  background: var(--rsn-report-panel);
  border: 1px solid var(--rsn-report-line);
  border-radius: 9px;
  box-shadow: none;
  margin: 0 0 16px;
  padding: 18px;
}

.rsn-ratings-report .rsn-label { color: var(--rsn-report-muted); font-weight: 700; }
.rsn-ratings-report .rsn-value { color: #fff; font-weight: 900; }
.rsn-ratings-report .rsn-divider { border-top: 1px solid var(--rsn-report-line); margin: 14px 0; }

@media (min-width: 900px) {
  .rsn-ratings-report table {
    min-width: 0;
  }
}

@media (max-width: 767px) {
  .rsn-ratings-report {
    margin: 22px 0 28px;
  }

  .rsn-ratings-report h2,
  .rsn-ratings-report h3,
  .rsn-ratings-report .rsn-widget-card h3 {
    font-size: clamp(23px, 8vw, 36px);
    margin-bottom: 16px !important;
    padding-left: 14px !important;
  }

  .rsn-ratings-report table {
    font-size: 14px;
    min-width: 560px;
  }

  .rsn-ratings-report thead th,
  .rsn-ratings-report tbody th,
  .rsn-ratings-report tbody td {
    padding: 14px 10px !important;
  }

  .rsn-ratings-report thead th {
    font-size: 13px !important;
    line-height: 1.15 !important;
    white-space: normal !important;
  }

  .rsn-ratings-report tbody th {
    width: 31%;
  }
}


/* Final readability override: do not force the condensed Impact-style font inside reports/tables. */
.rsn-ratings-report h2,
.rsn-ratings-report h3,
.rsn-ratings-report .rsn-widget-card h3,
.rsn-ratings-report thead th,
.rsn-ratings-report tbody th,
.rsn-ratings-report tbody td {
  font-family: inherit !important;
  text-rendering: optimizeLegibility;
}

.rsn-ratings-report h2,
.rsn-ratings-report h3,
.rsn-ratings-report .rsn-widget-card h3 {
  font-weight: 800 !important;
  letter-spacing: .015em !important;
  line-height: 1.08 !important;
}

.rsn-ratings-report thead th {
  font-weight: 800 !important;
  letter-spacing: .01em !important;
}

.rsn-ratings-report tbody th {
  font-weight: 800 !important;
  letter-spacing: .005em !important;
  line-height: 1.2 !important;
}

.rsn-ratings-report tbody td {
  font-weight: 700 !important;
}


/* Final header fit fix: prevent header labels like CURRENT EPISODE from colliding. */
.rsn-ratings-report thead th {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  line-height: 1.15 !important;
  vertical-align: middle !important;
}

.rsn-ratings-report table {
  table-layout: fixed !important;
}

@media (max-width: 767px) {
  .rsn-ratings-report thead th {
    font-size: 13px !important;
  }
}


/* Stats/sidebar block sizing fix.
   These blocks replaced the old Elementor widget, so keep them compact in GeneratePress sidebars. */
.rsn-ratings-report.rsn-ratings-stats-block {
  margin: 0 0 28px !important;
}

.rsn-ratings-report.rsn-ratings-stats-block .rsn-widget-card {
  border-radius: 10px;
  margin: 0 0 22px !important;
  padding: 22px 20px !important;
}

/* Kill the oversized report heading treatment inside stats cards. */
.rsn-ratings-report.rsn-ratings-stats-block .rsn-widget-card h2,
.rsn-ratings-report.rsn-ratings-stats-block .rsn-widget-card h3,
.rsn-ratings-report.rsn-ratings-stats-block .rsn-widget-card h4,
.rsn-ratings-report.rsn-ratings-stats-block h2,
.rsn-ratings-report.rsn-ratings-stats-block h3 {
  border-left: 0 !important;
  color: #fff !important;
  font-family: inherit !important;
  font-size: clamp(22px, 2.1vw, 32px) !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
  line-height: 1.12 !important;
  margin: 0 0 16px !important;
  padding: 0 0 0 14px !important;
  position: relative;
  text-transform: none !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.rsn-ratings-report.rsn-ratings-stats-block .rsn-widget-card h2::before,
.rsn-ratings-report.rsn-ratings-stats-block .rsn-widget-card h3::before,
.rsn-ratings-report.rsn-ratings-stats-block .rsn-widget-card h4::before,
.rsn-ratings-report.rsn-ratings-stats-block h2::before,
.rsn-ratings-report.rsn-ratings-stats-block h3::before {
  background: var(--rsn-report-red);
  border-radius: 1px;
  content: '' !important;
  display: block !important;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 5px;
}

/* If the helper outputs a huge title div instead of an H tag, cap that too. */
.rsn-ratings-report.rsn-ratings-stats-block [class*="title"],
.rsn-ratings-report.rsn-ratings-stats-block [class*="heading"] {
  font-family: inherit !important;
  max-width: 100%;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

/* Keep labels/body readable and compact. */
.rsn-ratings-report.rsn-ratings-stats-block,
.rsn-ratings-report.rsn-ratings-stats-block p,
.rsn-ratings-report.rsn-ratings-stats-block li,
.rsn-ratings-report.rsn-ratings-stats-block .rsn-label,
.rsn-ratings-report.rsn-ratings-stats-block .rsn-value {
  font-size: 15px !important;
  line-height: 1.45 !important;
}

.rsn-ratings-report.rsn-ratings-stats-block .rsn-value {
  font-weight: 800 !important;
}

/* Prevent sidebar stat blocks from forcing wide table/report behavior. */
.rsn-ratings-report.rsn-ratings-stats-block .wp-block-table,
.rsn-ratings-report.rsn-ratings-stats-block figure.wp-block-table {
  overflow-x: auto;
}

.rsn-ratings-report.rsn-ratings-stats-block table {
  font-size: 14px !important;
  min-width: 0 !important;
  table-layout: auto !important;
}

@media (max-width: 1024px) {
  .rsn-ratings-report.rsn-ratings-stats-block .rsn-widget-card h2,
  .rsn-ratings-report.rsn-ratings-stats-block .rsn-widget-card h3,
  .rsn-ratings-report.rsn-ratings-stats-block .rsn-widget-card h4,
  .rsn-ratings-report.rsn-ratings-stats-block h2,
  .rsn-ratings-report.rsn-ratings-stats-block h3 {
    font-size: clamp(20px, 4vw, 28px) !important;
  }
}

@media (max-width: 767px) {
  .rsn-ratings-report.rsn-ratings-stats-block .rsn-widget-card {
    padding: 18px 16px !important;
  }

  .rsn-ratings-report.rsn-ratings-stats-block .rsn-widget-card h2,
  .rsn-ratings-report.rsn-ratings-stats-block .rsn-widget-card h3,
  .rsn-ratings-report.rsn-ratings-stats-block .rsn-widget-card h4,
  .rsn-ratings-report.rsn-ratings-stats-block h2,
  .rsn-ratings-report.rsn-ratings-stats-block h3 {
    font-size: 22px !important;
    line-height: 1.15 !important;
  }
}


/* v1.3.4 tighter sidebar stats sizing */
.rsn-ratings-report.rsn-ratings-stats-block .rsn-widget-card {
  padding: 18px 16px !important;
}

.rsn-ratings-report.rsn-ratings-stats-block .rsn-widget-card h1,
.rsn-ratings-report.rsn-ratings-stats-block .rsn-widget-card h2,
.rsn-ratings-report.rsn-ratings-stats-block .rsn-widget-card h3,
.rsn-ratings-report.rsn-ratings-stats-block .rsn-widget-card h4,
.rsn-ratings-report.rsn-ratings-stats-block h1,
.rsn-ratings-report.rsn-ratings-stats-block h2,
.rsn-ratings-report.rsn-ratings-stats-block h3,
.rsn-ratings-report.rsn-ratings-stats-block h4 {
  font-size: clamp(18px, 1.6vw, 24px) !important;
  font-weight: 800 !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
  padding-left: 12px !important;
  margin: 0 0 14px !important;
  text-wrap: balance;
}

.rsn-ratings-report.rsn-ratings-stats-block .rsn-widget-card h1::before,
.rsn-ratings-report.rsn-ratings-stats-block .rsn-widget-card h2::before,
.rsn-ratings-report.rsn-ratings-stats-block .rsn-widget-card h3::before,
.rsn-ratings-report.rsn-ratings-stats-block .rsn-widget-card h4::before,
.rsn-ratings-report.rsn-ratings-stats-block h1::before,
.rsn-ratings-report.rsn-ratings-stats-block h2::before,
.rsn-ratings-report.rsn-ratings-stats-block h3::before,
.rsn-ratings-report.rsn-ratings-stats-block h4::before {
  width: 4px !important;
}

.rsn-ratings-report.rsn-ratings-stats-block,
.rsn-ratings-report.rsn-ratings-stats-block p,
.rsn-ratings-report.rsn-ratings-stats-block li,
.rsn-ratings-report.rsn-ratings-stats-block .rsn-label,
.rsn-ratings-report.rsn-ratings-stats-block .rsn-value {
  font-size: 14px !important;
  line-height: 1.4 !important;
}

@media (max-width: 1024px) {
  .rsn-ratings-report.rsn-ratings-stats-block .rsn-widget-card h1,
  .rsn-ratings-report.rsn-ratings-stats-block .rsn-widget-card h2,
  .rsn-ratings-report.rsn-ratings-stats-block .rsn-widget-card h3,
  .rsn-ratings-report.rsn-ratings-stats-block .rsn-widget-card h4,
  .rsn-ratings-report.rsn-ratings-stats-block h1,
  .rsn-ratings-report.rsn-ratings-stats-block h2,
  .rsn-ratings-report.rsn-ratings-stats-block h3,
  .rsn-ratings-report.rsn-ratings-stats-block h4 {
    font-size: 20px !important;
  }
}

@media (max-width: 767px) {
  .rsn-ratings-report.rsn-ratings-stats-block .rsn-widget-card {
    padding: 16px 14px !important;
  }
  .rsn-ratings-report.rsn-ratings-stats-block .rsn-widget-card h1,
  .rsn-ratings-report.rsn-ratings-stats-block .rsn-widget-card h2,
  .rsn-ratings-report.rsn-ratings-stats-block .rsn-widget-card h3,
  .rsn-ratings-report.rsn-ratings-stats-block .rsn-widget-card h4,
  .rsn-ratings-report.rsn-ratings-stats-block h1,
  .rsn-ratings-report.rsn-ratings-stats-block h2,
  .rsn-ratings-report.rsn-ratings-stats-block h3,
  .rsn-ratings-report.rsn-ratings-stats-block h4 {
    font-size: 18px !important;
    line-height: 1.15 !important;
  }
}
