/* ===== Seção na home (porta de entrada; a conversa acontece em /atendimento) ===== */
#consultor .ec-lead{color:var(--ink-soft);font-size:17px;line-height:1.6;margin-bottom:24px}
.ec-steps{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.ec-steps li{display:flex;align-items:center;gap:14px;color:var(--ink);font-weight:500}
.ec-steps li span{display:flex;width:36px;height:36px;border-radius:50%;background:var(--primary,#e30613);color:#fff;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}

.ec-chat{display:flex;flex-direction:column;height:520px;max-height:80vh;border:1px solid var(--surface-border);border-radius:20px;background:var(--surface-card);color:var(--ink);box-shadow:0 20px 50px rgba(0,0,0,.15);overflow:hidden;font-size:15px}
.ec-head{display:flex;align-items:center;gap:12px;padding:14px 18px;background:linear-gradient(135deg,#e30613,#a80812);color:#fff}
.ec-head small{display:block;opacity:.85;font-size:12px}
.ec-status{width:10px;height:10px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 3px rgba(74,222,128,.35);flex-shrink:0}
.ec-reset{margin-left:auto;background:rgba(255,255,255,.15);border:0;color:#fff;border-radius:8px;padding:6px 12px;font-size:13px;cursor:pointer}
.ec-reset:hover{background:rgba(255,255,255,.3)}

.ec-msgs{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:10px}
.ec-msg{max-width:85%;padding:11px 15px;border-radius:16px;line-height:1.5}
.ec-bot{align-self:flex-start;background:var(--surface-alt);border-bottom-left-radius:4px}
.ec-user{align-self:flex-end;background:var(--primary,#e30613);color:#fff;border-bottom-right-radius:4px}

.ec-opts{display:flex;flex-wrap:wrap;gap:8px;padding:0 18px 10px}
.ec-opts button{border:1.5px solid var(--primary,#e30613);color:var(--primary,#e30613);background:transparent;border-radius:999px;padding:8px 16px;font-weight:600;font-size:14px;cursor:pointer;transition:.2s}
.ec-opts button:hover{background:var(--primary,#e30613);color:#fff}

.ec-form{display:flex;gap:8px;padding:12px 18px;border-top:1px solid var(--surface-border)}
.ec-form input{flex:1;min-width:0;border:1px solid var(--surface-border);border-radius:10px;padding:10px 14px;background:var(--surface);color:var(--ink);font-size:15px}
.ec-form button{background:var(--primary,#e30613);color:#fff;border:0;border-radius:10px;padding:10px 18px;font-weight:600;cursor:pointer}
.ec-form button:disabled,.ec-form input:disabled{opacity:.5;cursor:not-allowed}
.ec-foot{margin:0;padding:6px 18px 10px;font-size:11px;color:var(--ink-soft);text-align:center}

.ec-plan{display:grid;gap:4px;min-width:220px}
.ec-plan small{text-transform:uppercase;letter-spacing:.1em;font-size:11px;color:var(--primary,#e30613);font-weight:700}
.ec-plan strong{font-size:18px}
.ec-price{font-size:26px;font-weight:700;line-height:1.1}
.ec-price em{font-size:13px;font-style:normal;font-weight:400;color:var(--ink-soft)}
.ec-plan ul{margin:6px 0 0;padding-left:18px;list-style:disc;font-size:13px;color:var(--ink-soft)}
.ec-ok small{color:#16a34a}
.ec-conf small{color:#2563eb}
.ec-conf-btns{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.ec-conf-btns button{border:0;border-radius:10px;padding:10px 16px;font-weight:700;font-size:14px;cursor:pointer;background:var(--primary,#e30613);color:#fff}
.ec-conf-btns button+button{background:transparent;color:var(--ink);border:1.5px solid var(--surface-border)}
.ec-conf-btns button:disabled{opacity:.5;cursor:not-allowed}
.ec-humano{border-left:3px solid #2563eb}
.ec-humano>small{display:block;font-size:11px;font-weight:700;color:#2563eb;text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px}
.ec-bot a{color:var(--primary,#e30613);text-decoration:underline;word-break:break-all}

.ec-typing i{display:inline-block;width:7px;height:7px;margin:0 2px;border-radius:50%;background:var(--ink-soft);animation:ec-b 1s infinite}
.ec-typing i:nth-child(2){animation-delay:.15s}.ec-typing i:nth-child(3){animation-delay:.3s}
@keyframes ec-b{0%,80%,100%{transform:translateY(0);opacity:.4}40%{transform:translateY(-5px);opacity:1}}

/* ===== Botão flutuante na home (o botão do WhatsApp original fica escondido) ===== */
astro-island[component-url*="WhatsAppButton"]{display:none!important}
.ec-launch{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;align-items:center;gap:12px;background:#1a1a1a;color:#fff;padding:10px 18px 10px 10px;border-radius:999px;box-shadow:0 14px 40px rgba(0,0,0,.35);text-decoration:none;font-family:Poppins,system-ui,sans-serif;transition:.2s}
.ec-launch:hover{transform:translateY(-2px)}
.ec-launch strong{display:block;font-size:14px;line-height:1.1}
.ec-launch small{font-size:12px;opacity:.75}
.ec-launch-av{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#e30613,#ff5a3c);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;position:relative;flex-shrink:0}
.ec-launch-av::after{content:"";position:absolute;right:0;bottom:0;width:11px;height:11px;border-radius:50%;background:#4ade80;border:2px solid #1a1a1a}

/* ===== /atendimento: chat em tela cheia, estilo ChatGPT mobile ===== */
.ec-page{margin:0;height:100vh;height:100dvh;display:flex;flex-direction:column;background:#fff;color:#1a1a1a;font-family:Poppins,system-ui,sans-serif;overscroll-behavior:none;-webkit-font-smoothing:antialiased}
.ec-full{display:flex;flex-direction:column;flex:1;min-height:0}
.ec-top{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;height:56px;padding:0 8px;padding-top:env(safe-area-inset-top);background:linear-gradient(135deg,#e30613,#a80812);color:#fff;flex-shrink:0}
.ec-top img{height:32px;justify-self:center}
.ec-back{color:#fff;font-size:34px;line-height:1;text-decoration:none;text-align:center;padding-bottom:6px}
.ec-top .ec-reset{margin:0;width:40px;height:40px;padding:0;font-size:26px;line-height:1;border-radius:50%;background:rgba(255,255,255,.18);justify-self:end}
.ec-sub{display:flex;align-items:center;justify-content:center;gap:8px;padding:7px;font-size:12px;color:#5a5b5e;border-bottom:1px solid #ececee;flex-shrink:0}
.ec-full .ec-msgs{flex:1;overflow-y:auto;padding:18px 16px;gap:16px;width:100%;max-width:760px;margin:0 auto;box-sizing:border-box;-webkit-overflow-scrolling:touch}
.ec-full .ec-msg{max-width:100%;padding:0;border-radius:0;background:none;font-size:16px;line-height:1.6}
.ec-full .ec-user{align-self:flex-end;max-width:85%;background:#f1f1f3;color:#1a1a1a;padding:10px 16px;border-radius:20px;border-bottom-right-radius:6px}
.ec-full .ec-bot .ec-plan{border:1px solid #e6e6e8;border-radius:16px;padding:14px 16px;background:#fafafa}
.ec-full .ec-humano{border-left:3px solid #2563eb;padding-left:12px}
.ec-bottom{flex-shrink:0;border-top:1px solid #ececee;background:#fff;padding:8px 12px calc(10px + env(safe-area-inset-bottom));width:100%;max-width:760px;margin:0 auto;box-sizing:border-box}
.ec-full .ec-opts{flex-wrap:nowrap;overflow-x:auto;padding:0 0 8px;scrollbar-width:none}
.ec-full .ec-opts::-webkit-scrollbar{display:none}
.ec-full .ec-opts button{white-space:nowrap;flex-shrink:0;background:#fff}
.ec-full .ec-form{padding:0;border:0;align-items:center}
.ec-full .ec-form input{font-size:16px;padding:13px 18px;border-radius:999px;border:1px solid #d9d9dd;background:#f7f7f8}
.ec-full .ec-form input:focus{outline:none;border-color:#e30613;background:#fff}
.ec-full .ec-form button{width:46px;height:46px;border-radius:50%;padding:0;font-size:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ec-full .ec-foot{padding:6px 0 0;font-size:11px}
@media (min-width:760px){.ec-full .ec-msgs{padding:28px 20px}.ec-sub{font-size:13px}}
