.geplus-video-carousel-section {
	--geplus-video-primary: var(--e-global-color-primary, #12395b);
	--geplus-video-accent: var(--e-global-color-accent, #1f5eff);
	--geplus-video-radius: 20px;
	box-sizing: border-box;
	left: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	max-width: 100vw;
	overflow: hidden;
	position: relative;
	right: 50%;
	width: 100vw;
}

.geplus-video-carousel-section *,
.geplus-video-carousel-section *::before,
.geplus-video-carousel-section *::after {
	box-sizing: border-box;
}

.geplus-video-carousel-section__header {
	align-items: center;
	background: var(--geplus-video-primary);
	display: flex;
	justify-content: center;
	margin: 0 0 40px;
	min-height: 88px;
	overflow: hidden;
	padding: 18px 32px;
	position: relative;
	width: 100%;
}

.geplus-video-carousel-section__header::after {
	background: linear-gradient(135deg, transparent 0%, rgba(255, 255, 255, 0.08) 38%, transparent 72%);
	content: "";
	inset: 0;
	position: absolute;
}

.geplus-video-carousel-section__title {
	color: #ffffff !important;
	font-size: clamp(30px, 3.2vw, 46px);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.1;
	margin: 0;
	max-width: 1280px;
	padding-left: clamp(18px, 4vw, 56px);
	padding-right: clamp(18px, 4vw, 56px);
	position: relative;
	text-align: center;
	width: 100%;
	z-index: 1;
}

.geplus-video-carousel {
	padding: 4px clamp(16px, 2.5vw, 40px) 44px;
	position: relative;
	width: 100%;
}

.geplus-video-carousel .swiper-wrapper {
	align-items: stretch;
}

.geplus-video-carousel__slide {
	height: auto;
}

.geplus-video-carousel__media {
	aspect-ratio: 16 / 9;
	background: #07111f;
	border-radius: var(--geplus-video-radius);
	box-shadow: 0 16px 36px rgba(10, 38, 62, 0.16);
	margin-left: auto;
	margin-right: auto;
	overflow: hidden;
	position: relative;
	width: 94%;
}

.geplus-video-carousel__media iframe,
.geplus-video-carousel__media video,
.geplus-video-carousel__media .wp-video,
.geplus-video-carousel__media .mejs-container,
.geplus-video-carousel__media .mejs-inner {
	height: 100% !important;
	max-width: none !important;
	width: 100% !important;
}

.geplus-video-carousel__media iframe,
.geplus-video-carousel__media video {
	border: 0;
	display: block;
	object-fit: cover;
}

.geplus-video-carousel__title {
	color: var(--geplus-video-primary);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	margin: 18px 4px 0;
}

.geplus-video-carousel__button {
	align-items: center;
	background: var(--geplus-video-primary) !important;
	border: 2px solid #ffffff !important;
	border-radius: 999px;
	box-shadow: 0 12px 28px rgba(15, 30, 56, 0.16);
	color: #ffffff !important;
	cursor: pointer;
	display: flex;
	height: 44px !important;
	justify-content: center;
	margin: 0 !important;
	padding: 0 !important;
	transition: transform 180ms ease, box-shadow 180ms ease;
	width: 44px !important;
	z-index: 10;
}

.geplus-video-carousel__button::after {
	display: none;
}

.geplus-video-carousel__button::before {
	border-right: 3px solid currentColor;
	border-top: 3px solid currentColor;
	content: "";
	display: block;
	height: 11px;
	left: 50%;
	margin-left: -6px;
	margin-top: -6px;
	position: absolute;
	top: 50%;
	width: 11px;
}

.geplus-video-carousel__button--prev::before {
	transform: rotate(-135deg);
}

.geplus-video-carousel__button--next::before {
	transform: rotate(45deg);
}

.geplus-video-carousel__button svg {
	display: none;
}

.geplus-video-carousel__button:hover,
.geplus-video-carousel__button:focus-visible {
	box-shadow: 0 16px 34px rgba(15, 30, 56, 0.22);
	outline: none;
	transform: scale(1.05);
}

.geplus-video-carousel .swiper-button-prev {
	left: clamp(20px, 3vw, 48px);
}

.geplus-video-carousel .swiper-button-next {
	right: clamp(20px, 3vw, 48px);
}

.geplus-video-carousel .swiper-button-disabled {
	cursor: default;
	opacity: 0.35;
}

.geplus-video-carousel__pagination.swiper-pagination {
	bottom: 2px !important;
	left: 0;
	right: 0;
	top: auto !important;
}

.geplus-video-carousel .swiper-pagination-bullet {
	background: #b8c2cf !important;
	border: 1px solid rgba(18, 57, 91, 0.2);
	height: 9px;
	opacity: 1 !important;
	transition: background 180ms ease, width 180ms ease;
	width: 9px;
}

.geplus-video-carousel .swiper-pagination-bullet-active {
	background: var(--geplus-video-primary) !important;
	border-color: var(--geplus-video-primary);
	border-radius: 999px;
	width: 26px;
}

@media (max-width: 767px) {
	.geplus-video-carousel-section__header {
		margin-bottom: 32px;
		min-height: 74px;
		padding-left: 18px;
		padding-right: 18px;
	}

	.geplus-video-carousel {
		padding-left: 16px;
		padding-right: 16px;
	}

	.geplus-video-carousel__media {
		width: 96%;
	}
}

@media (max-width: 480px) {
	.geplus-video-carousel__button {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.geplus-video-carousel__button,
	.geplus-video-carousel .swiper-pagination-bullet {
		transition: none;
	}
}
