/* Aware KI · Support-Chat unten rechts */
.aki { --aki-paper: #f7f2ed; --aki-white: #fffdfb; --aki-ink: #2d2622; --aki-ink2: #554a44; --aki-mute: #7a6d65; --aki-line: #e3d8cf; --aki-or: #ea5c37; --aki-or2: #c94524; --aki-blush: #f9e4e1; --aki-ease: cubic-bezier(.22, 1, .36, 1); font: 300 .92rem/1.55 "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif; color: var(--aki-ink); }
.aki *, .aki *::before, .aki *::after { box-sizing: border-box; }

.aki-fab { position: fixed; right: 18px; bottom: calc(18px + env(safe-area-inset-bottom, 0px)); z-index: 90; display: flex; align-items: center; gap: 10px; height: 54px; padding: 0 20px 0 8px; border: 0; border-radius: 999px; background: var(--aki-ink); color: #fff; font: 400 .9rem/1 "Poppins", system-ui, sans-serif; cursor: pointer; box-shadow: 0 18px 40px -16px rgba(45, 38, 34, .55); transition: transform .5s var(--aki-ease), bottom .5s var(--aki-ease), opacity .3s; }
.aki-fab:hover { transform: translateY(-2px); }
.aki-fab:focus-visible { outline: 2px solid var(--aki-or); outline-offset: 3px; }
.aki-fab__dot { width: 38px; height: 38px; border-radius: 50%; background: var(--aki-or); display: grid; place-items: center; flex: none; }
.aki-fab__dot svg { width: 19px; height: 19px; }
.aki-fab__t b { font-weight: 500; }
.aki.is-open .aki-fab { opacity: 0; pointer-events: none; transform: translateY(10px); }
body:has(.bar.show) .aki-fab { bottom: calc(80px + env(safe-area-inset-bottom, 0px)); }

.aki-panel { position: fixed; right: 18px; bottom: calc(18px + env(safe-area-inset-bottom, 0px)); z-index: 95; width: min(400px, calc(100vw - 24px)); height: min(620px, calc(100dvh - 36px)); display: flex; flex-direction: column; background: var(--aki-paper); border-radius: 24px; box-shadow: 0 40px 80px -30px rgba(45, 38, 34, .5), 0 0 0 1px rgba(45, 38, 34, .07); overflow: hidden; opacity: 0; visibility: hidden; transform: translateY(16px) scale(.98); transform-origin: bottom right; transition: opacity .35s var(--aki-ease), transform .45s var(--aki-ease), visibility .35s; }
.aki.is-open .aki-panel { opacity: 1; visibility: visible; transform: none; }

.aki-hd { display: flex; align-items: center; gap: 12px; padding: 16px 14px 14px 20px; border-bottom: 1px solid var(--aki-line); background: var(--aki-white); }
.aki-hd__t { flex: 1; min-width: 0; }
.aki-hd__t strong { display: block; font: 400 1.55rem/1 "Cormorant Garamond", Georgia, serif; letter-spacing: -.01em; }
.aki-hd__t strong em { font-style: italic; color: var(--aki-or); }
.aki-hd__t span { display: block; font-size: .74rem; color: var(--aki-mute); margin-top: 4px; }
.aki-ic { width: 38px; height: 38px; border: 0; border-radius: 50%; background: transparent; color: var(--aki-ink2); display: grid; place-items: center; cursor: pointer; flex: none; }
.aki-ic:hover { background: var(--aki-paper); }
.aki-ic:focus-visible { outline: 2px solid var(--aki-or); outline-offset: 1px; }
.aki-ic svg { width: 18px; height: 18px; }

.aki-log { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: 18px 16px 8px; display: flex; flex-direction: column; gap: 10px; scroll-behavior: smooth; }
.aki-m { max-width: 88%; padding: 10px 14px; border-radius: 18px; word-wrap: break-word; }
.aki-m p { margin: 0; max-width: none; }
.aki-m p + p, .aki-m ul + p, .aki-m p + ul, .aki-m ol + p, .aki-m p + ol, .aki-m ul + ul, .aki-m ol + ul { margin-top: 8px; }
.aki-m ul, .aki-m ol { margin: 0; padding-left: 1.2em; }
.aki-m ol li::marker { color: var(--aki-or2); font-weight: 500; }
.aki-m li + li { margin-top: 3px; }
.aki-m a { color: var(--aki-or2); text-decoration: underline; text-underline-offset: 2px; font-weight: 400; }
.aki-m b { font-weight: 500; }
.aki-m--a { align-self: flex-start; background: var(--aki-white); border-bottom-left-radius: 6px; box-shadow: 0 0 0 1px rgba(45, 38, 34, .05); }
.aki-m--u { align-self: flex-end; background: var(--aki-or2); color: #fff; border-bottom-right-radius: 6px; white-space: pre-wrap; }
.aki-m--err { background: var(--aki-blush); }
.aki-typing { display: inline-flex; gap: 4px; padding: 4px 0; }
.aki-typing i { width: 6px; height: 6px; border-radius: 50%; background: var(--aki-mute); animation: aki-dot 1.1s infinite ease-in-out; }
.aki-typing i:nth-child(2) { animation-delay: .15s; }
.aki-typing i:nth-child(3) { animation-delay: .3s; }
@keyframes aki-dot { 0%, 80%, 100% { opacity: .25; transform: none; } 40% { opacity: 1; transform: translateY(-3px); } }

.aki-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.aki-chip { border: 1px solid var(--aki-line); background: transparent; border-radius: 999px; padding: 7px 13px; font: 300 .82rem/1.3 "Poppins", system-ui, sans-serif; color: var(--aki-ink); cursor: pointer; text-align: left; }
.aki-chip:hover { border-color: var(--aki-or); color: var(--aki-or2); }
.aki-chip:focus-visible { outline: 2px solid var(--aki-or); outline-offset: 2px; }

.aki-team { align-self: stretch; background: var(--aki-white); border-radius: 18px; padding: 14px 16px; box-shadow: 0 0 0 1px rgba(45, 38, 34, .06); }
.aki-team--min { background: none; box-shadow: none; padding: 0; align-self: flex-start; }
.aki-team p { margin: 0 0 10px; max-width: none; font-size: .86rem; color: var(--aki-ink2); }
.aki-team form { display: grid; gap: 8px; }
.aki-team label { font-size: .74rem; color: var(--aki-mute); display: grid; gap: 3px; }
.aki-team input[type=text], .aki-team input[type=email], .aki-team textarea { width: 100%; border: 1px solid var(--aki-line); border-radius: 12px; padding: 9px 12px; font: 300 .88rem/1.4 "Poppins", system-ui, sans-serif; color: var(--aki-ink); background: var(--aki-paper); }
.aki-team textarea { min-height: 76px; resize: vertical; }
.aki-team input:focus, .aki-team textarea:focus { outline: 2px solid var(--aki-or); outline-offset: 0; border-color: transparent; }
.aki-team .aki-chk { display: flex; gap: 8px; align-items: flex-start; font-size: .74rem; line-height: 1.45; color: var(--aki-ink2); }
.aki-team .aki-chk input { margin-top: 2px; accent-color: var(--aki-or2); }
.aki-btn { border: 0; border-radius: 999px; background: var(--aki-ink); color: #fff; padding: 10px 18px; font: 400 .86rem/1 "Poppins", system-ui, sans-serif; cursor: pointer; justify-self: start; }
.aki-btn:hover { background: var(--aki-or2); }
.aki-btn:focus-visible { outline: 2px solid var(--aki-or); outline-offset: 2px; }
.aki-btn[disabled] { opacity: .5; cursor: default; }
.aki-hp { position: absolute; left: -9999px; }

.aki-ft { padding: 10px 12px 12px; background: var(--aki-white); border-top: 1px solid var(--aki-line); }
.aki-in { display: flex; align-items: flex-end; gap: 8px; background: var(--aki-paper); border-radius: 18px; padding: 6px 6px 6px 14px; }
.aki-in:focus-within { box-shadow: 0 0 0 2px var(--aki-or); }
.aki-in textarea { flex: 1; border: 0; background: transparent; resize: none; font: 300 .95rem/1.45 "Poppins", system-ui, sans-serif; color: var(--aki-ink); padding: 7px 0; max-height: 120px; outline: none; }
.aki-in textarea::placeholder { color: var(--aki-mute); }
.aki-send { width: 38px; height: 38px; border: 0; border-radius: 50%; background: var(--aki-or2); color: #fff; display: grid; place-items: center; cursor: pointer; flex: none; transition: background .2s; }
.aki-send[disabled] { background: #cdbfb5; cursor: default; }
.aki-send svg { width: 17px; height: 17px; }
.aki-send:focus-visible { outline: 2px solid var(--aki-ink); outline-offset: 2px; }
.aki-note { margin: 8px 4px 0; font-size: .68rem; line-height: 1.45; color: var(--aki-mute); max-width: none; }
.aki-note a { color: inherit; }

@media (max-width: 560px) {
  .aki-fab { right: 12px; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); height: 50px; padding: 0 6px; }
  .aki-fab__t { display: none; }
  .aki-fab__dot { width: 38px; height: 38px; }
  body:has(.bar.show) .aki-fab { bottom: calc(74px + env(safe-area-inset-bottom, 0px)); }
  .aki-panel { right: 0; bottom: 0; width: 100vw; height: 100dvh; border-radius: 0; }
  .aki-in textarea { font-size: 16px; }
  .aki-team input[type=text], .aki-team input[type=email], .aki-team textarea { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .aki-fab, .aki-panel { transition: none; }
  .aki-typing i { animation: none; opacity: .6; }
  .aki-log { scroll-behavior: auto; }
}
/* Bei offenem Menü verdeckt der Chat-Knopf keine Menüeinträge */
.menu-open .aki-fab { opacity: 0; visibility: hidden; pointer-events: none; }
