/* ============================================================
   PUREPOINT — WooCommerce theme  ·  v0.4.0
   Premium shop: hero · top-tier · categories · grid · stacks
   ============================================================ */

/* ── Shop hero ──────────────────────────────────────────── */
.pp-shop-hero {
	position: relative;
	padding: var(--pp-space-9) 0 var(--pp-space-7);
	background: linear-gradient(180deg, var(--pp-paper) 0%, var(--pp-paper-soft) 100%);
	border-bottom: var(--pp-border-hair);
}
.pp-shop-hero__inner { max-width: 720px; }
@media (max-width: 880px) {
	.pp-shop-hero__inner { max-width: none; }
}
.pp-shop-hero__title {
	font-size: clamp(36px, 5.5vw, 64px);
	line-height: 1;
	letter-spacing: -0.025em;
	margin: var(--pp-space-5) 0 var(--pp-space-5);
}
.pp-shop-hero__sub {
	font-size: var(--pp-size-md);
	color: var(--pp-ink-2);
	max-width: 620px;
	margin: 0 0 var(--pp-space-7);
}
.pp-shop-hero__stats {
	display: grid;
	grid-template-columns: repeat(4, max-content);
	gap: var(--pp-space-7);
	margin: 0;
	padding: var(--pp-space-4) 0 0;
	border-top: var(--pp-border-hair);
}
.pp-shop-hero__stats div { display: flex; flex-direction: column; gap: 4px; }
.pp-shop-hero__stats dt {
	font-family: var(--pp-mono);
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--pp-ink-3);
	margin: 0;
}
.pp-shop-hero__stats dd {
	font-family: var(--pp-mono);
	font-size: var(--pp-size-sm);
	font-weight: 500;
	color: var(--pp-ink);
	margin: 0;
}
@media (max-width: 880px) {
	.pp-shop-hero { padding: var(--pp-space-8) 0 var(--pp-space-6); }
	.pp-shop-hero__stats { grid-template-columns: repeat(2, 1fr); gap: var(--pp-space-4); }
}

/* ── Section header — split (eyebrow+H2 left, lead right) ── */
.pp-section__header--split {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: var(--pp-space-7);
	align-items: end;
	max-width: none;
}
.pp-section__header--split .pp-section__lead { margin: 0; }
@media (max-width: 880px) {
	.pp-section__header--split { grid-template-columns: 1fr; gap: var(--pp-space-3); }
}

/* ============================================================
   TOP TIER — featured large cards
   ============================================================ */
.pp-tier-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--pp-space-5);
}
.pp-tier-card {
	display: flex; flex-direction: column;
	background: var(--pp-paper);
	border: 1px solid var(--pp-line);
	color: var(--pp-ink);
	text-decoration: none;
	transition: border-color var(--pp-duration-2) var(--pp-ease),
	            transform var(--pp-duration-3) var(--pp-ease),
	            box-shadow var(--pp-duration-3) var(--pp-ease);
	overflow: hidden;
}
.pp-tier-card:hover {
	border-color: var(--pp-ink);
	transform: translateY(-3px);
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.07);
	color: var(--pp-ink);
}
.pp-tier-card__media {
	position: relative;
	background: var(--pp-paper-soft);
	border-bottom: var(--pp-border-hair);
	aspect-ratio: 1 / 1;
	overflow: hidden;
	display: block;
	padding: 6%;
}
.pp-tier-card__img {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: contain !important;
	object-position: center !important;
	display: block;
	transition: transform var(--pp-duration-3) var(--pp-ease);
}
.pp-tier-card:hover .pp-tier-card__img { transform: scale(1.03); }
.pp-tier-card__placeholder {
	width: 100%; height: 100%;
	background:
		repeating-linear-gradient(45deg, transparent 0, transparent 12px, var(--pp-line) 12px, var(--pp-line) 13px);
}
/* Risk tier badges — hidden (internal-only labeling) */
.pp-tier-card__tier,
.pp-product-card__tier { display: none !important; }

.pp-tier-card__body {
	padding: var(--pp-space-5) var(--pp-space-5) var(--pp-space-4);
	display: flex; flex-direction: column;
	flex: 1;
}
.pp-tier-card__title {
	font-size: var(--pp-size-md);
	margin: 0 0 var(--pp-space-3);
	line-height: 1.25;
	color: var(--pp-ink);
	font-weight: 600;
}
.pp-tier-card__cas {
	font-size: 11px;
	letter-spacing: 0.06em;
	color: var(--pp-ink-3);
	margin: 0 0 4px;
}
.pp-tier-card__purity {
	font-size: 11px;
	letter-spacing: 0.04em;
	color: var(--pp-ink-3);
	margin: 0 0 var(--pp-space-4);
}
.pp-tier-card__price-row {
	margin-top: auto;
	padding-top: var(--pp-space-3);
	border-top: var(--pp-border-hair);
}
.pp-tier-card__price {
	font-size: var(--pp-size-lg);
	color: var(--pp-teal);
	font-weight: 600;
	display: block;
	line-height: 1.1;
}
.pp-tier-card__price .amount,
.pp-tier-card__price ins,
.pp-tier-card__price del { font-family: inherit; }
.pp-tier-card__price del { color: var(--pp-ink-3); margin-right: 6px; font-weight: 400; font-size: var(--pp-size-sm); }
.pp-tier-card__cta-row {
	padding-top: var(--pp-space-3);
}
.pp-tier-card__cta {
	display: inline-flex; align-items: center; gap: 6px;
	font-size: 10px;
	color: var(--pp-ink-3);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	font-weight: 700;
	transition: color var(--pp-duration-2) var(--pp-ease);
}
.pp-tier-card__cta svg { transition: transform var(--pp-duration-2) var(--pp-ease); }
.pp-tier-card:hover .pp-tier-card__cta { color: var(--pp-teal); }
.pp-tier-card:hover .pp-tier-card__cta svg { transform: translateX(4px); }
@media (max-width: 880px) {
	.pp-tier-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--pp-space-4); }
}
@media (max-width: 520px) {
	.pp-tier-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--pp-space-3); }
	.pp-tier-card__body { padding: var(--pp-space-4) var(--pp-space-3) var(--pp-space-3); }
	.pp-tier-card__title { font-size: var(--pp-size-sm); }
	.pp-tier-card__price { font-size: var(--pp-size-md); }
	.pp-tier-card__cas,
	.pp-tier-card__purity { font-size: 10px; }
}

/* ============================================================
   SHOP CATEGORIES — indexed editorial list
   ============================================================ */
.pp-shop-cats__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	border-top: 1px solid var(--pp-ink);
	border-bottom: var(--pp-border-hair);
	margin: 0;
}
.pp-shop-cat {
	display: grid;
	grid-template-columns: 60px 1fr auto auto;
	align-items: center;
	gap: var(--pp-space-4);
	padding: var(--pp-space-5) var(--pp-space-4);
	border-bottom: var(--pp-border-hair);
	color: var(--pp-ink);
	transition: background var(--pp-duration-2) var(--pp-ease),
	            padding-left var(--pp-duration-2) var(--pp-ease);
}
.pp-shop-cat:last-child { border-bottom: 0; }
.pp-shop-cat:hover {
	background: var(--pp-paper);
	padding-left: var(--pp-space-6);
	color: var(--pp-ink);
}
.pp-shop-cat__index {
	font-size: var(--pp-size-xs);
	color: var(--pp-ink-3);
	letter-spacing: 0.16em;
}
.pp-shop-cat__name {
	font-size: var(--pp-size-md);
	font-weight: 600;
	letter-spacing: -0.005em;
}
.pp-shop-cat__count {
	font-size: 11px;
	color: var(--pp-ink-3);
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.pp-shop-cat__arrow {
	color: var(--pp-ink-3);
	transition: transform var(--pp-duration-2) var(--pp-ease),
	            color var(--pp-duration-2) var(--pp-ease);
}
.pp-shop-cat:hover .pp-shop-cat__arrow {
	color: var(--pp-teal);
	transform: translateX(4px);
}
@media (max-width: 520px) {
	.pp-shop-cat {
		grid-template-columns: 40px 1fr auto;
		gap: var(--pp-space-3);
		padding: var(--pp-space-4) var(--pp-space-2);
	}
	.pp-shop-cat__count { display: none; }
}

/* ============================================================
   FULL PRODUCT GRID — premium card
   ============================================================ */
.woocommerce ul.products,
.woocommerce[class*=columns-] ul.products,
.woocommerce-page[class*=columns-] ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: var(--pp-space-5) !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	width: 100% !important;
}
/* WC core injects ::before and ::after with display:table — they leak into
   grid auto-flow as first/last cells, pushing the first product into column 2.
   Kill them. */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after,
.woocommerce .products ul::before,
.woocommerce .products ul::after {
	display: none !important;
	content: none !important;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce[class*=columns-] ul.products li.product,
.woocommerce-page[class*=columns-] ul.products li.product,
.pp-product-card {
	background: var(--pp-paper) !important;
	border: 1px solid var(--pp-line);
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	float: none !important;
	clear: none !important;
	display: flex !important;
	flex-direction: column !important;
	grid-column: auto !important;
	transition: border-color var(--pp-duration-2) var(--pp-ease),
	            transform var(--pp-duration-3) var(--pp-ease),
	            box-shadow var(--pp-duration-3) var(--pp-ease);
	overflow: hidden;
	list-style: none !important;
}
.pp-product-card:hover {
	border-color: var(--pp-ink);
	transform: translateY(-2px);
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.06);
}
.pp-product-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: var(--pp-ink);
	text-decoration: none;
}
.pp-product-card__link:hover { color: var(--pp-ink); }
.pp-product-card__media {
	position: relative;
	background: var(--pp-paper-soft);
	border-bottom: var(--pp-border-hair);
	aspect-ratio: 1 / 1;
	display: block;
	overflow: hidden;
	padding: 6%;
}
.pp-product-card__img {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: contain !important;
	object-position: center !important;
	display: block;
	transition: transform var(--pp-duration-3) var(--pp-ease);
}
.pp-product-card:hover .pp-product-card__img { transform: scale(1.04); }
.pp-product-card__placeholder {
	width: 100%; height: 100%;
	background: repeating-linear-gradient(45deg, transparent 0, transparent 14px, var(--pp-line) 14px, var(--pp-line) 15px);
}
.pp-product-card__tier {
	position: absolute;
	top: var(--pp-space-3); right: var(--pp-space-3);
	display: inline-flex; align-items: center; gap: 4px;
	background: var(--pp-paper);
	border: 1px solid var(--pp-line-strong);
	border-radius: var(--pp-radius-pill);
	padding: 4px 8px;
	font-family: var(--pp-mono);
	font-size: 9px;
	letter-spacing: 0.14em;
	font-weight: 600;
	color: var(--pp-ink);
}
.pp-product-card__tier--green  { border-color: var(--pp-teal); color: var(--pp-teal); }
.pp-product-card__tier--yellow { border-color: var(--pp-ink-2); color: var(--pp-ink-2); }
.pp-product-card__body {
	padding: var(--pp-space-4);
	display: flex; flex-direction: column; gap: var(--pp-space-2);
	flex: 1;
}
.pp-product-card__title {
	font-size: var(--pp-size-base) !important;
	font-weight: 600 !important;
	color: var(--pp-ink) !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.3;
}
.pp-product-card__cas {
	font-size: 10px;
	letter-spacing: 0.08em;
	color: var(--pp-ink-3);
	margin: 0 !important;
}
.pp-product-card__specs {
	display: flex; gap: var(--pp-space-4);
	margin: var(--pp-space-2) 0 0;
	padding: var(--pp-space-2) 0;
	border-top: 1px solid var(--pp-line);
}
.pp-product-card__specs div { display: flex; flex-direction: column; gap: 1px; }
.pp-product-card__specs dt {
	font-size: 9px;
	letter-spacing: 0.16em;
	color: var(--pp-ink-3);
	text-transform: uppercase;
	margin: 0;
}
.pp-product-card__specs dd {
	font-size: 11px;
	color: var(--pp-ink);
	margin: 0;
	font-weight: 500;
}
.pp-product-card__footer {
	display: flex; justify-content: space-between; align-items: center;
	gap: var(--pp-space-3);
	margin-top: auto;
	padding-top: var(--pp-space-3);
	border-top: var(--pp-border-hair);
}
.pp-product-card__price {
	font-size: var(--pp-size-base);
	color: var(--pp-teal);
	font-weight: 600;
}
.pp-product-card__price .amount,
.pp-product-card__price ins,
.pp-product-card__price del { font-family: inherit; }
.pp-product-card__price del { color: var(--pp-ink-3); margin-right: 6px; font-weight: 400; }
.pp-product-card__cta {
	display: inline-flex; align-items: center; gap: 4px;
	font-size: 10px;
	letter-spacing: 0.14em;
	color: var(--pp-ink-3);
	text-transform: uppercase;
	font-weight: 600;
	transition: color var(--pp-duration-2) var(--pp-ease);
}
.pp-product-card__cta svg { transition: transform var(--pp-duration-2) var(--pp-ease); }
.pp-product-card:hover .pp-product-card__cta { color: var(--pp-teal); }
.pp-product-card:hover .pp-product-card__cta svg { transform: translateX(2px); }

@media (max-width: 1024px) {
	.woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 880px) {
	.woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: var(--pp-space-4) !important; }
	.pp-product-card__body { padding: var(--pp-space-3); }
}
@media (max-width: 600px) {
	.pp-product-card__footer {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--pp-space-2);
	}
	.pp-product-card__cta { font-size: 9px; }
}

/* Hide WC defaults that conflict with our card */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product > .price,
.woocommerce ul.products li.product .woocommerce-loop-product__link,
.woocommerce ul.products li.product .added_to_cart { display: none !important; }

/* ── Pagination ─────────────────────────────────────────── */
.pp-shop-pagination {
	display: flex; justify-content: center;
	gap: var(--pp-space-2);
	margin-top: var(--pp-space-7);
	padding-top: var(--pp-space-5);
	border-top: var(--pp-border-hair);
}
.pp-shop-pagination a,
.pp-shop-pagination span {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 40px; height: 40px;
	padding: 0 12px;
	border: 1px solid var(--pp-line);
	font-family: var(--pp-mono);
	font-size: var(--pp-size-sm);
	color: var(--pp-ink);
	text-decoration: none;
	transition: border-color var(--pp-duration-2) var(--pp-ease),
	            background var(--pp-duration-2) var(--pp-ease);
}
.pp-shop-pagination a:hover { border-color: var(--pp-teal); color: var(--pp-teal); }
.pp-shop-pagination .current {
	background: var(--pp-teal);
	color: var(--pp-paper);
	border-color: var(--pp-teal);
}
.pp-shop-empty {
	text-align: center;
	padding: var(--pp-space-9) 0;
	color: var(--pp-ink-3);
	font-size: var(--pp-size-md);
}

/* ============================================================
   STACKS — research bundles
   ============================================================ */
.pp-stacks__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--pp-space-5);
}
.pp-stack-card {
	background: var(--pp-paper);
	border: 1px solid var(--pp-ink);
	padding: var(--pp-space-6);
	display: flex; flex-direction: column;
	gap: var(--pp-space-4);
	transition: transform var(--pp-duration-3) var(--pp-ease),
	            box-shadow var(--pp-duration-3) var(--pp-ease);
	position: relative;
}
.pp-stack-card::before {
	content: '';
	position: absolute;
	top: 0; left: 0;
	width: 60px; height: 3px;
	background: var(--pp-teal);
	transform: scaleX(0); transform-origin: left;
	transition: transform var(--pp-duration-3) var(--pp-ease);
}
.pp-stack-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
}
.pp-stack-card:hover::before { transform: scaleX(1); }

.pp-stack-card__header { padding-top: var(--pp-space-2); }
.pp-stack-card__title { font-size: var(--pp-size-xl); margin: var(--pp-space-2) 0 0; line-height: 1.1; }
.pp-stack-card__desc { font-size: var(--pp-size-sm); color: var(--pp-ink-2); margin: 0; line-height: 1.5; }
.pp-stack-card__items {
	list-style: none;
	padding: var(--pp-space-3) 0;
	margin: 0;
	border-top: var(--pp-border-hair);
	border-bottom: var(--pp-border-hair);
	display: flex; flex-direction: column; gap: var(--pp-space-2);
	font-size: var(--pp-size-sm);
	color: var(--pp-ink);
}
.pp-stack-card__items li span { color: var(--pp-teal); margin-right: 6px; }
.pp-stack-card__footer {
	display: flex; justify-content: space-between; align-items: center;
	margin-top: auto;
}
.pp-stack-card__meta {
	font-size: 10px;
	letter-spacing: 0.14em;
	color: var(--pp-ink-3);
	text-transform: uppercase;
}
@media (max-width: 880px) {
	.pp-stacks__grid { grid-template-columns: 1fr; gap: var(--pp-space-4); }
}

/* ============================================================
   SINGLE PRODUCT PAGE — premium custom layout
   ============================================================ */

/* ── Breadcrumb ─────────────────────────────────────────── */
.pp-breadcrumb {
	font-family: var(--pp-mono);
	font-size: 11px;
	letter-spacing: 0.08em;
	color: var(--pp-ink-3);
	padding-top: var(--pp-space-6);
	padding-bottom: var(--pp-space-5);
	display: flex; flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}
.pp-breadcrumb a {
	color: var(--pp-ink-3);
	transition: color var(--pp-duration-2) var(--pp-ease);
}
.pp-breadcrumb a:hover { color: var(--pp-teal); }
.pp-breadcrumb__current { color: var(--pp-ink); }

/* ── Product hero — 2-col asymmetric ────────────────────── */
.pp-product-page { padding-bottom: 0; }
.pp-product-hero {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: var(--pp-space-8);
	padding-bottom: var(--pp-space-9);
	border-bottom: var(--pp-border-hair);
}

/* LEFT — media */
.pp-product-hero__media { position: relative; }
.pp-product-hero__image {
	position: relative;
	background: var(--pp-paper-soft);
	border: 1px solid var(--pp-line);
	aspect-ratio: 1 / 1;
	display: flex; align-items: center; justify-content: center;
	overflow: hidden;
}
.pp-product-hero__img {
	width: 78%; height: 78%;
	object-fit: contain;
	transition: transform 800ms var(--pp-ease);
}
.pp-product-hero__image:hover .pp-product-hero__img { transform: scale(1.03); }
.pp-product-hero__placeholder {
	width: 100%; height: 100%;
	background: repeating-linear-gradient(45deg, transparent 0, transparent 16px, var(--pp-line) 16px, var(--pp-line) 17px);
}
.pp-product-hero__crosshair {
	position: absolute;
	width: 16px; height: 16px;
	color: var(--pp-ink-3);
	opacity: 0.55;
}
.pp-product-hero__crosshair::before,
.pp-product-hero__crosshair::after {
	content: ''; position: absolute; background: currentColor;
}
.pp-product-hero__crosshair::before { width: 100%; height: 1px; top: 50%; left: 0; }
.pp-product-hero__crosshair::after  { width: 1px; height: 100%; left: 50%; top: 0; }
.pp-product-hero__crosshair--tl { top: 8px;    left: 8px; }
.pp-product-hero__crosshair--tr { top: 8px;    right: 8px; }
.pp-product-hero__crosshair--bl { bottom: 8px; left: 8px; }
.pp-product-hero__crosshair--br { bottom: 8px; right: 8px; }
.pp-product-hero__media-note {
	font-size: 10px;
	letter-spacing: 0.1em;
	color: var(--pp-ink-3);
	margin: var(--pp-space-3) 0 0;
}

/* RIGHT — info */
.pp-product-hero__info { display: flex; flex-direction: column; gap: var(--pp-space-5); }
.pp-product-hero__title {
	font-size: clamp(32px, 4vw, 48px);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.05;
	margin: var(--pp-space-2) 0 0;
}
.pp-product-hero__cas {
	font-size: 13px;
	color: var(--pp-ink-3);
	margin: 0;
	letter-spacing: 0.04em;
}
.pp-product-hero__quick-specs {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--pp-space-3) var(--pp-space-5);
	margin: 0;
	padding: var(--pp-space-4) 0;
	border-top: var(--pp-border-hair);
	border-bottom: var(--pp-border-hair);
}
.pp-product-hero__quick-specs div { display: flex; flex-direction: column; gap: 2px; }
.pp-product-hero__quick-specs dt {
	font-family: var(--pp-mono);
	font-size: 10px;
	letter-spacing: 0.18em;
	color: var(--pp-ink-3);
	text-transform: uppercase;
	margin: 0;
}
.pp-product-hero__quick-specs dd {
	font-family: var(--pp-mono);
	font-size: 14px;
	color: var(--pp-ink);
	font-weight: 500;
	margin: 0;
}

/* Compliance notice — prominent oxblood-on-cream */
.pp-product-hero__notice {
	display: flex;
	gap: var(--pp-space-3);
	padding: var(--pp-space-4);
	background: var(--pp-paper-warm);
	border-left: 3px solid #8B2E2E;
	color: #6B1F1F;
}
.pp-product-hero__notice-icon { color: #8B2E2E; flex-shrink: 0; }
.pp-product-hero__notice-title {
	font-family: var(--pp-serif);
	font-style: italic;
	font-size: var(--pp-size-md);
	font-weight: 500;
	margin: 0 0 4px;
	color: #8B2E2E;
}
.pp-product-hero__notice-body {
	font-size: var(--pp-size-sm);
	color: var(--pp-ink-2);
	margin: 0;
	line-height: 1.5;
}

/* Buy panel */
.pp-product-hero__buy {
	padding: var(--pp-space-5);
	background: var(--pp-paper);
	border: 1px solid var(--pp-ink);
	display: flex; flex-direction: column; gap: var(--pp-space-4);
}
.pp-product-hero__price-row {
	display: flex; align-items: baseline; justify-content: space-between;
	gap: var(--pp-space-4);
	padding-bottom: var(--pp-space-4);
	border-bottom: var(--pp-border-hair);
}
.pp-product-hero__price {
	font-size: clamp(32px, 4vw, 40px);
	font-weight: 600;
	color: var(--pp-teal);
	line-height: 1;
}
.pp-product-hero__price .amount,
.pp-product-hero__price ins,
.pp-product-hero__price del { font-family: inherit; }
.pp-product-hero__price del { color: var(--pp-ink-3); margin-right: 12px; font-weight: 400; font-size: var(--pp-size-lg); }
.pp-product-hero__stock {
	font-size: 10px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--pp-teal);
	background: var(--pp-teal-10);
	padding: 4px 10px;
	border-radius: var(--pp-radius-pill);
	font-weight: 600;
}
.pp-product-hero__stock--out { color: #8B2E2E; background: rgba(139, 46, 46, 0.1); }

/* WooCommerce native add-to-cart form — premium override */
.pp-product-hero__buy form.cart {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: var(--pp-space-3) !important;
	margin: 0 !important;
}
.pp-product-hero__buy .quantity {
	display: inline-flex !important;
	align-items: stretch;
	border: 1px solid var(--pp-line-strong);
	border-radius: var(--pp-radius-2);
	overflow: hidden;
}
.pp-product-hero__buy .quantity input.qty {
	font-family: var(--pp-mono) !important;
	font-size: var(--pp-size-base) !important;
	font-weight: 600 !important;
	color: var(--pp-ink) !important;
	background: var(--pp-paper) !important;
	width: 64px !important;
	height: 50px !important;
	border: 0 !important;
	text-align: center !important;
	padding: 0 !important;
	-moz-appearance: textfield;
}
.pp-product-hero__buy .quantity input.qty::-webkit-outer-spin-button,
.pp-product-hero__buy .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
.pp-product-hero__buy button.single_add_to_cart_button {
	flex: 1 !important;
	min-width: 220px !important;
	height: 50px !important;
	background: var(--pp-teal) !important;
	color: var(--pp-paper) !important;
	border: 0 !important;
	border-radius: var(--pp-radius-2) !important;
	font-family: var(--pp-sans) !important;
	font-size: var(--pp-size-sm) !important;
	font-weight: 600 !important;
	letter-spacing: -0.005em !important;
	padding: 0 var(--pp-space-5) !important;
	cursor: pointer;
	transition: background var(--pp-duration-2) var(--pp-ease),
	            transform var(--pp-duration-1) var(--pp-ease) !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
}
.pp-product-hero__buy button.single_add_to_cart_button:hover {
	background: var(--pp-teal-hover) !important;
	transform: translateY(-1px);
}
.pp-product-hero__buy button.single_add_to_cart_button:active { transform: translateY(0); }
.pp-product-hero__buy button.single_add_to_cart_button::after {
	content: '→';
	font-family: var(--pp-sans);
	font-weight: 400;
	transition: transform var(--pp-duration-2) var(--pp-ease);
}
.pp-product-hero__buy button.single_add_to_cart_button:hover::after { transform: translateX(3px); }

/* Trust list */
.pp-product-hero__trust {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--pp-space-2) var(--pp-space-4);
	list-style: none;
	margin: 0;
	padding: 0;
}
.pp-product-hero__trust li {
	display: flex; align-items: center;
	gap: 8px;
	font-size: var(--pp-size-sm);
	color: var(--pp-ink-2);
}
.pp-product-hero__trust svg { color: var(--pp-teal); flex-shrink: 0; }

@media (max-width: 880px) {
	.pp-product-hero {
		grid-template-columns: 1fr;
		gap: var(--pp-space-6);
		padding-bottom: var(--pp-space-7);
	}
	.pp-product-hero__trust { grid-template-columns: 1fr; }
	.pp-product-hero__buy button.single_add_to_cart_button { min-width: 0 !important; width: 100% !important; }
}

/* ============================================================
   PRODUCT DETAIL — sections (TOC + content)
   ============================================================ */
.pp-product-detail {
	padding-top: var(--pp-space-8);
	padding-bottom: var(--pp-space-9);
}
.pp-product-detail__grid {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: var(--pp-space-8);
	align-items: start;
}
.pp-product-detail__toc {
	position: sticky;
	top: 96px;
	padding-right: var(--pp-space-5);
	border-right: var(--pp-border-hair);
}
.pp-product-detail__toc .pp-eyebrow { margin: 0 0 var(--pp-space-4); }
.pp-product-detail__toc ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex; flex-direction: column;
	gap: var(--pp-space-3);
}
.pp-product-detail__toc a {
	display: block;
	font-size: var(--pp-size-sm);
	color: var(--pp-ink-2);
	padding: 6px 0 6px 14px;
	border-left: 2px solid var(--pp-line);
	transition: border-color var(--pp-duration-2) var(--pp-ease),
	            color var(--pp-duration-2) var(--pp-ease),
	            padding-left var(--pp-duration-2) var(--pp-ease);
}
.pp-product-detail__toc a:hover {
	color: var(--pp-teal);
	border-left-color: var(--pp-teal);
	padding-left: 18px;
}

.pp-product-detail__content { display: flex; flex-direction: column; gap: var(--pp-space-9); }
.pp-product-detail__block { scroll-margin-top: 96px; }
.pp-product-detail__block header { margin-bottom: var(--pp-space-5); }
.pp-product-detail__block h2 {
	font-size: var(--pp-size-2xl);
	margin: var(--pp-space-2) 0 0;
	line-height: 1.05;
	letter-spacing: -0.015em;
}
.pp-product-detail__prose p {
	font-size: var(--pp-size-base);
	line-height: 1.7;
	color: var(--pp-ink-2);
	margin: 0 0 var(--pp-space-4);
}
.pp-product-detail__list {
	list-style: none;
	margin: var(--pp-space-3) 0;
	padding: 0;
	display: flex; flex-direction: column;
	gap: var(--pp-space-2);
}
.pp-product-detail__list li {
	padding: var(--pp-space-2) 0;
	border-bottom: var(--pp-border-hair);
	font-size: var(--pp-size-sm);
	color: var(--pp-ink);
	font-weight: 500;
}
.pp-product-detail__hint {
	font-size: 11px;
	letter-spacing: 0.06em;
	color: var(--pp-ink-3);
	margin: var(--pp-space-3) 0 0;
}

/* Full specs table */
.pp-product-specs-full {
	margin: 0 0 var(--pp-space-5);
	border-top: 1px solid var(--pp-ink);
}
.pp-product-specs-full__row {
	display: grid;
	grid-template-columns: 180px 1fr;
	padding: var(--pp-space-3) var(--pp-space-2);
	border-bottom: var(--pp-border-hair);
	gap: var(--pp-space-4);
	transition: background var(--pp-duration-2) var(--pp-ease);
}
.pp-product-specs-full__row:hover { background: var(--pp-paper-soft); }
.pp-product-specs-full__label {
	font-size: 11px;
	letter-spacing: 0.16em;
	color: var(--pp-ink-3);
	font-weight: 600;
}
.pp-product-specs-full__value {
	font-size: var(--pp-size-base);
	color: var(--pp-ink);
	font-weight: 500;
}

/* Legal disclaimer block */
.pp-product-disclaimer {
	background: var(--pp-paper-warm);
	border: 1px solid rgba(139, 46, 46, 0.2);
	border-left: 3px solid #8B2E2E;
	padding: var(--pp-space-5);
}
.pp-product-disclaimer p { color: var(--pp-ink); margin: 0 0 var(--pp-space-3); font-size: var(--pp-size-sm); line-height: 1.6; }
.pp-product-disclaimer p:last-child { margin: 0; }
.pp-product-disclaimer strong { color: #8B2E2E; }
.pp-product-disclaimer a { color: #8B2E2E; text-decoration: underline; text-underline-offset: 2px; }
.pp-product-disclaimer .pp-product-detail__list { margin: var(--pp-space-3) 0; }
.pp-product-disclaimer .pp-product-detail__list li {
	padding-left: 20px;
	position: relative;
	border-bottom: 1px dashed rgba(139, 46, 46, 0.15);
}
.pp-product-disclaimer .pp-product-detail__list li::before {
	content: '·';
	position: absolute;
	left: 6px;
	color: #8B2E2E;
	font-weight: 700;
}

@media (max-width: 880px) {
	.pp-product-detail__grid { grid-template-columns: 1fr; gap: var(--pp-space-5); }
	.pp-product-detail__toc {
		position: static;
		padding: var(--pp-space-4) 0;
		border-right: 0;
		border-top: var(--pp-border-hair);
		border-bottom: var(--pp-border-hair);
	}
	.pp-product-detail__toc ul { flex-direction: row; flex-wrap: wrap; gap: 4px var(--pp-space-3); }
	.pp-product-detail__toc a { padding: 4px 0; border-left: 0; }
	.pp-product-detail__toc a:hover { padding-left: 0; border-color: transparent; }
	.pp-product-specs-full__row { grid-template-columns: 120px 1fr; }
}

/* Related products */
.pp-product-related ul.products { grid-template-columns: repeat(4, 1fr) !important; }
@media (max-width: 1024px) {
	.pp-product-related ul.products { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 880px) {
	.pp-product-related ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}

/* Legacy WC product page selectors — hidden because we render custom */
.woocommerce div.product:not(.pp-rendered),
.single-product .woocommerce > div.product { display: none !important; }
.single-product .pp-product-page,
.single-product .pp-product-detail,
.single-product .pp-product-related,
.single-product .pp-breadcrumb { display: block !important; }

/* No stars, no reviews link on product */
.woocommerce .star-rating,
.woocommerce-product-rating,
.woocommerce-review-link,
.woocommerce-tabs .reviews_tab { display: none !important; }

/* ── Add to cart — primary CTA (product page only) ──────── */
.woocommerce button.button.alt,
.woocommerce a.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce #place_order {
	background: var(--pp-teal);
	color: var(--pp-paper);
	font-family: var(--pp-sans);
	font-size: var(--pp-size-sm);
	font-weight: 600;
	letter-spacing: -0.005em;
	padding: 14px var(--pp-space-5);
	border-radius: var(--pp-radius-2);
	border: 0;
	transition: background var(--pp-duration-2) var(--pp-ease),
	            transform var(--pp-duration-1) var(--pp-ease);
}
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce #place_order:hover { background: var(--pp-teal-hover); color: var(--pp-paper); transform: translateY(-1px); }

.woocommerce button.button.alt:disabled,
.woocommerce #place_order:disabled { background: var(--pp-ink-4) !important; cursor: not-allowed; transform: none !important; }

/* ── Research disclaimer box on product page ────────────── */
.pp-research-box {
	background: var(--pp-teal-10);
	border: 1px solid var(--pp-teal);
	padding: var(--pp-space-5);
	margin: var(--pp-space-5) 0;
	border-radius: var(--pp-radius-2);
}
.pp-research-box__title {
	font-size: var(--pp-size-xs);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-weight: 700;
	color: var(--pp-teal);
	margin: 0 0 var(--pp-space-2);
}
.pp-research-box p { margin: 0; font-size: var(--pp-size-sm); color: var(--pp-ink); }

/* ── Spec table on product page ─────────────────────────── */
.pp-product-specs {
	margin: var(--pp-space-5) 0;
	border-top: var(--pp-border-hair);
	border-bottom: var(--pp-border-hair);
}
.pp-product-specs__row {
	display: grid;
	grid-template-columns: 140px 1fr;
	padding: var(--pp-space-3) 0;
	border-bottom: var(--pp-border-hair);
	gap: var(--pp-space-4);
}
.pp-product-specs__row:last-child { border-bottom: 0; }
.pp-product-specs__label {
	font-family: var(--pp-mono);
	font-size: var(--pp-size-xxs);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--pp-ink-3);
}
.pp-product-specs__value { font-family: var(--pp-mono); font-size: var(--pp-size-sm); color: var(--pp-ink); }

/* ── Cart ───────────────────────────────────────────────── */
.woocommerce-cart .cart_totals h2,
.woocommerce-checkout #order_review_heading { font-family: var(--pp-sans); font-size: var(--pp-size-lg); color: var(--pp-ink); }

/* ── Checkout — compliance block ────────────────────────── */
.pp-compliance-block {
	background: var(--pp-teal-10);
	border: 1px solid var(--pp-teal);
	padding: var(--pp-space-5);
	margin: var(--pp-space-5) 0;
	border-radius: var(--pp-radius-2);
}
.pp-compliance-heading {
	font-family: var(--pp-sans);
	font-size: var(--pp-size-xs);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--pp-teal);
	margin: 0 0 var(--pp-space-4);
}
.pp-compliance-checkbox { margin-bottom: var(--pp-space-3) !important; }
.pp-compliance-checkbox label {
	font-size: var(--pp-size-sm) !important;
	line-height: 1.5 !important;
	color: var(--pp-ink) !important;
	cursor: pointer;
}
.pp-compliance-checkbox input[type="checkbox"] { margin-right: var(--pp-space-2); }

/* ── Cart disclaimer band ───────────────────────────────── */
.pp-cart-warning {
	background: var(--pp-teal-10);
	border: 1px solid var(--pp-teal);
	padding: var(--pp-space-4);
	margin: var(--pp-space-5) 0;
	font-size: var(--pp-size-sm);
	color: var(--pp-ink);
	border-radius: var(--pp-radius-2);
}

/* ── Risk tier badge (small pill on product page) ───────── */
.pp-tier-badge {
	display: inline-block;
	padding: 4px 10px;
	font-size: var(--pp-size-xxs);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 700;
	border-radius: var(--pp-radius-pill);
	border: 1px solid var(--pp-teal);
	color: var(--pp-teal);
	background: var(--pp-paper);
}

/* ── Notices ────────────────────────────────────────────── */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border-radius: var(--pp-radius-2) !important;
	border-top: 0 !important;
	border-left: 3px solid var(--pp-teal) !important;
	background: var(--pp-paper-soft) !important;
	color: var(--pp-ink) !important;
	padding: var(--pp-space-4) !important;
	font-size: var(--pp-size-sm) !important;
}
.woocommerce-error { border-left-color: #C0392B !important; }

/* ── Hide unwanted WC defaults ─────────────────────────── */
.woocommerce-result-count,
.woocommerce-ordering { display: none !important; }

/* ── Galeria produktu: miniatury (featured + scena lab) ─── */
.pp-product-hero__thumbs {
	display: flex;
	gap: .6rem;
	margin-top: 1rem;
	padding: 0;
	list-style: none;
	flex-wrap: wrap;
}
.pp-product-hero__thumb {
	display: block;
	padding: 0;
	width: 76px;
	height: 76px;
	border: 1px solid rgba(18, 116, 125, .18);
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
	cursor: pointer;
	transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.pp-product-hero__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.pp-product-hero__thumb:hover { transform: translateY(-2px); }
.pp-product-hero__thumb.is-active {
	border-color: #12747D;
	box-shadow: inset 0 0 0 1px #12747D;
}
