/**
 * DXP Theme 3.0 — Flagship Night (Product Experience scope only).
 * Visual transformation. No layout/architecture changes.
 * All colors via design tokens (see design-system/tokens.css).
 */

/* -------------------------------------------------------------------------
 * Token remap — cinematic night surfaces; brand --primary/--accent preserved
 * ------------------------------------------------------------------------- */
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"],
.dxp-product[data-dxp-theme="pyrocore-dxp-flagship-dark"],
.dxp-qr[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"],
.dxp-qr[data-dxp-theme="pyrocore-dxp-flagship-dark"],
.dxp-main[data-dxp-theme="pyrocore-dxp-flagship-dark"],
.dxp-main[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] {
	--background: var(--flagship-night-bg);
	--background-secondary: var(--flagship-night-surface);
	--surface: var(--flagship-night-surface);
	--surface-elevated: var(--flagship-night-elevated);
	--surface-overlay: var(--flagship-night-overlay);
	--surface-glass: var(--flagship-night-glass);
	--text-primary: var(--flagship-night-text);
	--text-secondary: var(--flagship-night-text-secondary);
	--text-muted: var(--flagship-night-text-muted);
	--border: var(--flagship-night-border);
	--shadow: var(--flagship-night-shadow);
	--shadow-sm: var(--flagship-night-shadow-sm);
	--shadow-lg: 0 28px 64px rgba(0, 0, 0, 0.55);
	--elevation-1: var(--shadow-sm);
	--elevation-2: var(--shadow);
	--elevation-3: var(--shadow-lg);

	/* Bridge legacy --dxp-* used by dxp.css product rules */
	--dxp-color-bg: var(--background);
	--dxp-color-surface: var(--surface-elevated);
	--dxp-color-white: var(--surface-elevated);
	--dxp-color-text: var(--text-primary);
	--dxp-color-text-muted: var(--text-muted);
	--dxp-color-ink-900: var(--text-primary);
	--dxp-color-ink-800: var(--text-secondary);
	--dxp-color-ink-700: var(--text-secondary);
	--dxp-color-ink-500: var(--text-muted);
	--dxp-color-line: var(--border);
	--dxp-color-dark: var(--text-primary);
	--dxp-color-primary: var(--primary);
	--dxp-color-primary-strong: var(--primary-strong, var(--primary));
	--dxp-color-accent: var(--accent);
	--dxp-shadow-md: var(--shadow);
	--dxp-shadow-sm: var(--shadow-sm);
	--dxp-shadow-lg: var(--shadow-lg);
	--dxp-container-max: 1400px;
	--dxp-content-max-width: 1400px;
	--container-max: 1400px;
	--content-max: 1400px;

	color: var(--text-primary);
	background:
		radial-gradient(1200px 520px at 12% -8%, var(--flagship-night-glow), transparent 55%),
		radial-gradient(900px 420px at 88% 0%, var(--flagship-night-glow-accent), transparent 50%),
		linear-gradient(180deg, var(--background) 0%, var(--flagship-night-surface) 55%, var(--background) 100%);
	background-attachment: fixed;
}

body:has(.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"]),
body:has(.dxp-qr[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"]) {
	background: var(--flagship-night-bg);
}

body:has(.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"]) .site-footer,
body:has(.dxp-qr[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"]) .site-footer {
	background: linear-gradient(180deg, var(--flagship-night-surface), var(--flagship-night-bg));
	border-top: 1px solid var(--border);
	color: var(--text-secondary);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-container {
	max-width: var(--content-max);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-section {
	margin-block: var(--space-32);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-section-title,
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-lede,
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-disclaimer,
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-prose,
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-forecast-message {
	color: var(--text-primary);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-lede,
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-disclaimer {
	color: var(--text-muted);
}

/* -------------------------------------------------------------------------
 * Glass cards
 * ------------------------------------------------------------------------- */
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-panel,
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-quick-facts .dxp-container,
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-performance .dxp-container,
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-overview .dxp-container,
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-video-section .dxp-container,
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-details .dxp-container,
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-fbt .dxp-container,
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-bys .dxp-container,
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-lane .dxp-container,
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-recent .dxp-container,
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-safety .dxp-container,
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-forecast .dxp-container,
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-intelligence .dxp-container,
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-recommendation .dxp-container {
	background:
		linear-gradient(155deg, color-mix(in srgb, var(--text-inverse) 8%, transparent), transparent 42%),
		var(--surface-glass);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	box-shadow: var(--elevation-2);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	padding: var(--space-32);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-panel {
	padding: var(--space-32);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-section-title {
	font-size: clamp(1.35rem, 2vw, 1.85rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	margin-bottom: var(--space-16);
}

/* -------------------------------------------------------------------------
 * Hero
 * ------------------------------------------------------------------------- */
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-detail {
	position: relative;
	margin-top: var(--space-32);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-detail::before {
	content: "";
	position: absolute;
	inset: -8% -4% auto;
	height: 70%;
	pointer-events: none;
	background:
		radial-gradient(ellipse at 30% 20%, var(--flagship-night-glow), transparent 60%),
		radial-gradient(ellipse at 70% 10%, var(--flagship-night-glow-accent), transparent 55%);
	opacity: 0.9;
	z-index: 0;
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-layout {
	position: relative;
	z-index: 1;
	gap: var(--space-32);
	padding: var(--space-24);
	border-radius: var(--radius-lg);
	border: 1px solid var(--border);
	background:
		linear-gradient(160deg, color-mix(in srgb, var(--text-inverse) 10%, transparent), transparent 50%),
		var(--surface-glass);
	box-shadow: var(--elevation-3);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-gallery-main {
	border-radius: var(--radius-lg);
	overflow: hidden;
	border: 1px solid var(--border);
	box-shadow: var(--elevation-2);
	background: var(--surface);
	aspect-ratio: 1 / 1;
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-gallery-main img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-gallery-thumb {
	border-color: var(--border);
	border-radius: var(--radius-sm);
	min-width: 44px;
	min-height: 44px;
	transition: border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-gallery-thumb.is-active,
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-gallery-thumb:focus-visible {
	border-color: var(--primary);
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary) 40%, transparent);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-info {
	color: var(--text-primary);
	gap: var(--space-16);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-title {
	font-size: clamp(1.85rem, 3vw, 2.55rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.1;
	color: var(--text-primary);
	text-shadow: 0 2px 24px color-mix(in srgb, var(--primary) 25%, transparent);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-eyebrow,
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-category,
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-summary {
	color: var(--text-secondary);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-price {
	font-size: clamp(1.45rem, 2.2vw, 1.9rem);
	font-weight: 800;
	color: var(--accent);
	letter-spacing: -0.01em;
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-stock .stock-pill {
	display: inline-flex;
	align-items: center;
	gap: var(--space-8);
	padding: 0.4rem 0.75rem;
	border-radius: 999px;
	border: 1px solid var(--border);
	background: color-mix(in srgb, var(--success) 18%, var(--surface-elevated));
	color: var(--text-primary);
	font-weight: 700;
	font-size: var(--fs-caption);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-reco-teaser {
	border: 1px solid color-mix(in srgb, var(--accent) 35%, var(--border));
	background: color-mix(in srgb, var(--accent) 12%, var(--surface-elevated));
	color: var(--text-secondary);
	border-radius: var(--radius);
	padding: var(--space-16);
}

/* -------------------------------------------------------------------------
 * Buttons
 * ------------------------------------------------------------------------- */
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-btn {
	min-height: 2.75rem;
	min-width: 44px;
	border-radius: var(--radius-sm);
	font-weight: 700;
	transition: transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast);
}

/* PAG 1.0: primary CTA text must meet AA on brand red (use action text token, not text-inverse). */
.dxp-product[data-dxp-theme="flagship-night"] .dxp-btn-primary,
[data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-btn-primary {
	background: var(--primary) !important;
	color: var(--dxp-color-action-primary-text, #ffffff) !important;
	border-color: transparent !important;
	box-shadow: 0 10px 28px color-mix(in srgb, var(--primary) 45%, transparent);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-btn-primary:hover {
	transform: translateY(-1px);
	box-shadow: 0 14px 34px color-mix(in srgb, var(--primary) 55%, transparent);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-btn-secondary {
	background: var(--surface-elevated) !important;
	color: var(--text-primary) !important;
	border: 1px solid var(--border) !important;
	box-shadow: var(--elevation-1);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-btn-outline,
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-btn-ghost {
	background: transparent !important;
	color: var(--text-primary) !important;
	border: 1px solid var(--border) !important;
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-btn:focus-visible {
	outline: 2px solid var(--focus);
	outline-offset: 2px;
}

/* -------------------------------------------------------------------------
 * Quick Facts
 * ------------------------------------------------------------------------- */
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-quick-facts {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
	gap: var(--space-16);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-quick-fact {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: auto auto;
	column-gap: var(--space-12);
	row-gap: var(--space-4);
	align-items: start;
	min-height: 5.25rem;
	padding: var(--space-16);
	border-radius: var(--radius);
	border: 1px solid var(--border);
	background: color-mix(in srgb, var(--surface-elevated) 88%, transparent);
	box-shadow: var(--elevation-1);
	transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-quick-fact:hover {
	transform: translateY(-2px);
	box-shadow: var(--elevation-2);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-quick-fact-icon {
	grid-row: 1 / span 2;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 999px;
	display: grid;
	place-items: center;
	background: color-mix(in srgb, var(--primary) 22%, var(--surface));
	border: 1px solid color-mix(in srgb, var(--primary) 35%, var(--border));
	color: var(--accent);
	font-size: 0.95rem;
	font-weight: 800;
	line-height: 1;
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-quick-fact-label {
	font-size: var(--fs-legal);
	font-weight: 800;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--text-muted);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-quick-fact-value {
	font-size: var(--fs-body-lg);
	font-weight: 700;
	color: var(--text-primary);
}

/* -------------------------------------------------------------------------
 * Performance meters
 * ------------------------------------------------------------------------- */
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-meter-list,
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-performance-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: var(--space-16);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-meter {
	padding: var(--space-12) 0;
	border-bottom: 1px solid var(--border);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-meter:last-child {
	border-bottom: 0;
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-meter-label {
	color: var(--text-muted);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-meter-display {
	color: var(--text-primary);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-meter-track {
	height: 0.65rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--text-inverse) 12%, var(--surface));
	overflow: hidden;
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-meter-fill {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--primary), var(--accent));
	box-shadow: 0 0 16px color-mix(in srgb, var(--primary) 45%, transparent);
	transition: width var(--transition);
}

/* -------------------------------------------------------------------------
 * Safety / Weather / Intelligence
 * ------------------------------------------------------------------------- */
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-safety-list {
	color: var(--text-secondary);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-safety .dxp-section-title::before {
	content: "";
	display: inline-block;
	width: 0.65rem;
	height: 0.65rem;
	margin-right: var(--space-8);
	border-radius: 999px;
	background: var(--warning);
	box-shadow: 0 0 12px color-mix(in srgb, var(--warning) 55%, transparent);
	vertical-align: 0.15em;
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-forecast {
	position: relative;
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-forecast .dxp-container {
	border-color: color-mix(in srgb, var(--success) 40%, var(--border));
	box-shadow:
		0 0 0 1px color-mix(in srgb, var(--success) 18%, transparent),
		var(--elevation-2);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-forecast-status {
	display: inline-flex;
	align-items: center;
	gap: var(--space-8);
	margin: 0 0 var(--space-16);
	padding: 0.45rem 0.85rem;
	border-radius: 999px;
	font-size: var(--fs-caption);
	font-weight: 800;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--text-inverse);
	background: linear-gradient(90deg, var(--success), color-mix(in srgb, var(--success) 70%, var(--accent)));
	box-shadow: 0 8px 22px color-mix(in srgb, var(--success) 35%, transparent);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-weather-chips,
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-intelligence-chips {
	list-style: none;
	margin: 0 0 var(--space-16);
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-12);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-chip {
	min-width: 6rem;
	padding: var(--space-12) var(--space-16);
	border-radius: var(--radius-sm);
	border: 1px solid var(--border);
	background: color-mix(in srgb, var(--surface-elevated) 90%, transparent);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-chip-label {
	color: var(--text-muted);
	font-size: var(--fs-legal);
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-chip-value {
	color: var(--text-primary);
	font-weight: 700;
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-intelligence .dxp-panel,
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-recommendation .dxp-panel {
	border-color: color-mix(in srgb, var(--accent) 40%, var(--border));
	background:
		linear-gradient(145deg, color-mix(in srgb, var(--accent) 14%, transparent), transparent 45%),
		var(--surface-glass);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-reco-body {
	color: var(--text-secondary);
	font-size: var(--fs-body-lg);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-reco-badge span {
	background: color-mix(in srgb, var(--accent) 20%, var(--surface));
	border-color: color-mix(in srgb, var(--accent) 45%, var(--border));
	color: var(--accent);
}

/* -------------------------------------------------------------------------
 * Specs / cards / rails
 * ------------------------------------------------------------------------- */
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-specs {
	background: transparent;
	border: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-12);
}

@media (min-width: 700px) {
	.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-specs--cols {
		grid-template-columns: 1fr 1fr;
	}
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-spec {
	padding: var(--space-16);
	border-radius: var(--radius);
	border: 1px solid var(--border);
	background: color-mix(in srgb, var(--surface-elevated) 88%, transparent);
	grid-template-columns: 1fr;
	gap: var(--space-4);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-specs dt {
	color: var(--text-muted);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-specs dd {
	color: var(--text-primary);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-card {
	background: var(--surface-elevated);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	box-shadow: var(--elevation-1);
	overflow: hidden;
	transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--elevation-2);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-card-title a,
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-card-brand,
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-card-summary,
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-card-reason {
	color: var(--text-secondary);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-card-title a {
	color: var(--text-primary);
}

.dxp-product[data-dxp-theme="flagship-night"] .dxp-product-card-media img,
[data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-card-media img {
	min-height: 0;
	object-fit: contain;
}

.dxp-product[data-dxp-product-experience] .dxp-product-rail .dxp-product-card-media img {
	min-height: 0;
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-rail--carousel {
	gap: var(--space-16);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-bottom-actions {
	padding-bottom: var(--space-64);
}

.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] a:focus-visible,
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] button:focus-visible {
	outline: 2px solid var(--focus);
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-btn,
	.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-quick-fact,
	.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-card,
	.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-meter-fill {
		transition: none;
	}
	.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-btn-primary:hover,
	.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-quick-fact:hover,
	.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-card:hover {
		transform: none;
	}
}

/* Decision support — flagship glass cards */
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-decision-card {
	background:
		linear-gradient(155deg, color-mix(in srgb, var(--text-inverse) 8%, transparent), transparent 42%),
		var(--surface-glass);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	box-shadow: var(--elevation-2);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	padding: var(--space-24);
}
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-buy-box-commerce {
	border: 1px solid color-mix(in srgb, var(--border) 70%, transparent);
	background: color-mix(in srgb, var(--surface-glass) 90%, transparent);
	border-radius: var(--radius-md);
	padding: var(--space-16);
}
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-buy-box-secondary {
	border-top-color: color-mix(in srgb, var(--border) 55%, transparent);
}
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-confidence-badge {
	background: color-mix(in srgb, var(--accent) 14%, var(--surface-elevated));
	color: var(--text-secondary);
	font-size: var(--fs-body-sm, 0.9375rem);
}
.dxp-product[data-dxp-theme="flagship-night"], [data-dxp-theme="pyrocore-dxp-flagship-dark"] .dxp-product-stock .stock-pill {
	font-size: var(--fs-body-sm, 0.9375rem);
}
