/*
 * Custom CSS for MBRRACE SOTN report
 *
 */

body {
  padding-top: 100px; /* Adjust this value if your navbar has a different height */
}

/* Base Class: Handles size, alignment, and spacing (The 'format') */
.end-bullet {
  font-size: 1em; /* Match your existing bullet size */
  vertical-align: 0.1em;
  margin-left: 0.25rem; /* Add spacing after the text */
}

/* Color Class 1: Blue */
.color-blue {
  color: #00c3ff; /* Bootstrap's primary blue, or any hex code */
}

/* Color Class 2: Orange */
.color-orange {
  color: #fd7e14; /* Bootstrap's orange color, or any hex code */
}

/* Least deprived → Black ethnicity colour */
.highcharts-point.deprivation-least {
  color: #e69f00; /* outline colour (via currentColor) */
}

.highcharts-point.deprivation-least path {
  fill: #ffffff; /* white interior */
}

/* Most deprived → White ethnicity colour */
.highcharts-point.deprivation-most {
  color: #6a3b77; /* outline colour (via currentColor) */
}

.highcharts-point.deprivation-most path {
  fill: #ffffff; /* white interior */
}

.deprivation-least .highcharts-legend-symbol {
  fill: #e69f00;
  stroke: #e69f00;
}

.deprivation-most .highcharts-legend-symbol {
  fill: #6a3b77;
  stroke: #6a3b77;
}

/* Optional: outline thickness */
.highcharts-point.deprivation-least path,
.highcharts-point.deprivation-most path {
  stroke-width: 5px;
}

/* Color Class for ethnicity categories */
/* Assign ONE colour per ethnicity */
.ethnicity-asian-bangladeshi {
  color: #cc79a7;
}
.ethnicity-asian-indian {
  color: #d55e00;
}
.ethnicity-asian-pakistani {
  color: #009e73;
}
.ethnicity-black {
  color: #e69f00;
}
.ethnicity-white {
  color: #0072b2;
}

/* Line inherits colour */
.ethnicity-asian-bangladeshi .highcharts-graph,
.ethnicity-asian-indian .highcharts-graph,
.ethnicity-asian-pakistani .highcharts-graph,
.ethnicity-black .highcharts-graph,
.ethnicity-white .highcharts-graph {
  stroke: currentColor;
}

/* Marker fill + outline inherit colour */
.ethnicity-asian-bangladeshi .highcharts-point,
.ethnicity-asian-indian .highcharts-point,
.ethnicity-asian-pakistani .highcharts-point,
.ethnicity-black .highcharts-point,
.ethnicity-white .highcharts-point {
  fill: currentColor;
  stroke: currentColor;
}

/* =====================================================
   FIGURE 7 ONLY: collapse Asian ethnicities to one colour
   (does NOT affect other charts, e.g. line charts)
===================================================== */

/* SB chart */
#ethnicity-congenital-SB-chart .highcharts-point.ethnicity-asian-bangladeshi,
#ethnicity-congenital-SB-chart .highcharts-point.ethnicity-asian-indian,
#ethnicity-congenital-SB-chart .highcharts-point.ethnicity-asian-pakistani {
  stroke: #009e73;
  fill: #009e73;
}

/* NND chart */
#ethnicity-congenital-NND-chart .highcharts-point.ethnicity-asian-bangladeshi,
#ethnicity-congenital-NND-chart .highcharts-point.ethnicity-asian-indian,
#ethnicity-congenital-NND-chart .highcharts-point.ethnicity-asian-pakistani {
  stroke: #009e73;
  fill: #009e73;
}

/* All deaths: solid fill (ethnicity colour already applied) */
.highcharts-point.death-all {
  fill-opacity: 1;
}

/* Excluding congenital anomalies: white fill, coloured outline */
.highcharts-point.death-excl-ca {
  fill: #ffffff !important;
  fill-opacity: 1;
  stroke-width: 2px !important;
}

/* -----------------------------------------
   Rate vs Percentage legend (shared)
----------------------------------------- */

.chart-legend--rate-percent {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 32px;
  margin: 12px 0 8px 0;
  font-size: 13px;
  color: #212529;
}

.chart-legend--rate-percent .legend-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* Line symbol (rate) */
.legend-line--rate {
  width: 28px;
  height: 0;
  border-top: 3px solid #000000;
}

/* Bar symbol (percentage – colour set by modifier) */
.chart-legend--rate-percent .legend-bar {
  width: 16px;
  height: 16px;
}

/* Stillbirth charts */
.chart-legend--rate-percent.chart-legend--sb .legend-bar {
  background-color: #ff0066; /* mbrrace-stillbirth */
}

/* Neonatal death charts */
.chart-legend--rate-percent.chart-legend--nnd .legend-bar {
  background-color: #3dd9d4; /* mbrrace-neonatal */
}

/* -------------------------------
   Death-definition legend
   (reusable across charts)
------------------------------- */

.chart-legend--congenital {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin: 12px 0;
  font-size: 13px;
  color: #212529;
}

.chart-legend--congenital .legend-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* Base symbol */
.chart-legend--congenital .legend-symbol {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  box-sizing: border-box;
}

/* All deaths: solid black */
.legend-all-deaths {
  background-color: #000000;
  border: 2px solid #000000;
}

/* Excluding congenital anomalies: white fill, black stroke */
.legend-excluding-congenital {
  background-color: #ffffff;
  border: 2px solid #000000;
}

/* Reduce the space between the legend and the charts */
#ethnicity-congenital-legend-chart {
  margin-top: 0px; /* Reduce space between the chart and legend */
  margin-bottom: 0px; /* Reduce bottom margin to bring it closer to the data sources */
}

.chart-legend--congenital .legend-symbol.legend-all-deaths {
  background-color: #000000;
  border: 2px solid #000000;
}

/* Deprivation legend (HTML, not SVG) */
.chart-legend--deprivation {
  display: flex;
  justify-content: center;
  gap: 32px;
  margin: 12px 0 16px 0;
  font-size: 13px;
}

.chart-legend--combined {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
  margin: 12px 0 16px 0;
  font-size: 13px;
  color: #212529;
}

.chart-legend--size {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}

.chart-legend--size .legend-title {
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
}

.legend-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.legend-symbol {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #ffffff;
  box-sizing: border-box;
  flex-shrink: 0;
}

/*THESE are essential */
.legend-symbol.deprivation-least {
  border: 2.5px solid #e69f00;
}

.legend-symbol.deprivation-most {
  border: 2.5px solid #6a3b77;
}

/* Make MathJax equations stay within viewport */
.MathJax_Display {
  overflow-x: auto;
  overflow-y: hidden;
  max-width: 100%;
}

/* Optional: slight scaling on mobile */
@media (max-width: 768px) {
  .MathJax {
    font-size: 85%;
  }
}

@media (max-width: 768px) {
  .indented-equation {
    margin-left: 0 !important;
  }
}

/* Smooth scrolling */
html {
  scroll-behavior: smooth;
}

/* Add spacing before the first section to prevent it from being hidden under the fixed navbar */
main section:first-of-type {
  margin-top: 1rem;
}

/* Prevent header overlap */
section {
  scroll-margin-top: 9rem;
}

.section-block {
  margin-bottom: 2rem;
}

.subsection {
  margin-bottom: 1rem;
}

/* NAVIGATION STYLES */
/* Sidebar scroll */
#toc-sidebar {
  max-height: calc(100vh - 8rem);
  overflow-y: auto;
}

/* Mobile TOC scroll */
#toc-mobile {
  max-height: 60vh;
  overflow-y: auto;
}

/* Active link styling */
#toc-sidebar a.active,
#toc-mobile a.active {
  font-weight: 600;
  color: #0d6efd;
}

#toc-sidebar a {
  border-left: 2px solid transparent;
  padding-left: 0.5rem;
}

#toc-sidebar a {
  border-left: 2px solid transparent;
  padding-left: 0.75rem;
  margin-left: -0.75rem;
}

#toc-sidebar a.active {
  border-left: 3px solid #0d6efd;
}

/* Subsection styling (e.g. 1.1) */
#toc-sidebar .toc-subitem,
#toc-mobile .toc-subitem {
  font-size: 0.9rem;
  color: #6c757d;
  padding-left: 0.5rem;
}

/* Active subsection */
#toc-sidebar .toc-subitem.active,
#toc-mobile .toc-subitem.active {
  color: #0d6efd;
}

/* Optional: slightly tighter spacing */
#toc-sidebar ol ol {
  margin-top: 0.25rem;
}

.mortality-rate-category-suppressed {
  fill: #eeeeee;
}
.mortality-rate-category-more-than-15-percent-lower {
  fill: #00c3ff;
}
.mortality-rate-category-between-5-and-15-percent-lower {
  fill: #ffeb3b;
}
.mortality-rate-category-within-5-percent {
  fill: #ff9800;
}
.mortality-rate-category-more-than-5-percent-higher {
  fill: #f44336;
}

.mortality-rate-category-suppressed,
.mortality-rate-category-more-than-15-percent-lower,
.mortality-rate-category-between-5-and-15-percent-lower,
.mortality-rate-category-within-5-percent,
.mortality-rate-category-more-than-5-percent-higher {
  fill-opacity: 0.5;
}

.navbar-brand img {
  max-height: 80px;
}

.logo-strip img {
  max-height: 75px;
}

.text-bg-mbrrace-purple {
  color: #ffffff !important;
  background-color: #6a3b77 !important;
}

.text-bg-mbrrace-gray {
  color: #323132 !important;
  background-color: #eaeaea !important;
}

section {
  margin-bottom: 3rem;
}

.rounded-box {
  padding-left: 1rem;
  padding-top: 1rem;
  padding-right: 1rem;
  /* padding-bottom: 0.25rem; */
  border-width: 2px;
  border-style: solid;
  border-color: #6a3b77;
  border-radius: 0.2rem !important;
  margin-bottom: 1rem;
  /* margin-top: -8px; */
}

/* Targeting the anchor links within the table of contents list */
.toc-list-small a {
  font-size: 0.9rem;
}

/* Override Bootstrap styles */

/* Change the default color of all links */
a {
  color: #6a3b77; /* Example: a standard blue */
}

/* Define how the link looks when the user hovers over it */
a:hover {
  color: #29182e; /* Example: a darker blue on hover */
  text-decoration: underline; /* Keep or change the underline */
}

/* Adjust rounded corners from the accordion */
.accordion-button {
  border-radius: 0.2rem !important;
}

.accordion-item {
  border-radius: 0.2rem !important;
}

.accordion-header {
  border-radius: 0.2rem !important;
}

.custom-accordion-success {
  border: none;
}

/* Header */
.custom-accordion-success .accordion-button {
  background-color: var(--bs-success-bg-subtle);
  box-shadow: none;
  border: none;
  padding: 1rem 1.25rem;
}

.custom-accordion-success .accordion-button,
.custom-accordion-success .accordion-button:not(.collapsed) {
  color: var(--bs-body-color);
}

/* Body */
.custom-accordion-success .accordion-body {
  background-color: var(--bs-success-bg-subtle);
  padding: 1rem 1.25rem; /* ✅ restore horizontal padding */
  padding-top: 0; /* Remove top padding to eliminate gap */
  border-radius: 0.2rem !important;
}

/* Remove the visual gap between header and body */
.custom-accordion-success .accordion-collapse {
  border-top: 0;
}

/* Remove rounded corners from alerts */
.alert {
  border-radius: 0.2rem !important;
}

/* Targets only the badge/element with the .bg-info class */
.bg-info {
  background-color: #6a3b77 !important;
  color: white !important; /* Forces the text to white for readability on the dark background */
}

.chart-container {
  margin-top: 10px; /* Adjust the value as needed for the desired padding */
  margin-bottom: 10px;
}

.chart-container-legend {
  margin-top: 0px; /* Adjust the value as needed for the desired padding */
  margin-bottom: 0px;
  margin-left: auto;
  margin-right: auto;
}

/* Reduce the space between the legend and the charts */
#ethnicity-congenital-legend-chart {
  margin-top: 0px; /* Reduce space between the chart and legend */
  margin-bottom: 0px; /* Reduce bottom margin to bring it closer to the data sources */
}

.figure {
  width: 100%;
}

.figure-caption {
  fill: #333333;
  font-size: 1em;
  font-weight: bold;
}

.figure-sub-caption {
  fill: #333333;
  font-size: 1em;
  font-weight: bold;
  text-align: center;
  /* padding-top: 10px; */
  padding-bottom: 0px;
  margin-bottom: 0px;
}

.footnote {
  font-size: smaller;
  margin-bottom: 25px;
}

table {
  border-collapse: collapse;
  width: 100%;
}

table th,
td {
  vertical-align: top;
  text-align: left;
  border: 1px solid #d3d3d3;
  padding: 8px;
}

.tooltip-left-aligned .tooltip-inner {
  text-align: left; /* Change to left, right, or justify */
  max-width: 600px; /* Optional: Adjust the max width as needed */
}

span[data-bs-toggle="tooltip"] {
  /* The most common way to signal a tooltip/popover */
  border-bottom: 1px dotted #000; /* Use a dotted line */
  cursor: help; /* Change the mouse cursor to a question mark/help icon */
}

/* Optional: Improve clarity on hover/focus */
span[data-bs-toggle="tooltip"]:hover,
span[data-bs-toggle="tooltip"]:focus {
  border-bottom-style: solid; /* Change the line to solid on hover/focus */
  text-decoration: none; /* Ensure no standard underline is added */
}

/* Highcharts styles */

.highcharts-bubble-series .highcharts-graph {
  z-index: 0 !important;
}

.highcharts-bubble-series .highcharts-point,
.highcharts-bubble-series .highcharts-point-hover {
  z-index: 2 !important;
}

.highcharts-data-labels {
  z-index: 0 !important;
  pointer-events: none; /* Optional: prevents blocking mouse events */
}

/* Final-point series labels */
.highcharts-data-label text {
  fill: currentColor;
  font-size: 14px;
  font-weight: 600;
  text-anchor: start;
}

.highcharts-figure {
  width: 100%;
  height: 400px;
  margin: 1em auto;
}

.highcharts-figure-small-multiple {
  display: inline-block;
  padding: 0;
  height: 250px;
}

.highcharts-plot-line.mortality-rate-group-average {
  stroke: #701b75;
  stroke-width: 2px;
}

/* Lines inherit series colour */
.highcharts-series .highcharts-graph {
  stroke: currentColor;
}

/* Markers inherit series colour */
.highcharts-series .highcharts-point {
  fill: currentColor;
  stroke: currentColor;
}

/* Series labels (end-of-line names) */
.highcharts-series-label text {
  fill: currentColor;
}

.mbrrace-stillbirth {
  color: #ff0066;
}
.mbrrace-stillbirth,
.mbrrace-stillbirth .highcharts-point,
.mbrrace-stillbirth .highcharts-point-hover,
.mbrrace-stillbirth .highcharts-point-select {
  fill: #ff0066;
  stroke: #ff0066;
}

.mbrrace-stillbirth-lighter {
  color: #ff4992;
}
.mbrrace-stillbirth-lighter,
.mbrrace-stillbirth-lighter .highcharts-point,
.mbrrace-stillbirth-lighter .highcharts-point-hover,
.mbrrace-stillbirth-lighter .highcharts-point-select {
  fill: #ff4992;
  stroke: #ff4992;
}

.mbrrace-stillbirth-darker {
  color: #840035;
}
.mbrrace-stillbirth-darker,
.mbrrace-stillbirth-darker .highcharts-point,
.mbrrace-stillbirth-darker .highcharts-point-hover,
.mbrrace-stillbirth-darker .highcharts-point-select {
  fill: #840035;
  stroke: #840035;
}

.mbrrace-antepartum {
  color: #ff0066;
}
.mbrrace-antepartum,
.mbrrace-antepartum .highcharts-point,
.mbrrace-antepartum .highcharts-point-hover,
.mbrrace-antepartum .highcharts-point-select {
  fill: #ff0066;
  stroke: #ff0066;
  stroke-dasharray: 1, 8;
}

.mbrrace-intrapartum {
  color: #ff0066;
}
.mbrrace-intrapartum,
.mbrrace-intrapartum .highcharts-point,
.mbrrace-intrapartum .highcharts-point-hover,
.mbrrace-intrapartum .highcharts-point-select {
  fill: #ff0066;
  stroke: #ff0066;
  stroke-dasharray: 1, 8;
}

.mbrrace-neonatal {
  color: #0f807c;
}
.mbrrace-neonatal,
.mbrrace-neonatal .highcharts-point,
.mbrrace-neonatal .highcharts-point-hover,
.mbrrace-neonatal .highcharts-point-select {
  fill: #0f807c;
  stroke: #0f807c;
}

.mbrrace-neonatal-lighter {
  color: #3dd9d4;
}
.mbrrace-neonatal-lighter,
.mbrrace-neonatal-lighter .highcharts-point,
.mbrrace-neonatal-lighter .highcharts-point-hover,
.mbrrace-neonatal-lighter .highcharts-point-select {
  fill: #3dd9d4;
  stroke: #3dd9d4;
}

.mbrrace-neonatal-darker {
  color: #074442;
}
.mbrrace-neonatal-darker,
.mbrrace-neonatal-darker .highcharts-point,
.mbrrace-neonatal-darker .highcharts-point-hover,
.mbrrace-neonatal-darker .highcharts-point-select {
  fill: #074442;
  stroke: #074442;
}

.mbrrace-neonatal-early-national {
  color: #0f807c;
}
.mbrrace-neonatal-early-national,
.mbrrace-neonatal-early-national .highcharts-point,
.mbrrace-neonatal-early-national .highcharts-point-hover,
.mbrrace-neonatal-early-national .highcharts-point-select {
  fill: #0f807c;
  stroke: #0f807c;
  stroke-dasharray: 1, 8;
}

.mbrrace-neonatal-late-national {
  color: #0f807c;
}
.mbrrace-neonatal-late-national,
.mbrrace-neonatal-late-national .highcharts-point,
.mbrrace-neonatal-late-national .highcharts-point-hover,
.mbrrace-neonatal-late-national .highcharts-point-select {
  fill: #0f807c;
  stroke: #0f807c;
  stroke-dasharray: 1, 8;
}

.mbrrace-neonatal-early {
  color: #333333;
}
.mbrrace-neonatal-early,
.mbrrace-neonatal-early .highcharts-point,
.mbrrace-neonatal-early .highcharts-point-hover,
.mbrrace-neonatal-early .highcharts-point-select {
  fill: #333333;
  stroke: #333333;
  stroke-dasharray: 2, 4;
}

.mbrrace-neonatal-late {
  color: #333333;
}
.mbrrace-neonatal-late,
.mbrrace-neonatal-late .highcharts-point,
.mbrrace-neonatal-late .highcharts-point-hover,
.mbrrace-neonatal-late .highcharts-point-select {
  fill: #333333;
  stroke: #333333;
  stroke-dasharray: 4, 4;
}

.mbrrace-neonatal-bubble {
  color: #3dd9d4;
}
.mbrrace-neonatal-bubble,
.mbrrace-neonatal-bubble .highcharts-point,
.mbrrace-neonatal-bubble .highcharts-point-hover,
.mbrrace-neonatal-bubble .highcharts-point-select {
  fill: #3dd9d4;
  stroke: #3dd9d4;
}

.mbrrace-perinatal {
  color: #000000;
}
.mbrrace-perinatal,
.mbrrace-perinatal .highcharts-point,
.mbrrace-perinatal .highcharts-point-hover,
.mbrrace-perinatal .highcharts-point-select {
  fill: #000000;
  stroke: #000000;
}

.mbrrace-low {
  color: #ff8000;
}
.mbrrace-low,
.mbrrace-low .highcharts-point,
.mbrrace-low .highcharts-point-hover,
.mbrrace-low .highcharts-point-select {
  fill: #ff8000;
  stroke: #ff8000;
}

.mbrrace-dotted {
  color: grey;
}
.mbrrace-dotted,
.mbrrace-dotted .highcharts-point,
.mbrrace-dotted .highcharts-point-hover,
.mbrrace-dotted .highcharts-point-select {
  fill: grey;
  stroke: grey;
  stroke-dasharray: 2, 4;
}

.highcharts-tooltip {
  z-index: 1000 !important;
  pointer-events: none;
}

#ethnicity-congenital-SB-chart.chart-container .highcharts-yaxis-grid .highcharts-grid-line {
  stroke: #ff4992 !important; /* Pink gridlines */
  stroke-dasharray: 2, 2 !important; /* Dotted style */
  stroke-width: 1px !important;
}

/* Y-axis grid lines (between rows) */
#ethnicity-deprivation-SB-chart .highcharts-yaxis-grid .highcharts-grid-line {
  stroke: #ff4992;
  stroke-dasharray: 2, 2;
  stroke-width: 1px;
}

/* Plot line above first category — FORCE same style */
#ethnicity-deprivation-SB-chart .highcharts-plot-lines path.highcharts-plot-line {
  stroke: #ff4992 !important;
  stroke-dasharray: 2, 2 !important;
  stroke-width: 1px !important;
  fill: none;
}

/* Force white-filled bubbles */
#ethnicity-deprivation-SB-chart .highcharts-point.deprivation-least,
#ethnicity-deprivation-SB-chart .highcharts-point.deprivation-most {
  fill: #ffffff;
  fill-opacity: 1;
}

/* Normal state */
#ethnicity-deprivation-SB-chart .highcharts-bubble-series .highcharts-point {
  stroke-width: 3px !important;
}

/* Hover state (Highcharts applies its own width here) */
#ethnicity-deprivation-SB-chart .highcharts-bubble-series .highcharts-point-hover {
  stroke-width: 3px !important;
}

/* Custom dot color and size */
#ethnicity-congenital-SB-chart .highcharts-series .highcharts-point {
  stroke-width: 3px !important; /* Optional: add a border to the dots */
  r: 5 !important; /* Dot size */
}

/* Custom line between dots */
#ethnicity-congenital-SB-chart .highcharts-series .highcharts-graph {
  stroke: gray !important; /* Line color between dots */
  stroke-width: 1px !important; /* Line thickness */
  stroke-linecap: round !important; /* Smooth line ends */
}

#ethnicity-congenital-NND-chart .highcharts-yaxis-grid .highcharts-grid-line {
  stroke: #3dd9d4 !important; /* Teal gridlines */
  stroke-dasharray: 2, 2 !important; /* Dotted style */
  stroke-width: 1px !important;
}

#ethnicity-deprivation-NND-chart .highcharts-yaxis-grid .highcharts-grid-line {
  stroke: #3dd9d4 !important; /* Teal gridlines */
  stroke-dasharray: 2, 2 !important; /* Dotted style */
  stroke-width: 1px !important;
}

/* Re-enable connector line for bubble series */
#ethnicity-deprivation-SB-chart .highcharts-bubble-series .highcharts-graph {
  display: block;
  stroke: gray;
  stroke-width: 1px;
}

/* Deprivation colours via outline (currentColor) */
#ethnicity-deprivation-NND-chart .highcharts-point.deprivation-least {
  color: #e69f00; /* Black ethnicity colour */
}

#ethnicity-deprivation-NND-chart .highcharts-point.deprivation-most {
  color: #6a3b77; /* White ethnicity colour */
}

/* Connector line between the two bubbles in each row */
#ethnicity-deprivation-NND-chart .highcharts-graph {
  stroke: gray; /* light neutral grey */
  stroke-width: 1px;
}

/* Keep bubbles visually on top of the line */
#ethnicity-deprivation-NND-chart .highcharts-point {
  z-index: 2;
}

/* Force white-filled bubbles */
#ethnicity-deprivation-NND-chart .highcharts-point.deprivation-least,
#ethnicity-deprivation-NND-chart .highcharts-point.deprivation-most {
  fill: #ffffff;
  fill-opacity: 1;
}

/* Plot line above first category — FORCE same style */
#ethnicity-deprivation-NND-chart .highcharts-plot-lines path.highcharts-plot-line {
  stroke: #3dd9d4 !important; /* Teal gridlines */
  stroke-dasharray: 2, 2 !important;
  stroke-width: 1px !important;
  fill: none;
}

/* Re-enable connector line for bubble series */
#ethnicity-deprivation-NND-chart .highcharts-bubble-series .highcharts-graph {
  display: block;
  stroke: gray;
  stroke-width: 1px;
}

/* Normal state */
#ethnicity-deprivation-NND-chart .highcharts-bubble-series .highcharts-point {
  stroke-width: 3px !important;
}

/* Hover state (Highcharts applies its own width here) */
#ethnicity-deprivation-NND-chart .highcharts-bubble-series .highcharts-point-hover {
  stroke-width: 3px !important;
}

/* Custom dot color and size */
#ethnicity-congenital-NND-chart .highcharts-series .highcharts-point {
  stroke: transparent !important; /*No border on dots
  r: 5 !important; /* Dot size */
}

/* Custom line between dots */
#ethnicity-congenital-NND-chart .highcharts-series .highcharts-graph {
  stroke: gray !important; /* Line color between dots */
  stroke-width: 1px !important; /* Line thickness */
  stroke-linecap: round !important; /* Smooth line ends */
}

/* Restore correct White ethnicity colour in congenital charts */
#ethnicity-congenital-SB-chart .highcharts-point.ethnicity-white,
#ethnicity-congenital-NND-chart .highcharts-point.ethnicity-white {
  fill: #0072b2;
  stroke: #0072b2;
}

/* Make the title with the custom class transparent */
.transparent-axis-title tspan {
  fill: transparent !important;
}

/* Override Highcharts series default colours */

.highcharts-root {
  font-family:
    system-ui,
    -apple-system,
    "Segoe UI",
    Roboto,
    "Helvetica Neue",
    "Noto Sans",
    "Liberation Sans",
    Arial,
    sans-serif,
    "Apple Color Emoji",
    "Segoe UI Emoji",
    "Segoe UI Symbol",
    "Noto Color Emoji";
  font-size: 14px;
}

.highcharts-title {
  font-size: 1em;
  font-weight: bold;
  fill: #333333;
}

.highcharts-tooltip .highcharts-header,
.highcharts-axis-labels {
  font-size: 1em;
}

/* Decorative utilities from Bootstrap examples */

.icon-link:hover > .bi {
  transform: translate(0.25rem);
}
.icon-link > .bi {
  margin-top: 0.125rem;
  margin-left: 0.125rem;
  fill: currentcolor;
  transition: transform 0.25s ease-in-out;
}
