/* Floating mini-launcher: designed to stay out of the storefront content flow. */
#khh-widget{--khh-accent:#ffab47;position:fixed;inset:auto auto 92px 14px;z-index:9990;font:inherit;text-align:right;direction:rtl;pointer-events:none}
#khh-widget *{box-sizing:border-box}
#khh-widget button{font-family:inherit;cursor:pointer}
#khh-toggle{position:relative;display:flex;align-items:center;justify-content:center;width:54px;height:54px;padding:0;border:2px solid #ffcd82;border-radius:50%;background:linear-gradient(145deg,#583168,#291b36);color:#fff;box-shadow:0 5px 17px #24162c45,0 0 0 4px #f8b65a22;pointer-events:auto;animation:khhBounce 3.8s ease-in-out infinite;transform-origin:center bottom;transition:box-shadow .2s,scale .2s}
#khh-toggle:hover,#khh-toggle:focus-visible{animation-play-state:paused;scale:1.08;box-shadow:0 6px 22px #24162c60,0 0 0 5px #ffbd6744}
#khh-toggle:focus-visible,#khh-close:focus-visible,#khh-start:focus-visible{outline:3px solid #ffbf72;outline-offset:3px}
.khh-bubble-icon{font-size:29px;line-height:1;filter:drop-shadow(0 2px 2px #0005)}
#khh-count{position:absolute;top:-7px;right:-8px;min-width:22px;height:22px;border-radius:20px;background:#f59a32;color:#26162b;font-size:12px;font-weight:800;line-height:22px;text-align:center;border:2px solid white}
#khh-count[hidden],#khh-panel[hidden],#khh-start[hidden]{display:none!important}
#khh-panel{position:absolute;bottom:calc(100% + 12px);left:0;width:min(310px,calc(100vw - 28px));max-height:min(450px,calc(100dvh - 185px));overflow-y:auto;border-radius:18px;border:1px solid #e4cfeb;background:#302039;color:#fff;box-shadow:0 12px 36px #0005;padding:17px;pointer-events:auto;animation:khhPanelIn .2s ease-out}
.khh-panel-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
#khh-widget .khh-head{color:#ffcd8c;font-size:15px;line-height:1.7}
#khh-widget .khh-close{flex:none;border:1px solid #ffffff55;background:#ffffff16;color:white;border-radius:50%;width:29px;height:29px;line-height:1;font-size:23px}
#khh-widget .khh-hint{color:#e6d6e6;font-size:12px;margin:8px 0 10px;line-height:1.8}
#khh-progress{font-size:13px;margin:7px 0;color:#fff}
.khh-progress-track{height:7px;overflow:hidden;border-radius:30px;background:#6b5474;margin:10px 0 13px}
#khh-progress-fill{display:block;height:100%;width:0;background:linear-gradient(90deg,#e78a24,#ffd28b);border-radius:30px;transition:width .3s}
#khh-start{background:#f49c3a;color:#221629;border:0;border-radius:11px;padding:10px 15px;font-size:13px;font-weight:700;min-height:40px}
#khh-start:disabled{opacity:.6;cursor:wait}
#khh-message{font-size:12px;margin-top:9px;line-height:1.8}
@keyframes khhBounce{0%,74%,100%{transform:translateY(0) scale(1)}79%{transform:translateY(-9px) scale(1.03)}84%{transform:translateY(0) scale(.97,1.04)}89%{transform:translateY(-4px)}94%{transform:translateY(0)}}
@keyframes khhPanelIn{from{opacity:0;transform:translateY(7px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
button.khh-pumpkin{position:relative;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;cursor:pointer;font-size:40px;width:67px;height:67px;animation:khhFloat 2.5s ease-in-out infinite;z-index:8}
button.khh-pumpkin img{object-fit:contain;width:100%;height:100%}
@keyframes khhFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media(max-width:768px){#khh-widget{bottom:calc(96px + env(safe-area-inset-bottom,0px));left:12px}#khh-toggle{width:46px;height:46px}.khh-bubble-icon{font-size:25px}#khh-panel{width:min(290px,calc(100vw - 24px));max-height:min(420px,calc(100dvh - 200px));padding:14px}button.khh-pumpkin{max-width:58px;max-height:58px}}
@media(prefers-reduced-motion:reduce){#khh-toggle,button.khh-pumpkin,#khh-panel{animation:none}#khh-progress-fill{transition:none}}
/* Never show the launcher while its uncached bootstrap is pending. */
#khh-widget[hidden]{display:none!important}

/* v0.16: gentle entrance to make late-loaded pumpkins easier to notice. */
button.khh-pumpkin{animation:khhPumpkinArrival .5s cubic-bezier(.2,1.4,.55,1) both,khhFloat 2.5s ease-in-out .5s infinite;will-change:transform}
@keyframes khhPumpkinArrival{0%{opacity:0;transform:scale(.85) translateY(7px)}75%{opacity:1}100%{opacity:1;transform:scale(1) translateY(0)}}
#khh-widget .khh-nearby-hint{position:absolute;left:0;bottom:calc(100% + 12px);width:max-content;max-width:min(250px,calc(100vw - 28px));padding:10px 13px;border-radius:14px;border:1px solid #e8b96e;background:#392540;color:#fff;font-size:12px;line-height:1.8;box-shadow:0 8px 20px #0003;pointer-events:auto;cursor:pointer;animation:khhPanelIn .2s ease-out}
#khh-widget .khh-nearby-hint-out{opacity:0;transition:opacity .3s}
#khh-widget:has(#khh-panel:not([hidden])) .khh-nearby-hint{display:none}
@media(prefers-reduced-motion:reduce){button.khh-pumpkin{animation:none}}
