/* Bithrah booking: a quiet dot display; only transform and opacity animate. */
.booking-dock{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));z-index:570;isolation:isolate;font-family:inherit;color:#f1f5f3;direction:inherit}
.booking-trigger{appearance:none;position:relative;display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:66px;min-width:198px;padding:12px 20px;border:1px solid #5a6863;border-radius:22px;background:linear-gradient(165deg,#212824 0%,#101713 46%,#0d1411 100%);color:#f1f5f3;font:inherit;font-size:16px;font-weight:550;line-height:1.4;cursor:pointer;box-shadow:inset 0 1px 0 #ffffff22,0 8px 24px #0003;-webkit-tap-highlight-color:transparent;touch-action:manipulation;overflow:hidden}
.booking-trigger::before{content:"";position:absolute;inset:0;border:1px solid #9bffe2;border-radius:inherit;opacity:0;transition:opacity 180ms;pointer-events:none}
.booking-trigger::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent,#35d9a018,transparent);transform:translateX(-105%);transition:transform 440ms cubic-bezier(.22,.8,.25,1);pointer-events:none}
.booking-trigger:is(:focus-visible,[aria-expanded=true])::before{opacity:.8}
.booking-trigger:is(:focus-visible,[aria-expanded=true])::after{transform:translateX(105%)}
.booking-trigger:focus-visible,.booking-panel a:focus-visible{outline:2px solid #9bffe2;outline-offset:4px}
.booking-face{display:flex;align-items:center;justify-content:space-between;gap:22px;width:100%;transition:transform 150ms}
.booking-trigger:active .booking-face{transform:scale(.96)}
.booking-label{position:relative;white-space:nowrap}
.booking-display{width:37px;height:37px;flex:none;overflow:visible;color:#56e4af}
.booking-dot{opacity:.1;transition:opacity 240ms ease;transition-delay:calc(var(--n) * 5ms)}
.booking-dot[data-calendar="1"]{opacity:1}
.booking-trigger:is(:focus-visible,[aria-expanded=true]) .booking-dot{opacity:.1}
.booking-trigger:is(:focus-visible,[aria-expanded=true]) .booking-dot[data-clock="1"]{opacity:1}
.booking-panel{position:absolute;right:0;bottom:calc(100% + 10px);width:100%;min-width:220px;padding:7px;border:1px solid #49574f;border-radius:21px;background:#131b16;box-shadow:inset 0 1px 0 #ffffff0d,0 12px 32px #0004;transform-origin:bottom right;opacity:0;transform:translateY(9px) scale(.97);visibility:hidden;transition:opacity 180ms,transform 240ms cubic-bezier(.2,.8,.2,1),visibility 0s linear 240ms;pointer-events:none;box-sizing:border-box}
.booking-dock.is-open .booking-panel{opacity:1;transform:none;visibility:visible;pointer-events:auto;transition-delay:0s}
.booking-panel a{display:flex;align-items:center;gap:12px;position:relative;min-height:48px;padding:7px 13px;box-sizing:border-box;border-radius:14px;color:#f1f5f3;background:transparent;text-decoration:none;font:inherit;font-size:15px;line-height:1.45}
.booking-panel a::before{content:"";position:absolute;inset:0;border-radius:inherit;background:#ffffff0d;opacity:0;transition:opacity 120ms;pointer-events:none}
.booking-panel a:is(:hover,:focus-visible)::before{opacity:1}
.booking-panel .booking-display{width:22px;height:22px}
.booking-panel .booking-dot{transition:none;opacity:0}
.booking-panel .booking-dot[data-calendar="1"]{opacity:.85}
html:is(.st-full,.svc-open,.menu-open,.lhint-on) .booking-dock{visibility:hidden;pointer-events:none}
@media(max-width:520px){.booking-dock{right:max(14px,env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom))}.booking-trigger{min-height:60px;min-width:184px;padding:10px 17px;border-radius:20px;font-size:15px}.booking-display{width:34px;height:34px}.booking-panel{min-width:216px;max-width:calc(100vw - 28px)}}
@media(prefers-reduced-motion:reduce){.booking-dock *,.booking-trigger::before,.booking-trigger::after{transition:none!important}.booking-trigger::after{display:none}.booking-trigger:active .booking-face{transform:none}.booking-panel{transform:none}}

/* Native pointer owns this compact control; the site’s large leaf must not cover its label. */
body.curon .booking-dock,body.curon .booking-dock *{cursor:pointer}
body:has(.booking-dock:hover) :is(#lcur,#spark){opacity:0!important}

/* Hover is a mouse affordance; touch close returns to the calendar immediately. */
@media(hover:hover){.booking-trigger:hover::before{opacity:.8}.booking-trigger:hover::after{transform:translateX(105%)}.booking-trigger:hover .booking-dot{opacity:.1}.booking-trigger:hover .booking-dot[data-clock="1"]{opacity:1}}
