/* =====================================================================
   WIDGET DE CHAT "ARI" — estilos (antes iban inline en el HTML)
   Se sacaron del HTML por dos motivos: para poder servir una Content
   Security Policy sin 'unsafe-inline', y para que el navegador los cachee.
   Cambio de rendimiento: el latido del botón animaba `box-shadow`, que
   obliga a repintar el botón en cada cuadro, para siempre. Ahora late un
   halo aparte (#ari-halo) por `opacity`, que el compositor resuelve solo.
   ===================================================================== */
#ari-widget *{box-sizing:border-box;}
#ari-launcher{position:fixed;bottom:24px;right:24px;z-index:99998;width:62px;height:62px;padding:0;border:1px solid rgba(210,172,99,.4);border-radius:50%;background:#0e0e11;cursor:pointer;overflow:hidden;opacity:.95;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 22px rgba(210,172,99,.2),0 2px 8px rgba(0,0,0,.5);transition:transform .25s ease,opacity .25s ease;}
#ari-launcher:hover{transform:scale(1.06);opacity:1;}
#ari-launcher img{width:100%;height:100%;object-fit:cover;transform:scale(1.18);display:block;animation:ari-spin 45s linear infinite;}
/* el halo que late: mismo lugar que el botón, debajo, y solo cambia opacity */
#ari-halo{position:fixed;bottom:24px;right:24px;z-index:99997;width:62px;height:62px;border-radius:50%;pointer-events:none;box-shadow:0 6px 34px rgba(210,172,99,.42);opacity:.35;animation:ari-halo 5s ease-in-out infinite;}
@keyframes ari-halo{0%,100%{opacity:.3;}50%{opacity:1;}}
@keyframes ari-spin{from{transform:scale(1.18) rotate(0deg);}to{transform:scale(1.18) rotate(360deg);}}
@media (prefers-reduced-motion: reduce){#ari-halo{animation:none;}#ari-launcher img,.ari-emblem img{animation:none;}}
#ari-panel{position:fixed;bottom:98px;right:24px;z-index:99999;width:380px;max-width:calc(100vw - 32px);height:560px;max-height:calc(100vh - 130px);background:#0c0b0a;border:1px solid rgba(210,172,99,.2);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 30px 80px rgba(0,0,0,.6);font-family:'Archivo',system-ui,sans-serif;opacity:0;transform:translateY(12px) scale(.98);pointer-events:none;transition:opacity .22s ease,transform .22s ease;}
#ari-widget.ari-open #ari-panel{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}
#ari-widget.ari-open #ari-halo{animation:none;opacity:0;}
.ari-head{display:flex;align-items:center;gap:12px;padding:15px 16px;border-bottom:1px solid rgba(210,172,99,.18);background:linear-gradient(180deg,rgba(34,28,22,.5),#0c0b0a);}
.ari-emblem{width:36px;height:36px;border-radius:50%;flex:none;overflow:hidden;background:#0e0e11;border:1px solid rgba(210,172,99,.4);display:flex;align-items:center;justify-content:center;box-shadow:0 0 18px -4px rgba(210,172,99,.5);}
.ari-emblem img{width:100%;height:100%;object-fit:cover;transform:scale(1.18);display:block;animation:ari-spin 45s linear infinite;}
.ari-head h3{margin:0;color:#F2EEE6;font-size:15px;font-weight:700;font-family:'Bricolage Grotesque',sans-serif;letter-spacing:.2px;}
.ari-head p{margin:2px 0 0;color:#B4ABA0;font-size:11px;letter-spacing:.04em;}
.ari-head .ari-status{display:inline-block;width:7px;height:7px;border-radius:50%;background:#5fbf7a;margin-right:5px;vertical-align:middle;box-shadow:0 0 8px #5fbf7a;}
.ari-close{margin-left:auto;background:none;border:none;color:#B4ABA0;cursor:pointer;padding:6px;border-radius:8px;line-height:0;transition:color .2s,background .2s;}
.ari-close:hover{color:#F2EEE6;background:rgba(255,255,255,.05);}
.ari-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:11px;}
.ari-body::-webkit-scrollbar{width:6px;} .ari-body::-webkit-scrollbar-thumb{background:rgba(210,172,99,.25);border-radius:3px;}
.ari-msg{max-width:82%;padding:10px 13px;font-size:14px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word;}
.ari-msg.bot{align-self:flex-start;background:#171410;color:#F2EEE6;border:1px solid rgba(255,255,255,.05);border-radius:4px 14px 14px 14px;}
.ari-msg.user{align-self:flex-end;background:#221c12;color:#F2EEE6;border:1px solid rgba(210,172,99,.22);border-radius:14px 4px 14px 14px;}
.ari-typing{align-self:flex-start;display:flex;gap:4px;padding:12px 15px;background:#171410;border-radius:4px 14px 14px 14px;}
.ari-typing span{width:7px;height:7px;border-radius:50%;background:#D2AC63;opacity:.5;animation:ari-bounce 1.2s infinite ease-in-out;}
.ari-typing span:nth-child(2){animation-delay:.2s;} .ari-typing span:nth-child(3){animation-delay:.4s;}
@keyframes ari-bounce{0%,60%,100%{transform:translateY(0);opacity:.4;}30%{transform:translateY(-5px);opacity:1;}}
.ari-foot{padding:11px;border-top:1px solid rgba(210,172,99,.18);background:#0a0908;}
.ari-inputwrap{display:flex;align-items:flex-end;gap:8px;background:#171410;border:1px solid rgba(210,172,99,.2);border-radius:14px;padding:6px 6px 6px 13px;transition:border-color .2s;}
.ari-inputwrap:focus-within{border-color:#D2AC63;}
.ari-inputwrap textarea{flex:1;background:none;border:none;outline:none;resize:none;color:#F2EEE6;font-family:'Archivo',sans-serif;font-size:14px;line-height:1.4;max-height:96px;padding:6px 0;}
.ari-inputwrap textarea::placeholder{color:#B4ABA0;}
.ari-send{flex:none;width:36px;height:36px;border:none;border-radius:10px;background:linear-gradient(180deg,#F4D89A,#D2AC63);color:#1a1308;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .2s,transform .15s;}
.ari-send:hover{transform:scale(1.05);} .ari-send:disabled{opacity:.4;cursor:default;transform:none;}
.ari-legal{text-align:center;color:#7B7268;font-size:11px;margin:8px 0 2px;}
@media (max-width:440px){#ari-panel{bottom:0;right:0;width:100vw;max-width:100vw;height:100vh;max-height:100vh;border-radius:0;}#ari-launcher,#ari-halo{bottom:18px;right:18px;}}
/* con el menú móvil abierto, el launcher y su halo se retiran (antes estaba en styles.css solo para el launcher) */
.nav-open #ari-halo{opacity:0;animation:none;}
