/* La burbuja de la asesora (tienda, portada) y del asistente (panel). */
.ai-fab{position:fixed;right:16px;bottom:16px;z-index:40;display:flex;align-items:center;gap:8px;border:0;border-radius:30px;background:#141413;color:#fff;padding:12px 18px 12px 14px;font:inherit;font-size:13px;cursor:pointer;box-shadow:0 8px 24px #00000030;transition:bottom .25s,transform .2s}
.ai-fab:hover{transform:translateY(-2px)}
.ai-fab svg{width:20px;height:20px;fill:#e7d6c2}
body.sticky-on .ai-fab{bottom:92px}
body.ai-open .ai-fab{display:none}
.ai-panel{position:fixed;right:16px;bottom:16px;z-index:41;width:min(400px,calc(100vw - 32px));height:min(620px,calc(100vh - 32px));display:flex;flex-direction:column;background:#fffdfb;color:#141413;border:1px solid #e0dad3;border-radius:18px;box-shadow:0 20px 60px #00000035;overflow:hidden}
.ai-panel[hidden]{display:none}
.ai-head{display:flex;align-items:center;gap:6px;padding:14px 14px 12px 18px;background:#141413;color:#fff}
.ai-head div{flex:1;display:grid;gap:2px}
.ai-head strong{font-size:15px}
.ai-head small{font-size:11px;color:#c9c3bc}
.ai-icon{background:none;border:0;color:#fff;font-size:22px;width:34px;height:34px;border-radius:50%;cursor:pointer}
.ai-icon:hover{background:#ffffff1f}
.ai-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}
.ai-msg{max-width:88%;padding:10px 13px;border-radius:14px;font-size:13.5px;line-height:1.45;word-wrap:break-word}
.ai-msg p{margin:0 0 6px}.ai-msg p:last-child{margin:0}
.ai-msg ul{margin:4px 0 6px;padding-left:18px}.ai-msg li{margin:2px 0}
.ai-msg a{color:inherit;font-weight:700;text-decoration:underline}
.ai-msg.bot{align-self:flex-start;background:#efebe6;border-bottom-left-radius:4px}
.ai-msg.me{align-self:flex-end;background:#141413;color:#fff;border-bottom-right-radius:4px}
.ai-msg.err{background:#f6e3e1}
.ai-msg.thinking{display:flex;gap:4px;padding:14px}
.ai-msg.thinking span{width:7px;height:7px;border-radius:50%;background:#8a857f;animation:ai-dot 1s infinite ease-in-out}
.ai-msg.thinking span:nth-child(2){animation-delay:.15s}.ai-msg.thinking span:nth-child(3){animation-delay:.3s}
@keyframes ai-dot{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.ai-chips{display:flex;flex-wrap:wrap;gap:6px}
.ai-chips button{border:1px solid #d4cdc5;background:#fff;border-radius:20px;padding:7px 11px;font:inherit;font-size:12px;cursor:pointer;text-align:left}
.ai-chips button:hover{border-color:#141413}
.ai-form{display:flex;align-items:flex-end;gap:8px;padding:10px 12px;border-top:1px solid #e0dad3}
.ai-form textarea{flex:1;resize:none;min-height:42px;height:42px;margin:0;border:1px solid #d4cdc5;border-radius:14px;padding:10px 12px;font:inherit;font-size:14px;max-height:120px;background:#fff}
.ai-send{width:42px;height:42px;border-radius:50%;border:0;background:#141413;cursor:pointer;display:grid;place-items:center;flex-shrink:0}
.ai-send svg{width:18px;height:18px;fill:#fff}
.ai-foot{margin:0;padding:0 14px 10px;font-size:10.5px;color:#8a857f;text-align:center}
.ai-foot a{color:inherit}
@media(max-width:700px){.ai-fab span{display:none}.ai-fab{padding:14px}.ai-panel{right:0;bottom:0;width:100vw;height:100dvh;border-radius:0;border:0}}
@media print{.ai-fab,.ai-panel{display:none}}
.ai-fab.away{transform:translateY(160%);opacity:0;pointer-events:none}
@media (prefers-reduced-motion:reduce){.ai-fab.away{transform:none}}
