/**
 * Last CTA — shared layout + spacing (all pages).
 * Page-specific section tweaks: home.css, services.css, about.css, contact.css, pricing.css, rent-a-car.css
 */

/* Override global .u-section padding (site-canvas / site-polish) */
.garage-page .garage-last-cta.u-section,
.garage-live-page .garage-last-cta.u-section {
	padding-block: clamp(2rem, 4vw, 2.75rem) clamp(3.75rem, 7vw, 5.25rem) !important;
	margin: 0 !important;
}

/* Article: footer gap comes from .garage-last-cta bottom padding only */
.garage-page--home.garage-page,
.garage-page--about.garage-page,
.garage-page--services.garage-page,
.garage-page--pricing.garage-page,
.garage-page--contact.garage-page,
.garage-page--rent-a-car.garage-page {
	padding-bottom: 0 !important;
}

/* Section directly above last CTA — avoid double stack with global section padding */
.garage-page > section:has(+ .garage-last-cta),
.garage-live-page > section:has(+ .garage-last-cta) {
	padding-bottom: clamp(1.5rem, 3.5vw, 2.5rem) !important;
}

/* Card */
.garage-last-cta__box {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: center;
	gap: clamp(1.1rem, 2.4vw, 1.65rem);
	padding: clamp(1.85rem, 3.6vw, 2.65rem) clamp(1.35rem, 3vw, 2.25rem);
	background: linear-gradient(135deg, rgba(44, 1, 3, 0.12), rgba(0, 0, 0, 0.05));
	border: 1px solid rgba(193, 18, 31, 0.38);
	border-radius: var(--radius-xl, 1.1rem);
	overflow: hidden;
	box-shadow: var(--shadow-elevation-2, 0 12px 40px rgba(0, 0, 0, 0.35));
}

.garage-last-cta__box::before {
	content: '';
	position: absolute;
	top: -50%;
	right: -20%;
	width: 60%;
	height: 200%;
	background: radial-gradient(ellipse, rgba(193, 18, 31, 0.14), transparent);
	pointer-events: none;
}

.garage-last-cta__content {
	position: relative;
	z-index: 1;
	display: grid;
	justify-items: start;
	align-content: center;
	text-align: left;
	gap: 0.55rem;
	min-width: 0;
	flex: 1 1 auto;
}

.garage-last-cta__eyebrow {
	display: inline-flex;
	align-items: center;
	padding: 0.35rem 0.85rem;
	border: 1px solid rgba(193, 18, 31, 0.45);
	border-radius: 999px;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--text-strong, #f5f5f5);
	background: rgba(0, 0, 0, 0.35);
	padding-top: 8px !important;
}

.garage-last-cta__title {
	margin: 0;
	font-family: var(--ff-heading, inherit);
	font-size: clamp(1rem, 0.72rem + 1.05vw, 1.5rem);
	font-weight: 600;
	line-height: 1.28;
	letter-spacing: -0.02em;
	color: var(--text-strong, #f5f5f5);
}

.garage-last-cta__actions {
	position: relative;
	z-index: 1;
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	align-self: center;
	justify-content: flex-start;
	gap: var(--space-md, 0.85rem);
	padding-top: 11px !important;
}

.garage-last-cta__actions .garage-btn {
	white-space: nowrap;
}

@media (min-width: 900px) {
	.garage-last-cta__box {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: clamp(1.25rem, 3vw, 2.5rem);
	}

	.garage-last-cta__title {
		font-size: clamp(1.02rem, 0.55rem + 1.1vw, 1.5rem);
	}

	.garage-last-cta__actions {
		flex: 0 0 auto;
		flex-wrap: nowrap;
	}
}

@media (max-width: 899px) {
	.garage-last-cta__content {
		justify-items: center;
		text-align: center;
	}

	.garage-last-cta__actions {
		justify-content: center;
		width: 100%;
	}

	.garage-last-cta__title {
		text-wrap: balance;
		max-width: 36ch;
	}
}
