/* Clinic-Y Assistant. Colours come from the theme's tokens where they exist. */
:root{--cya-dark:var(--cy-dark,#123B3F);--cya-teal:var(--cy-teal,#1B7A80);--cya-aqua:var(--cy-aqua,#57A39F);--cya-ice:var(--cy-ice,#F8F6F2);--cya-mist:var(--cy-mist,#EDE7DC);--cya-line:var(--cy-line,#E6E1D8);--cya-ink:var(--cy-ink,#1C2B2D);--cya-muted:var(--cy-muted,#67706E);--cya-gold:var(--cy-gold,#C08A3E)}

/* launcher: same right-hand column as the WhatsApp button, one step above it */
.cya-launch{position:fixed;right:22px;bottom:92px;z-index:501;width:56px;height:56px;border-radius:50%;border:0;background:var(--cya-dark);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 28px rgba(18,59,63,.32);transition:transform .2s,background .2s}
.cya-launch:hover{transform:translateY(-2px);background:var(--cya-teal)}
.cya-launch:focus-visible{outline:3px solid var(--cya-aqua);outline-offset:3px}
.cya-launch.on{background:var(--cya-teal)}
.cya-launch-dot{position:absolute;top:6px;right:6px;width:11px;height:11px;border-radius:50%;background:var(--cya-gold);border:2px solid #fff;opacity:0;transform:scale(.6);transition:all .25s}
.cya-launch.has .cya-launch-dot{opacity:1;transform:none}
@media(max-width:600px){.cya-launch{bottom:150px;right:16px;width:50px;height:50px}}

/* panel */
.cya-panel{position:fixed;right:22px;bottom:160px;z-index:502;width:min(400px,calc(100vw - 32px));height:min(620px,calc(100vh - 190px));background:#fff;border:1.5px solid var(--cya-line);border-radius:20px;box-shadow:0 30px 70px rgba(18,59,63,.28);display:flex;flex-direction:column;overflow:hidden;font-family:var(--font-body,system-ui,sans-serif);color:var(--cya-ink);animation:cya-in .22s ease}
@keyframes cya-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.cya-panel{animation:none}}
@media(max-width:600px){.cya-panel{right:0;left:0;bottom:0;width:100%;height:min(88vh,calc(100vh - 60px));border-radius:20px 20px 0 0}body.cya-open{overflow:hidden}}
.cya-head{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--cya-dark);color:#fff}
.cya-avatar{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.cya-head-t{flex:1 1 auto;min-width:0}
.cya-head-t b{display:block;font-family:var(--font-head,inherit);font-size:15px}
.cya-head-t span{display:block;font-size:11.5px;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cya-close{background:transparent;border:0;color:#fff;cursor:pointer;padding:6px;border-radius:8px;opacity:.85}
.cya-close:hover,.cya-close:focus-visible{opacity:1;background:rgba(255,255,255,.12);outline:none}

.cya-log{flex:1 1 auto;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--cya-ice)}
.cya-msg{display:flex}
.cya-msg.me{justify-content:flex-end}
.cya-b{max-width:88%;padding:11px 14px;border-radius:16px;font-size:14px;line-height:1.55;background:#fff;border:1px solid var(--cya-line)}
.cya-msg.me .cya-b{background:var(--cya-dark);color:#fff;border-color:var(--cya-dark);border-bottom-right-radius:5px}
.cya-msg.bot .cya-b{border-bottom-left-radius:5px}
.cya-b p{margin:0 0 8px}.cya-b p:last-child{margin-bottom:0}
.cya-cite{font-size:10px;font-weight:800;color:var(--cya-teal);margin-left:1px}
.cya-src{list-style:none;margin:10px 0 0;padding:10px 0 0;border-top:1px solid var(--cya-mist);display:grid;gap:6px}
.cya-src li{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.cya-src a{display:inline-flex;align-items:center;gap:7px;color:var(--cya-teal);font-weight:700;font-size:13px;text-decoration:none}
.cya-src a:hover{text-decoration:underline}
.cya-src i{font-style:normal;width:18px;height:18px;border-radius:50%;background:var(--cya-mist);color:var(--cya-dark);font-size:10.5px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.cya-src small{color:var(--cya-muted);font-size:11.5px}
.cya-fb{display:flex;gap:6px;margin-top:10px}
.cya-fb button{font:inherit;font-size:11.5px;font-weight:700;color:var(--cya-muted);background:transparent;border:1px solid var(--cya-line);border-radius:999px;padding:4px 10px;cursor:pointer}
.cya-fb button:hover{color:var(--cya-dark);border-color:var(--cya-aqua)}
.cya-fb span{font-size:11.5px;color:var(--cya-muted)}
.cya-typing .cya-b{display:flex;gap:5px;padding:12px 14px}
.cya-typing span{width:7px;height:7px;border-radius:50%;background:var(--cya-aqua);animation:cya-dot 1s infinite}
.cya-typing span:nth-child(2){animation-delay:.15s}.cya-typing span:nth-child(3){animation-delay:.3s}
@keyframes cya-dot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}

.cya-chips{display:flex;gap:7px;flex-wrap:wrap;padding:8px 14px 0;background:#fff;border-top:1px solid var(--cya-line)}
.cya-chips:empty{display:none}
.cya-chips button{font:inherit;font-size:12.5px;font-weight:700;color:var(--cya-dark);background:var(--cya-ice);border:1.5px solid var(--cya-line);border-radius:999px;padding:7px 12px;cursor:pointer;transition:border-color .15s,background .15s}
.cya-chips button:hover{border-color:var(--cya-aqua);background:var(--cya-mist)}

.cya-form{display:flex;gap:8px;align-items:flex-end;padding:12px 14px;background:#fff}
.cya-form textarea{flex:1 1 auto;min-width:0;resize:none;max-height:120px;padding:11px 13px;border:1.5px solid var(--cya-line);border-radius:14px;font:inherit;font-size:14px;line-height:1.4;background:var(--cya-ice)}
.cya-form textarea:focus{outline:none;border-color:var(--cya-aqua);background:#fff}
.cya-send{width:42px;height:42px;flex:0 0 auto;border:0;border-radius:50%;background:var(--cya-teal);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}
.cya-send:hover{background:var(--cya-dark)}
.cya-send:focus-visible{outline:3px solid var(--cya-aqua)}
.cya-foot{padding:0 14px 10px;background:#fff;font-size:11px;color:var(--cya-muted);text-align:center}
.cya-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* lead form inside a bubble */
.cya-leadform{display:grid;gap:8px;margin-top:10px}
.cya-leadform input,.cya-leadform select,.cya-leadform textarea{width:100%;padding:9px 11px;border:1.5px solid var(--cya-line);border-radius:10px;font:inherit;font-size:13.5px}
.cya-leadform button{font:inherit;font-weight:700;background:var(--cya-dark);color:#fff;border:0;border-radius:10px;padding:10px;cursor:pointer}
.cya-leadform button:disabled{opacity:.6;cursor:wait}
.cya-consent{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:var(--cya-muted)}
.cya-consent input{margin-top:2px}
.cya-consent a{color:var(--cya-teal)}

/* phones: sit above the theme's sticky call bar, keep suggestions on one scrolling row */
@media(max-width:600px){
  .cya-panel{z-index:1002;bottom:0;height:min(86vh,calc(100vh - 70px))}
  body.cya-open .cy-mcta,body.cya-open .cy-float{display:none!important}
  .cya-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .cya-chips::-webkit-scrollbar{display:none}
  .cya-chips button{flex:0 0 auto;white-space:nowrap}
  .cya-form{padding-bottom:calc(12px + env(safe-area-inset-bottom))}
}

.cya-panel[hidden],.cya-lead[hidden]{display:none!important}
