/* C71 Chat — interfaz pública aislada de estilos del theme */
.c71-chat { --c71-chat-ink:#18212b; --c71-chat-accent:#18212b; --c71-chat-surface:#fff; --c71-chat-muted:#65717b; position:fixed; z-index:2147483000; bottom:24px; right:24px; font-family:Arial,Helvetica,sans-serif; font-size:14px; line-height:1.5; box-sizing:border-box; }
.c71-chat *, .c71-chat *::before, .c71-chat *::after { box-sizing:border-box; }
.c71-chat button { font-family:inherit; cursor:pointer; }
.c71-chat button:focus-visible { outline:3px solid #6a9ee8; outline-offset:3px; }
.c71-chat__launcher { width:60px; height:60px; border:0; border-radius:50%; background:var(--c71-chat-accent); color:white; display:grid; place-items:center; box-shadow:0 6px 25px rgba(0,0,0,.2); margin-left:auto; transition:transform .18s ease; padding:16px; }
.c71-chat__launcher:hover { transform:translateY(-2px); }
.c71-chat__launcher svg { width:27px; height:27px; }
.c71-chat__launcher-close { display:none; }
.c71-chat--open .c71-chat__launcher-open { display:none; }
.c71-chat--open .c71-chat__launcher-close { display:block; }
.c71-chat__panel { width:min(360px,calc(100vw - 32px)); height:min(480px,calc(100dvh - 116px)); min-height:260px; display:flex; flex-direction:column; background:var(--c71-chat-surface); color:var(--c71-chat-ink); border:1px solid #e4e7eb; border-radius:18px; box-shadow:0 14px 55px rgba(0,0,0,.17); overflow:hidden; margin-bottom:14px; }
.c71-chat__panel[hidden] { display:none !important; }
.c71-chat__header { display:flex; align-items:center; gap:11px; background:var(--c71-chat-header, #18212b); color:#fff; padding:16px; flex-shrink:0; }
.c71-chat__avatar { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,.12); flex-shrink:0; }
.c71-chat__avatar svg { width:25px; height:25px; }
.c71-chat__header-text { flex:1; min-width:0; }
.c71-chat__header-text strong { display:block; font-size:15px; color:inherit; line-height:1.3; }
.c71-chat__header-text small { display:block; font-size:11px; opacity:.78; line-height:1.4; margin-top:4px; color:inherit; }
.c71-chat__close { border:0; background:none; color:inherit; width:30px; height:30px; display:grid; place-items:center; padding:5px; border-radius:6px; }
.c71-chat__close:hover { background:rgba(255,255,255,.1); }
.c71-chat__close svg { width:20px; height:20px; }
.c71-chat__content { flex:1; padding:21px 17px; overflow-y:auto; background:#fafbfc; }
.c71-chat__bubble { background:#fff; border:1px solid #e5e9ed; padding:12px 14px; max-width:92%; border-radius:4px 14px 14px 14px; font-size:14px; line-height:1.5; color:#18212b; }
.c71-chat__notice { font-size:11px; margin:16px 2px; color:#68747c; }
.c71-chat__compose { padding:12px; display:flex; gap:8px; border-top:1px solid #e7e9eb; flex-shrink:0; background:white; }
.c71-chat__compose input { flex:1; min-width:0; padding:11px 12px; border:1px solid #e4e7eb; border-radius:10px; background:#f4f5f7; color:#65717b; font-family:inherit; font-size:13px; box-shadow:none; }
.c71-chat__compose input:disabled { opacity:1; cursor:not-allowed; }
.c71-chat__compose button { width:41px; height:41px; border:0; background:#e6e8eb; color:#7a8590; border-radius:10px; display:grid; place-items:center; padding:10px; }
.c71-chat__compose button:disabled { cursor:not-allowed; }
.c71-chat__compose svg { width:20px; height:20px; }
@media (max-width:480px) { .c71-chat { right:16px; bottom:16px; } .c71-chat__panel { width:calc(100vw - 32px); height:min(470px,calc(100dvh - 100px)); } }
@media (prefers-reduced-motion:reduce) { .c71-chat__launcher { transition:none; } }

/* v0.1.2 - interacción y preguntas frecuentes */
.c71-chat__messages { display:flex; flex-direction:column; gap:10px; margin-top:12px; }
.c71-chat__bubble { white-space:pre-wrap; overflow-wrap:anywhere; }
.c71-chat__bubble--user { align-self:flex-end; background:#e9eef2; border-color:#dae1e8; border-radius:14px 4px 14px 14px; }
.c71-chat__suggestions { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.c71-chat .c71-chat__suggestion { padding:6px 9px; border:1px solid #d3dbe2; background:#fff; color:#18212b; border-radius:20px; text-align:left; font-size:12px; }
.c71-chat .c71-chat__suggestion:hover { background:#eef2f5; }
.c71-chat__compose input:not(:disabled) { background:white; color:#18212b; }
.c71-chat__compose button:not(:disabled) { background:#18212b; color:white; }

/* 0.1.6: imagen opcional del asistente, sin modificar el tamaño del encabezado. */
.c71-chat__avatar { overflow:hidden; }
.c71-chat__avatar .c71-chat__avatar-image { display:block; width:100%; height:100%; object-fit:contain; max-width:none; border:0; border-radius:50%; box-shadow:none; margin:0; padding:0; }

/* v0.2.0: captura voluntaria de consultas no resueltas, sin alterar el diseño anterior. */
.c71-chat__inquiry[hidden] { display:none !important; }
.c71-chat__inquiry { margin-top:12px; padding:14px; background:#fff; border:1px solid #dce2e8; border-radius:12px; }
.c71-chat__inquiry-title { margin:0 0 4px; font-weight:700; font-size:14px; }
.c71-chat__inquiry-hint { margin:0 0 12px; font-size:12px; color:#65717b; }
.c71-chat__inquiry form { display:flex; flex-direction:column; gap:9px; }
.c71-chat__inquiry label:not(.c71-chat__consent):not(.c71-chat__honeypot) { display:flex; flex-direction:column; gap:4px; font-size:12px; font-weight:600; }
.c71-chat__inquiry input:not([type=checkbox]),.c71-chat__inquiry textarea { display:block; width:100%; background:white; color:#18212b; padding:8px; border:1px solid #c9d2dc; border-radius:7px; font:inherit; font-size:13px; }
.c71-chat__inquiry textarea { resize:vertical; }
.c71-chat__inquiry .c71-chat__honeypot { position:absolute !important; left:-99999px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.c71-chat__consent { display:flex; align-items:flex-start; gap:7px; font-size:11px; }
.c71-chat__consent input { flex:none; margin:2px 0 0; }
.c71-chat__privacy { font-size:11px; color:#1d5b80; }
.c71-chat__form-actions { display:flex; gap:7px; }
.c71-chat .c71-chat__form-actions button,.c71-chat .c71-chat__offer { border:1px solid #c5cdd6; border-radius:8px; padding:8px 10px; background:#fff; color:#18212b; font:inherit; font-size:12px; text-align:center; }
.c71-chat .c71-chat__form-actions button[type=submit],.c71-chat .c71-chat__offer { background:var(--c71-chat-accent); color:#fff; border-color:var(--c71-chat-accent); }
.c71-chat .c71-chat__offer { display:block; margin-top:8px; width:fit-content; max-width:100%; }
.c71-chat__form-status { margin:0; font-size:12px; color:#58636d; }
.c71-chat__form-actions button:disabled { opacity:.55; cursor:wait; }

/* v0.2.0.3: selector de departamentos coherente con los campos existentes. */
.c71-chat__inquiry select { display:block; width:100%; background:white; color:#18212b; padding:8px; border:1px solid #c9d2dc; border-radius:7px; font:inherit; font-size:13px; }

/* Resultados encontrados en páginas y entradas públicas */
.c71-chat__search-result{margin:8px 0;padding:10px 12px;border:1px solid #e3e6e9;border-radius:10px;background:#fff;font-size:13px;line-height:1.5}
.c71-chat__search-result a{font-weight:650;color:var(--c71-chat-accent,#18212b);text-decoration:underline;overflow-wrap:anywhere}
.c71-chat__search-result p{margin:5px 0 0;color:#59616b;font-size:12px;line-height:1.5}
