#wfc-widget, #wfc-widget *,
#wfc-overlay, #wfc-overlay * {
	box-sizing: border-box !important;
}
.wfc-widget {
	position: fixed;
	bottom: 24px;
	z-index: 999998;
	display: flex;
	align-items: flex-end;
	gap: 10px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
.wfc-widget.wfc-pos-right { right: 24px; flex-direction: row; }
.wfc-widget.wfc-pos-left { left: 24px; flex-direction: row-reverse; }

#wfc-fab {
	position: relative !important;
	width: 60px !important;
	height: 60px !important;
	min-width: 60px !important;
	min-height: 60px !important;
	max-width: 60px !important;
	max-height: 60px !important;
	padding: 0 !important;
	margin: 0 !important;
	border-radius: 50% !important;
	background: var(--wfc-button, #25D366) !important;
	color: #fff !important;
	border: none !important;
	outline: none !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer;
	box-shadow: 0 6px 20px rgba(0,0,0,.25) !important;
	transition: transform .15s ease;
	line-height: normal !important;
	font-size: 0 !important;
	overflow: visible !important;
	z-index: 1;
}
#wfc-fab:hover { transform: scale(1.06); }
#wfc-fab::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	box-shadow: 0 0 0 0 color-mix(in srgb, var(--wfc-button, #25D366) 55%, transparent);
	animation: wfc-pulse 2.4s ease-out infinite;
	pointer-events: none;
	z-index: -1;
}
@keyframes wfc-pulse {
	0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--wfc-button, #25D366) 45%, transparent); }
	70% { box-shadow: 0 0 0 16px color-mix(in srgb, var(--wfc-button, #25D366) 0%, transparent); }
	100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--wfc-button, #25D366) 0%, transparent); }
}
@media (prefers-reduced-motion: reduce) {
	#wfc-fab::after { animation: none; }
}
#wfc-fab .wfc-fab-icon {
	display: block !important;
	width: 30px !important;
	height: 30px !important;
	min-width: 30px !important;
	min-height: 30px !important;
	color: #fff !important;
	fill: #fff !important;
	flex-shrink: 0;
}
#wfc-fab .wfc-fab-icon path { fill: #fff !important; }

.wfc-bubble {
	position: relative;
	background: #fff;
	color: #1f2937;
	padding: 10px 32px 10px 14px;
	border-radius: 12px;
	box-shadow: 0 6px 20px rgba(0,0,0,.15);
	font-size: 14px;
	max-width: 220px;
	line-height: 1.4;
	opacity: 0;
	transform: translateY(6px);
	pointer-events: none;
	transition: opacity .3s ease, transform .3s ease;
}
.wfc-bubble.wfc-bubble-visible {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}
.wfc-bubble-close {
	position: absolute !important;
	top: 8px !important;
	right: 8px !important;
	width: 18px !important;
	height: 18px !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: none !important;
	border: none !important;
	border-radius: 50% !important;
	font-size: 14px !important;
	line-height: 1 !important;
	cursor: pointer;
	color: #9ca3af !important;
}
.wfc-bubble-close:hover { background: rgba(0,0,0,.06) !important; }

.wfc-overlay {
	position: fixed;
	inset: 0;
	background: rgba(15, 23, 42, .35);
	z-index: 999999;
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	padding: 24px;
}
.wfc-overlay[hidden] { display: none; }

.wfc-panel {
	--wfc-panel-bg: #f7f7f8;
	--wfc-card-bg: #ffffff;
	--wfc-field-bg: #ffffff;
	--wfc-field-border: #9aa3ad;
	--wfc-field-text: #111827;
	--wfc-label: #4b5563;
	--wfc-body-text: #374151;
	--wfc-heading-text: #111827;

	width: 100%;
	max-width: 360px;
	max-height: min(640px, calc(100vh - 48px));
	background: var(--wfc-panel-bg);
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 20px 60px rgba(0,0,0,.3);
	display: flex;
	flex-direction: column;
	animation: wfc-pop-in .2s ease;
	color-scheme: light;
}
.wfc-panel.wfc-theme-dark {
	--wfc-panel-bg: #10151a;
	--wfc-card-bg: #1b2229;
	--wfc-field-bg: #232b33;
	--wfc-field-border: #5b6672;
	--wfc-field-text: #f3f4f6;
	--wfc-label: #cbd5e1;
	--wfc-body-text: #d1d5db;
	--wfc-heading-text: #f3f4f6;
	color-scheme: dark;
}
@media (prefers-color-scheme: dark) {
	.wfc-panel.wfc-theme-auto {
		--wfc-panel-bg: #10151a;
		--wfc-card-bg: #1b2229;
		--wfc-field-bg: #232b33;
		--wfc-field-border: #5b6672;
		--wfc-field-text: #f3f4f6;
		--wfc-label: #cbd5e1;
		--wfc-body-text: #d1d5db;
		--wfc-heading-text: #f3f4f6;
		color-scheme: dark;
	}
}
@keyframes wfc-pop-in {
	from { opacity: 0; transform: translateY(16px) scale(.98); }
	to { opacity: 1; transform: translateY(0) scale(1); }
}

.wfc-panel-header {
	background: var(--wfc-brand, #128C7E);
	color: #fff;
	padding: 14px 16px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.wfc-panel-header-left { display: flex; align-items: center; gap: 10px; }
.wfc-panel-header strong { font-size: 15px; }

#wfc-panel-close {
	width: 28px !important;
	height: 28px !important;
	min-width: 28px !important;
	min-height: 28px !important;
	max-width: 28px !important;
	max-height: 28px !important;
	padding: 0 !important;
	margin: 0 !important;
	border-radius: 50% !important;
	background: rgba(255,255,255,.15) !important;
	border: none !important;
	outline: none !important;
	color: #fff !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 18px !important;
	line-height: 1 !important;
	cursor: pointer;
	box-shadow: none !important;
}

.wfc-avatar, .wfc-intro-avatar {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}
.wfc-intro-avatar { width: 30px; height: 30px; }
.wfc-avatar-fallback {
	background: rgba(255,255,255,.25);
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
	color: #fff;
}
.wfc-panel-body .wfc-avatar-fallback {
	background: var(--wfc-brand, #128C7E);
	color: #fff;
}

.wfc-panel-body {
	padding: 16px;
	overflow-y: auto;
}

.wfc-intro-row {
	display: flex;
	gap: 10px;
	background: var(--wfc-card-bg);
	border-radius: 12px;
	padding: 12px;
	margin-bottom: 14px;
	box-shadow: 0 1px 2px rgba(0,0,0,.06);
}
.wfc-intro-text {
	margin: 0;
	font-size: 13px;
	line-height: 1.5;
	color: var(--wfc-body-text);
}

.wfc-fields-card {
	background: var(--wfc-card-bg);
	border-radius: 12px;
	padding: 14px;
	box-shadow: 0 1px 2px rgba(0,0,0,.06);
	margin-bottom: 12px;
}
.wfc-fields-title {
	display: block;
	font-size: 13px;
	color: var(--wfc-heading-text);
	margin-bottom: 10px;
}
.wfc-field-row {
	display: flex;
	gap: 10px;
}
.wfc-field-row .wfc-field { flex: 1; }
.wfc-field { margin-bottom: 12px; }

#wfc-overlay .wfc-field label {
	display: block !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	color: var(--wfc-label) !important;
	margin: 0 0 4px !important;
	line-height: 1.3 !important;
}
#wfc-overlay .wfc-field input,
#wfc-overlay .wfc-field textarea {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	height: 36px !important;
	min-height: 36px !important;
	max-height: none !important;
	background: var(--wfc-field-bg) !important;
	color: var(--wfc-field-text) !important;
	border: 1px solid var(--wfc-field-border) !important;
	border-radius: 8px !important;
	padding: 8px 10px !important;
	margin: 0 !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
	box-sizing: border-box !important;
	font-family: inherit !important;
	font-weight: 400 !important;
	box-shadow: none !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	vertical-align: middle !important;
}
#wfc-overlay .wfc-field textarea {
	height: auto !important;
	min-height: 60px !important;
}
#wfc-overlay .wfc-field input:focus,
#wfc-overlay .wfc-field textarea:focus {
	outline: none !important;
	border-color: var(--wfc-brand, #128C7E) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--wfc-brand, #128C7E) 18%, transparent) !important;
}

#wfc-overlay .wfc-consent {
	display: flex !important;
	align-items: flex-start !important;
	gap: 8px !important;
	font-size: 12px !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	color: var(--wfc-label) !important;
	cursor: pointer;
	margin: 4px 0 0 !important;
}
#wfc-overlay .wfc-consent input {
	width: 15px !important;
	height: 15px !important;
	min-width: 15px !important;
	min-height: 15px !important;
	margin: 2px 0 0 !important;
	flex-shrink: 0;
}

#wfc-submit-btn {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	border: none !important;
	color: #fff !important;
	font-weight: 600 !important;
	font-size: 13.5px !important;
	line-height: 1.3 !important;
	padding: 10px 12px !important;
	margin: 0 !important;
	border-radius: 10px !important;
	cursor: pointer;
	transition: filter .15s ease;
	box-shadow: none !important;
	text-transform: none !important;
	letter-spacing: normal !important;
}
#wfc-submit-btn:hover { filter: brightness(.95); }
#wfc-submit-btn:disabled { opacity: .6 !important; cursor: not-allowed; }

.wfc-field-error input,
.wfc-field-error textarea { border-color: #dc2626 !important; }

@media (max-width: 480px) {
	.wfc-overlay { padding: 0; align-items: stretch; }
	.wfc-panel { max-width: none; max-height: none; border-radius: 0; height: 100%; }
	.wfc-widget.wfc-pos-right { right: 16px; }
	.wfc-widget.wfc-pos-left { left: 16px; }
	.wfc-widget { bottom: 16px; }
}
