:root {
	--autocaravan-accent: #2F5D3A;
	--autocaravan-dark: #173321;
	--autocaravan-accent-hover: #244A2E;
	--autocaravan-sage: #F5F7F5;
	--autocaravan-ink: #1F2937;
	--autocaravan-body: #1F2937;
	--autocaravan-border: #F5F7F5;
	--autocaravan-surface: #ffffff;
	--autocaravan-focus: #2F5D3A;
	--autocaravan-shadow: 0 1rem 2.5rem rgba(17, 24, 39, 0.12);
	--autocaravan-radius: 0.2rem;
	--autocaravan-content-width: 75rem;
	--autocaravan-content-gutter: clamp(1.25rem, 3vw, 2rem);
}

html { scroll-behavior: smooth; }

body,
button,
input,
select,
textarea {
	color: var(--autocaravan-body);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

body { font-size: 1.0625rem; line-height: 1.7; text-rendering: optimizeLegibility; }

/* Prelaunch typography hardening: keep Astra/Gutenberg/Spectra from introducing
   a different body face inside page content, cards, forms or footer. */
body.autocaravan-astra-child :is(
	.entry-content,
	.autocaravan-core-block,
	.autocaravan-booking,
	.autocaravan-contact-form,
	.autocaravan-footer-contact
) :where(p, li, dt, dd, address, blockquote, figcaption, label, input, select, textarea, button) {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
}

body.autocaravan-astra-child :where(h1, h2, h3, h4, h5, h6) {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

h1, h2, h3, h4, h5, h6 {
	color: var(--autocaravan-ink);
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.15;
}

a { text-decoration-thickness: 0.1em; text-underline-offset: 0.18em; }

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
	outline: 0.2rem solid var(--autocaravan-focus) !important;
	outline-offset: 0.2rem;
}

.autocaravan-header-strip {
	background: var(--autocaravan-dark);
	color: var(--autocaravan-surface);
}

.autocaravan-header-strip__inner {
	align-items: center;
	display: flex;
	gap: 0.75rem 1.5rem;
	justify-content: space-between;
	min-height: 3.25rem;
	padding-block: 0.45rem;
}

.autocaravan-header-strip .ast-container,
.autocaravan-footer-contact .ast-container {
	max-width: calc(var(--autocaravan-content-width) + (2 * var(--autocaravan-content-gutter)));
	padding-inline: var(--autocaravan-content-gutter);
}

.autocaravan-tagline {
	color: var(--autocaravan-surface);
	font-size: 0.95rem;
	font-weight: 700;
	margin: 0;
}

.autocaravan-header-actions {
	align-items: center;
	display: flex;
	flex: 1 1 auto;
	flex-wrap: nowrap;
	gap: 0.45rem 0.75rem;
	min-width: 0;
}

.autocaravan-header-search {
	flex: 1 1 15rem;
	max-width: 20rem;
	min-width: 10.5rem;
}

.autocaravan-header-search__form {
	align-items: center;
	background: #f1f2f1;
	border: 0;
	border-radius: 999px;
	box-shadow: none;
	display: flex;
	min-height: 2.65rem;
	overflow: hidden;
	width: 100%;
}

body.autocaravan-astra-child .autocaravan-header-search__form .autocaravan-header-search__submit {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: #59655d !important;
	display: inline-grid;
	flex: 0 0 2.65rem;
	min-height: 2.5rem;
	min-width: 2.65rem;
	padding: 0 !important;
	place-items: center;
}

body.autocaravan-astra-child .autocaravan-header-search__form .autocaravan-header-search__submit:hover,
body.autocaravan-astra-child .autocaravan-header-search__form .autocaravan-header-search__submit:focus-visible {
	background: transparent !important;
	color: var(--autocaravan-accent) !important;
}

.autocaravan-header-search__submit svg {
	fill: none;
	height: 1.15rem;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
	width: 1.15rem;
}

.autocaravan-header-search__form input[type="search"] {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: var(--autocaravan-ink);
	flex: 1 1 auto;
	font-size: 0.93rem;
	margin: 0;
	min-height: 2.5rem;
	min-width: 0;
	outline: 0;
	overflow: hidden;
	padding: 0.35rem 0.9rem 0.35rem 0;
	text-overflow: ellipsis;
	width: 100%;
}

.autocaravan-header-search__form:focus-within {
	box-shadow: 0 0 0 0.12rem rgba(47, 93, 58, 0.22);
}

.autocaravan-header-search__form input[type="search"]::placeholder {
	color: #68766c;
	opacity: 1;
}

.autocaravan-header-booking,
.autocaravan-header-contact {
	align-items: center;
	display: inline-flex;
	font-size: 0.95rem;
	font-weight: 800;
	min-height: 2.75rem;
}

.autocaravan-header-booking {
	background: var(--autocaravan-accent);
	border: 0.12rem solid var(--autocaravan-surface);
	color: var(--autocaravan-surface);
	padding: 0.4rem 0.9rem;
	text-decoration: none;
}

.autocaravan-header-contact {
	color: var(--autocaravan-surface);
	padding: 0.55rem 0;
	text-decoration: underline;
}

.autocaravan-header-booking:hover,
.autocaravan-header-booking:focus {
	background: var(--autocaravan-surface);
	border-color: var(--autocaravan-surface);
	color: var(--autocaravan-accent);
}

.autocaravan-header-review-note { font-size: 0.8rem; margin: 0; max-width: 32rem; }

.site-header,
.ast-primary-header-bar,
.main-header-bar {
	background: var(--autocaravan-surface);
}

.ast-primary-header-bar {
	border-bottom: 0 !important;
	box-shadow: 0 0.35rem 1.5rem rgba(15, 34, 19, 0.08);
}

.site-branding img,
.custom-logo { height: auto; max-width: min(13rem, 44vw); }

.autocaravan-bundled-logo {
	display: block;
	flex: 0 1 22rem;
	max-width: 100%;
	min-width: 0;
	padding: 0.5rem;
	box-sizing: border-box;
	width: 22rem;
}

.autocaravan-bundled-logo img {
	display: block;
	height: auto !important;
	max-width: 100% !important;
	object-fit: contain;
	width: 100% !important;
}

.site-title a,
.site-title a:focus,
.site-title a:hover { color: var(--autocaravan-dark); font-weight: 800; }

.site-header .site-description { color: var(--autocaravan-accent); font-size: 0.92rem; }

.main-header-menu > .menu-item > .menu-link,
.ast-builder-menu-1 .menu-item > .menu-link {
	color: var(--autocaravan-dark);
	font-size: 0.96rem;
	font-weight: 750;
	min-height: 3.25rem;
}

.main-header-menu > .menu-item > .menu-link:hover,
.main-header-menu > .current-menu-item > .menu-link,
.ast-builder-menu-1 .menu-item > .menu-link:hover,
.ast-builder-menu-1 .current-menu-item > .menu-link {
	color: var(--autocaravan-accent);
	font-weight: 850;
	text-decoration: underline;
	text-decoration-thickness: 0.14em;
	text-underline-offset: 0.4em;
}

.ast-header-button-1 .ast-custom-button,
.ast-header-button-1 .ast-custom-button-link .ast-custom-button {
	background: var(--autocaravan-accent);
	border: 0.12rem solid var(--autocaravan-accent);
	border-radius: var(--autocaravan-radius);
	color: var(--autocaravan-surface);
	font-weight: 800;
	min-height: 3.25rem;
}

.ast-button,
.button,
button,
input[type="button"],
input[type="submit"],
.wp-block-button__link,
.autocaravan-button {
	align-items: center;
	background: var(--autocaravan-accent);
	border: 0.12rem solid var(--autocaravan-accent);
	border-radius: var(--autocaravan-radius);
	box-sizing: border-box;
	color: var(--autocaravan-surface);
	display: inline-flex;
	font-size: 0.95rem;
	font-weight: 800;
	justify-content: center;
	letter-spacing: 0.02em;
	min-height: 3.25rem;
	min-width: 3.25rem;
	padding: 0.8rem 1.25rem;
	text-decoration: none;
	text-transform: uppercase;
}

:where(.ast-button, .button, button, input[type="button"], input[type="submit"], .wp-block-button__link, .autocaravan-button):hover {
	background: var(--autocaravan-dark);
	border-color: var(--autocaravan-dark);
	color: var(--autocaravan-surface);
}

.wp-block-button.is-style-outline .wp-block-button__link {
	background: var(--autocaravan-surface);
	border: 0.15rem solid var(--autocaravan-accent);
	color: var(--autocaravan-accent);
}

input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]), select, textarea {
	background: var(--autocaravan-surface);
	border: 0.12rem solid var(--autocaravan-ink);
	border-radius: var(--autocaravan-radius);
	box-sizing: border-box;
	color: var(--autocaravan-ink);
	font: inherit;
	min-height: 3.25rem;
	padding: 0.7rem 0.8rem;
	width: 100%;
}

label { display: block; font-weight: 750; margin-bottom: 0.35rem; }

.home .site-content > .ast-container { max-width: none; padding-inline: 0; }
.home .site-main, .home .site-content .content-area { margin: 0; width: 100%; }
.home .entry-content { margin: 0; }

.page:not(.home) .site-content > .ast-container,
.single-vehicle .site-content > .ast-container,
.single-repair_case .site-content > .ast-container,
.single-service .site-content > .ast-container {
	max-width: calc(var(--autocaravan-content-width) + (2 * var(--autocaravan-content-gutter)));
	padding-inline: var(--autocaravan-content-gutter);
}

.page:not(.home) .site-main > article,
.single-vehicle .site-main > article,
.single-repair_case .site-main > article,
.single-service .site-main > article {
	background: var(--autocaravan-surface);
	box-shadow: 0 0.6rem 2rem rgba(17,24,39,0.08);
	overflow: hidden;
}

.page:not(.home) .entry-header,
.single-vehicle .entry-header,
.single-repair_case .entry-header,
.single-service .entry-header {
	background: var(--autocaravan-dark);
	border-bottom: 0.3rem solid var(--autocaravan-accent);
	margin: 0;
	padding: clamp(2rem, 5vw, 4rem) clamp(1.25rem, 4vw, 3rem);
}

.page:not(.home) .entry-title,
.single-vehicle .entry-title,
.single-repair_case .entry-title,
.single-service .entry-title {
	color: var(--autocaravan-surface);
	font-size: clamp(2rem, 1.6rem + 1.8vw, 3.5rem);
	margin: 0;
}

.page:not(.home) .entry-content,
.single-vehicle .entry-content,
.single-repair_case .entry-content,
.single-service .entry-content {
	padding: clamp(1.5rem, 4vw, 3rem);
}

.entry-content > :where(h2, h3),
.autocaravan-section-heading {
	margin-top: clamp(2.75rem, 7vw, 5.5rem);
}

.entry-content > h2::after,
.autocaravan-section-heading::after {
	background: var(--autocaravan-accent);
	content: "";
	display: block;
	height: 0.25rem;
	margin-top: 0.75rem;
	width: 3.25rem;
}

.autocaravan-eyebrow {
	color: var(--autocaravan-accent);
	font-size: 0.82rem;
	font-weight: 850;
	letter-spacing: 0.12em;
	margin-bottom: 0.75rem;
	text-transform: uppercase;
}

.autocaravan-prototype-hero,
.autocaravan-hero {
	background:
		linear-gradient(90deg, rgba(23,51,33,0.9) 0%, rgba(23,51,33,0.74) 42%, rgba(23,51,33,0.24) 74%, rgba(23,51,33,0.08) 100%),
		url("../images/autocaravan-coastal-hero.png") center center / cover no-repeat;
	color: var(--autocaravan-surface);
	margin: 0;
	max-width: none !important;
	min-height: clamp(30rem, 68vw, 46rem);
	overflow: hidden;
	padding: clamp(4.5rem, 9vw, 8rem) max(var(--autocaravan-content-gutter), calc((100vw - var(--autocaravan-content-width)) / 2));
	position: relative;
	text-align: left;
}

.autocaravan-prototype-hero::before,
.autocaravan-hero::before {
	background: linear-gradient(180deg, rgba(23,51,33,0.04), rgba(23,51,33,0.24));
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.autocaravan-prototype-hero > *,
.autocaravan-hero > * { margin-left: 0; margin-right: auto; max-width: 43rem; position: relative; z-index: 2; }

.autocaravan-prototype-hero h1,
.autocaravan-hero h1 {
	font-size: clamp(2.35rem, 2rem + 2.3vw, 4.7rem);
	max-width: 17ch;
	color: var(--autocaravan-surface);
	text-shadow: 0 0.08em 0.6em rgba(0,0,0,0.38);
}

.autocaravan-prototype-hero h1::after,
.autocaravan-hero h1::after {
	background: var(--autocaravan-accent);
	content: "";
	display: block;
	height: 0.3rem;
	margin: 1rem 0 1.3rem;
	width: 4rem;
}

.autocaravan-prototype-hero p,
.autocaravan-hero p { color: var(--autocaravan-surface); font-size: clamp(1.125rem, 1rem + 0.45vw, 1.35rem); max-width: 39rem; text-shadow: 0 0.08em 0.5em rgba(0,0,0,0.42); }

.autocaravan-prototype-hero .autocaravan-eyebrow,
.autocaravan-hero .autocaravan-eyebrow { color: var(--autocaravan-surface); }

.autocaravan-prototype-hero .wp-block-buttons,
.autocaravan-hero .wp-block-buttons { justify-content: flex-start; }

.autocaravan-prototype-hero .wp-block-button.is-style-outline .wp-block-button__link,
.autocaravan-hero .wp-block-button.is-style-outline .wp-block-button__link {
	background: rgba(17,24,39,0.5);
	border-color: var(--autocaravan-surface);
	color: var(--autocaravan-surface);
}

.autocaravan-hero-visual { display: none; }

.autocaravan-quick-paths {
	background: var(--autocaravan-surface);
	border: 0.08rem solid var(--autocaravan-border);
	border-top: 0.35rem solid var(--autocaravan-accent);
	box-shadow: var(--autocaravan-shadow);
	color: var(--autocaravan-body);
	margin: clamp(-4rem, -6vw, -2rem) auto 0 !important;
	max-width: var(--autocaravan-content-width) !important;
	padding: 0;
	position: relative;
	z-index: 5;
}

.autocaravan-quick-paths > .wp-block-column {
	border-right: 0.06rem solid var(--autocaravan-border);
	padding: clamp(1.4rem, 3vw, 2.25rem);
}

.autocaravan-quick-paths > .wp-block-column:last-child { border-right: 0; }
.autocaravan-quick-paths :where(h2, h3) { color: var(--autocaravan-ink); }
.autocaravan-quick-paths p { color: var(--autocaravan-body); }
.autocaravan-quick-paths a { color: var(--autocaravan-accent); font-weight: 800; text-decoration: underline; }
.autocaravan-quick-paths h2, .autocaravan-quick-paths h3 { font-size: 1.18rem; }
.autocaravan-quick-paths h2::before, .autocaravan-quick-paths h3::before {
	color: var(--autocaravan-accent);
	content: "→";
	display: block;
	font-size: 2rem;
	line-height: 1;
	margin-bottom: 0.65rem;
}

.autocaravan-home-section {
	margin-inline: auto;
	max-width: var(--autocaravan-content-width);
	padding: clamp(3.5rem, 7vw, 6.5rem) var(--autocaravan-content-gutter);
}

.autocaravan-home-section--soft { background: var(--autocaravan-sage); max-width: none; }
.autocaravan-home-section--soft > * { margin-inline: auto; max-width: var(--autocaravan-content-width); }

.autocaravan-home-work {
	background: var(--autocaravan-dark);
	color: var(--autocaravan-surface);
	max-width: none !important;
	padding: clamp(3.5rem, 7vw, 6.5rem) max(var(--autocaravan-content-gutter), calc((100vw - var(--autocaravan-content-width)) / 2));
}

.autocaravan-home-work :where(h2, h3, p, a) { color: var(--autocaravan-surface); }
.autocaravan-home-work .autocaravan-card :where(h2, h3, p, a) { color: var(--autocaravan-ink); }

.autocaravan-card-grid,
.autocaravan-vehicle-grid,
.autocaravan-service-grid {
	display: grid;
	gap: clamp(1.25rem, 3vw, 2rem);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
}

.autocaravan-card,
.autocaravan-vehicle-card,
.autocaravan-service-card {
	background: var(--autocaravan-surface);
	border: 0.06rem solid var(--autocaravan-border);
	border-bottom: 0.3rem solid var(--autocaravan-accent);
	box-shadow: 0 0.5rem 1.5rem rgba(17,24,39,0.08);
	overflow: hidden;
	padding: clamp(1.2rem, 3vw, 1.75rem);
}

.autocaravan-service-card::before {
	align-items: center;
	border: 0.16rem solid var(--autocaravan-accent);
	border-radius: 50%;
	color: var(--autocaravan-accent);
	content: "✓";
	display: inline-flex;
	font-size: 1.35rem;
	font-weight: 900;
	height: 3rem;
	justify-content: center;
	margin-bottom: 1rem;
	width: 3rem;
}

.autocaravan-card h2,
.autocaravan-card h3,
.autocaravan-vehicle-card h2,
.autocaravan-vehicle-card h3,
.autocaravan-service-card h2,
.autocaravan-service-card h3 { font-size: 1.28rem; }

.autocaravan-vehicle-card__image,
.autocaravan-card > a:first-child { display: block; margin: -1.75rem -1.75rem 1.25rem; }

.autocaravan-vehicle-card__image img,
.autocaravan-card > a:first-child img,
.autocaravan-repair-gallery img { display: block; height: auto; width: 100%; }

.autocaravan-vehicle-card__price { color: var(--autocaravan-dark); font-size: 1.35rem; font-weight: 850; }

.autocaravan-status {
	background: var(--autocaravan-sage);
	border: 0.1rem solid currentColor;
	border-radius: 999px;
	display: inline-block;
	font-size: 0.875rem;
	font-weight: 800;
	padding: 0.3rem 0.75rem;
}

.autocaravan-status__icon { font-weight: 900; margin-right: 0.35rem; }
.autocaravan-status--for-sale { background: #F5F7F5; color: #2F5D3A; }
.autocaravan-status--reserved { background: #F5F7F5; color: #1F2937; }
.autocaravan-status--sold { background: #F5F7F5; color: #1F2937; }

.autocaravan-empty-state {
	background: var(--autocaravan-sage);
	border-left: 0.35rem solid var(--autocaravan-accent);
	color: var(--autocaravan-ink);
	padding: clamp(1.4rem, 3vw, 2rem);
}

.autocaravan-contact-panel,
.autocaravan-trust-panel {
	background: var(--autocaravan-sage);
	border-bottom: 0.3rem solid var(--autocaravan-accent);
	box-shadow: var(--autocaravan-shadow);
	padding: clamp(1.75rem, 4vw, 3.25rem);
}

.autocaravan-details {
	border-block: 0.06rem solid var(--autocaravan-border);
	display: grid;
	grid-template-columns: minmax(9rem, 1fr) 2fr;
	margin-block: 1.5rem;
}

.autocaravan-details dt, .autocaravan-details dd {
	border-bottom: 0.06rem solid var(--autocaravan-border);
	margin: 0;
	padding: 0.8rem;
}

.autocaravan-details dt { background: var(--autocaravan-sage); font-weight: 800; }

.autocaravan-repair-gallery {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
}

.autocaravan-owner-verification { display: none; }

.autocaravan-review-mode .autocaravan-owner-verification,
.editor-styles-wrapper .autocaravan-owner-verification {
	background: #fff7d6;
	border: 0.15rem solid #755900;
	color: #332700;
	display: block;
	padding: 1rem;
}

.autocaravan-footer-contact {
	background:
		linear-gradient(
			to bottom,
			rgba(8, 18, 14, 0.72) 0%,
			rgba(8, 18, 14, 0.84) 28%,
			rgba(8, 18, 14, 0.92) 58%,
			rgba(8, 18, 14, 0.97) 82%,
			rgba(8, 18, 14, 0.99) 100%
		),
		url('../images/autocaravan-hero-target.webp') center 46%/cover no-repeat;
	color: #f4f4f4;
	padding-block: 2rem 1.4rem;
}

.autocaravan-footer-contact .ast-container {
	max-width: calc(var(--autocaravan-content-width) + (2 * var(--autocaravan-content-gutter)));
	padding-inline: var(--autocaravan-content-gutter);
}

.autocaravan-footer-cta {
	align-items: center;
	background: linear-gradient(90deg, rgba(7, 48, 31, 0.24), rgba(7, 34, 24, 0.08));
	border: 0;
	border-radius: 1rem;
	box-shadow: 0 1.15rem 2.8rem rgba(0, 0, 0, 0.34);
	display: grid;
	gap: 1.5rem;
	grid-template-columns: minmax(0, 1.8fr) minmax(14rem, 0.8fr) minmax(12rem, 0.7fr);
	margin-bottom: 2.8rem;
	padding-block: 1.6rem;
	position: relative;
	overflow: hidden;
}

.autocaravan-footer-cta::after {
	background: linear-gradient(to bottom, rgba(8, 18, 14, 0), rgba(8, 18, 14, 0.72));
	bottom: 0;
	content: '';
	height: 4.5rem;
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
}

.autocaravan-footer-cta > * {
	position: relative;
	z-index: 1;
}

.autocaravan-footer-cta__content {
	align-items: center;
	display: flex;
	gap: 1rem;
}

.autocaravan-footer-cta__eyebrow {
	color: #d9e8dd;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	margin: 0 0 0.25rem;
	text-transform: uppercase;
}

.autocaravan-footer-cta h2 {
	color: #ffffff;
	font-size: clamp(1.8rem, 3vw, 2.7rem);
	margin: 0 0 0.45rem;
}

.autocaravan-footer-cta__content > div > p:last-child {
	color: #edf4ef;
	line-height: 1.5;
	margin: 0;
	max-width: 39rem;
}

.autocaravan-footer-round-icon {
	align-items: center;
	background: rgba(26, 110, 52, 0.55);
	border-radius: 50%;
	color: #ffffff;
	display: inline-flex;
	flex: 0 0 auto;
	height: 2.8rem;
	justify-content: center;
	width: 2.8rem;
}

.autocaravan-footer-round-icon--large {
	background: rgba(54, 117, 77, 0.4);
	border: 0.08rem solid rgba(255,255,255,0.12);
	height: 4.8rem;
	width: 4.8rem;
}

.autocaravan-footer-round-icon svg {
	fill: none;
	height: 1.25rem;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
	width: 1.25rem;
}

.autocaravan-footer-round-icon--large svg {
	height: 2.1rem;
	width: 2.1rem;
}

.autocaravan-footer-call {
	align-items: center;
	background: var(--autocaravan-accent);
	border: 0.08rem solid rgba(255,255,255,0.16);
	border-radius: 0.85rem;
	color: #ffffff;
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.1rem 0.8rem;
	padding: 0.9rem 1rem;
	text-decoration: none;
}

.autocaravan-footer-call > span {
	grid-row: 1 / 3;
}

.autocaravan-footer-call svg {
	fill: #ffffff;
	height: 1.7rem;
	width: 1.7rem;
}

.autocaravan-footer-call strong,
.autocaravan-footer-call b {
	color: #ffffff;
	display: block;
	line-height: 1.15;
}

.autocaravan-footer-call:hover,
.autocaravan-footer-call:focus-visible {
	background: var(--autocaravan-accent-hover);
	filter: none;
	color: #ffffff;
}

.autocaravan-footer-cta__social {
	border-left: 0.06rem solid rgba(255,255,255,0.3);
	padding-left: 1.4rem;
}

.autocaravan-footer-cta__social p {
	color: #f0f4f1;
	font-size: 0.86rem;
	margin: 0.55rem 0 0;
}

.autocaravan-footer-main {
	display: grid;
	gap: 2rem 2.6rem;
	grid-template-columns: minmax(13.5rem, 1.45fr) minmax(9rem, 1fr) minmax(10rem, 1.1fr) minmax(10rem, 1.05fr) minmax(9.5rem, 0.95fr);
}

.autocaravan-footer-brand__logo {
	display: block;
	filter: none;
	height: auto;
	margin: 0 0 1.1rem;
	max-width: 12.5rem;
	opacity: 1;
	width: 100%;
}

.autocaravan-footer-brand > p {
	color: #d8dfda;
	font-size: 0.94rem;
	line-height: 1.6;
	margin: 0 0 1.3rem;
	max-width: 17rem;
}

.autocaravan-footer-benefits,
.autocaravan-footer-navigation ul,
.autocaravan-footer-icon-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.autocaravan-footer-benefits li,
.autocaravan-footer-icon-list li {
	align-items: center;
	display: flex;
	gap: 0.8rem;
}

.autocaravan-footer-benefits li + li,
.autocaravan-footer-icon-list li + li {
	margin-top: 1rem;
}

.autocaravan-footer-benefits strong,
.autocaravan-footer-benefits small,
.autocaravan-footer-icon-list strong,
.autocaravan-footer-icon-list small,
.autocaravan-footer-icon-list a {
	display: block;
}

.autocaravan-footer-benefits strong,
.autocaravan-footer-icon-list strong {
	color: #ffffff;
	font-size: 0.9rem;
}

.autocaravan-footer-benefits small,
.autocaravan-footer-icon-list small,
.autocaravan-footer-icon-list a {
	color: #cdd6d0;
	font-size: 0.84rem;
	line-height: 1.35;
	text-decoration: none;
}

.autocaravan-footer-column {
	border-left: 0.06rem solid rgba(255,255,255,0.14);
	padding-left: 2rem;
}

.autocaravan-footer-column h2 {
	color: #ffffff;
	font-size: 1.15rem;
	margin: 0 0 1.2rem;
	position: relative;
}

.autocaravan-footer-column h2::after {
	background: #47b53f;
	border-radius: 999px;
	content: '';
	display: block;
	height: 0.18rem;
	margin-top: 0.55rem;
	width: 2.2rem;
}

.autocaravan-footer-navigation li {
	border-bottom: 0.05rem solid rgba(255,255,255,0.1);
}

.autocaravan-footer-navigation a {
	align-items: center;
	color: #e7ece9;
	display: flex;
	font-size: 0.9rem;
	justify-content: space-between;
	padding: 0.55rem 0;
	text-decoration: none;
}

.autocaravan-footer-navigation a:hover,
.autocaravan-footer-navigation a:focus-visible {
	color: #ffffff;
}

.autocaravan-footer-address {
	align-items: flex-start;
	display: flex;
	gap: 0.8rem;
}

.autocaravan-footer-address address {
	color: #d8dfda;
	font-size: 0.85rem;
	font-style: normal;
	line-height: 1.45;
}

.autocaravan-footer-address strong {
	color: #ffffff;
}

.autocaravan-footer-map {
	background:
		linear-gradient(rgba(231, 247, 230, 0.88), rgba(231, 247, 230, 0.88)),
		linear-gradient(135deg, #d6ead5 25%, #f4f4ef 25% 50%, #cfe0f4 50% 75%, #d6ead5 75%);
	border: 0.08rem solid rgba(255,255,255,0.24);
	border-radius: 0.75rem;
	color: #173321;
	display: block;
	margin-top: 1rem;
	min-height: 8.5rem;
	padding: 1rem;
	position: relative;
	text-decoration: none;
}

.autocaravan-footer-map__label {
	font-size: 0.8rem;
	font-weight: 700;
	position: absolute;
	right: 0.9rem;
	top: 0.7rem;
}

.autocaravan-footer-map__pin {
	color: #2d9938;
	font-size: 2rem;
	left: 50%;
	position: absolute;
	top: 38%;
	transform: translate(-50%, -50%);
}

.autocaravan-footer-map strong {
	background: var(--autocaravan-accent);
	border-radius: 0.45rem;
	bottom: 0.6rem;
	color: #ffffff;
	font-size: 0.8rem;
	left: 0.6rem;
	padding: 0.5rem 0.7rem;
	position: absolute;
	right: 0.6rem;
	text-align: center;
}

.autocaravan-footer-social {
	display: flex;
	gap: 0.55rem;
}

.autocaravan-footer-social a {
	align-items: center;
	border: 0.08rem solid #a8a8a8;
	border-radius: 50%;
	color: #e8e8e8;
	display: inline-flex;
	height: 2.25rem;
	justify-content: center;
	width: 2.25rem;
}

.autocaravan-footer-social--large a {
	height: 2.7rem;
	width: 2.7rem;
}

.autocaravan-footer-social a:hover,
.autocaravan-footer-social a:focus-visible {
	background: rgba(255,255,255,0.08);
	border-color: #ffffff;
	color: #ffffff;
	text-decoration: none;
}

.autocaravan-footer-social svg {
	fill: currentColor;
	height: 1.05rem;
	stroke: currentColor;
	stroke-width: 1.7;
	width: 1.05rem;
}

.autocaravan-footer-social svg rect,
.autocaravan-footer-social svg circle {
	fill: none;
}

.autocaravan-footer-bottom {
	align-items: center;
	border-top: 0.06rem solid rgba(255,255,255,0.2);
	display: flex;
	justify-content: space-between;
	margin-top: 2.8rem;
	padding-top: 1.25rem;
}

.autocaravan-footer-bottom__links {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.2rem;
}

.autocaravan-footer-bottom__links :where(span, a, button) {
	background: transparent;
	border: 0;
	color: #cbd3ce;
	font-size: 0.8rem;
	margin: 0;
	padding: 0;
	text-decoration: none;
}

.autocaravan-footer-bottom__links a:hover,
.autocaravan-footer-bottom__links button:hover {
	color: #ffffff;
	text-decoration: underline;
}

.site-primary-footer-wrap,
.site-below-footer-wrap {
	background: #0d1713 !important;
	border: 0 !important;
	color: #f4f4f4;
}

.site-footer :where(a, h2, h3, h4, p) { color: inherit; }

@media (max-width: 1080px) {
	.autocaravan-footer-cta {
		grid-template-columns: 1fr 1fr;
	}
	.autocaravan-footer-cta__social {
		border-left: 0;
		grid-column: 1 / -1;
		padding-left: 0;
	}
	.autocaravan-footer-main {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.autocaravan-footer-brand {
		grid-column: 1 / -1;
	}
	.autocaravan-footer-column {
		border-left: 0;
		padding-left: 0;
	}
}

@media (max-width: 720px) {
	.autocaravan-footer-cta {
		grid-template-columns: 1fr;
	}
	.autocaravan-footer-main {
		grid-template-columns: 1fr;
	}
	.autocaravan-footer-cta__social {
		grid-column: auto;
	}
	.autocaravan-footer-bottom {
		align-items: flex-start;
		flex-direction: column;
		gap: 1rem;
	}
}

@media (max-width: 520px) {
	.autocaravan-footer-cta__content {
		align-items: flex-start;
	}
	.autocaravan-footer-round-icon--large {
		height: 3.7rem;
		width: 3.7rem;
	}
	.autocaravan-footer-cta h2 {
		font-size: 1.8rem;
	}
}

/* Search results: quiet one-column list with no decorative cards/images. */
.autocaravan-search-page {
	background: #f7f9f7;
	padding-block: clamp(2.5rem, 5vw, 4.5rem);
}

.autocaravan-search-page .ast-container {
	display: block;
	max-width: 70rem;
}

.autocaravan-search-results {
	background: var(--autocaravan-surface);
	border: 0.06rem solid var(--autocaravan-border);
	padding: clamp(1.5rem, 4vw, 3rem);
}

.autocaravan-search-results__header {
	border-bottom: 0.06rem solid var(--autocaravan-border);
	margin-bottom: 0;
	padding-bottom: 1.5rem;
}

.autocaravan-search-results__header h1 {
	margin-bottom: 0.5rem;
}

.autocaravan-search-results__count {
	color: #536057;
	margin: 0;
}

.autocaravan-search-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.autocaravan-search-list__item {
	border-bottom: 0.06rem solid var(--autocaravan-border);
	margin: 0;
	padding: 1.5rem 0;
}

.autocaravan-search-list__item:last-child {
	border-bottom: 0;
}

.autocaravan-search-list__type {
	color: var(--autocaravan-accent);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	margin: 0 0 0.35rem;
	text-transform: uppercase;
}

.autocaravan-search-list__title {
	font-size: clamp(1.2rem, 2vw, 1.55rem);
	line-height: 1.25;
	margin: 0 0 0.5rem;
}

.autocaravan-search-list__title a {
	color: var(--autocaravan-ink);
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.18em;
}

.autocaravan-search-list__title a:hover,
.autocaravan-search-list__title a:focus-visible {
	color: var(--autocaravan-accent);
}

.autocaravan-search-list__excerpt {
	color: #3f4b43;
	margin: 0;
	max-width: 58rem;
}

.autocaravan-search-empty {
	padding-block: 1.5rem;
}

.autocaravan-search-pagination {
	margin-top: 1.5rem;
}

@media (max-width: 921px) {
	.ast-mobile-header-wrap .ast-primary-header-bar { min-height: 4.5rem; }
	.autocaravan-header-search { flex-basis: 15rem; }
	.ast-builder-menu-mobile .main-navigation .menu-item > .menu-link { min-height: 3.25rem; }
	.autocaravan-header-strip__inner { align-items: flex-start; flex-direction: column; padding-block: 0.65rem; }
	.autocaravan-footer-contact__inner { align-items: flex-start; flex-direction: column; }
	.autocaravan-footer-details { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 781px) {
	.autocaravan-prototype-hero,
	.autocaravan-hero { min-height: 0; padding-block: 3.5rem 6rem; }
	.autocaravan-quick-paths { margin-top: -3.5rem !important; }
	.autocaravan-quick-paths > .wp-block-column { border-bottom: 0.06rem solid var(--autocaravan-border); border-right: 0; }
	.autocaravan-quick-paths > .wp-block-column:last-child { border-bottom: 0; }
	.autocaravan-footer-details { grid-template-columns: 1fr; }
	.autocaravan-details { display: block; }
	.autocaravan-details dt { border-bottom: 0; padding-bottom: 0.2rem; }
}

@media (max-width: 480px) {
	.autocaravan-prototype-hero,
	.autocaravan-hero { padding-inline: 1.25rem; }
	.wp-block-buttons > .wp-block-button,
	.wp-block-buttons > .wp-block-button .wp-block-button__link,
	.autocaravan-button,
	.autocaravan-footer-contact__actions { width: 100%; }
	.autocaravan-header-actions { align-items: stretch; flex-direction: column; width: 100%; }
	.autocaravan-header-search,
	.autocaravan-header-booking,
	.autocaravan-header-contact { justify-content: center; width: 100%; }
	.autocaravan-header-search { min-width: 0; }
	.autocaravan-header-search__form { width: 100%; }
	.autocaravan-header-search__form input[type="search"] { font-size: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

/* Shared action roles override Astra/Spectra presets and saved inline colors.
   Hero choices are equal secondary actions, never a preselected primary. */
body.autocaravan-astra-child :is(.wp-block-button__link, .wp-element-button,
.ast-button, .ast-custom-button, .uagb-buttons-repeater, .autocaravan-button, .button,
.autocaravan-header-booking, button, input[type="button"], input[type="submit"], input[type="reset"]) {
	background: #2F5D3A !important;
	background-image: none !important;
	border: 2px solid #2F5D3A !important;
	color: #ffffff !important;
	text-shadow: none !important;
	border-radius: var(--autocaravan-radius) !important;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	white-space: normal;
	overflow-wrap: anywhere;
	text-align: center;
	text-transform: none;
	font-size: 1rem;
	font-weight: 700;
	min-height: 3.25rem !important;
	min-width: 2.75rem;
	padding: 0.75rem 1.25rem !important;
}
body.autocaravan-astra-child :is(.wp-block-button__link, .wp-element-button,
.ast-button, .ast-custom-button, .uagb-buttons-repeater, .autocaravan-button, .button,
.autocaravan-header-booking, button, input[type="button"], input[type="submit"], input[type="reset"]):is(:hover, :focus-visible, :active, [aria-pressed="true"]) {
	background-color: #244A2E !important;
	border-color: #244A2E !important;
	color: #ffffff !important;
	text-decoration: none !important;
	box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #2F5D3A;
}
body.autocaravan-astra-child :is(:where(.wp-block-button.is-style-outline) .wp-block-button__link,
.autocaravan-button--outline-light, .autocaravan-button--secondary,
.uagb-buttons-repeater:where(.is-style-outline),
:where(.autocaravan-prototype-hero, .autocaravan-hero) :is(.wp-block-button__link, .wp-element-button, .autocaravan-button, .uagb-buttons-repeater)) {
	background: #FFFFFF !important;
	border-color: #2F5D3A !important;
	color: #2F5D3A !important;
}
body.autocaravan-astra-child :is(:where(.wp-block-button.is-style-outline) .wp-block-button__link,
.autocaravan-button--outline-light, .autocaravan-button--secondary,
.uagb-buttons-repeater:where(.is-style-outline),
:where(.autocaravan-prototype-hero, .autocaravan-hero) :is(.wp-block-button__link, .wp-element-button, .autocaravan-button, .uagb-buttons-repeater)):is(:hover, :focus-visible, :active, [aria-pressed="true"]) {
	background: #F5F7F5 !important;
	border-color: #2F5D3A !important;
	color: #2F5D3A !important;
	text-decoration: none !important;
	box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #2F5D3A;
}
/* A dashed border/cursor distinguishes unavailable actions without color alone.
   Native disabled/aria-disabled semantics remain the component's responsibility. */
body.autocaravan-astra-child :is(.wp-block-button__link, .wp-element-button,
.ast-button, .ast-custom-button, .uagb-buttons-repeater, .autocaravan-button, .button,
.autocaravan-header-booking, button, input[type="button"], input[type="submit"], input[type="reset"]):is(:disabled, [aria-disabled="true"]) {
	background: #F5F7F5 !important;
	border: 2px dashed #1F2937 !important;
	color: #1F2937 !important;
	box-shadow: none !important;
	text-decoration: none !important;
	cursor: not-allowed;
	opacity: 1;
}
body.autocaravan-astra-child :is(a, button, input, select, textarea):focus-visible {
	outline: 3px solid #2F5D3A !important;
	outline-offset: 4px;
	box-shadow: 0 0 0 4px #ffffff !important;
}
body.autocaravan-astra-child :is(.entry-content, .autocaravan-footer-contact) a:not(.wp-block-button__link):not(.autocaravan-button) {
	text-decoration: underline;
}
.autocaravan-home-work .autocaravan-empty-state :is(h2, h3, p, a) { color: #1F2937; }
.autocaravan-home-section { box-sizing: border-box; max-width: none !important; padding-inline: max(var(--autocaravan-content-gutter), calc((100% - var(--autocaravan-content-width)) / 2)); }
.autocaravan-home-section > * { max-width: var(--autocaravan-content-width) !important; margin-inline: 0 !important; }
.autocaravan-quick-paths { width: calc(100% - 2 * var(--autocaravan-content-gutter)); }
.autocaravan-booking-page { box-sizing: border-box; width: 100%; max-width: 60rem; margin: 0 auto; padding: clamp(1.25rem, 4vw, 3rem); }
.autocaravan-booking-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.autocaravan-booking-field:last-child { grid-column: 1 / -1; }
.autocaravan-booking input[type="hidden"], .autocaravan-booking [hidden] { display: none !important; }
.autocaravan-booking :is(input, select, textarea) { max-width: 100%; }
.autocaravan-form-errors, .autocaravan-form-status { border: 2px solid currentColor; padding: 1.25rem; margin-block: 1.25rem; background: #ffffff; }
.autocaravan-form-errors, .autocaravan-field-error { color: #1F2937; }
.autocaravan-form-status { color: #2F5D3A; }
.autocaravan-booking [aria-invalid="true"] { border: 2px dashed #1F2937; }
@media (max-width: 600px) { .autocaravan-booking-fields { grid-template-columns: 1fr; } }

/* Final staging correction: identity does not depend on Header Builder settings. */
body.autocaravan-astra-child .autocaravan-header-strip {
	background: var(--autocaravan-surface);
	color: var(--autocaravan-ink);
	border-bottom: 2px solid var(--autocaravan-accent);
}
.autocaravan-header-strip__inner { flex-wrap: wrap; }
body.autocaravan-astra-child .autocaravan-tagline { color: var(--autocaravan-ink); }
body.autocaravan-astra-child .autocaravan-header-contact { color: var(--autocaravan-accent); }
/* The original logo is already rendered once in the owned strip above Astra. */
body.autocaravan-astra-child #masthead .site-branding { display: none; }
body.autocaravan-astra-child #masthead { position: relative; inset: auto; background: #fff; }
body.autocaravan-astra-child #masthead :is(.ast-primary-header-bar, .main-header-bar, .ast-builder-grid-row) { min-height: 0; height: auto; }
body.autocaravan-astra-child.home #content { padding-top: 0; }
body.autocaravan-astra-child.home :is(.entry-header, .ast-single-entry-banner) { display: none; }
body.autocaravan-astra-child.home :is(#primary, .site-main, .ast-article-single) {
	margin-top: 0; padding-top: 0; min-height: 0;
}
body.autocaravan-astra-child.home :is(.autocaravan-prototype-hero, .autocaravan-hero) {
	min-height: 0;
	padding-block: clamp(2.5rem, 5vw, 4.5rem);
}
body.autocaravan-astra-child :is(.autocaravan-prototype-hero, .autocaravan-hero):empty { display: none; }
body.autocaravan-astra-child .entry-content a:not(.wp-block-button__link):not(.wp-element-button) {
	color: var(--autocaravan-accent);
}
body.autocaravan-astra-child :is(.autocaravan-prototype-hero, .autocaravan-hero, .autocaravan-home-work, .autocaravan-footer-contact) a:not(.wp-block-button__link):not(.autocaravan-button) {
	color: #fff;
}
body.autocaravan-astra-child .autocaravan-empty-state a { color: var(--autocaravan-accent) !important; }
body.autocaravan-astra-child .wp-block-separator { border-color: var(--autocaravan-accent); color: var(--autocaravan-accent); }
body.autocaravan-astra-child { background-color: #F5F7F5; }
/* Final owner direction: dark title surfaces and high-contrast dark-panel CTAs. */
body.autocaravan-astra-child:not(.home) :is(.entry-header, .ast-single-entry-banner) {
	background: #173321 !important;
	border-bottom: 0.3rem solid var(--autocaravan-accent);
}
body.autocaravan-astra-child:not(.home) :is(.entry-header, .ast-single-entry-banner) :is(h1, h2, .entry-title) {
	color: #ffffff !important;
}
.autocaravan-booking-page h1 { margin-bottom: 1.75rem; }
.autocaravan-booking-lead { font-size: 1.2rem; max-width: 48rem; margin-bottom: 2rem; }
.autocaravan-booking form { margin-top: 2rem; }
.autocaravan-booking-fields { margin-block: 1.75rem 2rem; row-gap: 1.75rem; }
.autocaravan-booking-field label { display: block; margin-bottom: 0.5rem; font-weight: 700; }
.autocaravan-booking #booking-privacy { margin-block: 1.5rem; }
body.autocaravan-astra-child :is(.main-header-menu, .ast-nav-menu) .menu-link {
	color: #1F2937;
}
body.autocaravan-astra-child :is(.main-header-menu, .ast-nav-menu) :is(.current-menu-item > .menu-link, .menu-link:hover) {
	color: #2F5D3A !important;
	text-decoration: underline;
	text-decoration-thickness: 0.15em;
	text-underline-offset: 0.3em;
}
@media (max-width: 921px) {
	.autocaravan-header-strip__inner { align-items: center; }
	.autocaravan-bundled-logo { flex-basis: auto; }
	.autocaravan-tagline { text-align: center; }
}

/* 0.12.2 owner UI consistency: one button weight, one green interaction palette. */
body.autocaravan-astra-child :is(.wp-block-button__link,.wp-element-button,.ast-button,.ast-custom-button,.uagb-buttons-repeater,.autocaravan-button,.button,.autocaravan-header-booking,button,input[type="button"],input[type="submit"],input[type="reset"]) {
	font-weight:600!important;
	text-transform:none!important;
}
body.autocaravan-astra-child :is(.main-header-menu,.ast-nav-menu) .menu-link { font-weight:600; }
body.autocaravan-astra-child :is(.main-header-menu,.ast-nav-menu) :is(.current-menu-item > .menu-link,.menu-link:hover,.menu-link:focus-visible) { font-weight:600; }
.autocaravan-footer-details a,
.autocaravan-footer-links a { font-weight:600; }
.autocaravan-footer-contact__actions .autocaravan-button { gap:.5rem; }
.autocaravan-footer-contact__actions .ac-icon { width:1.15rem; height:1.15rem; }

/* Astra/Spectra/legacy scroll controls must follow the same public palette. */
#ast-scroll-top,
.ast-scroll-top-icon,
.ast-scroll-to-top-right,
.ast-scroll-to-top-left,
.scroll-to-top,
.back-to-top,
#back-to-top,
.uagb-scroll-top {
	background:#2F5D3A!important;
	border-color:#2F5D3A!important;
	color:#FFFFFF!important;
}
#ast-scroll-top:is(:hover,:focus-visible,:active),
.ast-scroll-top-icon:is(:hover,:focus-visible,:active),
.scroll-to-top:is(:hover,:focus-visible,:active),
.back-to-top:is(:hover,:focus-visible,:active),
#back-to-top:is(:hover,:focus-visible,:active),
.uagb-scroll-top:is(:hover,:focus-visible,:active) {
	background:#244A2E!important;
	border-color:#244A2E!important;
	color:#FFFFFF!important;
}
#ast-scroll-top svg,
.ast-scroll-top-icon svg,
.scroll-to-top svg,
.back-to-top svg,
#back-to-top svg,
.uagb-scroll-top svg { fill:currentColor!important; stroke:currentColor!important; }

@media (max-width:700px) {
	body.autocaravan-astra-child .autocaravan-footer-contact__actions .autocaravan-button {
		font-size:.98rem!important;
		font-weight:600!important;
		line-height:1.25!important;
		min-height:48px!important;
	}
	body.autocaravan-astra-child .autocaravan-footer-links a,
	body.autocaravan-astra-child .autocaravan-footer-details a { font-weight:600; }
}

/* 0.12.6 owner-approved control typography: button-like controls never use underlines. */
body.autocaravan-astra-child :is(
 .wp-block-button__link,.wp-element-button,.ast-button,.ast-custom-button,.uagb-buttons-repeater,
 .autocaravan-button,.button,.autocaravan-header-booking,.autocaravan-header-contact,
 button,input[type="button"],input[type="submit"],input[type="reset"]
),
body.autocaravan-astra-child :is(
 .wp-block-button__link,.wp-element-button,.ast-button,.ast-custom-button,.uagb-buttons-repeater,
 .autocaravan-button,.button,.autocaravan-header-booking,.autocaravan-header-contact
):is(:hover,:focus-visible,:active,[aria-pressed="true"]) {
 text-decoration:none!important;
}

/* Vehicle presentation refinements 0.13.13 */
.home .autocaravan-vehicle-grid,
.page .autocaravan-vehicle-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.page-slug-fordon .entry-header,
body.page-id-0 .entry-header { /* harmless fallback; actual slug rule below handles normal installs */ }
body.page .autocaravan-vehicle-archive-intro {
	margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}
body.page .autocaravan-vehicle-archive-intro .has-large-font-size {
	font-size: clamp(1.15rem, 1rem + .35vw, 1.35rem) !important;
	font-weight: 650;
	margin-bottom: .65rem;
}
body.page .autocaravan-vehicle-sell-cta {
	background: var(--autocaravan-sage);
	border-left: .3rem solid var(--autocaravan-accent);
	margin-top: clamp(2.5rem, 5vw, 4rem);
	padding: clamp(1.4rem, 3vw, 2rem);
}
body.page .autocaravan-vehicle-sell-cta h2 {
	margin-top: 0;
}
body.page .autocaravan-vehicle-sell-cta .wp-element-button {
	background: var(--autocaravan-accent);
	border-radius: .35rem;
	color: #fff;
	display: inline-block;
	font-weight: 800;
	padding: .75rem 1rem;
	text-decoration: none;
}
@media (max-width: 900px) {
	.home .autocaravan-vehicle-grid,
	.page .autocaravan-vehicle-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.home .autocaravan-vehicle-grid,
	.page .autocaravan-vehicle-grid { grid-template-columns: 1fr; }
}
.autocaravan-vehicle-archive-page .entry-header {
	background: #fff;
	border-bottom: 0;
	padding-bottom: 1rem;
}
.autocaravan-vehicle-archive-page .entry-title {
	color: var(--autocaravan-ink);
	font-size: clamp(2rem, 1.65rem + 1.2vw, 3rem);
}
.autocaravan-vehicle-archive-page .entry-content {
	padding-top: .75rem;
}


/* Prelaunch booking/contact UX */
.autocaravan-booking-page {
	box-sizing: border-box;
	max-width: none;
	padding: 0;
	width: 100%;
}
.autocaravan-booking-page__header {
	background: #173321;
	border-bottom: .3rem solid var(--autocaravan-accent);
	color: #fff;
}
.autocaravan-booking-page__header-inner,
.autocaravan-booking-page__content {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: var(--autocaravan-content-width);
	padding-inline: var(--autocaravan-content-gutter);
	width: 100%;
}
.autocaravan-booking-page__header-inner {
	padding-block: clamp(2rem, 5vw, 3.5rem);
}
.autocaravan-booking-page__header h1 {
	color: #fff;
	margin: 0;
}
.autocaravan-booking-page__content {
	padding-block: clamp(2rem, 5vw, 4rem);
}
.autocaravan-booking-card,
.autocaravan-contact-form {
	background: #fff;
	border: .06rem solid var(--autocaravan-border);
	border-bottom: .3rem solid var(--autocaravan-accent);
	box-shadow: var(--autocaravan-shadow);
	padding: clamp(1.25rem, 4vw, 2.5rem);
}
.autocaravan-booking-lead {
	font-size: clamp(1.08rem, 1rem + .3vw, 1.25rem);
	line-height: 1.55;
	margin: 0 0 1.5rem;
	max-width: 52rem;
}
.autocaravan-booking form,
.autocaravan-contact-form form {
	margin-top: 1.5rem;
}
.autocaravan-booking-fields {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-block: 1.5rem;
}
.autocaravan-booking-field {
	min-width: 0;
}
.autocaravan-booking-field:last-child {
	grid-column: 1 / -1;
}
.autocaravan-booking-field label {
	display: block;
	font-weight: 700;
	margin-bottom: .45rem;
}
.autocaravan-field-optional {
	font-size: .9em;
	font-weight: 500;
}
.autocaravan-booking :is(input:not([type="hidden"]), select, textarea) {
	box-sizing: border-box;
	min-height: 3rem;
	width: 100%;
}
.autocaravan-booking textarea {
	min-height: 8rem;
	resize: vertical;
}
.autocaravan-booking button[type="submit"] {
	min-height: 3.25rem;
}
.autocaravan-contact-form {
	margin-block: 2rem;
}
@media (max-width: 700px) {
	.autocaravan-booking-fields {
		grid-template-columns: 1fr;
	}
	.autocaravan-booking-field:last-child {
		grid-column: auto;
	}
	.autocaravan-booking-page__header-inner,
	.autocaravan-booking-page__content {
		padding-inline: 1rem;
	}
	.autocaravan-booking-card,
	.autocaravan-contact-form {
		padding: 1.1rem;
	}
}


/* Editorial metadata: publication date stays visible, internal WP author does not. */
body.autocaravan-astra-child .entry-meta {
	background: transparent !important;
	color: #1F2937 !important;
}
body.autocaravan-astra-child .entry-meta .posted-on,
body.autocaravan-astra-child .entry-meta .published,
body.autocaravan-astra-child .entry-meta .updated {
	background: transparent !important;
	color: #1F2937 !important;
	text-decoration: none !important;
}
body.autocaravan-astra-child .entry-meta .posted-by,
body.autocaravan-astra-child .ast-author-box {
	display: none !important;
}

@media (max-width: 1100px) {
	.autocaravan-header-actions {
		flex-wrap: wrap;
		justify-content: flex-end;
	}
	.autocaravan-header-search {
		flex: 1 1 100%;
		max-width: 24rem;
		order: 2;
	}
}

@media (max-width: 760px) {
	.autocaravan-header-search {
		max-width: none;
		min-width: 0;
		width: 100%;
	}
	.autocaravan-header-search__form input[type="search"]::placeholder {
		font-size: 0.92rem;
	}
}
