.site-assistant{position:fixed;right:20px;bottom:20px;z-index:40;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.site-assistant--lifted{bottom:calc(var(--consent-height,220px) + 36px)}
.site-assistant__toggle{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:12px 20px;border:1px solid var(--ink,#171713);background:var(--ink,#171713);color:var(--paper,#f3f0e8);font:600 14px/1 Inter,Arial,sans-serif;cursor:pointer;box-shadow:0 12px 30px rgba(23,23,19,.18);transition:background .2s,border-color .2s}
.site-assistant__toggle:hover{background:var(--accent,#9f3e1d);border-color:var(--accent,#9f3e1d)}
.site-assistant__toggle:focus-visible{outline:2px solid var(--accent,#9f3e1d);outline-offset:3px}
.site-assistant__icon{display:inline-flex}
.site-assistant__panel{position:relative;width:min(calc(100vw - 40px),400px);height:min(76vh,620px);max-width:calc(100vw - 40px);max-height:calc(100vh - 130px);display:flex;flex-direction:column;background:var(--white,#fbfaf6);border:1px solid var(--line,#d3cec0);box-shadow:0 22px 60px rgba(23,23,19,.22)}
.site-assistant__panel.is-resizing{user-select:none}
.site-assistant__grip{position:absolute;top:0;left:0;width:26px;height:26px;padding:0;border:0;background:none;cursor:nwse-resize;color:var(--muted,#666258);touch-action:none}
.site-assistant__grip:before{content:"";position:absolute;top:7px;left:7px;width:9px;height:9px;border-top:2px solid currentColor;border-left:2px solid currentColor}
.site-assistant__grip:hover{color:var(--ink,#171713)}
.site-assistant__grip:focus-visible{outline:2px solid var(--accent,#9f3e1d);outline-offset:-2px}
.site-assistant__panel[hidden]{display:none}
.site-assistant__head{padding:18px 20px 12px;border-bottom:1px solid var(--line,#d3cec0)}
.site-assistant__head h2{margin:0 0 6px;font:450 22px/1.2 Fraunces,Georgia,serif;letter-spacing:-.02em}
.site-assistant__head p{margin:0;font-size:13px;line-height:1.5;color:var(--muted,#666258)}
.site-assistant__frame{flex:1;min-height:320px;display:flex}
.site-assistant__frame .assistant-chatkit{flex:1;width:100%;min-height:320px}
.site-assistant__status{margin:0;padding:0 20px;font-size:13px;line-height:1.5;color:var(--muted,#666258)}
.site-assistant__status:empty{display:none}
.site-assistant__foot{display:flex;align-items:flex-start;gap:12px;padding:12px 20px 14px;border-top:1px solid var(--line,#d3cec0)}
.site-assistant__note{flex:1;margin:0;font-size:11px;line-height:1.5;color:var(--muted,#666258)}
.site-assistant__fresh{flex:none;appearance:none;border:0;background:none;padding:0;color:var(--muted,#666258);font:600 11px/1.5 Inter,Arial,sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.site-assistant__fresh:hover{color:var(--accent,#9f3e1d)}
.site-assistant__fresh:focus-visible{outline:2px solid var(--accent,#9f3e1d);outline-offset:3px}
.site-assistant__note a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){
  /* The sticky booking button already owns the bottom edge on small screens. */
  .site-assistant{right:16px;bottom:80px;left:16px;align-items:flex-end}
  .site-assistant--lifted{bottom:calc(var(--consent-height,260px) + 24px)}
  /* The lift keeps the buttons clear of the cookie banner, so the panel has to
     fit into what is left above it. */
  .site-assistant__panel{width:100%!important;height:min(70vh,560px)!important;max-height:calc(100vh - var(--consent-height,0px) - 150px)}
  .site-assistant__panel.is-expanded{height:calc(100vh - 150px)!important;max-height:calc(100vh - var(--consent-height,0px) - 150px)}
  .site-assistant__grip{cursor:pointer}
  .site-assistant__grip:before{top:8px;left:6px;width:12px;height:2px;border:0;background:currentColor;box-shadow:0 5px 0 currentColor,0 10px 0 currentColor}
  .page-kontakt .site-assistant{bottom:16px}
}
@media(max-width:560px){
  .site-assistant__toggle-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .site-assistant__toggle{min-width:52px;padding:12px;justify-content:center;border-radius:50%}
  .site-assistant__toggle.is-open{border-radius:50%}
}
@media print{.site-assistant{display:none}}
.site-assistant__buttons{display:flex;gap:10px;align-items:center}
.site-assistant__toggle--call{background:var(--accent,#9f3e1d);border-color:var(--accent,#9f3e1d)}
.site-assistant__toggle--call:hover{background:var(--ink,#171713);border-color:var(--ink,#171713)}
.site-assistant__panel--call{height:auto;max-height:min(80vh,640px);overflow-y:auto}
.site-assistant__call-actions{display:flex;flex-wrap:wrap;gap:10px;padding:16px 20px 0}
.site-assistant__call-actions .button{min-height:44px;padding:10px 18px;font-size:14px}
.site-assistant__call-status{margin:14px 20px 0;padding:10px 12px;border-left:3px solid var(--accent,#9f3e1d);background:var(--paper-2,#ebe7dc);font-size:13px;line-height:1.5}
.site-assistant__call-log{margin:14px 20px 0;max-height:210px;overflow-y:auto;border:1px solid var(--line,#d3cec0);border-radius:8px;background:var(--paper,#f3f0e8);padding:12px;font-size:13px}
.site-assistant__call-log:empty:before{content:attr(data-empty);color:var(--muted,#666258)}
.site-assistant__panel--call .voice-audio{display:block;width:calc(100% - 40px);margin:14px 20px 0}
.site-assistant__panel--call .voice-line{display:grid;grid-template-columns:82px minmax(0,1fr);gap:10px;margin:0 0 10px;line-height:1.5}
.site-assistant__panel--call .voice-line:last-child{margin-bottom:0}
.site-assistant__panel--call .voice-line__who{font-weight:600;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#666258)}
.site-assistant__panel--call .voice-line--bot .voice-line__who{color:var(--accent,#9f3e1d)}
.site-assistant__panel--call .voice-line__text{overflow-wrap:anywhere}
@media(max-width:560px){
  .site-assistant__buttons{gap:8px}
  .site-assistant__panel--call .voice-line{grid-template-columns:1fr;gap:2px}
}
.offer-try{margin:14px 0 0;font-size:14px;line-height:1.6;color:var(--muted,#666258);display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.offer-try a{text-decoration:underline;text-underline-offset:3px}
.offer-try .button{min-height:44px;padding:10px 18px;font-size:14px;text-decoration:none}
.demo-link{font-weight:600;color:var(--ink,#171713);text-decoration:underline;text-underline-offset:3px}
.demo-link:hover{color:var(--accent,#9f3e1d)}
