/* Dra. Savia — sleek interactive assistant widget.
   Self-contained, prefixed .svw-* to avoid collisions with site.css. */
:root{
  --svw-green:#1FB260; --svw-green-2:#17A354; --svw-wa:#25D366; --svw-wa-2:#1EB955;
  --svw-navy:#002069; --svw-teal:#0E7C86;
  --svw-ink:#17213B; --svw-ink-2:#6A7590; --svw-line:#E9EDF4; --svw-panel:#FFFFFF; --svw-body:#F6F8FC;
}

/* Launcher — green rounded-square, 3D avatar popping out */
.svw-launch{position:fixed;right:22px;bottom:22px;z-index:99998;width:66px;height:66px;border:0;padding:0;cursor:pointer;
  border-radius:20px;background:radial-gradient(circle at 32% 24%,#36d97a,var(--svw-green));
  box-shadow:0 12px 26px rgba(15,120,70,.45),0 2px 6px rgba(0,16,60,.22),inset 0 2px 3px rgba(255,255,255,.3);
  display:flex;align-items:flex-end;justify-content:center;perspective:560px;
  transition:transform .22s cubic-bezier(.3,1.3,.5,1),box-shadow .22s;}
.svw-launch:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(15,120,70,.52),0 3px 8px rgba(0,16,60,.25);}
.svw-launch:active{transform:translateY(-1px) scale(.97);}
.svw-launch .svw-av{width:60px;height:60px;object-fit:contain;transform-style:preserve-3d;
  filter:drop-shadow(0 4px 5px rgba(0,30,15,.32));animation:svwFloat 3.6s ease-in-out infinite;transition:transform .12s ease-out;}
.svw-launch.svw-tilt .svw-av{animation:none;}
@keyframes svwFloat{0%,100%{transform:translateY(0) rotate(-2deg);}50%{transform:translateY(-4px) rotate(2deg);}}
.svw-launch .svw-ping{position:absolute;inset:0;border-radius:20px;animation:svwPing 2.6s ease-out infinite;}
@keyframes svwPing{0%{box-shadow:0 0 0 0 rgba(31,178,96,.5);}70%{box-shadow:0 0 0 16px rgba(31,178,96,0);}100%{box-shadow:0 0 0 0 rgba(31,178,96,0);}}
.svw-badge{position:absolute;top:-4px;right:-4px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#FF3B30;color:#fff;
  font:700 11px/16px -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;text-align:center;box-shadow:0 2px 6px rgba(0,0,0,.28);border:2px solid #fff;}
.svw-launch[aria-expanded="true"] .svw-ping{display:none;}
@media (prefers-reduced-motion:reduce){.svw-launch .svw-av{animation:none;}}

/* Label tooltip — says what the widget is */
.svw-tip{position:fixed;right:18px;bottom:96px;z-index:99997;max-width:168px;
  background:#fff;border:1px solid var(--svw-line);border-radius:16px;padding:11px 30px 11px 14px;
  font:600 13px/1.35 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:var(--svw-ink);
  box-shadow:0 12px 28px rgba(8,20,55,.2);cursor:pointer;
  opacity:0;transform:translateY(8px) scale(.95);transform-origin:right bottom;pointer-events:none;
  transition:opacity .25s ease,transform .3s cubic-bezier(.22,1,.36,1);}
.svw-tip.svw-show{opacity:1;transform:none;pointer-events:auto;animation:svwTipNudge 2.6s ease-in-out .4s infinite;}
.svw-tip b{color:var(--svw-green-2);}
.svw-tip::after{content:"";position:absolute;bottom:-7px;right:24px;width:14px;height:14px;background:#fff;
  border-right:1px solid var(--svw-line);border-bottom:1px solid var(--svw-line);transform:rotate(45deg);}
.svw-tip-x{position:absolute;top:5px;right:7px;width:19px;height:19px;border:0;background:transparent;color:#9aa3b8;
  font-size:15px;line-height:1;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;}
.svw-tip-x:hover{background:#eef1f7;color:var(--svw-ink);}
@keyframes svwTipNudge{0%,100%{transform:none;}50%{transform:translateY(-3px);}}
@media (max-width:440px){.svw-tip{display:none;}}
@media (prefers-reduced-motion:reduce){.svw-tip.svw-show{animation:none;}}

/* Panel */
.svw-panel{position:fixed;right:22px;bottom:96px;z-index:99999;width:356px;max-width:calc(100vw - 32px);height:532px;max-height:calc(100vh - 128px);
  background:var(--svw-panel);border:1px solid var(--svw-line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;
  box-shadow:0 24px 60px rgba(8,20,55,.26),0 4px 14px rgba(8,20,55,.1);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  opacity:0;transform:translateY(14px) scale(.97);transform-origin:bottom right;pointer-events:none;
  transition:opacity .22s ease,transform .26s cubic-bezier(.22,1,.36,1);}
.svw-panel.svw-open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}

/* Header */
.svw-head{position:relative;background:linear-gradient(120deg,var(--svw-navy) 0%,#073B63 55%,var(--svw-teal) 130%);
  color:#fff;padding:15px 16px;display:flex;align-items:center;gap:12px;}
.svw-head .svw-av{width:48px;height:48px;border-radius:50%;flex:0 0 auto;object-fit:contain;background:radial-gradient(circle at 50% 38%,#ffffff,#eef3f8);
  box-shadow:0 3px 10px rgba(0,0,0,.3),inset 0 0 0 2px rgba(255,255,255,.9);animation:svwBob 4s ease-in-out infinite;}
@keyframes svwBob{0%,100%{transform:translateY(0);}50%{transform:translateY(-2.5px);}}
.svw-who{flex:1;min-width:0;}
.svw-name{font-size:16px;font-weight:700;letter-spacing:-.01em;line-height:1.1;}
.svw-name small{font-weight:500;color:#AFC0E6;font-size:12px;}
.svw-sub{font-size:12px;color:#B9C6E8;margin-top:3px;display:flex;align-items:center;gap:6px;}
.svw-dot{width:8px;height:8px;border-radius:50%;background:#35E07E;box-shadow:0 0 0 3px rgba(53,224,126,.25);}
.svw-x{position:absolute;top:12px;right:12px;background:rgba(255,255,255,.12);border:0;color:#fff;cursor:pointer;width:28px;height:28px;border-radius:9px;font-size:17px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .15s;}
.svw-x:hover{background:rgba(255,255,255,.26);}

/* Messages */
.svw-body{flex:1;overflow-y:auto;padding:18px 15px 8px;background:var(--svw-body);scroll-behavior:smooth;}
.svw-body::-webkit-scrollbar{width:7px;} .svw-body::-webkit-scrollbar-thumb{background:#d4dae6;border-radius:4px;}
.svw-row{display:flex;margin-bottom:10px;align-items:flex-end;gap:7px;}
.svw-row.svw-bot{justify-content:flex-start;}
.svw-row.svw-user{justify-content:flex-end;}
.svw-bubble{max-width:84%;padding:10px 13px;border-radius:16px;font-size:14px;line-height:1.5;color:var(--svw-ink);white-space:pre-wrap;word-wrap:break-word;}
.svw-bot .svw-bubble{background:#fff;border:1px solid var(--svw-line);border-bottom-left-radius:5px;box-shadow:0 2px 8px rgba(8,20,55,.05);}
.svw-user .svw-bubble{background:linear-gradient(135deg,var(--svw-green),var(--svw-green-2));color:#fff;border-bottom-right-radius:5px;box-shadow:0 4px 12px rgba(31,178,96,.3);}
.svw-bubble strong{font-weight:700;}
.svw-user .svw-bubble strong{color:#fff;}
.svw-bubble a.svw-inlink{color:var(--svw-teal);font-weight:700;text-decoration:underline;}
.svw-bubble ul{margin:7px 0 1px;padding-left:4px;list-style:none;}
.svw-bubble li{margin:5px 0;padding-left:20px;position:relative;}
.svw-bubble li::before{content:"";position:absolute;left:3px;top:7px;width:7px;height:7px;border-radius:50%;background:var(--svw-green);}
.svw-time{font-size:10px;color:var(--svw-ink-2);opacity:.7;margin-top:4px;text-align:right;}
.svw-user .svw-time{color:rgba(255,255,255,.85);}

/* typing */
.svw-typing{display:inline-flex;gap:4px;padding:13px 15px;}
.svw-typing i{width:7px;height:7px;border-radius:50%;background:#aab3c6;display:inline-block;animation:svwBlink 1.2s infinite ease-in-out;}
.svw-typing i:nth-child(2){animation-delay:.18s;} .svw-typing i:nth-child(3){animation-delay:.36s;}
@keyframes svwBlink{0%,80%,100%{opacity:.3;transform:translateY(0);}40%{opacity:1;transform:translateY(-3px);}}

/* Quick-reply chips */
.svw-chips{display:flex;flex-wrap:wrap;gap:8px;padding:4px 15px 14px;background:var(--svw-body);}
.svw-chip{appearance:none;border:1.5px solid #CFE7D8;background:#fff;color:var(--svw-navy);cursor:pointer;
  font:600 13px/1.2 inherit;padding:9px 13px;border-radius:12px;transition:all .16s;box-shadow:0 1px 3px rgba(8,20,55,.05);}
.svw-chip:hover{background:var(--svw-green);color:#fff;border-color:var(--svw-green);transform:translateY(-1px);box-shadow:0 5px 12px rgba(31,178,96,.28);}
.svw-chip:active{transform:translateY(0) scale(.98);}
.svw-chip.svw-wa{background:var(--svw-wa);color:#fff;border-color:var(--svw-wa);display:inline-flex;align-items:center;gap:6px;box-shadow:0 4px 12px rgba(37,211,102,.3);}
.svw-chip.svw-wa:hover{background:var(--svw-wa-2);border-color:var(--svw-wa-2);}
.svw-chip.svw-back{border-color:var(--svw-line);color:var(--svw-ink-2);background:#fff;}
.svw-chip.svw-back:hover{background:#EEF1F7;color:var(--svw-ink);border-color:#dfe4ee;box-shadow:none;}

/* Free-text input bar */
.svw-input{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fff;border-top:1px solid var(--svw-line);}
.svw-field{flex:1;min-width:0;border:1.5px solid var(--svw-line);background:#F6F8FC;border-radius:999px;padding:10px 15px;font:400 14px/1.3 inherit;color:var(--svw-ink);outline:none;transition:border-color .15s,box-shadow .15s;}
.svw-field::placeholder{color:#9aa3b8;}
.svw-field:focus{border-color:var(--svw-green);background:#fff;box-shadow:0 0 0 3px rgba(31,178,96,.14);}
.svw-send{flex:0 0 auto;width:40px;height:40px;border:0;border-radius:50%;cursor:pointer;color:#fff;
  background:linear-gradient(135deg,var(--svw-green),var(--svw-green-2));display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 12px rgba(31,178,96,.32);transition:transform .12s,box-shadow .15s;}
.svw-send:hover{transform:translateY(-1px) scale(1.05);box-shadow:0 7px 16px rgba(31,178,96,.42);}
.svw-send:active{transform:scale(.95);}
.svw-send svg{margin-left:-1px;}

/* Footer */
.svw-foot{padding:8px 12px;text-align:center;font-size:11px;color:var(--svw-ink-2);background:#fff;border-top:1px solid var(--svw-line);}
.svw-foot b{color:var(--svw-green-2);}

@media (max-width:520px){
  .svw-panel{right:10px;left:10px;bottom:86px;width:auto;max-width:none;height:calc(100vh - 104px);max-height:none;}
  .svw-launch{right:16px;bottom:16px;}
}
