.kvaa-root,.kvaa-root *{box-sizing:border-box}.kvaa-root{--hv:#216b84;--hv-dark:#16566e;--ink:#17262f;--muted:#687781;--paper:#fbfaf7;--line:#dfe4e6;position:relative;font-family:Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;z-index:9998;isolation:isolate}.kvaa-root button,.kvaa-root textarea{font-family:inherit}.kvaa-pill{appearance:none!important;display:flex!important;gap:12px;align-items:center;justify-content:center;width:max-content;max-width:100%;border:1px solid rgba(22,35,43,.14)!important;background:rgba(255,255,255,.94)!important;color:#175d77!important;border-radius:999px!important;padding:7px 12px!important;font-size:14px!important;font-weight:500!important;line-height:1.2!important;cursor:pointer;box-shadow:0 8px 24px rgba(31,47,56,.06)!important;margin:0 auto 10px!important;transition:transform .2s ease,box-shadow .2s ease!important}.kvaa-pill:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(31,47,56,.1)!important}.kvaa-dot{width:12px;height:12px;flex:0 0 12px;border-radius:50%;background:#24718b;box-shadow:0 0 0 7px rgba(36,113,139,.12)}.kvaa-mascot-wrap{appearance:none!important;position:relative!important;display:block!important;width:min(235px,100%)!important;border:0!important;background:transparent!important;padding:0!important;margin:0 auto!important;cursor:pointer;perspective:900px;overflow:visible!important;transform:translateZ(0)}.kvaa-mascot{display:block!important;width:100%!important;max-width:235px!important;height:auto!important;margin:0 auto!important;object-fit:contain!important;transition:filter .25s ease!important;transform-origin:50% 62%;filter:drop-shadow(0 16px 10px rgba(20,35,42,.11));will-change:transform;animation:kvaaIdle 4.6s ease-in-out infinite}.kvaa-mascot-wrap:hover .kvaa-mascot{filter:drop-shadow(0 22px 15px rgba(20,35,42,.16))}.kvaa-mascot-wrap:after{content:"";position:absolute;left:18%;right:18%;bottom:0;height:16px;border-radius:50%;background:rgba(22,35,43,.08);filter:blur(7px);z-index:-1;transition:transform .25s ease,opacity .25s ease}.kvaa-mascot-wrap:hover:after{transform:scaleX(.9);opacity:.7}@keyframes kvaaIdle{0%,100%{transform:translate3d(0,0,0) rotate(0deg)}50%{transform:translate3d(0,-5px,0) rotate(.35deg)}}
.kvaa-panel{position:fixed!important;right:22px!important;bottom:22px!important;width:min(390px,calc(100vw - 24px))!important;height:min(590px,calc(100vh - 32px))!important;display:none;flex-direction:column;background:#fbfaf7!important;border:1px solid var(--line)!important;border-radius:26px!important;box-shadow:0 30px 80px rgba(30,42,48,.22)!important;overflow:hidden!important;z-index:2147483000!important;color:var(--ink)!important;text-align:left!important}.kvaa-panel.is-open{display:flex!important}.kvaa-header{display:flex!important;align-items:center!important;gap:10px!important;min-height:78px;padding:14px 16px!important;border-bottom:1px solid var(--line)!important;background:linear-gradient(90deg,#f9fbfb 0%,#fbf8f1 100%)!important}.kvaa-avatar{width:42px!important;height:42px!important;flex:0 0 42px;border-radius:50%!important;overflow:hidden!important;background:linear-gradient(135deg,#276b7d,#9b7e19)!important;border:1px solid rgba(23,38,47,.08)}.kvaa-avatar img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:50% 10%!important;transform:scale(1.35) translateY(8%)}.kvaa-head-copy{display:flex!important;flex-direction:column!important;min-width:0;gap:2px}.kvaa-head-copy strong{font-size:14px!important;line-height:1.15!important;font-weight:650!important;color:var(--ink)!important}.kvaa-head-copy span{font-size:12px!important;line-height:1.25!important;color:var(--muted)!important}.kvaa-close{appearance:none!important;margin-left:auto!important;flex:0 0 40px;width:40px!important;height:40px!important;display:grid!important;place-items:center;border:1px solid #d8dcdd!important;background:rgba(255,255,255,.78)!important;border-radius:50%!important;padding:0!important;font-size:14px!important;line-height:1!important;color:#53636d!important;cursor:pointer!important}.kvaa-close:hover{background:#fff!important}.kvaa-messages{flex:1!important;overflow:auto!important;padding:18px 18px 12px!important;display:flex!important;flex-direction:column!important;gap:10px!important;scrollbar-width:thin}.kvaa-msg{width:auto!important;max-width:86%!important;margin:0!important;padding:12px 14px!important;border-radius:18px!important;font-size:14px!important;line-height:1.52!important;letter-spacing:0!important;white-space:pre-wrap!important;box-shadow:none!important}.kvaa-msg.bot{align-self:flex-start!important;background:#fff!important;border:1px solid var(--line)!important;color:#25343d!important;border-bottom-left-radius:8px!important}.kvaa-msg.user{align-self:flex-end!important;background:var(--hv)!important;border:1px solid var(--hv)!important;color:#fff!important;border-bottom-right-radius:8px!important}.kvaa-msg.typing{opacity:.65}.kvaa-quick{padding:0 18px 10px!important;display:flex!important;gap:8px!important;flex-wrap:wrap!important;flex:0 0 auto!important;max-height:88px!important;overflow-y:auto!important;overflow-x:hidden!important;background:#fbfaf7!important;position:relative!important;z-index:3!important}.kvaa-quick button{appearance:none!important;width:auto!important;min-height:34px!important;flex:0 0 auto!important;background:#fff!important;border:1px solid #d9dfe1!important;border-radius:999px!important;padding:7px 12px!important;font-size:12.5px!important;font-weight:500!important;line-height:1.25!important;color:#273740!important;cursor:pointer!important;box-shadow:none!important}.kvaa-quick button:hover{border-color:#97b5c0!important;background:#f8fbfc!important}.kvaa-composer{margin:0 14px 8px!important;padding:7px 8px 7px 16px!important;min-height:54px;border:1px solid #d8ddde!important;border-radius:18px!important;background:#fff!important;display:flex!important;align-items:center!important;gap:8px!important}.kvaa-composer textarea{appearance:none!important;border:0!important;outline:0!important;resize:none!important;box-shadow:none!important;flex:1!important;width:auto!important;max-height:110px!important;min-height:34px!important;margin:0!important;padding:10px 4px!important;font-size:16px!important;line-height:1.35!important;color:#22313a!important;background:transparent!important}.kvaa-composer textarea::placeholder{color:#99a3a9!important;opacity:1}.kvaa-composer button{appearance:none!important;flex:0 0 40px!important;width:40px!important;height:40px!important;display:grid!important;place-items:center!important;margin:0!important;padding:0!important;border-radius:50%!important;cursor:pointer!important;line-height:1!important;box-shadow:none!important}.kvaa-mic{background:#fff5f2!important;border:1px solid #e5a18f!important;font-size:19px!important}.kvaa-send{background:var(--hv)!important;border:1px solid var(--hv)!important;color:#fff!important;font-size:22px!important}.kvaa-status{padding:0 18px 8px!important;color:#b4472b!important;font-size:13px!important;line-height:1.4!important}.kvaa-disclaimer{padding:0 18px 14px!important;color:#96a0a7!important;font-size:13px!important;line-height:1.4!important}.kvaa-root[data-mode="mascot"]{width:100%;max-width:270px;margin-left:auto;margin-right:auto}.kvaa-root[data-mode="mascot"] .kvaa-pill,.kvaa-root[data-mode="mascot"] .kvaa-mascot-wrap{display:flex!important}.kvaa-root[data-mode="mascot"] .kvaa-mascot-wrap{display:block!important}
@media(max-width:767px){.kvaa-panel{inset:10px!important;width:auto!important;height:auto!important;border-radius:26px!important}.kvaa-header{min-height:84px;padding:15px 16px!important}.kvaa-avatar{width:48px!important;height:48px!important;flex-basis:48px}.kvaa-head-copy strong{font-size:19px!important}.kvaa-head-copy span{font-size:13px!important}.kvaa-close{width:44px!important;height:44px!important;flex-basis:44px}.kvaa-messages{padding:18px!important}.kvaa-msg{max-width:90%!important;font-size:12.5px!important;padding:14px 16px!important}.kvaa-quick{padding:0 18px 14px!important}.kvaa-quick button{font-size:14px!important}.kvaa-composer{margin:0 12px 10px!important}.kvaa-disclaimer,.kvaa-status{padding-left:18px!important;padding-right:18px!important}.kvaa-root[data-mode="mascot"]{max-width:270px}.kvaa-mascot{max-width:250px!important;animation-duration:4s}}
@media(prefers-reduced-motion:reduce){.kvaa-mascot{animation:none!important}.kvaa-pill,.kvaa-mascot{transition:none!important}}

/* v0.3: compact video-matched layout */
.kvaa-root[data-mode="mascot"]{background:transparent!important;overflow:visible!important}
.kvaa-root[data-mode="mascot"] .kvaa-mascot-wrap{background:transparent!important;min-height:0!important}
.kvaa-root[data-mode="mascot"] .kvaa-mascot{background:transparent!important}
.kvaa-panel .kvaa-msg,.kvaa-panel .kvaa-quick button,.kvaa-panel textarea,.kvaa-panel button{letter-spacing:0!important;text-transform:none!important}
@media(min-width:768px){.kvaa-root[data-mode="mascot"]{max-width:270px!important}.kvaa-mascot{width:215px!important;max-width:215px!important}.kvaa-pill{font-size:12px!important;padding:7px 13px!important;margin-bottom:8px!important}.kvaa-dot{width:8px;height:8px;flex-basis:8px;box-shadow:0 0 0 5px rgba(36,113,139,.12)}}

/* v0.4 layered pseudo-3D mascot */
.kvaa-mascot-wrap{perspective:900px!important;transform-style:preserve-3d!important;overflow:visible!important}
.kvaa-mascot-stage{position:relative!important;display:block!important;width:215px!important;aspect-ratio:404/604!important;margin:0 auto!important;transform-style:preserve-3d!important;transform-origin:50% 58%!important;will-change:transform!important;animation:kvaaStageIdle 4.2s ease-in-out infinite!important}
.kvaa-mascot-body,.kvaa-mascot-head{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;display:block!important;pointer-events:none!important;user-select:none!important;-webkit-user-drag:none!important}
.kvaa-mascot-body{z-index:1;transform:translateZ(0);filter:drop-shadow(0 18px 15px rgba(23,38,47,.12))}
.kvaa-head-wrap{position:absolute!important;inset:0!important;z-index:2!important;display:block!important;transform-origin:50% 31%!important;transform-style:preserve-3d!important;will-change:transform!important;pointer-events:none!important}
.kvaa-mascot-head{z-index:2;transform:translateZ(16px)}
.kvaa-eye{position:absolute!important;z-index:4!important;width:12px!important;height:12px!important;border-radius:50%!important;background:#26363e!important;box-shadow:0 0 0 1px rgba(0,0,0,.08)!important;transform:translate3d(0,0,28px);will-change:transform!important}
.kvaa-eye i{position:absolute;display:block;width:3.5px;height:3.5px;border-radius:50%;background:#fff;left:2px;top:1.5px;opacity:.95}
.kvaa-eye-left{left:34.2%!important;top:20.7%!important}.kvaa-eye-right{left:56.7%!important;top:20.7%!important}
.kvaa-mascot-wrap:hover .kvaa-mascot-stage{filter:brightness(1.015)}
@keyframes kvaaStageIdle{0%,100%{transform:translate3d(0,0,0) rotateZ(0deg)}50%{transform:translate3d(0,-4px,0) rotateZ(.35deg)}}
@keyframes kvaaBlink{0%,46%,52%,100%{transform:scaleY(1)}49%{transform:scaleY(.12)}}
.kvaa-eye{animation:kvaaBlink 5.8s ease-in-out infinite;transform-origin:center}
.kvaa-eye-right{animation-delay:.04s}
@media(max-width:767px){.kvaa-mascot-stage{width:230px!important;animation:kvaaStageIdle 4.2s ease-in-out infinite!important}.kvaa-head-wrap{transform:none!important}.kvaa-eye{transform:none!important}}
@media(prefers-reduced-motion:reduce){.kvaa-mascot-stage,.kvaa-eye{animation:none!important}}

/* v0.6 real Three.js robot — larger hero sizing */
.kvaa-mascot-wrap{
  position:relative!important;
  display:block!important;
  width:100%!important;
  max-width:440px!important;
  height:500px!important;
  margin:0 auto!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  overflow:visible!important;
  cursor:pointer!important;
  outline:none!important;
  perspective:none!important;
  transform:none!important;
}
.kvaa-mascot-wrap:focus-visible{outline:2px solid rgba(33,107,132,.45)!important;outline-offset:6px!important;border-radius:24px!important}
.kvaa-robot,hv-robot.kvaa-robot{
  display:block!important;
  width:430px!important;
  height:500px!important;
  max-width:100%!important;
  margin:0 auto!important;
  cursor:pointer!important;
  background:transparent!important;
}
.kvaa-mascot-wrap .kvaa-mascot-stage,
.kvaa-mascot-wrap .kvaa-mascot-body,
.kvaa-mascot-wrap .kvaa-head-wrap,
.kvaa-mascot-wrap .kvaa-mascot-head,
.kvaa-mascot-wrap .kvaa-eye{display:none!important}
.kvaa-mascot-wrap:after{display:none!important}
.kvaa-root[data-mode="mascot"]{
  width:100%!important;
  max-width:460px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.kvaa-root[data-mode="mascot"] .kvaa-pill{margin-left:auto!important;margin-right:auto!important}
.kvaa-root[data-mode="mascot"] .kvaa-mascot-wrap{height:500px!important}
@media(max-width:1024px){
  .kvaa-mascot-wrap{max-width:380px!important;height:440px!important}
  .kvaa-robot,hv-robot.kvaa-robot{width:380px!important;height:440px!important}
  .kvaa-root[data-mode="mascot"]{max-width:400px!important}
  .kvaa-root[data-mode="mascot"] .kvaa-mascot-wrap{height:440px!important}
}
@media(max-width:767px){
  .kvaa-mascot-wrap{max-width:290px!important;height:345px!important}
  .kvaa-robot,hv-robot.kvaa-robot{width:290px!important;height:345px!important}
  .kvaa-root[data-mode="mascot"]{max-width:310px!important}
  .kvaa-root[data-mode="mascot"] .kvaa-mascot-wrap{height:345px!important}
}


/* v0.7 configurable 3D robot sizing */
.kvaa-root[data-mode="mascot"]{max-width:var(--kvaa-robot-dw,350px)!important}
.kvaa-mascot-wrap{
  width:100%!important;
  max-width:var(--kvaa-robot-dw,350px)!important;
  height:var(--kvaa-robot-dh,410px)!important;
}
.kvaa-robot,hv-robot.kvaa-robot{
  display:block!important;
  width:var(--kvaa-robot-dw,350px)!important;
  max-width:100%!important;
  height:var(--kvaa-robot-dh,410px)!important;
  margin:0 auto!important;
}
.kvaa-root[data-mode="mascot"] .kvaa-mascot-wrap{height:var(--kvaa-robot-dh,410px)!important}
@media(max-width:1024px){
  .kvaa-root[data-mode="mascot"]{max-width:var(--kvaa-robot-tw,310px)!important}
  .kvaa-mascot-wrap{max-width:var(--kvaa-robot-tw,310px)!important;height:var(--kvaa-robot-th,365px)!important}
  .kvaa-robot,hv-robot.kvaa-robot{width:var(--kvaa-robot-tw,310px)!important;height:var(--kvaa-robot-th,365px)!important}
  .kvaa-root[data-mode="mascot"] .kvaa-mascot-wrap{height:var(--kvaa-robot-th,365px)!important}
}
@media(max-width:767px){
  .kvaa-root[data-mode="mascot"]{max-width:var(--kvaa-robot-mw,240px)!important}
  .kvaa-mascot-wrap{max-width:var(--kvaa-robot-mw,240px)!important;height:var(--kvaa-robot-mh,290px)!important}
  .kvaa-robot,hv-robot.kvaa-robot{width:var(--kvaa-robot-mw,240px)!important;height:var(--kvaa-robot-mh,290px)!important}
  .kvaa-root[data-mode="mascot"] .kvaa-mascot-wrap{height:var(--kvaa-robot-mh,290px)!important}
}

.kvaa-quick.is-hidden{display:none!important}


/* v1.6: homepage inline assistant; compact floating launcher everywhere else */
.kvaa-root[data-mode="floating"]{
  position:fixed!important;
  right:24px!important;
  bottom:20px!important;
  width:150px!important;
  height:160px!important;
  margin:0!important;
  z-index:2147482500!important;
  pointer-events:none!important;
}
.kvaa-root[data-mode="floating"] .kvaa-pill{display:none!important}
.kvaa-root[data-mode="floating"] .kvaa-mascot-wrap{
  position:absolute!important;
  right:36px!important;
  bottom:0!important;
  width:112px!important;
  max-width:112px!important;
  height:145px!important;
  margin:0!important;
  pointer-events:auto!important;
  cursor:pointer!important;
}
.kvaa-root[data-mode="floating"] .kvaa-robot,
.kvaa-root[data-mode="floating"] hv-robot.kvaa-robot{
  width:112px!important;
  height:145px!important;
  max-width:none!important;
  margin:0!important;
}
.kvaa-root[data-mode="floating"] .kvaa-float-mic{
  position:absolute!important;
  right:0!important;
  bottom:8px!important;
  width:50px!important;
  height:50px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  margin:0!important;
  border-radius:50%!important;
  border:1px solid #d9dfe1!important;
  background:#fff!important;
  box-shadow:0 10px 28px rgba(25,39,47,.14)!important;
  font-size:20px!important;
  line-height:1!important;
  cursor:pointer!important;
  pointer-events:auto!important;
}
.kvaa-root[data-mode="floating"] .kvaa-float-mic:hover{transform:translateY(-2px)}
.kvaa-root[data-mode="floating"] .kvaa-panel{pointer-events:auto!important}
@media(max-width:767px){
  .kvaa-root[data-mode="floating"]{right:12px!important;bottom:12px!important;width:126px!important;height:136px!important}
  .kvaa-root[data-mode="floating"] .kvaa-mascot-wrap{right:30px!important;width:94px!important;max-width:94px!important;height:122px!important}
  .kvaa-root[data-mode="floating"] .kvaa-robot,
  .kvaa-root[data-mode="floating"] hv-robot.kvaa-robot{width:94px!important;height:122px!important}
  .kvaa-root[data-mode="floating"] .kvaa-float-mic{width:44px!important;height:44px!important;font-size:18px!important}
}


/* v1.6 robust floating placement — rendered from wp_footer, outside Elementor widgets */
body > .kvaa-root[data-mode="floating"] {
  position: fixed !important;
  inset: auto 22px 18px auto !important;
  left: auto !important;
  top: auto !important;
  width: 148px !important;
  height: 158px !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  z-index: 2147482500 !important;
  pointer-events: none !important;
}
body > .kvaa-root[data-mode="floating"] .kvaa-mascot-wrap {
  position: absolute !important;
  inset: auto 34px 0 auto !important;
  width: 108px !important;
  height: 140px !important;
  min-width: 0 !important;
  max-width: 108px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  pointer-events: auto !important;
}
body > .kvaa-root[data-mode="floating"] hv-robot.kvaa-robot {
  width: 108px !important;
  height: 140px !important;
  max-width: none !important;
}
body > .kvaa-root[data-mode="floating"] .kvaa-float-mic {
  right: 0 !important;
  bottom: 6px !important;
}
@media (max-width: 767px) {
  body > .kvaa-root[data-mode="floating"] {
    inset: auto 12px 12px auto !important;
    width: 124px !important;
    height: 134px !important;
  }
  body > .kvaa-root[data-mode="floating"] .kvaa-mascot-wrap {
    inset: auto 28px 0 auto !important;
    width: 92px !important;
    height: 120px !important;
    max-width: 92px !important;
  }
  body > .kvaa-root[data-mode="floating"] hv-robot.kvaa-robot {
    width: 92px !important;
    height: 120px !important;
  }
}


/* v2.6 mobile chat panel: compact card, kept below sticky/admin headers */
@media (max-width: 767px) {
  .kvaa-panel {
    inset: auto 12px 16px auto !important;
    left: auto !important;
    top: auto !important;
    width: min(360px, calc(100vw - 24px)) !important;
    height: min(620px, 76dvh) !important;
    max-height: calc(100dvh - 92px) !important;
    border-radius: 24px !important;
  }
  .kvaa-header {
    min-height: 74px !important;
    padding: 12px 14px !important;
    flex: 0 0 auto !important;
  }
  .kvaa-avatar {
    width: 44px !important;
    height: 44px !important;
    flex-basis: 44px !important;
  }
  .kvaa-head-copy strong { font-size: 17px !important; }
  .kvaa-head-copy span { font-size: 12px !important; }
  .kvaa-close {
    width: 42px !important;
    height: 42px !important;
    flex-basis: 42px !important;
    position: relative !important;
    z-index: 2 !important;
  }
  .kvaa-messages { padding: 14px 14px 10px !important; }
  .kvaa-quick { padding: 0 14px 10px !important; max-height: 82px !important; }
  .kvaa-composer { margin: 0 10px 8px !important; min-height: 50px !important; }
  .kvaa-disclaimer, .kvaa-status {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}

/* Extra room for WordPress/Elementor admin bars while previewing on mobile */
@media (max-width: 767px) and (max-height: 760px) {
  .kvaa-panel {
    height: min(560px, 70dvh) !important;
    max-height: calc(100dvh - 100px) !important;
  }
}


/* Kidsville Pediatrics theme */
.kvaa-root{--hv:#ef6f61;--hv-dark:#e05648;--ink:#223350;--muted:#5a6473;--paper:#fbf6ee;--line:#e8ded2;font-family:Nunito,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
.kvaa-pill{color:#223350!important;border-color:rgba(34,51,80,.14)!important;background:#fff!important;font-family:Fredoka,Nunito,sans-serif!important;font-weight:600!important}
.kvaa-dot{background:#ef6f61!important;box-shadow:0 0 0 6px rgba(239,111,97,.13)!important}
.kvaa-panel{background:#fbf6ee!important;border-color:#eadfd3!important;box-shadow:0 28px 70px rgba(34,51,80,.18)!important}
.kvaa-header{background:linear-gradient(90deg,#fff 0%,#fff8ef 100%)!important;border-bottom-color:#eadfd3!important}
.kvaa-avatar{background:linear-gradient(135deg,#7fc4e0,#f3c14e)!important;border:2px solid #fff!important;box-shadow:0 0 0 1px rgba(34,51,80,.08)!important}
.kvaa-head-copy strong{font-family:Fredoka,Nunito,sans-serif!important;color:#223350!important;font-weight:700!important}
.kvaa-head-copy span{color:#5a6473!important}
.kvaa-msg.bot{background:#fff!important;border-color:#eadfd3!important;color:#33405a!important}
.kvaa-msg.user{background:#ef6f61!important;border-color:#ef6f61!important;color:#fff!important}
.kvaa-quick{background:#fbf6ee!important}
.kvaa-quick button{font-family:Nunito,sans-serif!important;color:#223350!important;border-color:#d8dfe9!important;background:#fff!important}
.kvaa-quick button:hover{border-color:#ef6f61!important;background:#fff4f1!important}
.kvaa-send{background:#ef6f61!important;border-color:#ef6f61!important}
.kvaa-mic{background:#fff8ef!important;border-color:#f2b4aa!important}
.kvaa-status{color:#c84d40!important}
.kvaa-disclaimer{color:#7d8797!important}

/* v1.1 reliable launcher hit-area */
.kvaa-pill,.kvaa-mascot-wrap,.kvaa-float-mic,.kvaa-robot,.kvaa-robot canvas{pointer-events:auto!important;touch-action:manipulation!important;}
.kvaa-mascot-wrap{z-index:6!important;}
.kvaa-pill{position:relative!important;z-index:7!important;}


/* v1.2 homepage fix: keep the chat panel outside Elementor stacking/overflow contexts */
.kvaa-panel.kvaa-panel-portaled{
  --hv:#ef6f61;
  --hv-dark:#dc5d50;
  --ink:#223350;
  --muted:#687781;
  --paper:#fbf6ee;
  --line:#e3e5e7;
  box-sizing:border-box!important;
  font-family:Nunito,Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  z-index:2147483646!important;
}
.kvaa-panel.kvaa-panel-portaled *{box-sizing:border-box!important;font-family:inherit}
.kvaa-panel.kvaa-panel-portaled .kvaa-msg.user{background:var(--hv)!important;border-color:var(--hv)!important}
.kvaa-panel.kvaa-panel-portaled .kvaa-send{background:var(--hv)!important;border-color:var(--hv)!important}

/* ==========================================================
   v1.4 Kidsville supplied mascot
   One larger floating mascot on EVERY frontend page.
   Source design adapted from kidsville-mascot.html.
   ========================================================== */
@keyframes kvaaKidBlink{
  0%,92%,100%{transform:scaleY(0)}
  95%,97%{transform:scaleY(1)}
}
@keyframes kvaaKidBob{
  0%,100%{transform:translateY(0) scale(var(--kvaa-kid-scale,1))}
  50%{transform:translateY(-6px) scale(var(--kvaa-kid-scale,1))}
}

.kvaa-kid-mascot{
  --kvaa-kid-scale:1;
  position:absolute!important;
  left:50%!important;
  bottom:0!important;
  width:104px!important;
  height:152px!important;
  margin:0!important;
  transform-origin:50% 100%!important;
  animation:kvaaKidBob 3.6s ease-in-out infinite!important;
  pointer-events:none!important;
  filter:drop-shadow(0 12px 14px rgba(90,65,35,.17));
}
.kvaa-kid-mascot *{box-sizing:border-box}
.kvaa-kid-arm-l{position:absolute;left:14px;bottom:6px;width:20px;height:30px;border-radius:12px;background:#7fb6d6;transform:rotate(16deg)}
.kvaa-kid-arm-r{position:absolute;right:14px;bottom:6px;width:20px;height:30px;border-radius:12px;background:#7fb6d6;transform:rotate(-16deg)}
.kvaa-kid-neck{position:absolute;left:41px;bottom:44px;width:22px;height:22px;border-radius:9px;background:#edc3a6}
.kvaa-kid-torso{position:absolute;left:13px;bottom:0;width:78px;height:56px;border-radius:34px 34px 22px 22px;background:#8fc3de;box-shadow:0 8px 14px rgba(90,65,35,.18)}
.kvaa-kid-collar{position:absolute;left:36px;bottom:44px;width:32px;height:13px;border-radius:0 0 16px 16px;background:#a9d4e9}
.kvaa-kid-badge{position:absolute;left:44px;bottom:16px;width:16px;height:16px;border-radius:5px;background:#ffe3a3}
.kvaa-kid-head{position:absolute;left:0;top:0;width:104px;height:104px;transform-origin:50% 92%;filter:drop-shadow(0 8px 14px rgba(90,65,35,.22));will-change:transform}
.kvaa-kid-ear-l{position:absolute;left:1px;top:44px;width:15px;height:17px;border-radius:50%;background:#f2c7a8}
.kvaa-kid-ear-r{position:absolute;right:1px;top:44px;width:15px;height:17px;border-radius:50%;background:#f2c7a8}
.kvaa-kid-face{position:absolute;left:8px;top:8px;width:88px;height:90px;border-radius:50% 50% 46% 46%;background:#f7d5bb}
.kvaa-kid-hair{position:absolute;left:6px;top:4px;width:92px;height:46px;border-radius:50% 50% 34% 34%;background:#6b4430}
.kvaa-kid-hair-swoop{position:absolute;left:44px;top:-8px;width:18px;height:22px;border-radius:60% 60% 50% 10%;background:#6b4430;transform:rotate(16deg)}
.kvaa-kid-cheek-l{position:absolute;left:18px;top:64px;width:15px;height:10px;border-radius:50%;background:#f4a8a0;opacity:.6}
.kvaa-kid-cheek-r{position:absolute;right:18px;top:64px;width:15px;height:10px;border-radius:50%;background:#f4a8a0;opacity:.6}
.kvaa-kid-eye-l,.kvaa-kid-eye-r{position:absolute;top:48px;width:19px;height:19px;border-radius:50%;background:#fff;overflow:hidden;box-shadow:inset 0 1px 2px rgba(60,40,25,.18)}
.kvaa-kid-eye-l{left:26px}.kvaa-kid-eye-r{right:26px}
.kvaa-kid-pupil{position:absolute;left:5px;top:5px;width:9px;height:9px;border-radius:50%;background:#3b2a20;will-change:transform}
.kvaa-kid-eyelid{position:absolute;left:0;top:0;width:100%;height:100%;background:#f7d5bb;transform-origin:50% 0;transform:scaleY(0);animation:kvaaKidBlink 5.4s infinite}
.kvaa-kid-eyelid-delay{animation-delay:.4s}
.kvaa-kid-mouth{position:absolute;left:43px;top:70px;width:18px;height:9px;border-bottom:3px solid #a4614a;border-radius:0 0 22px 22px}

/* The floating version is intentionally a little larger than the old Harmony/Kidsville launcher. */
body > .kvaa-root[data-mode="floating"]{
  inset:auto 20px 16px auto!important;
  width:154px!important;
  height:176px!important;
}
body > .kvaa-root[data-mode="floating"] .kvaa-mascot-wrap{
  inset:auto 30px 0 auto!important;
  width:118px!important;
  max-width:118px!important;
  height:172px!important;
  overflow:visible!important;
}
body > .kvaa-root[data-mode="floating"] .kvaa-kid-mascot{
  --kvaa-kid-scale:var(--kvaa-kid-scale-desktop,1);
  margin-left:-52px!important;
}
body > .kvaa-root[data-mode="floating"] .kvaa-float-mic{
  right:0!important;
  bottom:8px!important;
  width:50px!important;
  height:50px!important;
}
body > .kvaa-root[data-mode="floating"] .kvaa-mascot-wrap:hover .kvaa-kid-mascot{
  filter:drop-shadow(0 16px 18px rgba(90,65,35,.24));
}

@media(max-width:767px){
  body > .kvaa-root[data-mode="floating"]{
    inset:auto 10px 10px auto!important;
    width:138px!important;
    height:158px!important;
  }
  body > .kvaa-root[data-mode="floating"] .kvaa-mascot-wrap{
    inset:auto 28px 0 auto!important;
    width:108px!important;
    max-width:108px!important;
    height:154px!important;
  }
  body > .kvaa-root[data-mode="floating"] .kvaa-kid-mascot{
    --kvaa-kid-scale:var(--kvaa-kid-scale-mobile,.88);
    margin-left:-52px!important;
  }
  body > .kvaa-root[data-mode="floating"] .kvaa-float-mic{
    width:44px!important;
    height:44px!important;
    font-size:18px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .kvaa-kid-mascot,.kvaa-kid-eyelid{animation:none!important}
}

/* v1.5: backend-controlled floating mascot percentage. */

/* v1.6: explicit tablet visibility/placement safeguard (768px–1024px).
   Some Elementor/tablet layouts apply overflow/visibility rules to descendants;
   force the footer-injected floating launcher to remain visible and clickable. */
@media (min-width:768px) and (max-width:1024px){
  .kvaa-root[data-mode="floating"],
  body > .kvaa-root[data-mode="floating"]{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    position:fixed!important;
    inset:auto 18px 16px auto!important;
    left:auto!important;
    top:auto!important;
    width:146px!important;
    height:168px!important;
    min-width:0!important;
    max-width:none!important;
    overflow:visible!important;
    transform:none!important;
    z-index:2147482500!important;
    pointer-events:none!important;
  }
  .kvaa-root[data-mode="floating"] .kvaa-mascot-wrap,
  body > .kvaa-root[data-mode="floating"] .kvaa-mascot-wrap{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    position:absolute!important;
    inset:auto 30px 0 auto!important;
    width:112px!important;
    max-width:112px!important;
    height:164px!important;
    overflow:visible!important;
    pointer-events:auto!important;
  }
  .kvaa-root[data-mode="floating"] .kvaa-kid-mascot,
  body > .kvaa-root[data-mode="floating"] .kvaa-kid-mascot{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    --kvaa-kid-scale:var(--kvaa-kid-scale-desktop,1);
  }
  .kvaa-root[data-mode="floating"] .kvaa-float-mic,
  body > .kvaa-root[data-mode="floating"] .kvaa-float-mic{
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
}


/* ==========================================================
   v1.7 tablet/mobile visibility + independent mobile sizing
   ========================================================== */
html body > .kvaa-root[data-mode="floating"]{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:fixed!important;
  right:18px!important;
  bottom:16px!important;
  left:auto!important;
  top:auto!important;
  width:146px!important;
  height:170px!important;
  max-width:none!important;
  max-height:none!important;
  overflow:visible!important;
  clip:auto!important;
  clip-path:none!important;
  transform:none!important;
  z-index:2147483000!important;
  pointer-events:none!important;
}
html body > .kvaa-root[data-mode="floating"] .kvaa-mascot-wrap{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:absolute!important;
  right:28px!important;
  bottom:0!important;
  left:auto!important;
  top:auto!important;
  width:116px!important;
  height:166px!important;
  max-width:none!important;
  overflow:visible!important;
  transform:none!important;
  pointer-events:auto!important;
}
html body > .kvaa-root[data-mode="floating"] .kvaa-kid-mascot{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  --kvaa-kid-scale:var(--kvaa-kid-scale-desktop,1)!important;
  margin-left:-52px!important;
}

/* Explicit tablet range including Elementor's common 768/1024 breakpoints. */
@media (min-width:768px) and (max-width:1024px){
  html body > .kvaa-root[data-mode="floating"]{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    right:16px!important;
    bottom:16px!important;
    width:146px!important;
    height:170px!important;
  }
  html body > .kvaa-root[data-mode="floating"] .kvaa-mascot-wrap{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:116px!important;
    height:166px!important;
    right:28px!important;
  }
  html body > .kvaa-root[data-mode="floating"] .kvaa-kid-mascot{
    --kvaa-kid-scale:var(--kvaa-kid-scale-desktop,1)!important;
  }
}

@media (max-width:767px){
  html body > .kvaa-root[data-mode="floating"]{
    right:8px!important;
    bottom:8px!important;
    width:122px!important;
    height:146px!important;
  }
  html body > .kvaa-root[data-mode="floating"] .kvaa-mascot-wrap{
    right:22px!important;
    width:100px!important;
    height:142px!important;
  }
  html body > .kvaa-root[data-mode="floating"] .kvaa-kid-mascot{
    --kvaa-kid-scale:var(--kvaa-kid-scale-mobile,.78)!important;
    margin-left:-52px!important;
  }
}

/* Chat header avatar now matches the supplied Kidsville kid mascot. */
.kvaa-avatar{position:relative!important;overflow:hidden!important;background:#d9ecf8!important}
.kvaa-avatar img{display:none!important}
.kvaa-avatar-kid{position:absolute;inset:0;transform:scale(.9);transform-origin:center}
.kvaa-avatar-face{position:absolute;left:10px;top:8px;width:34px;height:34px;border-radius:50% 50% 46% 46%;background:#f7d5bb;z-index:2}
.kvaa-avatar-hair{position:absolute;left:8px;top:4px;width:38px;height:20px;border-radius:50% 50% 38% 38%;background:#6b4430;z-index:3}
.kvaa-avatar-eye{position:absolute;top:22px;width:5px;height:5px;border-radius:50%;background:#3b2a20;z-index:4}
.kvaa-avatar-eye.l{left:20px}.kvaa-avatar-eye.r{right:20px}
.kvaa-avatar-mouth{position:absolute;left:24px;top:32px;width:8px;height:4px;border-bottom:2px solid #a4614a;border-radius:0 0 8px 8px;z-index:4}
.kvaa-avatar-shirt{position:absolute;left:8px;bottom:-6px;width:40px;height:25px;border-radius:20px 20px 8px 8px;background:#8fc3de;z-index:1}
