/* Fixed navigation: transparent over the hero, framed after scrolling. */
:root{--abc-header-height:80px}
body.fixedNavigation{padding-top:var(--abc-header-height)}
body.fixedNavigation .topbar,body.fixedNavigation .topbar.solid{position:fixed!important;inset:0 0 auto;height:var(--abc-header-height);z-index:80;padding:0 32px;background:#fffdf8;color:#20221b;border-bottom:1px solid #d7d4ca;box-shadow:0 2px 12px rgba(30,30,20,.035);gap:22px}
.topbar .brand{color:#20221b;font-size:25px;margin-right:auto}
.topbar .navlinks{gap:20px;letter-spacing:.09em;font-size:10px}
.topbar .navlinks a{opacity:1;color:#20221b}
.topbar>.abcLangSwitch{display:flex!important;align-items:center;gap:0;flex-shrink:0;border:1px solid #8e9380;padding:3px;background:#fffdf8;border-radius:2px}
.topbar>.abcLangSwitch a{font-family:var(--font-sans);font-size:12px;font-weight:600;letter-spacing:.02em;text-decoration:none!important;color:#303628!important;opacity:1!important;min-width:34px;min-height:32px;display:flex;align-items:center;justify-content:center;padding:6px}
.topbar>.abcLangSwitch a.active{background:#35402c;color:#fff!important}
.topbar>.abcLangSwitch a:hover{background:#e9ecdf;color:#20221b!important}
.topbar>.abcLangSwitch a:focus-visible{outline:2px solid #35402c;outline-offset:2px}
.topbar .menuBtn{color:#20221b;font-size:25px;min-height:44px;min-width:38px;padding:0}
.fixedNavigation .mobileMenu{z-index:100;overflow-y:auto}.mobileMenu .close{min-height:44px;min-width:44px}
.mobileLangSwitch a{color:#20221b!important}.mobileLangSwitch a.active{background:#35402c;color:white!important;border-color:#35402c}
html{scroll-padding-top:100px}.fixedNavigation [id]{scroll-margin-top:100px}
@media(max-width:1200px){.topbar .navlinks{gap:12px;font-size:9px}.topbar .brand{font-size:23px}.fixedNavigation .topbar{gap:14px!important;padding-left:22px!important;padding-right:22px!important}.topbar .navlinks .book{padding:12px 10px}}
@media(max-width:1050px){.topbar .navlinks{display:none!important}.topbar .menuBtn{display:block!important}}
@media(max-width:600px){:root{--abc-header-height:72px}.fixedNavigation .topbar{padding-left:16px!important;padding-right:14px!important;gap:10px!important}.topbar .brand{font-size:21px;letter-spacing:.07em}.topbar>.abcLangSwitch a{font-size:11px;min-width:29px;min-height:32px;padding:5px}.topbar>.abcLangSwitch{padding:2px}.topbar .menuBtn{min-width:30px}.mobileMenu nav{padding-top:50px}html{scroll-padding-top:88px}}
@media(max-width:350px){.topbar .brand{font-size:18px}.fixedNavigation .topbar{gap:7px!important}.topbar>.abcLangSwitch a{min-width:27px}}

body.fixedNavigation.heroNavigation{padding-top:0}
body.fixedNavigation .topbar{transition:background-color .22s ease,box-shadow .22s ease,border-color .22s ease,color .22s ease}
body.heroNavigation:not(.headerScrolled) .topbar{background:transparent;border-color:rgba(255,255,255,.25);box-shadow:none;color:#fff}
body.heroNavigation:not(.headerScrolled) .topbar::before{content:"";position:absolute;inset:0 0 -45px;z-index:-1;pointer-events:none;background:linear-gradient(rgba(9,18,18,.48),rgba(9,18,18,.16) 65%,transparent)}
body.heroNavigation:not(.headerScrolled) .topbar .brand,body.heroNavigation:not(.headerScrolled) .topbar .navlinks a,body.heroNavigation:not(.headerScrolled) .topbar .menuBtn{color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.25)}
body.heroNavigation:not(.headerScrolled) .topbar>.abcLangSwitch{background:rgba(17,28,26,.48);border-color:rgba(255,255,255,.7)}
body.heroNavigation:not(.headerScrolled) .topbar>.abcLangSwitch a{color:#fff!important}
body.heroNavigation:not(.headerScrolled) .topbar>.abcLangSwitch a.active,body.heroNavigation:not(.headerScrolled) .topbar>.abcLangSwitch a:hover{background:#fffdf8;color:#263226!important}
body.heroNavigation:not(.headerScrolled) .topbar>.abcLangSwitch a:focus-visible{outline-color:#fff}
@media(prefers-reduced-motion:reduce){body.fixedNavigation .topbar{transition:none}}

/* The background follows scroll distance continuously over the first 180 px. */
body.fixedNavigation.heroNavigation .topbar{background:rgba(255,253,248,var(--header-progress,0));border-bottom-color:rgba(215,212,202,var(--header-progress,0));box-shadow:0 2px 12px rgba(30,30,20,calc(var(--header-progress,0)*.06));transition:color .2s ease}
body.heroNavigation .topbar::before{content:"";position:absolute;inset:0 0 -45px;z-index:-1;pointer-events:none;background:linear-gradient(rgba(9,18,18,.48),rgba(9,18,18,.16) 65%,transparent);opacity:calc(1 - var(--header-progress,0))}
body.heroNavigation .topbar .brand,body.heroNavigation .topbar .navlinks a,body.heroNavigation .topbar .menuBtn{transition:color .2s ease,text-shadow .2s ease}
body.fixedNavigation.heroNavigation .topbar .brand,body.fixedNavigation.heroNavigation .topbar .navlinks a,body.fixedNavigation.heroNavigation .topbar .menuBtn{color:var(--header-ink,#fff);text-shadow:0 1px 8px rgba(0,0,0,var(--header-shadow-alpha,.25))}
body.fixedNavigation.heroNavigation .topbar>.abcLangSwitch a:not(.active){color:var(--header-ink,#fff)!important}

@media(max-width:600px){.topbar>.abcLangSwitch a{min-height:40px;min-width:32px}.topbar .menuBtn{min-height:44px;min-width:32px}}
@media(prefers-reduced-motion:reduce){body.heroNavigation .topbar,body.heroNavigation .topbar *{transition:none!important}}
@media(min-width:951px){body.fixedNavigation .bookingBox{top:calc(var(--abc-header-height) + 24px)}}
.fixedNavigation .lightbox{z-index:120}
@media(max-width:600px){.bookingForm input,.bookingForm select,.bookingBox input,.bookingBox select,.contactForm input,.contactForm select,.contactForm textarea{font-size:16px;min-width:0}.expTabs button{min-width:0}.expTabs button span{flex-shrink:0}.mobileMenu nav{font-size:clamp(25px,7vw,34px)}.privacyBanner{max-height:calc(100dvh - 20px);overflow:auto}}
.skipLink{position:fixed;z-index:150;left:16px;top:10px;padding:11px 15px;background:#fffdf8;color:#20221b;border:1px solid #20221b;transform:translateY(-150%);transition:transform .18s ease;font:600 12px/1.2 var(--font-sans);text-decoration:none}
.skipLink:focus{transform:translateY(0)}
