/* Website-CI: Theme-Tokens, Flama und eckige Formen (Roman, 01.11.2026).
   IDs begrenzen die Komponente unabhängig von seitenbezogenen Theme-Selektoren. */
#s1-bot-open{position:fixed;right:20px;bottom:calc(20px + var(--s1-bot-clearance,0px));z-index:10000;display:flex;align-items:center;gap:2px;padding:0;border:0;border-radius:0;background:transparent;color:var(--color-accent);box-shadow:none;font:700 16px/1.4 Flama,sans-serif;letter-spacing:0;cursor:pointer}
.s1-bot-avatar{display:block;flex:none;image-rendering:pixelated}
#s1-bot-open .s1-bot-avatar{width:72px;height:72px;filter:drop-shadow(1px 0 #fff) drop-shadow(-1px 0 #fff) drop-shadow(0 1px #fff) drop-shadow(0 -1px #fff)}
.s1-bot-invite{padding:9px 12px;background:#fff;color:var(--color-accent);box-shadow:0 2px 12px #09384c1c}
#s1-bot-open:hover .s1-bot-invite{background:var(--btn-bg-hover)}
#s1-bot-open:focus-visible,#s1-bot-close:focus-visible{outline:3px solid var(--btn-bg-hover);outline-offset:4px}
#s1-bot-dialog{position:fixed;inset:auto 20px 20px auto;margin:0;padding:0;width:480px;max-width:calc(100vw - 32px);height:min(780px,calc(var(--s1-bot-viewport-height,100dvh) - 40px));max-height:none;border:1px solid #ced7db;border-radius:0;background:var(--color-bg);color:var(--color-text);box-shadow:0 16px 60px #09384c40;overflow:hidden}
#s1-bot-dialog[open]{display:flex;flex-direction:column}
#s1-bot-dialog::backdrop{background:#09384c18}
#s1-bot-dialog .s1-bot-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 24px;border-bottom:1px solid #ced7db;background:var(--color-bg);color:var(--color-accent);flex:none;font-family:Flama,sans-serif}
#s1-bot-dialog h2{display:flex;align-items:center;gap:10px;margin:0;font:700 18px/1 Flama,sans-serif;letter-spacing:0;text-transform:none}
#s1-bot-close{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:0;border-radius:0;background:transparent;color:var(--color-accent);font:400 30px/1 Flama,sans-serif;cursor:pointer}
#s1-bot-close:hover{background:var(--btn-bg-hover)}
#s1-bot-frame{display:block;flex:1;width:100%;min-height:0;border:0;background:var(--color-bg)}
html.s1-bot-open{overflow:hidden}
@media(max-width:600px){#s1-bot-dialog{inset:calc(var(--s1-bot-viewport-top,0px) + 8px) 8px auto;margin:0;width:calc(100vw - 16px);max-width:none;height:calc(var(--s1-bot-viewport-height,100dvh) - 16px)}#s1-bot-open{right:12px;bottom:calc(14px + var(--s1-bot-clearance,0px))}#s1-bot-dialog .s1-bot-heading{padding:17px 18px}}

#s1-bot-dialog h2 .s1-bot-avatar{width:40px;height:40px}
#s1-bot-close svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:square}

#s1-bot-loading{margin:24px;font:400 16px/1.5 Flama,sans-serif;color:var(--color-text)}
#s1-bot-loading[hidden]{display:none}
#s1-bot-retry{border:0;background:none;color:var(--color-accent);font:inherit;text-decoration:underline;padding:8px 0;cursor:pointer}
#s1-bot-security{flex:none;padding:0 24px 16px;background:var(--color-bg);min-height:81px}
#s1-bot-security[hidden]{display:none}

#s1-bot-dialog .s1-bot-contact{display:flex;flex:none;flex-wrap:wrap;gap:0 18px;padding:0 24px;border-bottom:1px solid #ced7db;font:400 15px/1.4 Flama,sans-serif}
#s1-bot-dialog .s1-bot-contact a{display:inline-flex;align-items:center;min-height:44px;color:var(--color-accent);text-decoration:underline;text-underline-offset:3px}
