/* Shared mobile navigation on every page. */
.site-header.site-header { background: #fff; border-bottom: 1px solid #e5e6dc; box-shadow: none; }
.site-header.site-header .logoName { position: relative; min-height: 68px; padding: 12px 24px; background: #fff; }
.site-header.site-header .logoNameContainer { padding-right: 52px; }
.site-header.site-header .menu-toggle { display: block; position: absolute; top: 50%; right: 20px; width: 44px; height: 44px; min-width: 44px; min-height: 44px; margin: 0; padding: 0; transform: translateY(-50%); border: 1px solid transparent; border-radius: 12px; background: transparent; color: #214b31; cursor: pointer; box-shadow: none; }
.menu-lines::before, .menu-lines::after { content: ''; position: absolute; left: 10px; top: 21px; width: 22px; height: 2px; border-radius: 2px; background: currentColor; transform-origin: center; }
.menu-lines::before { transform: translateY(-4px); }
.menu-lines::after { transform: translateY(4px); }
.menu-toggle[aria-expanded="true"] .menu-lines::before { transform: rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-lines::after { transform: rotate(-45deg); }
.site-header.site-header .menu-toggle:hover, .site-header.site-header .menu-toggle[aria-expanded="true"] { background: #f0f3eb; }
.site-header.site-header .mobile-nav { display: flex; flex-direction: column; align-items: stretch; gap: 4px; width: 100%; margin: 0; padding: 0 20px; max-height: 0; overflow: hidden; visibility: hidden; background: #fff; border: 0; box-shadow: none; font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif; }
.site-header.site-header .mobile-nav.open { visibility: visible; max-height: min(640px,calc(100dvh - 80px)); overflow-y: auto; overscroll-behavior: contain; padding: 8px 20px 20px; }
.site-header.site-header .mobile-nav > a { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 16px; min-height: 48px; margin: 0; padding: 12px 16px; border: 0; border-radius: 8px; color: #263b2d; background: transparent; font-size: 16px; font-weight: 500; line-height: 1.4; text-decoration: none; box-shadow: none; }
.site-header.site-header .mobile-nav > a:not(.nav-booking-link)::after { content: ''; width: 6px; height: 6px; border-top: 1.5px solid #7c8c7a; border-right: 1.5px solid #7c8c7a; transform: rotate(45deg); flex: 0 0 6px; }
.site-header.site-header .mobile-nav > a:not(.nav-booking-link):hover { background: #f3f5ef; }
.site-header.site-header .mobile-nav > .nav-booking-link { justify-content: center; min-height: 52px; margin-top: 12px; border-radius: 999px; background: #184d30; color: #fff; font-size: 15px; font-weight: 600; }
.site-header.site-header :is(.menu-toggle,.mobile-nav > a):focus-visible { outline: 2px solid #315f40; outline-offset: 2px; }
@media(prefers-reduced-motion:no-preference) {
  .menu-lines::before, .menu-lines::after { transition: transform .18s ease; }
  .site-header.site-header .mobile-nav { transition: max-height .2s ease, padding .2s ease; }
}
@media(prefers-reduced-motion:reduce) {
  .site-header.site-header .mobile-nav { transition: none; }
}
