/* Basic widget */
#pmbs-chat-widget {
    position: fixed;
    right: 22px;
    bottom: 22px;
    width: 360px;
    max-width: calc(100% - 40px);
    font-family: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    z-index: 999999;
    box-shadow: 0 8px 24px rgba(0,0,0,0.2);
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}
#pmbs-chat-widget.pmbs-chat-collapsed { height: 54px; width: 260px; }
.pmbs-header { display:flex; align-items:center; justify-content:space-between; padding:10px 12px; background:#0b66ff; color:#fff; }
.pmbs-title { font-weight:600; }
#pmbs-toggle-btn { background:transparent; color:#fff; border:0; cursor:pointer; padding:6px 10px; border-radius:6px; }
.pmbs-body { display:block; padding:12px; background:#f7f9ff; max-height:420px; overflow:hidden; display:flex; flex-direction:column; gap:8px; }
.pmbs-intro { padding:6px 0; font-size:14px; color:#1d1d1d; }
.pmbs-msgs { flex:1; overflow:auto; padding:6px; background: #fff; border-radius:8px; border:1px solid #e6e9ef; }
.pmbs-msg { margin:8px 6px; display:flex; }
.pmbs-user { justify-content:flex-end; }
.pmbs-bot { justify-content:flex-start; }
.pmbs-bubble { max-width:78%; padding:10px 12px; border-radius:10px; line-height:1.45; font-size:14px; }
.pmbs-user .pmbs-bubble { background: #0b66ff; color:#fff; border-bottom-right-radius:3px; }
.pmbs-bot .pmbs-bubble { background:#f1f4ff; color:#111; border-bottom-left-radius:3px; }
.pmbs-typing { padding:6px 10px; font-style:italic; color:#666; text-align:left; }
.pmbs-typing .dots { animation: dots 1s steps(4, end) infinite; }
@keyframes dots { 0%,20%{ content:'' } 40%{ content:'.' } 60%{ content:'..' } 100%{ content:'...' } }

.pmbs-controls { display:flex; gap:8px; align-items:center; margin-top:8px; }
#pmbs-mode-select { flex:0 0 100%; padding:6px; border-radius:6px; border:1px solid #ddd; display:none; }
.pmbs-input { display:flex; gap:6px; width:100%; }
#pmbs-input { flex:1; padding:8px 10px; border-radius:6px; border:1px solid #ddd; }
#pmbs-send { background:#0b66ff; color:#fff; border:0; padding:8px 12px; border-radius:6px; cursor:pointer; }

.pmbs-greeting { background:#fff; border:1px dashed #e0e6ff; padding:8px; margin-bottom:6px; border-radius:6px; }

/* Word-like content style for bot replies */
.pmbs-bubble-bot p { margin:0 0 8px 0; font-family: "Times New Roman", Georgia, serif; font-size:15px; line-height:1.6; }
.pmbs-bubble-bot ul, .pmbs-bubble-bot ol { padding-left:20px; margin:8px 0; }
.pmbs-bubble-bot strong, .pmbs-bubble-bot b { font-weight:700; }

/* responsive */
@media(max-width:480px){
    #pmbs-chat-widget { width: 92%; right:4%; bottom:12px; }
}
