/* Small usability refinements; original Nicepage theme retained. */
a:focus-visible,button:focus-visible{outline:3px solid #55c2fd!important;outline-offset:4px}
.rv-contact-link{color:inherit!important;font:inherit;text-decoration:none;border-bottom:1px dotted currentColor}
.rv-contact-link:hover{text-decoration:underline;text-underline-offset:3px}
.u-footer .u-text{line-height:1.65;overflow-wrap:break-word}
.u-header .rv-enquiries{cursor:default}
.u-btn{touch-action:manipulation}
@media(max-width:575px){.u-footer .u-text{padding-left:10px;padding-right:10px}.rv-contact-link{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important}}

/* Flexible shared header: retain the existing logo, fonts and menu behaviour. */
.rv-header{background:#fff;color:#333;border-bottom:1px solid #e7e7e7}
.rv-header-inner,.rv-navigation-inner{width:calc(100% - 40px);max-width:1140px;margin:0 auto;box-sizing:border-box}
.rv-header-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:24px 0}
.rv-header .rv-brand{display:block;flex:0 1 285px;min-width:0;line-height:0}
.rv-header .rv-brand img{display:block;width:100%;height:auto;max-width:285px}
.rv-header-contact{display:flex;flex-direction:column;align-items:flex-end;gap:5px;font-family:Montserrat,sans-serif;min-width:0}
.rv-contact-caption{font-size:12px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:#666}
.rv-header .rv-header-phone{font-size:24px;font-weight:700;line-height:1.35;color:#333}
.rv-header .rv-header-email{font-size:14px;line-height:1.6;color:#444;overflow-wrap:anywhere}
.rv-header-contact a:hover{color:#1688c2;text-decoration:underline;text-underline-offset:4px}
.rv-navigation-row{border-top:1px solid #eee}
.rv-header .u-menu-1{margin:0 auto;padding:8px 0;display:table}
.rv-header .u-nav-container>.u-nav{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0 12px}
.rv-header .u-nav-container>.u-nav>.u-nav-item>.u-nav-link{padding:12px 14px!important;text-decoration:none!important;font-size:14px;letter-spacing:.35px}
.rv-header .u-hamburger-link-1{padding:10px 18px;min-height:44px;display:flex;align-items:center;justify-content:center;gap:10px}
.rv-header .u-hamburger-link-1::after{content:'Menu';font-family:Montserrat,sans-serif;font-size:14px;font-weight:700;letter-spacing:.4px}
@media(max-width:767px){.rv-header-inner{gap:20px;padding:20px 0}.rv-header .rv-brand{flex-basis:220px}.rv-header .rv-header-phone{font-size:21px}.rv-header .rv-header-email{font-size:12px}}
@media(max-width:575px){.rv-header-inner{flex-direction:column;gap:16px;padding:20px 0 18px}.rv-header .rv-brand{flex:0 0 auto;width:230px;max-width:85%}.rv-header-contact{align-items:center;text-align:center;gap:3px;width:100%}.rv-header .rv-header-email{font-size:13px}.rv-header-inner,.rv-navigation-inner{width:calc(100% - 32px)}}

/* Keep all video containers; request the YouTube player only on playback. */
.rv-video-play{position:absolute;inset:0;z-index:20;width:100%;height:100%;padding:0;border:0;cursor:pointer;background:#222;color:#fff;overflow:hidden}
.rv-video-play img{width:100%;height:100%;object-fit:cover;display:block;opacity:.85}
.rv-video-play span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:12px 20px;background:#333;font:600 16px Montserrat,sans-serif;white-space:nowrap;border:2px solid white}
.rv-video-play:hover span{background:#111}
.rv-video-on-demand .embed-responsive{width:100%!important;height:100%!important;left:0!important;top:0!important}.rv-video-on-demand .u-video-shading{pointer-events:none}
/* Consistent centred booking buttons, scoped to Aladdin. */
.rv-aladdin-booking .u-btn-1,.rv-aladdin-booking .u-btn-3{display:table;width:220px;max-width:100%;box-sizing:border-box;margin:36px auto 0!important;padding:21px 24px!important;text-align:center}
.rv-aladdin-booking .u-container-layout-2,.rv-aladdin-booking .u-container-layout-3{padding-left:30px!important;padding-right:30px!important}
