.zcc-widget,.zcc-widget *{box-sizing:border-box}.zcc-widget{position:fixed;z-index:99990;bottom:var(--zcc-bottom);font-family:inherit;color:#18304f}.zcc-position-right{right:var(--zcc-side)}.zcc-position-left{left:var(--zcc-side)}.zcc-widget[hidden]{display:none!important}.zcc-toggle{position:relative;display:grid;width:var(--zcc-size);height:var(--zcc-size);place-items:center;padding:0;border:2px solid #fff3bf;border-radius:18px;background:var(--zcc-accent);color:var(--zcc-primary);cursor:pointer;box-shadow:0 14px 32px rgba(14,45,104,.22),0 0 0 1px rgba(20,63,144,.08);transition:transform .2s ease,box-shadow .2s ease}.zcc-toggle:hover{transform:translateY(-2px);background:#ffd454;box-shadow:0 18px 38px rgba(14,45,104,.27)}.zcc-toggle svg,.zcc-close svg,.zcc-channel-icon svg{display:block;width:24px;height:24px;fill:currentColor}.zcc-toggle-close{display:none}.zcc-widget.is-open .zcc-toggle-open{display:none}.zcc-widget.is-open .zcc-toggle-close{display:block}.zcc-panel{position:absolute;bottom:calc(var(--zcc-size) + 14px);width:min(342px,calc(100vw - 28px));overflow:hidden;border:1px solid rgba(20,63,144,.14);border-radius:20px;background:#fffdf8;box-shadow:0 24px 64px rgba(14,45,104,.18);transform-origin:bottom}.zcc-position-right .zcc-panel{right:0}.zcc-position-left .zcc-panel{left:0}.zcc-panel[hidden]{display:none}.zcc-panel-head{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:21px 20px 19px;border-bottom:4px solid var(--zcc-accent);background:linear-gradient(145deg,#143f90 0%,#0e2d68 100%);color:#fff}.zcc-panel-head:after{position:absolute;right:18px;bottom:-6px;width:42px;height:6px;border-radius:999px;background:var(--zcc-accent);content:""}.zcc-panel-head strong,.zcc-panel-head span{display:block}.zcc-panel-head strong{max-width:245px;font-size:17px;font-weight:800;line-height:1.35}.zcc-panel-head span{margin-top:5px;color:rgba(255,255,255,.76);font-size:12.5px;line-height:1.45}.zcc-close{display:grid;flex:0 0 34px;width:34px;height:34px;place-items:center;padding:0;border:1px solid rgba(255,255,255,.22);border-radius:11px;background:rgba(255,255,255,.1);color:#fff;cursor:pointer}.zcc-close:hover{background:rgba(255,255,255,.18)}.zcc-close svg{width:18px;height:18px}.zcc-channel-list{display:grid;gap:8px;padding:13px;background:#fffdf8}.zcc-channel{display:flex;align-items:center;gap:12px;min-height:58px;padding:9px 11px;border:1px solid #dce5f0;border-radius:14px;background:#fff;color:#18304f!important;text-decoration:none!important;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.zcc-channel:hover{transform:translateY(-1px);border-color:rgba(20,63,144,.32);box-shadow:0 9px 22px rgba(14,45,104,.08)}.zcc-channel-icon{display:grid;flex:0 0 40px;width:40px;height:40px;place-items:center;border-radius:12px;background:#eef3fb;color:#143f90}.zcc-channel-icon-zalo{background:#e8f3ff;color:#1484d6}.zcc-channel-icon-messenger{background:#eef1ff;color:#315ff5}.zcc-channel-icon-phone{background:#fff4c7;color:#8b6400}.zcc-channel-icon-whatsapp{background:#eaf9ef;color:#1c9b50}.zcc-channel-copy{min-width:0;flex:1}.zcc-channel-copy strong,.zcc-channel-copy small{display:block}.zcc-channel-copy strong{font-size:13.5px;font-weight:750;line-height:1.35}.zcc-channel-copy small{margin-top:3px;color:#6e7c90;font-size:11.5px}.zcc-arrow{color:#98a2b3;font-size:24px;line-height:1}.zcc-footer{display:flex;align-items:center;justify-content:center;gap:9px;padding:11px 13px 14px;border-top:1px solid #edf0f5;background:#fff;color:#5d6b7f;font-size:10.5px;text-align:center}.zcc-dots{display:inline-flex;align-items:center;gap:4px}.zcc-dots i{width:7px;height:7px;border:1.5px solid var(--zcc-accent);border-radius:50%}.zcc-dots i:first-child{border:0;background:var(--zcc-accent)}.zcc-greeting{position:absolute;right:0;bottom:calc(var(--zcc-size) + 12px);max-width:220px;padding:10px 13px;border:1px solid rgba(20,63,144,.12);border-radius:13px;background:#fffdf8;color:#143f90;font-size:12px;font-weight:750;box-shadow:0 12px 28px rgba(14,45,104,.14)}.zcc-position-left .zcc-greeting{right:auto;left:0}.zcc-widget.is-open .zcc-greeting{display:none}.zcc-animation-pulse:not(.is-open) .zcc-toggle{animation:zccPulse 2.8s ease-in-out infinite}.zcc-animation-float:not(.is-open) .zcc-toggle{animation:zccFloat 3s ease-in-out infinite}@keyframes zccPulse{0%,100%{box-shadow:0 14px 32px rgba(14,45,104,.22),0 0 0 0 rgba(255,204,65,.38)}55%{box-shadow:0 14px 32px rgba(14,45,104,.22),0 0 0 13px rgba(255,204,65,0)}}@keyframes zccFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@media(max-width:782px){.zcc-hide-mobile{display:none!important}.zcc-channel-hide-mobile{display:none!important}.zcc-widget{--zcc-side:12px}.zcc-panel{width:min(336px,calc(100vw - 24px))}.zcc-panel-head{padding:19px 17px 17px}.zcc-channel-list{padding:11px}}@media(min-width:783px){.zcc-hide-desktop{display:none!important}.zcc-channel-hide-desktop{display:none!important}}@media(prefers-reduced-motion:reduce){.zcc-widget *{animation:none!important;transition:none!important}}.zcc-widget[data-zcc-ready="1"]{display:block}.zcc-widget .zcc-toggle:focus-visible,.zcc-widget .zcc-close:focus-visible,.zcc-widget .zcc-channel:focus-visible{outline:3px solid var(--zcc-accent);outline-offset:3px}

.zcc-channel-icon img{
	display:block;
	width:100%;
	height:100%;
	padding:6px;
	object-fit:contain;
	border-radius:inherit;
}


/* FLOATING BUTTON VISUAL REFINEMENT — v1.0.4 */
.zcc-toggle{
	width:58px;
	height:58px;
	border:2px solid #fffdf8;
	border-radius:17px;
	background:#ffcc41;
	color:#143f90;
	box-shadow:0 10px 24px rgba(14,45,104,.22);
}
.zcc-toggle:hover{
	transform:translateY(-2px);
	background:#ffd454;
	box-shadow:0 14px 30px rgba(14,45,104,.25);
}
.zcc-toggle svg{
	width:27px;
	height:27px;
}
.zcc-widget.is-open .zcc-toggle{
	background:#ffcc41;
	color:#143f90;
}
.zcc-animation-pulse:not(.is-open) .zcc-toggle{
	animation:zccPulseRefined 2.8s ease-in-out infinite;
}
@keyframes zccPulseRefined{
	0%,100%{
		box-shadow:0 10px 24px rgba(14,45,104,.22),0 0 0 0 rgba(255,204,65,.34);
	}
	55%{
		box-shadow:0 10px 24px rgba(14,45,104,.22),0 0 0 10px rgba(255,204,65,0);
	}
}
@media(max-width:782px){
	.zcc-toggle{
		width:56px;
		height:56px;
		border-radius:16px;
	}
	.zcc-toggle svg{
		width:26px;
		height:26px;
	}
}
