/* MBW activity page cluster
   Path in repo: /assets/css/pages/activity-pages.css
   Load after /assets/css/site.css and existing page CSS.
*/

body[data-page-content-group="activities"] .page.card {
  overflow: visible;
}

body[data-page-content-group="activities"] .heroCard,
body[data-page-content-group="activities"] .heroMedia,
body[data-page-content-group="activities"] .infoCard,
body[data-page-content-group="activities"] .mediaCard,
body[data-page-content-group="activities"] .noteCard,
body[data-page-content-group="activities"] .relatedCard,
body[data-page-content-group="activities"] .nextSteps {
  border-radius: 14px;
}

body[data-page-content-group="activities"] .hero {
  gap: 18px;
  align-items: stretch;
}

body[data-page-content-group="activities"] .heroCard {
  display: flex;
  flex-direction: column;
  gap: 10px;
  justify-content: flex-start;
}

body[data-page-content-group="activities"] .heroCard h1 {
  max-width: none;
}

body[data-page-content-group="activities"] .lede {
  max-width: 72ch;
  line-height: 1.45;
}

body[data-page-content-group="activities"] .chips {
  align-items: center;
}

body[data-page-content-group="activities"] .chip {
  min-height: 34px;
  white-space: normal;
  text-align: center;
}

body[data-page-content-group="activities"] .chip--price {
  background: rgba(255, 211, 49, .22);
  border-color: rgba(214, 168, 0, .34);
}

body[data-page-content-group="activities"] .ctaRow {
  align-items: center;
  gap: 10px;
}

body[data-page-content-group="activities"] .ctaRow .btn {
  min-height: 46px;
  white-space: normal;
  text-align: center;
}

body[data-page-content-group="activities"] .heroMediaFrame {
  aspect-ratio: 4 / 3;
  min-height: 0 !important;
  height: auto !important;
  flex: 0 0 auto !important;
  overflow: hidden;
}

body[data-page-content-group="activities"] .heroMediaFrame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  background: #fff;
}

body[data-page-content-group="activities"] .heroMedia {
  align-self: start;
  height: auto !important;
  min-height: 0 !important;
  display: flex;
  flex-direction: column;
}

body[data-page-content-group="activities"][data-hero-card-sync="true"] .heroMedia {
  align-self: stretch;
  min-height: 100% !important;
}

body[data-page-content-group="activities"][data-hero-media-fit="contain"] .heroMediaFrame {
  background: #fff;
}

body[data-page-content-group="activities"][data-hero-media-fit="contain"] .heroMediaFrame img {
  object-fit: contain;
  object-position: center;
  background: #fff;
}

body[data-page-content-group="activities"][data-hero-media-fit="cover"] .heroMediaFrame img {
  object-fit: cover;
  object-position: center;
}

body[data-page-content-group="activities"][data-hero-media-position="top"] .heroMediaFrame img {
  object-position: center top;
}

body[data-page-content-group="activities"][data-hero-media-position="center"] .heroMediaFrame img {
  object-position: center;
}


body[data-page-type="activity_tour"][data-activity-variant="canyoning"] .heroMediaFrame {
  aspect-ratio: 9 / 16;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="canyoning"] .heroMediaFrame img {
  object-fit: contain;
  object-position: center;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="butterfly_tour"] .heroMediaFrame {
  aspect-ratio: 9 / 16;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="butterfly_tour"] .heroMediaFrame img {
  object-fit: contain;
  object-position: center;
  background: #fff;
}

body[data-page-content-group="activities"]:not([data-hero-media-fit="cover"]) .heroMediaFrame img {
  object-fit: contain !important;
  object-position: center !important;
}

body[data-page-type="activity_tour"][data-activity-variant="rafting_unavailable"] .heroMediaFrame {
  aspect-ratio: 9 / 16;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="rafting_unavailable"] .heroMediaFrame img {
  object-fit: contain;
  object-position: center;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="night_walk"] .heroMediaFrame {
  aspect-ratio: 9 / 16;
  height: auto !important;
  max-height: none;
  background: #061d11;
}

body[data-page-type="activity_tour"][data-activity-variant="night_walk"] .heroMediaFrame img {
  object-fit: contain;
  object-position: center;
  background: #061d11;
}

body[data-page-content-group="activities"] .section {
  margin-top: 24px;
}

body[data-page-content-group="activities"] .section--compact {
  margin-top: 18px;
}

body[data-page-content-group="activities"] .sectionHead {
  align-items: flex-end;
}

body[data-page-content-group="activities"] .sectionHead p {
  max-width: 62ch;
}

body[data-page-content-group="activities"] .infoGrid,
body[data-page-content-group="activities"] .highlightGrid,
body[data-page-content-group="activities"] .wildlifeGrid,
body[data-page-content-group="activities"] .relatedGrid {
  align-items: stretch;
}

body[data-page-content-group="activities"] .infoCard,
body[data-page-content-group="activities"] .relatedCard {
  display: flex;
  flex-direction: column;
}

body[data-page-content-group="activities"] .highlightGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

body[data-page-content-group="activities"] .activityFactGrid,
body[data-page-content-group="activities"] .comparisonGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

body[data-page-content-group="activities"] .activityFact,
body[data-page-content-group="activities"] .comparisonCard {
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 10px 22px rgba(0, 0, 0, .035);
}

body[data-page-content-group="activities"] .activityFact span,
body[data-page-content-group="activities"] .comparisonCard span {
  display: block;
  margin: 0 0 5px;
  color: var(--green);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .06em;
  line-height: 1.1;
  text-transform: uppercase;
}

body[data-page-content-group="activities"] .activityFact strong,
body[data-page-content-group="activities"] .comparisonCard strong {
  display: block;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.2;
}

body[data-page-content-group="activities"] .activityFact p,
body[data-page-content-group="activities"] .comparisonCard p {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

body[data-page-content-group="activities"] .bookingPrompt {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 16px;
  border: 1px solid rgba(15, 92, 45, .2);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(250, 253, 246, .96), rgba(231, 241, 220, .68));
}

body[data-page-content-group="activities"] .bookingPrompt h2 {
  margin: 0 0 6px;
  font-size: 22px;
  line-height: 1.15;
}

body[data-page-content-group="activities"] .bookingPrompt p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

body[data-page-content-group="activities"] .highlightGrid .infoCard p {
  margin: 0;
}

body[data-page-content-group="activities"] .heroInsight {
  padding: 11px 13px;
  border: 1px solid rgba(15, 92, 45, .18);
  border-radius: 12px;
  background: rgba(250, 253, 246, .78);
}

body[data-page-content-group="activities"] .heroInsight h2 {
  font-size: 18px;
  line-height: 1.15;
  margin: 0 0 7px;
}

body[data-page-content-group="activities"] .heroInsight p {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.4;
}

body[data-page-content-group="activities"] .experienceHighlights--compact {
  margin-top: 0;
  padding: 12px 13px;
}

body[data-page-content-group="activities"] .experienceHighlights--compact h2 {
  font-size: 18px;
  line-height: 1.15;
  margin: 0 0 8px;
}

body[data-page-content-group="activities"] .experienceHighlights--compact ul {
  margin: 0;
  padding-left: 18px;
}

body[data-page-content-group="activities"] .experienceHighlights--compact li {
  margin: 0 0 5px;
  line-height: 1.3;
}

body[data-page-content-group="activities"] .experienceHighlights--compact li:last-child {
  margin-bottom: 0;
}

body[data-page-type="activity_tour"][data-activity-variant="night_walk"] .hero {
  grid-template-columns: 1.02fr .98fr;
  align-items: stretch;
}

body[data-page-type="activity_tour"][data-activity-variant="night_walk"] .heroCard {
  min-height: 0;
}

body[data-page-type="activity_tour"][data-activity-variant="night_walk"] .heroMedia {
  justify-content: space-between;
}

body[data-page-content-group="activities"] .relatedCard a {
  margin-top: auto;
  align-self: flex-start;
}

body[data-page-content-group="activities"] .butterflyGrid,
body[data-page-content-group="activities"] .internalLinks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

body[data-page-content-group="activities"] .internalLinks.balancedLinks {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body[data-page-content-group="activities"] .linkCard {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 100%;
  gap: 8px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 10px 22px rgba(0, 0, 0, .04);
}

body[data-page-content-group="activities"] .linkCard strong {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.15;
}

body[data-page-content-group="activities"] .linkCardDesc {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

body[data-page-content-group="activities"] .linkCardCta {
  width: 100%;
  margin-top: auto;
}

body[data-page-content-group="activities"] .finalCta--split .finalGrid {
  align-items: stretch;
}

body[data-page-content-group="activities"] .finalCta--split .ctaRow--inline {
  align-items: center;
}

body[data-page-content-group="activities"] .nextSteps ol {
  margin: 8px 0 0;
  padding-left: 18px;
  color: var(--muted);
  line-height: 1.55;
}

body[data-page-content-group="activities"] .nextSteps li + li {
  margin-top: 5px;
}

body[data-page-content-group="activities"] .mediaGrid {
  max-width: 980px;
}

body[data-page-content-group="activities"] .mediaGrid:has(.singleVideoCard) {
  grid-template-columns: minmax(0, .78fr) minmax(0, 1fr);
  align-items: start;
}

body[data-page-content-group="activities"] .mediaCard {
  min-width: 0;
}

body[data-page-content-group="activities"] .videoCarouselViewport,
body[data-page-content-group="activities"] .carouselViewport,
body[data-page-content-group="activities"] .videoFrame {
  aspect-ratio: 9 / 16;
  background: #061d11;
}

body[data-page-content-group="activities"] .videoCarouselViewport {
  position: relative;
  overflow: hidden;
  border-radius: 14px;
}

body[data-page-content-group="activities"] .videoCarouselSlide {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity .28s ease;
}

body[data-page-content-group="activities"] .videoCarouselSlide.active {
  opacity: 1;
  pointer-events: auto;
}

body[data-page-content-group="activities"] .videoCarouselSlide .videoFrame {
  width: 100%;
  height: 100%;
}

body[data-page-content-group="activities"] .singleVideoCard .videoFrame,
body[data-page-content-group="activities"] .singleVideoFrame {
  aspect-ratio: 16 / 9;
}

body[data-page-content-group="activities"] .videoFrame iframe,
body[data-page-content-group="activities"] .carouselSlide img {
  border-radius: 14px;
}

body[data-page-content-group="activities"] .carouselSlide img {
  object-fit: contain;
  object-position: center;
  background: #061d11;
}

body[data-page-content-group="activities"] .mediaFooter {
  min-height: 48px;
}

body[data-page-content-group="activities"] .finalCta .finalGrid {
  gap: 16px;
  align-items: stretch;
}

body[data-page-content-group="activities"] .finalLeft {
  min-width: 0;
}

body[data-page-content-group="activities"] .finalLeft .ctaRow {
  display: flex;
  flex-wrap: wrap;
}

body[data-page-content-group="activities"] .finalLeft .btn {
  flex: 1 1 160px;
}

body[data-page-content-group="activities"] .nextSteps {
  min-width: 0;
}

body[data-page-type="activity_tour"][data-activity-variant="rafting_unavailable"] .chip--status {
  background: var(--soft);
  border-color: var(--line);
}

body[data-page-type="activities_hub"] .activityHubCard--unavailable {
  border-color: var(--line);
  background: #fff;
}

body[data-page-type="activities_hub"] .activityHubCard--unavailable .activityMedia {
  position: relative;
}

body[data-page-type="activities_hub"] .activityHubCard--unavailable .activityMedia::after {
  content: "Status";
  position: absolute;
  top: 10px;
  right: 10px;
  border: 1px solid #e9a7a1;
  border-radius: 999px;
  background: rgba(253, 232, 231, .96);
  color: #8f2017;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .04em;
  padding: 6px 9px;
  text-transform: uppercase;
}

body[data-page-language="es"][data-page-type="activities_hub"] .activityHubCard--unavailable .activityMedia::after {
  content: "Estado";
}

body[data-page-type="activities_hub"] .activityChip--status {
  border-color: #e9a7a1;
  background: #fde8e7;
  color: #8f2017;
}


/* Chocolate tour symmetry lock */
body[data-page-type="activity_tour"][data-activity-variant="chocolate_tour"] .heroMediaFrame {
  aspect-ratio: auto;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="chocolate_tour"] .heroMediaFrame img {
  display: block;
  width: 100%;
  height: auto !important;
  max-width: 100%;
  object-fit: contain !important;
  object-position: center !important;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="chocolate_tour"] .activityFactGrid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body[data-page-type="activity_tour"][data-activity-variant="chocolate_tour"] .chocolateCultureGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}

body[data-page-type="activity_tour"][data-activity-variant="chocolate_tour"] .chocolateCultureGrid .infoCard {
  min-width: 0;
  min-height: 100%;
}


/* Coffee tour: approved Night Walk-style portrait hero */
body[data-page-type="activity_tour"][data-activity-variant="coffee_tour"] .heroMediaFrame {
  aspect-ratio: 9 / 16;
  height: auto !important;
  max-height: none;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="coffee_tour"] .heroMediaFrame img {
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  object-position: center !important;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="coffee_tour"] .hero {
  grid-template-columns: 1.02fr .98fr;
  align-items: stretch;
}

body[data-page-type="activity_tour"][data-activity-variant="coffee_tour"] .heroCard {
  min-height: 0;
}

body[data-page-type="activity_tour"][data-activity-variant="coffee_tour"] .heroMedia {
  justify-content: space-between;
}

body[data-page-type="activity_tour"][data-activity-variant="coffee_tour"] .activityFactGrid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body[data-page-type="activity_tour"][data-activity-variant="coffee_tour"] .coffeeCultureGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}

body[data-page-type="activity_tour"][data-activity-variant="coffee_tour"] .coffeeCultureGrid .infoCard {
  min-width: 0;
  min-height: 100%;
}


/* Double Extreme Swing: approved Night Walk-style portrait hero */
body[data-page-type="activity_tour"][data-activity-variant="double_extreme_swing"] .heroMediaFrame {
  aspect-ratio: 9 / 16;
  height: auto !important;
  max-height: none;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="double_extreme_swing"] .heroMediaFrame img {
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  object-position: center !important;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="double_extreme_swing"] .hero {
  grid-template-columns: 1.02fr .98fr;
  align-items: stretch;
}

body[data-page-type="activity_tour"][data-activity-variant="double_extreme_swing"] .heroCard {
  min-height: 0;
}

body[data-page-type="activity_tour"][data-activity-variant="double_extreme_swing"] .heroMedia {
  justify-content: space-between;
}

body[data-page-type="activity_tour"][data-activity-variant="double_extreme_swing"] .activityFactGrid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}


/* Frog Concert: approved Night Walk-style portrait hero */
body[data-page-type="activity_tour"][data-activity-variant="frog_concert"] .heroMediaFrame {
  aspect-ratio: 9 / 16;
  height: auto !important;
  max-height: none;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="frog_concert"] .heroMediaFrame img {
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  object-position: center !important;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="frog_concert"] .hero {
  grid-template-columns: 1.02fr .98fr;
  align-items: stretch;
}

body[data-page-type="activity_tour"][data-activity-variant="frog_concert"] .heroCard {
  min-height: 0;
}

body[data-page-type="activity_tour"][data-activity-variant="frog_concert"] .heroMedia {
  justify-content: space-between;
}

body[data-page-type="activity_tour"][data-activity-variant="frog_concert"] .activityFactGrid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body[data-page-type="activity_tour"][data-activity-variant="frog_concert"] .frogWildlifeGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}

body[data-page-type="activity_tour"][data-activity-variant="frog_concert"] .frogWildlifeGrid .infoCard {
  min-width: 0;
  min-height: 100%;
}


/* Horseback Riding: approved Night Walk-style portrait hero */
body[data-page-type="activity_tour"][data-activity-variant="horseback_riding"] .heroMediaFrame {
  aspect-ratio: 9 / 16;
  height: auto !important;
  max-height: none;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="horseback_riding"] .heroMediaFrame img {
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  object-position: center !important;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="horseback_riding"] .hero {
  grid-template-columns: 1.02fr .98fr;
  align-items: stretch;
}

body[data-page-type="activity_tour"][data-activity-variant="horseback_riding"] .heroCard {
  min-height: 0;
}

body[data-page-type="activity_tour"][data-activity-variant="horseback_riding"] .heroMedia {
  justify-content: space-between;
}

body[data-page-type="activity_tour"][data-activity-variant="horseback_riding"] .activityFactGrid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body[data-page-type="activity_tour"][data-activity-variant="horseback_riding"] .horsebackSpecialGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}

body[data-page-type="activity_tour"][data-activity-variant="horseback_riding"] .horsebackSpecialGrid .infoCard {
  min-width: 0;
  min-height: 100%;
}


/* Mountain Biking: approved Night Walk-style portrait hero */
body[data-page-type="activity_tour"][data-activity-variant="mountain_biking"] .heroMediaFrame {
  aspect-ratio: 9 / 16;
  height: auto !important;
  max-height: none;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="mountain_biking"] .heroMediaFrame img {
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  object-position: center !important;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="mountain_biking"] .hero {
  grid-template-columns: 1.02fr .98fr;
  align-items: stretch;
}

body[data-page-type="activity_tour"][data-activity-variant="mountain_biking"] .heroCard {
  min-height: 0;
}

body[data-page-type="activity_tour"][data-activity-variant="mountain_biking"] .heroMedia {
  justify-content: space-between;
}

body[data-page-type="activity_tour"][data-activity-variant="mountain_biking"] .activityFactGrid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body[data-page-type="activity_tour"][data-activity-variant="mountain_biking"] .mountainBikingSpecialGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}

body[data-page-type="activity_tour"][data-activity-variant="mountain_biking"] .mountainBikingSpecialGrid .infoCard {
  min-width: 0;
  min-height: 100%;
}


/* Nature Walk: approved Night Walk-style portrait hero */
body[data-page-type="activity_tour"][data-activity-variant="nature_walk"] .heroMediaFrame {
  aspect-ratio: 9 / 16;
  height: auto !important;
  max-height: none;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="nature_walk"] .heroMediaFrame img {
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  object-position: center !important;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="nature_walk"] .hero {
  grid-template-columns: 1.02fr .98fr;
  align-items: stretch;
}

body[data-page-type="activity_tour"][data-activity-variant="nature_walk"] .heroCard {
  min-height: 0;
}

body[data-page-type="activity_tour"][data-activity-variant="nature_walk"] .heroMedia {
  justify-content: space-between;
}

body[data-page-type="activity_tour"][data-activity-variant="nature_walk"] .activityFactGrid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body[data-page-type="activity_tour"][data-activity-variant="nature_walk"] .natureWalkSpecialGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}

body[data-page-type="activity_tour"][data-activity-variant="nature_walk"] .natureWalkSpecialGrid .infoCard {
  min-width: 0;
  min-height: 100%;
}


/* Orchid Garden: approved Night Walk-style portrait hero */
body[data-page-type="activity_tour"][data-activity-variant="orchid_garden"] .heroMediaFrame {
  aspect-ratio: 9 / 16;
  height: auto !important;
  max-height: none;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="orchid_garden"] .heroMediaFrame img {
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  object-position: center !important;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="orchid_garden"] .hero {
  grid-template-columns: 1.02fr .98fr;
  align-items: stretch;
}

body[data-page-type="activity_tour"][data-activity-variant="orchid_garden"] .heroCard {
  min-height: 0;
}

body[data-page-type="activity_tour"][data-activity-variant="orchid_garden"] .heroMedia {
  justify-content: space-between;
}

body[data-page-type="activity_tour"][data-activity-variant="orchid_garden"] .activityFactGrid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body[data-page-type="activity_tour"][data-activity-variant="orchid_garden"] .orchidSpecialGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}

body[data-page-type="activity_tour"][data-activity-variant="orchid_garden"] .orchidSpecialGrid .infoCard {
  min-width: 0;
  min-height: 100%;
}


/* Paintball: approved Night Walk-style portrait hero */
body[data-page-type="activity_tour"][data-activity-variant="paintball"] .heroMediaFrame {
  aspect-ratio: 9 / 16;
  height: auto !important;
  max-height: none;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="paintball"] .heroMediaFrame img {
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  object-position: center !important;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="paintball"] .hero {
  grid-template-columns: 1.02fr .98fr;
  align-items: stretch;
}

body[data-page-type="activity_tour"][data-activity-variant="paintball"] .heroCard {
  min-height: 0;
}

body[data-page-type="activity_tour"][data-activity-variant="paintball"] .heroMedia {
  justify-content: space-between;
}

body[data-page-type="activity_tour"][data-activity-variant="paintball"] .activityFactGrid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body[data-page-type="activity_tour"][data-activity-variant="paintball"] .paintballSpecialGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}

body[data-page-type="activity_tour"][data-activity-variant="paintball"] .paintballSpecialGrid .infoCard {
  min-width: 0;
  min-height: 100%;
}



/* Quad Tour: approved Night Walk-style portrait hero */
body[data-page-type="activity_tour"][data-activity-variant="quad_tour"] .heroMediaFrame {
  aspect-ratio: 9 / 16;
  height: auto !important;
  max-height: none;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="quad_tour"] .heroMediaFrame img {
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  object-position: center !important;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="quad_tour"] .hero {
  grid-template-columns: 1.02fr .98fr;
  align-items: stretch;
}

body[data-page-type="activity_tour"][data-activity-variant="quad_tour"] .heroCard {
  min-height: 0;
}

body[data-page-type="activity_tour"][data-activity-variant="quad_tour"] .heroMedia {
  justify-content: space-between;
}

body[data-page-type="activity_tour"][data-activity-variant="quad_tour"] .activityFactGrid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body[data-page-type="activity_tour"][data-activity-variant="quad_tour"] .quadSpecialGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}

body[data-page-type="activity_tour"][data-activity-variant="quad_tour"] .quadSpecialGrid .infoCard {
  min-width: 0;
  min-height: 100%;
}



/* Sky Bike and Sky Ride: approved Night Walk-style portrait hero */
body[data-page-type="activity_tour"][data-activity-variant="sky_bike_sky_ride"] .heroMediaFrame {
  aspect-ratio: 9 / 16;
  height: auto !important;
  max-height: none;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="sky_bike_sky_ride"] .heroMediaFrame img {
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  object-position: center !important;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="sky_bike_sky_ride"] .hero {
  grid-template-columns: 1.02fr .98fr;
  align-items: stretch;
}

body[data-page-type="activity_tour"][data-activity-variant="sky_bike_sky_ride"] .heroCard {
  min-height: 0;
}

body[data-page-type="activity_tour"][data-activity-variant="sky_bike_sky_ride"] .heroMedia {
  justify-content: space-between;
}

body[data-page-type="activity_tour"][data-activity-variant="sky_bike_sky_ride"] .activityFactGrid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body[data-page-type="activity_tour"][data-activity-variant="sky_bike_sky_ride"] .skyBikeSpecialGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}

body[data-page-type="activity_tour"][data-activity-variant="sky_bike_sky_ride"] .skyBikeSpecialGrid .infoCard {
  min-width: 0;
  min-height: 100%;
}



/* Tubing: approved Night Walk-style portrait hero */
body[data-page-type="activity_tour"][data-activity-variant="tubing"] .heroMediaFrame {
  aspect-ratio: 9 / 16;
  height: auto !important;
  max-height: none;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="tubing"] .heroMediaFrame img {
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  object-position: center !important;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="tubing"] .hero {
  grid-template-columns: 1.02fr .98fr;
  align-items: stretch;
}

body[data-page-type="activity_tour"][data-activity-variant="tubing"] .heroCard {
  min-height: 0;
}

body[data-page-type="activity_tour"][data-activity-variant="tubing"] .heroMedia {
  justify-content: space-between;
}

body[data-page-type="activity_tour"][data-activity-variant="tubing"] .activityFactGrid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body[data-page-type="activity_tour"][data-activity-variant="tubing"] .tubingSpecialGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}

body[data-page-type="activity_tour"][data-activity-variant="tubing"] .tubingSpecialGrid .infoCard {
  min-width: 0;
  min-height: 100%;
}



/* Waterfall Tour: approved landscape hero with full-image visibility */
body[data-page-type="activity_tour"][data-activity-variant="waterfall_tour"] .heroMediaFrame {
  aspect-ratio: 16 / 10;
  height: auto !important;
  max-height: none;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="waterfall_tour"] .heroMediaFrame img {
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  object-position: center !important;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="waterfall_tour"] .hero {
  grid-template-columns: 1.02fr .98fr;
  align-items: stretch;
}

body[data-page-type="activity_tour"][data-activity-variant="waterfall_tour"] .heroCard {
  min-height: 0;
}

body[data-page-type="activity_tour"][data-activity-variant="waterfall_tour"] .heroMedia {
  justify-content: space-between;
}

body[data-page-type="activity_tour"][data-activity-variant="waterfall_tour"] .activityFactGrid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body[data-page-type="activity_tour"][data-activity-variant="waterfall_tour"] .waterfallSpecialGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}

body[data-page-type="activity_tour"][data-activity-variant="waterfall_tour"] .waterfallSpecialGrid .infoCard {
  min-width: 0;
  min-height: 100%;
}

@media (max-width: 1000px) {

  body[data-page-type="activity_tour"][data-activity-variant="waterfall_tour"] .heroMediaFrame {
    aspect-ratio: 16 / 10;
  }

  body[data-page-type="activity_tour"][data-activity-variant="waterfall_tour"] .activityFactGrid,
  body[data-page-type="activity_tour"][data-activity-variant="waterfall_tour"] .waterfallSpecialGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }


  body[data-page-type="activity_tour"][data-activity-variant="tubing"] .heroMediaFrame {
    aspect-ratio: 9 / 14;
    height: auto !important;
    max-height: none;
  }

  body[data-page-type="activity_tour"][data-activity-variant="tubing"] .activityFactGrid,
  body[data-page-type="activity_tour"][data-activity-variant="tubing"] .tubingSpecialGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }


  body[data-page-type="activity_tour"][data-activity-variant="sky_bike_sky_ride"] .heroMediaFrame {
    aspect-ratio: 9 / 14;
    height: auto !important;
    max-height: none;
  }

  body[data-page-type="activity_tour"][data-activity-variant="sky_bike_sky_ride"] .activityFactGrid,
  body[data-page-type="activity_tour"][data-activity-variant="sky_bike_sky_ride"] .skyBikeSpecialGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }


  body[data-page-type="activity_tour"][data-activity-variant="quad_tour"] .heroMediaFrame {
    aspect-ratio: 9 / 14;
    height: auto !important;
    max-height: none;
  }

  body[data-page-type="activity_tour"][data-activity-variant="quad_tour"] .activityFactGrid,
  body[data-page-type="activity_tour"][data-activity-variant="quad_tour"] .quadSpecialGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }


  body[data-page-type="activity_tour"][data-activity-variant="paintball"] .heroMediaFrame {
    aspect-ratio: 9 / 14;
    height: auto !important;
    max-height: none;
  }

  body[data-page-type="activity_tour"][data-activity-variant="paintball"] .activityFactGrid,
  body[data-page-type="activity_tour"][data-activity-variant="paintball"] .paintballSpecialGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }


  body[data-page-type="activity_tour"][data-activity-variant="orchid_garden"] .heroMediaFrame {
    aspect-ratio: 9 / 14;
    height: auto !important;
    max-height: none;
  }

  body[data-page-type="activity_tour"][data-activity-variant="orchid_garden"] .activityFactGrid,
  body[data-page-type="activity_tour"][data-activity-variant="orchid_garden"] .orchidSpecialGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }


  body[data-page-type="activity_tour"][data-activity-variant="nature_walk"] .heroMediaFrame {
    aspect-ratio: 9 / 14;
    height: auto !important;
    max-height: none;
  }

  body[data-page-type="activity_tour"][data-activity-variant="nature_walk"] .activityFactGrid,
  body[data-page-type="activity_tour"][data-activity-variant="nature_walk"] .natureWalkSpecialGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }


  body[data-page-type="activity_tour"][data-activity-variant="mountain_biking"] .heroMediaFrame {
    aspect-ratio: 9 / 14;
    height: auto !important;
    max-height: none;
  }

  body[data-page-type="activity_tour"][data-activity-variant="mountain_biking"] .activityFactGrid,
  body[data-page-type="activity_tour"][data-activity-variant="mountain_biking"] .mountainBikingSpecialGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }


  body[data-page-type="activity_tour"][data-activity-variant="horseback_riding"] .heroMediaFrame {
    aspect-ratio: 9 / 14;
    height: auto !important;
    max-height: none;
  }

  body[data-page-type="activity_tour"][data-activity-variant="horseback_riding"] .activityFactGrid,
  body[data-page-type="activity_tour"][data-activity-variant="horseback_riding"] .horsebackSpecialGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }


  body[data-page-type="activity_tour"][data-activity-variant="frog_concert"] .heroMediaFrame {
    aspect-ratio: 9 / 14;
    height: auto !important;
    max-height: none;
  }

  body[data-page-type="activity_tour"][data-activity-variant="frog_concert"] .activityFactGrid,
  body[data-page-type="activity_tour"][data-activity-variant="frog_concert"] .frogWildlifeGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-page-type="activity_tour"][data-activity-variant="double_extreme_swing"] .heroMediaFrame {
    aspect-ratio: 9 / 14;
    height: auto !important;
    max-height: none;
  }

  body[data-page-type="activity_tour"][data-activity-variant="double_extreme_swing"] .activityFactGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }



  body[data-page-type="activity_tour"][data-activity-variant="coffee_tour"] .heroMediaFrame {
    aspect-ratio: 9 / 14;
    height: auto !important;
    max-height: none;
  }

  body[data-page-type="activity_tour"][data-activity-variant="coffee_tour"] .activityFactGrid,
  body[data-page-type="activity_tour"][data-activity-variant="coffee_tour"] .coffeeCultureGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-page-type="activity_tour"][data-activity-variant="chocolate_tour"] .heroMediaFrame {
    aspect-ratio: auto;
    height: auto !important;
  }


body[data-page-type="activity_tour"][data-activity-variant="chocolate_tour"] .activityFactGrid,
  body[data-page-type="activity_tour"][data-activity-variant="chocolate_tour"] .chocolateCultureGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-page-content-group="activities"] .hero {
    grid-template-columns: 1fr;
  }

  body[data-page-content-group="activities"] .internalLinks.balancedLinks {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-page-content-group="activities"] .heroCard h1 {
    max-width: none;
  }

  body[data-page-content-group="activities"] .activityFactGrid,
  body[data-page-content-group="activities"] .comparisonGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-page-content-group="activities"] .heroMediaFrame {
    aspect-ratio: 16 / 10;
    min-height: 0 !important;
    height: auto !important;
    flex: 0 0 auto !important;
  }

  body[data-page-type="activity_tour"][data-activity-variant="canyoning"] .heroMediaFrame {
    aspect-ratio: 9 / 16;
  }

  body[data-page-type="activity_tour"][data-activity-variant="rafting_unavailable"] .heroMediaFrame {
    aspect-ratio: 9 / 16;
  }

  
body[data-page-type="activity_tour"][data-activity-variant="canyoning"] .heroMediaFrame {
  aspect-ratio: 9 / 16;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="canyoning"] .heroMediaFrame img {
  object-fit: contain;
  object-position: center;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="butterfly_tour"] .heroMediaFrame {
    aspect-ratio: 9 / 16;
  }

  body[data-page-type="activity_tour"][data-activity-variant="night_walk"] .heroMediaFrame {
    aspect-ratio: 9 / 14;
    height: auto !important;
    max-height: none;
  }
}

@media (max-width: 760px) {

  body[data-page-type="activity_tour"][data-activity-variant="waterfall_tour"] .heroMediaFrame {
    aspect-ratio: 16 / 10;
  }

  body[data-page-type="activity_tour"][data-activity-variant="waterfall_tour"] .activityFactGrid,
  body[data-page-type="activity_tour"][data-activity-variant="waterfall_tour"] .waterfallSpecialGrid {
    grid-template-columns: 1fr;
  }


  body[data-page-type="activity_tour"][data-activity-variant="tubing"] .heroMediaFrame {
    aspect-ratio: 9 / 16;
  }

  body[data-page-type="activity_tour"][data-activity-variant="tubing"] .activityFactGrid,
  body[data-page-type="activity_tour"][data-activity-variant="tubing"] .tubingSpecialGrid {
    grid-template-columns: 1fr;
  }


  body[data-page-type="activity_tour"][data-activity-variant="sky_bike_sky_ride"] .heroMediaFrame {
    aspect-ratio: 9 / 16;
  }

  body[data-page-type="activity_tour"][data-activity-variant="sky_bike_sky_ride"] .activityFactGrid,
  body[data-page-type="activity_tour"][data-activity-variant="sky_bike_sky_ride"] .skyBikeSpecialGrid {
    grid-template-columns: 1fr;
  }


  body[data-page-type="activity_tour"][data-activity-variant="quad_tour"] .heroMediaFrame {
    aspect-ratio: 9 / 16;
  }

  body[data-page-type="activity_tour"][data-activity-variant="quad_tour"] .activityFactGrid,
  body[data-page-type="activity_tour"][data-activity-variant="quad_tour"] .quadSpecialGrid {
    grid-template-columns: 1fr;
  }


  body[data-page-type="activity_tour"][data-activity-variant="paintball"] .heroMediaFrame {
    aspect-ratio: 9 / 16;
  }

  body[data-page-type="activity_tour"][data-activity-variant="paintball"] .activityFactGrid,
  body[data-page-type="activity_tour"][data-activity-variant="paintball"] .paintballSpecialGrid {
    grid-template-columns: 1fr;
  }


  body[data-page-type="activity_tour"][data-activity-variant="orchid_garden"] .heroMediaFrame {
    aspect-ratio: 9 / 16;
  }

  body[data-page-type="activity_tour"][data-activity-variant="orchid_garden"] .activityFactGrid,
  body[data-page-type="activity_tour"][data-activity-variant="orchid_garden"] .orchidSpecialGrid {
    grid-template-columns: 1fr;
  }


  body[data-page-type="activity_tour"][data-activity-variant="nature_walk"] .heroMediaFrame {
    aspect-ratio: 9 / 16;
  }

  body[data-page-type="activity_tour"][data-activity-variant="nature_walk"] .activityFactGrid,
  body[data-page-type="activity_tour"][data-activity-variant="nature_walk"] .natureWalkSpecialGrid {
    grid-template-columns: 1fr;
  }


  body[data-page-type="activity_tour"][data-activity-variant="mountain_biking"] .heroMediaFrame {
    aspect-ratio: 9 / 16;
  }

  body[data-page-type="activity_tour"][data-activity-variant="mountain_biking"] .activityFactGrid,
  body[data-page-type="activity_tour"][data-activity-variant="mountain_biking"] .mountainBikingSpecialGrid {
    grid-template-columns: 1fr;
  }


  body[data-page-type="activity_tour"][data-activity-variant="horseback_riding"] .heroMediaFrame {
    aspect-ratio: 9 / 16;
  }

  body[data-page-type="activity_tour"][data-activity-variant="horseback_riding"] .activityFactGrid,
  body[data-page-type="activity_tour"][data-activity-variant="horseback_riding"] .horsebackSpecialGrid {
    grid-template-columns: 1fr;
  }


  body[data-page-type="activity_tour"][data-activity-variant="frog_concert"] .heroMediaFrame {
    aspect-ratio: 9 / 16;
  }

  body[data-page-type="activity_tour"][data-activity-variant="frog_concert"] .activityFactGrid,
  body[data-page-type="activity_tour"][data-activity-variant="frog_concert"] .frogWildlifeGrid {
    grid-template-columns: 1fr;
  }

  body[data-page-type="activity_tour"][data-activity-variant="double_extreme_swing"] .heroMediaFrame {
    aspect-ratio: 9 / 16;
  }

  body[data-page-type="activity_tour"][data-activity-variant="double_extreme_swing"] .activityFactGrid {
    grid-template-columns: 1fr;
  }



  body[data-page-type="activity_tour"][data-activity-variant="coffee_tour"] .heroMediaFrame {
    aspect-ratio: 9 / 16;
  }

  body[data-page-type="activity_tour"][data-activity-variant="coffee_tour"] .activityFactGrid,
  body[data-page-type="activity_tour"][data-activity-variant="coffee_tour"] .coffeeCultureGrid {
    grid-template-columns: 1fr;
  }

  body[data-page-type="activity_tour"][data-activity-variant="chocolate_tour"] .heroMediaFrame {
    aspect-ratio: auto;
    height: auto !important;
  }

  body[data-page-type="activity_tour"][data-activity-variant="chocolate_tour"] .heroMediaFrame img {
    width: 100%;
    height: auto !important;
    object-fit: contain !important;
    object-position: center !important;
  }


body[data-page-type="activity_tour"][data-activity-variant="chocolate_tour"] .activityFactGrid,
  body[data-page-type="activity_tour"][data-activity-variant="chocolate_tour"] .chocolateCultureGrid {
    grid-template-columns: 1fr;
  }

  body[data-page-content-group="activities"] .page {
    padding: 16px;
  }

  body[data-page-content-group="activities"] .heroCard {
    padding: 16px;
  }

  body[data-page-content-group="activities"] .heroCard h1 {
    max-width: none;
  }

  body[data-page-content-group="activities"] .chips {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-page-content-group="activities"] .chip {
    width: 100%;
    justify-content: center;
    padding: 8px 9px;
    font-size: 11.5px;
    line-height: 1.2;
  }

  body[data-page-content-group="activities"] .heroMediaFrame {
    aspect-ratio: 4 / 3;
  }

  body[data-page-type="activity_tour"][data-activity-variant="canyoning"] .heroMediaFrame,
  body[data-page-type="activity_tour"][data-activity-variant="butterfly_tour"] .heroMediaFrame,
  body[data-page-type="activity_tour"][data-activity-variant="rafting_unavailable"] .heroMediaFrame,
  body[data-page-type="activity_tour"][data-activity-variant="night_walk"] .heroMediaFrame {
    aspect-ratio: 9 / 16;
  }

  body[data-page-content-group="activities"] .mediaGrid,
  body[data-page-content-group="activities"] .mediaGrid:has(.singleVideoCard),
  body[data-page-content-group="activities"] .infoGrid,
  body[data-page-content-group="activities"] .activityFactGrid,
  body[data-page-content-group="activities"] .comparisonGrid,
  body[data-page-content-group="activities"] .highlightGrid,
  body[data-page-content-group="activities"] .butterflyGrid,
  body[data-page-content-group="activities"] .internalLinks,
  body[data-page-content-group="activities"] .wildlifeGrid,
  body[data-page-content-group="activities"] .relatedGrid,
  body[data-page-content-group="activities"] .finalGrid {
    grid-template-columns: 1fr;
  }

  body[data-page-content-group="activities"] .videoCarouselViewport,
  body[data-page-content-group="activities"] .carouselViewport,
  body[data-page-content-group="activities"] .videoFrame {
    aspect-ratio: 4 / 5;
  }

  body[data-page-content-group="activities"] .singleVideoCard .videoFrame,
  body[data-page-content-group="activities"] .singleVideoFrame {
    aspect-ratio: 16 / 9;
  }

  body[data-page-content-group="activities"] .bookingPrompt {
    grid-template-columns: 1fr;
  }

  body[data-page-content-group="activities"] .ctaRow .btn,
  body[data-page-content-group="activities"] .finalLeft .btn {
    flex: 1 1 100%;
    width: 100%;
  }
}

@media (max-width: 430px) {
  body[data-page-content-group="activities"] .heroCard h1 {
    font-size: 36px;
  }

  body[data-page-content-group="activities"] .sectionHead h2 {
    font-size: 24px;
  }

  body[data-page-content-group="activities"] .chips {
    gap: 7px;
  }
}

/* =========================================================
   MBW single-video media symmetry lock
   Keeps a standalone YouTube/fallback video card the same
   width and media height as the adjacent image carousel card.
   This intentionally comes last so it overrides the older
   generic 16:9 single-video rule.
   ========================================================= */

body[data-page-content-group="activities"] .mediaGrid:has(.singleVideoFrame) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
}

body[data-page-content-group="activities"] .mediaGrid:has(.singleVideoFrame) > .mediaCard {
  min-width: 0;
  height: 100%;
}

body[data-page-content-group="activities"] .mediaGrid:has(.singleVideoFrame) > .mediaCard .mediaInner {
  display: flex;
  flex-direction: column;
  height: 100%;
}

body[data-page-content-group="activities"] .mediaGrid:has(.singleVideoFrame) .singleVideoFrame,
body[data-page-content-group="activities"] .mediaGrid:has(.singleVideoFrame) .carouselViewport {
  width: 100%;
  aspect-ratio: 9 / 16;
  height: auto;
  min-height: 0;
}

body[data-page-content-group="activities"] .mediaGrid:has(.singleVideoFrame) .singleVideoFrame {
  position: relative;
  overflow: hidden;
  border-radius: 14px;
  background: #061d11;
}

body[data-page-content-group="activities"] .mediaGrid:has(.singleVideoFrame) .singleVideoFrame iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 14px;
}

body[data-page-content-group="activities"] .mediaGrid:has(.singleVideoFrame) .mediaFooter {
  min-height: 48px;
}

/* Tablet: keep both media cards paired and equal. */
@media (max-width: 1000px) and (min-width: 761px) {
  body[data-page-content-group="activities"] .mediaGrid:has(.singleVideoFrame) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }

  body[data-page-content-group="activities"] .mediaGrid:has(.singleVideoFrame) .singleVideoFrame,
  body[data-page-content-group="activities"] .mediaGrid:has(.singleVideoFrame) .carouselViewport {
    aspect-ratio: 9 / 16;
  }
}

/* Mobile: stack cards, while keeping video and image media
   frames at the same approved mobile proportion. */
@media (max-width: 760px) {
  body[data-page-content-group="activities"] .mediaGrid:has(.singleVideoFrame) {
    grid-template-columns: 1fr;
  }

  body[data-page-content-group="activities"] .mediaGrid:has(.singleVideoFrame) .singleVideoFrame,
  body[data-page-content-group="activities"] .mediaGrid:has(.singleVideoFrame) .carouselViewport {
    aspect-ratio: 4 / 5;
  }
}


/* =========================================================
   Ziplining / Canopy: approved Night Walk-style portrait hero
   Verified hero asset: act_ziplining_01.jpg = 3072 x 5504
   Ratio is effectively 9:16. Keep the full image visible.
   ========================================================= */

body[data-page-type="activity_tour"][data-activity-variant="ziplining"] .heroMediaFrame {
  aspect-ratio: 9 / 16;
  height: auto !important;
  max-height: none;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="ziplining"] .heroMediaFrame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  object-position: center !important;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="ziplining"] .hero {
  grid-template-columns: 1.02fr .98fr;
  align-items: stretch;
}

body[data-page-type="activity_tour"][data-activity-variant="ziplining"] .heroCard {
  min-height: 0;
}

body[data-page-type="activity_tour"][data-activity-variant="ziplining"] .heroMedia {
  justify-content: space-between;
}

body[data-page-type="activity_tour"][data-activity-variant="ziplining"] .activityFactGrid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body[data-page-type="activity_tour"][data-activity-variant="ziplining"] .zipliningSpecialGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}

body[data-page-type="activity_tour"][data-activity-variant="ziplining"] .zipliningSpecialGrid .infoCard {
  min-width: 0;
  min-height: 100%;
}

@media (max-width: 1000px) and (min-width: 761px) {
  body[data-page-type="activity_tour"][data-activity-variant="ziplining"] .heroMediaFrame {
    aspect-ratio: 9 / 14;
    height: auto !important;
    max-height: none;
  }

  body[data-page-type="activity_tour"][data-activity-variant="ziplining"] .activityFactGrid,
  body[data-page-type="activity_tour"][data-activity-variant="ziplining"] .zipliningSpecialGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  body[data-page-type="activity_tour"][data-activity-variant="ziplining"] .heroMediaFrame {
    aspect-ratio: 9 / 16;
    height: auto !important;
    max-height: none;
  }

  body[data-page-type="activity_tour"][data-activity-variant="ziplining"] .activityFactGrid,
  body[data-page-type="activity_tour"][data-activity-variant="ziplining"] .zipliningSpecialGrid {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   Trail Running in Mindo
   Corrected activity-page consistency lock

   Important:
   The trail-running carousel mechanics are owned by travel-guides.css.
   Do not override carouselViewport height/positioning or carouselSlide
   display/positioning here. That previously collapsed the hero images.

   This file only aligns the hero/card rhythm and ensures images remain
   fully visible without cropping.
   ========================================================= */

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .activeHero {
  display: grid;
  grid-template-columns: 1.02fr .98fr;
  gap: 18px;
  align-items: stretch;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .activeHero .heroBody,
body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .activeHero .heroMedia {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .activeHero .heroBody {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 18px;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .activeHero .heroBody h1 {
  margin: 0;
  max-width: none;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .activeHero .heroBody .lede {
  max-width: 72ch;
  margin: 0;
  line-height: 1.45;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .activeHero .heroBody .chips {
  align-items: center;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .activeHero .heroBody .chip {
  min-height: 34px;
  white-space: normal;
  text-align: center;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .activeHero .heroBody .ctaRow {
  gap: 10px;
  align-items: center;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .activeHero .heroBody .ctaRow .btn {
  min-height: 46px;
  white-space: normal;
  text-align: center;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .heroProofPanel {
  padding: 12px 13px;
  border: 1px solid rgba(15, 92, 45, .18);
  border-radius: 12px;
  background: rgba(250, 253, 246, .78);
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .heroProofPanel strong {
  display: block;
  margin-bottom: 8px;
  color: var(--green);
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .heroProofPanel p {
  margin: 8px 0 0;
  font-size: 13.5px;
  line-height: 1.4;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .proofGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .proofGrid span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--ink);
  font-size: 12px;
  font-weight: 800;
  text-align: center;
}

/* Preserve travel-guides carousel mechanics.
   Only enforce full-image visibility inside the working slides. */
body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .activeHero .carouselSlide img {
  object-fit: contain !important;
  object-position: center !important;
  background: #fff;
}

/* Keep hero caption visually consistent without changing the viewport. */
body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .activeHero .mediaCaption {
  margin: 0;
  min-height: 48px;
  padding: 10px 12px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
  background: #fff;
}

/* Balanced repeated-card modules. */
body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .metricGrid,
body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .decisionGrid,
body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .trailFourGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .metricCard,
body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .decisionCard,
body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .trailFourGrid .infoCard {
  min-width: 0;
  min-height: 100%;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .metricCard,
body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .decisionCard {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 10px 22px rgba(0, 0, 0, .035);
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .metricCard span {
  display: block;
  margin-bottom: 5px;
  color: var(--green);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .06em;
  line-height: 1.1;
  text-transform: uppercase;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .metricCard strong,
body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .decisionCard h3 {
  display: block;
  margin: 0;
  color: var(--ink);
  line-height: 1.2;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .metricCard p,
body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .decisionCard p {
  margin: 7px 0 0;
  color: var(--muted);
  line-height: 1.4;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .trailPrepGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .trailPrepGrid > * {
  min-width: 0;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .guideNote {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .guideNote p {
  margin: 7px 0 0;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .trailRelatedSection .relatedGrid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .trailRelatedSection .relatedCard {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 100%;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .faqGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .faqGrid .faqCard {
  min-width: 0;
  min-height: 100%;
}

@media (max-width: 1000px) and (min-width: 761px) {
  body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .activeHero {
    grid-template-columns: 1fr 1fr;
  }

  body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .trailRelatedSection .relatedGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .activeHero {
    grid-template-columns: 1fr;
  }

  body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .proofGrid,
  body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .metricGrid,
  body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .decisionGrid,
  body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .trailFourGrid,
  body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .trailPrepGrid,
  body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .trailRelatedSection .relatedGrid,
  body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .faqGrid {
    grid-template-columns: 1fr;
  }
}

/* Trail Running layout and media alignment — 2026-09-18 */
body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .page.card {
  padding: 18px;
  overflow: visible;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .section {
  margin-top: 18px;
  padding-top: 16px;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .sectionHead {
  display: block;
  margin-bottom: 12px;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .sectionHead h2 {
  margin: 0;
  color: var(--forest);
  font-family: var(--font-head);
  font-size: 22px;
  line-height: 1.2;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .sectionHead p {
  max-width: 72ch;
  margin: 7px 0 0;
  color: var(--muted);
  line-height: 1.5;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .answerPanel > p {
  max-width: 82ch;
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}

/* Give the direct answer the same approved card treatment as the page's
   supporting information modules, while keeping the video section separate. */
body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .answerPanel {
  padding: 18px 20px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--card-strong);
  box-shadow: var(--shadow);
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .answerPanel .sectionHead {
  margin-bottom: 9px;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] :is(.infoCard,.noteCard,.faqCard) {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--card-strong);
  box-shadow: 0 10px 22px rgba(7,25,35,.04);
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] :is(.infoCard,.faqCard) {
  padding: 14px;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] :is(.infoCard,.faqCard) h3 {
  margin: 0 0 7px;
  color: var(--forest);
  font-size: 16px;
  line-height: 1.25;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] :is(.infoCard,.faqCard) p {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] :is(.trailPrepCard,.trailRelatedCard) {
  padding: 16px;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] :is(.trailPrepCard,.trailRelatedCard) > h2 {
  margin: 0 0 12px;
  color: var(--forest);
  font-family: var(--font-head);
  font-size: 22px;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .trailVideoGrid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 16px;
  align-items: stretch;
  width: min(100%,640px);
  margin-inline: auto;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .trailVideoCard {
  display: grid;
  grid-template-rows: auto 1fr;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--card-strong);
  box-shadow: var(--shadow);
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .trailVideoFrame {
  position: relative;
  width: 100%;
  aspect-ratio: 9 / 16;
  overflow: hidden;
  background: #071923;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .trailVideoFrame iframe {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .trailVideoCaption {
  display: grid;
  align-content: start;
  gap: 4px;
  height: 100%;
  min-height: 78px;
  padding: 12px 14px;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .trailVideoCaption strong {
  color: var(--forest);
  line-height: 1.3;
}

body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .trailVideoCaption span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

@media (max-width: 760px) {
  body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .page.card {
    padding: 12px;
  }

  body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .activeHero {
    gap: 14px;
  }

  body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .activeHero .heroBody {
    padding: 16px;
  }

  body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .answerPanel {
    padding: 16px;
  }

  body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .trailVideoGrid {
    grid-template-columns: 1fr;
  }

  body[data-page-content-group="active_adventures"][data-page-type="activity_detail_page"][data-activity-variant="trail_running"] .trailVideoCard {
    width: min(100%,420px);
    margin-inline: auto;
  }
}

/* =========================================================
   Waterfall Tour: natural landscape hero + 3-video carousel
   Scope: EN/ES waterfall activity pages only.
   ========================================================= */

body[data-page-type="activity_tour"][data-activity-variant="waterfall_tour"] .hero {
  align-items: start;
}

body[data-page-type="activity_tour"][data-activity-variant="waterfall_tour"] .heroMedia {
  align-self: start !important;
  min-height: 0 !important;
  height: auto !important;
  justify-content: flex-start;
}

body[data-page-type="activity_tour"][data-activity-variant="waterfall_tour"] .heroMediaFrame {
  aspect-ratio: auto;
  min-height: 0 !important;
  height: auto !important;
  max-height: none;
  overflow: hidden;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="waterfall_tour"] .heroMediaFrame img {
  display: block;
  width: 100%;
  height: auto !important;
  max-width: 100%;
  object-fit: contain !important;
  object-position: center !important;
  background: #fff;
}

body[data-page-type="activity_tour"][data-activity-variant="waterfall_tour"] .mediaGrid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
}

body[data-page-type="activity_tour"][data-activity-variant="waterfall_tour"] .mediaGrid > .mediaCard,
body[data-page-type="activity_tour"][data-activity-variant="waterfall_tour"] .mediaGrid > .mediaCard .mediaInner {
  min-width: 0;
  height: 100%;
}

body[data-page-type="activity_tour"][data-activity-variant="waterfall_tour"] .mediaGrid > .mediaCard .mediaInner {
  display: flex;
  flex-direction: column;
}

body[data-page-type="activity_tour"][data-activity-variant="waterfall_tour"] .videoCarouselViewport,
body[data-page-type="activity_tour"][data-activity-variant="waterfall_tour"] .carouselViewport {
  width: 100%;
  aspect-ratio: 9 / 16;
  min-height: 0;
  height: auto;
}

body[data-page-type="activity_tour"][data-activity-variant="waterfall_tour"] .videoCarouselViewport {
  touch-action: pan-y;
}

body[data-page-type="activity_tour"][data-activity-variant="waterfall_tour"] .videoCarouselSlide .videoFrame {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
}

body[data-page-type="activity_tour"][data-activity-variant="waterfall_tour"] .videoCarouselSlide .videoFrame iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 14px;
}

body[data-page-type="activity_tour"][data-activity-variant="waterfall_tour"] .mediaFooter {
  margin-top: auto;
}

@media (max-width: 760px) {
  body[data-page-type="activity_tour"][data-activity-variant="waterfall_tour"] .mediaGrid {
    grid-template-columns: 1fr;
  }

  body[data-page-type="activity_tour"][data-activity-variant="waterfall_tour"] .videoCarouselViewport,
  body[data-page-type="activity_tour"][data-activity-variant="waterfall_tour"] .carouselViewport {
    aspect-ratio: 4 / 5;
  }
}



/* Shared activity tours: match chocolate mobile stacking and natural image
   height at the site.css breakpoint. Applies to every activity variant and language. */
@media (max-width: 980px) {
  body[data-page-content-group="activities"][data-page-type="activity_tour"][data-activity-variant] .hero {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page-content-group="activities"][data-page-type="activity_tour"][data-activity-variant] .heroMedia {
    order: 1;
    align-self: start;
    min-height: 0 !important;
    justify-content: flex-start;
  }

  body[data-page-content-group="activities"][data-page-type="activity_tour"][data-activity-variant] .heroCard {
    order: 2;
    height: auto;
    min-width: 0;
  }

  body[data-page-content-group="activities"][data-page-type="activity_tour"][data-activity-variant] .heroMediaFrame {
    aspect-ratio: auto;
    height: auto !important;
  }

  body[data-page-content-group="activities"][data-page-type="activity_tour"][data-activity-variant] .heroMediaFrame img {
    width: 100%;
    max-width: 100%;
    height: auto !important;
  }
}
