/* Zapi! by Montan — front (carvão/grafite/off-white/dourado fosco)
 * Projeto gerado pela MONTAN */
.zp{--z-bg:#ffffff;--z-s:#fbfbf9;--z-s2:#f1f1ec;--z-line:rgba(20,20,18,.12);--z-ink:#141412;--z-mut:#66655d;--z-gold:#37822a;--z-gold-ink:#ffffff;font-size:16px}
.zp *{box-sizing:border-box}

/* Formulário */
.zp-form{background:var(--z-s);border:1px solid var(--z-line);border-radius:16px;padding:28px;box-shadow:0 14px 40px rgba(20,20,18,.12);transition:opacity .25s,transform .25s}
.zp-form--hide{opacity:0;transform:translateY(8px)}
.zp-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.zp-form label{display:block;font-size:13px;color:var(--z-mut);letter-spacing:.02em}
.zp-form input,.zp-form select,.zp-form textarea{width:100%;margin-top:6px;background:#ffffff;border:1px solid var(--z-line);border-radius:10px;color:var(--z-ink);padding:12px 13px;font:inherit}
.zp-form input:focus,.zp-form select:focus,.zp-form textarea:focus{outline:2px solid var(--z-gold);border-color:var(--z-gold)}
.zp-consent{display:flex;gap:8px;align-items:flex-start;margin:14px 0;font-size:13px}
.zp-consent input{width:auto;margin-top:2px}
.zp-consent a{color:var(--z-gold);text-decoration:underline}
.zp-error{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.4);color:#f4a3a3;border-radius:10px;padding:10px 12px;font-size:14px}
.zp-btn{display:inline-flex;justify-content:center;width:100%;background:var(--z-gold);color:var(--z-gold-ink);border:0;border-radius:999px;padding:14px 22px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;font:inherit;font-weight:700}
.zp-btn:hover{filter:brightness(1.08)}
.zp-side-note{font-size:13px;color:var(--z-mut);margin-top:12px}
.zp-side-note a{color:var(--z-gold)}
.zp-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Chat */
.zp-chat{display:flex;flex-direction:column;background:var(--z-s);border:1px solid var(--z-line);border-radius:16px;overflow:hidden;box-shadow:0 18px 50px rgba(20,20,18,.14);min-height:520px;max-height:74vh}
.zp--page .zp-chat{max-width:820px;margin:0 auto;min-height:60vh}
.zp-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;background:#37822a;border-bottom:0}
.zp-head strong{color:#ffffff;letter-spacing:.1em}
.zp-proto{display:inline-block;margin-left:10px;font-size:12px;color:#ffffff;border:1px solid rgba(255,255,255,.5);border-radius:999px;padding:3px 10px}
.zp-status{font-size:12px;color:rgba(255,255,255,.85);display:inline-flex;align-items:center;gap:6px}
.zp-status::before{content:"";width:7px;height:7px;border-radius:50%;background:#ffffff;box-shadow:none}
.zp-x{background:none;border:0;color:rgba(255,255,255,.8);font-size:11px;cursor:pointer;text-decoration:underline;margin-left:10px}
.zp-msgs{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:8px;background:#f6f6f2}
.zp-m{max-width:82%;padding:10px 14px;border-radius:14px;line-height:1.45;font-size:14.5px;white-space:pre-wrap;word-break:break-word;color:var(--z-ink)}
.zp-m--bot{align-self:flex-start;background:#ffffff;border:1px solid var(--z-line);color:#3c3b35}
.zp-m--vis{align-self:flex-end;background:var(--z-gold);color:var(--z-gold-ink)}
.zp-m--montan{align-self:flex-start;background:#e9f2e5;border:1px solid #cfe3c7;color:#1c3315}
.zp-m--pending{opacity:.55}
.zp-m small{display:block;font-size:10px;opacity:.6;margin-top:4px}
.zp-m small.zp-err{color:#f4a3a3;opacity:1}
.zp-m a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px}
.zp-progress{padding:7px 18px;font-size:12px;color:var(--z-gold);border-top:1px solid var(--z-line);background:#fbfbf9}
.zp-foot{padding:12px 14px;border-top:1px solid var(--z-line);background:#ffffff}
.zp-row{display:flex;gap:8px;align-items:flex-end}
.zp-ta{flex:1;resize:none;max-height:120px;background:#f6f6f2;border:1px solid var(--z-line);border-radius:12px;color:var(--z-ink);padding:11px 13px;font:inherit;line-height:1.4}
.zp-ta:focus{outline:2px solid var(--z-gold);border-color:var(--z-gold)}
.zp-send{width:44px;height:44px;flex:none;border-radius:50%;border:0;background:var(--z-gold);color:var(--z-gold-ink);font-size:24px;line-height:1;cursor:pointer}
.zp-clip{width:44px;height:44px;flex:none;display:flex;align-items:center;justify-content:center;border:1px solid var(--z-line);border-radius:50%;cursor:pointer;font-size:18px}
.zp-clip:hover{border-color:var(--z-gold)}
.zp-skip{margin-top:8px;background:none;border:1px solid var(--z-line);border-radius:999px;color:var(--z-mut);font-size:12px;padding:7px 14px;cursor:pointer}
.zp-skip:hover{border-color:var(--z-gold);color:var(--z-gold)}
.zp-chat--empty{align-items:center;justify-content:center;text-align:center;padding:44px 28px;gap:12px}
.zp-chat--empty h2{color:var(--z-ink);margin:0;font-size:1.3rem}
.zp-chat--empty p{color:var(--z-mut);max-width:46ch;margin:0}
.zp-chat--empty .zp-row{width:100%;max-width:420px}
.zp-chat--empty .zp-btn{width:auto;padding-inline:18px}

@media (max-width:760px){
	.zp-grid{grid-template-columns:1fr}
	.zp--page .zp-chat{min-height:calc(100vh - 180px);max-height:none;border-radius:12px}
	.zp-m{max-width:90%}
}
@media (prefers-reduced-motion:reduce){.zp-form{transition:none}}

/* ---------- Widget flutuante (site inteiro) — bolha verde da marca ---------- */
.zpw{position:fixed;right:20px;bottom:20px;z-index:99990;font-family:"Plus Jakarta Sans",system-ui,sans-serif;font-size:15px}
.zpw__btn{width:62px;height:62px;border-radius:50%;border:0;background:#37822a;color:#fff;font-size:26px;cursor:pointer;box-shadow:0 12px 34px rgba(20,20,18,.28),0 0 0 6px rgba(55,130,42,.14);display:flex;align-items:center;justify-content:center;transition:transform .2s}
.zpw__btn:hover{transform:scale(1.06)}
.zpw__panel{position:absolute;right:0;bottom:76px;width:372px;max-width:calc(100vw - 32px);height:540px;max-height:calc(100vh - 120px);background:#fff;border:1px solid rgba(20,20,18,.12);border-radius:16px;box-shadow:0 26px 60px rgba(20,20,18,.25);display:flex;flex-direction:column;overflow:hidden}
.zpw__head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#37822a;color:#fff}
.zpw__head strong{letter-spacing:.14em;font-family:"Montserrat",sans-serif}
.zpw__on{display:block;font-size:11px;opacity:.85;margin-top:2px}
.zpw__x{background:none;border:0;color:#fff;font-size:24px;line-height:1;cursor:pointer}
.zpw__body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px;background:#f6f6f2}
.zpw__m{max-width:84%;padding:9px 13px;border-radius:14px;line-height:1.45;font-size:14.5px;white-space:pre-wrap;word-break:break-word}
.zpw__m--bot{align-self:flex-start;background:#fff;border:1px solid rgba(20,20,18,.1);color:#3c3b35}
.zpw__m--vis{align-self:flex-end;background:#37822a;color:#fff}
.zpw__m--mon{align-self:flex-start;background:#e9f2e5;border:1px solid #cfe3c7;color:#1c3315}
.zpw__m--pending{opacity:.55}
.zpw__m small{display:block;font-size:10px;opacity:.6;margin-top:3px}
.zpw__m a{color:inherit;font-weight:600;text-decoration:underline}
.zpw__menu,.zpw__form{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.zpw__opt{display:block;text-align:left;background:#fff;border:1px solid rgba(20,20,18,.12);border-radius:12px;padding:12px 14px;font:inherit;color:#141412;cursor:pointer;text-decoration:none}
.zpw__opt:hover{border-color:#37822a;color:#37822a}
.zpw__inp{background:#fff;border:1px solid rgba(20,20,18,.15);border-radius:10px;padding:11px 12px;font:inherit;color:#141412}
.zpw__inp:focus{outline:2px solid #37822a;border-color:#37822a}
.zpw__consent{font-size:12.5px;color:#55544d;display:flex;gap:6px;align-items:flex-start}
.zpw__go{background:#37822a;color:#fff;border:0;border-radius:999px;padding:12px;font-weight:700;cursor:pointer;font:inherit}
.zpw__hp{position:absolute;left:-9999px;width:1px;height:1px}
.zpw__foot{border-top:1px solid rgba(20,20,18,.1);background:#fff;padding:10px}
.zpw__row{display:flex;gap:8px;align-items:flex-end}
.zpw__ta{flex:1;resize:none;max-height:110px;background:#f6f6f2;border:1px solid rgba(20,20,18,.14);border-radius:12px;padding:10px 12px;font:inherit;color:#141412;line-height:1.4}
.zpw__ta:focus{outline:2px solid #37822a;border-color:#37822a}
.zpw__s{width:42px;height:42px;flex:none;border-radius:50%;border:0;background:#37822a;color:#fff;font-size:22px;cursor:pointer}
.zpw__clip{width:42px;height:42px;flex:none;display:flex;align-items:center;justify-content:center;border:1px solid rgba(20,20,18,.14);border-radius:50%;cursor:pointer}
@media (max-width:480px){.zpw{right:14px;bottom:14px}.zpw__panel{width:calc(100vw - 28px);height:76vh}}

/* FIX: display:flex anulava o atributo hidden — fechar/abrir agora respeita [hidden] */
.zpw [hidden], .zpw__panel[hidden], .zp [hidden], #zp-chatwrap[hidden] { display: none !important; }

/* ---- Mobile (v1.0.4): painel quase tela cheia, inputs 16px (sem zoom iOS) ---- */
.zpw__inp, .zpw__ta, .zp-form input, .zp-form select, .zp-form textarea, .zp-ta { font-size: 16px; }
@media (max-width: 480px) {
	.zpw__panel { position: fixed; left: 10px; right: 10px; bottom: 84px; width: auto; max-width: none; height: min(82vh, 660px); border-radius: 14px; }
	.zpw__body { padding: 12px; }
	.zpw__m { max-width: 92%; }
	.zpw { bottom: calc(14px + env(safe-area-inset-bottom)); }
	.zp--page .zp-chat { min-height: calc(100dvh - 150px); border-radius: 10px; }
	.zp-head { flex-wrap: wrap; gap: 6px; padding: 12px 14px; }
	.zp-proto { margin-left: 0; }
	.zp-msgs { padding: 12px; }
}
