/*
 * ESS Feature Section — a fixed-height photo band with heading/text on the
 * left, and a 2×2 block of white cards centred over the band's right half so
 * they overlap it symmetrically (top & bottom). Band height is adjustable;
 * the overlap follows from it automatically.
 */

/* The section is a single-cell grid: the photo band and the cards layer are
   stacked in the same cell and both vertically centred, so the cards overlap
   the band symmetrically (top & bottom) no matter how tall they are. The
   cell reserves the taller of the two, so nothing collides with neighbours. */
.ess-feature {
	position: relative;
	display: grid;
	grid-template-columns: 1fr;
	/* Breathing room for the part of the cards that spills past the band. */
	padding-top: 40px;
	padding-bottom: 60px;
}

.ess-feature__inner {
	width: 100%;
	max-width: var(--ess-container, 1200px);
	margin: 0 auto;
	padding-left: 20px;
	padding-right: 20px;
}

/* --- Background band (a fixed-height banner, centred in the cell) --- */
.ess-feature__hero {
	position: relative;
	grid-area: 1 / 1;
	align-self: center;
	min-height: 460px;
	display: flex;
	align-items: center;
	background-size: cover;
	background-position: center;
}
.ess-feature__hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-color: rgba(0, 0, 0, 0.35);
}
.ess-feature__hero .ess-feature__inner {
	position: relative;
	z-index: 1;
}

/* Heading/intro column — pinned to the left half. */
.ess-feature__content { max-width: 48%; }

/* --- Cards layer: same cell, centred → symmetric overlap of the band --- */
.ess-feature__cards-layer {
	grid-area: 1 / 1;
	align-self: center;
	z-index: 2;
	/* The empty left half must not intercept clicks meant for the band. */
	pointer-events: none;
}
.ess-feature__cards-layer .ess-feature__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
	gap: 40px;
}

.ess-feature__heading {
	margin: 0 0 24px;
	max-width: 620px;
	font-family: var(--ess-font-heading, "Playfair Display", serif);
	font-weight: 400;
	font-size: clamp(30px, 3.4vw, 48px);
	line-height: 1.2;
	color: #fff;
}
.ess-feature__heading strong,
.ess-feature__heading b { font-weight: 700; }

.ess-feature__text {
	max-width: 620px;
	font-family: var(--ess-font-body, "Poppins", sans-serif);
	font-size: clamp(15px, 1.2vw, 18px);
	line-height: 1.7;
	color: #f2f2f2;
}

.ess-feature__cards {
	grid-column: 2;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 30px;
	/* Re-enable pointer events (parent layer disabled them for its empty half). */
	pointer-events: auto;
}

/* Scoped with .ess-feature so the box-shadow out-specifies Elementor's
   ".elementor a { box-shadow: none }" reset (which was hiding it at rest).
   Two layers: a downward shadow for depth + a soft upward one so the top
   row reads against the white background instead of blending in. */
.ess-feature .ess-fcard {
	display: block;
	background: #fff;
	border-radius: 14px;
	padding: 40px 34px;
	box-shadow: 0 22px 44px -16px rgba(0, 0, 0, .30), 0 -8px 26px -12px rgba(0, 0, 0, .12);
	text-decoration: none;
	transition: transform .3s ease, box-shadow .3s ease;
}
.ess-feature a.ess-fcard:hover {
	transform: translateY(-6px);
	box-shadow: 0 34px 54px -16px rgba(0, 0, 0, .34), 0 -8px 26px -12px rgba(0, 0, 0, .14);
}

.ess-fcard__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 90px;
	height: 90px;
	margin-bottom: 26px;
	background: var(--ess-blue, #4cbfea);
	border-radius: 50%;
}
.ess-fcard__icon img {
	width: 50%;
	height: auto;
}

.ess-fcard__title {
	margin: 0 0 14px;
	font-family: var(--ess-font-heading, "Playfair Display", serif);
	font-weight: 700;
	font-size: 24px;
	line-height: 1.2;
	color: var(--ess-blue, #4cbfea);
}
.ess-fcard__desc {
	font-family: var(--ess-font-body, "Poppins", sans-serif);
	font-size: 16px;
	line-height: 1.6;
	color: #333;
}

/* --- Responsive fallbacks --- */
@media (max-width: 980px) {
	/* Drop the stacking/overlap: band on top, cards flow normally below it. */
	.ess-feature {
		display: block;
		padding-top: 0;
	}
	.ess-feature__hero {
		min-height: 0;
		align-self: auto;
		padding: 60px 0;
	}
	.ess-feature__content { max-width: 620px; }
	.ess-feature__cards-layer {
		pointer-events: auto;
		margin-top: 30px;
	}
	.ess-feature__cards-layer .ess-feature__inner {
		grid-template-columns: 1fr;
	}
	.ess-feature__cards {
		grid-column: 1;
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 768px) {
	.ess-feature__hero { padding: 48px 0; }
	.ess-feature__cards { grid-template-columns: 1fr; }
	.ess-fcard { padding: 32px 28px; }
}
