/* Step 5 draft refinements: sticky navigation, stronger brand, booking actions and back to top. */
body.bbb-theme .bbb-site-header{position:sticky!important;top:0;z-index:1100;background:#1b1919;box-shadow:0 4px 22px rgba(12,9,9,.22)}
body.admin-bar.bbb-theme .bbb-site-header{top:32px}
body.bbb-theme .bbb-header-inner{min-height:96px;transition:min-height .2s ease}
body.bbb-theme.bbb-scrolled .bbb-header-inner{min-height:76px}
body.bbb-theme .bbb-wordmark{display:flex;flex-direction:column;min-width:0;padding:7px 0;text-decoration:none}
body.bbb-theme .bbb-wordmark-name{font-size:clamp(34px,2.75vw,44px)!important;line-height:.96!important;letter-spacing:-.02em;color:#fff8f0!important;text-shadow:0 1px 16px #0006;white-space:nowrap}
body.bbb-theme .bbb-wordmark-sub{color:#dbb98e;font-size:9px;letter-spacing:.19em;font-weight:600;margin-top:10px}
body.bbb-theme .bbb-wordmark:after{content:"";width:44px;height:1px;background:#b69a76;margin-top:10px}
body.bbb-theme .bbb-header-actions{display:flex;align-items:center;gap:11px;flex-shrink:0}
body.bbb-theme .bbb-header-actions .bbb-header-enquire{border:none;padding:10px 8px;color:#efe5db}
body.bbb-theme .bbb-header-booking{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 17px;background:#b69a76;color:#211b1a!important;text-decoration:none!important;font:700 10px/1.3 "DM Sans",sans-serif;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
body.bbb-theme .bbb-header-booking:hover{background:#d3b48b}
body.bbb-theme .bbb-header-booking:focus-visible{outline:3px solid #f4efe7;outline-offset:3px}
body.bbb-theme .bbb-hero-actions .bbb-hero-enquiry{align-self:center;padding:11px 5px;color:#f4efe7;text-decoration:underline;text-underline-offset:4px;font-size:12px}
body.bbb-theme .bbb-booking-section{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;margin:42px auto 0;text-align:center}
body.bbb-theme .bbb-booking-section--compact{margin-top:27px}
body.bbb-theme .bbb-booking-section .bbb-btn{min-width:184px}
body.bbb-theme .bbb-page-booking{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:14px;margin:43px auto 10px}
body.bbb-theme .bbb-page-booking .bbb-btn{min-width:175px}
body.bbb-theme .bbb-back-to-top{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(86px,calc(env(safe-area-inset-bottom) + 68px));width:48px;height:48px;z-index:1005;display:grid;place-items:center;background:#292322;color:#f8eadd;border:1px solid #b69a76;border-radius:50%;box-shadow:0 7px 20px #0005;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(9px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease,background .2s ease;cursor:pointer}
body.bbb-theme.bbb-scrolled .bbb-back-to-top{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
body.bbb-theme .bbb-back-to-top:hover{background:#633d48}
body.bbb-theme .bbb-back-to-top:focus-visible{outline:3px solid #b69a76;outline-offset:4px}
body.bbb-theme .bbb-back-to-top svg{width:21px;height:21px;stroke:currentColor}
html:has(body.bbb-theme){scroll-padding-top:105px}
@media(max-width:1180px){
 body.bbb-theme .bbb-primary-nav,body.bbb-theme .bbb-header-actions{display:none!important}
 body.bbb-theme .bbb-mobile-menu{display:block!important;position:relative;z-index:1150;flex:0 0 auto}
 body.bbb-theme .bbb-mobile-menu summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:center;gap:9px;min-width:74px;min-height:46px;padding:10px 13px;border:1px solid #78675a;color:#f4efe7;font:600 11px/1.2 "DM Sans",sans-serif;text-transform:uppercase;letter-spacing:.12em;-webkit-tap-highlight-color:transparent}
 body.bbb-theme .bbb-mobile-menu summary::-webkit-details-marker{display:none}
 body.bbb-theme .bbb-mobile-menu[open] summary{background:#342b29;border-color:#b69a76}
 body.bbb-theme .bbb-mobile-dropdown{position:absolute;right:0;top:calc(100% + 8px);width:min(340px,calc(100vw - 28px));min-width:0;max-height:min(74dvh,570px);overflow-y:auto;overscroll-behavior:contain;padding:11px 20px;background:#292422;border:1px solid #8b6f57;box-shadow:0 16px 34px #08060680}
 body.bbb-theme .bbb-mobile-dropdown a{display:flex;align-items:center;min-height:47px;padding:11px 4px;border-bottom:1px solid #554640;color:#f4efe7;text-decoration:none;font-size:12px}
 body.bbb-theme .bbb-mobile-dropdown a:last-child{border-bottom:0}
 body.bbb-theme .bbb-mobile-dropdown .bbb-mobile-booking{justify-content:center;background:#b69a76;color:#211b1a!important;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-top:11px;padding-inline:12px}
 body.bbb-theme .bbb-header-inner{min-height:79px}
 body.bbb-theme.bbb-scrolled .bbb-header-inner{min-height:70px}
 body.bbb-theme .bbb-wordmark-name{font-size:clamp(30px,4vw,38px)!important}
}
@media(max-width:782px){body.admin-bar.bbb-theme .bbb-site-header{top:46px}}
@media(max-width:640px){
 body.bbb-theme .bbb-header-inner{min-height:76px}
 body.bbb-theme.bbb-scrolled .bbb-header-inner{min-height:68px}
 body.bbb-theme .bbb-wordmark-name{font-size:clamp(24px,6.4vw,31px)!important}
 body.bbb-theme .bbb-wordmark-sub{font-size:7px;letter-spacing:.11em;margin-top:7px}
 body.bbb-theme .bbb-wordmark:after{width:33px;margin-top:7px}
 body.bbb-theme .bbb-hero-actions .bbb-hero-enquiry{width:100%;text-align:center}
 body.bbb-theme .bbb-back-to-top{right:15px;bottom:max(82px,calc(env(safe-area-inset-bottom) + 66px));width:45px;height:45px}
 body.bbb-theme .bbb-page-booking{flex-direction:column}
 body.bbb-theme .bbb-page-booking .bbb-btn,body.bbb-theme .bbb-booking-section .bbb-btn{width:100%}
}
/* Mobile draft preview has a fixed WPVibe banner that can cover Back to Top.
   Raise the control above that banner; leave the live visitor layout unchanged. */
@media(max-width:640px){
 body.bbb-theme:has(#wpvibe-preview-banner) .bbb-back-to-top{
  bottom:calc(190px + env(safe-area-inset-bottom))!important;
  z-index:2147483000!important;
 }
}
@media(prefers-reduced-motion:reduce){body.bbb-theme .bbb-header-inner,body.bbb-theme .bbb-back-to-top{transition:none!important}}
