.nqts-media-video {
	--nqts-media-video-height: 520px;
	--nqts-media-video-height-mobile: 280px;
	--nqts-media-video-overlay: 0;
	--nqts-media-video-position: center center;
	position: relative;
	width: 100%;
	height: auto;
	min-height: 0;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #384551;
	isolation: isolate;
}

.nqts-media-video *,
.nqts-media-video *::before,
.nqts-media-video *::after {
	box-sizing: border-box;
}

.nqts-media-video__video,
.nqts-media-video__overlay,
.nqts-media-video__content {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.nqts-media-video__video {
	z-index: -3;
	display: block;
	object-fit: contain;
	object-position: var(--nqts-media-video-position);
}

.nqts-media-video--crop {
	height: var(--nqts-media-video-height);
	min-height: 320px;
	aspect-ratio: auto;
}

.nqts-media-video--crop .nqts-media-video__video {
	object-fit: cover;
}

.nqts-media-video__overlay {
	z-index: -2;
	background: linear-gradient(90deg, rgba(3, 25, 29, 0.98) 0%, rgba(3, 25, 29, 0.58) 46%, rgba(3, 25, 29, 0.12) 78%);
	opacity: var(--nqts-media-video-overlay);
	pointer-events: none;
}

.nqts-media-video--has-content .nqts-media-video__overlay {
	opacity: max(var(--nqts-media-video-overlay), 0.62);
}

.nqts-media-video__content {
	z-index: 1;
	display: flex;
	align-items: center;
	padding-inline: max(24px, calc((100vw - 1120px) / 2));
}

.nqts-media-video__content-inner {
	width: min(600px, 100%);
	color: #fff;
}

.nqts-media-video__eyebrow {
	margin: 0 0 12px;
	color: #fff;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.nqts-media-video__title {
	margin: 0;
	color: #fff;
	font: inherit;
	font-size: clamp(2rem, 4.4vw, 4.35rem);
	font-weight: 700;
	line-height: 0.98;
	letter-spacing: -0.035em;
}

.nqts-media-video__description {
	max-width: 54ch;
	margin: 18px 0 0;
	color: rgba(255, 255, 255, 0.88);
	font-size: clamp(1rem, 1.35vw, 1.15rem);
	line-height: 1.55;
}

.nqts-media-video__button {
	margin-top: 26px;
}

.nqts-media-video--split {
	--nqts-media-video-background: none;
	min-height: 0;
	padding: clamp(46px, 5vw, 72px) max(24px, calc((100vw - 1540px) / 2));
	aspect-ratio: auto;
	background-color: #12333a;
	background-image:
		linear-gradient(110deg, rgba(3, 25, 29, 0.68), rgba(24, 48, 55, 0.42)),
		var(--nqts-media-video-background);
	background-position: center;
	background-size: cover;
}

.nqts-media-video--split::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
	background-size: 64px 64px;
	content: "";
	pointer-events: none;
}

.nqts-media-video__split-inner {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1540px;
	margin: 0 auto;
}

.nqts-media-video__split-title {
	position: relative;
	margin: 0 0 clamp(22px, 2.2vw, 32px);
	padding-left: 22px;
	color: #fff;
	font: inherit;
	font-size: clamp(1.9rem, 3vw, 3.1rem);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.025em;
}

.nqts-media-video__split-title::before {
	position: absolute;
	top: 0.12em;
	bottom: 0.08em;
	left: 0;
	width: 5px;
	background: #00a0ae;
	content: "";
}

.nqts-media-video__split-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(18px, 1.5vw, 26px);
}

.nqts-media-video__panel {
	position: relative;
	aspect-ratio: 1;
	margin: 0;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.38);
	background: #061d22;
	box-shadow: 0 24px 58px rgba(3, 25, 29, 0.32);
}

.nqts-media-video__panel::before {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 72px;
	height: 4px;
	background: #00a0ae;
	content: "";
	pointer-events: none;
}

.nqts-media-video--split .nqts-media-video__video {
	position: static;
	inset: auto;
	z-index: auto;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--nqts-media-video-position);
}

.nqts-media-video__caption {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
	margin: 0;
	padding: 54px clamp(18px, 2vw, 28px) clamp(17px, 1.8vw, 25px);
	background: linear-gradient(180deg, transparent, rgba(3, 25, 29, 0.84));
	color: #fff;
	font-size: clamp(1rem, 1.3vw, 1.25rem);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	pointer-events: none;
}

@media (max-width: 767px) {
	.elementor-widget-shortcode.nqts-media-video-host,
	.elementor-widget-shortcode:has(> .elementor-shortcode > .nqts-media-video) {
		height: var(--nqts-media-video-host-height, auto) !important;
		min-height: var(--nqts-media-video-host-height, 0px) !important;
	}

	.elementor-widget-shortcode.nqts-media-video-host--full,
	.elementor-widget-shortcode:has(> .elementor-shortcode > .nqts-media-video--full) {
		aspect-ratio: 16 / 9;
	}

	.e-con.nqts-media-video-container,
	.e-con:has(> .elementor-widget-shortcode > .elementor-shortcode > .nqts-media-video) {
		height: auto !important;
		min-height: 0 !important;
	}

	.nqts-media-video--crop {
		height: var(--nqts-media-video-height-mobile);
		min-height: 220px;
	}

	.nqts-media-video__content {
		align-items: flex-end;
		padding: 28px 20px;
	}

	.nqts-media-video__title {
		font-size: clamp(1.75rem, 10vw, 2.7rem);
	}

	.nqts-media-video__description {
		display: -webkit-box;
		margin-top: 12px;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
	}

	.nqts-media-video__button {
		margin-top: 18px;
	}

	.nqts-media-video--split {
		padding: 32px 16px;
		background-position: center;
	}

	.nqts-media-video__split-title {
		margin-bottom: 20px;
		padding-left: 16px;
		font-size: clamp(1.75rem, 8vw, 2.35rem);
	}

	.nqts-media-video__split-title::before {
		width: 4px;
	}

	.nqts-media-video__split-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

}
