/* =========================================================================
 * product-v2.css — Single Product Page (theme 2.7.35, 2026-04-23)
 *
 * Midnight-blue structural rewrite. Dedicated component file (not appended to
 * templates.css) per feedback_css_overlay_verification.md: dedicated files
 * ship reliably; appended blocks in templates.css get stripped by SG
 * Optimizer's combined bundle.
 *
 * Scope: body.tb-product-v2 (body class filter wired in functions.php).
 * Targets BOTH the new semantic class names from outputs/designs/...product/mockup.html
 * AND the retained .tb-prod-* class names from the previous template so the
 * four preserved sections (How It Works, Reviews, Bundle Upsell, Collection CTA)
 * share the same midnight surface / typography / spacing rhythm.
 *
 * All tokens referenced already exist in tokens.css / earlier chunks.
 * ========================================================================= */

/* ----------------------------------------------------------------------
 * Page shell
 * ---------------------------------------------------------------------- */
body.tb-product-v2,
body.tb-product-v2 .ast-plain-container,
body.tb-product-v2 .ast-separate-container,
body.tb-product-v2 #content,
body.tb-product-v2 .site-content,
body.tb-product-v2 .ast-container {
	background: var(--tb-midnight, #070A14) !important;
	color: var(--tb-cream, #ECE4D5);
}

body.tb-product-v2 .tb-product-page {
	background: var(--tb-midnight, #070A14);
	color: var(--tb-cream, #ECE4D5);
	font-family: var(--tb-font-body, 'Cormorant Garamond', Georgia, serif);
	font-size: 17px;
	line-height: 1.7;
}

body.tb-product-v2 .tb-container {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 56px;
}
@media (max-width: 900px) {
	body.tb-product-v2 .tb-container { padding: 0 24px; }
}

/* ----------------------------------------------------------------------
 * Shared primitives — tag, ornament, section title, button, hairline
 * ---------------------------------------------------------------------- */
body.tb-product-v2 .tb-section-tag {
	font-family: var(--tb-font-heading, var(--tb-font-display, Georgia, serif));
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--realm-metallic, #D1B28C);
	padding: 7px 14px;
	border: 1px solid var(--tb-border-gold, rgba(209,178,140,0.18));
	border-radius: 2px;
	display: inline-block;
}
body.tb-product-v2 .tb-section-tag--link:hover {
	color: var(--tb-cream, #ECE4D5);
	border-color: var(--realm-metallic, #D1B28C);
	background: color-mix(in srgb, var(--realm-metallic, #D1B28C) 8%, transparent);
}
body.tb-product-v2 .tb-ornament {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	color: var(--realm-metallic, #D1B28C);
	font-family: var(--tb-font-heading, var(--tb-font-display, Georgia, serif));
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	background: transparent;
	border: none;
	padding: 0;
}
body.tb-product-v2 .tb-section-title {
	font-family: var(--tb-font-display, 'ivypresto-display', Georgia, serif);
	font-weight: 600;
	font-size: clamp(32px, 3.6vw, 48px);
	color: var(--tb-cream, #ECE4D5);
	margin: 0 0 14px;
	line-height: 1.12;
	letter-spacing: -0.005em;
}
body.tb-product-v2 .tb-section-title em {
	font-style: italic;
	font-weight: 500;
}
body.tb-product-v2 .tb-section-subtitle {
	color: var(--tb-taupe, #B8B3A8);
	font-size: 17px;
	font-style: italic;
	line-height: 1.65;
	max-width: 580px;
	margin: 0 auto 0;
}

body.tb-product-v2 .tb-btn,
body.tb-product-v2 .tb-prod-hero__actions .single_add_to_cart_button,
body.tb-product-v2 .tb-prod-hero__actions button.single_add_to_cart_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 15px 32px;
	font-family: var(--tb-font-heading, var(--tb-font-display, Georgia, serif));
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	border-radius: 2px;
	cursor: pointer;
	text-decoration: none;
	transition: transform .35s ease, background-color .35s ease, color .35s ease, border-color .35s ease;
	border: 1px solid transparent;
	white-space: nowrap;
}
body.tb-product-v2 .tb-btn--primary,
body.tb-product-v2 .tb-prod-hero__actions .single_add_to_cart_button {
	background: var(--realm-metallic, #D1B28C);
	color: var(--tb-midnight, #070A14);
	border-color: var(--realm-metallic, #D1B28C);
}
body.tb-product-v2 .tb-btn--primary:hover,
body.tb-product-v2 .tb-prod-hero__actions .single_add_to_cart_button:hover {
	background: var(--realm-metallic-bright, #E1C29A);
	border-color: var(--realm-metallic-bright, #E1C29A);
	transform: translateY(-1px);
}
body.tb-product-v2 .tb-btn--ghost {
	background: transparent;
	color: var(--realm-metallic, #D1B28C);
	border-color: var(--realm-metallic, #D1B28C);
}
body.tb-product-v2 .tb-btn--ghost:hover {
	background: color-mix(in srgb, var(--realm-metallic, #D1B28C) 12%, transparent);
	color: var(--realm-metallic-bright, #E1C29A);
}
body.tb-product-v2 .tb-btn:focus-visible {
	outline: 2px solid var(--realm-metallic, #D1B28C);
	outline-offset: 3px;
}

body.tb-product-v2 hr.tb-hairline {
	border: none;
	border-top: 1px solid var(--tb-border-gold, rgba(209,178,140,0.18));
	margin: 56px 0;
	max-width: 640px;
}

/* ----------------------------------------------------------------------
 * Breadcrumb strip
 * ---------------------------------------------------------------------- */
body.tb-product-v2 .tb-breadcrumbs,
body.tb-product-v2 .breadcrumb-strip {
	padding: 28px 0 0;
	background: var(--tb-midnight, #070A14);
}
body.tb-product-v2 .tb-breadcrumbs .tb-container,
body.tb-product-v2 .tb-breadcrumbs nav,
body.tb-product-v2 .tb-breadcrumbs .rank-math-breadcrumb {
	font-family: var(--tb-font-heading, var(--tb-font-display, Georgia, serif));
	font-size: 10px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--tb-taupe, #B8B3A8);
}
body.tb-product-v2 .tb-breadcrumbs a {
	color: var(--tb-taupe, #B8B3A8);
	text-decoration: none;
}
body.tb-product-v2 .tb-breadcrumbs a:hover {
	color: var(--realm-metallic, #D1B28C);
}
@media (max-width: 900px) {
	body.tb-product-v2 .tb-breadcrumbs,
	body.tb-product-v2 .breadcrumb-strip { padding: 20px 0 0; }
}

/* ----------------------------------------------------------------------
 * Hero — 2-col gallery + info-stack
 * ---------------------------------------------------------------------- */
body.tb-product-v2 .product-hero,
body.tb-product-v2 .tb-prod-hero {
	padding: 40px 0 96px;
	background: var(--tb-midnight, #070A14);
}
body.tb-product-v2 .product-hero-inner,
body.tb-product-v2 .tb-prod-hero__grid {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: 72px;
	align-items: start;
}
@media (max-width: 1099px) {
	body.tb-product-v2 .product-hero,
	body.tb-product-v2 .tb-prod-hero { padding: 32px 0 72px; }
	body.tb-product-v2 .product-hero-inner,
	body.tb-product-v2 .tb-prod-hero__grid { grid-template-columns: 1fr; gap: 48px; }
}

/* Gallery */
body.tb-product-v2 .gallery {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
body.tb-product-v2 .gallery-main,
body.tb-product-v2 .tb-prod-hero__main-image {
	position: relative;
	background: var(--tb-midnight-soft, #161E35);
	border: 1px solid var(--tb-border-gold, rgba(209,178,140,0.18));
	overflow: hidden;
}
body.tb-product-v2 .gallery-main img,
body.tb-product-v2 .tb-prod-hero__main-image img,
body.tb-product-v2 .tb-prod-hero__main-image .tb-prod-hero__img {
	width: 100%;
	height: auto;
	object-fit: contain;
	display: block;
}
body.tb-product-v2 .tb-prod-hero__lightbox-trigger {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
}
body.tb-product-v2 .tb-prod-hero__zoom-icon {
	position: absolute;
	bottom: 14px;
	right: 14px;
	background: color-mix(in srgb, var(--tb-midnight, #070A14) 85%, transparent);
	border: 1px solid var(--tb-border-gold, rgba(209,178,140,0.18));
	color: var(--realm-metallic, #D1B28C);
	padding: 6px 10px;
	font-size: 14px;
	letter-spacing: 0;
}
body.tb-product-v2 .gallery-thumbs,
body.tb-product-v2 .tb-prod-hero__thumbnails {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 12px;
}
body.tb-product-v2 .gallery-thumb,
body.tb-product-v2 .tb-prod-hero__thumb {
	position: relative;
	background: var(--tb-midnight-soft, #161E35);
	border: 1px solid var(--tb-border-gold, rgba(209,178,140,0.18));
	overflow: hidden;
	cursor: pointer;
	padding: 0;
	transition: border-color .3s ease;
}
body.tb-product-v2 .gallery-thumb:hover,
body.tb-product-v2 .tb-prod-hero__thumb:hover {
	border-color: rgba(209,178,140,0.35);
}
body.tb-product-v2 .gallery-thumb.active,
body.tb-product-v2 .tb-prod-hero__thumb.active {
	border-color: var(--realm-metallic, #D1B28C);
}
body.tb-product-v2 .tb-prod-hero__thumb-img {
	width: 100%;
	height: auto;
	object-fit: contain;
}
@media (max-width: 720px) {
	body.tb-product-v2 .gallery-thumbs,
	body.tb-product-v2 .tb-prod-hero__thumbnails { grid-template-columns: repeat(4, 1fr); }
}

/* Info stack */
body.tb-product-v2 .info-stack,
body.tb-product-v2 .tb-prod-hero__info {
	display: flex;
	flex-direction: column;
}
body.tb-product-v2 .info-chip-row,
body.tb-product-v2 .tb-prod-hero__tags {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 20px;
}
body.tb-product-v2 .info-realm-eyebrow,
body.tb-product-v2 .tb-prod-hero__tags .tb-section-tag--link {
	color: var(--realm-metallic, #D1B28C);
	border-color: var(--realm-metallic, #D1B28C);
}
body.tb-product-v2 .info-title,
body.tb-product-v2 .tb-prod-hero__title {
	font-family: var(--tb-font-display, 'ivypresto-display', Georgia, serif);
	font-weight: 600;
	font-size: clamp(38px, 4.4vw, 62px);
	color: var(--tb-cream, #ECE4D5);
	margin: 0 0 20px;
	line-height: 1.08;
	letter-spacing: -0.005em;
}
body.tb-product-v2 .info-title em,
body.tb-product-v2 .tb-prod-hero__title em {
	font-style: italic;
	font-weight: 500;
}
body.tb-product-v2 .info-teaser,
body.tb-product-v2 .tb-prod-hero__desc {
	color: var(--tb-taupe, #B8B3A8);
	font-size: 19px;
	font-style: italic;
	line-height: 1.65;
	margin: 0 0 28px;
	max-width: 520px;
}
body.tb-product-v2 .info-teaser p,
body.tb-product-v2 .tb-prod-hero__desc p { margin: 0 0 12px; }

/* Price */
body.tb-product-v2 .info-price-row,
body.tb-product-v2 .tb-prod-hero__price {
	display: flex;
	align-items: baseline;
	gap: 16px;
	margin: 0 0 10px;
	flex-wrap: wrap;
}
body.tb-product-v2 .info-price-row .price,
body.tb-product-v2 .tb-prod-hero__price .price,
body.tb-product-v2 .tb-prod-hero__price .woocommerce-Price-amount,
body.tb-product-v2 .tb-prod-hero__price .amount {
	font-family: var(--tb-font-display, 'ivypresto-display', Georgia, serif);
	font-weight: 600;
	font-size: 44px;
	color: var(--realm-metallic, #D1B28C);
	line-height: 1;
}
body.tb-product-v2 .tb-prod-hero__price .woocommerce-Price-currencySymbol {
	font-size: 28px;
	margin-right: 2px;
}
body.tb-product-v2 .tb-prod-hero__price del { display: none; }
body.tb-product-v2 .tb-prod-hero__price ins {
	background: transparent;
	text-decoration: none;
}
body.tb-product-v2 .tb-curators-badge--hero {
	font-family: var(--tb-font-heading, var(--tb-font-display, Georgia, serif));
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	padding: 6px 12px;
	border: 1px solid var(--realm-metallic, #D1B28C);
	color: var(--realm-metallic, #D1B28C);
	border-radius: 2px;
}
body.tb-product-v2 .tb-value-math--hero {
	color: var(--tb-taupe, #B8B3A8);
	font-size: 14px;
	font-style: italic;
}
body.tb-product-v2 .info-fineprint {
	font-size: 14px;
	color: var(--tb-taupe, #B8B3A8);
	font-style: italic;
	margin: 0 0 28px;
}
body.tb-product-v2 .tb-website-nudge {
	color: var(--realm-metallic, #D1B28C);
	font-style: italic;
	text-decoration: underline;
	text-underline-offset: 4px;
}
body.tb-product-v2 .tb-website-nudge:hover {
	color: var(--realm-metallic-bright, #E1C29A);
}

/* Add-to-cart row */
body.tb-product-v2 .add-row,
body.tb-product-v2 .tb-prod-hero__actions {
	display: flex;
	gap: 14px;
	align-items: stretch;
	margin: 18px 0;
	max-width: 620px;
	flex-wrap: wrap;
}
body.tb-product-v2 .tb-prod-hero__actions form.cart {
	display: flex;
	gap: 14px;
	align-items: stretch;
	flex-wrap: wrap;
}
body.tb-product-v2 .tb-prod-hero__actions form.cart .quantity {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--tb-border-taupe, rgba(196,188,177,0.14));
	border-radius: 2px;
	flex-shrink: 0;
	background: transparent;
}
body.tb-product-v2 .tb-prod-hero__actions form.cart .quantity input.qty {
	width: 52px;
	height: 52px;
	background: transparent;
	border: none;
	color: var(--tb-cream, #ECE4D5);
	text-align: center;
	font-family: var(--tb-font-display, 'ivypresto-display', Georgia, serif);
	font-size: 17px;
	-moz-appearance: textfield;
	padding: 0;
}
body.tb-product-v2 .tb-prod-hero__actions form.cart .quantity input.qty::-webkit-inner-spin-button,
body.tb-product-v2 .tb-prod-hero__actions form.cart .quantity input.qty::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
body.tb-product-v2 .tb-prod-hero__actions form.cart .single_add_to_cart_button,
body.tb-product-v2 .tb-prod-hero__actions form.cart button.single_add_to_cart_button {
	padding: 16px 28px;
	font-size: 12px;
	flex: 1;
	min-width: 200px;
}
body.tb-product-v2 .add-row__demo-btn,
body.tb-product-v2 .tb-prod-hero__demo-btn {
	flex-shrink: 0;
}

/* ----------------------------------------------------------------------
 * Hero trust mini-strip (was the Key Features block)
 * Designed for 3-4 items with long uppercase labels. On desktop/tablet a
 * 2-column grid keeps the block compact and intentional; on mobile each
 * item stacks. A soft midnight-elev surface panel with hairline gold border
 * ties the strip to the rest of the product-page design language.
 * ---------------------------------------------------------------------- */
body.tb-product-v2 .hero-trust,
body.tb-product-v2 .tb-prod-hero__features {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2px;
	margin-top: 32px;
	padding: 4px;
	background: rgba(14, 20, 38, 0.55);
	border: 1px solid var(--tb-border-gold, rgba(209,178,140,0.18));
	border-radius: 4px;
	list-style: none;
}
body.tb-product-v2 .hero-trust__item,
body.tb-product-v2 .tb-prod-hero__feature {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 12px 14px;
	background: var(--tb-midnight-elev, #0E1426);
	color: var(--tb-cream-dim, #D4CCBB);
	font-family: var(--tb-font-heading, var(--tb-font-display, Georgia, serif));
	font-size: 10.5px;
	line-height: 1.35;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	border-radius: 2px;
}
body.tb-product-v2 .tb-prod-hero__feature-icon {
	flex: 0 0 auto;
	color: var(--realm-metallic, #D1B28C);
	font-size: 13px;
	line-height: 1.2;
	letter-spacing: 0;
	margin-top: 1px;
}
body.tb-product-v2 .hero-trust__item > span:last-child,
body.tb-product-v2 .tb-prod-hero__feature > span:last-child {
	flex: 1 1 auto;
	min-width: 0;
}
/* Hairline separator: subtle gold-tinged divider between grid cells */
body.tb-product-v2 .hero-trust__item,
body.tb-product-v2 .tb-prod-hero__feature {
	box-shadow: 0 0 0 1px rgba(209, 178, 140, 0.06);
}
/* Mobile: single column, each item full-width */
@media (max-width: 600px) {
	body.tb-product-v2 .hero-trust,
	body.tb-product-v2 .tb-prod-hero__features {
		grid-template-columns: 1fr;
	}
	body.tb-product-v2 .hero-trust__item,
	body.tb-product-v2 .tb-prod-hero__feature {
		font-size: 10px;
		padding: 11px 13px;
	}
}
/* Odd count (e.g. 3 items): stretch last item across both columns */
body.tb-product-v2 .hero-trust__item:nth-child(odd):last-child,
body.tb-product-v2 .tb-prod-hero__feature:nth-child(odd):last-child {
	grid-column: 1 / -1;
}
@media (max-width: 600px) {
	body.tb-product-v2 .hero-trust__item:nth-child(odd):last-child,
	body.tb-product-v2 .tb-prod-hero__feature:nth-child(odd):last-child {
		grid-column: auto;
	}
}

/* ----------------------------------------------------------------------
 * Matching mobile tagline (light editorial band)
 * ---------------------------------------------------------------------- */
body.tb-product-v2 .tb-prod-tagline,
body.tb-product-v2 .matching-mobile {
	padding: 56px 0;
	background: var(--tb-midnight-soft, #161E35);
	border-top: 1px solid var(--tb-border-gold, rgba(209,178,140,0.18));
	border-bottom: 1px solid var(--tb-border-gold, rgba(209,178,140,0.18));
}
body.tb-product-v2 .tb-prod-tagline__inner {
	max-width: 780px;
	margin: 0 auto;
	text-align: center;
}
body.tb-product-v2 .tb-prod-tagline__text {
	font-family: var(--tb-font-display, 'ivypresto-display', Georgia, serif);
	font-style: italic;
	font-size: 22px;
	line-height: 1.55;
	color: var(--tb-cream, #ECE4D5);
	margin: 0;
}

/* ----------------------------------------------------------------------
 * Editorial long description (flat, replaces tabs)
 * ---------------------------------------------------------------------- */
body.tb-product-v2 .long-description {
	padding: 96px 0 72px;
	background: var(--tb-midnight-elev, #0E1426);
	border-top: 1px solid var(--tb-border-gold, rgba(209,178,140,0.18));
	border-bottom: 1px solid var(--tb-border-gold, rgba(209,178,140,0.18));
}
body.tb-product-v2 .long-description-inner {
	max-width: 780px;
	margin: 0 auto;
	padding: 0 56px;
}
@media (max-width: 900px) {
	body.tb-product-v2 .long-description { padding: 72px 0 56px; }
	body.tb-product-v2 .long-description-inner { padding: 0 24px; }
}
body.tb-product-v2 .long-description-inner h2 {
	font-family: var(--tb-font-display, 'ivypresto-display', Georgia, serif);
	font-weight: 600;
	font-size: clamp(32px, 3.6vw, 48px);
	color: var(--tb-cream, #ECE4D5);
	margin: 0 0 32px;
	line-height: 1.12;
	letter-spacing: -0.005em;
}
body.tb-product-v2 .long-description-inner h2 em { font-style: italic; font-weight: 500; }
body.tb-product-v2 .long-description-inner h3 {
	font-family: var(--tb-font-display, 'ivypresto-display', Georgia, serif);
	font-weight: 600;
	font-size: 24px;
	color: var(--tb-cream, #ECE4D5);
	margin: 48px 0 14px;
}
body.tb-product-v2 .long-description-inner p {
	color: var(--tb-cream, #ECE4D5);
	font-size: 17px;
	line-height: 1.75;
	margin: 0 0 22px;
}
body.tb-product-v2 .long-description-inner p:first-of-type {
	font-style: normal;
	color: var(--tb-taupe, #B8B3A8);
	font-size: 19px;
	line-height: 1.7;
	letter-spacing: 0.005em;
}
body.tb-product-v2 .long-description-inner p:first-of-type em {
	font-style: normal;
}
body.tb-product-v2 .long-description-inner a {
	color: var(--realm-metallic, #D1B28C);
	text-decoration: underline;
	text-underline-offset: 4px;
}
body.tb-product-v2 .long-description-inner ul,
body.tb-product-v2 .long-description-inner ol {
	color: var(--tb-cream, #ECE4D5);
	padding-left: 22px;
	line-height: 1.75;
}
body.tb-product-v2 .long-description-inner ul li,
body.tb-product-v2 .long-description-inner ol li { margin: 0 0 10px; }

/* Hidden Templett ID source block — never render to customer */
body.tb-product-v2 .tb-templett-id-source,
body.tb-product-v2 .entry-description .tb-templett-id-source,
body.tb-product-v2 .woocommerce-product-details__short-description .tb-templett-id-source,
body.tb-product-v2 [data-templett-id-source] {
	display: none !important;
	visibility: hidden;
}

/* ----------------------------------------------------------------------
 * Demo band (dedicated CTA #2)
 * ---------------------------------------------------------------------- */
body.tb-product-v2 .demo-band,
body.tb-product-v2 .tb-prod-demo {
	padding: 96px 0;
	/* Explicit midnight hex + !important to prevent realm token bleed.
	 * Do NOT use --realm-bg here; product page body never gets realm-* class,
	 * but this guards against future stylesheet additions. */
	background: #070A14 !important;
	background-color: #070A14 !important;
}
body.tb-product-v2 .demo-band__inner,
body.tb-product-v2 .tb-prod-demo__inner {
	max-width: 900px;
	margin: 0 auto;
	padding: 64px 56px;
	text-align: center;
	background: #0E1426 !important;
	background-color: #0E1426 !important;
	border: 1px solid rgba(209,178,140,0.18);
	border-radius: 2px;
}
body.tb-product-v2 .demo-band__content,
body.tb-product-v2 .tb-prod-demo__content {
	display: flex;
	flex-direction: column;
	gap: 16px;
	align-items: center;
}
body.tb-product-v2 .demo-band__content h2,
body.tb-product-v2 .tb-prod-demo__content .tb-section-title {
	margin: 0;
}
body.tb-product-v2 .demo-band__content .tb-btn,
body.tb-product-v2 .tb-prod-demo__content .tb-btn {
	margin-top: 16px;
}
@media (max-width: 900px) {
	body.tb-product-v2 .demo-band,
	body.tb-product-v2 .tb-prod-demo { padding: 72px 0; }
	body.tb-product-v2 .demo-band__inner,
	body.tb-product-v2 .tb-prod-demo__inner { padding: 48px 24px; margin: 0 24px; }
}

/* ----------------------------------------------------------------------
 * What's Included — Roman-numeral grid + plain-list fallback
 * ---------------------------------------------------------------------- */
body.tb-product-v2 .whats-included,
body.tb-product-v2 .tb-prod-includes {
	padding: 96px 0;
	background: var(--tb-midnight-elev, #0E1426);
	border-top: 1px solid var(--tb-border-gold, rgba(209,178,140,0.18));
	border-bottom: 1px solid var(--tb-border-gold, rgba(209,178,140,0.18));
}
body.tb-product-v2 .whats-included-head {
	text-align: center;
	margin-bottom: 56px;
}
body.tb-product-v2 .whats-included-head .tb-section-tag { margin-bottom: 18px; }
body.tb-product-v2 .whats-included-head h2 { margin: 0 auto 14px; max-width: 640px; text-align: center; }
body.tb-product-v2 .whats-included-head .tb-section-subtitle { margin: 0 auto; }
body.tb-product-v2 .pieces-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px 56px;
	max-width: 1100px;
	margin: 0 auto;
}
@media (max-width: 900px) {
	body.tb-product-v2 .pieces-grid { grid-template-columns: 1fr; gap: 18px; }
	body.tb-product-v2 .whats-included,
	body.tb-product-v2 .tb-prod-includes { padding: 72px 0; }
}
body.tb-product-v2 .piece-item {
	display: flex;
	gap: 18px;
	padding: 18px 0;
	border-bottom: 1px solid var(--tb-border-taupe, rgba(196,188,177,0.14));
	align-items: flex-start;
}
body.tb-product-v2 .piece-num {
	font-family: var(--tb-font-display, 'ivypresto-display', Georgia, serif);
	font-weight: 500;
	font-style: italic;
	font-size: 20px;
	color: var(--realm-metallic, #D1B28C);
	min-width: 44px;
	flex-shrink: 0;
	padding-top: 1px;
}
body.tb-product-v2 .piece-name {
	font-family: var(--tb-font-display, 'ivypresto-display', Georgia, serif);
	font-size: 18px;
	color: var(--tb-cream, #ECE4D5);
	margin: 0 0 4px;
	font-weight: 500;
}
body.tb-product-v2 .piece-desc {
	color: var(--tb-taupe, #B8B3A8);
	font-size: 14px;
	font-style: italic;
	line-height: 1.55;
	margin: 0;
}

/* Plain-list fallback (uses _tb_whats_included) */
body.tb-product-v2 .pieces-grid--flat,
body.tb-product-v2 .tb-prod-includes__list {
	list-style: none;
	padding: 0;
	max-width: 900px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px 40px;
}
@media (max-width: 900px) {
	body.tb-product-v2 .pieces-grid--flat,
	body.tb-product-v2 .tb-prod-includes__list { grid-template-columns: 1fr; }
}
body.tb-product-v2 .tb-prod-includes__item {
	display: flex;
	gap: 12px;
	padding: 10px 0;
	color: var(--tb-cream, #ECE4D5);
	font-size: 16px;
	border-bottom: 1px solid var(--tb-border-taupe, rgba(196,188,177,0.14));
}
body.tb-product-v2 .tb-prod-includes__icon {
	color: var(--realm-metallic, #D1B28C);
	flex-shrink: 0;
}

/* ----------------------------------------------------------------------
 * How It Works — 4-step strip (retained, restyled)
 * ---------------------------------------------------------------------- */
body.tb-product-v2 .tb-prod-how,
body.tb-product-v2 .how-it-works {
	padding: 96px 0;
	background: var(--tb-midnight, #070A14);
}
body.tb-product-v2 .tb-prod-how__grid,
body.tb-product-v2 .how-it-works__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 48px;
	max-width: 1100px;
	margin: 0 auto;
}
@media (max-width: 900px) {
	body.tb-product-v2 .tb-prod-how__grid,
	body.tb-product-v2 .how-it-works__grid { grid-template-columns: repeat(2, 1fr); gap: 32px; }
	body.tb-product-v2 .tb-prod-how,
	body.tb-product-v2 .how-it-works { padding: 72px 0; }
}
body.tb-product-v2 .tb-prod-how__step {
	text-align: center;
	padding: 32px 16px;
	border: 1px solid var(--tb-border-gold, rgba(209,178,140,0.18));
	background: var(--tb-midnight-elev, #0E1426);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}
body.tb-product-v2 .tb-prod-how__number {
	font-family: var(--tb-font-display, 'ivypresto-display', Georgia, serif);
	font-style: italic;
	font-size: 32px;
	color: var(--realm-metallic, #D1B28C);
	margin-bottom: 6px;
	line-height: 1;
}
body.tb-product-v2 .tb-prod-how__step-title {
	font-family: var(--tb-font-display, 'ivypresto-display', Georgia, serif);
	font-size: 18px;
	color: var(--tb-cream, #ECE4D5);
	margin: 0 0 6px;
	font-weight: 500;
}
body.tb-product-v2 .tb-prod-how__step-desc {
	color: var(--tb-taupe, #B8B3A8);
	font-size: 14px;
	font-style: italic;
	line-height: 1.55;
	margin: 0;
}

/* ----------------------------------------------------------------------
 * Customer Reviews strip (retained, restyled)
 * ---------------------------------------------------------------------- */
body.tb-product-v2 .tb-prod-reviews,
body.tb-product-v2 .reviews-strip {
	padding: 96px 0;
	background: var(--tb-midnight-elev, #0E1426);
	border-top: 1px solid var(--tb-border-gold, rgba(209,178,140,0.18));
	border-bottom: 1px solid var(--tb-border-gold, rgba(209,178,140,0.18));
}
body.tb-product-v2 .tb-prod-reviews__header,
body.tb-product-v2 .reviews-strip__header {
	text-align: center;
	margin-bottom: 48px;
	display: flex;
	justify-content: center;
	align-items: baseline;
	gap: 14px;
	flex-wrap: wrap;
}
body.tb-product-v2 .tb-prod-reviews__stars {
	color: var(--realm-metallic, #D1B28C);
	font-size: 20px;
	letter-spacing: 3px;
}
body.tb-product-v2 .tb-prod-reviews__rating {
	font-family: var(--tb-font-display, 'ivypresto-display', Georgia, serif);
	color: var(--tb-cream, #ECE4D5);
	font-size: 20px;
}
body.tb-product-v2 .tb-prod-reviews__count {
	color: var(--tb-taupe, #B8B3A8);
	font-size: 14px;
	font-style: italic;
}
body.tb-product-v2 .tb-prod-reviews__grid,
body.tb-product-v2 .reviews-strip__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	max-width: 1100px;
	margin: 0 auto;
}
@media (max-width: 900px) {
	body.tb-product-v2 .tb-prod-reviews__grid,
	body.tb-product-v2 .reviews-strip__grid { grid-template-columns: 1fr; }
	body.tb-product-v2 .tb-prod-reviews,
	body.tb-product-v2 .reviews-strip { padding: 72px 0; }
}
body.tb-product-v2 .tb-prod-reviews__card,
body.tb-product-v2 .reviews-strip__card {
	background: var(--tb-midnight, #070A14);
	border: 1px solid var(--tb-border-gold, rgba(209,178,140,0.18));
	padding: 28px 24px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
body.tb-product-v2 .tb-prod-reviews__card-stars {
	color: var(--realm-metallic, #D1B28C);
	letter-spacing: 2px;
	font-size: 14px;
}
body.tb-product-v2 .tb-prod-reviews__card-text {
	color: var(--tb-cream, #ECE4D5);
	font-style: italic;
	font-size: 16px;
	line-height: 1.6;
	margin: 0;
}
body.tb-product-v2 .tb-prod-reviews__card-author {
	color: var(--tb-taupe, #B8B3A8);
	font-family: var(--tb-font-heading, var(--tb-font-display, Georgia, serif));
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	margin-top: auto;
}

/* ----------------------------------------------------------------------
 * FAQ section (tb_faq shortcode renders inside)
 * ---------------------------------------------------------------------- */
body.tb-product-v2 .faq-section {
	padding: 96px 0;
	background: var(--tb-midnight, #070A14);
}
body.tb-product-v2 .faq-inner {
	max-width: 780px;
	margin: 0 auto;
	padding: 0 56px;
}
@media (max-width: 900px) {
	body.tb-product-v2 .faq-section { padding: 72px 0; }
	body.tb-product-v2 .faq-inner { padding: 0 24px; }
}
body.tb-product-v2 .faq-header-inner {
	text-align: center;
	margin-bottom: 40px;
}
body.tb-product-v2 .faq-header-inner .tb-section-tag { margin-bottom: 18px; }
body.tb-product-v2 .faq-header-inner h2 {
	margin: 0;
	text-align: center;
}

/* Accordion — target both native <details> and shortcode output */
body.tb-product-v2 .faq-section details,
body.tb-product-v2 details.faq-item {
	border-bottom: 1px solid var(--tb-border-gold, rgba(209,178,140,0.18));
	padding: 4px 0;
}
body.tb-product-v2 .faq-section details > summary,
body.tb-product-v2 details.faq-item > summary {
	list-style: none;
	cursor: pointer;
	padding: 22px 0;
	font-family: var(--tb-font-display, 'ivypresto-display', Georgia, serif);
	font-size: 19px;
	color: var(--tb-cream, #ECE4D5);
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	transition: color .25s ease;
	font-weight: 500;
}
body.tb-product-v2 .faq-section details > summary::-webkit-details-marker,
body.tb-product-v2 details.faq-item > summary::-webkit-details-marker { display: none; }
body.tb-product-v2 .faq-section details > summary:hover,
body.tb-product-v2 details.faq-item > summary:hover { color: var(--realm-metallic, #D1B28C); }
body.tb-product-v2 .faq-section details > summary::after,
body.tb-product-v2 details.faq-item > summary::after {
	content: '+';
	font-family: var(--tb-font-display, 'ivypresto-display', Georgia, serif);
	color: var(--realm-metallic, #D1B28C);
	font-size: 24px;
	line-height: 1;
	transition: transform .35s ease;
	flex-shrink: 0;
}
body.tb-product-v2 .faq-section details[open] > summary::after,
body.tb-product-v2 details.faq-item[open] > summary::after {
	transform: rotate(45deg);
}
body.tb-product-v2 .faq-section details > div,
body.tb-product-v2 .faq-section details .tb-faq__answer,
body.tb-product-v2 details.faq-item > div {
	padding: 0 0 24px;
	color: var(--tb-taupe, #B8B3A8);
	font-size: 16px;
	line-height: 1.75;
}
body.tb-product-v2 .faq-section details p,
body.tb-product-v2 details.faq-item p { margin: 0 0 14px; }

/* tb_faq shortcode often wraps output in its own container — accept it cleanly */
body.tb-product-v2 .faq-section .tb-faq,
body.tb-product-v2 .faq-section .tb-faqs,
body.tb-product-v2 .faq-section .tb-faq-list {
	background: transparent;
	margin: 0;
	padding: 0;
	border: none;
}

/* ----------------------------------------------------------------------
 * Bundle Upsell (retained, restyled)
 * ---------------------------------------------------------------------- */
body.tb-product-v2 .tb-prod-upsell,
body.tb-product-v2 .bundle-upsell {
	padding: 96px 0;
	background: var(--tb-midnight, #070A14);
}
body.tb-product-v2 .tb-prod-upsell__card,
body.tb-product-v2 .bundle-upsell__card {
	max-width: 1040px;
	margin: 0 auto;
	padding: 56px 48px;
	background: var(--tb-midnight-elev, #0E1426);
	border: 1px solid var(--tb-border-gold, rgba(209,178,140,0.18));
	border-radius: 2px;
	text-align: center;
}
@media (max-width: 900px) {
	body.tb-product-v2 .tb-prod-upsell,
	body.tb-product-v2 .bundle-upsell { padding: 72px 0; }
	body.tb-product-v2 .tb-prod-upsell__card,
	body.tb-product-v2 .bundle-upsell__card { padding: 40px 24px; margin: 0 24px; }
}
body.tb-product-v2 .tb-prod-upsell__title {
	font-family: var(--tb-font-display, 'ivypresto-display', Georgia, serif);
	font-weight: 600;
	font-size: clamp(26px, 2.8vw, 36px);
	color: var(--tb-cream, #ECE4D5);
	margin: 18px 0 14px;
	line-height: 1.15;
}
body.tb-product-v2 .tb-prod-upsell__desc {
	color: var(--tb-taupe, #B8B3A8);
	font-style: italic;
	font-size: 17px;
	line-height: 1.65;
	margin: 0 auto 32px;
	max-width: 640px;
}
body.tb-product-v2 .tb-prod-upsell__tiers {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 20px;
	max-width: 900px;
	margin: 0 auto;
}
body.tb-product-v2 .tb-prod-upsell__tier {
	position: relative;
	padding: 24px 20px;
	background: var(--tb-midnight, #070A14);
	border: 1px solid var(--tb-border-gold, rgba(209,178,140,0.18));
	color: var(--tb-cream, #ECE4D5);
	text-decoration: none;
	display: flex;
	flex-direction: column;
	gap: 6px;
	transition: border-color .3s ease, transform .3s ease;
	text-align: left;
}
body.tb-product-v2 .tb-prod-upsell__tier:hover {
	border-color: var(--realm-metallic, #D1B28C);
	transform: translateY(-2px);
}
body.tb-product-v2 .tb-prod-upsell__tier--popular {
	border-color: var(--realm-metallic, #D1B28C);
}
body.tb-product-v2 .tb-prod-upsell__tier-badge {
	position: absolute;
	top: -10px;
	right: 16px;
	background: var(--realm-metallic, #D1B28C);
	color: var(--tb-midnight, #070A14);
	font-family: var(--tb-font-heading, var(--tb-font-display, Georgia, serif));
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: 2px;
}
body.tb-product-v2 .tb-prod-upsell__tier-name {
	font-family: var(--tb-font-display, 'ivypresto-display', Georgia, serif);
	font-size: 18px;
	color: var(--tb-cream, #ECE4D5);
	font-weight: 500;
}
body.tb-product-v2 .tb-prod-upsell__tier-meta {
	color: var(--tb-taupe, #B8B3A8);
	font-size: 13px;
	font-style: italic;
}

/* ----------------------------------------------------------------------
 * Related products
 * ---------------------------------------------------------------------- */
body.tb-product-v2 .related-products {
	padding: 96px 0 120px;
	background: var(--tb-midnight-elev, #0E1426);
	border-top: 1px solid var(--tb-border-gold, rgba(209,178,140,0.18));
}
body.tb-product-v2 .related-head {
	text-align: center;
	margin-bottom: 48px;
}
body.tb-product-v2 .related-head .tb-section-tag { margin-bottom: 18px; }
body.tb-product-v2 .related-head h2 { margin: 0 auto; max-width: 640px; text-align: center; }
body.tb-product-v2 .related-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
	max-width: 1100px;
	margin: 0 auto;
}
@media (max-width: 1100px) {
	body.tb-product-v2 .related-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
	body.tb-product-v2 .related-grid { grid-template-columns: 1fr; }
	body.tb-product-v2 .related-products { padding: 72px 0; }
}
body.tb-product-v2 .product-card {
	position: relative;
	background: var(--tb-midnight, #070A14);
	border: 1px solid var(--tb-border-gold, rgba(209,178,140,0.18));
	display: flex;
	flex-direction: column;
	text-decoration: none;
	transition: transform .5s ease, border-color .35s ease, box-shadow .5s ease;
}
body.tb-product-v2 .product-card:hover {
	transform: scale(1.015);
	border-color: rgba(209,178,140,0.35);
	box-shadow: 0 12px 40px rgba(0,0,0,0.5);
}
body.tb-product-v2 .product-photo {
	position: relative;
	aspect-ratio: 4/5;
	border-bottom: 1px solid var(--tb-border-gold, rgba(209,178,140,0.18));
	overflow: hidden;
	background: var(--tb-midnight-soft, #161E35);
}
body.tb-product-v2 .product-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .8s ease;
}
body.tb-product-v2 .product-card:hover .product-photo img { transform: scale(1.04); }
body.tb-product-v2 .product-realm-chip {
	position: absolute;
	top: 14px;
	left: 14px;
	background: color-mix(in srgb, var(--tb-midnight, #070A14) 80%, transparent);
	backdrop-filter: blur(6px);
	border: 1px solid var(--tb-border-taupe, rgba(196,188,177,0.14));
	padding: 6px 12px;
	font-family: var(--tb-font-heading, var(--tb-font-display, Georgia, serif));
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--tb-taupe, #B8B3A8);
}
body.tb-product-v2 .product-pieces-badge {
	position: absolute;
	bottom: 14px;
	right: 14px;
	background: var(--tb-midnight, #070A14);
	border: 1px solid var(--realm-metallic, #D1B28C);
	padding: 6px 12px;
	font-family: var(--tb-font-heading, var(--tb-font-display, Georgia, serif));
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--realm-metallic, #D1B28C);
}
body.tb-product-v2 .product-body {
	padding: 26px 26px 30px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	flex: 1;
}
body.tb-product-v2 .product-body h3 {
	font-family: var(--tb-font-display, 'ivypresto-display', Georgia, serif);
	font-weight: 600;
	font-size: 22px;
	color: var(--tb-cream, #ECE4D5);
	margin: 0;
	line-height: 1.25;
}
body.tb-product-v2 .product-body h3 a {
	color: var(--tb-cream, #ECE4D5);
	text-decoration: none;
}
body.tb-product-v2 .product-body h3 a:hover { color: var(--realm-metallic, #D1B28C); }
body.tb-product-v2 .product-teaser {
	color: var(--tb-taupe, #B8B3A8);
	font-size: 14px;
	font-style: italic;
	line-height: 1.55;
	margin: 0;
	flex: 1;
	min-height: 44px;
}
body.tb-product-v2 .product-price {
	font-family: var(--tb-font-display, 'ivypresto-display', Georgia, serif);
	color: var(--realm-metallic, #D1B28C);
	font-size: 22px;
}
body.tb-product-v2 .product-price .woocommerce-Price-amount,
body.tb-product-v2 .product-price .amount {
	color: var(--realm-metallic, #D1B28C);
	font-size: 22px;
}
body.tb-product-v2 .product-cta-btn {
	width: 100%;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: 13px 20px;
	font-family: var(--tb-font-heading, var(--tb-font-display, Georgia, serif));
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	border-radius: 2px;
	background: transparent;
	color: var(--realm-metallic, #D1B28C);
	border: 1px solid var(--realm-metallic, #D1B28C);
	text-decoration: none;
	transition: background .3s ease, color .3s ease, border-color .3s ease;
}
body.tb-product-v2 .product-cta-btn:hover {
	background: var(--realm-metallic, #D1B28C);
	color: var(--tb-midnight, #070A14);
}
body.tb-product-v2 .photo-placeholder {
	background: linear-gradient(135deg, var(--tb-midnight-soft, #161E35) 0%, var(--tb-midnight-elev, #0E1426) 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--tb-taupe, #B8B3A8);
	font-family: var(--tb-font-heading, var(--tb-font-display, Georgia, serif));
	font-size: 9px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	text-align: center;
	padding: 8px;
	position: absolute;
	inset: 0;
}

/* ----------------------------------------------------------------------
 * Collection CTA (retained, restyled)
 * ---------------------------------------------------------------------- */
body.tb-product-v2 .tb-prod-cta,
body.tb-product-v2 .collection-cta {
	padding: 96px 0;
	background: var(--tb-midnight, #070A14);
}
body.tb-product-v2 .collection-cta .tb-section-title,
body.tb-product-v2 .tb-prod-cta .tb-section-title {
	margin: 18px auto 14px;
}
body.tb-product-v2 .collection-cta .tb-section-subtitle,
body.tb-product-v2 .tb-prod-cta .tb-section-subtitle {
	margin: 0 auto;
}
@media (max-width: 900px) {
	body.tb-product-v2 .tb-prod-cta,
	body.tb-product-v2 .collection-cta { padding: 72px 0; }
}

/* ----------------------------------------------------------------------
 * Wishlist / Save for Later ghost button — preserved from Chunk 6
 * ---------------------------------------------------------------------- */
body.tb-product-v2 .tb-wishlist-btn {
	margin-top: 10px;
	display: inline-flex;
	align-items: center;
}
body.tb-product-v2 .tb-wishlist-btn .tinvwl_add_to_wishlist_button,
body.tb-product-v2 .tb-wishlist-btn a.tinvwl_add_to_wishlist_button {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 22px;
	background: transparent;
	color: var(--realm-metallic, #D1B28C);
	border: 1px solid var(--realm-metallic, #D1B28C);
	font-family: var(--tb-font-heading, var(--tb-font-display, Georgia, serif));
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	border-radius: 2px;
	text-decoration: none;
	transition: background .3s ease, color .3s ease;
}
body.tb-product-v2 .tb-wishlist-btn .tinvwl_add_to_wishlist_button:hover {
	background: color-mix(in srgb, var(--realm-metallic, #D1B28C) 12%, transparent);
	color: var(--realm-metallic-bright, #E1C29A);
}

/* Wishlist heart on shop archive — preserved from Chunk 6 */
body.tb-product-v2 .tb-wishlist-heart .tinvwl_add_to_wishlist-text { display: none; }
body.tb-product-v2 .tb-wishlist-heart .tinvwl-tooltip { display: none !important; }

/* ----------------------------------------------------------------------
 * Canvas particles — keep but fade into background
 * ---------------------------------------------------------------------- */
body.tb-product-v2 .tb-particles {
	position: fixed;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 0;
	opacity: 0.25;
}
body.tb-product-v2 .tb-product-page { position: relative; z-index: 1; }

/* ----------------------------------------------------------------------
 * Focus-visible outline everywhere
 * ---------------------------------------------------------------------- */
body.tb-product-v2 a:focus-visible,
body.tb-product-v2 button:focus-visible,
body.tb-product-v2 input:focus-visible,
body.tb-product-v2 details > summary:focus-visible {
	outline: 2px solid var(--realm-metallic, #D1B28C);
	outline-offset: 3px;
}

/* === END product-v2.css ============================================= */

/* -----------------------------------------------------------------------
 * v2.8.0 — Mobile sticky add-to-cart bar
 * Visible only when the real WC button is scrolled out of view.
 * ----------------------------------------------------------------------- */
.tb-mobile-atc { display: none; }
@media (max-width: 720px) {
    .tb-mobile-atc.is-visible {
        display: block;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 999;
        background: var(--realm-bg, #0C100E);
        border-top: 1px solid var(--realm-gold, #D1B28C);
        padding: 12px 20px calc(12px + env(safe-area-inset-bottom, 0px));
    }
    .tb-mobile-atc__inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        max-width: 600px;
        margin: 0 auto;
    }
    .tb-mobile-atc__price {
        font-family: var(--realm-heading-font, 'IvyPresto Display', serif);
        font-size: 20px;
        color: var(--realm-gold, #D1B28C);
    }
    .tb-mobile-atc__btn {
        display: inline-flex;
        align-items: center;
        background: var(--realm-gold, #D1B28C);
        color: var(--realm-bg, #0C100E);
        font-family: var(--tb-font-body);
        font-size: 14px;
        font-weight: 600;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        padding: 14px 28px;
        text-decoration: none;
        min-height: 48px;
    }
    body.single-product { padding-bottom: 72px; }
}

/* v2.8.0 — Mobile product hero padding reduction */
@media (max-width: 720px) {
    body.tb-product-v2 .product-hero,
    body.tb-product-v2 .tb-prod-hero { padding: 24px 0 48px; }
}

/* ---------------------------------------------------------------------------
 * v2.9.0 - .info-teaser / .tb-prod-hero__desc italic-at-length readability fix
 * (2026-08-10, staging2 only).
 *
 * Identical problem and identical shape to the .long-description-inner fix of
 * 2026-08-05: a whole block set in italic reads fine for one line and badly for
 * a paragraph. The `em` override is the part that actually does the work - DFY
 * short descriptions wrap their intro in a literal <em>, which browsers
 * italicise regardless of the parent's font-style: normal.
 * ------------------------------------------------------------------------- */
body.tb-product-v2 .info-teaser,
body.tb-product-v2 .tb-prod-hero__desc {
	font-style: normal;
}
body.tb-product-v2 .info-teaser em,
body.tb-product-v2 .tb-prod-hero__desc em {
	font-style: normal;
}
