/*
 * NTS Web Redesign — Claude Design direction v2
 * Scope: child-theme visual layer, design tokens, and component library.
 * Version: 20260623-2
 */

/* ============================================================
   Design Tokens (approved: 13_claude-design-website-ui-review)
   ============================================================ */
:root {
	--nts-blue: #1e3470;
	--nts-blue-900: #14264c;
	--nts-blue-deep: #14264c;    /* compat alias */
	--nts-gold: #cfba8d;
	--nts-gold-ink: #a8884e;
	--nts-cream: #f6f0e3;
	--nts-grey: #f1f3f6;
	--nts-ink: #232a33;
	--nts-ok: #1c7a4a;
	--nts-muted: #667085;
	--nts-line: #e7e2d8;
	--nts-soft: #f6f8fb;
	--nts-radius: 10px;
	--nts-container: 1240px;
	--nts-shadow: 0 18px 45px rgba(19, 36, 79, .12);
}

/* ============================================================
   Base
   ============================================================ */
body {
	color: var(--nts-ink);
	background: #fff;
}

/* ============================================================
   Header
   ============================================================ */
#masthead {
	box-shadow: 0 8px 28px rgba(19, 36, 79, .08);
}

#masthead .header-nav-main > li > a {
	color: var(--nts-blue-900);
	font-weight: 700;
	letter-spacing: 0;
}

#masthead .nav-line-grow > li > a:before,
#masthead .nav-line-bottom > li > a:before,
#masthead .nav-line > li > a:before {
	border-color: var(--nts-gold);
}

/* ============================================================
   Utility: Eyebrow
   ============================================================ */
.nts-eyebrow {
	margin: 0 0 10px;
	color: var(--nts-gold-ink);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

/* ============================================================
   Utility: Buttons
   ============================================================ */
.nts-button,
.button.nts-button {
	border-radius: 6px;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: none;
}

.nts-button--outline {
	border: 2px solid rgba(255, 255, 255, .68) !important;
	color: #fff !important;
	background: transparent !important;
}

/* ============================================================
   Homepage Hero
   ============================================================ */
.nts-home-hero {
	position: relative;
	overflow: hidden;
	background:
		linear-gradient(135deg, rgba(19, 36, 79, .96), rgba(30, 52, 112, .9)),
		radial-gradient(circle at 72% 22%, rgba(207, 186, 141, .28), transparent 30%);
	color: #fff;
}

.nts-home-hero:before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(90deg, rgba(255, 255, 255, .07) 1px, transparent 1px),
		linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px);
	background-size: 42px 42px;
	mask-image: linear-gradient(90deg, rgba(0, 0, 0, .6), transparent 82%);
	pointer-events: none;
}

.nts-home-hero__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(280px, .58fr);
	gap: 36px;
	align-items: end;
	max-width: var(--nts-container);
	margin: 0 auto;
	padding: 76px 20px 54px;
}

.nts-home-hero h1 {
	max-width: 760px;
	margin: 0 0 18px;
	color: #fff;
	font-size: 46px;
	line-height: 1.12;
	letter-spacing: 0;
	text-transform: none;
}

.nts-home-hero__lead {
	max-width: 720px;
	margin: 0 0 28px;
	color: rgba(255, 255, 255, .86);
	font-size: 18px;
	line-height: 1.7;
}

.nts-home-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.nts-home-hero__panel {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	padding: 18px;
	border: 1px solid rgba(255, 255, 255, .2);
	border-radius: var(--nts-radius);
	background: rgba(255, 255, 255, .1);
	backdrop-filter: blur(10px);
}

.nts-home-hero__panel span {
	display: flex;
	min-height: 64px;
	align-items: center;
	justify-content: center;
	padding: 12px;
	border: 1px solid rgba(207, 186, 141, .42);
	border-radius: 6px;
	color: #fff;
	font-weight: 800;
	text-align: center;
}

/* ============================================================
   Trust Strip
   ============================================================ */
.nts-trust-strip {
	background: #fff;
	border-bottom: 1px solid var(--nts-line);
}

.nts-trust-strip__inner {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1px;
	max-width: var(--nts-container);
	margin: 0 auto;
	padding: 18px 20px;
}

.nts-trust-strip__inner div {
	padding: 14px 18px;
	border-left: 3px solid var(--nts-gold);
	background: var(--nts-soft);
	border-radius: 6px;
}

.nts-trust-strip strong,
.nts-trust-strip span {
	display: block;
}

.nts-trust-strip strong {
	color: var(--nts-blue);
	font-size: 15px;
}

.nts-trust-strip span {
	margin-top: 4px;
	color: var(--nts-muted);
	font-size: 13px;
	line-height: 1.45;
}

/* ============================================================
   Category Cards
   ============================================================ */
.nts-category-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	max-width: var(--nts-container);
	margin: 0 auto 40px;
	padding: 0 20px;
}

.nts-category-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	min-height: 180px;
	padding: 20px;
	border-radius: var(--nts-radius);
	background: var(--nts-blue);
	color: #fff;
	text-decoration: none !important;
	overflow: hidden;
	transition: transform .2s ease, box-shadow .2s ease;
}

.nts-category-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 18px 40px rgba(19, 36, 79, .22);
	color: #fff;
}

.nts-category-card:before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, var(--nts-blue-900), transparent 70%);
	opacity: .7;
}

.nts-category-card__label {
	position: relative;
	z-index: 1;
	font-size: 17px;
	font-weight: 800;
	line-height: 1.3;
}

.nts-category-card__sub {
	position: relative;
	z-index: 1;
	margin-top: 6px;
	color: var(--nts-gold);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

/* ============================================================
   Product Line Chips
   ============================================================ */
.nts-line-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 28px;
	padding: 0 20px;
}

.nts-line-chip {
	display: inline-flex;
	align-items: center;
	height: 32px;
	padding: 0 14px;
	border: 1.5px solid var(--nts-gold);
	border-radius: 999px;
	color: var(--nts-blue-900);
	background: #fff;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .04em;
	text-decoration: none !important;
	white-space: nowrap;
	transition: background .18s, color .18s;
}

.nts-line-chip:hover,
.nts-line-chip.is-active {
	background: var(--nts-blue);
	border-color: var(--nts-blue);
	color: #fff;
}

/* ============================================================
   Product Archive Intro
   ============================================================ */
.nts-archive-intro {
	margin: 0 0 28px;
	padding: 28px;
	border: 1px solid var(--nts-line);
	border-radius: var(--nts-radius);
	background:
		linear-gradient(135deg, #fff, var(--nts-cream)),
		linear-gradient(90deg, rgba(30, 52, 112, .07), transparent);
	box-shadow: var(--nts-shadow);
}

.nts-archive-intro h2 {
	max-width: 820px;
	margin: 0 0 10px;
	color: var(--nts-blue);
	font-size: 28px;
	line-height: 1.25;
	letter-spacing: 0;
	text-transform: none;
}

.nts-archive-intro p:last-child {
	max-width: 880px;
	margin: 0;
	color: var(--nts-muted);
	font-size: 15px;
	line-height: 1.75;
}

/* ============================================================
   Product Cards
   ============================================================ */
.product-small.col .col-inner {
	height: 100%;
	border: 1px solid rgba(30, 52, 112, .1);
	border-radius: var(--nts-radius);
	background: #fff;
	box-shadow: 0 12px 32px rgba(19, 36, 79, .08);
	transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.product-small.col .col-inner:hover {
	transform: translateY(-3px);
	border-color: rgba(207, 186, 141, .85);
	box-shadow: 0 18px 42px rgba(19, 36, 79, .14);
}

.product-small.col .box-image {
	border-radius: var(--nts-radius) var(--nts-radius) 0 0;
	overflow: hidden;
	background: var(--nts-grey);
}

.product-small.col .box-text-products {
	padding: 18px !important;
	border-top: 1px solid rgba(30, 52, 112, .08);
}

.product-small.col .box-text-products .name.product-title a {
	color: var(--nts-blue-900);
	font-weight: 800;
	line-height: 1.45;
	-webkit-line-clamp: 2;
	min-height: 44px;
}

/* ============================================================
   Price
   ============================================================ */
.price-wrapper > span > span.amount,
.price-wrapper ins span,
.single.single-product .product-info .product-page-price span.amount {
	color: var(--nts-blue);
	font-weight: 900;
}

/* ============================================================
   Product Benefit Badges
   ============================================================ */
.nts-card-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 10px 0 2px;
}

.nts-card-badges span {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	padding: 3px 8px;
	border: 1px solid rgba(207, 186, 141, .55);
	border-radius: 999px;
	color: var(--nts-blue);
	background: rgba(207, 186, 141, .13);
	font-size: 11px;
	font-weight: 800;
	line-height: 1.2;
}

.nts-badge-ok {
	border-color: rgba(28, 122, 74, .35) !important;
	color: var(--nts-ok) !important;
	background: rgba(28, 122, 74, .08) !important;
}

/* ============================================================
   Product Detail Page
   ============================================================ */
.single.single-product .shop-container {
	padding-top: 42px;
}

.single.single-product .product-info {
	padding: 26px 28px 30px;
	border: 1px solid var(--nts-line);
	border-radius: var(--nts-radius);
	background: linear-gradient(180deg, #fff, #fbfaf7);
	box-shadow: var(--nts-shadow);
}

.single.single-product .product-info .product-title {
	color: var(--nts-blue);
	font-size: 30px;
	line-height: 1.25;
	letter-spacing: 0;
}

.single.single-product .woocommerce-product-gallery,
.single.single-product .product-thumbnails a {
	border-color: rgba(30, 52, 112, .12);
	border-radius: var(--nts-radius);
}

/* ============================================================
   Specification Table
   ============================================================ */
.nts-spec-table {
	width: 100%;
	border-collapse: collapse;
	margin: 18px 0 0;
	font-size: 14px;
}

.nts-spec-table tr {
	border-bottom: 1px solid var(--nts-line);
}

.nts-spec-table tr:last-child {
	border-bottom: none;
}

.nts-spec-table th,
.nts-spec-table td {
	padding: 10px 14px;
	text-align: left;
	vertical-align: top;
}

.nts-spec-table th {
	width: 38%;
	color: var(--nts-muted);
	font-weight: 700;
	background: var(--nts-grey);
}

.nts-spec-table td {
	color: var(--nts-ink);
	font-weight: 500;
}

/* ============================================================
   Product Advisor Panel
   ============================================================ */
.nts-product-advisor {
	margin-top: 22px;
	padding: 20px;
	border: 1px solid rgba(207, 186, 141, .55);
	border-radius: var(--nts-radius);
	background:
		linear-gradient(135deg, rgba(246, 240, 227, .94), #fff),
		linear-gradient(90deg, rgba(30, 52, 112, .08), transparent);
}

.nts-product-advisor h3 {
	margin: 0 0 12px;
	color: var(--nts-blue);
	font-size: 20px;
	line-height: 1.35;
	letter-spacing: 0;
	text-transform: none;
}

.nts-product-advisor ul {
	margin: 0 0 16px 18px;
	color: var(--nts-muted);
}

.nts-product-advisor li {
	margin-bottom: 7px;
	line-height: 1.55;
}

/* ============================================================
   CTA Form Block
   ============================================================ */
.nts-cta-block {
	padding: 48px 40px;
	border-radius: var(--nts-radius);
	background: linear-gradient(135deg, var(--nts-blue-900), var(--nts-blue));
	color: #fff;
	text-align: center;
}

.nts-cta-block h2 {
	margin: 0 0 12px;
	color: #fff;
	font-size: 32px;
	line-height: 1.25;
	letter-spacing: 0;
	text-transform: none;
}

.nts-cta-block p {
	margin: 0 0 24px;
	color: rgba(255, 255, 255, .82);
	font-size: 16px;
	line-height: 1.7;
}

.nts-cta-block .wpcf7 input[type="text"],
.nts-cta-block .wpcf7 input[type="tel"],
.nts-cta-block .wpcf7 input[type="email"],
.nts-cta-block .wpcf7 textarea {
	width: 100%;
	padding: 12px 16px;
	border: 1px solid rgba(255, 255, 255, .35);
	border-radius: 6px;
	background: rgba(255, 255, 255, .12);
	color: #fff;
	font-size: 15px;
	box-sizing: border-box;
}

.nts-cta-block .wpcf7 input[type="text"]::placeholder,
.nts-cta-block .wpcf7 input[type="tel"]::placeholder,
.nts-cta-block .wpcf7 input[type="email"]::placeholder,
.nts-cta-block .wpcf7 textarea::placeholder {
	color: rgba(255, 255, 255, .6);
}

.nts-cta-block .wpcf7 input[type="submit"] {
	margin-top: 10px;
	padding: 14px 32px;
	border: none;
	border-radius: 6px;
	background: var(--nts-gold);
	color: var(--nts-blue-900);
	font-size: 15px;
	font-weight: 800;
	cursor: pointer;
	transition: opacity .18s;
}

.nts-cta-block .wpcf7 input[type="submit"]:hover {
	opacity: .88;
}

/* ============================================================
   B2B / Dealer CTA Strip
   ============================================================ */
.nts-b2b-strip {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 32px 40px;
	border: 2px solid var(--nts-gold);
	border-radius: var(--nts-radius);
	background: var(--nts-cream);
}

.nts-b2b-strip h3 {
	margin: 0 0 6px;
	color: var(--nts-blue-900);
	font-size: 22px;
	letter-spacing: 0;
}

.nts-b2b-strip p {
	margin: 0;
	color: var(--nts-muted);
	font-size: 14px;
}

/* ============================================================
   Factory / Trust Band
   ============================================================ */
.nts-factory-band {
	padding: 48px 20px;
	background: var(--nts-blue-900);
	color: #fff;
	text-align: center;
}

.nts-factory-band h2 {
	margin: 0 0 10px;
	color: #fff;
	font-size: 28px;
	letter-spacing: 0;
	text-transform: none;
}

.nts-factory-band p {
	max-width: 640px;
	margin: 0 auto 28px;
	color: rgba(255, 255, 255, .78);
	font-size: 15px;
	line-height: 1.7;
}

.nts-factory-band__stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	max-width: 720px;
	margin: 0 auto;
}

.nts-factory-band__stat {
	padding: 22px 20px;
	border: 1px solid rgba(207, 186, 141, .35);
	border-radius: var(--nts-radius);
	background: rgba(255, 255, 255, .06);
}

.nts-factory-band__stat strong {
	display: block;
	margin-bottom: 6px;
	color: var(--nts-gold);
	font-size: 28px;
	font-weight: 900;
}

.nts-factory-band__stat span {
	color: rgba(255, 255, 255, .78);
	font-size: 13px;
}

/* ============================================================
   Product Tabs / Related / Section Titles
   ============================================================ */
.product-footer .product-tabs > li > a,
.single.single-product .product-footer .related .product-section-title,
.mh-title-section .mh-title {
	color: var(--nts-blue);
	letter-spacing: 0;
}

/* ============================================================
   Footer
   ============================================================ */
.footer-wrapper,
.absolute-footer {
	background: var(--nts-blue-900);
}

/* ============================================================
   Mobile Sticky Purchase Action (product page only)
   ============================================================ */
.nts-mobile-sticky-buy {
	display: none;
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 9999;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 16px;
	background: #fff;
	border-top: 1px solid var(--nts-line);
	box-shadow: 0 -4px 20px rgba(19, 36, 79, .12);
}

.nts-mobile-sticky-buy__price {
	color: var(--nts-blue);
	font-size: 18px;
	font-weight: 900;
	flex-shrink: 0;
}

.nts-mobile-sticky-buy__btn {
	flex: 1;
	max-width: 220px;
	padding: 13px 20px;
	border: none;
	border-radius: 6px;
	background: var(--nts-blue);
	color: #fff;
	font-size: 15px;
	font-weight: 800;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: opacity .18s;
}

.nts-mobile-sticky-buy__btn:hover {
	opacity: .88;
	color: #fff;
}

/* ============================================================
   Responsive
   ============================================================ */
@media only screen and (max-width: 1024px) {
	.nts-category-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.nts-b2b-strip {
		flex-direction: column;
		text-align: center;
	}

	.nts-factory-band__stats {
		grid-template-columns: 1fr 1fr;
	}
}

@media only screen and (max-width: 860px) {
	.nts-home-hero__inner,
	.nts-trust-strip__inner {
		grid-template-columns: 1fr;
	}

	.nts-home-hero__inner {
		padding: 52px 18px 38px;
	}

	.nts-home-hero h1 {
		font-size: 34px;
	}

	.nts-home-hero__lead {
		font-size: 16px;
	}

	.nts-home-hero__panel {
		grid-template-columns: 1fr 1fr;
	}

	.woocommerce.archive .category-page-row {
		padding-top: 30px;
	}

	.nts-archive-intro {
		padding: 22px;
	}

	.nts-archive-intro h2 {
		font-size: 24px;
	}

	.nts-cta-block {
		padding: 32px 24px;
	}

	.nts-cta-block h2 {
		font-size: 26px;
	}
}

@media only screen and (max-width: 768px) {
	.nts-category-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}

	.nts-factory-band__stats {
		grid-template-columns: 1fr;
	}

	.single.single-product .product-info {
		padding: 20px;
	}

	.nts-mobile-sticky-buy {
		display: flex;
	}
}

@media only screen and (max-width: 425px) {
	.nts-home-hero h1 {
		font-size: 29px;
	}

	.nts-home-hero__panel {
		grid-template-columns: 1fr;
	}

	.nts-home-hero__actions .button {
		width: 100%;
		margin-right: 0;
	}

	.nts-category-grid {
		grid-template-columns: 1fr 1fr;
		gap: 8px;
		padding: 0 12px;
	}

	.nts-category-card {
		min-height: 140px;
		padding: 14px;
	}

	.nts-category-card__label {
		font-size: 14px;
	}

	.nts-b2b-strip {
		padding: 22px 18px;
	}
}

/* ============================================================
   NTS Sprint 2 additions — version 20260623-sprint2
   ============================================================ */

/* ============================================================
   Homepage section wrappers
   ============================================================ */
.nts-section-wrap {
	max-width: var(--nts-container);
	margin: 0 auto;
	padding: 40px 20px;
}

.nts-featured-section {
	padding-bottom: 48px;
}

.nts-section-header {
	margin-bottom: 20px;
}

.nts-section-header h2 {
	margin: 0;
	color: var(--nts-blue);
	font-size: 26px;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: none;
}

/* ============================================================
   Product line chips — label
   ============================================================ */
.nts-chips-wrap {
	max-width: var(--nts-container);
	margin: 0 auto;
	padding: 0 20px 24px;
}

.nts-chips-label {
	display: inline-flex;
	align-items: center;
	height: 32px;
	margin-right: 6px;
	color: var(--nts-muted);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	flex-shrink: 0;
}

/* ============================================================
   Specification table wrapper
   ============================================================ */
.nts-spec-table-wrap {
	margin-top: 22px;
}

.nts-spec-title {
	margin: 0 0 10px;
	color: var(--nts-blue);
	font-size: 16px;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: none;
}

/* ============================================================
   Homepage layout adjustments
   ============================================================ */
.nts-homepage {
	display: block;
}

.nts-homepage .products.columns-4 {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}

/* ============================================================
   Archive — chips context
   ============================================================ */
.nts-chips-wrap.is-archive {
	padding: 0 0 20px;
}

/* ============================================================
   Responsive — Sprint 2
   ============================================================ */
@media only screen and (max-width: 860px) {
	.nts-section-header h2 {
		font-size: 22px;
	}

	.nts-homepage .products.columns-4 {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 12px;
	}
}

@media only screen and (max-width: 640px) {
	.nts-section-wrap {
		padding: 28px 14px;
	}

	.nts-chips-wrap {
		padding: 0 14px 16px;
	}

	.nts-homepage .products.columns-4 {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 10px;
	}
}
/* ============================================================
   NTS Sprint 3 — Design Fidelity
   Version: 20260623-sprint3
   ============================================================ */

/* ============================================================
   1. HEADER — Remove Flatsome legacy uppercase/heavy visual
   ============================================================ */

/* Override Flatsome inline CSS that forces uppercase on nav */
.nav-uppercase > li > a,
#masthead .header-nav-main.nav-uppercase > li > a {
	text-transform: none !important;
	letter-spacing: 0 !important;
}

#masthead .header-nav-main > li > a,
.header-nav-main > li > a {
	font-weight: 600 !important;
	font-size: 14px !important;
	color: var(--nts-blue-900) !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

#masthead .header-nav-main > li > a:hover,
.header-nav-main > li > a:hover {
	color: var(--nts-gold-ink) !important;
}

/* Gold underline on hover/active */
.header-nav-main.nav-line-bottom > li > a:before,
.header-nav-main.nav-line-grow > li > a:before,
.header-nav-main.nav-line > li > a:before {
	background-color: var(--nts-gold) !important;
	height: 2px !important;
}

/* Cart icon — NTS blue */
.header-main .cart-icon strong {
	background: var(--nts-blue) !important;
	border-color: var(--nts-blue) !important;
}

/* Header clean background */
#masthead, .header-main {
	background: #fff !important;
}

/* ============================================================
   2. HOMEPAGE HERO — Warmer, lighter, product-forward
   ============================================================ */

/* Lighten the hero: less dark, warm gold radial on right */
.nts-home-hero {
	background:
		linear-gradient(110deg,
			rgba(20, 38, 76, .90) 0%,
			rgba(30, 52, 112, .78) 48%,
			rgba(20, 38, 76, .68) 100%) !important;
	min-height: 500px;
	display: flex;
	align-items: center;
}

.nts-home-hero:after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 44%;
	height: 100%;
	background: radial-gradient(ellipse at 70% 28%, rgba(207, 186, 141, .14), transparent 58%);
	pointer-events: none;
	z-index: 0;
}

.nts-home-hero__inner {
	padding: 64px 24px 52px;
	align-items: center;
	min-height: 500px;
}

.nts-home-hero h1 {
	font-size: 40px;
	line-height: 1.14;
	font-family: 'Montserrat', sans-serif !important;
}

/* Panel — product category tiles */
.nts-home-hero__panel {
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	padding: 20px;
	background: rgba(255, 255, 255, .07);
	border: 1px solid rgba(207, 186, 141, .30);
	border-radius: 12px;
}

.nts-home-hero__panel span {
	min-height: 58px;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	background: rgba(255, 255, 255, .06);
	border: 1px solid rgba(207, 186, 141, .26);
	padding: 10px 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

/* ============================================================
   3. CATEGORY CARDS — Lighter, premium-cream style
   ============================================================ */

/* All cards: clean reset */
.nts-category-card {
	background: #fff !important;
	border: 1.5px solid var(--nts-line) !important;
	box-shadow: 0 2px 10px rgba(19, 36, 79, .05);
	color: var(--nts-ink) !important;
	min-height: 148px;
	transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

/* Remove dark gradient overlay from ALL cards */
.nts-category-card:before {
	display: none !important;
}

/* Cards WITHOUT image (class: default): white card with gold left accent */
.nts-category-card:not(.nts-category-card--has-img) {
	padding: 22px 20px 18px 24px;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
	gap: 6px;
}

.nts-category-card:not(.nts-category-card--has-img):before {
	display: block !important;
	content: "" !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: auto !important;
	bottom: 0 !important;
	width: 4px !important;
	height: 100% !important;
	background: var(--nts-gold) !important;
	opacity: 1 !important;
	border-radius: var(--nts-radius) 0 0 var(--nts-radius) !important;
}

.nts-category-card:not(.nts-category-card--has-img) .nts-category-card__label {
	color: var(--nts-blue) !important;
	position: static !important;
	z-index: 1;
	font-size: 17px;
}

.nts-category-card:not(.nts-category-card--has-img) .nts-category-card__sub {
	color: var(--nts-muted) !important;
	position: static !important;
	z-index: 1;
	font-size: 12px;
	letter-spacing: .04em;
}

/* Cards WITH image: lighter overlay */
.nts-category-card--has-img {
	color: #fff !important;
}

.nts-category-card--has-img:before {
	display: block !important;
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	background: linear-gradient(145deg, rgba(19, 36, 79, .76), rgba(30, 52, 112, .52)) !important;
	opacity: 1 !important;
	border-radius: var(--nts-radius) !important;
}

.nts-category-card--has-img .nts-category-card__label,
.nts-category-card--has-img .nts-category-card__sub {
	position: relative !important;
	z-index: 1;
	color: #fff !important;
}

.nts-category-card--has-img .nts-category-card__sub {
	color: var(--nts-gold) !important;
}

/* Hover state for all cards */
.nts-category-card:hover {
	transform: translateY(-4px) !important;
	box-shadow: 0 14px 36px rgba(19, 36, 79, .13) !important;
	border-color: var(--nts-gold) !important;
}

/* ============================================================
   4. SECTION RHYTHM
   ============================================================ */

/* Trust strip: softer background */
.nts-trust-strip {
	background: var(--nts-soft);
	border-top: none;
}

.nts-trust-strip__inner div {
	background: #fff;
	box-shadow: 0 1px 5px rgba(19, 36, 79, .05);
	border-radius: 8px;
}

/* Section spacing */
.nts-section-wrap {
	padding-top: 48px;
	padding-bottom: 48px;
}

.nts-section-header h2 {
	font-size: 26px;
	font-family: 'Montserrat', sans-serif !important;
	letter-spacing: -.01em;
	text-transform: none !important;
}

/* Factory band: cleaner stat cards */
.nts-factory-band {
	padding: 54px 24px;
}

.nts-factory-band__stat {
	background: rgba(255, 255, 255, .07);
	border: 1px solid rgba(207, 186, 141, .28);
	padding: 24px 20px;
}

.nts-factory-band__stat strong {
	font-size: 16px;
	line-height: 1.4;
	margin-bottom: 8px;
}

/* B2B strip: border instead of yellow border */
.nts-b2b-strip {
	border: 1.5px solid var(--nts-line) !important;
	background: var(--nts-cream);
}

.nts-b2b-strip h3 {
	font-family: 'Montserrat', sans-serif !important;
	font-size: 20px;
	letter-spacing: -.01em;
}

/* ============================================================
   5. PRODUCT CARD SYSTEM — NTS Design Language
   ============================================================ */

/* Product loop items: clean NTS card */
.woocommerce ul.products li.product,
ul.products li.product {
	border: 1.5px solid var(--nts-line) !important;
	border-radius: var(--nts-radius) !important;
	background: #fff !important;
	overflow: hidden;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
	padding: 0 !important;
	box-shadow: none !important;
}

.woocommerce ul.products li.product:hover,
ul.products li.product:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 32px rgba(19, 36, 79, .12) !important;
	border-color: var(--nts-gold) !important;
}

/* Inner card: no extra box styling */
.woocommerce ul.products li.product .col-inner,
ul.products li.product .col-inner {
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
	border-radius: 0 !important;
}

/* Product image — consistent 4:3 ratio */
.woocommerce ul.products li.product .box-image,
ul.products li.product .box-image {
	margin: 0;
	overflow: hidden;
	border-radius: 0;
}

.woocommerce ul.products li.product .box-image img,
ul.products li.product .box-image img,
.woocommerce ul.products li.product a > img,
ul.products li.product a > img {
	width: 100% !important;
	height: 200px !important;
	object-fit: cover !important;
	object-position: center !important;
	border-radius: 0 !important;
	display: block !important;
}

/* Remove image-cover padding hack from Flatsome */
.woocommerce ul.products li.product .image-cover,
ul.products li.product .image-cover {
	padding-top: 0 !important;
	height: 200px !important;
}

/* Product title */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
ul.products li.product .name.product-title,
.woocommerce ul.products li.product h2.product-title,
.woocommerce ul.products li.product p.product-title {
	color: var(--nts-ink) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	padding: 12px 14px 6px !important;
	margin: 0 !important;
	font-family: 'Be Vietnam Pro', sans-serif !important;
}

/* Price block */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product span.price,
ul.products li.product .price {
	color: var(--nts-blue) !important;
	font-family: 'Inter', sans-serif !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	padding: 0 14px 6px !important;
	margin: 0 !important;
	display: block !important;
}

.woocommerce ul.products li.product .price del,
ul.products li.product .price del {
	color: var(--nts-muted) !important;
	font-size: 12px !important;
	font-weight: 400 !important;
}

.woocommerce ul.products li.product .price ins,
ul.products li.product .price ins {
	text-decoration: none !important;
}

/* Prefix "Giá: " keep but muted */
.woocommerce ul.products li.product .price .mh-prefix,
ul.products li.product .price .mh-prefix {
	display: none !important;
}

/* Card badges */
.nts-card-badges {
	padding: 0 14px 8px;
}

.nts-card-badges span {
	height: 20px;
	padding: 0 7px;
	border: 1px solid var(--nts-line);
	border-radius: 4px;
	background: var(--nts-soft);
	color: var(--nts-muted);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .03em;
}

/* Add to cart button */
.woocommerce ul.products li.product .button.add_to_cart_button,
.woocommerce ul.products li.product .button.product_type_simple,
.woocommerce ul.products li.product a.button,
ul.products li.product .button {
	display: block !important;
	width: calc(100% - 28px) !important;
	margin: 0 14px 14px !important;
	padding: 9px 14px !important;
	background: var(--nts-blue) !important;
	color: #fff !important;
	border-radius: 6px !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	text-align: center !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	border: none !important;
	box-sizing: border-box !important;
	transition: background .18s ease !important;
}

.woocommerce ul.products li.product .button.add_to_cart_button:hover,
.woocommerce ul.products li.product a.button:hover {
	background: var(--nts-blue-900) !important;
	color: #fff !important;
}

/* Sale badge — refined */
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
	background: var(--nts-gold-ink) !important;
	color: #fff !important;
	border-radius: 4px !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	padding: 3px 8px !important;
	min-height: unset !important;
	min-width: unset !important;
	top: 10px !important;
	left: 10px !important;
	right: auto !important;
	line-height: 1.4 !important;
}

/* Product grid — homepage 4 col */
.nts-homepage .products.row,
.nts-homepage ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 16px !important;
}

.nts-homepage .products.row li.product,
.nts-homepage ul.products li.product {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

/* ============================================================
   6. ARCHIVE — Remove legacy banner & sidebar
   ============================================================ */

/* Hide legacy mh_banner_blog output (mh-page-title block, page-header-wrapper) */
body.tax-product_cat .mh-page-title,
body.tax-product_cat .page-header-wrapper,
body.tax-product_cat .page-title.featured-title,
body.post-type-archive-product .mh-page-title,
body.post-type-archive-product .page-header-wrapper,
body.post-type-archive-product .page-title.featured-title {
	display: none !important;
}

/* Hide Flatsome built-in category title block */
body.tax-product_cat .shop-page-title,
body.tax-product_cat .category-page-title,
body.post-type-archive-product .shop-page-title {
	display: none !important;
}

/* Hide archive sidebar */
body.tax-product_cat #shop-sidebar,
body.post-type-archive-product #shop-sidebar {
	display: none !important;
}

/* Archive intro: NTS styled */
body.tax-product_cat .nts-archive-intro {
	max-width: var(--nts-container);
	margin: 0 auto;
	padding: 32px 24px 16px;
	text-align: left;
}

body.tax-product_cat .nts-archive-intro h2 {
	color: var(--nts-blue);
	font-size: 24px;
	text-transform: none !important;
	letter-spacing: -.01em;
	font-family: 'Montserrat', sans-serif !important;
	margin-bottom: 8px;
}

body.tax-product_cat .nts-archive-intro p {
	max-width: 660px;
	color: var(--nts-muted);
	font-size: 14px;
}

/* Chips on archive: full-width positioned */
body.tax-product_cat .nts-chips-wrap.is-archive,
body.post-type-archive-product .nts-chips-wrap.is-archive {
	max-width: var(--nts-container);
	margin: 0 auto;
	padding: 0 24px 20px;
}

/* Archive product grid: override Flatsome float columns → CSS grid */
body.tax-product_cat ul.products,
body.tax-product_cat .products.row,
body.post-type-archive-product ul.products,
body.post-type-archive-product .products.row {
	max-width: var(--nts-container);
	margin: 0 auto !important;
	padding: 8px 24px 32px !important;
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 16px !important;
	float: none !important;
}

body.tax-product_cat ul.products li.product,
body.tax-product_cat .products.row li.product,
body.post-type-archive-product ul.products li.product {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

/* ============================================================
   7. PDP — Remove legacy banner & sidebar, improve layout
   ============================================================ */

/* Hide legacy banners on PDP */
body.single-product .mh-page-title,
body.single-product .page-header-wrapper,
body.single-product .page-title.featured-title {
	display: none !important;
}

/* Hide sidebar on PDP */
body.single-product #shop-sidebar {
	display: none !important;
}

/* PDP title */
body.single-product h1.product_title {
	color: var(--nts-blue) !important;
	font-size: 26px !important;
	line-height: 1.3 !important;
	letter-spacing: -.01em !important;
	text-transform: none !important;
	font-family: 'Montserrat', sans-serif !important;
	margin-bottom: 10px !important;
}

/* PDP price */
body.single-product p.price,
body.single-product span.price,
body.single-product .price {
	color: var(--nts-blue) !important;
	font-family: 'Inter', sans-serif !important;
	font-size: 22px !important;
	font-weight: 800 !important;
	margin-bottom: 14px;
}

/* PDP add to cart */
body.single-product .single_add_to_cart_button,
body.single-product button.single_add_to_cart_button {
	background: var(--nts-blue) !important;
	border-radius: 8px !important;
	font-weight: 800 !important;
	font-size: 16px !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	padding: 14px 28px !important;
	transition: background .2s ease !important;
	border: none !important;
}

body.single-product .single_add_to_cart_button:hover {
	background: var(--nts-blue-900) !important;
}

/* Spec table: boxed NTS style */
.nts-spec-table-wrap {
	margin-top: 24px;
	border: 1px solid var(--nts-line);
	border-radius: var(--nts-radius);
	overflow: hidden;
}

.nts-spec-title {
	background: var(--nts-soft);
	padding: 12px 18px;
	margin: 0;
	border-bottom: 1px solid var(--nts-line);
	font-family: 'Montserrat', sans-serif !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	color: var(--nts-blue) !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

.nts-spec-table {
	width: 100%;
	border-collapse: collapse;
}

.nts-spec-table tr:nth-child(even) {
	background: var(--nts-soft);
}

.nts-spec-table th {
	width: 40%;
	padding: 9px 18px;
	color: var(--nts-muted);
	font-size: 13px;
	font-weight: 600;
	text-align: left;
	border-bottom: 1px solid var(--nts-line);
}

.nts-spec-table td {
	padding: 9px 18px;
	color: var(--nts-ink);
	font-size: 13px;
	border-bottom: 1px solid var(--nts-line);
}

/* Product advisor: cream card */
.nts-product-advisor {
	background: var(--nts-cream);
	border: 1px solid var(--nts-line);
	border-radius: var(--nts-radius);
	padding: 22px 24px;
	margin-top: 24px;
}

.nts-product-advisor .nts-eyebrow {
	font-size: 11px;
}

.nts-product-advisor h3 {
	color: var(--nts-blue);
	font-size: 16px;
	line-height: 1.45;
	margin-bottom: 12px;
	font-family: 'Montserrat', sans-serif !important;
	letter-spacing: -.01em;
}

.nts-product-advisor ul {
	list-style: none;
	padding: 0;
	margin: 0 0 16px;
}

.nts-product-advisor ul li {
	padding: 5px 0 5px 18px;
	position: relative;
	color: var(--nts-muted);
	font-size: 13px;
	line-height: 1.5;
}

.nts-product-advisor ul li:before {
	content: "✓";
	position: absolute;
	left: 0;
	color: var(--nts-ok);
	font-weight: 800;
	font-size: 12px;
}

/* ============================================================
   8. TYPOGRAPHY SYSTEM — Override Flatsome Oswald
   ============================================================ */

body, .site {
	font-family: 'Be Vietnam Pro', sans-serif !important;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.heading-font,
.off-canvas-center .nav-sidebar.nav-vertical > li > a {
	font-family: 'Montserrat', sans-serif !important;
	text-transform: none !important;
	letter-spacing: -.01em;
}

/* Price fields use Inter */
.price, .woocommerce-Price-amount, .amount {
	font-family: 'Inter', sans-serif;
}

/* ============================================================
   9. RESPONSIVE — Sprint 3
   ============================================================ */

@media only screen and (max-width: 1200px) {
	body.tax-product_cat ul.products,
	body.tax-product_cat .products.row {
		grid-template-columns: repeat(3, 1fr) !important;
	}

	.nts-homepage .products.row,
	.nts-homepage ul.products {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

@media only screen and (max-width: 860px) {
	.nts-home-hero__inner {
		grid-template-columns: 1fr;
		padding: 48px 20px 40px;
		min-height: auto;
	}

	.nts-home-hero__panel {
		display: none !important;
	}

	.nts-home-hero h1 {
		font-size: 30px;
	}

	body.tax-product_cat ul.products,
	body.tax-product_cat .products.row {
		grid-template-columns: repeat(2, 1fr) !important;
		padding: 8px 16px 24px !important;
	}

	.nts-homepage .products.row,
	.nts-homepage ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
	}

	.nts-trust-strip__inner {
		grid-template-columns: 1fr 1fr;
	}
}

@media only screen and (max-width: 640px) {
	.nts-home-hero h1 {
		font-size: 26px;
	}

	.nts-trust-strip__inner {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	body.tax-product_cat ul.products,
	body.tax-product_cat .products.row {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 10px !important;
	}

	.nts-homepage .products.row,
	.nts-homepage ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 10px !important;
	}

	.nts-b2b-strip {
		flex-direction: column !important;
		padding: 24px 20px !important;
	}

	.nts-factory-band__stats {
		grid-template-columns: 1fr !important;
	}
}
/*
 * NTS Sprint 3A focused visual fidelity patch.
 * Scope: visual alignment with Claude Design, child-theme CSS only.
 */

:root {
	--nts-s3a-surface: #fffaf1;
	--nts-s3a-border: rgba(30, 52, 112, .12);
	--nts-s3a-soft-shadow: 0 18px 48px rgba(20, 38, 76, .10);
}

body {
	font-family: "Be Vietnam Pro", Arial, sans-serif;
}

.header-main,
.header-wrapper {
	background: rgba(255,255,255,.96) !important;
	box-shadow: 0 1px 0 rgba(30, 52, 112, .10);
}

.header-main .nav > li > a,
.header-main .nav > li > a.nav-top-link {
	font-family: "Be Vietnam Pro", Arial, sans-serif !important;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .01em;
	text-transform: none;
	color: var(--nts-blue-900, #14264c);
}

.nts-home-hero {
	background:
		radial-gradient(circle at 80% 24%, rgba(207,186,141,.28), transparent 30%),
		linear-gradient(135deg, #ffffff 0%, #f7f0e4 42%, #eaf0f8 100%) !important;
	color: var(--nts-ink, #232a33) !important;
	padding: 82px 20px 76px !important;
	border-bottom: 1px solid var(--nts-s3a-border);
}

.nts-home-hero__inner {
	display: grid !important;
	grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
	align-items: center;
	gap: 64px;
	max-width: var(--nts-container, 1240px);
	margin: 0 auto;
}

.nts-home-hero__content {
	max-width: 650px;
}

.nts-home-hero .nts-eyebrow {
	color: var(--nts-gold-ink, #a8884e) !important;
	letter-spacing: .08em;
}

.nts-home-hero h1 {
	color: var(--nts-blue-900, #14264c) !important;
	font-family: "Montserrat", "Be Vietnam Pro", Arial, sans-serif !important;
	font-size: clamp(38px, 4vw, 58px) !important;
	line-height: 1.05 !important;
	letter-spacing: 0 !important;
	max-width: 760px;
}

.nts-home-hero__lead,
.nts-home-hero p {
	color: rgba(35,42,51,.80) !important;
	font-size: 17px;
	line-height: 1.75;
}

.nts-home-hero__actions .button,
.nts-button {
	border-radius: 10px !important;
	box-shadow: none !important;
}

.nts-home-hero__panel {
	position: relative;
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	padding: 260px 22px 22px !important;
	min-height: 430px;
	border: 1px solid rgba(207,186,141,.42) !important;
	border-radius: 18px !important;
	background:
		linear-gradient(180deg, rgba(20,38,76,0) 35%, rgba(20,38,76,.62) 100%),
		url("https://nemtrungson.vn/wp-content/uploads/2020/04/Banner-Nem-VinLatex.png") center/cover no-repeat !important;
	box-shadow: var(--nts-s3a-soft-shadow);
	overflow: hidden;
}

.nts-home-hero__panel::before {
	content: "Nệm Trung Sơn";
	position: absolute;
	left: 22px;
	top: 22px;
	padding: 8px 12px;
	border-radius: 999px;
	background: rgba(255,255,255,.90);
	color: var(--nts-blue-900, #14264c);
	font-size: 12px;
	font-weight: 800;
}

.nts-home-hero__panel span {
	position: relative;
	display: block !important;
	padding: 14px 16px !important;
	border: 1px solid rgba(255,255,255,.45) !important;
	border-radius: 12px !important;
	background: rgba(255,255,255,.90) !important;
	color: var(--nts-blue-900, #14264c) !important;
	font-weight: 800;
	text-align: left;
	backdrop-filter: blur(8px);
}

.nts-trust-strip {
	background: #fff !important;
	border-bottom: 1px solid rgba(30,52,112,.10);
}

.nts-category-grid {
	gap: 18px !important;
}

.nts-category-card {
	min-height: 190px !important;
	border-radius: 12px !important;
	border: 1px solid rgba(30,52,112,.12) !important;
	background-color: #fff !important;
	box-shadow: 0 16px 38px rgba(20,38,76,.08) !important;
	overflow: hidden;
}

.nts-category-card::before {
	background: linear-gradient(180deg, rgba(20,38,76,.10), rgba(20,38,76,.58)) !important;
}

.nts-category-card__label {
	font-family: "Montserrat", "Be Vietnam Pro", Arial, sans-serif;
	font-size: 22px !important;
	line-height: 1.1;
	letter-spacing: 0 !important;
}

.nts-line-chip {
	border-color: rgba(168,136,78,.34) !important;
	background: #fff !important;
	color: var(--nts-blue-900, #14264c) !important;
	border-radius: 999px !important;
}

.nts-line-chip:hover {
	background: var(--nts-blue, #1e3470) !important;
	color: #fff !important;
}

body.tax-product_cat .page-title,
body.post-type-archive-product .page-title,
body.single-product .page-title {
	display: none !important;
}

body.tax-product_cat #shop-sidebar,
body.tax-product_cat .shop-sidebar,
body.tax-product_cat .sidebar,
body.single-product #shop-sidebar,
body.single-product .shop-sidebar,
body.single-product .sidebar {
	display: none !important;
}

body.tax-product_cat .large-9,
body.tax-product_cat .medium-9,
body.single-product .large-9,
body.single-product .medium-9 {
	flex-basis: 100% !important;
	max-width: 100% !important;
}

body.tax-product_cat .shop-container,
body.single-product .shop-container,
body.tax-product_cat .container,
body.single-product .container {
	max-width: var(--nts-container, 1240px) !important;
}

.nts-archive-intro {
	margin-top: 34px !important;
	border-radius: 14px !important;
	border: 1px solid rgba(207,186,141,.35) !important;
	background: linear-gradient(135deg, #fff 0%, var(--nts-s3a-surface) 100%) !important;
	box-shadow: 0 18px 45px rgba(20,38,76,.06) !important;
}

.products .product-small,
.product-small .col-inner,
.product-small.box,
.products .product {
	border-radius: 12px !important;
}

.product-small .col-inner {
	background: #fff !important;
	border: 1px solid rgba(30,52,112,.10) !important;
	box-shadow: 0 14px 32px rgba(20,38,76,.07) !important;
	overflow: hidden;
	transition: transform .18s ease, box-shadow .18s ease;
}

.product-small .col-inner:hover {
	transform: translateY(-3px);
	box-shadow: 0 20px 48px rgba(20,38,76,.12) !important;
}

.product-small .box-image,
.product-small .image-fade_in_back {
	background: #f7f8fb;
}

.product-small .box-text {
	padding: 16px 16px 18px !important;
}

.product-small .product-title,
.product-small .woocommerce-loop-product__title,
.product-small .name {
	color: var(--nts-blue-900, #14264c) !important;
	font-family: "Be Vietnam Pro", Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
}

.product-small .price,
.product-small .amount {
	color: var(--nts-blue, #1e3470) !important;
	font-family: "Inter", Arial, sans-serif !important;
	font-weight: 900 !important;
}

.badge-container .badge,
.badge-inner,
.onsale {
	border-radius: 999px !important;
	background: var(--nts-gold-ink, #a8884e) !important;
	color: #fff !important;
	box-shadow: none !important;
}

body.single-product .product-main {
	padding-top: 42px !important;
}

body.single-product .product-gallery,
body.single-product .product-info {
	background: #fff;
	border-radius: 14px;
}

body.single-product .product-info {
	padding: 28px !important;
	border: 1px solid rgba(30,52,112,.12);
	box-shadow: 0 18px 48px rgba(20,38,76,.08);
}

body.single-product .product-title {
	font-family: "Montserrat", "Be Vietnam Pro", Arial, sans-serif !important;
	color: var(--nts-blue-900, #14264c) !important;
	font-size: clamp(30px, 3vw, 46px) !important;
	line-height: 1.08 !important;
	letter-spacing: 0 !important;
}

body.single-product .product-info .price {
	color: var(--nts-blue, #1e3470) !important;
	font-size: 28px !important;
}

body.single-product .product-short-description,
body.single-product .product-info ul {
	color: rgba(35,42,51,.78);
	line-height: 1.75;
}

body.single-product .single_add_to_cart_button {
	border-radius: 10px !important;
	background: var(--nts-blue, #1e3470) !important;
}

.nts-spec-table,
.nts-product-advisor {
	border-radius: 12px !important;
	box-shadow: 0 12px 32px rgba(20,38,76,.06) !important;
}

@media only screen and (max-width: 900px) {
	.nts-home-hero {
		padding: 54px 16px 48px !important;
	}
	.nts-home-hero__inner {
		grid-template-columns: 1fr;
		gap: 28px;
	}
	.nts-home-hero__panel {
		min-height: 330px;
		padding-top: 190px !important;
	}
}

@media only screen and (max-width: 640px) {
	.nts-home-hero h1 {
		font-size: 34px !important;
	}
	.nts-home-hero__panel {
		grid-template-columns: 1fr;
	}
	body.single-product .product-info {
		padding: 20px !important;
	}
}
/*
 * NTS Sprint 3B corrective layout patch.
 * Scope: fix Woo/Flatsome product grid collapse, mobile overflow, hero/PDP clipping.
 */

html,
body {
	max-width: 100%;
	overflow-x: hidden;
}

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

img,
video,
iframe,
table {
	max-width: 100%;
}

/* Archive/product loop: Flatsome uses .product-small.col, not li.product. */
body.post-type-archive-product .shop-container,
body.tax-product_cat .shop-container {
	max-width: var(--nts-container, 1240px) !important;
	width: calc(100% - 40px) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

body.post-type-archive-product .products.row,
body.tax-product_cat .products.row,
body.post-type-archive-product .products,
body.tax-product_cat .products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 24px !important;
	width: 100% !important;
	max-width: var(--nts-container, 1240px) !important;
	margin: 0 auto 48px !important;
	padding: 0 !important;
	float: none !important;
}

body.post-type-archive-product .products.row::before,
body.post-type-archive-product .products.row::after,
body.tax-product_cat .products.row::before,
body.tax-product_cat .products.row::after {
	display: none !important;
	content: none !important;
}

body.post-type-archive-product .products.row > .product-small.col,
body.tax-product_cat .products.row > .product-small.col,
body.post-type-archive-product .products > .product-small.col,
body.tax-product_cat .products > .product-small.col {
	display: block !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	flex: none !important;
	flex-basis: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
}

body.post-type-archive-product .product-small .col-inner,
body.tax-product_cat .product-small .col-inner {
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
	min-width: 0 !important;
	border-radius: 14px !important;
	overflow: hidden !important;
}

body.post-type-archive-product .product-small .box,
body.tax-product_cat .product-small .box {
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
	width: 100% !important;
	min-width: 0 !important;
}

body.post-type-archive-product .product-small .box-image,
body.tax-product_cat .product-small .box-image {
	width: 100% !important;
	aspect-ratio: 4 / 3 !important;
	height: auto !important;
	min-height: 0 !important;
	background: #f6f7fa !important;
}

body.post-type-archive-product .product-small .box-image .image-cover,
body.tax-product_cat .product-small .box-image .image-cover {
	height: 100% !important;
	padding-top: 0 !important;
}

body.post-type-archive-product .product-small .box-image img,
body.tax-product_cat .product-small .box-image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center !important;
	display: block !important;
}

body.post-type-archive-product .product-small .box-text,
body.tax-product_cat .product-small .box-text,
body.post-type-archive-product .product-small .box-text-products,
body.tax-product_cat .product-small .box-text-products {
	flex: 1 1 auto !important;
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	min-width: 0 !important;
	padding: 16px !important;
	text-align: left !important;
}

body.post-type-archive-product .product-small .name,
body.tax-product_cat .product-small .name,
body.post-type-archive-product .product-small .product-title,
body.tax-product_cat .product-small .product-title {
	min-height: 42px !important;
	overflow: visible !important;
	white-space: normal !important;
	text-overflow: clip !important;
}

body.post-type-archive-product .product-small .name a,
body.tax-product_cat .product-small .name a,
body.post-type-archive-product .product-small .product-title a,
body.tax-product_cat .product-small .product-title a {
	display: block !important;
	overflow: visible !important;
	white-space: normal !important;
	text-overflow: clip !important;
	word-break: normal !important;
}

body.post-type-archive-product .product-small .price,
body.tax-product_cat .product-small .price {
	margin-top: auto !important;
	white-space: normal !important;
	line-height: 1.35 !important;
}

body.post-type-archive-product .product-small .button,
body.tax-product_cat .product-small .button {
	width: 100% !important;
	max-width: 100% !important;
	margin: 12px 0 0 !important;
}

body.post-type-archive-product .nts-archive-intro,
body.tax-product_cat .nts-archive-intro {
	width: calc(100% - 40px) !important;
	max-width: var(--nts-container, 1240px) !important;
	margin: 48px auto 32px !important;
	padding: 32px !important;
}

body.post-type-archive-product .nts-chips-wrap,
body.tax-product_cat .nts-chips-wrap {
	width: calc(100% - 40px) !important;
	max-width: var(--nts-container, 1240px) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Homepage hero: prevent panel/text clipping and keep mobile buttons inside viewport. */
.nts-home-hero {
	overflow: hidden !important;
}

.nts-home-hero__inner,
.nts-trust-strip__inner,
.nts-section-wrap,
.nts-category-grid,
.nts-chips-wrap {
	width: calc(100% - 40px) !important;
	max-width: var(--nts-container, 1240px) !important;
	min-width: 0 !important;
}

.nts-home-hero__content,
.nts-home-hero__panel {
	min-width: 0 !important;
}

.nts-home-hero__panel {
	align-content: end !important;
	padding-top: 230px !important;
	min-height: 440px !important;
}

.nts-home-hero__panel span {
	min-width: 0 !important;
	overflow: hidden !important;
}

.nts-home-hero__actions {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
}

.nts-home-hero__actions .button {
	margin: 0 !important;
}

/* PDP: contain gallery/info and make sticky buy usable on mobile. */
body.single-product .product-main > .row,
body.single-product .product-main .product-container > .row {
	max-width: var(--nts-container, 1240px) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

body.single-product .product-gallery,
body.single-product .product-info,
body.single-product .summary {
	min-width: 0 !important;
	max-width: 100% !important;
}

body.single-product .product-gallery img,
body.single-product .woocommerce-product-gallery img {
	max-width: 100% !important;
	height: auto !important;
	object-fit: contain !important;
}

body.single-product .product-gallery .flickity-viewport {
	min-height: 0 !important;
	max-height: 620px !important;
}

body.single-product .product-images.woocommerce-product-gallery {
	opacity: 1 !important;
}

body.single-product .woocommerce-product-gallery__wrapper {
	background: #fff !important;
}

body.single-product .woocommerce-product-gallery__image:first-child,
body.single-product .woocommerce-product-gallery__image.first {
	opacity: 1 !important;
	visibility: visible !important;
}

.nts-mobile-sticky-buy {
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	grid-template-columns: minmax(0, 1fr) minmax(116px, 42%) !important;
	gap: 10px !important;
	padding: 10px 12px calc(10px + env(safe-area-inset-bottom)) !important;
	background: rgba(255, 255, 255, .96) !important;
	border-top: 1px solid rgba(30, 52, 112, .14) !important;
	box-shadow: 0 -12px 32px rgba(20, 38, 76, .12) !important;
}

.nts-mobile-sticky-buy__price {
	min-width: 0 !important;
	font-size: 14px !important;
	line-height: 1.25 !important;
	white-space: normal !important;
	overflow-wrap: anywhere !important;
}

.nts-mobile-sticky-buy__btn {
	min-width: 0 !important;
	width: 100% !important;
	padding: 11px 8px !important;
	font-size: 12px !important;
	line-height: 1.25 !important;
	white-space: normal !important;
}

/* Legacy pages: stop old wide blocks from breaking mobile while keeping current content. */
body.page .page-wrapper,
body.blog .page-wrapper,
body.archive.category .page-wrapper,
body.page .row,
body.blog .row,
body.archive.category .row {
	max-width: 100% !important;
	min-width: 0 !important;
}

body.page .col,
body.blog .col,
body.archive.category .col {
	min-width: 0 !important;
}

body.page .wpcf7,
body.page form,
body.page input,
body.page textarea {
	max-width: 100% !important;
}

@media only screen and (max-width: 1200px) {
	body.post-type-archive-product .products.row,
	body.tax-product_cat .products.row,
	body.post-type-archive-product .products,
	body.tax-product_cat .products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media only screen and (max-width: 860px) {
	body.post-type-archive-product .products.row,
	body.tax-product_cat .products.row,
	body.post-type-archive-product .products,
	body.tax-product_cat .products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 14px !important;
	}

	.nts-home-hero__inner,
	.nts-trust-strip__inner,
	.nts-section-wrap,
	.nts-category-grid,
	.nts-chips-wrap,
	body.post-type-archive-product .shop-container,
	body.tax-product_cat .shop-container,
	body.post-type-archive-product .nts-archive-intro,
	body.tax-product_cat .nts-archive-intro,
	body.post-type-archive-product .nts-chips-wrap,
	body.tax-product_cat .nts-chips-wrap {
		width: calc(100% - 32px) !important;
	}

	.nts-home-hero__inner {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.nts-home-hero__panel {
		min-height: 320px !important;
		padding: 170px 16px 16px !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media only screen and (max-width: 640px) {
	body {
		width: 100% !important;
	}

	#main,
	.main,
	.page-wrapper,
	.shop-container,
	.product-container,
	.container {
		max-width: 100% !important;
		min-width: 0 !important;
	}

	.row {
		max-width: 100% !important;
		min-width: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.col,
	.large-6,
	.large-8,
	.large-9,
	.large-12,
	.medium-6,
	.medium-9,
	.small-12 {
		min-width: 0 !important;
		width: 100% !important;
		flex-basis: 100% !important;
		max-width: 100% !important;
	}

	.nts-home-hero {
		padding: 44px 0 42px !important;
	}

	.nts-home-hero__inner,
	.nts-trust-strip__inner,
	.nts-section-wrap,
	.nts-category-grid,
	.nts-chips-wrap {
		width: calc(100vw - 32px) !important;
		max-width: calc(100vw - 32px) !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.nts-home-hero__content,
	.nts-home-hero__lead,
	.nts-home-hero h1,
	.nts-archive-intro,
	.nts-archive-intro h2,
	.nts-archive-intro p,
	body.single-product .product-info,
	body.single-product .summary,
	body.page .entry-content,
	body.blog .post-item,
	body.archive.category .post-item {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		white-space: normal !important;
		overflow-wrap: break-word !important;
	}

	.nts-home-hero h1 {
		font-size: 32px !important;
		line-height: 1.12 !important;
		overflow-wrap: anywhere !important;
	}

	.nts-home-hero__lead,
	.nts-home-hero p {
		font-size: 15px !important;
		line-height: 1.65 !important;
	}

	.nts-home-hero__actions {
		display: grid !important;
		grid-template-columns: 1fr !important;
		width: 100% !important;
	}

	.nts-home-hero__actions .button {
		width: 100% !important;
		max-width: 100% !important;
		white-space: normal !important;
	}

	.nts-home-hero__panel {
		grid-template-columns: 1fr !important;
		min-height: 360px !important;
		padding: 190px 14px 14px !important;
	}

	body.post-type-archive-product .nts-archive-intro,
	body.tax-product_cat .nts-archive-intro {
		width: calc(100% - 32px) !important;
		margin: 32px auto 24px !important;
		padding: 24px 20px !important;
	}

	body.post-type-archive-product .nts-archive-intro h2,
	body.tax-product_cat .nts-archive-intro h2 {
		font-size: 25px !important;
		line-height: 1.18 !important;
		overflow-wrap: anywhere !important;
	}

	body.post-type-archive-product .shop-container,
	body.tax-product_cat .shop-container,
	body.post-type-archive-product .nts-chips-wrap,
	body.tax-product_cat .nts-chips-wrap {
		width: calc(100vw - 32px) !important;
		max-width: calc(100vw - 32px) !important;
	}

	body.post-type-archive-product .products.row,
	body.tax-product_cat .products.row,
	body.post-type-archive-product .products,
	body.tax-product_cat .products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 12px !important;
	}

	body.post-type-archive-product .product-small .box-text,
	body.tax-product_cat .product-small .box-text,
	body.post-type-archive-product .product-small .box-text-products,
	body.tax-product_cat .product-small .box-text-products {
		padding: 12px !important;
	}

	body.post-type-archive-product .product-small .name,
	body.tax-product_cat .product-small .name,
	body.post-type-archive-product .product-small .product-title,
	body.tax-product_cat .product-small .product-title {
		font-size: 13px !important;
		line-height: 1.35 !important;
		min-height: 54px !important;
	}

	body.post-type-archive-product .product-small .price,
	body.tax-product_cat .product-small .price {
		font-size: 13px !important;
	}

	.nts-card-badges {
		display: none !important;
	}

	body.single-product .product-main {
		padding-top: 20px !important;
	}

	body.single-product .product-gallery .flickity-viewport {
		max-height: 390px !important;
	}

	body.single-product .product-info {
		margin-top: 18px !important;
		padding: 20px 16px !important;
	}

	body.single-product h1.product_title,
	body.single-product .product-title {
		font-size: 27px !important;
		line-height: 1.16 !important;
		overflow-wrap: anywhere !important;
	}

	body.single-product p.price,
	body.single-product span.price,
	body.single-product .price {
		font-size: 20px !important;
		line-height: 1.35 !important;
		overflow-wrap: anywhere !important;
	}

	body.single-product .cart {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 12px !important;
	}

	body.single-product .quantity,
	body.single-product .single_add_to_cart_button {
		width: 100% !important;
		max-width: 100% !important;
	}

	body.page .entry-content,
	body.blog .content-area,
	body.archive.category .content-area {
		overflow-x: hidden !important;
	}

	body.page .section,
	body.page .section-content,
	body.page .container,
	body.blog .container,
	body.archive.category .container {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}
}

@media only screen and (max-width: 390px) {
	body.post-type-archive-product .products.row,
	body.tax-product_cat .products.row,
	body.post-type-archive-product .products,
	body.tax-product_cat .products {
		grid-template-columns: 1fr !important;
	}
}

@media only screen and (max-width: 640px) {
	.nts-home-hero__inner,
	.nts-trust-strip__inner,
	.nts-section-wrap,
	.nts-category-grid,
	.nts-chips-wrap,
	body.post-type-archive-product .shop-container,
	body.tax-product_cat .shop-container,
	body.post-type-archive-product .nts-archive-intro,
	body.tax-product_cat .nts-archive-intro,
	body.post-type-archive-product .nts-chips-wrap,
	body.tax-product_cat .nts-chips-wrap,
	body.single-product .product-gallery,
	body.single-product .product-info,
	body.single-product .summary {
		width: calc(100vw - 56px) !important;
		max-width: calc(100vw - 56px) !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.nts-home-hero h1 {
		font-size: 29px !important;
		line-height: 1.14 !important;
	}

	.nts-archive-intro h2,
	body.post-type-archive-product .nts-archive-intro h2,
	body.tax-product_cat .nts-archive-intro h2 {
		font-size: 23px !important;
		line-height: 1.2 !important;
	}

	.nts-home-hero__panel {
		width: 100% !important;
		max-width: 100% !important;
	}

	.nts-mobile-sticky-buy {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 150px !important;
		width: 100vw !important;
		max-width: 100vw !important;
		overflow: hidden !important;
	}

	.nts-mobile-sticky-buy__price {
		font-size: 13px !important;
	}

	.nts-mobile-sticky-buy__btn {
		font-size: 11px !important;
		letter-spacing: 0 !important;
		overflow-wrap: anywhere !important;
	}
}

@media only screen and (max-width: 640px) {
	.nts-home-hero__content,
	.nts-home-hero h1,
	.nts-home-hero__lead,
	.nts-home-hero p {
		width: 300px !important;
		max-width: 300px !important;
	}

	.nts-home-hero__actions {
		width: 300px !important;
		max-width: 300px !important;
	}

	.nts-archive-intro h2,
	.nts-archive-intro p {
		max-width: 300px !important;
	}

	body.single-product .product-images,
	body.single-product .product-gallery,
	body.single-product .woocommerce-product-gallery {
		width: calc(100vw - 72px) !important;
		max-width: calc(100vw - 72px) !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.nts-mobile-sticky-buy {
		grid-template-columns: 1fr !important;
		gap: 6px !important;
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.nts-mobile-sticky-buy__price,
	.nts-mobile-sticky-buy__btn {
		width: 100% !important;
		max-width: 100% !important;
		text-align: center !important;
	}
}
/*
 * NTS Sprint 4 - Flatsome visual removal layer.
 * Scope: custom Woo archive/card surfaces, stronger legacy visual suppression.
 */

.nts-s4-shell {
	width: min(1180px, calc(100vw - 48px));
	margin: 0 auto;
}

.nts-s4-shop {
	background: #f8f8f6;
	color: var(--nts-ink, #232a33);
}

.nts-s4-archive-hero {
	padding: 72px 0 34px;
	background:
		radial-gradient(circle at 84% 16%, rgba(207, 186, 141, .28), transparent 28%),
		linear-gradient(135deg, #fff 0%, #f7f0e4 54%, #eaf0f8 100%);
	border-bottom: 1px solid rgba(30, 52, 112, .12);
}

.nts-s4-archive-hero h1 {
	max-width: 760px;
	margin: 0 0 14px;
	color: var(--nts-blue-900, #14264c);
	font-family: "Montserrat", "Be Vietnam Pro", Arial, sans-serif;
	font-size: clamp(36px, 5vw, 58px);
	line-height: 1.05;
	letter-spacing: 0;
}

.nts-s4-archive-desc {
	max-width: 760px;
	color: rgba(35, 42, 51, .78);
	font-size: 17px;
	line-height: 1.75;
}

.nts-s4-shop-tools {
	padding: 28px 0 18px;
}

.nts-s4-shop-tools__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 14px 18px;
	border: 1px solid rgba(30, 52, 112, .12);
	border-radius: 12px;
	background: #fff;
}

.nts-s4-result-count,
.nts-s4-ordering,
.nts-s4-ordering select {
	color: var(--nts-blue-900, #14264c);
	font-family: "Be Vietnam Pro", Arial, sans-serif;
	font-size: 14px;
}

.nts-s4-ordering form,
.nts-s4-ordering .woocommerce-ordering {
	margin: 0 !important;
}

.nts-s4-products-section {
	padding: 12px 0 64px;
}

.nts-s4-shop ul.products,
.nts-s4-shop .products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 24px !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.nts-s4-card.product,
.nts-s4-shop ul.products .nts-s4-card.product {
	display: flex !important;
	flex-direction: column !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	border: 1px solid rgba(30, 52, 112, .12) !important;
	border-radius: 14px !important;
	background: #fff !important;
	overflow: hidden !important;
	box-shadow: 0 16px 36px rgba(20, 38, 76, .07) !important;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.nts-s4-card:hover {
	transform: translateY(-3px);
	border-color: rgba(168, 136, 78, .55) !important;
	box-shadow: 0 22px 48px rgba(20, 38, 76, .12) !important;
}

.nts-s4-card__media {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	background: #f4f6f9;
	overflow: hidden;
}

.nts-s4-card__image {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}

.nts-s4-card__sale {
	position: absolute;
	left: 12px;
	top: 12px;
	padding: 6px 10px;
	border-radius: 999px;
	background: var(--nts-gold-ink, #a8884e);
	color: #fff;
	font-size: 11px;
	font-weight: 800;
}

.nts-s4-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 18px;
}

.nts-s4-card__category {
	margin: 0 0 8px;
	color: var(--nts-gold-ink, #a8884e);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.nts-s4-card__title {
	margin: 0 0 12px;
	font-family: "Montserrat", "Be Vietnam Pro", Arial, sans-serif;
	font-size: 18px;
	line-height: 1.25;
	letter-spacing: 0;
}

.nts-s4-card__title a {
	color: var(--nts-blue-900, #14264c);
	text-decoration: none;
}

.nts-s4-card__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 0 14px;
}

.nts-s4-card__badges span {
	padding: 5px 8px;
	border: 1px solid rgba(30, 52, 112, .14);
	border-radius: 6px;
	background: #f7f8fb;
	color: rgba(20, 38, 76, .72);
	font-size: 11px;
	font-weight: 700;
}

.nts-s4-card__price {
	margin-top: auto;
	color: var(--nts-blue, #1e3470);
	font-family: "Inter", Arial, sans-serif;
	font-size: 18px;
	font-weight: 900;
	line-height: 1.35;
}

.nts-s4-card__price .mh-prefix {
	display: none;
}

.nts-s4-card__cta {
	display: block;
	margin-top: 16px;
	padding: 11px 14px;
	border-radius: 10px;
	background: var(--nts-blue, #1e3470);
	color: #fff !important;
	font-weight: 800;
	text-align: center;
	text-decoration: none;
}

.nts-s4-pagination {
	margin-top: 34px;
}

.nts-s4-empty {
	position: relative;
	z-index: 3;
	max-width: 720px;
	margin-bottom: 64px;
	padding: 36px;
	border: 1px solid rgba(30, 52, 112, .12);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 16px 36px rgba(20, 38, 76, .07);
}

.nts-s4-empty h2 {
	margin: 0 0 10px;
	color: var(--nts-blue-900, #14264c);
	font-family: "Montserrat", "Be Vietnam Pro", Arial, sans-serif;
	font-size: 30px;
	line-height: 1.15;
}

/* Suppress residual Flatsome shop surfaces when custom archive is active. */
.nts-s4-shop .shop-page-title,
.nts-s4-shop .category-page-title,
.nts-s4-shop #shop-sidebar,
.nts-s4-shop .woocommerce-sidebar,
.nts-s4-shop .sidebar {
	display: none !important;
}

.nts-s4-shop .woocommerce-no-products-found,
.nts-s4-shop .woocommerce-info {
	display: none !important;
}

/* Remove old decorative/footer assets that visually leak into custom empty states. */
.footer-wrapper::before,
.footer-wrapper::after,
#footer::before,
#footer::after,
.absolute-footer::before,
.absolute-footer::after {
	display: none !important;
	content: none !important;
}

.footer-wrapper img[src*="bg-bottom"],
#footer img[src*="bg-bottom"],
.footer-wrapper img[src*="all-icon"] {
	display: none !important;
}

body.archive.woocommerce main#main::before,
body.archive.woocommerce main#main::after,
body.archive.woocommerce main#main > .category-page-row::before,
body.archive.woocommerce main#main > .category-page-row::after,
body.single-product main#main::before,
body.single-product main#main::after,
body.single-product main#main .shop-container::before,
body.single-product main#main .shop-container::after,
.mh-bg-bottom-left > .bg,
.mh-bg-bottom-right > .bg {
	display: none !important;
	content: none !important;
	background-image: none !important;
}

@media only screen and (max-width: 1100px) {
	.nts-s4-shop ul.products,
	.nts-s4-shop .products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media only screen and (max-width: 760px) {
	.nts-s4-shell {
		width: min(100vw - 56px, 520px);
		max-width: min(100vw - 56px, 520px);
	}

	.nts-s4-archive-hero {
		padding: 48px 0 28px;
	}

	.nts-s4-archive-hero h1 {
		font-size: 34px;
		max-width: 100%;
		overflow-wrap: break-word;
	}

	.nts-s4-archive-desc {
		max-width: 100%;
		overflow-wrap: break-word;
	}

	.nts-s4-shop-tools__row {
		align-items: stretch;
		flex-direction: column;
	}

	.nts-s4-shop ul.products,
	.nts-s4-shop .products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 14px !important;
	}

	.nts-s4-card__body {
		padding: 14px;
	}

	.nts-s4-card__title {
		font-size: 15px;
	}

	.nts-s4-card__badges {
		display: none;
	}

	.nts-s4-card__price {
		font-size: 14px;
	}
}

@media only screen and (max-width: 430px) {
	.nts-s4-shell {
		width: min(300px, calc(100vw - 56px));
		max-width: min(300px, calc(100vw - 56px));
	}

	.nts-s4-shop ul.products,
	.nts-s4-shop .products {
		grid-template-columns: 1fr !important;
	}
}
/*
 * NTS Sprint 5 - Claude Design fidelity layer.
 * Scope: global frame, homepage rhythm, archive polish, PDP composition, mobile.
 */

:root {
	--nts-blue: #1e3470;
	--nts-blue-900: #14264c;
	--nts-gold: #cfba8d;
	--nts-gold-ink: #a8884e;
	--nts-cream: #f6f0e3;
	--nts-grey: #f1f3f6;
	--nts-ink: #232a33;
	--nts-ok: #1c7a4a;
	--nts-radius: 10px;
	--nts-container: 1240px;
}

body {
	color: var(--nts-ink);
	background: #fafafa;
	font-family: "Be Vietnam Pro", Arial, sans-serif;
	letter-spacing: 0;
}

h1, h2, h3, h4,
.product-title,
.entry-title,
.page-title,
.section-title {
	font-family: "Montserrat", "Be Vietnam Pro", Arial, sans-serif;
	letter-spacing: 0 !important;
	color: var(--nts-blue-900);
}

a {
	color: var(--nts-blue);
}

.button,
button,
input[type="submit"],
.single_add_to_cart_button,
.checkout-button {
	border-radius: 10px !important;
	font-family: "Montserrat", "Be Vietnam Pro", Arial, sans-serif !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	box-shadow: none !important;
}

/* Global frame: reduce default Flatsome feel without touching parent templates. */
.header-wrapper,
#masthead,
.header-main {
	background: rgba(255, 255, 255, .96) !important;
	box-shadow: 0 10px 28px rgba(20, 38, 76, .08) !important;
	border-bottom: 1px solid rgba(30, 52, 112, .08);
}

.header-main {
	min-height: 78px !important;
}

.logo img {
	max-height: 54px !important;
	object-fit: contain;
}

.header-nav > li > a,
.nav > li > a {
	color: var(--nts-blue-900) !important;
	font-family: "Be Vietnam Pro", Arial, sans-serif !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

.header-nav > li.active > a,
.header-nav > li.current-menu-item > a,
.nav > li.active > a {
	color: var(--nts-blue) !important;
}

.header-button .button,
.header-search a,
.cart-item a {
	color: var(--nts-blue-900) !important;
}

.off-canvas-left .mfp-content,
.mobile-sidebar {
	background: #fff !important;
}

.footer-wrapper {
	background: #242424 !important;
	color: #fff !important;
	padding-top: 44px;
}

.footer-wrapper h3,
.footer-wrapper h4,
.footer-wrapper .widget-title,
.footer-wrapper a {
	color: #fff !important;
}

.footer-wrapper .textwidget,
.footer-wrapper p,
.footer-wrapper li {
	color: rgba(255, 255, 255, .76) !important;
}

.absolute-footer {
	background: #1d1d1d !important;
	color: rgba(255, 255, 255, .72) !important;
}

/* Homepage: make the first scan path lighter and closer to Claude Design. */
.home .nts-home-hero {
	position: relative;
	overflow: hidden;
	padding: 72px 0 62px !important;
	background:
		radial-gradient(circle at 88% 18%, rgba(207, 186, 141, .35), transparent 24%),
		linear-gradient(135deg, #fff 0%, #f7f1e6 52%, #eef3f8 100%) !important;
	color: var(--nts-blue-900) !important;
}

.home .nts-home-hero::after {
	content: "";
	position: absolute;
	inset: auto 6vw 36px auto;
	width: min(420px, 32vw);
	aspect-ratio: 1.35;
	border-radius: 24px;
	background:
		linear-gradient(145deg, rgba(255,255,255,.72), rgba(255,255,255,.25)),
		radial-gradient(circle at 34% 34%, rgba(30,52,112,.18), transparent 34%),
		radial-gradient(circle at 70% 70%, rgba(207,186,141,.45), transparent 32%);
	box-shadow: 0 28px 70px rgba(20, 38, 76, .16);
	pointer-events: none;
}

.home .nts-home-hero__inner {
	position: relative;
	z-index: 2;
	width: min(var(--nts-container), calc(100vw - 48px));
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 430px);
	gap: 42px;
	align-items: center;
}

.home .nts-home-hero__content h1 {
	max-width: 760px;
	margin-bottom: 18px;
	color: var(--nts-blue-900) !important;
	font-size: clamp(40px, 5.5vw, 68px);
	line-height: 1.02;
}

.home .nts-home-hero__lead {
	max-width: 690px;
	color: rgba(35, 42, 51, .78) !important;
	font-size: 18px;
	line-height: 1.75;
}

.home .nts-home-hero__panel {
	position: relative;
	z-index: 3;
	display: grid;
	gap: 12px;
	align-self: stretch;
	padding: 28px;
	border: 1px solid rgba(30, 52, 112, .12);
	border-radius: 18px;
	background: rgba(255, 255, 255, .78);
	box-shadow: 0 22px 60px rgba(20, 38, 76, .12);
	backdrop-filter: blur(12px);
}

.home .nts-home-hero__panel span {
	display: flex;
	align-items: center;
	min-height: 48px;
	padding: 12px 14px;
	border: 1px solid rgba(207, 186, 141, .55);
	border-radius: 10px;
	background: #fff;
	color: var(--nts-blue-900);
	font-weight: 900;
}

.nts-home-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 24px;
}

.nts-home-hero__actions .button,
.nts-button {
	min-height: 44px;
	padding: 12px 18px !important;
}

.home .nts-trust-strip {
	margin-top: 0 !important;
	background: #fff !important;
	border-bottom: 1px solid rgba(30, 52, 112, .08);
}

.home .nts-trust-strip__inner {
	width: min(var(--nts-container), calc(100vw - 48px));
	gap: 0 !important;
}

.home .nts-trust-strip__inner > div {
	border-radius: 0 !important;
	border: 0 !important;
	border-left: 1px solid rgba(207, 186, 141, .48) !important;
	box-shadow: none !important;
}

.home .nts-section-wrap {
	width: min(var(--nts-container), calc(100vw - 48px));
	padding-top: 64px !important;
}

.home .nts-category-grid {
	gap: 18px !important;
}

.home .nts-category-card {
	min-height: 190px;
	border: 1px solid rgba(30, 52, 112, .12) !important;
	border-radius: 14px !important;
	background:
		linear-gradient(145deg, rgba(255,255,255,.88), rgba(246,240,227,.72)),
		var(--nts-bg, none) center/cover no-repeat !important;
	box-shadow: 0 18px 44px rgba(20, 38, 76, .08) !important;
}

.home .nts-category-card::before {
	background: linear-gradient(180deg, rgba(255,255,255,.68), rgba(255,255,255,.9)) !important;
}

.home .nts-category-card__label {
	color: var(--nts-blue-900) !important;
	font-size: 24px !important;
}

.home .nts-category-card__sub {
	color: rgba(35, 42, 51, .72) !important;
}

/* Archive: place trust/actions inside the custom archive rhythm. */
.nts-s4-shop {
	background: #f7f8fa;
}

.nts-s4-archive-hero {
	padding: 76px 0 44px;
	background:
		radial-gradient(circle at 84% 20%, rgba(207, 186, 141, .34), transparent 25%),
		linear-gradient(135deg, #fff 0%, var(--nts-cream) 56%, #edf3f8 100%) !important;
}

.nts-s5-archive-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 24px;
}

.nts-s5-archive-actions a {
	padding: 9px 14px;
	border: 1px solid rgba(168, 136, 78, .42);
	border-radius: 999px;
	background: rgba(255, 255, 255, .78);
	color: var(--nts-blue-900);
	font-weight: 900;
	text-decoration: none;
}

.nts-s5-archive-trust {
	padding: 0 0 26px;
	background: #fff;
}

.nts-s5-trust-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	border: 1px solid rgba(30, 52, 112, .1);
	border-radius: 14px;
	background: #fff;
	overflow: hidden;
	transform: translateY(-22px);
	box-shadow: 0 18px 44px rgba(20, 38, 76, .08);
}

.nts-s5-trust-grid > div {
	padding: 20px;
	border-left: 1px solid rgba(207, 186, 141, .42);
}

.nts-s5-trust-grid > div:first-child {
	border-left: 0;
}

.nts-s5-trust-grid strong,
.nts-s5-trust-grid span {
	display: block;
}

.nts-s5-trust-grid strong {
	color: var(--nts-blue-900);
	font-weight: 900;
}

.nts-s5-trust-grid span {
	margin-top: 6px;
	color: rgba(35, 42, 51, .68);
	font-size: 13px;
	line-height: 1.55;
}

.nts-s4-shop-tools {
	padding-top: 0;
	background: #fff;
}

.nts-s4-shop-tools__row {
	border-radius: 14px;
}

.nts-s4-card.product {
	border-radius: 16px !important;
}

.nts-s4-card__media {
	background:
		linear-gradient(145deg, #fff, #eef2f6);
}

.nts-s4-card__cta {
	background: var(--nts-blue-900) !important;
}

/* Product detail: stronger designed buying panel. */
.single-product .product-main {
	background: #f7f8fa;
	padding: 58px 0 70px !important;
}

.single-product .product-container,
.single-product .product-main .row {
	width: min(var(--nts-container), calc(100vw - 48px));
	max-width: min(var(--nts-container), calc(100vw - 48px)) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.single-product .product-gallery,
.single-product .product-images {
	padding: 0 !important;
}

.single-product .woocommerce-product-gallery,
.single-product .product-gallery-slider {
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 22px 60px rgba(20, 38, 76, .1);
	overflow: hidden;
}

.single-product .product-info,
.single-product .summary {
	padding: 32px !important;
	border: 1px solid rgba(30, 52, 112, .12);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 22px 60px rgba(20, 38, 76, .1);
}

.single-product .product-title {
	font-size: clamp(28px, 3vw, 42px);
	line-height: 1.15;
}

.single-product .price,
.single-product .price .amount {
	color: var(--nts-blue) !important;
	font-family: "Inter", Arial, sans-serif;
	font-size: 26px !important;
	font-weight: 900 !important;
}

.single-product form.cart {
	margin-top: 22px !important;
	padding-top: 18px;
	border-top: 1px solid rgba(30, 52, 112, .1);
}

.single-product .cam-ket {
	display: none !important;
}

.single-product table.variations {
	margin-bottom: 18px !important;
}

.single-product table.variations th,
.single-product table.variations td {
	display: block;
	width: 100%;
	padding: 0 0 8px !important;
}

.single-product table.variations label {
	color: var(--nts-blue-900);
	font-weight: 900;
}

.single-product table.variations select,
.single-product .quantity input {
	border: 1px solid rgba(30, 52, 112, .16) !important;
	border-radius: 10px !important;
	box-shadow: none !important;
}

.single-product .single_add_to_cart_button {
	min-height: 54px;
	padding-left: 28px !important;
	padding-right: 28px !important;
	background: var(--nts-blue) !important;
	color: #fff !important;
}

.single-product .nts-product-advisor,
.single-product .nts-spec-table-wrap {
	margin-top: 24px;
	border-radius: 16px;
}

.single-product .product-footer,
.single-product .related-products-wrapper {
	width: min(var(--nts-container), calc(100vw - 48px));
	max-width: min(var(--nts-container), calc(100vw - 48px));
	margin-left: auto;
	margin-right: auto;
}

/* Static pages and posts: shared calmer frame. */
.page:not(.home) .page-wrapper,
.blog .blog-wrapper,
.archive.category .blog-wrapper,
.single-post .page-wrapper {
	background: #f7f8fa;
}

.page:not(.home) .entry-content,
.single-post .entry-content,
.blog .post-item .col-inner {
	border-radius: 16px;
}

.page:not(.home) .entry-content {
	font-size: 16px;
	line-height: 1.75;
}

@media only screen and (max-width: 900px) {
	.home .nts-home-hero__inner {
		grid-template-columns: 1fr;
	}

	.home .nts-home-hero::after {
		display: none;
	}

	.nts-s5-trust-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nts-s5-trust-grid > div:nth-child(3) {
		border-left: 0;
		border-top: 1px solid rgba(207, 186, 141, .42);
	}

	.nts-s5-trust-grid > div:nth-child(4) {
		border-top: 1px solid rgba(207, 186, 141, .42);
	}
}

@media only screen and (max-width: 760px) {
	html,
	body {
		max-width: 100%;
		overflow-x: hidden !important;
	}

	.header-main {
		min-height: 70px !important;
	}

	.logo img {
		max-height: 46px !important;
	}

	.home .nts-home-hero {
		padding: 46px 0 42px !important;
	}

	.home .nts-home-hero__inner,
	.home .nts-trust-strip__inner,
	.home .nts-section-wrap {
		width: min(100vw - 40px, 520px);
	}

	.home .nts-home-hero__content h1 {
		font-size: 34px;
	}

	.home .nts-home-hero__lead {
		font-size: 16px;
	}

	.home .nts-home-hero__panel {
		padding: 18px;
	}

	.nts-s5-trust-grid {
		grid-template-columns: 1fr;
		transform: translateY(-12px);
	}

	.nts-s5-trust-grid > div {
		border-left: 0 !important;
		border-top: 1px solid rgba(207, 186, 141, .42);
	}

	.nts-s5-trust-grid > div:first-child {
		border-top: 0;
	}

	.single-product .product-main {
		padding: 28px 0 92px !important;
	}

	.single-product .product-container,
	.single-product .product-main .row,
	.single-product .product-footer,
	.single-product .related-products-wrapper {
		width: min(100vw - 32px, 520px);
		max-width: min(100vw - 32px, 520px) !important;
	}

	.single-product .product-gallery,
	.single-product .product-images,
	.single-product .product-info,
	.single-product .summary {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		flex-basis: 100% !important;
	}

	.single-product .product-main .col,
	.single-product .product-main .large-6,
	.single-product .product-main .medium-6,
	.single-product .product-main .small-12 {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		flex-basis: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.single-product .product-gallery .product-thumbnails,
	.single-product .product-thumbnails,
	.single-product .woocommerce-product-gallery .flex-control-thumbs {
		display: none !important;
	}

	.single-product .woocommerce-product-gallery,
	.single-product .product-gallery-slider,
	.single-product .flickity-viewport,
	.single-product .flickity-slider,
	.single-product .slide,
	.single-product .woocommerce-product-gallery__image {
		max-width: 100% !important;
	}

	.single-product .product-info,
	.single-product .summary {
		padding: 22px !important;
		overflow: hidden;
	}

	.single-product .product-info,
	.single-product .summary,
	.single-product .product-summary {
		box-sizing: border-box !important;
		width: calc(100vw - 32px) !important;
		max-width: calc(100vw - 32px) !important;
		min-width: 0 !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.single-product .product-title {
		display: block;
		max-width: calc(100vw - 76px) !important;
		font-size: 24px;
		line-height: 1.16;
		overflow-wrap: anywhere !important;
		word-break: break-word;
		white-space: normal !important;
	}

	.single-product .product-short-description,
	.single-product .product-short-description li,
	.single-product .price-wrapper,
	.single-product form.cart,
	.single-product table.variations {
		max-width: 100% !important;
		overflow-wrap: anywhere;
		white-space: normal !important;
	}

	.single-product .price,
	.single-product .price .amount {
		font-size: 21px !important;
	}

	.nts-mobile-sticky-buy {
		left: 12px !important;
		right: 12px !important;
		bottom: 12px !important;
		border-radius: 16px !important;
		box-shadow: 0 18px 45px rgba(20, 38, 76, .22) !important;
	}
}

@media only screen and (max-width: 430px) {
	.home .nts-home-hero__inner,
	.home .nts-trust-strip__inner,
	.home .nts-section-wrap,
	.nts-s4-shell {
		width: min(100vw - 32px, 360px) !important;
		max-width: min(100vw - 32px, 360px) !important;
	}

	.home .nts-category-card {
		min-height: 150px;
	}

	.nts-s5-archive-actions a {
		width: 100%;
		text-align: center;
	}
}
/*
 * NTS Sprint 6 - PDP content/media fidelity layer.
 * Scope: product detail claim cleanup, neutral facts panel, mobile media/form polish.
 */

.single-product .product-short-description,
.single-product .cam-ket {
	display: none !important;
}

.single-product .product-info,
.single-product .summary {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.single-product .price-wrapper {
	order: 1;
	margin: 0 !important;
}

.single-product .nts-s6-decision-panel {
	order: 2;
	margin: 2px 0 2px;
	padding: 22px;
	border: 1px solid rgba(30, 52, 112, .12);
	border-radius: 16px;
	background:
		radial-gradient(circle at 94% 12%, rgba(207, 186, 141, .2), transparent 28%),
		linear-gradient(145deg, #fff, #f8f5ee);
	box-shadow: 0 14px 34px rgba(20, 38, 76, .07);
}

.single-product .nts-s6-decision-panel h3 {
	margin: 0 0 10px;
	color: var(--nts-blue-900, #14264c);
	font-size: 21px;
	line-height: 1.24;
}

.single-product .nts-s6-decision-panel__lead {
	margin: 0;
	color: rgba(35, 42, 51, .72);
	font-size: 14px;
	line-height: 1.65;
}

.single-product .nts-s6-fact-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-top: 16px;
}

.single-product .nts-s6-fact {
	padding: 12px;
	border: 1px solid rgba(30, 52, 112, .11);
	border-radius: 12px;
	background: rgba(255, 255, 255, .78);
}

.single-product .nts-s6-fact span,
.single-product .nts-s6-fact strong {
	display: block;
}

.single-product .nts-s6-fact span {
	margin-bottom: 5px;
	color: var(--nts-gold-ink, #a8884e);
	font-size: 11px;
	font-weight: 900;
	text-transform: uppercase;
}

.single-product .nts-s6-fact strong {
	color: var(--nts-blue-900, #14264c);
	font-size: 13px;
	line-height: 1.4;
}

.single-product .nts-s6-checklist {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 16px;
}

.single-product .nts-s6-checklist span {
	padding: 7px 10px;
	border-radius: 999px;
	background: rgba(30, 52, 112, .08);
	color: var(--nts-blue-900, #14264c);
	font-size: 12px;
	font-weight: 800;
}

.single-product form.cart {
	order: 3;
}

.single-product .nts-product-advisor {
	order: 4;
}

.single-product .nts-spec-table-wrap {
	order: 5;
}

.single-product .woocommerce-product-gallery,
.single-product .product-gallery-slider {
	background: linear-gradient(145deg, #fff, #f3f5f8);
}

.single-product .woocommerce-product-gallery__image img,
.single-product .product-gallery-slider img {
	display: block;
	width: 100% !important;
	object-fit: cover !important;
	border-radius: 18px;
}

.single-product .product-thumbnails a,
.single-product .product-thumbnails img {
	border-radius: 12px !important;
}

@media only screen and (min-width: 761px) {
	.single-product .woocommerce-product-gallery__image img,
	.single-product .product-gallery-slider img {
		max-height: 560px;
	}
}

@media only screen and (max-width: 760px) {
	.single-product .product-main {
		padding-top: 24px !important;
	}

	.single-product .product-container,
	.single-product .product-main .row {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.single-product .product-main .col,
	.single-product .product-gallery,
	.single-product .product-images,
	.single-product .product-info,
	.single-product .summary,
	.single-product .product-summary {
		box-sizing: border-box !important;
		width: min(520px, calc(100vw - 96px)) !important;
		max-width: min(520px, calc(100vw - 96px)) !important;
		min-width: 0 !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.single-product .product-gallery,
	.single-product .product-images {
		width: min(520px, calc(100vw - 40px)) !important;
		max-width: min(520px, calc(100vw - 40px)) !important;
	}

	.single-product .product-info,
	.single-product .summary {
		gap: 14px;
	}

	.single-product .nts-s6-decision-panel {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		padding: 18px;
		overflow: hidden;
	}

	.single-product .nts-s6-decision-panel *,
	.single-product .nts-s6-fact *,
	.single-product .nts-s6-checklist * {
		box-sizing: border-box;
		max-width: 100%;
		min-width: 0;
	}

	.single-product .nts-s6-decision-panel h3 {
		font-size: 16px;
		line-height: 1.22;
		overflow-wrap: break-word;
		word-break: normal;
		white-space: normal;
	}

	.single-product .nts-s6-decision-panel__lead,
	.single-product .nts-s6-fact strong,
	.single-product .nts-s6-checklist span {
		overflow-wrap: break-word;
		word-break: normal;
		white-space: normal;
	}

	.single-product .nts-s6-fact-grid {
		grid-template-columns: 1fr;
	}

	.single-product .product-title {
		max-width: 240px !important;
		font-size: 20px !important;
		line-height: 1.15 !important;
	}

	.single-product .price,
	.single-product .price .amount {
		font-size: 18px !important;
	}

	.single-product .nts-s6-checklist {
		display: grid;
		grid-template-columns: 1fr;
	}

	.single-product .woocommerce-product-gallery__image img,
	.single-product .product-gallery-slider img {
		max-height: 280px;
	}

	.single-product table.variations select {
		min-height: 44px;
	}

	.single-product .single_add_to_cart_button {
		width: 100%;
	}
}
/*
 * NTS Sprint 7 - controlled single-product template.
 * Scope: PDP structure, gallery containment, summary panel, mobile cleanup.
 */

.single-product .nts-s7-single-product-main {
	background: #f7f8fa;
}

.single-product .nts-s7-pdp {
	padding: 64px 0 42px;
	background:
		radial-gradient(circle at 8% 12%, rgba(30, 52, 112, .06), transparent 26%),
		linear-gradient(180deg, #f8fafc 0%, #f7f8fa 100%);
}

.single-product .nts-s7-shell {
	width: min(1240px, calc(100vw - 64px));
	margin: 0 auto;
}

.single-product .nts-s7-shell:not(.nts-s7-shell--stack) {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr);
	gap: 36px;
	align-items: start;
}

.single-product .nts-s7-gallery-panel,
.single-product .nts-s7-summary-panel {
	min-width: 0;
}

.single-product .nts-s7-gallery-panel {
	padding: 20px;
	border: 1px solid rgba(30, 52, 112, .1);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 22px 58px rgba(20, 38, 76, .08);
}

.single-product .nts-s7-gallery-panel .product-gallery,
.single-product .nts-s7-gallery-panel .woocommerce-product-gallery,
.single-product .nts-s7-gallery-panel .product-images {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	opacity: 1 !important;
	background: transparent !important;
	box-shadow: none !important;
	border: 0 !important;
}

.single-product .nts-s7-gallery-panel .woocommerce-product-gallery__wrapper,
.single-product .nts-s7-gallery-panel .product-gallery-slider {
	margin: 0 !important;
}

.single-product .nts-s7-gallery-panel .woocommerce-product-gallery__image,
.single-product .nts-s7-gallery-panel .slide {
	display: flex !important;
	align-items: center;
	justify-content: center;
	border-radius: 16px;
	background: linear-gradient(145deg, #fff, #eef2f6);
	overflow: hidden;
}

.single-product .nts-s7-gallery-panel .woocommerce-product-gallery__image img,
.single-product .nts-s7-gallery-panel .product-gallery-slider img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	max-height: 600px;
	object-fit: contain !important;
	border-radius: 16px !important;
}

.single-product .nts-s7-gallery-panel .product-thumbnails,
.single-product .nts-s7-gallery-panel .flex-control-thumbs {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin: 16px 0 0 !important;
	padding: 0 !important;
}

.single-product .nts-s7-gallery-panel .product-thumbnails li,
.single-product .nts-s7-gallery-panel .flex-control-thumbs li {
	width: auto !important;
	margin: 0 !important;
	list-style: none;
}

.single-product .nts-s7-gallery-panel .product-thumbnails img,
.single-product .nts-s7-gallery-panel .flex-control-thumbs img {
	width: 100% !important;
	aspect-ratio: 4 / 3;
	object-fit: cover !important;
	border: 1px solid rgba(30, 52, 112, .14);
	border-radius: 12px !important;
	background: #f5f7fa;
}

.single-product .nts-s7-summary-panel {
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding: 32px !important;
	border: 1px solid rgba(30, 52, 112, .12);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 22px 58px rgba(20, 38, 76, .08);
}

.single-product .nts-s7-summary-panel > * {
	width: 100%;
	max-width: 100%;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.single-product .nts-s7-summary-panel .product-title {
	margin: 0;
	color: var(--nts-blue-900, #14264c);
	font-size: clamp(30px, 3.1vw, 44px) !important;
	line-height: 1.12 !important;
	overflow-wrap: break-word;
}

.single-product .nts-s7-summary-panel .price-wrapper {
	margin: 0 !important;
}

.single-product .nts-s7-summary-panel .price,
.single-product .nts-s7-summary-panel .price .amount {
	color: var(--nts-blue, #1e3470) !important;
	font-family: "Inter", Arial, sans-serif;
	font-size: 28px !important;
	font-weight: 900 !important;
	line-height: 1.2;
}

.single-product .nts-s7-summary-panel .nts-s6-decision-panel {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}

.single-product .nts-s7-summary-panel .variations_form,
.single-product .nts-s7-summary-panel form.cart {
	margin: 0 !important;
	padding-top: 18px;
	border-top: 1px solid rgba(30, 52, 112, .1);
}

.single-product .nts-s7-summary-panel table.variations {
	width: 100%;
	margin: 0 0 14px !important;
}

.single-product .nts-s7-summary-panel table.variations th,
.single-product .nts-s7-summary-panel table.variations td {
	display: block;
	width: 100%;
	padding: 0 0 8px !important;
}

.single-product .nts-s7-summary-panel table.variations label {
	color: var(--nts-blue-900, #14264c);
	font-weight: 900;
}

.single-product .nts-s7-summary-panel select,
.single-product .nts-s7-summary-panel .quantity input {
	min-height: 44px;
	border: 1px solid rgba(30, 52, 112, .16) !important;
	border-radius: 10px !important;
	box-shadow: none !important;
}

.single-product .nts-s7-summary-panel .single_add_to_cart_button {
	min-height: 54px;
	padding-left: 34px !important;
	padding-right: 34px !important;
	background: var(--nts-blue, #1e3470) !important;
	color: #fff !important;
}

.single-product .nts-s7-summary-panel .product_meta,
.single-product .nts-s7-summary-panel .social-icons,
.single-product .nts-s7-summary-panel .is-divider {
	display: none !important;
}

.single-product .nts-s7-after-summary {
	padding: 0 0 72px;
	background: #f7f8fa;
}

.single-product .nts-s7-after-summary .woocommerce-tabs,
.single-product .nts-s7-after-summary .related-products-wrapper,
.single-product .nts-s7-after-summary .related {
	margin-top: 28px;
	border-radius: 18px;
}

@media only screen and (max-width: 980px) {
	.single-product .nts-s7-shell:not(.nts-s7-shell--stack) {
		grid-template-columns: 1fr;
	}

	.single-product .nts-s7-summary-panel {
		max-width: 720px;
		margin: 0 auto;
	}
}

@media only screen and (max-width: 760px) {
	html,
	body {
		max-width: 100%;
		overflow-x: hidden !important;
	}

	.single-product .nts-s7-pdp {
		padding: 28px 0 28px;
	}

	.single-product .nts-s7-shell {
		box-sizing: border-box;
		width: calc(100vw - 28px) !important;
		max-width: calc(100vw - 28px) !important;
		margin-left: 14px !important;
		margin-right: 14px !important;
	}

	.single-product .nts-s7-gallery-panel {
		padding: 12px;
		border-radius: 16px;
	}

	.single-product .nts-s7-gallery-panel .woocommerce-product-gallery__image img,
	.single-product .nts-s7-gallery-panel .product-gallery-slider img {
		max-height: 300px;
	}

	.single-product .nts-s7-gallery-panel .product-thumbnails,
	.single-product .nts-s7-gallery-panel .flex-control-thumbs {
		display: none !important;
	}

	.single-product .nts-s7-summary-panel {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		padding: 18px !important;
		gap: 14px;
		overflow: hidden;
	}

	.single-product .nts-s7-summary-panel *,
	.single-product .nts-s6-decision-panel *,
	.single-product .variations_form *,
	.single-product form.cart * {
		box-sizing: border-box;
		max-width: 100%;
		min-width: 0;
	}

	.single-product .nts-s7-summary-panel .product-title {
		max-width: 100% !important;
		font-size: 19px !important;
		line-height: 1.14 !important;
		overflow-wrap: anywhere !important;
		word-break: break-word;
		white-space: normal !important;
	}

	.single-product .nts-s7-summary-panel .price,
	.single-product .nts-s7-summary-panel .price .amount {
		font-size: 17px !important;
		overflow-wrap: anywhere !important;
		white-space: normal !important;
	}

	.single-product .nts-s7-summary-panel .nts-s6-decision-panel {
		padding: 16px !important;
		box-sizing: border-box !important;
		width: calc(100% - 24px) !important;
		max-width: calc(100% - 24px) !important;
		margin-left: 0 !important;
		margin-right: 24px !important;
		align-self: flex-start;
	}

	.single-product .nts-s7-summary-panel .nts-s6-decision-panel h3 {
		font-size: 15px !important;
		line-height: 1.22 !important;
		overflow-wrap: anywhere !important;
	}

	.single-product .nts-s7-summary-panel .nts-s6-decision-panel__lead,
	.single-product .nts-s7-summary-panel .nts-s6-fact strong,
	.single-product .nts-s7-summary-panel .nts-s6-checklist span {
		font-size: 12px !important;
		line-height: 1.45 !important;
		overflow-wrap: anywhere !important;
	}

	.single-product .nts-s7-summary-panel .nts-s6-fact-grid {
		grid-template-columns: 1fr !important;
	}

	.single-product .nts-s7-summary-panel .single_add_to_cart_button {
		width: 100%;
	}
}
:root {
	--nts-blue: #14295f;
	--nts-green: #62b33f;
	--nts-gold: #b58b48;
	--nts-ink: #071735;
	--nts-muted: #607086;
	--nts-line: #dfe7f1;
	--nts-soft: #f5f8fb;
	--nts-card: #ffffff;
}

* {
	box-sizing: border-box;
}

body {
	margin: 0;
	color: var(--nts-ink);
	background: #fff;
	font-family: "Be Vietnam Pro", Inter, system-ui, sans-serif;
	letter-spacing: 0;
}

a {
	color: inherit;
	text-decoration: none;
}

img {
	max-width: 100%;
	height: auto;
}

.nts-clean-shell,
.nts-s4-shell,
.nts-s7-shell {
	width: min(1180px, calc(100% - 32px));
	margin-inline: auto;
}

.nts-clean-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(255, 255, 255, 0.96);
	border-bottom: 1px solid var(--nts-line);
	box-shadow: 0 16px 36px rgba(13, 30, 64, 0.08);
	backdrop-filter: blur(12px);
}

.nts-clean-header__inner {
	width: min(1180px, calc(100% - 32px));
	min-height: 82px;
	margin-inline: auto;
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 20px;
}

.nts-clean-logo img {
	display: block;
	width: 88px;
	max-height: 64px;
	object-fit: contain;
}

.nts-clean-menu {
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 34px;
	margin: 0;
	padding: 0;
	font-weight: 800;
	font-size: 15px;
	color: var(--nts-blue);
}

.nts-clean-menu li {
	position: relative;
}

.nts-clean-menu a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

.nts-clean-menu .sub-menu,
.nts-clean-menu ul {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 20;
	display: none;
	min-width: 220px;
	margin: 0;
	padding: 10px;
	list-style: none;
	border: 1px solid var(--nts-line);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 18px 40px rgba(13, 30, 64, 0.14);
}

.nts-clean-menu li:hover > .sub-menu,
.nts-clean-menu li:focus-within > .sub-menu,
.nts-clean-menu li:hover > ul,
.nts-clean-menu li:focus-within > ul {
	display: grid;
	gap: 4px;
}

.nts-clean-menu .sub-menu a,
.nts-clean-menu ul a {
	justify-content: flex-start;
	width: 100%;
	min-height: 40px;
	padding: 0 10px;
	white-space: nowrap;
}

.nts-clean-menu a:hover {
	color: var(--nts-green);
}

.nts-clean-actions {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--nts-blue);
}

.nts-clean-icon {
	width: 42px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid transparent;
	border-radius: 999px;
	font-size: 28px;
	font-weight: 800;
}

.nts-clean-icon:hover {
	border-color: var(--nts-line);
	background: var(--nts-soft);
}

.nts-clean-menu-toggle {
	display: none;
	width: 44px;
	height: 44px;
	border: 1px solid var(--nts-line);
	border-radius: 8px;
	background: #fff;
	color: var(--nts-blue);
	font-size: 22px;
}

.nts-clean-main {
	min-height: 60vh;
}

.nts-clean-hero {
	background:
		linear-gradient(120deg, rgba(20, 41, 95, 0.9), rgba(20, 41, 95, 0.72));
	color: #fff;
}

.nts-clean-hero__grid {
	min-height: clamp(520px, 70vh, 720px);
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
	align-items: center;
	gap: 48px;
	padding: 72px 0;
}

.nts-clean-hero h1,
.nts-clean-page-hero h1,
.nts-clean-section__head h2,
.nts-clean-cta h2 {
	margin: 0;
	font-family: Montserrat, "Be Vietnam Pro", sans-serif;
	line-height: 1.08;
	letter-spacing: 0;
}

.nts-clean-hero h1 {
	max-width: 780px;
	font-size: clamp(42px, 6vw, 76px);
	color: #fff;
}

.nts-clean-hero p {
	max-width: 680px;
	font-size: 18px;
	line-height: 1.8;
	color: rgba(255, 255, 255, 0.88);
}

.nts-eyebrow {
	margin: 0 0 12px;
	color: var(--nts-gold);
	font-weight: 900;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: .08em;
}

.nts-clean-button-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 26px;
}

.nts-clean-button,
.button.primary.nts-button,
.single_add_to_cart_button,
.checkout-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 22px;
	border: 0;
	border-radius: 8px;
	background: var(--nts-green);
	color: #fff;
	font-weight: 900;
	box-shadow: none;
	cursor: pointer;
}

.nts-clean-button--ghost {
	border: 1px solid rgba(255, 255, 255, 0.5);
	background: rgba(255, 255, 255, 0.12);
}

.nts-clean-hero__media {
	padding: 30px;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.12);
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.2);
}

.nts-clean-hero__media img {
	display: block;
	width: min(340px, 70%);
	margin: 0 auto 26px;
}

.nts-clean-hero__chips {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.nts-clean-hero__chips span,
.nts-clean-fact-list span {
	display: block;
	padding: 12px 14px;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.92);
	color: var(--nts-blue);
	font-weight: 900;
	text-align: center;
}

.nts-clean-trust,
.nts-clean-section--soft {
	background: var(--nts-soft);
}

.nts-clean-trust__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	padding: 1px;
	background: var(--nts-line);
}

.nts-clean-trust__grid div {
	min-height: 118px;
	padding: 24px;
	background: #fff;
}

.nts-clean-trust strong,
.nts-clean-trust span {
	display: block;
}

.nts-clean-trust strong {
	color: var(--nts-blue);
	font-size: 17px;
}

.nts-clean-trust span {
	margin-top: 8px;
	color: var(--nts-muted);
	line-height: 1.6;
}

.nts-clean-section {
	padding: 72px 0;
}

.nts-clean-section__head {
	max-width: 760px;
	margin-bottom: 28px;
}

.nts-clean-section__head h2,
.nts-clean-cta h2,
.nts-clean-page-hero h1 {
	color: var(--nts-blue);
	font-size: clamp(30px, 4vw, 48px);
}

.nts-clean-category-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.nts-clean-category-card {
	min-height: 180px;
	padding: 24px;
	border: 1px solid var(--nts-line);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 18px 45px rgba(13, 30, 64, 0.08);
}

.nts-clean-category-card span,
.nts-clean-category-card strong {
	display: block;
}

.nts-clean-category-card span {
	color: var(--nts-blue);
	font-size: 24px;
	font-weight: 900;
}

.nts-clean-category-card strong {
	margin-top: 12px;
	color: var(--nts-muted);
	line-height: 1.5;
}

.nts-clean-product-grid,
.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nts-clean-cta {
	padding: 64px 0 84px;
	background: #fff;
}

.nts-clean-cta__box {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 24px;
	padding: 34px;
	border-radius: 8px;
	background: var(--nts-blue);
	color: #fff;
}

.nts-clean-cta__box h2 {
	color: #fff;
}

.nts-clean-page-hero {
	padding: 78px 0 44px;
	background: linear-gradient(180deg, #f7fafc, #fff);
	border-bottom: 1px solid var(--nts-line);
}

.nts-clean-page-hero p {
	max-width: 760px;
	color: var(--nts-muted);
	line-height: 1.7;
}

.nts-clean-two-col,
.nts-clean-contact-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, .85fr);
	gap: 32px;
	align-items: start;
}

.nts-clean-two-col h2 {
	margin: 0 0 14px;
	color: var(--nts-blue);
	font-size: 34px;
	line-height: 1.2;
}

.nts-clean-two-col p,
.nts-clean-content,
.nts-clean-contact-card {
	color: var(--nts-muted);
	line-height: 1.8;
}

.nts-clean-fact-list {
	display: grid;
	gap: 12px;
}

.nts-clean-fact-list span {
	background: var(--nts-soft);
	text-align: left;
}

.nts-clean-contact-card {
	padding: 28px;
	border: 1px solid var(--nts-line);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 18px 45px rgba(13, 30, 64, 0.08);
}

.nts-clean-content {
	max-width: 880px;
}

.nts-clean-content img,
.nts-clean-featured {
	border-radius: 8px;
}

.nts-clean-post-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.nts-clean-post-card {
	border: 1px solid var(--nts-line);
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
}

.nts-clean-post-card h2,
.nts-clean-post-card p {
	margin: 0;
	padding: 0 20px;
}

.nts-clean-post-card h2 {
	padding-top: 18px;
	color: var(--nts-blue);
	font-size: 21px;
	line-height: 1.35;
}

.nts-clean-post-card p {
	padding-top: 10px;
	padding-bottom: 22px;
	color: var(--nts-muted);
	line-height: 1.65;
}

.nts-clean-footer {
	background: #20242b;
	color: rgba(255, 255, 255, 0.76);
}

.nts-clean-footer__inner {
	width: min(1180px, calc(100% - 32px));
	margin-inline: auto;
	display: grid;
	grid-template-columns: 1.1fr 1.2fr .8fr 1.1fr;
	gap: 30px;
	padding: 52px 0;
}

.nts-clean-footer h3 {
	margin: 0 0 14px;
	color: #fff;
	font-size: 18px;
}

.nts-clean-footer p,
.nts-clean-footer ul {
	margin: 0 0 10px;
	padding: 0;
	list-style: none;
	line-height: 1.7;
}

.nts-clean-footer__brand img {
	width: 150px;
	margin-bottom: 18px;
}

.nts-clean-footer__bottom {
	padding: 16px;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	text-align: center;
	font-size: 14px;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	content: none;
}

.woocommerce div.product form.cart .variations select,
.woocommerce .quantity .qty,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	width: 100%;
	min-height: 42px;
	border: 1px solid var(--nts-line);
	border-radius: 8px;
	padding: 8px 12px;
	background: #fff;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	width: min(1180px, calc(100% - 32px));
	margin: 18px auto;
	border-radius: 8px;
}

.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce {
	width: min(1180px, calc(100% - 32px));
	margin: 48px auto;
}

@media (max-width: 980px) {
	.nts-clean-header__inner {
		grid-template-columns: 140px 1fr auto;
		min-height: 72px;
	}

	.nts-clean-nav {
		position: absolute;
		top: 72px;
		left: 0;
		right: 0;
		display: none;
		padding: 16px;
		background: #fff;
		border-bottom: 1px solid var(--nts-line);
	}

	.nts-clean-nav.is-open {
		display: block;
	}

	.nts-clean-menu {
		display: grid;
		justify-content: stretch;
		gap: 4px;
	}

	.nts-clean-menu .sub-menu,
	.nts-clean-menu ul {
		position: static;
		display: grid;
		min-width: 0;
		margin-left: 12px;
		padding: 0 0 0 10px;
		border: 0;
		border-left: 1px solid var(--nts-line);
		border-radius: 0;
		box-shadow: none;
	}

	.nts-clean-menu a {
		min-height: 46px;
		padding: 0 10px;
	}

	.nts-clean-menu-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.nts-clean-actions {
		justify-content: end;
	}

	.single-product .nts-s7-shell,
	.single-product .nts-s7-shell:not(.nts-s7-shell--stack) {
		box-sizing: border-box !important;
		width: min(720px, calc(100vw - 56px)) !important;
		max-width: calc(100vw - 56px) !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.single-product .nts-s7-gallery-panel,
	.single-product .nts-s7-summary-panel {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.single-product .nts-s7-summary-panel .product_title {
		font-size: 20px !important;
		line-height: 1.18 !important;
		white-space: normal !important;
		overflow-wrap: anywhere !important;
	}

	.single-product .nts-s7-summary-panel .price,
	.single-product .nts-s7-summary-panel .price .amount {
		font-size: 16px !important;
		white-space: normal !important;
	}

	.nts-clean-hero__grid,
	.nts-clean-two-col,
	.nts-clean-contact-grid,
	.nts-clean-cta__box {
		grid-template-columns: 1fr;
	}

	.nts-clean-trust__grid,
	.nts-clean-category-grid,
	.nts-clean-product-grid,
	.products,
	.nts-clean-footer__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	html,
	body {
		max-width: 100%;
		overflow-x: hidden;
	}

	.nts-clean-header__inner {
		width: min(100% - 20px, 1180px);
		grid-template-columns: 120px 1fr auto;
		gap: 8px;
	}

	.nts-clean-actions {
		display: none;
	}

	.nts-clean-hero__grid {
		min-height: auto;
		padding: 48px 0;
	}

	.nts-clean-hero h1 {
		font-size: 38px;
	}

	.nts-clean-hero p {
		font-size: 16px;
	}

	.nts-clean-trust__grid,
	.nts-clean-category-grid,
	.nts-clean-product-grid,
	.products,
	.nts-clean-post-grid,
	.nts-clean-footer__inner {
		grid-template-columns: 1fr;
	}

	.nts-clean-section {
		padding: 46px 0;
	}

	.nts-clean-page-hero {
		padding: 48px 0 30px;
	}

	.nts-clean-cta__box {
		padding: 24px;
	}

	.nts-s7-pdp,
	.nts-s7-after-summary,
	.nts-s7-shell,
	.nts-s7-gallery-panel,
	.nts-s7-summary-panel,
	.woocommerce div.product,
	.woocommerce div.product form.cart,
	.woocommerce div.product form.cart .variations,
	.woocommerce div.product form.cart .variations tbody,
	.woocommerce div.product form.cart .variations tr,
	.woocommerce div.product form.cart .variations td,
	.woocommerce div.product form.cart .variations th {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.single-product .nts-s7-shell,
	.single-product .nts-s7-shell:not(.nts-s7-shell--stack) {
		box-sizing: border-box !important;
		width: calc(100vw - 56px) !important;
		max-width: calc(100vw - 56px) !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.single-product .nts-s7-gallery-panel,
	.single-product .nts-s7-summary-panel {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.nts-s7-summary-panel,
	.nts-s7-summary-panel h1,
	.nts-s7-summary-panel h2,
	.nts-s7-summary-panel h3,
	.nts-s7-summary-panel .product_title,
	.nts-s6-decision-panel,
	.nts-s6-fact,
	.nts-spec-table-wrap {
		overflow-wrap: anywhere;
		word-break: normal;
	}

	.single-product .nts-s7-summary-panel .product_title {
		max-width: 100% !important;
		font-size: 24px !important;
		line-height: 1.18 !important;
		white-space: normal !important;
	}

	.single-product .nts-s7-summary-panel .price,
	.single-product .nts-s7-summary-panel .price .amount {
		font-size: 18px !important;
		white-space: normal !important;
	}

	.woocommerce div.product form.cart .variations tr,
	.woocommerce div.product form.cart .variations th,
	.woocommerce div.product form.cart .variations td {
		display: block;
		text-align: left;
	}

	.woocommerce div.product form.cart .variations label {
		display: block;
		margin: 14px 0 8px;
	}
}
/*
 * NTS Sprint 8 - bugfix + UI polish layer (2026-07-06).
 * Fixes: related-products broken grid, unstyled Woo tabs, CF7 forms,
 * visible screen-reader price text, price underline, header/footer/hero,
 * category cards, dealer strip, floating contact, news cards, contact map.
 */

/* ---------- 1. Related / upsells section: undo accidental grid ---------- */
section.related.products,
section.upsells.products {
	display: block !important;
	margin-top: 34px;
	padding: 30px 28px 34px;
	border: 1px solid rgba(30, 52, 112, .12);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 22px 58px rgba(20, 38, 76, .06);
}

.related.products > h2,
.upsells.products > h2 {
	margin: 0 0 20px;
	color: var(--nts-blue-900, #14264c);
	font-family: "Montserrat", "Be Vietnam Pro", Arial, sans-serif;
	font-size: clamp(22px, 2.6vw, 30px);
	line-height: 1.2;
}

.related.products ul.products,
.upsells.products ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 22px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

/* ---------- 2. Screen-reader helper (was rendering visibly) ---------- */
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	overflow: hidden;
	word-wrap: normal !important;
}

/* ---------- 3. Price text artifacts ---------- */
.price ins,
.price .amount,
.amount,
.woocommerce-Price-currencySymbol {
	text-decoration: none !important;
	border-bottom: 0 !important;
}

.price del {
	margin-right: 8px;
	color: rgba(35, 42, 51, .5);
	font-weight: 600;
}

/* ---------- 4. WooCommerce tabs (Mô tả / Thông tin / Đánh giá) ---------- */
.woocommerce-tabs {
	padding: 26px 28px 30px;
	border: 1px solid rgba(30, 52, 112, .12);
	border-radius: 18px !important;
	background: #fff;
	box-shadow: 0 22px 58px rgba(20, 38, 76, .06);
}

.woocommerce-tabs ul.wc-tabs,
.woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 22px !important;
	padding: 0 0 16px !important;
	border-bottom: 1px solid rgba(30, 52, 112, .12);
	list-style: none !important;
}

.woocommerce-tabs ul.wc-tabs li,
.woocommerce-tabs ul.tabs li {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.woocommerce-tabs ul.wc-tabs li a,
.woocommerce-tabs ul.tabs li a {
	display: inline-block;
	padding: 10px 20px;
	border: 1px solid rgba(30, 52, 112, .14);
	border-radius: 999px;
	background: #f2f5f9;
	color: var(--nts-blue-900, #14264c);
	font-weight: 700;
	font-size: 14px;
	text-decoration: none;
	transition: background .15s ease, color .15s ease;
}

.woocommerce-tabs ul.wc-tabs li.active a,
.woocommerce-tabs ul.tabs li.active a {
	background: var(--nts-blue, #1e3470);
	border-color: var(--nts-blue, #1e3470);
	color: #fff;
}

.woocommerce-Tabs-panel {
	color: var(--nts-ink, #232a33);
	font-size: 15.5px;
	line-height: 1.8;
}

.woocommerce-Tabs-panel > h2:first-child {
	margin: 0 0 14px;
	color: var(--nts-blue-900, #14264c);
	font-size: 22px;
}

.woocommerce-Tabs-panel table {
	width: 100%;
	border-collapse: collapse;
}

.woocommerce-Tabs-panel table th,
.woocommerce-Tabs-panel table td {
	padding: 10px 14px;
	border: 1px solid rgba(30, 52, 112, .12);
	text-align: left;
}

.woocommerce-Tabs-panel table th {
	width: 220px;
	background: #f7f8fb;
	color: var(--nts-blue-900, #14264c);
}

/* Reviews */
#reviews .comment-reply-title {
	display: block;
	margin-bottom: 10px;
	color: var(--nts-blue-900, #14264c);
	font-weight: 800;
}

#reviews .commentlist {
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
}

/* ---------- 5. Forms: Contact Form 7 + comment forms ---------- */
.wpcf7 form {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.wpcf7 form label {
	display: block;
	color: var(--nts-blue-900, #14264c);
	font-size: 14px;
	font-weight: 700;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 textarea,
.wpcf7 select,
#reviews textarea,
#reviews input[type="text"],
#reviews input[type="email"] {
	width: 100%;
	min-height: 46px;
	margin-top: 6px;
	padding: 10px 14px;
	border: 1px solid rgba(30, 52, 112, .18);
	border-radius: 10px;
	background: #fff;
	color: var(--nts-ink, #232a33);
	font: inherit;
	box-sizing: border-box;
	transition: border-color .15s ease, box-shadow .15s ease;
}

.wpcf7 textarea,
#reviews textarea {
	min-height: 140px;
	resize: vertical;
}

.wpcf7 input:focus,
.wpcf7 textarea:focus,
#reviews textarea:focus,
#reviews input:focus {
	outline: none;
	border-color: var(--nts-blue, #1e3470);
	box-shadow: 0 0 0 3px rgba(30, 52, 112, .14);
}

.wpcf7 .wpcf7-list-item {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 6px 14px 0 0;
	font-weight: 500;
}

.wpcf7 .wpcf7-list-item input[type="checkbox"],
.wpcf7 .wpcf7-list-item input[type="radio"] {
	width: 17px;
	height: 17px;
	accent-color: var(--nts-blue, #1e3470);
}

.wpcf7 input[type="file"] {
	width: 100%;
	margin-top: 8px;
	padding: 14px;
	border: 1px dashed rgba(30, 52, 112, .3);
	border-radius: 10px;
	background: #f7f8fb;
	font-size: 13px;
}

.wpcf7 input[type="submit"],
.wpcf7 .wpcf7-submit,
#reviews input[type="submit"] {
	align-self: flex-start;
	min-height: 50px;
	margin-top: 4px;
	padding: 13px 30px;
	border: 0;
	border-radius: 10px;
	background: var(--nts-blue, #1e3470);
	color: #fff;
	font-family: inherit;
	font-size: 15px;
	font-weight: 800;
	cursor: pointer;
	transition: background .15s ease, transform .12s ease;
}

.wpcf7 input[type="submit"]:hover,
#reviews input[type="submit"]:hover {
	background: var(--nts-blue-900, #14264c);
	transform: translateY(-1px);
}

.wpcf7 .wpcf7-spinner {
	margin: 0 0 0 10px;
}

.wpcf7 .wpcf7-not-valid-tip {
	margin-top: 4px;
	color: #b3261e;
	font-size: 12.5px;
	font-weight: 600;
}

.wpcf7 .wpcf7-response-output {
	margin: 4px 0 0 !important;
	padding: 12px 16px !important;
	border-radius: 10px !important;
	border-width: 1px !important;
	font-size: 14px;
}

/* ---------- 6. Header: wordmark + icons + hotline ---------- */
.nts-clean-logo {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
}

.nts-clean-logo img {
	height: 46px;
	width: auto;
}

.nts-clean-logo__text {
	display: flex;
	flex-direction: column;
	line-height: 1.08;
}

.nts-clean-logo__text strong {
	color: var(--nts-blue-900, #14264c);
	font-family: "Montserrat", "Be Vietnam Pro", Arial, sans-serif;
	font-size: 17px;
	font-weight: 900;
	letter-spacing: .02em;
}

.nts-clean-logo__text span {
	margin-top: 3px;
	color: var(--nts-gold-ink, #a8884e);
	font-size: 9.5px;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.nts-clean-actions {
	display: flex;
	align-items: center;
	gap: 10px;
}

.nts-clean-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid rgba(30, 52, 112, .16);
	border-radius: 999px;
	background: #fff;
	color: var(--nts-blue-900, #14264c);
	text-decoration: none;
	transition: border-color .15s ease, background .15s ease;
}

.nts-clean-icon:hover {
	border-color: var(--nts-blue, #1e3470);
	background: #f2f5f9;
}

.nts-clean-icon svg {
	width: 18px;
	height: 18px;
	display: block;
}

.nts-clean-hotline {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	border-radius: 999px;
	background: var(--nts-blue, #1e3470);
	color: #fff !important;
	font-size: 14px;
	font-weight: 800;
	text-decoration: none;
	white-space: nowrap;
}

.nts-clean-hotline svg {
	width: 15px;
	height: 15px;
}

@media only screen and (max-width: 1080px) {
	.nts-clean-hotline { display: none; }
	.nts-clean-logo__text strong { font-size: 14px; }
}

/* ---------- 7. Hero: real product photo ---------- */
.nts-clean-hero__media {
	position: relative;
}

.nts-clean-hero__media .nts-hero-photo {
	display: block;
	width: 100%;
	height: 430px;
	object-fit: cover;
	object-position: center 62%;
	border-radius: 18px;
	box-shadow: 0 30px 70px rgba(8, 18, 42, .38);
}

.nts-clean-hero__media .nts-clean-hero__chips {
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: 14px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
}

.nts-clean-hero__chips span {
	padding: 8px 13px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .94);
	color: var(--nts-blue-900, #14264c);
	font-size: 13px;
	font-weight: 800;
	box-shadow: 0 6px 18px rgba(8, 18, 42, .18);
}

/* ---------- 8. Category cards with photos ---------- */
.nts-clean-category-card {
	display: flex;
	flex-direction: column;
	min-height: 0;
	padding: 0;
	overflow: hidden;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.nts-clean-category-card:hover {
	transform: translateY(-3px);
	border-color: rgba(168, 136, 78, .55);
	box-shadow: 0 24px 55px rgba(13, 30, 64, .14);
}

.nts-clean-category-card img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	background: #f4f6f9;
}

.nts-clean-category-card__body {
	padding: 18px 20px 22px;
}

.nts-clean-category-card__body span {
	display: block;
	color: var(--nts-blue, #1e3470);
	font-size: 21px;
	font-weight: 900;
}

.nts-clean-category-card__body strong {
	display: block;
	margin-top: 8px;
	color: var(--nts-muted, #5b6572);
	font-weight: 500;
	line-height: 1.5;
}

/* ---------- 9. Dealer strip ---------- */
.nts-dealer {
	padding: 10px 0 56px;
	background: #fff;
}

.nts-dealer__box {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 24px;
	padding: 30px 34px;
	border: 1px solid rgba(168, 136, 78, .4);
	border-radius: 14px;
	background: linear-gradient(135deg, #fffdf7, #fdf3dd);
}

.nts-dealer__box h2 {
	margin: 6px 0 8px;
	color: var(--nts-blue-900, #14264c);
	font-size: clamp(22px, 3vw, 32px);
}

.nts-dealer__box p {
	margin: 0;
	color: var(--nts-muted, #5b6572);
	line-height: 1.6;
}

.nts-button--gold {
	background: var(--nts-gold-ink, #a8884e) !important;
	color: #fff !important;
}

.nts-button--gold:hover {
	background: #8f7038 !important;
}

/* ---------- 10. Breadcrumb ---------- */
.woocommerce-breadcrumb {
	margin: 0 0 16px !important;
	color: rgba(35, 42, 51, .62) !important;
	font-size: 13px !important;
}

.woocommerce-breadcrumb a {
	color: var(--nts-blue, #1e3470) !important;
	font-weight: 600;
	text-decoration: none;
}

.nts-s7-breadcrumb-shell {
	padding-top: 0;
	margin-bottom: 4px !important;
}

.single-product .nts-s7-pdp .nts-s7-breadcrumb-shell {
	display: block !important;
}

/* ---------- 11. Floating contact buttons ---------- */
.nts-float {
	position: fixed;
	right: 18px;
	bottom: 20px;
	z-index: 998;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.nts-float a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 999px;
	color: #fff !important;
	text-decoration: none;
	box-shadow: 0 14px 34px rgba(8, 18, 42, .3);
	transition: transform .15s ease;
}

.nts-float a:hover {
	transform: scale(1.07);
}

.nts-float__call {
	background: var(--nts-blue, #1e3470);
	animation: nts-pulse 2.4s ease-out infinite;
}

.nts-float__call svg {
	width: 22px;
	height: 22px;
}

.nts-float__zalo {
	background: #0068ff;
	font-size: 13.5px;
	font-weight: 900;
	letter-spacing: .01em;
}

@keyframes nts-pulse {
	0%   { box-shadow: 0 14px 34px rgba(8,18,42,.3), 0 0 0 0 rgba(30,52,112,.42); }
	70%  { box-shadow: 0 14px 34px rgba(8,18,42,.3), 0 0 0 16px rgba(30,52,112,0); }
	100% { box-shadow: 0 14px 34px rgba(8,18,42,.3), 0 0 0 0 rgba(30,52,112,0); }
}

@media only screen and (max-width: 760px) {
	.nts-float { right: 12px; bottom: 14px; }
	body.single-product .nts-float { bottom: 92px; }
}

/* ---------- 12. News grid & cards ---------- */
.nts-clean-post-grid {
	align-items: stretch;
}

.nts-clean-post-card {
	border: 1px solid rgba(30, 52, 112, .12);
	border-radius: 14px;
	background: #fff;
	overflow: hidden;
	box-shadow: 0 16px 36px rgba(20, 38, 76, .06);
	transition: transform .18s ease, box-shadow .18s ease;
}

.nts-clean-post-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 24px 50px rgba(20, 38, 76, .12);
}

.nts-clean-post-card a {
	display: flex;
	flex-direction: column;
	height: 100%;
	text-decoration: none;
}

.nts-clean-post-card img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	display: block;
}

.nts-clean-post-card h2 {
	margin: 16px 18px 8px;
	color: var(--nts-blue-900, #14264c);
	font-size: 18px;
	line-height: 1.35;
}

.nts-clean-post-card p {
	margin: 0 18px 18px;
	color: var(--nts-muted, #5b6572);
	font-size: 14px;
	line-height: 1.65;
}

/* ---------- 13. Footer polish ---------- */
.nts-clean-footer__inner {
	grid-template-columns: 1.15fr 1.05fr .7fr .75fr 1fr;
}

.nts-clean-footer__brand img {
	width: 92px;
	height: auto;
	padding: 10px;
	border-radius: 12px;
	background: #fff;
}

.nts-clean-footer a {
	color: rgba(255, 255, 255, .78);
	text-decoration: none;
}

.nts-clean-footer a:hover {
	color: #fff;
	text-decoration: underline;
}

.nts-clean-footer ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.nts-clean-footer ul li {
	margin: 0 0 9px;
}

@media only screen and (max-width: 980px) {
	.nts-clean-footer__inner {
		grid-template-columns: 1fr 1fr;
	}
}

@media only screen and (max-width: 560px) {
	.nts-clean-footer__inner {
		grid-template-columns: 1fr;
	}
}

/* ---------- 14. Contact page ---------- */
.nts-clean-contact-grid {
	grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr) !important;
	align-items: start;
}

.nts-clean-contact-card {
	border: 1px solid rgba(30, 52, 112, .12);
	border-radius: 14px;
	background: #fff;
	padding: 28px !important;
	box-shadow: 0 16px 40px rgba(20, 38, 76, .07);
}

.nts-clean-contact-card h2 {
	margin-top: 0;
	color: var(--nts-blue-900, #14264c);
	font-size: 24px;
}

.nts-clean-contact-card p {
	line-height: 1.7;
}

.nts-contact-map {
	margin-top: 28px;
	border: 1px solid rgba(30, 52, 112, .12);
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 16px 40px rgba(20, 38, 76, .07);
}

.nts-contact-map iframe {
	display: block;
	width: 100%;
	height: 400px;
	border: 0;
}

@media only screen and (max-width: 860px) {
	.nts-clean-contact-grid {
		grid-template-columns: 1fr !important;
	}
}

/* ---------- 15. Misc ---------- */
.nts-s4-ordering select {
	min-height: 42px;
	padding: 8px 14px;
	border: 1px solid rgba(30, 52, 112, .16);
	border-radius: 8px;
	background: #fff;
}

.single_add_to_cart_button:disabled,
.single_add_to_cart_button.disabled {
	opacity: .45;
	cursor: not-allowed;
}

.variations .reset_variations {
	font-size: 12.5px;
	color: var(--nts-muted, #5b6572);
}

/* Related grid responsive */
@media only screen and (max-width: 1100px) {
	.related.products ul.products,
	.upsells.products ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media only screen and (max-width: 860px) {
	.related.products ul.products,
	.upsells.products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 14px !important;
	}

	section.related.products,
	section.upsells.products,
	.woocommerce-tabs {
		padding: 20px 16px 24px;
	}
}

@media only screen and (max-width: 480px) {
	.related.products ul.products,
	.upsells.products ul.products {
		grid-template-columns: 1fr !important;
	}

	.nts-clean-hero__media .nts-hero-photo {
		height: 300px;
	}
}

/* ---------- 16. Patch: wordmark no-wrap ---------- */
.nts-clean-logo__text strong,
.nts-clean-logo__text span {
	white-space: nowrap;
}

@media only screen and (max-width: 560px) {
	.nts-clean-logo__text span { display: none; }
	.nts-clean-logo__text strong { font-size: 13px; }
	.nts-clean-logo img { height: 38px; }
}

.nts-clean-logo { margin-right: 28px; }

/* Header grid: logo column fits wordmark */
.nts-clean-header__inner {
	grid-template-columns: auto minmax(0, 1fr) auto auto !important;
	gap: 26px;
}

/* Menu items on one line */
.nts-clean-menu li a { white-space: nowrap; }

@media only screen and (max-width: 1240px) {
	.nts-clean-logo__text span { display: none; }
}
