/* NOVA TOOLS · bot.css — el asistente de ventas (js/bot.js). Usa los tokens de :root
   de cada página. Contrastes sobre --card #17171c: --text 16.4:1 · --muted 8.3:1 ·
   #111 sobre --orange 7.6:1. Abajo a la IZQUIERDA: a la derecha vive el botón flotante. */
.nt-bot-vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.nt-bot-lanza{position:fixed;z-index:52;left:18px;bottom:calc(18px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:9px;min-height:52px;padding:0 18px 0 15px;border-radius:999px;border:1px solid var(--orange);background:var(--card);color:var(--text);font:600 15px/1 var(--body);cursor:pointer;box-shadow:0 14px 30px -12px rgba(0,0,0,.9);transition:transform .25s var(--ease),bottom .3s var(--ease),background-color .2s}
.nt-bot-lanza svg{color:var(--orange);flex:none}
.nt-bot-lanza:hover{transform:translateY(-2px);background:var(--card-2)}
.nt-bot-lanza[hidden]{display:none}
.nt-cbarra:not([hidden]) ~ .nt-bot-lanza{bottom:calc(88px + env(safe-area-inset-bottom))}

.nt-bot{position:fixed;z-index:60;left:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:min(390px,calc(100vw - 32px));height:min(600px,calc(100dvh - 32px));display:flex;flex-direction:column;background:var(--bg-2);border:1px solid var(--line);border-radius:18px;box-shadow:0 30px 60px -20px rgba(0,0,0,.9);overflow:hidden;animation:nt-bot-in .28s var(--ease)}
.nt-bot[hidden]{display:none}
@keyframes nt-bot-in{from{opacity:0;transform:translateY(14px)}}

.nt-bot-cab{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 14px 12px 18px;border-bottom:1px solid var(--line);background:var(--card)}
.nt-bot-cab h2{margin:0;font:700 20px/1.1 var(--display);letter-spacing:.02em;text-transform:uppercase;color:var(--text)}
.nt-bot-cab p{margin:4px 0 0;font-size:13px;color:var(--muted)}
.nt-bot-x{flex:none;width:44px;height:44px;display:grid;place-items:center;border-radius:12px;border:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer}
.nt-bot-x:hover{background:var(--card-2)}

.nt-bot-log{position:relative;flex:1;overflow-y:auto;overscroll-behavior:contain;padding:16px 14px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}
.nt-bot-msg{margin:0;max-width:88%;padding:10px 13px;border-radius:14px;font-size:15px;line-height:1.4;white-space:pre-line;overflow-wrap:anywhere}
.nt-bot-el{align-self:flex-start;background:var(--card-2);color:var(--text);border-bottom-left-radius:4px}
.nt-bot-yo{align-self:flex-end;background:var(--orange);color:#111;font-weight:500;border-bottom-right-radius:4px}
.nt-bot-esc{color:var(--muted)}
.nt-bot-puntos{display:inline-flex;gap:4px;align-items:center;height:1em}
.nt-bot-puntos i{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.35;animation:nt-bot-tipea 1.2s infinite ease-in-out}
.nt-bot-puntos i:nth-child(2){animation-delay:.2s}
.nt-bot-puntos i:nth-child(3){animation-delay:.4s}
@keyframes nt-bot-tipea{0%,60%,100%{opacity:.35;transform:none}30%{opacity:1;transform:translateY(-3px)}}

.nt-bot-cards{display:flex;flex-direction:column;gap:8px}
.nt-bot-card{display:flex;gap:12px;align-items:flex-start;padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--card)}
.nt-bot-card img{flex:none;width:72px;height:72px;object-fit:contain;background:#fff;border-radius:10px;padding:4px;box-sizing:border-box}
.nt-bot-card-c{min-width:0;flex:1}
.nt-bot-card h3{margin:0 0 4px;font:600 14px/1.3 var(--body);color:var(--text)}
.nt-bot-precio{margin:0;font-size:14px;color:var(--muted)}
.nt-bot-precio b{font:700 19px/1 var(--display);color:var(--text);letter-spacing:.01em}
.nt-bot-off{display:inline-block;font:700 11px/1 var(--body);letter-spacing:.06em;color:#111;background:var(--orange);border-radius:6px;padding:3px 6px;vertical-align:2px}
.nt-bot-quedan{margin:4px 0 0;font-size:13px;font-weight:600;color:var(--pronto,#ffd08a)}
.nt-bot-add{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:8px;padding:0 16px;border-radius:10px;border:0;background:var(--orange);color:#111;font:700 14px/1 var(--body);text-decoration:none;cursor:pointer}
.nt-bot-add:hover{background:var(--orange-2)}

.nt-bot-ops{display:flex;flex-wrap:wrap;gap:8px}
.nt-bot-op{min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--line-2,#6a6a78);background:transparent;color:var(--text);font:600 14px/1 var(--body);cursor:pointer}
.nt-bot-op:hover{border-color:var(--orange);color:var(--orange-2)}
.nt-bot-op[aria-disabled="true"],.nt-bot-op[aria-disabled="true"]:hover{opacity:.55;cursor:progress;border-color:var(--line-2,#6a6a78);color:var(--text)}
.nt-bot-pagar{background:var(--orange);border-color:var(--orange);color:#111}
.nt-bot-pagar:hover{color:#111;background:var(--orange-2)}
.nt-bot-enlace{align-self:flex-start;display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:10px;border:1px solid var(--orange);color:var(--orange-2);font-weight:700;text-decoration:none}
.nt-bot-enlace:hover{background:rgba(255,122,0,.1)}

.nt-bot-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line);background:var(--card)}
.nt-bot-form input{flex:1;min-width:0;min-height:44px;font:500 16px/1.2 var(--body);color:var(--text);background:var(--bg-2);border:1px solid var(--line-2,#6a6a78);border-radius:12px;padding:0 14px}
.nt-bot-form input::placeholder{color:var(--muted)}
.nt-bot-env{flex:none;width:44px;height:44px;display:grid;place-items:center;border-radius:12px;border:0;background:var(--orange);color:#111;cursor:pointer}
.nt-bot-env:disabled,.nt-bot-env[aria-disabled="true"]{opacity:.55;cursor:progress}

.nt-bot-lanza:focus-visible,.nt-bot-x:focus-visible,.nt-bot-add:focus-visible,.nt-bot-op:focus-visible,.nt-bot-enlace:focus-visible,.nt-bot-env:focus-visible,.nt-bot-form input:focus-visible{outline:3px solid var(--orange-2);outline-offset:2px}

@media (max-width:560px){
  .nt-bot{left:0;right:0;bottom:0;width:100%;height:min(100dvh,640px);border-radius:18px 18px 0 0;border-bottom:0}
  /* El texto se oculta a la vista, NO al lector de pantalla: es el nombre del botón. */
  .nt-bot-lanza span{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .nt-bot-lanza{width:56px;padding:0;justify-content:center}
  .nt-cbarra:not([hidden]) ~ .nt-bot-lanza{bottom:calc(126px + env(safe-area-inset-bottom))}
}
@media (prefers-reduced-motion:reduce){
  .nt-bot{animation:none}
  .nt-bot-log{scroll-behavior:auto}
  .nt-bot-lanza{transition:none}
  .nt-bot-puntos i{animation:none;opacity:.7}
}
