/* ============================================================
   Floating Chat Widget — widget.css  v1.0.2
   NOTE: All positioning is handled via inline styles in PHP.
   This file ONLY handles state transitions (open/close/hide).
   ============================================================ */

/* Scoped reset */
#cw-root, #cw-root * {
	box-sizing: border-box;
	-webkit-font-smoothing: antialiased;
}

/* ── Root: transparent to mouse events by default.
      Only the visible child elements opt back in via pointer-events:auto. ── */
#cw-root {
	pointer-events: none !important;
}

/* ── Panel OPEN state ── */
#cw-root.cw-open #cw-panel {
	opacity: 1 !important;
	transform: translateY(0) scale(1) !important;
	pointer-events: auto !important;
}

/* ── Icon swap when open ── */
#cw-root.cw-open #cw-ico-chat {
	opacity: 0 !important;
	transform: rotate(90deg) scale(.4) !important;
}
#cw-root.cw-open #cw-ico-close {
	opacity: 1 !important;
	transform: rotate(0deg) scale(1) !important;
}

/* ── Pulse ring: stop when open ── */
#cw-root.cw-open #cw-ring {
	animation: none !important;
}

/* ── Launcher label hidden ── */
#cw-label.cw-hidden {
	opacity: 0 !important;
	pointer-events: none !important;
	transform: translateY(8px) !important;
}

/* ── Notification dot hidden ── */
#cw-dot.cw-hidden {
	opacity: 0 !important;
	transform: scale(0) !important;
}

/* ── Hide on mobile ── */
@media (max-width: 768px) {
	#cw-root.cw-hide-mobile {
		display: none !important;
	}
	#cw-panel {
		width: calc(100vw - 32px) !important;
	}
}

/* ── Hide scrollbar in form area ── */
#cw-form-area {
	scrollbar-width: none;
	-ms-overflow-style: none;
}
#cw-form-area::-webkit-scrollbar {
	display: none;
}
.cw-form-wrap .wpcf7-form { margin: 0 !important; }
.cw-form-wrap p { margin: 0 0 10px !important; }
.cw-form-wrap p:last-child { margin-bottom: 0 !important; }
.cw-form-wrap textarea { resize: vertical; min-height: 80px !important; }
.cw-form-wrap .wpcf7-not-valid-tip { font-size: 11px !important; color: #ef4444 !important; }
.cw-form-wrap .wpcf7-response-output {
	display: block !important; /* CF7 hides this by default — force visible */
	font-size: 12px !important; margin: 8px 0 0 !important;
	padding: 8px 12px !important; border-radius: 6px !important; border: none !important;
}
/* Success */
.cw-form-wrap .wpcf7-mail-sent-ok,
.cw-form-wrap .wpcf7-form.sent .wpcf7-response-output {
	background: #dcfce7 !important; color: #166534 !important;
}
/* Validation errors */
.cw-form-wrap .wpcf7-validation-errors,
.cw-form-wrap .wpcf7-form.invalid .wpcf7-response-output {
	background: #fef3c7 !important; color: #92400e !important;
}
/* Spam / failed to send */
.cw-form-wrap .wpcf7-mail-sent-ng,
.cw-form-wrap .wpcf7-spam-blocked,
.cw-form-wrap .wpcf7-form.failed .wpcf7-response-output,
.cw-form-wrap .wpcf7-form.spam .wpcf7-response-output {
	background: #fee2e2 !important; color: #991b1b !important;
}
