/* Only replacement interactions. Original, route-specific design CSS is local. */
.ybe-booking-service {display:block;text-decoration:none;color:inherit}
.ybe-booking .latepoint-questions a {color:inherit;text-decoration:none}
.ybe-booking .latepoint-step-content {display:block!important}
.ybe-booking .os-item {opacity:1!important;transform:none!important}
.ybe-booking .os-item:focus-visible {outline:2px solid #1d7bff;outline-offset:3px}
.ybe-dialog {border:0;padding:0;overflow:visible;max-height:90dvh;background:transparent}
.ybe-dialog::backdrop {background:rgba(0,0,0,.8)}
.ybe-dialog-booking {width:min(1000px,calc(100vw - 40px));max-width:1000px;color:#1f222b}
.ybe-dialog-booking .latepoint-inline-form {margin:0;display:block}
.ybe-dialog-booking .latepoint-booking-form-element {max-height:85dvh}
.ybe-dialog-booking .latepoint-body {overflow-y:auto}
.ybe-dialog-close {position:absolute!important;right:8px;top:8px;z-index:20;border:0!important;background:transparent!important;color:#444!important;font:30px/1 Arial,sans-serif!important;padding:4px 8px!important;cursor:pointer}
.ybe-dialog-gallery {width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;margin:0;color:white}
.ybe-dialog-gallery .ybe-dialog-close {color:#fff!important;right:20px;top:15px}
.ybe-dialog-gallery figure {height:100%;margin:0;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:60px}
.ybe-dialog-gallery figure img {max-width:100%;max-height:calc(100dvh - 120px);object-fit:contain;cursor:zoom-in}
.ybe-dialog-gallery figcaption {position:absolute;bottom:15px;left:20px;right:20px;text-align:center;font:700 16px/24px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:rgba(237,237,237,.9)}
.ybe-gallery-tools {position:absolute;right:52px;top:12px;display:flex;gap:16px;z-index:10}
.ybe-gallery-tools button {padding:5px;border:0;background:transparent;color:rgba(237,237,237,.9);cursor:pointer;line-height:1}
.ybe-gallery-tools svg {width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}
.ybe-share-menu {position:absolute;right:30px;top:56px;background:white;border-radius:4px;padding:10px;z-index:30;box-shadow:0 4px 20px #0004}
.ybe-share-menu a {display:block;color:#333;padding:7px 12px;font:14px/20px Arial,sans-serif}
.ybe-dialog-gallery figure.ybe-zoomed {overflow:auto;display:block;padding:0}
.ybe-dialog-gallery figure.ybe-zoomed img {max-width:none;max-height:none;cursor:zoom-out}
.ybe-image-counter {position:absolute;top:20px;left:20px;color:#ddd;font:14px/1.5 Arial,sans-serif}
.ybe-gallery-prev,.ybe-gallery-next {position:absolute;top:calc(50% - 30px);z-index:5;border:0!important;background:transparent!important;color:#ddd!important;font:40px/1 Arial,sans-serif!important;padding:10px!important;cursor:pointer}
.ybe-gallery-prev {left:10px}.ybe-gallery-next {right:10px}
.not-found {padding:80px 20px;text-align:center;min-height:45vh}
@media(max-width:600px){.ybe-dialog-booking{width:calc(100vw - 16px)}.ybe-dialog-gallery figure{padding:60px 0}.ybe-gallery-prev{left:0}.ybe-gallery-next{right:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* Shared anti-spam verification fits both the booking wizard and contact form. */
.ybe-turnstile {margin:0;min-width:0;width:100%}
.ybe-turnstile>div {max-width:100%;min-width:0}
#content .ybe-turnstile p {font-size:13px;line-height:1.65;margin:10px 0;color:inherit}
.ybe-turnstile a {color:inherit;text-decoration:underline;text-underline-offset:3px}
#content .ybe-turnstile .ybe-turnstile-retry {width:auto;padding:10px 0;background:transparent;border:0;border-radius:0;color:inherit;text-decoration:underline;font-size:14px;cursor:pointer}
#content .ybe-turnstile .ybe-turnstile-retry:focus-visible {outline:2px solid currentColor;outline-offset:3px}

.ybe-turnstile.has-error {margin:20px 0}
#content .ybe-turnstile .ybe-visually-hidden {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
#site-footer .ybe-privacy-notice {font-size:12px;color:#b9b9b9;margin-top:16px;max-width:620px;margin-inline:auto;text-align:center}
#site-footer .ybe-privacy-notice summary {cursor:pointer;list-style:none;text-decoration:underline;text-underline-offset:4px}
#site-footer .ybe-privacy-notice p {font-size:12px;line-height:1.7;margin:12px 0 0}
#site-footer .ybe-privacy-notice a {color:inherit;text-decoration:underline}
