/* Nessi, recepcionista virtual. Mismos colores que la web: carbon #202124 y rojo #c9362d. */
.nessi{--n-ch:#202124;--n-ch2:#2a2c31;--n-red:#c9362d;--n-red2:#ff6a5f;--n-txt:#f4f1ec;--n-mut:#b4b6ba;position:fixed;right:16px;bottom:16px;z-index:2147483000;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.4;color:var(--n-txt)}
.nessi *{box-sizing:border-box}
.nessi button{font:inherit;color:inherit;cursor:pointer}
.nessi-launch{display:block;width:68px;height:68px;padding:0;border:3px solid var(--n-red);border-radius:50%;background:#fbe9c9;overflow:hidden;box-shadow:0 8px 26px rgba(0,0,0,.5),0 0 0 0 rgba(201,54,45,.5);transition:transform .15s ease}
.nessi-launch:hover{transform:scale(1.06)}
.nessi-launch:focus-visible,.nessi button:focus-visible,.nessi a:focus-visible,.nessi-input:focus-visible{outline:3px solid #fff;outline-offset:2px}
.nessi-face{display:block;width:100%;height:100%;object-fit:cover}
.nessi.open .nessi-launch{display:none}
.nessi-hello{position:absolute;right:0;bottom:84px;width:248px;background:var(--n-ch);border:2px solid var(--n-red);border-radius:16px 16px 4px 16px;box-shadow:0 12px 34px rgba(0,0,0,.5);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease,visibility .25s}
.nessi-hello.show{opacity:1;visibility:visible;transform:none}
.nessi-hello-t{display:block;width:100%;text-align:left;background:none;border:0;padding:12px 34px 12px 14px;font-size:14.5px;color:var(--n-txt)}
.nessi-hello-t strong{color:var(--n-red2)}
.nessi-hello-x{position:absolute;top:4px;right:4px;width:28px;height:28px;border:0;background:none;color:var(--n-mut);font-size:22px;line-height:1}
.nessi-panel{position:absolute;right:0;bottom:0;display:flex;flex-direction:column;width:372px;max-width:calc(100vw - 24px);height:min(600px,calc(100vh - 32px));height:min(600px,calc(100dvh - 32px));background:var(--n-ch);border:2px solid var(--n-red);border-radius:18px;box-shadow:0 18px 56px rgba(0,0,0,.6);overflow:hidden}
.nessi-panel[hidden]{display:none}
.nessi-head{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#17181b;border-bottom:1px solid rgba(255,255,255,.12)}
.nessi-hface{width:44px;height:44px;border-radius:50%;border:2px solid var(--n-red);background:#fbe9c9;object-fit:cover;flex:none}
.nessi-who{min-width:0;flex:1}.nessi-who b{display:block;font-size:17px}.nessi-who span{display:block;font-size:12.5px;color:var(--n-mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nessi-close{width:36px;height:36px;border:0;border-radius:50%;background:transparent;font-size:26px;line-height:1;color:var(--n-mut)}
.nessi-close:hover{background:rgba(255,255,255,.1);color:#fff}
.nessi-log{flex:1;overflow-y:auto;padding:14px 12px 6px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}
.nessi-row{display:flex;gap:8px;align-items:flex-end;max-width:92%}
.nessi-row.me{align-self:flex-end;flex-direction:row-reverse}
.nessi-mini{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--n-red);background:#fbe9c9;object-fit:cover;flex:none}
.nessi-col{min-width:0}
.nessi-bub{padding:9px 13px;border-radius:16px;background:var(--n-ch2);font-size:15px;white-space:pre-wrap;overflow-wrap:anywhere;border-bottom-left-radius:4px}
.nessi-row.me .nessi-bub{background:var(--n-red);color:#fff;border-bottom-left-radius:16px;border-bottom-right-radius:4px}
.nessi-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.nessi-act{display:inline-block;padding:7px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.35);color:#fff;text-decoration:none;font-size:13.5px;font-weight:650;background:transparent}
.nessi-act:hover{background:rgba(255,255,255,.1)}
.nessi-act.wa{background:#1f9d57;border-color:#1f9d57}.nessi-act.wa:hover{background:#25b866}
.nessi-dots{display:flex;gap:5px;padding:13px 14px;border-radius:16px;background:var(--n-ch2)}
.nessi-dots i{width:7px;height:7px;border-radius:50%;background:#9ea1a6;animation:nessi-b 1s infinite ease-in-out}
.nessi-dots i:nth-child(2){animation-delay:.15s}.nessi-dots i:nth-child(3){animation-delay:.3s}
@keyframes nessi-b{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}
.nessi-chips{display:flex;flex-wrap:wrap;gap:6px;padding:6px 12px 8px}
.nessi-chips.compact{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:8px}.nessi-chips.compact::-webkit-scrollbar{display:none}.nessi-chips.compact .nessi-chip{flex:none}
.nessi-chips.off{opacity:.5;pointer-events:none}
.nessi-chip{padding:7px 12px;border-radius:999px;border:1px solid var(--n-red);background:transparent;color:#ffd7d2;font-size:13.5px;font-weight:600}
.nessi-chip:hover{background:rgba(201,54,45,.22)}
.nessi-form{display:flex;gap:8px;padding:8px 12px 6px;border-top:1px solid rgba(255,255,255,.1)}
.nessi-input{flex:1;min-width:0;height:44px;padding:0 14px;border-radius:22px;border:1px solid rgba(255,255,255,.22);background:#17181b;color:var(--n-txt);font:inherit;font-size:16px}
.nessi-input::placeholder{color:#8b8e94}
.nessi-send{width:44px;height:44px;flex:none;border:0;border-radius:50%;background:var(--n-red);display:grid;place-items:center}
.nessi-send:disabled{opacity:.5}
.nessi-send svg{width:20px;height:20px;fill:#fff}
.nessi-note{margin:0;padding:2px 14px 10px;font-size:11.5px;line-height:1.35;color:#8b8e94}
@media (max-width:480px){
  .nessi{right:12px;bottom:12px}
  .nessi-panel{position:fixed;right:0;bottom:0;left:0;width:100%;max-width:none;height:min(82vh,640px);height:min(82dvh,640px);border-radius:18px 18px 0 0;border-width:2px 0 0}
  .nessi-hello{width:min(248px,calc(100vw - 100px))}
}
@media (prefers-reduced-motion:no-preference){
  .nessi-launch{animation:nessi-w 5s ease-in-out 4s 2}
  @keyframes nessi-w{0%,12%,100%{transform:rotate(0)}3%{transform:rotate(-9deg)}6%{transform:rotate(9deg)}9%{transform:rotate(-6deg)}}
  .nessi-panel{animation:nessi-in .22s ease-out}
  @keyframes nessi-in{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
}
@media (prefers-reduced-motion:reduce){.nessi-hello,.nessi-launch{transition:none}.nessi-dots i{animation:none}}
/* deja libre el pie de pagina para que la burbuja de Nessi no tape el credito */
.footer{padding-bottom:104px}
