/* Chat de atendimento Zéca (botão no canto + janela) */
.zc-fab{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:60;display:flex;align-items:center;gap:10px;border:0;border-radius:999px;background:#cc0000;color:#fff;font:800 15px "Nunito Sans",Arial,sans-serif;padding:14px 20px 14px 16px;box-shadow:0 10px 26px #cc000055;cursor:pointer;transition:transform .15s}
.zc-fab:hover{transform:translateY(-2px)}
.zc-fab svg{width:24px;height:24px}
.zc-fab[aria-expanded="true"]{display:none}

.zc-panel{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:61;width:380px;height:min(600px,calc(100dvh - 40px));display:flex;flex-direction:column;background:#fff;border-radius:16px;box-shadow:0 18px 50px #00000038;overflow:hidden;font-family:"Nunito Sans",Arial,sans-serif;color:#2f2e2e}
.zc-panel[hidden]{display:none}
.zc-head{display:flex;align-items:center;gap:12px;background:#cc0000;color:#fff;padding:14px 14px 14px 16px}
.zc-head img{width:40px;height:40px;border-radius:50%;background:#fff;object-fit:contain;padding:3px}
.zc-head b{display:block;font-size:16px}
.zc-head small{display:flex;align-items:center;gap:6px;font-size:12px;opacity:.9}
.zc-head small::before{content:"";width:8px;height:8px;border-radius:50%;background:#7CFC9A}
.zc-close{margin-left:auto;border:0;background:transparent;color:#fff;width:36px;height:36px;border-radius:8px;cursor:pointer;display:grid;place-items:center}
.zc-close:hover{background:#ffffff22}
.zc-close svg{width:20px;height:20px}

.zc-body{flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:10px;background:#f7f7f7;scroll-behavior:smooth}
.zc-msg{max-width:85%;padding:10px 13px;border-radius:14px;font-size:15px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}
.zc-bot{align-self:flex-start;background:#fff;border:1px solid #ececec;border-bottom-left-radius:4px}
.zc-user{align-self:flex-end;background:#cc0000;color:#fff;border-bottom-right-radius:4px}
.zc-msg a{color:inherit;font-weight:800}
.zc-chips{display:flex;flex-wrap:wrap;gap:8px;align-self:flex-start}
.zc-chip{border:1px solid #e3c4c4;background:#fff;color:#cc0000;border-radius:999px;padding:8px 14px;font:700 14px "Nunito Sans",Arial,sans-serif;cursor:pointer}
.zc-chip:hover{background:#fff5f5;border-color:#cc0000}
.zc-typing{align-self:flex-start;background:#fff;border:1px solid #ececec;border-radius:14px;padding:12px 14px;display:flex;gap:4px}
.zc-typing i{width:7px;height:7px;border-radius:50%;background:#b9b9b9;animation:zcb 1s infinite ease-in-out}
.zc-typing i:nth-child(2){animation-delay:.15s}.zc-typing i:nth-child(3){animation-delay:.3s}
@keyframes zcb{0%,80%,100%{transform:translateY(0);opacity:.5}40%{transform:translateY(-4px);opacity:1}}

.zc-form{align-self:stretch;background:#fff;border:1px solid #ececec;border-radius:12px;padding:14px;display:grid;gap:10px}
.zc-form b{font-size:15px}
.zc-form label{display:grid;gap:4px;font-size:13px;font-weight:700}
.zc-form input,.zc-form textarea{font:inherit;font-size:15px;border:1px solid #dcdcdc;border-radius:8px;padding:10px 12px;outline:none;width:100%;resize:vertical}
.zc-form input:focus,.zc-form textarea:focus{border-color:#cc0000}
.zc-form .zc-err{color:#cc0000;font-size:13px;font-weight:700;min-height:0}
.zc-form button{border:0;background:#cc0000;color:#fff;border-radius:8px;padding:12px;font:800 15px "Nunito Sans",Arial,sans-serif;cursor:pointer}
.zc-form button[disabled]{opacity:.6;cursor:wait}

.zc-foot{border-top:1px solid #ececec;background:#fff;padding:10px}
.zc-input{display:flex;align-items:flex-end;gap:8px}
.zc-input textarea{flex:1;min-width:0;max-height:110px;resize:none;border:1px solid #dcdcdc;border-radius:12px;padding:11px 12px;font:15px "Nunito Sans",Arial,sans-serif;outline:none}
.zc-input textarea:focus{border-color:#cc0000}
.zc-input textarea:disabled{background:#f4f4f4}
.zc-send{width:44px;height:44px;flex:none;border:0;border-radius:12px;background:#cc0000;color:#fff;display:grid;place-items:center;cursor:pointer}
.zc-send:disabled{background:#e3b5b5;cursor:default}
.zc-send svg{width:20px;height:20px}
.zc-human{display:block;width:100%;margin-top:8px;border:0;background:none;color:#717171;font:700 13px "Nunito Sans",Arial,sans-serif;cursor:pointer}
.zc-human:hover{color:#cc0000}
.zc-note{margin:6px 0 0;text-align:center;font-size:11px;color:#9a9a9a}

@media (max-width:600px){
  .zc-fab{right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));padding:14px}
  .zc-fab span{display:none}
  .zc-panel{right:0;bottom:0;width:100%;height:100dvh;border-radius:0}
}
@media (prefers-reduced-motion:reduce){.zc-typing i{animation:none}.zc-body{scroll-behavior:auto}}
