.se-wsp-widget {
	--se-wsp-green: #128c4e;
	--se-wsp-green-bright: #25d366;
	--se-wsp-green-dark: #0a6838;
	--se-wsp-surface: #fff;
	--se-wsp-text: #17251f;
	--se-wsp-muted: #52625a;
	position: fixed;
	right: max(20px, env(safe-area-inset-right));
	bottom: max(20px, env(safe-area-inset-bottom));
	z-index: 390;
	font-family: inherit;
}

body .scrollToTop {
	bottom: 92px;
}

.se-wsp-widget,
.se-wsp-widget * {
	box-sizing: border-box;
}

.se-wsp-widget .se-wsp-trigger {
	display: grid;
	width: 60px;
	height: 60px;
	min-width: 0;
	min-height: 0;
	padding: 0;
	place-items: center;
	border: 0;
	border-radius: 50%;
	background: var(--se-wsp-green-bright);
	box-shadow: 0 8px 24px rgb(11 83 45 / 28%);
	color: #fff;
	cursor: pointer;
	line-height: 1;
	text-transform: none;
	transition: transform 180ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 180ms cubic-bezier(0.16, 1, 0.3, 1);
	-webkit-tap-highlight-color: transparent;
}

.se-wsp-widget .se-wsp-trigger:is(:hover, :focus, :active) {
	min-height: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--se-wsp-green-bright);
	box-shadow: 0 8px 24px rgb(11 83 45 / 28%);
	color: #fff;
	line-height: 1;
	text-transform: none;
}

.se-wsp-widget .se-wsp-trigger:hover {
	transform: translateY(-2px);
	box-shadow: 0 11px 28px rgb(11 83 45 / 34%);
}

.se-wsp-widget .se-wsp-trigger:active {
	transform: translateY(0) scale(0.96);
}

.se-wsp-widget .se-wsp-trigger:focus-visible,
.se-wsp-widget .se-wsp-panel__close:focus-visible,
#se-wsp-dialog .wpcf7-form input:focus-visible,
#se-wsp-dialog .wpcf7-form select:focus-visible,
#se-wsp-dialog .wpcf7-form textarea:focus-visible,
#se-wsp-dialog .wpcf7-form button:focus-visible {
	outline: 3px solid #0b6540 !important;
	outline-offset: 3px !important;
}

.se-wsp-widget .se-wsp-trigger__icon {
	display: block;
	width: 32px;
	height: 32px;
	flex: 0 0 32px;
	fill: currentcolor;
}

.se-wsp-panel[hidden] {
	display: none;
}

.se-wsp-panel {
	position: absolute;
	right: 0;
	bottom: calc(100% + 12px);
	display: flex;
	width: min(360px, calc(100vw - 40px));
	max-height: calc(100vh - 112px);
	max-height: calc(100dvh - 112px);
	flex-direction: column;
	overflow: hidden;
	border: 2px solid var(--se-wsp-green);
	border-radius: 16px;
	background: var(--se-wsp-surface);
	box-shadow: 0 18px 48px rgb(17 54 35 / 24%);
	color: var(--se-wsp-text);
	animation: se-wsp-panel-in 220ms cubic-bezier(0.16, 1, 0.3, 1);
}

.se-wsp-panel__header {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 16px 14px 20px;
	background: var(--se-wsp-green);
	color: #fff;
}

.se-wsp-panel__title {
	margin: 0;
	color: inherit;
	font: inherit;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.01em;
}

.se-wsp-widget .se-wsp-panel__close {
	display: grid;
	width: 36px;
	height: 36px;
	min-width: 0;
	min-height: 0;
	flex: 0 0 auto;
	padding: 0;
	place-items: center;
	border: 0;
	border-radius: 50%;
	background: rgb(255 255 255 / 14%);
	box-shadow: none;
	color: #fff;
	cursor: pointer;
	line-height: 1;
	text-transform: none;
	transition: background-color 160ms ease-out, transform 160ms ease-out;
}

.se-wsp-widget .se-wsp-panel__close:is(:hover, :focus, :active) {
	min-height: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgb(255 255 255 / 14%);
	box-shadow: none;
	color: #fff;
	line-height: 1;
	text-transform: none;
}

.se-wsp-widget .se-wsp-panel__close:hover {
	background: rgb(255 255 255 / 24%);
}

.se-wsp-widget .se-wsp-panel__close:active {
	transform: scale(0.92);
}

.se-wsp-widget .se-wsp-panel__close svg {
	display: block;
	width: 20px;
	height: 20px;
	min-width: 20px;
	flex: 0 0 20px;
	fill: none;
	stroke: currentcolor;
	stroke-linecap: round;
	stroke-width: 2;
}

.se-wsp-panel__body {
	overflow: auto;
	padding: 20px;
	scrollbar-color: var(--se-wsp-green) #edf3ef;
	scrollbar-width: thin;
}

.se-wsp-panel__body::-webkit-scrollbar {
	width: 8px;
}

.se-wsp-panel__body::-webkit-scrollbar-track {
	background: #edf3ef;
}

.se-wsp-panel__body::-webkit-scrollbar-thumb {
	border: 2px solid #edf3ef;
	border-radius: 8px;
	background: var(--se-wsp-green);
}

#se-wsp-dialog .wpcf7,
#se-wsp-dialog .wpcf7-form {
	margin: 0 !important;
}

#se-wsp-dialog .wpcf7-form > :first-child {
	margin-top: 0 !important;
}

#se-wsp-dialog .wpcf7-form > :last-child {
	margin-bottom: 0 !important;
}

#se-wsp-dialog .se-wsp-panel__body .wpcf7-form p.w {
	display: none !important;
}

#se-wsp-dialog .wpcf7-form p {
	margin: 0 0 14px !important;
	color: var(--se-wsp-text) !important;
}

#se-wsp-dialog .wpcf7-form label {
	display: block !important;
	float: none !important;
	width: auto !important;
	max-width: none !important;
	padding: 0 !important;
	color: var(--se-wsp-text) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
}

#se-wsp-dialog .wpcf7-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
#se-wsp-dialog .wpcf7-form select,
#se-wsp-dialog .wpcf7-form textarea {
	display: block !important;
	float: none !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	margin-top: 6px !important;
	border: 1px solid #aebdb5 !important;
	border-radius: 8px !important;
	background: #fff !important;
	color: var(--se-wsp-text) !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	caret-color: var(--se-wsp-green-dark) !important;
}

#se-wsp-dialog .wpcf7-form input::placeholder,
#se-wsp-dialog .wpcf7-form textarea::placeholder {
	color: var(--se-wsp-muted) !important;
	opacity: 1 !important;
}

#se-wsp-dialog .wpcf7-form input::-webkit-input-placeholder,
#se-wsp-dialog .wpcf7-form textarea::-webkit-input-placeholder {
	color: var(--se-wsp-muted) !important;
	opacity: 1 !important;
}

#se-wsp-dialog .wpcf7-form input::-moz-placeholder,
#se-wsp-dialog .wpcf7-form textarea::-moz-placeholder {
	color: var(--se-wsp-muted) !important;
	opacity: 1 !important;
}

#se-wsp-dialog .wpcf7-form .wpcf7-list-item {
	margin: 0 !important;
}

#se-wsp-dialog .wpcf7-form .wpcf7-acceptance label {
	display: flex !important;
	float: none !important;
	width: auto !important;
	max-width: none !important;
	align-items: flex-start !important;
	gap: 9px !important;
	padding: 0 !important;
	font-size: 14px !important;
	font-weight: 400 !important;
}

#se-wsp-dialog .wpcf7-form .wpcf7-acceptance input[type="checkbox"] {
	display: block !important;
	float: none !important;
	width: 18px !important;
	height: 18px !important;
	min-width: 18px !important;
	min-height: 18px !important;
	flex: 0 0 18px !important;
	margin: 1px 0 0 !important;
	padding: 0 !important;
	accent-color: var(--se-wsp-green) !important;
}

#se-wsp-dialog .wpcf7-form input[type="submit"],
#se-wsp-dialog .wpcf7-form button[type="submit"],
#se-wsp-dialog .wpcf7-form input[type="submit"]:hover,
#se-wsp-dialog .wpcf7-form button[type="submit"]:hover,
#se-wsp-dialog .wpcf7-form input[type="submit"]:focus-visible,
#se-wsp-dialog .wpcf7-form button[type="submit"]:focus-visible,
#se-wsp-dialog .wpcf7-form input[type="submit"]:disabled,
#se-wsp-dialog .wpcf7-form button[type="submit"]:disabled {
	display: block !important;
	float: none !important;
	width: 100% !important;
	min-width: 100% !important;
	max-width: none !important;
	min-height: 46px !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	padding: 12px 18px !important;
	font-size: 19px !important;
}

#se-wsp-dialog .wpcf7-form input[type="submit"],
#se-wsp-dialog .wpcf7-form button[type="submit"] {
	border: 0 !important;
	border-radius: 8px !important;
	background: var(--se-wsp-green) !important;
	box-shadow: none !important;
	color: #fff !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-transform: none !important;
	cursor: pointer;
	transition: background-color 160ms ease-out, transform 160ms ease-out;
}

#se-wsp-dialog .wpcf7-form input[type="submit"]:hover,
#se-wsp-dialog .wpcf7-form button[type="submit"]:hover {
	background: var(--se-wsp-green-dark) !important;
	color: #fff !important;
}

#se-wsp-dialog .wpcf7-form input[type="submit"]:focus-visible,
#se-wsp-dialog .wpcf7-form button[type="submit"]:focus-visible {
	background: var(--se-wsp-green) !important;
	color: #fff !important;
}

#se-wsp-dialog .wpcf7-form input[type="submit"]:active,
#se-wsp-dialog .wpcf7-form button[type="submit"]:active {
	transform: translateY(1px) !important;
}

#se-wsp-dialog .wpcf7-form input[type="submit"]:disabled,
#se-wsp-dialog .wpcf7-form button[type="submit"]:disabled {
	background: #d9e1dc !important;
	box-shadow: none !important;
	color: var(--se-wsp-muted) !important;
	cursor: not-allowed !important;
	opacity: 1 !important;
	transform: none !important;
}

#se-wsp-dialog .wpcf7-form .wpcf7-not-valid-tip {
	margin-top: 5px !important;
	color: #a51d2d !important;
	font-size: 13px !important;
	line-height: 1.35 !important;
}

#se-wsp-dialog .wpcf7-form .wpcf7-spinner {
	margin: 10px auto 0 !important;
}

@keyframes se-wsp-panel-in {
	from {
		opacity: 0;
		transform: translateY(10px);
		filter: blur(2px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
		filter: blur(0);
	}
}

@media (max-width: 600px) {
	.se-wsp-widget {
		right: max(16px, env(safe-area-inset-right));
		bottom: max(16px, env(safe-area-inset-bottom));
	}

	.se-wsp-panel {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		width: 100%;
		max-height: calc(100vh - 64px);
		max-height: calc(100dvh - 64px);
		border-right: 0;
		border-bottom: 0;
		border-left: 0;
		border-radius: 16px 16px 0 0;
		padding-bottom: env(safe-area-inset-bottom);
	}

	.se-wsp-panel__header {
		padding-left: max(20px, env(safe-area-inset-left));
		padding-right: max(16px, env(safe-area-inset-right));
	}

	.se-wsp-panel__body {
		padding-right: max(20px, env(safe-area-inset-right));
		padding-left: max(20px, env(safe-area-inset-left));
	}
}

@media (max-width: 1024px) {
	body .scrollToTop {
		bottom: 84px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.se-wsp-widget .se-wsp-trigger,
	.se-wsp-panel,
	.se-wsp-widget .se-wsp-panel__close,
	#se-wsp-dialog .wpcf7-form input[type="submit"],
	#se-wsp-dialog .wpcf7-form button[type="submit"] {
		animation: none;
		transition: none;
	}
}
