/* Isolated component: never rewrite existing heading selectors or site styles. */
.un-chat { --un-pink:#ec5598; --un-action:#b92e69; --un-ink:#28232a; --un-offset:20px; font-family:'Open Sans',Arial,sans-serif; font-size:14px; line-height:1.55; color:var(--un-ink); }
.un-chat *, .un-chat *::before, .un-chat *::after { box-sizing:border-box; }
.un-chat [hidden] { display:none !important; }
.un-chat button, .un-chat input { font:inherit; letter-spacing:normal; text-transform:none; }
.un-chat button { cursor:pointer; }
.un-chat button:focus-visible, .un-chat a:focus-visible, .un-chat input:focus-visible, .un-chat [tabindex]:focus-visible { outline:3px solid #8c1f4e; outline-offset:3px; }
.un-chat__launcher { position:fixed; z-index:11001; right:max(20px,env(safe-area-inset-right)); bottom:max(var(--un-offset),env(safe-area-inset-bottom)); display:grid; place-items:center; width:54px; height:54px; margin:0; padding:0; border:1px solid rgba(255,255,255,.8); border-radius:50%; background:var(--un-pink); color:#fff; box-shadow:0 5px 20px rgba(80,30,55,.22); transition:background .2s,transform .2s; }
.un-chat__launcher:hover { background:var(--un-action); transform:translateY(-2px); }
.un-chat__panel { position:fixed; z-index:11000; right:max(20px,env(safe-area-inset-right)); bottom:calc(var(--un-offset) + 68px); width:380px; max-width:calc(100vw - 32px); height:520px; max-height:calc(100vh - var(--un-offset) - 90px); max-height:calc(100dvh - var(--un-offset) - 90px); min-height:0; margin:0; padding:0; display:flex; flex-direction:column; overflow:hidden; border:1px solid #f1ccdd; border-radius:14px; background:#fff; box-shadow:0 12px 40px rgba(60,25,45,.19); visibility:hidden; opacity:0; pointer-events:none; transform:translateX(calc(100% + 30px)); transition:transform .28s ease,opacity .2s ease,visibility 0s .28s; }
.un-chat.is-open .un-chat__panel { visibility:visible; opacity:1; pointer-events:auto; transform:translateX(0); transition-delay:0s; }
.un-chat__header { display:flex; align-items:center; gap:10px; flex:none; padding:14px 18px; border-bottom:1px solid #f6e6ed; background:#fff7fa; }
.un-chat__avatar { display:block; flex:0 0 52px; width:52px; height:52px; margin:0; object-fit:contain; }
.un-chat__identity { flex:1 1 auto; min-width:0; text-align:left; }
.un-chat__brand { color:var(--un-action); font-size:18px; font-weight:700; }
.un-chat__subtitle { color:#64545d; font-size:12px; line-height:1.4; overflow-wrap:break-word; }
.un-chat .un-chat__close { display:flex; align-items:center; justify-content:center; width:36px; height:36px; min-width:36px; flex:0 0 36px; margin:0; padding:0; border:0; border-radius:50%; line-height:1; color:#6c4a5a; background:transparent; appearance:none; }
.un-chat .un-chat__close svg { display:block; flex:none; width:20px; height:20px; margin:0; }
.un-chat__close:hover { background:#f7e0eb; }
.un-chat__messages { flex:1 1 auto; min-height:60px; overflow-y:auto; overscroll-behavior:contain; padding:16px; background:linear-gradient(#fff,#fffbfd); }
.un-chat__message { margin:0 0 12px; padding:11px 13px; max-width:94%; border:1px solid #f1e5eb; border-radius:12px 12px 12px 3px; background:#fff; white-space:pre-line; overflow-wrap:anywhere; color:var(--un-ink); font-size:13px; text-align:left; }
.un-chat__message--user { margin-left:auto; border-color:#f4cee0; border-radius:12px 12px 3px 12px; background:#fceaf2; }
.un-chat__message p { margin:0 0 9px; font:inherit; color:inherit; }
.un-chat__message p:last-child { margin-bottom:0; }
.un-chat__message a { color:#9c2055; text-decoration:underline; font-weight:600; }
.un-chat__source { display:block; margin-top:7px; font-size:12px; }
.un-chat__contacts { display:flex; flex-wrap:wrap; gap:6px 12px; margin-top:10px; }
.un-chat__suggestions { flex:none; display:flex; flex-wrap:wrap; gap:6px; padding:8px 14px; border-top:1px solid #f8ecf2; }
.un-chat__suggestions button { min-height:32px; padding:4px 10px; border:1px solid #ecc4d6; border-radius:16px; background:#fff; color:#8e2754; font-size:12px; }
.un-chat__suggestions button:hover { background:#fff1f7; }
.un-chat__form { flex:none; margin:0; padding:3px 14px 10px; }
.un-chat__label { display:block; margin:0 0 4px; font-weight:600; font-size:12px; color:#5d4650; }
.un-chat__input-row { display:flex; gap:7px; }
.un-chat__input-row input { min-width:0; flex:1; height:44px; margin:0; padding:9px 11px; border:1px solid #d5bdc8; border-radius:8px; background:#fff; color:#28232a; font-size:16px; box-shadow:none; }
.un-chat__send { display:grid; place-items:center; flex:none; width:44px; height:44px; padding:0; border:0; border-radius:8px; color:#fff; background:var(--un-action); }
.un-chat__footer { display:flex; align-items:center; flex-wrap:wrap; gap:4px 10px; justify-content:space-between; flex:none; padding:0 14px 12px; color:#695861; font-size:10px; }
.un-chat__copyright { white-space:nowrap; }
.un-chat__footer button { flex:none; align-self:flex-start; border:0; padding:0; background:transparent; color:#8e2754; text-decoration:underline; font-size:10px; }
@media(max-width:480px) { .un-chat__launcher { right:max(16px,env(safe-area-inset-right)); } .un-chat__panel { right:16px; width:calc(100vw - 32px); } .un-chat__header { padding:12px 14px; } }
@media(max-height:520px) { .un-chat__suggestions { display:none; } .un-chat__header { padding:8px 12px; } .un-chat__avatar { flex-basis:38px; width:38px; height:38px; } .un-chat__footer { padding-bottom:6px; } .un-chat__panel { bottom:max(var(--un-offset),env(safe-area-inset-bottom)); right:var(--un-landscape-right,80px); max-height:calc(100dvh - var(--un-offset) - 12px); max-width:calc(100vw - 96px); } }
@media(prefers-reduced-motion:reduce) { .un-chat__panel,.un-chat__launcher { transition:none; } }
/* Once open, the close button replaces the launcher; neither covers the input. */
.un-chat.is-open .un-chat__launcher { visibility:hidden; }
@media(max-width:480px) and (min-height:521px) {
  .un-chat__panel { bottom:max(16px,env(safe-area-inset-bottom)); max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); }
}

/* Rückfragen bleiben im vorhandenen Chat-Verlauf und innerhalb der Bildschirmbreite. */
.un-chat__message .un-chat__suggestions { padding:8px 0 0; }
.un-chat__message .un-chat__suggestions button { max-width:100%; white-space:normal; overflow-wrap:anywhere; text-align:left; }

/* One fine border, including focus; no second outline around the input. */
.un-chat #un-chat-input { border:1px solid #d9c5ce; border-radius:7px; outline:0; box-shadow:none; }
.un-chat #un-chat-input:focus, .un-chat #un-chat-input:focus-visible { border-color:#a93668; background:#fffafb; outline:0; box-shadow:none; }
.un-chat__panel { border-color:#ead9e1; box-shadow:0 8px 28px rgba(60,25,45,.13); }
.un-chat__source-details { margin-top:9px; font-size:11px; color:#765562; }
.un-chat__source-details summary { cursor:pointer; text-decoration:underline; }
.un-chat__source-details .un-chat__source { font-size:11px; font-weight:400; }
/* Keep the input above the existing cookie notice, including on narrow screens. */
@media(max-width:480px) and (min-height:521px) {
 .un-chat__panel { bottom:max(var(--un-offset),env(safe-area-inset-bottom)); max-height:calc(100dvh - var(--un-offset) - 16px); }
}

@media(max-height:520px) { .un-chat__launcher { right:var(--un-landscape-right,20px); } }
