/**
 * Hero layout overrides — loaded after Elementor frontend CSS.
 */

.nyli-home-hero .elementor-widget-wrap.elementor-element-populated {
	display: grid !important;
	grid-template-columns: 230px 22px 190px !important;
	grid-template-rows: auto !important;
	align-items: center !important;
	justify-content: start !important;
	column-gap: 0 !important;
	row-gap: 0 !important;
	max-width: 500px !important;
}

.nyli-home-hero .elementor-widget-wrap > .elementor-widget-heading,
.nyli-home-hero .elementor-widget-wrap > .elementor-widget-divider,
.nyli-home-hero .elementor-widget-wrap > .elementor-widget-text-editor {
	grid-column: 1 / -1 !important;
	width: 100% !important;
	max-width: 100% !important;
}

.nyli-home-hero .elementor-widget-wrap > .elementor-element-po3nuwc {
	grid-column: 1 / 2 !important;
	width: 230px !important;
	max-width: 230px !important;
	margin: 18px 0 0 0 !important;
}

.nyli-home-hero .elementor-widget-wrap > .elementor-element-zy9r5hc {
	grid-column: 3 / 4 !important;
	width: 190px !important;
	max-width: 190px !important;
	margin: 18px 0 0 0 !important;
}

.nyli-home-hero .elementor-element-po3nuwc .elementor-button,
.nyli-home-hero .elementor-element-zy9r5hc .elementor-button {
	width: 100% !important;
}

/* Desktop/tablet use a single supplied full-section background. */
.nyli-home-hero .nyli-home-hero__mobile-image,
.nyli-home-hero .elementor-element-nylimobimg {
	display: none !important;
}

@media (max-width: 1024px) {
	.nyli-home-hero .elementor-widget-wrap.elementor-element-populated {
		grid-template-columns: 200px 18px 170px !important;
	}

	.nyli-home-hero .elementor-widget-wrap > .elementor-element-po3nuwc {
		width: 200px !important;
		max-width: 200px !important;
	}

	.nyli-home-hero .elementor-widget-wrap > .elementor-element-zy9r5hc {
		width: 170px !important;
		max-width: 170px !important;
	}
}

/*
 * Mobile intentionally switches composition: live black content followed by
 * a separate supplied vehicle image. This is still the same Elementor hero.
 */
@media (max-width: 767px) {
	.nyli-home-hero,
	.elementor-element-g80tqpv {
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		margin-top: -1px;
		background: #050505 !important;
		background-image: none !important;
		background-position: center center !important;
	}

	.nyli-home-hero > .elementor-container,
	.elementor-element-g80tqpv > .elementor-container {
		height: auto !important;
		min-height: 0 !important;
	}

	.nyli-home-hero .elementor-column,
	.nyli-home-hero .elementor-column-wrap,
	.nyli-home-hero .elementor-widget-wrap {
		width: 100% !important;
	}

	.nyli-home-hero .elementor-element-z7lusec,
	.nyli-home-hero__content {
		padding: 34px 22px 0 !important;
		background: #050505 !important;
	}

	/* Elementor stores desktop column padding on this wrapper. */
	.nyli-home-hero .elementor-element-z7lusec > .elementor-widget-wrap,
	.nyli-home-hero__content > .elementor-widget-wrap {
		padding: 0 !important;
	}

	.nyli-home-hero .elementor-widget-wrap.elementor-element-populated {
		/* minmax prevents the no-break heading from widening the viewport */
		grid-template-columns: minmax(0, 1fr) !important;
		max-width: none !important;
		min-height: 0 !important;
	}

	.nyli-home-hero .elementor-heading-title {
		font-size: 36px !important;
		line-height: 1.04 !important;
	}

	.nyli-home-hero .nyli-home-hero__text p {
		font-size: 16px !important;
		line-height: 1.55 !important;
	}

	.nyli-home-hero .elementor-widget-wrap > .elementor-element-po3nuwc,
	.nyli-home-hero .elementor-widget-wrap > .elementor-element-zy9r5hc {
		grid-column: 1 / -1 !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.nyli-home-hero .elementor-widget-wrap > .elementor-element-po3nuwc {
		margin-bottom: 12px !important;
	}

	.nyli-home-hero .nyli-home-hero__mobile-image,
	.nyli-home-hero .elementor-element-nylimobimg {
		display: block !important;
		grid-column: 1 / -1 !important;
		width: calc(100% + 44px) !important;
		max-width: calc(100% + 44px) !important;
		margin: 26px -22px 0 !important;
		padding: 0 !important;
		line-height: 0;
	}

	.nyli-home-hero .nyli-home-hero__mobile-image .elementor-widget-container,
	.nyli-home-hero .elementor-element-nylimobimg .elementor-widget-container {
		margin: 0 !important;
	}

	.nyli-home-hero .nyli-home-hero__mobile-image img,
	.nyli-home-hero .elementor-element-nylimobimg img {
		display: block !important;
		width: 100% !important;
		height: auto !important;
		margin: 0 !important;
		object-fit: cover;
	}
}

@media (max-width: 480px) {
	.nyli-home-hero .elementor-heading-title {
		font-size: 34px !important;
	}

	.nyli-home-hero .elementor-element-z7lusec,
	.nyli-home-hero__content {
		padding: 30px 20px 0 !important;
	}

	.nyli-home-hero .nyli-home-hero__mobile-image,
	.nyli-home-hero .elementor-element-nylimobimg {
		width: calc(100% + 40px) !important;
		max-width: calc(100% + 40px) !important;
		margin-left: -20px !important;
		margin-right: -20px !important;
	}
}

@media (max-width: 375px) {
	.nyli-home-hero .elementor-heading-title {
		/* Preserve the required two lines without clipping on 375px phones. */
		font-size: 29px !important;
	}
}

@media (max-width: 320px) {
	.nyli-home-hero .elementor-heading-title {
		font-size: 26px !important;
		letter-spacing: 0 !important;
	}
}
