/* Chat-Widget Hausgeist Services */
.chat-fab{position:fixed;right:max(22px,env(safe-area-inset-right,0px));bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:60;display:flex;align-items:center;gap:12px;
  background:var(--night);color:var(--lime);border:0;border-radius:999px;padding:10px 20px 10px 10px;font:500 15px var(--sans);cursor:pointer;
  box-shadow:0 0 0 1px rgba(226,196,143,.18),0 20px 44px -16px rgba(11,23,18,.7);transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.chat-fab:hover{transform:translateY(-3px);box-shadow:0 0 0 1px rgba(226,196,143,.35),0 26px 54px -16px rgba(11,23,18,.8)}
.chat-fab .cf-ic{width:38px;height:38px;border-radius:50%;background:var(--brass);display:grid;place-items:center;position:relative}
.chat-fab .cf-ic svg{width:18px;height:auto}
.chat-fab .cf-ic::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid var(--brass);opacity:.6;animation:ring 2.8s ease-out infinite}
@keyframes ring{0%{transform:scale(.9);opacity:.7}100%{transform:scale(1.5);opacity:0}}
.chat-fab small{display:block;font-size:11.5px;color:rgba(245,243,238,.6);font-weight:400}
.chat-open .chat-fab{transform:scale(.92);opacity:0;pointer-events:none}
.chat{position:fixed;right:max(22px,env(safe-area-inset-right,0px));bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:61;width:min(390px,calc(100vw - 24px));height:min(600px,calc(100vh - 120px));
  display:flex;flex-direction:column;background:var(--lime);border-radius:24px;overflow:hidden;box-shadow:0 0 0 1px rgba(19,38,31,.08),0 50px 100px -30px rgba(11,23,18,.55);
  transform-origin:100% 100%;animation:chatin .5s var(--ease)}
.chat[hidden]{display:none}
@keyframes chatin{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}
.c-head{background:var(--night);color:var(--lime);padding:18px 18px 18px 20px;display:flex;align-items:center;gap:12px;background-image:radial-gradient(80% 120% at 100% 0%,rgba(226,196,143,.16),transparent 70%)}
.c-head svg{width:26px;height:auto;flex:none}
.c-head .mk-arch{fill:var(--lime)}
.c-head b{display:block;font-family:var(--display);font-weight:600;letter-spacing:-.03em;font-size:17px}
.c-head small{display:flex;align-items:center;gap:6px;font-size:12.5px;color:rgba(245,243,238,.65)}
.c-head small::before{content:"";width:7px;height:7px;border-radius:50%;background:#59B486;box-shadow:0 0 0 3px rgba(89,180,134,.2)}
.c-x{all:unset;cursor:pointer;margin-left:auto;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:24px;color:rgba(245,243,238,.7)}
.c-x:hover{background:rgba(245,243,238,.08);color:var(--lime)}
.c-x:focus-visible{outline:2px solid var(--brass)}
.c-body{flex:1;overflow:auto;padding:18px 16px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}
.cm{max-width:86%;padding:11px 14px;border-radius:18px;font-size:15px;line-height:1.45;animation:cmin .45s var(--ease) both}
@keyframes cmin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.cm.bot{align-self:flex-start;background:#fff;border:1px solid var(--edge);border-bottom-left-radius:6px}
.cm.me{align-self:flex-end;background:var(--deep);color:var(--lime);border-bottom-right-radius:6px}
.cm.typing{display:flex;gap:4px;padding:14px 16px}
.cm.typing i{width:6px;height:6px;border-radius:50%;background:var(--muted);opacity:.4;animation:blink 1s infinite}
.cm.typing i:nth-child(2){animation-delay:.15s}.cm.typing i:nth-child(3){animation-delay:.3s}
@keyframes blink{50%{opacity:1}}
.c-hand{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.c-hand a,.c-hand button{all:unset;cursor:pointer;font-size:13px;font-weight:500;padding:7px 12px;border-radius:999px;border:1px solid var(--line)}
.c-hand .c-wa{background:var(--deep);color:var(--lime);border-color:var(--deep)}
.c-hand a:focus-visible,.c-hand button:focus-visible{outline:2px solid var(--brass)}
.c-chips{display:flex;gap:6px;flex-wrap:wrap;padding:0 16px 12px}
.c-chips button{all:unset;cursor:pointer;font-size:13.5px;padding:8px 13px;border-radius:999px;background:#fff;border:1px solid var(--line);transition:border-color .2s,background .2s}
.c-chips button:hover{border-color:var(--brass);background:#FFFBF2}
.c-chips button:focus-visible{outline:2px solid var(--brass)}
.c-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line);background:#fff}
.c-form input{flex:1;min-width:0;border:1px solid var(--line);border-radius:999px;padding:11px 16px;font:inherit;font-size:15px;background:var(--lime);color:var(--ink)}
.c-form input:focus{outline:none;border-color:var(--brass)}
.c-form button{all:unset;cursor:pointer;width:44px;height:44px;border-radius:50%;background:var(--brass);display:grid;place-items:center;color:var(--deep);font-size:18px;flex:none}
.c-form button:focus-visible{outline:2px solid var(--deep)}
.c-call{padding:0 16px 10px;font-size:12.5px;color:var(--muted)}
.c-call a{color:var(--ink)}
@media (max-width:760px){
  .chat-fab{display:none}
  .chat{right:12px;left:12px;width:auto;bottom:calc(12px + env(safe-area-inset-bottom,0px));height:min(560px,calc(100vh - 100px))}
  .chat-open .mbar{transform:translateY(140%);opacity:0;pointer-events:none}
}
@media (prefers-reduced-motion:reduce){.chat,.cm{animation:none}.chat-fab .cf-ic::after{animation:none;display:none}}
.fab-hide .chat-fab{opacity:0;transform:translateY(20px);pointer-events:none}
.chat-fab{transition:transform .45s var(--ease),box-shadow .45s var(--ease),opacity .45s}
