/* ── Chat Widget ──────────────────────────────────────── */
#chat-widget { position:fixed; bottom:90px; right:24px; z-index:999; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; }
#chat-btn { width:52px; height:52px; border-radius:50%; background:#1a3c34; color:#fff; border:none; font-size:1.4rem; cursor:pointer; box-shadow:0 4px 16px rgba(0,0,0,.25); display:flex; align-items:center; justify-content:center; transition:transform .2s; position:relative; }
#chat-btn:hover { transform:scale(1.1); }
#chat-unread { position:absolute; top:-4px; right:-4px; background:#ef4444; color:#fff; font-size:.65rem; font-weight:700; border-radius:10px; padding:2px 5px; min-width:18px; text-align:center; display:none; }
#chat-panel { position:fixed; bottom:90px; right:24px; width:340px; height:480px; background:#fff; border-radius:16px; box-shadow:0 8px 40px rgba(0,0,0,.18); display:none; flex-direction:column; overflow:hidden; }
#chat-panel.open { display:flex; }
#chat-header { background:#1a3c34; color:#fff; padding:14px 16px; display:flex; align-items:center; gap:10px; flex-shrink:0; }
#chat-header-title { flex:1; font-weight:700; font-size:.92rem; }
#chat-header-sub { font-size:.72rem; opacity:.75; margin-top:2px; }
#chat-status-dot { width:9px; height:9px; border-radius:50%; background:#f59e0b; flex-shrink:0; }
#chat-close { background:none; border:none; color:rgba(255,255,255,.8); cursor:pointer; font-size:1.1rem; padding:0; line-height:1; }
#chat-msgs { flex:1; overflow-y:auto; padding:14px; display:flex; flex-direction:column; gap:8px; background:#f9fafb; }
.chat-msg { max-width:82%; padding:9px 13px; border-radius:12px; font-size:.85rem; line-height:1.5; word-break:break-word; animation:cfadeIn .2s ease; }
@keyframes cfadeIn { from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:none} }
.chat-msg-turista { background:#1a3c34; color:#fff; align-self:flex-end; border-radius:12px 12px 3px 12px; }
.chat-msg-ia,.chat-msg-admin { background:#fff; color:#1a1a1a; align-self:flex-start; border-radius:12px 12px 12px 3px; box-shadow:0 1px 4px rgba(0,0,0,.08); }
.chat-sender { font-size:.7rem; color:#6b7280; font-weight:600; margin-bottom:3px; }
.chat-typing { background:#fff; align-self:flex-start; border-radius:12px; padding:10px 14px; display:flex; gap:4px; align-items:center; box-shadow:0 1px 4px rgba(0,0,0,.08); }
.chat-typing span { width:7px; height:7px; background:#9ca3af; border-radius:50%; animation:ctyping .8s infinite; }
.chat-typing span:nth-child(2){animation-delay:.15s} .chat-typing span:nth-child(3){animation-delay:.3s}
@keyframes ctyping { 0%,60%,100%{transform:translateY(0)} 30%{transform:translateY(-6px)} }
#chat-input-area { padding:10px 12px; border-top:1px solid #e5e7eb; display:flex; gap:8px; background:#fff; flex-shrink:0; }
#chat-input { flex:1; border:2px solid #e5e7eb; border-radius:20px; padding:8px 14px; font-size:.88rem; outline:none; transition:border-color .2s; }
#chat-input:focus { border-color:#1a3c34; }
#chat-send-btn { background:#1a3c34; color:#fff; border:none; width:36px; height:36px; border-radius:50%; cursor:pointer; font-size:1rem; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
#chat-send-btn:hover { background:#2d5a4e; }
@media(max-width:400px){#chat-panel{width:calc(100vw - 24px);right:12px;bottom:80px;height:420px}}
