/* Contact / Product / Service Fluent Forms — pixel match old site */

.hh-contact-form .fluentform .ff-el-group.ff-hpsf-container,
.hh-pro-form .fluentform .ff-el-group.ff-hpsf-container,
.hh-service-form .fluentform .ff-el-group.ff-hpsf-container {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	margin: 0 !important;
	overflow: hidden !important;
}

.hh-contact-form .fluentform,
.hh-pro-form .fluentform,
.hh-service-form .fluentform,
.hh-contact-form .fluentform.ff-default,
.hh-pro-form .fluentform.ff-default,
.hh-service-form .fluentform.ff-default {
	font-family: inherit !important;
}

.hh-contact-form .fluentform form,
.hh-contact-form form.fluentform,
.hh-pro-form .fluentform form,
.hh-pro-form form.fluentform {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Match old flex 48% + space-between (≈4% gutter) */
.hh-contact-form .fluentform .ff-t-container,
.hh-pro-form .fluentform .ff-t-container {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: space-between !important;
	align-items: flex-start !important;
	gap: 0 !important;
	width: 100% !important;
	margin: 0 0 .18rem !important;
	padding: 0 !important;
}

.hh-contact-form .fluentform .ff-t-cell,
.hh-pro-form .fluentform .ff-t-cell {
	flex: 0 0 48% !important;
	width: 48% !important;
	max-width: 48% !important;
	min-width: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	float: none !important;
}

.hh-contact-form .fluentform .ff-el-group,
.hh-pro-form .fluentform .ff-el-group {
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
	padding: 0 !important;
}

.hh-contact-form .fluentform .hh-ff-wide,
.hh-pro-form .fluentform .hh-ff-wide,
.hh-contact-form .fluentform .ff_submit_btn_wrapper,
.hh-pro-form .fluentform .ff_submit_btn_wrapper,
.hh-contact-form .fluentform .ff-el-group.hh-ff-wide,
.hh-pro-form .fluentform .ff-el-group.hh-ff-wide {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 0 .18rem !important;
}

.hh-contact-form .fluentform .ff_submit_btn_wrapper,
.hh-pro-form .fluentform .ff_submit_btn_wrapper {
	margin: 0 !important;
	text-align: left !important;
}

/* Labels — old: .f16 + margin-bottom .1rem + font-weight 600 + line-height 1 */
.hh-contact-form .fluentform .ff-el-input--label,
.hh-service-form .fluentform .ff-el-input--label {
	display: block !important;
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 0 .1rem !important;
	padding: 0 !important;
	text-align: left !important;
	line-height: 1 !important;
}

.hh-contact-form .fluentform .ff-el-input--label label,
.hh-service-form .fluentform .ff-el-input--label label {
	display: block !important;
	width: auto !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	font-family: inherit !important;
	font-size: var(--f16, .16rem) !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	color: #333 !important;
	white-space: normal !important;
	word-break: keep-all !important;
	overflow-wrap: normal !important;
}

.hh-contact-form .fluentform .ff-el-input--content,
.hh-pro-form .fluentform .ff-el-input--content,
.hh-service-form .fluentform .ff-el-input--content {
	display: block !important;
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.hh-contact-form .fluentform .ff-el-input--label .ff-el-is-required:after,
.hh-contact-form .fluentform .ff-el-is-required .ff-el-input--label label:after,
.hh-pro-form .fluentform .ff-el-input--label .ff-el-is-required:after,
.hh-pro-form .fluentform .ff-el-is-required .ff-el-input--label label:after,
.hh-service-form .fluentform .ff-el-is-required .ff-el-input--label label:after,
.hh-contact-form .fluentform .asterisk-right label:after,
.hh-pro-form .fluentform .asterisk-right label:after,
.hh-service-form .fluentform .asterisk-right label:after {
	display: none !important;
	content: none !important;
}

.hh-pro-form .fluentform .ff-el-input--label {
	display: none !important;
}

/* Shared control reset — kill FF default padding/min-height/radius/font */
.hh-contact-form .fluentform .ff-el-form-control,
.hh-pro-form .fluentform .ff-el-form-control,
.hh-service-form .fluentform .ff-el-form-control,
.hh-contact-form .ff-default .ff-el-form-control,
.hh-pro-form .ff-default .ff-el-form-control,
.hh-service-form .ff-default .ff-el-form-control {
	-webkit-appearance: none !important;
	appearance: none !important;
	display: block !important;
	box-sizing: border-box !important;
	font-family: inherit !important;
	font-size: var(--f16, .16rem) !important;
	font-weight: 400 !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	line-height: 1.5 !important;
	box-shadow: none !important;
	outline: 0 !important;
	transition: border-color .15s ease, background-color .15s ease !important;
}

.hh-contact-form .fluentform .ff-el-form-control::placeholder,
.hh-pro-form .fluentform .ff-el-form-control::placeholder {
	color: #868e96 !important;
	opacity: 1 !important;
}

/* Contact inputs — old: height .58rem, padding .16rem, border #e4e7eb, bg #f7f8fa */
.hh-contact-form .fluentform input.ff-el-form-control,
.hh-contact-form .fluentform textarea.ff-el-form-control,
.hh-contact-form .ff-default input.ff-el-form-control,
.hh-contact-form .ff-default textarea.ff-el-form-control {
	padding: .16rem !important;
	border: .01rem solid #e4e7eb !important;
	border-radius: .06rem !important;
	background: #f7f8fa !important;
	color: #000 !important;
	min-height: 0 !important;
}

.hh-contact-form .fluentform input.ff-el-form-control,
.hh-contact-form .ff-default input.ff-el-form-control {
	height: .58rem !important;
}

/* rows=7 → 7*1.5*16 + 32pad + 2border = 202px @ rem=100 */
.hh-contact-form .fluentform textarea.ff-el-form-control,
.hh-contact-form .ff-default textarea.ff-el-form-control {
	height: auto !important;
	min-height: 2.02rem !important;
	resize: none !important;
}

.hh-contact-form .fluentform input.ff-el-form-control:focus,
.hh-contact-form .fluentform textarea.ff-el-form-control:focus {
	border-color: var(--theme-color, #e6212a) !important;
	background: #fff !important;
	color: #000 !important;
}

/* Product inputs — old: padding .16rem, transparent border, bg #f4f5f7, mb .18rem */
.hh-pro-form .fluentform input.ff-el-form-control,
.hh-pro-form .fluentform textarea.ff-el-form-control,
.hh-pro-form .ff-default input.ff-el-form-control,
.hh-pro-form .ff-default textarea.ff-el-form-control {
	height: auto !important;
	min-height: 0 !important;
	margin: 0 0 .18rem !important;
	padding: .16rem !important;
	border: .01rem solid transparent !important;
	border-radius: .06rem !important;
	background: #f4f5f7 !important;
	color: #000 !important;
}

.hh-pro-form .fluentform .ff-t-cell input.ff-el-form-control,
.hh-pro-form .ff-default .ff-t-cell input.ff-el-form-control {
	margin-bottom: 0 !important;
}

/* rows=5 → 5*24 + 32 + 2 = 154px */
.hh-pro-form .fluentform textarea.ff-el-form-control,
.hh-pro-form .ff-default textarea.ff-el-form-control {
	min-height: 1.54rem !important;
	resize: none !important;
}

.hh-pro-form .fluentform input.ff-el-form-control:focus,
.hh-pro-form .fluentform textarea.ff-el-form-control:focus {
	border-color: var(--theme-color, #e6212a) !important;
	background: #fff !important;
	color: #000 !important;
}

.hh-service-form .fluentform form,
.hh-service-form form.fluentform {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .24rem .3rem;
}

.hh-service-form .fluentform .ff-el-group {
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
}

.hh-service-form .fluentform .hh-ff-wide,
.hh-service-form .fluentform .ff_submit_btn_wrapper {
	grid-column: 1 / -1;
}

.hh-service-form .fluentform .ff-el-input--label label {
	font-weight: 400 !important;
	color: #666 !important;
}

.hh-service-form .fluentform input.ff-el-form-control,
.hh-service-form .fluentform select.ff-el-form-control,
.hh-service-form .fluentform textarea.ff-el-form-control {
	padding: .12rem 0 !important;
	border: 0 !important;
	border-bottom: .01rem solid #cfd3d8 !important;
	border-radius: 0 !important;
	background: transparent !important;
	min-height: 0 !important;
	height: auto !important;
}

.hh-service-form .fluentform input.ff-el-form-control:focus,
.hh-service-form .fluentform select.ff-el-form-control:focus,
.hh-service-form .fluentform textarea.ff-el-form-control:focus {
	border-bottom-color: var(--theme-color, #e6212a) !important;
}

/* Button — old .hh-btn: padding .16rem .34rem, line-height 1, h≈50 */
.hh-contact-form .fluentform button[type="submit"],
.hh-pro-form .fluentform button[type="submit"],
.hh-service-form .fluentform button[type="submit"],
.hh-contact-form .fluentform .ff-btn-submit,
.hh-pro-form .fluentform .ff-btn-submit,
.hh-service-form .fluentform .ff-btn-submit,
.hh-contact-form .ff-default .ff_btn_style,
.hh-pro-form .ff-default .ff_btn_style,
.hh-service-form .ff-default .ff_btn_style {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: .12rem !important;
	width: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	height: auto !important;
	margin: 0 !important;
	padding: .16rem .34rem !important;
	border: .01rem solid var(--theme-color, #e6212a) !important;
	border-radius: .06rem !important;
	background: var(--theme-color, #e6212a) !important;
	color: #fff !important;
	font-family: inherit !important;
	font-size: var(--f16, .16rem) !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	box-shadow: none !important;
	cursor: pointer !important;
	transition: .3s ease !important;
	opacity: 1 !important;
	white-space: nowrap !important;
}

.hh-contact-form .fluentform button[type="submit"]:hover,
.hh-pro-form .fluentform button[type="submit"]:hover,
.hh-service-form .fluentform button[type="submit"]:hover,
.hh-contact-form .ff-default .ff_btn_style:hover,
.hh-pro-form .ff-default .ff_btn_style:hover,
.hh-service-form .ff-default .ff_btn_style:hover {
	background: #111 !important;
	border-color: #111 !important;
	color: #fff !important;
	opacity: 1 !important;
	transform: translateY(-.03rem);
}

.hh-service-form .fluentform button[type="submit"] {
	margin-top: .3rem !important;
}

@media (max-width: 1000px) {
	.hh-contact-form .fluentform .ff-t-container,
	.hh-pro-form .fluentform .ff-t-container {
		flex-direction: column !important;
	}
	.hh-contact-form .fluentform .ff-t-cell,
	.hh-pro-form .fluentform .ff-t-cell {
		flex: 0 0 100% !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-bottom: .18rem !important;
	}
	.hh-service-form .fluentform form,
	.hh-service-form form.fluentform {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	.hh-contact-form .fluentform input.ff-el-form-control,
	.hh-contact-form .ff-default input.ff-el-form-control {
		height: .78rem !important;
	}
	.hh-contact-form .fluentform input.ff-el-form-control,
	.hh-contact-form .fluentform textarea.ff-el-form-control,
	.hh-pro-form .fluentform input.ff-el-form-control,
	.hh-pro-form .fluentform textarea.ff-el-form-control {
		margin-bottom: .22rem !important;
		padding: .22rem .24rem !important;
		border-radius: .1rem !important;
	}
	.hh-pro-form .fluentform .ff-t-cell input.ff-el-form-control {
		margin-bottom: .22rem !important;
	}
	.hh-contact-form .fluentform textarea.ff-el-form-control {
		min-height: 2.4rem !important;
	}
	.hh-pro-form .fluentform textarea.ff-el-form-control {
		min-height: 1.9rem !important;
	}
}

/* Desktop nav dropdown: reset Header line-height:100px on submenu items */
@media (min-width: 1001px) {
	.Header-container .c-nav > li > ul.hh-nav-sub {
		line-height: 1.2 !important;
		font-weight: 400 !important;
	}
	.Header-container .c-nav > li > ul.hh-nav-sub > li,
	.Header-container .c-nav > li > ul.hh-nav-sub .hh-nav-sub-head {
		line-height: 1.2 !important;
		min-height: 0 !important;
	}
	.Header-container .c-nav > li > ul.hh-nav-sub > li > .hh-nav-sub-head > a,
	.Header-container .c-nav > li > ul.hh-nav-sub > li > a {
		display: block !important;
		font-size: 16px !important;
		font-weight: 400 !important;
		line-height: 1.2 !important;
		padding: 10px 0 !important;
		color: #58595b !important;
	}
	.Header-container .c-nav > li > ul.hh-nav-sub > li > .hh-nav-sub-head > .hh-nav-sub-toggle {
		display: none !important;
	}
	.Header-container .c-nav > li > ul.hh-nav-sub > li:hover > .hh-nav-sub-head > a,
	.Header-container .c-nav > li > ul.hh-nav-sub > li:hover > a {
		color: var(--theme-color, #e6212a) !important;
	}
}

.c-nav > li.current-menu-item > a,
.c-nav > li.current-menu-ancestor > a,
.c-nav > li.active > a { color: inherit; }
.hh-pro-menu li.active > .hh-pro-menu-head > a,
.hh-pro-sub li.active > a { color: #c8102e; }
.com_page span.page-num-current,
.com_page a.page-num-current {
	border-color: var(--theme-color, #e6212a) !important;
	background: var(--theme-color, #e6212a) !important;
	color: #fff !important;
}
.com_page .page-prev.is-disabled,
.com_page .page-next.is-disabled {
	opacity: .35;
	pointer-events: none;
	cursor: default;
	background-color: #fff;
}
.hh-thanks-page,
.hh-404-page { min-height: 60vh; }
.admin-bar .Header-wrapper { top: 32px; }
@media (max-width: 782px) {
	.admin-bar .Header-wrapper { top: 46px; }
}
