/* Homepage — region hub + popular route + atmosphere + UK stays carousels */

body.sst-page-home, body.sst-page-stays-hub {

  --sst-home-carousel-gap: 14px;

  --sst-home-section-tint: #f5f7fa;

}



/* Section rhythm: alternate soft bands below Holiday Matcher (routes cream head stays as-is) */

body.sst-page-home main.home-main > section.section.atmosphere-section--v2 {

  background: var(--sst-home-section-tint);

}



body.sst-page-home main.home-main > section.section.sst-home-routes-section {

  background: #fff;

}



body.sst-page-home main.home-main > section.section#guides {

  background: #fff;

}



body.sst-page-home main.home-main > section.section.sst-featured-stays-section {

  background: var(--sst-home-section-tint);

}



body.sst-page-home main.home-main > section.section:has(#sst-explore-by-region) {

  background: #fff;

}



body.sst-page-home #choose .wrap, body.sst-page-stays-hub #choose .wrap,

body.sst-page-home .atmosphere-section--v2 .wrap, body.sst-page-stays-hub .atmosphere-section--v2 .wrap,

body.sst-page-home .uk-stays-section--v2 .wrap , body.sst-page-stays-hub .uk-stays-section--v2 .wrap {

  overflow: visible;

}



body.sst-page-home #sst-flights-by-region, body.sst-page-stays-hub #sst-flights-by-region,

body.sst-page-home #sst-stays-by-region, body.sst-page-stays-hub #sst-stays-by-region,

body.sst-page-home #sst-explore-by-region, body.sst-page-stays-hub #sst-explore-by-region,

body.sst-page-home #sst-popular-routes , body.sst-page-stays-hub #sst-popular-routes {

  scroll-margin-top: calc(var(--sst-nav-h, 58px) + 18px);

}

body.sst-page-home #sst-featured-stays , body.sst-page-stays-hub #sst-featured-stays {

  scroll-margin-top: calc(var(--sst-nav-h, 58px) + 18px);

}



body.sst-page-home .sst-home-regions-head , body.sst-page-stays-hub .sst-home-regions-head {

  margin-top: 0;

}



body.sst-page-home .sst-home-routes-block , body.sst-page-stays-hub .sst-home-routes-block {

  margin-top: 8px;

  padding-top: 10px;

  border-top: 1px solid #e2e8f0;

}



body.sst-page-home .sst-home-routes-head , body.sst-page-stays-hub .sst-home-routes-head {

  margin-top: 0;

  margin-bottom: 14px;

  padding: 18px 20px;

  border-radius: 16px;

  background: linear-gradient(135deg, #f8fafc 0%, #fff9ec 100%);

  border: 1px solid #e2e8f0;

  border-left: 4px solid #64748b;

  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06);

}



body.sst-page-home .sst-home-routes-head h2 , body.sst-page-stays-hub .sst-home-routes-head h2 {

  margin-bottom: 8px;

  color: #1e293b;

}



body.sst-page-home .sst-home-routes-head p , body.sst-page-stays-hub .sst-home-routes-head p {

  margin: 0;

  max-width: 62ch;

  color: #475569;

  font-size: 0.95rem;

  line-height: 1.62;

}



body.sst-page-home .sst-home-regions-stack , body.sst-page-stays-hub .sst-home-regions-stack {

  display: flex;

  flex-direction: column;

  gap: 0;

}



body.sst-page-home .sst-home-region-title , body.sst-page-stays-hub .sst-home-region-title {

  margin: 0 0 10px;

  font-size: 1rem;

  font-weight: 900;

  color: var(--ink, #0f172a);

  letter-spacing: -0.01em;

}

body.sst-page-home .sst-home-stays-hubs-label , body.sst-page-stays-hub .sst-home-stays-hubs-label {
  margin: 0 0 10px;
  font-size: 0.84rem;
  font-weight: 700;
  color: #64748b;
}

body.sst-page-home .sst-home-stays-region-hubs , body.sst-page-stays-hub .sst-home-stays-region-hubs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
}

body.sst-page-home .sst-home-stays-region-hubs a , body.sst-page-stays-hub .sst-home-stays-region-hubs a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 8px 14px;
  border-radius: 999px;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  color: #0557b0;
  font-size: 0.84rem;
  font-weight: 900;
  text-decoration: none;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

body.sst-page-home .sst-home-stays-region-hubs a:hover , body.sst-page-stays-hub .sst-home-stays-region-hubs a:hover {
  background: #dbeafe;
  border-color: #93c5fd;
  color: #034a94;
}

body.sst-page-home main.home-main > section.section.sst-home-routes-section , body.sst-page-stays-hub main.home-main > section.section.sst-home-routes-section {
  padding-top: 0;
}

/* Keep mood cards visually close to Popular UK routes */
body.sst-page-home main.home-main > section.section.atmosphere-section--v2 , body.sst-page-stays-hub main.home-main > section.section.atmosphere-section--v2 {
  padding-bottom: 6px;
}

body.sst-page-home .atmosphere-section--v2 .sst-home-carousel-track , body.sst-page-stays-hub .atmosphere-section--v2 .sst-home-carousel-track {
  padding-bottom: 6px;
}

@media (min-width: 720px) {
  body.sst-page-home .atmosphere-section--v2 .sst-home-carousel-track , body.sst-page-stays-hub .atmosphere-section--v2 .sst-home-carousel-track {
    padding-bottom: 6px;
  }
}



body.sst-page-home .sst-home-carousel , body.sst-page-stays-hub .sst-home-carousel {

  position: relative;

  margin-top: 4px;

}



body.sst-page-home .sst-home-carousel-track , body.sst-page-stays-hub .sst-home-carousel-track {

  display: flex !important;

  gap: var(--sst-home-carousel-gap) !important;

  overflow-x: auto;

  overflow-y: hidden;

  scroll-snap-type: x mandatory;

  scroll-behavior: smooth;

  -webkit-overflow-scrolling: touch;

  scrollbar-width: none;

  padding: 6px 0 14px;

  margin: 0;

}



body.sst-page-home .sst-home-carousel-track::-webkit-scrollbar , body.sst-page-stays-hub .sst-home-carousel-track::-webkit-scrollbar {

  display: none;

}



body.sst-page-home .sst-home-carousel-slide , body.sst-page-stays-hub .sst-home-carousel-slide {

  flex: 0 0 min(74vw, 240px);

  scroll-snap-align: start;

  scroll-snap-stop: always;

  min-width: 0;

}



body.sst-page-home .sst-home-region-card , body.sst-page-stays-hub .sst-home-region-card {

  display: flex;

  flex-direction: column;

  min-height: 100%;

  background: #fff;

  border: 1px solid #e2e8f0;

  border-radius: 18px;

  overflow: hidden;

  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);

  text-decoration: none;

  color: inherit;

  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;

}



body.sst-page-home .sst-home-region-card:hover , body.sst-page-stays-hub .sst-home-region-card:hover {

  transform: translateY(-3px);

  border-color: #cbd5e1;

  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.1);

}



body.sst-page-home .sst-home-region-card img , body.sst-page-stays-hub .sst-home-region-card img {

  width: 100%;

  height: auto;

  aspect-ratio: 16 / 10;

  object-fit: cover;

  display: block;

}



body.sst-page-home .sst-home-region-card span , body.sst-page-stays-hub .sst-home-region-card span,
body.sst-page-home .sst-home-region-card__body , body.sst-page-stays-hub .sst-home-region-card__body {

  display: block;

  padding: 16px 16px 18px;

  min-height: 72px;

}



body.sst-page-home .sst-home-region-card--dual .sst-home-region-card__body ,
body.sst-page-stays-hub .sst-home-region-card--dual .sst-home-region-card__body {
  min-height: 0;
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 0;
}

body.sst-page-home .sst-home-region-card--dual .sst-home-region-card__body small ,
body.sst-page-stays-hub .sst-home-region-card--dual .sst-home-region-card__body small {
  /* Reserve two lines so short blurbs don’t leave uneven empty space */
  min-height: calc(1.45em * 2);
}

body.sst-page-home .sst-home-region-card__links ,
body.sst-page-stays-hub .sst-home-region-card__links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: auto;
  padding-top: 12px;
}

/* Equal-height slides so dual-link pills share one baseline */
body.sst-page-home .sst-home-explore-regions-carousel .sst-home-carousel-track ,
body.sst-page-stays-hub .sst-home-explore-regions-carousel .sst-home-carousel-track {
  align-items: stretch;
}

body.sst-page-home .sst-home-explore-regions-carousel .sst-home-carousel-slide ,
body.sst-page-stays-hub .sst-home-explore-regions-carousel .sst-home-carousel-slide {
  display: flex;
  flex-direction: column;
}

body.sst-page-home .sst-home-explore-regions-carousel .sst-home-region-card ,
body.sst-page-stays-hub .sst-home-explore-regions-carousel .sst-home-region-card {
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
}

body.sst-page-home .sst-home-region-card__links a ,
body.sst-page-stays-hub .sst-home-region-card__links a {
  flex: 1 1 calc(50% - 4px);
  min-width: 0;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid #dbeafe;
  background: #f8fbff;
  color: #0557b0;
  font-size: 0.82rem;
  font-weight: 900;
  text-decoration: none;
  line-height: 1.2;
  text-align: center;
  box-sizing: border-box;
}

body.sst-page-home .sst-home-region-card__links a:hover ,
body.sst-page-stays-hub .sst-home-region-card__links a:hover {
  border-color: #0770e3;
  background: #eff6ff;
  color: #0557b0;
  text-decoration: none;
}

@media (max-width: 420px) {
  body.sst-page-home .sst-home-region-card__links ,
  body.sst-page-stays-hub .sst-home-region-card__links {
    flex-direction: column;
    gap: 8px;
  }

  body.sst-page-home .sst-home-region-card__links a ,
  body.sst-page-stays-hub .sst-home-region-card__links a {
    flex: 1 1 auto;
    width: 100%;
  }

  body.sst-page-home .sst-home-region-card--dual .sst-home-region-card__body ,
  body.sst-page-stays-hub .sst-home-region-card--dual .sst-home-region-card__body {
    padding: 12px 12px 14px;
  }
}

body.sst-page-home .sst-home-region-card strong , body.sst-page-stays-hub .sst-home-region-card strong {

  display: block;

  color: var(--ink, #0f172a);

  font-size: 1.12rem;

  margin-bottom: 6px;

}



body.sst-page-home .sst-home-region-card small , body.sst-page-stays-hub .sst-home-region-card small {

  display: block;

  color: var(--muted, #64748b);

  font-size: 0.82rem;

  line-height: 1.45;

  font-weight: 700;

}



body.sst-page-home .sst-home-route-card--priced span , body.sst-page-stays-hub .sst-home-route-card--priced span {

  min-height: 0;

}



/* Route cards: keep price + blurb only (airport line redundant with LON/MAN chip in title context) */

body.sst-page-home .sst-home-routes-carousel .sst-home-route-origin ,

body.sst-page-stays-hub .sst-home-routes-carousel .sst-home-route-origin {

  position: absolute;

  width: 1px;

  height: 1px;

  padding: 0;

  margin: -1px;

  overflow: hidden;

  clip: rect(0, 0, 0, 0);

  white-space: nowrap;

  border: 0;

}



body.sst-page-home .sst-home-route-live-price , body.sst-page-stays-hub .sst-home-route-live-price {

  display: block;

  margin: 0 0 4px;

  font-style: normal;

  font-size: 0.88rem;

  font-weight: 900;

  color: #0557b0;

  letter-spacing: -0.01em;

}



body.sst-page-home .sst-home-route-origin , body.sst-page-stays-hub .sst-home-route-origin {

  display: block;

  margin: 0 0 6px;

  font-size: 0.72rem;

  font-weight: 800;

  color: #475569;

  letter-spacing: 0.01em;

  line-height: 1.35;

}



body.sst-page-home .sst-home-route-origin-code , body.sst-page-stays-hub .sst-home-route-origin-code {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  min-width: 2.4em;

  margin-right: 4px;

  padding: 1px 6px;

  border-radius: 6px;

  background: #eef4ff;

  border: 1px solid #dbe7f7;

  color: #0557b0;

  font-size: 0.68rem;

  font-weight: 900;

  letter-spacing: 0.04em;

  text-decoration: none;

}



body.sst-page-home .sst-home-route-live-price:not([data-sst-price-loaded="1"]) , body.sst-page-stays-hub .sst-home-route-live-price:not([data-sst-price-loaded="1"]) {

  color: #64748b;

  font-weight: 700;

  font-size: 0.78rem;

}



body.sst-page-home .sst-home-route-prices-note , body.sst-page-stays-hub .sst-home-route-prices-note {

  margin: 10px 2px 0;

  font-size: 0.875rem;

  color: #475569;

  line-height: 1.45;

  font-weight: 600;

  max-width: 72ch;

}



body.sst-page-home .sst-home-routes-carousel .sst-home-carousel-slide , body.sst-page-stays-hub .sst-home-routes-carousel .sst-home-carousel-slide,
body.sst-page-home .sst-home-explore-regions-carousel .sst-home-carousel-slide , body.sst-page-stays-hub .sst-home-explore-regions-carousel .sst-home-carousel-slide {

  flex: 0 0 min(84vw, 300px);

}

body.sst-page-home .sst-home-featured-stays-carousel .sst-home-carousel-slide , body.sst-page-stays-hub .sst-home-featured-stays-carousel .sst-home-carousel-slide {

  flex: 0 0 min(84vw, 272px);

}

body.sst-page-home .sst-home-featured-stays-carousel .sst-home-stay-pick , body.sst-page-stays-hub .sst-home-featured-stays-carousel .sst-home-stay-pick {

  min-height: 100%;

}



body.sst-page-home .sst-home-carousel-btn , body.sst-page-stays-hub .sst-home-carousel-btn {

  position: absolute;

  top: 50%;

  transform: translateY(-50%);

  z-index: 4;

  width: 36px;

  height: 36px;

  border: none;

  border-radius: 50%;

  background: #475569;

  color: #fff;

  font-size: 1.2rem;

  line-height: 1;

  cursor: pointer;

  display: none;

  align-items: center;

  justify-content: center;

  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.2);

}



body.sst-page-home .sst-home-carousel-btn:hover , body.sst-page-stays-hub .sst-home-carousel-btn:hover {

  background: #334155;

}



body.sst-page-home .sst-home-carousel-btn:disabled , body.sst-page-stays-hub .sst-home-carousel-btn:disabled {

  opacity: 0.35;

  cursor: default;

}



body.sst-page-home .sst-home-carousel-btn--prev , body.sst-page-stays-hub .sst-home-carousel-btn--prev {

  left: -4px;

}



body.sst-page-home .sst-home-carousel-btn--next , body.sst-page-stays-hub .sst-home-carousel-btn--next {

  right: -4px;

}



body.sst-page-home .sst-home-carousel-hint , body.sst-page-stays-hub .sst-home-carousel-hint {

  margin: 8px 0 0;

  text-align: center;

  font-size: 0.76rem;

  font-weight: 700;

  color: var(--muted, #64748b);

}



body.sst-page-home .sst-home-region-block + .sst-home-region-block , body.sst-page-stays-hub .sst-home-region-block + .sst-home-region-block {

  margin-top: 26px;

  padding-top: 22px;

  border-top: 1px solid #e2e8f0;

}



/* Travel Atmosphere + UK stays — full editorial cards */

body.sst-page-home .sst-home-atmo-carousel, body.sst-page-stays-hub .sst-home-atmo-carousel,

body.sst-page-home .sst-home-uk-stays-carousel , body.sst-page-stays-hub .sst-home-uk-stays-carousel {

  margin-top: 0;

}



body.sst-page-home .sst-home-atmo-carousel .sst-home-carousel-slide, body.sst-page-stays-hub .sst-home-atmo-carousel .sst-home-carousel-slide,

body.sst-page-home .sst-home-uk-stays-carousel .sst-home-carousel-slide , body.sst-page-stays-hub .sst-home-uk-stays-carousel .sst-home-carousel-slide {

  flex: 0 0 min(88vw, 320px);

  display: flex;

  align-items: stretch;

}



body.sst-page-home .sst-home-uk-stays-carousel .sst-home-carousel-slide , body.sst-page-stays-hub .sst-home-uk-stays-carousel .sst-home-carousel-slide {

  flex: 0 0 min(90vw, 340px);

}



body.sst-page-home .sst-home-atmo-carousel .sst-home-carousel-slide .atmo-v2-card, body.sst-page-stays-hub .sst-home-atmo-carousel .sst-home-carousel-slide .atmo-v2-card,

body.sst-page-home .sst-home-uk-stays-carousel .sst-home-carousel-slide .atmo-v2-card , body.sst-page-stays-hub .sst-home-uk-stays-carousel .sst-home-carousel-slide .atmo-v2-card {

  width: 100%;

}



@media (min-width: 720px) {

  body.sst-page-home .sst-home-carousel , body.sst-page-stays-hub .sst-home-carousel {

    padding: 0;

  }



  body.sst-page-home .sst-home-carousel-track , body.sst-page-stays-hub .sst-home-carousel-track {

    scroll-snap-type: x proximity;

    padding: 8px 0 16px;

  }



  /* Exactly 3 region/route cards across the content width */

  body.sst-page-home .sst-home-carousel-slide , body.sst-page-stays-hub .sst-home-carousel-slide {

    flex: 0 0 calc((100% - (2 * var(--sst-home-carousel-gap))) / 3);

  }



  body.sst-page-home .sst-home-routes-carousel .sst-home-carousel-slide , body.sst-page-stays-hub .sst-home-routes-carousel .sst-home-carousel-slide,
  body.sst-page-home .sst-home-explore-regions-carousel .sst-home-carousel-slide , body.sst-page-stays-hub .sst-home-explore-regions-carousel .sst-home-carousel-slide {

    /* ~2.4 cards wide — larger than the compact 3-across default */
    flex: 0 0 calc((100% - (1.4 * var(--sst-home-carousel-gap))) / 2.4);

  }



  body.sst-page-home .sst-home-atmo-carousel .sst-home-carousel-slide, body.sst-page-stays-hub .sst-home-atmo-carousel .sst-home-carousel-slide,

  body.sst-page-home .sst-home-uk-stays-carousel .sst-home-carousel-slide, body.sst-page-stays-hub .sst-home-uk-stays-carousel .sst-home-carousel-slide,

  body.sst-page-home .sst-home-featured-stays-carousel .sst-home-carousel-slide , body.sst-page-stays-hub .sst-home-featured-stays-carousel .sst-home-carousel-slide {

    flex: 0 0 calc((100% - (2 * var(--sst-home-carousel-gap))) / 3);

  }



  body.sst-page-home .sst-home-carousel-btn , body.sst-page-stays-hub .sst-home-carousel-btn {

    display: flex;

    opacity: 0;

    pointer-events: none;

    transition: opacity 0.2s ease, background 0.2s ease;

    border: 1px solid rgba(255, 255, 255, 0.35);

  }



  body.sst-page-home .sst-home-carousel:hover .sst-home-carousel-btn:not(:disabled), body.sst-page-stays-hub .sst-home-carousel:hover .sst-home-carousel-btn:not(:disabled),

  body.sst-page-home .sst-home-carousel:focus-within .sst-home-carousel-btn:not(:disabled) , body.sst-page-stays-hub .sst-home-carousel:focus-within .sst-home-carousel-btn:not(:disabled) {

    opacity: 1;

    pointer-events: auto;

  }



  body.sst-page-home .sst-home-carousel-btn--prev , body.sst-page-stays-hub .sst-home-carousel-btn--prev {

    left: 10px;

  }



  body.sst-page-home .sst-home-carousel-btn--next , body.sst-page-stays-hub .sst-home-carousel-btn--next {

    right: 10px;

  }



  body.sst-page-home .sst-home-carousel-hint , body.sst-page-stays-hub .sst-home-carousel-hint {

    display: none;

  }



  body.sst-page-home .sst-home-atmo-carousel .atmo-v2-card:hover, body.sst-page-stays-hub .sst-home-atmo-carousel .atmo-v2-card:hover,

  body.sst-page-home .sst-home-uk-stays-carousel .atmo-v2-card:hover , body.sst-page-stays-hub .sst-home-uk-stays-carousel .atmo-v2-card:hover {

    transform: translateY(-2px);

  }

}



@media (min-width: 1020px) {

  /* Exactly 4 compact cards across — no awkward partial column */

  body.sst-page-home .sst-home-carousel-slide , body.sst-page-stays-hub .sst-home-carousel-slide {

    flex: 0 0 calc((100% - (3 * var(--sst-home-carousel-gap))) / 4);

  }



  body.sst-page-home .sst-home-routes-carousel .sst-home-carousel-slide , body.sst-page-stays-hub .sst-home-routes-carousel .sst-home-carousel-slide,
  body.sst-page-home .sst-home-explore-regions-carousel .sst-home-carousel-slide , body.sst-page-stays-hub .sst-home-explore-regions-carousel .sst-home-carousel-slide {

    /* 3 larger cards across instead of 4 compact ones */
    flex: 0 0 calc((100% - (2 * var(--sst-home-carousel-gap))) / 3);

  }



  body.sst-page-home .sst-home-atmo-carousel .sst-home-carousel-slide, body.sst-page-stays-hub .sst-home-atmo-carousel .sst-home-carousel-slide,

  body.sst-page-home .sst-home-uk-stays-carousel .sst-home-carousel-slide, body.sst-page-stays-hub .sst-home-uk-stays-carousel .sst-home-carousel-slide,

  body.sst-page-home .sst-home-featured-stays-carousel .sst-home-carousel-slide , body.sst-page-stays-hub .sst-home-featured-stays-carousel .sst-home-carousel-slide {

    flex: 0 0 calc((100% - (2 * var(--sst-home-carousel-gap))) / 3);

  }

}



@media (max-width: 719px) {

  body.sst-page-home, body.sst-page-stays-hub, body.sst-page-sky22 {

    --sst-home-mobile-slide: calc(100vw - 32px);

    --sst-home-mobile-peek: 22px;

    --sst-home-mobile-slide-peek: calc(100vw - 32px - (2 * var(--sst-home-mobile-peek)));

  }



  body.sst-page-home .sst-home-atmo-carousel, body.sst-page-stays-hub .sst-home-atmo-carousel,
  body.sst-page-sky22 .sst-home-atmo-carousel,

  body.sst-page-home .sst-home-featured-stays-carousel, body.sst-page-stays-hub .sst-home-featured-stays-carousel,

  body.sst-page-home .sst-home-flights-regions-carousel, body.sst-page-stays-hub .sst-home-flights-regions-carousel,

  body.sst-page-home .sst-home-stays-regions-carousel, body.sst-page-stays-hub .sst-home-stays-regions-carousel,

  body.sst-page-home .sst-home-explore-regions-carousel, body.sst-page-stays-hub .sst-home-explore-regions-carousel,

  body.sst-page-home .sst-home-routes-carousel, body.sst-page-stays-hub .sst-home-routes-carousel,

  body.sst-page-home .sst-home-uk-stays-carousel , body.sst-page-stays-hub .sst-home-uk-stays-carousel {

    width: 100vw;

    max-width: 100vw;

    margin-left: calc(50% - 50vw);

    margin-right: calc(50% - 50vw);

  }



  body.sst-page-home .sst-home-atmo-carousel .sst-home-carousel-track, body.sst-page-stays-hub .sst-home-atmo-carousel .sst-home-carousel-track,
  body.sst-page-sky22 .sst-home-atmo-carousel .sst-home-carousel-track,

  body.sst-page-home .sst-home-featured-stays-carousel .sst-home-carousel-track, body.sst-page-stays-hub .sst-home-featured-stays-carousel .sst-home-carousel-track,

  body.sst-page-home .sst-home-flights-regions-carousel .sst-home-carousel-track, body.sst-page-stays-hub .sst-home-flights-regions-carousel .sst-home-carousel-track,

  body.sst-page-home .sst-home-stays-regions-carousel .sst-home-carousel-track, body.sst-page-stays-hub .sst-home-stays-regions-carousel .sst-home-carousel-track,

  body.sst-page-home .sst-home-explore-regions-carousel .sst-home-carousel-track, body.sst-page-stays-hub .sst-home-explore-regions-carousel .sst-home-carousel-track,

  body.sst-page-home .sst-home-routes-carousel .sst-home-carousel-track, body.sst-page-stays-hub .sst-home-routes-carousel .sst-home-carousel-track,

  body.sst-page-home .sst-home-uk-stays-carousel .sst-home-carousel-track , body.sst-page-stays-hub .sst-home-uk-stays-carousel .sst-home-carousel-track {

    scroll-padding-inline: 16px;

    padding-inline: 16px;

    gap: 12px;

  }



  /* Mood cards — full-width centred slide, no side peek */

  body.sst-page-home .sst-home-atmo-carousel .sst-home-carousel-slide , body.sst-page-stays-hub .sst-home-atmo-carousel .sst-home-carousel-slide,
  body.sst-page-sky22 .sst-home-atmo-carousel .sst-home-carousel-slide {

    flex: 0 0 var(--sst-home-mobile-slide);

    scroll-snap-align: center;

    scroll-snap-stop: always;

  }



  /* All other home carousels — slightly narrower so neighbours peek at the edges */

  body.sst-page-home .sst-home-featured-stays-carousel .sst-home-carousel-slide, body.sst-page-stays-hub .sst-home-featured-stays-carousel .sst-home-carousel-slide,

  body.sst-page-home .sst-home-flights-regions-carousel .sst-home-carousel-slide, body.sst-page-stays-hub .sst-home-flights-regions-carousel .sst-home-carousel-slide,

  body.sst-page-home .sst-home-stays-regions-carousel .sst-home-carousel-slide, body.sst-page-stays-hub .sst-home-stays-regions-carousel .sst-home-carousel-slide,

  body.sst-page-home .sst-home-explore-regions-carousel .sst-home-carousel-slide, body.sst-page-stays-hub .sst-home-explore-regions-carousel .sst-home-carousel-slide,

  body.sst-page-home .sst-home-routes-carousel .sst-home-carousel-slide, body.sst-page-stays-hub .sst-home-routes-carousel .sst-home-carousel-slide,

  body.sst-page-home .sst-home-uk-stays-carousel .sst-home-carousel-slide , body.sst-page-stays-hub .sst-home-uk-stays-carousel .sst-home-carousel-slide {

    flex: 0 0 var(--sst-home-mobile-slide-peek);

    scroll-snap-align: center;

    scroll-snap-stop: always;

  }

  body.sst-page-home .sst-home-explore-regions-carousel .sst-home-carousel-slide,
  body.sst-page-stays-hub .sst-home-explore-regions-carousel .sst-home-carousel-slide,
  body.sst-page-home .sst-home-routes-carousel .sst-home-carousel-slide,
  body.sst-page-stays-hub .sst-home-routes-carousel .sst-home-carousel-slide {
    /* Wider mobile cards — less side peek */
    flex: 0 0 calc(100vw - 28px - 20px);
  }



  body.sst-page-home .sst-home-flights-regions-carousel .sst-home-region-card img, body.sst-page-stays-hub .sst-home-flights-regions-carousel .sst-home-region-card img,

  body.sst-page-home .sst-home-stays-regions-carousel .sst-home-region-card img, body.sst-page-stays-hub .sst-home-stays-regions-carousel .sst-home-region-card img,

  body.sst-page-home .sst-home-explore-regions-carousel .sst-home-region-card img, body.sst-page-stays-hub .sst-home-explore-regions-carousel .sst-home-region-card img,

  body.sst-page-home .sst-home-routes-carousel .sst-home-region-card img , body.sst-page-stays-hub .sst-home-routes-carousel .sst-home-region-card img {

    height: auto;

    aspect-ratio: 16 / 10;

    min-height: 0;

    max-height: none;

    object-fit: cover;

  }

}



@media (prefers-reduced-motion: reduce) {

  body.sst-page-home .sst-home-carousel-track , body.sst-page-stays-hub .sst-home-carousel-track {

    scroll-behavior: auto;

  }



  body.sst-page-home .sst-home-carousel-btn , body.sst-page-stays-hub .sst-home-carousel-btn {

    opacity: 1;

    pointer-events: auto;

    transition: none;

  }

}



/* —— Stays hub (sky22) trip-styles carousel — mobile swipe only —— */
body.sst-page-sky22 {
  --sst-home-carousel-gap: 14px;
}
body.sst-page-sky22 #trip-styles.sst-wrap,
body.sst-page-sky22 .atmosphere-section--v2 {
  overflow: visible;
}

@media (min-width: 720px) {
  body.sst-page-sky22 .sst-stays-trip-styles-carousel {
    position: static;
    margin-top: 0;
  }
  body.sst-page-sky22 .sst-stays-trip-styles-carousel .sst-home-carousel-track {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    overflow: visible;
    scroll-snap-type: none;
    padding: 0;
    margin: 0;
  }
  body.sst-page-sky22 .sst-stays-trip-styles-carousel .sst-home-carousel-slide {
    flex: unset;
    min-width: 0;
    scroll-snap-align: unset;
    display: block;
  }
  body.sst-page-sky22 .sst-stays-trip-styles-carousel .sst-home-carousel-btn,
  body.sst-page-sky22 .sst-stays-trip-styles-carousel .sst-home-carousel-hint {
    display: none !important;
  }
}

@media (min-width: 720px) and (max-width: 980px) {
  body.sst-page-sky22 .sst-stays-trip-styles-carousel .sst-home-carousel-track {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }
}

@media (max-width: 719px) {
  body.sst-page-sky22 .sst-stays-trip-styles-carousel {
    position: relative;
    margin-top: 4px;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
  body.sst-page-sky22 .sst-stays-trip-styles-carousel .sst-home-carousel-track {
    display: flex !important;
    gap: var(--sst-home-carousel-gap) !important;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    scroll-padding-inline: 16px;
    padding: 6px 16px 14px;
    margin: 0;
  }
  body.sst-page-sky22 .sst-stays-trip-styles-carousel .sst-home-carousel-track::-webkit-scrollbar {
    display: none;
  }
  body.sst-page-sky22 .sst-stays-trip-styles-carousel .sst-home-carousel-slide {
    flex: 0 0 var(--sst-home-mobile-slide, calc(100vw - 32px));
    scroll-snap-align: center;
    scroll-snap-stop: always;
    min-width: 0;
    display: flex;
    align-items: stretch;
  }
  body.sst-page-sky22 .sst-stays-trip-styles-carousel .sst-home-carousel-slide .atmo-v2-card {
    width: 100%;
  }
  body.sst-page-sky22 .sst-stays-trip-styles-carousel .sst-home-carousel-btn {
    display: none;
  }
  body.sst-page-sky22 .sst-stays-trip-styles-carousel .sst-home-carousel-hint {
    margin: 0;
    text-align: center;
    font-size: 0.78rem;
    font-weight: 700;
    color: #64748b;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.sst-page-sky22 .sst-stays-trip-styles-carousel .sst-home-carousel-track {
    scroll-behavior: auto;
  }
}