:root {
	--fmtpro-shadow-sm: 0 0.75rem 2rem rgba(15, 23, 42, 0.08);
	--fmtpro-shadow-md: 0 1rem 2.75rem rgba(15, 23, 42, 0.12);
}

body {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.wp-site-blocks {
	min-height: 100vh;
}

.fmtpro-site-header {
	position: sticky;
	top: 0;
	z-index: 1030;
}

.fmtpro-brand .custom-logo-link,
.fmtpro-brand .site-logo {
	flex: 0 0 auto;
}

.fmtpro-brand-wordmark {
	margin: 0;
	line-height: 0;
}

.fmtpro-brand-wordmark a {
	display: block;
	width: 150px;
	max-width: 100%;
	aspect-ratio: 480 / 225;
	background: url("../img/FMT_logo_vector.svg") center / contain no-repeat;
	color: transparent;
	font-size: 0;
	line-height: 0;
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
}

.fmtpro-primary-nav__list {
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem;
	justify-content: flex-end;
	margin: 0;
	padding: 0;
	list-style: none;
}

.fmtpro-primary-nav__item {
	margin: 0;
	position: relative;
}

.fmtpro-primary-nav__link {
	display: inline-block;
	padding: 0.5rem 0;
	color: var(--bs-body-color);
	font-weight: 500;
	text-decoration: none;
}

.fmtpro-primary-nav__toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
}

.fmtpro-primary-nav {
	position: relative;
}

.fmtpro-primary-nav__toggle-icon {
	display: inline-flex;
	flex-direction: column;
	gap: 0.22rem;
	width: 1rem;
}

.fmtpro-primary-nav__toggle-line {
	display: block;
	width: 100%;
	height: 2px;
	border-radius: 999px;
	background: currentColor;
	transform-origin: center;
	transition: transform 0.18s ease, opacity 0.18s ease;
}

.fmtpro-primary-nav__collapse {
	width: auto;
}

.fmtpro-primary-nav__link:hover,
.fmtpro-primary-nav__link:focus,
.fmtpro-primary-nav__link.is-active {
	color: var(--bs-primary);
}

.fmtpro-primary-nav__link.is-active {
	font-weight: 600;
}

.fmtpro-primary-nav__link--has-children::after {
	content: "";
	display: inline-block;
	width: 0.45rem;
	height: 0.45rem;
	margin-left: 0.55rem;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg) translateY(-0.15rem);
	transform-origin: center;
	transition: transform 0.18s ease;
}

.fmtpro-primary-nav__submenu {
	position: absolute;
	top: 100%;
	left: 50%;
	z-index: 1040;
	min-width: 16rem;
	margin: 0;
	padding: 0.75rem 0;
	list-style: none;
	background: #fff;
	border: 1px solid rgba(15, 23, 42, 0.08);
	border-radius: 0.75rem;
	box-shadow: var(--fmtpro-shadow-sm);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translate(-50%, 0.75rem);
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
}

.fmtpro-primary-nav__item.has-children:hover > .fmtpro-primary-nav__submenu,
.fmtpro-primary-nav__item.has-children:focus-within > .fmtpro-primary-nav__submenu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translate(-50%, 0);
}

.fmtpro-primary-nav__item.has-children:hover > .fmtpro-primary-nav__link--has-children::after,
.fmtpro-primary-nav__item.has-children:focus-within > .fmtpro-primary-nav__link--has-children::after {
	transform: rotate(-135deg) translateY(0.05rem);
}

.fmtpro-primary-nav.is-open .fmtpro-primary-nav__toggle-line:nth-child(1) {
	transform: translateY(0.41rem) rotate(45deg);
}

.fmtpro-primary-nav.is-open .fmtpro-primary-nav__toggle-line:nth-child(2) {
	opacity: 0;
}

.fmtpro-primary-nav.is-open .fmtpro-primary-nav__toggle-line:nth-child(3) {
	transform: translateY(-0.41rem) rotate(-45deg);
}

.fmtpro-primary-nav__submenu-item {
	margin: 0;
}

.fmtpro-primary-nav__submenu-link {
	display: block;
	padding: 0.55rem 1rem;
	color: var(--bs-body-color);
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.35;
	text-decoration: none;
}

.fmtpro-primary-nav__submenu-link:hover,
.fmtpro-primary-nav__submenu-link:focus,
.fmtpro-primary-nav__submenu-link.is-active {
	color: var(--bs-primary);
	background: rgba(10, 101, 181, 0.08);
}

.fmtpro-breadcrumbs-bar {
	border-top: 1px solid rgba(15, 23, 42, 0.08);
	background: rgba(255, 255, 255, 0.96);
}

.fmtpro-breadcrumbs {
	padding: 0.75rem 0;
}

.fmtpro-breadcrumbs__list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.9rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.fmtpro-breadcrumbs__item {
	position: relative;
	display: inline-flex;
	align-items: center;
	color: var(--wp--preset--color--muted);
	font-size: 0.875rem;
	line-height: 1.4;
}

.fmtpro-breadcrumbs__item + .fmtpro-breadcrumbs__item::before {
	content: "";
	display: inline-block;
	width: 0.4rem;
	height: 0.4rem;
	margin-right: 0.55rem;
	border-top: 1.5px solid currentColor;
	border-right: 1.5px solid currentColor;
	transform: rotate(45deg);
	opacity: 0.55;
}

.fmtpro-breadcrumbs__link {
	color: inherit;
	text-decoration: none;
}

.fmtpro-breadcrumbs__link:hover,
.fmtpro-breadcrumbs__link:focus {
	color: var(--bs-primary);
}

.fmtpro-breadcrumbs__current {
	color: var(--wp--preset--color--contrast);
	font-weight: 600;
}

.fmtpro-hero {
	position: relative;
	padding: 7rem 0;
	background-image: url("../img/hero-industrial.webp");
	background-position: center;
	background-size: cover;
	color: #fff;
}

.fmtpro-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.62);
}

.eyebrow {
	margin-bottom: 1rem;
	color: var(--bs-primary);
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.eyebrow-light {
	color: #fff;
}

.fmtpro-hero .container {
	position: relative;
	z-index: 1;
}

.fmtpro-hero h1,
.fmtpro-hero p,
.fmtpro-hero a {
	position: relative;
}

.fmtpro-hero .wp-block-button.btn > .wp-block-button__link {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent !important;
	box-shadow: none;
	color: inherit;
	font: inherit;
	line-height: inherit;
}

.fmtpro-hero .wp-block-button.btn > .wp-block-button__link:hover,
.fmtpro-hero .wp-block-button.btn > .wp-block-button__link:focus {
	background: transparent !important;
	color: inherit;
}

.trust-card,
.content-card,
.product-card,
.partner-card,
.service-card,
.contact-card,
.cta-band,
.fmtpro-solution-panel,
.fmtpro-post-card,
.fmtpro-media-card {
	border: 1px solid rgba(15, 23, 42, 0.08);
	border-radius: 1rem;
	background: #fff;
	box-shadow: var(--fmtpro-shadow-sm);
}

.trust-stat {
	margin-bottom: 0.75rem;
	color: var(--bs-primary);
	font-size: clamp(2rem, 4vw, 3.25rem);
	font-weight: 800;
	line-height: 1;
}

.content-card,
.product-card,
.partner-card {
	display: block;
	color: inherit;
}

.content-card-image {
	display: block;
	width: 100%;
	height: 240px;
	margin-bottom: 1.25rem;
	border-radius: 0.85rem;
	object-fit: cover;
}

.content-card p:last-child,
.product-card p:last-child,
.partner-card p:last-child,
.service-card p:last-child,
.contact-card p:last-child {
	margin-bottom: 0;
}

.product-card:hover,
.product-card:focus,
.partner-card:hover,
.partner-card:focus,
.content-card:hover,
.content-card:focus-within {
	box-shadow: var(--fmtpro-shadow-md);
	transform: translateY(-2px);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.product-card .btn-link {
	color: var(--bs-primary);
	font-weight: 600;
	text-decoration: none;
}

.fmtpro-homepage-dynamic__cta {
	color: var(--bs-primary);
	font-weight: 600;
	text-decoration: none;
}

.product-card .btn-link:hover {
	color: var(--bs-primary-text-emphasis);
}

.product-card .fmtpro-product-card__media {
	aspect-ratio: 16 / 10;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	margin: 0 0 1rem;
	border-radius: 0.85rem;
	background: #edf2f7;
}

.product-card .fmtpro-product-card__media a,
.product-card .fmtpro-product-card__media img {
	display: block;
	width: 100%;
	height: 100%;
}

.product-card .fmtpro-product-card__media img {
	object-fit: contain;
	object-position: center;
	padding: 0.5rem;
}

.fmtpro-homepage-dynamic__cta:hover,
.fmtpro-homepage-dynamic__cta:focus {
	color: var(--bs-primary-text-emphasis);
}

.fmtpro-manufacturer-title-image {
	display: flex;
	align-items: center;
	justify-content: center;
	width: min(100%, 18rem);
	height: clamp(5.5rem, 12vw, 7.5rem);
	margin: 0 auto 1.5rem;
	padding: 1rem 1.5rem;
	border-radius: 1rem;
	background: #fff;
	box-shadow: var(--fmtpro-shadow-sm);
}

.fmtpro-manufacturer-title-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

.partner-card {
	height: 100%;
	text-align: center;
	text-decoration: none;
}

.partner-logo {
	display: block;
	max-width: 100%;
	max-height: 56px;
	width: auto;
	height: auto;
	margin: 0 auto;
}

.section-service {
	background: linear-gradient(180deg, rgba(214, 225, 232, 0.35), rgba(255, 255, 255, 0));
}

.cta-band {
	border-color: rgba(13, 110, 253, 0.18);
	background: var(--bs-primary);
	color: #fff;
}

.cta-band a {
	color: #fff;
}

.cta-band .btn-light {
	color: var(--bs-dark);
}

.fmtpro-industry-term-title {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.85rem;
	flex-wrap: wrap;
}

.fmtpro-industry-term-title__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3.25rem;
	height: 3.25rem;
	border-radius: 0.9rem;
	/*background: rgba(255, 255, 255, 0.12);*/
	/*color: #fff;*/
}

.fmtpro-industry-term-title__icon svg,
.fmtpro-industry-term-title__icon img {
	display: block;
	width: 1.75rem;
	height: 1.75rem;
	object-fit: contain;
}

.fmtpro-industry-related-product-link {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	min-height: 100%;
	border: 1px solid rgba(15, 23, 42, 0.08);
	border-radius: 0.75rem;
	background: #fff;
	box-shadow: var(--fmtpro-shadow-sm);
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.fmtpro-industry-related-product-link:hover,
.fmtpro-industry-related-product-link:focus {
	color: var(--bs-primary);
	box-shadow: var(--fmtpro-shadow-md);
	transform: translateY(-2px);
	transition: box-shadow 0.2s ease, transform 0.2s ease, color 0.2s ease;
}

.fmtpro-industry-related-product-link__media {
	aspect-ratio: 16 / 10;
	overflow: hidden;
	margin: 0 0 0.5rem;
	border-radius: 0.55rem;
	background: #edf2f7;
}

.fmtpro-industry-related-product-link__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fmtpro-industry-related-product-link__title {
	display: block;
	font-size: 0.82rem;
	font-weight: 700;
	line-height: 1.25;
	text-align: left;
}

.fmtpro-industry-related-product-link__excerpt {
	display: -webkit-box;
	margin-top: 0.35rem;
	overflow: hidden;
	color: var(--bs-secondary-color);
	font-size: 0.72rem;
	line-height: 1.35;
	text-align: left;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.fmtpro-feature-list {
	margin: 1rem 0 0;
	padding-left: 1.2rem;
	color: var(--bs-secondary-color);
}

.fmtpro-feature-list li + li {
	margin-top: 0.5rem;
}

.fmtpro-solution-panel {
	background: #0f172a;
	color: #fff;
}

.fmtpro-solution-panel h2,
.fmtpro-solution-panel h3,
.fmtpro-solution-panel p,
.fmtpro-solution-panel a {
	color: #fff;
}

.fmtpro-contact-list {
	margin: 0 0 1rem;
	padding: 0;
	list-style: none;
}

.fmtpro-contact-list li + li {
	margin-top: 0.35rem;
}

.fmtpro-contact-detail {
	margin-bottom: 0.75rem;
	color: var(--bs-secondary-color);
}

.fmtpro-contact-detail a {
	color: inherit;
	text-decoration: none;
}

.fmtpro-contact-detail a:hover {
	text-decoration: underline;
}

.fmtpro-contact-role {
	margin-top: 0;
	margin-bottom: 0.85rem;
	color: var(--bs-primary);
	font-weight: 600;
}

.fmtpro-media-card {
	overflow: hidden;
}

.fmtpro-media-card-image {
	display: block;
	width: 100%;
	height: 240px;
	object-fit: cover;
}

.fmtpro-media-caption {
	padding: 1rem 1.1rem 1.15rem;
	color: var(--bs-secondary-color);
}

.fmtpro-single-featured-image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 1rem;
	box-shadow: var(--fmtpro-shadow-sm);
}

.wp-block-post-terms.eyebrow,
.wp-block-post-terms.eyebrow a {
	color: var(--bs-primary);
	font-size: 0.875rem;
	font-weight: 700;
	text-decoration: none;
	text-transform: uppercase;
}

.fmtpro-post-navigation a {
	color: var(--bs-primary);
	font-weight: 600;
	text-decoration: none;
}

.fmtpro-post-navigation a:hover {
	color: var(--bs-primary-text-emphasis);
}

.fmtpro-seo-section {
	background:
		radial-gradient(circle at top right, rgba(13, 110, 253, 0.12), transparent 35%),
		#eef4fb;
}

.fmtpro-site-footer {
	background: var(--wp--preset--color--footer);
	color: #b7c0c8;
}

.fmtpro-site-footer a,
.fmtpro-site-footer .text-white {
	color: #fff;
}

.fmtpro-footer-links,
.fmtpro-footer-links ul,
.fmtpro-site-footer .wp-block-page-list,
.fmtpro-site-footer .wp-block-categories-list {
	margin: 0;
	padding-left: 0;
	list-style: none;
}

.fmtpro-site-footer .wp-block-page-list li,
.fmtpro-site-footer .wp-block-categories-list li {
	margin: 0;
}

.fmtpro-footer-links li + li,
.fmtpro-footer-contact p + p {
	margin-top: 0.65rem;
}

.fmtpro-site-footer hr {
	border-color: rgba(255, 255, 255, 0.12);
	opacity: 1;
}

.fmtpro-child-link-card {
	overflow: hidden;
	border-radius: 0.9rem;
}

.fmtpro-product-category-children {
	background: linear-gradient(180deg, rgba(248, 250, 252, 0.9) 0%, rgba(248, 250, 252, 0) 100%);
}

.fmtpro-child-link-card__media {
	aspect-ratio: 16 / 10;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	margin-bottom: 0.85rem !important;
	border-radius: 0.7rem;
	background: #edf2f7;
}

.fmtpro-child-link-card__image {
	display: block;
	width: 100%;
	height: auto;
	object-fit: fill;
	object-position: center;
}

.fmtpro-child-link-card__icon,
.fmtpro-child-link-card__icon-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #0f172a;
}

.fmtpro-child-link-card__icon svg,
.fmtpro-child-link-card__icon-badge svg,
.fmtpro-child-link-card__icon img,
.fmtpro-child-link-card__icon-badge img {
	display: block;
	object-fit: contain;
}

.fmtpro-child-link-card__icon--media {
	width: 100%;
	height: 100%;
	background: #eef3f8;
}

.fmtpro-child-link-card__icon--media svg,
.fmtpro-child-link-card__icon--media img {
	width: 4rem;
	height: 4rem;
}

.fmtpro-child-link-card__icon-badge {
	width: 2.75rem;
	height: 2.75rem;
	margin-bottom: 0.85rem;
	border-radius: 0.85rem;
	background: #eef3f8;
}

.fmtpro-child-link-card__icon-badge svg,
.fmtpro-child-link-card__icon-badge img {
	width: 1.5rem;
	height: 1.5rem;
}

.fmtpro-child-link-card .h4,
.fmtpro-child-link-card .h5 {
	margin-bottom: 0;
	font-size: 1rem;
	line-height: 1.35;
}

.fmtpro-child-link-card--compact {
	gap: 0.15rem;
	padding: 0.75rem !important;
}

.fmtpro-child-link-card--compact .fmtpro-child-link-card__media {
	aspect-ratio: 16 / 9;
	max-height: 7rem;
	margin-bottom: 0.5rem !important;
	border-radius: 0.55rem;
	background: #f8fafc;
}

.fmtpro-child-link-card--compact .fmtpro-child-link-card__image {
	object-fit: contain;
	padding: 0.35rem;
}

.fmtpro-child-link-card--compact .h6 {
	margin-bottom: 0;
	font-size: 0.88rem;
	line-height: 1.3;
}

.fmtpro-child-link-card p {
	margin-top: 0.7rem;
	color: var(--bs-secondary-color);
	font-size: 0.95rem;
	line-height: 1.5;
}

.fmtpro-child-link-card__empty {
	margin: 0;
	padding: 1rem 1.25rem;
	border: 1px dashed rgba(15, 23, 42, 0.16);
	border-radius: 0.75rem;
	color: var(--bs-secondary-color);
}

@media (max-width: 991.98px) {
	.fmtpro-primary-nav {
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		gap: 0.75rem;
	}

	.fmtpro-primary-nav__collapse[hidden] {
		display: none !important;
	}

	.fmtpro-primary-nav__collapse {
		position: absolute;
		top: calc(100% + 0.75rem);
		right: 0;
		z-index: 1040;
		width: min(22rem, calc(100vw - 2rem));
		padding: 0.875rem 1rem;
		background: #fff;
		border: 1px solid rgba(15, 23, 42, 0.08);
		border-radius: 0.75rem;
		box-shadow: var(--fmtpro-shadow-sm);
	}

	.fmtpro-primary-nav__list {
		flex-direction: column;
		justify-content: flex-start;
		gap: 0.35rem;
		width: 100%;
		padding-top: 0.25rem;
	}

	.fmtpro-primary-nav__item {
		width: 100%;
	}

	.fmtpro-primary-nav__link {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
	}

	.fmtpro-primary-nav__submenu {
		position: static;
		left: auto;
		min-width: 0;
		margin-top: 0.35rem;
		padding: 0.35rem 0 0 0.9rem;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: none;
		background: transparent;
	}

	.fmtpro-primary-nav__submenu-link {
		padding: 0.35rem 0;
		background: transparent;
	}
}

@media (min-width: 992px) {
	.fmtpro-primary-nav {
		width: auto;
	}

	.fmtpro-primary-nav__collapse[hidden] {
		display: block !important;
	}
}

@media (max-width: 781px) {
	.fmtpro-hero {
		padding: 5rem 0;
	}
}
