/**
 * Egypt packs carousel ONLY — scoped with [data-masc-epc="1"]
 * Shared layout for Home (34a81cf / 5d95cf6) and Programs (00a307d / f9284fa).
 */

[data-masc-epc='1'].masc-epc-carousel .elementor-swiper-button-prev,
[data-masc-epc='1'].masc-epc-carousel .elementor-swiper-button-next,
[data-masc-epc='1'].masc-epc-carousel .swiper-pagination {
	display: none !important;
}

[data-masc-epc='1'].masc-epc-carousel .masc-epc-swiper {
	overflow: hidden;
}

[data-masc-epc='1'].masc-epc-carousel .masc-epc-swiper .swiper-wrapper {
	align-items: center;
}

[data-masc-epc='1'].masc-epc-carousel .masc-epc-swiper .swiper-slide {
	width: 62%;
	height: auto;
	overflow: visible;
	box-sizing: border-box;
	/* Adjacent wide slides overlap; only the interactive slide receives clicks. */
	pointer-events: none;
}

[data-masc-epc='1'].masc-epc-carousel .masc-epc-swiper .swiper-slide.masc-epc-slide-interactive,
[data-masc-epc='1'].masc-epc-carousel .masc-epc-swiper .swiper-slide.swiper-slide-active {
	pointer-events: auto;
	z-index: 40;
}

[data-masc-epc='1'].masc-epc-carousel
	.masc-epc-swiper
	.swiper-slide.masc-epc-slide-interactive
	.elementor-button,
[data-masc-epc='1'].masc-epc-carousel
	.masc-epc-swiper
	.swiper-slide.masc-epc-slide-interactive
	a.elementor-button-link,
[data-masc-epc='1'].masc-epc-carousel
	.masc-epc-swiper
	.swiper-slide.swiper-slide-active
	.elementor-button,
[data-masc-epc='1'].masc-epc-carousel
	.masc-epc-swiper
	.swiper-slide.swiper-slide-active
	a.elementor-button-link {
	position: relative;
	z-index: 5;
	pointer-events: auto !important;
}

[data-masc-epc='1'].masc-epc-carousel .masc-epc-swiper .swiper-slide > .elementor-element {
	transition: transform 0.28s ease;
	transform-origin: center center;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	width: 100%;
}

/*
 * Immersive centered layout — Home + Programs
 * Section parents: 5d95cf6 (Home), f9284fa (Programs)
 * Carousel widgets: 34a81cf (Home), 00a307d (Programs)
 *
 * Active card uses scale(1.1). Keep horizontal clip on the swiper, but give
 * enough vertical padding so the gold border + glow are never cut off.
 */
.elementor-element-5d95cf6,
.elementor-element-f9284fa {
	overflow-x: clip;
	overflow-y: visible;
}

.elementor-element-5d95cf6.e-con,
.elementor-element-f9284fa.e-con,
.elementor-element-5d95cf6 > .e-con-inner,
.elementor-element-f9284fa > .e-con-inner,
.elementor-element-5d95cf6 .e-con,
.elementor-element-f9284fa .e-con,
.elementor-element-5d95cf6 .e-con-inner,
.elementor-element-f9284fa .e-con-inner {
	overflow: visible !important;
}

.elementor-element-5d95cf6.e-con-boxed > .e-con-inner,
.elementor-element-f9284fa.e-con-boxed > .e-con-inner {
	max-width: min(1520px, calc(100vw - 40px)) !important;
	width: 100%;
	margin-inline: auto;
	padding-inline: clamp(12px, 2vw, 28px);
	box-sizing: border-box;
}

.elementor-element-5d95cf6 .elementor-element-34a81cf,
.elementor-element-f9284fa .elementor-element-905f0c3,
.elementor-element-f9284fa .elementor-element-00a307d {
	width: 100%;
	max-width: 100%;
	overflow: visible !important;
}

@media (min-width: 768px) {
	.elementor-element-34a81cf[data-masc-epc='1'].masc-epc-carousel,
	.elementor-element-00a307d[data-masc-epc='1'].masc-epc-carousel {
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
		padding-inline: 0;
		overflow: visible !important;
	}

	.elementor-element-34a81cf[data-masc-epc='1'].masc-epc-carousel .e-n-carousel,
	.elementor-element-00a307d[data-masc-epc='1'].masc-epc-carousel .e-n-carousel,
	.elementor-element-34a81cf[data-masc-epc='1'].masc-epc-carousel .masc-epc-swiper,
	.elementor-element-00a307d[data-masc-epc='1'].masc-epc-carousel .masc-epc-swiper {
		overflow: hidden;
		/* scale(1.1) on tall Programs cards needs ~5% height each side + glow */
		padding-block: clamp(2.5rem, 6vh, 4rem);
		margin-block: 0;
	}

	.elementor-element-34a81cf[data-masc-epc='1'].masc-epc-carousel .masc-epc-swiper .swiper-wrapper,
	.elementor-element-00a307d[data-masc-epc='1'].masc-epc-carousel .masc-epc-swiper .swiper-wrapper {
		align-items: center;
	}

	.elementor-element-34a81cf[data-masc-epc='1'].masc-epc-carousel .masc-epc-swiper .swiper-slide,
	.elementor-element-00a307d[data-masc-epc='1'].masc-epc-carousel .masc-epc-swiper .swiper-slide {
		width: 58%;
		overflow: visible;
	}

	.elementor-element-34a81cf[data-masc-epc='1'].masc-epc-carousel .masc-epc-swiper .swiper-slide > .elementor-element,
	.elementor-element-00a307d[data-masc-epc='1'].masc-epc-carousel .masc-epc-swiper .swiper-slide > .elementor-element {
		overflow: visible !important;
	}

	.elementor-element-34a81cf[data-masc-epc='1'].masc-epc-carousel .masc-epc-swiper .swiper-slide img,
	.elementor-element-00a307d[data-masc-epc='1'].masc-epc-carousel .masc-epc-swiper .swiper-slide img {
		object-fit: cover;
		object-position: center;
		max-width: 100%;
	}
}

@media (min-width: 1025px) {
	.elementor-element-5d95cf6.e-con-boxed > .e-con-inner,
	.elementor-element-f9284fa.e-con-boxed > .e-con-inner {
		max-width: min(1600px, calc(100vw - 48px)) !important;
		padding-inline: clamp(16px, 2.2vw, 36px);
	}

	.elementor-element-34a81cf[data-masc-epc='1'].masc-epc-carousel .masc-epc-swiper .swiper-slide,
	.elementor-element-00a307d[data-masc-epc='1'].masc-epc-carousel .masc-epc-swiper .swiper-slide {
		width: 56%;
	}
}

@media (min-width: 1400px) {
	.elementor-element-34a81cf[data-masc-epc='1'].masc-epc-carousel .masc-epc-swiper .swiper-slide,
	.elementor-element-00a307d[data-masc-epc='1'].masc-epc-carousel .masc-epc-swiper .swiper-slide {
		width: 52%;
	}
}

/* Mobile: full-bleed carousel + no clipped border-radius on active card */
@media (max-width: 767px) {
	.elementor-element-5d95cf6.e-con-boxed > .e-con-inner,
	.elementor-element-f9284fa.e-con-boxed > .e-con-inner {
		max-width: 100% !important;
		padding-inline: 0;
	}

	[data-masc-epc='1'].masc-epc-carousel {
		width: 100vw;
		max-width: 100vw;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		overflow: visible;
		padding-inline: 10px;
		box-sizing: border-box;
	}

	[data-masc-epc='1'].masc-epc-carousel .e-con,
	[data-masc-epc='1'].masc-epc-carousel .e-con-inner {
		overflow: visible !important;
	}

	[data-masc-epc='1'].masc-epc-carousel .masc-epc-swiper {
		overflow: visible;
		padding-block: clamp(2rem, 5vh, 3rem);
	}

	[data-masc-epc='1'].masc-epc-carousel .masc-epc-swiper .swiper-wrapper {
		align-items: center;
	}

	[data-masc-epc='1'].masc-epc-carousel .masc-epc-swiper .swiper-slide {
		width: 84%;
		height: auto;
		overflow: visible;
	}

	[data-masc-epc='1'].masc-epc-carousel .masc-epc-swiper .swiper-slide > .elementor-element {
		overflow: visible;
		will-change: transform;
	}

	[data-masc-epc='1'].masc-epc-carousel
		.masc-epc-swiper
		.swiper-slide
		> .elementor-element
		> .e-con {
		overflow: hidden;
		border-radius: inherit;
		-webkit-mask-image: -webkit-radial-gradient(white, black);
	}
}

[data-masc-epc='1'].masc-epc-carousel.masc-epc--dragging
	.masc-epc-swiper
	.swiper-slide
	> .elementor-element {
	transition-duration: 0s;
}

/* Pause decorative pulse while dragging — frees the main thread for swipe. */
[data-masc-epc='1'].masc-epc-carousel.masc-epc--dragging .masc-pack-gold-ball::after,
[data-masc-epc='1'].masc-epc-carousel.masc-epc--dragging .masc-pack-gold-ball--b::after,
[data-masc-epc='1'].masc-epc-carousel.masc-epc--dragging .masc-pack-gold-ball--c::after {
	animation-play-state: paused;
}

/* Remote Arrows (Element Pack) → single cycle button for packs carousel */
.masc-epc-remote-nav.bdt-remote-arrows {
	display: flex;
	justify-content: center;
	align-items: center;
}

.masc-epc-remote-nav.bdt-remote-arrows .bdt-prev,
.masc-epc-remote-nav.bdt-remote-arrows .bdt-next {
	display: none !important;
	pointer-events: none !important;
}

.masc-epc-remote-nav .masc-epc-cycle-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	cursor: pointer;
	background-color: var(--e-global-color-primary, #f4c430);
	color: #1a1a1a;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.masc-epc-remote-nav .masc-epc-cycle-btn:hover {
	transform: scale(1.05);
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.22);
}

.masc-epc-remote-nav .masc-epc-cycle-btn svg {
	width: 26px;
	height: 26px;
	fill: currentColor;
}
