.hcb{position:fixed;bottom:calc(var(--hcb-bottom,24px) + env(safe-area-inset-bottom,0px));z-index:var(--hcb-z-index,99990);display:inline-flex;align-items:center;justify-content:center;gap:12px;box-sizing:border-box;min-width:var(--hcb-size,60px);height:var(--hcb-size,60px);padding:0 22px;border:2px solid var(--hcb-color);border-radius:999px;background:var(--hcb-color);color:var(--hcb-text)!important;text-decoration:none!important;font:600 15px/1.2 system-ui,sans-serif;box-shadow:0 8px 28px #0003;isolation:isolate;max-width:calc(100vw - 32px);-webkit-tap-highlight-color:transparent;transition:filter .2s,box-shadow .2s}
.hcb--right{right:calc(var(--hcb-offset,24px) + env(safe-area-inset-right,0px))}.hcb--left{left:calc(var(--hcb-offset,24px) + env(safe-area-inset-left,0px))}.hcb svg{flex-shrink:0;width:26px;height:26px}.hcb span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hcb--circle{width:var(--hcb-size);padding:0}.hcb--circle span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.hcb--outline{background:#fff;color:var(--hcb-color)!important}.hcb:hover{filter:brightness(1.08);box-shadow:0 10px 32px #0004}.hcb:focus-visible{outline:3px solid #141b2d;outline-offset:6px}.hcb--pulse:before{content:"";position:absolute;inset:-3px;border:2px solid var(--hcb-color);border-radius:inherit;z-index:-1;pointer-events:none;animation:hcb-pulse 2.5s ease-out infinite}.hcb--ring svg{animation:hcb-ring 3s ease-in-out infinite}.hcb--float{animation:hcb-float 3s ease-in-out infinite}@keyframes hcb-pulse{0%{transform:scale(1);opacity:.65}80%,100%{transform:scale(1.25);opacity:0}}@keyframes hcb-ring{0%,30%,100%{transform:rotate(0)}5%,15%,25%{transform:rotate(-16deg)}10%,20%{transform:rotate(16deg)}}@keyframes hcb-float{50%{transform:translateY(-6px)}}@media(max-width:767px){.hcb--desktop{display:none}}@media(min-width:768px){.hcb--mobile{display:none}}@media(prefers-reduced-motion:reduce){.hcb,.hcb svg,.hcb:before{animation:none!important;transition:none!important}}
/* One continuous surface grows from the original button, anchored to its corner. */
.hcb-widget{position:fixed;bottom:calc(var(--hcb-bottom,24px) + env(safe-area-inset-bottom,0px));z-index:var(--hcb-z-index,99990);font-family:system-ui,sans-serif;width:max-content;max-width:calc(100vw - var(--hcb-offset,24px) - 16px);background:var(--hcb-color);color:var(--hcb-text);border:2px solid var(--hcb-color);border-radius:calc(var(--hcb-size,60px)/2);box-sizing:border-box;box-shadow:0 8px 28px #0003;overflow:hidden;transition:width .38s cubic-bezier(.22,1,.36,1),border-radius .38s ease,box-shadow .3s ease}
.hcb-widget.hcb-ready{width:var(--hcb-closed-width)}.hcb-widget.hcb-open{width:max(var(--hcb-closed-width),min(300px,calc(100vw - var(--hcb-offset,24px) - 16px)));border-radius:24px;box-shadow:0 16px 38px #0003}
.hcb-widget>.hcb{position:relative;bottom:auto;left:auto;right:auto;width:max-content;max-width:100%;border:0;border-radius:0;background:transparent;box-shadow:none;color:inherit!important;cursor:pointer;animation:none!important;height:calc(var(--hcb-size,60px) - 4px);min-height:40px;min-width:calc(var(--hcb-size,60px) - 4px);transition:background .2s}
.hcb-widget>.hcb--circle{width:calc(var(--hcb-size,60px) - 4px);padding:0}.hcb-widget.hcb-ready>.hcb{width:100%}.hcb-widget>.hcb:before{display:none}.hcb-widget>.hcb:hover{filter:none;background:#ffffff12;box-shadow:none}.hcb-widget>.hcb:focus-visible{outline:2px solid currentColor;outline-offset:-6px;border-radius:22px}.hcb-widget--outline{background:#fff;color:var(--hcb-color)}
.hcb-contacts{display:grid;grid-template-rows:1fr;opacity:1;width:100%;transition:grid-template-rows .38s cubic-bezier(.22,1,.36,1),opacity .22s ease}
.hcb-ready:not(.hcb-open)>.hcb-contacts{grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows .38s cubic-bezier(.22,1,.36,1),opacity .15s,visibility 0s .38s}
.hcb-contact-inner{min-height:0;overflow:hidden}.hcb-contact-scroll{max-height:calc(100vh - var(--hcb-size,60px) - var(--hcb-bottom,24px) - 32px);max-height:calc(100dvh - var(--hcb-size,60px) - var(--hcb-bottom,24px) - 32px);overflow-y:auto;overscroll-behavior:contain;padding:8px 10px 0;box-sizing:border-box;scrollbar-width:thin}
.hcb-contact-scroll>p{margin:0;padding:13px 10px 12px;color:inherit;opacity:.75;font:500 11px/1.5 system-ui,sans-serif;letter-spacing:.2px}
.hcb-contact-scroll>a{display:flex;align-items:center;gap:12px;padding:13px 10px;color:inherit!important;text-decoration:none!important;border:0;border-top:1px solid #ffffff26;border-radius:0;background:transparent;line-height:1.4;transition:background .2s,transform .32s,opacity .25s}
.hcb-contact-scroll>a:hover,.hcb-contact-scroll>a:focus-visible{background:#ffffff1c;border-radius:12px}.hcb-contact-scroll>a:focus-visible{outline:2px solid currentColor;outline-offset:-2px}.hcb-contact-scroll>a>svg{width:21px;height:21px;flex-shrink:0;color:inherit;opacity:.9}.hcb-contact-scroll>a>span{flex:1;min-width:0}.hcb-contact-scroll strong{display:block;overflow-wrap:anywhere;font:600 14px/1.4 system-ui,sans-serif}.hcb-contact-scroll small{display:block;font:400 12px/1.4 system-ui,sans-serif;color:inherit;opacity:.75;margin-top:3px;direction:ltr;text-align:start}.hcb-contact-scroll b{font-size:18px;font-weight:400;opacity:.65}
.hcb-open>.hcb{border-top:1px solid #ffffff26}.hcb-ready:not(.hcb-open) .hcb-contact-scroll>a{opacity:0;transform:translateY(10px)}.hcb-open .hcb-contact-scroll>a{opacity:1;transform:translateY(0);transition-delay:.07s}.hcb-open .hcb-contact-scroll>a:nth-of-type(2){transition-delay:.1s}.hcb-open .hcb-contact-scroll>a:nth-of-type(n+3){transition-delay:.13s}.hcb-open>.hcb svg{animation:none!important}.hcb-widget--outline .hcb-contact-scroll>a,.hcb-widget--outline.hcb-open>.hcb{border-top-color:color-mix(in srgb,var(--hcb-color) 20%,transparent)}.hcb-widget--outline .hcb-contact-scroll>a:hover{background:color-mix(in srgb,var(--hcb-color) 9%,transparent)}
@media(prefers-reduced-motion:reduce){.hcb-widget,.hcb-contacts,.hcb-contact-scroll>a{transition:none!important;animation:none!important}}
.hcb-contacts[hidden]{display:none!important}
/* Keep touch/wheel scrolling while hiding the scrollbar in all supported engines. */
.hcb-contact-scroll{scrollbar-width:none;-ms-overflow-style:none}.hcb-contact-scroll::-webkit-scrollbar{display:none;width:0;height:0}
/* Scope to every internal scrolling surface, including the admin preview. */
.hcb-widget,.hcb-widget *{scrollbar-width:none!important;-ms-overflow-style:none!important}
.hcb-widget::-webkit-scrollbar,.hcb-widget *::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;background:transparent!important}
.hcb-widget *::-webkit-scrollbar-thumb,.hcb-widget *::-webkit-scrollbar-track,.hcb-widget *::-webkit-scrollbar-button,.hcb-widget *::-webkit-scrollbar-corner{display:none!important;background:transparent!important;width:0!important;height:0!important}
.hcb-widget.hcb-open{background:var(--hcb-menu-bg,var(--hcb-color));transition:width .38s cubic-bezier(.22,1,.36,1),border-radius .38s ease,box-shadow .3s ease,background-color .3s ease}
#hedzara-widget .hcb-contact-scroll>a:hover,#hedzara-widget .hcb-contact-scroll>a:focus-visible,.hcb-stage .hcb-widget .hcb-contact-scroll>a:hover,.hcb-stage .hcb-widget .hcb-contact-scroll>a:focus-visible{background:var(--hcb-hover,#35b28e)!important}
/* Collapse from the first CSS paint, before JS initializes or measures the button. */
.hcb-widget:not(.hcb-open)>.hcb-contacts{grid-template-rows:0fr;opacity:0;visibility:hidden}
.hcb-widget:not(.hcb-ready),.hcb-widget:not(.hcb-ready)>.hcb-contacts{transition:none!important}
/* Keep mouse access available when an optimizer delays widget JavaScript. */
@media(hover:hover) and (pointer:fine){.hcb-widget:not(.hcb-ready):hover{width:min(300px,calc(100vw - var(--hcb-offset,24px) - 16px));border-radius:24px;background:var(--hcb-menu-bg,var(--hcb-color))}.hcb-widget:not(.hcb-ready):hover>.hcb-contacts{grid-template-rows:1fr;opacity:1;visibility:visible}.hcb-widget:not(.hcb-ready):hover>.hcb{width:100%}}
/* Desktop hover is CSS-driven even if JS events are delayed or intercepted. */
@media (hover:hover) and (pointer:fine){
#hedzara-widget:hover{width:max(var(--hcb-closed-width,var(--hcb-size,60px)),min(300px,calc(100vw - var(--hcb-offset,24px) - 16px)));border-radius:24px;background:var(--hcb-menu-bg,var(--hcb-color))}
#hedzara-widget:hover>.hcb-contacts{grid-template-rows:1fr!important;visibility:visible!important;opacity:1!important;transition:grid-template-rows .38s cubic-bezier(.22,1,.36,1),opacity .22s ease}
#hedzara-widget:hover .hcb-contact-scroll>a{opacity:1!important;transform:translateY(0)!important;pointer-events:auto}
#hedzara-widget:hover>.hcb{width:100%;border-top:1px solid #ffffff26}
}
/* Keep option geometry stable while the hover background fades in and out. */
.hcb-widget .hcb-contact-scroll>a,.hcb-widget .hcb-contact-scroll>a:hover,.hcb-widget .hcb-contact-scroll>a:focus-visible{border-radius:12px;overflow:hidden;isolation:isolate;background-clip:padding-box;transition-property:background-color,transform,opacity;transition-duration:.18s,.32s,.25s;transition-timing-function:ease,ease,ease}
#hedzara-schedule > [hidden] { display: none !important; }

.hcb > svg {
 width: calc(var(--hcb-size, 60px) * .433333);
 height: calc(var(--hcb-size, 60px) * .433333);
}

/* Animate the closed widget as a whole so its contact panel can keep clipping its contents. */
.hcb-widget.hcb--pulse:not(.hcb-open) {
 animation: hcb-widget-pulse 2.5s ease-out infinite;
}
.hcb-widget.hcb--float:not(.hcb-open) {
 animation: hcb-float 3s ease-in-out infinite;
}
@keyframes hcb-widget-pulse {
 from { box-shadow: 0 8px 28px #0003, 0 0 0 0 var(--hcb-color); }
 80%, to { box-shadow: 0 8px 28px #0003, 0 0 0 10px transparent; }
}
