/*
 Theme Name:   Woodmart Child
 Description:  Woodmart Child Theme
 Author:       XTemos
 Author URI:   http://xtemos.com
 Template:     woodmart
 Version:      1.0.0
 Text Domain:  woodmart
*/

:root {
	--ttf-navy: #0B1F33;
	--ttf-blue: #1769E0;
	--ttf-offwhite: #F5F7F8;
	--ttf-steel: #607080;
	--ttf-hairline: #D9E0E5;
	--ttf-graphite: #111820;
	--ttf-container: 1440px;
	--ttf-section-y: 128px;
	/* Align WoodMart container token with site width */
	--wd-container-w: 1440px;
	/* Mobile header bar matches desktop height (burger/logo centering) */
	--wd-header-general-sm-h: 88px;
}

/* Foundry services page */
body.page-id-2969 .page-title {
	display: none;
}

table td, table th {
	border: 1px solid var(--brdcolor-gray-300);
}
.fl-rich-text, .table_wrap {
	display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
}
body.page-id-2969 .site-content {
	margin-bottom: 0;
}

.ttf-foundry-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 82% 18%, rgba(38, 139, 196, .3), transparent 32%),
		linear-gradient(118deg, #051b2a 0%, #082f49 60%, #0a4566 100%);
}

.ttf-foundry-hero::after {
	position: absolute;
	top: -180px;
	right: -120px;
	width: 520px;
	height: 520px;
	border: 1px solid rgba(255, 255, 255, .08);
	border-radius: 50%;
	box-shadow: 0 0 0 70px rgba(255, 255, 255, .025), 0 0 0 140px rgba(255, 255, 255, .018);
	content: "";
}

.ttf-foundry-hero-inner {
	position: relative;
	z-index: 1;
	width: min(100% - 40px, 1380px);
	margin: 0 auto;
	padding: clamp(76px, 9vw, 148px) 0 clamp(72px, 8vw, 126px);
}

.ttf-foundry-kicker,
.ttf-foundry-section-label {
	margin-bottom: 18px;
	color: #2386bf;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .13em;
	line-height: 1.4;
	text-transform: uppercase;
}

.ttf-foundry-hero .ttf-foundry-kicker {
	color: #77c6ef;
}

.ttf-foundry-hero h1 {
	max-width: 920px;
	margin-bottom: 24px;
	color: #fff;
	font-size: clamp(44px, 5.6vw, 88px);
	line-height: .98;
	letter-spacing: -.045em;
}

.ttf-foundry-hero p {
	max-width: 820px;
	margin-bottom: 34px;
	color: rgba(255, 255, 255, .76);
	font-size: clamp(18px, 1.5vw, 23px);
	line-height: 1.6;
}

.ttf-foundry-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
}

.ttf-foundry-tags span {
	padding: 9px 13px;
	border: 1px solid rgba(255, 255, 255, .19);
	border-radius: 3px;
	background: rgba(255, 255, 255, .055);
	color: rgba(255, 255, 255, .88);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .04em;
}

.ttf-foundry-intro {
	padding-top: clamp(64px, 7vw, 108px);
	padding-bottom: clamp(38px, 4vw, 58px);
}

.ttf-foundry-intro h2,
.ttf-foundry-quality h2,
.ttf-foundry-cta h2 {
	margin-bottom: 0;
	font-size: clamp(31px, 3.5vw, 52px);
	line-height: 1.08;
	letter-spacing: -.028em;
}

.ttf-foundry-lead {
	margin: 7px 0 0;
	color: #526571;
	font-size: 18px;
	line-height: 1.75;
}

.ttf-foundry-capabilities {
	padding-bottom: 24px;
}

.ttf-foundry-capabilities-last {
	padding-bottom: clamp(64px, 7vw, 110px);
}

.ttf-foundry-card {
	min-height: 255px;
	padding: clamp(30px, 3.2vw, 48px);
	border: 1px solid #dfe7ec;
	border-radius: 6px;
	background: #fff;
	box-shadow: 0 14px 38px rgba(11, 48, 71, .055);
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.ttf-foundry-card:hover {
	transform: translateY(-3px);
	border-color: #bcd6e5;
	box-shadow: 0 20px 48px rgba(11, 48, 71, .09);
}

.ttf-foundry-card-num {
	display: block;
	margin-bottom: 38px;
	color: #2185bd;
	font-family: Manrope, sans-serif;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .08em;
}

.ttf-foundry-card h3 {
	margin-bottom: 13px;
	font-size: clamp(23px, 2vw, 31px);
	letter-spacing: -.02em;
}

.ttf-foundry-card p {
	max-width: 540px;
	margin: 0;
	color: #657681;
	font-size: 16px;
	line-height: 1.65;
}

.ttf-foundry-quality {
	padding-top: clamp(66px, 7vw, 104px);
	padding-bottom: clamp(66px, 7vw, 104px);
	background: #071f30;
}

.ttf-foundry-quality .ttf-foundry-section-label {
	color: #6abde9;
}

.ttf-foundry-quality h2 {
	max-width: 480px;
	color: #fff;
}

.ttf-foundry-quality-list {
	border-top: 1px solid rgba(255, 255, 255, .16);
}

.ttf-foundry-quality-list > div {
	display: grid;
	grid-template-columns: minmax(150px, .7fr) 1.3fr;
	gap: 34px;
	padding: 24px 0;
	border-bottom: 1px solid rgba(255, 255, 255, .16);
}

.ttf-foundry-quality-list strong {
	color: #fff;
	font-size: 17px;
}

.ttf-foundry-quality-list span {
	color: rgba(255, 255, 255, .68);
	font-size: 15px;
	line-height: 1.6;
}

.ttf-foundry-cta {
	align-items: center;
	padding-top: clamp(66px, 7vw, 108px);
	padding-bottom: clamp(66px, 7vw, 108px);
}

.ttf-foundry-cta h2 {
	max-width: 820px;
	margin-bottom: 17px;
}

.ttf-foundry-cta p {
	max-width: 770px;
	margin: 0;
	color: #60727e;
	font-size: 17px;
	line-height: 1.65;
}

.ttf-foundry-cta-button .vc_btn3 {
	min-width: 205px;
	padding: 17px 26px;
	border: 1px solid #0c6fa8;
	border-radius: 4px;
	background: #0c6fa8;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
}

.ttf-foundry-cta-button .vc_btn3:hover {
	border-color: #075783;
	background: #075783;
	color: #fff;
}

@media (max-width: 767px) {
	.ttf-foundry-hero-inner {
		width: min(100% - 30px, 1380px);
	}

	.ttf-foundry-hero::after {
		top: -110px;
		right: -230px;
	}

	.ttf-foundry-intro .wpb_column + .wpb_column {
		margin-top: 25px;
	}

	.ttf-foundry-capabilities {
		padding-bottom: 0;
	}

	.ttf-foundry-capabilities-last {
		padding-bottom: 58px;
	}

	.ttf-foundry-card {
		min-height: 0;
		margin-bottom: 16px;
	}

	.ttf-foundry-card-num {
		margin-bottom: 24px;
	}

	.ttf-foundry-quality .wpb_column + .wpb_column {
		margin-top: 34px;
	}

	.ttf-foundry-quality-list > div {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.ttf-foundry-cta-button,
	.ttf-foundry-cta-button .vc_btn3-container,
	.ttf-foundry-cta-button .vc_btn3 {
		width: 100%;
		text-align: center;
	}

	.ttf-foundry-cta-button {
		margin-top: 28px;
	}
}

body {
	--wd-container-w: 1440px;
}

.single-post .wd-post-author.wd-meta-author {
	display: none;
}

.single-post .wd-post-reply.wd-style-1 {
	display: none;
}

/* ========== Site footer (mockup) ========== */
.wd-footer.footer-container {
	background: #fff;
	border-top: 1px solid #f3f4f6;
	color: var(--ttf-graphite);
	margin-top:15px;
}

.wd-footer .main-footer.container,
.wd-footer .container {
	max-width: var(--ttf-container);
	width: 100%;
}

.ttf-footer {
	padding: 96px 0 48px;
	font-family: Inter, sans-serif;
}

.ttf-footer-grid {
	display: grid;
	grid-template-columns: 1.2fr 1fr 1fr 1.1fr;
	gap: 48px;
	margin-bottom: 80px;
}

.ttf-footer-logo {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	margin-bottom: 32px;
}

.ttf-footer-logo-mark {
	width: 32px;
	height: 32px;
	background: var(--ttf-navy);
	border-radius: 2px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.ttf-footer-logo-mark span {
	width: 16px;
	height: 16px;
	background: var(--ttf-blue);
	transform: rotate(45deg);
	display: block;
}

.ttf-footer-logo-text {
	font-family: Manrope, sans-serif;
	font-weight: 700;
	font-size: 20px;
	letter-spacing: -0.02em;
	color: var(--ttf-navy);
}

/* Header logo = same as footer mark/wordmark */
.whb-header .ttf-site-logo,
.whb-clone .ttf-site-logo {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	line-height: 1;
}

.whb-header .ttf-site-logo .ttf-footer-logo-text,
.whb-clone .ttf-site-logo .ttf-footer-logo-text {
	color: var(--ttf-navy);
	margin: 0;
}

.ttf-footer-desc {
	margin: 0;
	color: #6b7280;
	line-height: 1.7;
	font-size: 15px;
	max-width: 320px;
}

.ttf-footer-col h5 {
	margin: 0 0 32px;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--ttf-navy);
}

.ttf-footer-col ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ttf-footer-col li {
	margin: 0 0 16px;
}

.ttf-footer-col a {
	color: #6b7280;
	font-weight: 500;
	text-decoration: none;
	font-size: 15px;
	transition: color 0.2s ease;
}

.ttf-footer-col a:hover {
	color: var(--ttf-blue);
}

.ttf-footer-contacts li {
	margin: 0 0 24px;
}

.ttf-footer-label {
	margin: 0 0 4px;
	font-size: 12px;
	color: #9ca3af;
}

.ttf-footer-strong {
	display: inline-block;
	font-size: 18px;
	font-weight: 700;
	color: var(--ttf-navy);
	text-decoration: none;
	line-height: 1.3;
}

.ttf-footer-strong:hover {
	color: var(--ttf-blue);
}

.ttf-footer-addr {
	margin: 0;
	font-weight: 500;
	color: #4b5563;
	line-height: 1.55;
	font-size: 15px;
}

.ttf-footer-bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	padding-top: 48px;
	border-top: 1px solid #f3f4f6;
	font-size: 14px;
	color: #9ca3af;
}

.ttf-footer-bottom p {
	margin: 0;
}

.ttf-footer-legal {
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
}

.ttf-footer-legal a {
	color: #9ca3af;
	text-decoration: none;
	transition: color 0.2s ease;
}

.ttf-footer-legal a:hover {
	color: var(--ttf-blue);
}

/* Hide theme copyrights strip when custom footer bottom is used */
.wd-footer .wd-copyrights {
	display: none;
}

/* ========== Single product (PDP) ========== */
body.single-product {
	background: var(--ttf-offwhite);
	font-family: Inter, sans-serif;
	color: var(--ttf-graphite);
}

body.single-product .main-page-wrapper {
	background: var(--ttf-offwhite);
}

body.single-product main.wd-content-layout,
body.single-product .wd-content-layout.content-layout-wrapper {
	padding-bottom: 0;
}

body.single-product .product-image-summary-wrap,
body.single-product .product-image-summary {
	background: transparent;
}

body.single-product .woocommerce-product-gallery {
	background: #fff;
	border: 1px solid #f3f4f6;
	border-radius: 2px;
	padding: 24px;
	overflow: hidden;
}

body.single-product .woocommerce-product-gallery .wd-carousel-container,
body.single-product .woocommerce-product-gallery .wd-gallery-images,
body.single-product .woocommerce-product-gallery__wrapper {
	overflow: hidden;
	max-width: 100%;
}

body.single-product .woocommerce-product-gallery .zoomImg {
	max-width: none;
}

body.single-product .woocommerce-product-gallery__image img,
body.single-product .woocommerce-product-gallery__wrapper img {
	object-fit: contain;
	/* Do not upscale small source photos (EN site ships 276-500px assets). */
	width: auto;
	max-width: 100%;
	max-height: 560px;
	margin: 0 auto;
	display: block;
}

/* Catalog tiles: uncropped source photos have mixed ratios, keep a uniform box. */
.woocommerce .products .wd-cat .wd-cat-image img,
.woocommerce .products .wd-product .product-image-link img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: contain;
	background: #fff;
}

body.single-product .thumbnails img,
body.single-product .wd-gallery-thumb img {
	background: #fff;
	border: 1px solid #f3f4f6;
	border-radius: 2px;
	padding: 6px;
	object-fit: contain;
}

body.single-product .summary.entry-summary {
	padding-top: 8px;
}

body.single-product .ttf-pdp-eyebrow {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--ttf-blue);
	margin: 0 0 12px;
}

/* Prefer our brand·SKU eyebrow over theme brand block */
body.single-product .wd-product-brands-links,
body.single-product .wd-product-brands {
	display: none;
}

body.single-product .product_title,
body.single-product .summary .product_title {
	font-family: Manrope, sans-serif;
	font-size: 36px;
	font-weight: 800;
	color: var(--ttf-navy);
	line-height: 1.15;
	margin: 0 0 20px;
}

body.single-product .woocommerce-product-details__short-description,
body.single-product .summary .woocommerce-product-details__short-description {
	font-size: 18px;
	line-height: 1.7;
	color: #4b5563;
	margin: 0 0 28px;
}

body.single-product .price,
body.single-product .summary .cart,
body.single-product .quantity,
body.single-product .single_add_to_cart_button {
	display: none !important;
}

.ttf-pdp-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0 0 32px;
}

body.single-product .ttf-pdp-actions .btn,
body.single-product .ttf-pdp-btn {
	text-transform: none;
	letter-spacing: normal;
	border-radius: 2px;
	font-weight: 700;
	font-size: 16px;
	padding: 16px 28px;
	margin: 0;
}

body.single-product .ttf-pdp-btn-outline {
	border-width: 2px;
}

.ttf-pdp-facts {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px 24px;
	margin: 0;
	padding: 28px 0 0;
	border-top: 1px solid var(--ttf-hairline);
}

.ttf-pdp-facts dt {
	margin: 0 0 4px;
	font-size: 13px;
	color: var(--ttf-steel);
	font-weight: 500;
}

.ttf-pdp-facts dd {
	margin: 0;
	font-size: 15px;
	font-weight: 600;
	color: var(--ttf-navy);
	line-height: 1.4;
}

.ttf-pdp-facts dd a {
	color: var(--ttf-navy);
	text-decoration: none;
}

.ttf-pdp-facts dd a:hover {
	color: var(--ttf-blue);
}

body.single-product .product_meta {
	display: none;
}

.ttf-pdp-docs {
	margin: 24px 0 0;
}

.ttf-pdp-docs-label {
	font-family: Manrope, sans-serif;
	font-size: 16px;
	font-weight: 700;
	color: var(--ttf-navy);
	margin: 0 0 10px;
}

.ttf-pdp-docs ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ttf-pdp-docs a {
	color: var(--ttf-blue);
	font-weight: 500;
	text-decoration: none;
}

.ttf-pdp-docs a:hover {
	text-decoration: underline;
}

/* Tabs + form */
body.single-product .woocommerce-tabs,
body.single-product .wd-tabs-wrapper,
body.single-product .wc-tabs-wrapper {
	margin-top: 64px;
	background: transparent;
}

body.single-product .wd-nav-tabs,
body.single-product .woocommerce-tabs ul.tabs {
	border-bottom: 1px solid var(--ttf-hairline);
	margin-bottom: 32px;
	position: relative;
}

body.single-product .wd-nav-tabs .wd-nav-link,
body.single-product .woocommerce-tabs ul.tabs li a {
	font-family: Manrope, sans-serif;
	font-weight: 700;
	font-size: 16px;
	color: var(--ttf-steel);
	text-transform: none;
	letter-spacing: normal;
	border: none;
	box-shadow: none;
	background: none;
}

/* Kill WoodMart sliding/duplicate tab underlines — one clean active line */
body.single-product .wd-nav-tabs li::before,
body.single-product .wd-nav-tabs li::after,
body.single-product .wd-nav-tabs .wd-nav-link::before,
body.single-product .wd-nav-tabs .wd-nav-link::after,
body.single-product .woocommerce-tabs ul.tabs li::before,
body.single-product .woocommerce-tabs ul.tabs li::after,
body.single-product .woocommerce-tabs ul.tabs li a::before,
body.single-product .woocommerce-tabs ul.tabs li a::after {
	display: none;
	content: none;
	background: none;
	border: none;
	width: 0;
	height: 0;
}

body.single-product .wd-nav-tabs .wd-active .wd-nav-link,
body.single-product .woocommerce-tabs ul.tabs li.active a {
	color: var(--ttf-navy);
	box-shadow: inset 0 -2px 0 var(--ttf-blue);
}

body.single-product .woocommerce-Tabs-panel h2,
body.single-product .woocommerce-tabs .panel > h2:first-child {
	font-family: Manrope, sans-serif;
	font-size: 24px;
	font-weight: 700;
	color: var(--ttf-navy);
	margin: 0 0 16px;
}

body.single-product .woocommerce-Tabs-panel,
body.single-product .woocommerce-tabs .panel {
	font-size: 16px;
	line-height: 1.7;
	color: #4b5563;
}

/* WoodMart renders .shop_attributes as flex rows — borders must be on tr only.
   Theme uses overflow:hidden + negative tbody margin; that clips the last row. */
body.single-product .woocommerce-product-attributes,
body.single-product table.shop_attributes {
	width: 100%;
	border-collapse: collapse;
	overflow: visible;
	--wd-attr-v-gap: 0px;
	--wd-attr-brd-width: 1px;
	--wd-attr-brd-style: solid;
	--wd-attr-brd-color: var(--ttf-hairline);
}

body.single-product .woocommerce-product-attributes tbody,
body.single-product table.shop_attributes tbody {
	margin-bottom: 0;
}

body.single-product .woocommerce-product-attributes tr,
body.single-product table.shop_attributes tr {
	border-bottom: 1px solid var(--ttf-hairline);
	margin-bottom: 0;
	padding-bottom: 14px;
	padding-top: 14px;
}

body.single-product .woocommerce-product-attributes th,
body.single-product table.shop_attributes th {
	width: 50%;
	padding: 0;
	font-weight: 500;
	color: var(--ttf-steel);
	border: none;
	background: none;
	text-align: left;
}

body.single-product .woocommerce-product-attributes td,
body.single-product table.shop_attributes td {
	padding: 0;
	font-weight: 600;
	color: var(--ttf-navy);
	border: none;
	text-align: right;
}

body.single-product .woocommerce-product-attributes th *,
body.single-product .woocommerce-product-attributes td *,
body.single-product table.shop_attributes th *,
body.single-product table.shop_attributes td * {
	border: none;
	text-decoration: none;
	box-shadow: none;
}

/* Inquiry form in product tab — centered card */
body.single-product #tab-2716_custom,
body.single-product .woocommerce-Tabs-panel[id*="2716"] {
	background: #fff;
	border: 1px solid #e8eef2;
	border-radius: 4px;
	padding: 40px 44px;
	max-width: 640px;
	width: 100%;
	margin: 8px auto 24px;
	float: none;
	text-align: left;
	box-shadow: 0 8px 28px rgba(11, 31, 51, 0.06);
}

body.single-product #tab-2716_custom .wpcf7,
body.single-product #tab-2716_custom .wp-block-contact-form-7-contact-form-selector,
body.single-product .woocommerce-Tabs-panel[id*="2716"] .wpcf7 {
	margin: 0;
	max-width: 100%;
	text-align: left;
}

body.single-product #tab-2716_custom .wpcf7 form,
body.single-product .woocommerce-Tabs-panel[id*="2716"] .wpcf7 form {
	margin: 0;
	text-align: left;
}

.ttf-pdp-form-title {
	font-family: Manrope, sans-serif;
	font-size: 22px;
	font-weight: 700;
	color: var(--ttf-navy);
	margin: 0 0 16px;
	line-height: 1.25;
	text-align: left;
}

.ttf-pdp-form-note {
	margin: 0 0 28px;
	padding: 12px 16px;
	font-size: 14px;
	line-height: 1.45;
	color: #4b5563;
	text-align: left;
	background: var(--ttf-offwhite);
	border-left: 3px solid var(--ttf-blue);
	border-radius: 2px;
}

.ttf-pdp-form-note strong {
	color: var(--ttf-navy);
}

body.single-product .wpcf7 .row {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 0;
	margin: 0 -8px 18px;
}

body.single-product .wpcf7 .col-4,
body.single-product .wpcf7 .col-6,
body.single-product .wpcf7 .col-12 {
	padding: 0 8px;
	box-sizing: border-box;
}

body.single-product .wpcf7 .col-4 {
	width: 33.333%;
	flex: 0 0 33.333%;
}

body.single-product .wpcf7 .col-6 {
	width: 50%;
	flex: 0 0 50%;
}

body.single-product .wpcf7 .col-12 {
	width: 100%;
	flex: 0 0 100%;
}

body.single-product .wpcf7 label {
	display: block;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--ttf-steel);
	margin: 0 0 8px;
	font-weight: 600;
}

body.single-product .wpcf7 input[type="text"],
body.single-product .wpcf7 input[type="email"],
body.single-product .wpcf7 input[type="tel"],
body.single-product .wpcf7 textarea {
	width: 100%;
	border: 1px solid #d9e0e5;
	border-radius: 3px;
	padding: 14px 16px;
	background: #fff;
	color: var(--ttf-navy);
	box-sizing: border-box;
	font-size: 15px;
	line-height: 1.4;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body.single-product .wpcf7 input:focus,
body.single-product .wpcf7 textarea:focus {
	outline: none;
	border-color: var(--ttf-blue);
	box-shadow: 0 0 0 3px rgba(23, 105, 224, 0.12);
}

body.single-product .wpcf7 textarea {
	min-height: 110px;
	resize: vertical;
}

body.single-product .wpcf7 input[type="file"] {
	width: 100%;
	padding: 16px;
	border: 1px dashed #c5d0d8;
	border-radius: 3px;
	background: var(--ttf-offwhite);
	color: var(--ttf-steel);
	font-size: 14px;
	cursor: pointer;
}

body.single-product .wpcf7 input[type="file"]::file-selector-button {
	background: #fff;
	border: 1px solid #d9e0e5;
	border-radius: 3px;
	color: var(--ttf-navy);
	padding: 8px 14px;
	margin-right: 12px;
	font-weight: 600;
	font-size: 13px;
	cursor: pointer;
}

body.single-product .wpcf7 .wpcf7-acceptance,
body.single-product .wpcf7 .wpcf7-list-item-label {
	text-transform: none;
	letter-spacing: 0;
	font-size: 13px;
	font-weight: 500;
	color: #6b7280;
	line-height: 1.45;
}

body.single-product .wpcf7 input[type="checkbox"] {
	width: 16px;
	height: 16px;
	margin-right: 10px;
	accent-color: var(--ttf-blue);
	vertical-align: middle;
}

body.single-product .wpcf7 input[type="submit"],
body.single-product .wpcf7 .wpcf7-submit {
	background: var(--ttf-blue);
	border: none;
	border-radius: 3px;
	color: #fff;
	font-weight: 700;
	font-size: 15px;
	text-transform: none;
	letter-spacing: normal;
	padding: 16px 28px;
	cursor: pointer;
	display: block;
	width: 100%;
	margin: 8px 0 0;
	transition: background 0.2s ease;
}

body.single-product .wpcf7 .row:has(.wpcf7-submit),
body.single-product .wpcf7 .row:has(input[type="submit"]) {
	justify-content: stretch;
	margin-bottom: 0;
	text-align: center;
}

body.single-product .wpcf7 input[type="submit"]:hover,
body.single-product .wpcf7 .wpcf7-submit:hover {
	background: var(--ttf-navy);
}

/* Related */
body.single-product .related.products > h2,
body.single-product .upsells.products > h2 {
	font-family: Manrope, sans-serif;
	font-size: 24px;
	font-weight: 700;
	color: var(--ttf-navy);
	margin: 0 0 32px;
}

body.single-product .related.products,
body.single-product .upsells.products {
	margin-top: 72px;
	padding-bottom: 72px;
}

body.single-product .related .product,
body.single-product .upsells .product {
	background: #fff;
	border: 1px solid #f3f4f6;
	border-radius: 2px;
	padding: 16px;
}

body.single-product .related .product-image-link,
body.single-product .upsells .product-image-link {
	background: var(--ttf-offwhite);
	padding: 16px;
}

body.single-product .related .wd-entities-title,
body.single-product .related .woocommerce-loop-product__title,
body.single-product .upsells .wd-entities-title {
	font-size: 14px;
	font-weight: 700;
	color: var(--ttf-navy);
	line-height: 1.35;
}

body.single-product .related .price,
body.single-product .upsells .price,
body.single-product .related .wd-add-btn,
body.single-product .upsells .wd-add-btn,
body.single-product .related .button,
body.single-product .upsells .button {
	display: none !important;
}

.brand-logo-wrap {
	margin-bottom: 20px;
	text-align: center;
}

.whb-col-mobile #menu-top-bar-right-1 li a .nav-link-text {
	display: none;
}

/* ========== Homepage / About plain CSS (mockup 1:1, no Tailwind) ========== */
body.home,
body.page-id-57,
body.page-id-2735,
body.page-id-2718,
body.ttf-industries-page,
body.ttf-brands-page,
body.ttf-catalog-page {
	background: var(--ttf-offwhite);
	color: var(--ttf-graphite);
	font-family: Inter, sans-serif;
}

body.home .main-page-wrapper,
body.page-id-57 .main-page-wrapper,
body.page-id-2735 .main-page-wrapper,
body.page-id-2718 .main-page-wrapper,
body.ttf-industries-page .main-page-wrapper,
body.ttf-brands-page .main-page-wrapper,
body.ttf-catalog-page .main-page-wrapper {
	background: var(--ttf-offwhite);
}

/* Remove theme content padding under last section — light gap before footer */
body.home main.wd-content-layout,
body.page-id-57 main.wd-content-layout,
body.page-id-2735 main.wd-content-layout,
body.page-id-2718 main.wd-content-layout,
body.ttf-industries-page main.wd-content-layout,
body.ttf-brands-page main.wd-content-layout,
body.ttf-catalog-page main.wd-content-layout,
body.home .wd-content-layout.content-layout-wrapper,
body.page-id-57 .wd-content-layout.content-layout-wrapper,
body.page-id-2735 .wd-content-layout.content-layout-wrapper,
body.page-id-2718 .wd-content-layout.content-layout-wrapper,
body.ttf-industries-page .wd-content-layout.content-layout-wrapper,
body.ttf-brands-page .wd-content-layout.content-layout-wrapper,
body.ttf-catalog-page .wd-content-layout.content-layout-wrapper {
	padding-bottom: 0;
}

/* Sitewide content container — 1440 on all pages, centered */
.container,
.wd-content-layout.content-layout-wrapper.container,
.wd-content-area,
.site-content .container,
.main-page-wrapper > .container,
.whb-header .container,
.wd-footer .container,
.main-footer.container,
body.single-product .single-product-page,
body.single-product .product-tabs-wrapper > .container,
body.single-product .container.related-and-upsells {
	max-width: var(--ttf-container);
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

body.home .page-title,
body.page-id-57 .page-title,
body.page-id-2735 .page-title,
body.page-id-2718 .page-title,
body.ttf-industries-page .page-title,
body.ttf-brands-page .page-title,
body.ttf-catalog-page .page-title,
body.home .wd-page-title,
body.page-id-57 .wd-page-title,
body.page-id-2735 .wd-page-title,
body.page-id-2718 .wd-page-title,
body.ttf-industries-page .wd-page-title,
body.ttf-brands-page .wd-page-title,
body.ttf-catalog-page .wd-page-title,
body.ttf-catalog-page .entry-title.title,
body.ttf-catalog-page h1.entry-title,
body.tax-product_brand .entry-title.title,
body.tax-product_brand h1.entry-title {
	display: none;
}

body.home .entry-content > .vc_row,
body.page-id-57 .entry-content > .vc_row {
	margin-left: 0;
	margin-right: 0;
}

.whb-top-bar {
	display: none;
}

/* Keep header bar / inner same height so burger + logo stay vertically centered */
.whb-header .whb-general-header {
	min-height: 88px;
}

.whb-header .whb-general-header-inner,
.whb-header .whb-flex-row.whb-general-header-inner {
	min-height: 88px;
	height: 88px;
	max-height: none;
	align-items: center;
}

/* Sticky = same header as rest state (no compressed clone bar) */
.whb-header.whb-sticky-real.whb-sticked .whb-general-header,
.whb-header.whb-scroll-slide.whb-sticked .whb-general-header {
	min-height: 88px;
	background: #fff;
}

.whb-header.whb-sticked .whb-general-header-inner,
.whb-header.whb-sticked .whb-flex-row.whb-general-header-inner {
	min-height: 88px;
	height: 88px;
	max-height: none;
}

.whb-header.whb-sticked .wd-nav.wd-nav-main > li > a,
.whb-header.whb-sticked .wd-header-secondary-nav .nav-link-text,
.whb-header.whb-sticked .wd-header-call .wd-header-call-content a,
.whb-header.whb-sticked a[href^="tel:"] {
	color: var(--ttf-navy);
}

.whb-header.whb-sticked .btn,
.whb-header.whb-sticked .wd-button {
	text-transform: none;
	letter-spacing: normal;
	border-radius: 2px;
}

.whb-header.whb-sticked .ttf-site-logo .ttf-footer-logo-mark {
	width: 32px;
	height: 32px;
}

.whb-header .wd-nav.wd-nav-main > li > a {
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 13px;
	font-weight: 500;
	color: var(--ttf-navy);
}

.whb-header .wd-header-call .wd-header-call-content a,
.whb-header .wd-tools-element.wd-header-phone a,
.whb-header .wd-header-text a[href^="tel:"] {
	color: var(--ttf-navy);
	font-weight: 600;
}

.whb-header .btn,
.whb-header .wd-button {
	text-transform: none;
	letter-spacing: normal;
	border-radius: 2px;
}

body.home .ttf-hero .btn,
body.home .ttf-hero .wd-button,
body.page-id-57 .ttf-hero .btn,
body.page-id-57 .ttf-hero .wd-button {
	text-transform: none;
	letter-spacing: normal;
	border-radius: 2px;
	font-weight: 700;
	font-size: 18px;
	padding: 16px 32px;
}

.ttf-eyebrow {
	display: block;
	color: var(--ttf-blue);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-size: 12px;
	margin: 0 0 16px;
}

body.home .ttf-hero-title,
body.page-id-57 .ttf-hero-title,
body.home h1.ttf-hero-title,
body.page-id-57 h1.ttf-hero-title,
.ttf-hero-title {
	font-family: Manrope, sans-serif;
	font-weight: 800;
	color: var(--ttf-navy);
	line-height: 1.15;
	margin: 0 0 28px;
	font-size: 60px;
}

.ttf-h2,
body.home .ttf-about .ttf-h2,
body.page-id-57 .ttf-about .ttf-h2 {
	font-family: Manrope, sans-serif;
	font-size: 36px;
	font-weight: 700;
	color: var(--ttf-navy);
	line-height: 1.15;
	margin: 0;
}

.ttf-hero {
	padding-top: 80px;
	padding-bottom: 80px;
	background: var(--ttf-offwhite);
}

/* Top-align columns like mock (not vertically centered) */
body.home .ttf-hero.vc_row-o-content-middle,
body.page-id-57 .ttf-hero.vc_row-o-content-middle,
body.home .ttf-hero.vc_row-flex,
body.page-id-57 .ttf-hero.vc_row-flex {
	align-items: flex-start;
}

.ttf-hero-lead {
	font-size: 20px;
	line-height: 1.7;
	color: #4b5563;
	max-width: 520px;
	margin: 0 0 36px;
}

.ttf-hero .wd-button-wrapper {
	margin-right: 12px;
	margin-bottom: 8px;
}

.ttf-hero-media {
	position: relative;
	padding-bottom: 28px;
}

.ttf-hero-media .wpb_single_image,
.ttf-hero-media .vc_figure,
.ttf-hero-media .vc_single_image-wrapper {
	position: relative;
	margin: 0;
}

.ttf-hero-media .vc_single_image-wrapper,
.ttf-hero-media img,
.ttf-hero-img img {
	border-radius: 2px;
	box-shadow: 0 24px 48px rgba(11, 31, 51, 0.18);
	width: 100%;
	height: 520px;
	max-height: 555px;
	object-fit: cover;
	object-position: left center;
	display: block;
}

.ttf-hero-caption {
	position: absolute;
	left: -24px;
	bottom: 4px;
	max-width: 320px;
	background: #fff;
	border-left: 4px solid var(--ttf-blue);
	padding: 24px;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
	z-index: 2;
	margin: 0 !important;
}

.ttf-hero-caption p {
	margin: 0;
	font-size: 13px;
	font-style: italic;
	color: var(--ttf-steel);
	line-height: 1.45;
}

/* Rail */
.ttf-rail {
	background: #fff;
	border-top: 1px solid #e5e7eb;
	border-bottom: 1px solid #e5e7eb;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.ttf-rail .wpb_text_column {
	margin: 0;
}

.ttf-rail-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 32px 0;
	flex-wrap: wrap;
}

.ttf-rail-inner > span:not(.ttf-rail-sep) {
	font-family: Manrope, sans-serif;
	font-weight: 700;
	font-size: 17px;
	color: var(--ttf-navy);
}

.ttf-rail-sep {
	width: 1px;
	height: 24px;
	background: #d1d5db;
	transform: rotate(15deg);
	flex-shrink: 0;
}

/* About */
.ttf-about {
	padding-top: var(--ttf-section-y);
	padding-bottom: var(--ttf-section-y);
	background: var(--ttf-offwhite);
}

.ttf-about-text p {
	font-size: 18px;
	line-height: 1.75;
	color: #4b5563;
	margin: 0 0 20px;
	max-width: 720px;
}

body.home .ttf-about .btn,
body.home .ttf-about .wd-button,
body.page-id-57 .ttf-about .btn,
body.page-id-57 .ttf-about .wd-button {
	text-transform: none;
	letter-spacing: normal;
	font-weight: 700;
	font-size: 16px;
	text-decoration: none;
}

/* Directions / industries banners */
.ttf-directions,
.ttf-process,
.ttf-why {
	background: #fff;
	padding-top: var(--ttf-section-y);
	padding-bottom: var(--ttf-section-y);
}

body.home .ttf-directions .woodmart-title-container,
body.home .ttf-catalog .woodmart-title-container,
body.home .ttf-process .woodmart-title-container,
body.home .ttf-brands .woodmart-title-container,
body.home .ttf-why .woodmart-title-container,
body.home .ttf-news .woodmart-title-container,
body.home .ttf-industries .woodmart-title-container,
body.page-id-57 .ttf-directions .woodmart-title-container,
body.page-id-57 .ttf-catalog .woodmart-title-container,
body.page-id-57 .ttf-process .woodmart-title-container,
body.page-id-57 .ttf-brands .woodmart-title-container,
body.page-id-57 .ttf-why .woodmart-title-container,
body.page-id-57 .ttf-news .woodmart-title-container,
body.page-id-57 .ttf-industries .woodmart-title-container {
	font-family: Manrope, sans-serif;
	font-weight: 700;
	color: var(--ttf-navy);
	font-size: 36px;
	line-height: 1.2;
	margin-bottom: 48px;
}

/* Directions: mock h-80 = 320px, gap-6 = 24px — equal tiles */
body.home .ttf-directions .promo-banner-wrapper,
body.page-id-57 .ttf-directions .promo-banner-wrapper,
body.home .ttf-directions .banner-container,
body.page-id-57 .ttf-directions .banner-container,
body.home .ttf-directions .promo-banner,
body.page-id-57 .ttf-directions .promo-banner,
body.home .ttf-directions .banner-image,
body.page-id-57 .ttf-directions .banner-image,
body.home .ttf-directions .wd-banner,
body.page-id-57 .ttf-directions .wd-banner {
	height: 320px;
	min-height: 320px;
	max-height: 320px;
	border-radius: 2px;
	overflow: hidden;
}

body.home .ttf-directions .banner-image img,
body.page-id-57 .ttf-directions .banner-image img,
body.home .ttf-directions .promo-banner img,
body.page-id-57 .ttf-directions .promo-banner img,
body.home .ttf-directions .banner-container img,
body.page-id-57 .ttf-directions .banner-container img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.ttf-industries .promo-banner,
.ttf-industries .banner-image {
	border-radius: 2px;
	overflow: hidden;
	min-height: 320px;
}

.ttf-directions .banner-title {
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.3;
	text-transform: uppercase;
}

/* Number line (01/02…) like mock: larger + lighter */
.ttf-directions .banner-title::first-line {
	font-size: 30px;
	font-weight: 300;
	letter-spacing: 0.02em;
}

.ttf-directions .banner-inner {
	padding: 32px;
}

/* gap-6 = 24px between direction cards */
.ttf-directions .vc_row_inner {
	margin-left: -12px;
	margin-right: -12px;
}

.ttf-directions .vc_column-inner {
	padding-left: 12px;
	padding-right: 12px;
	margin-bottom: 24px;
}

body.home .ttf-directions .woodmart-title-container,
body.page-id-57 .ttf-directions .woodmart-title-container {
	margin-bottom: 64px;
}

/* Industries: tight 3x2 like mockup (gap ~4px) */
.ttf-industries .vc_row-fluid,
.ttf-industries .vc_row_inner {
	margin-left: -2px;
	margin-right: -2px;
}

.ttf-industries .vc_column-inner {
	padding-left: 2px;
	padding-right: 2px;
	margin-bottom: 4px;
}

.ttf-industries .wpb_column {
	padding: 0;
}

.ttf-industries .promo-banner,
.ttf-industries .banner-image {
	min-height: 320px;
	height: 320px;
}

.ttf-directions .banner-title,
.ttf-industries .banner-title {
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

/* Catalog */
.ttf-catalog {
	padding-top: var(--ttf-section-y);
	padding-bottom: var(--ttf-section-y);
}

/* Search only via header overlay — hide in-content / mobile-nav forms */
.ttf-cat-search,
.ttf-search-form,
.ttf-catalog-search,
body .entry-content form.searchform,
body .entry-content .wd-search-form,
body .ttf-cat-landing form.searchform,
body .mobile-nav .wd-search-form,
body .mobile-nav form.searchform {
	display: none !important;
}

.ttf-catalog-search {
	max-width: 720px;
	margin: 0 auto 48px;
}

.ttf-search-form {
	position: relative;
	display: block;
	width: 100%;
}

.ttf-search-form input[type="search"] {
	width: 100%;
	height: 64px;
	border: 1px solid #d1d5db;
	background: #fff;
	padding: 0 140px 0 24px;
	border-radius: 2px;
	font-size: 16px;
	box-sizing: border-box;
}

.ttf-search-form button {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	background: var(--ttf-navy);
	color: #fff;
	border: none;
	border-radius: 2px;
	padding: 10px 22px;
	font-weight: 600;
	cursor: pointer;
	text-transform: none;
}

body.home .ttf-catalog .ttf-catalog-grid,
body.page-id-57 .ttf-catalog .ttf-catalog-grid,
.ttf-catalog .ttf-catalog-grid,
.ttf-catalog-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 32px;
	width: 100%;
	max-width: 100%;
}

body.home .ttf-catalog .wpb_text_column,
body.page-id-57 .ttf-catalog .wpb_text_column,
body.home .ttf-catalog .wpb_wrapper,
body.page-id-57 .ttf-catalog .wpb_wrapper {
	max-width: 100%;
	width: 100%;
}

body.home .ttf-catalog .ttf-catalog-search,
body.page-id-57 .ttf-catalog .ttf-catalog-search,
body.home .ttf-catalog .ttf-catalog-search .wpb_wrapper,
body.page-id-57 .ttf-catalog .ttf-catalog-search .wpb_wrapper {
	max-width: 720px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

body.home .ttf-catalog .ttf-catalog-card,
body.page-id-57 .ttf-catalog .ttf-catalog-card {
	width: auto;
	max-width: none;
	float: none;
}

.ttf-catalog-card {
	display: block;
	text-decoration: none;
	color: inherit;
}

.ttf-catalog-card__media {
	background: #fff;
	border: 1px solid #f3f4f6;
	aspect-ratio: 1 / 1;
	margin-bottom: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 28px;
	box-sizing: border-box;
	transition: box-shadow 0.2s ease;
}

.ttf-catalog-card:hover .ttf-catalog-card__media {
	box-shadow: 0 12px 28px rgba(11, 31, 51, 0.08);
}

.ttf-catalog-card__media img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.ttf-catalog-card__title {
	display: block;
	font-family: Manrope, sans-serif;
	font-weight: 700;
	font-size: 17px;
	text-align: center;
	color: var(--ttf-navy);
	margin: 0;
}

/* Industries */
.ttf-industries {
	background: var(--ttf-navy);
	padding-top: var(--ttf-section-y);
	padding-bottom: var(--ttf-section-y);
}

body.home .ttf-industries .woodmart-title-container,
body.page-id-57 .ttf-industries .woodmart-title-container,
.ttf-industries .woodmart-title-container,
.ttf-industries .woodmart-title-container .title,
.ttf-industries .title {
	color: #fff;
}

.ttf-industries .banner-content,
.ttf-industries .banner-inner p,
.ttf-industries .banner-subtitle {
	color: rgba(217, 224, 229, 0.85);
	font-size: 13px;
	line-height: 1.5;
}

/* Process */
.ttf-process-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 24px;
	position: relative;
	margin-top: 24px;
}

.ttf-process-grid::before {
	content: "";
	position: absolute;
	top: 32px;
	left: 0;
	right: 0;
	height: 2px;
	background: #e5e7eb;
	z-index: 0;
}

.ttf-process-step {
	position: relative;
	z-index: 1;
}

.ttf-process-num {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--ttf-navy);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: Manrope, sans-serif;
	font-weight: 700;
	font-size: 18px;
	margin-bottom: 20px;
}

.ttf-process-num--accent {
	background: var(--ttf-blue);
}

.ttf-process-num--mute {
	background: #f3f4f6;
	color: var(--ttf-navy);
	border: 1px solid #e5e7eb;
}

.ttf-process-step h4 {
	font-size: 17px;
	font-weight: 700;
	color: var(--ttf-navy);
	margin: 0 0 8px;
}

.ttf-process-step p {
	font-size: 13px;
	color: var(--ttf-steel);
	margin: 0;
	line-height: 1.45;
}

/* Brands — keep logos, plate frames like mock */
.ttf-brands {
	padding-top: var(--ttf-section-y);
	padding-bottom: 80px;
}

body.home .ttf-brands .wd-grid-g,
body.page-id-57 .ttf-brands .wd-grid-g {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 24px;
	--wd-col-lg: 5;
	--wd-col-md: 3;
	--wd-col-sm: 1;
}

body.home .ttf-brands .wd-col,
body.page-id-57 .ttf-brands .wd-col {
	width: 256px;
	max-width: 256px;
	flex: 0 0 256px;
	margin: 0;
	padding: 0;
}

/* Brand tiles: image fills the card (no white inset frame) */
.ttf-brands {
	--wd-brand-pd: 0;
	--wd-brand-img-height: 100%;
	--wd-brand-img-width: 100%;
}

.ttf-brands .wd-brand-item,
.ttf-brands .brand-item {
	position: relative;
	border: 0;
	border-radius: 2px;
	background: transparent;
	min-height: 120px;
	height: 120px;
	display: block;
	padding: 0;
	margin: 0;
	overflow: hidden;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
	box-sizing: border-box;
	box-shadow: 0 0 0 1px rgba(11, 31, 51, 0.08);
}

.ttf-brands .wd-brand-item:hover,
.ttf-brands .brand-item:hover {
	box-shadow: 0 0 0 1px var(--ttf-blue), 0 6px 16px rgba(11, 31, 51, 0.1);
}

.ttf-brands .wd-brand-item a.wd-fill,
.ttf-brands .brand-item a.wd-fill {
	z-index: 2;
}

.ttf-brands .wd-brand-item img,
.ttf-brands .brand-item img {
	width: 100%;
	height: 100%;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover;
	object-position: center;
	display: block;
	position: absolute;
	inset: 0;
	z-index: 1;
	transform-origin: center;
}

/* Placeholder asset has large empty margins around the mark */
.ttf-brands .wd-brand-item:has(img[src*="what-is-brand"]) img,
.ttf-brands .brand-item:has(img[src*="what-is-brand"]) img {
	transform: scale(1.4);
}

/* Real logos: keep inside the tile without cropping marks */
.ttf-brands .wd-brand-item:not(:has(img[src*="what-is-brand"])) {
	background: #fff;
	padding: 16px 20px;
}

.ttf-brands .wd-brand-item:not(:has(img[src*="what-is-brand"])) img,
.ttf-brands .brand-item:not(:has(img[src*="what-is-brand"])) img {
	position: relative;
	inset: auto;
	width: 100%;
	height: 100%;
	object-fit: contain;
	transform: none;
}

/* Why — mock image ~square filling left column */
body.home .ttf-why .vc_single_image-wrapper,
body.page-id-57 .ttf-why .vc_single_image-wrapper,
body.home .ttf-why .wpb_single_image img,
body.page-id-57 .ttf-why .wpb_single_image img {
	width: 100%;
	height: 560px;
	object-fit: cover;
	object-position: center;
	border-radius: 2px;
	display: block;
}

.ttf-why-item {
	display: flex;
	gap: 20px;
	margin-bottom: 28px;
}

.ttf-why-icon {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: rgba(23, 105, 224, 0.1);
	flex-shrink: 0;
	position: relative;
}

.ttf-why-icon::after {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 14px;
	height: 8px;
	border-left: 2px solid var(--ttf-blue);
	border-bottom: 2px solid var(--ttf-blue);
	transform: rotate(-45deg) translate(1px, -2px);
}

.ttf-why-item h4 {
	margin: 0 0 6px;
	font-size: 20px;
	font-weight: 700;
	color: var(--ttf-navy);
}

.ttf-why-item p {
	margin: 0;
	color: var(--ttf-steel);
	line-height: 1.55;
}

/* News */
.ttf-news {
	padding-top: var(--ttf-section-y);
	padding-bottom: 80px;
}

body.home .ttf-news .vc_row_inner,
body.page-id-57 .ttf-news .vc_row_inner {
	margin-bottom: 48px;
	align-items: flex-end;
}

body.home .ttf-news .btn,
body.page-id-57 .ttf-news .btn,
body.home .ttf-news .wd-button,
body.page-id-57 .ttf-news .wd-button,
body.home .ttf-news a.btn-color-primary,
body.page-id-57 .ttf-news a.btn-color-primary {
	color: var(--ttf-blue);
	font-weight: 700;
	text-decoration: none;
	text-transform: none;
	letter-spacing: 0;
	border-bottom: 2px solid rgba(23, 105, 224, 0.2);
	padding-bottom: 2px;
	border-radius: 0;
}

.ttf-news-layout {
	display: grid;
	grid-template-columns: 7fr 5fr;
	gap: 32px;
	align-items: start;
}

.ttf-news-main__link {
	display: block;
	text-decoration: none;
	color: inherit;
}

.ttf-news-main__media {
	overflow: hidden;
	border-radius: 2px;
	aspect-ratio: 16 / 9;
	margin-bottom: 24px;
}

.ttf-news-main__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.ttf-news-main__link:hover .ttf-news-main__media img {
	transform: scale(1.04);
}

.ttf-news-meta {
	display: block;
	color: var(--ttf-blue);
	font-weight: 700;
	font-size: 12px;
	text-transform: uppercase;
	margin-bottom: 12px;
}

.ttf-news-side .ttf-news-meta {
	color: #9ca3af;
	font-weight: 500;
	text-transform: none;
	font-size: 12px;
	margin-bottom: 6px;
}

.ttf-news-main h3 {
	font-family: Manrope, sans-serif;
	font-size: 28px;
	font-weight: 700;
	color: var(--ttf-navy);
	margin: 0 0 16px;
	line-height: 1.25;
}

.ttf-news-main p {
	color: var(--ttf-steel);
	font-size: 17px;
	line-height: 1.6;
	margin: 0;
}

.ttf-news-side {
	display: flex;
	flex-direction: column;
	gap: 32px;
	margin: 0;
	padding: 0;
}

/* Hide empty anchors left by wpautop (before raw_html fix / as safety) */
.ttf-news-side > p,
.ttf-news-side > a.ttf-news-side__item:empty,
.ttf-news-side__item:not(:has(.ttf-news-side__media)) {
	display: none;
}

.ttf-news-side__item {
	display: flex;
	align-items: flex-start;
	gap: 24px;
	text-decoration: none;
	color: inherit;
	margin: 0;
	min-height: 112px;
}

.ttf-news-side__media {
	width: 160px;
	height: 112px;
	flex-shrink: 0;
	overflow: hidden;
	border-radius: 2px;
}

.ttf-news-side__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ttf-news-side h4 {
	margin: 0;
	font-size: 17px;
	font-weight: 700;
	color: var(--ttf-navy);
	line-height: 1.35;
}

.ttf-news-side__item:hover h4,
.ttf-news-main__link:hover h3 {
	color: var(--ttf-blue);
}

/* CTA — form left + contacts/map right */
.ttf-home-cta {
	background: var(--ttf-navy);
	padding-top: 96px;
	padding-bottom: 96px;
}

body.home .ttf-home-cta > .container,
body.page-id-57 .ttf-home-cta > .container,
body.home .ttf-home-cta .vc_column-inner,
body.page-id-57 .ttf-home-cta .vc_column-inner {
	padding-top: 0;
}

body.home .ttf-cta-form .vc_column-inner,
body.page-id-57 .ttf-cta-form .vc_column-inner {
	padding-right: 40px;
}

body.home .ttf-cta-aside .vc_column-inner,
body.page-id-57 .ttf-cta-aside .vc_column-inner {
	padding-left: 24px;
}

.ttf-home-cta .woodmart-title-container,
.ttf-home-cta .title {
	color: #fff;
	font-family: Manrope, sans-serif;
	font-weight: 800;
	font-size: 40px;
	line-height: 1.15;
	margin: 0 0 16px;
}

.ttf-cta-lead {
	margin-bottom: 28px;
}

.ttf-cta-lead p {
	color: rgba(217, 224, 229, 0.72);
	font-size: 16px;
	line-height: 1.65;
	margin: 0;
	max-width: 560px;
}

/* Contacts panel */
.ttf-cta-panel {
	background: #152B43;
	border: 1px solid rgba(217, 224, 229, 0.12);
	border-radius: 2px;
	padding: 28px 28px 8px;
	margin-bottom: 20px;
}

.ttf-cta-contacts-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px 28px;
	margin: 0;
}

.ttf-cta-contact-item {
	margin: 0 0 20px;
}

.ttf-cta-contact-item--wide {
	grid-column: 1 / -1;
}

.ttf-cta-label {
	color: rgba(217, 224, 229, 0.55);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin: 0 0 8px;
}

.ttf-cta-value,
.ttf-cta-contacts p {
	color: var(--ttf-hairline);
	margin: 0;
	line-height: 1.55;
	font-size: 16px;
}

.ttf-cta-contacts a {
	color: #fff;
	font-weight: 700;
	font-size: 18px;
	text-decoration: none;
}

.ttf-cta-contacts a[href^="mailto:"] {
	color: #7eb0ff;
	font-size: 16px;
	font-weight: 600;
	word-break: break-all;
}

.ttf-cta-contacts a:hover {
	color: var(--ttf-blue);
}

/* Map */
.ttf-cta-map-wrap {
	margin: 0;
}

.ttf-cta-map {
	margin: 0;
	border-radius: 2px;
	overflow: hidden;
	border: 1px solid rgba(217, 224, 229, 0.12);
	line-height: 0;
	filter: saturate(0.85) contrast(0.95);
}

.ttf-cta-map iframe {
	display: block;
	width: 100%;
	height: 320px;
	border: 0;
}

/* CF7 form */
.ttf-home-cta .wpcf7 {
	margin: 0;
}

.ttf-home-cta .wpcf7 form {
	margin: 0;
}

.ttf-home-cta .wpcf7 .row {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -10px 18px;
}

.ttf-home-cta .wpcf7 .col-4,
.ttf-home-cta .wpcf7 .col-6,
.ttf-home-cta .wpcf7 .col-12 {
	padding: 0 10px;
	box-sizing: border-box;
}

.ttf-home-cta .wpcf7 .col-4 {
	width: 33.333%;
	flex: 0 0 33.333%;
}

.ttf-home-cta .wpcf7 .col-6 {
	width: 50%;
	flex: 0 0 50%;
}

.ttf-home-cta .wpcf7 .col-12 {
	width: 100%;
	flex: 0 0 100%;
}

.ttf-home-cta .wpcf7 label {
	color: rgba(217, 224, 229, 0.55);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin: 0 0 8px;
	display: block;
	font-weight: 500;
}

.ttf-home-cta .wpcf7 .wpcf7-form-control-wrap {
	display: block;
}

.ttf-home-cta .wpcf7 input[type="text"],
.ttf-home-cta .wpcf7 input[type="email"],
.ttf-home-cta .wpcf7 input[type="tel"],
.ttf-home-cta .wpcf7 input[type="url"],
.ttf-home-cta .wpcf7 textarea,
.ttf-home-cta .wpcf7 select {
	background: #152B43;
	border: 1px solid transparent;
	border-radius: 2px;
	color: #fff;
	padding: 14px 16px;
	width: 100%;
	margin: 0;
	box-sizing: border-box;
	font-size: 15px;
	line-height: 1.4;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.ttf-home-cta .wpcf7 input:focus,
.ttf-home-cta .wpcf7 textarea:focus {
	outline: none;
	border-color: var(--ttf-blue);
	box-shadow: 0 0 0 2px rgba(23, 105, 224, 0.25);
}

.ttf-home-cta .wpcf7 textarea {
	min-height: 120px;
	resize: vertical;
}

.ttf-home-cta .wpcf7 input::placeholder,
.ttf-home-cta .wpcf7 textarea::placeholder {
	color: rgba(96, 112, 128, 0.95);
}

/* File field */
.ttf-home-cta .wpcf7 input[type="file"] {
	display: block;
	width: 100%;
	padding: 14px 16px;
	background: #152B43;
	border: 1px dashed rgba(217, 224, 229, 0.28);
	border-radius: 2px;
	color: rgba(217, 224, 229, 0.75);
	font-size: 14px;
	cursor: pointer;
	box-sizing: border-box;
}

.ttf-home-cta .wpcf7 input[type="file"]::file-selector-button {
	background: rgba(23, 105, 224, 0.2);
	border: none;
	border-radius: 2px;
	color: #fff;
	padding: 8px 14px;
	margin-right: 14px;
	font-weight: 600;
	font-size: 13px;
	cursor: pointer;
}

/* Acceptance + submit */
.ttf-home-cta .wpcf7 .wpcf7-acceptance {
	margin: 0;
}

.ttf-home-cta .wpcf7 .wpcf7-acceptance .wpcf7-list-item {
	margin: 0;
}

.ttf-home-cta .wpcf7 .wpcf7-acceptance,
.ttf-home-cta .wpcf7 .wpcf7-list-item-label {
	color: rgba(217, 224, 229, 0.65);
	text-transform: none;
	letter-spacing: 0;
	font-size: 14px;
	line-height: 1.45;
}

.ttf-home-cta .wpcf7 input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin-right: 10px;
	accent-color: var(--ttf-blue);
	vertical-align: middle;
}

.ttf-home-cta .wpcf7 .row:has(.wpcf7-submit),
.ttf-home-cta .wpcf7 .row:has(input[type="submit"]) {
	margin-top: 8px;
	margin-bottom: 0;
}

.ttf-home-cta .wpcf7 input[type="submit"],
.ttf-home-cta .wpcf7 .wpcf7-submit {
	background: var(--ttf-blue);
	border: none;
	border-radius: 2px;
	color: #fff;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	padding: 16px 40px;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease;
}

.ttf-home-cta .wpcf7 input[type="submit"]:hover,
.ttf-home-cta .wpcf7 .wpcf7-submit:hover {
	background: #fff;
	color: var(--ttf-navy);
}

.ttf-home-cta .wpcf7 .wpcf7-not-valid-tip,
.ttf-home-cta .wpcf7 .wpcf7-response-output {
	color: #fca5a5;
	border-color: #fca5a5;
}

/* ========== About page (o-kompanii) ========== */
.ttf-ap-hero {
	background: #fff;
	border-bottom: 1px solid #f3f4f6;
	padding-top: 64px;
	padding-bottom: 64px;
}

.ttf-ap-crumbs,
.ttf-ap-crumbs nav {
	font-size: 14px;
	color: var(--ttf-steel);
	margin: 0 0 24px;
}

.ttf-ap-crumbs a {
	color: var(--ttf-steel);
	text-decoration: none;
}

.ttf-ap-crumbs a:hover {
	color: var(--ttf-blue);
}

.ttf-ap-crumbs span {
	margin: 0 8px;
	color: var(--ttf-hairline);
}

.ttf-ap-crumbs span:last-child {
	color: var(--ttf-navy);
	font-weight: 500;
	margin-right: 0;
}

body.page-id-2735 .ttf-ap-h1,
.ttf-ap-h1 {
	font-family: Manrope, sans-serif;
	font-size: 48px;
	font-weight: 800;
	color: var(--ttf-navy);
	line-height: 1.15;
	margin: 0 0 24px;
	max-width: 880px;
}

.ttf-ap-lead {
	font-size: 20px;
	line-height: 1.7;
	color: #4b5563;
	max-width: 760px;
	margin: 0 0 40px;
}

body.page-id-2735 .ttf-ap-hero .btn,
body.page-id-2735 .ttf-ap-hero .wd-button {
	text-transform: none;
	letter-spacing: normal;
	border-radius: 2px;
	font-weight: 700;
	font-size: 16px;
	padding: 16px 32px;
	margin-right: 12px;
	margin-bottom: 8px;
}

.ttf-ap-spec,
.ttf-ap-comp,
.ttf-ap-audience {
	padding-top: 96px;
	padding-bottom: 96px;
}

.ttf-ap-comp,
.ttf-ap-audience {
	background: #fff;
}

body.page-id-2735 .ttf-ap-section-title .woodmart-title-container,
body.page-id-2735 .ttf-ap-comp .woodmart-title-container,
body.page-id-2735 .ttf-ap-audience .woodmart-title-container,
body.page-id-2735 .ttf-ap-spec .woodmart-title-container,
body.page-id-2735 .ttf-ap-req .woodmart-title-container {
	font-family: Manrope, sans-serif;
	font-weight: 700;
	font-size: 36px;
	color: var(--ttf-navy);
	line-height: 1.2;
	margin-bottom: 32px;
}

body.page-id-2735 .ttf-ap-comp .woodmart-title-container {
	margin-bottom: 64px;
}

.ttf-ap-text p {
	font-size: 18px;
	line-height: 1.75;
	color: #4b5563;
	margin: 0 0 20px;
}

.ttf-ap-text.ttf-ap-muted p {
	color: #6b7280;
	font-size: 16px;
	margin-bottom: 32px;
}

.ttf-ap-accent {
	color: var(--ttf-navy);
	font-weight: 600;
}

.ttf-ap-spec-media img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: 2px;
	display: block;
}

.ttf-ap-caption p {
	margin: 16px 0 0;
	font-size: 13px;
	color: var(--ttf-steel);
	line-height: 1.5;
}

.ttf-ap-comp-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
}

.ttf-ap-comp-card {
	border: 1px solid var(--ttf-hairline);
	border-radius: 2px;
	padding: 32px;
	background: #fff;
	transition: border-color 0.2s ease;
}

.ttf-ap-comp-card:hover {
	border-color: var(--ttf-blue);
}

.ttf-ap-comp-num {
	display: block;
	font-family: Manrope, sans-serif;
	font-size: 30px;
	font-weight: 300;
	color: var(--ttf-blue);
	margin-bottom: 16px;
}

.ttf-ap-comp-card h3 {
	font-family: Manrope, sans-serif;
	font-size: 20px;
	font-weight: 700;
	color: var(--ttf-navy);
	margin: 0 0 12px;
	line-height: 1.3;
}

.ttf-ap-comp-card p {
	margin: 0;
	color: #6b7280;
	line-height: 1.6;
	font-size: 15px;
}

.ttf-ap-list {
	list-style: none;
	margin: 32px 0 0;
	padding: 0;
}

.ttf-ap-list li {
	position: relative;
	padding-left: 28px;
	margin: 0 0 16px;
	font-weight: 500;
	color: var(--ttf-navy);
	font-size: 16px;
}

.ttf-ap-list li::before {
	content: "—";
	position: absolute;
	left: 0;
	color: var(--ttf-blue);
	font-weight: 600;
}

.ttf-ap-cert-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.ttf-ap-cert-item {
	background: var(--ttf-offwhite);
	border: 1px solid var(--ttf-hairline);
	border-radius: 2px;
	padding: 24px;
	font-weight: 500;
	color: var(--ttf-navy);
	font-size: 15px;
	line-height: 1.45;
}

/* Documentation library */
.ttf-docs-body {
	padding-top: 32px;
	padding-bottom: var(--ttf-section-y);
}

.ttf-docs-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}

.ttf-docs-card {
	border: 1px solid var(--ttf-hairline);
	background: #fff;
	border-radius: 2px;
	padding: 28px 28px 24px;
	display: flex;
	flex-direction: column;
	min-height: 100%;
}

.ttf-docs-card-meta {
	display: flex;
	gap: 12px;
	align-items: center;
	margin-bottom: 14px;
}

.ttf-docs-type {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ttf-blue);
}

.ttf-docs-size {
	font-size: 12px;
	color: var(--ttf-steel);
}

.ttf-docs-card-title {
	margin: 0 0 10px;
	font-size: 22px;
	font-weight: 700;
	color: var(--ttf-navy);
	line-height: 1.3;
}

.ttf-docs-card-desc {
	margin: 0 0 24px;
	color: #6b7280;
	font-size: 15px;
	line-height: 1.6;
	flex: 1 1 auto;
}

.ttf-docs-download {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	background: var(--ttf-navy);
	color: #fff;
	padding: 12px 22px;
	font-weight: 600;
	font-size: 14px;
	border-radius: 2px;
	text-decoration: none;
	transition: background 0.2s ease;
}

.ttf-docs-download:hover,
.ttf-docs-download:focus {
	background: var(--ttf-blue);
	color: #fff;
	text-decoration: none;
}

.ttf-docs-cta {
	background: var(--ttf-navy);
	padding-top: 80px;
	padding-bottom: 80px;
}

.ttf-docs-cta-title {
	margin: 0 0 12px;
	color: #fff;
	font-size: 36px;
	font-weight: 800;
}

.ttf-docs-cta-lead {
	margin: 0 0 28px;
	color: rgba(217, 224, 229, 0.7);
	font-size: 18px;
	max-width: 640px;
	line-height: 1.65;
}

.ttf-ap-docs {
	padding-top: 72px;
	padding-bottom: 72px;
}

.ttf-oa-docs-link {
	margin: 16px 0 0;
	font-size: 15px;
	color: var(--ttf-steel);
}

.ttf-oa-docs-link a {
	color: var(--ttf-blue);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.ttf-oa-docs-link a:hover {
	color: var(--ttf-navy);
}

.ttf-ap-req {
	background: var(--ttf-navy);
	padding-top: 96px;
	padding-bottom: 96px;
}

body.page-id-2735 .ttf-ap-req .woodmart-title-container,
body.page-id-2735 .ttf-ap-req .title {
	color: #fff;
	font-weight: 800;
}

.ttf-ap-req-lead p {
	color: rgba(217, 224, 229, 0.7);
	font-size: 18px;
	line-height: 1.65;
	margin: 0 0 32px;
	max-width: 640px;
}

.ttf-ap-req-panel {
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 2px;
	padding: 32px;
}

.ttf-ap-req-panel p {
	margin: 0 0 8px;
	color: var(--ttf-hairline);
	font-size: 14px;
	line-height: 1.55;
}

.ttf-ap-req-panel p:last-child {
	margin-bottom: 0;
}

body.page-id-2735 .ttf-ap-req-actions .btn,
body.page-id-2735 .ttf-ap-req-actions .wd-button {
	display: block;
	width: 100%;
	text-align: center;
	text-transform: none;
	letter-spacing: normal;
	border-radius: 2px;
	font-weight: 700;
	padding: 16px 32px;
	margin: 0 0 16px;
}

body.page-id-2735 .ttf-ap-req-actions .btn-bordered,
body.page-id-2735 .ttf-ap-req-actions .btn-style-bordered,
body.page-id-2735 .ttf-ap-req-actions a.btn.btn-color-white {
	border-color: rgba(255, 255, 255, 0.4);
	color: #fff;
}

/* ========== Industries listing + single (otrasli) ========== */
.ttf-oa-hero {
	background: #fff;
	border-bottom: 1px solid #f3f4f6;
	padding-top: 64px;
	padding-bottom: 64px;
}

body.ttf-industries-page .ttf-oa-hero .btn,
body.ttf-industries-page .ttf-oa-hero .wd-button {
	text-transform: none;
	letter-spacing: normal;
	border-radius: 2px;
	font-weight: 700;
	font-size: 16px;
	padding: 16px 32px;
	margin-right: 12px;
	margin-bottom: 8px;
}

.ttf-oa-list {
	padding-top: 96px;
	padding-bottom: 96px;
}

.ttf-oa-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.ttf-oa-card {
	position: relative;
	display: block;
	height: 320px;
	overflow: hidden;
	border-radius: 2px;
	text-decoration: none;
	color: #fff;
}

.ttf-oa-card-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}

.ttf-oa-card:hover .ttf-oa-card-img {
	transform: scale(1.05);
}

.ttf-oa-card-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 32px;
	background: linear-gradient(to top, #0b1f33 0%, rgba(11, 31, 51, 0.55) 45%, transparent 100%);
}

.ttf-oa-card-overlay h3 {
	font-family: Manrope, sans-serif;
	font-size: 24px;
	font-weight: 700;
	color: #fff;
	margin: 0 0 8px;
	line-height: 1.25;
}

.ttf-oa-card-overlay p {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: rgba(217, 224, 229, 0.85);
}

.ttf-os-body {
	padding-top: 96px;
	padding-bottom: 96px;
}

.ttf-os-copy h2 {
	font-family: Manrope, sans-serif;
	font-size: 30px;
	font-weight: 700;
	color: var(--ttf-navy);
	margin: 0 0 24px;
	line-height: 1.2;
}

.ttf-os-copy h2 + p {
	margin-top: 0;
}

.ttf-os-copy p {
	font-size: 18px;
	line-height: 1.75;
	color: #4b5563;
	margin: 0 0 20px;
}

.ttf-os-copy h2:nth-of-type(2) {
	padding-top: 24px;
}

.ttf-os-cats {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ttf-os-cats li {
	margin: 0 0 12px;
}

.ttf-os-cats a {
	font-weight: 500;
	font-size: 18px;
	color: var(--ttf-navy);
	text-decoration: none;
}

.ttf-os-cats a:hover {
	color: var(--ttf-blue);
}

.ttf-os-aside-media {
	margin-bottom: 32px;
}

.ttf-os-aside-media img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: 2px;
	display: block;
}

.ttf-os-aside-card {
	background: #fff;
	border: 1px solid #f3f4f6;
	border-radius: 2px;
	padding: 32px;
}

.ttf-os-aside-card h3 {
	font-family: Manrope, sans-serif;
	font-size: 20px;
	font-weight: 700;
	color: var(--ttf-navy);
	margin: 0 0 16px;
}

.ttf-os-aside-card p {
	font-size: 14px;
	line-height: 1.55;
	color: #6b7280;
	margin: 0 0 24px;
}

.ttf-os-aside-btn {
	display: block;
	text-align: center;
	background: var(--ttf-blue);
	color: #fff;
	padding: 12px 16px;
	border-radius: 2px;
	font-weight: 700;
	text-decoration: none;
	transition: background 0.2s ease;
}

.ttf-os-aside-btn:hover {
	background: var(--ttf-navy);
	color: #fff;
}

/* ========== Manufacturers listing + brand archive ========== */
.ttf-br-list {
	padding-top: 96px;
	padding-bottom: 96px;
}

.ttf-br-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.ttf-br-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--ttf-hairline);
	border-radius: 2px;
	padding: 32px;
	text-decoration: none;
	color: inherit;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.ttf-br-card:hover {
	border-color: var(--ttf-blue);
	box-shadow: 0 4px 16px rgba(11, 31, 51, 0.06);
}

.ttf-br-card-logo {
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
	border: 1px solid var(--ttf-hairline);
	border-radius: 2px;
	padding: 12px;
	text-align: center;
	background: #fff;
}

.ttf-br-card-logo img {
	max-width: 100%;
	max-height: 56px;
	width: auto;
	height: auto;
	object-fit: contain;
}

.ttf-br-card-logo span {
	font-family: Manrope, sans-serif;
	font-weight: 700;
	font-size: 18px;
	color: var(--ttf-navy);
	letter-spacing: 0.02em;
	line-height: 1.25;
}

.ttf-br-card-title {
	font-family: Manrope, sans-serif;
	font-size: 18px;
	font-weight: 700;
	color: var(--ttf-navy);
	margin: 0 0 10px;
	line-height: 1.3;
}

.ttf-br-card p {
	margin: 0;
	font-size: 14px;
	line-height: 1.6;
	color: #6b7280;
	flex: 1;
}

.ttf-br-card-more {
	display: inline-block;
	margin-top: 16px;
	font-size: 14px;
	font-weight: 700;
	color: var(--ttf-blue);
}

body.ttf-brands-page .ttf-br-hero .btn,
body.ttf-brands-page .ttf-oa-hero .btn,
body.ttf-brands-page .ttf-oa-hero .wd-button {
	text-transform: none;
	letter-spacing: normal;
	border-radius: 2px;
	font-weight: 700;
	font-size: 16px;
	padding: 16px 32px;
	margin-right: 12px;
	margin-bottom: 8px;
}

.ttf-br-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 8px;
}

.ttf-br-hero-actions .btn {
	text-transform: none;
	letter-spacing: normal;
	border-radius: 2px;
	font-weight: 700;
	font-size: 16px;
	padding: 16px 32px;
	margin: 0;
}

body.tax-product_brand .woocommerce-breadcrumb,
body.tax-product_brand .wd-page-title,
body.tax-product_brand .page-title,
body.tax-product_brand .term-description,
body.tax-product_brand .woocommerce-products-header {
	display: none;
}

.ttf-br-single {
	display: grid;
	grid-template-columns: 1fr 2fr;
	gap: 48px;
	padding: 96px 0;
	align-items: start;
}

.ttf-br-aside {
	background: transparent;
}

.ttf-br-aside-logo {
	background: #fff;
	border: 1px solid var(--ttf-hairline);
	border-radius: 2px;
	height: 160px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 24px;
	padding: 20px;
	text-align: center;
}

.ttf-br-aside-logo img {
	max-height: 100%;
	max-width: 100%;
	object-fit: contain;
}

.ttf-br-aside-logo span {
	font-family: Manrope, sans-serif;
	font-weight: 700;
	font-size: 22px;
	color: var(--ttf-navy);
	line-height: 1.25;
}

.ttf-br-meta {
	margin: 0 0 32px;
}

.ttf-br-meta > div {
	margin: 0 0 12px;
}

.ttf-br-meta dt {
	margin: 0 0 2px;
	font-size: 13px;
	color: var(--ttf-steel);
}

.ttf-br-meta dd {
	margin: 0;
	font-size: 15px;
	font-weight: 600;
	color: var(--ttf-navy);
}

.ttf-br-meta a {
	color: var(--ttf-navy);
	text-decoration: none;
}

.ttf-br-meta a:hover {
	color: var(--ttf-blue);
}

.ttf-br-aside-btn {
	display: block;
	text-align: center;
	background: var(--ttf-blue);
	color: #fff;
	padding: 12px 16px;
	border-radius: 2px;
	font-weight: 700;
	text-decoration: none;
	transition: background 0.2s ease;
}

.ttf-br-aside-btn:hover {
	background: var(--ttf-navy);
	color: #fff;
}

.ttf-br-main h2 {
	font-family: Manrope, sans-serif;
	font-size: 24px;
	font-weight: 700;
	color: var(--ttf-navy);
	margin: 0 0 16px;
}

.ttf-br-about {
	font-size: 16px;
	line-height: 1.7;
	color: #4b5563;
	margin: 0 0 40px;
}

body.tax-product_brand .ttf-br-main .shop-loop-head,
body.tax-product_brand .ttf-br-main .wd-shop-tools {
	margin-bottom: 24px;
}

body.tax-product_brand .ttf-br-main .product,
body.tax-product_brand .ttf-br-main .wd-product {
	background: #fff;
	border: 1px solid #f3f4f6;
	border-radius: 2px;
	overflow: hidden;
}

body.tax-product_brand .ttf-br-main .price,
body.tax-product_brand .ttf-br-main .wd-add-btn,
body.tax-product_brand .ttf-br-main .button,
body.tax-product_brand .ttf-br-main .product-labels {
	display: none !important;
}

/* ========== Catalog landing (shop) ========== */
body.ttf-catalog-page .sidebar-container,
body.ttf-catalog-page .wd-sidebar,
body.ttf-catalog-page .shop-loop-head,
body.ttf-catalog-page .wd-shop-tools,
body.ttf-catalog-page .woocommerce-breadcrumb,
body.ttf-catalog-page .woocommerce-notices-wrapper,
body.ttf-catalog-page .ttf-cat-loop-hidden,
body.ttf-catalog-page ul.products {
	display: none !important;
}

body.ttf-catalog-page .content-with-sidebar,
body.ttf-catalog-page .wd-content-area {
	width: 100%;
	max-width: 100%;
}

.ttf-cat-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 8px;
}

body.ttf-catalog-page .ttf-cat-hero-actions .btn,
body.ttf-catalog-page .ttf-cat-hero-actions .wd-button {
	text-transform: none;
	letter-spacing: normal;
	border-radius: 2px;
	font-weight: 700;
	font-size: 16px;
	padding: 16px 32px;
	margin: 0;
}

.ttf-cat-body {
	padding-top: 96px;
	padding-bottom: 96px;
}

.ttf-cat-search {
	position: relative;
	max-width: 720px;
	margin: 0 0 64px;
}

.ttf-cat-search input[type="search"] {
	width: 100%;
	height: 64px;
	background: #fff;
	border: 1px solid #d1d5db;
	border-radius: 2px;
	padding: 0 130px 0 24px;
	font-size: 16px;
	color: var(--ttf-navy);
	box-sizing: border-box;
}

.ttf-cat-search input[type="search"]:focus {
	outline: none;
	border-color: var(--ttf-blue);
	box-shadow: 0 0 0 3px rgba(23, 105, 224, 0.12);
}

.ttf-cat-search button {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	background: var(--ttf-navy);
	color: #fff;
	border: none;
	border-radius: 2px;
	padding: 10px 22px;
	font-weight: 600;
	font-size: 14px;
	cursor: pointer;
}

.ttf-cat-search button:hover {
	background: var(--ttf-blue);
}

.ttf-cat-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

.ttf-cat-card {
	display: block;
	text-decoration: none;
	color: inherit;
	text-align: center;
}

.ttf-cat-card-media {
	background: #fff;
	border: 1px solid #f3f4f6;
	aspect-ratio: 1 / 1;
	margin-bottom: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 28px;
	transition: box-shadow 0.25s ease;
}

.ttf-cat-card:hover .ttf-cat-card-media {
	box-shadow: 0 10px 28px rgba(11, 31, 51, 0.1);
}

.ttf-cat-card-media img {
	max-height: 100%;
	max-width: 100%;
	object-fit: contain;
}

.ttf-cat-card h3 {
	font-family: Manrope, sans-serif;
	font-size: 18px;
	font-weight: 700;
	color: var(--ttf-navy);
	margin: 0;
	line-height: 1.3;
	transition: color 0.2s ease;
}

.ttf-cat-card:hover h3 {
	color: var(--ttf-blue);
}

.ttf-cat-card p {
	margin: 8px 0 0;
	font-size: 14px;
	color: #6b7280;
	line-height: 1.45;
}

.ttf-cat-seo {
	margin-top: 80px;
	max-width: 880px;
}

.ttf-cat-seo h2 {
	font-family: Manrope, sans-serif;
	font-size: 24px;
	font-weight: 700;
	color: var(--ttf-navy);
	margin: 0 0 16px;
}

.ttf-cat-seo p {
	margin: 0;
	font-size: 16px;
	line-height: 1.75;
	color: #6b7280;
}

/* ========== Contacts page ========== */
.ttf-ct-body {
	padding-top: 96px;
	padding-bottom: 96px;
}

.ttf-ct-info {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.ttf-ct-block {
	margin: 0;
}

.ttf-ct-label {
	margin: 0 0 8px;
	font-size: 12px;
	text-transform: none;
	letter-spacing: normal;
	color: var(--ttf-steel);
	font-weight: 400;
}

.ttf-ct-value {
	margin: 0;
	font-size: 18px;
	font-weight: 500;
	color: var(--ttf-navy);
	line-height: 1.55;
}

.ttf-ct-note {
	margin: 8px 0 0;
	font-size: 14px;
	color: #6b7280;
	line-height: 1.5;
}

.ttf-ct-link-lg {
	display: block;
	font-size: 18px;
	font-weight: 500;
	color: var(--ttf-navy);
	text-decoration: none;
	line-height: 1.55;
}

.ttf-ct-link-lg:hover,
.ttf-ct-link-md:hover {
	color: var(--ttf-blue);
}

.ttf-ct-link-md {
	display: block;
	margin-top: 4px;
	font-size: 18px;
	font-weight: 500;
	color: var(--ttf-navy);
	text-decoration: none;
	line-height: 1.55;
}

.ttf-ct-req {
	background: var(--ttf-offwhite);
	border: 1px solid var(--ttf-hairline);
	border-radius: 2px;
	padding: 24px;
}

.ttf-ct-req p:last-child {
	margin: 0;
	font-size: 14px;
	line-height: 1.6;
	color: #6b7280;
}

.ttf-ct-form-card {
	background: #fff;
	border: 1px solid #f3f4f6;
	border-radius: 2px;
	padding: 40px;
	margin-bottom: 32px;
	margin-left: 0;
	margin-right: 0;
}

.ttf-ct-form-card > .vc_column_container > .vc_column-inner {
	padding-left: 0;
	padding-right: 0;
}

.ttf-ct-form-title {
	font-family: Manrope, sans-serif;
	font-size: 24px;
	font-weight: 700;
	color: var(--ttf-navy);
	margin: 0 0 28px;
	line-height: 1.25;
}

/* Contacts page CF7 — light theme (same form as home CTA) */
body.page-id-2718 .ttf-ct-col-form .wpcf7 {
	margin: 0;
}

body.page-id-2718 .ttf-ct-form-card .wpcf7 {
	margin-top: -8px;
}

body.page-id-2718 .ttf-ct-col-form .wpcf7 .row {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -12px 20px;
}

body.page-id-2718 .ttf-ct-col-form .wpcf7 .col-4,
body.page-id-2718 .ttf-ct-col-form .wpcf7 .col-6,
body.page-id-2718 .ttf-ct-col-form .wpcf7 .col-12 {
	padding: 0 12px;
	box-sizing: border-box;
}

body.page-id-2718 .ttf-ct-col-form .wpcf7 .col-4 {
	width: 33.333%;
	flex: 0 0 33.333%;
}

body.page-id-2718 .ttf-ct-col-form .wpcf7 .col-6 {
	width: 50%;
	flex: 0 0 50%;
}

body.page-id-2718 .ttf-ct-col-form .wpcf7 .col-12 {
	width: 100%;
	flex: 0 0 100%;
}

body.page-id-2718 .ttf-ct-col-form .wpcf7 label {
	color: var(--ttf-steel);
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin: 0 0 8px;
	display: block;
	font-weight: 500;
}

body.page-id-2718 .ttf-ct-col-form .wpcf7 input[type="text"],
body.page-id-2718 .ttf-ct-col-form .wpcf7 input[type="email"],
body.page-id-2718 .ttf-ct-col-form .wpcf7 input[type="tel"],
body.page-id-2718 .ttf-ct-col-form .wpcf7 input[type="url"],
body.page-id-2718 .ttf-ct-col-form .wpcf7 textarea,
body.page-id-2718 .ttf-ct-col-form .wpcf7 select {
	background: #fff;
	border: 1px solid #d1d5db;
	border-radius: 2px;
	color: var(--ttf-navy);
	padding: 16px;
	width: 100%;
	margin: 0;
	box-sizing: border-box;
	font-size: 15px;
	line-height: 1.4;
}

body.page-id-2718 .ttf-ct-col-form .wpcf7 input:focus,
body.page-id-2718 .ttf-ct-col-form .wpcf7 textarea:focus {
	outline: none;
	border-color: var(--ttf-blue);
	box-shadow: 0 0 0 2px rgba(23, 105, 224, 0.15);
}

body.page-id-2718 .ttf-ct-col-form .wpcf7 textarea {
	min-height: 120px;
	resize: vertical;
}

body.page-id-2718 .ttf-ct-col-form .wpcf7 input[type="file"] {
	display: block;
	width: 100%;
	padding: 16px;
	background: #fff;
	border: 1px dashed #d1d5db;
	border-radius: 2px;
	color: #6b7280;
	font-size: 14px;
	cursor: pointer;
	box-sizing: border-box;
}

body.page-id-2718 .ttf-ct-col-form .wpcf7 input[type="file"]::file-selector-button {
	background: var(--ttf-offwhite);
	border: 1px solid var(--ttf-hairline);
	border-radius: 2px;
	color: var(--ttf-navy);
	padding: 8px 14px;
	margin-right: 14px;
	font-weight: 600;
	font-size: 13px;
	cursor: pointer;
}

body.page-id-2718 .ttf-ct-col-form .wpcf7 .wpcf7-acceptance,
body.page-id-2718 .ttf-ct-col-form .wpcf7 .wpcf7-list-item-label {
	color: #6b7280;
	text-transform: none;
	letter-spacing: 0;
	font-size: 14px;
	line-height: 1.45;
}

body.page-id-2718 .ttf-ct-col-form .wpcf7 input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin-right: 10px;
	accent-color: var(--ttf-blue);
	vertical-align: middle;
}

body.page-id-2718 .ttf-ct-col-form .wpcf7 input[type="submit"],
body.page-id-2718 .ttf-ct-col-form .wpcf7 .wpcf7-submit {
	background: var(--ttf-blue);
	border: none;
	border-radius: 2px;
	color: #fff;
	font-weight: 700;
	text-transform: none;
	letter-spacing: normal;
	padding: 16px 40px;
	cursor: pointer;
	transition: background 0.2s ease;
}

body.page-id-2718 .ttf-ct-col-form .wpcf7 input[type="submit"]:hover,
body.page-id-2718 .ttf-ct-col-form .wpcf7 .wpcf7-submit:hover {
	background: var(--ttf-navy);
	color: #fff;
}

.ttf-ct-map {
	border-radius: 2px;
	overflow: hidden;
	background: var(--ttf-hairline);
	aspect-ratio: 16 / 9;
}

.ttf-ct-map iframe {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 320px;
	border: 0;
}
body .wd-cat .wd-entities-title {
    text-transform: none;
}








/* ========== Media (always at bottom) ========== */
@media (max-width: 1200px) {
	body.home .ttf-hero-title,
	body.page-id-57 .ttf-hero-title,
	body.home h1.ttf-hero-title,
	body.page-id-57 h1.ttf-hero-title,
	.ttf-hero-title {
		font-size: 42px;
	}

	body.home .ttf-catalog .ttf-catalog-grid,
	body.page-id-57 .ttf-catalog .ttf-catalog-grid,
	.ttf-catalog .ttf-catalog-grid,
	.ttf-catalog-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 1024px) {
	:root {
		--ttf-section-y: 72px;
	}

	.ttf-footer-grid {
		grid-template-columns: 1fr 1fr;
		gap: 40px;
		margin-bottom: 48px;
	}

	.ttf-oa-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.ttf-br-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.ttf-cat-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 24px;
	}

	.ttf-br-single {
		grid-template-columns: 1fr;
		gap: 32px;
		padding-top: 56px;
		padding-bottom: 56px;
	}

	body.home .ttf-hero-title,
	body.page-id-57 .ttf-hero-title,
	body.home h1.ttf-hero-title,
	body.page-id-57 h1.ttf-hero-title,
	.ttf-hero-title {
		font-size: 36px;
	}

	body.page-id-2735 .ttf-ap-h1,
	.ttf-ap-h1 {
		font-size: 40px;
	}

	.ttf-hero-caption {
		position: relative;
		left: 0;
		bottom: 0;
		max-width: none;
		margin-top: 16px !important;
	}

	.ttf-process-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.ttf-process-grid::before {
		display: none;
	}

	.ttf-news-layout {
		grid-template-columns: 1fr;
	}

	body.home .ttf-catalog .ttf-catalog-grid,
	body.page-id-57 .ttf-catalog .ttf-catalog-grid,
	.ttf-catalog .ttf-catalog-grid,
	.ttf-catalog-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 24px;
	}

	body.home .ttf-brands .wd-col,
	body.page-id-57 .ttf-brands .wd-col {
		width: calc(50% - 12px);
		max-width: calc(50% - 12px);
		flex: 0 0 calc(50% - 12px);
	}

	.ttf-cta-contacts-grid {
		grid-template-columns: 1fr;
	}

	.ttf-home-cta .woodmart-title-container,
	.ttf-home-cta .title {
		font-size: 32px;
	}

	body.home .ttf-cta-form .vc_column-inner,
	body.page-id-57 .ttf-cta-form .vc_column-inner,
	body.home .ttf-cta-aside .vc_column-inner,
	body.page-id-57 .ttf-cta-aside .vc_column-inner {
		padding-left: 15px;
		padding-right: 15px;
	}

	.ttf-home-cta .wpcf7 .col-4,
	.ttf-home-cta .wpcf7 .col-6 {
		width: 100%;
		flex: 0 0 100%;
		margin-bottom: 14px;
	}

	.ttf-ap-comp-grid {
		grid-template-columns: 1fr 1fr;
	}

	body.single-product .woocommerce-product-gallery {
		padding: 16px;
	}

	.ttf-industries .promo-banner,
	.ttf-industries .banner-image {
		min-height: 240px;
		height: 240px;
	}
}

@media (max-width: 768px) {
	:root {
		--ttf-section-y: 56px;
	}

	body.home,
	body.page-id-57,
	body.page-id-2735,
	body.page-id-2718,
	body.ttf-industries-page,
	body.ttf-brands-page,
	body.ttf-catalog-page,
	body.single-product,
	body.tax-product_cat,
	body.tax-product_brand {
		overflow-x: clip;
	}

	.ttf-hero {
		padding-top: 40px;
		padding-bottom: 40px;
	}

	body.home .ttf-hero-title,
	body.page-id-57 .ttf-hero-title,
	body.home h1.ttf-hero-title,
	body.page-id-57 h1.ttf-hero-title,
	.ttf-hero-title {
		font-size: 28px;
		line-height: 1.2;
		word-wrap: break-word;
	}

	.ttf-hero-lead {
		font-size: 16px;
	}

	body.home .ttf-about .ttf-h2,
	body.page-id-57 .ttf-about .ttf-h2,
	.ttf-h2,
	body.home .woodmart-title-container.title,
	body.page-id-57 .woodmart-title-container.title,
	body.page-id-2735 .woodmart-title-container.title {
		font-size: 26px;
	}

	.ttf-rail-inner {
		flex-direction: column;
		align-items: flex-start;
		padding: 24px 0;
	}

	.ttf-rail-sep {
		display: none;
	}

	.ttf-process-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}

	body.home .ttf-catalog .ttf-catalog-grid,
	body.page-id-57 .ttf-catalog .ttf-catalog-grid,
	.ttf-catalog .ttf-catalog-grid,
	.ttf-catalog-grid {
		grid-template-columns: 1fr 1fr;
		gap: 16px;
	}

	body.home .ttf-brands .wd-col,
	body.page-id-57 .ttf-brands .wd-col {
		width: 100%;
		max-width: 100%;
		flex: 0 0 100%;
	}

	.ttf-news-side__media {
		width: 112px;
		height: 80px;
	}

	.ttf-news-main h3 {
		font-size: 22px;
	}

	.ttf-home-cta {
		padding-top: 56px;
		padding-bottom: 56px;
	}

	.ttf-home-cta .wpcf7 input[type="submit"],
	.ttf-home-cta .wpcf7 .wpcf7-submit {
		width: 100%;
	}

	.ttf-search-form input[type="search"] {
		padding-right: 110px;
		height: 56px;
		font-size: 15px;
	}

	body.home .ttf-hero .btn,
	body.home .ttf-hero .wd-button,
	body.page-id-57 .ttf-hero .btn,
	body.page-id-57 .ttf-hero .wd-button {
		display: block;
		width: 100%;
		margin-bottom: 10px;
		font-size: 16px;
		text-align: center;
		box-sizing: border-box;
	}

	.ttf-oa-hero,
	.ttf-ap-hero,
	.ttf-cat-hero {
		padding-top: 40px;
		padding-bottom: 40px;
	}

	body.page-id-2735 .ttf-ap-h1,
	.ttf-ap-h1 {
		font-size: 30px;
		line-height: 1.2;
		word-wrap: break-word;
	}

	.ttf-ap-lead {
		font-size: 16px;
	}

	/* Hide leftover theme titles above custom landings */
	body.ttf-catalog-page .entry-title.title,
	body.ttf-catalog-page h1.entry-title,
	body.tax-product_brand .entry-title.title,
	body.tax-product_brand h1.entry-title,
	body.tax-product_brand .wd-page-title,
	body.tax-product_brand .page-title {
		display: none;
	}

	body.tax-product_brand .ttf-ap-h1,
	body.ttf-catalog-page .ttf-ap-h1 {
		font-size: 30px;
	}

	.ttf-ap-spec,
	.ttf-ap-comp,
	.ttf-ap-audience,
	.ttf-ap-req {
		padding-top: 56px;
		padding-bottom: 56px;
	}

	.ttf-ap-comp-grid,
	.ttf-ap-cert-grid {
		grid-template-columns: 1fr;
	}

	body.page-id-2735 .ttf-ap-hero .btn,
	body.page-id-2735 .ttf-ap-hero .wd-button {
		display: block;
		width: 100%;
		margin-right: 0;
		text-align: center;
		box-sizing: border-box;
	}

	.ttf-oa-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.ttf-br-grid {
		grid-template-columns: 1fr;
	}

	.ttf-cat-grid {
		grid-template-columns: 1fr 1fr;
		gap: 16px;
	}

	.ttf-cat-body {
		padding-top: 56px;
		padding-bottom: 56px;
	}

	.ttf-cat-search input[type="search"] {
		padding-right: 110px;
		height: 56px;
	}

	.ttf-br-list {
		padding-top: 56px;
		padding-bottom: 56px;
	}

	.ttf-cat-hero-actions .btn,
	body.ttf-catalog-page .ttf-cat-hero-actions .btn {
		display: block;
		width: 100%;
		text-align: center;
		box-sizing: border-box;
	}

	.ttf-oa-list,
	.ttf-os-body,
	.ttf-ct-body {
		padding-top: 56px;
		padding-bottom: 56px;
	}

	.ttf-docs-grid {
		grid-template-columns: 1fr;
	}

	.ttf-docs-cta-title {
		font-size: 28px;
	}

	body.ttf-brands-page .ttf-br-hero .btn,
	body.ttf-brands-page .ttf-oa-hero .btn,
	body.ttf-brands-page .ttf-oa-hero .wd-button,
	.ttf-br-hero-actions .btn {
		display: block;
		width: 100%;
		margin-right: 0;
		text-align: center;
		box-sizing: border-box;
	}

	.ttf-footer {
		padding: 56px 0 32px;
	}

	.ttf-footer-grid {
		grid-template-columns: 1fr;
		gap: 32px;
		margin-bottom: 40px;
	}

	body.single-product .product_title,
	body.single-product .summary .product_title {
		font-size: 26px;
		line-height: 1.25;
	}

	.ttf-pdp-actions {
		flex-direction: column;
	}

	.ttf-pdp-actions .btn {
		width: 100%;
		text-align: center;
		box-sizing: border-box;
	}

	.ttf-pdp-facts {
		grid-template-columns: 1fr;
	}

	body.single-product .wpcf7 .col-4,
	body.single-product .wpcf7 .col-6 {
		width: 100%;
		flex: 0 0 100%;
	}

	body.single-product #tab-2716_custom,
	body.single-product .woocommerce-Tabs-panel[id*="2716"] {
		padding: 24px 16px;
		margin-left: auto;
		margin-right: auto;
		max-width: 100%;
		box-sizing: border-box;
	}

	body.single-product .product-image-summary,
	body.single-product .product-image-summary-wrap {
		max-width: 100%;
	}

	.ttf-footer-bottom {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
		padding-top: 32px;
	}

	.ttf-footer-legal {
		flex-direction: column;
		gap: 12px;
	}

	body.page-id-2718 .ttf-ct-col-form .wpcf7 .col-4,
	body.page-id-2718 .ttf-ct-col-form .wpcf7 .col-6 {
		width: 100%;
		flex: 0 0 100%;
	}

	.ttf-ct-form-card {
		padding: 20px;
	}

	.ttf-ct-link-lg {
		font-size: 20px;
		word-break: break-word;
	}

	.ttf-ct-map iframe {
		max-width: 100%;
		height: 280px;
	}

	body.ttf-industries-page .ttf-oa-hero .btn,
	body.ttf-industries-page .ttf-oa-hero .wd-button {
		display: block;
		width: 100%;
		margin-right: 0;
		text-align: center;
		box-sizing: border-box;
	}

	.ttf-os-copy h2 {
		font-size: 24px;
	}

	.ttf-os-copy p,
	.ttf-os-cats a {
		font-size: 16px;
	}

	.ttf-os-aside-card {
		padding: 24px;
	}

	.ttf-industries .promo-banner,
	.ttf-industries .banner-image {
		min-height: 200px;
		height: 200px;
	}

	.ttf-directions .banner-inner {
		padding: 20px;
	}

	.ttf-directions .vc_row_inner,
	.ttf-industries .vc_row-fluid,
	.ttf-industries .vc_row_inner {
		margin-left: 0;
		margin-right: 0;
	}

	body.home .container,
	body.page-id-57 .container,
	body.page-id-2735 .container,
	body.page-id-2718 .container,
	body.ttf-industries-page .container,
	body.ttf-brands-page .container,
	body.ttf-catalog-page .container,
	body.single-product .container {
		padding-left: 16px;
		padding-right: 16px;
	}
}

/* ========== Sitewide search overlay ========== */
.ttf-search-overlay[hidden] {
	display: none !important;
}

.ttf-search-overlay.is-open {
	display: flex !important;
	align-items: flex-start;
	justify-content: center;
	position: fixed;
	inset: 0;
	z-index: 100000;
	padding: 12vh 16px 24px;
	box-sizing: border-box;
}

.ttf-search-overlay__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(11, 31, 51, 0.55);
}

.ttf-search-overlay__panel {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 720px;
	margin: 0;
	padding: 48px 28px 24px;
	background: #fff;
	border-radius: 2px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.22);
	box-sizing: border-box;
}

.ttf-search-overlay .ttf-search-overlay__panel > .ttf-search-overlay__close {
	position: absolute !important;
	right: 12px !important;
	left: auto !important;
	top: 10px !important;
	bottom: auto !important;
	inset: 10px 12px auto auto !important;
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	background: transparent;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
	color: #6b7280;
	padding: 0;
	margin: 0;
	z-index: 5;
	float: none;
	transform: none;
}

.ttf-search-overlay .ttf-search-overlay__panel > .ttf-search-overlay__close:hover {
	color: var(--ttf-navy);
	background: #f3f4f6;
	border-radius: 2px;
}

.ttf-search-overlay__form {
	position: relative;
	margin: 0;
	display: block;
	border: 0;
	background: transparent;
	padding: 0;
}

.ttf-search-overlay__form::before,
.ttf-search-overlay__form::after,
.ttf-search-overlay__form .wd-clear-search,
.ttf-search-overlay__form .wd-search-results-wrapper {
	display: none !important;
}

.ttf-search-overlay__form input[type="search"],
.ttf-search-overlay__form input[name="s"] {
	width: 100%;
	height: 64px;
	border: 1px solid #d1d5db;
	border-radius: 2px;
	padding: 0 120px 0 24px;
	font-size: 16px;
	font-family: Inter, sans-serif;
	color: var(--ttf-navy);
	box-sizing: border-box;
	background: #fff;
	margin: 0;
	box-shadow: none;
	appearance: none;
	-webkit-appearance: none;
}

.ttf-search-overlay__form input[type="search"]::-webkit-search-decoration,
.ttf-search-overlay__form input[type="search"]::-webkit-search-cancel-button,
.ttf-search-overlay__form input[type="search"]::-webkit-search-results-button {
	display: none;
	-webkit-appearance: none;
}

.ttf-search-overlay__form input[type="search"]:focus,
.ttf-search-overlay__form input[name="s"]:focus {
	outline: none;
	border-color: var(--ttf-blue);
	box-shadow: 0 0 0 3px rgba(23, 105, 224, 0.12);
}

/* Win over WoodMart .searchform button / .wd-search-form button rules */
.ttf-search-overlay .ttf-search-overlay__form .ttf-search-overlay__submit,
.ttf-search-overlay form.ttf-search-overlay__form button.ttf-search-overlay__submit {
	position: absolute !important;
	right: 10px !important;
	left: auto !important;
	top: 50% !important;
	bottom: auto !important;
	transform: translateY(-50%) !important;
	float: none !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	background: var(--ttf-navy) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 2px;
	padding: 12px 22px !important;
	margin: 0 !important;
	font-weight: 600;
	font-size: 14px;
	font-family: Inter, sans-serif;
	line-height: 1;
	cursor: pointer;
	z-index: 3;
	min-width: 0;
	width: auto !important;
	height: auto !important;
	text-indent: 0 !important;
	overflow: visible;
	box-shadow: none;
}

.ttf-search-overlay .ttf-search-overlay__form .ttf-search-overlay__submit::before,
.ttf-search-overlay .ttf-search-overlay__form .ttf-search-overlay__submit::after {
	content: none !important;
	display: none !important;
	background: none !important;
}

.ttf-search-overlay .ttf-search-overlay__form .ttf-search-overlay__submit:hover {
	background: var(--ttf-blue) !important;
	color: #fff !important;
}

.ttf-search-overlay__hint {
	margin: 14px 0 0;
	font-size: 13px;
	color: #6b7280;
	line-height: 1.4;
}

body.ttf-search-open {
	overflow: hidden;
}

@media (max-width: 480px) {
	body.home .ttf-catalog .ttf-catalog-grid,
	body.page-id-57 .ttf-catalog .ttf-catalog-grid,
	.ttf-catalog .ttf-catalog-grid,
	.ttf-catalog-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.ttf-cat-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.ttf-process-grid {
		grid-template-columns: 1fr;
	}

	body.home .ttf-hero-title,
	body.page-id-57 .ttf-hero-title,
	body.home h1.ttf-hero-title,
	body.page-id-57 h1.ttf-hero-title,
	.ttf-hero-title,
	body.page-id-2735 .ttf-ap-h1,
	.ttf-ap-h1 {
		font-size: 26px;
	}

	.ttf-oa-card h3,
	.ttf-oa-card-title {
		font-size: 22px;
	}

	.ttf-br-card,
	.ttf-cat-card h3 {
		font-size: 17px;
	}

	.ttf-news-side__item {
		gap: 12px;
	}

	.ttf-news-side__media {
		width: 96px;
		height: 72px;
	}

	.ttf-search-overlay.is-open {
		padding-top: 8vh;
	}

	.ttf-search-overlay__panel {
		padding: 44px 16px 20px;
	}

	.ttf-search-overlay__form input[type="search"],
	.ttf-search-overlay__form input[name="s"] {
		height: 56px;
		padding-right: 108px;
		font-size: 15px;
	}

	.ttf-search-overlay .ttf-search-overlay__form .ttf-search-overlay__submit {
		padding: 10px 18px !important;
		font-size: 13px;
	}

	body.single-product .woocommerce-product-gallery {
		padding: 12px;
	}
}

/* Desktop: keep WoodMart desktop columns only (never force-show mobile row) */
@media (min-width: 1280px) {
	.whb-header .whb-column.whb-hidden-lg,
	.whb-header .whb-column.whb-hidden-desktop,
	.whb-header .whb-mobile-left,
	.whb-header .whb-mobile-right,
	.whb-header .whb-col-mobile.whb-hidden-lg {
		display: none !important;
	}

	.whb-header .whb-column.whb-visible-lg {
		display: flex !important;
	}
}

/* Tablet: switch to burger earlier than WoodMart default (1024) */
@media (min-width: 1025px) and (max-width: 1279px) {
	.whb-header .whb-hidden-mobile,
	.whb-header .whb-visible-lg {
		display: none !important;
	}

	.whb-header .whb-column.whb-hidden-desktop,
	.whb-header .whb-column.whb-hidden-lg,
	.whb-header .whb-mobile-left,
	.whb-header .whb-mobile-right,
	.whb-header .whb-col-mobile {
		display: flex !important;
	}

	.whb-header .whb-column.whb-empty-column {
		display: none !important;
	}

	.whb-header .wd-tools-element.whb-hidden-desktop,
	.whb-header .wd-header-mobile-nav {
		display: flex !important;
		align-items: center;
	}

	.whb-top-bar-inner {
		height: var(--wd-top-bar-sm-h);
		max-height: var(--wd-top-bar-sm-h);
	}

	.whb-general-header-inner {
		height: 88px;
		max-height: none;
		min-height: 88px;
	}

	.whb-header-bottom-inner {
		height: var(--wd-header-bottom-sm-h);
		max-height: var(--wd-header-bottom-sm-h);
	}

	.whb-sticky-prepared {
		padding-top: var(--wd-header-sm-h);
	}
}

@media (max-width: 1279px) {
	:root {
		--wd-header-general-sm-h: 88px !important;
	}

	.whb-header .whb-general-header,
	.whb-header .whb-general-header-inner,
	.whb-header .whb-flex-row.whb-general-header-inner {
		min-height: 88px;
		height: 88px;
		max-height: none;
		align-items: center;
	}

	/* Logo left, burger right — only in mobile/tablet header */
	.whb-header .whb-mobile-left,
	.whb-header .whb-mobile-right,
	.whb-header .whb-col-mobile,
	.whb-header .wd-header-mobile-nav,
	.whb-header .wd-header-mobile-nav > a {
		display: flex;
		align-items: center;
	}

	.whb-header .whb-mobile-left,
	.whb-header .whb-mobile-right,
	.whb-header .whb-col-mobile {
		align-self: stretch;
		min-height: 88px;
		margin-top: 0;
		padding-top: 0;
	}

	.whb-header .whb-mobile-left {
		order: 2;
		justify-content: flex-end;
	}

	.whb-header .whb-mobile-right {
		order: 1;
		justify-content: flex-start;
	}

	.whb-header .whb-mobile-center {
		order: 0;
	}

	.whb-header .wd-header-mobile-nav,
	.whb-header .wd-header-mobile-nav > a {
		justify-content: center;
		margin-top: 0;
		padding-top: 0;
		align-self: center;
		height: 100%;
	}
}

/* Cross-reference page */
body.page-id-2964 .page-title {
	display: none;
}

body.page-id-2964 .site-content {
	margin-bottom: 0;
}

.ttf-xref-hero {
	padding: clamp(64px, 7vw, 112px) 0;
	background:
		linear-gradient(110deg, rgba(5, 31, 50, .98), rgba(8, 55, 84, .93)),
		linear-gradient(135deg, #061d2e, #0b466b);
	color: #fff;
}

.ttf-xref-hero .ttf-xref-kicker {
	margin-bottom: 16px;
	color: #6db9e8;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .11em;
	text-transform: uppercase;
}

.ttf-xref-hero h1 {
	max-width: 880px;
	margin-bottom: 18px;
	color: #fff;
	font-size: clamp(38px, 4.4vw, 72px);
	line-height: 1.03;
	letter-spacing: -.035em;
}

.ttf-xref-hero p {
	max-width: 760px;
	margin: 0;
	color: rgba(255, 255, 255, .78);
	font-size: clamp(17px, 1.35vw, 21px);
	line-height: 1.6;
}

.ttf-xref-section {
	padding: clamp(56px, 6vw, 96px) 0;
	background: #f4f7f9;
}

.ttf-xref-intro {
	max-width: 820px;
	margin-bottom: 32px;
}

.ttf-xref-intro h2 {
	margin-bottom: 12px;
	font-size: clamp(28px, 3vw, 44px);
	line-height: 1.12;
}

.ttf-xref-intro p {
	margin: 0;
	color: #5c6b75;
	font-size: 17px;
	line-height: 1.65;
}

.ttf-xref-toolbar {
	display: flex;
	align-items: flex-end;
	gap: 14px;
	margin-bottom: 18px;
}

.ttf-xref-search-wrap {
	flex: 1 1 auto;
}

.ttf-xref-search-wrap label {
	display: block;
	margin-bottom: 8px;
	color: #142f42;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.ttf-xref-search-wrap input {
	width: 100%;
	height: 52px;
	margin: 0;
	padding: 0 18px;
	border: 1px solid #cbd5dc;
	border-radius: 4px;
	background: #fff;
	box-shadow: none;
	font-size: 16px;
}

.ttf-xref-search-wrap input:focus {
	border-color: #1477b8;
	box-shadow: 0 0 0 3px rgba(20, 119, 184, .12);
}

.ttf-xref-clear {
	min-width: 128px;
	height: 52px;
	padding: 0 22px;
	border: 1px solid #cbd5dc;
	border-radius: 4px;
	background: #fff;
	color: #17384f;
	font-weight: 700;
}

.ttf-xref-clear:hover {
	border-color: #1477b8;
	background: #edf6fb;
}

.ttf-xref-count {
	margin: 0 0 14px;
	color: #64747e;
	font-size: 14px;
}

.ttf-xref-table-wrap {
	overflow: hidden;
	border: 1px solid #dce4e9;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 12px 34px rgba(17, 48, 69, .07);
}

.ttf-xref-table {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
}

.ttf-xref-table th,
.ttf-xref-table td {
	padding: 17px 18px;
	border: 0;
	border-bottom: 1px solid #e5ebef;
	text-align: left;
	vertical-align: middle;
}

.ttf-xref-table th {
	background: #092b42;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .045em;
	line-height: 1.35;
	text-transform: uppercase;
}

.ttf-xref-table td {
	color: #263c4b;
	font-size: 14px;
	line-height: 1.45;
}

.ttf-xref-table tbody tr:nth-child(even) {
	background: #f8fafb;
}

.ttf-xref-table tbody tr:hover {
	background: #eef6fa;
}

.ttf-xref-table tbody tr:last-child td {
	border-bottom: 0;
}

.ttf-xref-table td:first-child,
.ttf-xref-table td:nth-child(3) {
	color: #092f49;
	font-weight: 700;
}

.ttf-xref-badge {
	display: inline-block;
	padding: 5px 9px;
	border-radius: 3px;
	background: #e7f3f9;
	color: #0d618f;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
}

.ttf-xref-empty {
	padding: 28px;
	border: 1px solid #dce4e9;
	border-radius: 8px;
	background: #fff;
	color: #5c6b75;
	text-align: center;
}

.ttf-xref-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	margin-top: 34px;
	padding: clamp(28px, 4vw, 48px);
	border-radius: 8px;
	background: #082a40;
	color: #fff;
}

.ttf-xref-cta h2 {
	margin-bottom: 8px;
	color: #fff;
	font-size: clamp(24px, 2.4vw, 36px);
}

.ttf-xref-cta p {
	margin: 0;
	color: rgba(255, 255, 255, .72);
}

.ttf-xref-cta .btn {
	flex: 0 0 auto;
}

@media (max-width: 767px) {
	.ttf-xref-hero {
		padding: 52px 0;
	}

	.ttf-xref-toolbar,
	.ttf-xref-cta {
		align-items: stretch;
		flex-direction: column;
	}

	.ttf-xref-clear {
		width: 100%;
	}

	.ttf-xref-table-wrap {
		overflow: visible;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}

	.ttf-xref-table,
	.ttf-xref-table tbody,
	.ttf-xref-table tr,
	.ttf-xref-table td {
		display: block;
		width: 100%;
	}

	.ttf-xref-table thead {
		display: none;
	}

	.ttf-xref-table tbody tr {
		margin-bottom: 14px;
		padding: 10px 16px;
		border: 1px solid #dce4e9;
		border-radius: 7px;
		background: #fff;
		box-shadow: 0 7px 20px rgba(17, 48, 69, .05);
	}

	.ttf-xref-table tbody tr:nth-child(even),
	.ttf-xref-table tbody tr:hover {
		background: #fff;
	}

	.ttf-xref-table td {
		display: grid;
		grid-template-columns: minmax(110px, 39%) 1fr;
		gap: 12px;
		padding: 11px 0;
		border-bottom: 1px solid #e7edf0;
		font-size: 13px;
	}

	.ttf-xref-table td:last-child {
		border-bottom: 0;
	}

	.ttf-xref-table td::before {
		content: attr(data-label);
		color: #71808a;
		font-size: 11px;
		font-weight: 700;
		letter-spacing: .03em;
		line-height: 1.4;
		text-transform: uppercase;
	}

	.ttf-xref-cta .btn {
		width: 100%;
		text-align: center;
	}
}
