/* Shared hamburger navigation. Loaded after the active presentation styles. */
.bsf-header{position:relative;z-index:20}
.bsf-header .bsf-brand{margin-right:auto}
.bsf-header .bsf-menu{flex:0 0 auto;margin:0}
.bsf-menu-toggle{list-style:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:56px;min-height:56px;cursor:pointer;color:var(--color-text);border-radius:50%;user-select:none}
.bsf-menu-toggle::-webkit-details-marker{display:none}
.bsf-menu-toggle__icon{display:flex;flex-direction:column;justify-content:space-between;width:27px;height:12px}
.bsf-menu-toggle__icon i{display:block;width:100%;height:1px;background:currentColor}
.bsf-menu-toggle__label{font:10px/1 system-ui,sans-serif;letter-spacing:.12em}
.bsf-menu-toggle:hover{background:var(--color-secondary)}
.bsf-menu-open{overflow:hidden}
.bsf-menu-panel{box-sizing:border-box;width:100%;padding:38px 42px 40px;color:var(--color-text);background:var(--color-background);font-family:var(--font-body)}
.bsf-menu:not([open])>.bsf-menu-panel{display:none}
.bsf-menu[open]>.bsf-menu-panel{position:absolute;right:0;top:100%;width:min(460px,calc(100vw - 30px));max-height:80vh;overflow:auto;box-shadow:0 16px 60px #3d323026;border:1px solid var(--color-secondary)}
.bsf-menu-dialog{box-sizing:border-box;position:fixed;inset:0 0 0 auto;margin:0;padding:0;border:0;width:min(480px,100%);max-width:100%;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;background:var(--color-background);color:var(--color-text);overflow-y:auto;overscroll-behavior:contain}
.bsf-menu-dialog::backdrop{background:rgba(47,35,34,.42);backdrop-filter:blur(3px)}
.bsf-menu-dialog .bsf-menu-panel{min-height:100%;display:flex;flex-direction:column}
.bsf-menu-panel__head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px}
.bsf-menu-panel__head>p{font:14px/1.8 system-ui,sans-serif;letter-spacing:.24em;color:var(--color-primary);margin:0}
.bsf-menu-close{display:none;border:1px solid var(--color-secondary);border-radius:50%;width:48px;height:48px;padding:0;align-items:center;justify-content:center;color:var(--color-text);background:transparent;cursor:pointer;font:32px/1 system-ui,sans-serif}
.bsf-menu-dialog .bsf-menu-close{display:flex}.bsf-menu-close:hover{background:var(--color-secondary)}
.bsf-menu-panel nav{margin:0!important;width:100%}
.bsf-menu-panel nav ul,.bsf-design-elegant .bsf-menu-panel nav ul{display:block;list-style:none;margin:0;padding:0;font:500 21px/1.8 var(--font-body);letter-spacing:.04em}
.bsf-menu-panel nav>ul>li{border-bottom:1px solid var(--color-secondary)}
.bsf-menu-panel nav a,.bsf-design-elegant .bsf-menu-panel nav a{display:block;padding:19px 0;color:var(--color-text);text-decoration:none;overflow-wrap:anywhere}
.bsf-menu-panel nav a:hover{color:var(--color-primary);text-decoration:underline;text-underline-offset:.3em}
.bsf-menu-panel nav .sub-menu,.bsf-design-elegant .bsf-menu-panel nav .sub-menu{background:transparent;padding:0 0 10px 20px;font-size:16px}
.bsf-menu-panel nav .sub-menu a{padding:9px 0}
.bsf-menu-panel__booking,.bsf-design-elegant .bsf-menu-panel__booking{display:flex;align-items:center;justify-content:space-between;margin:38px 0 30px;font-size:16px;padding:17px 26px;background:var(--color-primary);color:var(--color-background);border-radius:99px;text-decoration:none}
.bsf-menu-panel__brand{font-size:13px;line-height:1.9;letter-spacing:.08em;margin:30px 0 0;color:var(--color-primary)}
.bsf-menu-dialog .bsf-menu-panel__brand{margin-top:auto;padding-top:35px}
.bsf-design-elegant .bsf-header{height:96px;min-height:0;flex-wrap:nowrap;gap:24px}
.bsf-design-elegant .bsf-header .bsf-brand{max-width:calc(100% - 240px)}
.bsf-design-elegant .bsf-header .bsf-header-booking{margin:0}
@media(max-width:780px){.bsf-design-elegant .bsf-header{height:88px;gap:18px}.bsf-menu-dialog{width:min(440px,100%)}.bsf-menu-panel{padding:28px 30px}.bsf-menu-panel__head{margin-bottom:26px}}
@media(max-width:560px){
 .bsf-design-elegant .bsf-header{height:88px;padding-block:12px;gap:12px}
 .bsf-design-elegant .bsf-header .bsf-brand{max-width:calc(100% - 164px)}
 .bsf-design-elegant .bsf-header .bsf-header-booking{font-size:12px;padding:13px 14px;gap:10px;white-space:nowrap}
 .bsf-menu-toggle{width:44px;min-height:52px;gap:8px}.bsf-menu-toggle__icon{width:25px}
 .bsf-menu-toggle__label{font-size:9px}
 .bsf-menu-panel{padding:25px 26px 32px}.bsf-menu-panel__head{margin-bottom:20px}
 .bsf-menu-panel nav ul,.bsf-design-elegant .bsf-menu-panel nav ul{font-size:20px}
 .bsf-menu-panel nav a,.bsf-design-elegant .bsf-menu-panel nav a{padding:17px 0}
 .bsf-menu-panel__booking,.bsf-design-elegant .bsf-menu-panel__booking{font-size:16px;margin-top:32px}
 .bsf-menu-dialog .bsf-menu-panel__brand{padding-top:20px}
}
@media(max-width:360px){.bsf-design-elegant .bsf-header{gap:8px}.bsf-design-elegant .bsf-header .bsf-brand{max-width:calc(100% - 144px)}.bsf-design-elegant .bsf-header .bsf-brand__main{font-size:13px;letter-spacing:.07em}.bsf-design-elegant .bsf-header .bsf-brand__sub{font-size:9px;letter-spacing:.17em}.bsf-design-elegant .bsf-header .bsf-header-booking{font-size:12px;padding:12px 10px;gap:7px}.bsf-menu-panel{padding:22px}.bsf-menu-panel nav ul,.bsf-design-elegant .bsf-menu-panel nav ul{font-size:18px}}
