/* Extra class specificity wins over the legacy Languages ID rule, in either load order. */
#foxy-booking-float.fx-booking-float{position:fixed;right:22px;bottom:max(22px,env(safe-area-inset-bottom));z-index:90;display:grid;place-items:center;width:104px;height:104px;padding:8px;box-sizing:border-box;border:3px solid #ffffffd9;border-radius:50%;background:var(--fx-float-background);color:white;text-decoration:none;text-align:center;font:600 14px/1.35 system-ui;box-shadow:0 6px 20px #0003}
#foxy-booking-float.fx-booking-float[hidden]{display:none!important}
#foxy-booking-float.fx-booking-float:focus-visible{outline:3px solid var(--fx-float-color);outline-offset:5px}
#foxy-booking-float.fx-booking-float{transform:translateX(0);opacity:1;visibility:visible;transition:transform var(--fx-float-show,320ms) ease,opacity var(--fx-float-show,320ms) ease,visibility 0s}
#foxy-booking-float.fx-booking-float.fx-float-hidden{transform:translateX(calc(100% + 64px));visibility:hidden;pointer-events:none;transition-duration:var(--fx-float-hide,320ms),var(--fx-float-hide,320ms),0s;transition-delay:0s,0s,var(--fx-float-hide,320ms)}
#foxy-booking-float.fx-booking-float[data-animation="fade"].fx-float-hidden{transform:none;opacity:0}
#foxy-booking-float.fx-booking-float[data-animation="zoom"].fx-float-hidden{transform:scale(.65);opacity:0}
#foxy-booking-float.fx-booking-float[data-animation="none"]{transition:none!important}
@media(prefers-reduced-motion:reduce){#foxy-booking-float.fx-booking-float{transition:none!important}}
#foxy-booking-float.fx-booking-float{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none;touch-action:none;scale:1;transition:transform var(--fx-float-show,320ms) ease,opacity var(--fx-float-show,320ms) ease,visibility 0s,scale 160ms ease;outline:none}
#foxy-booking-float.fx-booking-float.fx-float-hidden{transition-duration:var(--fx-float-hide,320ms),var(--fx-float-hide,320ms),0s,160ms;transition-delay:0s,0s,var(--fx-float-hide,320ms),0s}
#foxy-booking-float.fx-booking-float:focus-visible{outline:none;box-shadow:0 0 0 4px #fff,0 0 0 7px var(--fx-float-color),0 6px 20px #0003}
#foxy-booking-float.fx-booking-float[data-gesture="press"],#foxy-booking-float.fx-booking-float[data-gesture="held"],#foxy-booking-float.fx-booking-float[data-gesture="drag"]{scale:.94;box-shadow:inset 0 3px 12px #0004,0 0 0 4px var(--fx-float-color);transition-duration:var(--fx-float-show,320ms),var(--fx-float-show,320ms),0s,100ms}
#foxy-booking-float.fx-booking-float::after{content:'';position:absolute;inset:-3px;border:2px solid var(--fx-float-color);border-radius:50%;opacity:0;pointer-events:none}
#foxy-booking-float.fx-booking-float.fx-float-activate::after{animation:fx-float-ripple 350ms ease-out}
@keyframes fx-float-ripple{from{transform:scale(1);opacity:.7}to{transform:scale(1.35);opacity:0}}
@media(prefers-reduced-motion:reduce){#foxy-booking-float.fx-booking-float[data-gesture]{scale:1}#foxy-booking-float.fx-booking-float::after{animation:none!important}}
/* Separate ambient ring; override legacy home-page ::after pulse in either CSS order. */
#foxy-booking-float.fx-booking-float::after,#foxy-booking-float.fx-booking-float.is-visible::after{animation:none!important}
#foxy-booking-float.fx-booking-float.fx-float-activate::after{animation:fx-float-ripple 350ms ease-out!important}
#foxy-booking-float.fx-booking-float::before{content:'';position:absolute;inset:-5px;border:2px solid var(--fx-float-color);border-radius:50%;pointer-events:none;opacity:0;animation:fx-float-pulse 3s ease-out infinite}
@keyframes fx-float-pulse{0%{transform:scale(1);opacity:.5}75%,100%{transform:scale(1.32);opacity:0}}
#foxy-booking-float.fx-booking-float[hidden]::before,#foxy-booking-float.fx-booking-float.fx-float-hidden::before,#foxy-booking-float.fx-booking-float[aria-hidden="true"]::before,#foxy-booking-float.fx-booking-float[data-gesture]:not([data-gesture="idle"])::before,#foxy-booking-float.fx-booking-float:focus-visible::before,#foxy-booking-float.fx-booking-float.fx-float-activate::before{animation:none;opacity:0}
@media(hover:hover){#foxy-booking-float.fx-booking-float:hover::before{animation:none;opacity:0}}
@media(prefers-reduced-motion:reduce){#foxy-booking-float.fx-booking-float::before,#foxy-booking-float.fx-booking-float.fx-float-activate::after{animation:none!important;opacity:0}}
