/**
 * Homepage hero (#leo-intro) — section height + catalog boundary (no overlap).
 */

body.home #leo-intro.leo-intro-main {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

body.home #catalog_54.leo-catalog-home {
	position: relative;
	z-index: 2;
	background-color: #000;
}

/* Mobile: keep markup min-height; ensure background stays clipped */
@media (max-width: 1023px) {
	body.home #leo-intro .leocar-hero-bg img,
	body.home #leo-intro picture img {
		object-fit: cover;
		object-position: bottom center;
	}

	body.home #leo-intro .leocar-hero-bg,
	body.home #leo-intro picture {
		top: 0;
		bottom: 0;
		height: auto !important;
	}

	/* Same gradient overlay as desktop (LiteSpeed hides picture::after below 1024px). */
	body.home #leo-intro.leo-intro-main > picture::after {
		content: '';
		display: block;
		position: absolute;
		inset: 0;
		pointer-events: none;
		background:
			linear-gradient(90deg, rgb(0 0 0 / 0.8) 25%, rgb(0 0 0 / 0.45) 60%, rgb(0 0 0 / 0.45)),
			linear-gradient(180deg, transparent 50%, rgb(0 0 0 / 0.7));
	}
}

@media (min-width: 1024px) {
	/* Shorter hero — closer to original reference (avoid near-full-viewport height). */
	body.home #leo-intro.leo-intro-main {
		min-height: clamp(560px, 68vh, 680px) !important;
		max-height: none;
		/* 1024–1099: mobile header (~70px); background fills from section top. */
		padding-top: 80px !important;
		padding-bottom: 2.5rem !important;
	}

	body.home #leo-intro > .container {
		align-items: center !important;
	}

	body.home #leo-intro > .container > .swiper {
		display: flex;
		align-items: center;
		min-height: 100%;
	}

	body.home #leo-intro .swiper-wrapper {
		align-items: center !important;
		min-height: 100%;
	}

	/* Left copy column — vertically centered in hero (not top-aligned). */
	body.home #leo-intro .swiper-slide:first-child {
		align-items: center !important;
		align-self: center !important;
	}

	body.home #leo-intro .swiper-slide:last-child {
		align-items: center !important;
		align-self: center !important;
	}

	body.home #leo-intro .leocar-hero-bg img,
	body.home #leo-intro picture img {
		object-fit: cover;
		object-position: bottom center;
	}

	body.home #leo-intro .leocar-hero-bg,
	body.home #leo-intro picture {
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		height: auto !important;
	}

	/* Slightly tighter form card on desktop */
	body.home #leo-hero-form.form-slide {
		padding-bottom: 1.25rem !important;
	}

	body.home #leo-hero-form .priceForm {
		margin-top: 0.5rem !important;
	}

	body.home #leo-hero-form .priceForm > .flex.flex-col {
		gap: 0.625rem;
	}

	body.home #leo-hero-form input[type='submit'] {
		margin-top: 1rem !important;
	}
}

/* Desktop header bar (1100:flex) is 88px — align bg + content offset with header height. */
@media (min-width: 1100px) {
	body.home #leo-intro.leo-intro-main {
		padding-top: 108px !important;
	}

	body.home #leo-intro .leocar-hero-bg,
	body.home #leo-intro picture {
		top: 88px;
	}
}

@media (min-width: 1280px) {
	body.home #leo-intro.leo-intro-main {
		min-height: clamp(580px, 70vh, 700px) !important;
	}
}
