/* BS Chatbot — paleta de la casa */

/* El bot sustituye al flotante de WhatsApp de la web (Elementor Contact Buttons) */
.e-contact-buttons{display:none !important}

.bsc-btn{position:fixed;right:22px;bottom:22px;z-index:99999990;width:56px;height:56px;border-radius:50%;border:0;padding:0;cursor:pointer;background:#181513;color:#F7F1ED;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 24px rgba(24,21,19,.35);overflow:hidden;opacity:0;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease,background .2s ease,box-shadow .2s ease}
.bsc-btn.bsc-visible{opacity:1;transform:none}
.bsc-btn:hover,.bsc-btn:focus-visible{background:#9B513C;box-shadow:0 6px 24px rgba(24,21,19,.35),0 0 0 2px #9B513C}
.bsc-btn:focus-visible{outline:none}
.bsc-btn svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8}
.bsc-btn img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}

.bsc-teaser{position:fixed;right:88px;bottom:30px;z-index:99999990;background:#F7F1ED;color:#181513;border:1px solid rgba(24,21,19,.12);border-radius:14px;padding:10px 34px 10px 14px;font:400 14px/1.35 Montserrat,sans-serif;box-shadow:0 6px 20px rgba(24,21,19,.18);max-width:230px;opacity:0;transform:translateY(6px);transition:opacity .25s ease,transform .25s ease}
.bsc-teaser.bsc-visible{opacity:1;transform:none}
.bsc-teaser button{position:absolute;top:4px;right:6px;border:0;background:none;color:#6F6965;font-size:16px;cursor:pointer;line-height:1;padding:2px}

.bsc-panel{position:fixed;right:22px;bottom:90px;z-index:99999991;width:360px;height:520px;max-width:calc(100vw - 24px);max-height:calc(100vh - 110px);background:#F7F1ED;border-radius:16px;box-shadow:0 12px 48px rgba(24,21,19,.35);display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .25s ease,transform .25s ease}
.bsc-panel.bsc-abierto{opacity:1;transform:none;pointer-events:auto}

.bsc-cabecera{background:#181513;color:#F7F1ED;padding:12px 8px 11px 12px;flex:0 0 auto;display:flex;align-items:center;gap:8px}
.bsc-avatar{flex:0 0 36px;width:36px;height:36px;border-radius:50%;object-fit:cover;display:block;margin-right:2px}
.bsc-titulos{flex:1 1 auto;min-width:0}
.bsc-cabecera h3{margin:0;font:600 13.5px/1.25 Montserrat,sans-serif;color:#F7F1ED;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bsc-cabecera p{margin:2px 0 0;font:300 11.5px/1.3 Montserrat,sans-serif;color:#D5B29D;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bsc-wa-cabecera{flex:0 0 28px;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#F7F1ED;background:transparent;box-shadow:none;transition:background .2s}
.bsc-wa-cabecera:hover,.bsc-wa-cabecera:focus-visible{background:rgba(247,241,237,.15)}
.bsc-wa-cabecera:focus-visible{outline:2px solid #F7F1ED;outline-offset:1px}
.bsc-wa-cabecera svg{width:17px;height:17px;fill:currentColor}
.bsc-cerrar{flex:0 0 28px;width:28px;height:28px;border:0;border-radius:50%;background:transparent;color:#F7F1ED;font-size:15px;cursor:pointer;line-height:1;padding:0;box-shadow:none;text-shadow:none;display:flex;align-items:center;justify-content:center;transition:background .2s}
.bsc-cerrar:hover{background:rgba(247,241,237,.15);box-shadow:none}
.bsc-cerrar:focus-visible{background:rgba(247,241,237,.15);outline:2px solid #F7F1ED;outline-offset:1px;box-shadow:none}

.bsc-hilo{flex:1 1 auto;min-height:0;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px;overscroll-behavior:contain}
.bsc-msg{max-width:85%;padding:9px 12px;border-radius:14px;font:400 14px/1.45 Montserrat,sans-serif;white-space:pre-wrap}
.bsc-msg.bsc-bot{align-self:flex-start;background:#fff;color:#181513;border:1px solid rgba(24,21,19,.1);border-bottom-left-radius:4px}
.bsc-msg.bsc-usuario{align-self:flex-end;background:#181513;color:#F7F1ED;border-bottom-right-radius:4px}
/* Nada de palabras partidas: solo se rompe una "palabra" si ella sola desborda la burbuja (URL cruda kilométrica). Especificidad alta para anular reglas globales del tema. */
.bsc-panel .bsc-msg,.bsc-panel .bsc-msg p,.bsc-panel .bsc-msg a{word-break:normal !important;overflow-wrap:break-word !important;hyphens:none !important}
.bsc-panel .bsc-msg a{display:inline;white-space:normal;color:#9B513C;text-decoration:underline}
.bsc-msg.bsc-usuario a{color:#D5B29D}
.bsc-panel .bsc-msg a.bsc-wa{display:inline-flex;width:fit-content;align-items:center;gap:8px;background:#25D366;color:#fff;border-radius:999px;padding:9px 14px;margin-top:8px;font:600 13px/1.2 Montserrat,sans-serif;text-decoration:none;white-space:normal}
.bsc-panel .bsc-msg a.bsc-wa:hover,.bsc-panel .bsc-msg a.bsc-wa:focus-visible{background:#1DA851;color:#fff}
.bsc-msg a.bsc-wa svg{width:16px;height:16px;fill:currentColor;flex:0 0 auto}

.bsc-chips{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 6px}
.bsc-chips button{border:1px solid rgba(24,21,19,.25);background:#fff;color:#181513;border-radius:999px;padding:6px 12px;font:400 13px Montserrat,sans-serif;cursor:pointer;transition:background .2s,color .2s}
.bsc-chips button:hover,.bsc-chips button:focus-visible{background:#9B513C;border-color:#9B513C;color:#F7F1ED}

.bsc-escribiendo{align-self:flex-start;display:flex;gap:4px;padding:11px 14px;background:#fff;border:1px solid rgba(24,21,19,.1);border-radius:14px;border-bottom-left-radius:4px}
.bsc-escribiendo span{width:6px;height:6px;border-radius:50%;background:#6F6965;animation:bscPunto 1.1s infinite}
.bsc-escribiendo span:nth-child(2){animation-delay:.18s}
.bsc-escribiendo span:nth-child(3){animation-delay:.36s}
@keyframes bscPunto{0%,60%,100%{opacity:.3;transform:none}30%{opacity:1;transform:translateY(-3px)}}

.bsc-pie{flex:0 0 auto;border-top:1px solid rgba(24,21,19,.1);background:#F7F1ED}
.bsc-form{display:flex;align-items:flex-end;gap:8px;padding:10px 12px 6px}
.bsc-form textarea{flex:1;resize:none;border:1px solid rgba(24,21,19,.2);border-radius:12px;background:#fff;color:#181513;padding:10px 12px;font:400 14px/1.4 Montserrat,sans-serif;height:44px;max-height:96px;outline:none;box-shadow:none;transition:border-color .2s}
.bsc-form textarea:focus{border-color:#9B513C;box-shadow:none;outline:none}
.bsc-enviar{flex:0 0 44px;width:44px;height:44px;border:0;border-radius:50%;background:#181513;color:#F7F1ED;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .2s,opacity .2s}
.bsc-enviar:hover:not(:disabled),.bsc-enviar:focus-visible{background:#9B513C}
.bsc-enviar:focus-visible{outline:2px solid #181513;outline-offset:2px}
.bsc-enviar:disabled{opacity:.4;cursor:default}
.bsc-enviar svg{width:19px;height:19px;fill:currentColor;display:block}
.bsc-aviso{margin:0;padding:0 14px 9px;font:300 11px/1.4 Montserrat,sans-serif;color:#6F6965}

/* Móvil: tarjeta anclada abajo, nunca más del 70% — la web se ve detrás */
@media (max-width:767px){
  .bsc-btn{width:52px;height:52px;right:14px;bottom:14px}
  .bsc-teaser{right:76px;bottom:20px}
  .bsc-panel{right:12px;left:12px;bottom:12px;width:auto;height:auto;max-height:70vh;max-height:70svh;max-height:70dvh;border-radius:16px;box-shadow:0 10px 40px rgba(24,21,19,.4)}
}
@media (prefers-reduced-motion:reduce){
  .bsc-btn,.bsc-teaser,.bsc-panel{transition:none}
  .bsc-escribiendo span{animation:none;opacity:.6}
}
