/* ======================================================================
   ZAUNTURA — Floating Chat Widget ("Zauntura Assistent")
   Adapted from provided FloatingChatWidget. Warm-walnut glass + bronze.
   ====================================================================== */
.zc-root{position:fixed;right:24px;bottom:24px;z-index:2147483600;
  display:flex;flex-direction:column;align-items:flex-end;gap:16px;
  font-family:var(--font-body,'Archivo',sans-serif)}
@media (max-width:520px){.zc-root{right:14px;bottom:14px;left:14px;align-items:stretch}}

/* keep back-to-top clear of the FAB */
.to-top{left:24px;right:auto}

/* ---- FAB ---- */
.zc-fab{position:relative;width:58px;height:58px;border-radius:50%;border:0;cursor:pointer;
  align-self:flex-end;display:flex;align-items:center;justify-content:center;color:#1B1714;
  background:#9C6B2E;box-shadow:0 18px 50px -14px rgba(156,107,46,.7);
  transition:transform .35s cubic-bezier(.16,1,.3,1),background .35s,box-shadow .35s}
.zc-fab:hover{transform:scale(1.06)}
.zc-fab:active{transform:scale(.95)}
.zc-fab::before{content:"";position:absolute;inset:0;border-radius:50%;background:inherit;
  filter:blur(16px);opacity:.35;z-index:-1;transition:opacity .3s}
.zc-fab:hover::before{opacity:.55}
.zc-fab.open{background:#2C261F;color:#F4EFE6;transform:rotate(90deg)}
.zc-fab svg{width:24px;height:24px}
.zc-fab .zc-badge{position:absolute;top:-3px;right:-3px;width:18px;height:18px;border-radius:50%;
  background:#2E6E66;color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;
  border:2px solid #1B1714;font-family:var(--font-display,sans-serif)}
.zc-fab.open .zc-badge{display:none}

/* ---- panel ---- */
.zc-panel{width:380px;max-width:calc(100vw - 28px);border-radius:20px;overflow:hidden;
  background:rgba(27,23,20,.72);-webkit-backdrop-filter:blur(22px) saturate(150%);
  backdrop-filter:blur(22px) saturate(150%);border:1px solid rgba(232,224,210,.14);
  box-shadow:0 40px 120px -30px rgba(0,0,0,.75);color:#F4EFE6;
  transform-origin:bottom right;opacity:0;transform:translateY(16px) scale(.96);pointer-events:none;
  transition:opacity .32s cubic-bezier(.16,1,.3,1),transform .42s cubic-bezier(.16,1,.3,1)}
.zc-panel.open{opacity:1;transform:none;pointer-events:auto}
@media (prefers-reduced-motion:reduce){.zc-panel,.zc-fab{transition:none}}

/* header */
.zc-head{position:relative;padding:16px;border-bottom:1px solid rgba(232,224,210,.12);overflow:hidden}
.zc-head::before{content:"";position:absolute;inset:0;opacity:.5;
  background:linear-gradient(135deg,rgba(156,107,46,.3),transparent 65%)}
.zc-head-row{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px}
.zc-id{display:flex;align-items:center;gap:12px;min-width:0}
.zc-av{position:relative;width:42px;height:42px;border-radius:50%;flex:none;
  background:#241F19;border:1px solid rgba(232,224,210,.2);display:flex;align-items:center;justify-content:center}
.zc-av i{display:block;width:3px;height:16px;background:#B98B45;box-shadow:6px 0 0 #B98B45,-6px 0 0 #B98B45}
.zc-av .zc-dot{position:absolute;bottom:-1px;right:-1px;width:12px;height:12px;border-radius:50%;
  background:#3FA86F;border:2px solid #1B1714}
.zc-id .zc-meta{min-width:0}
.zc-id .zc-name{font-family:var(--font-serif,'Newsreader',serif);font-weight:500;font-size:17px;line-height:1.1}
.zc-id .zc-role{font-size:12px;color:rgba(244,239,230,.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zc-x{width:32px;height:32px;border-radius:50%;border:0;background:rgba(255,255,255,.06);color:#F4EFE6;
  cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.zc-x:hover{background:rgba(255,255,255,.14)}
.zc-x svg{width:16px;height:16px}

/* topic chips */
.zc-topics{display:flex;gap:8px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid rgba(232,224,210,.12)}
.zc-topics button{appearance:none;font-family:var(--font-display,sans-serif);font-size:12px;font-weight:500;
  color:rgba(244,239,230,.78);background:rgba(255,255,255,.05);border:1px solid rgba(232,224,210,.14);
  border-radius:9999px;padding:7px 13px;cursor:pointer;transition:.2s;white-space:nowrap}
.zc-topics button:hover{border-color:rgba(185,139,69,.6);color:#fff}
.zc-topics a.zc-wa{display:inline-flex;align-items:center;gap:6px;text-decoration:none;white-space:nowrap;transition:.2s;
  font-family:var(--font-display,sans-serif);font-size:12px;font-weight:600;
  color:#0b3d24;background:#25D366;border:1px solid #25D366;border-radius:9999px;padding:7px 12px}
.zc-topics a.zc-wa:hover{background:#1ebe5a;border-color:#1ebe5a}
.zc-topics a.zc-wa svg{width:14px;height:14px}

/* chat area */
.zc-body{height:316px;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px;
  background:linear-gradient(180deg,rgba(21,17,14,.2),rgba(21,17,14,.5))}
.zc-body::-webkit-scrollbar{width:7px}
.zc-body::-webkit-scrollbar-thumb{background:rgba(232,224,210,.16);border-radius:4px}
.zc-msg{display:flex;gap:10px;max-width:88%;animation:zcIn .4s cubic-bezier(.16,1,.3,1)}
.zc-msg.bot{align-self:flex-start}
.zc-msg.me{align-self:flex-end;flex-direction:row-reverse}
@keyframes zcIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.zc-mav{width:30px;height:30px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display,sans-serif);font-size:10px;font-weight:700;border:1px solid rgba(232,224,210,.16)}
.zc-msg.bot .zc-mav{background:rgba(185,139,69,.16);color:#E8C58A}
.zc-msg.me .zc-mav{background:#9C6B2E;color:#1B1714}
.zc-bubble{padding:11px 14px;font-size:13.5px;line-height:1.5;border-radius:16px}
.zc-msg.bot .zc-bubble{background:rgba(255,255,255,.06);border:1px solid rgba(232,224,210,.12);
  border-top-left-radius:4px;color:#F0EBE2}
.zc-msg.me .zc-bubble{background:#9C6B2E;color:#1B1714;border-top-right-radius:4px;font-weight:500}
.zc-bubble p{margin:0}
.zc-bubble a.zc-cta{display:inline-flex;align-items:center;gap:6px;margin-top:9px;
  font-family:var(--font-display,sans-serif);font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:#E8C58A;border-bottom:1px solid rgba(185,139,69,.5);padding-bottom:1px}
.zc-bubble a.zc-cta.zc-cta-wa{text-transform:none;letter-spacing:0;border-bottom:0;padding:7px 12px;border-radius:9999px;
  color:#0b3d24;background:#25D366;font-size:12px;text-decoration:none}
.zc-bubble a.zc-cta.zc-cta-wa:hover{background:#1ebe5a}
.zc-bubble a.zc-cta.zc-cta-wa svg{width:14px;height:14px}
.zc-msg.bot .zc-name-sm{font-size:10.5px;color:rgba(244,239,230,.5);margin-bottom:4px;display:block;
  font-family:var(--font-display,sans-serif);letter-spacing:.04em}

/* typing */
.zc-typing{display:flex;gap:4px;align-items:center;padding:13px 16px}
.zc-typing span{width:6px;height:6px;border-radius:50%;background:rgba(244,239,230,.45);animation:zcBounce 1.2s infinite}
.zc-typing span:nth-child(2){animation-delay:.15s}.zc-typing span:nth-child(3){animation-delay:.3s}
@keyframes zcBounce{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-5px);opacity:1}}

/* input */
.zc-input{display:flex;align-items:center;gap:10px;padding:12px;border-top:1px solid rgba(232,224,210,.12);
  background:rgba(21,17,14,.4)}
.zc-input input{flex:1;min-width:0;border-radius:9999px;border:1px solid rgba(232,224,210,.16);
  background:rgba(255,255,255,.05);color:#F4EFE6;font-size:13.5px;padding:11px 16px;outline:none;
  transition:border-color .2s,background .2s}
.zc-input input::placeholder{color:rgba(244,239,230,.45)}
.zc-input input:focus{border-color:rgba(185,139,69,.6);background:rgba(255,255,255,.08)}
.zc-send{width:42px;height:42px;flex:none;border-radius:50%;border:0;cursor:pointer;
  background:#9C6B2E;color:#1B1714;display:flex;align-items:center;justify-content:center;
  transition:transform .2s,opacity .2s,background .2s}
.zc-send:hover{transform:scale(1.06)}
.zc-send:disabled{opacity:.4;cursor:default;transform:none}
.zc-send svg{width:17px;height:17px}
