/* Healyn AI Chat Assistant - all rules scoped under #hac-root */
#hac-root{--hac-p:#0A2E4E;--hac-a:#247B5B;--hac-bg:#fff;--hac-soft:#F2F5F8;--hac-text:#1B2733;--hac-muted:#6B7A89;--hac-line:#E4E9EE;
  position:fixed;bottom:22px;right:22px;z-index:2147483000;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,"Helvetica Neue",Arial,sans-serif;font-size:14.5px;line-height:1.5;color:var(--hac-text);-webkit-font-smoothing:antialiased}
#hac-root.hac-left{right:auto;left:22px}

:where(#hac-root) *,:where(#hac-root) *::before,:where(#hac-root) *::after{box-sizing:border-box;margin:0;padding:0;font-family:inherit;letter-spacing:normal;text-transform:none}
:where(#hac-root) button{cursor:pointer;border:0;background:none;color:inherit;font:inherit;padding:0;margin:0;min-height:0;box-shadow:none;text-decoration:none}
/* Launcher */
.hac-launcher{width:62px;height:62px;border-radius:50%;background:linear-gradient(135deg,var(--hac-p),var(--hac-a))!important;color:#fff!important;display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 28px rgba(10,46,78,.35),0 2px 6px rgba(0,0,0,.12);transition:transform .25s ease,box-shadow .25s ease;position:relative}
.hac-launcher:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 14px 34px rgba(10,46,78,.42)}
.hac-launcher svg{width:28px;height:28px;transition:transform .3s ease,opacity .2s}
.hac-launcher .hac-ic-close{position:absolute;opacity:0;transform:rotate(-90deg)}
#hac-root.hac-open .hac-launcher .hac-ic-chat{opacity:0;transform:rotate(90deg)}
#hac-root.hac-open .hac-launcher .hac-ic-close{opacity:1;transform:none}
.hac-launcher::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--hac-a);animation:hac-pulse 2.4s ease-out infinite}
#hac-root.hac-open .hac-launcher::after,#hac-root.hac-seen .hac-launcher::after{display:none}
@keyframes hac-pulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.55);opacity:0}}
/* Panel */
.hac-panel{position:absolute;isolation:isolate;bottom:78px;right:0;width:384px;height:min(620px,calc(100vh - 110px));background:var(--hac-bg);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;
  box-shadow:0 24px 60px rgba(16,24,40,.22),0 4px 14px rgba(16,24,40,.08);opacity:0;transform:translateY(16px) scale(.97);transform-origin:bottom right;pointer-events:none;visibility:hidden;transition:opacity .25s ease,transform .25s ease,visibility 0s .25s}
#hac-root.hac-left .hac-panel{right:auto;left:0;transform-origin:bottom left}
#hac-root.hac-open .hac-panel{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition:opacity .25s ease,transform .25s ease}
/* Header */
.hac-head{background:linear-gradient(135deg,var(--hac-p) 0%,var(--hac-p) 45%,var(--hac-a) 140%);color:#fff;padding:18px 16px 18px 18px;display:flex;align-items:center;gap:12px;position:relative;flex-shrink:0}
.hac-head::after{content:"";position:absolute;right:-40px;top:-60px;width:170px;height:170px;border-radius:50%;background:rgba(255,255,255,.06)}
.hac-avatar{width:44px;height:44px;border-radius:50%;background:#fff;color:var(--hac-p);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;flex-shrink:0;position:relative;overflow:visible}
.hac-avatar img{width:100%;height:100%;object-fit:contain;border-radius:50%;padding:5px}
.hac-avatar .hac-dot{position:absolute;bottom:1px;right:1px;width:11px;height:11px;border-radius:50%;background:#2ECC71;border:2px solid var(--hac-p)}
.hac-title{flex:1;min-width:0;position:relative;z-index:1}
.hac-title strong{display:block;font-size:16px;font-weight:650;line-height:1.25;color:#fff}
.hac-title span{display:block;font-size:12.5px;opacity:.82}
.hac-hbtn{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff!important;position:relative;z-index:1;transition:background .2s}
.hac-hbtn:hover{background:rgba(255,255,255,.14)!important}
.hac-hbtn svg{width:18px;height:18px}
/* Messages */
.hac-body{flex:1;overflow-y:auto;padding:18px 16px 8px;background:#FAFBFC;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}
.hac-body::-webkit-scrollbar{width:8px}
.hac-body::-webkit-scrollbar-thumb{background:#D5DCE3;border-radius:6px}
.hac-day{text-align:center;font-size:11.5px;color:var(--hac-muted);margin:0 0 14px}
.hac-row{display:flex;gap:8px;margin-bottom:12px;align-items:flex-end;animation:hac-in .3s ease both}
.hac-row.hac-user{justify-content:flex-end}
@keyframes hac-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.hac-mini{width:28px;height:28px;border-radius:50%;background:var(--hac-p);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}
.hac-mini img{width:100%;height:100%;object-fit:contain;background:#fff;padding:3px}
.hac-bubble{max-width:100%;padding:10px 14px;border-radius:16px;word-wrap:break-word;overflow-wrap:anywhere}
.hac-bot .hac-bubble{background:#fff;border:1px solid var(--hac-line);border-bottom-left-radius:5px;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.hac-user .hac-bubble{background:var(--hac-p);color:#fff;border-bottom-right-radius:5px}
.hac-bubble p,.hac-bubble ul,.hac-bubble li{margin:0;padding:0}
.hac-bubble p+p,.hac-bubble p+ul,.hac-bubble ul+p{margin-top:6px}
.hac-bubble ul{list-style:none;margin:4px 0}
.hac-bubble li{position:relative;padding-left:14px;margin:3px 0}
.hac-bubble li::before{content:"";position:absolute;left:2px;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--hac-a)}
.hac-bubble strong{font-weight:650}
.hac-bubble a{color:var(--hac-a);text-decoration:underline;text-underline-offset:2px}
.hac-user .hac-bubble a{color:#fff}
.hac-time{font-size:10.5px;color:var(--hac-muted);margin-top:3px}
.hac-user .hac-time{text-align:right}
/* Typing */
.hac-typing .hac-bubble{display:flex;gap:4px;padding:14px 16px}
.hac-typing i{width:7px;height:7px;border-radius:50%;background:#A9B6C2;animation:hac-bounce 1.2s infinite ease-in-out}
.hac-typing i:nth-child(2){animation-delay:.15s}
.hac-typing i:nth-child(3){animation-delay:.3s}
@keyframes hac-bounce{0%,60%,100%{transform:translateY(0);opacity:.6}30%{transform:translateY(-5px);opacity:1}}
/* Quick replies */
.hac-chips{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 14px 36px}
.hac-chip{text-transform:none!important;letter-spacing:normal!important;font-family:inherit!important;border:1.5px solid var(--hac-a)!important;color:var(--hac-a)!important;background:#fff!important;border-radius:999px;padding:7px 13px;font-size:13px;font-weight:550;line-height:1.2;transition:all .2s}
.hac-chip:hover{background:var(--hac-a)!important;color:#fff!important}
/* Contact strip */
.hac-actions{display:flex;gap:8px;padding:10px 14px 0;background:#fff;border-top:1px solid var(--hac-line);flex-shrink:0}
.hac-act{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px;border-radius:10px;font-size:13px;font-weight:600;text-decoration:none!important;transition:background .2s;border:1px solid var(--hac-line)}
.hac-act svg{width:16px;height:16px}
.hac-act-call{color:var(--hac-p)!important}
.hac-act-call:hover{background:var(--hac-soft)}
.hac-act-wa{color:#128C4A!important}
.hac-act-wa:hover{background:#EAF7EF}
/* Composer */
.hac-foot{padding:10px 14px 10px;background:#fff;flex-shrink:0}
.hac-compose{display:flex;align-items:flex-end;gap:8px;border:1.5px solid var(--hac-line);border-radius:14px;padding:6px 6px 6px 14px;transition:border-color .2s,box-shadow .2s}
.hac-compose:focus-within{border-color:var(--hac-a);box-shadow:0 0 0 3px rgba(36,123,91,.12)}
.hac-input{flex:1;border:0!important;outline:0!important;resize:none;background:transparent!important;font-size:14.5px!important;line-height:1.45!important;max-height:110px;min-height:22px;padding:6px 0!important;color:var(--hac-text)!important;box-shadow:none!important;height:auto}
.hac-input::placeholder{color:#98A5B1}
.hac-send{width:38px;height:38px;border-radius:11px;background:var(--hac-p)!important;color:#fff!important;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .2s,transform .15s}
.hac-send:disabled{opacity:.35;cursor:default}
.hac-send:not(:disabled):hover{transform:scale(1.05)}
.hac-send svg{width:18px;height:18px}
.hac-note{text-align:center;font-size:11px;color:var(--hac-muted);margin-top:7px}

@media (prefers-reduced-motion:reduce){#hac-root *{animation:none!important;transition:none!important}}
/* Typewriter caret */
.hac-typingtext>:last-child::after{content:"";display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:-2px;background:var(--hac-a);animation:hac-caret .8s steps(1) infinite}
.hac-typingtext li:last-child::after{content:"";display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:-2px;background:var(--hac-a);animation:hac-caret .8s steps(1) infinite}
@keyframes hac-caret{50%{opacity:0}}

/* ---------- v1.2 ---------- */
.hac-col{max-width:82%;min-width:0;display:flex;flex-direction:column}
.hac-user .hac-col{align-items:flex-end}
.hac-col-wide{max-width:none;flex:1}
.hac-bubble .hac-h{font-weight:650;margin-top:8px}
.hac-bubble .hac-h:first-child{margin-top:0}
.hac-bubble .hac-h+ul,.hac-bubble .hac-h+ol{margin-top:2px}
.hac-bubble ol{margin:4px 0;padding-left:20px;list-style:decimal}
.hac-bubble ol li{padding-left:2px;margin:3px 0}
.hac-bubble ol li::before{display:none}
.hac-bubble ol li::marker{color:var(--hac-a);font-weight:600}
.hac-bubble p+.hac-h,.hac-bubble ul+.hac-h,.hac-bubble ol+.hac-h,.hac-bubble ol+p,.hac-bubble p+ol{margin-top:8px}

/* Booking form card */
.hac-card{background:#fff;border:1px solid var(--hac-line);border-radius:16px;border-bottom-left-radius:5px;overflow:hidden;box-shadow:0 2px 8px rgba(16,24,40,.06)}
.hac-card-h{display:flex;align-items:center;gap:8px;padding:10px 14px;background:linear-gradient(135deg,var(--hac-p),var(--hac-a));color:#fff;font-weight:600;font-size:13.5px}
.hac-card-h svg{width:16px;height:16px}
.hac-frame-wrap{position:relative;padding:4px 12px 10px}
.hac-frame-wrap iframe{display:block;width:100%;height:420px;border:0;background:#fff;transition:height .2s ease}
.hac-frame-load{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:5px;background:#fff}
.hac-frame-load i{width:7px;height:7px;border-radius:50%;background:#A9B6C2;animation:hac-bounce 1.2s infinite ease-in-out}
.hac-frame-load i:nth-child(2){animation-delay:.15s}.hac-frame-load i:nth-child(3){animation-delay:.3s}
.hac-loaded .hac-frame-load{display:none}

/* Rotating pop-up */
.hlai-nudge{display:none!important}
.hac-nudge{position:absolute;bottom:84px;right:0;box-sizing:border-box;width:max-content;max-width:min(290px,calc(100vw - 32px));padding:11px 40px 11px 14px;border-radius:14px;border-bottom-right-radius:4px;background:var(--hac-p);color:#fff;font-size:14px;font-weight:500;line-height:1.35;
  box-shadow:0 12px 28px rgba(10,46,78,.30),0 2px 6px rgba(10,46,78,.15);border:1px solid rgba(197,164,109,.45);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px) scale(.96);transition:opacity .35s ease,transform .35s cubic-bezier(.2,.9,.3,1.15),visibility 0s .35s}
#hac-root.hac-left .hac-nudge{right:auto;left:0;border-bottom-right-radius:14px;border-bottom-left-radius:4px}
.hac-nudge b{color:var(--hac-g);font-weight:650}
.hac-nudge.hac-show{opacity:1;visibility:visible;transform:none;transition:opacity .35s ease,transform .35s cubic-bezier(.2,.9,.3,1.15)}
.hac-nudge-t{display:block;transition:opacity .25s ease,transform .25s ease}
.hac-nudge.hac-swap .hac-nudge-t{opacity:0;transform:translateY(-4px)}
.hac-nudge-x{position:absolute;top:50%;right:9px;width:22px;height:22px;margin-top:-11px!important;border-radius:50%;background:rgba(255,255,255,.14)!important;color:#fff!important;font-size:11px!important;line-height:22px!important;text-align:center}
.hac-nudge-x:hover{background:rgba(255,255,255,.26)!important}
#hac-root.hac-open .hac-nudge{display:none}
/* Launcher hidden by the theme (mobile bottom bar): float centred above the bar */
#hac-root.hac-nolauncher .hac-nudge{position:fixed;left:50%;right:auto;bottom:calc(var(--hlai-foot,16px) + 18px);transform:translate(-50%,10px) scale(.96);border-radius:14px}
#hac-root.hac-nolauncher .hac-nudge.hac-show{transform:translate(-50%,0)}
#hac-root.hac-nolauncher .hac-nudge::after{content:"";position:absolute;top:100%;left:50%;margin-left:-8px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid var(--hac-p)}

/* Mobile & tablet: full screen, sized to the area above the keyboard */
@media (max-width:1024px){
  #hac-root{bottom:16px;right:16px}
  #hac-root.hac-left{left:16px}
  html.hac-lock,html.hac-lock body{overflow:hidden!important;overscroll-behavior:none}
  html body #hac-root .hac-panel{position:fixed!important;inset:auto!important;left:0!important;right:auto!important;top:var(--hac-vt,0px)!important;bottom:auto!important;width:100%!important;max-width:none!important;height:var(--hac-vh,100vh)!important;max-height:none!important;border-radius:0!important;
    transform:translateY(24px)!important;transform-origin:50% 100%!important;transition:opacity .25s ease,transform .25s ease,visibility 0s .25s!important}
  html body #hac-root.hac-open .hac-panel{transform:none!important;transition:opacity .25s ease,transform .25s ease!important}
  html body #hac-root.hac-open .hac-launcher{display:none!important}
  #hac-root .hac-head{padding-top:max(14px,env(safe-area-inset-top))}
  #hac-root .hac-foot{padding-bottom:max(10px,env(safe-area-inset-bottom))}
  #hac-root .hac-input{font-size:16px!important}
  #hac-root .hac-col{max-width:86%}
  #hac-root .hac-col-wide{max-width:none}
}

/* v1.3 booking sheet */
.hac-formbtn{display:inline-flex;align-items:center;gap:8px;padding:11px 16px!important;border-radius:12px!important;background:var(--hac-p)!important;color:#fff!important;font-weight:600!important;font-size:14px!important;box-shadow:0 4px 12px rgba(10,46,78,.2)!important;transition:background .2s}
.hac-formbtn:hover{background:var(--hac-a)!important}
.hac-formbtn:disabled{background:#EAF6EF!important;color:#1B4D36!important;box-shadow:none!important;cursor:default}
.hac-formbtn svg{width:17px;height:17px}
.hac-sheet{position:absolute;left:0;right:0;bottom:0;top:0;z-index:5;display:flex;flex-direction:column;background:#fff;transform:translateY(100%);visibility:hidden;transition:transform .3s cubic-bezier(.2,.8,.2,1),visibility 0s .3s}
.hac-sheet.hac-sheet-open{transform:none;visibility:visible;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.hac-sheet-h{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:14px 12px;padding-top:max(14px,env(safe-area-inset-top));background:linear-gradient(135deg,var(--hac-p) 0%,var(--hac-p) 45%,var(--hac-a) 140%);color:#fff;font-weight:650;font-size:15.5px}
.hac-sheet-h span{display:flex;align-items:center;gap:8px}
.hac-sheet-h span svg{width:18px;height:18px}
.hac-sheet-back{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff!important}
.hac-sheet-back:hover{background:rgba(255,255,255,.14)!important}
.hac-sheet-back svg{width:20px;height:20px;transform:rotate(90deg)}
.hac-sheet-b{position:relative;flex:1;min-height:0}
.hac-sheet-b iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:#fff}
.hac-sheet .hac-frame-load{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;gap:5px;background:#fff}
.hac-sheet.hac-loaded .hac-frame-load{display:none}
