.layla-testimonials-slider {
	position: relative;
	width: 100%;
	box-sizing: border-box;
	overflow: hidden;
	background: linear-gradient(180deg, rgba(248, 237, 254, 0) 0%, #f8edfe 100%), #ffffff;
	padding: 100px 64px;
}

.layla-testimonials-slider *,
.layla-testimonials-slider *::before,
.layla-testimonials-slider *::after {
	box-sizing: border-box;
}

.layla-testimonials-slider__container {
	width: 100%;
	max-width: var(--layla-container-max-width, 1336px);
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 100px;
}

.layla-testimonials-slider__header {
	width: 100%;
	max-width: 834px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 20px;
}

.layla-testimonials-slider__tag-wrapper {
	padding: 0 4px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
}

.layla-testimonials-slider__tag {
	display: inline-block;
	color: #131313;
}

.layla-testimonials-slider__title {
	width: 100%;
	max-width: 778px;
	margin: 0 auto;
	text-align: center;
	color: var(--layla-color-heading, #271d49);
}

.layla-testimonials-slider__content {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 32px;
}

.layla-testimonials-slider__stage {
	position: relative;
	width: 100%;
	max-width: 886px;
	height: 504px;
	margin: 0 auto;
	perspective: 1200px;
}

.layla-testimonials-slider__card {
	position: absolute;
	width: 430px;
	left: 50%;
	top: 0;
	padding: 64px 32px 32px 32px;
	border-radius: 24px;
	box-shadow: 0 0 30px rgba(0, 0, 0, 0.02);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 44px;
	cursor: pointer;
	user-select: none;
	will-change: transform, opacity;
	transition:
		transform 0.6s cubic-bezier(0.25, 1, 0.5, 1),
		background-color 0.4s ease,
		color 0.4s ease,
		box-shadow 0.4s ease,
		opacity 0.6s ease;
}

.layla-testimonials-slider__card--active {
	z-index: 3;
	opacity: 1;
	cursor: default;
	background-color: var(--layla-color-card-dark, #241b2f);
	color: #fefefe;
	box-shadow: 0 12px 36px rgba(36, 27, 47, 0.1);
	transform: translateX(-50%) translateY(0) rotate(0deg);
	transform-origin: center center;
}

.layla-testimonials-slider__card--active .layla-testimonials-slider__quote {
	color: #fefefe;
}

.layla-testimonials-slider__card--active .layla-testimonials-slider__author-name {
	color: #fefefe;
}

.layla-testimonials-slider__card--active .layla-testimonials-slider__author-role {
	color: rgba(255, 255, 255, 0.6);
}

.layla-testimonials-slider__card--prev {
	z-index: 1;
	opacity: 1;
	background-color: #d9e8fd;
	color: var(--layla-color-heading, #271d49);
	transform: translateX(calc(-50% - 240px)) translateY(127px) rotate(-7deg);
	transform-origin: top left;
}

.layla-testimonials-slider__card--prev:hover {
	opacity: 0.95;
	transform: translateX(calc(-50% - 240px)) translateY(123px) rotate(-7deg);
}

.layla-testimonials-slider__card--prev .layla-testimonials-slider__quote {
	color: var(--layla-color-heading, #271d49);
}

.layla-testimonials-slider__card--prev .layla-testimonials-slider__author-name {
	color: var(--layla-color-heading, #271d49);
}

.layla-testimonials-slider__card--prev .layla-testimonials-slider__author-role {
	color: rgba(39, 29, 73, 0.6);
}

.layla-testimonials-slider__card--next {
	z-index: 2;
	opacity: 1;
	background-color: #ffffff;
	color: var(--layla-color-heading, #271d49);
	transform: translateX(calc(-50% + 200px)) translateY(71px) rotate(8deg);
	transform-origin: top left;
}

.layla-testimonials-slider__card--next:hover {
	opacity: 0.95;
	transform: translateX(calc(-50% + 200px)) translateY(67px) rotate(8deg);
}

.layla-testimonials-slider__card--next .layla-testimonials-slider__quote {
	color: var(--layla-color-heading, #271d49);
}

.layla-testimonials-slider__card--next .layla-testimonials-slider__author-name {
	color: var(--layla-color-heading, #271d49);
}

.layla-testimonials-slider__card--next .layla-testimonials-slider__author-role {
	color: rgba(39, 29, 73, 0.6);
}

.layla-testimonials-slider__card--hidden {
	z-index: 0;
	opacity: 0;
	pointer-events: none;
	transform: translateX(-50%) translateY(80px) scale(0.7) rotate(0deg);
}

.layla-testimonials-slider__quote-icon {
	position: absolute;
	top: -43px;
	left: 50%;
	transform: translateX(-50%);
	width: 105px;
	height: 105px;
	pointer-events: none;
	user-select: none;
	z-index: 2;
	color: var(--layla-color-accent, #6045bd);
}

.layla-testimonials-slider__quote-icon svg {
	width: 100%;
	height: 100%;
	display: block;
}

.layla-testimonials-slider__quote {
	margin: 0;
	padding: 0;
	width: 100%;
	text-align: center;
	font-size: 24px;
	font-weight: 500;
	line-height: 130%;
	word-wrap: break-word;
	border: 0;
	font-style: normal;
	transition: color 0.4s ease;
}

.layla-testimonials-slider__author {
	display: inline-flex;
	align-items: center;
	gap: 20px;
}

.layla-testimonials-slider img.layla-testimonials-slider__avatar {
	width: 50px;
	height: 50px;
	max-width: none;
	box-sizing: border-box;
	border-radius: 50%;
	border: 2px solid #fefefe;
	object-fit: cover;
	flex-shrink: 0;
	display: block;
}

.layla-testimonials-slider__author-meta {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
}

.layla-testimonials-slider__author-name {
	font-style: normal;
	font-size: 20px;
	font-weight: 600;
	line-height: 120%;
	text-transform: capitalize;
	word-wrap: break-word;
	transition: color 0.4s ease;
}

.layla-testimonials-slider__author-role {
	font-size: 16px;
	font-weight: 400;
	line-height: 150%;
	word-wrap: break-word;
	transition: color 0.4s ease;
}

.layla-testimonials-slider__controls {
	max-width: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	margin-top: 32px;
	user-select: none;
}

.layla-testimonials-slider__dots {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	min-width: 0;
	gap: 12px;
	row-gap: 16px;
	min-height: 32px;
	padding: 6px;
}

.layla-testimonials-slider__counter {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 5ch;
	min-height: 32px;
	color: var(--layla-color-accent, #6045bd);
	font-family: var(--layla-font-body);
	font-size: 16px;
	font-weight: 500;
	font-variant-numeric: tabular-nums;
	line-height: 1.2;
	white-space: nowrap;
}

.layla-testimonials-slider button.layla-testimonials-slider__dot {
	appearance: none;
	min-width: 0;
	min-height: 0;
	box-shadow: none;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: var(--layla-color-accent, #6045bd);
	opacity: 0.3;
	border: 0;
	padding: 0;
	margin: 0;
	cursor: pointer;
	position: relative;
	transition:
		opacity 0.3s ease,
		transform 0.3s ease;
	outline: none;
}

.layla-testimonials-slider button.layla-testimonials-slider__dot:hover {
	opacity: 0.7;
}

.layla-testimonials-slider button.layla-testimonials-slider__dot:focus-visible {
	opacity: 1;
	outline: 2px solid var(--layla-color-accent, #6045bd);
	outline-offset: 4px;
}

.layla-testimonials-slider button.layla-testimonials-slider__dot--active {
	opacity: 1;
}

.layla-testimonials-slider button.layla-testimonials-slider__dot--active::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	border: 1px solid var(--layla-color-accent, #6045bd);
	transform: translate(-50%, -50%);
	pointer-events: none;
	animation: laylaDotPulse 0.3s ease-out;
}

@keyframes laylaDotPulse {
	0% {
		transform: translate(-50%, -50%) scale(0.6);
		opacity: 0;
	}
	100% {
		transform: translate(-50%, -50%) scale(1);
		opacity: 1;
	}
}

@media (max-width: 1024px) {
	.layla-testimonials-slider {
		padding: 80px 32px;
	}

	.layla-testimonials-slider__container {
		gap: 60px;
	}

	.layla-testimonials-slider__header {
		gap: 16px;
	}

	.layla-testimonials-slider__stage {
		max-width: 720px;
		height: 480px;
	}

	.layla-testimonials-slider__card {
		width: 380px;
		padding: 56px 28px 28px 28px;
		gap: 36px;
	}

	.layla-testimonials-slider__card--prev {
		transform: translateX(calc(-50% - 170px)) translateY(100px) rotate(-6deg);
	}

	.layla-testimonials-slider__card--prev:hover {
		transform: translateX(calc(-50% - 170px)) translateY(96px) rotate(-6deg);
	}

	.layla-testimonials-slider__card--next {
		transform: translateX(calc(-50% + 150px)) translateY(60px) rotate(6deg);
	}

	.layla-testimonials-slider__card--next:hover {
		transform: translateX(calc(-50% + 150px)) translateY(56px) rotate(6deg);
	}

	.layla-testimonials-slider__quote-icon {
		width: 84px;
		height: 84px;
		top: -34px;
	}

	.layla-testimonials-slider__quote {
		font-size: 20px;
		line-height: 135%;
	}

	.layla-testimonials-slider__author-name {
		font-size: 18px;
	}

	.layla-testimonials-slider__author-role {
		font-size: 14px;
	}
}

@media (max-width: 767px) {
	.layla-testimonials-slider {
		padding: 60px 0;
	}

	.layla-testimonials-slider__container {
		gap: 80px;
		width: 100%;
	}

	.layla-testimonials-slider__header {
		gap: 20px;
		padding: 0 20px;
	}

	.layla-testimonials-slider__title {
		font-size: 28px;
		line-height: 42px;
	}

	.layla-testimonials-slider__title .layla-text-decor {
		display: block;
		font-size: 42px;
		line-height: 42px;
		margin-top: 2px;
	}

	.layla-testimonials-slider__content {
		gap: 20px;
		width: 100%;
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.layla-testimonials-slider__stage {
		width: 100%;
		max-width: 100%;
		height: 320px;
		position: relative;
	}

	.layla-testimonials-slider__card {
		padding: 28px 20px;
		gap: 24px;
		border-radius: 24px;
		left: 50%;
		top: 0;
		transition:
			transform 0.6s cubic-bezier(0.25, 1, 0.5, 1),
			width 0.6s cubic-bezier(0.25, 1, 0.5, 1),
			opacity 0.6s ease,
			background-color 0.4s ease,
			color 0.4s ease,
			box-shadow 0.4s ease;
	}

	.layla-testimonials-slider__card--active {
		width: min(319px, calc(100% - 48px));
		transform: translateX(-50%) translateY(0) rotate(0deg);
		z-index: 3;
		opacity: 1;
	}

	.layla-testimonials-slider__card--prev {
		width: min(286px, calc(100% - 80px));
		transform: translateX(calc(-50% - 97.5px)) translateY(32px) rotate(0deg);
		opacity: 0.6;
		z-index: 1;
	}

	.layla-testimonials-slider__card--prev:hover {
		opacity: 0.85;
	}

	.layla-testimonials-slider__card--next {
		width: min(286px, calc(100% - 80px));
		transform: translateX(calc(-50% + 97.5px)) translateY(32px) rotate(0deg);
		opacity: 0.6;
		z-index: 2;
	}

	.layla-testimonials-slider__card--next:hover {
		opacity: 0.85;
	}

	.layla-testimonials-slider__card--hidden {
		width: 286px;
		transform: translateX(-50%) translateY(40px) scale(0.8) rotate(0deg);
		opacity: 0;
		pointer-events: none;
		z-index: 0;
	}

	.layla-testimonials-slider__quote-icon {
		width: 64px;
		height: 64px;
		top: -32px;
	}

	.layla-testimonials-slider__quote {
		font-size: 18px;
		line-height: 25px;
	}

	.layla-testimonials-slider__card--prev .layla-testimonials-slider__quote,
	.layla-testimonials-slider__card--next .layla-testimonials-slider__quote {
		font-size: 16px;
		line-height: 20.8px;
	}

	.layla-testimonials-slider__author {
		gap: 14px;
	}

	.layla-testimonials-slider img.layla-testimonials-slider__avatar {
		width: 34px;
		height: 34px;
		border-width: 1.38px;
	}

	.layla-testimonials-slider__author-name {
		font-size: 14px;
		line-height: 16.8px;
	}

	.layla-testimonials-slider__author-role {
		font-size: 12px;
		line-height: 18px;
	}

	.layla-testimonials-slider__controls {
		margin-top: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.layla-testimonials-slider__card,
	.layla-testimonials-slider button.layla-testimonials-slider__dot,
	.layla-testimonials-slider button.layla-testimonials-slider__dot--active::after {
		transition: none;
		animation: none;
	}
}
