/* SkyStayTravel — technical perf/a11y pass (no layout or branding changes) */

:root {
  --sst-carousel-gap: 12px;
  --sst-carousel-peek: 20px;
  --sst-hero-pill-bg: rgba(10, 30, 70, 0.78);
  --sst-hero-pill-border: rgba(255, 255, 255, 0.28);
  --sst-body-text: #1f2937;
  --sst-subtext: #374151;
  --sst-text-floor: #4b5563;
}

/* Light-page text tokens — body #1f2937, subtext #374151, floor #4b5563 */
body:not(.sst-dark) {
  color: var(--sst-body-text);
  --muted: var(--sst-subtext);
  --t2: var(--sst-subtext);
  --t3: var(--sst-text-floor);
  --pkg-muted: var(--sst-subtext);
}

/* Screen-reader-only labels (newsletter, etc.) */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* —— Light-surface body copy (#374151) —— */
body:not(.sst-dark) main p,
body:not(.sst-dark) main li,
body:not(.sst-dark) article p,
body:not(.sst-dark) article li,
body:not(.sst-dark) .page-inner p,
body:not(.sst-dark) .page-inner li,
body:not(.sst-dark) .sst-commercial-article p,
body:not(.sst-dark) .sst-commercial-article li,
body:not(.sst-dark) .intro-copy p,
body:not(.sst-dark) .intro-copy li,
body:not(.sst-dark) .intro-panel,
body:not(.sst-dark) .intro-panel li,
body:not(.sst-dark) .post-body p,
body:not(.sst-dark) .post-body li,
body:not(.sst-dark) .blog-body p,
body:not(.sst-dark) .blog-body li,
body:not(.sst-dark) .sst-route-body p,
body:not(.sst-dark) .sst-route-body li,
body:not(.sst-dark) .atmo-v2-card__body p,
body:not(.sst-dark) .sst-fl-v1-head p,
body:not(.sst-dark) .sst-home-london-picks-callout__body > p:not(.sst-home-london-picks-callout__badge),
body:not(.sst-dark) .info-card p,
body:not(.sst-dark) .sst-flight-note-panel p,
body:not(.sst-dark) .sst-flight-tip p {
  color: var(--sst-body-text);
}

/* —— Secondary / intro subtext (#4b5563) —— */
body:not(.sst-dark) .section-head p,
body:not(.sst-dark) .sec .sub,
body:not(.sst-dark) .atmo-v2-card__desc,
body:not(.sst-dark) .sst-article-card--editorial .sst-article-card-desc,
body:not(.sst-dark) .sst-fl-v1-hint,
body:not(.sst-dark) .search-powered,
body:not(.sst-dark) .page-inner .lead,
body:not(.sst-dark) .page-inner .small,
body:not(.sst-dark) .sst-commercial-intro p,
body:not(.sst-dark) .sst-click-disclosure,
body:not(.sst-dark) .sst-related-block p,
body:not(.sst-dark) .sst-affiliate-partners-note,
body:not(.sst-dark) .sst-dest-explore,
body:not(.sst-dark) .sst-partner-note,
body:not(.sst-dark) .sst-act-disclosure,
body:not(.sst-dark) .sst-widget-space p,
body:not(.sst-dark) .hero-mini-grid span,
body:not(.sst-dark) .sst-articles-cat-lead,
body.sst-page-car-rental .search-panel .search-powered,
body.sst-page-package-holidays .pkg-expedia-search-powered,
body:not(.sst-dark) [class*="__desc"]:not([class*="card__title"]):not(.atmo-v2-card__title),
body:not(.sst-dark) [class*="__hint"],
body:not(.sst-dark) [class*="__note"],
body:not(.sst-dark) [class*="__meta"],
body:not(.sst-dark) [class*="__subtext"],
body:not(.sst-dark) [class*="__lead"],
body:not(.sst-dark) [class*="__eyebrow"]:not(.hero *):not(.slide-content *):not(.sst-commercial-hero *):not(.sst-decision-hero *),
body:not(.sst-dark) .small:not(.hero *):not(.slide-content *) {
  color: var(--sst-subtext) !important;
}

/* Coloured CTA surfaces — keep sub-labels light (beat global __hint / __note tokens) */
body:not(.sst-dark) .sst-hm-action--primary .sst-hm-action__hint,
body:not(.sst-dark) a.sst-hm-action--primary [class*="__hint"],
body:not(.sst-dark) [class*="--primary"][class*="action"] [class*="__hint"] {
  color: rgba(255, 255, 255, 0.92) !important;
}

body:not(.sst-dark) .sst-hm-action--plan,
body:not(.sst-dark) a.sst-hm-action--plan {
  color: #fff !important;
  background: #0770e3 !important;
  border-color: #0770e3 !important;
}

body:not(.sst-dark) .sst-hm-action--plan .sst-hm-action__label,
body:not(.sst-dark) a.sst-hm-action--plan .sst-hm-action__label {
  color: #fff !important;
}

body:not(.sst-dark) .sst-hm-action--plan .sst-hm-action__hint,
body:not(.sst-dark) a.sst-hm-action--plan [class*="__hint"] {
  color: rgba(255, 255, 255, 0.92) !important;
}

body:not(.sst-dark) .sst-hm-results-foot,
body:not(.sst-dark) .sst-hm-results-foot h3,
body:not(.sst-dark) .sst-hm-results-foot p {
  color: #0f172a !important;
}

body:not(.sst-dark) .sst-hm-results-foot p {
  color: #334155 !important;
}

/* Article / blog blue CTA boxes — beat .article-body p/h3 dark text on coloured surfaces */
body:not(.sst-dark) .article-body .cta-box,
body:not(.sst-dark) .cta-box {
  color: #fff;
}
body:not(.sst-dark) .article-body .cta-box h3,
body:not(.sst-dark) .cta-box h3 {
  color: #fff !important;
}
body:not(.sst-dark) .article-body .cta-box p,
body:not(.sst-dark) .cta-box p {
  color: rgba(255, 255, 255, 0.92) !important;
}

/* Hardcoded faint greys (#64748b, #94a3b8, #9ca3af) on light panels */
body:not(.sst-dark) .atmo-v2-card__stat,
body:not(.sst-dark) .atmo-v2-card__foot,
body:not(.sst-dark) .sst-home-search-powered,
body:not(.sst-dark) .sst-hub-card-desc,
body:not(.sst-dark) .sst-pop-route-sub,
body:not(.sst-dark) .pkg-expedia-search-powered,
body:not(.sst-dark) .sst-stay22-exp-foot,
body:not(.sst-dark) .sst-act-trust-pill span,
body:not(.sst-dark) .sst-act-featured-card p,
body:not(.sst-dark) .sst-act-path small,
body:not(.sst-dark) .sst-act-type p,
body:not(.sst-dark) .sst-act-city span,
body:not(.sst-dark) .sst-uk-act-carousel-hint,
body:not(.sst-dark) .sst-exp-pathway-hint,
body:not(.sst-dark) .sst-route-editorial-lead,
body:not(.sst-dark) .sst-commercial-card-desc,
body:not(.sst-dark) .sst-fl-route-slide-sub,
body:not(.sst-dark) .sst-car-dest-slide-sub {
  color: var(--sst-subtext) !important;
}

/* Homepage guide / carousel cards — readable subtext on light cards */
body.sst-page-home #guides .sst-article-card--editorial .sst-article-card-desc,
body.sst-page-home #guides .sst-articles-sec .sst-article-card--editorial .sst-article-card-desc,
body.sst-page-home .sst-home-region-card small,
body.sst-page-home .sst-home-region-card__body small,
body.sst-page-home .sst-home-carousel-hint,
body.sst-page-home .sst-featured-stays-foot,
body.sst-page-home .atmo-v2-featured small,
body.sst-page-home .sst-home-stay-pick__body small,
body.sst-page-home .sst-home-search-pane p.sst-home-search-lead,
body.sst-page-home .sst-home-trip-powered,
body.sst-page-home .sst-home-search-powered,
body.sst-page-home .sst-home-stays-hubs-label,
body.sst-page-home .sst-home-route-prices-note,
body.sst-page-home .sst-home-stay-pick__guide,
body.sst-page-home .sst-hm-kicker,
body.sst-page-home .section-head p,
body.sst-page-home .atmo-v2-card__desc {
  color: var(--sst-subtext) !important;
}

body.sst-page-home #guides .sst-articles-sec .sst-article-card--editorial .sst-article-card-cta {
  color: var(--sst-body-text) !important;
}

body.sst-page-home .atmo-v2-featured__cta,
body.sst-page-home .sst-home-stay-pick__cta {
  color: #0770e3 !important;
}

/* Activities + car hire hub cards — bump faint greys on white cards */
body.sst-page-tours .sst-act-featured-card p,
body.sst-page-tours .sst-act-trust-pill span,
body.sst-page-tours .sst-act-disclosure,
body.sst-page-tours .cat small,
body.sst-page-tours .tp-slot-desc,
body.sst-page-tours .tp-links-desc,
body.sst-page-tours .rd-features li,
body.sst-page-car-rental .ed-card p,
body.sst-page-car-rental .sst-car-type-card p,
body.sst-page-car-rental .widget-intro,
body.sst-page-car-rental .search-powered {
  color: var(--sst-subtext) !important;
}

@media (max-width: 760px) {
  body.sst-page-home #guides .sst-article-card--editorial .sst-article-card-desc,
  body.sst-page-home .sst-home-region-card small {
    font-size: 0.92rem !important;
    line-height: 1.6;
  }
}

/* Blue brand surfaces — keep light text (never dark body tokens on blue) */
.sst-article-card:not(.sst-article-card--editorial),
.sst-article-card:not(.sst-article-card--editorial) .sst-article-card-title,
.sst-article-card:not(.sst-article-card--editorial) .sst-article-card-desc,
.sst-article-card:not(.sst-article-card--editorial) .sst-article-card-tag,
.sst-article-banner,
.sst-article-banner .sst-article-banner-eyebrow,
.sst-article-banner .sst-article-banner-title,
.sst-article-banner .sst-article-banner-sub,
.sst-article-banner .sst-article-banner-cta,
.sst-planning,
.sst-planning h2,
.sst-planning p,
.sst-plan-link strong,
.sst-plan-link span,
.sst-act-plan-link strong,
.sst-act-plan-link span,
body.sst-page-tours .sst-viator-strip,
body.sst-page-tours .sst-viator-strip h2,
body.sst-page-tours .sst-viator-strip p,
body.sst-page-car-rental .sst-expedia-car-strip,
body.sst-page-car-rental .sst-expedia-car-strip h2,
body.sst-page-car-rental .sst-expedia-car-strip p {
  color: inherit;
}

.sst-article-card:not(.sst-article-card--editorial) {
  color: #fff !important;
}

.sst-article-card:not(.sst-article-card--editorial) .sst-article-card-title {
  color: #fff !important;
}

.sst-article-card:not(.sst-article-card--editorial) .sst-article-card-desc {
  color: rgba(255, 255, 255, 0.82) !important;
}

.sst-article-card:not(.sst-article-card--editorial) .sst-article-card-tag {
  color: rgba(255, 255, 255, 0.72) !important;
}

.sst-article-banner,
.sst-article-banner .sst-article-banner-title {
  color: #fff !important;
}

.sst-article-banner .sst-article-banner-eyebrow {
  color: rgba(255, 255, 255, 0.72) !important;
}

.sst-article-banner .sst-article-banner-sub {
  color: rgba(255, 255, 255, 0.78) !important;
}

.sst-article-banner .sst-article-banner-cta {
  color: #fff !important;
}

.sst-planning,
.sst-planning h2,
.sst-plan-link strong,
.sst-act-plan-link strong {
  color: #fff !important;
}

.sst-planning p,
.sst-plan-link span,
.sst-act-plan-link span {
  color: rgba(255, 255, 255, 0.78) !important;
}

body.sst-page-tours .sst-viator-strip,
body.sst-page-tours .sst-viator-strip h2,
body.sst-page-car-rental .sst-expedia-car-strip,
body.sst-page-car-rental .sst-expedia-car-strip h2 {
  color: #fff !important;
}

body.sst-page-tours .sst-viator-strip p,
body.sst-page-car-rental .sst-expedia-car-strip p {
  color: rgba(255, 255, 255, 0.92) !important;
}

/* Homepage packages strip — light copy on navy/blue gradient */
body.sst-page-home .sst-home-book-strip__copy h2 {
  color: #fff !important;
}

body.sst-page-home .sst-home-book-strip__copy p {
  color: rgba(255, 255, 255, 0.92) !important;
}

/* Car hire — QEEQ primary provider card (beat article p dark body tokens on blue) */
body.sst-page-car-rental .sst-car-provider-cta--primary strong {
  color: #fff !important;
}

body.sst-page-car-rental .sst-car-provider-cta--primary p {
  color: rgba(255, 255, 255, 0.92) !important;
}

body.sst-page-car-rental .sst-car-provider-cta--primary .sst-car-provider-tag {
  color: #fff6d2 !important;
}

body.sst-page-car-rental .sst-car-provider-cta--primary > a:not(.sst-soft-link) {
  color: #0557b0 !important;
}

/* Regional flights + stays hub — blue bottom cards (beat main p dark tokens) */
.editorial-panel,
.editorial-panel h2,
body.sst-page-stays-hub .related,
body.sst-page-stays-hub .related h2,
body.sst-page-stays-hub .related-grid a strong {
  color: #fff !important;
}

.editorial-panel p,
.editorial-panel .tip-list span,
body.sst-page-stays-hub .related p,
body.sst-page-stays-hub .related-grid a span {
  color: rgba(255, 255, 255, 0.88) !important;
}

.editorial-panel .tip-list strong,
body.sst-page-stays-hub .related-grid a {
  color: #fff !important;
}

body.sst-page-stays-hub .related-grid a:hover strong,
body.sst-page-stays-hub .related-grid a:hover span {
  color: #fff !important;
}

/* Footer muted text on dark blue — slight opacity lift for readability */
footer.sst-footer-premium .sst-fbot-copy {
  color: rgba(255, 255, 255, 0.78);
}

/* Mobile legal row — match site-wide footer (foundation); links stay gold */
footer.sst-footer-premium .sst-footer-mobile-legal,
footer.sst-footer-commercial .sst-footer-mobile-legal {
  color: rgba(255, 255, 255, 0.88);
}

footer.sst-footer-premium .sst-footer-mobile-legal a,
footer.sst-footer-commercial .sst-footer-mobile-legal a {
  color: #ffd166;
  font-weight: 700;
}

footer.sst-footer-premium .sst-ft-dim,
footer.sst-footer-premium .fb-desc {
  color: rgba(255, 255, 255, 0.72);
}

/* Cookie banner visuals live in /assets/sst-cookie-consent.css (card + preferences).
   Keep a minimal fallback so legacy pages still hide the bar until .show. */
.sst-cookie-banner {
  display: none;
  z-index: 10000;
}

.sst-cookie-banner.show {
  display: flex;
}

/* Focus visibility for keyboard users — no visual change for mouse users */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid #0770e3;
  outline-offset: 2px;
}

/* —— Hero / overlay pills — WCAG AA contrast on image backgrounds —— */
.hero .btn-soft,
.hero-actions .btn-soft,
.hero-actions-primary .btn-soft,
.hero-actions-more .btn-hero-pathway,
.btn-hero-pathway,
body.sst-page-route .hero .btn-soft,
body.sst-page-flights-hub .hero .btn-soft,
body.sst-page-route .sst-route-hero .btn-soft {
  background: var(--sst-hero-pill-bg);
  border: 1px solid var(--sst-hero-pill-border);
  color: #fff;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.18);
}

.hero .btn-soft:hover,
.hero-actions .btn-soft:hover,
.btn-hero-pathway:hover,
body.sst-page-route .hero .btn-soft:hover {
  background: rgba(10, 30, 70, 0.88);
  border-color: rgba(255, 255, 255, 0.38);
}

body.sst-page-route .sst-route-kicker,
.sst-route-kicker {
  background: var(--sst-hero-pill-bg);
  border-color: var(--sst-hero-pill-border);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* —— Primary button palette —— */
.newsletter-btn,
.newsletter-form button[type="submit"],
.ml-form-embedSubmit button.primary,
.ml-form-embedSubmit button[type="submit"],
#mlb2-41193434.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-horizontalRow button.primary,
#mlb2-41193434.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-horizontalRow button[type="submit"],
#mlb2-41193434 .ml-button-horizontal.primary button.primary,
#mlb2-41193434 .ml-button-horizontal.primary button[type="submit"],
#mlb2-41193434 .ml-mobileButton-horizontal button.primary,
#mlb2-41193434 .ml-mobileButton-horizontal button[type="submit"],
.sst-newsletter-panel #mlb2-41193434 .ml-form-horizontalRow button,
.sst-newsletter-panel #mlb2-41193434 .ml-mobileButton-horizontal button {
  background: #0770e3 !important;
  background-color: #0770e3 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  min-height: 47px !important;
  box-shadow: 0 10px 22px rgba(7, 112, 227, 0.22) !important;
}

.newsletter-btn:hover,
.newsletter-form button[type="submit"]:hover,
.ml-form-embedSubmit button.primary:hover,
.ml-form-embedSubmit button[type="submit"]:hover,
#mlb2-41193434.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-horizontalRow button.primary:hover,
#mlb2-41193434.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-horizontalRow button[type="submit"]:hover,
#mlb2-41193434 .ml-button-horizontal.primary button.primary:hover,
#mlb2-41193434 .ml-mobileButton-horizontal button.primary:hover,
#mlb2-41193434 .ml-mobileButton-horizontal button[type="submit"]:hover,
.sst-newsletter-panel #mlb2-41193434 .ml-form-horizontalRow button:hover,
.sst-newsletter-panel #mlb2-41193434 .ml-mobileButton-horizontal button:hover {
  background: #0557b0 !important;
  background-color: #0557b0 !important;
}

/* —— Over-image pills — hub-pill contrast (map/hero photo backgrounds) —— */
body.sst-page-package-holidays .pkg-cta--soft,
body.sst-page-route .hero .btn-soft,
body.sst-page-flights-hub .hero .btn-soft {
  background: var(--sst-hero-pill-bg) !important;
  border: 1px solid var(--sst-hero-pill-border) !important;
  color: #fff !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.18);
}

body.sst-page-package-holidays .pkg-cta--soft:hover {
  background: rgba(10, 30, 70, 0.88) !important;
  border-color: rgba(255, 255, 255, 0.38) !important;
}

/* —— Image filters — full colour, no stuck hover desaturation —— */
body.sst-page-home .atmo-v2-card__media img,
body.sst-page-home .atmo-v2-featured img,
body.sst-page-home .sst-home-region-card img,
body.sst-page-home .sst-home-stay-pick__expedia img,
body.sst-page-flights .slide-bg,
body.sst-page-tours .slide-bg,
body.sst-page-car-rental .hero-car-bg,
body.sst-page-sky22 .sst-dest-card img,
body.sst-page-sky22 .sst-region-card img,
.sst-dest-card img,
.sst-region-card img,
.sst-pop-route-img {
  filter: none !important;
}

#dest-page-1 > a > img,
#dest-page-2 > a > img {
  filter: none !important;
}

@media (hover: hover) and (pointer: fine) {
  body.sst-page-home .atmo-v2-card:hover .atmo-v2-card__media img {
    transform: scale(1.05);
  }
}

/* —— Site-wide carousel peek (mobile) —— */
@media (max-width: 720px) {
  body.sst-page-flights .sst-fl-routes-carousel,
  body.sst-page-flights .sst-fl-regions-carousel,
  body.sst-page-sky22 .sst-stays-dest-carousel,
  body.sst-page-sky22 .sst-stays-region-carousel,
  body.sst-page-car-rental .sst-car-dest-carousel {
    container-type: inline-size;
  }

  body.sst-page-flights .sst-fl-routes-carousel-track,
  body.sst-page-flights .sst-fl-regions-carousel-track,
  body.sst-page-sky22 .sst-stays-dest-carousel-track,
  body.sst-page-sky22 .sst-stays-region-carousel-track,
  body.sst-page-car-rental .sst-car-dest-carousel-track {
    gap: var(--sst-carousel-gap) !important;
    scroll-padding-inline: 0 var(--sst-carousel-peek);
  }

  body.sst-page-flights .sst-fl-routes-carousel-track .sst-fl-route-slide,
  body.sst-page-flights .sst-fl-regions-carousel-track .sst-fl-region-slide,
  body.sst-page-sky22 .sst-stays-dest-slide,
  body.sst-page-sky22 .sst-stays-region-slide,
  body.sst-page-car-rental .sst-car-dest-slide {
    flex: 0 0 calc(100cqi - var(--sst-carousel-peek));
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
}

/* —— Tap targets ≥44×44px on mobile —— */
@media (max-width: 760px) {
  body > nav:not(.sst-ts-nav) .menu-btn,
  nav.sst-ts-nav .menu-btn {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
  }

  body.sst-page-flights .sst-fl-routes-carousel-btn,
  body.sst-page-sky22 .sst-stays-dest-carousel-btn,
  body.sst-page-sky22 .sst-stays-region-carousel-btn,
  body.sst-page-car-rental .sst-car-dest-carousel-btn,
  body.sst-page-home .sst-home-carousel-btn {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
  }

  body.sst-page-package-holidays .pkg-expedia-search-chips button {
    min-height: 44px;
    padding: 10px 14px;
  }

  body.sst-page-home .atmo-v2-card__dests a {
    min-height: 44px;
    padding: 8px 14px;
  }
}

/* —— Mobile body copy: 16px minimum, line length, spacing —— */
@media (max-width: 760px) {
  body:not(.sst-dark) {
    line-height: 1.55;
  }

  /* Reading copy — 16px floor; excludes nav, forms, chips, eyebrows */
  body:not(.sst-dark) main p,
  body:not(.sst-dark) article p,
  body:not(.sst-dark) .page-inner p,
  body:not(.sst-dark) .section-head p,
  body:not(.sst-dark) .sec .sub,
  body:not(.sst-dark) .atmo-v2-card__desc,
  body:not(.sst-dark) .sst-article-card--editorial .sst-article-card-desc,
  body:not(.sst-dark) .intro-copy p,
  body:not(.sst-dark) .post-body p,
  body:not(.sst-dark) .sst-commercial-article p {
    font-size: 1rem !important;
    max-width: 65ch;
    line-height: 1.65;
  }

  body:not(.sst-dark) main li,
  body:not(.sst-dark) article li,
  body:not(.sst-dark) .page-inner li,
  body:not(.sst-dark) .sst-commercial-intro p,
  body:not(.sst-dark) .blog-body p,
  body:not(.sst-dark) .sst-fl-v1-head p,
  body:not(.sst-dark) .sst-home-london-picks-callout__body > p:not(.sst-home-london-picks-callout__badge),
  body:not(.sst-dark) .sst-click-disclosure,
  body:not(.sst-dark) .sst-related-block p {
    max-width: 65ch;
    line-height: 1.65;
  }

  body:not(.sst-dark) .section-head p,
  body:not(.sst-dark) .sst-commercial-intro p {
    margin-left: auto;
    margin-right: auto;
  }

  body:not(.sst-dark) main p + p,
  body:not(.sst-dark) article p + p,
  body:not(.sst-dark) .page-inner p + p,
  body:not(.sst-dark) .sst-commercial-article p + p,
  body:not(.sst-dark) .intro-copy p + p,
  body:not(.sst-dark) .post-body p + p {
    margin-top: 0.75em;
  }

  body:not(.sst-dark) main li + li,
  body:not(.sst-dark) article li + li,
  body:not(.sst-dark) .page-inner li + li,
  body:not(.sst-dark) .intro-copy li + li {
    margin-top: 0.35em;
  }

  /* Homepage section rhythm — compact gaps (skip inline margins) */
  body.sst-page-home > section + section:not([style*="margin"]),
  body.sst-page-home > section + main:not([style*="margin"]),
  body.sst-page-home > main + section:not([style*="margin"]),
  body.sst-page-home main > section + section:not([style*="margin"]) {
    margin-block-start: 12px;
  }

  /* Hero → London callout → main: no gap stripes on mobile */
  body.sst-page-home > .hero + .sst-home-london-picks-band,
  body.sst-page-home > .sst-home-london-picks-band + main.home-main {
    margin-block-start: 0 !important;
  }

  /* Homepage main sections — avoid margin + fat padding stacking */
  body.sst-page-home main.home-main > section.section {
    padding-block: 8px 12px;
  }

  body.sst-page-home main.home-main .section-head {
    margin-bottom: 10px;
  }
}

@media (min-width: 761px) {
  body.sst-page-home main.home-main > section.section {
    padding-block: 14px 18px;
  }

  body.sst-page-home main.home-main {
    padding-top: 16px;
  }
}

/* —— All-caps eyebrow / kicker labels —— */
.hero-kicker,
.slide-badge,
.sst-commercial-eyebrow,
.sst-route-eyebrow,
.sst-route-kicker,
.sst-newsletter-kicker,
.atmo-v2-featured__partner,
.sst-home-stay-pick__partner,
.sst-home-promo-kicker,
[class*="-kicker"],
[class*="__eyebrow"],
[class*="__partner"],
.eyebrow {
  letter-spacing: 0.06em;
}

/* Homepage Expedia hotel CTAs — force Expedia blue (carousel + featured stays) */
body.sst-page-home a.atmo-v2-featured .atmo-v2-featured__cta,
body.sst-page-home .sst-home-atmo-carousel a.atmo-v2-featured .atmo-v2-featured__cta,
body.sst-page-home .sst-home-uk-stays-carousel a.atmo-v2-featured .atmo-v2-featured__cta,
body.sst-page-home a.sst-home-stay-pick__expedia .sst-home-stay-pick__cta {
  color: #0770e3 !important;
  -webkit-text-fill-color: #0770e3;
  font-weight: 800;
}

body.sst-page-home a.atmo-v2-featured:hover .atmo-v2-featured__cta,
body.sst-page-home .sst-home-atmo-carousel a.atmo-v2-featured:hover .atmo-v2-featured__cta,
body.sst-page-home .sst-home-uk-stays-carousel a.atmo-v2-featured:hover .atmo-v2-featured__cta,
body.sst-page-home a.sst-home-stay-pick__expedia:hover .sst-home-stay-pick__cta {
  color: #0557b0 !important;
  -webkit-text-fill-color: #0557b0;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Homepage gold accents — badges / partner chips only (place names use link blue) */
body.sst-page-home .sst-home-search-powered span,
body.sst-page-home .sst-home-trip-powered strong {
  color: var(--sst-place-gold, #e6a800) !important;
  -webkit-text-fill-color: var(--sst-place-gold, #e6a800);
  font-weight: 950;
}

body.sst-page-home .sst-home-stay-pick__place,
body.sst-page-home .atmo-v2-featured strong,
body.sst-page-home .sst-home-atmo-carousel .atmo-v2-featured strong,
body.sst-page-home .sst-home-uk-stays-carousel .atmo-v2-featured strong {
  color: #0770e3 !important;
  -webkit-text-fill-color: #0770e3;
  font-weight: 950;
}

body.sst-page-home .hero h1 .sst-hero-partner,
body.sst-page-home [data-sst-home-hero-title] .sst-hero-partner {
  color: #ffd166 !important;
  -webkit-text-fill-color: #ffd166;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

body.sst-page-home .sst-home-trip-btn {
  border-color: #ffd166 !important;
  color: #92400e !important;
  -webkit-text-fill-color: #92400e;
  background: linear-gradient(180deg, #fffbeb 0%, #fef3c7 100%) !important;
}
