body.efs-site-built #site-header,
body.efs-site-built #site-footer,
body.efs-site-built header.site-header,
body.efs-site-built footer.site-footer {
	display: none !important;
}

#efs-site-header,
#efs-site-footer {
	position: relative;
	z-index: 20;
}

.efs-contact-form {
	display: grid;
	gap: 16px;
	--efs-form-label-color: #fff;
	--efs-form-input-text: #263244;
	--efs-form-input-bg: #fff;
	--efs-form-input-border: #9aa7b5;
	--efs-form-focus: #d60018;
	--efs-form-warning-bg: #f2f6fb;
	--efs-form-warning-text: #263244;
	--efs-form-button-bg: #d60018;
	--efs-form-button-text: #fff;
	--efs-form-button-hover-bg: #fff;
	--efs-form-button-hover-text: #d60018;
}

.efs-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.efs-contact-form label {
	display: grid;
	gap: 7px;
	font-weight: 600;
	color: var(--efs-form-label-color);
}

.efs-contact-form input,
.efs-contact-form select,
.efs-contact-form textarea {
	width: 100%;
	min-height: 48px;
	padding: 12px 14px;
	border: 1px solid var(--efs-form-input-border, #C7CED8);
	border-radius: 8px;
	background: var(--efs-form-input-bg, #FFFFFF);
	color: var(--efs-form-input-text, #263244);
	font: inherit;
	transition: border-color .2s ease, box-shadow .2s ease;
}

/* The native dropdown popup is painted by the OS, not by the page: it ignores
   the select's own background and defaults to white. With light input text
   that made every option invisible except the highlighted one. Give options an
   explicit, opaque pair of their own. */
.efs-contact-form select option,
.efs-contact-form select optgroup {
	background-color: var(--efs-form-option-bg, #111827);
	color: var(--efs-form-option-text, #F5F7FA);
}

.efs-contact-form input:focus,
.efs-contact-form select:focus,
.efs-contact-form textarea:focus {
	outline: none;
	border-color: var(--efs-form-focus);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--efs-form-focus) 18%, transparent);
}

.efs-contact-form textarea {
	min-height: 130px;
	resize: vertical;
}

.efs-form-full,
.efs-form-warning,
.efs-form-consent {
	grid-column: 1 / -1;
}

.efs-form-warning {
	margin: 0;
	padding: 12px 14px;
	border-radius: 8px;
	background: var(--efs-form-warning-bg);
	color: var(--efs-form-warning-text);
	font-size: 14px;
}

.efs-form-consent {
	display: flex !important;
	grid-template-columns: none !important;
	align-items: flex-start;
	gap: 10px !important;
	font-size: 14px;
	font-weight: 400 !important;
}

.efs-form-consent input {
	width: 18px;
	min-height: 18px;
	margin-top: 2px;
	accent-color: var(--efs-form-button-bg);
}

.efs-contact-form button {
	min-height: 50px;
	padding: 12px 24px;
	border: 1px solid var(--efs-form-button-bg);
	border-radius: 999px;
	background: var(--efs-form-button-bg);
	color: var(--efs-form-button-text);
	font: inherit;
	font-weight: 700;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.efs-contact-form button:hover,
.efs-contact-form button:focus {
	border-color: var(--efs-form-button-hover-text);
	background: var(--efs-form-button-hover-bg);
	color: var(--efs-form-button-hover-text);
}

.efs-form-message {
	margin-bottom: 16px;
	padding: 12px 14px;
	border-radius: 8px;
}

.efs-form-success {
	background: #e8f7ee;
	color: #17673a;
}

.efs-form-error {
	background: #fbeaec;
	color: #8f0010;
}

.efs-honeypot {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.efs-language-switcher > a {
	font-weight: 700 !important;
}

@media (max-width: 767px) {
	.efs-form-grid {
		grid-template-columns: 1fr;
	}
}
