/* Local Contact Us page — scoped. Header, title band, footer stay in bm-local-header / home. */
.bm-contact {
	--bmc-red: #e10707;
	--bmc-ink: #1a1a1a;
	--bmc-muted: #5c636a;
	--bmc-line: #e4e7eb;
	--bmc-border: #d5d9de;
	--bmc-bg: #f6f7f9;
	--bmc-focus: #e10707;
	box-sizing: border-box;
	max-width: 1000px;
	margin: 0 0 2.75rem;
	color: var(--bmc-ink);
	font-family: inherit;
}

.bm-contact *,
.bm-contact *::before,
.bm-contact *::after {
	box-sizing: border-box;
}

.fusion-body.bm-contact-page .post-content,
.fusion-body.bm-contact-page .post-content p,
.fusion-body.bm-contact-page .post-content h2,
.fusion-body.bm-contact-page .post-content h3 {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	text-transform: none;
	letter-spacing: normal;
}

.fusion-body.bm-contact-page .bm-contact h2.bm-contact-kicker,
.fusion-body.bm-contact-page .bm-contact h3.bm-contact-label-h {
	margin: 0 0 1rem;
	color: var(--bmc-red) !important;
	font-size: 0.72rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	line-height: 1.2 !important;
	text-transform: uppercase !important;
}

.fusion-body.bm-contact-page .bm-contact h3.bm-contact-label-h {
	margin: 0 0 0.35rem;
}

.bm-contact-intro,
.fusion-body.bm-contact-page .post-content p.bm-contact-intro {
	max-width: none;
	margin: 0 0 1.25rem;
	color: #1a1a1a;
	font-size: 1.05rem;
	font-weight: 400;
	line-height: 1.7;
	white-space: normal;
}

.bm-contact-grid {
	display: grid;
	grid-template-columns: minmax(16rem, 0.92fr) minmax(20rem, 1.18fr);
	gap: 2.25rem 2.75rem;
	align-items: start;
}

.bm-contact-kicker {
	margin: 0 0 1rem;
	color: var(--bmc-red);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
}

.bm-contact-block {
	margin: 0 0 1.45rem;
}

.bm-contact-block:last-child {
	margin-bottom: 0;
}

.bm-contact-label-h {
	margin: 0 0 0.35rem;
	color: var(--bmc-red);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
}

.bm-contact-address {
	margin: 0;
	color: var(--bmc-ink);
	font-size: 1.05rem;
	line-height: 1.55;
}

.bm-contact-address strong {
	font-weight: 700;
}

.bm-contact-phone-wrap,
.bm-contact-email-wrap {
	margin: 0;
}

.bm-contact-phone,
.fusion-body.bm-contact-page .post-content a.bm-contact-phone {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--bmc-ink);
	font-size: 1.12rem;
	font-weight: 650;
	line-height: 1.4;
	text-decoration: underline;
	text-decoration-thickness: 1.5px;
	text-underline-offset: 0.18em;
}

.bm-contact-phone-icon {
	flex: 0 0 auto;
	display: block;
	color: var(--bmc-red);
}

.bm-contact-phone:hover,
.bm-contact-phone:focus,
.fusion-body.bm-contact-page .post-content a.bm-contact-phone:hover,
.fusion-body.bm-contact-page .post-content a.bm-contact-phone:focus {
	color: var(--bmc-red);
	text-decoration-color: var(--bmc-red);
}

.bm-contact-phone:focus-visible {
	outline: 2px solid var(--bmc-red);
	outline-offset: 3px;
	border-radius: 2px;
}

.bm-contact-phone-note,
.fusion-body.bm-contact-page .post-content p.bm-contact-phone-note {
	margin: 0.28rem 0 0;
	color: var(--bmc-muted);
	font-size: 0.9rem;
	font-weight: 400;
	line-height: 1.4;
}

.bm-contact-email {
	display: inline-block;
	color: var(--bmc-ink);
	font-size: 1.12rem;
	font-weight: 650;
	line-height: 1.4;
	text-decoration: underline;
	text-decoration-thickness: 1.5px;
	text-underline-offset: 0.18em;
	overflow-wrap: anywhere;
}

.bm-contact-email:hover,
.bm-contact-email:focus {
	color: var(--bmc-red);
	text-decoration-color: var(--bmc-red);
}

.bm-contact-email:focus-visible {
	outline: 2px solid var(--bmc-red);
	outline-offset: 3px;
	border-radius: 2px;
}

.bm-contact-social {
	list-style: none;
	margin: 0;
	padding: 0;
}

.bm-contact-social li {
	margin: 0 0 0.4rem;
}

.bm-contact-social-link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--bmc-ink);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
}

.bm-contact-social-link svg {
	flex: 0 0 auto;
	display: block;
}

.bm-contact-social-facebook svg {
	color: #1877f2;
}

.bm-contact-social-youtube svg {
	color: #ff0000;
}

.bm-contact-social-instagram svg {
	color: #d6249f;
}

.bm-contact-social-link:hover,
.bm-contact-social-link:focus {
	color: var(--bmc-red);
	text-decoration: underline;
	text-underline-offset: 0.16em;
}

.bm-contact-social-link:focus-visible {
	outline: 2px solid var(--bmc-red);
	outline-offset: 3px;
	border-radius: 4px;
}

.bm-contact-form-col .wpcf7 {
	margin: 0;
}

.bm-contact .wpcf7 .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;
}

.bm-contact-form-col .wpcf7 form,
.bm-contact-form-col .wpcf7 p {
	margin: 0;
}

.bm-contact-form-col .wpcf7 form > p,
.bm-contact-form-col .bm-contact-field,
.bm-contact-form-col .bm-contact-captcha,
.bm-contact-form-col .bm-contact-submit {
	margin: 0 0 0.95rem;
}

.bm-contact-form-col .bm-contact-submit {
	margin-top: 0.35rem;
	margin-bottom: 0;
}

.bm-contact-label {
	display: block;
	margin: 0 0 0.38rem;
	color: var(--bmc-ink);
	font-size: 0.92rem;
	font-weight: 650;
	line-height: 1.3;
}

.bm-contact-req {
	color: var(--bmc-red);
	font-weight: 700;
}

.bm-contact-form-col .wpcf7-form-control-wrap {
	display: block;
}

.bm-contact-form-col input.wpcf7-text,
.bm-contact-form-col input.wpcf7-email,
.bm-contact-form-col input[type="text"],
.bm-contact-form-col input[type="email"],
.bm-contact-form-col textarea.wpcf7-textarea,
.bm-contact-form-col textarea {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0 0.9rem;
	border: 1px solid var(--bmc-border);
	border-radius: 9px;
	background: #fff;
	box-shadow: none;
	color: var(--bmc-ink);
	font-family: inherit;
	font-size: 1rem;
	line-height: 1.4;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.bm-contact-form-col input.wpcf7-text,
.bm-contact-form-col input.wpcf7-email,
.bm-contact-form-col input[type="text"],
.bm-contact-form-col input[type="email"] {
	height: 48px;
}

.bm-contact-form-col textarea.wpcf7-textarea,
.bm-contact-form-col textarea {
	height: 160px;
	min-height: 140px;
	padding: 0.75rem 0.9rem;
	resize: vertical;
}

.bm-contact-form-col input.wpcf7-text:hover,
.bm-contact-form-col input.wpcf7-email:hover,
.bm-contact-form-col input[type="text"]:hover,
.bm-contact-form-col input[type="email"]:hover,
.bm-contact-form-col textarea.wpcf7-textarea:hover,
.bm-contact-form-col textarea:hover {
	border-color: #c3c8ce;
}

.bm-contact-form-col input.wpcf7-text:focus,
.bm-contact-form-col input.wpcf7-email:focus,
.bm-contact-form-col input[type="text"]:focus,
.bm-contact-form-col input[type="email"]:focus,
.bm-contact-form-col textarea.wpcf7-textarea:focus,
.bm-contact-form-col textarea:focus {
	outline: none;
	border-color: var(--bmc-focus);
	box-shadow: 0 0 0 3px rgba(225, 7, 7, 0.18);
}

.bm-contact-form-col .wpcf7-not-valid {
	border-color: var(--bmc-red);
}

.bm-contact-form-col .wpcf7-not-valid-tip {
	margin: 0.35rem 0 0;
	color: #b10505;
	font-size: 0.86rem;
	line-height: 1.35;
}

.bm-contact-form-col .cf7sr-g-recaptcha,
.bm-contact-form-col .g-recaptcha {
	margin: 0.15rem 0 0.2rem;
}

.fusion-body.bm-contact-page .bm-contact-form-col input.wpcf7-submit,
.fusion-body.bm-contact-page .bm-contact-form-col .bm-contact-submit input[type="submit"],
.bm-contact-form-col input.wpcf7-submit,
.bm-contact-form-col .bm-contact-submit input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	min-height: 48px;
	margin: 0;
	padding: 0.7rem 1.35rem;
	border: 0;
	border-radius: 9px;
	background: var(--bmc-red);
	background-image: none;
	box-shadow: none;
	color: #fff;
	cursor: pointer;
	font-family: inherit;
	font-size: 0.98rem;
	font-weight: 650;
	letter-spacing: 0.01em;
	line-height: 1.2;
	text-transform: none;
}

.fusion-body.bm-contact-page .bm-contact-form-col input.wpcf7-submit:hover,
.fusion-body.bm-contact-page .bm-contact-form-col input.wpcf7-submit:focus,
.bm-contact-form-col input.wpcf7-submit:hover,
.bm-contact-form-col input.wpcf7-submit:focus,
.bm-contact-form-col .bm-contact-submit input[type="submit"]:hover,
.bm-contact-form-col .bm-contact-submit input[type="submit"]:focus {
	background: #c80606;
	background-image: none;
	color: #fff;
}

.bm-contact-form-col input.wpcf7-submit:focus-visible,
.bm-contact-form-col .bm-contact-submit input[type="submit"]:focus-visible {
	outline: 2px solid var(--bmc-ink);
	outline-offset: 3px;
}

.bm-contact-form-col .wpcf7-spinner {
	background: var(--bmc-red);
}

.bm-contact-form-col .wpcf7 form.init .wpcf7-response-output,
.bm-contact-form-col .wpcf7 form.resetting .wpcf7-response-output,
.bm-contact-form-col .wpcf7 form.submitting .wpcf7-response-output {
	display: none;
}

.bm-contact-form-col .wpcf7-response-output .close,
.bm-contact-form-col .wpcf7-response-output .toggle-alert {
	display: none !important;
}

.bm-contact-form-col .wpcf7 form .wpcf7-response-output,
.fusion-body.bm-contact-page .bm-contact .fusion-alert.wpcf7-response-output {
	margin: 1rem 0 0;
	padding: 0.7rem 0.9rem;
	border: 1px solid var(--bmc-line);
	border-radius: 9px;
	background: var(--bmc-bg);
	box-shadow: none;
	color: var(--bmc-ink);
	font-size: 0.95rem;
	line-height: 1.45;
}

.bm-contact-form-col .wpcf7 form.sent .wpcf7-response-output {
	border-color: #c6e2c8;
	background: #f3faf4;
}

.bm-contact-form-col .wpcf7 form.invalid .wpcf7-response-output,
.bm-contact-form-col .wpcf7 form.unaccepted .wpcf7-response-output,
.bm-contact-form-col .wpcf7 form.failed .wpcf7-response-output,
.bm-contact-form-col .wpcf7 form.spam .wpcf7-response-output {
	border-color: #f0c4c4;
	background: #fff6f6;
	color: #7a1212;
}

.bm-contact-form-missing {
	margin: 0;
	color: var(--bmc-muted);
	font-size: 1rem;
	line-height: 1.5;
}

@media (max-width: 1024px) {
	.bm-contact-grid {
		gap: 1.85rem 1.75rem;
	}
}

@media (max-width: 800px) {
	.bm-contact-grid {
		grid-template-columns: 1fr;
		gap: 1.75rem;
	}

	.fusion-body.bm-contact-page .bm-contact-form-col input.wpcf7-submit,
	.fusion-body.bm-contact-page .bm-contact-form-col .bm-contact-submit input[type="submit"],
	.bm-contact-form-col input.wpcf7-submit,
	.bm-contact-form-col .bm-contact-submit input[type="submit"] {
		width: 100%;
		max-width: 100%;
	}
}

@media (max-width: 375px) {
	.bm-contact-address,
	.bm-contact-email,
	.bm-contact-phone {
		font-size: 1rem;
	}
}
