/* ── Ava Chatbot – Ritter Reha ───────────────────────────────────────────── */
.ava-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ── Toggle-Button ────────────────────────────────────────────────────────── */
#ava-btn{
  position:fixed;bottom:28px;right:28px;z-index:9999;
  width:62px;height:62px;border-radius:50%;
  background:#1679B4;border:none;cursor:pointer;
  box-shadow:0 4px 20px rgba(22,121,180,.45);
  display:flex;align-items:center;justify-content:center;
  transition:transform .2s,box-shadow .2s;
}
#ava-btn:hover,#ava-btn:focus-visible{
  transform:scale(1.08);box-shadow:0 6px 28px rgba(22,121,180,.6);
  outline:3px solid #fff;outline-offset:3px;
}
#ava-btn svg{width:28px;height:28px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Label neben Button */
#ava-label{
  position:fixed;bottom:38px;right:100px;z-index:9998;
  background:#fff;border:1px solid #DDE6EE;border-radius:8px;
  padding:7px 14px;font-size:.84rem;font-weight:600;color:#10121C;
  box-shadow:0 2px 12px rgba(16,18,28,.12);white-space:nowrap;
  transition:opacity .3s;pointer-events:none;
}
#ava-label.ava-hidden{opacity:0}

/* ── Chatfenster ──────────────────────────────────────────────────────────── */
#ava-win{
  position:fixed;bottom:104px;right:24px;z-index:9998;
  width:364px;max-width:calc(100vw - 32px);
  max-height:540px;
  background:#fff;border-radius:16px;
  box-shadow:0 8px 40px rgba(16,18,28,.18);border:1px solid #DDE6EE;
  display:flex;flex-direction:column;overflow:hidden;
  transform:translateY(18px) scale(.97);opacity:0;pointer-events:none;
  transition:transform .24s cubic-bezier(.4,0,.2,1),opacity .24s;
}
#ava-win.ava-open{transform:translateY(0) scale(1);opacity:1;pointer-events:all}

/* Header */
#ava-head{
  background:#1679B4;padding:15px 18px;
  display:flex;align-items:center;gap:12px;flex-shrink:0;
}
.ava-avatar{
  width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.22);
  display:flex;align-items:center;justify-content:center;
  font-size:1rem;font-weight:700;color:#fff;flex-shrink:0;
  letter-spacing:.5px;
}
.ava-head-info{flex:1;min-width:0}
.ava-head-name{display:block;color:#fff;font-size:1rem;font-weight:700;line-height:1.2}
.ava-head-sub{display:block;color:rgba(255,255,255,.78);font-size:.78rem;margin-top:1px}
#ava-close{
  background:rgba(255,255,255,.15);border:none;border-radius:8px;
  color:#fff;cursor:pointer;width:34px;height:34px;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s;flex-shrink:0;
}
#ava-close:hover,#ava-close:focus-visible{
  background:rgba(255,255,255,.32);outline:2px solid rgba(255,255,255,.7);outline-offset:1px;
}
#ava-close svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round}

/* Nachrichten */
#ava-msgs{
  flex:1;overflow-y:auto;padding:16px;
  display:flex;flex-direction:column;gap:10px;
  scroll-behavior:smooth;
}
.ava-msg{
  max-width:86%;padding:10px 14px;border-radius:12px;
  font-size:.91rem;line-height:1.55;word-break:break-word;
}
.ava-bot{
  align-self:flex-start;
  background:#F5F8FB;border:1px solid #DDE6EE;border-bottom-left-radius:3px;
  color:#1A1D26;
}
.ava-user{
  align-self:flex-end;
  background:#1679B4;color:#fff;border-bottom-right-radius:3px;
}

/* Schnellfragen */
#ava-quick{
  padding:6px 14px 2px;display:flex;flex-wrap:wrap;gap:6px;flex-shrink:0;
}
.ava-q{
  background:#fff;border:1.5px solid #1679B4;border-radius:20px;
  color:#1679B4;font-size:.78rem;font-weight:600;padding:5px 12px;
  cursor:pointer;transition:background .15s,color .15s;white-space:nowrap;
  font-family:inherit;
}
.ava-q:hover,.ava-q:focus-visible{
  background:#1679B4;color:#fff;
  outline:2px solid #10121C;outline-offset:2px;
}

/* Eingabe */
#ava-foot{
  padding:11px 14px 13px;display:flex;gap:8px;
  border-top:1px solid #DDE6EE;flex-shrink:0;align-items:flex-end;
}
#ava-input{
  flex:1;border:1.5px solid #DDE6EE;border-radius:10px;
  padding:9px 13px;font-size:.9rem;font-family:inherit;
  outline:none;resize:none;overflow:hidden;
  background:#F5F8FB;color:#10121C;line-height:1.45;
  min-height:40px;max-height:96px;
  transition:border-color .15s;
}
#ava-input:focus{border-color:#1679B4}
#ava-input::placeholder{color:#9aabb8}
#ava-send{
  background:#1679B4;border:none;border-radius:10px;color:#fff;
  cursor:pointer;width:42px;height:42px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s;
}
#ava-send:hover,#ava-send:focus-visible{
  background:#1265a0;outline:2px solid #10121C;outline-offset:2px;
}
#ava-send svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

/* Tipp-Indikator */
.ava-typing{display:flex;align-items:center;gap:4px;padding:12px 16px}
.ava-typing span{width:7px;height:7px;border-radius:50%;background:#9aabb8;display:inline-block;animation:avaDot 1.2s infinite ease-in-out}
.ava-typing span:nth-child(2){animation-delay:.2s}
.ava-typing span:nth-child(3){animation-delay:.4s}
@keyframes avaDot{0%,80%,100%{transform:scale(.7);opacity:.5}40%{transform:scale(1);opacity:1}}

/* Mobile */
@media(max-width:500px){
  #ava-win{
    bottom:0;right:0;left:0;max-width:100%;width:100%;
    border-radius:16px 16px 0 0;max-height:88vh;
  }
  #ava-btn{bottom:20px;right:20px}
  #ava-label{bottom:28px;right:90px}
}
