/* Dali Website-Assistent: bewusst dieselbe Schrift und Farbwelt wie die Website. */
.site-chat { display:none; position:fixed; right:24px; bottom:24px; z-index:65; font-family:var(--font-body); color:var(--color-navy); }
.chat-ready .site-chat { display:block; }
.site-chat__launcher { display:flex; align-items:center; gap:10px; border:1px solid var(--color-cream); border-radius:999px; background:var(--color-navy); color:var(--color-cream); box-shadow:0 12px 35px rgba(10,22,40,.24); font-size:.9rem; font-weight:650; line-height:1; padding:12px 18px 12px 12px; min-height:54px; }
.site-chat__launcher-mark { display:grid; place-items:center; width:30px; height:30px; flex:none; border-radius:50%; background:var(--color-coral); color:var(--color-navy); font-size:1.4rem; font-weight:400; }
.site-chat__launcher:hover { background:var(--color-navy-700); }
.site-chat.is-open .site-chat__launcher { display:none; }
.site-chat__panel { width:min(390px,calc(100vw - 32px)); height:min(550px,calc(100dvh - 32px)); display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--color-line); border-radius:20px; background:var(--color-cream); box-shadow:0 22px 70px rgba(10,22,40,.3); }
.site-chat__panel[hidden] { display:none; }
.site-chat__head { display:flex; justify-content:space-between; align-items:start; gap:16px; padding:20px 20px 18px; background:var(--color-navy); color:var(--color-cream); }
.site-chat__eyebrow { display:block; margin-bottom:4px; color:var(--color-coral); font-size:.68rem; font-weight:700; letter-spacing:.1em; line-height:1.2; }
.site-chat__head h2 { margin:0; color:inherit; font-family:var(--font-accent); font-style:italic; font-size:1.48rem; font-weight:500; line-height:1.2; letter-spacing:0; }
.site-chat__close { display:grid; place-items:center; flex:none; width:36px; height:36px; border:1px solid var(--color-line-cream); border-radius:50%; background:transparent; color:var(--color-cream); font-size:1.6rem; line-height:1; }
.site-chat__close:hover { background:rgba(244,238,226,.12); }
.site-chat__messages { flex:1; overflow-y:auto; display:flex; flex-direction:column; gap:14px; padding:22px 20px; overscroll-behavior:contain; }
.site-chat__message { max-width:94%; font-size:.9rem; line-height:1.48; }
.site-chat__message--user { align-self:end; max-width:85%; border-radius:14px 14px 3px 14px; background:var(--color-panel); padding:10px 13px; }
.site-chat__message--bot { align-self:start; border-left:3px solid var(--color-coral); padding:0 0 0 12px; }
.site-chat__message p { margin:0; }
.site-chat__message a { display:inline-block; margin-top:8px; color:var(--color-coral-ink); font-weight:650; text-decoration:underline; text-underline-offset:3px; }
.site-chat__suggestions { display:flex; flex-wrap:wrap; gap:7px; padding:0 20px 15px; }
.site-chat__suggestions button { border:1px solid var(--color-line); border-radius:999px; background:transparent; color:var(--color-navy); font-size:.75rem; line-height:1.2; padding:7px 10px; }
.site-chat__suggestions button:hover { border-color:var(--color-coral-ink); background:var(--color-panel); }
.site-chat__form { padding:13px 20px 8px; border-top:1px solid var(--color-line); }
.site-chat__form label { display:block; margin-bottom:7px; font-size:.77rem; font-weight:650; }
.site-chat__form > div { display:flex; gap:8px; }
.site-chat__form input { flex:1; min-width:0; height:42px; border:1px solid var(--color-line); border-radius:8px; background:#fffdf9; color:var(--color-navy); font:inherit; font-size:.84rem; padding:9px 11px; }
.site-chat__form input:focus-visible { outline:2px solid var(--color-coral-ink); outline-offset:1px; }
.site-chat__form button { display:grid; place-items:center; flex:none; width:42px; height:42px; border:0; border-radius:8px; background:var(--color-coral); color:var(--color-navy); font-size:1.25rem; }
.site-chat__form button:hover { background:var(--color-coral-dark); }
.site-chat__privacy { padding:0 20px 13px; color:var(--color-ink-60); font-size:.68rem; line-height:1.4; }
.site-chat.is-open ~ .audit-dock, body:has(.site-chat.is-open) .audit-dock { opacity:0; pointer-events:none; }
body:has(.mobile-menu.open) .site-chat { visibility:hidden; pointer-events:none; }
@media(max-width:520px) { .site-chat { right:12px; bottom:12px; } .site-chat__panel { width:calc(100vw - 24px); height:min(550px,calc(100dvh - 24px)); } .site-chat__launcher { font-size:.82rem; } }
@media(prefers-reduced-motion:no-preference) { .site-chat__panel { animation:site-chat-enter .22s ease-out both; } @keyframes site-chat-enter { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } } }
