/*
Theme Name: the7dtchild
Author: Dream-Theme
Author URI: http://dream-theme.com/
Description: The7 is perfectly scalable, performance and SEO optimized, responsive, retina ready multipurpose WordPress theme. It will fit every site – big or small. From huge corporate portals to studio or personal sites – The7 will become a great foundation for your next project!
Version: 1.0.0
License: This WordPress theme is comprised of two parts: (1) The PHP code and integrated HTML are licensed under the GPL license as is WordPress itself.  You will find a copy of the license text in the same directory as this text file. Or you can read it here: http://wordpress.org/about/gpl/ (2) All other parts of the theme including, but not limited to the CSS code, images, and design are licensed according to the license purchased. Read about licensing details here: http://themeforest.net/licenses/regular_extended
Template: dt-the7
*/

/* Global design */

:root {
	--mh-navy: #1c2733;
	--mh-navy2: #232f3d;
	--mh-gold: #c9982f;
	--mh-gold-dark: #a87d24;
	--mh-bg: #f5f4f1;
	--mh-text: #23303d;
	--mh-muted: #667080;
	--mh-border: #e3e1db;
	--the7-links-hover-color: var(--mh-gold);
	--mh-grid-columns: 5;
}

html {
	scroll-behavior:smooth
}

a {
	text-decoration: none;
}

header.header-bar .branding img {
	width: auto;
	height: 52px;
}

.mobile-header-bar .mobile-branding img {
	width: auto;
	height: 34px;
}

header.header-bar .wpml-ls-legacy-list-horizontal .wpml-ls-item:last-of-type a,
.mobile-header-bar .wpml-ls-legacy-list-horizontal .wpml-ls-item:last-of-type a {
	padding-left: 5px !important;
	padding-right: 5px !important;
}

header.header-bar .wpml-ls-legacy-list-horizontal .wpml-ls-item:not(.wpml-ls-current-language) a,
.mobile-header-bar .wpml-ls-legacy-list-horizontal .wpml-ls-item:not(.wpml-ls-current-language) a {
	color: var(--mh-muted);
}

header.header-bar .wpml-ls-legacy-list-horizontal a:hover,
.mobile-header-bar .wpml-ls-legacy-list-horizontal a:hover {
	color: var(--mh-gold) !important;
}

header.header-bar .wpml-ls-legacy-list-horizontal .wpml-ls-item:not(:last-of-type),
.mobile-header-bar .wpml-ls-legacy-list-horizontal .wpml-ls-item:not(:last-of-type) {
	position: relative;
}

header.header-bar .wpml-ls-legacy-list-horizontal .wpml-ls-item:not(:last-of-type):before,
.mobile-header-bar .wpml-ls-legacy-list-horizontal .wpml-ls-item:not(:last-of-type):before {
	content: "/";
	position: absolute;
	top: 50%;
	right: 0;
	display: inline-block;
	color: var(--mh-border);
	transform: translate(0, -50%);
}

header.header-bar > .mini-widgets > .mini-wpml {
	margin-right: 0 !important;
}

header.header-bar > .mini-widgets > a {
	letter-spacing: 0.05em;
}

#main {
	min-height: calc(100vh - 240px);
}

body.error404 #main,
body.search #main {
	padding-top: 84px;
	padding-bottom: 84px;
	min-height: calc(100vh - 508px);
}

body.admin-bar #main {
	min-height: calc(100vh - 372px);
}

body.admin-bar.error404 #main,
body.admin-bar.search #main {
	min-height: calc(100vh - 540px);
}

body.error404 #content {
	min-height: 0 !important;
}

.grecaptcha-badge {
	visibility: hidden;
}

.wpcf7-form .mh-recaptcha {
	margin: 20px 0 0;
	text-align: center;
	font-size: 12px !important;
	color: var(--mh-muted);
	line-height: 14px !important;
	order: 3;
}

#footer .footer-contact-rows li {
	display: flex;
	gap: 10px;
	align-items: center;
	font-size: 0.85rem;
	margin-bottom: 14px;
}

#footer .footer-contact-rows li svg {
	flex-shrink: 0;
	color: var(--mh-gold);
}

#footer section a:hover {
	color: #fff;
}

#footer #bottom-bar .wf-float-right {
	margin: 0 !important;
}

#footer #bottom-bar .wf-float-right p {
	font-size: 12px !important;
}

@media only screen and (max-width: 1460px){

	header.header-bar #primary-menu > li.menu-item > a {
		margin-left: 2px;
		margin-right: 2px;
	}

	header.header-bar #primary-menu > li.menu-item > a .menu-text {
		font-size: 13px;
		line-height: 1.5;
	}

	header.header-bar > .mini-widgets > a {
		margin-left: 5px;
		margin-right: 5px;
	}
	
	header.header-bar > .mini-widgets > a:last-of-type {
		margin-right: 0;
	}

}

@media only screen and (min-width: 1100px) and (max-width: 1240px){

	header.header-bar .branding img {
		height: 38px;
	}

}

@media only screen and (max-width: 1080px){

	.main-nav > li > a {
		padding-left: 7px !important;
		padding-right: 7px !important;
	}
	
}

@media only screen and (max-width: 991px){

	#main {
		min-height: calc(100vh - 229px);
	}

	body.error404 #main,
	body.search #main {
		min-height: calc(100vh - 398px);
	}

	body.admin-bar #main {
		min-height: calc(100vh - 261px);
	}

	body.admin-bar.error404 #main,
	body.admin-bar.search #main {
		min-height: calc(100vh - 430px);
	}

	#footer #bottom-bar .wf-container-bottom {
		align-items: flex-start !important;
	}

}

@media only screen and (max-width: 778px){

	.first-switch-logo-left.first-switch-menu-right:not(.second-switch-menu-left) .mobile-header-bar .mobile-navigation {
		margin-left: 0 !important;
	}

	.masthead .mobile-mini-widgets .near-logo-second-switch.show-on-second-switch {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	#main {
		min-height: calc(100vh - 228px);
		min-height: calc(100dvh - 229px);
	}

	body.admin-bar #main {
		min-height: calc(100vh - 274px);
		min-height: calc(100dvh - 275px);
	}

	body.admin-bar.error404 #main,
	body.admin-bar.search #main {
		min-height: calc(100vh - 444px);
	}

}

/**
 * FIX Ultimate content box hover
 */
.ult-content-box-container > .ult-content-box,
.ult-content-box-container > .ult-content-box-anchor > .ult-content-box {
	border-style: none;
}

/**
 * General
 */

.dt-btn {
	letter-spacing: 0.05em;
}

.mh-btn-outline {
	background: transparent !important;
	color: var(--mh-navy) !important;
	border-color: var(--mh-navy) !important;
}

.mh-btn-outline:hover {
	background: var(--mh-navy) !important;
	color: #fff !important;
}

.mh-section {
	padding-top: 70px !important;
	padding-bottom: 70px !important;
}
.mh-section-title .uvc-main-heading h2 {
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
	overflow-wrap: break-word;
	word-break: normal;
	text-transform: uppercase;
}
.mh-section-title .uvc-main-heading h2:after {
	content: "";
	display: block;
	width: 46px;
	height: 3px;
	background: var(--mh-gold);
	margin: 14px auto 0
}

.mh-section-title.mh-title-dark .uvc-main-heading h2 {
	color: var(--mh-gold) !important;
}
.mh-section-title.mh-services-intro .uvc-sub-heading {
	max-width: 760px;
	margin: auto;
	text-align: center;
	color: #c3cad3;
}

.mh-hero {
	background:var(--mh-bg);
}

.mh-hero .mh-hero-slider-col {
	position: absolute !important;
	z-index: 0;
	clip-path: polygon(56% 0%, 100% 0%, 100% 100%, 40% 100%);
}

.mh-hero .owl-carousel .dt-owl-item > div,
.mh-hero .owl-carousel .dt-owl-item figure,
.mh-hero .owl-carousel .dt-owl-item figure a {
	width: 100%;
}

.mh-hero .owl-carousel.mh-hero-slider .dt-owl-item img {
	width: 100%;
	height: 570px !important;
	object-fit: cover;
}

.mh-hero .owl-carousel .owl-dots {
	right: 44px !important;
	display: flex;
	gap: 10px;
	align-items: center;
	background: rgba(17,22,28,0.4);
	padding: 9px 13px;
	border-radius: 999px;
	backdrop-filter: blur(3px);
}

.mh-hero .owl-carousel .owl-dots button {
	margin: 0 !important;
	padding: 0 !important;
	width: 9px !important;
	height: 9px !important;
	border-radius: 50%;
	background: rgba(255,255,255,0.55);
	border: 1.5px solid rgba(255,255,255,0.85);
	transition: background 0.2s, transform 0.2s, border-color 0.2s;
}

.mh-hero .owl-carousel .owl-dots button:hover {
	background: rgba(255,255,255,0.9);
}

.mh-hero .owl-carousel .owl-dots button.active {
	background: var(--mh-gold);
	border-color: var(--mh-gold);
	transform: scale(1.3);
}

.mh-hero > div:not(.mh-hero-slider-col) > .vc_column-inner > .wpb_wrapper {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

.mh-hero-copy {
	margin: 48px 40px 0 !important;
	max-width: 70%;
}

.mh-hero-title {
	max-width: 560px;
}

.mh-hero-title .uvc-main-heading h1 {
	text-transform: uppercase;
	line-height: 1.18 !important;
}

.mh-hero-title .uvc-sub-heading {
	color: var(--mh-muted);
	line-height: 1.6 !important;
}

.mh-feature-strip {
	gap: 20px;
	padding: 26px 90px 30px 40px;
	width: 68%;
	min-width: 640px;
	background: #fff;
	clip-path: polygon(0 0, 100% 0, calc(100% - 67px) 100%, 0 100%);
}

.mh-feature-strip > div {
	max-width: calc(25% - 20px);
}

.mh-feature-text {
	margin-top: 12px;
	font-size: 14px;
	line-height: 20px;
	text-align: center;
	font-weight: 600;
	color: var(--mh-navy);
}

.mh-feature-strip .align-icon,
.mh-feature-strip .aio-icon-img img {
	height: 34px;
}

.mh-products {
	background: #fff;
}

.mh-usecases > .wpb_column > .vc_column-inner > .wpb_wrapper {
	display: flex;
	gap: 14px;
	align-items: center;
}

.mh-usecases .align-icon {
	height: 62px !important;
}

.mh-usecases .aio-icon-img {
	display: flex !important;
	align-items: center;
	justify-content: center;
	padding: 0 !important;
	width: 60px !important;
	height: 60px !important;
	border: 1px solid #ecdfbd !important;
}

.mh-usecases .aio-icon-img img {
	max-height: 28px;
}

.mh-usecases .uvc-main-heading h3 {
	line-height: 1.3 !important;
	font-weight: 900 !important;
}

.mh-usecases .uvc-sub-heading {
	line-height: 1.4 !important;
	color: var(--mh-muted);
}

.mh-stock-section {
	padding: 70px 40px !important;
	background: var(--mh-bg);
}

.mh-stock-card {
	background: #fff;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid var(--mh-border);
    box-shadow: 0 4px 18px rgba(28, 39, 51, 0.06);
}

.mh-stock-card > .wpb_column > .vc_column-inner {
	background: #fff;
	padding: 0 !important;
}

.mh-stock-card > .mh-stock-copy > .vc_column-inner {
	padding: 40px !important;
}

.mh-stock-media .mh-badge {
	position: absolute;
	top: 16px;
	left: 16px;
	background: var(--mh-gold);
	color: #fff;
	padding: 7px 14px;
	border-radius: 3px;
	text-transform: uppercase;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.05em;
}

.mh-stock-media > .vc_column-inner .wpb_wrapper,
.mh-stock-media > .vc_column-inner .wpb_single_image,
.mh-stock-media > .vc_column-inner .vc_single_image-wrapper {
	height: 100%;
}

.mh-stock-media img {
	width: 100%;
	height: 100%;
	min-height: 390px;
	object-fit: cover;
}

.mh-stock-copy .uvc-main-heading h3 {
	font-size: 22px;
	text-transform: uppercase;
}

.mh-stock-copy .uvc-sub-heading {
    font-size: 15px;
	color: var(--mh-muted);
    line-height: 1.6 !important;
}

.mh-stock-copy .uvc-heading:not(.mh-stock-more-info) .uvc-sub-heading ul {
	list-style: none !important;
	margin: 22px 0;
	padding: 0;
}

.mh-stock-copy .uvc-heading:not(.mh-stock-more-info) .uvc-sub-heading ul li {
	margin: 9px 0;
	font-size: 14px;
	font-weight: 600;
	color: var(--mh-text);
	line-height: 1.5 !important;
}

.mh-stock-copy .uvc-heading:not(.mh-stock-more-info) .uvc-sub-heading ul li:before {
	content: "✓";
	color: var(--mh-gold);
	font-weight: 900;
	margin-right: 10px;
}

.mh-stock-copy .mh-stock-more-info .uvc-main-heading div {
	font-size: 13px;
    color: var(--mh-muted);
    font-weight: 600;
	line-height: 1.6 !important;
}

.mh-stock-copy .mh-stock-more-info .uvc-sub-heading ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 12px 24px;
}

.mh-stock-copy .mh-stock-more-info .uvc-sub-heading a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.6 !important;
	transition: color 0.15s;
}

.mh-stock-copy .mh-stock-more-info .uvc-sub-heading a img {
	margin: 0 !important;
}

.mh-services,
.mh-process {
	background: var(--mh-navy);
	color: #fff;
}

.mh-services {
	padding-top: 70px;
}

.mh-process {
	padding-bottom: 70px;
}

.mh-process > .wpb_column:not(:last-of-type):before {
	content: "\f178";
	font-family: "Font Awesome 6 Free";
	font-weight: 700;
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	align-items: flex-end;
	width: 10px;
	height: 100%;
	max-height: 48px;
	color: var(--mh-gold);
}

.mh-process .uvc-main-heading div {
	font-size: 11px;
    font-weight: 700;
	line-height: 18px !important;
    text-transform: uppercase;
    color: #dfe4ea;
}

.mh-process .align-icon {
	margin-bottom: 14px;
}

.mh-process .align-icon,
.mh-process .aio-icon-img {
	display: flex !important;
	align-items: center;
	justify-content: center;
	height: 56px;
}

.mh-process .aio-icon-img img {
	height: 32px;
}

.mh-defense {
	padding-top: 70px;
	background: #faf6eb;
	border-top: 4px solid var(--mh-gold);
}

.mh-defense-body {
	background: #faf6eb;
	padding-top: 10px;
	padding-bottom: 40px;
}

.mh-eyebrow .ult-content-box {
	display: flex;
	gap: 10px;
	justify-content: center;
	align-items: center;
	margin-bottom: 12px;
}

.mh-eyebrow .align-icon,
.mh-eyebrow .aio-icon-img {
	height: 21px;
}

.mh-eyebrow .aio-icon-img img {
	height: 21px;
}

.mh-eyebrow .uvc-main-heading div {
	font-size: 13px;
	color: var(--mh-gold);
	text-transform: uppercase;
	line-height: 1.6 !important;
	font-weight: 800;
	letter-spacing: 0.1em;
}

.mh-defense-image img {
	border-radius: 10px;
	box-shadow: 0 24px 50px rgba(28,39,51,.22);
	max-height: 520px;
	object-fit: cover;
}

.mh-defense-copy {
	margin-left: 30px;
	font-size: 17px;
	line-height: 1.75 !important;
}

.mh-references {
	background: #fff;
}

.mh-ref-stat > .vc_column-inner > .wpb_wrapper {
	padding: 0 24px;
	border-right: 1px solid var(--mh-border);
}

.mh-ref-stat .ult-content-box {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 18px;
}

.mh-ref-stat .ult-content-box > div:first-of-type {
	margin-left: 10px;
}

.mh-ref-stat .align-icon,
.mh-ref-stat .aio-icon-img {
	height: 37px;
}

.mh-ref-stat .ult-content-box img {
	height: 37px;
}

.mh-ref-number .uvc-main-heading div {
    font-size: 45px;
    font-weight: 800;
    line-height: 37px !important;
	color: var(--mh-gold) !important
}

.mh-ref-stat .uvc-main-heading h3 {
	font-size: 13px !important;
	line-height: 1.6 !important;
	font-weight: 700 !important;
	text-transform: uppercase;
}

.mh-ref-stat .uvc-sub-heading {
    font-size: 12px;
    font-weight: 700 !important;
    text-transform: uppercase;
    line-height: 1.5;
}

.mh-ref-card img {
	margin-bottom: 14px;
	max-width: 100%;
	height: 220px;
	object-fit: cover;
	border-radius: 6px;
	transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.mh-ref-card:hover img {
	transform: scale(1.03);
	box-shadow: 0 12px 28px rgba(17,22,28,0.18);
}

.mh-ref-title .uvc-main-heading div {
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1.4;
}

/* Contact block design */
.mh-contact {
	padding:55px 40px
}

.mh-contact:before {
	content: "" !important;
	display: block !important;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(90deg, var(--mh-navy) 0%, var(--mh-navy) 30%, rgba(28,39,51,0.75) 50%, rgba(28,39,51,0.25) 68%, rgba(28,39,51,0) 82%);
}

.mh-contact-copy > .vc_column-inner {
	padding: 64px 0 !important
}

.mh-contact-copy .uvc-heading {
	max-width: 400px;
}

.mh-contact-copy .uvc-main-heading h2 {
	font-size: 24px !important;
	text-transform: uppercase;
}

.mh-contact-copy .uvc-sub-heading ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mh-contact-copy .uvc-sub-heading li {
	position: relative;
	padding-left: 50px;
	font-size: 18px;
	font-weight: 700;
	color: #c3cad3;
	line-height: 1.2em !important;
}

.mh-contact-copy .uvc-sub-heading li img {
	position: absolute;
	top: 50%;
	left: 0;
	margin: 0 !important;
	width: 34px;
	transform: translate(0, -50%);
}

.mh-contact-copy .uvc-sub-heading li em {
	font-size: 13px;
	font-weight: 400;
	font-style: normal;
}

.mh-contact-copy .uvc-sub-heading li:not(:first-child) {
	margin-top: 22px;
}

.mh-contact-copy a {
	color: var(--mh-gold)
}

.mh-contact-form > .vc_column-inner > .wpb_wrapper {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

.mh-contact-form .ult-content-box {
	margin-right: 100px;
	width: 100%;
	max-width: 460px;
	background: rgba(255,255,255,.97);
	border-radius: 12px;
	padding: 32px 30px !important;
	box-shadow: 0 24px 60px rgba(0,0,0,.3) !important;
}

.mh-contact-form .ult-content-box h3 {
	font-size: 17px;
	text-transform: uppercase;
}

.mh-contact-form .ult-content-box .wpcf7-form > div {
	margin-bottom: 16px !important;
}

.mh-contact-form .ult-content-box p {
	margin-bottom: 0 !important;
}

.mh-contact-form .ult-content-box label {
	display: block;
	margin-bottom: 6px;
	font-size: 0.75rem;
    font-weight: 700;
	color: var(--mh-muted);
	text-transform: uppercase;
}

.mh-contact-form .ult-content-box input,
.mh-contact-form .ult-content-box textarea {
	margin-bottom: 0 !important;
	font-size: 14px !important;
	line-height: 19px !important;
    resize: none;
}

.mh-contact-form .ult-content-box input:focus,
.mh-contact-form .ult-content-box textarea:focus {
	outline: none;
	border-color: var(--mh-gold);
}

.mh-contact-form .ult-content-box .wpcf7-submit {
	padding: 10px 18px !important;
	width: 100%;
	font-size: 12px !important;
	line-height: 1 !important;
	border-radius: 3px !important;
}

.mh-contact-form .ult-content-box .wpcf7-spinner {
	position: absolute;
}

@media (min-width:992px) and (max-width:1280px) {
	.mh-hero .owl-carousel.mh-hero-slider .dt-owl-item img {
		height: 670px !important;
	}
	.mh-hero .owl-carousel .owl-dots {
		top: calc(100% - 144px) !important;
	}
}

@media (max-width:1199px) {
	.mh-contact-form .ult-content-box {
		margin-right: 0;
	}
}

@media (max-width:991px) {
	.mh-hero .mh-hero-slider-col {
		position: relative !important;
		clip-path: none;
	}
	.mh-hero .owl-carousel.mh-hero-slider .dt-owl-item img {
		height: 430px !important;
	}
	.mh-feature-strip {
		padding: 26px 40px 30px 40px;
		width: 100%;
		min-width: 0;
		clip-path: none;
	}
	.mh-feature-strip > div {
		max-width: calc(50% - 10px);
	}
	.mh-reference-grid > .wpb_column {
		margin-bottom: 24px !important;
	}
	.mh-ref-stat > .vc_column-inner > .wpb_wrapper {
		padding-bottom: 24px;
		border-right: 0;
		border-bottom: 1px solid var(--mh-border);
	}
}

@media (max-width:767px) {
	section.mh-section,
	.mh-feature-strip,
	.mh-stock-section,
	.mh-services,
	.mh-process,
	.mh-defense {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
	.mh-section-title .uvc-main-heading h2 {
		font-size: 22px;
		line-height: 36px;
	}
	.mh-hero-copy {
		margin: 45px 20px 20px !important;
		max-width: none;
	}
	.mh-hero .owl-carousel.mh-hero-slider .dt-owl-item img {
		height: 320px !important;
	}
	.mh-hero .owl-carousel .owl-dots {
		left: 50%;
		right: auto !important;
		transform: translate(-50%, 0);
	}
	.mh-hero-copy .dt-btn:not(:last-of-type) {
		margin-bottom: 14px;
	}
	.mh-stock-card > .mh-stock-copy > .vc_column-inner {
		padding: 26px 20px !important;
	}
	.mh-stock-media img {
		min-height: 0;
	}
	.mh-contact{
		padding:35px 20px
	}
	.mh-contact:before {
		background: linear-gradient(90deg, var(--mh-navy) 0%, var(--mh-navy) 10%, rgba(28,39,51,0.75) 80%);
	}
	.mh-contact-copy > .vc_column-inner {
		padding: 64px 20px !important
	}	
	.mh-contact-form > .vc_column-inner {
		padding-left: 0;
		padding-right: 0;
	}
	.mh-contact-form > .vc_column-inner > .wpb_wrapper {
		align-items: center;
	}
	.mh-contact-copy .uvc-main-heading h2 {
		font-size: 20px !important;
	}
	.mh-process {
		row-gap: 30px;
	}
	.mh-process > .wpb_column:not(:last-of-type):before {
		display: none;
	}
	.mh-defense-body > div {
		margin: 0 5px !important;
	}
	.mh-defense-copy {
		margin-left: 0;
	}
	.mh-contact-form .ult-content-box {
		padding: 32px 20px !important;
	}
}

/* =========================================================
   MODULAR HOUSES - PRODUCT GRID
   ========================================================= */

.mh-products-grid {
	display: grid;
	grid-template-columns: repeat(var(--mh-grid-columns, 5), minmax(0, 1fr));
	gap: 22px;
	width: 100%;
}

/* Card */

.mh-product-card {
	border: 1px solid #dfe3e8;
	border-radius: 6px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	background: #fff;
	transition: box-shadow 0.2s ease;
}

.mh-product-card:hover {
	box-shadow: 0 8px 24px rgba(28, 39, 51, 0.1);
}

/* Image */

.mh-product-image {
	display: block;
	overflow: hidden;
}

.mh-product-image img {
	display: block;
	width: 100%;
	height: 220px;
	object-fit: cover;
	transition: transform 0.35s ease;
}

.mh-product-card:hover .mh-product-image img {
	transform: scale(1.03);
}

/* Body */

.mh-product-body {
	padding: 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	flex: 1;
	text-align: center;
}

/* Title */

.mh-product-title {
	font-size: 0.92rem;
	font-weight: 700;
	color: var(--mh-navy);
	text-transform: uppercase;
	line-height: 1.35;
	min-height: 2.7em;
	margin: 0;
}

/* Button */

.mh-product-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	margin-top: auto;

	padding: 10px 18px;

	border: 2px solid var(--mh-gold);
	border-radius: 4px;

	color: var(--mh-gold);

	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.05em;

	text-transform: uppercase;
	text-decoration: none;

	transition:
		background-color 0.2s ease,
		color 0.2s ease;
}

.mh-product-button:hover {
	background: var(--mh-gold);
	color: #fff;
}

/* Responsive */

@media (max-width: 1180px) {

	.mh-products-grid {
		grid-template-columns: repeat(
			min(var(--mh-grid-columns, 5), 3),
			minmax(0, 1fr)
		);
	}

}

@media (max-width: 760px) {

	.mh-products-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}

@media (max-width: 520px) {

	.mh-products-grid {
		grid-template-columns: 1fr;
	}

}

/* =========================================================
   MODULAR CONTENT MODAL
   ========================================================= */

body.mh-modal-open {
	overflow: hidden;
}

.mh-modal {
	display: none;

	position: fixed;
	inset: 0;

	z-index: 99999;

	align-items: center;
	justify-content: center;

	padding: 32px;
}

.mh-modal.open {
	display: flex;
}

/* Dark backdrop */

.mh-modal-backdrop {
	position: absolute;
	inset: 0;

	background: rgba(17, 22, 28, 0.88);
}

/* Modal */

.mh-modal-inner {
	position: relative;
	z-index: 2;

	width: min(1440px, 96vw);
	max-height: 94vh;

	background: #fff;

	border-radius: 12px;

	overflow-y: auto;
	overscroll-behavior: contain;

	box-shadow: 0 30px 70px rgba(0, 0, 0, 0.4);
}

/* Close */

.mh-modal-close {
	position: absolute;

	top: 14px;
	right: 14px;

	z-index: 100;

	width: 38px;
	height: 38px;

	padding: 0;

	border: 0;
	border-radius: 50%;

	background: rgba(17, 22, 28, 0.5);
	color: #fff;

	cursor: pointer;

	display: flex;
	align-items: center;
	justify-content: center;

	transition: background 0.15s ease;
}

.mh-modal-close:hover {
	background: rgba(17, 22, 28, 0.8);
}

/* Content */

.mh-modal-content {
	width: 100%;
}

.mh-modal-content > .vc_row,
.mh-modal-content .mh-modal-gallery .wpb_text_column {
	margin: 0 !important;
}

.mh-modal-content .mh-modal-gallery > .vc_column-inner > .wpb_wrapper,
.mh-modal-content .mh-modal-gallery > .vc_column-inner > .wpb_wrapper > .wpb_text_column,
.mh-modal-content .mh-modal-gallery > .vc_column-inner > .wpb_wrapper > .wpb_text_column > .wpb_wrapper {
	height: 100%;
}

.mh-modal-content > .vc_row > .vc_column_container > .vc_column-inner {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.mh-modal-desc {
	padding: 48px 36px 48px 44px;
}

.mh-modal-eyebrow .uvc-main-heading div {
	font-size: 12px;
	line-height: 1.6 !important;
    font-weight: 700;
    color: var(--mh-gold);
    text-transform: uppercase;
}

.mh-modal-title .uvc-main-heading h3 {
	font-size: 24px !important;
	line-height: 1.2 !important;
	text-transform: uppercase;
}

.mh-modal-text {
	margin-bottom: 30px;
	font-size: 14px;
    color: var(--mh-muted);
    line-height: 1.75 !important;
}

.mh-modal-link {
	margin-bottom: 22px;
}

.mh-modal-link span {
	font-size: 13px;
	font-weight: 700;
	color: var(--mh-navy);
	line-height: 1.3 !important;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.mh-modal-image {
	margin-bottom: 26px;
}

/* Loading */

.mh-modal-loading {
	padding: 80px 40px;

	text-align: center;

	font-size: 0.9rem;
	font-weight: 600;

	color: #69737e;
}

.mh-modal-error {
	padding: 80px 40px;
	text-align: center;
}

/* =========================================================
   MODULAR HOUSES - IMAGE MODAL
   ========================================================= */

.mh-modal-desc .wpb_single_image img {
	cursor: zoom-in;
}

/* Full-screen image layer above the product modal */

.mh-image-modal {
	display: none;

	position: fixed;
	inset: 0;

	z-index: 100100;

	align-items: center;
	justify-content: center;

	padding: 30px;

	background: rgba(10, 14, 18, 0.94);

	cursor: zoom-out;
	box-sizing: border-box;
}

.mh-image-modal.open {
	display: flex;
}

.mh-image-modal-image {
	display: block;

	max-width: 96vw;
	max-height: 94vh;

	width: auto;
	height: auto;

	object-fit: contain;

	box-shadow: 0 20px 70px rgba(0, 0, 0, 0.55);

	cursor: zoom-out;
}

/* Mobile */

@media (max-width: 991px) {

	.mh-modal-content > .vc_row {
		flex-direction: column-reverse;
	}

	.mh-modal-desc {
		padding: 26px 24px 40px;
	}

}

@media (max-width: 760px) {

	.mh-modal {
		padding: 0;
	}

	.mh-modal-inner {
		width: 100%;
		height: 100%;
		max-height: none;

		border-radius: 0;
	}

	.mh-modal-close {
		width: 36px;
		height: 36px;

		top: 12px;
		right: 12px;
	}

	.mh-image-modal {
		padding: 12px;
	}

	.mh-image-modal-image {
		max-width: 100%;
		max-height: calc(100vh - 24px);
		max-height: calc(100dvh - 24px);
	}

}

/* =========================================================
   ACF PRODUCT GALLERY
   ========================================================= */

.mh-gallery {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 20px;
	width: 100%;
	height: 100%;
	min-height: 92vh;
	background: var(--mh-navy);
	box-sizing: border-box;
}

.mh-gallery-frame {
	position: relative;
	width: 100%;
}

.mh-gallery-image {
	display: block;
	width: 100%;
	height: 50vh;
	max-height: 640px;
	object-fit: cover;

	border-radius: 6px;

	background: #0e1318;
}

/* Navigation */

.mh-gallery-nav {
	position: absolute;
	top: 50%;

	width: 44px;
	height: 44px;

	transform: translateY(-50%);

	display: flex;
	align-items: center;
	justify-content: center;

	padding: 0;

	border: none;
	border-radius: 50%;

	background: rgba(255, 255, 255, 0.12);
	color: #fff;

	cursor: pointer;

	transition: background 0.15s ease;
}

.mh-gallery-nav:hover {
	background: rgba(255, 255, 255, 0.25);
}

.mh-gallery-prev {
	left: 14px;
}

.mh-gallery-next {
	right: 14px;
}

/* Thumbnails */

.mh-gallery-thumbs {
	display: grid;
	grid-template-columns:
		repeat(auto-fill, minmax(76px, 1fr));

	gap: 6px;

	width: 100%;

	margin-top: 14px;
	padding: 2px;

	overflow-y: auto;
	order: 3;
}

.mh-gallery-thumb {
	padding: 0;

	border: 2px solid transparent;
	border-radius: 4px;

	overflow: hidden;

	cursor: pointer;

	background: #0e1318;

	aspect-ratio: 4 / 3;

	opacity: 0.65;

	transition:
		opacity 0.15s ease,
		border-color 0.15s ease;
}

.mh-gallery-thumb:hover {
	opacity: 1;
}

.mh-gallery-thumb.active {
	border-color: var(--mh-gold);
	opacity: 1;
}

.mh-gallery-thumb img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
}

/* Counter */

.mh-gallery-counter {
	margin-top: 14px;

	color: #c3cad3;

	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.03em;

	text-align: center;
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 991px) {

	.mh-gallery {
		padding: 0;
		min-height: 0;
	}

}

@media (max-width: 760px) {

	.mh-gallery-image {
		height: 42vh;

		border-radius: 0;
	}

	.mh-gallery-nav {
		width: 38px;
		height: 38px;
	}

	.mh-gallery-thumbs {
		display: flex;

		gap: 6px;

		width: calc(100% - 24px);
		max-height: none;

		margin-top: 8px;
		padding: 0 12px 12px;

		overflow-x: auto;
		overflow-y: hidden;

		-webkit-overflow-scrolling: touch;
	}

	.mh-gallery-thumb {
		flex: 0 0 72px;
	}

	.mh-gallery-counter {
		margin-top: 0;
	}

}
