/* Help Centre chat widget — brand-aligned, self-contained. */
.kbc-launcher {
    position: fixed; right: 22px; bottom: 22px; z-index: 9998;
    width: 58px; height: 58px; border-radius: 50%;
    background: var(--kb-primary, #334bfa); color: #fff; border: 0; cursor: pointer;
    box-shadow: 0 10px 26px rgba(13, 21, 53, .28);
    display: flex; align-items: center; justify-content: center;
    transition: transform .12s ease;
}
.kbc-launcher:hover { transform: translateY(-2px); }
.kbc-launcher svg { width: 26px; height: 26px; }
.kbc-badge {
    position: absolute; top: -3px; right: -3px; min-width: 18px; height: 18px;
    background: #ed6055; color: #fff; border-radius: 9px; font-size: 11px;
    line-height: 18px; text-align: center; padding: 0 5px; font-weight: 700;
}

.kbc-panel {
    position: fixed; right: 22px; bottom: 92px; z-index: 9999;
    width: 360px; max-width: calc(100vw - 32px); height: 520px; max-height: calc(100vh - 130px);
    background: #fff; border-radius: 16px; overflow: hidden;
    box-shadow: 0 18px 50px rgba(13, 21, 53, .28);
    display: none; flex-direction: column;
    font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.kbc-panel.kbc-open { display: flex; }

.kbc-head {
    background: linear-gradient(160deg, var(--kb-primary, #334bfa) 0%, #2336c8 100%);
    color: #fff; padding: 18px 18px 16px;
}
.kbc-head h3 { margin: 0; font-family: "Montserrat", sans-serif; font-size: 17px; }
.kbc-head p { margin: 4px 0 0; font-size: 13px; opacity: .9; }
.kbc-close { position: absolute; top: 14px; right: 14px; background: none; border: 0; color: #fff; font-size: 22px; cursor: pointer; line-height: 1; }

.kbc-body { flex: 1; overflow-y: auto; padding: 16px; background: #f5f7fd; }
.kbc-msg { margin-bottom: 12px; display: flex; }
.kbc-msg__bubble { max-width: 80%; padding: 9px 13px; border-radius: 14px; font-size: 14.5px; line-height: 1.45; word-wrap: break-word; white-space: pre-wrap; }
.kbc-msg--user { justify-content: flex-end; }
.kbc-msg--user .kbc-msg__bubble { background: var(--kb-primary, #334bfa); color: #fff; border-bottom-right-radius: 4px; }
.kbc-msg--staff .kbc-msg__bubble { background: #fff; color: #1a1a1a; border: 1px solid #e6e6e6; border-bottom-left-radius: 4px; }
.kbc-msg__meta { font-size: 11px; color: #5b6478; margin: 3px 6px 0; }

.kbc-foot { border-top: 1px solid #e3e7f7; padding: 12px; background: #fff; }
.kbc-foot textarea, .kbc-foot input[type=text], .kbc-foot input[type=email] {
    width: 100%; border: 1px solid #e3e7f7; border-radius: 9px; padding: 10px 12px;
    font: inherit; font-size: 14px; color: #1a1a1a; resize: none; margin-bottom: 8px;
}
.kbc-foot textarea { min-height: 64px; }
.kbc-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.kbc-send {
    width: 100%; background: var(--kb-primary, #334bfa); color: #fff; border: 0;
    border-radius: 9px; padding: 11px; font: inherit; font-weight: 600; cursor: pointer;
}
.kbc-send:hover { background: #2c46b8; }
.kbc-send:disabled { opacity: .6; cursor: default; }
.kbc-error { color: #c0392b; font-size: 13px; margin-bottom: 8px; }
.kbc-note { color: #5b6478; font-size: 12px; text-align: center; padding: 6px 0; }
