.bs-shoutbox{
	max-width:420px;
	width:100%;
	font-family:inherit;
	box-sizing:border-box;
}
.bs-shoutbox *{box-sizing:border-box;}

.bss-title{
	margin:0 0 14px;
	font-size:18px;
	font-weight:800;
	display:flex;
	align-items:center;
	gap:6px;
}

/* Label tersembunyi secara visual tapi tetap terbaca screen reader (aksesibilitas form) */
.bss-sr-only{
	position:absolute !important;
	width:1px;height:1px;
	padding:0;margin:-1px;
	overflow:hidden;
	clip:rect(0,0,0,0);
	white-space:nowrap;
	border:0;
}

/* ===== Kartu pembungkus (list & form) ===== */
.bss-card{
	border:1px solid #ececec;
	border-radius:16px;
	overflow:hidden;
	background:#fff;
	box-shadow:0 4px 16px rgba(0,0,0,.06);
	margin-bottom:16px;
}
.bss-card:last-child{margin-bottom:0;}

.bss-card-head{
	display:flex;
	align-items:center;
	gap:8px;
	padding:12px 14px;
	background:linear-gradient(135deg,var(--bss-grad1,#6a5cff),var(--bss-grad2,#ff5ca8));
	color:#fff;
	font-weight:700;
	font-size:13px;
}
.bss-card-head-icon{font-size:16px;}
.bss-card-head-text{flex:1 1 auto;}
.bss-live-dot{
	width:9px;height:9px;border-radius:50%;
	background:#3dffa0;
	box-shadow:0 0 0 0 rgba(61,255,160,.6);
	animation:bss-pulse 1.6s infinite;
	flex:0 0 auto;
}
@keyframes bss-pulse{
	0%{box-shadow:0 0 0 0 rgba(61,255,160,.55);}
	70%{box-shadow:0 0 0 7px rgba(61,255,160,0);}
	100%{box-shadow:0 0 0 0 rgba(61,255,160,0);}
}

/* ===== Daftar pesan (chat bubble style) ===== */
.bss-list{
	list-style:none;
	margin:0;
	padding:10px 12px !important;
	max-height:380px;
	overflow-y:auto;
	background:#fbfbfd;
}
.bss-item{
	display:flex;
	gap:10px;
	padding:10px 0;
	border-bottom:1px dashed #e6e6ee;
}
.bss-item:last-child{border-bottom:none;}

.bss-avatar{
	flex:0 0 auto;
	width:36px;height:36px;
	border-radius:50%;
	display:flex;align-items:center;justify-content:center;
	color:#fff;
	font-weight:800;
	font-size:14px;
	box-shadow:0 2px 6px rgba(0,0,0,.15);
}

.bss-item-body{flex:1 1 auto;min-width:0;}
.bss-item-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap;}
.bss-item-name{font-weight:800;font-size:13px;color:#2b2b40;}
.bss-item-time{font-size:11px;color:#9a9aab;flex:0 0 auto;}
.bss-item-song{
	display:inline-block;
	font-size:11.5px;
	color:#a5158f;
	background:#fdeaf9;
	padding:2px 8px;
	border-radius:20px;
	margin-top:4px;
	font-weight:600;
}
.bss-item-bubble{
	font-size:13px;
	color:#333;
	margin-top:6px;
	line-height:1.5;
	word-break:break-word;
	white-space:pre-line;
	background:#fff;
	border:1px solid #eee;
	border-radius:12px;
	border-top-left-radius:2px;
	padding:8px 12px;
	box-shadow:0 1px 3px rgba(0,0,0,.04);
}
.bss-empty{
	text-align:center;
	color:#999;
	font-size:13px;
	padding:24px 12px;
}

.bss-loadmore-wrap{
	padding:10px 12px 14px;
	text-align:center;
	background:#fbfbfd;
}
.bs-shoutbox .bss-loadmore-btn{
	border:1.5px solid #e4e4ee;
	background-color:#fff;
	color:var(--bss-grad1,#6a5cff);
	font-size:12.5px;
	font-weight:700;
	padding:8px 18px;
	margin:0;
	border-radius:20px;
	cursor:pointer;
	box-shadow:none;
	font-family:inherit;
	transition:background-color .15s ease, transform .1s ease;
}
.bs-shoutbox .bss-loadmore-btn:hover{background-color:#f5f3ff;}
.bs-shoutbox .bss-loadmore-btn:active{transform:scale(.97);}
.bs-shoutbox .bss-loadmore-btn:disabled{opacity:.6;cursor:not-allowed;}

/* ===== Form ===== */
.bss-form{padding:14px;background:#fff;}

.bss-typing-indicator{
	display:flex;
	align-items:center;
	gap:8px;
	padding:8px 14px;
	font-size:12px;
	color:#8a5cff;
	font-weight:600;
	background:#f6f3ff;
	border-bottom:1px solid #eee;
}
.bss-typing-dots{display:inline-flex;gap:3px;}
.bss-typing-dots i{
	width:5px;height:5px;
	border-radius:50%;
	background:#8a5cff;
	display:inline-block;
	animation:bss-typing-bounce 1.2s infinite ease-in-out;
}
.bss-typing-dots i:nth-child(2){animation-delay:.15s;}
.bss-typing-dots i:nth-child(3){animation-delay:.3s;}
@keyframes bss-typing-bounce{
	0%, 60%, 100%{transform:translateY(0);opacity:.5;}
	30%{transform:translateY(-3px);opacity:1;}
}

.bss-row{margin-bottom:10px;}
.bss-row:last-child{margin-bottom:0;}

/* Honeypot: sembunyikan sepenuhnya dari manusia tapi tetap ada di DOM untuk bot */
.bss-hp-wrap{
	position:absolute !important;
	left:-9999px !important;
	top:-9999px !important;
	width:1px;height:1px;
	overflow:hidden;
}

.bss-input{
	width:100%;
	padding:10px 12px;
	border:1.5px solid #e4e4ee;
	border-radius:10px;
	font-size:13px;
	font-family:inherit;
	background:#fbfbfd;
	color:#222;
	transition:border-color .15s ease, background .15s ease;
}
.bss-input:focus{outline:none;border-color:#8a5cff;background:#fff;}
textarea.bss-input{resize:vertical;min-height:64px;}

.bss-submit-row{display:flex;align-items:center;gap:12px;}
.bs-shoutbox .bss-submit-btn{
	padding:10px 22px;
	border:none;
	border-radius:24px;
	background:linear-gradient(135deg,var(--bss-grad1,#6a5cff),var(--bss-grad2,#ff5ca8));
	color:#fff;
	font-size:13px;
	font-weight:700;
	cursor:pointer;
	margin:0;
	box-shadow:0 4px 12px rgba(106,92,255,.35);
	transition:transform .15s ease, opacity .15s ease;
}
.bs-shoutbox .bss-submit-btn:hover{transform:translateY(-1px);opacity:.95;}
.bs-shoutbox .bss-submit-btn:active{transform:translateY(0);}
.bs-shoutbox .bss-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;}

.bss-status-msg{font-size:12px;font-weight:600;}
.bss-status-msg.bss-ok{color:#1fb579;}
.bss-status-msg.bss-err{color:#e63946;}
