/* A persistent primary action; all movement uses compositor transforms. */
html[lang] body :is(#tcs-book-now,.tcs-booking-cta).tcs-booking-cta{display:inline-block;position:relative!important;inset:auto!important;z-index:1;white-space:nowrap;text-decoration:none!important}
html[lang] body :is(#tcs-book-now,.tcs-booking-cta).tcs-booking-cta::before,html[lang] body :is(#tcs-book-now,.tcs-booking-cta).tcs-booking-cta::after{display:none!important}
html[lang] body :is(#tcs-book-now,.tcs-booking-cta):disabled,html[lang] body :is(#tcs-book-now,.tcs-booking-cta)[aria-disabled=true]{opacity:.45!important;pointer-events:none!important;cursor:not-allowed;transform:none!important}
html[lang] body :is(#tcs-book-now,.tcs-booking-cta)[aria-busy=true]{opacity:.7!important;cursor:progress}
html[lang] body :is(#tcs-book-now,.tcs-booking-cta)[data-booking-theme=light]{background:#f2efe6!important;color:#263228!important}
:is(#tcs-book-now,.tcs-booking-cta)[data-booking-theme=light] .tcs-booking-fill{background:#263228}
:is(#tcs-book-now,.tcs-booking-cta)[data-booking-theme=light] .tcs-booking-label--next{color:#f2efe6}
html[lang] body :is(#tcs-book-now,.tcs-booking-cta)[data-booking-theme=light] .c-floating-reservation__heading-sub{background:#263228;color:#f2efe6}
html[lang] body :is(#tcs-book-now,.tcs-booking-cta){isolation:isolate;overflow:hidden;display:block;width:auto;height:58px;padding:6px 6px 6px 27px;border:1px solid #ffffff18;border-radius:999px;background:var(--tcs-green,#263228)!important;color:var(--tcs-on-dark,#f6f4ee)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;box-shadow:0 8px 24px #18231b26;transform:translate3d(0,0,0);transition:transform 300ms var(--tcs-interaction-ease,cubic-bezier(.22,1,.36,1))!important;-webkit-tap-highlight-color:transparent}
:is(#tcs-book-now,.tcs-booking-cta) .tcs-booking-fill{position:absolute;inset:-1px;z-index:-1;border-radius:inherit;background:#f2efe6;transform:translate3d(101%,0,0);transition:transform 300ms var(--tcs-interaction-ease,cubic-bezier(.22,1,.36,1));pointer-events:none}
html[lang] body :is(#tcs-book-now,.tcs-booking-cta) .c-floating-reservation__inner{display:flex;align-items:center;gap:22px;height:44px;padding:0;position:relative}
html[lang] body :is(#tcs-book-now,.tcs-booking-cta) .c-floating-reservation__heading{position:relative;display:block;overflow:hidden;white-space:nowrap;font:500 16px/24px Inter,'Noto Sans JP',sans-serif!important;letter-spacing:0!important}
:is(#tcs-book-now,.tcs-booking-cta) .tcs-booking-label{display:block;transform:translate3d(0,0,0);transition:transform 300ms var(--tcs-interaction-ease,cubic-bezier(.22,1,.36,1))}
:is(#tcs-book-now,.tcs-booking-cta) .tcs-booking-label--next{position:absolute;inset:0;color:#263228;transform:translate3d(0,110%,0)}
html[lang] body :is(#tcs-book-now,.tcs-booking-cta) .c-floating-reservation__heading-sub{position:relative;display:block;flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:#f2efe6;color:#263228;overflow:hidden;transform:none!important;transition:none!important}
html[lang] body :is(#tcs-book-now,.tcs-booking-cta) .c-floating-reservation__heading-sub:before,html[lang] body :is(#tcs-book-now,.tcs-booking-cta) .c-floating-reservation__heading-sub:after{display:none!important}
:is(#tcs-book-now,.tcs-booking-cta) .tcs-booking-arrow{position:absolute;inset:0;display:grid;place-items:center;transform:translate3d(0,0,0);transition:transform 300ms var(--tcs-interaction-ease,cubic-bezier(.22,1,.36,1))}
:is(#tcs-book-now,.tcs-booking-cta) .tcs-booking-arrow svg{width:23px;height:23px}
:is(#tcs-book-now,.tcs-booking-cta) .tcs-booking-arrow--next{transform:translate3d(-130%,0,0)}
@media(hover:hover) and (pointer:fine){html[lang] body :is(#tcs-book-now,.tcs-booking-cta):hover{transform:translate3d(0,-2px,0)}:is(#tcs-book-now,.tcs-booking-cta):hover .tcs-booking-fill{transform:translate3d(0,0,0)}:is(#tcs-book-now,.tcs-booking-cta):hover .tcs-booking-label{transform:translate3d(0,-110%,0)}:is(#tcs-book-now,.tcs-booking-cta):hover .tcs-booking-label--next{transform:translate3d(0,0,0)}:is(#tcs-book-now,.tcs-booking-cta):hover .tcs-booking-arrow{transform:translate3d(130%,0,0)}:is(#tcs-book-now,.tcs-booking-cta):hover .tcs-booking-arrow--next{transform:translate3d(0,0,0)}}
:is(#tcs-book-now,.tcs-booking-cta):focus-visible .tcs-booking-fill{transform:translate3d(0,0,0)}
:is(#tcs-book-now,.tcs-booking-cta):focus-visible .tcs-booking-label{transform:translate3d(0,-110%,0)}
:is(#tcs-book-now,.tcs-booking-cta):focus-visible .tcs-booking-label--next{transform:translate3d(0,0,0)}
html[lang] body :is(#tcs-book-now,.tcs-booking-cta):focus-visible{outline:2px solid #748e5e!important;outline-offset:5px}
html[lang] body :is(#tcs-book-now,.tcs-booking-cta):active{transform:translate3d(0,0,0) scale(.96);transition-duration:120ms!important}
@media(max-width:767px){html[lang] body :is(#tcs-book-now,.tcs-booking-cta){height:54px;padding:5px 5px 5px 23px;right:16px;bottom:16px}html[lang] body :is(#tcs-book-now,.tcs-booking-cta) .c-floating-reservation__inner{height:42px;gap:18px}html[lang] body :is(#tcs-book-now,.tcs-booking-cta) .c-floating-reservation__heading-sub{width:42px;height:42px;flex-basis:42px}}
@media(prefers-reduced-motion:reduce){html[lang] body :is(#tcs-book-now,.tcs-booking-cta),html[lang] body :is(#tcs-book-now,.tcs-booking-cta) *{transition:none!important}html[lang] body :is(#tcs-book-now,.tcs-booking-cta):hover,html[lang] body :is(#tcs-book-now,.tcs-booking-cta):active{transform:none}:is(#tcs-book-now,.tcs-booking-cta) .tcs-booking-fill{display:none}:is(#tcs-book-now,.tcs-booking-cta) .tcs-booking-label{transform:none!important}:is(#tcs-book-now,.tcs-booking-cta) .tcs-booking-label--next{display:none}:is(#tcs-book-now,.tcs-booking-cta) .tcs-booking-arrow{transform:none!important}:is(#tcs-book-now,.tcs-booking-cta) .tcs-booking-arrow--next{display:none}}

/* Floating action separation: stays visible while content scrolls beneath it.
   Static shadows keep hover motion on compositor transforms only. */
html[lang] body #tcs-book-now{box-shadow:0 3px 8px #18231b20,0 12px 32px #18231b30!important}
