/* Original per-page styles are retained in assets; these replace runtime behavior. */
html{scroll-behavior:smooth}
.site-dialog:not([open]){display:none!important}
.site-dialog[open]{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:24px;border:0;display:flex;z-index:10000}
.site-dialog::backdrop{background:transparent}
.site-dialog .dialog-widget-content{position:relative;max-width:100%;max-height:calc(100dvh - 48px);overflow:auto}
.site-dialog .dialog-message{display:block!important;max-width:calc(100vw - 48px);max-height:calc(100dvh - 48px);overflow:auto}
.site-dialog .dialog-message>.elementor{display:block!important;width:100%}
.site-dialog .dialog-close-button{position:absolute;right:10px;top:6px;z-index:10;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:#fffef0;color:#222;border:0;border-radius:50%;font:26px/1 Arial;cursor:pointer}
.site-dialog iframe{display:block;max-width:100%}
body:has(.site-dialog[open]){overflow:hidden}
.elementor-nav-menu .sub-menu{display:none;position:absolute;z-index:30;min-width:210px;background:#fffef0;padding:10px 0;list-style:none}
.elementor-nav-menu li{position:relative}
.elementor-nav-menu li.submenu-open>.sub-menu{display:block}
.elementor-nav-menu .sub-menu a{display:block;padding:10px 20px}
.elementor-menu-toggle{cursor:pointer}
.elementor-nav-menu--dropdown.elementor-nav-menu__container:not(.menu-open){display:none}
.elementor-nav-menu--dropdown.elementor-nav-menu__container.menu-open{display:block;position:absolute;left:auto;right:0;top:100%;z-index:50;width:min(90vw,640px);max-height:75vh;transform:none;overflow:auto;background:#fffef0}
.elementor-nav-menu--dropdown.menu-open .elementor-nav-menu{display:block}
.elementor-nav-menu--dropdown.menu-open .sub-menu{position:static}
@media(max-width:1024px){a[href^="mailto:"]{overflow-wrap:anywhere}}
.elementor-menu-toggle.elementor-active .eicon-menu-bar{display:none}
.elementor-menu-toggle:not(.elementor-active) .eicon-close{display:none}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-status{margin:12px 0 0;font-size:14px;line-height:1.5}
.form-status[data-state="error"]{color:#9d2424}
.form-status[data-state="success"]{color:#386445}
.elementor-form button:disabled{opacity:.6;cursor:not-allowed}
.brand-heading{margin:0!important;padding:0;font-size:inherit;line-height:0}
.home-intro{max-width:30em;margin:20px auto 0;padding:0 24px;color:#587a60;font-size:15px;line-height:1.5;text-align:center}
.offer-copy{padding:16px 6px 8px;text-align:center;color:#1c3324}
.offer-copy h2{font:inherit;font-weight:600;font-size:20px;line-height:1.3;margin:0 0 8px}
.offer-copy p{font-size:15px;line-height:1.5;margin:0}
.booking-help{padding:10px 16px;margin:0;font-size:14px;line-height:1.5;text-align:center}
.enquiry-note{font-size:14px;line-height:1.5;margin:0 0 16px}
.form-status[data-state="unavailable"]{border-left:3px solid #587a60;padding:12px;background:#f3f1e6;color:#243d2d}
.elementor-background-slideshow{position:absolute;inset:0;overflow:hidden;z-index:0}
.elementor-background-slideshow>div{position:absolute;inset:0;background-position:center;background-size:cover;opacity:0;transition:opacity 1s}
.elementor-background-slideshow>div.active{opacity:1}
.elementor-background-slideshow~*{position:relative}
.bdt-navigation-prev,.bdt-navigation-next{cursor:pointer}
:focus-visible{outline:2px solid #587a60;outline-offset:4px}
@media(max-width:767px){#elementor-popup-modal-552 .dialog-message{width:95vw;height:auto;padding-top:24px;overflow-x:hidden}#elementor-popup-modal-552 .elementor-form-fields-wrapper{margin-left:0;margin-right:0}#elementor-popup-modal-552 .elementor-field-group{padding-left:5px;padding-right:5px}.site-dialog[open]{padding:12px}.site-dialog .dialog-message{max-width:calc(100vw - 24px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
