.page-cv .cv-chat-inline{
  display:inline-flex;align-items:center;gap:6px;border:0;padding:0;background:none;
  color:var(--acento-texto);font:inherit;font-size:14px;font-weight:700;cursor:pointer;
  text-decoration:none;
}
.page-cv .cv-chat-inline:hover{text-decoration:underline;text-underline-offset:4px}
.page-cv .cv-chat-open{
  position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));
  z-index:70;display:inline-flex;align-items:center;gap:10px;min-height:52px;
  padding:12px 19px;border:0;border-radius:999px;cursor:pointer;
  background:linear-gradient(142deg,#ffc152,#ff9d12);color:var(--boton-tinta);
  font:750 14px/1.2 Inter,ui-sans-serif,system-ui,sans-serif;
  box-shadow:0 16px 34px -14px rgba(255,150,20,.6);
  transition:transform .22s,box-shadow .22s,opacity .22s;
}
.page-cv .cv-chat-open:hover{transform:translateY(-3px);box-shadow:0 20px 36px -12px rgba(255,150,20,.68)}
.page-cv .cv-chat-open:active{transform:scale(.97)}
.page-cv .cv-chat-open.is-dormant{opacity:0;transform:translateY(12px);pointer-events:none}
.page-cv .cv-chat-open svg{width:19px;height:19px}
.page-cv .cv-chat-panel{
  position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));
  z-index:71;display:flex;flex-direction:column;overflow:hidden;
  width:min(390px,calc(100vw - 32px));max-height:min(640px,calc(100dvh - 32px));
  padding:0;border-radius:25px;background:var(--vidrio-solido);
  box-shadow:0 32px 70px -25px #000b;
}
.page-cv .cv-chat-panel[hidden]{display:none}
.page-cv .cv-chat-head{
  display:flex;align-items:center;gap:12px;padding:16px 16px 14px 18px;
  border-bottom:1px solid var(--linea);
}
.page-cv .cv-chat-head .punto{flex:none}
.page-cv .cv-chat-head div{min-width:0;flex:1}
.page-cv .cv-chat-head strong{display:block;font-size:15px;line-height:1.25}
.page-cv .cv-chat-head small{display:block;margin-top:3px;color:var(--tinta-3);font-size:11.5px;line-height:1.35}
.page-cv .cv-chat-close{
  flex:none;width:36px;height:36px;padding:0;border:0;border-radius:50%;
  background:var(--sup-1);color:var(--tinta);font-size:21px;line-height:1;
}
.page-cv .cv-chat-close:hover{background:var(--sup-2)}
.page-cv .cv-chat-thread{
  min-height:150px;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px;
  padding:17px 16px;overscroll-behavior:contain;
}
.page-cv .cv-chat-message{
  max-width:88%;padding:11px 15px;border-radius:18px;font-size:14px;line-height:1.55;
  overflow-wrap:anywhere;animation:cv-message-in .2s ease both;
}
.page-cv .cv-chat-message.bot{align-self:flex-start;background:var(--sup-1);border-bottom-left-radius:6px}
.page-cv .cv-chat-message.visitor{
  align-self:flex-end;background:linear-gradient(142deg,#ffc152,#ff9d12);
  color:var(--boton-tinta);border-bottom-right-radius:6px;
}
.page-cv .cv-chat-message a{color:var(--acento-texto);font-weight:700}
.page-cv .cv-chat-message a:hover{text-decoration-thickness:2px}
.page-cv .cv-chat-suggestions{display:flex;flex-wrap:wrap;gap:7px;padding:0 16px 12px}
.page-cv .cv-chat-suggestions button{
  min-height:36px;padding:7px 11px;border:1px solid var(--linea);border-radius:999px;
  background:var(--sup-1);color:var(--tinta-2);font-size:12px;font-weight:650;
}
.page-cv .cv-chat-suggestions button:hover{background:var(--sup-2);color:var(--tinta)}
.page-cv .cv-chat-form{display:flex;gap:9px;padding:12px 14px 14px;border-top:1px solid var(--linea)}
.page-cv .cv-chat-form input{
  min-width:0;flex:1;min-height:46px;padding:11px 15px;border:1px solid var(--linea);
  border-radius:999px;background:var(--sup-1);color:var(--tinta);font-size:16px;
}
.page-cv .cv-chat-form input::placeholder{color:var(--tinta-3)}
.page-cv .cv-chat-form button{
  flex:none;display:grid;place-items:center;width:46px;height:46px;padding:0;border:0;
  border-radius:50%;background:linear-gradient(142deg,#ffc152,#ff9d12);color:var(--boton-tinta);
}
.page-cv .cv-chat-form button svg{width:19px;height:19px}
.page-cv .cv-chat-status{min-height:0;padding:0 16px;color:var(--tinta-3);font-size:11px}
.page-cv .cv-chat-status:not(:empty){padding-bottom:10px}
.page-cv .cv-chat-local{padding:10px 16px 14px;color:var(--acento-texto);font-size:12px;border-top:1px solid var(--linea)}
.page-cv .cv-chat-local span{display:block;margin-top:3px;color:var(--tinta-3);font-size:11px}
@media(max-width:620px){
  .page-cv .cv-chat-open{right:12px;width:52px;min-width:52px;min-height:52px;padding:0;justify-content:center;font-size:0}
  .page-cv .cv-chat-open svg{width:21px;height:21px}
  .page-cv .cv-chat-panel{right:12px;left:12px;width:auto;bottom:calc(12px + env(safe-area-inset-bottom) + var(--cv-keyboard-gap,0px));max-height:calc(var(--cv-visible-height,100dvh) - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}
  .page-cv .cv-chat-head,.page-cv .cv-chat-form{flex-shrink:0}
  .page-cv .cv-chat-thread{min-height:70px}
  .page-cv .cv-chat-suggestions{flex-shrink:0;flex-wrap:nowrap;overflow-x:auto;padding-bottom:10px;scrollbar-width:none}
  .page-cv .cv-chat-suggestions button{flex-shrink:0;max-width:260px;min-height:40px}
}
@keyframes cv-message-in{from{opacity:0;translate:0 5px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){
  .page-cv .cv-chat-open{transition:none}.page-cv .cv-chat-message{animation:none}
}


.page-cv .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
