/**
 * Site-wide responsive layout (no color changes).
 */


html {
	overflow-x: clip;
}

body {
	overflow-x: clip;
}

.garage-page,
.garage-live-page,
.u-container,
.garage-site-header__inner {
	max-width: 100%;
}

img,
video,
svg,
iframe {
	max-width: 100%;
	height: auto;
}

/* Tablet and below: single-column heroes, stacked content */
@media (max-width: 1023px) {
	.garage-live-page .garage-hero-layout,
	.garage-page--about #garage-about-hero .garage-about-hero-layout,
	.garage-page--services #garage-services-hero .garage-services-hero__layout,
	.garage-rent-hero-layout,
	.garage-contact-grid,
	.garage-dual-grid,
	.garage-dual-grid--modern {
		grid-template-columns: 1fr !important;
	}

	.garage-hero-section,
	.garage-live-page > .garage-hero-section,
	.garage-live-page.garage-page--home > .garage-hero-section,
	.garage-live-page.garage-page--pricing > .garage-hero-section,
	.garage-live-page.garage-page--rent-a-car > .garage-hero-section,
	.garage-live-page .garage-contact-hero.garage-hero-section,
	.garage-page--about > #garage-about-hero.garage-hero-section,
	.garage-page--services > #garage-services-hero.garage-hero-section {
		align-items: flex-start !important;
		justify-content: flex-start !important;
		height: auto !important;
		min-height: auto !important;
		max-height: none !important;
		padding-block: var(--garage-hero-edge-v, clamp(1.25rem, 5vh, 2.5rem)) !important;
		padding-inline: var(--garage-hero-edge-inline, clamp(0.75rem, 3vw, 1.25rem)) !important;
	}

	.garage-live-page .garage-hero-container,
	.garage-hero-container {
		max-height: none !important;
		min-height: 0 !important;
	}

	.garage-live-page .garage-hero-form,
	.garage-live-page.garage-page--rent-a-car .garage-rent-hero-showcase {
		max-width: 100%;
		justify-self: stretch !important;
		margin-inline: auto !important;
	}

	.garage-hero-headline {
		font-size: clamp(1.75rem, 7vw, 2.5rem) !important;
	}

	.garage-hero-cta-group,
	.garage-about-hero__actions,
	.garage-services-hero__actions,
	.garage-rent-cta-banner__actions {
		flex-direction: column;
		align-items: stretch;
		width: 100%;
	}

	.garage-hero-cta-group .garage-btn,
	.garage-about-hero__actions .garage-btn,
	.garage-services-hero__actions .garage-btn {
		width: 100%;
		white-space: normal;
		text-align: center;
	}

	.garage-stat-grid--modern,
	.garage-live-page .garage-stat-grid--modern {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.garage-service-grid--modern,
	.garage-services-grid {
		grid-template-columns: 1fr !important;
	}

	.garage-steps-track {
		grid-template-columns: 1fr !important;
	}

	.garage-step-card__connector {
		display: none;
	}

	.garage-pricing-table-wrap {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.garage-pricing-table-wrap .garage-table {
		min-width: 32rem;
	}

	.garage-rent-vehicle-grid,
	.garage-live-page.garage-page--rent-a-car [data-vehicle-grid] {
		grid-template-columns: 1fr !important;
	}

	.garage-rent-filter__grid {
		grid-template-columns: 1fr !important;
	}

	.garage-site-footer__inner {
		grid-template-columns: 1fr !important;
	}

	.garage-rent-cta-banner {
		grid-template-columns: 1fr !important;
		text-align: center;
	}
}

/* Mobile */
@media (max-width: 767px) {
	.u-container {
		width: min(100% - 1.25rem, 76rem);
		padding-inline: 0.75rem;
	}

	.garage-site-header__inner {
		padding: 0.65rem 0.85rem;
	}

	.garage-header-phone {
		display: none;
	}

	.garage-header-cta {
		padding: 0.5rem 0.75rem !important;
		font-size: 0.78rem !important;
	}

	.garage-hero-features,
	.garage-hero-trust-bar,
	.garage-services-hero__tags {
		flex-direction: column;
		align-items: flex-start;
		width: 100%;
	}

	.garage-hero-feature-item {
		width: 100%;
		justify-content: flex-start;
	}

	.garage-live-page .garage-stat-card__value,
	.garage-stat-card__value {
		white-space: normal !important;
		font-size: clamp(1.35rem, 6vw, 1.85rem) !important;
	}

	.garage-stat-grid--modern,
	.garage-live-page .garage-stat-grid--modern {
		grid-template-columns: 1fr !important;
	}

	.garage-about-hero__headline,
	.garage-services-hero__title,
	.garage-section-title {
		font-size: clamp(1.5rem, 6.5vw, 2rem);
	}

	.garage-page--about #garage-about-hero .garage-about-hero-content {
		order: 1;
	}

	.garage-page--about #garage-about-hero .garage-about-hero-media {
		order: 2;
	}

	.garage-history-timeline {
		grid-template-columns: 1fr !important;
	}

	.garage-contact-map-shell {
		min-height: 16rem;
	}

	.garage-reviews-carousel-shell {
		padding: 0.85rem;
	}

	.garage-review-card {
		padding: 1rem;
	}

	.garage-btn {
		min-height: 2.75rem;
		min-width: 2.75rem;
	}

	.garage-live-page .garage-hero-form .gapark-wrap input,
	.garage-live-page .garage-hero-form .gapark-wrap select,
	.garage-live-page .garage-hero-form .gapark-wrap textarea,
	.garage-live-page .garage-hero-form .gapark-card input,
	.garage-live-page .garage-hero-form .gapark-card select {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.garage-hero-scroll-indicator,
	.garage-contact-hero__scroll {
		display: none !important;
	}
}

/* Small phones */
@media (max-width: 479px) {
	.garage-brand__logo,
	.garage-brand__image {
		max-width: 7.5rem;
	}

	.garage-hero-badge {
		font-size: 0.72rem;
		padding: 0.4rem 0.75rem;
	}

	.garage-btn {
		padding: 0.75rem 1rem;
		font-size: 0.85rem;
	}
}

/* Laptop / desktop refinements */
@media (min-width: 1024px) {
	.garage-hero-layout,
	.garage-live-page .garage-hero-layout {
		grid-template-columns: minmax(0, 1.1fr) minmax(18rem, 26rem);
	}

	.garage-stat-grid--modern {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.garage-service-grid--modern {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.garage-steps-track {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1280px) {
	.garage-live-page .garage-hero-container,
	.u-container {
		width: min(100% - 2rem, 76rem);
	}
}
