/* WhatsApp Box base styles */
.wsb-container{
	position:fixed;
	bottom:20px;
	z-index:999999;
}
.wsb-right{ right:20px; }
.wsb-left{ left:20px; }

.wsb-button{
	display:flex;
	align-items:center;
	gap:.6rem;
	text-decoration:none;
	background:var(--wsb-color, #25D366);
	color:#fff;
	border-radius:999px;
	padding:.8rem 1rem;
	box-shadow:0 8px 20px rgba(0,0,0,.18);
	transition:transform .15s ease, box-shadow .15s ease, opacity .15s ease;
	opacity:.98;
	border:0;
}
.wsb-button:hover{ transform:translateY(-2px); box-shadow:0 12px 24px rgba(0,0,0,.22); opacity:1; }
.wsb-button:focus{ outline:2px solid #fff; outline-offset:3px; }

.wsb-icon{
	display:inline-flex;
	justify-content:center;
	align-items:center;
	width:44px; height:44px;
	background:rgba(255,255,255,.15);
	border-radius:999px;
	flex:0 0 44px;
}

.wsb-label{ font-weight:600; white-space:nowrap; }

/* Mobile tweak: hide label if viewport < 420px */
@media (max-width: 420px){
	.wsb-label{ display:none; }
}

/* Chat panel */
.wsb-chatpanel{
	position:fixed;
	bottom:84px;
	right:20px;
	max-width:320px;
	width:calc(100vw - 40px);
	background:#fff;
	color:#111;
	border-radius:16px;
	box-shadow:0 18px 40px rgba(0,0,0,.22);
	overflow:hidden;
	transform:translateY(20px);
	opacity:0;
	pointer-events:none;
	transition:transform .18s ease, opacity .18s ease;
}
.wsb-left .wsb-chatpanel{ left:20px; right:auto; }

.wsb-container.wsb-open .wsb-chatpanel{
	transform:translateY(0);
	opacity:1;
	pointer-events:auto;
}

.wsb-chatheader{
	display:flex; align-items:center; justify-content:space-between;
	background:var(--wsb-color, #25D366);
	color:#fff; padding:.75rem .9rem;
}
.wsb-close{ background:transparent; border:none; font-size:20px; color:#fff; cursor:pointer; }

.wsb-chatbody{ padding:.9rem; }
.wsb-text{ width:100%; border:1px solid #e3e3e3; border-radius:10px; padding:.6rem .7rem; resize:vertical; }
.wsb-send{
	margin-top:.6rem;
	display:inline-block;
	border:none; border-radius:999px; padding:.55rem .9rem;
	background:var(--wsb-color, #25D366); color:#fff; font-weight:600;
	box-shadow:0 8px 20px rgba(0,0,0,.18);
	cursor:pointer;
}
.wsb-privacy{ font-size:.8rem; opacity:.7; margin:.5rem 0 0; }
@media (max-width:420px){ .wsb-chatpanel{ bottom:76px; } }

/* THEME: IJsselStudio outline look */
.wsb-theme-ijssel .wsb-button{
	background:#fff;
	color:#111;
	border:2px solid var(--wsb-accent, #F79321);
	box-shadow:0 8px 20px rgba(247,147,33,.25);
}
.wsb-theme-ijssel .wsb-icon{
	background:transparent;
	border:2px solid var(--wsb-accent, #F79321);
}
.wsb-theme-ijssel .wsb-label{ font-weight:700; }

.wsb-theme-ijssel .wsb-chatpanel{ border:2px solid var(--wsb-accent, #F79321); }
.wsb-theme-ijssel .wsb-chatheader{
	background:#fff;
	color:#111;
	border-bottom:1px solid var(--wsb-accent, #F79321);
}
.wsb-theme-ijssel .wsb-close{ color:#111; }
.wsb-theme-ijssel .wsb-send{
	background:#fff;
	color:#111;
	border:2px solid var(--wsb-accent, #F79321);
	box-shadow:0 6px 14px rgba(247,147,33,.18);
}
.wsb-theme-ijssel .wsb-send:hover{
	background:var(--wsb-accent, #F79321);
	color:#fff;
}
