/* Nitida - la asistente dentro del sitio. Usa las variables de color de index.html. */

/* El menu de arriba es fijo: sin esto, al llegar por el ancla el titulo queda tapado. */
#asistente{scroll-margin-top:96px}

.as{
  display:flex;flex-direction:column;max-width:760px;
  background:var(--panel);border:1px solid var(--line-soft);border-radius:8px;overflow:hidden;
}
.as-barra{
  display:flex;align-items:center;gap:12px;padding:12px 16px;
  border-top:3px solid var(--coral);border-bottom:1px solid var(--line-soft);
}
.as-barra img{width:42px;height:42px;flex:none;object-fit:contain}
.as-barra strong{display:block;font-size:1rem;line-height:1.2}
.as-barra span{display:block;font-size:.8rem;color:var(--muted);line-height:1.3}

.as-log{
  height:min(68vh,560px);min-height:300px;overflow-y:auto;overscroll-behavior:contain;
  padding:18px 14px;display:flex;flex-direction:column;gap:12px;
}
/* En un contenedor con alto fijo, los hijos no deben encogerse (la imagen quedaba en 2 px). */
.as-log > *{flex-shrink:0}
.as-msg{
  max-width:88%;padding:11px 15px;border-radius:16px;font-size:1rem;line-height:1.5;
  white-space:pre-wrap;overflow-wrap:anywhere;animation:as-entrar .3s ease both;
}
.as-ella{align-self:flex-start;background:var(--bg-soft);border:1px solid var(--line-soft);border-bottom-left-radius:5px}
.as-el{align-self:flex-end;background:var(--coral);color:#000;font-weight:500;border-bottom-right-radius:5px}
.as-aviso{
  align-self:center;max-width:100%;text-align:center;color:var(--muted);font-size:.86rem;
  border:1px dashed var(--line);background:transparent;
}
@keyframes as-entrar{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Los tres puntitos mientras piensa */
.as-pensando{
  align-self:flex-start;display:flex;flex-wrap:wrap;align-items:center;gap:5px;max-width:88%;
  padding:14px 16px;background:var(--bg-soft);border:1px solid var(--line-soft);
  border-radius:16px;border-bottom-left-radius:5px;
}
.as-pensando i{width:7px;height:7px;border-radius:50%;background:var(--coral);display:block;animation:as-rebotar 1.1s ease-in-out infinite}
.as-pensando i:nth-child(2){animation-delay:.16s}
.as-pensando i:nth-child(3){animation-delay:.32s}
.as-pensando small{flex-basis:100%;margin-top:6px;color:var(--muted);font-size:.8rem;line-height:1.35}
@keyframes as-rebotar{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}

/* Atajos del primer mensaje */
.as-atajos{display:flex;flex-wrap:wrap;gap:8px;align-self:flex-start;max-width:100%}
.as-atajos button{
  background:transparent;border:1px solid var(--line);color:var(--muted-strong);
  border-radius:999px;padding:9px 15px;font-size:.88rem;font-family:inherit;cursor:pointer;
  transition:border-color .18s ease,color .18s ease;
}
.as-atajos button:hover,.as-atajos button:active{border-color:var(--coral);color:var(--coral)}

/* El diseno que muestra la asistente */
.as-diseno{
  align-self:flex-start;width:min(100%,420px);margin:0;
  background:var(--bg-soft);border:1px solid var(--line);border-radius:10px;overflow:hidden;
  animation:as-entrar .4s ease both;
}
.as-diseno a{display:block;background:#fff}
.as-diseno img{width:100%;height:auto;display:block}
.as-diseno figcaption{padding:10px 14px 12px;font-size:.82rem;color:var(--muted-strong);line-height:1.4}
.as-diseno figcaption b{color:var(--text);font-weight:600}

/* El total: un solo monto */
.as-total{
  align-self:stretch;padding:14px 16px;border:1px solid var(--coral-linea);border-radius:10px;
  background:rgba(255,90,90,.12);animation:as-entrar .3s ease both;
}
.as-total small{display:block;font-size:.82rem;color:var(--muted-strong)}
.as-total strong{display:block;font-size:1.9rem;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin:2px 0}

/* El boton de pago */
.as-pago{align-self:stretch;animation:as-entrar .3s ease both}
.as-pago a{
  display:block;text-align:center;background:var(--coral);color:#000;font-weight:700;
  font-size:1.05rem;border-radius:6px;padding:15px 18px;
}
.as-pago a:hover{filter:brightness(1.08)}
.as-pago small{display:block;margin-top:8px;text-align:center;font-size:.8rem;color:var(--muted)}

/* Escribir */
.as-form{
  display:flex;gap:10px;align-items:flex-end;padding:12px 14px;
  border-top:1px solid var(--line-soft);background:rgba(0,0,0,.35);
}
.as-form textarea{
  flex:1;min-width:0;background:var(--bg-soft);border:1px solid var(--line);border-radius:22px;
  color:var(--text);padding:12px 16px;font-size:1rem;font-family:inherit;line-height:1.4;
  resize:none;max-height:120px;overflow-y:hidden;
}
.as-form textarea:focus{outline:none;border-color:var(--coral)}
.as-form button{
  flex:none;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;
  cursor:pointer;font-family:inherit;transition:transform .15s ease,border-color .2s ease;
}
.as-form button:active{transform:scale(.94)}
.as-form button svg{width:22px;height:22px}
.as-mic{background:transparent;border:1px solid var(--line);color:var(--muted-strong)}
.as-mic:hover{border-color:var(--coral)}
.as-mic.oyendo{background:#fff;color:#000;border-color:#fff;animation:as-onda 1.5s ease-out infinite}
.as-mic[disabled]{display:none}
@keyframes as-onda{0%{box-shadow:0 0 0 0 rgba(255,90,90,.55)}100%{box-shadow:0 0 0 18px rgba(255,90,90,0)}}
.as-enviar{background:var(--coral);border:0;color:#000}
.as-enviar[disabled]{opacity:.35;cursor:default}

.as-nota{margin:0;padding:10px 16px 14px;font-size:.78rem;color:var(--muted);line-height:1.45}
.as-sinjs{padding:18px 16px}

@media (prefers-reduced-motion:reduce){
  .as *,.as *::before,.as *::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
}
