/* Extraído de includes/asistente-wa.php (17/10/2026) */
.rs-asis{ position:fixed; inset:0; z-index:2147483000; display:flex; align-items:center; justify-content:center; padding:16px; font-family:inherit; }
.rs-asis[hidden]{ display:none !important; }
.rs-asis-fondo{ position:absolute; inset:0; background:rgba(12,14,16,.62); opacity:0; transition:opacity .2s ease; }
.rs-asis-caja{ position:relative; width:100%; max-width:520px; max-height:calc(100vh - 32px); overflow:auto; box-sizing:border-box;
  background:#fff; color:#1b1b1b; border-radius:18px; box-shadow:0 24px 60px rgba(0,0,0,.35); padding:22px 22px 18px;
  transform:translateY(14px); opacity:0; transition:transform .22s ease, opacity .22s ease; -webkit-overflow-scrolling:touch; }
.rs-asis.on .rs-asis-fondo{ opacity:1; }
.rs-asis.on .rs-asis-caja{ transform:none; opacity:1; }
.rs-asis-x{ position:absolute; top:12px; right:12px; width:36px; height:36px; border-radius:50%; border:1px solid #e6e6e6; background:#fff; font-size:20px; cursor:pointer; }
.rs-asis-tit{ margin:0 44px 4px 0; font-size:1.2rem; font-weight:800; line-height:1.25; color:#111; }
.rs-asis-sub{ margin:0 0 14px; font-size:.86rem; color:#666; line-height:1.45; }
.rs-asis-avance{ display:flex; gap:5px; margin:0 0 14px; align-items:center; }
.rs-asis-avance i{ width:22px; height:5px; border-radius:999px; background:#e3e3e3; }
.rs-asis-avance i.ok{ background:#25D366; } .rs-asis-avance i.on{ background:#111; width:34px; }
.rs-asis-avance span{ margin-left:4px; font-size:.72rem; font-weight:700; color:#777; }
.rs-asis-prods{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.rs-asis-prod{ display:flex; flex-direction:column; text-align:left; padding:0; overflow:hidden; cursor:pointer; font:inherit;
  background:#fff; border:1.5px solid #ececec; border-radius:12px; transition:border-color .15s ease, transform .15s ease; }
.rs-asis-prod img{ width:100%; height:64px; object-fit:cover; display:block; background:#f2f2f2; }
.rs-asis-prod b{ display:block; padding:7px 9px 9px; font-size:.78rem; font-weight:700; color:#111; line-height:1.2; }
.rs-asis-prod:hover{ border-color:#111; transform:translateY(-1px); }
.rs-asis-ficha{ display:flex; gap:12px; align-items:center; margin:0 0 14px; padding:8px; border-radius:12px; background:#f6f7f4; }
.rs-asis-ficha img{ width:56px; height:56px; flex:none; object-fit:cover; border-radius:9px; background:#e9e9e9; }
.rs-asis-ficha b{ display:block; font-size:.95rem; font-weight:800; color:#111; }
.rs-asis-ficha small{ display:block; margin-top:2px; font-size:.78rem; color:#3b6d00; font-weight:700; }
.rs-asis-q{ margin:0 0 10px; font-size:1rem; font-weight:800; color:#111; }
.rs-asis-ops{ display:flex; flex-wrap:wrap; gap:8px; }
.rs-asis-op{ min-height:42px; padding:0 14px; border-radius:999px; border:1.5px solid #e2e2e2; background:#fff; color:#111;
  font:inherit; font-size:.86rem; font-weight:600; cursor:pointer; transition:border-color .15s ease, background-color .15s ease, color .15s ease; }
.rs-asis-op:hover{ border-color:#111; }
.rs-asis-op.on{ background:#111; border-color:#111; color:#fff; }
.rs-asis-op--nose{ border-style:dashed; color:#666; }
.rs-asis-in{ width:100%; box-sizing:border-box; min-height:48px; margin-top:10px; padding:10px 14px; border:2px solid #d9d9d9; border-radius:11px; font:inherit; font-size:1rem; }
.rs-asis-in:focus{ outline:none; border-color:#25D366; box-shadow:0 0 0 3px rgba(37,211,102,.2); }
.rs-asis-hint{ margin:8px 0 0; font-size:.78rem; color:#777; }
.rs-asis-btns{ display:flex; flex-direction:column; gap:10px; margin-top:18px; }
.rs-asis-btn{ display:flex; align-items:center; justify-content:center; gap:8px; width:100%; min-height:48px; padding:0 16px; box-sizing:border-box;
  border-radius:11px; font:inherit; font-size:.95rem; font-weight:800; cursor:pointer; text-decoration:none; border:2px solid transparent; }
.rs-asis-btn--pri{ background:#111; color:#fff !important; }
.rs-asis-btn--pri:hover{ background:#262626; }
.rs-asis-btn--wa{ background:#25D366; color:#fff !important; }
.rs-asis-btn--wa:hover{ background:#1ebe5a; }
.rs-asis-btn--sec{ background:#fff; color:#111 !important; border-color:#111; }
.rs-asis-btn[disabled]{ opacity:.45; cursor:not-allowed; }
.rs-asis-nav{ display:flex; justify-content:space-between; align-items:center; margin-top:14px; }
.rs-asis-link{ background:none; border:0; padding:6px 0; font:inherit; font-size:.82rem; color:#777; text-decoration:underline; cursor:pointer; }
.rs-asis-res{ margin:0; padding:0; }
.rs-asis-res div{ display:flex; justify-content:space-between; gap:14px; padding:8px 0; border-bottom:1px solid #eee; font-size:.9rem; }
.rs-asis-res dt{ color:#777; } .rs-asis-res dd{ margin:0; font-weight:700; text-align:right; }
.rs-asis-nota{ margin:10px 0 0; font-size:.74rem; color:#888; text-align:center; }
.rs-asis-anim{ animation:rsAsisIn .22s ease; }
@keyframes rsAsisIn{ from{ opacity:0; transform:translateX(10px); } to{ opacity:1; transform:none; } }
html.rs-asis-abierto, html.rs-asis-abierto body{ overflow:hidden !important; }
@media (max-width:520px){
  .rs-asis{ padding:0; align-items:flex-end; }
  .rs-asis-caja{ max-width:none; border-radius:18px 18px 0 0; max-height:92vh; padding:20px 16px calc(16px + env(safe-area-inset-bottom,0px)); }
  .rs-asis-prods{ grid-template-columns:repeat(2,1fr); }
}
/* Teclado del celular: el script mide la parte visible de la pantalla
   (visualViewport) y la hoja se apoya justo encima del teclado */
.rs-asis.rs-asis-kb{ bottom:auto; height:var(--rs-asis-vh, 100%); top:var(--rs-asis-top, 0); }
.rs-asis.rs-asis-kb .rs-asis-caja{ max-height:calc(var(--rs-asis-vh, 100vh) - 12px); }
/* Buscador de producto */
.rs-asis-bus{ position:relative; }
.rs-asis-bus .rs-asis-in{ padding-left:42px; }
.rs-asis-bus svg{ position:absolute; left:14px; top:50%; margin-top:5px; transform:translateY(-50%); width:18px; height:18px; color:#999; pointer-events:none; }
.rs-asis-hits{ display:flex; flex-direction:column; gap:6px; margin-top:12px; }
.rs-asis-hit{ display:flex; align-items:center; gap:12px; width:100%; min-height:52px; padding:6px 12px 6px 6px; box-sizing:border-box; text-align:left; cursor:pointer;
  font:inherit; background:#fff; border:1.5px solid #ececec; border-radius:14px; transition:border-color .15s ease, background-color .15s ease; }
.rs-asis-hit:hover, .rs-asis-hit:focus-visible{ border-color:#111; outline:none; }
.rs-asis-hit img, .rs-asis-hit i{ width:42px; height:42px; flex:none; border-radius:10px; object-fit:cover; background:#f1f3ee; }
.rs-asis-hit i{ display:flex; align-items:center; justify-content:center; font-style:normal; font-size:18px; }
.rs-asis-hit b{ flex:1; font-size:.92rem; font-weight:700; color:#111; line-height:1.25; }
.rs-asis-hit span{ color:#999; font-size:1.1rem; }
.rs-asis-avi{ margin-top:12px; padding:12px 14px; border-radius:14px; font-size:.86rem; line-height:1.5; }
.rs-asis-avi--no{ background:#fff4f2; color:#7a2413; border:1px solid #f7d4cc; }
.rs-asis-avi--nada{ background:#f6f7f4; color:#444; }
.rs-asis-avi b{ display:block; margin-bottom:2px; }
/* ── Cotizar aquí (2026-09-26): precio del cotizador real de cada página ── */
.rs-asis-hit b small{ display:block; margin-top:2px; font-size:.76rem; font-weight:700; color:#3b6d00; }
.rs-asis-carga{ display:flex; align-items:center; gap:12px; padding:22px 4px; color:#555; font-size:.9rem; }
.rs-asis-carga i{ width:22px; height:22px; flex:none; border-radius:50%; border:3px solid #e3e3e3; border-top-color:#111; animation:rsAsisGira .8s linear infinite; }
@keyframes rsAsisGira{ to{ transform:rotate(360deg); } }
.rs-asis-mops{ display:flex; flex-direction:column; gap:8px; }
.rs-asis-mop{ display:flex; align-items:center; gap:12px; width:100%; min-height:52px; padding:10px 14px; box-sizing:border-box; text-align:left; cursor:pointer;
  font:inherit; background:#fff; border:1.5px solid #e6e6e6; border-radius:13px; transition:border-color .15s ease, background-color .15s ease; }
.rs-asis-mop:hover, .rs-asis-mop:focus-visible{ border-color:#111; outline:none; }
.rs-asis-mop.on{ border-color:#111; background:#f6f7f4; }
.rs-asis-mop img{ width:46px; height:46px; flex:none; border-radius:9px; object-fit:cover; background:#f1f1f1; }
.rs-asis-mop span{ flex:1; min-width:0; }
.rs-asis-mop b{ display:block; font-size:.92rem; font-weight:800; color:#111; line-height:1.25; }
.rs-asis-mop small{ display:block; margin-top:2px; font-size:.76rem; color:#777; line-height:1.35; }
.rs-asis-mop em{ display:block; margin-top:3px; font-style:normal; font-size:.8rem; font-weight:800; color:#3b6d00; }
.rs-asis-mcs{ display:flex; gap:10px; }
.rs-asis-mc{ flex:1 1 0; min-width:0; position:relative; display:block; }
.rs-asis-mc > span{ display:block; margin:0 0 -4px; font-size:.74rem; font-weight:700; color:#666; }
.rs-asis-mc em{ position:absolute; right:14px; bottom:14px; font-style:normal; font-size:.82rem; color:#888; pointer-events:none; }
.rs-asis-mc .rs-asis-in{ padding-right:62px; }
.rs-asis-atajos{ margin-top:10px; }
.rs-asis-atajos .rs-asis-op{ min-height:38px; font-size:.82rem; }
.rs-asis-hint--err{ color:#b3261e; font-weight:600; }
.rs-asis-tabla{ margin:12px 0 0; padding:10px 12px; border-radius:12px; background:#f6f7f4; }
.rs-asis-tabla div{ display:flex; justify-content:space-between; gap:12px; padding:4px 0; font-size:.8rem; }
.rs-asis-tabla dt{ color:#666; } .rs-asis-tabla dd{ margin:0; font-weight:700; text-align:right; } .rs-asis-tabla small{ font-weight:400; color:#888; }
.rs-asis-total{ margin:14px 0 0; padding:14px 16px; border-radius:14px; background:#111; color:#fff; }
.rs-asis-total span{ display:block; font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#bbb; }
.rs-asis-total b{ display:block; margin-top:2px; font-size:1.9rem; font-weight:800; line-height:1.1; color:#bdff06; }
.rs-asis-total small{ display:block; margin-top:4px; font-size:.76rem; color:#bbb; }
.rs-asis-btn--ok{ background:#f5fbe8; color:#2f5200 !important; border-color:#7DC900; }
.rs-asis-link--pag{ color:#111; font-weight:700; text-decoration:underline; }
.rs-asis-res dd{ overflow-wrap:anywhere; }
@media (max-width:520px){ .rs-asis-mcs{ gap:8px; } .rs-asis-total b{ font-size:1.7rem; } }
@media (prefers-reduced-motion:reduce){ .rs-asis-fondo,.rs-asis-caja{ transition:none; } .rs-asis-anim{ animation:none; } .rs-asis-carga i{ animation-duration:2s; } }
