/*
Theme Name: GeneratePress Child
Theme URI: https://generatepress.com
Template: generatepress
Author: Tom Usborne
Author URI: https://generatepress.com/about
Description: GeneratePress is a lightweight WordPress theme built with a focus on speed and usability. Performance is important to us, which is why a fresh GeneratePress install adds less than 10kb (gzipped) to your page size. We take full advantage of the block editor (Gutenberg), which gives you more control over creating your content. If you use page builders, GeneratePress is the right theme for you. It is completely compatible with all major page builders, including Beaver Builder and Elementor. Thanks to our emphasis on WordPress coding standards, we can boast full compatibility with all well-coded plugins, including WooCommerce. GeneratePress is fully responsive, uses valid HTML/CSS, and is translated into over 25 languages by our amazing community of users. A few of our many features include 60+ color controls, powerful dynamic typography, 5 navigation locations, 5 sidebar layouts, dropdown menus (click or hover), and 9 widget areas. Learn more and check out our powerful premium version at https://generatepress.com
Tags: two-columns,three-columns,one-column,right-sidebar,left-sidebar,footer-widgets,blog,e-commerce,flexible-header,full-width-template,buddypress,custom-header,custom-background,custom-menu,custom-colors,sticky-post,threaded-comments,translation-ready,rtl-language-support,featured-images,theme-options
Version: 3.6.1.1776524321
Updated: 2026-04-18 14:58:41

*/
 
.separate-containers .inside-article, .separate-containers .comments-area, .separate-containers .page-header, .one-container .container, .separate-containers .paging-navigation, .inside-page-header{
    background-color:transparent;
} 
.btn,
.woocommerce a.button.btn,
.woocommerce button.button.btn,
.woocommerce input.button.btn,
.woocommerce #respond input#submit.btn {
	padding: var(--tc-btn-padding-y) var(--tc-btn-padding-x);
	font-size: var(--tc-btn-font-size);
	font-family: var(--tc-font-body);
	font-weight: var(--tc-btn-font-weight);
	line-height: 1.4;
	border-radius: var(--tc-btn-radius);
}

.btn-primary{
    background-color: #b12f27;
    border-color: #b12f27;
    color: #fff;
}
.btn-primary:hover, .btn-primary:active, .btn-primary:focus{
    background-color: #94261f;
    border-color: #94261f;
}

/* -------------------------------------------------------------------------
   Typography — Poppins (global), Anton (titles)
   ------------------------------------------------------------------------- */

:root {
	--tc-font-body: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	--tc-font-title: "Anton", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	/* Match Bootstrap ~rounded-4 / cards site-wide */
	--tc-radius-sm: 0.375rem;
	--tc-radius-md: 0.5rem;
	--tc-radius-card: 0.75rem;
	--tc-radius-xl: 1rem;
	/* Global buttons (.btn) */
	--tc-btn-padding-y: 14px;
	--tc-btn-padding-x: 24px;
	--tc-btn-font-size: 14px;
	--tc-btn-font-weight: 600;
	--tc-btn-radius: var(--tc-radius-md);
}

body {
	font-family: var(--tc-font-body);
}

h1,
h2,
h3,
h4,
h5,
h6,
.main-title,
.page-title,
.entry-title, 
.tc-pl-hero-title { 
	font-weight: bold;
}

.tc-hero-heading{font-family: var(--tc-font-title);font-weight: 400;}

ul{margin-left:0px;}

/* -------------------------------------------------------------------------
   Layout — child theme only (never edit GeneratePress parent; survives updates)
   ------------------------------------------------------------------------- */

body.no-sidebar .site-content {
	flex-wrap: wrap;
	min-width: 0;
}

.site,
#page {
	overflow-x: clip;
	max-width: 100%;
}

/* -------------------------------------------------------------------------
   Products listing + details
   ------------------------------------------------------------------------- */

/* --- Products listing banner uses shared `.tc-pl-hero*` (About, Price List, policies) --- */

.tc-products-catalog-wrap.tc-products-surface {
	background: #ffffff;
	border-top: none;
}

/* Non-catalog pages keep the neutral surface tint */
.tc-products-surface:not(.tc-products-catalog-wrap) {
	background: linear-gradient(180deg, #f0eeeb 0%, #e8e5e0 100%);
}

.tc-products-results {
	margin: 0;
	font-family: var(--tc-font-body);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	color: #1a1a1a;
}

.tc-products-empty {
	font-size: 0.9375rem;
	color: #5c5c5c;
}

.tc-products-filter {
	--tc-filter-bg: #f9f9f9;
	--tc-filter-border: #e4e4e4;
	background: var(--tc-filter-bg);
	border: 1px solid var(--tc-filter-border);
	border-radius: 0;
	padding: clamp(1.15rem, 2.3vw, 1.75rem);
}

.tc-products-filter-heading {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	font-family: var(--tc-font-body);
	font-weight: 700;
	font-size: 0.8125rem;
	letter-spacing: 0.12em;
	margin: 0 0 1.15rem;
	text-transform: uppercase;
	color: #111;
	line-height: 1.2;
}

.tc-products-filter-icon {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	color: #111;
}

.tc-products-filter-icon svg {
	display: block;
}

.tc-products-filter-list {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.tc-products-filter-list > li {
	margin: 0;
}

.tc-products-filter-link {
	display: block;
	padding: 0.9375rem 1.25rem;
	border-radius: 2px;
	border: 1px solid #ededed;
	text-decoration: none;
	color: #333;
	font-weight: 700;
	font-size: 0.875rem;
	line-height: 1.3;
	background: #fff;
	text-align: left;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
	outline: none;
}

.tc-products-filter-link:hover {
	background: #f3f3f3;
	border-color: #e0e0e0;
	color: #222;
}

.tc-products-filter-link:focus-visible {
	outline: 2px solid var(--tc-brand, #b12f27);
	outline-offset: 2px;
	color: #222;
}

.tc-products-filter-link.is-active {
	background: var(--tc-brand, #b12f27);
	border-color: var(--tc-brand, #b12f27);
	color: #fff;
}

.tc-products-filter-link.is-active:hover {
	background: var(--tc-cta-hover, #94261f);
	border-color: var(--tc-cta-hover, #94261f);
	color: #fff;
}

.tc-products-filter-link.is-active:focus-visible {
	outline-color: #fff;
	color: #fff;
}

.tc-products-grid {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	gap: 1.5rem;
}

@media (min-width: 576px) {
	.tc-products-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.75rem;
	}
}

@media (min-width: 992px) {
	.tc-products-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: clamp(1.25rem, 2vw, 2rem);
	}
}

.tc-products-card {
	position: relative;
	z-index: 0;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid #ebebeb;
	box-shadow: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.tc-products-card:hover .tc-products-card-media-inner img,
.tc-products-card:focus-within .tc-products-card-media-inner img {
	transform: scale(1.03);
}

@media (prefers-reduced-motion: reduce) {
	.tc-products-card:hover .tc-products-card-media-inner img,
	.tc-products-card:focus-within .tc-products-card-media-inner img {
		transform: none;
	}
}

.tc-products-card-media {
	display: block;
	text-decoration: none;
	color: inherit;
	border-bottom: none;
	overflow: hidden;
}

.tc-products-card-media-inner {
	position: relative;
	aspect-ratio: 3 / 2;
	background: #ededed;
	overflow: hidden;
}

.tc-products-card-badges {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.35rem;
	max-width: calc(100% - 0.5rem);
	pointer-events: none;
}

.tc-products-card-badge {
	display: inline-block;
	padding: 0.4rem 0.75rem;
	background: var(--tc-brand, #b12f27);
	color: #fff;
	font-family: var(--tc-font-body);
	font-size: 0.625rem;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.tc-products-card-badge--delivery {
	background: #111;
	color: #fff;
	letter-spacing: 0.08em;
}

.tc-products-card-badge--sale {
	background: var(--tc-brand, #b12f27);
}

.tc-products-card-badge--popular {
	background: #2d5a27;
}

.tc-product-special-delivery-label {
	margin-top: 0;
}

.tc-product-special-delivery-label__pill {
	display: inline-block;
	padding: 0.45rem 0.85rem;
	background: #111;
	color: #fff;
	font-family: var(--tc-font-body);
	font-size: 0.6875rem;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.tc-products-card-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
	will-change: transform;
}

.tc-products-card-img--ph {
	width: 100%;
	height: 100%;
	background: #e8e8e8;
}

.tc-products-card-body {
	flex: 1 1 auto;
	padding: 1.25rem;
	gap: 0;
	min-height: 0;
	border: 1px solid #E4E4E7;
}

.tc-products-card-title {
	font-family: var(--tc-font-body);
	font-weight: 800;
	font-size: clamp(0.8125rem, 0.35vw + 0.75rem, 0.9375rem);
	letter-spacing: 0.06em;
	line-height: 1.35;
	text-transform: uppercase;
	margin: 0 0 0.5rem;
}

.tc-products-card-title-link {
	color: #111;
	text-decoration: none;
	transition: color 0.15s ease;
	display: inline;
	outline-offset: 2px;
	letter-spacing: 0;
}

.tc-products-card-title-link:hover,
.tc-products-card-title-link:focus-visible {
	color: var(--tc-brand);
}

.tc-products-card-attrs {
	margin: 0;
	font-size: 0.8125rem;
	line-height: 1.55;
	font-weight: 400;
	color: #777;
	flex: 0 1 auto;
}

.tc-products-card-divider {
	display: block;
	width: 100%;
	margin: 0.85rem 0 1rem;
	border: none;
	border-top: 1px solid #E4E4E7;
	flex-shrink: 0;
	opacity: 1;
}

.tc-products-card-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.85rem;
	margin-top: auto;
	padding-top: 0.15rem;
}

.tc-products-card-details {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-decoration: none;
	color: #b12f27;
	white-space: nowrap;
}

.tc-products-card-details:hover,
.tc-products-card-details:focus-visible {
	opacity: 0.85;
	color: var(--tc-brand);
	text-decoration: underline;
	text-underline-offset: 2px;
	outline: none;
}

@media (max-width: 991.98px) {
	.tc-products-card-actions {
		flex-wrap: wrap;
		gap: 0.5rem;
	}

	.tc-products-card-details {
		white-space: normal;
		flex: 1 1 auto;
		min-width: 0;
	}

	.tc-products-card-enquire {
		flex: 1 1 auto;
		min-width: 0;
	}
}

.tc-products-card-enquire {
	flex-shrink: 0;
	border: none;
	background: #000;
	color: #fff;
	text-decoration: none;
	box-shadow: none;
	transition: opacity 0.15s ease, background 0.15s ease;
}

.tc-products-card-enquire:hover,
.tc-products-card-enquire:focus-visible {
	opacity: 0.94;
	background: #161616;
	color: #fff;
}

.tc-products-cta-ribbon {
	background: #b12f27;
	color: #fff;
}

.tc-products-cta-heading {
	font-family: var(--tc-font-body);
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1.2;
	font-size: clamp(1.35rem, 2.3vw + 0.85rem, 2.375rem);
	color: #fff;
	margin-bottom: 0.5rem;
}

.tc-products-cta-sub {
	font-size: clamp(0.875rem, 0.35vw + 0.8125rem, 1rem);
	line-height: 1.65;
	max-width: 36rem;
	color: rgba(255, 255, 255, 0.94);
	font-weight: 400;
	margin-bottom: 0;
}

.tc-products-cta-inner {
	position: relative;
	z-index: 1;
	max-width: 48rem;
}

.tc-products-cta-btn {
	min-height: auto;
	padding: var(--tc-btn-padding-y) var(--tc-btn-padding-x);
	font-size: var(--tc-btn-font-size);
	font-weight: var(--tc-btn-font-weight);
	line-height: 1.4;
	border-radius: var(--tc-btn-radius);
	border: none;
	background: #fff;
	color: #111;
	box-shadow: none;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-decoration: none;
	transition: opacity 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.tc-products-cta-btn:hover,
.tc-products-cta-btn:focus-visible {
	opacity: 0.94;
	background: #f2f2f2;
	color: #000;
	outline-offset: 2px;
	outline-color: rgba(255, 255, 255, 0.9);
}

.tc-products-pagination {
	width: 100%;
	text-align: center;
}

.tc-products-pagination .page-numbers {
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.35rem;
	list-style: none;
	padding: 0;
	margin: 0;
}

.tc-products-pagination .page-numbers a,
.tc-products-pagination .page-numbers span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.4rem;
	height: 2.4rem;
	border-radius: 0;
	padding: 0 0.55rem;
	border: 1px solid #dcdcdc;
	background: #fff;
	color: #111;
	text-decoration: none;
	font-size: 0.8125rem;
	font-weight: 600;
}

.tc-products-pagination .page-numbers span.dots {
	border-color: transparent;
	background: transparent;
	min-width: auto;
	padding: 0 0.4rem;
}

.tc-products-pagination .page-numbers .current {
    background: #dcdcdc;
    border-color: #dcdcdc;
    color: #7c7c7c;
}
/* -------------------------------------------------------------------------
   Single product detail page (`/?pid=` on /product/)
   ------------------------------------------------------------------------- */

.tc-product-detail-wrap {
	background: #fff;
	padding-bottom: 0;
}

/* Breadcrumbs disabled site-wide — see inc/timber-disable-breadcrumbs.php */
.tc-product-detail-bc-banner,
.tc-product-detail-bc,
.tc-wc-cart-bc,
.tc-wc-checkout-bc,
.woocommerce-breadcrumb,
nav[aria-label="Breadcrumb"] {
	display: none !important;
}

.tc-product-detail-gallery__surface {
	border-color: #e8e8e8 !important;
	border-width: 1px;
}

.tc-product-detail-gallery__thumb {
	width: 4.125rem;
	height: 4.125rem;
	flex-shrink: 0;
	opacity: 0.82;
	transition:
		opacity 0.15s ease,
		box-shadow 0.15s ease,
		border-color 0.15s ease;
	cursor: pointer;
	border: 1px solid #e5e5e5;
	box-sizing: border-box;
	border-radius: 0.625rem !important;
}

.tc-product-detail-gallery__thumb.is-active {
	opacity: 1;
	box-shadow: none;
	border: 1px solid var(--tc-brand, #b12f27);
}

.tc-product-detail-gallery__thumb:focus-visible {
	outline: 2px solid var(--tc-brand, #b12f27);
	outline-offset: 2px;
}

.tc-product-detail-gallery__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0.5rem !important;
}

.tc-product-detail-gallery__main {
	border-radius: 0.875rem !important;
}

.tc-product-detail-gallery__main-img {
	border-radius: 0.875rem !important;
}

.tc-product-detail-panel {
	background: #ffffff;
	box-shadow:
		0 1px 0 rgba(0, 0, 0, 0.04),
		0 8px 28px rgba(0, 0, 0, 0.05);
	border: 1px solid #ececec;
}

.tc-product-detail-title {
	font-family: var(--tc-font-title, var(--tc-font-body)); 
	font-size: clamp(1.1875rem, 1.7vw + 0.82rem, 2rem);
	letter-spacing: 0.05em;
	line-height: 1.18;
	color: #0a0a0a;
}

.tc-product-detail-share-label {
	letter-spacing: 0.04em;
	color: #6b6b6b !important;
	font-weight: 600 !important;
	font-size: 0.8125rem;
}

.tc-product-detail-share-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.375rem;
	height: 2.375rem;
	border-radius: 50%;
	border: 1px solid #dde3ec;
	color: #4a6278;
	background: linear-gradient(180deg, #f6f8fc 0%, #eef2f9 100%);
	transition:
		border-color 0.15s ease,
		color 0.15s ease,
		background 0.15s ease,
		box-shadow 0.15s ease;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.tc-product-detail-share-link:hover {
	border-color: #c9d4e8;
	color: var(--tc-brand, #b12f27);
	background: #fffefb;
	box-shadow: 0 2px 6px rgba(177, 47, 39, 0.12);
}

.tc-product-detail-share-link .bi {
	font-size: 1rem;
	vertical-align: 0;
}

.tc-product-detail-cat {
	font-weight: 600;
	color: var(--tc-brand, #b12f27);
}

.tc-product-detail-cat:hover {
	text-decoration: underline !important;
}

.tc-product-detail-meta {
	font-size: 0.9375rem;
	line-height: 1.5;
}

.tc-product-detail-meta-dt {
	font-weight: 700;
	color: #111111;
}

.tc-product-detail-meta-dd {
	font-weight: 400;
	color: #2a2a2a;
}

.tc-product-detail-intro {
	font-family: var(--tc-font-body);
	line-height: 1.7;
	font-size: 1rem;
	color: #353535;
}

.tc-product-detail-intro ul, .tc-product-detail-intro ol{margin-left: 20px;}

.tc-product-detail-intro p:last-child {
	margin-bottom: 0;
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger{
	z-index: 2;
}
.woocommerce div.product form.cart .variations select {
    min-width: inherit;
}

.tc-product-detail-specs-panel {
	background: #f5f5f5;
	border: 1px solid #e8e8e8;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

.tc-product-detail-specs-heading {
	font-family: var(--tc-font-body);
	font-weight: 800;
	font-size: 0.8125rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #0a0a0a;
	margin: 0 0 1.05rem;
}

.tc-product-detail-specs-list > li > span {
	font-size: 0.9375rem;
	color: #2c2c2c;
	line-height: 1.45;
}

.tc-product-detail-specs-list > li + li {
	margin-top: 0.72rem;
}

.tc-product-detail-check-ico {
	color: var(--tc-brand, #b12f27);
	font-size: 1.3rem;
	line-height: 1;
	position: relative;
	top: 0.125rem;
}

.tc-product-detail-send {
	background: var(--tc-brand, #b12f27) !important;
	color: #fff !important;
	border: none !important;
	font-weight: 700 !important;
	/* letter-spacing: 0.1em;
	font-size: 0.84375rem;
	border-radius: 0.875rem !important;
	box-shadow:
		0 4px 14px rgba(177, 47, 39, 0.35),
		0 1px 2px rgba(0, 0, 0, 0.08); */
}

.tc-product-detail-send:hover,
.tc-product-detail-send:focus-visible {
	background: var(--tc-cta-hover, #94261f) !important;
	color: #fff !important;
	box-shadow:
		0 6px 18px rgba(148, 38, 31, 0.4),
		0 1px 3px rgba(0, 0, 0, 0.1);
}

.text-brand-icon {
	color: var(--tc-brand, #b12f27);
}

.tc-product-detail-trust-ring {
	width: 3rem;
	height: 3rem;
	margin-left: auto;
	margin-right: auto;
	border-radius: 50%;
	border: 2px solid rgba(177, 47, 39, 0.88);
	box-sizing: border-box;
	line-height: 1;
	background: rgba(255, 253, 252, 0.85);
	box-shadow: 0 1px 3px rgba(177, 47, 39, 0.12);
}

.tc-product-detail-trust-ico {
	display: inline-block;
	line-height: 1;
	vertical-align: 0;
	color: #922a22;
	font-size: 1.4rem !important;
}

.tc-product-detail-trust-label {
	font-size: 0.8125rem;
	font-weight: 700 !important;
	color: #8f241c !important;
	letter-spacing: 0.02em;
	line-height: 1.35;
	padding: 0 0.35rem;
}

@media (max-width: 575.98px) {
	.tc-product-detail-trust > .col {
		padding-left: 0.25rem;
		padding-right: 0.25rem;
	}

	.tc-product-detail-trust-ring {
		width: 2.5rem;
		height: 2.5rem;
	}

	.tc-product-detail-trust-ico {
		font-size: 1.125rem !important;
	}

	.tc-product-detail-trust-label {
		font-size: 0.625rem;
		line-height: 1.25;
		padding: 0 0.1rem;
	}
}

/* Applications / Key features — paired white cards (product detail mock) */
.tc-product-detail-dual-section {
	margin-top: 0;
}

.tc-product-detail-dual-grid {
	--bs-gutter-x: clamp(1.35rem, 3.2vw, 2.75rem);
	--bs-gutter-y: clamp(1.25rem, 2.5vw, 1.75rem);
}

.tc-product-detail-dual-panel {
	box-sizing: border-box;
	padding: clamp(1.35rem, 3vw, 2.125rem);
	background: #fff;
	border: 1px solid #dcdcdc;
	border-radius: 14px;
	box-shadow: none;
}

.tc-product-detail-dual-heading {
	font-family: var(--tc-font-title, var(--tc-font-body));
	font-weight: 400;
	font-size: clamp(0.96875rem, 1vw + 0.8125rem, 1.125rem);
	letter-spacing: 0.065em;
	line-height: 1.25;
	text-transform: uppercase;
	color: #0a0a0a;
	margin: 0 0 clamp(1.1rem, 2vw, 1.55rem);
}

.tc-product-detail-split-list__row {
	display: flex;
	align-items: flex-start;
	column-gap: 0.8125rem;
}

.tc-product-detail-split-list__row + .tc-product-detail-split-list__row {
	margin-top: 0.875rem;
}

.tc-product-detail-split-list__ico {
	flex-shrink: 0;
	position: relative;
	top: 0.12em;
	color: var(--tc-brand, #b12f27);
	font-size: 1.3rem;
	line-height: 1.15;
	vertical-align: 0;
}

.tc-product-detail-split-list__ico.bi::before {
	font-size: inherit;
	vertical-align: 0;
}

.tc-product-detail-split-list__text {
	font-family: var(--tc-font-body);
	font-weight: 400;
	font-size: 0.9375rem;
	line-height: 1.55;
	color: #292929;
	letter-spacing: 0;
}

/* Legacy subtitle class kept if referenced elsewhere */
.tc-product-detail-subtitle {
	font-family: var(--tc-font-body);
	font-weight: 800;
	font-size: 0.875rem !important;
	letter-spacing: 0.1em;
	color: #111;
}

/* .tc-product-detail-related-title {
	letter-spacing: 0.1em;
	font-size: 0.9375rem;
	font-family: var(--tc-font-body);
	color: #111;
} */

.tc-product-detail-related-media img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.tc-product-detail-related-card {
	transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
	border: 1px solid #ddd;
	background: #fff;
	position: relative;
}

.tc-product-detail-related-card:hover {
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.07);
	transform: translateY(-2px);
	border-color: #cfcfcf;
}

/* .tc-product-detail-related-name {
	transition: color 0.15s ease;
	font-size: 0.7rem !important;
	letter-spacing: 0.06em !important;
} */

.tc-product-detail-related-card:hover .tc-product-detail-related-name {
	color: var(--tc-brand, #b12f27) !important;
}

@media (max-width: 991.98px) {
	.tc-product-detail-gallery {
		flex-direction: column;
		flex-wrap: nowrap;
	}

	.tc-product-detail-gallery__thumbs {
		flex-direction: row !important;
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		width: 100%;
		padding-bottom: 0.35rem;
		gap: 0.65rem !important;
		justify-content: flex-start !important;
	}

	.tc-product-detail-gallery__main {
		width: 100%;
		min-height: 16rem;
	}
}

@media (min-width: 992px) {
	.tc-product-detail-gallery__thumb {
		width: 4.375rem;
		height: 4.375rem;
	}
}

body.no-sidebar #primary.content-area,
body.no-sidebar .content-area {
	flex: 1 1 100%;
	max-width: 100%;
	width: 100%;
	min-width: 0;
}
.full-width-content .container.grid-container {
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
}

@media (max-width: 767.98px) {
	.full-width-content .container.grid-container {
		padding-left: max(0.75rem, env(safe-area-inset-left, 0px));
		padding-right: max(0.75rem, env(safe-area-inset-right, 0px));
	}
}

/* -------------------------------------------------------------------------
   Header
   ------------------------------------------------------------------------- */

.tc-header {
	--tc-topbar-bg: #111111;
	--tc-topbar-text: #ffffff;
	--tc-main-bg: #ffffff;
	--tc-nav-color: #333333;
	--tc-nav-muted: #555555;
	--tc-brand: #b12f27;
	--tc-cta-text: #ffffff;
	--tc-cta-hover: #94261f;
	--tc-active: #b12f27;
	--tc-main-height: 84px;
	--tc-topbar-font: 13px;
	--tc-border-subtle: #e8e8e8;
	--tc-dropdown-bg: #ffffff;
	--tc-dropdown-text: #333333;
	/* Products mega: same family as top bar + CTA, no separate tan */
	--tc-mega-sidebar-bg: var(--tc-topbar-bg);
	--tc-mega-side-link-hover: rgba(255, 255, 255, 0.1);
	--tc-mega-side-accent: rgba(177, 47, 39, 0.45);
	--tc-mega-surface: linear-gradient(180deg, #ffffff 0%, #f8f6f5 100%);

	background: var(--tc-main-bg);
	color: var(--tc-nav-color);
	font-family: var(--tc-font-body);
}

.tc-header.is-scrolled {
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.08);
}

/* Top announcement ribbon (above header) */
.tc-announcement-ribbon {
	background: var(--tc-announcement-bg, #c94840);
	color: var(--tc-announcement-color, #fff);
	border-bottom: 1px solid rgba(0, 0, 0, 0.12);
	font-family: var(--tc-font-body);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.35;
	text-transform: uppercase;
}

.tc-announcement-ribbon__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.65rem 1rem;
	margin: 0;
	padding: 0.55rem 0.75rem;
	text-align: center;
	color: inherit;
}

.tc-announcement-ribbon__text {
	flex: 1 1 auto;
	margin: 0;
	min-width: 0;
}

.tc-announcement-ribbon__btn {
	flex-shrink: 0;
	padding: 0.45rem 1rem !important;
	font-size: 0.75rem !important;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	line-height: 1.25;
	background: #fff !important;
	border: 1px solid rgba(255, 255, 255, 0.85) !important;
	color: var(--tc-brand, #b12f27) !important;
	white-space: nowrap;
}

.tc-announcement-ribbon__btn:hover,
.tc-announcement-ribbon__btn:focus-visible {
	background: #f5f5f5 !important;
	border-color: #fff !important;
	color: var(--tc-cta-hover, #94261f) !important;
}

@media (max-width: 575.98px) {
	.tc-announcement-ribbon {
		font-size: 0.6875rem;
		letter-spacing: 0.06em;
	}

	.tc-announcement-ribbon__inner {
		flex-direction: column;
		padding: 0.5rem 0.65rem;
		gap: 0.5rem;
	}

	.tc-announcement-ribbon__btn {
		width: 100%;
		max-width: 16rem;
	}
}

.tc-header-top {
	background: var(--tc-topbar-bg);
	color: var(--tc-topbar-text);
	font-size: var(--tc-topbar-font);
	padding: 10px 0;
	line-height: 1.45;
}

.tc-header-top__link {
	color: var(--tc-topbar-text);
	line-height: normal;
}

.tc-header-top__link:hover,
.tc-header-top__link:focus-visible {
	color: #fff;
	opacity: 0.92;
}

.tc-header-top__hours-line + .tc-header-top__hours-line {
	margin-top: 0.2rem;
}

@media (max-width: 991.98px) {
	.tc-header-top {
		padding: 0.625rem 0;
		font-size: 0.8125rem;
	}

	.tc-header-top__row {
		row-gap: 0.5rem !important;
	}

	.tc-header-top__contact .d-flex {
		width: 100%;
	}

	.tc-header-top__link {
		max-width: 100%;
	}

	.tc-header-top__email {
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.tc-header-top__hours {
		text-align: left !important;
		padding-top: 16px;
		border-top: 1px solid rgba(255, 255, 255, 0.12);
	}

	.tc-header-top__hours-line {
		font-size: 0.75rem;
		line-height: 1.4;
		opacity: 0.95;
	}
}

.tc-header-main {
	background: var(--tc-main-bg);
	border-bottom: 1px solid var(--tc-border-subtle);
    padding: 10px 0;
}

/* Row 1: logo | search (center) | cart */
.tc-header-toolbar {
	min-height: 64px;
}

.tc-header-search-wrap {
	max-width: 520px;
	margin-left: auto;
	margin-right: auto;
}

.tc-header-search-stack {
	position: relative;
	width: 100%;
}

.tc-header-search-results {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	right: 0;
	z-index: 1080;
	max-height: min(70vh, 520px);
	overflow-y: auto;
	background: #fff;
	border: 1px solid #e3e3e3;
	border-radius: 8px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
	font-family: var(--tc-font-body);
}

.tc-header-search-results[hidden] {
	display: none;
}

.tc-header-search-status,
.tc-header-search-empty {
	padding: 14px 16px;
	color: #555;
	font-size: 0.875rem;
	text-align: center;
}

.tc-header-search-list {
	list-style: none;
	margin: 0;
	padding: 4px 0;
}

.tc-header-search-item {
	list-style: none;
	margin: 0;
	padding: 0;
}

.tc-header-search-link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 14px;
	color: #1a1a1a;
	text-decoration: none;
	font-size: 0.9375rem;
	line-height: 1.35;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.tc-header-search-link:hover,
.tc-header-search-link:focus-visible,
.tc-header-search-link.is-active {
	background: #f6f6f6;
	color: var(--tc-brand, #b12f27);
	outline: none;
}

.tc-header-search-thumb {
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
	overflow: hidden;
	border-radius: 6px;
	background: #f3f3f3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.tc-header-search-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.tc-header-search-thumb--empty {
	background: repeating-linear-gradient(
		45deg,
		#f4f4f4,
		#f4f4f4 6px,
		#ececec 6px,
		#ececec 12px
	);
}

.tc-header-search-title {
	flex: 1 1 auto;
	min-width: 0;
	font-weight: 500;
	color: inherit;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: normal;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.tc-header-search-title mark {
	background: transparent;
	color: inherit;
	font-weight: 700;
	padding: 0;
}

.tc-header-search-price {
	flex: 0 0 auto;
	margin-left: auto;
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--tc-brand, #b12f27);
	white-space: nowrap;
	text-align: right;
	line-height: 1.3;
}

.tc-header-search-price ins,
.tc-header-search-price bdi {
	text-decoration: none;
	color: inherit;
}

.tc-header-search-price del {
	color: #999;
	font-weight: 500;
	margin-right: 4px;
}

.tc-header-search-foot {
	border-top: 1px solid #ececec;
	padding: 10px 14px;
	text-align: center;
}

.tc-header-search-seeall {
	display: inline-block;
	color: var(--tc-brand, #b12f27);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-decoration: none;
	text-transform: uppercase;
}

.tc-header-search-seeall:hover,
.tc-header-search-seeall:focus-visible {
	color: var(--tc-cta-hover, #8c241e);
	text-decoration: underline;
}

@media (max-width: 575.98px) {
	.tc-header-search-link {
		font-size: 0.875rem;
		gap: 10px;
		padding: 8px 12px;
	}

	.tc-header-search-thumb {
		flex-basis: 42px;
		width: 42px;
		height: 42px;
	}

	.tc-header-search-price {
		font-size: 0.75rem;
	}
}

/* Row 2: primary menu */
.tc-header-nav-row {
	border-top: 1px solid var(--tc-border-subtle);
	padding-top: 0.5rem;
	padding-bottom: 0.65rem;
}

@media (min-width: 1024px) {
	.tc-header-nav-row .tc-header-menu {
		flex-wrap: nowrap !important;
		justify-content: center !important;
	}

	.tc-header-nav-row .tc-header-menu > li > a {
		padding: 8px 10px;
		font-size: 0.875rem;
		white-space: nowrap;
	}
}

@media (min-width: 1200px) {
	.tc-header-nav-row .tc-header-menu > li > a {
		padding: 10px 14px;
		font-size: 0.9375rem;
	}
}

.tc-header .custom-logo-link {
	display: inline-flex;
	align-items: center;
	line-height: 0;
}

.tc-header .custom-logo {
	display: block;
	width: auto;
	height: auto;
	max-height: 56px;
}

.tc-header-brand {
	color: var(--tc-brand) !important;
	font-size: clamp(1.15rem, 2.2vw, 1.45rem);
	letter-spacing: 0.04em;
}

.tc-header-brand:focus-visible {
	outline: 2px solid var(--tc-brand);
	outline-offset: 4px;
}

.tc-header-search-col--desktop {
	display: none;
}

.tc-header-search-col--mobile {
	display: block;
	margin-bottom: 12px;
}

@media (min-width: 1024px) {
	.tc-header-search-col--desktop {
		display: flex;
		align-items: center;
	}

	.tc-header-search-col--mobile {
		display: none;
		margin-bottom: 0;
	}
}

.tc-header-search {
	display: flex;
	align-items: stretch;
	width: 100%;
	max-width: 100%;
	border: 1px solid var(--tc-border-subtle);
	border-radius: 6px;
	background: #fafafa;
	overflow: hidden;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.tc-header-search:focus-within {
	border-color: #ccc;
	background: #fff;
	box-shadow: 0 0 0 3px rgba(177, 47, 39, 0.12);
}

.tc-header-search__field {
	display: flex;
	align-items: center;
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
}

.tc-header-search__input {
	flex: 1 1 auto;
	min-width: 0;
	width: 100%;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent;
	padding: 10px 12px !important;
	margin: 0;
	max-width: none;
	font-size: 0.9375rem;
	font-family: var(--tc-font-body);
	color: var(--tc-nav-color);
	box-shadow: none;
}

.tc-header-search__input:focus {
	outline: none;
	box-shadow: none;
}

.tc-header-search__submit {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 44px;
	padding: 0;
	border: 0;
	border-left: 1px solid var(--tc-border-subtle);
	background: var(--tc-brand);
	color: #fff;
	font-size: 1rem;
	line-height: 1;
	cursor: pointer;
	transition: background 0.2s ease;
}

.tc-header-search__submit:hover,
.tc-header-search__submit:focus-visible {
	background: var(--tc-cta-hover);
	outline: none;
}

.tc-header-menu > li {
	position: relative;
	margin: 0;
	padding: 0;
}

.tc-header-menu > li > a {
	display: inline-flex;
	align-items: center;
	padding: 10px 14px;
	color: var(--tc-nav-color);
	text-decoration: none;
	font-weight: 600;
	font-size: 0.9375rem;
	letter-spacing: 0.01em;
	border-radius: 4px;
	transition: color 0.2s ease, background 0.2s ease;
}

.tc-header-menu > .menu-item-has-children > a::after {
	content: "";
	display: inline-block;
	width: 0.4em;
	height: 0.4em;
	margin-left: 0.45em;
	margin-top: -0.15em;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	vertical-align: middle;
	opacity: 0.85;
}

.tc-header-menu > li > a:hover,
.tc-header-menu > li > a:focus-visible {
	color: var(--tc-brand);
	outline: none;
}

.tc-header-menu > .current-menu-item > a,
.tc-header-menu > .current-menu-ancestor > a,
.tc-header-menu > .current_page_item > a {
	color: var(--tc-active);
}

.tc-header-menu .sub-menu {
	position: absolute;
	left: 0;
	top: calc(100% + 4px);
	min-width: 220px;
	margin: 0;
	padding: 8px 0;
	list-style: none;
	background: var(--tc-dropdown-bg);
	color: var(--tc-dropdown-text);
	border: 1px solid var(--tc-border-subtle);
	border-radius: 10px;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
	z-index: 30;
}

.tc-header-menu li:hover > .sub-menu,
.tc-header-menu li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.tc-header-menu .sub-menu a {
	display: block;
	padding: 10px 18px;
	color: var(--tc-dropdown-text);
	text-decoration: none;
	font-weight: 600;
	font-size: 0.875rem;
}

.tc-header-menu .sub-menu a:hover,
.tc-header-menu .sub-menu a:focus-visible {
	background: rgba(177, 47, 39, 0.06);
	color: var(--tc-brand);
	outline: none;
}

/* Products mega menu (brand palette + full-viewport width on desktop) */
/* Any depth: mega can be nested under another top-level item */
.tc-header-menu .tc-mega--products {
	position: relative;
}

/* Chevron (item has no children in the menu — only the mega panel) */
.tc-header-menu .tc-mega--products > a::after {
	content: "";
	display: inline-block;
	width: 0.4em;
	height: 0.4em;
	margin-left: 0.45em;
	margin-top: -0.15em;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	vertical-align: middle;
	opacity: 0.85;
}

@media (min-width: 1024px) {
	/* Let the full-bleed mega escape the header row / Bootstrap column (avoid clipping). */
	.tc-header,
	.tc-header-main,
	.tc-header-main .container,
	.tc-header-main .row,
	.tc-header-nav-row,
	.tc-header-nav-row nav,
	.tc-header-panel,
	.tc-header-panel nav,
	.tc-header-menu {
		overflow: visible !important;
	}

	/* Overlap the bar slightly so the pointer never sits in a “dead” gap (hover would drop and the menu would close). */
	.tc-header-menu li.tc-mega--products {
		z-index: 1;
	}

	.tc-header-menu li.tc-mega--products:where(:hover, :focus-within) {
		z-index: 201;
	}

	/* Hover bridge: prevents accidental hover loss while moving from link → fixed panel. */
	.tc-header-menu li.tc-mega--products::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		height: 18px;
	}

	/* Full width edge-to-edge: fixed + left:0; right:0 (no 100vw = no extra horizontal page scroll) */
	/* Top set by JS: --tc-mega-panel-top = header.getBoundingClientRect().bottom (px) */
	.tc-header-menu .tc-mega__panel {
		position: fixed;
		left: 0;
		right: 0;
		width: auto;
		max-width: none;
		margin: 0;
		top: calc(var(--tc-mega-panel-top, 88px) - 12px);
		padding: 0;
		padding-top: 12px;
		box-sizing: border-box;
		background: transparent;
		border: none;
		box-shadow: none;
		z-index: 1020;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translateY(4px);
		transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
		/* Small close delay so the panel doesn't vanish mid-mouse-move. */
		transition-delay: 0s, 0s, 0.08s;
	}

	.tc-header-menu li.tc-mega--products:hover > .tc-mega__panel,
	.tc-header-menu li.tc-mega--products:focus-within > .tc-mega__panel,
	.tc-header-menu li.tc-mega--products > .tc-mega__panel:hover {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateY(0);
		transition-delay: 0s;
	}
}

.tc-mega__inner {
	box-sizing: border-box;
	display: flex;
	width: 100%;
	max-width: 100%;
	min-height: 200px;
	max-height: min(70vh, 640px);
	margin: 0;
	padding: 0 clamp(1rem, 4vw, 3.5rem);
	background: #fff;
	border: none;
	border-top: 2px solid var(--tc-brand);
	border-bottom: 1px solid var(--tc-border-subtle);
	border-radius: 0;
	box-shadow: 0 20px 48px rgba(0, 0, 0, 0.1), 0 8px 32px rgba(177, 47, 39, 0.06);
	overflow: hidden;
}

.tc-mega__sidebar {
	flex: 0 0 min(32%, 260px);
	width: min(32%, 260px);
	background: var(--tc-mega-sidebar-bg);
	color: #fff;
	padding: 1.25rem 0.5rem 1.25rem 0.75rem;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-gutter: stable;
}

.tc-mega__side-link {
	display: block;
	padding: 0.45rem 0.4rem 0.45rem 0.6rem;
	color: #fff;
	text-decoration: none;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.35;
	border-radius: 4px;
	border-left: 3px solid transparent;
	transition: background 0.15s ease, border-color 0.15s ease;
	scroll-margin-top: 0.5rem;
}

.tc-mega__side-link:hover,
.tc-mega__side-link:focus-visible {
	background: var(--tc-mega-side-link-hover);
	border-left-color: var(--tc-mega-side-accent);
	color: #fff;
	outline: none;
}

.tc-mega__main {
	flex: 1 1 auto;
	min-width: 0;
	background: var(--tc-mega-surface);
	padding: 1.35rem 0 1.5rem 1.75rem;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	scroll-behavior: smooth;
}

.tc-mega__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.25rem 1.5rem;
	align-content: start;
}

.tc-mega__card {
	margin: 0;
	padding: 0;
	scroll-margin-top: 0.5rem;
}

.tc-mega__badge {
	display: inline-block;
	margin: 0 0 0.4rem 0;
	padding: 0.25rem 0.55rem;
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: #fff;
	background: var(--tc-brand);
	border-radius: 999px;
	line-height: 1.2;
	box-shadow: 0 2px 8px rgba(177, 47, 39, 0.35);
}

.tc-mega__title {
	font-family: var(--tc-font-body);
	font-size: 0.95rem;
	font-weight: 700;
	color: #1a1a1a;
	margin: 0 0 0.5rem 0;
	line-height: 1.25;
}

.tc-mega__title-link:hover,
.tc-mega__title-link:focus-visible {
	color: var(--tc-brand);
	outline: none;
}

.tc-mega__products {
	color: var(--tc-nav-muted);
	font-size: 0.8rem;
	line-height: 1.4;
}

.tc-mega__product {
	padding: 0.1rem 0;
}

.tc-mega__view-all {
	display: inline-block;
	margin-top: 0.55rem;
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--tc-brand);
	text-decoration: none;
	transition: color 0.15s ease;
}

.tc-mega__view-all:hover,
.tc-mega__view-all:focus-visible {
	color: var(--tc-cta-hover);
	outline: none;
}

.tc-mega__empty {
	color: #666 !important;
}

@media (min-width: 1024px) and (max-width: 1400px) {
	.tc-mega__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) and (max-width: 1100px) {
	.tc-mega__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Header cart bucket */
.tc-header-cart {
	color: var(--tc-nav-color);
	transition: opacity 0.2s ease;
}

.tc-header-cart:hover,
.tc-header-cart:focus-visible {
	color: var(--tc-nav-color);
	opacity: 0.88;
	outline: none;
}

.tc-header-cart__bag-icon {
	font-size: 1.65rem;
	line-height: 1;
	color: #1a1a1a;
}

.tc-header-cart__badge {
	position: absolute;
	top: -6px;
	right: -8px;
	min-width: 1.15rem;
	height: 1.15rem;
	padding: 0 0.25rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.65rem;
	font-weight: 700;
	line-height: 1;
	color: #fff;
	background: var(--tc-brand, #b12f27);
	border-radius: 999px;
}

.tc-header-cart__badge--empty {
	opacity: 0.45;
}

.tc-header-cart__label {
	font-size: 0.8125rem;
	font-weight: 500;
	color: #888;
	margin-left:4px;
}

.tc-header-cart__total {
	font-size: 0.9375rem;
	line-height: 1.25;
}

.tc-header-cart__amount,
.tc-header-cart__amount .woocommerce-Price-amount {
	font-weight: 700;
	color: #b55d5d;
}

.tc-header-cart__tax {
	margin-left: 0.2em;
	font-size: 0.8125rem;
	font-weight: 600;
	color: #b55d5d;
}

.tc-header-cta {
	flex-shrink: 0;
	background: var(--tc-brand) !important;
	border: none;
	color: var(--tc-cta-text) !important;
	font-size: 0.8125rem;
	letter-spacing: 0.04em;
	box-shadow: 0 4px 14px rgba(177, 47, 39, 0.35);
	transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}

.tc-header-cta:hover,
.tc-header-cta:focus-visible {
	background: var(--tc-cta-hover) !important;
	box-shadow: 0 6px 18px rgba(177, 47, 39, 0.4);
	outline: none;
	color: var(--tc-cta-text) !important;
}

.tc-header-cta:active {
	transform: translateY(1px);
}

.tc-header-toggle {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 46px;
	height: 46px;
	border-color: var(--tc-border-subtle) !important;
	background: var(--tc-main-bg) !important;
	color: var(--tc-nav-color) !important;
	cursor: pointer;
	transition: background 0.2s ease, border-color 0.2s ease;
}

.tc-header-toggle:hover,
.tc-header-toggle:focus-visible {
	border-color: #ccc !important;
	background: #fafafa !important;
	outline: none;
}

.tc-header-toggle-bar {
	display: block;
	flex-shrink: 0;
	width: 22px;
	height: 2px;
	background: currentColor;
	transition: transform 0.25s ease, opacity 0.2s ease;
	transform-origin: center;
}

.tc-header-toggle.is-open .tc-header-toggle-bar:nth-child(1) {
	transform: translateY(8px) rotate(45deg);
}

.tc-header-toggle.is-open .tc-header-toggle-bar:nth-child(2) {
	opacity: 0;
	transform: scaleX(0);
}

.tc-header-toggle.is-open .tc-header-toggle-bar:nth-child(3) {
	transform: translateY(-8px) rotate(-45deg);
}

@media (max-width: 1023px) {
	.tc-header-toolbar {
		flex-wrap: nowrap;
	}

	.tc-header-panel {
		max-height: 0;
		overflow: hidden;
		opacity: 0;
		padding-top: 0;
		padding-bottom: 0;
		transition: max-height 0.35s ease, opacity 0.25s ease, padding 0.25s ease;
		pointer-events: none;
	}

	.tc-header-panel.is-open {
		max-height: min(75vh, 560px);
		opacity: 1;
		padding-top: 12px;
		padding-bottom: 16px;
		pointer-events: auto;
		overflow-y: auto;
		border-top: 1px solid var(--tc-border-subtle);
		margin-top: 0.5rem;
	}

	.tc-header-panel .tc-header-cta {
		padding: 12px 18px !important;
		font-size: 0.8125rem !important;
	}

	.tc-header-menu {
		flex-direction: column !important;
		align-items: stretch !important;
		width: 100%;
	}

	.tc-header-menu > li > a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 14px 12px;
		border-bottom: 1px solid var(--tc-border-subtle);
		border-radius: 0;
	}

	.tc-header-menu > .menu-item-has-children > a::after {
		flex-shrink: 0;
		margin-left: 0;
		transform: rotate(45deg) translateY(-2px);
	}

	.tc-header-menu .sub-menu {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		box-shadow: none;
		border: none;
		border-radius: 0;
		background: #f6f6f6;
		display: none;
	}

	.tc-header-menu li.sub-open > .sub-menu {
		display: block;
	}

	.tc-header-menu .tc-mega--products {
		width: 100%;
	}

	.tc-header-menu .tc-mega--products .tc-mega__panel {
		position: static !important;
		left: auto !important;
		right: auto !important;
		margin: 0 !important;
		width: 100%;
		max-width: none;
		margin-top: 0;
		top: auto !important;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: none;
		border: none;
		box-shadow: none;
		display: none;
	}

	.tc-header-menu li.tc-mega--products.sub-open > .tc-mega__panel {
		display: block;
	}

	.tc-mega__inner {
		flex-direction: column;
		max-height: min(60vh, 480px);
		border-radius: 0;
		border: none;
		border-top: 2px solid var(--tc-brand);
		padding-left: 0.75rem;
		padding-right: 0.75rem;
		box-shadow: none;
	}

	.tc-mega__sidebar {
		flex: 0 0 auto;
		width: 100%;
		max-height: 32vh;
		border-bottom: 1px solid rgba(0, 0, 0, 0.12);
	}

	.tc-mega__main {
		padding: 1rem 0.75rem 1.25rem;
		max-height: 45vh;
	}

	.tc-mega__grid {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.tc-header-menu .tc-mega--products > a {
		justify-content: space-between;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tc-header-toggle-bar,
	.tc-header-panel,
	.tc-header-menu > li > a,
	.tc-header-menu .sub-menu,
	.tc-mega__main,
	.tc-header-menu .tc-mega__panel {
		transition: none;
		scroll-behavior: auto;
	}
}

/* -------------------------------------------------------------------------
   Hero (front page) — Bootstrap handles layout/type; `.tc-hero*` = media stack + brand accent
   ------------------------------------------------------------------------- */

.tc-hero {
	--tc-hero-accent: #b12f27;
	min-height: min(88vh, 820px);
	font-family: var(--tc-font-body);
}

.tc-hero__media {
	z-index: 0;
	background: #1a1a1a;
	/* Decorative layer only — never block clicks on hero CTAs (content sits above with z-index). */
	pointer-events: none;
}

.tc-hero--no-media .tc-hero__media {
	background: linear-gradient(165deg, #2a2a2a 0%, #121212 55%, #0a0a0a 100%);
}

.tc-hero__overlay {
	pointer-events: none;
	background:rgba(0,0,0,0.7);
}

.tc-hero-badge { 
    border-radius:20px;
    padding: 10px 20px;
    color: #fff;
	background-color: var(--tc-hero-accent);
	letter-spacing: 0.02em;
    font-size:14px;
    margin-bottom: 0px;
}

.tc-hero-heading {
	max-width: 18ch;
	font-size: clamp(1.75rem, 4.5vw, 4.25rem) !important;
}

.tc-hero .tc-hero-accent {
	color: var(--tc-hero-accent);
}

.tc-hero-lead {
	max-width: 36rem;
	line-height: 1.65;
}

.tc-hero .btn-primary:hover,
.tc-hero .btn-primary:focus-visible {
	filter: brightness(1.06);
	box-shadow: 0 6px 22px rgba(177, 47, 39, 0.45) !important;
}

@media (max-width: 640px) {
	.tc-hero {
		min-height: min(92vh, 720px);
	}
}

@media (min-width: 768px) {
	.tc-hero__stats {
		max-width: 50%;
	}
}

@media (min-width: 768px) and (max-width: 991.98px) {
	.tc-hero .row.row-cols-md-3 > .col .d-flex.flex-column {
		flex-direction: row;
		align-items: baseline;
		flex-wrap: wrap;
		column-gap: 0.5rem;
	}
}

/* -------------------------------------------------------------------------
   Why Choose Us (front page)
   ------------------------------------------------------------------------- */

.tc-why-choose {
	font-family: var(--tc-font-body);
	--tc-accent: #b12f27;
	color: #111;
}

.tc-why-label {
	color: var(--tc-accent);
	letter-spacing: 0.08em;
}

.tc-why-title {
	font-size: clamp(1.5rem, 2.5vw + 0.75rem, 2.35rem);
	letter-spacing: 0.02em;
}

.tc-why-lead {
	max-width: 36rem;
}

.tc-why-icon {
	width: 48px;
	height: 48px;
	background: var(--tc-accent);
	color: #fff;
	border-radius: var(--tc-radius-md);
}

.tc-why-icon .bi {
	display: block;
	line-height: 1;
}

/* -------------------------------------------------------------------------
   Titan Trade Centre — homepage collaboration (replaces Latest Insights)
   ------------------------------------------------------------------------- */

.tc-titan-trade-centre {
	font-family: var(--tc-font-body);
	--tc-ttc-accent: #b12f27;
	color: #111;
}

.tc-ttc-kicker {
	color: var(--tc-ttc-accent);
	letter-spacing: 0.08em;
}

.tc-ttc-title {
	font-family: var(--tc-font-title);
	font-weight: 400;
	font-size: clamp(1.75rem, 4vw, 2.75rem);
	line-height: 1.05;
	letter-spacing: 0.04em;
}

.tc-ttc-tagline {
	font-size: 1rem;
	max-width: 42rem;
}

.tc-ttc-partner-link {
	color: var(--tc-ttc-accent);
	transition: color 0.15s ease;
}

.tc-ttc-partner-link:hover,
.tc-ttc-partner-link:focus-visible {
	color: #94261f;
}

.tc-ttc-card-inner {
	border: 1px solid rgba(0, 0, 0, 0.06);
	border-radius: var(--tc-radius-xl);
	overflow: hidden;
}

.tc-ttc-card-media:focus-visible {
	outline: 2px solid var(--tc-ttc-accent);
	outline-offset: 2px;
}

.tc-ttc-card-title {
	font-family: var(--tc-font-title);
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1.25;
}

.tc-ttc-card-title a:hover,
.tc-ttc-card-title a:focus-visible {
	color: var(--tc-ttc-accent) !important;
}

.tc-ttc-price {
	font-size: 1.125rem;
	color: #1a1a1a;
	font-variant-numeric: tabular-nums;
}

.tc-ttc-inquiry-btn {
	background-color: var(--tc-ttc-accent) !important;
	border-color: var(--tc-ttc-accent) !important;
	color: #fff !important;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-weight: 700;
}

.tc-ttc-inquiry-btn:hover,
.tc-ttc-inquiry-btn:focus-visible {
	background-color: #962820 !important;
	border-color: #962820 !important;
	color: #fff !important;
}

/* -------------------------------------------------------------------------
   Latest Insights (legacy — section disabled; see Titan Trade Centre)
   ------------------------------------------------------------------------- */

.tc-latest-insights {
	font-family: var(--tc-font-body);
	--tc-li-accent: #b12f27;
	color: #111;
}

.tc-li-kicker {
	color: var(--tc-li-accent);
	letter-spacing: 0.08em;
}

.tc-li-title {
	font-family: var(--tc-font-title);
	font-weight: 400;
	font-size: clamp(1.75rem, 4vw, 2.75rem);
	line-height: 1.05;
	letter-spacing: 0.04em;
}

.tc-li-tagline {
	font-size: 1rem;
}

.tc-li-view-all {
	color: var(--tc-li-accent);
	transition: color 0.15s ease;
}

.tc-li-view-all:hover,
.tc-li-view-all:focus-visible {
	color: #94261f;
}

.tc-li-card {
	border: 1px solid rgba(0, 0, 0, 0.06);
	border-radius: var(--tc-radius-xl);
	overflow: hidden;
}

.tc-li-card-title {
	font-family: var(--tc-font-title);
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1.25;
}

.tc-li-card-title a:hover,
.tc-li-card-title a:focus-visible {
	color: var(--tc-li-accent) !important;
}

.tc-li-cat-badge {
	position: absolute;
	top: 0.75rem;
	left: 0.75rem;
	z-index: 2;
	padding: 0.35rem 0.65rem;
	border-radius: var(--tc-radius-sm);
	background: var(--tc-li-accent);
	font-size: 0.6875rem;
	letter-spacing: 0.06em;
	line-height: 1.2;
}

.tc-li-cat-badge:hover,
.tc-li-cat-badge:focus-visible {
	color: #fff !important;
	filter: brightness(1.05);
}

.tc-li-excerpt {
	line-height: 1.55;
	color: #666;
}

.tc-li-read-more {
	color: var(--tc-li-accent);
}

.tc-li-read-more:hover,
.tc-li-read-more:focus-visible {
	color: #94261f;
}

/* -------------------------------------------------------------------------
   Testimonials (front page + About Us) — full-width dark band, Owl carousel
   ------------------------------------------------------------------------- */

.tc-testimonials {
	--tc-tm-accent: #b12f27;
	background: #121212;
	color: rgba(255, 255, 255, 0.85);
	font-family: var(--tc-font-body);
}

.tc-testimonials-kicker {
	color: var(--tc-tm-accent);
	letter-spacing: 0.12em;
}

.tc-testimonials-title {
	font-family: var(--tc-font-title);
	font-weight: 400;
	font-size: clamp(1.75rem, 3vw + 0.5rem, 2.5rem);
	line-height: 1.1;
	letter-spacing: 0.06em;
}

.tc-testimonials-tagline {
	font-size: 1rem;
}

.tc-testimonial-card {
	background: #1e1e1e;
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: var(--tc-radius-xl);
	overflow: hidden;
}

.tc-testimonial-stars .tc-testimonial-star {
	color: rgba(255, 255, 255, 0.22);
	line-height: 0;
}

.tc-testimonial-stars .tc-testimonial-star.is-filled {
	color: var(--tc-tm-accent);
}

.tc-testimonial-quote-mark {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 3rem;
	line-height: 0.85;
	color: rgba(177, 47, 39, 0.35);
	font-weight: 400;
	user-select: none;
}

.tc-testimonial-quote {
	margin: 0;
	padding: 0;
	border: 0;
	font-style: italic;
	color: rgba(255, 255, 255, 0.92);
	font-size: 0.9375rem;
	line-height: 1.65;
}

.tc-testimonial-quote p {
	margin-bottom: 0.75rem;
	min-height: 99px;
}

@media (max-width: 575.98px) {
	.tc-testimonial-quote p {
		min-height: 0;
	}

	.tc-testimonial-quote-mark {
		font-size: 2rem;
	}
}

.tc-testimonial-quote p:last-child {
	margin-bottom: 0;
}

.tc-testimonial-avatar {
	width: 48px;
	height: 48px;
	flex-shrink: 0;
}

.tc-testimonial-avatar--initial {
	background: var(--tc-tm-accent);
	font-size: 1.125rem;
}

.tc-testimonial-avatar--photo img {
	display: block;
}

.tc-testimonial-name {
	font-size: 0.9375rem;
	line-height: 1.3;
}

.tc-testimonial-company {
	line-height: 1.35;
} 
/* Owl Carousel — testimonials */
.tc-testimonials-owl .owl-stage-outer {
	overflow: hidden;
}

.tc-testimonials-owl .owl-item {
	display: flex;
}

.tc-testimonials-owl .owl-item > .item {
	display: flex;
	width: 100%;
	min-height: 100%;
}

.tc-testimonials-owl .owl-dots {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0.35rem;
	margin-top: 1.25rem;
	margin-bottom: 0;
	min-height: 1.25rem;
}

.tc-testimonials-owl .owl-dots .owl-dot {
	display: inline-flex;
	padding: 0.35rem;
	margin: 0;
	background: transparent;
	border: none;
	cursor: pointer;
}

.tc-testimonials-owl .owl-dots .owl-dot span {
	display: block;
	width: 10px;
	height: 10px;
	margin: 0 !important;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.35);
	transition: background-color 0.2s ease, transform 0.2s ease, opacity 0.2s ease;
}

.tc-testimonials-owl .owl-dots .owl-dot.active span,
.tc-testimonials-owl .owl-dots .owl-dot:hover span {
	background: var(--tc-tm-accent);
}

.tc-testimonials-owl.tc-testimonials-owl--moving .owl-dots .owl-dot span {
	opacity: 1;
}

.tc-testimonials-owl.tc-testimonials-owl--moving .owl-dots .owl-dot.active span {
	transform: scale(1.15);
}

/* -------------------------------------------------------------------------
   Business registration landing (`body.tc-br-page`)
   ------------------------------------------------------------------------- */
body.tc-br-page .site-content {
	padding-top: 0;
}

body.tc-br-page .inside-article {
	padding-top: 0;
	padding-bottom: 0;
}

.tc-br-hero {
	position: relative;
	min-height: 52vh;
	display: flex;
	align-items: center;
	color: #fff;
}

.tc-br-hero-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
}

.tc-br-hero-bg--fallback {
	background-color: #1a1a1a;
	background-image: linear-gradient(135deg, #2a2a2a 0%, #0d0d0d 100%);
}

.tc-br-hero-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.55);
}

.tc-br-hero-inner {
	position: relative;
	z-index: 1;
} 

.tc-br-hero-subtitle,
.tc-br-hero .tc-pl-hero-lead {
	color: rgba(255, 255, 255, 0.92);
	max-width: 42rem;
}

/* CTAs: same global .btn / .btn-primary as header; bulk band uses .btn-light / .btn-dark on red */

.tc-br-section-title {
	font-family: var(--tc-font-title, "Anton", sans-serif);
	font-weight: 400;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	line-height: 1.15;
	color: #111;
}

.tc-br-section-sub {
	color: #333;
	max-width: 40rem;
	margin-left: auto;
	margin-right: auto;
}

/* Business Registration — “Why Builders” (same building blocks as .tc-why-choose) */
.tc-br-why {
	font-family: var(--tc-font-body);
	--tc-accent: #b12f27;
	color: #111;
}

/* Shared: homepage + Business Registration feature cards (matches reference design) */
.tc-why-choose .card .h6,
.tc-br-why .card .h6 {
	font-family: var(--tc-font-body);
	font-weight: 700;
	letter-spacing: 0.06em;
	color: #111;
}

.tc-br-trade {
	background: #0a0a0a;
	color: #fff;
}

.tc-br-trade .tc-br-section-title {
	color: #fff;
}

.tc-br-trade-sub {
	color: rgba(255, 255, 255, 0.88);
	max-width: 34rem;
}

.tc-br-trade-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.tc-br-trade-item + .tc-br-trade-item {
	margin-top: 1.25rem;
}

.tc-br-trade-icon,
.tc-br-trade-bullet {
	width: 0.65rem;
	height: 0.65rem;
	border-radius: 50%;
	background: var(--tc-accent-red, #b12f27);
	flex-shrink: 0;
	margin-top: 0.35rem;
}

.tc-br-trade-item-title {
	font-family: var(--tc-font-title, "Anton", sans-serif);
	font-size: 0.95rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	line-height: 1.25;
	color: #fff;
	margin-bottom: 0.25rem;
}

.tc-br-trade-item-text {
	font-size: 0.9rem;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.82);
	margin: 0;
}

.tc-br-trade-img,
.tc-br-trade-media {
	border-radius: 2px;
	overflow: hidden;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
}

.tc-br-trade-img img,
.tc-br-trade-media img {
	display: block;
	width: 100%;
	height: auto;
}

.tc-br-bulk {
	background: var(--tc-accent-red, #b12f27);
	color: #fff;
}

.tc-br-bulk .tc-br-section-title {
	color: #fff;
}

.tc-br-bulk-text,
.tc-br-bulk-lead {
	color: rgba(255, 255, 255, 0.92);
	max-width: 42rem;
	margin-left: auto;
	margin-right: auto;
}

.tc-br-projects .tc-br-project-card h3,
.tc-br-projects .tc-br-card-title {
	font-family: var(--tc-font-title, "Anton", sans-serif);
	font-size: 1rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	line-height: 1.25;
	color: #111;
}

.tc-br-projects .tc-br-card-text {
	font-size: 0.9rem;
	line-height: 1.5;
	color: #555;
}

.tc-br-projects .tc-br-project-more,
.tc-br-projects .tc-br-card-link {
	font-size: 0.85rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--tc-accent-red, #b12f27);
	text-decoration: none;
}

.tc-br-projects .tc-br-project-more:hover,
.tc-br-projects .tc-br-card-link:hover {
	text-decoration: underline;
}

.tc-br-partner {
	background: #0a0a0a;
	color: #fff;
}

.tc-br-partner .tc-br-section-title {
	color: #fff;
}

/* Business registration — CF7 form card */
.tc-br-form-title {
	font-family: var(--tc-font-title);
	font-weight: 400;
	letter-spacing: 0.06em;
	color: #111;
}

.tc-br-form-card .tc-br-form .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
}

.tc-br-form-card .wpcf7 form {
	margin: 0;
}

.tc-br-form-card .wpcf7-form br {
	display: none;
}

.tc-br-cf7-grid p {
	margin-bottom: 0;
}

.tc-br-form-card .tc-br-form .form-label {
	display: block;
	font-size: 0.9375rem;
	font-weight: 600;
	color: #333;
	margin-bottom: 0.35rem;
}

.tc-br-form-card .tc-br-form input[type="text"],
.tc-br-form-card .tc-br-form input[type="email"],
.tc-br-form-card .tc-br-form input[type="tel"],
.tc-br-form-card .tc-br-form input[type="url"],
.tc-br-form-card .tc-br-form select,
.tc-br-form-card .tc-br-form textarea {
	width: 100%;
	border-radius: 0.375rem;
	border: 1px solid #d8d8d8;
	padding: 0.65rem 0.85rem;
	font-size: 0.9375rem;
	background-color: #fff;
}

.tc-br-form-card .tc-br-form input[type="file"] {
	width: 100%;
	padding: 0.5rem 0.75rem;
	font-size: 0.9rem;
	background: #fff;
	border: 1px solid #d8d8d8;
	border-radius: 0.375rem;
}

.tc-br-form-card .tc-br-form .wpcf7-not-valid-tip {
	font-size: 0.8125rem;
	margin-top: 0.25rem;
}

.tc-br-form-card .tc-br-form .btn.tc-br-register-submit,
.tc-br-form-card .tc-br-form input[type="submit"].tc-br-register-submit {
	background-color: #b12f27;
	border: none;
	color: #fff;
}

.tc-br-form-card .tc-br-form .btn.tc-br-register-submit:hover,
.tc-br-form-card .tc-br-form .btn.tc-br-register-submit:focus-visible,
.tc-br-form-card .tc-br-form input[type="submit"].tc-br-register-submit:hover,
.tc-br-form-card .tc-br-form input[type="submit"].tc-br-register-submit:focus-visible {
	background-color: #94261f;
	color: #fff;
}

.tc-br-form-card .tc-br-form form .wpcf7-response-output {
	margin: 1rem 0 0;
	border-radius: 0.375rem;
}

.tc-br-form-card .tc-success-alert--injected {
	margin-bottom: 1rem;
}

.tc-br-partner-sub,
.tc-br-partner-lead {
	color: rgba(255, 255, 255, 0.88);
	max-width: 36rem;
	margin-left: auto;
	margin-right: auto;
}

@media (max-width: 767.98px) {
	.tc-br-hero {
		min-height: 44vh;
	}
}

/* -------------------------------------------------------------------------
   Blog listing banner (`is_home()` posts index)
   ------------------------------------------------------------------------- */

/* Blog posts index: full-width layout (body gets `full-width-content` + `tc-blog-index` in PHP) */
body.tc-blog-index.separate-containers .inside-article,
body.tc-blog-index.separate-containers .page-header,
body.tc-blog-index.separate-containers .paging-navigation,
body.tc-blog-index.separate-containers .comments-area {
	padding-left: clamp(1rem, 4vw, 2.5rem);
	padding-right: clamp(1rem, 4vw, 2.5rem);
}

body.tc-blog-index.one-container .site-content {
	padding-left: 0;
	padding-right: 0;
}

body.tc-blog-index #main {
	background: #fff;
}

input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=url], select, textarea {
    border: 1px solid;
    border-radius: var(--bs-border-radius-lg);
    padding: 14px 18px;
    max-width: 100%;
    font-size:14px;
}
input[type=email]::placeholder, input[type=number]::placeholder, input[type=password]::placeholder, input[type=search]::placeholder, input[type=tel]::placeholder, input[type=text]::placeholder, input[type=url]::placeholder, select::placeholder, textarea::placeholder{ 
    color: #9F9FA9;
}

/* Featured + grid */
.tc-blog-kicker{
    font-size:12px;
}
.tc-blog-kicker,
.tc-blog-kicker a {
	color: var(--tc-hero-accent, #b12f27); 
}

.tc-blog-featured-title {
	font-family: var(--tc-font-title);
	font-weight: 400;
	line-height: 1.15;
	letter-spacing: 0.04em;
}

.tc-blog-featured-title a:hover,
.tc-blog-featured-title a:focus-visible {
	color: var(--tc-hero-accent, #b12f27) !important;
}

.tc-blog-featured-media img {
	display: block;
}

.tc-blog-excerpt {
	line-height: 1.65;
}

.tc-blog-meta-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.tc-blog-read-more {
	color: var(--tc-hero-accent, #b12f27);
}

.tc-blog-read-more:hover,
.tc-blog-read-more:focus-visible {
	color: #94261f;
}

.tc-blog-card-title {
	font-family: var(--tc-font-title);
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1.25;
}

.tc-blog-card-title a:hover,
.tc-blog-card-title a:focus-visible {
	color: var(--tc-hero-accent, #b12f27) !important;
}

/* Blog index pagination (numbered, aligned with grid) */
.tc-blog-pagination-wrap {
	padding-top: 0.25rem;
	padding-bottom: 0.5rem;
}

.tc-blog-pagination {
	width: 100%;
	text-align: center;
}

.tc-blog-pagination .page-numbers {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	list-style: none;
	padding: 0;
	margin: 0;
}

.tc-blog-pagination .page-numbers li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.tc-blog-pagination .page-numbers a,
.tc-blog-pagination .page-numbers span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	height: 2.5rem;
	padding: 0 0.65rem;
	border: 1px solid #dcdcdc;
	border-radius: var(--tc-radius-sm, 0.375rem);
	background: #fff;
	color: #111;
	text-decoration: none;
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.tc-blog-pagination .page-numbers a:hover,
.tc-blog-pagination .page-numbers a:focus-visible {
	background: #fafafa;
	border-color: var(--tc-brand, #b12f27);
	color: var(--tc-brand, #b12f27);
}

.tc-blog-pagination .page-numbers span.current {
	background: var(--tc-brand, #b12f27);
	border-color: var(--tc-brand, #b12f27);
	color: #fff;
}

.tc-blog-pagination .page-numbers span.dots {
	border-color: transparent;
	background: transparent;
	min-width: auto;
	height: auto;
	padding: 0 0.25rem;
	color: #666;
}

.tc-blog-pagination .page-numbers .prev,
.tc-blog-pagination .page-numbers .next {
	padding-left: 0.85rem;
	padding-right: 0.85rem;
	min-width: auto;
}

/* Newsletter strip */
.tc-blog-newsletter {
	--tc-nl-accent: #b12f27;
	background: var(--tc-nl-accent);
	font-family: var(--tc-font-body);
}

.tc-blog-newsletter-title {
	font-family: var(--tc-font-title);
	font-weight: 400;
	font-size: clamp(1.35rem, 3vw, 2rem);
	letter-spacing: 0.06em;
	line-height: 1.2;
}

.tc-blog-newsletter-lead {
	font-size: 0.95rem;
	line-height: 1.6;
}

.tc-blog-newsletter-input {
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	border-radius: 0.375rem;
}

.tc-blog-newsletter-input::placeholder {
	color: rgba(255, 255, 255, 0.65);
}

.tc-blog-newsletter-input:focus {
	background: rgba(255, 255, 255, 0.18);
	color: #fff;
	box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.15);
}

.tc-blog-newsletter .btn-dark {
	background: #1a1a1a;
	border-color: #1a1a1a;
	color: #fff;
	font-weight: 600;
}

.tc-blog-newsletter .btn-dark:hover,
.tc-blog-newsletter .btn-dark:focus-visible {
	background: #000;
	border-color: #000;
	color: #fff;
}

.tc-blog-newsletter-shortcode .wpcf7-form input[type="email"],
.tc-blog-newsletter-shortcode .wpcf7-form input[type="text"] {
	background: rgba(255, 255, 255, 0.12);
	border: none;
	color: #fff;
	border-radius: 0.375rem;
}

.tc-blog-newsletter-shortcode .wpcf7-form .wpcf7-submit {
	background: #1a1a1a;
	border: none;
	color: #fff;
	font-weight: 600;
	border-radius: 0.375rem;
}

/* -------------------------------------------------------------------------
   Single post (blog detail)
   ------------------------------------------------------------------------- */

body.tc-single-page .site-content {
	padding-top: 0;
}

.tc-single {
	--tc-sp-accent: #b12f27;
	color: #111;
}

.tc-single-back {
	color: var(--tc-sp-accent);
	transition: color 0.15s ease, opacity 0.15s ease;
}

.tc-single-back:hover,
.tc-single-back:focus-visible {
	color: #94261f;
}

.tc-single-kicker {
	color: var(--tc-sp-accent);
	letter-spacing: 0.12em;
}

.tc-single-kicker a {
	color: inherit;
}

.tc-single-title {
	font-family: var(--tc-font-title);
	font-weight: 400;
	font-size: clamp(1.75rem, 3.5vw + 0.5rem, 2.75rem);
	line-height: 1.08;
	letter-spacing: 0.04em;
}

.tc-single-meta {
	font-size: 0.9375rem;
}

.tc-single-entry-content {
	font-size: 1rem;
	line-height: 1.7;
	color: #333;
}

.tc-single-card {
	border-color: rgba(0, 0, 0, 0.08) !important;
}

/* 404 page tweaks */ 

body.error404 .site-content {
	padding-top: 0;
} 
.tc-404__title {
	font-family: var(--tc-font-title, var(--tc-font-body));
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.1;
	font-size: clamp(2rem, 3.2vw + 1rem, 3.25rem);
	color: #111;
}

.tc-404__sub {
	max-width: 32rem;
	line-height: 1.6;
}

.tc-404__art {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 3;
	max-width: 34rem;
	margin-left: auto;
	margin-right: auto;
}

.tc-404__art::before {
	content: '';
	position: absolute;
	inset: 10% 8% 8% 8%;
	background:
		radial-gradient(closest-side, rgba(177, 47, 39, 0.14), transparent 70%),
		radial-gradient(closest-side, rgba(0, 0, 0, 0.10), transparent 72%),
		radial-gradient(closest-side, rgba(255, 176, 0, 0.10), transparent 70%);
	filter: blur(18px);
	opacity: 0.9;
}

.tc-404__cube {
	position: absolute;
	right: 8%;
	top: 18%;
	width: clamp(9rem, 18vw, 14rem);
	aspect-ratio: 1 / 1;
	border-radius: 1.8rem;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.12)),
		linear-gradient(180deg, rgba(255, 85, 85, 0.15), rgba(255, 255, 255, 0));
	border: 1px solid rgba(0, 0, 0, 0.06);
	box-shadow:
		0 28px 70px rgba(0, 0, 0, 0.10),
		inset 0 0 0 1px rgba(255, 255, 255, 0.55);
	backdrop-filter: blur(8px);
}

.tc-404__cube::before,
.tc-404__cube::after {
	content: '';
	position: absolute;
	inset: -1px;
	border-radius: inherit;
	background:
		conic-gradient(
			from 200deg,
			rgba(255, 80, 120, 0.25),
			rgba(255, 200, 80, 0.20),
			rgba(120, 200, 255, 0.22),
			rgba(255, 80, 120, 0.25)
		);
	mix-blend-mode: color;
	opacity: 0.65;
	filter: blur(0.2px);
}

.tc-404__cube::after {
	inset: 10%;
	border-radius: 1.35rem;
	opacity: 0.35;
	filter: blur(10px);
}

@media (max-width: 991.98px) {
	.tc-404__container {
		min-height: auto;
	}
	.tc-404__art {
		max-width: 26rem;
	}
	.tc-404__cube {
		right: 12%;
		top: 10%;
	}
}

.tc-single-entry-content > *:first-child {
	margin-top: 0;
}

.tc-single-entry-content h2,
.tc-single-entry-content h3,
.tc-single-entry-content h4 { 
	font-weight: bold; 
	line-height: 1.2;
	color: #111;
	margin-top: 2.5rem;
	margin-bottom: 1rem;
}

.tc-single-entry-content h2 {
	font-size: clamp(1.35rem, 2vw + 0.5rem, 1.75rem);
}

.tc-single-entry-content h3 {
	font-size: clamp(1.2rem, 1.5vw + 0.5rem, 1.45rem);
}

.tc-single-entry-content p,
.tc-single-entry-content ul,
.tc-single-entry-content ol {
	margin-bottom: 1.25rem;
}

.tc-single-entry-content ul,
.tc-single-entry-content ol {
	padding-left: 1.25rem;
}

.tc-single-entry-content li {
	margin-bottom: 0.5rem;
}

.tc-single-entry-content li:last-child {
	margin-bottom: 0;
}

/* Group block: add class `tc-expert-tip` in Advanced → Additional CSS class(es) */
.tc-single-entry-content .tc-expert-tip,
.tc-single-entry-content .wp-block-group.tc-expert-tip {
	background: #fdeff0;
	border: 1px solid var(--tc-sp-accent);
	border-radius: 0.375rem;
	padding: 1.25rem 1.5rem;
	margin: 2rem 0;
}

.tc-single-entry-content .tc-expert-tip p:last-child,
.tc-single-entry-content .wp-block-group.tc-expert-tip p:last-child {
	margin-bottom: 0;
}

.tc-single-entry-content .tc-expert-tip strong:first-child,
.tc-single-entry-content .wp-block-group.tc-expert-tip strong:first-child {
	color: #111;
}

.tc-single-related {
	--tc-sr-accent: var(--tc-hero-accent, #b12f27);
}

.tc-single-related-heading {
	font-family: var(--tc-font-title);
	font-weight: 400;
	letter-spacing: 0.06em;
}

.tc-sr-cat-badge {
	position: absolute;
	top: 0.75rem;
	left: 0.75rem;
	z-index: 2;
	display: inline-block;
	padding: 0.4rem 0.75rem;
	border-radius: var(--tc-radius-sm, 0.375rem);
	background-color: var(--tc-sr-accent);
	color: #fff;
	font-size: 0.6875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	line-height: 1.2;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

.tc-sr-cat-badge:hover,
.tc-sr-cat-badge:focus-visible {
	color: #fff;
	filter: brightness(1.08);
}

.tc-sr-title {
	font-family: var(--tc-font-title);
	font-weight: 400;
	font-size: 1rem;
	line-height: 1.3;
	letter-spacing: 0.04em;
}

/* Single post — comments (aligned with article column) */
body.tc-single-page.separate-containers .tc-single-comments .comments-area {
	padding: 0;
	margin: 0;
	background: transparent;
}

.tc-single-comments .comments-title,
.tc-single-comments .comment-reply-title {
	font-family: var(--tc-font-title);
	font-weight: 400;
	font-size: clamp(1.25rem, 2vw + 0.25rem, 1.5rem);
	letter-spacing: 0.04em;
	color: #111;
	margin-bottom: 1.25rem;
}

.tc-single-comments .comment-list {
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 0;
}

.tc-single-comments .comment-body {
	padding: 1.25rem 0;
}

.tc-single-comments .comment-content {
	padding: 1rem 1.25rem;
	border-radius: 0.375rem;
	border-color: rgba(0, 0, 0, 0.08);
}

.tc-single-comments .comment .children {
	padding-left: 1.25rem;
	margin-top: 0;
	border-left-color: rgba(0, 0, 0, 0.08);
}

.tc-single-comments .comment-form {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	margin-top: 0.5rem;
}

.tc-single-comments .comment-form input[type="text"],
.tc-single-comments .comment-form input[type="email"],
.tc-single-comments .comment-form input[type="url"],
.tc-single-comments .comment-form textarea {
	width: 100%;
	max-width: 100%;
	margin-bottom: 0;
}

.tc-single-comments .comment-form #author,
.tc-single-comments .comment-form #email,
.tc-single-comments .comment-form #url {
	display: block;
}

.tc-single-comments .comment-form-comment {
	margin-bottom: 0;
}

.tc-single-comments .comment-form-cookies-consent {
	margin: 0;
}

.tc-single-comments .comment-form > .form-submit {
	margin: 0.25rem 0 0;
}

.tc-single-comments .comment-form > .form-submit .submit,
.tc-single-comments .comment-form > .form-submit #submit {
	padding: var(--tc-btn-padding-y) var(--tc-btn-padding-x);
	font-size: var(--tc-btn-font-size);
	font-weight: var(--tc-btn-font-weight);
	border-radius: var(--tc-btn-radius);
	background-color: var(--tc-hero-accent, #b12f27);
	border: 1px solid var(--tc-hero-accent, #b12f27);
	color: #fff;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

.tc-single-comments .comment-form > .form-submit .submit:hover,
.tc-single-comments .comment-form > .form-submit .submit:focus-visible,
.tc-single-comments .comment-form > .form-submit #submit:hover,
.tc-single-comments .comment-form > .form-submit #submit:focus-visible {
	background-color: #94261f;
	border-color: #94261f;
	color: #fff;
}

@media (min-width: 768px) {
	.tc-single-comments .comment-form {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 1rem;
		row-gap: 0.75rem;
	}

	.tc-single-comments .comment-form-comment,
	.tc-single-comments .comment-form-cookies-consent,
	.tc-single-comments .comment-form > .form-submit,
	.tc-single-comments .comment-form > p:not(.comment-form-author):not(.comment-form-email):not(.comment-form-url) {
		grid-column: 1 / -1;
	}
}

/* -------------------------------------------------------------------------
   Price list + legal + About — shared hero
   ------------------------------------------------------------------------- */

.tc-wc-cart-page .content-area,
.tc-wc-cart-page .site-content .content-area,
.tc-wc-checkout-page .content-area,
.tc-wc-checkout-page .site-content .content-area,
.tc-price-list-page .content-area,
.tc-price-list-page .site-content .content-area,
.tc-privacy-page .content-area,
.tc-privacy-page .site-content .content-area,
.tc-terms-page .content-area,
.tc-terms-page .site-content .content-area,
.tc-refund-returns-page .content-area,
.tc-refund-returns-page .site-content .content-area,
.tc-about-page .content-area,
.tc-about-page .site-content .content-area {
	max-width: 100%;
}

.tc-pl-hero {
	position: relative;
	overflow: hidden;
	color: #fff;
}

.tc-pl-hero-bg {
	position: absolute;
	inset: 0;
	background: linear-gradient(165deg, #0e0e0e 0%, #1a0f0f 42%, #0a0a0a 100%);
	pointer-events: none;
}

.tc-pl-hero-bg::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 3px;
	background: linear-gradient(90deg, #b12f27, #6e1914);
	opacity: 0.95;
}

.tc-pl-hero-inner {
	padding-bottom: 3.25rem;
}

@media (min-width: 992px) {
	.tc-pl-hero-inner {
		padding-top: 3.5rem;
		padding-bottom: 4.5rem;
	}
}

.tc-pl-hero-kicker {
	font-size: 0.75rem;
	letter-spacing: 0.18em;
	color: rgba(255, 255, 255, 0.55);
	font-weight: 600;
}

.tc-pl-hero-title {
	font-family: var(--tc-font-title);
	font-weight: 400;
	font-size: clamp(2rem, 4vw + 1rem, 3rem);
	letter-spacing: 0.06em;
	line-height: 1.1; 
}

.tc-pl-hero-lead {
	max-width: 40rem;
	font-size: 1rem;
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.88);
}

.tc-pl-download-btn .bi {
	flex-shrink: 0;
}

/* Price list preview — centred table like timbercentral.com.au/price-list/ */
.tc-pl-preview-card {
	margin-left: auto;
	margin-right: auto;
}

.tc-pl-footnote {
	font-style: normal;
	color: #555 !important;
	line-height: 1.5;
}

.tc-pl-table-footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 1.5rem;
	margin-top: 1rem;
}

.tc-pl-table-footer .tc-pl-footnote {
	flex: 1 1 12rem;
	max-width: none;
	margin: 0;
	text-align: left;
}

.tc-pl-table-footer .tc-pl-download-wrap {
	flex: 0 0 auto;
	margin: 0;
	text-align: right;
}

@media (max-width: 767.98px) {
	.tc-pl-table-footer {
		flex-direction: column;
		align-items: stretch;
	}

	.tc-pl-table-footer .tc-pl-footnote {
		text-align: center;
	}

	.tc-pl-table-footer .tc-pl-download-wrap {
		text-align: center;
	}

	.tc-pl-table-footer .tc-pl-download-btn {
		width: 100%;
		justify-content: center;
	}
}

.tc-pl-download-wrap .tc-pl-download-btn {
	background-color: var(--tc-brand, #b12f27) !important;
	border-color: var(--tc-brand, #b12f27) !important;
	color: #fff !important;
	padding: var(--tc-btn-padding-y) var(--tc-btn-padding-x) !important;
	font-size: var(--tc-btn-font-size) !important;
	font-weight: var(--tc-btn-font-weight) !important;
	border-radius: var(--tc-btn-radius) !important;
	text-decoration: none;
}

.tc-pl-download-wrap .tc-pl-download-btn:hover,
.tc-pl-download-wrap .tc-pl-download-btn:focus-visible {
	background-color: #962820 !important;
	border-color: #962820 !important;
	color: #fff !important;
}

/* Warm neutral “surface” behind the card (less stark than #fff to edge) */
.tc-pl-surface {
	background: linear-gradient(180deg, #f0eeeb 0%, #e8e5e0 100%);
}

.tc-pl-section-y {
	padding-top: 2.5rem;
	padding-bottom: 3.5rem;
}

@media (min-width: 992px) {
	.tc-pl-section-y {
		padding-top: 3.5rem;
		padding-bottom: 4.5rem;
	}
}

.tc-pl-intro {
	background: #fff;
	border-radius: 0.75rem;
	border: 1px solid rgba(0, 0, 0, 0.06);
	box-shadow: 0 6px 28px rgba(0, 0, 0, 0.06);
}

.tc-pl-block-title {
	font-family: var(--tc-font-title);
	font-weight: 400;
	letter-spacing: 0.06em;
}

.tc-pl-block-title {
	color: #111;
}

.tc-pl-block-sub {
	max-width: 40rem;
	margin-left: auto;
	margin-right: auto;
}

@media (min-width: 992px) {
	.tc-pl-block-sub {
		margin-left: 0;
	}
}

/* Price List — table layout (matches timbercentral.com.au reference). */
.tc-pl-cat-nav {
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 0.75rem;
	box-shadow: 0 6px 28px rgba(0, 0, 0, 0.06);
	padding: 1.1rem 1rem;
	position: sticky;
	top: 1rem;
}

.tc-pl-cat-nav-title {
	font-family: var(--tc-font-body);
	font-weight: 800;
	font-size: 0.8125rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	margin: 0 0 0.75rem;
	color: #0a0a0a;
}

.tc-pl-cat-nav-list > li + li {
	margin-top: 0.3rem;
}

.tc-pl-cat-nav-link {
	display: block;
	padding: 0.4rem 0.5rem;
	border-radius: 0.5rem;
	text-decoration: none;
	color: #2a2a2a;
	font-weight: 600;
	font-size: 0.875rem;
}

.tc-pl-cat-nav-link:hover,
.tc-pl-cat-nav-link:focus-visible {
	background: rgba(177, 47, 39, 0.08);
	color: var(--tc-brand, #b12f27);
	outline: none;
}

.tc-pl-table-card {
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 0.75rem;
	box-shadow: 0 6px 28px rgba(0, 0, 0, 0.06);
	overflow: hidden;
}

@media (max-width: 767.98px) {
	.tc-pl-table-card {
		overflow: visible;
	}

	.tc-pl-table-card .table-responsive {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}

.tc-pl-table {
	margin: 0;
}

.tc-pl-table thead th {
	background: #f7f7f7;
	border-bottom: 1px solid #e5e5e5;
	font-weight: 800;
	font-size: 0.75rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #0a0a0a;
	padding: 0.9rem 1rem;
}

.tc-pl-table tbody td,
.tc-pl-table tbody th {
	padding: 0.9rem 1rem;
	border-top: 1px solid #ededed;
	vertical-align: middle;
}

.tc-pl-row-cat th {
	background: #fff;
	padding-top: 1.25rem;
	padding-bottom: 0.6rem;
	border-top: none;
	font-family: var(--tc-font-title, var(--tc-font-body));
	font-weight: 400;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #0a0a0a;
}

.tc-pl-row-item .tc-pl-cell-product {
	font-weight: 700;
	color: #151515;
}

.tc-pl-row-item .tc-pl-cell-price {
	font-weight: 700;
	color: #1a1a1a;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.tc-pl-details-link {
	font-weight: 700;
	color: var(--tc-brand, #b12f27);
	text-decoration: none;
}

.tc-pl-details-link:hover,
.tc-pl-details-link:focus-visible {
	text-decoration: underline;
}

.tc-pl-col-price,
.tc-pl-cell-price {
	width: 10rem;
}

.tc-pl-col-details,
.tc-pl-cell-details {
	width: 7.5rem;
	white-space: nowrap;
}

@media (max-width: 575.98px) {
	.tc-pl-cat-nav {
		position: static;
	}
	.tc-pl-col-details,
	.tc-pl-cell-details {
		width: auto;
	}
	.tc-pl-col-price,
	.tc-pl-cell-price {
		width: auto;
		white-space: normal;
	}
}

/* Landing row — all price boxes in one line on large viewports, wrap on small */
.tc-pl-landing {
	width: 100%;
}

.tc-pl-landing-row {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 1.25rem;
	justify-content: center;
	align-items: stretch;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Full-width category heading inside the flex row */
.tc-pl-landing-row > .tc-pl-category {
	flex: 1 1 100%;
	width: 100%;
	max-width: 100%;
}

/* ≥1200px: one horizontal strip of equal-width cards (classic landing / pricing table feel) */
@media (min-width: 1200px) {
	.tc-pl-landing-row {
		flex-wrap: nowrap;
		justify-content: space-between;
		gap: 1rem;
	}
}

.tc-pl-landing-item {
	flex: 1 1 100%;
	max-width: 22rem;
	margin-left: auto;
	margin-right: auto;
}

@media (min-width: 576px) {
	.tc-pl-landing-item {
		flex: 1 1 calc(50% - 0.75rem);
		max-width: none;
		margin-left: 0;
		margin-right: 0;
	}
}

@media (min-width: 992px) and (max-width: 1199.98px) {
	.tc-pl-landing-item {
		flex: 1 1 calc(25% - 0.75rem);
		min-width: 12rem;
	}
}

@media (min-width: 1200px) {
	.tc-pl-landing-item {
		flex: 1 1 0;
		min-width: 0;
		max-width: none;
	}
}

/* Single “pricing card” (landing / SaaS style) */
.tc-pl-pbox {
	position: relative;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 0.9rem;
	padding: 1.35rem 1.1rem 1.25rem;
	min-height: 16rem;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
	transition: box-shadow 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
	overflow: hidden;
}

.tc-pl-pbox::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, #b12f27, #6e1914, #b12f27);
}

.tc-pl-pbox:hover,
.tc-pl-pbox:focus-within {
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.1);
	border-color: rgba(177, 47, 39, 0.22);
	transform: translateY(-3px);
}

.tc-pl-pbox-kicker {
	letter-spacing: 0.12em;
	font-size: 0.7rem;
	font-weight: 600;
	color: #888;
	margin-bottom: 0.35rem;
}

.tc-pl-pbox-title {
	font-family: var(--tc-font-title);
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.2;
	color: #111;
}

/* Optional tag-style length list (ul/li) */
.tc-pl-pbox-lengths-wrap {
	margin-top: 0.85rem;
	width: 100%;
}

.tc-pl-pbox-lengths {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.4rem 0.45rem;
	align-content: start;
}

.tc-pl-pbox-lengths li {
	margin: 0;
	padding: 0.4rem 0.35rem;
	font-size: 0.7rem;
	font-weight: 500;
	line-height: 1.25;
	color: #2a2a2a;
	background: #fff;
	border: 1px solid #d8d8d8;
	border-radius: 0.25rem;
	letter-spacing: 0.01em;
	text-align: center;
}

/* Length line + per-line price (Products → “Lengths & price by line”) */
.tc-pl-pbox-lengths--lp li.tc-pl-pbox-lprow {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
	gap: 0.25rem 0.5rem;
	text-align: left;
}
.tc-pl-pbox-lengths--lp .tc-pl-lp-line {
	flex: 1 1 auto;
	min-width: 0;
}
.tc-pl-pbox-lengths--lp .tc-pl-lp-price {
	flex: 0 0 auto;
	font-weight: 600;
	color: #b12f27;
	font-variant-numeric: tabular-nums;
	font-size: 0.72rem;
}

@media (max-width: 380px) {
	.tc-pl-pbox-lengths--cols-3 {
		grid-template-columns: 1fr;
	}
} 

/* Price band — reads as a “box” in the card */
.tc-pl-pbox-price {
	width: 100%;
}

.tc-pl-pbox-price-inner {
	display: flex;
	align-items: flex-end; 
}

.tc-pl-pbox-amount {
	font-family: var(--tc-font-body);
	font-size: clamp(1.4rem, 2.2vw + 0.5rem, 1.9rem);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.02em;
	color: #141414;
	line-height: 1.1;
}

/* Min–max style price line (set in Products → Product information). */
.tc-pl-pbox-amount--range {
	color: #c45c1c;
	white-space: normal;
}

/* WYSIWYG / HTML from “Product description” in admin */
.tc-pl-pbox-desc {
	font-size: 0.8125rem;
	line-height: 1.45;
	color: #3d3d3d;
	text-align: left;
	max-height: 8.5rem;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}
.tc-pl-pbox-desc p {
	margin: 0 0 0.4rem;
}
.tc-pl-pbox-desc p:last-child {
	margin-bottom: 0;
}
.tc-pl-pbox-desc ul,
.tc-pl-pbox-desc ol {
	margin: 0.25rem 0 0.5rem 1.1rem;
	padding: 0;
}
.tc-pl-pbox-desc li {
	margin-bottom: 0.2rem;
}

.tc-pl-pbox-unit {
	margin-top: 0.2rem;
	font-size: 0.875rem;
	font-weight: 500;
	color: #666;
	letter-spacing: 0.04em;
}

.tc-pl-pbox-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.3rem;
	width: 100%;
	padding: 0.5rem 1rem;
	margin-top: 0.1rem;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	color: #b12f27;
	background: #fff;
	border: 1px solid rgba(177, 47, 39, 0.4);
	border-radius: 0.4rem;
	transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.tc-pl-pbox-cta:hover,
.tc-pl-pbox-cta:focus-visible {
	color: #fff;
	background: #b12f27;
	border-color: #b12f27;
	box-shadow: 0 2px 12px rgba(177, 47, 39, 0.35);
}

.tc-pl-pbox-cta:focus-visible {
	outline: 2px solid #0a0a0a;
	outline-offset: 2px;
}

.tc-pl-pbox-cta-ico {
	font-size: 0.7rem;
	opacity: 0.9;
}

/* GST disclaimer — under the preview table */

/* -------------------------------------------------------------------------
   Legal pages (Privacy, Terms) — body content (hero uses .tc-pl-* with price list)
   ------------------------------------------------------------------------- */

.tc-legal-prose {
	font-size: 0.95rem;
	line-height: 1.65;
	color: #333;
}

.tc-legal-prose > *:first-child {
	margin-top: 0;
}

.tc-legal-prose h1,
.tc-legal-prose h2,
.tc-legal-prose h3,
.tc-legal-prose h4 {
	font-family: var(--tc-font-title);
	font-weight: 400;
	letter-spacing: 0.04em;
	color: #111;
	margin-top: 1.75rem;
	margin-bottom: 0.75rem;
}

.tc-legal-prose h1 {
	font-size: clamp(1.35rem, 2.5vw, 1.75rem);
}

.tc-legal-prose h2 {
	font-size: clamp(1.2rem, 2vw, 1.5rem);
}

.tc-legal-prose h3,
.tc-legal-prose h4 {
	font-size: 1.05rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.tc-legal-prose p,
.tc-legal-prose li {
	color: #444;
	margin-bottom: 10px;
}

.tc-legal-prose a {
	color: #b12f27;
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.tc-legal-prose a:hover,
.tc-legal-prose a:focus-visible {
	color: #94261f;
}

.tc-legal-prose ul,
.tc-legal-prose ol {
	padding-left: 1.25rem;
}

/* -------------------------------------------------------------------------
   Our Story / About body (hero uses shared .tc-pl-hero* styles above)
   ------------------------------------------------------------------------- */

.tc-our-story-body {
	background: #fff;
}

.tc-our-story-body--tight {
	padding-top: 0;
	padding-bottom: 0;
}
.tc-our-story-body.tc-about-simpler {
    background: var(--base-2);
} 

.tc-our-story-section-y {
	padding-top: 2.25rem;
	padding-bottom: 2.75rem;
}

@media (min-width: 992px) {
	.tc-our-story-section-y {
		padding-top: 3rem;
		padding-bottom: 3.5rem;
	}
}

.tc-our-story-narrow {
	max-width: 40rem;
}

.tc-our-story-h2 {
	font-family: var(--tc-font-title);
	font-weight: 400;
	letter-spacing: 0.06em;
	color: #1a1a1a;
	line-height: 1.2;
}

.tc-our-story-h3 {
	font-family: var(--tc-font-title);
	letter-spacing: 0.08em;
	color: #333;
}

.tc-our-story-prose p,
.tc-our-story-prose li,
.tc-our-story-editor p,
.tc-our-story-editor li {
	font-size: 0.98rem;
	line-height: 1.75;
	color: #444;
}

.tc-our-story-prose p {
	margin-bottom: 1.1rem;
}

.tc-our-story-prose p:last-child {
	margin-bottom: 0;
}

.tc-our-story-lead {
	font-size: 1.05rem;
	line-height: 1.7;
	color: #333;
}

.tc-our-story-list {
	margin: 0 0 0.5rem;
	padding-left: 1.1rem;
}

.tc-our-story-list li {
	margin-bottom: 0.45rem;
}

/* About Us — Values / Vision / Product range (3 columns) */
.tc-about-values-vision {
	background: #f7f7f7;
}

.tc-about-three-cols__card {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 1.5rem 1.35rem;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 0.75rem;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
}

@media (min-width: 992px) {
	.tc-about-three-cols__card {
		padding: 1.75rem 1.5rem;
	}
}

.tc-about-three-cols__card .tc-our-story-h2 {
	font-size: clamp(1.05rem, 1.8vw, 1.25rem);
	line-height: 1.25;
}

.tc-about-three-cols__card .tc-our-story-prose p:last-child {
	margin-bottom: 0;
}

.tc-about-three-cols__list {
	flex: 1 1 auto;
	margin-top: 0.15rem;
}

.tc-about-three-cols__list li:last-child {
	margin-bottom: 0;
}

/* “Making your projects simpler” (About — 6 feature grid) */
.tc-about-simpler-title {
	font-family: var(--tc-font-title);
	font-weight: 400;
	letter-spacing: 0.06em;
	color: #1a1a1a;
}

.tc-about-simpler-ico {
	color: #1a4d3a;
	line-height: 1;
}

.tc-about-simpler-ico .bi {
	display: block;
}

.tc-about-simpler-h {
	font-family: var(--tc-font-body);
	font-weight: 700;
	letter-spacing: 0.02em;
	color: #1a1a1a;
}

.tc-about-simpler-t {
	color: #333;
	font-size: 0.95rem;
	line-height: 1.65;
}

/* -------------------------------------------------------------------------
   About Us (template: About Us — Timber) — video block
   ------------------------------------------------------------------------- */

/* Video block (right column; no white card wrapper) */
.tc-about-video-block {
	width: 100%;
	margin: 0;
	padding: 0;
	line-height: 0;
	/* flex child in stretched row: must allow shrink for h-100 video */
	min-height: 0;
	align-items: center;
	justify-content: center;
	background: #0a0a0a;
	border-radius: 0.5rem;
	overflow: hidden;
}

@media (max-width: 991.98px) {
	.tc-about-video-block {
		min-height: 14rem;
	}
}

.tc-about-video-block .tc-about-video {
	display: block;
	width: 100%;
	height: 100%;
	max-height: none;
	margin: 0;
	min-height: 0;
	object-fit: contain;
	background: #000;
}

.tc-about-video-block .tc-about-media-placeholder,
.tc-about-video-block .tc-about-column-image {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 0;
	margin: 0;
	object-fit: cover;
	object-position: center;
}

.tc-about-heading {
	font-family: var(--tc-font-title);
	font-weight: 400;
	letter-spacing: 0.06em;
	color: #111;
	line-height: 1.2;
}

.tc-about-prose {
	font-size: 0.95rem;
	line-height: 1.65;
}

.tc-about-prose p,
.tc-about-prose li {
	color: #555;
	margin-bottom: 10px;
}

.tc-about-prose ul,
.tc-about-prose ol {
	margin: 0;
	padding-left: 1.2rem;
}

/* -------------------------------------------------------------------------
   Contact page (template: Contact — Timber)
   ------------------------------------------------------------------------- */

.tc-contact-page .content-area,
.tc-contact-page .site-content .content-area {
	max-width: 100%;
} 

.tc-contact .tc-pl-hero-lead {
	max-width: 42rem;
	font-size: 1rem;
	line-height: 1.6;
}

.tc-contact-section-title,
.tc-contact-form-title {
	font-family: var(--tc-font-title);
	font-weight: 400;
	letter-spacing: 0.06em;
	color: #111;
}

.tc-contact-icon-wrap {
	width: 44px;
	height: 44px;
	background: #b12f27;
	color: #fff;
}

.tc-contact-link {
	color: #b12f27;
}

.tc-contact-link:hover,
.tc-contact-link:focus-visible {
	color: #94261f;
}

.tc-contact-map iframe {
	display: block;
	width: 100%;
	min-height: 280px;
	border: 0;
}

/* Homepage — full-width map (same embed as Contact page) */
.tc-home-map {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	background: #e8e8e8;
	line-height: 0;
}

.tc-home-map-inner {
	width: 100%;
	max-width: none;
}

.tc-home-map iframe {
	display: block;
	width: 100%;
	height: clamp(280px, 42vw, 480px);
	min-height: 280px;
	border: 0;
}

.tc-contact-form-card .tc-contact-form .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
}
.tc-contact-cf7-grid p{margin-bottom: 0;}

.tc-contact-form-card .tc-contact-form input[type="text"],
.tc-contact-form-card .tc-contact-form input[type="email"],
.tc-contact-form-card .tc-contact-form input[type="tel"],
.tc-contact-form-card .tc-contact-form textarea {
	border-radius: 0.375rem;
	border: 1px solid #d8d8d8;
	padding: 0.65rem 0.85rem;
	font-size: 0.9375rem;
	background-color: transparent;
}

.tc-contact-form-card .tc-contact-form .wpcf7-not-valid-tip {
	font-size: 0.8125rem;
	margin-top: 0.25rem;
}

.tc-contact-form-card .tc-contact-form .btn.tc-contact-submit,
.tc-contact-form-card .tc-contact-form input[type="submit"].tc-contact-submit {
	background-color: #b12f27;
	border: none;
	color: #fff;
}

.tc-contact-form-card .tc-contact-form .btn.tc-contact-submit:hover,
.tc-contact-form-card .tc-contact-form input[type="submit"].tc-contact-submit:hover,
.tc-contact-form-card .tc-contact-form .btn.tc-contact-submit:focus-visible,
.tc-contact-form-card .tc-contact-form input[type="submit"].tc-contact-submit:focus-visible {
	background-color: #94261f;
	color: #fff;
}

.tc-contact-support-card h3 {
	font-family: var(--tc-font-title);
	font-weight: 400;
	letter-spacing: 0.04em;
	color: #111;
}

.tc-contact-faq-title {
	font-family: var(--tc-font-body);
	font-weight: 700;
	font-size: clamp(1.35rem, 2vw + 0.5rem, 1.75rem);
	letter-spacing: 0;
	text-align: left;
	text-transform: none;
	color: #111;
}

.tc-contact-faq-list {
	max-width: none;
}

.tc-contact-faq-accordion {
	--bs-accordion-border-width: 0;
	--bs-accordion-border-radius: 0;
	--bs-accordion-inner-border-radius: 0;
	--bs-accordion-btn-padding-x: 1.25rem;
	--bs-accordion-btn-padding-y: 1.125rem;
	--bs-accordion-body-padding-x: 1.25rem;
	--bs-accordion-body-padding-y: 1rem;
	--bs-accordion-active-color: #111;
	--bs-accordion-active-bg: #fff;
	--bs-accordion-btn-bg: #fff;
	--bs-accordion-btn-color: #111;
	--bs-accordion-btn-hover-bg: #fff;
	--bs-accordion-btn-hover-color: #111;
	--bs-accordion-btn-focus-box-shadow: none;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.tc-contact-faq-accordion .tc-contact-faq-item {
	border-radius: 0.75rem !important;
}

.tc-contact-faq-accordion .accordion-item:not(:first-of-type) {
	border-top: 1px solid rgba(108, 117, 125, 0.25);
}

.tc-contact-faq-trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	width: 100%;
	font-family: var(--tc-font-body);
	font-weight: bold;
	font-size: clamp(0.9375rem, 0.35vw + 0.85rem, 1.0625rem);
	letter-spacing: 0;
	color: #111;
	background: #fff;
	box-shadow: none;
}

.tc-contact-faq-trigger:not(.collapsed) {
	color: #111;
	background: #fff;
	box-shadow: none;
}

.tc-contact-faq-trigger::after {
	display: none;
}

.tc-contact-faq-q {
	flex: 1 1 auto;
	text-align: left;
	line-height: 1.45;
}

.tc-contact-faq-q-prefix {
	font-weight: 700;
	margin-right: 0.2em;
}

.tc-contact-faq-chevron {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 50%;
	background: #f3f3f3;
	transition: transform 0.2s ease, background 0.2s ease;
}

.tc-contact-faq-chevron-ico {
	font-size: 0.875rem;
	color: #111;
	transition: transform 0.2s ease;
}

.tc-contact-faq-trigger:not(.collapsed) .tc-contact-faq-chevron {
	background: rgba(177, 47, 39, 0.1);
}

.tc-contact-faq-trigger:not(.collapsed) .tc-contact-faq-chevron-ico {
	transform: rotate(180deg);
	color: var(--tc-brand, #b12f27);
}

.tc-contact-faq-trigger:hover,
.tc-contact-faq-trigger:focus,
.tc-contact-faq-trigger:focus-visible,
.tc-contact-faq-trigger:not(.collapsed):hover {
	color: #111;
	background: #fff;
	box-shadow: none;
}

.tc-contact-faq-a {
	border-top: 1px solid rgba(0, 0, 0, 0.06); 
}

.tc-contact-faq-a p:last-child {
	margin-bottom: 0;
}

@media (prefers-reduced-motion: reduce) {
	.tc-contact-faq-chevron,
	.tc-contact-faq-chevron-ico {
		transition: none;
	}
}

/* Product detail — FAQs (separate section below tabs) */
.tc-product-faq {
	padding-top: clamp(1.5rem, 3vw, 2.5rem);
	border-top: 1px solid var(--tc-border-subtle, #e8e8e8);
}

.tc-wc-product-tabs + .tc-product-faq {
	margin-top: 0;
	border-top: 0;
	padding-top: clamp(2rem, 4vw, 3rem);
}

.tc-product-faq-list {
	max-width: none;
}

.tc-product-faq .tc-contact-faq-accordion {
	gap: 0.65rem;
}

.tc-product-faq .tc-contact-faq-a {
	font-size: 0.9375rem;
	line-height: 1.6;
	color: #555;
}

.tc-product-faq .accordion-collapse.collapsing {
	transition: height 0.3s ease;
}

@media (prefers-reduced-motion: reduce) {
	.tc-product-faq .accordion-collapse.collapsing {
		transition: none;
	}
}

/* Product detail — Description / Additional Information / Reviews tabs */
.tc-wc-product-tabs {
	--tc-tab-active-bg: var(--tc-brand, #b12f27);
	--tc-tab-active-border: var(--tc-brand, #b12f27);
	--tc-tab-inactive-bg: #fafafa;
	--tc-tab-inactive-text: #333;
	--tc-tab-border: var(--tc-border-subtle, #e8e8e8);
}

.tc-wc-product-tabs.tc-product-detail-panel {
	box-shadow:
		0 1px 0 rgba(0, 0, 0, 0.04),
		0 8px 28px rgba(0, 0, 0, 0.05);
}

.tc-wc-product-tabs__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	border: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.tc-wc-product-tabs__nav .nav-item {
	flex: 1 1 0;
	min-width: 0;
	margin: 0;
	padding: 0;
}

.tc-wc-product-tabs__btn {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0.75rem 1rem;
	border: 1px solid var(--tc-tab-border) !important;
	border-radius: var(--tc-radius-md, 0.5rem) !important;
	background: var(--tc-tab-inactive-bg) !important;
	color: var(--tc-tab-inactive-text) !important;
	font-family: var(--tc-font-body);
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.35;
	text-align: center;
	text-decoration: none;
	text-transform: none;
	letter-spacing: 0;
	box-shadow: none !important;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease;
}

.tc-wc-product-tabs__btn:hover,
.tc-wc-product-tabs__btn:focus-visible {
	background: #fff !important;
	border-color: var(--tc-brand, #b12f27) !important;
	color: var(--tc-brand, #b12f27) !important;
	outline: none;
}

.tc-wc-product-tabs__btn.active,
.tc-wc-product-tabs__btn.active:hover,
.tc-wc-product-tabs__btn.active:focus-visible {
	background: var(--tc-tab-active-bg) !important;
	border-color: var(--tc-tab-active-border) !important;
	color: #fff !important;
}

.tc-wc-product-tabs__panels {
	border-top: 1px solid var(--tc-tab-border);
	margin-top: 1.25rem;
	padding-top: clamp(1.25rem, 2.5vw, 1.75rem);
}

.tc-wc-product-tabs__panel:focus {
	outline: none;
}

.tc-wc-tab-subheading {
	font-family: var(--tc-font-title);
	font-weight: 400;
	font-size: clamp(1.25rem, 2vw, 1.5rem);
	letter-spacing: 0.04em;
	color: #111;
	margin: 0 0 1rem;
}

.tc-wc-tab-divider {
	margin-top: clamp(1.75rem, 3vw, 2.5rem);
	padding-top: clamp(1.75rem, 3vw, 2.5rem);
	border-top: 1px solid var(--tc-border-subtle, #e8e8e8);
}

.tc-wc-tab-description {
	margin-bottom: 0;
}

.tc-wc-tab-features-list {
	margin: 0;
	padding-left: 1.35rem;
	list-style: decimal;
}

.tc-wc-tab-features-list__item {
	margin-bottom: 1rem;
	font-size: 1rem;
	line-height: 1.65;
	color: #333;
}

.tc-wc-tab-features-list__item:last-child {
	margin-bottom: 0;
}

.tc-wc-tab-features-list__title {
	font-weight: 700;
	color: #111;
}

.tc-product-faq--in-tabs {
	padding-top: 0;
	border-top: 0; 
}

.tc-faq-list--cols-2 .tc-contact-faq-accordion {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem;
}

@media (min-width: 768px) {
	.tc-faq-list--cols-2 .tc-contact-faq-accordion {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: start;
		column-gap: 1.25rem;
	}
}

/* Back-compat if older markup is cached */
.tc-product-faq-list--cols-2 .tc-contact-faq-accordion {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem;
}

@media (min-width: 768px) {
	.tc-product-faq-list--cols-2 .tc-contact-faq-accordion {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: start;
		column-gap: 1.25rem;
	}
}

.tc-wc-tab-additional table.shop_attributes,
.tc-wc-tab-additional .woocommerce-product-attributes {
	width: 100%;
	border: 0;
	margin: 0;
}

.tc-wc-tab-additional table.shop_attributes th,
.tc-wc-tab-additional table.shop_attributes td {
	border: 0;
	border-bottom: 1px solid #ececec;
	padding: 0.75rem 0;
	font-size: 0.9375rem;
	vertical-align: top;
}

.tc-wc-tab-additional table.shop_attributes th {
	font-weight: 600;
	color: #111;
	width: 38%;
	padding-right: 1rem;
}

.tc-wc-tab-additional table.shop_attributes td {
	color: #444;
}

.tc-wc-tab-additional table.shop_attributes tr:last-child th,
.tc-wc-tab-additional table.shop_attributes tr:last-child td {
	border-bottom: 0;
}

@media (max-width: 575.98px) {
	.tc-wc-tab-additional table.shop_attributes th,
	.tc-wc-tab-additional table.shop_attributes td {
		display: block;
		width: 100%;
		padding: 0.5rem 0;
	}

	.tc-wc-tab-additional table.shop_attributes th {
		border-bottom: 0;
		padding-bottom: 0.15rem;
	}
}

.tc-wc-product-tabs .woocommerce-Reviews,
.tc-wc-product-tabs #reviews {
	margin: 0;
}

.tc-wc-product-tabs #review_form_wrapper {
	margin-top: 1.5rem;
}

@media (max-width: 575.98px) {
	.tc-wc-product-tabs__nav {
		flex-direction: column;
	}

	.tc-wc-product-tabs__nav .nav-item {
		flex: 1 1 auto;
		width: 100%;
	}
}

/* -------------------------------------------------------------------------
   Footer
   ------------------------------------------------------------------------- */

.site-footer.tc-footer-outer {
	padding: 0;
	max-width: none;
	width: 100%;
}

.tc-footer {
	--tc-footer-accent: #b12f27;
	--tc-footer-muted: rgba(255, 255, 255, 0.72);
	font-family: var(--tc-font-body);
	background: #141414;
	color: var(--tc-footer-muted);
}

.tc-footer .custom-logo-link img,
.tc-footer img.custom-logo {
	max-height: 56px;
	width: auto;
}

.footer-title {
	font-family: var(--tc-font-title);
	font-weight: 400;
	letter-spacing: 0.06em;
    color: #fff;    
    font-size: 20px;
    margin-bottom: 20px;
}

.tc-footer-about {
	color: #9F9FA9;
}

.footer-link, .footer-text {
	color: #9F9FA9;
	text-decoration: none;
	transition: color 0.15s ease;
    font-size:14px; 
}

.footer-link:hover,
.footer-link:active,
.footer-link:focus,
.footer-link:focus-visible {
	color: #fff;
}

.tc-footer-nav li {
	margin-bottom: 0.5rem;
}

.tc-footer-nav li:last-child {
	margin-bottom: 0;
}

.tc-footer-contact-icon {
	color: var(--tc-footer-accent);
}

.tc-footer-social-link {
	width: 40px;
	height: 40px;
	border: 1px solid var(--tc-footer-accent);
	border-radius: 50%;
	color: var(--tc-footer-accent);
	transition: background-color 0.15s ease, color 0.15s ease;
}

.tc-footer-social-link:hover,
.tc-footer-social-link:active,
.tc-footer-social-link:focus,
.tc-footer-social-link:focus-visible {
	background-color: var(--tc-footer-accent);
	color: #fff;
}

.tc-footer-bar {
	background: #0d0d0d;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	color: rgba(255, 255, 255, 0.55);
}

.tc-footer-bar .tc-footer-link {
	color: rgba(255, 255, 255, 0.55);
}

.tc-footer-bar .tc-footer-link:hover,
.tc-footer-bar .tc-footer-link:focus-visible {
	color: #fff;
}

@media (max-width: 767.98px) {
	.tc-footer-main .container {
		padding-top: 2.5rem !important;
		padding-bottom: 2.5rem !important;
	}

	.tc-footer .footer-title {
		font-size: 1.125rem;
		margin-bottom: 0.85rem;
	}

	.tc-footer-bar .container {
		text-align: center;
	}

	.tc-footer-bar .d-flex {
		justify-content: center !important;
	}
}

/* -------------------------------------------------------------------------
   Homepage — Shop by category
   ------------------------------------------------------------------------- */

.tc-shop-by-category {
	background-color: #ececec;
	background-image: radial-gradient(circle, rgba(0, 0, 0, 0.06) 1px, transparent 1px);
	background-size: 24px 24px;
}

.tc-sbc-title {
	font-family: var(--tc-font-title);
	font-weight: 400;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #1a1a1a;
	font-size: clamp(1.75rem, 4vw, 2.25rem);
	margin-bottom: 0.75rem;
}

.tc-sbc-lead {
	max-width: 42rem;
	font-size: 0.98rem;
	line-height: 1.6;
	color: #555;
}

.tc-sbc-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

@media (min-width: 768px) {
	.tc-sbc-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 992px) {
	.tc-sbc-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.tc-sbc-card {
	position: relative;
	display: block;
	width: 100%;
	min-width: 0;
	aspect-ratio: 4 / 3;
	text-decoration: none;
	overflow: hidden;
	border-radius: var(--tc-radius-xl);
	color: #1a1a1a;
}

.tc-sbc-card:focus-visible {
	outline: 2px solid #1a4d3a;
	outline-offset: 3px;
}

.tc-sbc-card__bg {
	position: absolute;
	inset: 0;
	background-color: #ddd;
	margin: 0;
	padding: 0;
	overflow: hidden;
}

.tc-sbc-card__img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tc-sbc-card__box {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 1;
	transform: translate(-50%, -50%);
	background: #fff;
	padding: 0.65rem 1.1rem;
	min-width: 60%;
	width: max-content;
	max-width: 90%;
	text-align: center;
	box-sizing: border-box;
	border-radius: var(--tc-radius-md);
}

.tc-sbc-card__title {
	display: block;
	font-family: var(--tc-font-body);
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.02em;
}

/* -------------------------------------------------------------------------
   Homepage — What we offer
   ------------------------------------------------------------------------- */

.tc-what-offer {
	background: #fff;
}

.tc-what-offer-label {
	color: #1a4d3a;
	letter-spacing: 0.12em;
}

.tc-what-offer-title {
	font-family: var(--tc-font-title);
	font-weight: 400;
	letter-spacing: 0.05em;
	font-size: clamp(1.75rem, 3.5vw, 2.5rem);
}

.tc-what-offer-lead {
	max-width: 46rem;
	font-size: 0.95rem;
	line-height: 1.65;
}

.tc-what-offer-grid {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	gap: 1rem;
}

@media (min-width: 576px) {
	.tc-what-offer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 992px) {
	.tc-what-offer-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.tc-what-offer-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 10.5rem;
	padding: 1.6rem 1.25rem;
	background: #f2f2f2;
	text-align: center;
	border-radius: var(--tc-radius-xl);
	overflow: hidden;
	transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.tc-what-offer-card:hover {
	background: #fff;
	transform: translateY(-3px);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08);
}

.tc-what-offer-icon {
	color: #1f1f1f;
	line-height: 1;
}

.tc-what-offer-icon .bi {
	display: block;
}

.tc-what-offer-card-title {
	font-family: var(--tc-font-body);
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.3;
	color: #1a1a1a;
	margin: 0 0 0.45rem;
}

.tc-what-offer-card-text {
	max-width: 16rem;
	font-size: 0.85rem;
	line-height: 1.65;
	color: #333;
	margin: 0 auto;
}

/* -------------------------------------------------------------------------
   Homepage — How to order (above FAQ) — matches Testimonials section shell
   ------------------------------------------------------------------------- */

.tc-how-to-order {
	--tc-ho-accent: #b12f27;
	background: #121212;
	color: rgba(255, 255, 255, 0.85);
	font-family: var(--tc-font-body);
}

.tc-how-to-order-kicker {
	color: var(--tc-ho-accent);
	letter-spacing: 0.12em;
}

.tc-how-to-order-title {
	font-family: var(--tc-font-title);
	font-weight: 400;
	font-size: clamp(1.75rem, 3vw + 0.5rem, 2.5rem);
	line-height: 1.1;
	letter-spacing: 0.06em;
}

.tc-how-to-order-tagline {
	font-size: 1rem;
	max-width: 42rem;
	line-height: 1.65;
}

@media (min-width: 768px) {
	.tc-how-to-order__steps {
		--bs-gutter-x: 1.75rem;
		--bs-gutter-y: 1.75rem;
	}
}

.tc-how-to-order-card {
	background: #1e1e1e;
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: var(--tc-radius-xl);
	overflow: hidden;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.tc-how-to-order-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 36px rgba(0, 0, 0, 0.35);
}

.tc-how-to-order__card-inner {
	min-height: 100%;
}

.tc-how-to-order__card-top {
	width: 100%;
}

.tc-how-to-order__card-bottom {
	text-align: center;
}

.tc-how-to-order__num {
	font-family: var(--tc-font-title);
	font-size: clamp(2.25rem, 4vw, 3rem);
	line-height: 0.88;
	margin: 0 auto 0.75rem;
	color: transparent;
	-webkit-text-stroke: 1px rgba(255, 255, 255, 0.22);
	user-select: none;
}

@supports not (-webkit-text-stroke: 1px white) {
	.tc-how-to-order__num {
		color: rgba(255, 255, 255, 0.12);
		-webkit-text-stroke: 0;
	}
}

.tc-how-to-order__title {
	font-family: var(--tc-font-body);
	letter-spacing: 0.02em;
	text-align: center;
}

.tc-how-to-order__text {
	line-height: 1.65;
	max-width: 17rem;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

/* WooCommerce variable product swatches (buttons). */
.woocommerce div.product form.cart .tc-variation-select-visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.woocommerce div.product form.cart .tc-variation-swatch {
	min-height: 2.5rem;
	font-size: 0.875rem;
	line-height: 1.25;
	border-width: 1px !important;
}

.woocommerce div.product form.cart .tc-variation-swatch.active {
	border-color: #000 !important;
	color: #000;
	/* box-shadow: inset 0 0 0 1px #000; */
}

.woocommerce div.product form.cart table.variations tr.tc-variation-row--swatches th.label.tc-variation-label--moved {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.woocommerce div.product form.cart table.variations tr.tc-variation-row--swatches td.value {
	width: 100%;
}

.woocommerce div.product form.cart .tc-variation-swatches--grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.5rem 0.75rem;
}

@media (min-width: 576px) {
	.woocommerce div.product form.cart .tc-variation-swatches--grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.woocommerce div.product form.cart .tc-variation-attribute-heading {
	margin-top: 0;
	font-size: 0.9375rem;
	line-height: 1.4;
	letter-spacing: 0.01em;
}

/* -------------------------------------------------------------------------
   WooCommerce single product — Timber detail layout (native /product/…)
   ------------------------------------------------------------------------- */

.woocommerce div.product.tc-wc-single-product {
	display: block;
}

.woocommerce div.product.tc-wc-single-product::after {
	content: '';
	display: table;
	clear: both;
}

.woocommerce div.product.tc-wc-single-product .summary.entry-summary,
.woocommerce div.product.tc-wc-single-product .tc-wc-product-gallery-wrap .woocommerce-product-gallery {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
}

.tc-wc-product-gallery-wrap .woocommerce-product-gallery {
	background: transparent;
	border: 0;
	overflow: visible;
	position: relative;
}

/* Consistent main image viewport — same size on every product, single or multi-image.
   Do not force height on `.flex-viewport` (FlexSlider sets it in JS). */
.tc-wc-product-gallery-wrap .woocommerce-product-gallery > .flex-viewport,
.tc-wc-product-gallery-wrap .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
	width: 100% !important;
	height: 400px !important;
	background: #fafafa;
	border: 1px solid #e8e8e8;
	border-radius: 0.875rem;
	overflow: hidden;
	margin: 0 !important;
	padding: 0;
	position: relative;
}

.tc-wc-product-gallery-wrap .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
	aspect-ratio: 1 / 1;
}

.tc-wc-product-gallery-wrap .woocommerce-product-gallery > .flex-viewport {
	overflow: hidden !important;
	min-height: 16rem;
}

/* Inner FlexSlider track keeps its own computed width but matches viewport height. */
.tc-wc-product-gallery-wrap .flex-viewport > .woocommerce-product-gallery__wrapper {
	height: 100% !important;
	aspect-ratio: auto !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	margin: 0 !important;
}

/* Each gallery slide / single image cell — fill viewport height so the image can center. */
.tc-wc-product-gallery-wrap .woocommerce-product-gallery__image {
	height: 100% !important;
	display: block;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent;
}

.tc-wc-product-gallery-wrap .woocommerce-product-gallery__image a {
	display: flex !important;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
	padding: 0.5rem;
	box-sizing: border-box;
}

.tc-wc-product-gallery-wrap .woocommerce-product-gallery__image img { 
	height: auto !important;  
	object-fit: contain !important;
	display: block;
	margin: 0 auto !important;
}

/* Desktop: vertical thumbnails to the left (matches product detail mockup) */
@media (min-width: 992px) {
	.tc-wc-product-gallery-wrap .woocommerce-product-gallery:not(.woocommerce-product-gallery--without-images) {
		display: flex;
		flex-direction: row-reverse;
		align-items: flex-start;
		gap: 0.75rem;
		overflow: visible;
		background: transparent;
		border: none;
	}

	.tc-wc-product-gallery-wrap .woocommerce-product-gallery > .flex-viewport,
	.tc-wc-product-gallery-wrap .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
		flex: 1 1 0;
		min-width: 0;
	}

	.tc-wc-product-gallery-wrap ol.flex-control-thumbs,
	.tc-wc-product-gallery-wrap .flex-control-thumbs {
		flex: 0 0 4.125rem;
		width: 4.125rem !important;
		max-width: 4.125rem;
		margin: 0 !important;
		padding: 0 !important;
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
		gap: 0.5rem;
		max-height: min(28rem, 70vh);
		overflow-y: auto;
		overflow-x: hidden;
		-webkit-overflow-scrolling: touch;
	}

	.tc-wc-product-gallery-wrap .flex-control-thumbs li {
		float: none !important;
		width: 100% !important;
		margin: 0 !important;
	}
}

@media (max-width: 991.98px) {
	/* Stack main stage + thumbs; overlay prev/next on the stage (not below thumbnails). */
	.tc-wc-product-gallery-wrap .woocommerce-product-gallery:not(.woocommerce-product-gallery--without-images) {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: auto auto;
	}

	.tc-wc-product-gallery-wrap .woocommerce-product-gallery > .flex-viewport,
	.tc-wc-product-gallery-wrap .woocommerce-product-gallery > .flex-direction-nav {
		grid-row: 1;
		grid-column: 1;
	}

	.tc-wc-product-gallery-wrap ol.flex-control-thumbs,
	.tc-wc-product-gallery-wrap .flex-control-thumbs {
		grid-row: 2;
		grid-column: 1;
	}

	.tc-wc-product-gallery-wrap .woocommerce-product-gallery > .flex-viewport {
		width: 100% !important;
		aspect-ratio: 1 / 1;
		min-height: 0;
		touch-action: pan-y pinch-zoom;
	}

	.tc-wc-product-gallery-wrap .flex-direction-nav {
		list-style: none;
		margin: 0 !important;
		padding: 0;
		position: relative;
		z-index: 4;
		pointer-events: none;
		align-self: stretch;
		min-height: 100%;
	}

	.tc-wc-product-gallery-wrap .flex-direction-nav li {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.tc-wc-product-gallery-wrap .flex-direction-nav a {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		z-index: 5;
		pointer-events: auto;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 2.5rem;
		height: 2.5rem;
		margin: 0;
		padding: 0;
		font-size: 0;
		line-height: 0;
		overflow: hidden;
		text-decoration: none;
		color: #111;
		border-radius: 50%;
		background: rgba(255, 255, 255, 0.94);
		box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
		border: 1px solid rgba(0, 0, 0, 0.08);
		opacity: 1;
	}

	.tc-wc-product-gallery-wrap .flex-direction-nav a::before {
		font-family: bootstrap-icons;
		font-size: 1.125rem;
		line-height: 1;
		font-weight: 700;
	}

	.tc-wc-product-gallery-wrap .flex-direction-nav .flex-prev {
		left: 0.625rem;
		right: auto;
	}

	.tc-wc-product-gallery-wrap .flex-direction-nav .flex-prev::before {
		content: "\f284";
	}

	.tc-wc-product-gallery-wrap .flex-direction-nav .flex-next {
		right: 0.625rem;
		left: auto;
	}

	.tc-wc-product-gallery-wrap .flex-direction-nav .flex-next::before {
		content: "\f285";
	}

	.tc-wc-product-gallery-wrap .flex-direction-nav .flex-disabled {
		opacity: 0.35;
		pointer-events: none;
	}

	.tc-wc-product-gallery-wrap ol.flex-control-thumbs,
	.tc-wc-product-gallery-wrap .flex-control-thumbs {
		margin: 0.75rem 0 0 !important;
		padding: 0 0 0.25rem !important;
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 0.5rem;
		justify-content: flex-start;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x proximity;
	}

	.tc-wc-product-gallery-wrap .flex-control-thumbs li {
		float: none !important;
		flex: 0 0 4.25rem;
		width: 4.25rem !important;
		margin: 0 !important;
		scroll-snap-align: start;
	}

	.tc-wc-product-gallery-wrap .flex-control-thumbs li img {
		display: block;
		width: 100%;
		height: 4.25rem;
		object-fit: cover;
		border-radius: 0.5rem;
		border: 2px solid transparent;
		box-sizing: border-box;
	}

	.tc-wc-product-gallery-wrap .flex-control-thumbs li.flex-active img {
		border-color: var(--tc-hero-accent, #b12f27);
	}
}

.tc-wc-single-summary h1.product_title { 
	font-size: clamp(1.1875rem, 1.7vw + 0.82rem, 2rem); 
	line-height: 1.18;
	color: #0a0a0a;
	text-transform: uppercase;
	margin-bottom: 0.5rem;
}

.tc-wc-single-summary .woocommerce-product-details__short-description {
	font-family: var(--tc-font-body);
	line-height: 1.7;
	font-size: 1rem;
	color: #353535;
	margin-bottom: 1.25rem;
}

.tc-wc-single-summary .woocommerce-product-details__short-description p:last-child {
	margin-bottom: 0;
}

.tc-wc-single-product .tc-wc-single-summary.tc-product-detail-panel {
	box-shadow:
		0 1px 0 rgba(0, 0, 0, 0.04),
		0 10px 32px rgba(0, 0, 0, 0.06);
	border-color: #ececec;
}

.tc-wc-single-summary form.cart {
	margin-bottom: 0;
}

/* Default WC product_meta removed from summary — custom Code/Categories block uses .tc-product-detail-meta */
.tc-wc-single-summary .tc-wc-trust-row {
	margin-top: 1.75rem !important;
	padding-top: 0.5rem;
	border-top: none;
}

.woocommerce .tc-wc-single-product__below-summary {
	clear: both;
}

.woocommerce .tc-wc-single-product__below-summary .woocommerce-tabs {
	background: #fff;
	border: 1px solid #dcdcdc;
	border-radius: 14px;
	overflow: hidden;
	margin-bottom: 2rem;
}

.woocommerce .tc-wc-single-product__below-summary .woocommerce-tabs ul.tabs {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	border-bottom: 1px solid #e5e5e5;
	background: #f7f7f7;
}

.woocommerce .tc-wc-single-product__below-summary .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	background: transparent;
	border: none;
}

.woocommerce .tc-wc-single-product__below-summary .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 0.85rem 1.25rem;
	font-weight: 700;
	font-size: 0.8125rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #555;
	text-decoration: none;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
}

.woocommerce .tc-wc-single-product__below-summary .woocommerce-tabs ul.tabs li.active a,
.woocommerce .tc-wc-single-product__below-summary .woocommerce-tabs ul.tabs li a:hover {
	color: #0a0a0a;
	border-bottom-color: var(--tc-brand, #b12f27);
}

.woocommerce .tc-wc-single-product__below-summary .woocommerce-Tabs-panel {
	padding: clamp(1.25rem, 3vw, 2rem);
	font-family: var(--tc-font-body);
	line-height: 1.65;
	color: #353535;
}
.woocommerce table.shop_table{border:none;}

/* Related products + upsells — Timber catalog cards */
.tc-wc-related-products,
.tc-wc-upsell-products {
	margin-top: clamp(2rem, 4vw, 3rem);
	padding-top: clamp(1.5rem, 3vw, 2.5rem);
	border-top: 1px solid #e4e4e7;
}

.tc-wc-upsell-products + .tc-wc-related-products {
	margin-top: clamp(1.5rem, 3vw, 2rem);
}

.tc-wc-related-heading,
.tc-wc-upsell-products .tc-wc-related-heading {
	font-family: var(--tc-font-title, var(--tc-font-body));
	letter-spacing: 0;
	font-size: 24px;
	font-weight: normal;
	margin: 0 0 clamp(1.25rem, 2.5vw, 1.75rem);
	color: #0a0a0a;
	text-transform: none;
}

.tc-product-faq .tc-wc-related-heading,
.tc-product-faq .tc-wc-tab-subheading {
	font-family: var(--tc-font-title);
	font-weight: 400;
	font-size: clamp(1.35rem, 2vw, 1.75rem);
	letter-spacing: 0.04em;
	color: #111;
	margin: 0 0 clamp(1.25rem, 2.5vw, 1.75rem);
}

.tc-wc-single-product__below-summary .tc-products-grid--related {
	grid-template-columns: repeat(1, minmax(0, 1fr));
	gap: 1.5rem;
}

.entry-content:not(:first-child), .entry-summary:not(:first-child), .page-content:not(:first-child) {
    margin-top: 0;
}	

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price, .woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
    color: var(--tc-brand, #b12f27);
    font-size: 24px;
    font-weight: bold;
}

@media (min-width: 576px) {
	.tc-wc-single-product__below-summary .tc-products-grid--related {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.75rem;
	}
}

@media (min-width: 992px) {
	.tc-wc-single-product__below-summary .tc-products-grid--related {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: clamp(1rem, 1.5vw, 1.5rem);
	}
}

.tc-wc-single-product__below-summary .tc-products-grid--related .tc-products-card-actions {
	flex-wrap: wrap;
}

.tc-wc-dual .tc-product-detail-dual-heading {
	letter-spacing: 0.1em;
	font-size: 0.8125rem;
}

.tc-wc-specs-panel .tc-product-detail-specs-heading {
	margin-bottom: 1rem;
}

.woocommerce .tc-wc-single-product__below-summary ul.products {
	margin-bottom: 0;
}

/* Single product — Send Enquiry: secondary CTA (primary = Add to cart + Buy Now) */
.woocommerce .tc-wc-single-product .tc-wc-single-enquiry-wrap {
	border-color: var(--tc-border-subtle, #e8e8e8) !important;
}

.woocommerce .tc-wc-single-product .tc-wc-enquiry-btn.button {
	background: #fff !important;
	border: 1px solid #d5d5d5 !important;
	color: #444 !important;
	box-shadow: none;
	margin-top: 20px;
}

.woocommerce .tc-wc-single-product .tc-wc-enquiry-btn.button:hover,
.woocommerce .tc-wc-single-product .tc-wc-enquiry-btn.button:focus-visible {
	background: #fafafa !important;
	border-color: var(--tc-brand, #b12f27) !important;
	color: var(--tc-brand, #b12f27) !important;
	box-shadow: none;
}

.woocommerce .quantity .qty{width:80px;}

/* Single product — qty + Add to cart + Buy Now on one row */
.woocommerce .tc-wc-single-product form.cart .tc-wc-cart-actions {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 0.5rem;
}

.woocommerce .tc-wc-single-product form.cart .tc-wc-cart-actions .quantity {
	flex: 0 0 auto;
	margin: 0;
}

.woocommerce .tc-wc-single-product form.cart .tc-wc-cart-actions .tc-wc-add-to-cart-btn,
.woocommerce .tc-wc-single-product form.cart .tc-wc-cart-actions .tc-wc-buy-now-button {
	flex: none;
	width: auto !important;
	min-width: 0;
}

.payment_box.payment_method_cod::before{display:none !important;}
#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment{
	background: transparent;
}
#add_payment_method #payment ul.payment_methods, .woocommerce-cart #payment ul.payment_methods, .woocommerce-checkout #payment ul.payment_methods{padding:0 !important;}
#add_payment_method #payment ul.payment_methods li, .woocommerce-cart #payment ul.payment_methods li, .woocommerce-checkout #payment ul.payment_methods li{margin-bottom:20px;}
#add_payment_method #payment div.form-row, .woocommerce-cart #payment div.form-row, .woocommerce-checkout #payment div.form-row{
	padding:0 !important;
}
.tc-wc-checkout-layout__main .woocommerce-shipping-fields h3 { 
    text-transform: none !important;
    font-family: var(--tc-font-body) !important;
    letter-spacing: 0 !important;
    font-size: 14px !important;
}
.payment_method_cod p {
    font-size: 14px;
}

/* WooCommerce overrides theme .btn padding — keep global size */
.woocommerce .tc-wc-single-product form.cart .button.btn,
.woocommerce .tc-wc-single-product .tc-wc-enquiry-btn.button.btn,
.tc-wc-cart-page a.button.btn,
.tc-wc-cart-page button.button.btn {
	padding: var(--tc-btn-padding-y) var(--tc-btn-padding-x) !important;
	font-size: var(--tc-btn-font-size) !important;
	font-family: var(--tc-font-body) !important;
	font-weight: var(--tc-btn-font-weight) !important;
	line-height: 1.4 !important;
	border-radius: var(--tc-btn-radius) !important;
}

/* Single product cart buttons — colors only */
.woocommerce .tc-wc-single-product form.cart .tc-wc-add-to-cart-btn {
	background-color: #b12f27 !important;
	border-color: #b12f27 !important;
	color: #fff !important;
}

.woocommerce .tc-wc-single-product form.cart .tc-wc-add-to-cart-btn:hover,
.woocommerce .tc-wc-single-product form.cart .tc-wc-add-to-cart-btn:focus-visible {
	background-color: #a35353 !important;
	border-color: #a35353 !important;
	color: #0a0a0a !important;
}

.woocommerce .tc-wc-single-product form.cart .tc-wc-buy-now-button {
	background-color: #002e44 !important;
	border-color: #002e44 !important;
	color: #fff !important;
}

.woocommerce .tc-wc-single-product form.cart .tc-wc-buy-now-button:hover,
.woocommerce .tc-wc-single-product form.cart .tc-wc-buy-now-button:focus-visible {
	background-color: #002438 !important;
	border-color: #002438 !important;
	color: #fff !important;
}

@media (max-width: 991.98px) {
	.tc-wc-single-product .woocommerce-product-gallery {
		width: 100% !important;
	}
}

@media (max-width: 575.98px) {
	.woocommerce .tc-wc-single-product form.cart .tc-wc-cart-actions {
		flex-wrap: wrap;
	}

	.woocommerce .tc-wc-single-product form.cart .tc-wc-cart-actions .quantity {
		flex: 1 1 100%;
		max-width: 100%;
	}

	.woocommerce .tc-wc-single-product form.cart .tc-wc-cart-actions .tc-wc-add-to-cart-btn,
	.woocommerce .tc-wc-single-product form.cart .tc-wc-cart-actions .tc-wc-buy-now-button {
		flex: 1 1 100%;
		width: 100% !important;
	}

	.tc-wc-single-summary .price,
	.tc-wc-single-summary p.price,
	.tc-wc-single-summary span.price {
		font-size: clamp(1.125rem, 4.5vw, 1.5rem) !important;
	}
}

/* -------------------------------------------------------------------------
   WooCommerce cart page
   ------------------------------------------------------------------------- */

.tc-wc-cart-page .entry-header,
.tc-wc-cart-page .page-header,
.tc-wc-cart-page .inside-article > header.entry-header {
	display: none;
}

/* Full-width GP layout — inner .container keeps readable width (Products pattern) */
.tc-wc-cart-page.full-width-content .site-content,
.tc-wc-cart-page.full-width-content .content-area,
.tc-wc-cart-page .site-content,
.tc-wc-cart-page .content-area {
	max-width: 100%;
}

.tc-wc-cart-page .wp-block-woocommerce-cart,
.tc-wc-cart-page .wc-block-cart {
	display: none !important;
}

.tc-wc-cart-card {
	box-shadow:
		0 1px 0 rgba(0, 0, 0, 0.04),
		0 10px 32px rgba(0, 0, 0, 0.06);
	border: 1px solid #ececec;
}

.tc-wc-cart-page .woocommerce-cart-form {
	width: 100%;
	max-width: 100%;
}

@media (max-width: 767.98px) {
	.tc-wc-cart-page .woocommerce-cart-form {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.tc-wc-cart-page .woocommerce-cart-form .shop_table {
		min-width: 36rem;
	}

	.tc-wc-cart-page .cart-collaterals {
		margin-top: 1.25rem;
	}
}

.tc-wc-cart-page .woocommerce-cart-form .shop_table {
	border-collapse: separate;
	border-spacing: 0;
	width: 100%;
	font-family: var(--tc-font-body);
	border: 1px solid #e8e8e8;
	border-radius: 0.5rem;
	overflow: hidden;
}

.tc-wc-cart-page .woocommerce-cart-form .shop_table thead th {
	background: #f7f7f7;
	border-bottom: 1px solid #e4e4e4;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #444;
	padding: 0.85rem 1rem;
}

.tc-wc-cart-page .woocommerce-cart-form .shop_table td {
	border-bottom: 1px solid #ececec;
	padding: 1rem;
	vertical-align: middle;
}

.tc-wc-cart-page .woocommerce-cart-form .product-thumbnail img {
	border-radius: 6px;
	max-width: 72px;
	height: auto;
}

.tc-wc-cart-page .woocommerce-cart-form .product-name a {
	color: #1a1a1a;
	font-weight: 600;
	text-decoration: none;
}

.tc-wc-cart-page .woocommerce-cart-form .product-name a:hover,
.tc-wc-cart-page .woocommerce-cart-form .product-name a:focus-visible {
	color: var(--tc-brand, #b12f27);
}

.tc-wc-cart-page .woocommerce-cart-form .product-remove .remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 999px;
	color: #666 !important;
	font-size: 1.35rem;
	line-height: 1;
	text-decoration: none;
}

.tc-wc-cart-page .woocommerce-cart-form .product-remove .remove:hover {
	background: rgba(177, 47, 39, 0.1);
	color: var(--tc-brand, #b12f27) !important;
}

.tc-wc-cart-page .woocommerce-cart-form .quantity .qty {
	width: 80px;
	padding: 0.5rem 0.65rem;
	border-radius: 6px;
	border: 1px solid #d5d5d5;
}

.tc-wc-cart-page .woocommerce-cart-form .actions {
	background: #fafafa;
	border-bottom: none !important;
}

/* Default coupon row under table — use sidebar box in cart totals instead */
.tc-wc-cart-page .woocommerce-cart-form .coupon {
	display: none !important;
}

/* Coupon code — Cart totals sidebar */
.tc-wc-cart-coupon {
	margin-bottom: 1.25rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid #e8e8e8;
}

.tc-wc-cart-coupon__label {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #444;
	margin: 0;
}

.tc-wc-cart-coupon__row {
	width: 100%;
}

.tc-wc-cart-coupon__input {
	font-family: var(--tc-font-body);
	font-size: var(--tc-btn-font-size);
	padding: 0.55rem 0.75rem;
	border: 1px solid #d5d5d5;
	border-radius: var(--tc-btn-radius) 0 0 var(--tc-btn-radius);
	min-height: calc(var(--tc-btn-padding-y) * 2 + var(--tc-btn-font-size) * 1.4);
}

.tc-wc-cart-coupon__input:focus {
	border-color: var(--tc-brand, #b12f27);
	box-shadow: 0 0 0 0.15rem rgba(177, 47, 39, 0.15);
}

.tc-wc-cart-coupon__apply {
	border-radius: 0 var(--tc-btn-radius) var(--tc-btn-radius) 0 !important;
	white-space: nowrap;
}

.tc-wc-cart-totals .cart-discount th,
.tc-wc-cart-totals .cart-discount td {
	color: var(--tc-brand, #b12f27);
}

.tc-wc-cart-page .woocommerce-cart-form button[name="update_cart"],
.tc-wc-cart-page .return-to-shop .button {
	padding: var(--tc-btn-padding-y) var(--tc-btn-padding-x);
	font-size: var(--tc-btn-font-size);
	font-family: var(--tc-font-body);
	font-weight: var(--tc-btn-font-weight);
	line-height: 1.4;
	border-radius: var(--tc-btn-radius);
}

.tc-wc-cart-page .woocommerce-cart-form button[name="update_cart"] {
	background: var(--tc-brand, #b12f27) !important;
	border-color: var(--tc-brand, #b12f27) !important;
	color: #fff !important;
}

.tc-wc-cart-page .cart-collaterals {
	margin-top: 2rem;
	padding-top: 2rem;
	border-top: 1px solid #e8e8e8;
}

@media (min-width: 992px) {
	.tc-wc-cart-page .cart-collaterals {
		display: grid;
		grid-template-columns: 1fr min(400px, 38%);
		gap: 2rem 2.5rem;
		align-items: start;
	}

	.tc-wc-cart-page .cart-collaterals .cross-sells {
		grid-column: 1;
	}

	.tc-wc-cart-page .cart-collaterals .cart_totals {
		grid-column: 2;
		width: 100% !important;
		float: none !important;
		margin: 0 !important;
	}
}

.tc-wc-cart-page .tc-wc-cart-totals {
	background: #fafafa;
	border: 1px solid #e8e8e8;
	border-radius: 0.875rem;
	padding: 1.25rem 1.5rem;
}

.tc-wc-cart-page .tc-wc-cart-totals__heading { 
	font-size: 1.125rem; 
	text-transform: uppercase;
	margin-bottom: 1rem;
}

.tc-wc-cart-page .tc-wc-cart-totals .shop_table th,
.tc-wc-cart-page .tc-wc-cart-totals .shop_table td {
	border: none;
	padding: 0.5rem 0;
	font-size: 0.9375rem;
}

.tc-wc-cart-page .tc-wc-cart-totals .order-total th,
.tc-wc-cart-page .tc-wc-cart-totals .order-total td {
	font-size: 1.0625rem;
	font-weight: 700;
	padding-top: 0.75rem;
	border-top: 1px solid #e0e0e0;
}

.tc-wc-cart-page .tc-wc-cart-totals .order-total .woocommerce-Price-amount {
	color: #b55d5d;
}

.tc-wc-cart-page .tc-wc-checkout-btn {
	background-color: #002e44 !important;
	border-color: #002e44 !important;
	color: #fff !important;
}

.tc-wc-cart-page .tc-wc-checkout-btn:hover,
.tc-wc-cart-page .tc-wc-checkout-btn:focus-visible {
	background-color: #002438 !important;
	border-color: #002438 !important;
	color: #fff !important;
}

.tc-wc-cart-page .woocommerce-message,
.tc-wc-cart-page .woocommerce-info,
.tc-wc-cart-page .woocommerce-error,
.tc-wc-cart-card .woocommerce-message,
.tc-wc-cart-card .woocommerce-info,
.tc-wc-cart-card .woocommerce-error {
	border-radius: 0.5rem;
	margin-bottom: 1rem;
}

.tc-wc-cart-card .woocommerce-error {
	background: #fef2f2;
	border-left: 4px solid #b12f27;
	color: #5c1a1a;
	list-style: none;
	padding: 0.75rem 1rem;
}

.tc-wc-cart-card .woocommerce-message {
	background: #f4faf4;
	border-left: 4px solid #2e7d32;
	list-style: none;
	padding: 0.75rem 1rem;
}

/* -------------------------------------------------------------------------
   WooCommerce checkout page
   ------------------------------------------------------------------------- */

.tc-wc-checkout-page .entry-header,
.tc-wc-checkout-page .page-header,
.tc-wc-checkout-page .inside-article > header.entry-header {
	display: none;
}

.tc-wc-checkout-page.full-width-content .site-content,
.tc-wc-checkout-page.full-width-content .content-area,
.tc-wc-checkout-page .site-content,
.tc-wc-checkout-page .content-area {
	max-width: 100%;
}

.tc-wc-checkout-page .wp-block-woocommerce-checkout,
.tc-wc-checkout-page .wc-block-checkout {
	display: none !important;
}

/* Australia-only store: country shown as a non-editable "Australia" value
   (WooCommerce renders <strong>Australia</strong> + hidden input automatically
   when only one country is allowed). Style it like a disabled input row. */
.tc-wc-checkout-page #billing_country_field,
.tc-wc-checkout-page #shipping_country_field,
.tc-wc-checkout-page .form-row.tc-wc-country-locked {
	cursor: default;
}

.tc-wc-checkout-page #billing_country_field strong,
.tc-wc-checkout-page #shipping_country_field strong,
.tc-wc-checkout-page .form-row.tc-wc-country-locked strong {
	display: block;
	width: 100%;
	margin-top: 0.25rem;
	padding: 0.6rem 0.9rem;
	background: #f4f4f4;
	border: 1px solid #d8d8d8;
	border-radius: 0.5rem;
	color: #555;
	font-weight: 600;
	font-family: var(--tc-font-body);
	font-size: 0.95rem;
	line-height: 1.4;
	cursor: not-allowed;
}

.tc-wc-checkout-card {
	box-shadow:
		0 1px 0 rgba(0, 0, 0, 0.04),
		0 10px 32px rgba(0, 0, 0, 0.06);
	border: 1px solid #ececec;
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
}

.tc-wc-checkout-card .woocommerce {
	width: 100%;
	min-width: 0;
}

.tc-wc-checkout-card .woocommerce-message,
.tc-wc-checkout-card .woocommerce-info,
.tc-wc-checkout-card .woocommerce-error {
	border-radius: 0.5rem;
	margin-bottom: 1rem;
}

.tc-wc-checkout-card .woocommerce-error {
	background: #fef2f2;
	border-left: 4px solid #b12f27;
	color: #5c1a1a;
	list-style: none;
	padding: 0.75rem 1rem;
}

.tc-wc-checkout-page form.checkout.woocommerce-checkout {
	display: block;
	width: 100%;
	min-width: 0;
	font-family: var(--tc-font-body);
}

/* Two columns: billing/shipping left, order summary right */
.tc-wc-checkout-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 2rem;
	width: 100%;
	min-width: 0;
	align-items: start;
}

@media (min-width: 992px) {
	.tc-wc-checkout-layout {
		grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
		gap: 2rem 2.5rem;
	}
}

.tc-wc-checkout-layout__main,
.tc-wc-checkout-layout__sidebar {
	min-width: 0;
	max-width: 100%;
}

@media (min-width: 992px) {
	.tc-wc-checkout-layout__sidebar {
		position: sticky;
		top: 1.5rem;
	}
}

.tc-wc-checkout-page #order_review_heading {
	font-family: var(--tc-font-title);
	font-size: 1.125rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin: 0 0 1rem;
	color: #111;
}

/* Override WooCommerce floats — stack billing then shipping in left column */
.tc-wc-checkout-page #customer_details.col2-set,
.tc-wc-checkout-page #customer_details.col2-set::before,
.tc-wc-checkout-page #customer_details.col2-set::after {
	display: block;
	width: 100%;
	float: none;
}

.tc-wc-checkout-page #customer_details .col-1,
.tc-wc-checkout-page #customer_details .col-2 {
	float: none;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
}

.tc-wc-checkout-page #customer_details .col-2 {
	margin-top: 2rem;
}

.tc-wc-checkout-page #order_review {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	clear: none !important;
	margin: 0 !important;
}

/* Login / coupon (above form) — full width of card */
.tc-wc-checkout-card > .woocommerce-form-login-toggle,
.tc-wc-checkout-card > .woocommerce-form-coupon-toggle,
.tc-wc-checkout-card > .woocommerce-form-login,
.tc-wc-checkout-card > .checkout_coupon {
	max-width: 100%;
	margin-bottom: 1rem;
}

.tc-wc-checkout-page #customer_details .form-row {
	margin-bottom: 0.75rem;
	padding: 0;
	box-sizing: border-box;
}

.tc-wc-checkout-page #customer_details .form-row-first,
.tc-wc-checkout-page #customer_details .form-row-last {
	float: none;
	width: 100%;
	clear: both;
}

@media (min-width: 768px) {
	.tc-wc-checkout-page #customer_details .form-row-first,
	.tc-wc-checkout-page #customer_details .form-row-last {
		float: left;
		width: calc(50% - 0.5rem);
		clear: none;
	}

	.tc-wc-checkout-page #customer_details .form-row-first {
		margin-right: 1rem;
		clear: left;
	}

	.tc-wc-checkout-page #customer_details .form-row-wide,
	.tc-wc-checkout-page #customer_details #billing_company_field,
	.tc-wc-checkout-page #customer_details #shipping_company_field {
		clear: both;
		width: 100%;
	}
}

.tc-wc-checkout-page .select2-container {
	width: 100% !important;
	max-width: 100%;
}

.tc-wc-checkout-page .woocommerce-billing-fields h3,
.tc-wc-checkout-page .woocommerce-shipping-fields h3,
.tc-wc-checkout-page .woocommerce-additional-fields h3 {
	font-family: var(--tc-font-title);
	font-size: 1rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin-bottom: 1rem;
	color: #222;
}

.tc-wc-checkout-page .form-row label {
	font-size: 0.8125rem;
	font-weight: 600;
	color: #444;
	margin-bottom: 0.35rem;
}

.tc-wc-checkout-page .form-row input.input-text,
.tc-wc-checkout-page .form-row textarea,
.tc-wc-checkout-page .form-row select,
.tc-wc-checkout-page .select2-container .select2-selection--single {
	font-family: var(--tc-font-body);
	font-size: var(--tc-btn-font-size);
	padding: 0.55rem 0.75rem;
	border: 1px solid #d5d5d5;
	border-radius: var(--tc-btn-radius);
	min-height: calc(var(--tc-btn-padding-y) * 2 + var(--tc-btn-font-size) * 1.4);
}

.tc-wc-checkout-page .form-row input.input-text:focus,
.tc-wc-checkout-page .form-row textarea:focus,
.tc-wc-checkout-page .form-row select:focus {
	border-color: var(--tc-brand, #b12f27);
	outline: none;
	box-shadow: 0 0 0 0.15rem rgba(177, 47, 39, 0.12);
}

.tc-wc-checkout-page #order_review {
	background: #fafafa;
	border: 1px solid #e8e8e8;
	border-radius: 0.875rem;
	padding: 1.25rem 1.5rem;
}

.tc-wc-checkout-page .woocommerce-checkout-review-order-table {
	border-collapse: separate;
	border-spacing: 0;
	width: 100%;
	font-size: 0.9375rem;
}

.tc-wc-checkout-page .woocommerce-checkout-review-order-table th,
.tc-wc-checkout-page .woocommerce-checkout-review-order-table td {
	border: none;
	border-bottom: 1px solid #ececec;
	padding: 0.65rem 0;
}

.tc-wc-checkout-page .woocommerce-checkout-review-order-table .order-total th,
.tc-wc-checkout-page .woocommerce-checkout-review-order-table .order-total td {
	font-weight: 700;
	font-size: 1.0625rem;
	border-bottom: none;
	padding-top: 0.85rem;
}

.tc-wc-checkout-page .woocommerce-checkout-review-order-table .order-total .woocommerce-Price-amount {
	color: #b55d5d;
}

.tc-wc-checkout-page .woocommerce-checkout-payment {
	background: transparent;
	border-radius: 0;
	margin-top: 1.25rem;
	padding: 0;
}

.tc-wc-checkout-page .woocommerce-checkout-payment::before {
	content: "Payment method";
	display: block;
	font-family: var(--tc-font-body);
	font-size: 1rem;
	font-weight: 700;
	color: #111;
	margin-bottom: 1rem;
}

.tc-wc-checkout-page .woocommerce-checkout-payment .payment_methods,
.tc-wc-checkout-page .woocommerce-checkout-payment .wc_payment_methods {
	list-style: none;
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
}

.tc-wc-checkout-page .woocommerce-checkout-payment .wc_payment_methods > li {
	border: 1px solid #e0e0e0;
	border-radius: 0.5rem;
	padding: 1rem 1.15rem;
	margin: 0 0 0.75rem;
	background: #fff;
	transition: border-color 0.15s ease;
}

.tc-wc-checkout-page .woocommerce-checkout-payment .wc_payment_methods > li:last-child {
	margin-bottom: 0;
}

.tc-wc-checkout-page .woocommerce-checkout-payment .wc_payment_methods > li:has(.input-radio:checked) {
	border-color: #b12f27;
}

.tc-wc-checkout-page .woocommerce-checkout-payment .wc_payment_method {
	margin: 0;
	padding: 0;
}

.tc-wc-checkout-page .woocommerce-checkout-payment .wc_payment_method label {
	display: block;
	font-weight: 600;
	font-size: 0.9375rem;
	color: #333;
	margin: 0 0 0 1.75rem;
	line-height: 1.4;
	cursor: pointer;
}

.tc-wc-checkout-page .woocommerce-checkout-payment .wc_payment_method .input-radio {
	position: absolute;
	margin: 0.15rem 0 0;
	width: 1.125rem;
	height: 1.125rem;
	accent-color: #b12f27;
	appearance: none;
	border: 2px solid #c8c8c8;
	border-radius: 50%;
	background: #fff;
	flex-shrink: 0;
}

.tc-wc-checkout-page .woocommerce-checkout-payment .wc_payment_method .input-radio:checked {
	border-color: #b12f27;
	background-color: #b12f27;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.5' d='M3 8l3.5 3.5L13 5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 0.65rem;
}

.tc-wc-checkout-page .woocommerce-checkout-payment .wc_payment_method {
	position: relative;
}

.tc-wc-checkout-page .woocommerce-checkout-payment .payment_box {
	background: transparent !important;
	border: none !important;
	padding: 0.35rem 0 0 1.75rem !important;
	margin: 0 !important;
	font-size: 0.875rem;
	color: #888;
	line-height: 1.45;
}

.tc-wc-checkout-page .woocommerce-checkout-payment .payment_box::before {
	display: none;
}

.tc-wc-checkout-page #place_order,
.tc-wc-checkout-page .tc-wc-place-order-btn {
	background-color: #002e44 !important;
	border-color: #002e44 !important;
	color: #fff !important;
	margin-top: 1rem;
}

.tc-wc-checkout-page #place_order:hover,
.tc-wc-checkout-page #place_order:focus-visible,
.tc-wc-checkout-page .tc-wc-place-order-btn:hover,
.tc-wc-checkout-page .tc-wc-place-order-btn:focus-visible {
	background-color: #002438 !important;
	border-color: #002438 !important;
	color: #fff !important;
}

.tc-wc-checkout-page .woocommerce-terms-and-conditions-wrapper {
	font-size: 0.875rem;
	margin-top: 0.75rem;
}

.tc-wc-checkout-page .woocommerce-form-login-toggle,
.tc-wc-checkout-page .woocommerce-form-coupon-toggle {
	font-size: 0.9375rem;
	margin-bottom: 0.5rem;
}

.tc-wc-checkout-page .woocommerce-form-login,
.tc-wc-checkout-page .checkout_coupon {
	background: #f7f7f7;
	border: 1px solid #e8e8e8;
	border-radius: var(--tc-btn-radius);
	padding: 1rem 1.25rem;
	margin-bottom: 1rem;
}

.tc-wc-checkout-page .checkout_coupon .form-row-last .button,
.tc-wc-checkout-page .woocommerce-form-login .button {
	padding: var(--tc-btn-padding-y) var(--tc-btn-padding-x);
	font-size: var(--tc-btn-font-size);
	font-family: var(--tc-font-body);
	font-weight: var(--tc-btn-font-weight);
	border-radius: var(--tc-btn-radius);
}

.tc-wc-checkout-page .woocommerce-privacy-policy-text {
	font-size: 0.8125rem;
	color: #666;
}

/* Thank you / order received (still on checkout URL) */
.tc-wc-checkout-page .woocommerce-order {
	font-family: var(--tc-font-body);
}

.tc-wc-checkout-page .woocommerce-order-overview {
	background: #fafafa;
	border: 1px solid #e8e8e8;
	border-radius: 0.875rem;
	padding: 1rem 1.25rem;
	list-style: none;
}

.tc-wc-checkout-page .woocommerce-order-details {
	margin-top: 2rem;
}

.tc-wc-checkout-page .woocommerce-table--order-details {
	border: 1px solid #e8e8e8;
	border-radius: 0.5rem;
	overflow: hidden;
}

/* Enquiry modal (Bootstrap 5) */
.tc-enquiry-modal .modal-header {
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
.tc-enquiry-modal .modal-content {
	border-radius: 1rem;
	border: 1px solid rgba(0, 0, 0, 0.1);
	box-shadow: 0 18px 70px rgba(0, 0, 0, 0.22);
}
.tc-enquiry-modal .modal-title {
	font-family: var(--tc-font-title, var(--tc-font-body));
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* Make CF7 form feel native to theme */
.tc-enquiry-modal .modal-body {
	padding: 1.25rem;
}
@media (min-width: 992px) {
	.tc-enquiry-modal .modal-body {
		padding: 1.5rem 1.75rem 1.75rem;
	}
}

.tc-enquiry-modal .tc-enquiry-modal-context {
	font-size: 0.9rem;
	line-height: 1.45;
}

.tc-enquiry-modal .wpcf7 form {
	margin: 0;
}

.tc-enquiry-modal .wpcf7-form br {
	display: none;
}
.tc-enquiry-modal .wpcf7-form p{margin-bottom: 0;}

.tc-enquiry-modal .wpcf7-form label,
.tc-enquiry-modal .wpcf7-form .form-label {
	font-family: var(--tc-font-body);
	font-weight: 700;
	font-size: 0.875rem;
	color: #151515;
	margin-bottom: 0.35rem;
}

.tc-enquiry-modal .wpcf7-form .wpcf7-form-control:not(.wpcf7-submit) {
	display: block;
	width: 100%;
	background: #fff;
	border: 1px solid #d9d9d9;
	border-radius: 0.75rem;
	padding: 0.75rem 0.9rem;
	font-size: 0.95rem;
	line-height: 1.3;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.02);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.tc-enquiry-modal .wpcf7-form textarea.wpcf7-form-control:not(.wpcf7-submit) {
	min-height: 8.5rem;
	resize: vertical;
}

.tc-enquiry-modal .wpcf7-form .wpcf7-form-control:not(.wpcf7-submit):focus {
	outline: none;
	border-color: rgba(177, 47, 39, 0.6);
	box-shadow: 0 0 0 0.2rem rgba(177, 47, 39, 0.12);
}

.tc-enquiry-modal .wpcf7-form .wpcf7-form-control::placeholder {
	color: rgba(0, 0, 0, 0.45);
}

.tc-enquiry-modal .wpcf7-form .wpcf7-submit,
.tc-enquiry-modal .wpcf7-form input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	border: none;
	padding: var(--tc-btn-padding-y) var(--tc-btn-padding-x);
	font-size: var(--tc-btn-font-size);
	font-family: var(--tc-font-body);
	font-weight: var(--tc-btn-font-weight);
	line-height: 1.4;
	border-radius: var(--tc-btn-radius);
	background: var(--tc-brand, #b12f27);
	color: #fff;
	transition: background 0.15s ease;
}

.tc-enquiry-modal .wpcf7-form .wpcf7-submit:hover,
.tc-enquiry-modal .wpcf7-form .wpcf7-submit:focus-visible {
	background: var(--tc-cta-hover, #94261f);
}

.tc-enquiry-modal .wpcf7 form .wpcf7-response-output {
	margin: 0.75rem 0 0;
	border-radius: 0.75rem;
	padding: 0.75rem 0.9rem;
	font-size: 0.9rem;
}

.tc-enquiry-modal .wpcf7-not-valid-tip {
	font-size: 0.85rem;
	margin-top: 0.35rem;
}

.tc-enquiry-modal .wpcf7-spinner {
	margin-left: 0.6rem;
}

.tc-enquiry-modal .wpcf7-form input[type="file"] {
	padding: 0.5rem 0.75rem;
	font-size: 0.9rem;
	cursor: pointer;
}

.tc-enquiry-modal .wpcf7-form .form-text {
	margin-top: 0.35rem;
	line-height: 1.45;
}

/* Success confirmation — CF7 + checkout */
.tc-success-alert {
	display: flex;
	align-items: flex-start;
	gap: 0.85rem;
	padding: 1.15rem 1.25rem;
	background: #f3faf5;
	border: 1px solid #c5e6ce;
	border-radius: 0.875rem;
	box-shadow: 0 4px 18px rgba(45, 122, 70, 0.08);
	animation: tc-success-fade-in 0.45s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.tc-success-alert--injected {
	margin-bottom: 1rem;
}

.tc-success-alert-wrap--checkout .tc-success-alert {
	max-width: 42rem;
}

.tc-success-alert__icon {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	color: #2d7a46;
}

.tc-success-alert__ico {
	font-size: 1.5rem;
	width: 1.5rem;
	height: 1.5rem;
}

.tc-success-alert__text {
	flex: 1 1 auto;
	font-family: var(--tc-font-body);
	font-size: clamp(0.9375rem, 0.4vw + 0.85rem, 1.0625rem);
	font-weight: 500;
	line-height: 1.55;
	color: #1a3d28;
}

.tc-enquiry-modal .tc-success-alert--injected {
	margin-bottom: 0;
}

.tc-contact-form-card .tc-success-alert--injected {
	margin-bottom: 1.25rem;
}

@keyframes tc-success-fade-in {
	from {
		opacity: 0;
		transform: translateY(10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.tc-success-alert {
		animation: none;
	}
}

.wpcf7 form.sent .wpcf7-response-output {
	display: none !important;
}

/* -------------------------------------------------------------------------
   WhatsApp sticky button
   ------------------------------------------------------------------------- */

.tc-whatsapp-sticky {
	--tc-whatsapp-size: 3.5rem;
	position: fixed;
	right: max(1rem, env(safe-area-inset-right, 0px));
	bottom: max(1.25rem, env(safe-area-inset-bottom, 0px));
	z-index: 1036;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--tc-whatsapp-size);
	height: var(--tc-whatsapp-size);
	border-radius: 50%;
	background: #25d366;
	color: #fff;
	text-decoration: none;
	box-shadow: 0 4px 18px rgba(37, 211, 102, 0.45);
	transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}

.tc-whatsapp-sticky:hover,
.tc-whatsapp-sticky:focus-visible {
	color: #fff;
	filter: brightness(1.05);
	transform: scale(1.04);
	box-shadow: 0 6px 22px rgba(37, 211, 102, 0.55);
}

.tc-whatsapp-sticky__ico {
	font-size: 1.65rem;
	line-height: 1;
}

@media (max-width: 991.98px) {
	body.tc-has-mobile-sticky-cta.tc-has-whatsapp-sticky .tc-whatsapp-sticky {
		bottom: calc(var(--tc-sticky-cta-height, 3.25rem) + env(safe-area-inset-bottom, 0px) + 0.75rem);
	}

	body.tc-has-whatsapp-sticky.tc-header-nav-open .tc-whatsapp-sticky {
		opacity: 0;
		pointer-events: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tc-whatsapp-sticky {
		transition: none;
	}

	.tc-whatsapp-sticky:hover,
	.tc-whatsapp-sticky:focus-visible {
		transform: none;
	}
}

/* -------------------------------------------------------------------------
   Mobile sticky CTA bar (quote + call)
   ------------------------------------------------------------------------- */

.tc-mobile-sticky-cta {
	--tc-sticky-cta-height: 3.25rem;
	--tc-sticky-quote-bg: var(--tc-topbar-bg, #111111);
	--tc-sticky-quote-color: var(--tc-topbar-text, #ffffff);
	--tc-sticky-call-bg: var(--tc-brand, #b12f27);
	--tc-sticky-call-color: var(--tc-cta-text, #ffffff);
	--tc-sticky-call-hover: var(--tc-cta-hover, #94261f);
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1035;
	padding-bottom: env(safe-area-inset-bottom, 0px);
	background: #fff;
	box-shadow: 0 -4px 18px rgba(0, 0, 0, 0.12);
}

.tc-mobile-sticky-cta__inner {
	display: flex;
	align-items: stretch;
	min-height: var(--tc-sticky-cta-height);
}

.tc-mobile-sticky-cta__btn {
	flex: 1 1 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	min-height: var(--tc-sticky-cta-height);
	padding: 0.5rem 0.65rem;
	font-family: var(--tc-font-body);
	font-size: 0.6875rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	text-align: center;
	border: 0;
	transition: filter 0.15s ease, background-color 0.15s ease;
}

.tc-mobile-sticky-cta__btn--quote {
	flex: 1.15 1 58%;
	background: var(--tc-sticky-quote-bg);
	color: var(--tc-sticky-quote-color);
}

.tc-mobile-sticky-cta__btn--quote:hover,
.tc-mobile-sticky-cta__btn--quote:focus-visible {
	color: var(--tc-sticky-quote-color);
	filter: brightness(1.08);
}

.tc-mobile-sticky-cta__btn--call {
	flex: 1 1 42%;
	background: var(--tc-sticky-call-bg);
	color: var(--tc-sticky-call-color);
}

.tc-mobile-sticky-cta__btn--call:hover,
.tc-mobile-sticky-cta__btn--call:focus-visible {
	background: var(--tc-sticky-call-hover);
	color: var(--tc-sticky-call-color);
}

.tc-mobile-sticky-cta__ico {
	font-size: 1rem;
	line-height: 1;
	flex-shrink: 0;
}

.tc-mobile-sticky-cta__label {
	min-width: 0;
}

@media (max-width: 380px) {
	.tc-mobile-sticky-cta__btn {
		font-size: 0.625rem;
		gap: 0.35rem;
		padding-left: 0.45rem;
		padding-right: 0.45rem;
	}
}

@media (max-width: 991.98px) {
	body.tc-has-mobile-sticky-cta {
		padding-bottom: calc(var(--tc-sticky-cta-height) + env(safe-area-inset-bottom, 0px));
	}

	body.tc-has-mobile-sticky-cta.tc-header-nav-open .tc-mobile-sticky-cta {
		display: none !important;
	}
}

/* -------------------------------------------------------------------------
   Responsive — site-wide safeguards (mobile / tablet)
   ------------------------------------------------------------------------- */

/* .tc-product-detail-wrap .container,
.tc-wc-cart-page .container,
.tc-wc-checkout-page .container,
.tc-products-catalog-wrap .container {
	max-width: 100%;
} */

/* Mobile / tablet typography — tame large Anton headings, hero stats, WC prices */
@media (max-width: 767.98px) {
	body {
		font-size: 0.9375rem;
	}

	.lead {
		font-size: 1rem;
	}

	.tc-hero-heading {
		font-size: clamp(1.375rem, 5.5vw, 1.75rem) !important;
		letter-spacing: 0.03em;
		line-height: 1.15;
	}

	.tc-hero-badge {
		font-size: 0.75rem;
		padding: 0.4rem 0.85rem;
	}

	.tc-hero__stats .fs-2 {
		font-size: 1.25rem !important;
	}

	.tc-hero__stats .small {
		font-size: 0.6875rem;
	}

	.tc-why-title,
	.tc-ttc-title,
	.tc-li-title,
	.tc-testimonials-title,
	.tc-single-title,
	.tc-pl-hero-title,
	.tc-blog-newsletter-title,
	.tc-404__title,
	.tc-products-cta-heading,
	.tc-contact-faq-title,
	.tc-br-section-title,
	.tc-pl-block-title {
		font-size: clamp(1.25rem, 4.5vw + 0.35rem, 1.625rem) !important;
		letter-spacing: 0.04em;
		line-height: 1.15;
	}

	.tc-contact-section-title,
	.tc-contact-form-title {
		font-size: 1.25rem !important;
	}

	.tc-our-story-h2.h3,
	.tc-our-story-h2.h4 {
		font-size: 1.2rem !important;
		line-height: 1.25;
	}

	.tc-our-story-lead {
		font-size: 0.9375rem;
	}

	.tc-our-story-prose p,
	.tc-our-story-prose li,
	.tc-our-story-editor p,
	.tc-our-story-editor li {
		font-size: 0.9375rem;
		line-height: 1.65;
	}

	.tc-li-card-title.h6,
	.tc-ttc-card-title.h6,
	.tc-blog-card-title {
		font-size: 0.875rem !important;
		letter-spacing: 0.04em;
		line-height: 1.3;
	}

	.tc-ttc-price {
		font-size: 1rem;
	}

	.tc-product-detail-title,
	.tc-wc-single-summary h1.product_title {
		font-size: 1.125rem !important;
		line-height: 1.22;
	}

	.tc-product-detail-intro,
	.tc-wc-single-summary .woocommerce-product-details__short-description {
		font-size: 0.9375rem;
		line-height: 1.65;
	}

	.tc-product-detail-meta {
		font-size: 0.875rem;
	}

	.tc-product-detail-split-list__ico {
		font-size: 1.125rem;
	}

	.tc-product-detail-split-list__text {
		font-size: 0.875rem;
	}

	.tc-wc-tab-subheading,
	.tc-product-detail-dual-heading {
		font-size: 0.8125rem !important;
	}

	.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price,
	.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
		font-size: clamp(1.0625rem, 3.5vw, 1.25rem) !important;
	}

	.tc-single-entry-content {
		font-size: 0.9375rem;
	}

	.tc-single-entry-content h2 {
		font-size: 1.2rem;
		margin-top: 1.75rem;
	}

	.tc-single-entry-content h3 {
		font-size: 1.0625rem;
	}

	.tc-legal-prose h1 {
		font-size: 1.25rem;
	}

	.tc-legal-prose h2 {
		font-size: 1.125rem;
	}

	.footer-title {
		font-size: 1rem;
		margin-bottom: 0.75rem;
	}

	.footer-link,
	.footer-text,
	.tc-footer-about {
		font-size: 0.8125rem;
	}

	.tc-testimonial-quote {
		font-size: 0.875rem;
	}

	.tc-testimonial-quote-mark {
		font-size: 1.75rem;
	}

	.tc-why-choose .card .h6,
	.tc-br-why .card .h6 {
		font-size: 0.875rem;
	}

	.entry-title,
	.page-title,
	.main-title {
		font-size: clamp(1.25rem, 4.5vw, 1.625rem) !important;
		line-height: 1.15;
	}
}

@media (max-width: 575.98px) {
	.tc-hero-heading {
		font-size: 1.3125rem !important;
	}

	.tc-pl-hero-title {
		font-size: 1.3125rem !important;
	}

	.tc-why-title,
	.tc-ttc-title,
	.tc-li-title,
	.tc-testimonials-title,
	.tc-single-title {
		font-size: 1.25rem !important;
	}

	.tc-products-cta-heading {
		font-size: 1.125rem !important;
		letter-spacing: 0.08em;
	}

	.tc-contact-faq-trigger {
		font-size: 0.875rem;
	}

	.tc-contact-faq-q-prefix {
		margin-right: 0.15em;
	}

	.btn,
	.woocommerce a.button.btn,
	.woocommerce button.button.btn {
		font-size: 0.8125rem;
	}

	.tc-contact-form-card,
	.tc-br-form-card {
		padding: 1.25rem !important;
	}

	.tc-wc-checkout-card,
	.tc-wc-cart-card {
		padding: 1rem !important;
	}

	.tc-pl-hero-inner,
	.tc-pl-section-y {
		padding-top: 2rem !important;
		padding-bottom: 2rem !important;
	}

	.tc-hero .btn,
	.tc-pl-hero .btn {
		width: 100%;
		justify-content: center;
	}

	.tc-hero .d-flex.flex-wrap.gap-3 {
		flex-direction: column;
		align-items: stretch !important;
	}

	.tc-ttc-card-actions .btn,
	.tc-li-read-more {
		max-width: 100%;
	}

	.entry-content img,
	.tc-single-entry-content img,
	.tc-product-detail-intro img {
		max-width: 100%;
		height: auto;
	}
}

@media (max-width: 767.98px) {
	.tc-wc-checkout-layout {
		row-gap: 1.25rem;
	}

	.tc-wc-checkout-layout__sidebar {
		position: static !important;
		top: auto !important;
	}
}
