/**
 * Wallstrdev Design System — WooCommerce Single Product
 * Child theme: hello-biz-child  |  Version 1.0.0
 *
 * All rules scoped to body.wds-product-page.
 * Per-product accent colour set via --accent on .wds-prod (inline style from PHP).
 */

/* ── 1. Tokens ─────────────────────────────────────────────────── */
body.wds-product-page {
	--paper:        #FFFFFF;
	--paper-warm:   #F6F5F0;
	--paper-cool:   #F2F3F5;
	--ink:          #0E0E10;
	--ink-soft:     #1A1A1F;
	--muted:        #6B6B72;
	--muted-2:      #9A9AA1;
	--rule:         #E6E6E2;
	--chartreuse:   #DCEE2A;
	--chartreuse-2: #C8D820;
	--pink:         #F0BFE8;
	--pink-2:       #E89FDD;
	--navy:         #1B2A4E;
	--gold:         #B8945C;
	--ok:           #1F8A5B;
	--accent:       var(--chartreuse);
	--accent-soft:  #fbfce8;
	--accent-rule:  #e7ecc2;
	--font-display: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;
	--font-body:    "Manrope", ui-sans-serif, system-ui, sans-serif;
	--font-mono:    "JetBrains Mono", ui-monospace, Menlo, monospace;
	--r-sm:  6px;
	--r-md:  14px;
	--r-lg:  18px;
	--r-xl:  32px;
}

body.wds-product-page .wds-prod-wrap {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 32px;
}

body.wds-product-page h1,
body.wds-product-page h2,
body.wds-product-page h3,
body.wds-product-page h4 {
	font-family: var(--font-display);
	letter-spacing: -0.02em;
	font-weight: 700;
	margin: 0;
}

/* ── 2. Buttons ────────────────────────────────────────────────── */
body.wds-product-page .wds-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 15px;
	padding: 14px 22px;
	border-radius: var(--r-sm);
	border: 1.5px solid transparent;
	cursor: pointer;
	text-decoration: none;
	transition: transform .12s ease, background .12s ease, color .12s ease, border-color .12s ease;
	line-height: 1;
	white-space: nowrap;
}
body.wds-product-page .wds-btn:active { transform: translateY(1px); }

body.wds-product-page .wds-btn--primary {
	background: var(--chartreuse);
	color: var(--ink);
	border-color: var(--ink);
}
body.wds-product-page .wds-btn--primary:hover { background: var(--chartreuse-2); }

body.wds-product-page .wds-btn--secondary {
	background: transparent;
	color: var(--ink);
	border-color: var(--ink);
}
body.wds-product-page .wds-btn--secondary:hover {
	background: var(--ink);
	color: var(--paper);
}

body.wds-product-page .wds-btn--ghost {
	background: transparent;
	color: var(--paper);
	border-color: rgba(255,255,255,0.3);
}
body.wds-product-page .wds-btn--ghost:hover { border-color: rgba(255,255,255,0.7); }

body.wds-product-page .wds-btn--lg  { padding: 17px 28px; font-size: 16px; }
body.wds-product-page .wds-btn--sm  { padding: 10px 16px; font-size: 13px; }

body.wds-product-page .wds-arrow { transition: transform .15s ease; }
body.wds-product-page .wds-btn:hover .wds-arrow { transform: translateX(3px); }

/* ── 3. Breadcrumb ─────────────────────────────────────────────── */
body.wds-product-page .wds-prod-crumb {
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--muted);
	display: flex;
	gap: 8px;
	align-items: center;
	padding: 24px 0 0;
	flex-wrap: wrap;
}
body.wds-product-page .wds-prod-crumb a { text-decoration: none; color: var(--muted); }
body.wds-product-page .wds-prod-crumb a:hover { color: var(--ink); }
body.wds-product-page .wds-prod-crumb-here { color: var(--ink); }

/* ── 4. Product hero ───────────────────────────────────────────── */
body.wds-product-page .wds-prod-section { padding: 28px 0 56px; }

body.wds-product-page .wds-prod-top {
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	gap: 56px;
	align-items: start;
}

/* Gallery */
body.wds-product-page .wds-prod-gallery-main {
	background: var(--accent);
	border: 1.5px solid var(--ink);
	border-radius: 20px;
	aspect-ratio: 4 / 3;
	position: relative;
	overflow: hidden;
	transition: background .2s ease;
}
body.wds-product-page .wds-prod-gallery-main img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
body.wds-product-page .wds-prod-gallery-main svg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
body.wds-product-page .wds-prod-gallery-tag {
	position: absolute;
	top: 18px;
	left: 18px;
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.1em;
	color: var(--ink);
	padding: 6px 11px;
	background: var(--paper);
	border: 1.5px solid var(--ink);
	border-radius: 5px;
	font-weight: 600;
	z-index: 2;
}
body.wds-product-page .wds-prod-gallery-ver {
	position: absolute;
	top: 18px;
	right: 18px;
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.06em;
	color: var(--paper);
	padding: 6px 11px;
	background: var(--ink);
	border-radius: 5px;
	font-weight: 600;
	z-index: 2;
}
body.wds-product-page .wds-prod-gallery-thumbs {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	margin-top: 14px;
}
body.wds-product-page .wds-prod-gallery-thumbs button {
	aspect-ratio: 1;
	border: 1.5px solid var(--rule);
	border-radius: 12px;
	background: var(--paper-warm);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 0.04em;
	color: var(--muted);
	transition: border-color .12s ease, color .12s ease;
	padding: 6px;
	text-align: center;
	line-height: 1.3;
	overflow: hidden;
}
body.wds-product-page .wds-prod-gallery-thumbs button img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 8px;
}
body.wds-product-page .wds-prod-gallery-thumbs button:hover { border-color: var(--ink); color: var(--ink); }
body.wds-product-page .wds-prod-gallery-thumbs button.is-active {
	border-color: var(--ink);
	color: var(--ink);
	background: var(--chartreuse);
}

/* Summary */
body.wds-product-page .wds-prod-cat {
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--muted);
	display: inline-flex;
	gap: 10px;
	align-items: center;
	margin-bottom: 16px;
}
body.wds-product-page .wds-prod-cat-lbl {
	background: var(--chartreuse);
	border: 1.5px solid var(--ink);
	padding: 3px 8px;
	border-radius: 4px;
	color: var(--ink);
	font-weight: 600;
}

body.wds-product-page .wds-prod-title {
	font-size: clamp(34px, 4.2vw, 56px);
	line-height: 1.02;
	font-weight: 800;
	letter-spacing: -0.028em;
	margin-bottom: 14px;
}

body.wds-product-page .wds-prod-rate {
	display: flex;
	gap: 12px;
	align-items: center;
	font-family: var(--font-mono);
	font-size: 12px;
	color: var(--muted);
	margin-bottom: 22px;
	flex-wrap: wrap;
}
body.wds-product-page .wds-prod-rate-stars {
	color: var(--ink);
	letter-spacing: 1.5px;
	font-size: 14px;
}
body.wds-product-page .wds-prod-rate-div {
	width: 1px;
	height: 13px;
	background: var(--rule);
}

body.wds-product-page .wds-prod-lede {
	font-size: 17px;
	color: var(--ink-soft);
	line-height: 1.6;
	margin: 0 0 24px;
	max-width: 52ch;
}

/* Price bar */
body.wds-product-page .wds-pricebar {
	display: flex;
	align-items: baseline;
	gap: 14px;
	padding: 22px 0;
	border-top: 1.5px solid var(--ink);
	border-bottom: 1px solid var(--rule);
	margin-bottom: 24px;
	flex-wrap: wrap;
}
body.wds-product-page .wds-pricebar-price {
	font-family: var(--font-display);
	font-weight: 800;
	font-size: 46px;
	letter-spacing: -0.03em;
	line-height: 1;
}
body.wds-product-page .wds-pricebar-price del,
body.wds-product-page .wds-pricebar-price s {
	color: var(--muted-2);
	font-weight: 500;
	font-size: 22px;
	margin-left: 8px;
}
body.wds-product-page .wds-pricebar-price ins { text-decoration: none; }
/* WooCommerce price html overrides */
body.wds-product-page .wds-pricebar .woocommerce-Price-amount { color: var(--ink); }
body.wds-product-page .wds-pricebar .woocommerce-Price-currencySymbol { font-size: 0.65em; }
body.wds-product-page .wds-pricebar-terms {
	font-family: var(--font-mono);
	font-size: 12px;
	color: var(--muted);
	line-height: 1.5;
}
body.wds-product-page .wds-pricebar-terms b { color: var(--ink); }
body.wds-product-page .wds-pricebar-save {
	margin-left: auto;
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.04em;
	color: var(--ok);
	border: 1px solid var(--ok);
	border-radius: 999px;
	padding: 5px 11px;
	align-self: center;
}

/* Keys list */
body.wds-product-page .wds-keys {
	list-style: none;
	padding: 0;
	margin: 0 0 26px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
body.wds-product-page .wds-keys li {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	font-size: 15px;
}
body.wds-product-page .wds-keys li .wds-ck {
	width: 20px;
	height: 20px;
	border-radius: 5px;
	background: var(--chartreuse);
	border: 1.5px solid var(--ink);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
	flex-shrink: 0;
	margin-top: 1px;
	font-family: var(--font-mono);
	font-weight: 600;
}

/* Buy bar */
body.wds-product-page .wds-buybar {
	display: flex;
	gap: 12px;
	align-items: stretch;
	margin-bottom: 18px;
	flex-wrap: wrap;
}
body.wds-product-page .wds-buybar .cart { display: contents; }
body.wds-product-page .wds-buybar .wds-qty {
	display: inline-flex;
	align-items: center;
	border: 1.5px solid var(--ink);
	border-radius: var(--r-sm);
	overflow: hidden;
	height: 54px;
}
body.wds-product-page .wds-buybar .wds-qty button {
	width: 44px;
	border: none;
	background: var(--paper);
	font-size: 20px;
	cursor: pointer;
	font-family: var(--font-display);
	color: var(--ink);
	transition: background .12s ease;
	height: 100%;
}
body.wds-product-page .wds-buybar .wds-qty button:hover { background: var(--paper-warm); }
body.wds-product-page .wds-buybar .wds-qty input.qty {
	width: 46px;
	border: none;
	text-align: center;
	font-family: var(--font-mono);
	font-size: 15px;
	-moz-appearance: textfield;
	height: 100%;
}
body.wds-product-page .wds-buybar .wds-qty input.qty::-webkit-outer-spin-button,
body.wds-product-page .wds-buybar .wds-qty input.qty::-webkit-inner-spin-button { -webkit-appearance: none; }
body.wds-product-page .wds-buybar .single_add_to_cart_button {
	flex: 1;
	min-width: 170px;
}
/* WooCommerce loading state */
body.wds-product-page .wds-buybar .single_add_to_cart_button.loading { opacity: 0.6; }
body.wds-product-page .wds-buybar .single_add_to_cart_button.added  { background: var(--chartreuse-2); }

/* Reassurance row */
body.wds-product-page .wds-reassure {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.03em;
	color: var(--muted);
	padding-bottom: 22px;
	border-bottom: 1px solid var(--rule);
	margin-bottom: 20px;
}
body.wds-product-page .wds-reassure span { display: inline-flex; gap: 7px; align-items: center; }
body.wds-product-page .wds-reassure-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--ok);
	flex-shrink: 0;
}

/* Meta rows (SKU, category, tags, version) */
body.wds-product-page .wds-metarows {
	display: flex;
	flex-direction: column;
	gap: 9px;
}
body.wds-product-page .wds-metarows-row {
	display: flex;
	gap: 12px;
	font-family: var(--font-mono);
	font-size: 12px;
}
body.wds-product-page .wds-metarows-k {
	color: var(--muted);
	min-width: 96px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
body.wds-product-page .wds-metarows-v { color: var(--ink); }
body.wds-product-page .wds-metarows-v a {
	color: var(--ink);
	text-decoration: underline;
	text-underline-offset: 2px;
	text-decoration-color: var(--rule);
}

/* ── 5. Stat strip ─────────────────────────────────────────────── */
body.wds-product-page .wds-prod-stats {
	background: var(--ink);
	color: var(--paper);
	border-radius: 22px;
	padding: 40px 44px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 32px;
	margin: 8px 0 64px;
	position: relative;
	overflow: hidden;
}
body.wds-product-page .wds-prod-stats-deco {
	position: absolute;
	right: -50px;
	bottom: -70px;
	width: 240px;
	height: 240px;
	border-radius: 50%;
	background: var(--chartreuse);
	opacity: .12;
	pointer-events: none;
}
body.wds-product-page .wds-prod-stat { position: relative; }
body.wds-product-page .wds-prod-stat-v {
	font-family: var(--font-display);
	font-weight: 800;
	font-size: 40px;
	letter-spacing: -0.03em;
	line-height: 1;
}
body.wds-product-page .wds-prod-stat-v .sm { font-size: 20px; color: var(--chartreuse); }
body.wds-product-page .wds-prod-stat-l {
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.05em;
	color: var(--muted-2);
	margin-top: 10px;
	line-height: 1.5;
}

/* ── 6. Tabs ───────────────────────────────────────────────────── */
body.wds-product-page .wds-prod-tabs {
	border-bottom: 1.5px solid var(--ink);
	display: flex;
	gap: 4px;
	margin-bottom: 44px;
	flex-wrap: wrap;
}
body.wds-product-page .wds-prod-tabs button {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 15px;
	padding: 14px 20px;
	background: none;
	border: none;
	border-bottom: 3px solid transparent;
	margin-bottom: -1.5px;
	cursor: pointer;
	color: var(--muted);
	transition: color .12s ease, border-color .12s ease;
}
body.wds-product-page .wds-prod-tabs button:hover { color: var(--ink); }
body.wds-product-page .wds-prod-tabs button.is-active {
	color: var(--ink);
	border-bottom-color: var(--chartreuse);
}
body.wds-product-page .wds-prod-panel { display: none; }
body.wds-product-page .wds-prod-panel.is-active { display: block; }

/* ── 7. Description tab ────────────────────────────────────────── */
body.wds-product-page .wds-prod-descgrid {
	display: grid;
	grid-template-columns: 1.5fr 1fr;
	gap: 56px;
	align-items: start;
}
body.wds-product-page .wds-prod-prose p {
	font-size: 17px;
	line-height: 1.7;
	color: var(--ink-soft);
	margin: 0 0 18px;
	max-width: 62ch;
}
body.wds-product-page .wds-prod-prose p:first-child { font-size: 19px; color: var(--ink); }
body.wds-product-page .wds-prod-prose h3 { font-size: 21px; margin: 34px 0 12px; }
body.wds-product-page .wds-prod-prose code {
	background: var(--paper-warm);
	padding: 1px 6px;
	border-radius: 4px;
	font-family: var(--font-mono);
	font-size: 0.92em;
}

body.wds-product-page .wds-prod-sidecol { display: flex; flex-direction: column; gap: 20px; }

body.wds-product-page .wds-prod-terminal {
	background: var(--ink);
	border-radius: 14px;
	overflow: hidden;
	font-family: var(--font-mono);
}
body.wds-product-page .wds-prod-terminal-bar {
	display: flex;
	gap: 7px;
	padding: 13px 16px;
	border-bottom: 1px solid rgba(255,255,255,.08);
}
body.wds-product-page .wds-prod-terminal-bar i {
	width: 11px;
	height: 11px;
	border-radius: 50%;
	display: block;
}
body.wds-product-page .wds-prod-terminal-bar i:nth-child(1) { background: #ff5f57; }
body.wds-product-page .wds-prod-terminal-bar i:nth-child(2) { background: #febc2e; }
body.wds-product-page .wds-prod-terminal-bar i:nth-child(3) { background: #28c840; }
body.wds-product-page .wds-prod-terminal-bar span { margin-left: auto; font-size: 10px; color: var(--muted-2); letter-spacing: 0.06em; }
body.wds-product-page .wds-prod-terminal-body {
	padding: 18px 18px 22px;
	font-size: 13px;
	line-height: 1.85;
	color: var(--paper);
}
body.wds-product-page .wds-prod-terminal-body .c { color: var(--muted-2); }
body.wds-product-page .wds-prod-terminal-body .p { color: var(--chartreuse); }
body.wds-product-page .wds-prod-terminal-body .u { color: #fff; }
body.wds-product-page .wds-prod-terminal-body .s { color: var(--pink); }

body.wds-product-page .wds-prod-sidecard {
	border: 1.5px solid var(--ink);
	border-radius: 16px;
	padding: 24px;
}
body.wds-product-page .wds-prod-sidecard h4 {
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--muted);
	margin: 0 0 16px;
	font-weight: 500;
}
body.wds-product-page .wds-prod-sidecard ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 13px;
}
body.wds-product-page .wds-prod-sidecard ul li {
	display: flex;
	gap: 11px;
	font-size: 14px;
	align-items: flex-start;
}
body.wds-product-page .wds-prod-sidecard-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--ink);
	margin-top: 7px;
	flex-shrink: 0;
}
body.wds-product-page .wds-prod-sidecard-dot--pk { background: var(--pink-2); }

/* ── 8. Features tab ───────────────────────────────────────────── */
body.wds-product-page .wds-ab-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 24px;
	margin-bottom: 30px;
	flex-wrap: wrap;
}
body.wds-product-page .wds-ab-head p {
	font-size: 16px;
	color: var(--muted);
	max-width: 54ch;
	margin: 8px 0 0;
}
body.wds-product-page .wds-ab-legend {
	display: flex;
	gap: 16px;
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.04em;
	color: var(--muted);
}
body.wds-product-page .wds-ab-legend span { display: inline-flex; gap: 7px; align-items: center; }
body.wds-product-page .wds-chip {
	font-family: var(--font-mono);
	font-size: 9px;
	padding: 2px 7px;
	border-radius: 999px;
	font-weight: 600;
	letter-spacing: 0.06em;
}
body.wds-product-page .wds-chip--free { background: var(--chartreuse); color: var(--ink); border: 1px solid var(--ink); }
body.wds-product-page .wds-chip--pro  { background: var(--ink); color: var(--pink); }

body.wds-product-page .wds-abgroups {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 22px;
}
body.wds-product-page .wds-abgroup {
	border: 1px solid var(--rule);
	border-radius: 16px;
	padding: 22px 24px;
}
body.wds-product-page .wds-abgroup.is-pro { border-color: var(--ink); }
body.wds-product-page .wds-abgroup-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-bottom: 16px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--rule);
}
body.wds-product-page .wds-abgroup-title {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 17px;
	display: flex;
	align-items: center;
	gap: 10px;
}
body.wds-product-page .wds-abgroup-n {
	font-family: var(--font-mono);
	font-size: 11px;
	color: var(--muted);
	font-weight: 400;
}
body.wds-product-page .wds-abgroup-items { display: flex; flex-wrap: wrap; gap: 7px; }
body.wds-product-page .wds-abgroup-items code {
	font-family: var(--font-mono);
	font-size: 11.5px;
	padding: 5px 9px;
	border: 1px solid var(--rule);
	border-radius: 6px;
	color: var(--ink-soft);
	background: var(--paper-warm);
	white-space: nowrap;
}
body.wds-product-page .wds-abgroup.is-pro .wds-abgroup-items code {
	border-color: var(--accent-rule);
	background: var(--accent-soft);
}
body.wds-product-page .wds-abgroup-desc {
	font-size: 14px;
	color: var(--muted);
	line-height: 1.6;
	margin: 0;
}

/* ── 9. Requirements tab ───────────────────────────────────────── */
body.wds-product-page .wds-reqgrid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
}
body.wds-product-page .wds-reqcard {
	border: 1px solid var(--rule);
	border-radius: 16px;
	padding: 24px;
}
body.wds-product-page .wds-reqcard h4 { font-size: 17px; margin: 0 0 6px; }
body.wds-product-page .wds-reqcard-sub {
	font-family: var(--font-mono);
	font-size: 11px;
	color: var(--muted);
	letter-spacing: 0.04em;
	margin-bottom: 16px;
}
body.wds-product-page .wds-reqcard table { width: 100%; border-collapse: collapse; font-size: 14px; }
body.wds-product-page .wds-reqcard td { padding: 9px 0; border-bottom: 1px solid var(--rule); vertical-align: top; }
body.wds-product-page .wds-reqcard tr:last-child td { border-bottom: none; }
body.wds-product-page .wds-reqcard td:first-child { color: var(--muted); width: 46%; }
body.wds-product-page .wds-reqcard td:last-child { color: var(--ink); font-family: var(--font-mono); font-size: 12px; }
body.wds-product-page .wds-reqcard-opt {
	display: inline-block;
	font-family: var(--font-mono);
	font-size: 9px;
	padding: 2px 6px;
	border: 1px solid var(--rule);
	border-radius: 999px;
	color: var(--muted);
	margin-left: 6px;
}

/* ── 10. Reviews tab ───────────────────────────────────────────── */
body.wds-product-page .wds-revsum {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 40px;
	align-items: center;
	border: 1.5px solid var(--ink);
	border-radius: 18px;
	padding: 30px 34px;
	margin-bottom: 30px;
}
body.wds-product-page .wds-revsum-big { text-align: center; }
body.wds-product-page .wds-revsum-num {
	font-family: var(--font-display);
	font-weight: 800;
	font-size: 56px;
	line-height: 1;
	letter-spacing: -0.03em;
}
body.wds-product-page .wds-revsum-stars {
	color: var(--ink);
	letter-spacing: 2px;
	font-size: 16px;
	margin-top: 8px;
}
body.wds-product-page .wds-revsum-cnt {
	font-family: var(--font-mono);
	font-size: 11px;
	color: var(--muted);
	margin-top: 6px;
}
body.wds-product-page .wds-revbars { display: flex; flex-direction: column; gap: 8px; }
body.wds-product-page .wds-revbar-row {
	display: flex;
	align-items: center;
	gap: 12px;
	font-family: var(--font-mono);
	font-size: 11px;
	color: var(--muted);
}
body.wds-product-page .wds-revbar-lab { width: 34px; }
body.wds-product-page .wds-revbar-track { flex: 1; height: 8px; background: var(--paper-warm); border-radius: 999px; overflow: hidden; }
body.wds-product-page .wds-revbar-fill { height: 100%; background: var(--chartreuse); border-radius: 999px; }

body.wds-product-page .wds-revlist { display: flex; flex-direction: column; gap: 18px; }
body.wds-product-page .wds-review {
	border: 1px solid var(--rule);
	border-radius: 16px;
	padding: 24px 26px;
}
body.wds-product-page .wds-review-head {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	align-items: center;
	margin-bottom: 12px;
	flex-wrap: wrap;
}
body.wds-product-page .wds-review-who { display: flex; gap: 12px; align-items: center; }
body.wds-product-page .wds-review-av {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--paper-warm);
	border: 1.5px solid var(--ink);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 14px;
	flex-shrink: 0;
}
body.wds-product-page .wds-review-name { font-family: var(--font-display); font-weight: 700; font-size: 15px; }
body.wds-product-page .wds-review-role { font-family: var(--font-mono); font-size: 11px; color: var(--muted); }
body.wds-product-page .wds-review-stars { color: var(--ink); letter-spacing: 1.5px; font-size: 13px; }
body.wds-product-page .wds-review p { font-size: 15px; line-height: 1.6; color: var(--ink-soft); margin: 0; }
body.wds-product-page .wds-review-verified {
	font-family: var(--font-mono);
	font-size: 10px;
	color: var(--ok);
	letter-spacing: 0.04em;
	margin-top: 12px;
}

/* ── 11. How it works ──────────────────────────────────────────── */
body.wds-product-page .wds-how {
	padding: 72px 0;
	border-top: 1px solid var(--rule);
}
body.wds-product-page .wds-how-lead {
	max-width: 50ch;
	margin-bottom: 48px;
}
body.wds-product-page .wds-how-eyebrow {
	font-family: var(--font-mono);
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--muted);
	margin-bottom: 14px;
}
body.wds-product-page .wds-how-title { font-size: clamp(26px, 3vw, 38px); line-height: 1.08; }
body.wds-product-page .wds-how-steps {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
}
body.wds-product-page .wds-how-step {
	border: 1px solid var(--rule);
	border-radius: 18px;
	padding: 28px;
}
body.wds-product-page .wds-how-step-no {
	font-family: var(--font-mono);
	font-size: 12px;
	color: var(--ink);
	background: var(--chartreuse);
	border: 1.5px solid var(--ink);
	width: 34px;
	height: 34px;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
	margin-bottom: 18px;
}
body.wds-product-page .wds-how-step h4 { font-size: 18px; margin: 0 0 8px; }
body.wds-product-page .wds-how-step p { font-size: 14px; color: var(--muted); margin: 0 0 14px; line-height: 1.6; }
body.wds-product-page .wds-how-step-code {
	font-family: var(--font-mono);
	font-size: 11.5px;
	background: var(--ink);
	color: var(--chartreuse);
	padding: 11px 13px;
	border-radius: 8px;
	overflow-x: auto;
	line-height: 1.5;
}
body.wds-product-page .wds-how-step-code .c { color: var(--muted-2); }

/* ── 12. Related products ──────────────────────────────────────── */
body.wds-product-page .wds-prod-related { padding: 0 0 72px; }
body.wds-product-page .wds-prod-related-head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 28px;
}
body.wds-product-page .wds-prod-related-head h2 { font-size: clamp(26px, 3vw, 38px); }
body.wds-product-page .wds-prod-related-head a {
	font-family: var(--font-mono);
	font-size: 12px;
	color: var(--ink);
	text-decoration: none;
}
body.wds-product-page .wds-prod-related-head a:hover { color: var(--muted); }
body.wds-product-page .wds-relgrid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 28px;
}
body.wds-product-page .wds-relcard {
	border: 1px solid var(--rule);
	border-radius: 18px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: var(--ink);
	transition: border-color .15s ease, transform .15s ease;
}
body.wds-product-page .wds-relcard:hover { border-color: var(--ink); transform: translateY(-3px); }
body.wds-product-page .wds-relcard-thumb {
	aspect-ratio: 16 / 9;
	border-bottom: 1px solid var(--rule);
	position: relative;
	overflow: hidden;
}
body.wds-product-page .wds-relcard:hover .wds-relcard-thumb { border-bottom-color: var(--ink); }
body.wds-product-page .wds-relcard-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	inset: 0;
}
body.wds-product-page .wds-relcard-thumb svg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
body.wds-product-page .wds-relcard--chart .wds-relcard-thumb { background: var(--chartreuse); }
body.wds-product-page .wds-relcard--pink  .wds-relcard-thumb { background: var(--pink); }
body.wds-product-page .wds-relcard-body {
	padding: 22px 24px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1;
}
body.wds-product-page .wds-relcard-meta {
	font-family: var(--font-mono);
	font-size: 11px;
	color: var(--muted);
	letter-spacing: 0.05em;
}
body.wds-product-page .wds-relcard-title { font-size: 19px; line-height: 1.25; }
body.wds-product-page .wds-relcard-desc { font-size: 14px; color: var(--muted); margin: 0; }
body.wds-product-page .wds-relcard-foot {
	margin-top: auto;
	padding-top: 16px;
	border-top: 1px solid var(--rule);
	display: flex;
	justify-content: space-between;
	align-items: center;
}
body.wds-product-page .wds-relcard-price {
	font-family: var(--font-display);
	font-weight: 800;
	font-size: 22px;
}

/* ── 13. CTA ───────────────────────────────────────────────────── */
body.wds-product-page .wds-prod-cta { padding: 0 0 80px; }
body.wds-product-page .wds-prod-cta-panel {
	background: var(--ink);
	color: var(--paper);
	border-radius: var(--r-xl);
	padding: 60px 64px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 40px;
	flex-wrap: wrap;
	position: relative;
	overflow: hidden;
}
body.wds-product-page .wds-prod-cta-deco {
	position: absolute;
	right: -60px;
	top: -60px;
	width: 280px;
	height: 280px;
	border-radius: 50%;
	background: var(--accent);
	opacity: .16;
	pointer-events: none;
}
body.wds-product-page .wds-prod-cta-eyebrow {
	font-family: var(--font-mono);
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--muted-2);
	margin: 0 0 14px;
	display: flex;
	gap: 8px;
	align-items: center;
}
body.wds-product-page .wds-prod-cta-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--accent);
	flex-shrink: 0;
}
body.wds-product-page .wds-prod-cta-panel h2 {
	font-size: clamp(26px, 3.2vw, 40px);
	max-width: 18ch;
	line-height: 1.06;
	color: var(--paper);
}
body.wds-product-page .wds-prod-cta-acts { display: flex; gap: 14px; flex-wrap: wrap; }

/* ── 14. Responsive ────────────────────────────────────────────── */
@media (max-width: 920px) {
	body.wds-product-page .wds-prod-top {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	body.wds-product-page .wds-prod-descgrid {
		grid-template-columns: 1fr;
		gap: 36px;
	}
}
@media (max-width: 760px) {
	body.wds-product-page .wds-prod-stats {
		grid-template-columns: 1fr 1fr;
		gap: 28px;
		padding: 32px;
	}
	body.wds-product-page .wds-how-steps {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	body.wds-product-page .wds-prod-cta-panel { padding: 44px 28px; }
	body.wds-product-page .wds-reqgrid {
		grid-template-columns: 1fr;
	}
	body.wds-product-page .wds-revsum {
		grid-template-columns: 1fr;
		gap: 22px;
	}
}
@media (max-width: 620px) {
	body.wds-product-page .wds-relgrid { grid-template-columns: 1fr; }
	body.wds-product-page .wds-abgroups { grid-template-columns: 1fr; }
	body.wds-product-page .wds-prod-wrap { padding: 0 20px; }
}

/* ── WooCommerce notices (add-to-cart confirmation, errors) ── */
body.wds-product-page .woocommerce-message,
body.wds-product-page .woocommerce-error,
body.wds-product-page .woocommerce-info {
	list-style: none;
	margin: 0 0 20px;
	padding: 14px 20px 14px 46px;
	border-radius: 8px;
	font-size: 14px;
	display: block;
}
body.wds-product-page .woocommerce-message {
	background: #f4fce8;
	border-left: 4px solid #DCEE2A;
	color: #0E0E10;
}
body.wds-product-page .woocommerce-error {
	background: #fff0f0;
	border-left: 4px solid #e53e3e;
	color: #0E0E10;
}
body.wds-product-page .woocommerce-info {
	background: #f0f4ff;
	border-left: 4px solid #3b82f6;
	color: #0E0E10;
}
body.wds-product-page .woocommerce-message a,
body.wds-product-page .woocommerce-error a,
body.wds-product-page .woocommerce-info a {
	font-weight: 600;
	color: inherit;
	text-decoration: underline;
}
