/* Flights region hubs — mood colour, chooser chips, mobile snap */
body.sst-page-flights-hub .sst-flight-paths {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 1.15rem;
}

body.sst-page-flights-hub .sst-flight-path {
  display: grid;
  gap: 2px;
  align-content: center;
  text-align: center;
  padding: 12px 10px;
  border-radius: 14px;
  border: 1px solid #bfdbfe;
  background: linear-gradient(180deg, #f0f7ff 0%, #e8f2ff 100%);
  text-decoration: none !important;
  color: inherit;
  transition: transform 0.2s, border-color 0.2s, box-shadow 0.2s;
}

body.sst-page-flights-hub .sst-flight-path:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(7, 112, 227, 0.12);
}

body.sst-page-flights-hub .sst-flight-path__label {
  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

body.sst-page-flights-hub .sst-flight-path strong {
  font-size: 0.9rem;
  font-weight: 900;
  letter-spacing: -0.02em;
}

body.sst-page-flights-hub .sst-flight-path--city {
  border-color: #93c5fd;
  background: linear-gradient(180deg, #f0f7ff 0%, #dbeafe 100%);
}
body.sst-page-flights-hub .sst-flight-path--city .sst-flight-path__label,
body.sst-page-flights-hub .sst-flight-path--city strong { color: #0557b0; }

body.sst-page-flights-hub .sst-flight-path--south {
  border-color: #99d5c9;
  background: linear-gradient(180deg, #f0faf8 0%, #dcf5ef 100%);
}
body.sst-page-flights-hub .sst-flight-path--south .sst-flight-path__label,
body.sst-page-flights-hub .sst-flight-path--south strong { color: #0f766e; }

body.sst-page-flights-hub .sst-flight-path--northwest {
  border-color: #f0d78c;
  background: linear-gradient(180deg, #fffbf0 0%, #fff3d6 100%);
}
body.sst-page-flights-hub .sst-flight-path--northwest .sst-flight-path__label,
body.sst-page-flights-hub .sst-flight-path--northwest strong { color: #a16207; }

body.sst-page-flights-hub .sst-flight-path--guides {
  border-color: #93c5fd;
  background: linear-gradient(180deg, #eff6ff 0%, #dbeafe 100%);
}
body.sst-page-flights-hub .sst-flight-path--guides .sst-flight-path__label,
body.sst-page-flights-hub .sst-flight-path--guides strong { color: #1d4ed8; }

/* Mood tinted region blocks + route cards */
body.sst-page-flights-hub .region-block--city {
  border-color: #bfdbfe;
  background: linear-gradient(180deg, #f8fbff 0%, #fff 40%);
}
body.sst-page-flights-hub .region-block--city .region-title {
  border-left-color: #0770e3;
}
body.sst-page-flights-hub .region-block--city .region-title h3 { color: #0b3c7a; }

body.sst-page-flights-hub .region-block--south {
  border-color: #99d5c9;
  background: linear-gradient(180deg, #f3fbf8 0%, #fff 40%);
}
body.sst-page-flights-hub .region-block--south .region-title {
  border-left-color: #0f766e;
}
body.sst-page-flights-hub .region-block--south .region-title h3 { color: #115e59; }

body.sst-page-flights-hub .region-block--northwest {
  border-color: #f0d78c;
  background: linear-gradient(180deg, #fffbf0 0%, #fff 40%);
}
body.sst-page-flights-hub .region-block--northwest .region-title {
  border-left-color: #d4a017;
}
body.sst-page-flights-hub .region-block--northwest .region-title h3 { color: #92400e; }

body.sst-page-flights-hub .region-block--guides {
  border-color: #93c5fd;
  background: linear-gradient(180deg, #f5f8ff 0%, #fff 40%);
}
body.sst-page-flights-hub .region-block--guides .region-title {
  border-left-color: #2563eb;
}
body.sst-page-flights-hub .region-block--guides .region-title h3 { color: #1e40af; }

body.sst-page-flights-hub .route-link {
  border-left-width: 4px !important;
  border-left-style: solid !important;
}

body.sst-page-flights-hub .region-block--city .route-link {
  border-color: #dbeafe;
  border-left-color: #0770e3 !important;
  background: linear-gradient(90deg, #eff6ff 0%, #fff 48%);
}
body.sst-page-flights-hub .region-block--city .route-link strong { color: #0b3c7a !important; }

body.sst-page-flights-hub .region-block--south .route-link {
  border-color: #ccf0e8;
  border-left-color: #0f766e !important;
  background: linear-gradient(90deg, #f0fdfa 0%, #fff 48%);
}
body.sst-page-flights-hub .region-block--south .route-link strong { color: #115e59 !important; }

body.sst-page-flights-hub .region-block--northwest .route-link {
  border-color: #f5e6b8;
  border-left-color: #d4a017 !important;
  background: linear-gradient(90deg, #fffbeb 0%, #fff 48%);
}
body.sst-page-flights-hub .region-block--northwest .route-link strong { color: #92400e !important; }

body.sst-page-flights-hub .region-block--guides .route-link {
  border-color: #dbeafe;
  border-left-color: #2563eb !important;
  background: linear-gradient(90deg, #eff6ff 0%, #fff 48%);
}
body.sst-page-flights-hub .region-block--guides .route-link strong { color: #1e40af !important; }

body.sst-page-flights-hub .route-link span {
  color: #64748b !important;
}

/* Planning cards on flights hubs */
body.sst-page-flights-hub .planning-card {
  border-left: 5px solid #0770e3;
  background: linear-gradient(165deg, #eaf3ff 0%, #fff 58%);
}
body.sst-page-flights-hub .planning-card:nth-child(3n + 2) {
  border-left-color: #0f766e;
  border-color: #99d5c9;
  background: linear-gradient(165deg, #ecfdf8 0%, #fff 58%);
}
body.sst-page-flights-hub .planning-card:nth-child(3n + 3) {
  border-left-color: #d4a017;
  border-color: #f0d78c;
  background: linear-gradient(165deg, #fff8e8 0%, #fff 58%);
}
body.sst-page-flights-hub .planning-card h3 { color: #0b3c7a; }
body.sst-page-flights-hub .planning-card:nth-child(3n + 2) h3 { color: #115e59; }
body.sst-page-flights-hub .planning-card:nth-child(3n + 3) h3 { color: #92400e; }
body.sst-page-flights-hub .planning-card a { color: #0557b0 !important; }
body.sst-page-flights-hub .planning-card:nth-child(3n + 2) a { color: #0f766e !important; }
body.sst-page-flights-hub .planning-card:nth-child(3n + 3) a { color: #a16207 !important; }

/* Hero polish */
body.sst-page-flights-hub > .hero {
  position: relative;
}
body.sst-page-flights-hub > .hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(7, 28, 58, 0.35) 0%,
    rgba(7, 28, 58, 0.22) 40%,
    rgba(7, 28, 58, 0.62) 100%
  );
  pointer-events: none;
  z-index: 0;
}
body.sst-page-flights-hub > .hero > .hero-inner {
  position: relative;
  z-index: 1;
}

@media (max-width: 900px) {
  body.sst-page-flights-hub .sst-flight-paths {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 720px) {
  body.sst-page-flights-hub .sst-flight-paths {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
  }

  body.sst-page-flights-hub .sst-flight-path {
    padding: 10px 6px;
  }

  body.sst-page-flights-hub .sst-flight-path strong {
    font-size: 0.78rem;
  }

  body.sst-page-flights-hub .sst-flight-path__label {
    font-size: 0.62rem;
    letter-spacing: 0.06em;
  }

  body.sst-page-flights-hub .route-grid--snap {
    display: flex !important;
    flex-wrap: nowrap;
    gap: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 16px;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    margin-inline: -8px;
    padding: 2px 8px 10px;
    scrollbar-width: thin;
  }

  body.sst-page-flights-hub .route-grid--snap .route-link {
    flex: 0 0 min(78vw, 270px);
    width: min(78vw, 270px);
    scroll-snap-align: start;
  }
}
