/* Shared navigation: compact disclosure menu on mobile and tablet. */
.menu-toggle,.mobile-booking{display:none}
@media(max-width:1200px){
 header{height:auto;min-height:82px;padding:18px 5%;gap:16px;flex-wrap:wrap;position:relative;z-index:20}
 header>a:first-child{display:inline-flex;align-items:center;flex-shrink:0}
 header .logo{width:clamp(150px,34vw,200px)}
 header nav{order:4;width:100%;display:flex;flex-direction:column;align-items:stretch;gap:0;font-size:16px}
 header nav>a{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:12px 16px;white-space:normal;border-bottom:1px solid #dbe5df;line-height:1.4}
 header nav>a[aria-current="page"]{background:#edf3ef;font-weight:700;border-radius:12px}
 header nav>a:hover{background:#edf3ef;border-radius:12px}
 header nav>a:last-child{border-bottom:0}
 header nav .mobile-booking{display:flex;margin-top:10px;background:#12667a;color:white;border-radius:25px;padding:13px 19px;font-weight:600}
 header>.button.small{display:none}
 .nav-ready .menu-toggle{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:10px 16px;border:1px solid #b4c8cb;border-radius:28px;color:#143f4d;background:#fffefa;font-size:14px;font-weight:600;cursor:pointer}
 .menu-icon{width:17px;height:12px;border-top:2px solid currentColor;border-bottom:2px solid currentColor;position:relative}
 .menu-icon:after{content:"";position:absolute;top:3px;left:0;right:0;border-top:2px solid currentColor}
 .menu-toggle[aria-expanded="true"] .menu-icon{height:16px;border:0}
 .menu-toggle[aria-expanded="true"] .menu-icon:before,.menu-toggle[aria-expanded="true"] .menu-icon:after{content:"";position:absolute;left:0;right:0;top:7px;border-top:2px solid currentColor;transform:rotate(45deg)}
 .menu-toggle[aria-expanded="true"] .menu-icon:after{transform:rotate(-45deg)}
 .nav-ready header #main-navigation{display:none}
 .nav-ready header.menu-open #main-navigation{display:flex;background:#fffefa;border:1px solid #dbe5df;border-radius:20px;padding:8px;box-shadow:0 12px 28px #143f4d12;margin-top:0}
}

@media(min-width:1201px){header{gap:18px}header .logo{width:180px}header nav{gap:18px;font-size:13px;flex-wrap:nowrap}header nav>a{white-space:nowrap}header>.button.small{gap:18px;padding:11px 18px}}
