#spcb-root,
#spcb-root *,
#spcb-root *::before,
#spcb-root *::after {
	box-sizing: border-box !important;
}

#spcb-root {
	--spcb-green: #0d6655;
	--spcb-green-dark: #073f35;
	--spcb-green-soft: #e8f1ed;
	--spcb-cream: #fff8ef;
	--spcb-cream-deep: #f3e4d2;
	--spcb-gold: #c49a63;
	--spcb-ink: #20342e;
	--spcb-muted: #6f7c77;
	--spcb-danger: #b74242;
	position: relative !important;
	z-index: 999996 !important;
	font-family: "Manrope", sans-serif !important;
	font-size: 16px !important;
	line-height: 1.5 !important;
	color: var(--spcb-ink) !important;
}

#spcb-root [hidden] {
	display: none !important;
}

#spcb-root button,
#spcb-root input,
#spcb-root label,
#spcb-root p,
#spcb-root span,
#spcb-root div {
	font-family: "Manrope", sans-serif !important;
	letter-spacing: normal;
	text-transform: none;
}

#spcb-root button,
#spcb-root input {
	appearance: none !important;
	-webkit-appearance: none !important;
}

#spcb-root button {
	margin: 0 !important;
	text-decoration: none !important;
	-webkit-tap-highlight-color: transparent;
}

#spcb-root svg {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	fill: none;
}

#spcb-root .spcb-card {
	position: fixed !important;
	right: 24px !important;
	bottom: 24px !important;
	z-index: 999999 !important;
	width: min(390px, calc(100vw - 48px)) !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid rgba(255, 255, 255, .78) !important;
	border-radius: 28px !important;
	background:
		radial-gradient(circle at 8% 4%, rgba(255,255,255,.95), transparent 34%),
		linear-gradient(145deg, #fffdf9 0%, var(--spcb-cream) 62%, #f9ead7 100%) !important;
	box-shadow: 0 28px 80px rgba(17, 45, 37, .25), 0 10px 28px rgba(17, 45, 37, .12) !important;
	overflow: hidden !important;
	isolation: isolate !important;
	opacity: 0;
	visibility: hidden;
	transform: translateY(24px) scale(.96);
	transition: opacity .35s ease, visibility .35s ease, transform .42s cubic-bezier(.2,.8,.2,1) !important;
}

#spcb-root .spcb-card.is-open {
	opacity: 1;
	visibility: visible;
	transform: translateY(0) scale(1);
}

#spcb-root .spcb-card__glow {
	position: absolute !important;
	top: -95px !important;
	right: -85px !important;
	width: 220px !important;
	height: 220px !important;
	border-radius: 50% !important;
	background: radial-gradient(circle, rgba(13,102,85,.22) 0%, rgba(13,102,85,0) 70%) !important;
	pointer-events: none !important;
}

#spcb-root .spcb-card__pattern {
	position: absolute !important;
	inset: 0 !important;
	background-image: radial-gradient(rgba(36, 73, 61, .045) .75px, transparent .75px) !important;
	background-size: 7px 7px !important;
	pointer-events: none !important;
	mix-blend-mode: multiply;
}

#spcb-root .spcb-card__inner {
	position: relative !important;
	z-index: 2 !important;
	padding: 30px 30px 27px !important;
}

#spcb-root .spcb-close {
	position: absolute !important;
	top: 14px !important;
	right: 14px !important;
	z-index: 5 !important;
	display: grid !important;
	place-items: center !important;
	width: 36px !important;
	height: 36px !important;
	padding: 0 !important;
	border: 1px solid rgba(13,102,85,.1) !important;
	border-radius: 50% !important;
	background: rgba(255,255,255,.72) !important;
	color: var(--spcb-ink) !important;
	box-shadow: 0 5px 14px rgba(30,55,47,.08) !important;
	cursor: pointer !important;
	transition: transform .2s ease, background .2s ease !important;
}

#spcb-root .spcb-close:hover {
	transform: rotate(5deg) scale(1.04) !important;
	background: #fff !important;
}

#spcb-root .spcb-close span::before,
#spcb-root .spcb-close span::after {
	content: "" !important;
	position: absolute !important;
	left: 10px !important;
	top: 17px !important;
	width: 16px !important;
	height: 1.7px !important;
	border-radius: 3px !important;
	background: currentColor !important;
}

#spcb-root .spcb-close span::before { transform: rotate(45deg) !important; }
#spcb-root .spcb-close span::after { transform: rotate(-45deg) !important; }

#spcb-root .spcb-card__badge {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	min-height: 34px !important;
	margin: 0 42px 16px 0 !important;
	padding: 7px 12px !important;
	border: 1px solid rgba(13,102,85,.12) !important;
	border-radius: 999px !important;
	background: rgba(255,255,255,.8) !important;
	color: var(--spcb-green-dark) !important;
	font-size: 11px !important;
	line-height: 1.2 !important;
	font-weight: 800 !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
	box-shadow: 0 6px 14px rgba(28,57,48,.06) !important;
}

#spcb-root .spcb-card__badge-icon {
	width: 18px !important;
	height: 18px !important;
	color: var(--spcb-green) !important;
}

#spcb-root .spcb-title {
	margin: 0 !important;
	padding: 0 !important;
	color: var(--spcb-green-dark) !important;
	font-size: 31px !important;
	line-height: 1.12 !important;
	font-weight: 800 !important;
	letter-spacing: -.045em !important;
}

#spcb-root .spcb-subtitle {
	margin: 5px 0 0 !important;
	color: #8a704d !important;
	font-size: 18px !important;
	line-height: 1.35 !important;
	font-weight: 700 !important;
}

#spcb-root .spcb-description {
	margin: 14px 0 20px !important;
	padding: 0 !important;
	color: var(--spcb-muted) !important;
	font-size: 13.5px !important;
	line-height: 1.58 !important;
	font-weight: 500 !important;
}

#spcb-root .spcb-form,
#spcb-root .spcb-fields {
	margin: 0 !important;
	padding: 0 !important;
}

#spcb-root .spcb-fields {
	display: grid !important;
	gap: 12px !important;
}

#spcb-root .spcb-field {
	margin: 0 !important;
	padding: 0 !important;
}

#spcb-root .spcb-field > label {
	display: block !important;
	margin: 0 0 6px 2px !important;
	padding: 0 !important;
	color: #43544e !important;
	font-size: 12px !important;
	line-height: 1.3 !important;
	font-weight: 800 !important;
}

#spcb-root .spcb-input-wrap {
	position: relative !important;
	margin: 0 !important;
	padding: 0 !important;
}

#spcb-root .spcb-input-wrap input {
	display: block !important;
	width: 100% !important;
	height: 52px !important;
	min-height: 52px !important;
	margin: 0 !important;
	padding: 0 15px 0 47px !important;
	border: 1px solid rgba(38,72,61,.15) !important;
	border-radius: 15px !important;
	outline: none !important;
	background: rgba(255,255,255,.94) !important;
	color: var(--spcb-ink) !important;
	font-size: 14px !important;
	line-height: 52px !important;
	font-weight: 600 !important;
	box-shadow: 0 7px 18px rgba(28,57,48,.07) !important;
	transition: border-color .2s ease, box-shadow .2s ease, background .2s ease !important;
}

#spcb-root .spcb-input-wrap input::placeholder {
	color: #a2aaa6 !important;
	opacity: 1 !important;
}

#spcb-root .spcb-input-wrap input:focus {
	border-color: rgba(13,102,85,.7) !important;
	background: #fff !important;
	box-shadow: 0 0 0 4px rgba(13,102,85,.09), 0 8px 20px rgba(28,57,48,.08) !important;
}

#spcb-root .spcb-field.is-invalid .spcb-input-wrap input {
	border-color: var(--spcb-danger) !important;
	box-shadow: 0 0 0 4px rgba(183,66,66,.08) !important;
}

#spcb-root .spcb-field.is-valid .spcb-input-wrap input {
	border-color: rgba(13,102,85,.52) !important;
}

#spcb-root .spcb-input-icon {
	position: absolute !important;
	left: 15px !important;
	top: 50% !important;
	z-index: 2 !important;
	width: 21px !important;
	height: 21px !important;
	color: var(--spcb-green) !important;
	transform: translateY(-50%) !important;
	pointer-events: none !important;
}

#spcb-root .spcb-field-error,
#spcb-root .spcb-submit-error {
	min-height: 16px !important;
	margin: 5px 2px 0 !important;
	padding: 0 !important;
	color: var(--spcb-danger) !important;
	font-size: 11px !important;
	line-height: 1.35 !important;
	font-weight: 600 !important;
}

#spcb-root .spcb-submit-error {
	min-height: 0 !important;
	margin-top: 0 !important;
	text-align: center !important;
}

#spcb-root .spcb-submit {
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 12px !important;
	width: 100% !important;
	min-height: 52px !important;
	margin: 2px 0 0 !important;
	padding: 12px 20px !important;
	border: 0 !important;
	border-radius: 999px !important;
	outline: none !important;
	background: linear-gradient(135deg, #147963 0%, #075142 100%) !important;
	color: #fff !important;
	font-size: 14px !important;
	line-height: 1.3 !important;
	font-weight: 800 !important;
	box-shadow: 0 13px 28px rgba(7,81,66,.24), inset 0 1px 0 rgba(255,255,255,.2) !important;
	cursor: pointer !important;
	overflow: hidden !important;
	transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease !important;
}

#spcb-root .spcb-submit::before {
	content: "" !important;
	position: absolute !important;
	top: -100% !important;
	left: -35% !important;
	width: 30% !important;
	height: 300% !important;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.22), transparent) !important;
	transform: rotate(18deg) !important;
	transition: left .55s ease !important;
}

#spcb-root .spcb-submit:hover:not(:disabled) {
	transform: translateY(-2px) !important;
	box-shadow: 0 16px 32px rgba(7,81,66,.3), inset 0 1px 0 rgba(255,255,255,.22) !important;
}

#spcb-root .spcb-submit:hover:not(:disabled)::before {
	left: 110% !important;
}

#spcb-root .spcb-submit:disabled {
	opacity: .62 !important;
	cursor: wait !important;
}

#spcb-root .spcb-submit__icon {
	width: 20px !important;
	height: 20px !important;
}

#spcb-root .spcb-consent {
	margin: 10px 4px 0 !important;
	padding: 0 !important;
	color: #858e8a !important;
	font-size: 10px !important;
	line-height: 1.45 !important;
	font-weight: 500 !important;
	text-align: center !important;
}

#spcb-root .spcb-consent a {
	color: var(--spcb-green) !important;
	text-decoration: underline !important;
	text-underline-offset: 2px !important;
}

#spcb-root .spcb-success {
	padding: 18px 5px 5px !important;
	text-align: center !important;
	animation: spcbSuccessIn .35s ease both !important;
}

#spcb-root .spcb-success__icon {
	display: grid !important;
	place-items: center !important;
	width: 70px !important;
	height: 70px !important;
	margin: 0 auto 16px !important;
	padding: 18px !important;
	border-radius: 50% !important;
	background: linear-gradient(145deg, #16806a, #075142) !important;
	color: #fff !important;
	box-shadow: 0 15px 30px rgba(7,81,66,.25) !important;
}

#spcb-root .spcb-success__title {
	margin: 0 !important;
	padding: 0 !important;
	color: var(--spcb-green-dark) !important;
	font-size: 24px !important;
	line-height: 1.25 !important;
	font-weight: 800 !important;
	letter-spacing: -.03em !important;
}

#spcb-root .spcb-success p {
	margin: 10px auto 0 !important;
	padding: 0 !important;
	max-width: 300px !important;
	color: var(--spcb-muted) !important;
	font-size: 13px !important;
	line-height: 1.55 !important;
	font-weight: 500 !important;
}

#spcb-root .spcb-success__close {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 170px !important;
	min-height: 46px !important;
	margin: 20px auto 0 !important;
	padding: 10px 22px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--spcb-green) !important;
	color: #fff !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	cursor: pointer !important;
}

#spcb-root .spcb-launcher {
	position: fixed !important;
	right: 24px !important;
	bottom: 24px !important;
	z-index: 999998 !important;
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	min-height: 58px !important;
	margin: 0 !important;
	padding: 7px 18px 7px 8px !important;
	border: 1px solid rgba(255,255,255,.48) !important;
	border-radius: 999px !important;
	background: linear-gradient(145deg, #12725f 0%, #07473b 100%) !important;
	color: #fff !important;
	box-shadow: 0 16px 34px rgba(3,55,44,.3), inset 0 1px 0 rgba(255,255,255,.17) !important;
	cursor: pointer !important;
	animation: spcbLauncherIn .35s ease both !important;
	transition: transform .2s ease, box-shadow .2s ease !important;
}

#spcb-root .spcb-launcher:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 19px 38px rgba(3,55,44,.36), inset 0 1px 0 rgba(255,255,255,.18) !important;
}

#spcb-root .spcb-launcher__icon {
	position: relative !important;
	z-index: 2 !important;
	display: grid !important;
	place-items: center !important;
	width: 42px !important;
	height: 42px !important;
	padding: 10px !important;
	border-radius: 50% !important;
	background: rgba(255,255,255,.14) !important;
	color: #fff !important;
}

#spcb-root .spcb-launcher__pulse {
	position: absolute !important;
	left: 8px !important;
	top: 8px !important;
	width: 42px !important;
	height: 42px !important;
	border: 1px solid rgba(255,255,255,.42) !important;
	border-radius: 50% !important;
	animation: spcbPulse 2.2s ease-out infinite !important;
}

#spcb-root .spcb-launcher__text {
	position: relative !important;
	z-index: 2 !important;
	color: #fff !important;
	font-size: 13px !important;
	line-height: 1.2 !important;
	font-weight: 800 !important;
	white-space: nowrap !important;
}

#spcb-root .spcb-honeypot {
	position: absolute !important;
	left: -99999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

@keyframes spcbLauncherIn {
	from { opacity: 0; transform: translateY(16px) scale(.94); }
	to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes spcbPulse {
	0% { opacity: .7; transform: scale(.86); }
	75%, 100% { opacity: 0; transform: scale(1.45); }
}

@keyframes spcbSuccessIn {
	from { opacity: 0; transform: translateY(12px); }
	to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 767px) {
	#spcb-root .spcb-card {
		right: 10px !important;
		bottom: 10px !important;
		width: calc(100vw - 20px) !important;
		max-height: calc(100svh - 20px) !important;
		border-radius: 25px !important;
		overflow-y: auto !important;
	}

	#spcb-root .spcb-card__inner {
		padding: 27px 20px 22px !important;
	}

	#spcb-root .spcb-title {
		font-size: 27px !important;
	}

	#spcb-root .spcb-subtitle {
		font-size: 16px !important;
	}

	#spcb-root .spcb-description {
		margin-bottom: 17px !important;
		font-size: 13px !important;
	}

	#spcb-root .spcb-launcher {
		right: 12px !important;
		bottom: 12px !important;
		min-height: 50px !important;
		padding: 6px 15px 6px 7px !important;
	}

	#spcb-root .spcb-launcher__icon,
	#spcb-root .spcb-launcher__pulse {
		width: 38px !important;
		height: 38px !important;
	}

	#spcb-root .spcb-launcher__pulse {
		left: 7px !important;
		top: 6px !important;
	}

	#spcb-root .spcb-launcher__text {
		font-size: 12px !important;
	}
}

@media (max-width: 380px) {
	#spcb-root .spcb-card__inner {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	#spcb-root .spcb-title {
		font-size: 25px !important;
	}

	#spcb-root .spcb-card__badge {
		font-size: 10px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	#spcb-root .spcb-card,
	#spcb-root .spcb-launcher,
	#spcb-root .spcb-launcher__pulse,
	#spcb-root .spcb-submit,
	#spcb-root .spcb-success {
		animation: none !important;
		transition: none !important;
	}
}

/* Тот же декоративный листок, что и в квизе */
#spcb-root .spcb-branch {
	position: absolute !important;
	right: -48px !important;
	bottom: -82px !important;
	z-index: 1 !important;
	display: block !important;
	width: 235px !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	color: rgba(196, 154, 99, .16) !important;
	fill: currentColor !important;
	pointer-events: none !important;
	transform: rotate(-5deg) !important;
}

#spcb-root .spcb-branch path:not(:first-child) {
	fill: currentColor !important;
	stroke: none !important;
}

/* Обязательное согласие на обработку персональных данных */
#spcb-root .spcb-accept-wrap {
	margin: 1px 0 0 !important;
	padding: 0 !important;
}

#spcb-root .spcb-accept {
	display: grid !important;
	grid-template-columns: 22px minmax(0, 1fr) !important;
	align-items: start !important;
	gap: 10px !important;
	margin: 0 !important;
	padding: 0 !important;
	cursor: pointer !important;
}

#spcb-root .spcb-accept input {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
}

#spcb-root .spcb-accept__box {
	display: grid !important;
	place-items: center !important;
	width: 22px !important;
	height: 22px !important;
	margin: 0 !important;
	padding: 3px !important;
	border: 1px solid rgba(13,102,85,.28) !important;
	border-radius: 7px !important;
	background: rgba(255,255,255,.88) !important;
	color: transparent !important;
	box-shadow: 0 4px 10px rgba(24,57,47,.06) !important;
	transition: background .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease !important;
}

#spcb-root .spcb-accept__box svg {
	width: 15px !important;
	height: 15px !important;
}

#spcb-root .spcb-accept input:checked + .spcb-accept__box {
	border-color: var(--spcb-green) !important;
	background: var(--spcb-green) !important;
	color: #fff !important;
	box-shadow: 0 5px 13px rgba(13,102,85,.18) !important;
}

#spcb-root .spcb-accept input:focus-visible + .spcb-accept__box {
	outline: 3px solid rgba(13,102,85,.16) !important;
	outline-offset: 2px !important;
}

#spcb-root .spcb-accept-wrap.is-invalid .spcb-accept__box {
	border-color: var(--spcb-danger) !important;
	box-shadow: 0 0 0 3px rgba(183,66,66,.08) !important;
}

#spcb-root .spcb-accept__text {
	margin: 1px 0 0 !important;
	padding: 0 !important;
	color: #737f7a !important;
	font-size: 11px !important;
	line-height: 1.45 !important;
	font-weight: 500 !important;
}

#spcb-root .spcb-accept__text a {
	color: var(--spcb-green) !important;
	font-weight: 700 !important;
	text-decoration: underline !important;
	text-underline-offset: 2px !important;
}

#spcb-root .spcb-consent-error {
	min-height: 15px !important;
	margin: 4px 0 0 32px !important;
	padding: 0 !important;
	color: var(--spcb-danger) !important;
	font-size: 11px !important;
	line-height: 1.35 !important;
}

@media (max-width: 767px) {
	#spcb-root .spcb-branch {
		right: -68px !important;
		bottom: -78px !important;
		width: 220px !important;
	}
}
