body {
  margin: 0;
  background: #0e0e11;
  font-family: "Helvetica";
  color: #ffffff;
  overflow: auto;
  padding-top: 30px;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  background: radial-gradient(circle at 30% 20%, #1b1e2b 0%, #0e0e11 70%);
  opacity: 0.65;
  pointer-events: none;
  z-index: -1;
}

#year-buttons {
  display: flex;
  justify-content: center;
  gap: 20px;
  padding: 18px 0 10px 0;
}

#year-buttons button,
#airport-select {
  padding: 12px 28px;
  border-radius: 10px;
  border: none;
  background: #15161d;
  color: #9cc7ff;
  font-size: 18px;
  font-weight: 600;
  cursor: pointer;
  transition: 0.18s;
}

#year-buttons button:hover,
#airport-select:hover {
  background: #1d2232;
  transform: translateY(-2px);
}

#airport-select {
  margin: 20px 10px;
}

#top-row {
  display: flex;
  width: 95%;
  margin: 0 auto;
  height: auto !important;
  gap: 25px;
  align-items: flex-start;
}

#map-container {
  width: 100%;                  
  flex: none;
  min-width: 0;                
  height: auto;
  background: rgba(18,20,29,0.45);
  border-radius: 20px;
  border: 1px solid rgba(120,150,255,0.25);
  backdrop-filter: blur(12px);
  position: relative;
  overflow: hidden;
  box-shadow: 0 25px 55px rgba(0,0,0,0.55);
}

#map-container::after {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  background: linear-gradient(135deg, #436dff66 0%, #ba42ff66 100%);
  filter: blur(25px);
  z-index: -1;
}

#right-column {
    flex: 1;                     
  min-width: 420px;            
  display: flex;
  flex-direction: column;
  gap: 20px;
}

#line-chart,
#bar-chart {
  flex: 1;
  min-height: 0;
  background: rgba(18,20,29,0.45);
  border-radius: 20px;
  border: 1px solid rgba(120,150,255,0.25);
  backdrop-filter: blur(12px);
  position: relative;
  overflow: hidden;
  padding: 20px;
  box-shadow: 0 25px 55px rgba(0,0,0,0.55);
}

#line-chart::after,
#bar-chart::after {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  background: linear-gradient(135deg, #436dff66 0%, #ba42ff66 100%);
  filter: blur(25px);
  z-index: -1;
}


#right-column text,
#line-chart text,
#bar-chart text {
  fill: white !important;
  font-size: 18px !important;
}

svg .chart-title {
  font-size: 24px !important;
  font-weight: 700;
}

.tick text {
  font-size: 16px !important;
}


#map-tooltip,
#bar-tooltip,
#line-tooltip {
  position: absolute;
  padding: 10px 14px;
  background: rgba(20,22,32,0.95);
  border: 1px solid rgba(120,150,255,0.4);
  border-radius: 10px;
  font-size: 16px;
  opacity: 0;
  pointer-events: none;
  z-index: 9999;
}


.airport-circle {
  transition: 0.2s ease;
}

.airport-selected {
  stroke: #80b3ff !important;
  stroke-width: 4px !important;
  transform: scale(1.25);
  filter: drop-shadow(0 0 10px rgba(120,180,255,0.85));
}

@media (max-width: 1400px) {
  #top-row {
    flex-direction: column;
    height: auto;
  }
}

#line-chart .legend-item text {
  font-size: 14px !important;
}

#line-chart .legend-item circle {
  r: 6 !important;
}

#line-chart .chart-title {
  font-size: 20px !important;
}

#line-chart svg text {
  font-size: 14px !important;
}

#line-chart {
  overflow: visible !important; 
}

#line-chart .legend-item text {
  font-size: 13px !important; 
}

#line-chart .legend-item circle {
  r: 7 !important;
}

#line-chart g.legend-item text {
  font-size: 13px !important;
}

#line-chart g.legend-item circle {
  r: 7 !important;
}

#line-chart {
  overflow: visible !important;
}

#right-column {
  overflow: visible !important;
}

#right-column #line-chart {
  overflow: visible !important;
}
#right-column #line-chart .legend-item text {
  font-size: 12.5px !important;
}

#map-container svg text {
  fill: #ffffff !important;
}

#summary-widget {
  width: 95%;
  margin: 0 auto 25px auto;
  padding: 28px 32px;
  background: rgba(18,20,29,0.55);
  border-radius: 20px;
  border: 1px solid rgba(120,150,255,0.28);
  backdrop-filter: blur(14px);
  color: #e8ecff;
  box-shadow: 0 25px 55px rgba(0,0,0,0.55);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
  font-size: 17px;
  line-height: 1.55;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
}

#summary-widget::after {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  background: linear-gradient(135deg, #436dff44 0%, #ba42ff44 100%);
  filter: blur(30px);
  z-index: -1;
}

#summary-widget .summary-title {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 4px;
  color: #dce4ff;
  letter-spacing: 0.4px;
}

#line-chart,
#bar-chart {
  min-height: 420px !important;
  height: auto !important;
  overflow: visible !important;
}

@font-face {
  font-family: "titleFont";
  src: url("title-font.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

#title {
  width: 95%;
  margin: 30px auto 10px auto;
  text-align: center;
  font-size: 50px;
  font-weight: 800;
  letter-spacing: 0.6px;
  color: #e8ecff;
  font-family: "titleFont";
}

#instruct {
  width: 90%;
  margin: 0 auto 25px auto;
  text-align: center;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.55;
  color: #cfd7ff;
  padding: 22px 28px;
  background: rgba(18,20,29,0.45);
  border: 1px solid rgba(120,150,255,0.25);
  border-radius: 16px;
  backdrop-filter: blur(12px);
  box-shadow: 0 20px 45px rgba(0,0,0,0.45);
  position: relative;
  overflow: hidden;
}

#instruct::after {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  background: linear-gradient(135deg, #436dff33 0%, #ba42ff33 100%);
  filter: blur(30px);
  z-index: -1;
}

#top-nav {
  width: 95%;
  margin: 20px auto 0 auto;
  display: flex;
  justify-content: flex-start;
}

.pb {
  text-decoration: none;
  color: #9cb8ff;
  font-weight: 600;
  padding: 8px 14px;
  margin-left: 30px;
  border-radius: 10px;
  background: rgba(20,24,34,0.6);
  border: 1px solid rgba(120,150,255,0.25);
  backdrop-filter: blur(8px);
  transition: 0.2s;
}

.pb:hover {
  background: rgba(40,45,60,0.8);
  transform: translateY(-2px);
}

#filter-bar {
  display: flex;
  align-items: center;
  justify-content: center;     
  gap: 20px;                    
  margin-bottom: 20px;
}

#left-column {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 25px;
  min-width: 520px;
}

#left-column #summary-widget {
  width: 100%;
  margin: 0;
}

#insights-content {
  width: 100%;
  display: flex;
  justify-content: center;
}

.insights-row {
  display: flex;
  align-items: center;
  gap: 32px;
  max-width: 650px;
}

.insights-logo-box {
  display: flex;
  align-items: center;
  justify-content: center;
}

.insights-logo {
  width: 120px;
  height: auto;
  filter: drop-shadow(0 0 8px rgba(255,255,255,0.2));
}

.insights-text p {
  margin: 6px 0;
  font-size: 23px;
  line-height: 1.4;
}

#summary-widget h3 {
  font-family: "titleFont", sans-serif;   /* or whatever font you want */
  font-size: 26px;
  font-weight: 700;
  letter-spacing: 0.5px;
}
