/* Forest 1.8 — CTA spacing, uniform action buttons, map/footer join,
   active submenu state and vertical related cards. Loaded last. */

/* ---- 1.8/2 CTA blocks: identical breathing room above and below. ---- */
.forest-event-cta,
.forest-help,
.forest-story__booking,
.forest-content .forest-restaurant-cta { margin-block: var(--forest-section-space) !important; }

.forest-content:has(> .forest-event-cta:last-child),
.forest-content:has(> .forest-help:last-child),
.forest-content:has(> .forest-story__booking:last-child),
.forest-content:has(> .forest-restaurant-cta:last-child) { padding-bottom: 0 !important; }

/* 1.6 flattened the last block against the footer; these boxes keep their space. */
.forest-story > .forest-event-cta:last-child,
.forest-story > .forest-help:last-child,
.forest-story > .forest-story__booking:last-child,
.forest-story > .forest-restaurant-cta:last-child,
.forest-content > .forest-event-cta:last-child,
.forest-content > .forest-help:last-child,
.forest-content > .forest-story__booking:last-child,
.forest-content > .forest-restaurant-cta:last-child,
main > .forest-event-cta:last-child,
main > .forest-help:last-child { margin-bottom: var(--forest-section-space) !important; }

.forest-content:has(> .forest-story > .forest-event-cta:last-child),
.forest-content:has(> .forest-story > .forest-story__booking:last-child) { padding-bottom: 0 !important; }

.forest-content > p:empty,
.forest-content > br { display: none; }

/* ---- 1.8/2 Uniform action buttons; the icon never crowds the label. ---- */
.forest-button { gap: 10px; }
.forest-event-cta__actions { display: flex; flex-direction: column; align-items: stretch; gap: 12px; }
.forest-event-cta__actions .forest-button,
.forest-help .forest-button,
.forest-story__booking .forest-button,
.forest-package-actions .forest-button,
.forest-destination-actions .forest-button,
.forest-call { min-width: 265px; padding-inline: 30px; gap: 12px; justify-content: center; text-align: center; }
.forest-event-cta__actions .forest-button svg,
.forest-call svg { flex: 0 0 auto; width: 18px; height: 18px; }

@media (max-width: 700px) {
  .forest-event-cta__actions .forest-button,
  .forest-help .forest-button,
  .forest-package-actions .forest-button,
  .forest-destination-actions .forest-button,
  .forest-call { min-width: 0; width: 100%; }
}

/* ---- 1.8/3 The location map sits flush against the footer. ---- */
.forest-location-map { margin-bottom: 0 !important; }
.forest-content:has(.forest-location-map) { padding-bottom: 0 !important; }
.forest-content > .forest-location-map:last-child { margin-bottom: 0 !important; }
main:has(> .forest-content > .forest-location-map:last-child) { padding-bottom: 0; }

/* ---- 1.8/5 The open page is visible inside the dropdown. ---- */
.forest-nav .sub-menu .current-menu-item > a,
.forest-nav .sub-menu .current_page_item > a,
.forest-nav .sub-menu .current-menu-ancestor > a { color: #ddc797 !important; }
.forest-menu > .current-menu-ancestor > a,
.forest-menu > .current-menu-parent > a { color: #ddc797; }

@media (min-width: 1181px) {
  .forest-nav .forest-menu .sub-menu .current-menu-item > a,
  .forest-nav .forest-menu .sub-menu .current_page_item > a { background: rgba(255,255,255,.08); }
}

/* ---- 1.8/6 Related links become vertical cards with a photograph. ---- */
.forest-story__related .forest-story__related-card {
  position: relative; display: block; aspect-ratio: 3 / 4; min-height: 0;
  padding: 0; overflow: hidden; background: #123d2c; color: #fff !important;
}
.forest-story__related .forest-story__related-card img {
  position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0;
  object-fit: cover; opacity: 1; transition: transform .45s ease;
}
.forest-story__related .forest-story__related-card::before {
  position: absolute; z-index: 1; inset: 0; content: "";
  background: linear-gradient(to top, rgba(4,18,13,.88), rgba(4,18,13,.18) 58%, rgba(4,18,13,.04));
}
.forest-story__related .forest-story__related-card:hover img,
.forest-story__related .forest-story__related-card:focus-visible img { transform: scale(1.05); opacity: 1; }
.forest-story__related .forest-story__related-card-copy { z-index: 2; inset: auto 22px 22px; }
.forest-story__related .forest-story__related-card > b { z-index: 2; }
.forest-story__related .forest-story__related-card:focus-visible { outline: 2px solid var(--sand); outline-offset: 4px; }

@media (max-width: 700px) {
  .forest-story__related .forest-story__related-card { aspect-ratio: 4 / 3; }
}

@media (prefers-reduced-motion: reduce) {
  .forest-story__related .forest-story__related-card img { transition: none; }
}
