/* Caribbean route selector v5 */
.caribbean-hub-page {
  --route-ink: #082f36;
  --route-deep: #073f48;
  --route-sea: #087f8c;
  --route-aqua: #2fc4c9;
  --route-sand: #f4ca74;
  --route-cream: #fffaf0;
}
.caribbean-route-metrics {
  position: relative;
  z-index: 3;
  margin: 0;
  padding: clamp(2.2rem, 5vw, 4.2rem) 0 0;
  background: #edf7f5;
}
.caribbean-route-metrics .cluster-summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  overflow: hidden;
  border: 1px solid rgba(8, 71, 80, .16);
  border-radius: 24px 24px 0 0;
  background: #fff;
  box-shadow: 0 22px 60px rgba(5, 52, 60, .12);
}.caribbean-route-metrics .cluster-summary > div {
  min-width: 0;
  padding: clamp(1.4rem, 3vw, 2.2rem);
  border: 0;
}
.caribbean-route-metrics .cluster-summary > div + div {
  border-left: 1px solid rgba(8, 71, 80, .13);
}
.caribbean-route-metrics .cluster-summary span {
  display: block;
  color: var(--route-sea);
  font-family: Georgia, serif;
  font-size: clamp(2.7rem, 5vw, 4.5rem);
  font-weight: 700;
  line-height: .9;
}
.caribbean-route-metrics .cluster-summary p {
  max-width: 13rem;
  margin: .7rem 0 0;
  color: #345860;
  font-size: .86rem;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1.45;
  text-transform: uppercase;
}
.caribbean-route-selector {
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: clamp(4.5rem, 8vw, 7.5rem) 0;
  background:
    radial-gradient(circle at 86% 8%, rgba(47,196,201,.23), transparent 28rem),
    linear-gradient(145deg, #052f37 0%, #064b54 58%, #073840 100%);
}.caribbean-route-selector .caribbean-pattern-grid article {
  position: relative;
  display: flex;
  grid-column: span 2;
  min-height: 310px;
  flex-direction: column;
  padding: clamp(1.45rem, 3vw, 2rem);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 22px;
  background: rgba(255,255,255,.97);
  box-shadow: 0 18px 44px rgba(0, 25, 30, .22);
  transition: transform .2s ease, box-shadow .2s ease;
}
.caribbean-route-selector .caribbean-pattern-grid article:nth-child(n+4) {
  grid-column: span 3;
  min-height: 285px;
}
.caribbean-route-selector .caribbean-pattern-grid article:hover {
  transform: translateY(-4px);
  box-shadow: 0 26px 58px rgba(0, 23, 28, .32);
}
.caribbean-route-selector .caribbean-pattern-grid article::after {
  position: absolute;
  top: -4rem;
  right: -4rem;
  width: 10rem;
  height: 10rem;
  border-radius: 50%;
  background: rgba(47,196,201,.10);
  content: "";
}
.caribbean-route-selector .caribbean-pattern-grid article > span {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 32px;
  padding: .35rem .72rem;
  border-radius: 999px;
  background: #dff5f3;
  color: #075f69;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}.caribbean-destination-spotlight {
  position: relative;
  overflow: hidden;
  padding: clamp(5rem, 9vw, 8rem) 0;
  background:
    linear-gradient(90deg, rgba(4,36,44,.94) 0%, rgba(4,55,64,.83) 58%, rgba(4,55,64,.48) 100%),
    url("/assets/caribbean/st-john-trunk-bay.webp") center/cover no-repeat;
}
.caribbean-destination-spotlight .section-heading {
  max-width: 1040px;
}
.caribbean-destination-spotlight .eyebrow {
  color: var(--route-sand) !important;
}
.caribbean-destination-spotlight h2 {
  max-width: 760px;
  color: #fff;
  font-size: clamp(2.3rem, 5vw, 4.4rem);
  letter-spacing: -.04em;
  line-height: 1;
}
.caribbean-destination-spotlight .section-heading > p {
  color: #e0f3f2;
  font-size: 1.08rem;
}
.caribbean-destination-spotlight .bahamas-hub-callout {
  max-width: 820px;
  margin-top: 2rem;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 22px;
  background: rgba(5,48,56,.78);
  box-shadow: 0 24px 60px rgba(0,0,0,.24);
  backdrop-filter: blur(10px);
}
.caribbean-destination-spotlight .bahamas-hub-callout p {
  margin: 0 0 1.5rem;
  color: #fff !important;
  font-size: 1.05rem;
  line-height: 1.75;
}
.caribbean-destination-spotlight .button {
  background: var(--route-sand) !important;
  color: #173f45 !important;
  border-color: var(--route-sand) !important;
}@media (max-width: 980px) {
  .caribbean-route-selector .section-heading { align-items: start; }
  .caribbean-route-selector .caribbean-pattern-grid article,
  .caribbean-route-selector .caribbean-pattern-grid article:nth-child(n+4) {
    grid-column: span 3;
  }
}
@media (max-width: 680px) {
  .caribbean-route-metrics { padding-top: 2rem; }
  .caribbean-route-metrics .cluster-summary {
    grid-template-columns: 1fr;
    border-radius: 18px 18px 0 0;
  }
  .caribbean-route-metrics .cluster-summary > div {
    display: grid;
    grid-template-columns: 76px 1fr;
    align-items: center;
    gap: 1rem;
    padding: 1.05rem 1.2rem;
  }
  .caribbean-route-metrics .cluster-summary > div + div {
    border-top: 1px solid rgba(8,71,80,.13);
    border-left: 0;
  }
  .caribbean-route-metrics .cluster-summary span { font-size: 2.6rem; }
  .caribbean-route-metrics .cluster-summary p { margin: 0; }
  .caribbean-route-selector { padding: 3.8rem 0; }
  .caribbean-route-selector .caribbean-pattern-grid { grid-template-columns: 1fr; }
  .caribbean-route-selector .caribbean-pattern-grid article,
  .caribbean-route-selector .caribbean-pattern-grid article:nth-child(n+4) {
    grid-column: 1;
    min-height: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .caribbean-route-selector .caribbean-pattern-grid article { transition: none; }
}/* Contrast and cascade correction */
.caribbean-hub-page .caribbean-route-selector h2 {
  color: #ffffff !important;
}
.caribbean-hub-page .caribbean-route-selector .section-heading > p {
  color: #e9f7f6 !important;
}
.caribbean-hub-page .caribbean-route-selector .eyebrow {
  color: #f7d68f !important;
}
.caribbean-hub-page .caribbean-route-selector .caribbean-pattern-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}
.caribbean-hub-page .caribbean-route-selector .caribbean-pattern-grid article {
  grid-column: span 2 !important;
}
.caribbean-hub-page .caribbean-route-selector .caribbean-pattern-grid article:nth-child(n+4) {
  grid-column: span 3 !important;
}
.caribbean-hub-page .caribbean-route-metrics .cluster-summary span {
  color: #05616b !important;
}
.caribbean-hub-page .caribbean-route-metrics .cluster-summary p {
  color: #294b52 !important;
}
.caribbean-hub-page .caribbean-destination-spotlight h2 {
  color: #ffffff !important;
}
.caribbean-hub-page .caribbean-destination-spotlight .section-heading > p {
  color: #eefafa !important;
}
.caribbean-hub-page .caribbean-destination-spotlight .eyebrow {
  color: #f7d68f !important;
}@media (max-width: 980px) {
  .caribbean-hub-page .caribbean-route-selector .caribbean-pattern-grid article,
  .caribbean-hub-page .caribbean-route-selector .caribbean-pattern-grid article:nth-child(n+4) {
    grid-column: span 3 !important;
  }
}
@media (max-width: 680px) {
  .caribbean-hub-page .caribbean-route-selector .caribbean-pattern-grid {
    grid-template-columns: 1fr !important;
  }
  .caribbean-hub-page .caribbean-route-selector .caribbean-pattern-grid article,
  .caribbean-hub-page .caribbean-route-selector .caribbean-pattern-grid article:nth-child(n+4) {
    grid-column: 1 !important;
  }
}