/**
 * Escort Amsterdam XXX - Global Amsterdam hero treatment v2
 * Supplied Amsterdam canal image on all structural page heroes.
 * This file is intentionally loaded last and uses high-specificity overrides
 * because several legacy page styles use !important background/text rules.
 */

:root {
  --bsr-hero-image: url('../images/amsterdam-canal-hero.jpg');
  --bsr-hero-overlay: linear-gradient(100deg, rgba(4, 10, 20, .90) 0%, rgba(4, 10, 20, .82) 42%, rgba(4, 10, 20, .60) 72%, rgba(4, 10, 20, .68) 100%);
  --bsr-hero-text: #ffffff;
  --bsr-hero-muted: #e2e8f0;
  --bsr-hero-gold: #fbbf24;
}

/* ============================================================
   UNIVERSAL STRUCTURAL HERO BACKGROUND
   Higher specificity than legacy .home-main .fp-hero rules.
============================================================ */
html body main.home-main section.fp-hero,
html body main.home-main header.fp-hero,
html body .city-hero.location-hero,
html body .city-hero.taxonomy-city-hero,
html body .country-hero.location-hero,
html body section.country-hero,
html body main.loc-page section.loc-compact-hero,
html body main.home-main header.wx-page-hero,
html body main.wx-info-page section.wx-info-hero,
html body main.blog-main section.blog-hero,
html body main.normal-account-page section.nu-hero,
html body main.bsr-reviews-page section.bsr-reviews-hero,
html body main.sx-packages header.sx-packages-hero,
html body header.sx-checkout-hero,
html body section.ds-premium-hero,
html body section.sd-hero,
html body section.mt-premium-hero {
  background: var(--bsr-hero-overlay), var(--bsr-hero-image) center 48% / cover no-repeat !important;
  background-color: #07111f !important;
  border-color: rgba(255,255,255,.16) !important;
  box-shadow: 0 18px 42px rgba(2, 6, 23, .22) !important;
}

/* Homepage has a more specific legacy selector, so match and exceed it. */
html body.home main.home-main .home-left > section.fp-hero.fp-hero-destination-layout,
html body.front-page main.home-main .home-left > section.fp-hero.fp-hero-destination-layout,
html body.page-template-front-page main.home-main .home-left > section.fp-hero.fp-hero-destination-layout,
html body main.home-main .home-left > section.fp-hero.fp-hero-destination-layout {
  background: linear-gradient(100deg, rgba(3, 9, 19, .92) 0%, rgba(3, 9, 19, .84) 45%, rgba(3, 9, 19, .56) 73%, rgba(3, 9, 19, .67) 100%), var(--bsr-hero-image) center 52% / cover no-repeat !important;
  background-color: #07111f !important;
}

/* Avoid pale animated shine washing text out on photographic heroes. */
html body main.home-main section.fp-hero::before {
  display: none !important;
  content: none !important;
}

/* ============================================================
   FP HERO TEXT: HOMEPAGE + DIRECTORY PAGES
============================================================ */
html body main.home-main section.fp-hero .fp-hero-copy .fp-kicker,
html body main.home-main section.fp-hero .fp-hero-copy .fp-section-kicker,
html body main.home-main .fp-hero.fp-hero-destination-layout .fp-hero-copy .fp-kicker {
  color: var(--bsr-hero-gold) !important;
  -webkit-text-fill-color: var(--bsr-hero-gold) !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.45) !important;
}

html body main.home-main section.fp-hero .fp-hero-copy h1,
html body main.home-main section.fp-hero .fp-hero-copy h1 strong,
html body main.home-main .fp-hero.fp-hero-destination-layout .fp-hero-copy h1,
html body main.home-main .fp-hero.fp-hero-destination-layout .fp-hero-copy h1 strong {
  color: var(--bsr-hero-text) !important;
  -webkit-text-fill-color: var(--bsr-hero-text) !important;
  text-shadow: 0 3px 20px rgba(0,0,0,.62) !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}

html body main.home-main section.fp-hero .fp-hero-copy p,
html body main.home-main section.fp-hero .fp-hero-copy p strong,
html body main.home-main .fp-hero.fp-hero-destination-layout .fp-hero-copy p,
html body main.home-main .fp-hero.fp-hero-destination-layout .fp-hero-copy p strong {
  color: var(--bsr-hero-muted) !important;
  -webkit-text-fill-color: var(--bsr-hero-muted) !important;
  text-shadow: 0 2px 14px rgba(0,0,0,.56) !important;
  opacity: 1 !important;
}

/* Homepage proof chips stay readable over the photo. */
html body main.home-main .fp-hero.fp-hero-destination-layout .fp-hero-proof span {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: rgba(15, 23, 42, .66) !important;
  border-color: rgba(255,255,255,.30) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
  backdrop-filter: blur(7px);
}

/* ============================================================
   HOMEPAGE NETHERLANDS CITY PANEL
   Previously a white panel inherited white typography.
============================================================ */
html body main.home-main .fp-hero.fp-hero-destination-layout .fp-hero-destinations {
  background: linear-gradient(145deg, rgba(8, 15, 29, .94), rgba(17, 24, 39, .90) 55%, rgba(59, 10, 10, .88)) !important;
  border: 1px solid rgba(251, 191, 36, .42) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 18px 38px rgba(0,0,0,.28) !important;
  backdrop-filter: blur(10px) !important;
}

html body main.home-main .fp-hero.fp-hero-destination-layout .fp-hero-destinations-head {
  border-bottom-color: rgba(255,255,255,.16) !important;
}

html body main.home-main .fp-hero.fp-hero-destination-layout .fp-hero-destinations-head span,
html body main.home-main .fp-hero.fp-hero-destination-layout .fp-hero-destination-copy strong {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.35) !important;
}

html body main.home-main .fp-hero.fp-hero-destination-layout .fp-hero-destinations-head small {
  color: #facc15 !important;
  -webkit-text-fill-color: #facc15 !important;
}

html body main.home-main .fp-hero.fp-hero-destination-layout .fp-hero-destination-copy em {
  color: #dbe4ef !important;
  -webkit-text-fill-color: #dbe4ef !important;
}

html body main.home-main .fp-hero.fp-hero-destination-layout .fp-hero-destination-card {
  color: #fff !important;
  background: rgba(255,255,255,.075) !important;
  border-color: rgba(255,255,255,.13) !important;
}

html body main.home-main .fp-hero.fp-hero-destination-layout .fp-hero-destination-card:hover {
  background: rgba(251, 191, 36, .14) !important;
  border-color: rgba(251, 191, 36, .46) !important;
}

/* Directory stat panel should not become a large white block. */
html body main.home-main section.fp-hero .fp-hero-panel {
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

html body main.home-main section.fp-hero .fp-hero-stat {
  background: rgba(255,255,255,.94) !important;
  border-color: rgba(255,255,255,.44) !important;
  box-shadow: 0 10px 25px rgba(0,0,0,.16) !important;
}

html body main.home-main section.fp-hero .fp-hero-stat strong {
  color: #5c0303 !important;
  -webkit-text-fill-color: #5c0303 !important;
  text-shadow: none !important;
}

html body main.home-main section.fp-hero .fp-hero-stat span {
  color: #475569 !important;
  -webkit-text-fill-color: #475569 !important;
  text-shadow: none !important;
}

/* ============================================================
   CITY / COUNTRY / LOCATION DIRECTORY HERO TEXT
============================================================ */
html body .city-hero.location-hero .location-kicker,
html body .city-hero.taxonomy-city-hero .location-kicker,
html body .country-hero.location-hero .location-kicker,
html body section.country-hero .location-kicker,
html body main.loc-page .loc-compact-hero .loc-kicker {
  color: var(--bsr-hero-gold) !important;
  -webkit-text-fill-color: var(--bsr-hero-gold) !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.45) !important;
}

html body .city-hero.location-hero h1,
html body .city-hero.taxonomy-city-hero h1,
html body .country-hero.location-hero h1,
html body section.country-hero h1,
html body main.loc-page .loc-compact-hero h1 {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  text-shadow: 0 3px 18px rgba(0,0,0,.62) !important;
}

html body .city-hero.location-hero p,
html body .city-hero.taxonomy-city-hero p,
html body .country-hero.location-hero p,
html body section.country-hero p,
html body main.loc-page .loc-compact-hero .loc-compact-copy p {
  color: var(--bsr-hero-muted) !important;
  -webkit-text-fill-color: var(--bsr-hero-muted) !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.52) !important;
}

/* Location hero search/stats remain readable as light utility cards. */
html body main.loc-page .loc-compact-hero .loc-mini-search,
html body main.loc-page .loc-compact-hero .loc-compact-stats > div {
  background: rgba(255,255,255,.94) !important;
  color: #0f172a !important;
  border-color: rgba(255,255,255,.46) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.14) !important;
}

html body main.loc-page .loc-compact-hero .loc-mini-search input,
html body main.loc-page .loc-compact-hero .loc-compact-stats strong,
html body main.loc-page .loc-compact-hero .loc-compact-stats span {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  text-shadow: none !important;
}

/* ============================================================
   STANDARD / INFO / BLOG / ACCOUNT / REVIEWS / PREMIUM HERO TEXT
============================================================ */
html body main.home-main header.wx-page-hero .wx-eyebrow,
html body main.wx-info-page section.wx-info-hero .wx-info-eyebrow,
html body main.normal-account-page section.nu-hero .nu-eyebrow,
html body main.bsr-reviews-page section.bsr-reviews-hero .bsr-reviews-eyebrow,
html body main.sx-packages header.sx-packages-hero .sx-eyebrow {
  color: var(--bsr-hero-gold) !important;
  -webkit-text-fill-color: var(--bsr-hero-gold) !important;
}

html body main.home-main header.wx-page-hero h1,
html body main.wx-info-page section.wx-info-hero .wx-contact-hero-copy h1,
html body main.blog-main section.blog-hero .blog-title,
html body main.normal-account-page section.nu-hero .nu-hero-inner > div:first-child h1,
html body main.bsr-reviews-page section.bsr-reviews-hero h1,
html body main.sx-packages header.sx-packages-hero h1,
html body header.sx-checkout-hero h1,
html body section.ds-premium-hero h1,
html body section.sd-hero h1,
html body section.mt-premium-hero h1 {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  text-shadow: 0 3px 20px rgba(0,0,0,.62) !important;
  opacity: 1 !important;
}

html body main.sx-packages header.sx-packages-hero h1 .sx-accent {
  color: #facc15 !important;
  -webkit-text-fill-color: #facc15 !important;
}

html body main.home-main header.wx-page-hero p,
html body main.wx-info-page section.wx-info-hero .wx-contact-hero-copy p,
html body main.blog-main section.blog-hero .blog-sub,
html body main.normal-account-page section.nu-hero .nu-hero-inner > div:first-child p,
html body main.bsr-reviews-page section.bsr-reviews-hero > .bsr-reviews-hero__inner > p,
html body main.sx-packages header.sx-packages-hero > p,
html body header.sx-checkout-hero > p,
html body section.ds-premium-hero p,
html body section.sd-hero p,
html body section.mt-premium-hero p {
  color: var(--bsr-hero-muted) !important;
  -webkit-text-fill-color: var(--bsr-hero-muted) !important;
  text-shadow: 0 2px 14px rgba(0,0,0,.52) !important;
}

/* White utility cards inside dark photo heroes keep dark text. */
html body main.wx-info-page .wx-info-hero-card,
html body main.normal-account-page .nu-hero-card,
html body main.bsr-reviews-page .bsr-review-stat {
  background: rgba(255,255,255,.94) !important;
  color: #0f172a !important;
  border-color: rgba(255,255,255,.45) !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.16) !important;
}

html body main.wx-info-page .wx-info-hero-card *,
html body main.normal-account-page .nu-hero-card *,
html body main.bsr-reviews-page .bsr-review-stat * {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  text-shadow: none !important;
}

/* Rounded image treatment on common location/directory heroes. */
html body .city-hero,
html body .country-hero,
html body .loc-compact-hero,
html body .wx-page-hero,
html body .wx-info-hero,
html body .blog-hero,
html body .nu-hero,
html body .bsr-reviews-hero,
html body .sx-packages-hero,
html body .sx-checkout-hero {
  border-radius: 20px !important;
  overflow: hidden !important;
}

@media (max-width: 767px) {
  html body main.home-main section.fp-hero,
  html body .city-hero,
  html body .country-hero,
  html body .loc-compact-hero,
  html body .wx-page-hero,
  html body .wx-info-hero,
  html body .blog-hero,
  html body .nu-hero,
  html body .bsr-reviews-hero,
  html body .sx-packages-hero,
  html body .sx-checkout-hero,
  html body .ds-premium-hero,
  html body .sd-hero,
  html body .mt-premium-hero {
    background-position: center center !important;
  }

  html body main.home-main .fp-hero.fp-hero-destination-layout .fp-hero-destinations {
    margin-top: 10px !important;
  }
}
