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

/* CanoMod cinematic storefront ------------------------------------------------ */
:root {
	--cnm-black: #080808;
	--cnm-carbon: #151515;
	--cnm-line: rgba(255, 255, 255, .15);
	--cnm-muted: #a4a4a4;
	--cnm-light: #f4f1eb;
	--cnm-red: #e44234;
}

body.cnm-home-page,
body.cnm-home-page .website-wrapper {
	background: var(--cnm-black);
	color: var(--cnm-light);
}

body.cnm-home-page .whb-header,
body.cnm-home-page .whb-sticked,
body.cnm-home-page .page-title,
body.cnm-home-page .wd-footer,
body.cnm-home-page .wd-bottom-mobile-nav {
	display: none !important;
}

body.cnm-home-page .main-page-wrapper,
body.cnm-home-page .site-content,
body.cnm-home-page .container {
	margin: 0;
	max-width: none;
	padding: 0;
	width: 100%;
}

.cnm-home {
	background: var(--cnm-black);
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	overflow: hidden;
}

.cnm-home *,
.cnm-home *::before,
.cnm-home *::after { box-sizing: border-box; }

.cnm-wrap { margin: 0 auto; max-width: 1440px; padding-left: 5vw; padding-right: 5vw; width: 100%; }
.cnm-kicker { color: #bdbdbd; font-size: 10px; font-weight: 700; letter-spacing: .18em; line-height: 1.3; margin: 0 0 22px; text-transform: uppercase; }
.cnm-home h1, .cnm-home h2, .cnm-home h3, .cnm-home p { margin-top: 0; }
.cnm-home a { color: inherit; text-decoration: none; }

.cnm-hero { background: #050505; isolation: isolate; min-height: min(900px, 100vh); overflow: hidden; position: relative; }
.cnm-hero__image { height: 100%; inset: 0; object-fit: cover; object-position: center center; position: absolute; width: 100%; z-index: -2; }
.cnm-hero__veil { background: linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.40) 37%, rgba(0,0,0,.06) 72%), linear-gradient(0deg, rgba(0,0,0,.70) 0%, transparent 35%); inset: 0; position: absolute; z-index: -1; }
.cnm-hero__content { display: flex; flex-direction: column; min-height: min(900px, 100vh); position: relative; }
.cnm-nav { align-items: center; border-bottom: 1px solid var(--cnm-line); display: flex; justify-content: space-between; padding: 26px 0 22px; }
.cnm-wordmark { font-size: 24px; font-weight: 300; letter-spacing: -.075em; line-height: 1; }
.cnm-wordmark span { font-weight: 700; }
.cnm-wordmark sup { color: var(--cnm-red); font-size: 8px; letter-spacing: 0; margin-left: 3px; position: relative; top: -1.1em; }
.cnm-nav__links { display: flex; gap: clamp(18px, 3vw, 48px); }
.cnm-nav__links a { color: #ddd; font-size: 11px; letter-spacing: .11em; text-transform: uppercase; transition: color .2s ease; }
.cnm-nav__links a:hover, .cnm-text-link:hover { color: var(--cnm-red); }
.cnm-hero__copy { margin-top: auto; max-width: 720px; padding: 80px 0 86px; }
.cnm-hero h1 { color: #fff; font-size: clamp(56px, 8.4vw, 132px); font-weight: 300; letter-spacing: -.075em; line-height: .84; margin-bottom: 30px; }
.cnm-lede { color: #e2e2e2; font-size: 16px; line-height: 1.55; margin-bottom: 32px; max-width: 420px; }
.cnm-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 28px; }
.cnm-button { align-items: center; display: inline-flex; font-size: 11px; font-weight: 700; gap: 26px; letter-spacing: .12em; padding: 15px 20px; text-transform: uppercase; transition: transform .2s ease, background .2s ease; }
.cnm-button:hover { transform: translateY(-2px); }
.cnm-button--light { background: var(--cnm-light); color: #080808 !important; }
.cnm-button--light span { color: #080808 !important; }
.cnm-button span { font-size: 17px; line-height: .5; }
.cnm-text-link { border-bottom: 1px solid currentColor; display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .12em; padding-bottom: 5px; text-transform: uppercase; transition: color .2s ease; }
.cnm-text-link span { font-size: 14px; margin-left: 8px; }
.cnm-hero__facts { border-top: 1px solid var(--cnm-line); display: grid; grid-template-columns: repeat(3, 1fr); margin-top: auto; }
.cnm-hero__facts > div { align-items: flex-start; border-right: 1px solid var(--cnm-line); display: flex; gap: 15px; padding: 18px 0 20px; }
.cnm-hero__facts > div:not(:first-child) { padding-left: 27px; }
.cnm-hero__facts > div:last-child { border: 0; }
.cnm-hero__facts strong { color: var(--cnm-red); font-size: 10px; letter-spacing: .1em; }
.cnm-hero__facts span { color: #cacaca; font-size: 10px; letter-spacing: .05em; line-height: 1.45; text-transform: uppercase; }

.cnm-story { background: #111; padding: clamp(72px, 11vw, 174px) 0; }
.cnm-story__grid { align-items: center; display: grid; gap: 8vw; grid-template-columns: .82fr 1.18fr; }
.cnm-story h2, .cnm-collection h2, .cnm-manifesto h2 { color: #fff; font-size: clamp(42px, 5.3vw, 82px); font-weight: 300; letter-spacing: -.07em; line-height: .91; }
.cnm-story__copy > p:not(.cnm-kicker) { color: var(--cnm-muted); font-size: 15px; line-height: 1.75; margin: 30px 0; max-width: 360px; }
.cnm-story__image { margin: 0; position: relative; }
.cnm-story__image::before { background: var(--cnm-red); content: ""; height: 54%; left: -5px; position: absolute; top: -5px; width: 2px; }
.cnm-story__image img { display: block; height: auto; width: 100%; }
.cnm-story__image figcaption { color: #9d9d9d; font-size: 9px; letter-spacing: .16em; margin-top: 12px; text-align: right; }

.cnm-garage { background: #09090b; min-height: 850px; overflow: hidden; position: relative; }
.cnm-garage__visual { inset: 0; position: absolute; }
.cnm-garage__visual img { height: 100%; object-fit: cover; object-position: center; width: 100%; }
.cnm-garage__shade { background: linear-gradient(90deg, #09090b 0%, rgba(9,9,11,.95) 28%, rgba(9,9,11,.54) 56%, rgba(9,9,11,.1) 100%), linear-gradient(0deg, rgba(9,9,11,.76), transparent 45%); inset: 0; position: absolute; }
.cnm-garage__inner { min-height: 850px; padding-bottom: clamp(64px, 8vw, 116px); padding-top: clamp(82px, 10vw, 156px); position: relative; }
.cnm-garage__intro { max-width: 660px; }
.cnm-garage h2 { color: #fff; font-size: clamp(48px, 6.5vw, 104px); font-weight: 300; letter-spacing: -.075em; line-height: .86; margin: 0; }
.cnm-garage h2 em { color: #a884ff; font-style: normal; }
.cnm-garage__intro > p:not(.cnm-kicker) { color: #c2c0c3; font-size: 15px; line-height: 1.65; margin: 30px 0 40px; max-width: 430px; }
.cnm-garage__grid { display: grid; gap: 1px; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 620px; }
.cnm-garage__card { background: rgba(11,11,14,.72); border: 1px solid rgba(255,255,255,.17); display: flex; flex-direction: column; gap: 28px; min-height: 168px; padding: 20px; transition: background .3s ease, border-color .3s ease, transform .35s cubic-bezier(.22, 1, .36, 1); }
.cnm-garage__card:hover, .cnm-garage__card:focus-visible { background: rgba(216,65,53,.92); border-color: #ec584b; color: #fff; outline: 0; transform: translate(4px, -4px); }
.cnm-garage__number { color: var(--cnm-red); font-size: 10px; font-weight: 700; letter-spacing: .14em; }
.cnm-garage__card:hover .cnm-garage__number, .cnm-garage__card:focus-visible .cnm-garage__number { color: #fff; }
.cnm-garage__platform { color: #fff; font-size: clamp(20px, 2vw, 30px); font-weight: 500; letter-spacing: -.045em; line-height: .92; text-transform: uppercase; }
.cnm-garage__meta { align-items: center; color: #c5c2c4; display: flex; font-size: 10px; font-weight: 700; justify-content: space-between; letter-spacing: .12em; text-transform: uppercase; }
.cnm-garage__meta b { color: var(--cnm-red); font-size: 18px; font-weight: 400; }
.cnm-garage__card:hover .cnm-garage__meta, .cnm-garage__card:hover .cnm-garage__meta b, .cnm-garage__card:focus-visible .cnm-garage__meta, .cnm-garage__card:focus-visible .cnm-garage__meta b { color: #fff; }
.cnm-garage__all { margin-top: 28px; }

.cnm-collection { background: #e8e5df; color: #111; padding: clamp(72px, 10vw, 152px) 0; }
.cnm-collection .cnm-kicker { color: #77736b; }
.cnm-collection h2 { color: #111; margin-bottom: 0; }
.cnm-section-head { align-items: end; display: flex; justify-content: space-between; margin-bottom: 54px; }
.cnm-section-head .cnm-text-link { margin-bottom: 8px; }
.cnm-product-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.cnm-product-card { min-width: 0; }
.cnm-product-card__image { background: #d9d6d1; display: block; overflow: hidden; position: relative; }
.cnm-product-card__image::after { background: linear-gradient(145deg, rgba(255,255,255,.25), transparent 45%); content: ""; inset: 0; pointer-events: none; position: absolute; }
.cnm-product-card__image span { font-size: 10px; left: 17px; letter-spacing: .12em; position: absolute; top: 17px; z-index: 1; }
.cnm-product-card__image img { aspect-ratio: 1; display: block; mix-blend-mode: multiply; object-fit: contain; padding: 4%; transform: scale(1.01); transition: transform .5s ease; width: 100%; }
.cnm-product-card:hover .cnm-product-card__image img { transform: scale(1.06); }
.cnm-product-card__meta { align-items: flex-start; border-bottom: 1px solid #aaa69f; display: flex; gap: 10px; justify-content: space-between; min-height: 115px; padding: 17px 2px 20px; }
.cnm-product-card__meta > div { min-width: 0; }
.cnm-product-card__meta p { color: #77736b; font-size: 9px; font-weight: 700; letter-spacing: .12em; margin-bottom: 9px; text-transform: uppercase; }
.cnm-product-card h3 { font-size: 14px; font-weight: 500; letter-spacing: -.02em; line-height: 1.25; margin: 0; max-width: 210px; }
.cnm-price { font-size: 12px; font-weight: 700; padding-top: 21px; white-space: nowrap; }

.cnm-manifesto { background: #080808; padding: clamp(100px, 15vw, 220px) 0 clamp(54px, 7vw, 100px); }
.cnm-manifesto h2 { font-size: clamp(52px, 8.5vw, 132px); margin-bottom: clamp(74px, 11vw, 160px); }
.cnm-manifesto h2 em { color: #777; font-style: normal; }
.cnm-manifesto__points { border-top: 1px solid var(--cnm-line); display: grid; grid-template-columns: repeat(3, 1fr); }
.cnm-manifesto__points p { border-right: 1px solid var(--cnm-line); color: #d0d0d0; font-size: 13px; letter-spacing: .03em; margin: 0; padding: 17px 0; }
.cnm-manifesto__points p:not(:first-child) { padding-left: 25px; }
.cnm-manifesto__points p:last-child { border: 0; }
.cnm-manifesto__points span { color: var(--cnm-red); font-size: 10px; letter-spacing: .12em; margin-right: 16px; }

@media (max-width: 767px) {
	.cnm-wrap { padding-left: 24px; padding-right: 24px; }
	.cnm-hero { min-height: 760px; }
	.cnm-hero__content { min-height: 760px; }
	.cnm-hero__image { object-position: 64% center; }
	.cnm-hero__veil { background: linear-gradient(90deg, rgba(0,0,0,.82), rgba(0,0,0,.16)), linear-gradient(0deg, rgba(0,0,0,.78), transparent 55%); }
	.cnm-nav { padding: 22px 0; }
	.cnm-nav__links { gap: 15px; }
	.cnm-nav__links a { font-size: 9px; }
	.cnm-hero__copy { padding: 52px 0 38px; }
	.cnm-hero h1 { font-size: clamp(52px, 16vw, 78px); }
	.cnm-lede { font-size: 14px; max-width: 285px; }
	.cnm-hero__facts { grid-template-columns: 1fr; }
	.cnm-hero__facts > div, .cnm-hero__facts > div:not(:first-child) { border-bottom: 1px solid var(--cnm-line); border-right: 0; padding: 10px 0; }
	.cnm-hero__facts > div:last-child { border-bottom: 0; }
	.cnm-hero__facts > div:nth-child(2), .cnm-hero__facts > div:nth-child(3) { display: none; }
	.cnm-story__grid { gap: 46px; grid-template-columns: 1fr; }
	.cnm-garage, .cnm-garage__inner { min-height: auto; }
	.cnm-garage__visual img { min-height: 720px; object-position: 67% center; }
	.cnm-garage__shade { background: linear-gradient(90deg, rgba(9,9,11,.94), rgba(9,9,11,.6)), linear-gradient(0deg, rgba(9,9,11,.88), transparent 70%); }
	.cnm-garage__inner { padding-bottom: 66px; padding-top: 82px; }
	.cnm-garage__intro > p:not(.cnm-kicker) { margin-bottom: 32px; max-width: 350px; }
	.cnm-garage__grid { grid-template-columns: 1fr; max-width: 100%; }
	.cnm-garage__card { gap: 22px; min-height: 128px; }
	.cnm-section-head { align-items: flex-start; flex-direction: column; gap: 26px; margin-bottom: 35px; }
	.cnm-product-grid { grid-template-columns: repeat(2, 1fr); }
	.cnm-product-card__meta { display: block; min-height: 123px; padding-right: 9px; }
	.cnm-product-card h3 { font-size: 12px; }
	.cnm-price { display: block; padding-top: 11px; }
	.cnm-manifesto__points { grid-template-columns: 1fr; }
	.cnm-manifesto__points p, .cnm-manifesto__points p:not(:first-child) { border-bottom: 1px solid var(--cnm-line); border-right: 0; padding: 16px 0; }
}

/* Woodmart header reset — remove the legacy promotional/header treatment. */
body:not(.cnm-home-page) .whb-top-bar { display: none !important; }
body:not(.cnm-home-page) .whb-header,
body:not(.cnm-home-page) .whb-main-header,
body:not(.cnm-home-page) .whb-general-header,
body:not(.cnm-home-page) .whb-header-bottom,
body:not(.cnm-home-page) .whb-sticky-header,
body:not(.cnm-home-page) .whb-sticky-header .whb-general-header {
	background: #080808 !important;
	background-color: #080808 !important;
	border-color: rgba(255,255,255,.14) !important;
	box-shadow: none !important;
}
body:not(.cnm-home-page) .whb-general-header { min-height: 76px !important; }
body:not(.cnm-home-page) .whb-header-bottom { min-height: 46px !important; border-top: 1px solid rgba(255,255,255,.12) !important; }
body:not(.cnm-home-page) .whb-header .site-logo img,
body:not(.cnm-home-page) .whb-sticky-header .site-logo img { display: none !important; }
body:not(.cnm-home-page) .whb-header .site-logo a,
body:not(.cnm-home-page) .whb-sticky-header .site-logo a { display: flex !important; align-items: center; min-height: 42px; }
body:not(.cnm-home-page) .whb-header .site-logo a::after,
body:not(.cnm-home-page) .whb-sticky-header .site-logo a::after {
	content: "CANOMOD";
	color: #fff;
	font: 800 20px/1 Arial, sans-serif;
	letter-spacing: -.08em;
}
body:not(.cnm-home-page) .whb-header .site-logo a::before,
body:not(.cnm-home-page) .whb-sticky-header .site-logo a::before {
	content: "";
	width: 23px;
	height: 23px;
	margin-right: 7px;
	border: 3px solid var(--cnm-red);
	border-left-color: #6b4cff;
	border-radius: 50%;
}
body:not(.cnm-home-page) .whb-header .wd-search-form input[type="text"],
body:not(.cnm-home-page) .whb-header .wd-search-form input[type="search"] {
	background: transparent !important;
	color: #fff !important;
	border-color: rgba(255,255,255,.35) !important;
	border-radius: 0 !important;
}
body:not(.cnm-home-page) .whb-header .wd-search-form input::placeholder { color: rgba(255,255,255,.55) !important; }
body:not(.cnm-home-page) .whb-header .wd-search-form .searchsubmit,
body:not(.cnm-home-page) .whb-header .wd-search-form .searchsubmit:hover { color: #fff !important; background: transparent !important; }
body:not(.cnm-home-page) .whb-header .wd-nav-main > li > a,
body:not(.cnm-home-page) .whb-header .wd-tools-element > a,
body:not(.cnm-home-page) .whb-header .wd-tools-text,
body:not(.cnm-home-page) .whb-header .wd-tools-icon { color: #fff !important; }
body:not(.cnm-home-page) .whb-header .wd-nav-main > li > a:hover,
body:not(.cnm-home-page) .whb-header .wd-nav-main > li.current-menu-item > a { color: var(--cnm-red) !important; }
body:not(.cnm-home-page) .whb-header .wd-header-my-account a { border: 1px solid var(--cnm-red) !important; padding: 10px 16px !important; }
body:not(.cnm-home-page) .whb-header .wd-cart-number { background: var(--cnm-red) !important; color: #fff !important; }

/* Archive/category presentation. */
body:not(.cnm-home-page) .wd-page-content { padding-top: 52px; }
body:not(.cnm-home-page) .sidebar-container .widget-title,
body:not(.cnm-home-page) .sidebar-container .wd-widget-title {
	font-size: 10px !important;
	letter-spacing: .16em !important;
	text-transform: uppercase !important;
	border-bottom: 1px solid rgba(10,10,10,.18) !important;
	padding-bottom: 15px !important;
}
body:not(.cnm-home-page) .widget_product_categories .product-categories a { font-size: 12px !important; letter-spacing: .03em; }
body:not(.cnm-home-page) .category-grid-item .wd-cat-inner {
	background: #dfdcd5 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	transition: transform .35s ease, background .35s ease !important;
}
body:not(.cnm-home-page) .category-grid-item .wd-cat-inner:hover { transform: translateY(-5px); background: #080808 !important; }
body:not(.cnm-home-page) .category-grid-item .wd-cat-thumb { background: transparent !important; }
body:not(.cnm-home-page) .category-grid-item .wd-cat-thumb img { mix-blend-mode: multiply; filter: saturate(.88) contrast(1.06); }
body:not(.cnm-home-page) .category-grid-item .wd-cat-inner:hover .wd-cat-thumb img { mix-blend-mode: screen; }
body:not(.cnm-home-page) .category-grid-item .wd-entities-title,
body:not(.cnm-home-page) .category-grid-item .wd-entities-title a {
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: .03em !important;
	text-transform: uppercase !important;
}
body:not(.cnm-home-page) .category-grid-item .wd-cat-inner:hover .wd-entities-title,
body:not(.cnm-home-page) .category-grid-item .wd-cat-inner:hover .wd-entities-title a { color: #fff !important; }

/* Whole-site visual system ---------------------------------------------------- */
body:not(.cnm-home-page) {
	background: var(--cnm-light);
	color: #151515;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

body:not(.cnm-home-page) .website-wrapper,
body:not(.cnm-home-page) .main-page-wrapper,
body:not(.cnm-home-page) .site-content,
body:not(.cnm-home-page) .wd-page-content {
	background: var(--cnm-light);
}

/* Header and navigation */
body:not(.cnm-home-page) .whb-header,
body:not(.cnm-home-page) .whb-sticky-header {
	background: #090909;
	border-bottom: 1px solid rgba(255, 255, 255, .15);
	box-shadow: none;
}

body:not(.cnm-home-page) .whb-header .whb-general-header,
body:not(.cnm-home-page) .whb-sticky-header .whb-general-header {
	background: transparent;
}

body:not(.cnm-home-page) .whb-header .wd-nav-main > li > a,
body:not(.cnm-home-page) .whb-sticky-header .wd-nav-main > li > a,
body:not(.cnm-home-page) .whb-header .wd-tools-element > a,
body:not(.cnm-home-page) .whb-sticky-header .wd-tools-element > a,
body:not(.cnm-home-page) .whb-header .wd-tools-text,
body:not(.cnm-home-page) .whb-sticky-header .wd-tools-text {
	color: #f4f1eb;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
}

body:not(.cnm-home-page) .whb-header .wd-nav-main > li > a::after,
body:not(.cnm-home-page) .whb-sticky-header .wd-nav-main > li > a::after {
	background-color: var(--cnm-red);
}

body:not(.cnm-home-page) .whb-header .wd-header-divider,
body:not(.cnm-home-page) .whb-sticky-header .wd-header-divider {
	border-color: rgba(255, 255, 255, .16);
}

body:not(.cnm-home-page) .whb-header .wd-tools-icon,
body:not(.cnm-home-page) .whb-sticky-header .wd-tools-icon {
	color: #f4f1eb;
}

body:not(.cnm-home-page) .whb-header .wd-cart-number,
body:not(.cnm-home-page) .whb-sticky-header .wd-cart-number {
	background: var(--cnm-red);
	color: #fff;
}

/* Titles and generic content */
body:not(.cnm-home-page) .page-title {
	background: #0a0a0a;
	border: 0;
	margin-bottom: 0;
	padding: clamp(52px, 7vw, 106px) 0 clamp(46px, 5vw, 76px);
}

body:not(.cnm-home-page) .page-title .title,
body:not(.cnm-home-page) .page-title h1 {
	color: #fff;
	font-size: clamp(38px, 5.2vw, 76px);
	font-weight: 300;
	letter-spacing: -.065em;
	line-height: .95;
	text-transform: none;
}

body:not(.cnm-home-page) .page-title .breadcrumbs,
body:not(.cnm-home-page) .page-title .breadcrumbs a {
	color: #a4a4a4;
	font-size: 10px;
	letter-spacing: .12em;
	text-transform: uppercase;
}

body:not(.cnm-home-page) h1,
body:not(.cnm-home-page) h2,
body:not(.cnm-home-page) h3,
body:not(.cnm-home-page) h4,
body:not(.cnm-home-page) h5,
body:not(.cnm-home-page) h6 {
	color: #111;
	letter-spacing: -.035em;
}

body:not(.cnm-home-page) .wpb-content-wrapper,
body:not(.cnm-home-page) .entry-content,
body:not(.cnm-home-page) .page-content {
	color: #4f4b45;
}

body:not(.cnm-home-page) .btn,
body:not(.cnm-home-page) .button,
body:not(.cnm-home-page) button[type="submit"],
body:not(.cnm-home-page) input[type="submit"],
body:not(.cnm-home-page) .woocommerce a.button,
body:not(.cnm-home-page) .woocommerce button.button,
body:not(.cnm-home-page) .woocommerce input.button {
	background: #111;
	border: 1px solid #111;
	border-radius: 0;
	box-shadow: none;
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .13em;
	min-height: 46px;
	padding: 0 23px;
	text-transform: uppercase;
	transition: background .2s ease, color .2s ease, transform .2s ease;
}

body:not(.cnm-home-page) .btn:hover,
body:not(.cnm-home-page) .button:hover,
body:not(.cnm-home-page) button[type="submit"]:hover,
body:not(.cnm-home-page) input[type="submit"]:hover,
body:not(.cnm-home-page) .woocommerce a.button:hover,
body:not(.cnm-home-page) .woocommerce button.button:hover,
body:not(.cnm-home-page) .woocommerce input.button:hover {
	background: var(--cnm-red);
	border-color: var(--cnm-red);
	color: #fff;
	transform: translateY(-1px);
}

body:not(.cnm-home-page) input[type="text"],
body:not(.cnm-home-page) input[type="email"],
body:not(.cnm-home-page) input[type="password"],
body:not(.cnm-home-page) input[type="tel"],
body:not(.cnm-home-page) input[type="number"],
body:not(.cnm-home-page) select,
body:not(.cnm-home-page) textarea {
	background: #f8f6f1;
	border: 1px solid #b7b2aa;
	border-radius: 0;
	box-shadow: none;
	color: #161616;
	min-height: 44px;
}

body:not(.cnm-home-page) input:focus,
body:not(.cnm-home-page) select:focus,
body:not(.cnm-home-page) textarea:focus {
	border-color: var(--cnm-red);
	box-shadow: 0 0 0 1px var(--cnm-red);
}

/* Shop archive, taxonomy and search */
body:not(.cnm-home-page).post-type-archive-product .main-page-wrapper,
body:not(.cnm-home-page).tax-product_cat .main-page-wrapper,
body:not(.cnm-home-page).search-results .main-page-wrapper {
	padding-top: clamp(40px, 5vw, 76px);
}

body:not(.cnm-home-page) .wd-shop-tools,
body:not(.cnm-home-page) .wd-shop-tools .woocommerce-result-count,
body:not(.cnm-home-page) .wd-shop-tools .woocommerce-ordering select {
	border-color: #b8b3ab;
	color: #59544e;
	font-size: 10px;
	letter-spacing: .1em;
	text-transform: uppercase;
}

body:not(.cnm-home-page) .products.wd-grid-g {
	--wd-gap-lg: 28px;
	--wd-gap-sm: 14px;
}

body:not(.cnm-home-page) .products .product-wrapper {
	background: transparent;
}

body:not(.cnm-home-page) .products .product-element-top {
	background: #dedbd5;
	overflow: hidden;
}

body:not(.cnm-home-page) .products .product-image-link img {
	mix-blend-mode: multiply;
	padding: 5%;
	transition: transform .45s ease;
}

body:not(.cnm-home-page) .products .product-wrapper:hover .product-image-link img {
	transform: scale(1.055);
}

body:not(.cnm-home-page) .products .wd-entities-title {
	color: #151515;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: -.025em;
	line-height: 1.3;
}

body:not(.cnm-home-page) .products .price,
body:not(.cnm-home-page) .woocommerce-Price-amount {
	color: var(--cnm-red);
	font-size: 13px;
	font-weight: 700;
}

body:not(.cnm-home-page) .products .wd-product-cats,
body:not(.cnm-home-page) .products .product-label {
	color: #77716a;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

body:not(.cnm-home-page) .products .wd-product-cats a { color: inherit; }
body:not(.cnm-home-page) .products .wd-add-btn { margin-top: 12px; }
body:not(.cnm-home-page) .products .wd-add-btn > a { border-radius: 0; }

body:not(.cnm-home-page) .sidebar-widget,
body:not(.cnm-home-page) .wd-widget {
	border-bottom: 1px solid #b8b3ab;
	margin-bottom: 24px;
	padding-bottom: 24px;
}

body:not(.cnm-home-page) .widget-title {
	color: #171717;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

body:not(.cnm-home-page) .widget a,
body:not(.cnm-home-page) .wd-widget a { color: #4b4741; }
body:not(.cnm-home-page) .widget a:hover,
body:not(.cnm-home-page) .wd-widget a:hover { color: var(--cnm-red); }

/* Product page */
body:not(.cnm-home-page).single-product .main-page-wrapper {
	padding-top: clamp(36px, 5vw, 76px);
}

body:not(.cnm-home-page).single-product .woocommerce-product-gallery__wrapper,
body:not(.cnm-home-page).single-product .woocommerce-product-gallery__image,
body:not(.cnm-home-page).single-product .product-image-wrap {
	background: #191919;
}

body:not(.cnm-home-page).single-product .woocommerce-product-gallery__image img {
	mix-blend-mode: screen;
	padding: 4%;
}

body:not(.cnm-home-page).single-product .wd-thumb {
	background: #d9d6d0;
	border-color: transparent;
}

body:not(.cnm-home-page).single-product .wd-thumb.active-thumb {
	border-color: var(--cnm-red);
}

body:not(.cnm-home-page).single-product .product_title {
	font-size: clamp(34px, 3.5vw, 56px);
	font-weight: 300;
	letter-spacing: -.065em;
	line-height: .96;
}

body:not(.cnm-home-page).single-product .summary .price {
	border-bottom: 1px solid #b9b3aa;
	color: var(--cnm-red);
	font-size: 22px;
	font-weight: 700;
	margin: 23px 0;
	padding-bottom: 21px;
}

body:not(.cnm-home-page).single-product .product_meta,
body:not(.cnm-home-page).single-product .woocommerce-product-details__short-description {
	border-color: #b9b3aa;
	color: #5e5850;
	font-size: 13px;
	line-height: 1.7;
}

body:not(.cnm-home-page).single-product .product_meta a { color: #222; font-weight: 700; }

body:not(.cnm-home-page).single-product .variations label,
body:not(.cnm-home-page).single-product .label label {
	color: #252525;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

body:not(.cnm-home-page).single-product form.cart {
	border-bottom: 1px solid #b9b3aa;
	border-top: 1px solid #b9b3aa;
	margin: 28px 0;
	padding: 24px 0;
}

body:not(.cnm-home-page).single-product .quantity input[type="number"] {
	border-color: #171717;
	color: #171717;
}

body:not(.cnm-home-page).single-product .single_add_to_cart_button {
	background: var(--cnm-red);
	border-color: var(--cnm-red);
	min-width: 210px;
}

body:not(.cnm-home-page).single-product .single_add_to_cart_button:hover {
	background: #111;
	border-color: #111;
}

body:not(.cnm-home-page).single-product .woocommerce-tabs {
	border-top: 1px solid #9f9990;
	margin-top: clamp(54px, 8vw, 110px);
	padding-top: 0;
}

body:not(.cnm-home-page).single-product .woocommerce-tabs .tabs li a {
	color: #5e5951;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

body:not(.cnm-home-page).single-product .woocommerce-tabs .tabs li.active a,
body:not(.cnm-home-page).single-product .woocommerce-tabs .tabs li a:hover {
	color: var(--cnm-red);
}

/* Cart, checkout and account */
body:not(.cnm-home-page).woocommerce-cart .main-page-wrapper,
body:not(.cnm-home-page).woocommerce-checkout .main-page-wrapper,
body:not(.cnm-home-page).woocommerce-account .main-page-wrapper {
	padding-top: clamp(44px, 6vw, 92px);
	padding-bottom: clamp(60px, 9vw, 130px);
}

body:not(.cnm-home-page) .woocommerce-cart-form,
body:not(.cnm-home-page) .cart-collaterals .cart_totals,
body:not(.cnm-home-page) .woocommerce-checkout-review-order,
body:not(.cnm-home-page) .woocommerce-checkout-payment,
body:not(.cnm-home-page) .woocommerce-MyAccount-content,
body:not(.cnm-home-page) .woocommerce-form-login,
body:not(.cnm-home-page) .woocommerce-form-register {
	background: #f8f6f1;
	border: 1px solid #bbb5ac;
	border-radius: 0;
	box-shadow: none;
	padding: clamp(22px, 3vw, 38px);
}

body:not(.cnm-home-page) .woocommerce table.shop_table {
	border: 0;
	border-collapse: collapse;
}

body:not(.cnm-home-page) .woocommerce table.shop_table th {
	border-bottom: 1px solid #171717;
	color: #161616;
	font-size: 10px;
	letter-spacing: .12em;
	text-transform: uppercase;
}

body:not(.cnm-home-page) .woocommerce table.shop_table td {
	border-color: #c7c2b9;
	color: #33302c;
}

body:not(.cnm-home-page) .woocommerce table.shop_table .product-thumbnail img {
	background: #dedbd5;
	mix-blend-mode: multiply;
}

body:not(.cnm-home-page) .cart-collaterals .cart_totals h2,
body:not(.cnm-home-page) .woocommerce-billing-fields > h3,
body:not(.cnm-home-page) #order_review_heading,
body:not(.cnm-home-page) .woocommerce-MyAccount-content > h2 {
	font-size: 25px;
	font-weight: 400;
	letter-spacing: -.05em;
}

body:not(.cnm-home-page) .woocommerce-checkout #payment {
	background: #e4e0d9;
	border-radius: 0;
}

body:not(.cnm-home-page) .woocommerce-checkout #place_order {
	background: var(--cnm-red);
	border-color: var(--cnm-red);
	width: 100%;
}

body:not(.cnm-home-page) .woocommerce-MyAccount-navigation {
	background: #111;
	padding: 13px 0;
}

body:not(.cnm-home-page) .woocommerce-MyAccount-navigation li {
	border-color: rgba(255,255,255,.15);
}

body:not(.cnm-home-page) .woocommerce-MyAccount-navigation a {
	color: #d8d4cd;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

body:not(.cnm-home-page) .woocommerce-MyAccount-navigation .is-active a,
body:not(.cnm-home-page) .woocommerce-MyAccount-navigation a:hover { color: var(--cnm-red); }

body:not(.cnm-home-page) .woocommerce-message,
body:not(.cnm-home-page) .woocommerce-info,
body:not(.cnm-home-page) .woocommerce-error {
	background: #e7e2da;
	border-color: var(--cnm-red);
	border-radius: 0;
	box-shadow: none;
	color: #282522;
}

/* Footer */
body:not(.cnm-home-page) footer,
body:not(.cnm-home-page) .footer-container,
body:not(.cnm-home-page) .copyrights-wrapper {
	background: #0a0a0a;
	color: #d4d0c9;
}

body:not(.cnm-home-page) footer .widget-title,
body:not(.cnm-home-page) footer .wd-widget-title,
body:not(.cnm-home-page) footer h3 {
	color: #fff;
	font-size: 10px;
	letter-spacing: .15em;
	text-transform: uppercase;
}

body:not(.cnm-home-page) footer a { color: #b6b1a8; }
body:not(.cnm-home-page) footer a:hover { color: var(--cnm-red); }
body:not(.cnm-home-page) .copyrights-wrapper { border-top: 1px solid rgba(255,255,255,.13); }

/* Final universal header pass -------------------------------------------------
   The builder header is kept intentionally simple: a compact utility row plus
   a separate product-navigation row. These late rules also neutralize a few
   legacy Woodmart element presets that otherwise leak into every template. */
body:not(.cnm-home-page) .whb-header .whb-general-header,
body:not(.cnm-home-page) .whb-sticky-header .whb-general-header {
	min-height: 68px !important;
}

body:not(.cnm-home-page) .whb-header .whb-general-header-inner,
body:not(.cnm-home-page) .whb-sticky-header .whb-general-header-inner {
	align-items: center !important;
	min-height: 68px !important;
}

body:not(.cnm-home-page) .whb-header .whb-header-bottom,
body:not(.cnm-home-page) .whb-sticky-header .whb-header-bottom {
	border-top: 1px solid rgba(255,255,255,.12) !important;
	min-height: 44px !important;
}

body:not(.cnm-home-page) .whb-header .whb-header-bottom .whb-flex-row,
body:not(.cnm-home-page) .whb-sticky-header .whb-header-bottom .whb-flex-row {
	min-height: 44px !important;
}

body:not(.cnm-home-page) .whb-header .container,
body:not(.cnm-home-page) .whb-sticky-header .container {
	max-width: 1440px !important;
}

body:not(.cnm-home-page) .whb-header .site-logo a::after,
body:not(.cnm-home-page) .whb-sticky-header .site-logo a::after {
	font-size: 19px;
	letter-spacing: -.06em;
}

body:not(.cnm-home-page) .whb-header .site-logo a::before,
body:not(.cnm-home-page) .whb-sticky-header .site-logo a::before {
	height: 21px;
	margin-right: 7px;
	width: 21px;
}

body:not(.cnm-home-page) .whb-header .wd-header-search-form,
body:not(.cnm-home-page) .whb-sticky-header .wd-header-search-form {
	margin: 0 auto !important;
	max-width: 360px !important;
	width: min(360px, 28vw) !important;
}

body:not(.cnm-home-page) .whb-header .wd-header-search-form .searchform,
body:not(.cnm-home-page) .whb-sticky-header .wd-header-search-form .searchform {
	height: 38px !important;
}

body:not(.cnm-home-page) .whb-header .wd-header-search-form input.s,
body:not(.cnm-home-page) .whb-sticky-header .wd-header-search-form input.s {
	height: 38px !important;
	padding: 0 78px 0 14px !important;
	font-size: 12px !important;
	letter-spacing: .01em;
}

body:not(.cnm-home-page) .whb-header .wd-header-search-form .searchsubmit,
body:not(.cnm-home-page) .whb-sticky-header .wd-header-search-form .searchsubmit {
	height: 38px !important;
	padding: 0 13px !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: .12em !important;
}

/* Empty wishlist icon is not useful as a primary header control. */
body:not(.cnm-home-page) .whb-header .wd-header-wishlist,
body:not(.cnm-home-page) .whb-sticky-header .wd-header-wishlist {
	display: none !important;
}

.cnm-brand { align-items: center; background: var(--cnm-light); display: inline-flex; padding: 5px 9px; transition: transform .25s ease, box-shadow .25s ease; }
.cnm-brand:hover { box-shadow: 4px 4px 0 var(--cnm-red); transform: translate(-1px, -1px); }
.cnm-brand:focus-visible, .cnm-button:focus-visible, .cnm-text-link:focus-visible, .cnm-product-card__image:focus-visible, .cnm-product-card h3 a:focus-visible, .cnm-nav__links a:focus-visible { outline: 2px solid var(--cnm-red); outline-offset: 4px; }
.cnm-brand img { display: block; height: auto; width: 142px; }
.cnm-scroll-progress { background: rgba(244,241,235,.18); height: 2px; left: 0; position: fixed; right: 0; top: 0; transform: translateZ(0); z-index: 9999; }
.cnm-scroll-progress span { background: var(--cnm-red); display: block; height: 100%; transform: scaleX(0); width: 100%; }
.cnm-hero__image, .cnm-story__image, .cnm-product-card, .cnm-product-card__image img, .cnm-button__inner { will-change: transform, opacity; }
.cnm-button--light { overflow: hidden; position: relative; }
.cnm-button--light::before { background: var(--cnm-red); content: ""; inset: 0; position: absolute; transform: translateX(-102%); transition: transform .4s cubic-bezier(.22, 1, .36, 1); }
.cnm-button--light:hover::before { transform: translateX(0); }
.cnm-button--light:hover { color: #fff !important; transform: none; }
.cnm-button--light:hover b { color: #fff; }
.cnm-button__inner { align-items: center; display: inline-flex; gap: 26px; position: relative; z-index: 1; }
.cnm-button__inner b { color: #080808; font-size: 17px; font-weight: 400; line-height: .5; transition: color .2s ease; }
.cnm-product-card__image { isolation: isolate; }
.cnm-product-card__image::before { background: var(--cnm-red); content: ""; height: 2px; left: 0; position: absolute; top: 0; transform: scaleX(0); transform-origin: left center; transition: transform .45s cubic-bezier(.22, 1, .36, 1); width: 100%; z-index: 2; }
.cnm-product-card:hover .cnm-product-card__image::before, .cnm-product-card:focus-within .cnm-product-card__image::before { transform: scaleX(1); }
.cnm-product-card:focus-within .cnm-product-card__image img { transform: scale(1.06); }
.cnm-product-card__meta h3 a { display: inline; transition: color .2s ease; }
.cnm-product-card__meta h3 a:hover { color: var(--cnm-red); }
.cnm-manifesto__brand { margin-top: clamp(36px, 5vw, 64px); }
body:not(.cnm-home-page) .whb-header .site-logo img, body:not(.cnm-home-page) .whb-sticky-header .site-logo img { display: block !important; height: auto !important; max-height: 48px !important; max-width: 174px !important; width: auto !important; }
body:not(.cnm-home-page) .whb-header .site-logo a, body:not(.cnm-home-page) .whb-sticky-header .site-logo a { background: var(--cnm-light); padding: 4px 8px; }
body:not(.cnm-home-page) .whb-header .site-logo a::before, body:not(.cnm-home-page) .whb-header .site-logo a::after, body:not(.cnm-home-page) .whb-sticky-header .site-logo a::before, body:not(.cnm-home-page) .whb-sticky-header .site-logo a::after { content: none !important; display: none !important; }
@media (max-width: 767px) { .cnm-brand { padding: 4px 7px; } .cnm-brand img { width: 116px; } .cnm-button__inner { gap: 18px; } body:not(.cnm-home-page) .whb-header .site-logo img, body:not(.cnm-home-page) .whb-sticky-header .site-logo img { max-height: 40px !important; max-width: 142px !important; } }
@media (prefers-reduced-motion: reduce) { .cnm-home *, .cnm-home *::before, .cnm-home *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; } .cnm-scroll-progress { display: none; } .cnm-button--light::before { display: none; } }

body:not(.cnm-home-page) .whb-header .wd-header-my-account > a,
body:not(.cnm-home-page) .whb-sticky-header .wd-header-my-account > a {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	white-space: nowrap;
}

body:not(.cnm-home-page) .whb-header .wd-header-my-account .wd-tools-text,
body:not(.cnm-home-page) .whb-sticky-header .wd-header-my-account .wd-tools-text {
	font-size: 10px !important;
	letter-spacing: .12em !important;
}

body:not(.cnm-home-page) .whb-header .wd-header-cart,
body:not(.cnm-home-page) .whb-sticky-header .wd-header-cart {
	margin-left: 22px !important;
}

body:not(.cnm-home-page) .whb-header .wd-cart-subtotal,
body:not(.cnm-home-page) .whb-sticky-header .wd-cart-subtotal {
	display: none !important;
}

body:not(.cnm-home-page) .whb-header .wd-cart-number,
body:not(.cnm-home-page) .whb-sticky-header .wd-cart-number {
	font-size: 9px !important;
	height: 16px !important;
	line-height: 16px !important;
	min-width: 16px !important;
	right: -8px !important;
	top: -7px !important;
}

body:not(.cnm-home-page) .whb-header .wd-nav-main,
body:not(.cnm-home-page) .whb-sticky-header .wd-nav-main {
	gap: 34px;
}

body:not(.cnm-home-page) .whb-header .wd-nav-main > li > a,
body:not(.cnm-home-page) .whb-sticky-header .wd-nav-main > li > a {
	height: 44px !important;
	line-height: 44px !important;
	font-size: 10px !important;
	letter-spacing: .14em !important;
}

/* CMS/contact forms inherit the same clear action language as commerce. */
body:not(.cnm-home-page) .wpcf7-form .wpcf7-submit,
body:not(.cnm-home-page) .wpcf7-form input[type="submit"] {
	background: var(--cnm-red) !important;
	border: 1px solid var(--cnm-red) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: #fff !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: .12em !important;
	padding: 14px 21px !important;
	text-transform: uppercase !important;
}

body:not(.cnm-home-page) .wpcf7-form .wpcf7-submit:hover,
body:not(.cnm-home-page) .wpcf7-form input[type="submit"]:hover {
	background: #111 !important;
	border-color: #111 !important;
}

@media (max-width: 1024px) {
	body:not(.cnm-home-page) .whb-header .wd-header-wishlist { display: none !important; }
	body:not(.cnm-home-page) .whb-header .wd-header-my-account > a { border: 0 !important; padding: 0 !important; }
}

@media (max-width: 767px) {
	body:not(.cnm-home-page) .whb-header .whb-general-header { min-height: 66px; }
	body:not(.cnm-home-page) .page-title { padding: 45px 0 42px; }
	body:not(.cnm-home-page) .page-title .title,
	body:not(.cnm-home-page) .page-title h1 { font-size: 40px; }
	body:not(.cnm-home-page) .products.wd-grid-g { --wd-gap-sm: 12px; }
	body:not(.cnm-home-page) .products .wd-entities-title { font-size: 12px; }
	body:not(.cnm-home-page).single-product .product_title { font-size: 38px; }
	body:not(.cnm-home-page).single-product .woocommerce-product-gallery { margin-bottom: 30px; }
	body:not(.cnm-home-page) .woocommerce-cart-form,
	body:not(.cnm-home-page) .cart-collaterals .cart_totals,
	body:not(.cnm-home-page) .woocommerce-checkout-review-order,
	body:not(.cnm-home-page) .woocommerce-MyAccount-content { padding: 20px; }
}

/* Keep the original CanoMod image mark while making the shop header match the
   quieter, more technical homepage rhythm. */
@media (min-width: 768px) {
	body:not(.cnm-home-page) .whb-header .whb-general-header,
	body:not(.cnm-home-page) .whb-sticky-header .whb-general-header,
	body:not(.cnm-home-page) .whb-header .whb-general-header-inner,
	body:not(.cnm-home-page) .whb-sticky-header .whb-general-header-inner {
		height: 82px !important;
		min-height: 82px !important;
	}

	body:not(.cnm-home-page) .whb-header .site-logo a,
	body:not(.cnm-home-page) .whb-sticky-header .site-logo a { min-height: 0 !important; }
}

/* ============================================================================
   CANOMOD UNIFIED CHROME  —  one header + one footer on every page.
   Pulsar-inspired: fixed header (transparent over the hero, solid elsewhere),
   centred nav, right-hand tools, and a multi-column footer.
   ========================================================================== */
:root { --cnm-header-h: 66px; }

/* Retire the Woodmart header/footer everywhere — replaced by the unified chrome. */
.cnm-unified-chrome .whb-header,
.cnm-unified-chrome .whb-sticky-header,
.cnm-unified-chrome .whb-sticked,
.cnm-unified-chrome .wd-bottom-mobile-nav,
.cnm-unified-chrome .wd-toolbar,
.cnm-unified-chrome .wd-header-banner,
.cnm-unified-chrome .wd-footer.footer-container,
.cnm-unified-chrome .wd-footer {
	display: none !important;
}

/* Push inner-page content clear of the fixed header (cream padding hides behind it). */
body.cnm-inner-page .wd-page-wrapper { padding-top: var(--cnm-header-h); }
html { scroll-padding-top: calc(var(--cnm-header-h) + 12px); }
body.cnm-no-scroll { overflow: hidden; }

.cnm-skip { background: var(--cnm-red); color: #fff; left: -9999px; padding: 10px 16px; position: fixed; top: 0; z-index: 2000; }
.cnm-skip:focus { left: 12px; top: 12px; }

/* ---- Header shell ---- */
.cnm-site-header { left: 0; position: fixed; right: 0; top: 0; z-index: 1000; transition: background .35s ease, border-color .35s ease; }
.cnm-site-header__bar { align-items: center; display: grid; gap: 20px; grid-template-columns: 1fr auto 1fr; height: var(--cnm-header-h); margin: 0 auto; max-width: 1560px; padding: 0 clamp(20px, 4vw, 48px); }

.cnm-site-header--home { background: linear-gradient(180deg, rgba(0,0,0,.6), rgba(0,0,0,0)); }
.cnm-site-header.is-solid,
.cnm-site-header--home.is-scrolled {
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	background: rgba(8,8,8,.9);
	border-bottom: 1px solid rgba(255,255,255,.1);
}

.cnm-site-header__logo { align-items: center; background: var(--cnm-light); display: inline-flex; justify-self: start; padding: 5px 9px; transition: transform .25s ease, box-shadow .25s ease; }
.cnm-site-header__logo:hover { box-shadow: 4px 4px 0 var(--cnm-red); transform: translate(-1px, -1px); }
.cnm-site-header__logo img { display: block; height: 34px; width: auto; }

.cnm-site-header__nav { justify-self: center; }
.cnm-menu { align-items: center; display: flex; gap: clamp(14px, 1.9vw, 32px); list-style: none; margin: 0; padding: 0; }
.cnm-menu li { margin: 0; position: relative; }
.cnm-menu a { color: #e9e7e2; display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .14em; padding: 6px 0; position: relative; text-transform: uppercase; transition: color .2s ease; white-space: nowrap; }
.cnm-menu > li > a::after { background: var(--cnm-red); bottom: -2px; content: ""; height: 2px; left: 0; position: absolute; right: 0; transform: scaleX(0); transform-origin: left center; transition: transform .25s cubic-bezier(.22,1,.36,1); }
.cnm-menu > li > a:hover, .cnm-menu > li.current-menu-item > a, .cnm-menu > li.current-menu-ancestor > a { color: #fff; }
.cnm-menu > li > a:hover::after, .cnm-menu > li.current-menu-item > a::after, .cnm-menu > li.current-menu-ancestor > a::after { transform: scaleX(1); }
/* Dropdowns kept simple and on-brand. */
.cnm-menu .sub-menu { background: #0c0c0c; border: 1px solid rgba(255,255,255,.12); left: 0; list-style: none; margin: 0; min-width: 210px; opacity: 0; padding: 8px 0; pointer-events: none; position: absolute; top: 100%; transform: translateY(6px); transition: opacity .2s ease, transform .2s ease; z-index: 30; }
.cnm-menu li:hover > .sub-menu { opacity: 1; pointer-events: auto; transform: translateY(0); }
.cnm-menu .sub-menu a { display: block; letter-spacing: .08em; padding: 9px 18px; }

.cnm-site-header__tools { align-items: center; display: flex; gap: 4px; justify-self: end; }
.cnm-hicon { align-items: center; background: transparent; border: 0; color: #f4f1eb; cursor: pointer; display: inline-flex; height: 40px; justify-content: center; padding: 0; position: relative; text-decoration: none; transition: color .2s ease; width: 40px; }
.cnm-hicon:hover { color: var(--cnm-red); }
.cnm-hicon:focus { outline: 0; }
.cnm-hicon:focus-visible { color: var(--cnm-red); outline: 2px solid var(--cnm-red); outline-offset: 2px; }
.cnm-hicon--cart .cnm-cart-count { background: var(--cnm-red); border-radius: 9px; color: #fff; font-size: 9px; font-weight: 700; height: 16px; line-height: 16px; min-width: 16px; padding: 0 4px; position: absolute; right: 3px; text-align: center; top: 3px; }
.cnm-cart-count.is-empty { display: none; }

.cnm-burger { align-items: center; background: transparent; border: 0; cursor: pointer; display: none; flex-direction: column; gap: 4px; height: 40px; justify-content: center; width: 40px; }
.cnm-burger span { background: #f4f1eb; display: block; height: 2px; transition: transform .25s ease, opacity .2s ease; width: 20px; }
.cnm-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.cnm-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.cnm-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* ---- Header search reveal ---- */
.cnm-site-search { -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); background: rgba(8,8,8,.97); border-top: 1px solid rgba(255,255,255,.1); }
.cnm-site-search[hidden] { display: none; }
.cnm-site-search__form { display: flex; margin: 0 auto; max-width: 1560px; padding: 14px clamp(20px, 4vw, 48px); }
.cnm-site-search__input { background: transparent; border: 1px solid rgba(255,255,255,.3); border-right: 0; color: #fff; flex: 1; font-size: 15px; height: 48px; min-width: 0; padding: 0 18px; }
.cnm-site-search__input::placeholder { color: rgba(255,255,255,.5); }
.cnm-site-search__submit { background: var(--cnm-red); border: 1px solid var(--cnm-red); color: #fff; cursor: pointer; font-size: 11px; font-weight: 700; height: 48px; letter-spacing: .14em; padding: 0 26px; text-transform: uppercase; }
.cnm-site-search__submit:hover { background: #fff; border-color: #fff; color: #080808; }

/* ---- Mobile menu ---- */
.cnm-mobile-panel { background: #0c0c0c; border-left: 1px solid rgba(255,255,255,.12); bottom: 0; overflow: auto; padding: 24px; position: fixed; right: 0; top: var(--cnm-header-h); width: min(360px, 86vw); z-index: 1001; }
.cnm-mobile-panel[hidden] { display: none; }
.cnm-mobile-menu-list { list-style: none; margin: 0; padding: 0; }
.cnm-mobile-menu-list a { border-bottom: 1px solid rgba(255,255,255,.08); color: #eee; display: block; font-size: 14px; font-weight: 700; letter-spacing: .1em; padding: 15px 2px; text-transform: uppercase; }
.cnm-mobile-menu-list .sub-menu { list-style: none; margin: 0; padding: 0 0 0 14px; }
.cnm-mobile-panel__foot { border-top: 1px solid rgba(255,255,255,.12); display: flex; gap: 22px; margin-top: 20px; padding-top: 20px; }
.cnm-mobile-panel__foot a { color: #bdbab3; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.cnm-scrim { background: rgba(0,0,0,.55); inset: 0; position: fixed; z-index: 1000; }
.cnm-scrim[hidden] { display: none; }

@media (max-width: 1024px) {
	.cnm-site-header__nav { display: none; }
	.cnm-burger { display: flex; }
	.cnm-site-header__bar { grid-template-columns: auto 1fr auto; }
	.cnm-site-header__logo { grid-column: 1; }
	.cnm-site-header__tools { grid-column: 3; }
}
@media (min-width: 1025px) {
	.cnm-mobile-panel, .cnm-scrim { display: none !important; }
}

/* ---- Unified footer ---- */
.cnm-site-footer { background: #0a0a0a; border-top: 1px solid rgba(255,255,255,.1); color: #c9c6bf; position: relative; z-index: 1; }
.cnm-site-footer__top { display: grid; gap: clamp(38px, 5vw, 84px); grid-template-columns: 1.1fr 2fr; padding-bottom: clamp(38px, 5vw, 58px); padding-top: clamp(54px, 7vw, 88px); }
.cnm-site-footer__logo { align-self: flex-start; }
.cnm-site-footer__logo img { height: 34px; width: auto; }
.cnm-site-footer__tag { color: #8f8c85; font-size: 13px; line-height: 1.65; margin: 20px 0 22px; max-width: 320px; }
.cnm-social { display: flex; gap: 11px; }
.cnm-social a { align-items: center; border: 1px solid rgba(255,255,255,.16); color: #cfccc5; display: inline-flex; height: 38px; justify-content: center; transition: background .2s ease, border-color .2s ease, color .2s ease; width: 38px; }
.cnm-social a:hover { background: var(--cnm-red); border-color: var(--cnm-red); color: #fff; }
.cnm-site-footer__cols { display: grid; gap: 30px; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.cnm-fcol h4 { color: #fff; font-size: 10px; font-weight: 700; letter-spacing: .16em; margin: 0 0 18px; text-transform: uppercase; }
.cnm-fcol ul { list-style: none; margin: 0; padding: 0; }
.cnm-fcol li { margin: 0 0 11px; }
.cnm-fcol a { color: #9d9a93; font-size: 13px; transition: color .2s ease; }
.cnm-fcol a:hover { color: var(--cnm-red); }
.cnm-fcol--news p { color: #8f8c85; font-size: 13px; line-height: 1.6; margin: 0 0 16px; }
.cnm-news { display: flex; margin-bottom: 16px; max-width: 300px; }
.cnm-news input { background: #141414; border: 1px solid rgba(255,255,255,.16); border-right: 0; color: #fff; flex: 1; font-size: 13px; height: 44px; min-width: 0; padding: 0 14px; }
.cnm-news input::placeholder { color: rgba(255,255,255,.4); }
.cnm-news button { background: var(--cnm-red); border: 0; color: #fff; cursor: pointer; font-size: 18px; height: 44px; width: 48px; }
.cnm-news button:hover { background: #fff; color: #080808; }
.cnm-news__cta { border-bottom: 1px solid var(--cnm-red); color: #fff; display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .12em; padding-bottom: 4px; text-transform: uppercase; }
.cnm-news__cta:hover { color: var(--cnm-red); }
.cnm-site-footer__legal { align-items: center; border-top: 1px solid rgba(255,255,255,.1); color: #77746d; display: flex; font-size: 11px; gap: 16px; justify-content: space-between; letter-spacing: .06em; padding-bottom: 34px; padding-top: 24px; }
.cnm-site-footer__legal-links a { color: #77746d; margin-left: 18px; }
.cnm-site-footer__legal-links a:hover { color: var(--cnm-red); }

@media (max-width: 991px) {
	.cnm-site-footer__top { gap: 40px; grid-template-columns: 1fr; }
	.cnm-site-footer__cols { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	.cnm-site-footer__cols { grid-template-columns: 1fr; }
	.cnm-site-footer__legal { align-items: flex-start; flex-direction: column; gap: 12px; }
	.cnm-site-footer__legal-links a { margin: 0 18px 0 0; }
}

/* ============================================================================
   FIX 1 — /our-products/ platform tiles: remove the redundant frames/shadows,
   present each brand logo on one clean tile with an on-brand hover.
   ========================================================================== */
body.cnm-inner-page .category-grid-item .wd-cat-inner { background: transparent !important; box-shadow: none !important; }
body.cnm-inner-page .category-grid-item .wd-cat-thumb {
	background: #fff !important;
	border: 1px solid rgba(10,10,10,.1) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	overflow: hidden;
	position: relative;
	transition: border-color .3s ease, transform .3s ease, box-shadow .3s ease;
}
body.cnm-inner-page .category-grid-item .wd-cat-thumb::before {
	background: var(--cnm-red); content: ""; height: 3px; left: 0; position: absolute; right: 0; top: 0;
	transform: scaleX(0); transform-origin: left center; transition: transform .35s cubic-bezier(.22,1,.36,1); z-index: 2;
}
body.cnm-inner-page .category-grid-item .wd-cat-thumb img {
	filter: none !important; height: 100% !important; mix-blend-mode: normal !important;
	object-fit: contain !important; padding: 15% !important; transform: none !important; width: 100% !important;
}
body.cnm-inner-page .category-grid-item .wd-cat-inner:hover .wd-cat-thumb { border-color: var(--cnm-red) !important; box-shadow: 0 20px 42px -24px rgba(0,0,0,.55) !important; transform: translateY(-5px); }
body.cnm-inner-page .category-grid-item .wd-cat-inner:hover .wd-cat-thumb::before { transform: scaleX(1); }
body.cnm-inner-page .category-grid-item .wd-cat-content { padding: 15px 2px 0 !important; text-align: center; }
body.cnm-inner-page .category-grid-item .wd-entities-title,
body.cnm-inner-page .category-grid-item .wd-entities-title a { color: #171717 !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: .16em !important; text-transform: uppercase !important; }
body.cnm-inner-page .category-grid-item .wd-cat-inner:hover .wd-entities-title,
body.cnm-inner-page .category-grid-item .wd-cat-inner:hover .wd-entities-title a { color: var(--cnm-red) !important; }

/* ============================================================================
   FIX 2 — product-loop hover: no clutter over the image, on-brand add-to-cart.
   ========================================================================== */
body.cnm-inner-page .products .product-element-top { overflow: hidden; position: relative; }
/* Drop the floating icon column (compare / quick-view / wishlist) that covered the image. */
body.cnm-inner-page .products .wd-buttons { display: none !important; }
/* Add-to-cart becomes a clean bar that slides up from the bottom of the image. */
body.cnm-inner-page .products .wd-add-btn {
	bottom: 0 !important; left: 0 !important; margin: 0 !important; opacity: 1 !important;
	position: absolute !important; right: 0 !important; top: auto !important;
	transform: translateY(101%); transition: transform .3s cubic-bezier(.22,1,.36,1); z-index: 5;
}
body.cnm-inner-page .products .product-wrapper:hover .wd-add-btn,
body.cnm-inner-page .products .product-grid-item:hover .wd-add-btn { transform: translateY(0); }
body.cnm-inner-page .products .wd-add-btn > a,
body.cnm-inner-page .products .wd-add-btn > a.button,
body.cnm-inner-page .products .wd-add-btn .add_to_cart_button {
	background: var(--cnm-red) !important; border: 0 !important; border-radius: 0 !important; color: #fff !important;
	display: block !important; font-size: 10px !important; font-weight: 700 !important; letter-spacing: .14em !important;
	line-height: 46px !important; margin: 0 !important; min-height: 46px !important; padding: 0 !important;
	text-align: center !important; text-transform: uppercase !important; width: 100% !important;
}
body.cnm-inner-page .products .wd-add-btn > a:hover { background: #111 !important; color: #fff !important; }
/* Touch devices can't hover — keep the bar visible so add-to-cart stays reachable. */
@media (hover: none) {
	body.cnm-inner-page .products .wd-add-btn { position: static !important; transform: none !important; margin-top: 10px !important; }
}

/* ============================================================================
   FIX 3 — single-product tabs: aligned nav, no floating indicator, reviews
   stacked instead of an overflowing two-column layout.
   ========================================================================== */
body.cnm-inner-page.single-product .woocommerce-tabs { border-top: 1px solid #b9b3aa; margin-top: clamp(48px, 7vw, 96px); padding-top: 0; }
body.cnm-inner-page.single-product .wd-nav-tabs-wrapper { margin: 0 0 30px !important; border-bottom: 1px solid #cfc9bf; text-align: left !important; }
body.cnm-inner-page.single-product ul.wd-nav-tabs { display: flex !important; gap: 30px; justify-content: flex-start !important; margin: 0 !important; padding: 0 !important; }
body.cnm-inner-page.single-product ul.wd-nav-tabs > li { margin: 0 !important; }
body.cnm-inner-page.single-product .wd-nav-tabs .wd-nav-link { color: #5e5951 !important; font-size: 10px !important; font-weight: 700 !important; letter-spacing: .14em !important; padding: 0 0 14px !important; text-transform: uppercase !important; }
body.cnm-inner-page.single-product .wd-nav-tabs li.active .wd-nav-link,
body.cnm-inner-page.single-product .wd-nav-tabs .wd-nav-link:hover { color: var(--cnm-red) !important; }
/* Neutralise the theme's reverse-underline indicator and use a single aligned bar. */
body.cnm-inner-page.single-product .wd-nav-tabs .wd-nav-link::before,
body.cnm-inner-page.single-product .wd-nav-tabs .wd-nav-link::after,
body.cnm-inner-page.single-product .wd-nav-tabs .wd-tabs-title::before,
body.cnm-inner-page.single-product .wd-nav-tabs .wd-tabs-title::after,
body.cnm-inner-page.single-product .wd-nav-tabs::before,
body.cnm-inner-page.single-product .wd-nav-tabs::after,
body.cnm-inner-page.single-product .wd-nav-tabs-wrapper::before,
body.cnm-inner-page.single-product .wd-nav-tabs-wrapper::after { display: none !important; }
body.cnm-inner-page.single-product .wd-nav-tabs .wd-nav-link { border: 0 !important; box-shadow: none !important; }
body.cnm-inner-page.single-product .wd-nav-tabs li { position: relative; }
body.cnm-inner-page.single-product .wd-nav-tabs li.active::after {
	background: var(--cnm-red); bottom: -1px; content: ""; height: 2px; left: 0; position: absolute; right: 0; z-index: 1;
}
/* Reviews panel: stack the list and the form, keep them inside the container. */
body.cnm-inner-page.single-product #reviews.woocommerce-Reviews,
body.cnm-inner-page.single-product .woocommerce-Reviews { display: block !important; width: auto !important; }
body.cnm-inner-page.single-product #reviews #comments,
body.cnm-inner-page.single-product #reviews #review_form_wrapper {
	float: none !important; margin: 0 !important; max-width: 720px !important; padding: 0 !important; width: 100% !important;
}
body.cnm-inner-page.single-product #reviews #review_form_wrapper { margin-top: 34px !important; }
body.cnm-inner-page.single-product .woocommerce-Reviews-title { font-size: 15px; font-weight: 700; letter-spacing: .01em; margin-bottom: 14px; }

/* ============================================================================
   CANOMOD LIGHT / EDITORIAL SAAS THEME
   Site-wide flip to a clean, spacious, light layout (à la the reference SaaS
   template) while keeping the CanoMod red accent. This block is last in the
   cascade so it wins over the earlier dark treatment.
   ========================================================================== */
:root {
	--cnm-paper: #f4f1ea;
	--cnm-white: #ffffff;
	--cnm-ink: #16130f;
	--cnm-ink-soft: #4b463f;
	--cnm-muted: #837d73;
	--cnm-line: rgba(22,19,15,.13);
	--cnm-red: #e44234;
	--cnm-header-h: 70px;
}

/* ---- Header: light ---- */
.cnm-site-header--home { background: transparent; }
.cnm-site-header.is-solid,
.cnm-site-header--home.is-scrolled {
	background: rgba(255,255,255,.82);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	border-bottom: 1px solid var(--cnm-line);
}
.cnm-site-header__logo { background: transparent; padding: 0; }
.cnm-site-header__logo:hover { box-shadow: none; transform: translateY(-1px); }
.cnm-site-header__logo img { height: 30px; }
.cnm-menu a { color: var(--cnm-ink); }
.cnm-menu > li > a:hover,
.cnm-menu > li.current-menu-item > a,
.cnm-menu > li.current-menu-ancestor > a { color: var(--cnm-red); }
.cnm-menu > li > a::after { background: var(--cnm-red); }
.cnm-hicon { color: var(--cnm-ink); }
.cnm-hicon:hover, .cnm-hicon:focus-visible { color: var(--cnm-red); }
.cnm-burger span { background: var(--cnm-ink); }
.cnm-header-cta { align-items: center; background: var(--cnm-red); color: #fff; display: inline-flex; font-size: 11px; font-weight: 700; height: 38px; letter-spacing: .12em; margin-left: 10px; padding: 0 20px; text-transform: uppercase; transition: background .2s ease, transform .2s ease; }
.cnm-header-cta:hover { background: var(--cnm-ink); color: #fff; transform: translateY(-1px); }
@media (max-width: 1024px) { .cnm-header-cta { display: none; } }

.cnm-site-search { background: rgba(255,255,255,.97); border-top: 1px solid var(--cnm-line); }
.cnm-site-search__input { background: #fff; border-color: var(--cnm-line); color: var(--cnm-ink); }
.cnm-site-search__input::placeholder { color: var(--cnm-muted); }
.cnm-site-search__submit { background: var(--cnm-red); border-color: var(--cnm-red); color: #fff; }
.cnm-site-search__submit:hover { background: var(--cnm-ink); border-color: var(--cnm-ink); color: #fff; }

.cnm-mobile-panel { background: #fff; border-left: 1px solid var(--cnm-line); }
.cnm-mobile-menu-list a { border-bottom-color: var(--cnm-line); color: var(--cnm-ink); }
.cnm-mobile-panel__foot { border-top-color: var(--cnm-line); }
.cnm-mobile-panel__foot a { color: var(--cnm-muted); }
.cnm-scrim { background: rgba(22,19,15,.4); }

/* ---- Homepage base: light ---- */
body.cnm-home-page,
body.cnm-home-page .website-wrapper { background: var(--cnm-white); color: var(--cnm-ink); }
.cnm-home.cnm-saas { background: var(--cnm-white); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; overflow: visible; }
.cnm-saas h1, .cnm-saas h2, .cnm-saas h3 { color: var(--cnm-ink); }
.cnm-saas .cnm-kicker { color: var(--cnm-red); font-size: 11px; font-weight: 700; letter-spacing: .16em; margin: 0 0 16px; text-transform: uppercase; }
.cnm-saas .cnm-scroll-progress { background: rgba(22,19,15,.08); }
.cnm-saas .cnm-scroll-progress span { background: var(--cnm-red); }

/* ---- Buttons ---- */
.cnm-btn { align-items: center; border: 1px solid transparent; display: inline-flex; font-size: 11px; font-weight: 700; height: 52px; justify-content: center; letter-spacing: .12em; padding: 0 26px; text-transform: uppercase; transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease; }
.cnm-btn:hover { transform: translateY(-2px); }
.cnm-btn--primary { background: var(--cnm-red); color: #fff; }
.cnm-btn--primary:hover { background: var(--cnm-ink); color: #fff; }
.cnm-btn--ghost { border-color: var(--cnm-ink); color: var(--cnm-ink); }
.cnm-btn--ghost:hover { background: var(--cnm-ink); color: #fff; }
.cnm-btn--light { background: var(--cnm-ink); color: #fff; }
.cnm-btn--light:hover { background: var(--cnm-red); color: #fff; }
.cnm-button__inner { align-items: center; display: inline-flex; gap: 12px; }
.cnm-button__inner b { font-weight: 400; }
.cnm-textlink { border-bottom: 1px solid var(--cnm-red); color: var(--cnm-ink); font-size: 11px; font-weight: 700; letter-spacing: .12em; padding-bottom: 5px; text-transform: uppercase; white-space: nowrap; }
.cnm-textlink:hover { color: var(--cnm-red); }

/* ---- Hero ---- */
.cnm-s-hero { background: #050505; color: #fff; isolation: isolate; min-height: max(720px, 100svh); overflow: hidden; position: relative; }
.cnm-s-hero__media { inset: -3%; overflow: hidden; pointer-events: none; position: absolute; transform-origin: center top; z-index: -2; }
.cnm-s-hero__poster,
.cnm-s-hero__video { height: 100%; inset: 0; object-fit: cover; object-position: center center; position: absolute; width: 100%; }
.cnm-s-hero__poster { opacity: 1; transform: scale(1.025); transition: opacity .8s ease; }
.cnm-s-hero__video { opacity: 0; transition: opacity 1s ease; }
.cnm-s-hero.is-video-ready .cnm-s-hero__video { opacity: 1; }
.cnm-s-hero.is-video-ready .cnm-s-hero__poster { opacity: 0; }
.cnm-s-hero__veil { background: linear-gradient(90deg, rgba(2,2,2,.86) 0%, rgba(2,2,2,.58) 38%, rgba(2,2,2,.10) 72%), linear-gradient(0deg, rgba(2,2,2,.78) 0%, transparent 45%), linear-gradient(180deg, rgba(0,0,0,.38), transparent 24%); inset: 0; position: absolute; }
.cnm-s-hero__grain { animation: cnm-hero-grain .22s steps(2) infinite; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E"); inset: -20%; mix-blend-mode: soft-light; opacity: .08; position: absolute; }
@keyframes cnm-hero-grain { 0% { transform: translate3d(-2%, 1%, 0); } 50% { transform: translate3d(2%, -1%, 0); } 100% { transform: translate3d(1%, 2%, 0); } }
.cnm-s-hero__stage { display: flex; flex-direction: column; justify-content: flex-end; min-height: max(720px, 100svh); padding-bottom: clamp(26px, 4vw, 54px); padding-top: calc(var(--cnm-header-h) + clamp(70px, 10vh, 120px)); position: relative; z-index: 1; }
.cnm-s-hero__copy { max-width: 1120px; }
.cnm-s-hero__copy h1 { color: #fff; font-size: clamp(58px, 8.2vw, 132px); font-weight: 300; letter-spacing: -.065em; line-height: .84; margin: 0 0 28px; text-shadow: 0 3px 36px rgba(0,0,0,.22); }
.cnm-s-hero .cnm-kicker { color: #f06a5d; }
.cnm-s-hero .cnm-lede { color: rgba(255,255,255,.78); font-size: clamp(15px, 1.2vw, 18px); line-height: 1.6; margin: 0 0 32px; max-width: 480px; }
.cnm-s-hero .cnm-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 16px; }
.cnm-s-hero .cnm-btn--ghost { border-color: rgba(255,255,255,.55); color: #fff; }
.cnm-s-hero .cnm-btn--ghost:hover { background: #fff; border-color: #fff; color: #111; }
.cnm-s-hero__footer { align-items: flex-end; border-top: 1px solid rgba(255,255,255,.22); display: flex; gap: 30px; justify-content: space-between; margin-top: clamp(42px, 7vh, 78px); padding-top: 20px; }
.cnm-s-hero__trust { display: flex; gap: clamp(24px, 4vw, 64px); }
.cnm-s-hero__trust strong { color: #fff; display: block; font-size: clamp(20px, 2vw, 28px); font-weight: 500; letter-spacing: -.03em; }
.cnm-s-hero__trust span { color: rgba(255,255,255,.58); font-size: 10px; letter-spacing: .07em; text-transform: uppercase; }
.cnm-s-hero__reel { align-items: center; color: rgba(255,255,255,.58); display: flex; font-size: 9px; letter-spacing: .14em; margin: 0; text-transform: uppercase; white-space: nowrap; }
.cnm-s-hero__reel span { animation: cnm-reel-pulse 1.8s ease-in-out infinite; background: var(--cnm-red); border-radius: 50%; box-shadow: 0 0 0 5px rgba(228,66,52,.16); height: 6px; margin-right: 10px; width: 6px; }
@keyframes cnm-reel-pulse { 50% { box-shadow: 0 0 0 9px rgba(228,66,52,0); } }

.cnm-site-header--home:not(.is-scrolled) .cnm-menu a,
.cnm-site-header--home:not(.is-scrolled) .cnm-hicon { color: #fff; }
.cnm-site-header--home:not(.is-scrolled) .cnm-burger span { background: #fff; }
.cnm-site-header--home:not(.is-scrolled) .cnm-header-cta { background: rgba(228,66,52,.9); }

/* ---- Platforms: tabbed collections + swipeable carousels ---- */
.cnm-s-platforms { background: var(--cnm-paper); padding: clamp(52px, 7vw, 100px) 0; }
.cnm-tabs { border-bottom: 1px solid var(--cnm-line); display: flex; flex-wrap: wrap; gap: 4px clamp(20px, 3vw, 40px); margin-bottom: clamp(24px, 3vw, 40px); overflow-x: auto; -webkit-overflow-scrolling: touch; }
.cnm-tab { align-items: baseline; background: none; border: 0; color: var(--cnm-muted); cursor: pointer; display: inline-flex; font-family: inherit; font-size: clamp(18px, 2vw, 26px); font-weight: 700; gap: 7px; letter-spacing: -.02em; padding: 0 0 15px; position: relative; text-transform: uppercase; transition: color .2s ease; white-space: nowrap; }
.cnm-tab small { font-size: 11px; font-weight: 700; letter-spacing: .04em; opacity: .8; }
.cnm-tab::after { background: var(--cnm-red); bottom: -1px; content: ""; height: 2px; left: 0; position: absolute; right: 0; transform: scaleX(0); transform-origin: left center; transition: transform .25s cubic-bezier(.22,1,.36,1); }
.cnm-tab:hover { color: var(--cnm-ink); }
.cnm-tab.is-active { color: var(--cnm-ink); }
.cnm-tab.is-active::after { transform: scaleX(1); }
.cnm-tabpanel[hidden] { display: none; }
.cnm-tabpanel { animation: cnm-panel-in .45s cubic-bezier(.22,1,.36,1); }
@keyframes cnm-panel-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.cnm-tabpanel__empty { color: var(--cnm-muted); font-size: 15px; padding: 30px 0; }
.cnm-carousel { display: flex; gap: clamp(14px, 1.5vw, 22px); overflow-x: auto; overflow-y: hidden; padding: 4px 0 16px; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; scrollbar-width: thin; scrollbar-color: var(--cnm-line) transparent; }
.cnm-carousel::-webkit-scrollbar { height: 6px; }
.cnm-carousel::-webkit-scrollbar-thumb { background: var(--cnm-line); border-radius: 3px; }
.cnm-carousel__item { flex: 0 0 clamp(190px, 22vw, 244px); scroll-snap-align: start; }
.cnm-carousel__all { align-items: center; align-self: stretch; background: #fff; border: 1px solid var(--cnm-line); color: var(--cnm-ink); display: flex; flex: 0 0 clamp(150px, 15vw, 190px); flex-direction: column; font-size: 13px; font-weight: 700; gap: 10px; justify-content: center; letter-spacing: .02em; scroll-snap-align: start; text-align: center; transition: border-color .2s ease, transform .2s ease, color .2s ease; }
.cnm-carousel__all:hover { border-color: var(--cnm-red); color: var(--cnm-red); transform: translateY(-3px); }
.cnm-carousel__all span { text-transform: uppercase; }
.cnm-carousel__all b { color: var(--cnm-red); font-size: 20px; font-weight: 400; }
.cnm-carousel__nav { display: flex; gap: 8px; justify-content: flex-end; margin-top: 6px; }
.cnm-carousel__nav button { align-items: center; background: #fff; border: 1px solid var(--cnm-line); color: var(--cnm-ink); cursor: pointer; display: inline-flex; font-size: 15px; height: 42px; justify-content: center; transition: background .2s ease, color .2s ease, opacity .2s ease; width: 42px; }
.cnm-carousel__nav button:hover { background: var(--cnm-ink); color: #fff; }
.cnm-carousel__nav button:disabled { cursor: default; opacity: .3; }
@media (hover: none) { .cnm-carousel__nav { display: none; } }

/* ---- Section head (shared) ---- */
.cnm-s-head { align-items: flex-end; display: flex; gap: 20px; justify-content: space-between; margin-bottom: clamp(28px, 4vw, 50px); }
.cnm-s-head h2 { font-size: clamp(30px, 4vw, 54px); font-weight: 300; letter-spacing: -.04em; line-height: 1; }

/* ---- Featured products ---- */
.cnm-s-drop { background: #fff; padding: clamp(56px, 7vw, 108px) 0; }
.cnm-s-drop__grid { display: grid; gap: clamp(14px, 1.6vw, 26px); grid-template-columns: repeat(4, 1fr); }
.cnm-saas .cnm-product-card { min-width: 0; }
.cnm-saas .cnm-product-card__image { aspect-ratio: 1; background: var(--cnm-paper); border: 1px solid var(--cnm-line); border-radius: 8px; display: block; isolation: isolate; overflow: hidden; position: relative; }
.cnm-saas .cnm-product-card__image img { display: block; height: 100%; mix-blend-mode: multiply; object-fit: contain; padding: 9%; width: 100%; }
.cnm-saas .cnm-product-card__meta { align-items: flex-start; border: 0; display: flex; gap: 10px; justify-content: space-between; min-height: 0; padding: 14px 2px 0; }
.cnm-saas .cnm-product-card__meta h3 { font-size: 14px; font-weight: 500; letter-spacing: -.01em; line-height: 1.3; margin: 0; max-width: none; }
.cnm-saas .cnm-product-card__meta h3 a { color: var(--cnm-ink); }
.cnm-saas .cnm-product-card__meta h3 a:hover { color: var(--cnm-red); }
.cnm-saas .cnm-price { color: var(--cnm-red); font-size: 14px; font-weight: 700; padding: 0; white-space: nowrap; }

/* ---- Craft / process ---- */
.cnm-s-craft { background: #fff; padding: clamp(52px, 8vw, 116px) 0; }
.cnm-s-craft__grid { align-items: center; display: grid; gap: clamp(30px, 5vw, 78px); grid-template-columns: 1fr 1fr; }
.cnm-s-craft__media { border-radius: 10px; margin: 0; overflow: hidden; background: #0b0b0b; }
.cnm-s-craft__media img { display: block; height: 100%; object-fit: cover; width: 100%; }
.cnm-s-craft__copy h2 { font-size: clamp(32px, 4.4vw, 64px); font-weight: 300; letter-spacing: -.04em; line-height: .98; margin: 12px 0 18px; }
.cnm-s-craft__lede { color: var(--cnm-ink-soft); font-size: 16px; line-height: 1.65; margin: 0 0 26px; max-width: 460px; }
.cnm-s-craft__points { display: grid; list-style: none; margin: 0; padding: 0; }
.cnm-s-craft__points li { border-top: 1px solid var(--cnm-line); display: grid; gap: 4px; padding: 17px 0; }
.cnm-s-craft__points li:last-child { border-bottom: 1px solid var(--cnm-line); }
.cnm-s-craft__points strong { color: var(--cnm-ink); font-size: 15px; font-weight: 600; }
.cnm-s-craft__points span { color: var(--cnm-muted); font-size: 14px; line-height: 1.5; }

/* ---- Testimonial / social proof ---- */
.cnm-s-quote { background: var(--cnm-paper); padding: clamp(60px, 8vw, 124px) 0; }
.cnm-s-quote__inner { margin: 0 auto; max-width: 1000px; text-align: center; }
.cnm-s-quote blockquote { background: none; border: 0; color: var(--cnm-ink); font-size: clamp(26px, 3.4vw, 50px); font-style: normal; font-weight: 300; letter-spacing: -.03em; line-height: 1.16; margin: 14px auto 18px; max-width: 880px; padding: 0; quotes: none; }
.cnm-s-quote blockquote::before, .cnm-s-quote blockquote::after { content: none; }
.cnm-s-quote__by { color: var(--cnm-muted); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
.cnm-s-quote__stats { border-top: 1px solid var(--cnm-line); display: grid; gap: 24px; grid-template-columns: repeat(3, 1fr); margin-top: clamp(38px, 5vw, 64px); padding-top: 34px; }
.cnm-s-quote__stats strong { color: var(--cnm-ink); display: block; font-size: clamp(18px, 2vw, 24px); font-weight: 600; letter-spacing: -.02em; }
.cnm-s-quote__stats span { color: var(--cnm-muted); font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }

/* ---- CTA + newsletter ---- */
.cnm-s-cta { background: var(--cnm-red); color: #fff; padding: clamp(52px, 7vw, 100px) 0; }
.cnm-s-cta__inner { align-items: center; display: grid; gap: 32px; grid-template-columns: 1.1fr 1fr; }
.cnm-s-cta__copy h2 { color: #fff; font-size: clamp(32px, 4.2vw, 60px); font-weight: 300; letter-spacing: -.04em; line-height: 1; margin: 0 0 14px; }
.cnm-s-cta__copy p { color: rgba(255,255,255,.86); font-size: 16px; line-height: 1.55; margin: 0; max-width: 420px; }
.cnm-s-cta__actions { display: flex; flex-direction: column; gap: 18px; align-items: flex-start; }
.cnm-s-cta .cnm-btn--light { background: #fff; color: var(--cnm-ink); }
.cnm-s-cta .cnm-btn--light:hover { background: var(--cnm-ink); color: #fff; }
.cnm-s-cta__news { display: flex; max-width: 420px; width: 100%; }
.cnm-s-cta__news input { background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.5); border-right: 0; color: #fff; flex: 1; font-size: 14px; height: 50px; min-width: 0; padding: 0 16px; }
.cnm-s-cta__news input::placeholder { color: rgba(255,255,255,.7); }
.cnm-s-cta__news button { background: var(--cnm-ink); border: 0; color: #fff; cursor: pointer; font-size: 11px; font-weight: 700; height: 50px; letter-spacing: .12em; padding: 0 22px; text-transform: uppercase; }
.cnm-s-cta__news button:hover { background: #fff; color: var(--cnm-ink); }

/* ---- Footer: light + giant wordmark ---- */
.cnm-site-footer { background: var(--cnm-paper); border-top: 1px solid var(--cnm-line); color: var(--cnm-ink-soft); overflow: hidden; }
.cnm-site-footer__tag { color: var(--cnm-muted); }
.cnm-site-footer .cnm-brand { background: transparent; padding: 0; }
.cnm-site-footer .cnm-brand:hover { box-shadow: none; transform: none; }
.cnm-social a { border-color: var(--cnm-line); color: var(--cnm-ink-soft); }
.cnm-social a:hover { background: var(--cnm-red); border-color: var(--cnm-red); color: #fff; }
.cnm-fcol h4 { color: var(--cnm-ink); }
.cnm-fcol a { color: var(--cnm-muted); }
.cnm-fcol a:hover { color: var(--cnm-red); }
.cnm-fcol--news p { color: var(--cnm-muted); }
.cnm-news input { background: #fff; border-color: var(--cnm-line); color: var(--cnm-ink); }
.cnm-news input::placeholder { color: var(--cnm-muted); }
.cnm-news button { background: var(--cnm-red); color: #fff; }
.cnm-news button:hover { background: var(--cnm-ink); color: #fff; }
.cnm-news__cta { border-bottom-color: var(--cnm-red); color: var(--cnm-ink); }
.cnm-news__cta:hover { color: var(--cnm-red); }
.cnm-site-footer__wordmark { display: block; line-height: .8; padding: clamp(18px, 3vw, 44px) 0 clamp(4px, 1vw, 12px); text-align: center; }
.cnm-site-footer__wordmark span { color: var(--cnm-ink); display: block; font-size: clamp(56px, 14vw, 210px); font-weight: 800; letter-spacing: -.05em; white-space: nowrap; }
.cnm-site-footer__wordmark:hover span { color: var(--cnm-red); }
.cnm-site-footer__legal { border-top-color: var(--cnm-line); color: var(--cnm-muted); }
.cnm-site-footer__legal-links a { color: var(--cnm-muted); }
.cnm-site-footer__legal-links a:hover { color: var(--cnm-red); }

/* ---- Inner pages: lift the dark page-title / product gallery into the light ---- */
body.cnm-inner-page .page-title { background: transparent !important; border-bottom: 1px solid var(--cnm-line) !important; }
body.cnm-inner-page .page-title .title,
body.cnm-inner-page .page-title h1 { color: var(--cnm-ink) !important; }
body.cnm-inner-page .page-title .breadcrumbs,
body.cnm-inner-page .page-title .breadcrumbs a { color: var(--cnm-muted) !important; }
body.cnm-inner-page.single-product .woocommerce-product-gallery__wrapper,
body.cnm-inner-page.single-product .woocommerce-product-gallery__image,
body.cnm-inner-page.single-product .product-image-wrap { background: var(--cnm-paper) !important; }
body.cnm-inner-page.single-product .woocommerce-product-gallery__image img { mix-blend-mode: multiply !important; }

/* ---- Responsive ---- */
@media (max-width: 991px) {
	.cnm-s-craft__grid { grid-template-columns: 1fr; }
	.cnm-s-craft__media { order: -1; }
	.cnm-s-drop__grid { grid-template-columns: repeat(2, 1fr); }
	.cnm-s-cta__inner { grid-template-columns: 1fr; }
}
@media (min-width: 768px) {
	.cnm-s-hero__copy h1 span { white-space: nowrap; }
}
@media (max-width: 560px) {
	.cnm-s-hero, .cnm-s-hero__stage { min-height: max(720px, 100svh); }
	.cnm-s-hero__stage { padding-bottom: 24px; padding-top: calc(var(--cnm-header-h) + 70px); }
	.cnm-s-hero__copy, .cnm-s-hero__footer { min-width: 0; width: 100%; }
	.cnm-s-hero__copy h1 { font-size: clamp(52px, 17vw, 78px); }
	.cnm-s-hero .cnm-lede { max-width: 100%; }
	.cnm-s-hero .cnm-actions { align-items: stretch; flex-direction: column; max-width: 260px; }
	.cnm-s-hero .cnm-btn { width: 100%; }
	.cnm-s-hero__media { inset: -2%; }
	.cnm-s-hero__poster, .cnm-s-hero__video { object-position: 58% center; }
	.cnm-s-hero__veil { background: linear-gradient(90deg, rgba(2,2,2,.8), rgba(2,2,2,.24)), linear-gradient(0deg, rgba(2,2,2,.88) 0%, rgba(2,2,2,.26) 70%); }
	.cnm-s-hero__footer { align-items: flex-start; flex-direction: column; gap: 18px; margin-top: 42px; padding-top: 16px; }
	.cnm-s-hero__trust { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; }
	.cnm-s-hero__trust span { display: block; font-size: 8px; line-height: 1.35; max-width: 82px; }
	.cnm-s-hero__reel { display: none; }
	.cnm-s-quote__stats { grid-template-columns: 1fr; }
	.cnm-s-head { align-items: flex-start; flex-direction: column; }
}

/* ============================================================================
   CANOMOD 3D CONFIGURATOR  —  [canomod_3d]
   ========================================================================== */
.cnm-s-3d { background: var(--cnm-paper); padding: clamp(56px, 7vw, 108px) 0; }
.cnm-s-3d .cnm3d__viewer { background: radial-gradient(120% 120% at 50% 12%, #ffffff 0%, #f1eee7 58%, #e7e3db 100%); }
.cnm3d { display: grid; gap: clamp(20px, 3vw, 44px); grid-template-columns: 1.35fr .9fr; align-items: stretch; margin: 0 auto; max-width: 1280px; }
.cnm3d__viewer { background: radial-gradient(120% 120% at 50% 15%, #ffffff 0%, #efece5 60%, #e6e2da 100%); border: 1px solid var(--cnm-line); border-radius: 14px; min-height: clamp(360px, 52vh, 620px); overflow: hidden; position: relative; }
.cnm3d__stage { inset: 0; position: absolute; touch-action: none; }
.cnm3d__stage canvas { display: block; width: 100% !important; height: 100% !important; outline: none; }
.cnm3d__hint { bottom: 14px; color: var(--cnm-muted); display: flex; gap: 16px; font-size: 10px; left: 16px; letter-spacing: .1em; opacity: 0; pointer-events: none; position: absolute; text-transform: uppercase; transition: opacity .4s ease; }
.cnm3d.is-ready .cnm3d__hint { opacity: 1; }
.cnm3d__hint span::before { content: ""; }
.cnm3d__tools { display: flex; gap: 8px; position: absolute; right: 14px; top: 14px; z-index: 2; }
.cnm3d__tool { background: rgba(255,255,255,.85); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); border: 1px solid var(--cnm-line); color: var(--cnm-ink); cursor: pointer; font-size: 9px; font-weight: 700; letter-spacing: .1em; padding: 8px 12px; text-transform: uppercase; transition: background .2s ease, color .2s ease; }
.cnm3d__tool:hover { background: var(--cnm-ink); color: #fff; }
.cnm3d__tool.is-off { opacity: .55; }
/* Loader */
.cnm3d__loader { inset: 0; align-items: center; display: flex; justify-content: center; position: absolute; transition: opacity .4s ease; }
.cnm3d.is-ready .cnm3d__loader, .cnm3d.is-error .cnm3d__loader, .cnm3d.is-unsupported .cnm3d__loader { opacity: 0; pointer-events: none; }
.cnm3d__loader span { animation: cnm3d-spin 0.9s linear infinite; border: 2px solid rgba(22,19,15,.15); border-top-color: var(--cnm-red); border-radius: 50%; height: 34px; width: 34px; }
@keyframes cnm3d-spin { to { transform: rotate(360deg); } }
/* Fallback */
.cnm3d__fallback { display: none; inset: 0; align-items: center; flex-direction: column; gap: 16px; justify-content: center; padding: 24px; position: absolute; text-align: center; }
.cnm3d.is-error .cnm3d__fallback, .cnm3d.is-unsupported .cnm3d__fallback { display: flex; }
.cnm3d.is-error .cnm3d__stage, .cnm3d.is-unsupported .cnm3d__stage { display: none; }
.cnm3d__fallback p { color: var(--cnm-ink-soft); font-size: 15px; margin: 0; }

/* Panel */
.cnm3d__panel { display: flex; flex-direction: column; justify-content: center; padding: clamp(6px, 1vw, 18px) 0; }
.cnm3d__title { font-size: clamp(26px, 2.8vw, 40px); font-weight: 300; letter-spacing: -.03em; line-height: 1.02; margin: 8px 0 14px; }
.cnm3d__desc { color: var(--cnm-ink-soft); font-size: 15px; line-height: 1.6; margin: 0 0 24px; max-width: 420px; }
.cnm3d__swatches { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 26px; }
.cnm3d__swatch { align-items: center; background: #fff; border: 1px solid var(--cnm-line); color: var(--cnm-ink); cursor: pointer; display: inline-flex; gap: 9px; font-size: 11px; font-weight: 700; letter-spacing: .08em; padding: 9px 14px 9px 10px; text-transform: uppercase; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.cnm3d__swatch:hover { transform: translateY(-2px); }
.cnm3d__swatch.is-active { border-color: var(--cnm-ink); box-shadow: 0 0 0 1px var(--cnm-ink); }
.cnm3d__dot { background: var(--sw, #ccc); border: 1px solid rgba(0,0,0,.15); border-radius: 50%; height: 18px; width: 18px; }
.cnm3d__info { border-top: 1px solid var(--cnm-line); padding-top: 22px; }
.cnm3d__info-row { align-items: baseline; display: flex; gap: 12px; justify-content: space-between; margin-bottom: 16px; }
.cnm3d__name { color: var(--cnm-ink); font-size: 16px; font-weight: 500; letter-spacing: -.01em; }
.cnm3d__price { color: var(--cnm-red); font-size: 16px; font-weight: 700; white-space: nowrap; }
.cnm3d__price .amount, .cnm3d__price bdi { color: var(--cnm-red); }
.cnm3d__cta { width: 100%; }

@media (max-width: 900px) {
	.cnm3d { grid-template-columns: 1fr; }
	.cnm3d__viewer { min-height: 56vh; }
}
@media (prefers-reduced-motion: reduce) {
	.cnm3d__loader span { animation-duration: 2s; }
	.cnm-s-hero__grain, .cnm-s-hero__reel span { animation: none; }
	.cnm-s-hero__video { display: none; }
}

/* ---- 3D backdrop gradient styles (red / blue / white) applied to the form ---- */
.cnm3d__viewer { transition: background .5s ease; }
.cnm3d__viewer[data-bg="white"],
.cnm-s-3d .cnm3d__viewer[data-bg="white"] { background: radial-gradient( 125% 125% at 50% 10%, #ffffff 0%, #f1eee7 55%, #e4e0d8 100% ); }
.cnm3d__viewer[data-bg="red"],
.cnm-s-3d .cnm3d__viewer[data-bg="red"] { background: radial-gradient( 130% 130% at 50% 6%, #ff7063 0%, #e23a2c 42%, #7d160f 100% ); }
.cnm3d__viewer[data-bg="blue"],
.cnm-s-3d .cnm3d__viewer[data-bg="blue"] { background: radial-gradient( 130% 130% at 50% 6%, #74baff 0%, #2565d8 44%, #0f2d78 100% ); }
/* keep controls readable on the dark colour backdrops */
.cnm3d__viewer[data-bg="red"] .cnm3d__hint,
.cnm3d__viewer[data-bg="blue"] .cnm3d__hint { color: rgba(255,255,255,.85); }

.cnm3d__backdrops { align-items: center; bottom: 14px; display: flex; gap: 8px; position: absolute; right: 14px; z-index: 2; }
.cnm3d__bg { -webkit-appearance: none; appearance: none; align-self: center; border: 2px solid rgba(255,255,255,.9); border-radius: 50%; box-shadow: 0 2px 8px rgba(0,0,0,.25); box-sizing: border-box; cursor: pointer; flex: 0 0 24px; height: 24px !important; min-height: 0 !important; padding: 0; transition: transform .2s ease, box-shadow .2s ease; width: 24px !important; }
.cnm3d__bg:hover { transform: translateY(-2px); }
.cnm3d__bg.is-active { box-shadow: 0 0 0 2px var(--cnm-ink), 0 2px 8px rgba(0,0,0,.25); }
.cnm3d__bg--red { background: radial-gradient( circle at 35% 30%, #ff7063, #b91c1c ); }
.cnm3d__bg--blue { background: radial-gradient( circle at 35% 30%, #74baff, #1e40af ); }
.cnm3d__bg--white { background: radial-gradient( circle at 35% 30%, #ffffff, #d8d4cc ); border-color: rgba(0,0,0,.12); }

/* ---- 3D configurator placed on the Compare page ----
   Span the full content column so its edges line up with the compare heading
   and the Woodmart compare table below (no 1280px centering inset). */
body.page-id-19 article.entry-content > .cnm3d { margin: 0 0 clamp(40px,5vw,66px); max-width: none; width: 100%; }
body.page-id-19 .cnm-compare-heading { border-top: 1px solid var(--cnm-line); color: var(--cnm-ink); font-size: clamp(26px,3.2vw,44px); font-weight: 300; letter-spacing: -.04em; margin: 0 0 clamp(24px,3.5vw,44px); padding-top: clamp(34px,4.5vw,56px); text-wrap: balance; }
/* Neutralise Woodmart's negative-gap so the compare table sits on the same edges. */
body.page-id-19 .elementor-19 .elementor-container { margin-left: auto !important; margin-right: auto !important; }
