.ct-media-text {
	margin-top: var(--ct-media-text-margin-top, 0);
	margin-bottom: var(--ct-media-text-margin-bottom, 0);
}

.ct-media-text__columns {
	display: flex;
	align-items: stretch;
	gap: 40px;
}

.ct-media-text__media,
.ct-media-text__content {
	min-width: 0;
	flex: 1 1 50%;
}

.ct-media-text__media {
	position: relative;
	align-self: stretch;
	overflow: hidden;
	border-radius: 20px;
	min-height: var(--ct-media-text-mobile-image-height, 180px);
}

.ct-media-text__content {
	padding-top: var(--ct-media-text-content-padding-y, 40px);
	padding-bottom: var(--ct-media-text-content-padding-y, 40px);
}

.ct-media-text__title {
	margin-bottom: 24px;
}

.ct-media-text__title span {
	color: var(--color-purple-deep);
}

.ct-media-text__image {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ct-media-text__header--with-badge {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 24px;
}

.ct-media-text__badge {
	flex: 0 0 auto;
}

.ct-media-text__header--with-badge .ct-media-text__title {
	margin-bottom: 0;
}

@media (max-width: 1200px) {
	.ct-media-text__header--with-badge {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}

	.ct-media-text__badge {
		order: 1;
	}

	.ct-media-text__header--with-badge .ct-media-text__title {
		order: 2;
		margin-bottom: 0;
	}
}

@media (max-width: 960px) {
	.ct-media-text {
		margin-top: var(--ct-media-text-margin-top-mobile, var(--ct-media-text-margin-top, 0));
		margin-bottom: var(--ct-media-text-margin-bottom-mobile, var(--ct-media-text-margin-bottom, 0));
	}

	.ct-media-text__columns {
		display: flex;
		flex-direction: column;
		gap: 20px;
	}

	.ct-media-text__media {
		order: 1;
		height: var(--ct-media-text-mobile-image-height, 180px);
		border-radius: 12px;
	}

	.ct-media-text__content {
		order: 2;
		padding-top: 0;
		padding-bottom: 0;
	}

	.ct-media-text__title {
		margin-bottom: 16px;
	}

	.ct-media-text__image {
		position: absolute;
		inset: 0;
	}

	.ct-media-text__header--with-badge {
		margin-bottom: 16px;
	}
}
