/* ═══════════════════════════════════════════════════════════════
   Split contact — #2B5F94 left half, #F7F7F7 right half.
   Fields 325x50 r10, gap 14/15, submit 206x50 r40.

   CF7 wraps every control in a <span class="wpcf7-form-control-wrap">
   and every row in a <p>, so the grid is applied to .gdform (the
   wrapper inside the CF7 form template) rather than to the <form>.
   ═══════════════════════════════════════════════════════════════ */
.split-contact__band {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

/* ── Left: contact details ───────────────────────────────────── */
.split-contact__info {
	background: var(--gd-blue);
	color: var(--gd-white);
	padding: clamp(40px, 28.34px + 2.9895vw, 80px) var(--gd-gutter);
	text-align: left;
}

/* The gutter is capped at 100px, so from ~1528px up both columns keep
   a fixed 100px offset from the page centre line rather than drifting
   to the middle of their own half (x100 / x964 in the design). */
.split-contact__info-inner {
	margin: 0 0 0 auto;
	max-width: 664px;
	width: 100%;
}

.split-contact__title {
	color: var(--gd-white);
	font-size: var(--gd-h2);
	font-weight: var(--gd-heavy);
	line-height: var(--gd-h2-lh);
	margin: 0;
}

.split-contact__text {
	color: var(--gd-white);
	font-size: 16px;
	line-height: 26px;
	margin-top: 10px;
}

.split-contact__text p {
	color: var(--gd-white);
}

.split-contact__text p + p {
	margin-top: 14px;
}

.split-contact__office {
	color: var(--gd-white);
	font-size: var(--gd-h3);
	font-weight: var(--gd-heavy);
	line-height: var(--gd-h3-lh);
	margin-top: clamp(20px, 17.09px + 0.7474vw, 30px);
}

.split-contact__line {
	align-items: center;
	color: var(--gd-white);
	display: flex;
	font-size: 16px;
	gap: 13px;
	justify-content: flex-start;
	line-height: 26px;
	margin: 0;
	padding: 0;
}

.split-contact__line--phone {
	margin-top: clamp(4px, 1.38px + 0.6726vw, 13px);
}

.split-contact__line--email {
	margin-top: 10px;
}

.split-contact__line i {
	flex: 0 0 21px;
	font-size: 18px;
	text-align: center;
}

.split-contact__line--email i {
	font-size: 16px;
}

.split-contact__line a {
	color: var(--gd-white);
}

.split-contact__line a:hover {
	color: var(--gd-white);
	opacity: 0.75;
}

.split-contact__address {
	color: var(--gd-white);
	font-size: 16px;
	font-style: normal;
	line-height: 26px;
	margin-top: clamp(10px, 4.17px + 1.4948vw, 30px);
}

.split-contact__socials {
	display: flex;
	gap: clamp(30px, 22.42px + 1.9432vw, 56px);
	justify-content: flex-start;
	list-style: none;
	margin: clamp(20px, 17.09px + 0.7474vw, 30px) 0 0;
	padding: 0;
}

.split-contact__socials li {
	padding: 0;
}

.split-contact__socials a {
	align-items: center;
	color: var(--gd-white);
	display: inline-flex;
	font-size: clamp(12px, 10.83px + 0.299vw, 16px);
	gap: 10px;
	letter-spacing: 0.03em;
	line-height: 1.4;
}

.split-contact__socials i {
	font-size: 18px;
}

.split-contact__socials a:hover {
	color: var(--gd-white);
	opacity: 0.75;
}

/* ── Right: Contact Form 7 ───────────────────────────────────── */
.split-contact__formwrap {
	background: var(--gd-panel-light);
	padding: clamp(40px, 34.17px + 1.4948vw, 60px) var(--gd-gutter) clamp(27px, -1.86px + 7.3991vw, 126px);
}

.split-contact__form-inner {
	margin: 0 auto 0 0;
	max-width: 664px;
	width: 100%;
}

.split-contact__form-inner .wpcf7 {
	margin: 0;
	padding: 0;
}

.split-contact__form-inner .wpcf7-form {
	margin: 0;
}

.gdform {
	display: grid;
	gap: 15px 14px;
	grid-template-columns: 1fr 1fr;
}

.gdform__field {
	margin: 0;
	padding: 0;
}

.gdform__field--full {
	grid-column: 1 / -1;
}

/* CF7's control wrapper is an inline span by default */
.gdform .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
}

.gdform input[type="text"],
.gdform input[type="email"],
.gdform input[type="tel"],
.gdform select,
.gdform textarea {
	background: var(--gd-white);
	border: 0;
	border-radius: var(--gd-radius-tile);
	box-shadow: none;
	color: var(--gd-field-ink);
	display: block;
	font-family: inherit;
	/* Book, not Regular. Controls inherited body's 400,
	   which is one kit slot too heavy (see the weights block in style.css). */
	font-size: 16px;
	font-weight: var(--gd-book);
	height: 50px;
	line-height: 26px;
	margin: 0;
	padding: 12px 15px;
	width: 100%;
}

.gdform textarea {
	height: 165px;
	resize: vertical;
}

.gdform ::placeholder {
	color: var(--gd-field-ink);
	opacity: 1;
}

.gdform input:focus,
.gdform select:focus,
.gdform textarea:focus {
	outline: 2px solid var(--gd-blue);
	outline-offset: 1px;
}

/* Double chevron, redrawn from the design */
.gdform__field--select select {
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='17' viewBox='0 0 12.3738 17'%3E%3Cpath d='M5.49078 0.675158L1.77147 4.28214C1.1266 4.90753 1.56934 6 2.46766 6H9.90627C10.8046 6 11.2473 4.90753 10.6025 4.28214L6.88314 0.675158C6.49525 0.298976 5.87867 0.298976 5.49078 0.675158Z' fill='%23210202'/%3E%3Cpath d='M6.88304 16.3248L10.6023 12.7179C11.2472 12.0925 10.8045 11 9.90616 11L2.46755 11C1.56923 11 1.12649 12.0925 1.77136 12.7179L5.49067 16.3248C5.87856 16.701 6.49514 16.701 6.88304 16.3248Z' fill='%23210202'/%3E%3C/svg%3E");
	background-position: right 15px center;
	background-repeat: no-repeat;
	padding-right: 42px;
}

/* ── Consent + submit row ───────────────────────────── */
.gdform__foot {
	grid-column: 1 / -1;
	margin-top: 20px;
	position: relative;
}

/* wpcf7_autop wraps loose inline content in a <p>, so the row may be
   .gdform__foot itself or the <p> inside it — style both. */
.gdform__foot,
.gdform__foot > p {
	align-items: center;
	display: flex;
	flex-direction: row;
	gap: 20px;
	justify-content: space-between;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
	width: 100%;
}

.gdform__foot br {
	display: none;
}

.gdform__foot .wpcf7-spinner {
	margin: 0;
	position: absolute;
	right: -34px;
	top: 50%;
	transform: translateY(-50%);
	
	display: none;
}

.gdform__consent {
	flex: 1 1 auto;
}

.gdform__consent .wpcf7-form-control-wrap {
	display: inline;
}

.gdform__consent .wpcf7-acceptance,
.gdform__consent .wpcf7-list-item {
	display: block;
	margin: 0;
}

.gdform__consent label {
	align-items: flex-start;
	color: var(--gd-consent-ink);
	cursor: pointer;
	display: flex;
	font-size: 14px;
	font-weight: var(--gd-book);
	gap: 12px;
	line-height: 25px;
}

.gdform__consent input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	background: var(--gd-white);
	border: 1px solid #0A3072;
	border-radius: 2px;
	cursor: pointer;
	flex: 0 0 14px;
	height: 15px;
	margin: 5px 0 0;
	position: relative;
	width: 14px;
}

.gdform__consent input[type="checkbox"]:checked {
	background: var(--gd-blue);
	border-color: var(--gd-blue);
}

.gdform__consent input[type="checkbox"]:checked::after {
	border: solid var(--gd-white);
	border-width: 0 2px 2px 0;
	content: "";
	height: 8px;
	left: 4px;
	position: absolute;
	top: 1px;
	transform: rotate(45deg);
	width: 4px;
}

.gdform__consent .wpcf7-list-item-label {
	flex: 1 1 auto;
}

.gdform__submit {
	border-radius: 40px;
	flex: 0 0 auto;
	height: 50px;
	min-width: 206px;
	width: auto;
}

/* ── Validation and response messages ────────────────────────── */
.gdform .wpcf7-not-valid-tip {
	color: #C8102E;
	display: block;
	font-size: 13px;
	line-height: 20px;
	padding-top: 4px;
}

.gdform input.wpcf7-not-valid,
.gdform select.wpcf7-not-valid,
.gdform textarea.wpcf7-not-valid {
	outline: 2px solid #C8102E;
	outline-offset: 1px;
}

.split-contact__form-inner .wpcf7-response-output {
	background: var(--gd-white);
	border: 0;
	border-left: 4px solid var(--gd-blue);
	border-radius: var(--gd-radius-tile);
	font-size: 16px;
	line-height: 26px;
	margin: 20px 0 0;
	padding: 14px 18px;
}

.split-contact__notice {
	background: var(--gd-white);
	border-left: 4px solid var(--gd-blue);
	border-radius: var(--gd-radius-tile);
	padding: 14px 18px;
}

/* The two panels stay side by side well below the design's 1728, but the
   form cannot: each half is ~592px at 1200, which leaves the paired
   fields 217px against the design's 325. Drop the form to one column
   first, and only stack the panels once the halves are genuinely too
   narrow to read. */
@media (max-width: 1400px) {
	.gdform {
		grid-template-columns: 1fr;
	}

	/* The consent line plus a 206px submit needs ~376px; a half-panel is
	   329px at 900. Stack the row with the form rather than letting it
	   push the whole form past the panel. */
	.gdform__foot,
	.gdform__foot > p {
		align-items: center;
		flex-direction: column;
	}

	.gdform__submit {
		width: 100%;
	}

	/* Parking the spinner in the right margin overflows the panel once
	   the half is narrow — bring it inside with the form. */
	.gdform__foot .wpcf7-spinner {
		margin: 10px 0 0;
		position: static;
		transform: none;
	}
}

@media (max-width: 899px) {
	.split-contact__band {
		grid-template-columns: 1fr;
	}

	.split-contact__info {
		text-align: center;
	}

	.split-contact__info-inner {
		margin: 0 auto;
	}

	.split-contact__line {
		justify-content: center;
	}

	.split-contact__socials {
		justify-content: center;
	}

	.split-contact__form-inner {
		margin: 0 auto;
	}

}
