/* ==========================================================
   NTB LUXURY PRODUCT PAGE — PHASE 1
   Compact buying panel, adaptive gallery, full-width story.
========================================================== */

body.single-product {
	--ntb-bg: #f8f3eb;
	--ntb-paper: #fffdf8;
	--ntb-paper-soft: #f5eee4;
	--ntb-ink: #241f1a;
	--ntb-text: #625a52;
	--ntb-muted: #8c8175;
	--ntb-gold: #b78948;
	--ntb-gold-dark: #8f632c;
	--ntb-line: rgba(143, 99, 44, 0.22);
	--ntb-line-soft: rgba(65, 46, 29, 0.11);
	--ntb-shadow: 0 24px 60px rgba(45, 31, 18, 0.10);
	background: var(--ntb-bg);
	color: var(--ntb-text);
}

body.single-product #primary {
	width: 100%;
	margin: 0;
	padding: 132px clamp(24px, 5vw, 76px) 90px;
}

body.single-product #main {
	width: min(100%, 1460px);
	margin: 0 auto;
}

body.single-product div.product,
body.single-product div.product .summary,
body.single-product div.product div.images {
	float: none !important;
	width: 100% !important;
}

body.single-product .woocommerce-breadcrumb {
	margin: 0 0 24px;
	color: var(--ntb-muted);
	font-size: 12px;
	line-height: 1.5;
}

body.single-product .woocommerce-breadcrumb a {
	color: var(--ntb-gold-dark);
	text-decoration: none;
}

body.single-product div.product {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(390px, 0.88fr);
	grid-template-rows: auto auto auto;
	column-gap: clamp(42px, 5vw, 78px);
	align-items: start;
}

/* Gallery */
.ntb-art-gallery {
	grid-column: 1;
	grid-row: 1;
	width: 100%;
	min-width: 0;
}

.ntb-art-gallery__stage {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	border: 1px solid var(--ntb-line-soft);
	background: linear-gradient(145deg, #fffefa, var(--ntb-paper-soft));
	box-shadow: var(--ntb-shadow);
	transition: aspect-ratio 260ms ease;
}

.ntb-art-gallery__image-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 0;
	overflow: hidden;
}

.ntb-art-gallery__main-image {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	margin: 0 auto !important;
	object-fit: contain !important;
	object-position: center !important;
	opacity: 1;
	transition: opacity 220ms ease, transform 360ms ease;
}

.ntb-art-gallery__main-image.is-changing {
	opacity: 0.18;
	transform: scale(0.995);
}

.ntb-art-gallery__zoom {
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 5;
	width: 48px;
	height: 48px;
	border: 1px solid var(--ntb-line);
	border-radius: 50%;
	background: rgba(255, 253, 248, 0.95);
	box-shadow: 0 12px 28px rgba(45, 31, 18, 0.13);
	cursor: pointer;
}

.ntb-art-gallery__zoom span::before {
	content: "";
	position: absolute;
	top: 14px;
	left: 14px;
	width: 13px;
	height: 13px;
	border: 2px solid var(--ntb-ink);
	border-radius: 50%;
}

.ntb-art-gallery__zoom span::after {
	content: "";
	position: absolute;
	top: 29px;
	left: 28px;
	width: 9px;
	height: 2px;
	background: var(--ntb-ink);
	transform: rotate(45deg);
	transform-origin: left center;
}

.ntb-art-gallery__thumbs {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 13px;
	width: fit-content;
	max-width: 100%;
	margin: 16px auto 0;
}

.ntb-art-gallery__thumb {
	flex: 0 0 auto;
	width: clamp(74px, 7vw, 98px);
	aspect-ratio: 1 / 1;
	padding: 4px;
	border: 1px solid var(--ntb-line-soft);
	background: var(--ntb-paper);
	box-shadow: 0 7px 18px rgba(45, 31, 18, 0.055);
	opacity: 0.62;
	cursor: pointer;
	transition: opacity 200ms ease, border-color 200ms ease, transform 200ms ease;
}

.ntb-art-gallery__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ntb-art-gallery__thumb:hover {
	opacity: 0.92;
	transform: translateY(-2px);
	border-color: rgba(183, 137, 72, 0.55);
}

.ntb-art-gallery__thumb.is-active {
	opacity: 1;
	border-color: var(--ntb-gold);
	box-shadow: 0 0 0 2px var(--ntb-bg), 0 0 0 3px var(--ntb-gold);
}

/* Compact product summary */
body.single-product .summary.entry-summary {
	grid-column: 2;
	grid-row: 1;
	margin: 0 !important;
	padding: 4px 0 0 !important;
}

body.single-product .summary.entry-summary::before {
	content: "Original Artwork";
	display: block;
	margin: 0 0 9px;
	color: var(--ntb-gold-dark);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

body.single-product .product_title {
	max-width: 700px;
	margin: 0 0 16px !important;
	color: var(--ntb-ink);
	font-family: "Bodoni Moda", "Times New Roman", serif;
	font-size: clamp(46px, 3.9vw, 64px);
	font-weight: 500;
	line-height: 1.02;
	letter-spacing: -0.035em;
	text-wrap: balance;
}

body.single-product .summary .price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 14px !important;
	color: var(--ntb-ink) !important;
	font-family: "Manrope", "Inter", sans-serif;
	font-size: clamp(25px, 2vw, 34px) !important;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -0.025em;
}

body.single-product .woocommerce-product-details__short-description {
	margin: 0 0 16px;
}

body.single-product .woocommerce-product-details__short-description p {
	margin: 0;
	color: var(--ntb-text);
	font-size: 14px;
	line-height: 1.72;
}

body.single-product form.cart {
	margin: 16px 0 0 !important;
	padding-top: 17px;
	border-top: 1px solid var(--ntb-line);
}

body.single-product table.variations {
	width: 100%;
	margin: 0 0 14px !important;
	border: 0 !important;
}

body.single-product table.variations th,
body.single-product table.variations td {
	display: block;
	width: 100% !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

body.single-product table.variations th.label {
	margin-bottom: 6px;
}

body.single-product table.variations th.label label {
	color: var(--ntb-gold-dark);
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

body.single-product table.variations select {
	width: 100%;
	height: 50px;
	padding: 0 14px;
	border: 1px solid var(--ntb-line);
	border-radius: 0;
	background: var(--ntb-paper);
	color: var(--ntb-ink);
}

body.single-product .reset_variations {
	font-size: 10px;
	color: var(--ntb-muted);
}

body.single-product .single_variation {
	margin-bottom: 8px;
}

body.single-product .woocommerce-variation-add-to-cart,
body.single-product form.cart:not(.variations_form) {
	display: grid;
	grid-template-columns: 68px minmax(0, 1fr);
	gap: 10px;
}

body.single-product .quantity {
	width: 68px;
	margin: 0 !important;
}

body.single-product .quantity .qty {
	width: 100% !important;
	height: 54px;
	border: 1px solid var(--ntb-line);
	background: var(--ntb-paper);
	text-align: center;
}

body.single-product .single_add_to_cart_button {
	width: 100% !important;
	min-height: 54px;
	margin: 0 !important;
	border: 1px solid var(--ntb-gold) !important;
	border-radius: 0 !important;
	background: linear-gradient(135deg, #a87535, #c79c59) !important;
	color: #fff !important;
	box-shadow: 0 13px 28px rgba(104, 68, 29, 0.14);
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

body.single-product .artwork-enquiry-button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	min-height: 50px;
	margin-top: 9px;
	border: 1px solid var(--ntb-gold);
	color: var(--ntb-gold-dark);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.13em;
	text-decoration: none;
	text-transform: uppercase;
	transition: background 220ms ease, color 220ms ease;
}

body.single-product .artwork-enquiry-button:hover {
	background: var(--ntb-gold-dark);
	color: #fff;
}

/* Premium artwork assurance cards */
body.single-product .artwork-trust-strip {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	margin-top: 18px;
	border: 1px solid var(--ntb-line);
	background: var(--ntb-line);
	box-shadow: 0 14px 36px rgba(45, 31, 18, 0.055);
}

body.single-product .artwork-trust-item {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	min-width: 0;
	min-height: 152px;
	padding: 22px 12px 18px;
	background: rgba(255, 253, 248, 0.94);
	text-align: center;
	overflow: hidden;
}

body.single-product .artwork-trust-item::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 34px;
	height: 2px;
	background: var(--ntb-gold);
	transform: translateX(-50%);
}

body.single-product .artwork-trust-item__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	margin-bottom: 13px;
	border: 1px solid rgba(183, 137, 72, 0.34);
	border-radius: 50%;
	background: linear-gradient(145deg, #fffefa, #f4eadb);
	color: var(--ntb-gold-dark);
	box-shadow: 0 8px 20px rgba(78, 50, 22, 0.07);
}

body.single-product .artwork-trust-item__icon svg {
	width: 21px;
	height: 21px;
	stroke: currentColor;
	stroke-width: 1.55;
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body.single-product .artwork-trust-item strong {
	color: var(--ntb-ink);
	font-family: "Manrope", "Inter", sans-serif;
	font-size: 10px;
	font-weight: 600;
	line-height: 1.45;
	letter-spacing: 0.075em;
	text-transform: uppercase;
}

body.single-product .artwork-trust-item small {
	display: block;
	max-width: 145px;
	margin-top: 7px;
	color: var(--ntb-muted);
	font-size: 10px;
	line-height: 1.5;
}

/* Hide SKU/category even if another plugin re-adds the meta block. */
body.single-product .product_meta {
	display: none !important;
}

/* Full-width description after the two-column purchase area */
body.single-product .woocommerce-tabs {
	grid-column: 1 / -1;
	grid-row: 2;
	width: 100%;
	margin: 58px 0 0 !important;
	padding: 0 0 58px !important;
	border-top: 1px solid var(--ntb-line);
	background: transparent;
}

body.single-product .woocommerce-tabs ul.tabs {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: clamp(24px, 4vw, 52px);
	margin: 0 0 28px !important;
	padding: 24px 0 0 !important;
	border: 0 !important;
}

body.single-product .woocommerce-tabs ul.tabs::before,
body.single-product .woocommerce-tabs ul.tabs::after,
body.single-product .woocommerce-tabs ul.tabs li::before,
body.single-product .woocommerce-tabs ul.tabs li::after {
	display: none !important;
}

body.single-product .woocommerce-tabs ul.tabs li {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

body.single-product .woocommerce-tabs ul.tabs li a {
	padding: 9px 0 !important;
	border-bottom: 1px solid transparent;
	color: var(--ntb-muted) !important;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

body.single-product .woocommerce-tabs ul.tabs li.active a {
	border-color: var(--ntb-gold);
	color: var(--ntb-gold-dark) !important;
}

body.single-product .woocommerce-Tabs-panel {
	width: min(100%, 1160px);
	margin: 0 auto !important;
}

body.single-product .woocommerce-Tabs-panel > h2 {
	display: none;
}

body.single-product .woocommerce-Tabs-panel p,
body.single-product .woocommerce-Tabs-panel li {
	color: var(--ntb-text);
	font-size: 15px;
	line-height: 1.9;
}

body.single-product .woocommerce-product-attributes {
	width: min(100%, 900px);
	margin: 0 auto;
	border-collapse: collapse;
}

body.single-product .woocommerce-product-attributes th,
body.single-product .woocommerce-product-attributes td {
	padding: 15px 10px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--ntb-line) !important;
	background: transparent !important;
}

/* Related products remain last. */
body.single-product .related.products {
	grid-column: 1 / -1;
	grid-row: 3;
	margin: 0 calc(-1 * clamp(24px, 5vw, 76px)) !important;
	padding: 78px clamp(38px, 6vw, 96px) 104px;
	border-top: 1px solid var(--ntb-line);
	background: var(--ntb-paper);
}

body.single-product .related.products > h2 {
	margin: 0 0 38px;
	color: var(--ntb-ink);
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: clamp(40px, 5vw, 56px);
	font-weight: 500;
	text-align: center;
}

body.single-product .related.products ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 26px;
	margin: 0 !important;
}

body.single-product .related.products ul.products li.product {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	text-align: center;
}

body.single-product .related.products li.product .button {
	display: none;
}

/* Lightbox */
.ntb-lightbox-open { overflow: hidden; }
.ntb-art-lightbox {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr) 72px;
	align-items: center;
	gap: 18px;
	padding: 28px;
	background: rgba(18, 15, 12, 0.94);
}
.ntb-art-lightbox[hidden] { display: none; }
.ntb-art-lightbox__figure {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	max-width: 100%;
	max-height: 92vh;
	margin: 0;
}
.ntb-art-lightbox__figure img {
	display: block;
	max-width: 100%;
	max-height: 84vh;
	object-fit: contain;
}
.ntb-art-lightbox__figure figcaption {
	margin-top: 12px;
	color: #fff;
	font-size: 13px;
	text-align: center;
}
.ntb-art-lightbox__close,
.ntb-art-lightbox__nav {
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.10);
	color: #fff;
	cursor: pointer;
}
.ntb-art-lightbox__close {
	position: absolute;
	top: 22px;
	right: 22px;
	width: 48px;
	height: 48px;
	font-size: 30px;
}
.ntb-art-lightbox__nav {
	width: 54px;
	height: 54px;
	font-size: 34px;
}

/* Sticky mobile purchase bar */
body.single-product .artwork-sticky-buy {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 9998;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(145px, 42%);
	align-items: center;
	gap: 12px;
	padding: 11px 14px calc(11px + env(safe-area-inset-bottom));
	visibility: hidden;
	opacity: 0;
	border-top: 1px solid var(--ntb-line);
	background: rgba(255, 253, 248, 0.97);
	box-shadow: 0 -12px 36px rgba(42, 28, 15, 0.13);
	transform: translateY(100%);
	transition: opacity 280ms ease, visibility 280ms ease, transform 280ms ease;
}
body.single-product .artwork-sticky-buy.is-visible {
	visibility: visible;
	opacity: 1;
	transform: translateY(0);
}
body.single-product .artwork-sticky-buy__title {
	display: block;
	overflow: hidden;
	color: var(--ntb-ink);
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 18px;
	line-height: 1.1;
	text-overflow: ellipsis;
	white-space: nowrap;
}
body.single-product .artwork-sticky-buy__price {
	display: block;
	margin-top: 3px;
	color: var(--ntb-gold-dark);
	font-size: 13px;
	font-weight: 600;
}
body.single-product .artwork-sticky-buy__button {
	min-height: 50px;
	border: 1px solid var(--ntb-gold);
	background: var(--ntb-gold);
	color: #fff;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

@media (max-width: 899px) {
	body.single-product #primary {
		padding: 108px 16px 80px;
	}
	body.single-product div.product {
		display: flex;
		flex-direction: column;
	}
	.ntb-art-gallery { order: 1; }
	body.single-product .summary.entry-summary {
		order: 2;
		margin-top: 38px !important;
		padding-top: 30px !important;
		border-top: 1px solid var(--ntb-line);
	}
	body.single-product .woocommerce-tabs {
		order: 3;
		margin-top: 62px !important;
	}
	body.single-product .related.products {
		order: 4;
		margin: 0 -16px !important;
	}
	.ntb-art-gallery__stage {
		aspect-ratio: 4 / 3;
	}
	.ntb-art-gallery__thumbs {
		justify-content: flex-start;
		flex-wrap: nowrap;
		width: 100%;
		overflow-x: auto;
		padding-bottom: 6px;
	}
	.ntb-art-gallery__thumb {
		flex-basis: 76px;
		width: 76px;
	}
	body.single-product .related.products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.ntb-art-lightbox {
		grid-template-columns: 48px minmax(0, 1fr) 48px;
		padding: 18px 10px;
	}
	.ntb-art-lightbox__nav {
		width: 44px;
		height: 44px;
	}
}

@media (min-width: 900px) {
	body.single-product .artwork-sticky-buy { display: none; }
}


@media (max-width: 1180px) and (min-width: 900px) {
	body.single-product .artwork-trust-strip {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	body.single-product .product_title {
		font-size: 44px;
	}
	body.single-product .artwork-trust-strip {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	body.single-product .artwork-trust-item {
		min-height: 142px;
	}
	body.single-product .woocommerce-tabs ul.tabs {
		justify-content: flex-start;
		gap: 18px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ntb-art-gallery__stage,
	.ntb-art-gallery__main-image,
	.ntb-art-gallery__thumb,
	body.single-product .artwork-sticky-buy {
		transition-duration: 0.01ms !important;
	}
}

/* ==========================================================
   NTB LUXURY V3 — TYPOGRAPHY, SERVICES & ASSURANCE
========================================================== */

body.single-product {
	--ntb-bg: #fbfaf7;
	--ntb-paper: #fffefa;
	--ntb-ink: #302721;
	--ntb-text: #625b54;
	background: #fbfaf7;
}

body.single-product #primary {
	background: #fbfaf7;
}

body.single-product .product_title {
	max-width: 650px;
	margin-bottom: 14px !important;
	color: #302721;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: clamp(43px, 3.4vw, 58px);
	font-weight: 500;
	line-height: 0.99;
	letter-spacing: -0.025em;
	overflow-wrap: anywhere;
	hyphens: auto;
	text-wrap: balance;
}

body.single-product .summary .price {
	margin-bottom: 12px !important;
	color: #342b25 !important;
	font-family: "Manrope", "Inter", sans-serif;
	font-size: clamp(24px, 1.8vw, 31px) !important;
	font-weight: 500;
	letter-spacing: -0.025em;
}

body.single-product .woocommerce-product-details__short-description {
	margin-bottom: 13px;
}

body.single-product .woocommerce-product-details__short-description p,
body.single-product .woocommerce-Tabs-panel p,
body.single-product .woocommerce-Tabs-panel li {
	color: #625b54;
	font-family: "Inter", Arial, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.85;
}

/* Two artist-service cards placed between enquiry and assurances. */
body.single-product .ntb-service-cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 20px;
}

body.single-product .ntb-service-card {
	position: relative;
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	gap: 14px;
	min-height: 220px;
	padding: 25px 22px 22px;
	border: 1px solid rgba(143, 99, 44, 0.22);
	background:
		linear-gradient(145deg, rgba(255,255,255,.82), rgba(247,239,227,.9));
	box-shadow: 0 16px 38px rgba(52, 35, 19, 0.065);
	overflow: hidden;
}

body.single-product .ntb-service-card::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 88px;
	height: 88px;
	background: radial-gradient(circle at top right, rgba(183,137,72,.14), transparent 68%);
	pointer-events: none;
}

body.single-product .ntb-service-card__number {
	color: rgba(143, 99, 44, 0.78);
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 27px;
	line-height: 1;
}

body.single-product .ntb-service-card__eyebrow {
	display: block;
	margin-bottom: 9px;
	color: #96682f;
	font-size: 9px;
	font-weight: 600;
	letter-spacing: .15em;
	text-transform: uppercase;
}

body.single-product .ntb-service-card h3 {
	margin: 0 0 10px;
	color: #302721;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.08;
}

body.single-product .ntb-service-card p {
	margin: 0 0 16px;
	color: #716960;
	font-size: 12px;
	line-height: 1.7;
}

body.single-product .ntb-service-card a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #8f632c;
	font-size: 9px;
	font-weight: 600;
	letter-spacing: .11em;
	text-decoration: none;
	text-transform: uppercase;
}

body.single-product .ntb-service-card a span {
	font-size: 14px;
	transition: transform 200ms ease;
}

body.single-product .ntb-service-card a:hover span {
	transform: translateX(4px);
}

/* Four assurance cards: quieter and visually distinct from services. */
body.single-product .artwork-trust-strip {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-top: 12px;
	border: 0;
	background: transparent;
	box-shadow: none;
}

body.single-product .artwork-trust-item {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	grid-template-rows: auto auto;
	align-items: center;
	justify-items: start;
	column-gap: 13px;
	min-height: 100px;
	padding: 17px 16px;
	border: 1px solid rgba(143, 99, 44, 0.18);
	background: rgba(255, 254, 250, 0.82);
	text-align: left;
}

body.single-product .artwork-trust-item::before {
	display: none;
}

body.single-product .artwork-trust-item__icon {
	grid-column: 1;
	grid-row: 1 / 3;
	width: 42px;
	height: 42px;
	margin: 0;
	background: #f7efe3;
	box-shadow: none;
}

body.single-product .artwork-trust-item__icon svg {
	width: 19px;
	height: 19px;
}

body.single-product .artwork-trust-item strong {
	grid-column: 2;
	grid-row: 1;
	font-size: 9px;
	line-height: 1.35;
	letter-spacing: .075em;
}

body.single-product .artwork-trust-item small {
	grid-column: 2;
	grid-row: 2;
	max-width: none;
	margin: 3px 0 0;
	font-size: 10px;
	line-height: 1.4;
}

/* Full-width story with a restrained reading measure. */
body.single-product .woocommerce-tabs {
	margin-top: 52px !important;
	background: #fffefa;
	padding: 0 clamp(24px, 5vw, 72px) 70px !important;
	border: 1px solid rgba(143, 99, 44, 0.14);
}

body.single-product .woocommerce-Tabs-panel {
	width: min(100%, 1240px);
}

body.single-product .woocommerce-Tabs-panel p {
	max-width: 1080px;
	margin-right: auto;
	margin-left: auto;
}

@media (max-width: 1180px) and (min-width: 900px) {
	body.single-product .ntb-service-cards {
		grid-template-columns: 1fr;
	}
	body.single-product .ntb-service-card {
		min-height: 0;
	}
}

@media (max-width: 680px) {
	body.single-product .product_title {
		font-size: clamp(40px, 12vw, 52px);
	}
	body.single-product .ntb-service-cards,
	body.single-product .artwork-trust-strip {
		grid-template-columns: 1fr;
	}
	body.single-product .ntb-service-card {
		min-height: 0;
	}
	body.single-product .woocommerce-tabs {
		padding-right: 18px !important;
		padding-left: 18px !important;
	}
}
\n\n/* ==========================================================\n   NTB LUXURY V4 — PRODUCT REFINEMENTS\n========================================================== */\nbody.single-product{--ntb-bg:#fdfcf9;--ntb-paper:#fffefa;--ntb-paper-soft:#f8f4ed;--ntb-ink:#2b241f;--ntb-text:#58534e;background:#fdfcf9}body.single-product #primary{background:#fdfcf9}\nbody.single-product .product_title{color:#2b241f;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(42px,3.15vw,56px);font-weight:500;line-height:.99;letter-spacing:-.018em;overflow-wrap:normal;word-break:normal;hyphens:none}\nbody.single-product .summary .price{color:#312a25!important;font-family:"Manrope","Inter",sans-serif;font-size:clamp(24px,1.8vw,31px)!important;font-weight:500}\nbody.single-product .woocommerce-product-details__short-description p,body.single-product .woocommerce-Tabs-panel p,body.single-product .woocommerce-Tabs-panel li{color:#5d5852;font-family:"Manrope","Inter",sans-serif;font-size:15px;font-weight:400;line-height:1.88}\n.ntb-art-gallery__thumb-region{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:8px;width:100%;margin-top:17px}.ntb-art-gallery__thumbs{display:flex;align-items:center;justify-content:flex-start;flex-wrap:nowrap;gap:12px;width:100%;max-width:none;margin:0;padding:4px 3px 8px;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:x proximity;scrollbar-width:none;overscroll-behavior-inline:contain}.ntb-art-gallery__thumbs::-webkit-scrollbar{display:none}.ntb-art-gallery__thumb{flex:0 0 clamp(74px,7vw,96px);width:clamp(74px,7vw,96px);scroll-snap-align:center}.ntb-art-gallery__thumb-nav{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid rgba(143,99,44,.2);border-radius:50%;background:rgba(255,254,250,.94);color:#7c572c;box-shadow:0 7px 18px rgba(52,36,20,.07);font-family:Georgia,serif;font-size:23px;line-height:1}.ntb-art-gallery__thumb-nav:disabled{opacity:.25;cursor:default}.ntb-art-gallery__thumb-nav[hidden]{display:none}\n.ntb-art-lightbox{position:fixed!important;inset:0!important;z-index:2147483000!important;background:rgba(18,15,12,.96)}.ntb-art-lightbox__figure{width:min(100%,1500px);height:min(88vh,1000px);overflow:auto;cursor:zoom-in}.ntb-art-lightbox__figure img{max-width:92vw;max-height:82vh;transform-origin:center center;transition:transform .18s ease;cursor:zoom-in}.ntb-art-lightbox__figure img.is-zoomed{max-width:none;max-height:none;cursor:zoom-out}.ntb-art-lightbox__tools{position:absolute;top:22px;left:50%;z-index:4;display:flex;gap:6px;transform:translateX(-50%)}.ntb-art-lightbox__tools button{min-width:42px;height:38px;padding:0 10px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.09);color:#fff;font-size:13px}\nbody.single-product .product-type-simple form.cart,body.single-product form.cart:not(.variations_form){display:grid!important;grid-template-columns:68px minmax(0,1fr)!important;align-items:stretch;gap:10px;width:100%!important;max-width:none!important}body.single-product .product-type-simple form.cart>input[type=hidden],body.single-product form.cart:not(.variations_form)>input[type=hidden]{display:none!important}body.single-product .product-type-simple form.cart .quantity,body.single-product form.cart:not(.variations_form) .quantity{grid-column:1;width:68px!important}body.single-product .product-type-simple form.cart .single_add_to_cart_button,body.single-product form.cart:not(.variations_form) .single_add_to_cart_button{grid-column:2;width:100%!important;min-width:0!important;white-space:nowrap}\nbody.single-product.ntb-print-product .summary.entry-summary::before{content:"Fine Art Print"}body.single-product.ntb-print-product .single_add_to_cart_button{background:linear-gradient(135deg,#8f6a40,#b98e57)!important}\nbody.single-product .woocommerce-tabs{background:#fff;border-color:rgba(88,64,39,.11)}body.single-product .woocommerce-Tabs-panel{width:min(100%,1320px)}body.single-product .woocommerce-Tabs-panel p{max-width:none}\n@media(max-width:899px){.ntb-art-gallery__thumb-region{grid-template-columns:1fr}.ntb-art-gallery__thumb-nav{display:none!important}.ntb-art-gallery__thumbs{padding-inline:1px}body.single-product .product_title{font-size:clamp(39px,10.5vw,50px)}}\n