/* Local protection follows the copy. Photos keep their original exposure;
   no outlines, full-image filters, or solid footer strips are needed. */
.travel-home .header,
.travel-catalog .catalog-header { isolation:isolate; }
.travel-home .header::before {
  content:''; position:absolute; z-index:-1; pointer-events:none;
  inset:0 calc(-1 * var(--gutter)) -48px;
  background:var(--photo-header-shade);
}
.travel-catalog .catalog-coast::after {
  content:''; position:absolute; inset:0 0 auto; height:140px;
  pointer-events:none; background:var(--photo-header-shade);
}
.travel-home .header :is(.brand,.desktop-nav a,.header-cta),
.travel-catalog .catalog-header :is(.catalog-brand,nav a,.home-link),
.travel-home .hero-location { text-shadow:var(--photo-text-shadow); }
.travel-home .masthead { text-shadow:var(--photo-title-shadow); }

.travel-home .hero-copy,
.travel-home .scene-copy,
.travel-home .journey-invite > div,
.travel-catalog .country-heading { isolation:isolate; }
.travel-home .journey-invite > div { position:relative; }
.travel-home .hero-copy::before,
.travel-home .scene-copy::before,
.travel-home .journey-invite > div::before,
.travel-catalog .country-heading::before {
  content:''; position:absolute; z-index:-1; pointer-events:none;
  inset:-64px -80px -28px;
  background:var(--photo-copy-halo);
}
/* The catalog heading is a full-width wrapper; keep its shade near the text. */
.travel-catalog .country-heading::before { right:auto; width:min(760px,calc(100% + 120px)); }
.travel-home :is(.hero-copy h2,.scene-copy h3,.journey-invite h2),
.travel-catalog .country-heading h1 { text-shadow:var(--photo-title-shadow); }
.travel-home :is(.hero-copy p,.scene-copy p,.journey-caption),
.travel-catalog .country-heading > p { text-shadow:var(--photo-text-shadow); }

.travel-home .destination-card::after { background:var(--photo-card-shade); }
.travel-home .destination-caption { text-shadow:var(--photo-text-shadow); }
.travel-home .destination-caption strong { text-shadow:var(--photo-title-shadow); }
.travel-home .destination-action { text-shadow:none; }
.travel-home .navigation-destinations { text-shadow:var(--photo-text-shadow); }
.travel-home .journal-play { text-shadow:var(--photo-text-shadow); }
.travel-home .journal-enlarge,
.travel-home .video-toggle,
.travel-catalog .home-link { background:var(--photo-control-surface); }

@media (max-width:700px) {
  .travel-home .hero-copy::before,
  .travel-home .scene-copy::before,
  .travel-home .journey-invite > div::before { inset:-48px -48px -16px; }
  .travel-catalog .country-heading::before { left:-48px; width:calc(100% + 96px); }
}
