.elementor-widget-caro_site_cta {
	width: 100%;
}

.caro-site-cta {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.7fr);
	align-items: center;
	gap: 40px;
	width: 100%;
	min-height: 447px;
	padding: 64px 60px;
	overflow: hidden;
	border-radius: 26px;
	background: radial-gradient(130% 150% at 0% 0%, #2c2822 0%, #1b1712 58%, #120f08 100%);
	box-shadow: 0 40px 90px rgba(40, 34, 22, 0.18);
	color: #fff;
	font-family: Sora, system-ui, -apple-system, sans-serif;
	transition: opacity 900ms cubic-bezier(0.16, 1, 0.3, 1), transform 900ms cubic-bezier(0.16, 1, 0.3, 1);
}

.caro-site-cta::before {
	content: "";
	position: absolute;
	z-index: 0;
	inset: -35%;
	pointer-events: none;
	opacity: 0.9;
	filter: blur(34px);
	background:
		radial-gradient(28% 38% at 22% 32%, rgba(47, 184, 154, 0.6), transparent 60%),
		radial-gradient(26% 36% at 82% 18%, rgba(240, 114, 109, 0.48), transparent 60%),
		radial-gradient(32% 42% at 68% 88%, rgba(138, 109, 240, 0.52), transparent 62%),
		radial-gradient(28% 38% at 8% 92%, rgba(201, 168, 110, 0.42), transparent 60%);
	animation: caro-site-cta-aurora 18s ease-in-out infinite alternate;
}

.caro-site-cta > * {
	position: relative;
	z-index: 2;
}

.caro-site-cta__content {
	min-width: 0;
	text-align: left;
}

.caro-site-cta__badge {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 20px;
	padding: 8px 15px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 100px;
	background: rgba(255, 255, 255, 0.07);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	color: #ffe9c9;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.caro-site-cta__badge > span:first-child {
	flex: 0 0 auto;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #2fb89a;
	box-shadow: 0 0 10px 2px rgba(47, 184, 154, 0.85);
	animation: caro-site-cta-pulse 2.2s ease-in-out infinite;
}

.caro-site-cta__title {
	max-width: 680px;
	margin: 0;
	color: #fff;
	font-family: inherit;
	font-size: clamp(32px, 3.4vw, 49px);
	font-weight: 800;
	line-height: 1.04;
	letter-spacing: -0.03em;
	background: linear-gradient(100deg, #fff 0%, #ffe9c9 45%, #9be8cf 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.caro-site-cta__accent {
	color: #9be8cf;
}

.caro-site-cta--compact .caro-site-cta__title {
  max-width: 760px;
  font-size: clamp(22px, 2.3vw, 28px);
  line-height: 1.22;
}

.caro-site-cta--compact {
	min-height: 378px;
}

.caro-site-cta__subtitle {
	max-width: 500px;
	margin: 18px 0 32px;
	color: rgba(255, 255, 255, 0.78);
	font-size: 16.8px;
	font-weight: 400;
	line-height: 1.55;
    padding-top: 1em;
    padding-bottom: 1em;
}

.caro-site-cta--compact .caro-site-cta__buttons {
	margin-top: 24px;
}

.caro-site-cta__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.caro-site-cta__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 14px 26px;
	border: 1px solid transparent;
	border-radius: 14px;
	font-family: inherit;
	font-size: 15.7px;
	font-weight: 600;
	line-height: 1.35;
	white-space: nowrap;
	transition: transform 300ms cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 300ms, background-color 250ms, color 250ms;
}

.caro-site-cta__button:hover,
.caro-site-cta__button:focus-visible {
	transform: translateY(-3px);
}

.caro-site-cta__button--primary {
	border-color: #fff;
	background: #fff;
	box-shadow: 0 12px 34px rgba(255, 255, 255, 0.18);
	color: #1c1a16;
}

.caro-site-cta__button--primary:hover,
.caro-site-cta__button--primary:focus-visible {
	box-shadow: 0 18px 46px rgba(255, 255, 255, 0.3);
	color: #1c1a16;
}

.caro-site-cta__button--secondary {
	border-color: rgba(255, 255, 255, 0.45);
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
}

.caro-site-cta__button--secondary:hover,
.caro-site-cta__button--secondary:focus-visible {
	background: rgba(255, 255, 255, 0.16);
	color: #fff;
}

.caro-site-cta__visual {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
}

.caro-site-cta__visual::before {
	content: "";
	position: absolute;
	width: 72%;
	aspect-ratio: 1;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(47, 184, 154, 0.5), rgba(138, 109, 240, 0.22) 45%, transparent 68%);
	filter: blur(26px);
}

.caro-site-cta__visual img {
	position: relative;
	width: 82%;
	max-width: 250px;
	filter: drop-shadow(0 34px 42px rgba(0, 0, 0, 0.55));
	animation: caro-site-cta-float 5.5s ease-in-out infinite;
}

.caro-site-cta.is-motion-ready {
	opacity: 0;
	transform: translateY(30px) scale(0.985);
}

.caro-site-cta.is-motion-ready.is-visible {
	opacity: 1;
	transform: translateY(0) scale(1);
}

@keyframes caro-site-cta-aurora {
	to { transform: translate3d(2.5%, -3%, 0) rotate(9deg) scale(1.14); }
}

@keyframes caro-site-cta-pulse {
	50% { opacity: 0.5; transform: scale(0.7); }
}

@keyframes caro-site-cta-float {
	0%, 100% { transform: translateY(0) rotate(-1.5deg); }
	50% { transform: translateY(-16px) rotate(1.5deg); }
}

@media (min-width: 992px) and (max-width: 1024px) {
	.caro-site-cta {
		min-height: 419px;
	}
}

@media (min-width: 761px) and (max-width: 991px) {
	.caro-site-cta {
		min-height: 515px;
	}

	.caro-site-cta--compact {
		min-height: 430px;
	}
}

@media (max-width: 760px) {
	.caro-site-cta {
		grid-template-columns: minmax(0, 1fr);
		gap: 40px;
		min-height: 673px;
		padding: 40px 28px;
		text-align: center;
	}

	.caro-site-cta--compact {
		min-height: 600px;
	}

	.caro-site-cta__content {
		text-align: center;
	}

	.caro-site-cta__visual {
		order: -1;
	}

	.caro-site-cta__visual img {
		width: 60%;
		max-width: 180px;
	}

	.caro-site-cta__buttons {
		justify-content: center;
	}

	.caro-site-cta--compact .caro-site-cta__title {
		font-size: clamp(22px, 6.2vw, 28px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.caro-site-cta,
	.caro-site-cta::before,
	.caro-site-cta__badge > span:first-child,
	.caro-site-cta__visual img {
		animation-duration: 1ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 1ms !important;
	}

	.caro-site-cta {
		opacity: 1 !important;
		transform: none !important;
	}
}

.elementor-editor-active .caro-site-cta {
	opacity: 1 !important;
	transform: none !important;
}
