/* Predefined clinic virtual assistant. Isolated styles prevent changes to the existing site design. */
.virtual-assistant{
    --va-primary:var(--primary,#0f6f7d);
    --va-primary-dark:var(--primary-2,#0b5969);
    --va-ink:#162938;
    --va-muted:#687886;
    --va-line:#dce6eb;
    --va-soft:#f4f8fa;
    --va-danger:#b42318;
    --va-shadow:0 24px 70px rgba(13,42,58,.24);
    position:fixed;
    z-index:10050;
    font-family:'Public Sans','Noto Sans Bengali','Noto Sans JP',system-ui,sans-serif;
}
.virtual-assistant.va-position-right{right:20px;bottom:154px}
.virtual-assistant.va-position-left{left:20px;bottom:78px}
.va-launcher{
    position:relative;
    display:flex;
    align-items:center;
    gap:11px;
    min-width:258px;
    max-width:min(330px,calc(100vw - 32px));
    min-height:64px;
    padding:9px 14px 9px 9px;
    border:1px solid rgba(15,111,125,.2);
    border-radius:18px 18px 5px 18px;
    background:rgba(255,255,255,.98);
    color:var(--va-ink);
    box-shadow:0 16px 42px rgba(13,42,58,.2);
    cursor:pointer;
    text-align:left;
    transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;
}
.va-position-left .va-launcher{border-radius:18px 18px 18px 5px}
.va-launcher:hover,.va-launcher:focus-visible{transform:translateY(-3px);box-shadow:0 20px 48px rgba(13,42,58,.25);outline:0}
.va-launcher__icon{position:relative;z-index:1;display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--va-primary),var(--va-primary-dark));color:#fff;font-size:21px;box-shadow:0 9px 20px rgba(15,111,125,.28)}
.va-launcher__pulse{position:absolute;left:12px;top:13px;width:40px;height:40px;border-radius:50%;background:rgba(15,111,125,.22);animation:vaPulse 2.4s ease-out infinite}
.va-position-left .va-launcher__pulse{left:12px}
.va-launcher__copy{display:flex;flex-direction:column;min-width:0;line-height:1.3}
.va-launcher__copy strong{font-size:.91rem;font-weight:800;color:var(--va-primary-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.va-launcher__copy small{font-size:.78rem;color:var(--va-muted);margin-top:2px}
.va-unread{position:absolute;right:-6px;top:-7px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#e5484d;color:#fff;border:3px solid #fff;font-size:.65rem;font-weight:800;box-shadow:0 5px 12px rgba(185,28,28,.25)}
.virtual-assistant.is-open .va-launcher{opacity:0;pointer-events:none;transform:translateY(8px) scale(.96)}
.va-panel{
    position:absolute;
    right:0;
    bottom:-134px;
    display:flex;
    flex-direction:column;
    width:min(390px,calc(100vw - 32px));
    height:min(650px,calc(100vh - 40px));
    height:min(650px,calc(100dvh - 40px));
    overflow:hidden;
    border:1px solid rgba(15,111,125,.18);
    border-radius:22px;
    background:#fff;
    box-shadow:var(--va-shadow);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(18px) scale(.97);
    transform-origin:right bottom;
    transition:opacity .24s ease,transform .24s ease,visibility .24s ease;
}
.va-position-left .va-panel{right:auto;left:0;bottom:-58px;transform-origin:left bottom}
.virtual-assistant.is-open .va-panel{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.va-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto;padding:15px 14px;background:linear-gradient(135deg,var(--va-primary-dark),var(--va-primary));color:#fff}
.va-identity{display:flex;align-items:center;gap:10px;min-width:0}
.va-avatar{display:grid;place-items:center;flex:0 0 43px;width:43px;height:43px;border-radius:50%;overflow:hidden;background:#fff;color:var(--va-primary);font-size:20px;border:2px solid rgba(255,255,255,.45)}
.va-avatar img{width:100%;height:100%;object-fit:contain;background:#fff}
.va-identity>span:last-child{display:flex;flex-direction:column;min-width:0}
.va-identity strong{font-size:.92rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.va-identity small{display:flex;align-items:center;gap:5px;margin-top:3px;color:rgba(255,255,255,.82);font-size:.7rem}
.va-online-dot{width:7px;height:7px;border-radius:50%;background:#6ee7a8;box-shadow:0 0 0 3px rgba(110,231,168,.16)}
.va-header-actions{display:flex;align-items:center;gap:2px}
.va-header-actions button{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:9px;background:transparent;color:#fff;font-size:16px;cursor:pointer;transition:background .18s ease}
.va-header-actions button:hover,.va-header-actions button:focus-visible{background:rgba(255,255,255,.17);outline:0}
.va-body{position:relative;display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow-y:auto;padding:17px 14px;background:linear-gradient(180deg,#f5f9fb 0%,#fbfdfe 100%);scroll-behavior:smooth;overscroll-behavior:contain}
.va-messages{display:flex;flex-direction:column;gap:12px}
.va-message{display:flex;align-items:flex-end;gap:7px;max-width:89%;animation:vaMessageIn .24s ease both}
.va-message--assistant{align-self:flex-start}
.va-message--user{align-self:flex-end;flex-direction:row-reverse}
.va-message__avatar{display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border-radius:50%;background:var(--va-primary);color:#fff;font-size:12px;box-shadow:0 4px 11px rgba(15,111,125,.2)}
.va-message__bubble{padding:10px 12px;border-radius:16px 16px 16px 5px;background:#fff;border:1px solid #e0e9ed;color:var(--va-ink);font-size:.83rem;line-height:1.55;box-shadow:0 6px 16px rgba(18,47,61,.06);white-space:pre-line;overflow-wrap:anywhere}
.va-message--user .va-message__bubble{border:0;border-radius:16px 16px 5px 16px;background:linear-gradient(135deg,var(--va-primary),var(--va-primary-dark));color:#fff;box-shadow:0 7px 18px rgba(15,111,125,.22)}
.va-message--danger{max-width:100%}
.va-message--danger .va-message__bubble{border-color:#f4c7c3;background:#fff5f4;color:#7a271a}
.va-message__meta{display:block;margin-top:5px;color:#91a0a9;font-size:.62rem;text-align:right}
.va-typing{display:flex;align-items:center;gap:4px;min-width:56px;padding:12px 14px;border:1px solid #e0e9ed;border-radius:16px 16px 16px 5px;background:#fff;box-shadow:0 6px 16px rgba(18,47,61,.06)}
.va-typing span{width:6px;height:6px;border-radius:50%;background:#8aa0aa;animation:vaTyping 1.1s infinite ease-in-out}
.va-typing span:nth-child(2){animation-delay:.15s}.va-typing span:nth-child(3){animation-delay:.3s}
.va-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px;padding-bottom:3px}
.va-option{display:flex;align-items:center;gap:8px;min-height:48px;padding:9px 10px;border:1px solid #d9e5e9;border-radius:13px;background:#fff;color:#24404e;font-size:.76rem;font-weight:700;line-height:1.3;text-align:left;text-decoration:none;cursor:pointer;box-shadow:0 5px 13px rgba(18,47,61,.045);transition:transform .17s ease,border-color .17s ease,background .17s ease,color .17s ease}
.va-option:hover,.va-option:focus-visible{transform:translateY(-1px);border-color:rgba(15,111,125,.48);background:#f3fbfb;color:var(--va-primary-dark);outline:0;text-decoration:none}
.va-option i{display:grid;place-items:center;flex:0 0 29px;width:29px;height:29px;border-radius:9px;background:#eaf6f7;color:var(--va-primary);font-size:14px}
.va-option--wide{grid-column:1/-1}
.va-option--primary{border-color:var(--va-primary);background:var(--va-primary);color:#fff}
.va-option--primary i{background:rgba(255,255,255,.16);color:#fff}
.va-option--primary:hover,.va-option--primary:focus-visible{background:var(--va-primary-dark);color:#fff}
.va-option--danger{grid-column:1/-1;border-color:#f0b9b4;background:#fff5f4;color:#9f2d20}
.va-option--danger i{background:#fee4e2;color:#b42318}
.va-option--back{grid-column:1/-1;justify-content:center;min-height:39px;border-style:dashed;background:transparent;box-shadow:none}
.va-info-card{width:100%;margin-top:10px;padding:12px;border:1px solid #dde8ec;border-radius:14px;background:#fff;color:var(--va-ink);box-shadow:0 5px 15px rgba(18,47,61,.05)}
.va-info-card strong{display:block;color:var(--va-primary-dark);font-size:.84rem;margin-bottom:4px}
.va-info-card p{margin:0;color:#536773;font-size:.77rem;line-height:1.5;white-space:pre-line}
.va-info-list{display:grid;gap:8px;margin-top:10px}
.va-info-row{display:flex;gap:9px;align-items:flex-start;padding:9px 10px;border-radius:11px;background:#fff;border:1px solid #e1e9ed;color:#526773;font-size:.76rem;line-height:1.45}
.va-info-row i{color:var(--va-primary);font-size:14px;margin-top:1px}.va-info-row strong{display:block;color:#223c49;font-size:.73rem}
.va-footer{flex:0 0 auto;padding:11px 12px 9px;border-top:1px solid #e3ebee;background:#fff}
.va-input-form{display:flex;align-items:center;gap:7px;padding:5px 5px 5px 12px;border:1px solid #d8e3e8;border-radius:14px;background:#f9fbfc;transition:border-color .18s ease,box-shadow .18s ease}
.va-input-form:focus-within{border-color:rgba(15,111,125,.55);box-shadow:0 0 0 3px rgba(15,111,125,.1)}
.va-input-form input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--va-ink);font-size:.8rem}
.va-input-form input::placeholder{color:#8a99a2}
.va-input-form button{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border:0;border-radius:11px;background:var(--va-primary);color:#fff;cursor:pointer;transition:background .18s ease,transform .18s ease}
.va-input-form button:hover,.va-input-form button:focus-visible{background:var(--va-primary-dark);transform:translateY(-1px);outline:0}
.va-disclaimer{display:flex;align-items:center;justify-content:center;gap:5px;margin:7px 0 0;color:#85949c;font-size:.61rem;line-height:1.3;text-align:center}
.va-disclaimer i{color:#6194a0}
@keyframes vaPulse{0%{transform:scale(.75);opacity:.7}75%,100%{transform:scale(1.55);opacity:0}}
@keyframes vaMessageIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes vaTyping{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}
@media(max-width:767.98px){
    .virtual-assistant.va-position-right,.virtual-assistant.va-position-left{right:14px;left:auto;bottom:142px}
    .va-launcher{min-width:0;width:54px;height:54px;min-height:54px;padding:4px;border-radius:50%}
    .va-position-left .va-launcher{border-radius:50%}
    .va-launcher__icon{width:44px;height:44px;flex-basis:44px}
    .va-launcher__copy{display:none}.va-launcher__pulse{left:7px;top:7px}.va-unread{right:-4px;top:-5px}
    .va-panel,.va-position-left .va-panel{position:fixed;inset:10px;width:auto;height:auto;max-height:none;border-radius:18px;transform-origin:right bottom}
    .va-header{padding:13px 12px}.va-body{padding:14px 12px}.va-options{gap:7px}.va-option{font-size:.75rem}
    body.va-assistant-open{overflow:hidden}
}
@media(max-width:399.98px){.va-options{grid-template-columns:1fr}.va-option,.va-option--wide,.va-option--danger,.va-option--back{grid-column:1}.va-panel,.va-position-left .va-panel{inset:5px;border-radius:15px}.va-message{max-width:94%}}
@media(prefers-reduced-motion:reduce){.va-launcher__pulse{display:none}.va-panel,.va-launcher,.va-message,.va-option{transition:none!important;animation:none!important}}
