/* HARVI Chat — módulo de webchat con hand-off a agente humano (Digex).
   Usa los tokens de marca definidos en site.css (:root) — no declara los suyos. */

.harvi-chat{position:fixed;right:20px;bottom:20px;z-index:1000;font-family:'Trenda',system-ui,sans-serif}

.harvi-chat__toggle{
  background:var(--green);color:var(--navy);border:none;border-radius:999px;
  padding:14px 22px;font-weight:700;font-size:15px;cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.35);
}
.harvi-chat__toggle:hover{background:var(--green-hi)}

.harvi-chat__panel{
  position:absolute;right:0;bottom:64px;width:340px;max-width:calc(100vw - 40px);
  max-height:70vh;display:flex;flex-direction:column;
  background:var(--navy-2);border:1px solid var(--line);border-radius:16px;
  box-shadow:0 20px 60px rgba(0,0,0,.45);overflow:hidden;
}
.harvi-chat__panel[hidden]{display:none}

.harvi-chat__header{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 16px;border-bottom:1px solid var(--line);
}
.harvi-chat__title{font-family:'Unbounded',system-ui,sans-serif;font-weight:700;font-size:15px;color:var(--text)}
.harvi-chat__close{background:none;border:none;color:var(--muted);font-size:22px;line-height:1;cursor:pointer;padding:0 4px}
.harvi-chat__close:hover{color:var(--text)}

.harvi-chat__end-popup{
  position:absolute;top:56px;right:14px;left:14px;z-index:1;
  display:flex;flex-direction:column;
  background:var(--navy-3);border:1px solid var(--line);border-radius:10px;
  padding:12px;box-shadow:0 12px 30px rgba(0,0,0,.4);
}
.harvi-chat__end-popup[hidden]{display:none}
.harvi-chat__end-popup p{margin:0 0 10px;font-size:13px;color:var(--text-2);line-height:1.4}
.harvi-chat__end-confirm,.harvi-chat__end-cancel{
  border:none;border-radius:8px;padding:8px 12px;font-weight:700;font-size:13px;cursor:pointer;
}
.harvi-chat__end-confirm{background:var(--green);color:var(--navy);margin-top:8px}
.harvi-chat__end-confirm:hover{background:var(--green-hi)}
.harvi-chat__end-cancel{background:transparent;color:var(--muted);padding:8px 0;text-align:left}
.harvi-chat__end-cancel:hover{color:var(--text)}

.harvi-chat__body{display:flex;flex-direction:column;gap:10px;padding:14px 16px;overflow:hidden}

.harvi-chat__status{margin:0;font-size:13px;color:var(--muted);min-height:16px}

.harvi-chat__log{display:flex;flex-direction:column;gap:8px;overflow-y:auto;max-height:280px}

.harvi-chat__bubble{max-width:85%;padding:8px 12px;border-radius:12px;font-size:14px;line-height:1.45}
.harvi-chat__bubble p{margin:0}
.harvi-chat__bubble--contact{align-self:flex-end;background:var(--green);color:var(--navy)}
.harvi-chat__bubble--agent{align-self:flex-start;background:var(--navy-3);color:var(--text);border:1px solid var(--line)}
.harvi-chat__author{display:block;font-size:11px;font-weight:700;color:var(--green);margin-bottom:2px}

.harvi-chat__form,.harvi-chat__composer{display:flex;flex-direction:column;gap:8px}
.harvi-chat__composer{flex-direction:row;gap:8px}
.harvi-chat__form[hidden],.harvi-chat__composer[hidden]{display:none}

.harvi-chat__intro{margin:0 0 4px;font-size:13px;color:var(--text-2)}

.harvi-chat input[type="text"],
.harvi-chat input[type="email"],
.harvi-chat input[type="tel"],
.harvi-chat textarea{
  background:var(--navy-3);border:1px solid var(--line);border-radius:8px;
  color:var(--text);padding:9px 11px;font-size:14px;font-family:inherit;
  width:100%;
}
.harvi-chat textarea{resize:vertical;min-height:64px}
.harvi-chat__composer input[type="text"]{flex:1}

.harvi-chat__honeypot{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}

.harvi-chat__submit,
.harvi-chat__composer button{
  background:var(--green);color:var(--navy);border:none;border-radius:8px;
  padding:10px 14px;font-weight:700;font-size:14px;cursor:pointer;
}
.harvi-chat__submit:hover,
.harvi-chat__composer button:hover{background:var(--green-hi)}
.harvi-chat__submit:disabled,
.harvi-chat__composer button:disabled{opacity:.6;cursor:default}

@media (max-width:480px){
  .harvi-chat{right:12px;bottom:12px}
  .harvi-chat__panel{width:calc(100vw - 24px)}
}
