/**
 * Container Block Styles
 */

.ct-container__wrapper {
	position: relative;
	box-sizing: border-box;
	overflow: hidden;
}

.ct-container__bg-media {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.ct-container__bg-media-image,
.ct-container__bg-media-overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.ct-container__bg-media-image {
	display: block;
	object-fit: cover;
}

.ct-container__content,
.ct-container__content-inner {
	position: relative;
	z-index: 2;
}

/* ─── Spacing ────────────────────────────────────────────────────────────── */

/* Mobile base */
.ct-container__wrapper {
	padding-top: var(--ct-container-padding-top-mobile);
	padding-bottom: var(--ct-container-padding-bottom-mobile);
}

/* Desktop override (≥ 769px) */
@media screen and (min-width: 769px) {
	.ct-container__wrapper {
		padding-top: var(--ct-container-padding-top);
		padding-bottom: var(--ct-container-padding-bottom);
	}
}

/* ─── Rounded corners ────────────────────────────────────────────────────── */


@media screen and (min-width: 769px) {
	.ct-container--rounded-top .ct-container__wrapper {
		border-top-left-radius: 60px;
		border-top-right-radius: 60px;
	}

	.ct-container--rounded-bottom .ct-container__wrapper {
		border-bottom-left-radius: 60px;
		border-bottom-right-radius: 60px;
	}
}

/* ─── Nested containers ──────────────────────────────────────────────────── */

.ct-container__wrapper .container {
	padding-left: 0;
	padding-right: 0;
	max-width: none;
}

/* ─── Full width ─────────────────────────────────────────────────────────── */

.ct-container--full-width {
	position: relative;
	overflow: hidden;
	padding-top: var(--ct-container-padding-top-mobile);
	padding-bottom: var(--ct-container-padding-bottom-mobile);
}

@media screen and (min-width: 769px) {
	.ct-container--full-width {
		padding-top: var(--ct-container-padding-top);
		padding-bottom: var(--ct-container-padding-bottom);
	}

	.ct-container--full-width.ct-container--rounded-top {
		border-top-left-radius: 60px;
		border-top-right-radius: 60px;
	}
	
	.ct-container--full-width.ct-container--rounded-bottom {
		border-bottom-left-radius: 60px;
		border-bottom-right-radius: 60px;
	}
}

/* ─── Background ─────────────────────────────────────────────────────────── */

.ct-container--bg-color .ct-container__wrapper,
.ct-container--full-width.ct-container--bg-color {
	background-color: var(--ct-container-background-color);
}

.ct-container--bg-has-overlay .ct-container__bg-media-overlay {
	background-color: var(--ct-container-overlay-color);
}
