/**
 * Homepage hero slider (#cust-slider)
 * Dark overlay behind text — do NOT change Elementor's absolute slide-inner layout.
 */

#cust-slider .swiper-slide {
	position: relative;
}

/* Dark transparent layer BEHIND slide text */
#cust-slider .swiper-slide::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(
		180deg,
		rgba(0, 0, 0, 0.4) 0%,
		rgba(0, 0, 0, 0.5) 45%,
		rgba(0, 0, 0, 0.65) 100%
	);
}

#cust-slider .swiper-slide-bg {
	z-index: 0;
	background-position: center center !important;
	background-size: cover !important;
}

/* Keep Elementor absolute centering; only raise above overlay */
#cust-slider .swiper-slide-inner {
	z-index: 2 !important;
}

#cust-slider .swiper-slide-contents {
	max-width: 860px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
	text-align: center;
}

#cust-slider .elementor-slide-heading {
	color: #ffffff !important;
	font-family: var(--ciywr-font-sans) !important;
	font-size: clamp(26px, 4.2vw, 46px) !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	letter-spacing: 0.01em !important;
	text-shadow: 0 2px 16px rgba(0, 0, 0, 0.65);
	opacity: 1 !important;
	visibility: visible !important;
}

#cust-slider .elementor-slide-description {
	color: rgba(255, 255, 255, 0.95) !important;
	font-family: var(--ciywr-font-serif) !important;
	font-size: clamp(15px, 1.7vw, 19px) !important;
	font-weight: 400 !important;
	font-style: italic !important;
	line-height: 1.55 !important;
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.6);
	opacity: 1 !important;
	visibility: visible !important;
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
}

/* Hide Elementor's uneven per-slide overlays (ours covers all slides) */
#cust-slider .elementor-background-overlay {
	display: none !important;
}

#cust-slider .elementor-swiper-button {
	z-index: 3 !important;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.35);
	color: #ffffff !important;
}

#cust-slider .elementor-swiper-button:hover,
#cust-slider .elementor-swiper-button:focus {
	background: rgba(0, 0, 0, 0.55);
}

#cust-slider .elementor-swiper-button svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
}

/* ---------- Tablet ---------- */
@media (max-width: 1024px) {
	#cust-slider .swiper-slide-contents {
		padding-left: 24px;
		padding-right: 24px;
	}

	#cust-slider .elementor-slide-heading {
		font-size: clamp(24px, 3.6vw, 36px) !important;
	}

	#cust-slider .elementor-slide-description {
		font-size: 16px !important;
		line-height: 1.5 !important;
	}
}

/* ---------- Phones: full-bleed — kill side gutters ---------- */
@media (max-width: 767px) {
	/* Parent section + every nested container: no side padding */
	.elementor-element-3a89d61,
	.elementor-element-3a89d61 > .e-con,
	.elementor-element-3a89d61 > .elementor-container,
	.elementor-element-3a89d61 .elementor-container,
	.elementor-element-3a89d61 .e-con,
	section#cust-slider,
	#cust-slider,
	#cust-slider.elementor-section,
	#cust-slider > .elementor-container,
	#cust-slider .elementor-container,
	#cust-slider .e-con,
	#cust-slider .elementor-widget-container,
	#cust-slider .elementor-element-c98a32a,
	.elementor-element-c98a32a .elementor-widget-container {
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}

	/* Break out of any padded parent so image is truly edge-to-edge */
	.elementor-element-3a89d61,
	section#cust-slider,
	#cust-slider {
		width: 100vw !important;
		max-width: 100vw !important;
		margin-left: calc(50% - 50vw) !important;
		margin-right: calc(50% - 50vw) !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		position: relative !important;
		left: auto !important;
		right: auto !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
	}

	body,
	#outer-wrap,
	#wrap,
	#main,
	#content-wrap,
	#content,
	.content-area {
		overflow-x: clip !important;
	}

	#cust-slider .elementor-slides-wrapper,
	#cust-slider .elementor-main-swiper,
	#cust-slider .swiper,
	#cust-slider .swiper-container {
		margin: 0 !important;
		height: clamp(250px, 62vw, 340px) !important;
		min-height: 0 !important;
		max-height: 340px !important;
		width: 100% !important;
		max-width: 100% !important;
		overflow: hidden !important;
		border-radius: 0 !important;
	}

	#cust-slider .swiper-wrapper {
		height: 100% !important;
		min-height: 0 !important;
		width: 100% !important;
	}

	#cust-slider .swiper-slide {
		height: 100% !important;
		min-height: 0 !important;
		max-height: 340px !important;
		width: 100% !important;
		margin: 0 !important;
	}

	#cust-slider .swiper-slide-bg {
		background-position: center 28% !important;
		background-size: cover !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		height: 100% !important;
	}

	/* Text inset only — image stays edge-to-edge */
	#cust-slider .swiper-slide-inner {
		padding: 20px 14px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		box-sizing: border-box !important;
		width: 100% !important;
		height: 100% !important;
		left: 0 !important;
		right: 0 !important;
	}

	#cust-slider .swiper-slide-contents {
		padding-left: 24px !important;
		padding-right: 24px !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	#cust-slider .elementor-slide-heading {
		margin: 0 0 8px !important;
		padding: 0 !important;
		font-size: clamp(20px, 5.6vw, 26px) !important;
		line-height: 1.25 !important;
	}

	#cust-slider .elementor-slide-description {
		margin: 0 auto !important;
		padding: 0 !important;
		font-size: 12.5px !important;
		line-height: 1.45 !important;
		max-width: 34em;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 4;
		overflow: hidden;
	}

	#cust-slider .elementor-swiper-button {
		width: 30px !important;
		height: 30px !important;
		top: 50% !important;
		margin-top: -15px !important;
	}

	#cust-slider .elementor-swiper-button-prev {
		left: 4px !important;
	}

	#cust-slider .elementor-swiper-button-next {
		right: 4px !important;
	}

	#cust-slider .elementor-swiper-button svg {
		width: 13px;
		height: 13px;
	}
}

@media (max-width: 480px) {
	#cust-slider .elementor-slides-wrapper,
	#cust-slider .elementor-main-swiper,
	#cust-slider .swiper,
	#cust-slider .swiper-container,
	#cust-slider .swiper-slide {
		height: clamp(230px, 68vw, 300px) !important;
		max-height: 300px !important;
		min-height: 0 !important;
	}

	#cust-slider .swiper-slide-inner {
		padding: 18px 12px !important;
	}

	#cust-slider .swiper-slide-contents {
		padding-left: 22px !important;
		padding-right: 22px !important;
	}

	#cust-slider .elementor-slide-heading {
		font-size: clamp(18px, 5.4vw, 22px) !important;
		margin-bottom: 6px !important;
	}

	#cust-slider .elementor-slide-description {
		font-size: 12px !important;
		line-height: 1.4 !important;
		-webkit-line-clamp: 3;
	}
}
