.esa-contact-form,
.contact-form-link {
	margin-top: 2.25em;
	padding: 2em;
	border: solid 1px rgba(46, 82, 120, 0.25);
	border-radius: 0.65em;
	background: #ffffff;
	color: #252a38;
}

.esa-contact-form [hidden] { display: none !important; }
.esa-contact-form .field { margin-bottom: 1.4em; }
.esa-contact-form label,
.esa-contact-form legend {
	display: block;
	margin-bottom: 0.45em;
	color: #172b4d;
	font-weight: 700;
}
.esa-contact-form input,
.esa-contact-form select,
.esa-contact-form textarea {
	margin: 0;
	border: solid 2px #7893b2 !important;
	background: #ffffff !important;
	color: #172033 !important;
	box-shadow: none !important;
}
.esa-contact-form input::placeholder,
.esa-contact-form textarea::placeholder { color: #626d7c !important; opacity: 1; }
.esa-contact-form select option { background: #ffffff; color: #172033; }
.esa-contact-form input:focus,
.esa-contact-form select:focus,
.esa-contact-form textarea:focus {
	border-color: #1268bd !important;
	box-shadow: 0 0 0 3px rgba(18, 104, 189, 0.2) !important;
}
.esa-contact-form small { display: block; margin-top: 0.45em; color: #4d5868; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25em; }
.travel-fields { margin: 0 0 1.6em; padding: 1.4em; border: solid 1px rgba(30, 92, 158, 0.28); border-radius: 0.65em; background: rgba(30, 92, 158, 0.06); }
.consent-field { display: flex; align-items: flex-start; gap: 0.75em; margin: 0 0 1.5em; }
.consent-field input[type="checkbox"] { flex: 0 0 auto; width: 1.2em; height: 1.2em; margin-top: 0.15em; appearance: auto; opacity: 1; }
.consent-field label { margin: 0; color: #172b4d; }
.security-field { padding: 1.25em; border: solid 1px #bfd0e2; border-radius: 0.65em; background: #edf5fc; }
.security-row { display: grid; grid-template-columns: minmax(7em, 0.3fr) auto; gap: 0.85em; align-items: center; }
.security-row .button { margin: 0; white-space: nowrap; }
.contact-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.form-feedback { min-height: 1.6em; margin: 0; font-weight: 600; }
.form-feedback.success { color: #176b37; }
.form-feedback.error { color: #a4001b; }
.contact-form-link > :last-child { margin-bottom: 0; }

@media screen and (max-width: 736px) {
	.esa-contact-form,
	.contact-form-link { padding: 1.25em; }
	.form-grid,
	.security-row { grid-template-columns: 1fr; }
	.security-row .button,
	.esa-contact-form .actions li,
	.esa-contact-form .actions .button { width: 100%; }
}
