/*
 * Gochcar front-end styles.
 * Design tokens live in theme.json; this file consumes the same
 * --wp--preset--color--gochcar-* custom properties WordPress generates
 * from it, plus a small set of shorthand aliases below for readability.
 */

:root {
	--gochcar-green: var(--wp--preset--color--gochcar-green, #16A34A);
	--gochcar-green-dark: var(--wp--preset--color--gochcar-green-dark, #0E7C39);
	--gochcar-green-light: var(--wp--preset--color--gochcar-green-light, #E7F6EC);
	--gochcar-black: var(--wp--preset--color--gochcar-black, #101418);
	--gochcar-text: var(--wp--preset--color--gochcar-text, #1F2430);
	--gochcar-muted: var(--wp--preset--color--gochcar-muted, #667085);
	--gochcar-border: var(--wp--preset--color--gochcar-border, #E4E7EB);
	--gochcar-surface: var(--wp--preset--color--gochcar-surface, #F7F9F8);
	--gochcar-white: var(--wp--preset--color--gochcar-white, #FFFFFF);
	--gochcar-radius-sm: 8px;
	--gochcar-radius-md: 14px;
	--gochcar-radius-lg: 20px;
	--gochcar-radius-pill: 999px;
	--gochcar-shadow-card: 0 4px 16px rgba(16, 20, 24, 0.06);
	--gochcar-shadow-soft: 0 8px 24px rgba(16, 20, 24, 0.08);
	--gochcar-container: 1180px;
}

@media (prefers-reduced-motion: no-preference) {
	.gochcar-reveal {
		opacity: 0;
		transform: translateY(16px);
		transition: opacity 0.6s ease, transform 0.6s ease;
	}
	.gochcar-reveal.is-visible {
		opacity: 1;
		transform: none;
	}
}

* {
	box-sizing: border-box;
}

body {
	color: var(--gochcar-text);
	overflow-x: hidden;
}

a {
	transition: color 0.2s ease;
}

:focus-visible {
	outline: 2px solid var(--gochcar-green-dark);
	outline-offset: 2px;
}

/*
 * Full-width layout: header, page content and footer stretch edge to
 * edge; each gets its own horizontal padding instead of being boxed
 * into a centered column. Individual sections (hero, stats, mission…)
 * may still cap their own inner content for readability.
 */
.gochcar-page,
.gochcar-header,
.gochcar-footer {
	width: 100%;
	padding-inline: clamp(1.5rem, 5vw, 5rem);
}

/* ---------- Buttons ----------
 * Two markup shapes appear across the theme: a wp:button block
 * (`<div class="gochcar-btn"><a>…</a></div>`) and a bare element that
 * carries the class itself (`<button class="gochcar-btn">`,
 * `<a class="gochcar-btn">`). Each rule below lists both forms plainly
 * (no `:where()`) so these keep normal cascade specificity — WordPress's
 * own theme.json button color is a single-class rule (`.wp-element-button`),
 * and a zero-specificity `:where()` selector would lose to it. */
.gochcar-btn > a,
a.gochcar-btn,
button.gochcar-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.85rem 1.75rem;
	border-radius: var(--gochcar-radius-pill);
	border: none;
	font: inherit;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: transform 0.15s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}
.gochcar-btn--primary > a,
a.gochcar-btn--primary,
button.gochcar-btn--primary {
	background: var(--gochcar-green);
	color: var(--gochcar-white);
}
.gochcar-btn--primary > a:hover,
a.gochcar-btn--primary:hover,
button.gochcar-btn--primary:hover {
	background: var(--gochcar-green-dark);
	transform: translateY(-1px);
	box-shadow: var(--gochcar-shadow-card);
}
.gochcar-btn--outline > a,
a.gochcar-btn--outline,
button.gochcar-btn--outline {
	background: var(--gochcar-white);
	color: var(--gochcar-black);
	border: 1px solid var(--gochcar-border);
}
.gochcar-btn--outline > a:hover,
a.gochcar-btn--outline:hover,
button.gochcar-btn--outline:hover {
	border-color: var(--gochcar-green);
	color: var(--gochcar-green-dark);
}
.gochcar-btn--dark > a,
a.gochcar-btn--dark,
button.gochcar-btn--dark {
	background: var(--gochcar-black);
	color: var(--gochcar-white);
}
.gochcar-btn--dark > a:hover,
a.gochcar-btn--dark:hover,
button.gochcar-btn--dark:hover {
	background: #23292f;
}
.gochcar-btn--sm > a,
a.gochcar-btn--sm,
button.gochcar-btn--sm {
	padding: 0.55rem 1.25rem;
	font-size: 0.9rem;
}

.gochcar-icon svg {
	width: 34px;
	height: 34px;
	color: var(--gochcar-green);
	margin-bottom: 0.75rem;
}
.gochcar-icon--sm svg {
	width: 22px;
	height: 22px;
	margin: 0;
	flex-shrink: 0;
}

.gochcar-text-accent {
	color: var(--gochcar-green);
}

.gochcar-eyebrow {
	color: var(--gochcar-green-dark);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 0.85rem;
	margin-bottom: 0.5rem;
}
.gochcar-eyebrow--light {
	color: var(--gochcar-green);
}

.gochcar-section-heading {
	text-align: center;
	margin-bottom: 3rem;
}
.gochcar-section-title {
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	color: var(--gochcar-black);
}
.gochcar-section-text {
	color: var(--gochcar-muted);
	max-width: 46rem;
	margin-inline: auto;
}

.gochcar-rounded-image img {
	border-radius: var(--gochcar-radius-lg);
	box-shadow: var(--gochcar-shadow-soft);
	width: 100%;
	height: auto;
}

/* ---------- Header ---------- */
.gochcar-header {
	padding-block: 1.25rem;
	gap: 1.5rem;
	position: sticky;
	top: 0;
	z-index: 40;
	background: var(--gochcar-white);
	border-bottom: 1px solid var(--gochcar-border);
}
.gochcar-header__title a {
	font-weight: 800;
	font-size: 1.15rem;
	color: var(--gochcar-black);
	text-decoration: none;
}
/* Once a real logo image is set (Site Identity → Logo), the Site Logo
   block renders an <img>; the "Gochcar" text wordmark next to it is then
   redundant and hides itself. No logo set → the block renders nothing,
   so the text title is the only brand mark shown, as a fallback. */
.gochcar-header:has(.wp-block-site-logo img) .gochcar-header__brand,
.gochcar-footer:has(.wp-block-site-logo img) .gochcar-footer__title {
	display: none;
}
.gochcar-header__nav {
	flex: 1;
	justify-content: center;
}
.gochcar-header__nav a {
	color: var(--gochcar-text);
	text-decoration: none;
	font-weight: 500;
	padding: 0.5rem 0.75rem;
}
.gochcar-header__nav a:hover {
	color: var(--gochcar-green-dark);
}
.gochcar-header__actions {
	gap: 1rem;
	align-items: center;
}
.gochcar-header__login a {
	color: var(--gochcar-text);
	text-decoration: none;
	font-weight: 600;
}

/* ---------- Hero ---------- */
/* Full-bleed banner: breaks out of .gochcar-page's padding to span the
   full viewport width edge to edge. Text and image sit in separate flex
   columns — never overlapping at any viewport width — and the image is
   flush against the browser's right edge (no padding, no rounding) so
   the banner still reads as genuinely full-bleed, not a boxed graphic
   floating inside a card. */
.gochcar-hero {
	width: 100vw;
	margin-inline: calc(50% - 50vw);
	min-height: 560px;
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
	background-color: var(--gochcar-surface);
}
.gochcar-hero__content {
	flex: 1 1 420px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 4rem clamp(1.5rem, 5vw, 5rem) 4rem clamp(1.5rem, 5vw, 5rem);
}
.gochcar-hero__title {
	font-size: clamp(2.25rem, 4vw, 3.5rem);
	line-height: 1.1;
}
.gochcar-hero__subtitle {
	color: var(--gochcar-muted);
	font-size: 1.05rem;
	max-width: 32rem;
}
.gochcar-hero__actions {
	margin-top: 1.5rem;
	gap: 1rem;
}
.gochcar-hero__image {
	flex: 1 1 480px;
	min-height: 320px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

/* ---------- Benefits ---------- */
.gochcar-benefits {
	padding-block: 2rem 4rem;
}
.gochcar-benefits__grid {
	gap: 2rem;
}
.gochcar-benefit {
	text-align: center;
	background: var(--gochcar-white);
	border: 1px solid var(--gochcar-border);
	border-radius: var(--gochcar-radius-md);
	padding: 1.75rem 1.25rem;
}
.gochcar-benefit__title {
	font-size: 1.05rem;
	margin-block: 0.25rem;
}
.gochcar-benefit__text {
	color: var(--gochcar-muted);
	font-size: 0.9rem;
}

/* ---------- Ride CTA ---------- */
.gochcar-ride-cta {
	text-align: center;
	padding-block: 2rem 5rem;
}
.gochcar-ride-cta__title {
	font-size: 1.75rem;
}
.gochcar-ride-cta__text {
	color: var(--gochcar-muted);
}
.gochcar-ride-cta__field {
	display: flex;
	gap: 0.75rem;
	justify-content: center;
	margin-top: 1.5rem;
	flex-wrap: wrap;
}
.gochcar-ride-cta__field input {
	flex: 1 1 320px;
	max-width: 360px;
	padding: 0.85rem 1.25rem;
	border-radius: var(--gochcar-radius-pill);
	border: 1px solid var(--gochcar-border);
	font-size: 1rem;
}

/* ---------- About ---------- */
.gochcar-about-intro {
	padding-block: 3rem;
	gap: 3rem;
}
.gochcar-about-intro__content {
	max-width: 32rem;
}
.gochcar-stats {
	background: var(--gochcar-surface);
	border-radius: var(--gochcar-radius-lg);
	padding: 2.5rem 1.5rem;
	margin-block: 1rem 3rem;
	text-align: center;
	gap: 1.5rem;
}
.gochcar-stat__number {
	font-size: 2rem;
	font-weight: 800;
	color: var(--gochcar-black);
	margin: 0;
}
.gochcar-stat__label {
	color: var(--gochcar-muted);
	margin: 0;
}
.gochcar-mission {
	background: var(--gochcar-black);
	color: var(--gochcar-white);
	border-radius: var(--gochcar-radius-lg);
	padding: 3rem;
	margin-block: 1rem 4rem;
	gap: 2.5rem;
}
.gochcar-mission__text {
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1.35;
}

/* ---------- Services ---------- */
.gochcar-services-grid {
	gap: 1.75rem;
	margin-bottom: 3rem;
}
.gochcar-service-card {
	background: var(--gochcar-white);
	border: 1px solid var(--gochcar-border);
	border-radius: var(--gochcar-radius-md);
	padding: 1.5rem;
	box-shadow: var(--gochcar-shadow-card);
}
.gochcar-service-card__image {
	border-radius: var(--gochcar-radius-sm);
	overflow: hidden;
	margin-bottom: 1rem;
	background: var(--gochcar-surface);
}
.gochcar-service-card__image img {
	width: 100%;
	height: auto;
	display: block;
}
.gochcar-service-card__title {
	font-size: 1.1rem;
	margin: 0 0 0.35rem;
}
.gochcar-service-card__text {
	color: var(--gochcar-muted);
	font-size: 0.92rem;
	margin: 0;
}
.gochcar-business-cta {
	background: var(--gochcar-black);
	color: var(--gochcar-white);
	border-radius: var(--gochcar-radius-lg);
	padding: 3rem;
	margin-bottom: 4rem;
	gap: 2rem;
}
.gochcar-business-cta__title {
	color: var(--gochcar-white);
}
.gochcar-business-cta__text {
	color: #c7ccd1;
}

/* ---------- How It Works ---------- */
.gochcar-steps {
	gap: 1.5rem;
	margin-bottom: 4rem;
	text-align: center;
	position: relative;
}
.gochcar-step {
	position: relative;
	padding-inline: 0.5rem;
}
.gochcar-step::after {
	content: "";
	position: absolute;
	top: 22px;
	left: calc(50% + 30px);
	width: calc(100% - 60px);
	border-top: 2px dashed var(--gochcar-border);
}
.gochcar-step:last-child::after {
	display: none;
}
.gochcar-step__number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: var(--gochcar-green-light);
	color: var(--gochcar-green-dark);
	margin-bottom: 1rem;
}
.gochcar-step__number--done {
	background: var(--gochcar-green);
	color: var(--gochcar-white);
}
.gochcar-step__number svg {
	width: 20px;
	height: 20px;
}
.gochcar-step__title {
	font-size: 1.05rem;
	margin-bottom: 0.35rem;
}
.gochcar-step__text {
	color: var(--gochcar-muted);
	font-size: 0.9rem;
}

.gochcar-app-download {
	background: var(--gochcar-green-light);
	border-radius: var(--gochcar-radius-lg);
	padding: 3rem;
	margin-bottom: 3rem;
	gap: 2.5rem;
}
.gochcar-app-download__title {
	font-size: 1.9rem;
}
.gochcar-app-download__text {
	color: var(--gochcar-muted);
}
.gochcar-app-download__badges {
	margin-top: 1.5rem;
	align-items: center;
	gap: 1rem;
}
.gochcar-app-badge img {
	border-radius: var(--gochcar-radius-sm);
}
.gochcar-app-download__phone img {
	max-width: 260px;
	margin-inline: auto;
	display: block;
}

/* ---------- Safety ---------- */
.gochcar-safety-shield {
	position: relative;
	max-width: 520px;
	margin: 0 auto 4rem;
	aspect-ratio: 1 / 1;
	display: grid;
	place-items: center;
}
.gochcar-safety-shield__center {
	width: 40%;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background: var(--gochcar-green);
	color: var(--gochcar-white);
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: var(--gochcar-shadow-soft);
}
.gochcar-safety-shield__center svg {
	width: 44%;
	height: 44%;
}
.gochcar-safety-shield__point {
	position: absolute;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.4rem;
	text-align: center;
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--gochcar-text);
}
.gochcar-safety-shield__point svg {
	width: 26px;
	height: 26px;
	color: var(--gochcar-green-dark);
}
.gochcar-safety-shield__point--tl { top: 4%; left: 4%; }
.gochcar-safety-shield__point--tr { top: 4%; right: 4%; }
.gochcar-safety-shield__point--bl { bottom: 4%; left: 4%; }
.gochcar-safety-shield__point--br { bottom: 4%; right: 4%; }

.gochcar-safety-cards {
	gap: 1.5rem;
	margin-bottom: 3rem;
}
.gochcar-safety-card {
	text-align: center;
	background: var(--gochcar-white);
	border: 1px solid var(--gochcar-border);
	border-radius: var(--gochcar-radius-md);
	padding: 1.75rem 1.25rem;
}
.gochcar-safety-card__title {
	font-size: 1.05rem;
	margin-bottom: 0.35rem;
}
.gochcar-safety-card__text {
	color: var(--gochcar-muted);
	font-size: 0.9rem;
}

.gochcar-help-cta {
	background: var(--gochcar-surface);
	border-radius: var(--gochcar-radius-lg);
	padding: 2.5rem;
	margin-bottom: 4rem;
	gap: 1.5rem;
}
.gochcar-help-cta__title {
	margin-bottom: 0.25rem;
}
.gochcar-help-cta__text {
	color: var(--gochcar-muted);
	margin: 0;
}

/* ---------- Contact ---------- */
.gochcar-contact {
	gap: 3rem;
	padding-block: 3rem 2rem;
}
.gochcar-contact-list {
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.gochcar-contact-list li {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	color: var(--gochcar-text);
}
.gochcar-contact-list a {
	color: var(--gochcar-text);
	text-decoration: none;
}
.gochcar-contact-list a:hover {
	color: var(--gochcar-green-dark);
}

.gochcar-contact-form {
	background: var(--gochcar-white);
	border: 1px solid var(--gochcar-border);
	border-radius: var(--gochcar-radius-lg);
	padding: 2rem;
	box-shadow: var(--gochcar-shadow-card);
	display: flex;
	flex-direction: column;
	gap: 1.1rem;
}
.gochcar-form-row {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}
.gochcar-form-row label {
	font-weight: 600;
	font-size: 0.9rem;
}
.gochcar-form-row input,
.gochcar-form-row select,
.gochcar-form-row textarea {
	padding: 0.75rem 1rem;
	border-radius: var(--gochcar-radius-sm);
	border: 1px solid var(--gochcar-border);
	font: inherit;
	width: 100%;
}
.gochcar-form-row textarea {
	resize: vertical;
}
.gochcar-form-honeypot {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
.gochcar-form-notice {
	padding: 0.85rem 1.1rem;
	border-radius: var(--gochcar-radius-sm);
	margin-bottom: 1rem;
	font-size: 0.92rem;
}
.gochcar-form-notice--success {
	background: var(--gochcar-green-light);
	color: var(--gochcar-green-dark);
}
.gochcar-form-notice--error {
	background: #FBEAEA;
	color: #B3261E;
}
.gochcar-contact-form button[type="submit"] {
	align-self: flex-start;
}

.gochcar-contact-map {
	border-radius: var(--gochcar-radius-lg);
	overflow: hidden;
	margin-bottom: 3rem;
}
.gochcar-contact-map img {
	width: 100%;
	height: auto;
	display: block;
}

/* ---------- Footer ---------- */
.gochcar-footer {
	background: var(--gochcar-black);
	color: #c7ccd1;
	padding: 4rem 1.5rem 2rem;
	margin-top: 3rem;
	border-radius: var(--gochcar-radius-lg) var(--gochcar-radius-lg) 0 0;
}
.gochcar-footer__title a {
	color: var(--gochcar-white);
	text-decoration: none;
	font-weight: 800;
}
.gochcar-footer__tagline {
	max-width: 26rem;
	margin: 0.75rem 0 1.25rem;
}
.gochcar-footer__social a {
	background: rgba(255, 255, 255, 0.08);
}
.gochcar-footer__heading {
	color: var(--gochcar-white);
	font-size: 0.95rem;
	margin-bottom: 1rem;
}
.gochcar-footer__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}
.gochcar-footer__list a {
	color: #c7ccd1;
	text-decoration: none;
}
.gochcar-footer__list a:hover {
	color: var(--gochcar-white);
}
.gochcar-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	margin-top: 2.5rem;
	padding-top: 1.5rem;
	font-size: 0.85rem;
}
.gochcar-footer__copyright {
	margin: 0;
}

/* ---------- 404 ---------- */
.gochcar-404 {
	text-align: center;
	padding-block: 5rem;
}
.gochcar-404__code {
	font-size: 4rem;
	font-weight: 800;
	color: var(--gochcar-green);
	margin: 0;
}

/* ---------- Mobile nav ---------- */
.wp-block-navigation__responsive-container.is-menu-open {
	background: var(--gochcar-white);
}

/* =====================================================================
   Responsive — tablet and mobile
   ===================================================================== */
@media (max-width: 1024px) {
	.gochcar-hero__content,
	.gochcar-header,
	.gochcar-page {
		padding-inline: 1.5rem;
	}
	.gochcar-mission,
	.gochcar-business-cta {
		padding: 2rem;
	}
}

@media (max-width: 782px) {
	.gochcar-benefits__grid,
	.gochcar-services-grid,
	.gochcar-steps,
	.gochcar-safety-cards,
	.gochcar-stats {
		grid-template-columns: repeat(2, 1fr) !important;
	}
	.gochcar-step::after {
		display: none;
	}
	.gochcar-about-intro,
	.gochcar-mission,
	.gochcar-business-cta,
	.gochcar-app-download {
		flex-direction: column;
	}
	.gochcar-help-cta {
		flex-direction: column;
		text-align: center;
		align-items: center;
	}
}

@media (max-width: 600px) {
	.gochcar-benefits__grid,
	.gochcar-services-grid,
	.gochcar-steps,
	.gochcar-safety-cards,
	.gochcar-stats,
	.gochcar-contact {
		grid-template-columns: 1fr !important;
	}
	.gochcar-header {
		flex-wrap: wrap;
		padding-inline: 1.25rem;
	}
	.gochcar-header__actions {
		order: 3;
		width: 100%;
		justify-content: flex-end;
	}
	.gochcar-hero__title {
		font-size: 2rem;
	}
	.gochcar-ride-cta__field input {
		max-width: 100%;
	}
	.gochcar-safety-shield {
		max-width: 320px;
	}
	.gochcar-safety-shield__point span:last-child {
		display: none;
	}
	.gochcar-footer__brand-col {
		flex-basis: 100% !important;
	}
}

/* =====================================================================
   Mobile, app-like layer (phones and small tablets)
   Safe areas, frosted sticky header, fluid type, large tap targets and a
   bottom tab bar (markup printed by gochcar_mobile_bar() in inc/mobile.php).
   ===================================================================== */
.gochcar-mobile-bar { display: none; }

@media (max-width: 782px) {
	html { scroll-padding-top: 5rem; -webkit-text-size-adjust: 100%; }
	body {
		overflow-x: clip;
		overscroll-behavior-y: none;
		-webkit-tap-highlight-color: transparent;
		padding-bottom: calc(4.5rem + env(safe-area-inset-bottom));
	}
	img, video, iframe, svg { max-width: 100%; }

	/* Frosted, safe-area aware top bar. */
	.gochcar-header {
		padding-top: max(0.75rem, env(safe-area-inset-top));
		padding-bottom: 0.75rem;
		background: rgba(255, 255, 255, 0.9);
		-webkit-backdrop-filter: saturate(180%) blur(14px);
		backdrop-filter: saturate(180%) blur(14px);
	}
	.gochcar-header__login { display: none; }
	.wp-block-navigation__responsive-container-open,
	.wp-block-navigation__responsive-container-close {
		min-width: 44px;
		min-height: 44px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}
	.wp-block-navigation__responsive-container.is-menu-open {
		padding: max(1.25rem, env(safe-area-inset-top)) 1.5rem max(1.5rem, env(safe-area-inset-bottom));
	}
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a {
		font-size: 1.35rem;
		font-weight: 700;
		padding: 0.85rem 0;
		min-height: 48px;
	}

	/* Fluid type. */
	.gochcar-hero__title { font-size: clamp(2rem, 9vw, 2.75rem); line-height: 1.08; letter-spacing: -0.02em; }
	.gochcar-section-title,
	.gochcar-ride-cta__title,
	.gochcar-business-cta__title,
	.gochcar-help-cta__title { font-size: clamp(1.5rem, 6.4vw, 2rem); line-height: 1.15; }
	.gochcar-hero__subtitle,
	.gochcar-section-text { font-size: 1.0625rem; line-height: 1.55; }

	/* Thumb-friendly controls. */
	.gochcar-btn > a,
	a.gochcar-btn,
	button.gochcar-btn,
	.wp-block-button__link {
		min-height: 48px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border-radius: var(--gochcar-radius-pill);
	}
	.gochcar-hero__actions { flex-direction: column; align-items: stretch; gap: 0.75rem; }
	.gochcar-hero__actions .wp-block-button,
	.gochcar-hero__actions .wp-block-button__link { width: 100%; }
	input, select, textarea { font-size: 16px; min-height: 48px; border-radius: var(--gochcar-radius-md); }

	/* Card look closer to native lists. */
	.gochcar-benefit,
	.gochcar-service-card,
	.gochcar-safety-card,
	.gochcar-step { border-radius: var(--gochcar-radius-lg); }
	.gochcar-hero__image { border-radius: 0 0 var(--gochcar-radius-lg) var(--gochcar-radius-lg); }

	/* Bottom tab bar. */
	.gochcar-mobile-bar {
		display: grid;
		grid-template-columns: repeat(5, 1fr);
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 60;
		padding: 0.35rem 0.25rem calc(0.35rem + env(safe-area-inset-bottom));
		background: rgba(255, 255, 255, 0.94);
		-webkit-backdrop-filter: saturate(180%) blur(14px);
		backdrop-filter: saturate(180%) blur(14px);
		border-top: 1px solid var(--gochcar-border);
	}
	.gochcar-mobile-bar a {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 0.2rem;
		min-height: 52px;
		font-size: 0.6875rem;
		font-weight: 600;
		color: var(--gochcar-muted);
		text-decoration: none;
		border-radius: var(--gochcar-radius-md);
	}
	.gochcar-mobile-bar a svg { width: 24px; height: 24px; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
	.gochcar-mobile-bar a[aria-current="page"] { color: var(--gochcar-green-dark); }
	.gochcar-mobile-bar a:active { background: var(--gochcar-green-light); }
}

@media (max-width: 360px) {
	.gochcar-header { padding-inline: 1rem; }
	.gochcar-mobile-bar a { font-size: 0.625rem; }
}
