/* Forest 1.7 visual refinements */
.forest-story__related>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.5vw,32px)}
.forest-story__related-card{position:relative;display:block;min-height:340px;overflow:hidden;background:#123d2c;color:#fff!important;text-decoration:none!important}
.forest-story__related-card img{display:block;width:100%;height:100%;min-height:340px;object-fit:cover;opacity:.68;transition:transform .35s ease,opacity .35s ease}
.forest-story__related-card:hover img,.forest-story__related-card:focus-visible img{transform:scale(1.04);opacity:.5}
.forest-story__related-card-copy{position:absolute;inset:auto 24px 24px;display:flex;flex-direction:column;gap:10px;color:#fff}
.forest-story__related-card-copy strong{font:inherit;font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.08}
.forest-story__related-card-copy em{font-style:normal;text-transform:uppercase;font-size:.72rem;letter-spacing:.12em;color:#ddc797}
.forest-story__related-card>b{position:absolute;right:22px;top:20px;font-size:1.3rem;color:#ddc797}
.forest-location-map{margin-bottom:0!important;border-bottom:0!important}
.forest-location-map + .forest-footer,.forest-location-map + footer{margin-top:0!important;border-top:0!important}
body{--forest-section-space:clamp(48px,6vw,88px)}
@media(max-width:700px){.forest-story__related>div{grid-template-columns:1fr}.forest-story__related-card,.forest-story__related-card img{min-height:280px}}

/* 1.7.1: hide only the duplicate fixed booking link. */
.forest-mobile-book { display:none!important; }
@media(max-width:1180px) {
 /* A filtered header traps fixed descendants inside its short height. */
 body.nav-open .forest-header, body.nav-open .forest-header__inner {
  -webkit-backdrop-filter:none!important; backdrop-filter:none!important;
  filter:none!important; transform:none!important; perspective:none!important;
  contain:none!important; will-change:auto!important; overflow:visible!important;
 }
 body.nav-open { overflow:hidden; overscroll-behavior:none; }
 .forest-nav[data-nav] {
  --forest-menu-top:0px;
  position:fixed!important; top:var(--forest-menu-top)!important;
  right:0!important; bottom:auto!important; left:0!important;
  width:100%!important; max-width:none!important;
  height:calc(100vh - var(--forest-menu-top))!important;
  height:calc(100dvh - var(--forest-menu-top))!important;
  max-height:none!important; box-sizing:border-box;
  padding:calc(var(--header-h, 90px) + 24px) clamp(24px,6vw,64px) calc(32px + env(safe-area-inset-bottom));
  overflow-x:hidden!important; overflow-y:auto!important;
  overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
  transform:none!important; transition:none!important; display:none!important;
 }
 body.admin-bar .forest-nav[data-nav] { --forest-menu-top:32px; }
 body.nav-open .forest-nav[data-nav] { display:block!important; }
 .forest-nav[data-nav] .forest-menu { width:100%; min-width:0; margin:0; padding:0; }
 .forest-nav[data-nav] .forest-menu li { min-width:0; }
 .forest-nav[data-nav] .forest-menu .sub-menu {
  position:static!important; inset:auto!important; float:none!important;
  transform:none!important; translate:none!important;
  width:100%!important; min-width:0!important; max-width:100%!important;
  margin:0!important; padding:4px 0 16px!important;
  display:none!important; grid-column:1 / -1;
  opacity:1!important; visibility:visible!important;
  transition:none!important; animation:none!important;
 }
 .forest-nav[data-nav] .forest-menu .sub-menu.is-open { display:grid!important; }
 .forest-nav[data-nav] .sub-menu li, .forest-nav[data-nav] .sub-menu a {
  transform:none!important; translate:none!important; opacity:1!important;
  visibility:visible!important; transition:none!important; animation:none!important;
 }
 .forest-nav[data-nav] .sub-menu a { min-width:0; white-space:normal; overflow-wrap:anywhere; padding:10px 0!important; }
 .forest-nav[data-nav] .forest-submenu-toggle { min-width:44px; min-height:44px; }
 body.nav-open .forest-menu-toggle { position:relative; z-index:130; }
}
@media(max-width:782px) {
 body.admin-bar .forest-nav[data-nav] { --forest-menu-top:46px; }
}
@media(max-width:600px) {
 .forest-footer__bottom { padding-bottom:calc(22px + env(safe-area-inset-bottom)); }
 .forest-cookie { bottom:calc(12px + env(safe-area-inset-bottom)); }
}
