/**
 * WordPress compatibility — keep front-end markup aligned with index.html.
 */

nav.main > ul {
	display: contents;
	list-style: none;
	margin: 0;
	padding: 0;
}

nav.main > ul > li {
	display: contents;
}

body {
	--wp--style--global--content-size: none;
	--wp--style--global--wide-size: none;
}

body.oaken-site {
	margin: 0;
}

body.oaken-site img {
	max-width: 100%;
	/* height: auto; */
}

body.oaken-site .hero2 .poster,
body.oaken-site .pagehead .bgimg,
body.oaken-site .bgband > .bgimg {
	height: 100%;
	max-width: none;
	object-fit: cover;
}

body.oaken-site figure.solimg {
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--line);
}

body.oaken-site figure.solimg img {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	display: block;
}

/* About “Who we are” oak photo — WP height attrs were stretching the split column. */
body.oaken-site figure.oak {
	display: grid;
}

body.oaken-site figure.oak::before {
	content: "";
	grid-area: 1 / 1;
	aspect-ratio: 4 / 3;
	width: 100%;
}

body.oaken-site figure.oak img {
	grid-area: 1 / 1;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: 50% 60%;
	display: block;
}

.svc a,
.svc .svc-card {
	display: grid;
	gap: 12px;
	align-content: start;
	text-decoration: none;
	background: var(--surface);
	border: 1px solid var(--line);
	padding: 28px;
	transition: border-color 0.15s, transform 0.15s;
	min-width: 0;
}

.svc .svc-card {
	color: inherit;
}

main > .oaken-page {
	animation: in 0.35s ease both;
}

body.admin-bar header.site {
	top: 32px;
}

@media screen and (max-width: 782px) {
	body.admin-bar header.site {
		top: 46px;
	}
}

/* Thank you & 404 utility pages */
body.oaken-site .oaken-status-page {
	padding-top: clamp(48px, 8vw, 96px);
	padding-bottom: clamp(64px, 12vw, 120px);
}

body.oaken-site .oaken-status-inner {
	max-width: 640px;
	margin-inline: auto;
	text-align: center;
	display: grid;
	gap: 20px;
	justify-items: center;
}

body.oaken-site .oaken-status-graphic {
	margin: 0;
	width: min(100%, 520px);
}

body.oaken-site .error-404-page .oaken-status-graphic {
	width: min(100%, 420px);
}

body.oaken-site .oaken-status-graphic img {
	width: 100%;
	height: auto;
	display: block;
}

body.oaken-site .oaken-status-title {
	font-family: var(--ui);
	font-size: clamp(1.35rem, 3.5vw, 1.75rem);
	font-weight: 700;
	line-height: 1.25;
	margin: 0;
	color: var(--ink);
}

body.oaken-site .thank-you-page .oaken-status-title {
	font-size: clamp(2rem, 5vw, 2.75rem);
	line-height: 1.1;
	text-transform: capitalize;
}

body.oaken-site .oaken-status-sub,
body.oaken-site .thank-you-sub {
	font-family: var(--ui);
	font-size: clamp(1.1rem, 2.5vw, 1.35rem);
	font-weight: 700;
	margin: 0;
	color: var(--ink);
}

body.oaken-site .oaken-status-lead {
	font-family: var(--body);
	font-size: 1rem;
	line-height: 1.6;
	margin: 0;
	max-width: 36em;
	color: var(--ink-2);
}

body.oaken-site .oaken-status-actions {
	margin-top: 12px;
}

body.oaken-site .oaken-status-btn {
	justify-self: center;
}

/* Contact Form 7 — prototype .formgrid / .field / .chips (see inc/cf7-enquiry-form-template.txt) */
body.oaken-site .oaken-cf7-wrap {
	width: 100%;
	min-width: 0;
}

body.oaken-site .oaken-cf7-wrap .wpcf7 {
	width: 100%;
	position: relative;
}

body.oaken-site .oaken-cf7-wrap .wpcf7-form {
	margin: 0;
}

body.oaken-site .oaken-cf7-wrap .formgrid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px 18px;
}

@media (max-width: 640px) {
	body.oaken-site .oaken-cf7-wrap .formgrid {
		grid-template-columns: 1fr;
	}
}

body.oaken-site .oaken-cf7-wrap .formgrid > .field {
	display: grid;
	gap: 6px;
	min-width: 0;
	align-content: start;
}

body.oaken-site .oaken-cf7-wrap .formgrid > .field.full {
	grid-column: 1 / -1;
}

body.oaken-site .oaken-cf7-wrap .formgrid fieldset.field {
	display: grid;
	gap: 6px;
	min-width: 0;
}

body.oaken-site .oaken-cf7-wrap .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
	min-width: 0;
}

body.oaken-site .oaken-cf7-wrap .wpcf7-form-control-wrap:has(> input[type="hidden"]) {
	display: none;
}

body.oaken-site .oaken-cf7-wrap input[type="hidden"] {
	display: none !important;
}

/* CF7 system nonces (normally hidden by wpcf7 styles.css — we disable that). */
body.oaken-site .oaken-cf7-wrap fieldset.hidden-fields-container {
	display: none !important;
	border: 0;
	margin: 0;
	padding: 0;
}

/*
 * CF7 validation summary for screen readers — must stay off-screen (same as wpcf7 styles.css).
 * Without this, failed validation shows a bullet list of "Required." links above the form.
 */
body.oaken-site .oaken-cf7-wrap .screen-reader-response {
	position: absolute;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	word-wrap: normal !important;
	word-break: normal !important;
}

body.oaken-site .oaken-cf7-wrap form.init .wpcf7-response-output,
body.oaken-site .oaken-cf7-wrap form.resetting .wpcf7-response-output,
body.oaken-site .oaken-cf7-wrap form.submitting .wpcf7-response-output {
	display: none;
}

body.oaken-site .oaken-cf7-wrap .wpcf7-form p:empty {
	display: none;
}

body.oaken-site .oaken-cf7-wrap .wpcf7-form br {
	display: none;
}

/* Chip radios (custom HTML in form template) */
body.oaken-site .oaken-cf7-wrap .chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

body.oaken-site .oaken-cf7-wrap .chips label {
	position: relative;
	font-weight: 600;
	border: 1.5px solid var(--line);
	padding: 0.55em 0.9em;
	cursor: pointer;
	background: var(--surface);
}

body.oaken-site .oaken-cf7-wrap .chips label input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
}

body.oaken-site .oaken-cf7-wrap .chips label:has(input:checked) {
	background: var(--ink);
	color: var(--paper);
	border-color: var(--ink);
}

body.oaken-site .oaken-cf7-wrap .chips label:has(input:focus-visible) {
	outline: 3px solid var(--focus);
	outline-offset: 2px;
}

/* CF7 [radio] fallback inside .chips or fieldset */
body.oaken-site .oaken-cf7-wrap .chips .wpcf7-radio,
body.oaken-site .oaken-cf7-wrap fieldset .wpcf7-radio {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

body.oaken-site .oaken-cf7-wrap .wpcf7-list-item {
	margin: 0;
	display: inline-flex;
}

body.oaken-site .oaken-cf7-wrap .wpcf7-list-item label {
	font-weight: 600;
	border: 1.5px solid var(--line);
	padding: 0.55em 0.9em;
	cursor: pointer;
	background: var(--surface);
	display: inline-block;
}

body.oaken-site .oaken-cf7-wrap .wpcf7-list-item input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
}

body.oaken-site .oaken-cf7-wrap .wpcf7-list-item label:has(input:checked) {
	background: var(--ink);
	color: var(--paper);
	border-color: var(--ink);
}

body.oaken-site .oaken-cf7-wrap .wpcf7-not-valid-tip {
	color: #b3261e;
	font-family: var(--ui);
	font-size: 0.88rem;
	margin-top: 4px;
}

body.oaken-site .oaken-cf7-wrap .wpcf7-response-output {
	margin: 16px 0 0;
	font-family: var(--ui);
	font-size: 0.95rem;
	border: 0;
	padding: 0;
}

body.oaken-site .oaken-cf7-wrap .wpcf7-response-output:empty {
	display: none;
}

body.oaken-site .oaken-cf7-wrap .wpcf7-spinner {
	display: none;
}

body.oaken-site .oaken-cf7-wrap input[type="submit"],
body.oaken-site .oaken-cf7-wrap .wpcf7-submit.btn {
	font: inherit;
	font-family: var(--ui);
	font-weight: 700;
	cursor: pointer;
	border: 0;
	padding: 0.85em 1.35em;
	background: var(--volt);
	color: var(--volt-ink);
	width: auto;
	justify-self: start;
}

body.oaken-site .oaken-cf7-wrap .field.full .wpcf7-submit {
	justify-self: start;
}

body.oaken-site .contact-form-note {
	margin-top: 16px;
}
