
.coco-assistant{--coco-red:#e3131b;--coco-ink:#15171b;--coco-muted:#6b7078;position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:9999;font-family:inherit}
.coco-launcher{position:relative;width:86px;height:86px;padding:0;border:0;border-radius:50%;background:#fff;box-shadow:0 14px 38px rgba(0,0,0,.24);cursor:pointer;display:grid;place-items:center;transition:transform .2s ease,box-shadow .2s ease;overflow:visible}
.coco-launcher:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 18px 44px rgba(0,0,0,.28)}
.coco-launcher:focus-visible,.coco-close:focus-visible,.coco-chips button:focus-visible,.coco-form input:focus-visible,.coco-form button:focus-visible{outline:3px solid #2276ff;outline-offset:3px}
.coco-launcher img{width:78px;height:78px;object-fit:cover;object-position:50% 25%;border-radius:50%;display:block}
.coco-launcher-ring{position:absolute;inset:-5px;border-radius:50%;border:2px solid rgba(227,19,27,.28);animation:coco-pulse 2.8s ease-out 3;pointer-events:none}
.coco-launcher-dot{position:absolute;right:4px;bottom:8px;width:15px;height:15px;border-radius:50%;background:#20bf66;border:3px solid #fff;box-shadow:0 2px 7px rgba(0,0,0,.15)}
.coco-panel{position:absolute;right:0;bottom:102px;width:min(420px,calc(100vw - 28px));height:min(630px,calc(100vh - 130px));background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:24px;box-shadow:0 26px 70px rgba(0,0,0,.28);overflow:hidden;display:grid;grid-template-rows:auto 1fr auto auto auto;color:var(--coco-ink);transform-origin:bottom right;animation:coco-open .18s ease-out}
.coco-panel[hidden]{display:none!important}
.coco-header{display:flex;align-items:center;gap:12px;padding:15px 16px;background:linear-gradient(135deg,#181b20,#2c3139);color:#fff}
.coco-header-avatar{width:48px;height:48px;border-radius:16px;overflow:hidden;background:#fff;flex:none}.coco-header-avatar img{width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.coco-header-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.coco-header-copy strong{font-size:1rem}.coco-header-copy span{font-size:.75rem;color:#cfd3da}
.coco-close{margin-left:auto;border:0;background:rgba(255,255,255,.1);color:#fff;width:38px;height:38px;border-radius:12px;font-size:1.55rem;line-height:1;cursor:pointer}
.coco-messages{padding:18px 16px;overflow:auto;overscroll-behavior:contain;background:linear-gradient(#fafafa,#f5f5f6)}
.coco-message{display:flex;margin:0 0 12px}.coco-message-user{justify-content:flex-end}.coco-bubble{max-width:90%;padding:11px 13px;border-radius:16px;font-size:.9rem;line-height:1.5;overflow-wrap:anywhere;box-shadow:0 2px 10px rgba(0,0,0,.05)}
.coco-message-bot .coco-bubble{white-space:pre-line;background:#fff;border:1px solid #e3e4e7;border-top-left-radius:5px}.coco-message-user .coco-bubble{background:var(--coco-red);color:#fff;border-top-right-radius:5px}
.coco-answer-link{display:inline-block;margin-top:7px;font-weight:800;color:var(--coco-red);text-decoration:none}.coco-answer-link:hover{text-decoration:underline}
.coco-typing{display:flex;gap:4px;align-items:center;min-width:52px}.coco-typing i{width:6px;height:6px;border-radius:50%;background:#8a8f98;animation:coco-dot 1s infinite ease-in-out}.coco-typing i:nth-child(2){animation-delay:.12s}.coco-typing i:nth-child(3){animation-delay:.24s}
.coco-chips{display:flex;gap:8px;overflow-x:auto;padding:11px 14px 7px;background:#fff;scrollbar-width:none}.coco-chips::-webkit-scrollbar{display:none}.coco-chips button{white-space:nowrap;border:1px solid #d8dade;background:#fff;color:#30343a;border-radius:999px;padding:9px 13px;font:inherit;font-size:.79rem;font-weight:750;cursor:pointer;flex:0 0 auto}.coco-chips button:hover{border-color:var(--coco-red);color:var(--coco-red)}
/* Sehr spezifisch, damit globale Website-Formularregeln den Chat nicht zusammenschieben. */
.coco-assistant .coco-form{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px!important;width:100%!important;padding:12px 14px!important;margin:0!important;background:#fff!important;border-top:1px solid #ececef!important}
.coco-assistant .coco-form input#coco-input{display:block!important;flex:1 1 auto!important;width:auto!important;min-width:0!important;max-width:none!important;height:52px!important;margin:0!important;padding:0 15px!important;border:1px solid #cfd3da!important;border-radius:14px!important;background:#fff!important;color:#17191d!important;font:inherit!important;font-size:.95rem!important;line-height:52px!important;box-shadow:none!important;-webkit-appearance:none!important;appearance:none!important}
.coco-assistant .coco-form input#coco-input::placeholder{color:#858b94!important;opacity:1!important}
.coco-assistant .coco-form button.coco-send{display:grid!important;place-items:center!important;flex:0 0 52px!important;width:52px!important;min-width:52px!important;max-width:52px!important;height:52px!important;margin:0!important;padding:0!important;border:0!important;border-radius:14px!important;background:var(--coco-red)!important;color:#fff!important;font-size:1.25rem!important;font-weight:900!important;line-height:1!important}
.coco-assistant .coco-form button.coco-send:hover{filter:brightness(.94)}
.coco-note{margin:0;padding:0 14px 12px;background:#fff;color:#838891;font-size:.66rem;line-height:1.35}
@keyframes coco-open{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@keyframes coco-pulse{0%{opacity:.8;transform:scale(.94)}70%{opacity:0;transform:scale(1.22)}100%{opacity:0}}
@keyframes coco-dot{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-3px);opacity:1}}
@media(prefers-reduced-motion:reduce){.coco-launcher-ring,.coco-panel,.coco-typing i{animation:none}.coco-launcher{transition:none}}
@media(max-width:560px){
 .coco-assistant{right:12px;bottom:max(14px,env(safe-area-inset-bottom))}.coco-assistant.has-mobile-contact-bar{bottom:max(82px,calc(env(safe-area-inset-bottom) + 72px))}
 .coco-launcher{width:72px;height:72px}.coco-launcher img{width:64px;height:64px}
 .coco-panel{position:fixed;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));width:auto;height:min(66vh,540px);border-radius:20px}
 .coco-assistant.has-mobile-contact-bar .coco-panel{bottom:max(74px,calc(env(safe-area-inset-bottom) + 66px));height:min(60vh,500px)}
 .coco-assistant.is-open .coco-launcher{opacity:0;pointer-events:none}
 .coco-header{padding:12px 13px}.coco-header-avatar{width:42px;height:42px}.coco-messages{padding:14px 13px}.coco-bubble{font-size:.9rem;max-width:94%}
 .coco-chips{padding:9px 11px 6px}.coco-chips button{padding:8px 11px;font-size:.76rem}
 .coco-assistant .coco-form{padding:10px 11px!important;gap:8px!important}
 .coco-assistant .coco-form input#coco-input{height:50px!important;line-height:50px!important;font-size:16px!important;padding:0 14px!important}
 .coco-assistant .coco-form button.coco-send{flex-basis:50px!important;width:50px!important;min-width:50px!important;max-width:50px!important;height:50px!important}
 .coco-note{padding:0 12px 10px;font-size:.62rem}
}


/* v2.6 – Coco nimmt auf kleinen Displays weniger Fläche ein */
@media (max-width:560px){
  .coco-launcher{width:66px;height:66px}
  .coco-launcher img{width:59px;height:59px}
  .coco-panel{left:8px;right:8px;bottom:max(62px,env(safe-area-inset-bottom));height:min(62vh,520px)}
}
.coco-sources{margin-top:10px;padding-top:9px;border-top:1px solid #ececef;display:grid;gap:5px}.coco-sources strong{font-size:.68rem;color:#777c84;text-transform:uppercase;letter-spacing:.06em}.coco-sources a{font-size:.72rem;color:#b30f16;text-decoration:underline;overflow-wrap:anywhere}.coco-ai-badge{display:inline-flex;align-items:center;gap:5px;margin-top:7px;font-size:.66rem;color:#737881;font-weight:700}
