/**
 * WooCommerce-specific overrides — restyle WC's default UI to match PeptidePharm dark/magenta brand.
 */

/* ============================================================ */
/*  WC FONT NORMALIZATION — body sans by default, no !important  */
/*  override on headings so editorial type system can do its job */
/* ============================================================ */
.woocommerce, .woocommerce-page,
.woocommerce input, .woocommerce select, .woocommerce textarea, .woocommerce button,
.woocommerce p, .woocommerce td, .woocommerce th, .woocommerce span:not(.eyebrow):not([class*="mono"]),
.woocommerce-breadcrumb, .woocommerce-result-count, .woocommerce-ordering {
	font-family: var(--font-body);
}
/* Headings inherit the editorial Playfair from style.css — do NOT force-override */
/* Mono eyebrows, breadcrumbs, badges */
.woocommerce-breadcrumb {
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--silver-3);
}
.woocommerce-result-count {
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--silver-3);
}


/* ============================================================ */
/*  SHOP / ARCHIVE                                               */
/* ============================================================ */
.woocommerce ul.products, .woocommerce-page ul.products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: var(--space-lg);
	list-style: none;
	padding: 0;
	margin: 0;
}
.woocommerce ul.products li.product {
	background: var(--paper);
	border: 1px solid var(--line-1);
	border-radius: var(--r-soft);
	padding: 0 !important;
	margin: 0;
	transition: border-color var(--dur-default) var(--ease), transform var(--dur-default) var(--ease-spring);
	width: auto !important;
	float: none !important;
	overflow: hidden;
	position: relative;
}
.woocommerce ul.products li.product:hover {
	transform: translateY(-3px);
	border-color: var(--line-3);
}

/* ===== EDITORIAL CARD — 4:5 portrait, content sized naturally ===== */
.pp-card {
	display: grid !important;
	grid-template-rows: auto auto auto auto auto;
	text-decoration: none !important;
	color: inherit !important;
	padding: 0;
}

/* Row 1: Photo cell — 4:5 portrait frame (vials are vertical) */
.pp-card__photo {
	position: relative;
	background: linear-gradient(180deg, var(--paper-2) 0%, var(--paper) 100%);
	aspect-ratio: 4 / 5;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	border-bottom: 1px solid var(--line-1);
}
.pp-card__photo-frame {
	width: 78%;
	height: 78%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 2;
	transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.pp-card:hover .pp-card__photo-frame {
	transform: scale(1.05) translateY(-4px);
}
.pp-card__photo img {
	width: 100% !important;
	height: 100% !important;
	max-height: 100% !important;
	object-fit: contain !important;
	margin: 0 !important;
	background: transparent !important;
	border-radius: 0 !important;
	filter: drop-shadow(0 18px 32px rgba(0,0,0,0.65)) drop-shadow(0 4px 8px rgba(0,0,0,0.4));
}
/* Subtle hex grid in photo background for lab feel */
.pp-card__photo-grid {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	opacity: 0.18;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='22' height='38' viewBox='0 0 22 38'><g fill='none' stroke='%23FFC8DC' stroke-width='0.6' stroke-opacity='0.4'><path d='M11 0 L22 6 L22 19 L11 25 L0 19 L0 6 Z'/></g></svg>");
	background-size: 70px 121px;
	-webkit-mask-image: radial-gradient(ellipse at center, transparent 0%, transparent 30%, #000 90%);
	mask-image: radial-gradient(ellipse at center, transparent 0%, transparent 30%, #000 90%);
}

.pp-card__badge {
	position: absolute;
	top: 14px;
	z-index: 3;
	font-family: var(--font-mono);
	font-size: 9px;
	letter-spacing: 2px;
	padding: 5px 11px;
	border-radius: 999px;
	text-transform: uppercase;
	font-weight: 700;
	backdrop-filter: blur(8px);
}
.pp-card__badge--sale { left: 14px; background: var(--ruby); color: #FFF; box-shadow: 0 4px 14px rgba(233,30,99,0.5); }
.pp-card__badge--featured { right: 14px; background: rgba(233,30,99,0.12); color: var(--ruby); border: 1px solid rgba(233,30,99,0.45); }

/* Row 2: Category eyebrow */
.pp-card__cat {
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 0.18em;
	color: var(--silver-3);
	text-transform: uppercase;
	font-weight: 500;
	padding: 20px 20px 0;
}

/* Row 3: Product name — Manrope display, single line restraint */
.pp-card__name {
	font-family: var(--font-body);
	font-style: normal;
	font-weight: 700;
	font-size: 18px;
	letter-spacing: -0.02em;
	color: var(--ink-1);
	margin: 6px 0 0;
	line-height: 1.2;
	padding: 0 20px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 48px;
}

/* Row 4: Meta (price + purity) — minimal, no border */
.pp-card__meta {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 20px 0;
	margin-top: 10px;
}
.pp-card__price {
	font-family: var(--font-display);
	font-style: normal;
	font-weight: 500;
	font-size: 22px;
	color: var(--ink-2);
	letter-spacing: -0.01em;
	display: flex;
	align-items: baseline;
	gap: 8px;
	line-height: 1;
}
.pp-card__price .pp-from {
	font-family: var(--font-mono);
	font-size: 9px;
	letter-spacing: 0.18em;
	font-weight: 500;
	color: var(--silver-4);
	text-transform: uppercase;
}
.pp-card__price .woocommerce-Price-amount,
.pp-card__price bdi {
	font-family: var(--font-display);
	font-style: normal;
	font-weight: 500;
	color: var(--ink-2);
}
.pp-card__purity {
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 0.14em;
	color: var(--silver-3);
	text-transform: uppercase;
}

/* Row 5: CTA — small text link with arrow, NOT a button bar */
.pp-card__cta {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 16px 20px 22px;
	padding: 14px 0 0;
	border-top: 1px solid var(--line-1);
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 500;
	color: var(--silver-3) !important;
	transition: color var(--dur-default) var(--ease);
	position: relative;
}
.pp-card:hover .pp-card__cta { color: var(--ruby) !important; }
.pp-card__cta::before { display: none; }
.pp-card__cta > * { position: relative; z-index: 1; }
.pp-card:hover .pp-card__cta {
	border-color: var(--ruby);
	color: #FFFFFF !important;
	box-shadow: 0 8px 24px rgba(233, 30, 99, 0.4);
}
.pp-card:hover .pp-card__cta::before { transform: translateX(0); }
.pp-card__arrow {
	width: 20px;
	height: 12px;
	transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
.pp-card:hover .pp-card__arrow { transform: translateX(4px); }

/* Hide WC default "added to cart" message — we use toasts */
.woocommerce-message { display: none; }

/* ============================================================ */
/*  SINGLE PRODUCT (PDP)                                         */
/* ============================================================ */
.woocommerce div.product {
	background: transparent;
}
.woocommerce div.product .product_title {
	font-family: var(--font-display);
	font-style: normal;
	font-size: clamp(36px, 5vw, 56px);
	color: var(--ink-1);
	margin-bottom: var(--space-sm);
}
.woocommerce div.product .price {
	font-family: var(--font-display);
	font-size: 40px;
	color: var(--ink-1);
	font-style: normal;
	margin: var(--space-md) 0;
}
.woocommerce div.product .price .amount { color: var(--ink-1); }
.woocommerce div.product .woocommerce-product-details__short-description {
	color: var(--ink-2);
	font-size: 15px;
	line-height: 1.7;
	margin-bottom: var(--space-lg);
}
.woocommerce div.product .images img {
	background: var(--bg-base);
	border: 1px solid var(--line-1);
	border-radius: var(--radius-lg);
}

/* Single product layout — two-column on desktop */
.woocommerce div.product div.images, .woocommerce-page div.product div.images {
	width: 48%;
	float: left;
}
.woocommerce div.product div.summary, .woocommerce-page div.product div.summary {
	width: 48%;
	float: right;
}
@media (max-width: 768px) {
	.woocommerce div.product div.images, .woocommerce div.product div.summary {
		width: 100%;
		float: none;
	}
}

/* ============================================================ */
/*  VARIATION PILLS (size selector) — redesigned                  */
/* ============================================================ */
.variation-pills {
	margin: 0 0 18px;
}
.variation-pill-label {
	font-family: var(--font-mono) !important;
	font-size: 10px !important;
	letter-spacing: 2.5px !important;
	color: var(--silver-4) !important;
	text-transform: uppercase !important;
	font-weight: 700 !important;
	display: block;
	margin-bottom: 10px;
}
.variation-pill-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.variation-pill {
	padding: 12px 24px;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-mono) !important;
	font-size: 12px !important;
	letter-spacing: 2px !important;
	text-transform: uppercase !important;
	font-weight: 700 !important;
	background: rgba(255,255,255,0.04) !important;
	color: var(--ink-2) !important;
	border: 1px solid var(--line-2) !important;
	border-radius: var(--radius-pill) !important;
	cursor: pointer;
	transition: all 0.2s ease;
}
@media (max-width: 720px) {
	.variation-pill { min-height: 48px; padding: 14px 22px; font-size: 13px !important; }
}
.variation-pill:hover {
	border-color: var(--ruby) !important;
	color: var(--ink-1) !important;
	background: rgba(233,30,99,0.08) !important;
}
.variation-pill.is-active {
	background: rgba(233, 30, 99, 0.06) !important;
	color: var(--ruby) !important;
	border-color: var(--ruby) !important;
	box-shadow: none;
}

/* Hide default WC variation form labels — pills handle this */
.woocommerce div.product form.cart .variations label { display: none; }
.woocommerce div.product form.cart .variations { margin: 0; }
.woocommerce div.product form.cart .variations table,
.woocommerce div.product form.cart .variations tbody,
.woocommerce div.product form.cart .variations tr,
.woocommerce div.product form.cart .variations td { display: block !important; width: 100% !important; }
.woocommerce div.product form.cart .variations th { display: none !important; }
.woocommerce div.product form.cart .variations td.value { padding: 0 !important; border: 0 !important; }
.woocommerce div.product form.cart .reset_variations {
	color: var(--silver-4) !important;
	font-size: 10px !important;
	font-family: var(--font-mono) !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	display: inline-block;
	padding: 4px 0;
	text-decoration: none;
}
.woocommerce div.product form.cart .reset_variations:hover { color: var(--ruby) !important; }

/* Variation price + stock readout — INLINE with variation pills row */
.woocommerce-variation {
	margin: 0 !important;
	display: flex;
	align-items: baseline;
	gap: 14px;
	flex-wrap: wrap;
}
.woocommerce-variation .price {
	font-family: var(--font-display) !important;
	font-style: normal !important;
	font-weight: 500 !important;
	font-size: clamp(28px, 3vw, 36px) !important;
	color: var(--ink-2) !important;
	letter-spacing: -0.015em !important;
	line-height: 1 !important;
	margin: 0;
}
.woocommerce-variation-availability { margin: 0; }
.woocommerce-variation-availability .stock {
	font-family: var(--font-mono) !important;
	font-size: 10px !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	margin: 0 !important;
}
.woocommerce-variation-availability .stock.in-stock { color: var(--silver-2) !important; }
.woocommerce-variation-availability .stock.in-stock::before { display: none !important; }
.woocommerce-variation-availability .stock.out-of-stock { color: var(--ruby) !important; }

/* Mobile-specific pricebar reflow for variable products */
@media (max-width: 720px) {
	.pp-pdp__pricebar { flex-direction: column; align-items: stretch; padding: 20px; }
	.pp-pdp__pricebar-left { width: 100%; min-width: 0; }
	.pp-pdp__pricebar-right { width: 100%; min-width: 0; justify-content: stretch; }
	.pp-pdp__pricebar-right form.cart { width: 100%; }
	.pp-pdp__pricebar form.cart { flex-wrap: wrap; }
	.pp-pdp__pricebar form.cart .single_add_to_cart_button { flex: 1; min-width: 0; }
	.variation-pill { padding: 10px 18px; font-size: 11px !important; }
	.woocommerce-variation .price { font-size: 32px !important; }
}

/* ============================================================ */
/*  ADD TO CART BUY BOX — horizontal layout, single-line flow     */
/* ============================================================ */
.pp-pdp__buy {
	padding: 24px !important;
	background: var(--paper-2) !important;
	border: 1px solid var(--line-2) !important;
	border-radius: var(--r-soft) !important;
	position: relative;
}
.pp-pdp__buy::before { display: none; }
.pp-pdp__buy .price {
	font-family: var(--font-display) !important;
	font-style: normal !important;
	font-weight: 500 !important;
	font-size: clamp(36px, 4vw, 44px) !important;
	color: var(--ink-2) !important;
	margin: 0 0 10px !important;
	letter-spacing: -0.015em !important;
	line-height: 1 !important;
}
.pp-pdp__buy .stock {
	font-family: var(--font-mono) !important;
	font-size: 10px !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	margin: 0 0 20px !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
}
.pp-pdp__buy .stock.in-stock { color: var(--silver-2) !important; }
.pp-pdp__buy .stock.in-stock::before { display: none !important; }
.pp-pdp__buy .stock.out-of-stock { color: var(--ruby) !important; }
.woocommerce .stock.in-stock { color: var(--silver-2) !important; }
.woocommerce .stock.in-stock::before { display: none !important; }

/* SIMPLE products: form.cart is horizontal (qty + add to cart inline) */
.woocommerce div.product form.cart {
	margin: 0;
	display: flex;
	gap: 12px;
	align-items: stretch;
	flex-wrap: nowrap;
}

/* VARIABLE products: variations_form is a vertical stack of horizontal rows */
.woocommerce div.product form.variations_form.cart {
	flex-direction: column;
	align-items: stretch;
	gap: 16px;
}
/* Row 1: pills + price + stock all inline (the variation pills wrap into a row, price+stock follow) */
.woocommerce div.product form.variations_form.cart .variations { order: 1; }
.woocommerce div.product form.variations_form.cart .single_variation_wrap { order: 2; display: flex; flex-direction: column; gap: 16px; }
.woocommerce div.product form.variations_form.cart .single_variation { display: block; }
.woocommerce div.product form.variations_form.cart .woocommerce-variation-add-to-cart {
	display: flex !important;
	gap: 12px !important;
	align-items: stretch !important;
	flex-wrap: nowrap !important;
}

.woocommerce div.product form.cart .quantity {
	margin: 0;
	flex-shrink: 0;
}
.woocommerce div.product form.cart .quantity input.qty {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid var(--line-2);
	color: var(--ink-2);
	border-radius: var(--r-sharp);
	padding: 0 12px;
	width: 68px;
	height: 46px;
	text-align: center;
	font-family: var(--font-body);
	font-size: 15px;
	font-weight: 600;
	transition: border-color 0.2s;
}
.woocommerce div.product form.cart .quantity input.qty:focus {
	outline: 0;
	border-color: var(--ruby);
	background: rgba(255, 255, 255, 0.06);
}
.woocommerce div.product form.cart .button,
.woocommerce div.product form.cart .single_add_to_cart_button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px;
	padding: 0 28px !important;
	height: 46px !important;
	font-family: var(--font-body) !important;
	font-size: 13px !important;
	letter-spacing: 0.02em !important;
	text-transform: none !important;
	font-weight: 600 !important;
	background: var(--ruby) !important;
	color: #FFFFFF !important;
	border: 0 !important;
	border-radius: var(--r-sharp) !important;
	box-shadow: 0 1px 2px rgba(0,0,0,0.4), 0 6px 18px -4px var(--ruby-glow) !important;
	cursor: pointer;
	flex: 0 1 auto !important;
	min-width: 180px;
	max-width: 280px;
	transition: all 0.25s ease;
	margin: 0 !important;
	flex: 1;
	min-width: 200px;
}
.woocommerce div.product form.cart .button:hover,
.woocommerce div.product form.cart .single_add_to_cart_button:hover {
	background: linear-gradient(180deg, var(--ruby-light) 0%, var(--ruby) 100%) !important;
	transform: translateY(-1px);
	box-shadow: 0 8px 24px rgba(233, 30, 99, 0.7) !important;
}

/* ============================================================ */
/*  PRODUCT META PANEL — molecular weight, CAS, purity            */
/* ============================================================ */
.pp-product-meta {
	background: var(--bg-panel);
	border: 1px solid var(--line-1);
	border-radius: var(--radius);
	padding: var(--space-lg);
	margin: var(--space-lg) 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--space-md);
}
.pp-product-meta__cell .lbl {
	display: block;
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 2px;
	color: var(--silver-4);
	text-transform: uppercase;
	margin-bottom: var(--space-xs);
}
.pp-product-meta__cell .val {
	font-family: var(--font-mono);
	font-style: normal;
	font-weight: 500;
	font-size: 15px;
	letter-spacing: 0.01em;
	color: var(--ink-1);
}

/* ============================================================ */
/*  CART PAGE                                                    */
/* ============================================================ */
.woocommerce-cart table.cart {
	background: var(--bg-panel);
	border: 1px solid var(--line-1);
	border-radius: var(--radius-lg);
}
.woocommerce-cart table.cart thead th, .woocommerce-cart table.cart td {
	background: transparent;
	color: var(--ink-2);
	border-color: var(--line-1);
	padding: var(--space-md);
}
.woocommerce-cart table.cart .product-name a { color: var(--ink-1); }
.woocommerce-cart .cart-collaterals .cart_totals {
	background: var(--bg-panel);
	border: 1px solid var(--line-1);
	border-radius: var(--radius-lg);
	padding: var(--space-lg);
}
.woocommerce-cart .cart_totals h2 {
	font-family: var(--font-body);
	font-style: normal;
	font-weight: 800;
	font-size: 22px;
	letter-spacing: -0.02em;
	color: var(--ink-2);
}

/* ============================================================ */
/*  CART TOTALS table layout — labels LEFT, values FAR RIGHT,    */
/*  divider lines between rows for scannability                  */
/* ============================================================ */
.woocommerce-cart .cart_totals table.shop_table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 12px;
}
.woocommerce-cart .cart_totals table.shop_table tr {
	border-bottom: 1px solid var(--line-1);
}
.woocommerce-cart .cart_totals table.shop_table tr:last-child { border-bottom: 0; }
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
	padding: 14px 0 !important;
	vertical-align: top;
	background: transparent !important;
	border: 0 !important;
	border-bottom: 0 !important;
}
/* Left column (labels): mono caps eyebrow + vertical separator on right edge */
.woocommerce-cart .cart_totals table.shop_table th {
	width: 50%;
	text-align: left !important;
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--silver-3);
	font-weight: 600;
	padding-right: 24px !important;
	border-right: 1px solid var(--line-1) !important;
}
/* Right column (values): right-aligned, Manrope, ruby for amounts */
.woocommerce-cart .cart_totals table.shop_table td {
	width: 50%;
	text-align: right !important;
	padding-left: 24px !important;
	font-family: var(--font-body);
	font-size: 15px;
	font-weight: 600;
	color: var(--ink-2);
}
.woocommerce-cart .cart_totals table.shop_table .amount,
.woocommerce-cart .cart_totals table.shop_table .woocommerce-Price-amount {
	font-family: var(--font-mono);
	font-weight: 700;
	color: var(--ruby);
	font-size: 15px;
	white-space: nowrap;
}
/* Total row — louder */
.woocommerce-cart .cart_totals .order-total th {
	font-size: 11px !important;
	color: var(--ink-1) !important;
	font-weight: 700;
}
.woocommerce-cart .cart_totals .order-total td {
	font-size: 20px !important;
}
.woocommerce-cart .cart_totals .order-total td .amount,
.woocommerce-cart .cart_totals .order-total td .woocommerce-Price-amount {
	font-size: 22px !important;
	font-weight: 700;
}
/* Shipment row: label aligned to top so the methods list reads from the top */
.woocommerce-cart .cart_totals .woocommerce-shipping-totals th { vertical-align: top; padding-top: 16px !important; }
.woocommerce-cart .cart_totals .woocommerce-shipping-totals td { text-align: left !important; }

/* ============================================================ */
/*  CHECKOUT "Your Order" review table — same compact layout +    */
/*  vertical separator between labels and values for scannability  */
/* ============================================================ */
.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table,
.woocommerce-checkout .woocommerce-checkout-review-order-table {
	width: 100%;
	border-collapse: collapse;
	margin: 12px 0;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table tr {
	border-bottom: 1px solid var(--line-1);
}
.woocommerce-checkout .woocommerce-checkout-review-order-table tr:last-child { border-bottom: 0; }
.woocommerce-checkout .woocommerce-checkout-review-order-table thead th {
	font-family: var(--font-mono) !important;
	font-size: 10px !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: var(--silver-3) !important;
	font-weight: 600 !important;
	padding: 14px 0 !important;
	background: transparent !important;
	border: 0 !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
	padding: 14px 0 !important;
	background: transparent !important;
	border: 0 !important;
	vertical-align: top;
}
/* Labels (TH in tfoot, product-name in tbody): left column */
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody .product-name,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th {
	width: 50%;
	text-align: left !important;
	font-family: var(--font-body) !important;
	font-size: 14px !important;
	color: var(--ink-2) !important;
	font-weight: 500;
	padding-right: 24px !important;
	border-right: 1px solid var(--line-1) !important;  /* vertical separator */
}
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th {
	font-family: var(--font-mono) !important;
	font-size: 10px !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: var(--silver-3) !important;
	font-weight: 600 !important;
}
/* Values (TD): right column, right-aligned with proper left padding */
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody .product-total,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
	width: 50%;
	text-align: right !important;
	padding-left: 24px !important;
	font-family: var(--font-body) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	color: var(--ink-2) !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .amount,
.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-Price-amount {
	font-family: var(--font-mono) !important;
	font-weight: 700 !important;
	color: var(--ruby) !important;
	white-space: nowrap;
}
/* Shipping options on the right side of the divider — left-aligned within their cell */
.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping td { text-align: left !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping th { vertical-align: top; }
/* Total row — loudest element */
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th {
	font-size: 11px !important;
	color: var(--ink-1) !important;
	font-weight: 700 !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td {
	font-size: 22px !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td .amount,
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td .woocommerce-Price-amount {
	font-size: 24px !important;
}
/* Shipping methods list inside the checkout shipping cell — same compact styling as cart */
.woocommerce-checkout .woocommerce-checkout-review-order-table ul#shipping_method,
.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-methods {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table ul#shipping_method li,
.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-methods li {
	list-style: none !important;
	padding: 0 !important;
	margin: 6px 0 !important;
	display: flex !important;
	align-items: center;
	gap: 10px;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table ul#shipping_method li:first-child { margin-top: 0 !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table ul#shipping_method li:last-child { margin-bottom: 0 !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table ul#shipping_method li::before { display: none !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table ul#shipping_method input[type="radio"] {
	flex-shrink: 0;
	width: 16px !important;
	height: 16px !important;
	margin: 0 !important;
	accent-color: var(--ruby);
	cursor: pointer;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table ul#shipping_method label {
	flex: 1;
	display: flex !important;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin: 0 !important;
	padding: 0 !important;
	cursor: pointer;
	font-family: var(--font-body) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--ink-1) !important;
}

/* ============================================================ */
/*  QUALITY / EDITORIAL PAGE — H2 size cleanup                    */
/*  Default h2 was clamp(32px, 4.4vw, 64px) which read enormous   */
/*  inside dense content sections. Scope down inside page-content. */
/* ============================================================ */
.page-content h2,
.entry-content h2 {
	font-size: clamp(22px, 2.4vw, 32px) !important;
	letter-spacing: -0.02em !important;
	line-height: 1.15 !important;
	margin: 32px 0 14px !important;
	font-weight: 800 !important;
	color: var(--ink-2) !important;
}
.page-content h3,
.entry-content h3 {
	font-size: clamp(16px, 1.6vw, 18px) !important;
	letter-spacing: -0.01em !important;
	line-height: 1.25 !important;
	margin: 22px 0 8px !important;
	font-weight: 700 !important;
	color: var(--ink-1) !important;
}
.page-content p,
.entry-content p {
	font-size: 15px !important;
	line-height: 1.65 !important;
	color: var(--silver-2, #C8CACE) !important;
	margin: 0 0 14px !important;
}
.page-content ul,
.entry-content ul { margin: 0 0 16px 22px !important; }
.page-content ul li,
.entry-content ul li { font-size: 14px !important; line-height: 1.6 !important; color: var(--silver-2, #C8CACE) !important; margin-bottom: 6px !important; }

/* ============================================================ */
/*  SHIPPING METHODS in Cart Totals — compact, scannable list     */
/*  Replaces WC default bulleted vertical radio list             */
/* ============================================================ */
.woocommerce-cart .cart_totals .shop_table .woocommerce-shipping-totals .shipping {
	border-bottom: 1px solid var(--line-1);
}
.woocommerce-cart .cart_totals .shop_table .woocommerce-shipping-totals td {
	padding: 14px 0 !important;
}
.woocommerce-cart .cart_totals ul#shipping_method,
.woocommerce-cart .cart_totals .woocommerce-shipping-methods,
.woocommerce-cart .cart_totals .shipping_method_list {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}
.woocommerce-cart .cart_totals ul#shipping_method li,
.woocommerce-cart .cart_totals .woocommerce-shipping-methods li {
	list-style: none !important;
	padding: 0 !important;
	margin: 6px 0 !important;
	display: flex !important;
	align-items: center;
	gap: 10px;
	font-family: var(--font-body);
	font-size: 13px;
	line-height: 1.3;
	color: var(--ink-1);
	cursor: pointer;
}
.woocommerce-cart .cart_totals ul#shipping_method li:first-child,
.woocommerce-cart .cart_totals .woocommerce-shipping-methods li:first-child { margin-top: 0 !important; }
.woocommerce-cart .cart_totals ul#shipping_method li:last-child,
.woocommerce-cart .cart_totals .woocommerce-shipping-methods li:last-child { margin-bottom: 0 !important; }
.woocommerce-cart .cart_totals ul#shipping_method li::before,
.woocommerce-cart .cart_totals .woocommerce-shipping-methods li::before { display: none !important; }
.woocommerce-cart .cart_totals ul#shipping_method input[type="radio"],
.woocommerce-cart .cart_totals .woocommerce-shipping-methods input[type="radio"] {
	flex-shrink: 0;
	width: 16px !important;
	height: 16px !important;
	margin: 0 !important;
	accent-color: var(--ruby);
	cursor: pointer;
}
.woocommerce-cart .cart_totals ul#shipping_method label,
.woocommerce-cart .cart_totals .woocommerce-shipping-methods label {
	flex: 1;
	display: flex !important;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin: 0 !important;
	padding: 0 !important;
	cursor: pointer;
	font-family: var(--font-body) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--ink-1) !important;
	line-height: 1.3 !important;
}
.woocommerce-cart .cart_totals ul#shipping_method label .amount,
.woocommerce-cart .cart_totals .woocommerce-shipping-methods label .amount,
.woocommerce-cart .cart_totals ul#shipping_method label .woocommerce-Price-amount,
.woocommerce-cart .cart_totals .woocommerce-shipping-methods label .woocommerce-Price-amount {
	font-family: var(--font-mono) !important;
	font-weight: 700 !important;
	color: var(--ruby) !important;
	font-size: 13px !important;
	flex-shrink: 0;
}
/* "Shipping to TX." line below the method list */
.woocommerce-cart .cart_totals .shipping-calculator-button,
.woocommerce-cart .cart_totals .shipping_destination_address {
	display: block;
	margin-top: 10px;
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 1.4px;
	color: var(--silver-3);
	text-transform: uppercase;
}
.woocommerce-cart .cart_totals .shipping-calculator-button { color: var(--ruby); text-decoration: none; }
.woocommerce-cart .cart_totals .shipping-calculator-button:hover { text-decoration: underline; }

/* ============================================================ */
/*  CHECKOUT PAGE                                                 */
/* ============================================================ */
.woocommerce-checkout .form-row label {
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 1.5px;
	color: var(--silver-3);
	text-transform: uppercase;
}
.woocommerce-checkout .form-row input,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
	background: var(--bg-panel);
	border: 1px solid var(--line-2);
	color: var(--ink-1);
	border-radius: var(--radius);
	padding: 14px;
	font-family: var(--font-body);
	font-size: 14px;
	width: 100%;
}
.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus {
	outline: 0;
	border-color: var(--ruby);
}
#order_review {
	background: var(--bg-panel);
	border: 1px solid var(--line-1);
	border-radius: var(--radius-lg);
	padding: var(--space-lg);
	margin-top: var(--space-lg);
}
#place_order {
	display: block;
	width: 100%;
	padding: 18px;
	font-family: var(--font-mono);
	font-size: 14px;
	letter-spacing: 3px;
	text-transform: uppercase;
	font-weight: 700;
	background: linear-gradient(180deg, var(--ruby) 0%, var(--ruby-deep) 100%);
	color: #FFFFFF;
	border: 0;
	border-radius: var(--radius-pill);
	box-shadow: 0 4px 14px rgba(233, 30, 99, 0.5);
	cursor: pointer;
	margin-top: var(--space-lg);
}
#place_order:hover {
	background: linear-gradient(180deg, var(--ruby-light) 0%, var(--ruby) 100%);
}

/* ============================================================ */
/*  ACCOUNT PAGES                                                */
/* ============================================================ */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: var(--space-sm) var(--space-md);
	color: var(--ink-2);
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 2px;
	text-transform: uppercase;
	border-bottom: 1px solid var(--line-1);
	text-decoration: none;
	transition: color 0.2s ease;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a, .woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
	color: var(--ruby);
}
.woocommerce-account .woocommerce-MyAccount-content {
	background: var(--bg-panel);
	border: 1px solid var(--line-1);
	border-radius: var(--radius-lg);
	padding: var(--space-lg);
}

/* ============================================================ */
/*  NOTICES / MESSAGES                                           */
/* ============================================================ */
.woocommerce-error, .woocommerce-info, .woocommerce-message {
	background: var(--bg-panel);
	border-left: 3px solid var(--ruby);
	border-radius: var(--radius);
	color: var(--ink-2);
	padding: var(--space-md);
}
.woocommerce-error a, .woocommerce-info a, .woocommerce-message a { color: var(--ruby); }

/* ============================================================ */
/*  BREADCRUMBS                                                   */
/* ============================================================ */
.woocommerce-breadcrumb {
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 1.5px;
	color: var(--silver-4);
	text-transform: uppercase;
	margin-bottom: var(--space-lg);
}
.woocommerce-breadcrumb a { color: var(--silver-3); }
.woocommerce-breadcrumb a:hover { color: var(--ruby); }

/* "From" label that prefixes variable product min prices everywhere */
.pp-from {
	font-family: var(--font-mono) !important;
	font-size: 10px !important;
	letter-spacing: 2px !important;
	color: var(--silver-4) !important;
	text-transform: uppercase !important;
	font-weight: 700 !important;
	margin-right: 4px;
	vertical-align: middle;
}
.pp-pdp__price .pp-from { font-size: 12px !important; }

/* Grid columns — slightly wider min so 3 cards fit cleanly at common viewports */
.woocommerce ul.products, .woocommerce-page ul.products {
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
	gap: 24px !important;
}
@media (min-width: 1280px) {
	.woocommerce ul.products, .woocommerce-page ul.products {
		grid-template-columns: repeat(4, 1fr) !important;
	}
}
@media (max-width: 720px) {
	.woocommerce ul.products, .woocommerce-page ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 14px !important;
	}
	.pp-card { min-height: 0; padding: 0 !important; }
	.pp-card__photo,
	.pp-card__photo-frame { aspect-ratio: 1 / 1 !important; }
	.pp-card__photo img,
	.pp-card__photo-frame img { max-height: 100% !important; padding: 10px !important; }
	.pp-card__cat { font-size: 10px !important; letter-spacing: 1.4px !important; padding: 12px 12px 0 !important; }
	.pp-card__name { font-size: 15px !important; min-height: 0 !important; padding: 0 12px !important; line-height: 1.2 !important; margin-top: 4px !important; }
	.pp-card__meta { padding: 6px 12px 0 !important; }
	.pp-card__price, .pp-card__price .amount { font-size: 14px !important; }
	.pp-card__purity { font-size: 10px !important; }
	.pp-card__cta {
		padding: 12px !important;
		font-size: 11px !important;
		gap: 6px !important;
	}
	.pp-card__cta .pp-card__arrow,
	.pp-card__cta svg { width: 14px !important; height: 8px !important; }
	.pp-card__badge { font-size: 9px !important; padding: 4px 8px !important; }
}
@media (max-width: 400px) {
	.woocommerce ul.products, .woocommerce-page ul.products {
		gap: 10px !important;
	}
	.pp-card__name { font-size: 13px !important; }
	.pp-card__cta { padding: 10px !important; font-size: 10px !important; }
}

/* ============================================================ */
/*  PAGINATION — shop archive numbered pages                      */
/*  Replaces WC default unstyled bullet list                      */
/* ============================================================ */
.woocommerce nav.woocommerce-pagination,
nav.pagination,
.pagination {
	margin: 48px 0 0 !important;
	text-align: center;
}
.woocommerce nav.woocommerce-pagination ul,
nav.pagination ul,
.pagination ul {
	display: inline-flex !important;
	gap: 6px;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}
.woocommerce nav.woocommerce-pagination ul li,
nav.pagination ul li,
.pagination ul li {
	list-style: none !important;
	border: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	display: block !important;
	background: transparent !important;
	overflow: visible !important;
}
.woocommerce nav.woocommerce-pagination ul li::marker,
nav.pagination ul li::marker { display: none; content: ''; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span,
nav.pagination ul li a,
nav.pagination ul li span,
.pagination a,
.pagination span {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 44px !important;
	height: 44px !important;
	padding: 0 14px !important;
	background: var(--paper) !important;
	border: 1px solid var(--line-1) !important;
	border-radius: var(--r-sharp) !important;
	font-family: var(--font-mono) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: var(--ink-1) !important;
	text-decoration: none !important;
	transition: all var(--dur-default) var(--ease);
	letter-spacing: 0 !important;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
nav.pagination ul li a:hover,
.pagination a:hover {
	border-color: var(--ruby) !important;
	color: var(--ruby) !important;
	background: rgba(233, 30, 99, 0.05) !important;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
nav.pagination ul li span.current,
.pagination .current {
	background: var(--ruby) !important;
	border-color: var(--ruby) !important;
	color: #FFFFFF !important;
}
/* Prev/next chevrons */
.woocommerce nav.woocommerce-pagination ul li a.prev,
.woocommerce nav.woocommerce-pagination ul li a.next {
	font-size: 16px !important;
}

/* ============================================================ */
/*  PDP TRUST MICROCOPY — psychology beats button size           */
/*  Sits below the Add to Cart row, reinforces credibility       */
/* ============================================================ */
.pp-pdp__trust {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid var(--line-1);
}
.pp-pdp__trust-item {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.1em;
	color: var(--silver-3);
	text-transform: uppercase;
	font-weight: 500;
}
.pp-pdp__trust-item svg {
	color: var(--ruby);
	flex-shrink: 0;
}
@media (min-width: 720px) {
	.pp-pdp__trust { flex-direction: row; flex-wrap: wrap; gap: 18px; }
}

/* ============================================================ */
/*  CART / CHECKOUT BLOCKS — fix tiny vial thumbnails             */
/*  WC Blocks ship cropped square thumbs that letterbox our tall  */
/*  vials. Force a white square container with contained image.   */
/* ============================================================ */
.wc-block-cart-item__image,
.wc-block-components-order-summary-item__image,
.wc-block-components-product-image,
.is-mobile-layout .wc-block-cart-item__image,
.wc-block-cart-items__row .wc-block-cart-item__image {
	width: 72px !important;
	height: 72px !important;
	min-width: 72px !important;
	min-height: 72px !important;
	background: #FFFFFF !important;
	border-radius: 8px !important;
	padding: 6px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	overflow: hidden !important;
	flex-shrink: 0 !important;
	border: 1px solid var(--line-1) !important;
}
.wc-block-cart-item__image img,
.wc-block-components-order-summary-item__image img,
.wc-block-components-product-image img,
.wc-block-cart-items__row .wc-block-cart-item__image img,
.wc-block-cart-item__image a,
.wc-block-components-order-summary-item__image a {
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: contain !important;
	display: block !important;
	border-radius: 0 !important;
	background: transparent !important;
	margin: 0 !important;
	padding: 0 !important;
}
.wc-block-cart-item__image a img,
.wc-block-components-order-summary-item__image a img { width: 100% !important; height: 100% !important; object-fit: contain !important; }

/* Quantity-badge override (the small white circle WC blocks renders) */
.wc-block-components-order-summary-item__quantity {
	background: var(--ruby) !important;
	color: #FFFFFF !important;
	border: 2px solid #0A0B0E !important;
}

/* Cart thumbnails — TRANSPARENT background, no card. Vials are tall and
   the white-box treatment was clashing with the dark cart background. */
.woocommerce-cart-form .product-thumbnail img,
.cart_item .product-thumbnail img {
	width: 72px !important;
	height: 72px !important;
	object-fit: contain !important;
	background: transparent !important;
	border-radius: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}
/* WC core's woocommerce-smallscreen.css hides cart thumbs below 768px.
   Force them visible on mobile — they're the most important visual cue. */
.woocommerce #content table.cart .product-thumbnail,
.woocommerce table.cart .product-thumbnail,
.woocommerce-page #content table.cart .product-thumbnail,
.woocommerce-page table.cart .product-thumbnail,
.woocommerce table.cart th.product-thumbnail,
.woocommerce-page table.cart th.product-thumbnail {
	display: table-cell !important;
	width: 90px !important;
	min-width: 90px !important;
}
@media (max-width: 720px) {
	.woocommerce-cart-form .product-thumbnail img,
	.cart_item .product-thumbnail img {
		width: 64px !important;
		height: 64px !important;
	}
	.woocommerce table.cart th.product-thumbnail,
	.woocommerce-page table.cart th.product-thumbnail {
		width: 78px !important;
		min-width: 78px !important;
	}
}

/* ============================================================ */
/*  CART PAGE — quantity input + remove (×) link                  */
/* ============================================================ */
/* WC core's default cart qty input has no styling in our dark theme,
   so the number renders white-on-white. Style it explicitly. */
.woocommerce-cart-form .product-quantity input.qty,
.woocommerce-cart .product-quantity input.qty,
table.cart .product-quantity input.qty,
.woocommerce-page table.cart .product-quantity input.qty {
	width: 70px !important;
	min-width: 70px;
	height: 44px;
	padding: 0 10px !important;
	background: rgba(255, 255, 255, 0.04) !important;
	border: 1px solid var(--line-2) !important;
	border-radius: 4px !important;
	color: var(--ink-2) !important;
	font-family: var(--font-body) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	text-align: center !important;
	-moz-appearance: textfield;
}
.woocommerce-cart-form .product-quantity input.qty::-webkit-outer-spin-button,
.woocommerce-cart-form .product-quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: auto;
	opacity: 1;
}
.woocommerce-cart-form .product-quantity input.qty:focus,
table.cart .product-quantity input.qty:focus {
	outline: 0;
	border-color: var(--ruby) !important;
	background: rgba(233, 30, 99, 0.06) !important;
}

/* Remove (×) button styling so it reads as a delete affordance */
.woocommerce-cart-form .product-remove a.remove,
table.cart .product-remove a.remove,
.woocommerce-page table.cart .product-remove a.remove {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 32px !important;
	height: 32px !important;
	background: rgba(255,255,255,0.04) !important;
	border: 1px solid var(--line-2) !important;
	border-radius: 999px !important;
	color: var(--silver-3) !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	text-decoration: none !important;
	transition: background 200ms var(--ease), color 200ms var(--ease), border-color 200ms var(--ease);
}
.woocommerce-cart-form .product-remove a.remove:hover,
table.cart .product-remove a.remove:hover {
	background: rgba(233, 30, 99, 0.12) !important;
	color: var(--ruby) !important;
	border-color: var(--ruby) !important;
}
@media (max-width: 720px) {
	.woocommerce-cart-form .product-quantity input.qty,
	table.cart .product-quantity input.qty { width: 60px !important; height: 40px; font-size: 14px !important; }
	.woocommerce-cart-form .product-remove a.remove,
	table.cart .product-remove a.remove { width: 36px !important; height: 36px !important; }
}

/* ============================================================ */
/*  FREE-SHIPPING PROGRESS — full cart page                       */
/* ============================================================ */
.pp-cart-shipping-progress {
	margin: 16px 0;
	padding: 16px 18px;
	background: linear-gradient(135deg, rgba(233, 30, 99, 0.08) 0%, rgba(176, 18, 75, 0.04) 100%);
	border: 1px solid rgba(233, 30, 99, 0.28);
	border-radius: 8px;
}
.pp-cart-shipping-progress__msg {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--font-body);
	font-size: 14px;
	color: var(--ink-1);
	line-height: 1.45;
	margin-bottom: 12px;
}
.pp-cart-shipping-progress__msg svg { color: var(--ruby); flex-shrink: 0; }
.pp-cart-shipping-progress__msg strong { color: var(--ruby); font-weight: 700; }
.pp-cart-shipping-progress__bar {
	height: 6px;
	background: rgba(255, 255, 255, 0.06);
	border-radius: 999px;
	overflow: hidden;
}
.pp-cart-shipping-progress__fill {
	height: 100%;
	background: linear-gradient(90deg, var(--ruby-deep, #B0124B) 0%, var(--ruby) 50%, var(--ruby-light, #FF3D7F) 100%);
	border-radius: 999px;
	transition: width 400ms cubic-bezier(0.22, 1, 0.36, 1);
}
.pp-cart-shipping-progress.is-qualified {
	background: linear-gradient(135deg, rgba(82, 196, 26, 0.08) 0%, rgba(82, 196, 26, 0.02) 100%);
	border-color: rgba(82, 196, 26, 0.32);
}
.pp-cart-shipping-progress.is-qualified .pp-cart-shipping-progress__msg { color: #52C41A; margin-bottom: 0; }
.pp-cart-shipping-progress.is-qualified .pp-cart-shipping-progress__msg svg,
.pp-cart-shipping-progress.is-qualified .pp-cart-shipping-progress__msg strong { color: #52C41A; }

/* ============================================================ */
/*  PROCEED TO CHECKOUT — make it the loudest button on the page  */
/* ============================================================ */
.woocommerce .wc-proceed-to-checkout {
	padding: 0 !important;
	margin-top: 18px !important;
}
.woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce .wc-proceed-to-checkout .checkout-button,
a.button.checkout-button,
.checkout-button.button.alt {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100% !important;
	min-height: 56px;
	padding: 18px 24px !important;
	margin: 0 !important;
	background: linear-gradient(135deg, var(--ruby) 0%, var(--ruby-deep, #B0124B) 100%) !important;
	color: #fff !important;
	border: 1px solid rgba(255,255,255,0.08) !important;
	border-radius: 999px !important;
	font-family: var(--font-mono) !important;
	font-size: 13px !important;
	letter-spacing: 1.8px !important;
	text-transform: uppercase !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	box-shadow: 0 8px 24px rgba(233, 30, 99, 0.32), inset 0 1px 0 rgba(255,255,255,0.18);
	transition: transform 200ms var(--ease), box-shadow 200ms var(--ease);
}
.woocommerce .wc-proceed-to-checkout a.checkout-button::after,
a.button.checkout-button::after {
	content: "→";
	font-family: var(--font-body);
	font-size: 16px;
	letter-spacing: 0;
	margin-left: 4px;
	transition: transform 200ms var(--ease);
}
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover,
a.button.checkout-button:hover {
	transform: translateY(-1px);
	box-shadow: 0 12px 32px rgba(233, 30, 99, 0.42), inset 0 1px 0 rgba(255,255,255,0.22);
}
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover::after { transform: translateX(4px); }

/* ============================================================ */
/*  MOBILE — cart layout: drop fixed table-layout (was breaking
    words char-by-char), hide redundant PRICE column, keep name
    horizontal and readable.                                       */
/* ============================================================ */
@media (max-width: 720px) {
	html, body.woocommerce-cart, body.woocommerce-checkout {
		overflow-x: clip;
		max-width: 100vw;
	}
	/* Tighten the cart-page container so it fits with breathing room on mobile */
	body.woocommerce-cart .section > .container,
	body.woocommerce-checkout .section > .container {
		max-width: 100% !important;
		padding-left: 12px !important;
		padding-right: 12px !important;
	}
	/* Single column on mobile, no big gap */
	body.woocommerce-cart .pp-cart-layout {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}
	/* Use auto layout so the name column gets the most width it needs */
	.woocommerce-cart-form,
	.woocommerce-cart-form table.cart {
		table-layout: auto !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	/* Product name: NORMAL wrapping (whole words). overflow-wrap: break-word
	   only breaks an unbreakable word as a last resort — won't split short
	   words like "Bacteriostatic" character-by-character. */
	.woocommerce-cart-form .product-name {
		min-width: 0 !important;
		word-break: normal !important;
		overflow-wrap: break-word !important;
		padding: 12px 6px !important;
		hyphens: none !important;
	}
	.woocommerce-cart-form .product-name a {
		font-size: 14px !important;
		line-height: 1.3 !important;
		display: block;
		word-break: normal !important;
		overflow-wrap: break-word !important;
		hyphens: none !important;
	}
	/* Hide redundant per-unit price column (TOTAL column shows qty×price) */
	.woocommerce-cart-form table.cart th.product-price,
	.woocommerce-cart-form table.cart td.product-price { display: none !important; }
	/* Tighten remaining column widths */
	.woocommerce-cart-form table.cart th.product-quantity,
	.woocommerce-cart-form table.cart td.product-quantity { width: 80px !important; padding: 12px 6px !important; }
	.woocommerce-cart-form table.cart th.product-subtotal,
	.woocommerce-cart-form table.cart td.product-subtotal { width: 70px !important; padding: 12px 6px !important; font-size: 14px !important; text-align: right !important; }
	.woocommerce-cart-form table.cart th.product-remove,
	.woocommerce-cart-form table.cart td.product-remove { width: 44px !important; padding: 8px 6px !important; }
	.woocommerce-cart-form table.cart th { font-size: 9px !important; letter-spacing: 1px !important; }
	/* Thumbnail column slightly narrower on mobile */
	.woocommerce table.cart th.product-thumbnail,
	.woocommerce-page table.cart th.product-thumbnail,
	.woocommerce-cart-form table.cart td.product-thumbnail { width: 72px !important; padding: 8px 4px !important; }
	.cart-collaterals .cart_totals { overflow-x: hidden; }
}

/* ============================================================ */
/*  EMPTY CART — luxury upsell with social proof                  */
/* ============================================================ */
.pp-cart-empty {
	max-width: 920px;
	margin: 0 auto;
	padding: 32px 20px 48px;
	text-align: center;
}
.pp-cart-empty__icon {
	color: var(--silver-4);
	opacity: 0.6;
	margin: 0 auto 18px;
}
.pp-cart-empty__eyebrow {
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: var(--ruby);
	font-weight: 700;
	margin-bottom: 12px;
}
.pp-cart-empty__title {
	font-family: var(--font-body);
	font-weight: 800;
	font-size: clamp(28px, 4.4vw, 44px);
	letter-spacing: -0.025em;
	color: var(--ink-2);
	margin: 0 0 14px;
	line-height: 1.05;
}
.pp-cart-empty__lede {
	font-size: 15px;
	line-height: 1.55;
	color: var(--silver-3);
	max-width: 60ch;
	margin: 0 auto 32px;
}
.pp-cart-empty__social {
	border-top: 1px solid var(--line-1);
	border-bottom: 1px solid var(--line-1);
	padding: 28px 0 32px;
	margin: 32px 0;
}
.pp-cart-empty__social-head { margin-bottom: 20px; }
.pp-cart-empty__social-eyebrow {
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 2.5px;
	color: var(--silver-3);
	text-transform: uppercase;
	font-weight: 600;
}
.pp-cart-empty__social-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	max-width: 720px;
	margin: 0 auto;
}
.pp-cart-empty__card {
	display: flex;
	flex-direction: column;
	background: var(--paper);
	border: 1px solid var(--line-1);
	border-radius: 6px;
	text-decoration: none;
	overflow: hidden;
	transition: border-color 200ms var(--ease), transform 200ms var(--ease);
}
.pp-cart-empty__card:hover {
	border-color: var(--ruby);
	transform: translateY(-2px);
}
.pp-cart-empty__card-thumb {
	background: transparent;
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
}
.pp-cart-empty__card-thumb img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	display: block;
}
.pp-cart-empty__card-body {
	padding: 14px 14px 16px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	text-align: left;
}
.pp-cart-empty__card-cat {
	font-family: var(--font-mono);
	font-size: 9px;
	letter-spacing: 1.6px;
	color: var(--ruby);
	font-weight: 700;
	text-transform: uppercase;
}
.pp-cart-empty__card-name {
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 15px;
	color: var(--ink-1);
	letter-spacing: -0.015em;
	line-height: 1.2;
}
.pp-cart-empty__card-price {
	font-family: var(--font-mono);
	font-size: 13px;
	color: var(--ruby);
	font-weight: 600;
	margin-top: 4px;
}
.pp-cart-empty__card-price .amount { color: var(--ruby); }
.pp-cart-empty__cta-row {
	margin-top: 32px;
	display: flex;
	justify-content: center;
}
@media (max-width: 720px) {
	.pp-cart-empty { padding: 24px 16px 40px; }
	.pp-cart-empty__social-grid { gap: 10px; }
	.pp-cart-empty__card-body { padding: 10px 10px 12px; }
	.pp-cart-empty__card-name { font-size: 12px; }
	.pp-cart-empty__card-price { font-size: 11px; }
	.pp-cart-empty__card-cat { font-size: 8px; letter-spacing: 1.2px; }
}

/* ============================================================ */
/*  CHECKOUT TRUST BADGE ROW — above Place Order button           */
/* ============================================================ */
.pp-checkout-trust {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	flex-wrap: wrap;
	padding: 16px 20px;
	margin: 18px 0;
	background: var(--paper);
	border: 1px solid var(--line-1);
	border-radius: 6px;
}
.pp-checkout-trust__item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--silver-2);
}
.pp-checkout-trust__item svg { color: var(--ruby); flex-shrink: 0; }
.pp-checkout-trust__item strong { color: var(--ink-1); font-weight: 700; letter-spacing: 1.2px; }
@media (max-width: 720px) {
	.pp-checkout-trust { gap: 10px; padding: 14px; }
	.pp-checkout-trust__item { font-size: 9px; letter-spacing: 1.2px; }
}

/* ============================================================ */
/*  MOBILE SHOP — Category quick-filter chips above grid          */
/* ============================================================ */
.pp-cat-chips {
	display: none;
}
@media (max-width: 720px) {
	.pp-cat-chips {
		display: flex;
		gap: 5px;
		overflow-x: auto;
		padding: 0 12px 14px;
		margin: -4px -12px 12px;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
		mask-image: linear-gradient(to right, transparent 0, #000 12px, #000 calc(100% - 24px), transparent 100%);
		-webkit-mask-image: linear-gradient(to right, transparent 0, #000 12px, #000 calc(100% - 24px), transparent 100%);
	}
	.pp-cat-chips::-webkit-scrollbar { display: none; }
	.pp-cat-chip {
		flex-shrink: 0;
		display: inline-flex;
		align-items: center;
		min-height: 32px;
		padding: 6px 12px;
		background: rgba(255,255,255,0.04);
		border: 1px solid var(--line-2);
		border-radius: 999px;
		font-family: var(--font-mono);
		font-size: 9px;
		letter-spacing: 1.1px;
		text-transform: uppercase;
		color: var(--ink-2);
		font-weight: 700;
		text-decoration: none;
		transition: border-color 200ms var(--ease), color 200ms var(--ease), background 200ms var(--ease);
		white-space: nowrap;
	}
	.pp-cat-chip:hover,
	.pp-cat-chip.is-active {
		border-color: var(--ruby);
		color: var(--ruby);
		background: rgba(233,30,99,0.06);
	}
}

/* ============================================================ */
/*  PRODUCT WAITLIST — out-of-stock notify-me form on PDP        */
/* ============================================================ */
.pp-waitlist {
	background: linear-gradient(135deg, rgba(233,30,99,0.06) 0%, rgba(176,18,75,0.02) 100%);
	border: 1px solid rgba(233, 30, 99, 0.28);
	border-radius: 8px;
	padding: 24px;
}
.pp-waitlist__eyebrow {
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 2.5px;
	color: var(--ruby);
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 8px;
}
.pp-waitlist__title {
	font-family: var(--font-body);
	font-weight: 800;
	font-size: 22px;
	color: var(--ink-2);
	letter-spacing: -0.02em;
	margin-bottom: 8px;
}
.pp-waitlist__sub {
	font-size: 13px;
	color: var(--silver-3);
	line-height: 1.5;
	margin-bottom: 18px;
}
.pp-waitlist__form {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}
.pp-waitlist__form input[type="email"] {
	flex: 1;
	min-width: 180px;
	height: 48px;
	padding: 0 16px;
	background: var(--paper);
	border: 1px solid var(--line-2);
	border-radius: 4px;
	color: var(--ink-2);
	font-family: var(--font-body);
	font-size: 14px;
}
.pp-waitlist__form input[type="email"]:focus {
	outline: none;
	border-color: var(--ruby);
	background: rgba(255,255,255,0.04);
}
.pp-waitlist__btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 48px;
	padding: 0 22px;
	background: linear-gradient(135deg, var(--ruby) 0%, var(--ruby-deep, #B0124B) 100%);
	color: #fff;
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 999px;
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	font-weight: 700;
	cursor: pointer;
	box-shadow: 0 6px 18px rgba(233,30,99,0.32), inset 0 1px 0 rgba(255,255,255,0.18);
	transition: transform 200ms var(--ease), box-shadow 200ms var(--ease);
}
.pp-waitlist__btn:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(233,30,99,0.42); }
.pp-waitlist__msg {
	margin-top: 12px;
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.8px;
	color: var(--silver-3);
}
.pp-waitlist__msg.is-success { color: #52C41A; }
.pp-waitlist__msg.is-error { color: var(--ruby-light, #FF3D7F); }

/* ============================================================ */
/*  CHECKOUT COMPLIANCE CHECKBOXES — checkbox LEFT, label RIGHT  */
/* ============================================================ */
.peptidepharm-compliance-checks .form-row {
	display: block !important;
	padding: 0 !important;
	margin: 12px 0 !important;
	text-align: left !important;
}
.peptidepharm-compliance-checks .form-row label.checkbox,
.peptidepharm-compliance-checks label.checkbox {
	display: flex !important;
	align-items: flex-start;
	gap: 12px;
	margin: 0 !important;
	padding: 0 !important;
	cursor: pointer;
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.9px;
	line-height: 1.5;
	color: var(--ink-1);
	text-transform: uppercase;
}
.peptidepharm-compliance-checks input[type="checkbox"].input-checkbox,
.peptidepharm-compliance-checks input[type="checkbox"] {
	flex-shrink: 0;
	display: inline-block !important;
	width: 18px !important;
	height: 18px !important;
	margin: 2px 0 0 0 !important;
	padding: 0 !important;
	vertical-align: top !important;
	accent-color: var(--ruby);
	cursor: pointer;
}
.peptidepharm-compliance-checks .required {
	color: var(--ruby);
	margin-left: 4px;
}
.peptidepharm-compliance-checks .optional {
	color: var(--silver-4);
	text-transform: uppercase;
	font-size: 9px;
	letter-spacing: 1.2px;
	margin-left: 6px;
}
.peptidepharm-compliance-checks a {
	color: var(--ruby);
	text-decoration: underline;
}
.peptidepharm-compliance-checks a:hover { color: var(--ruby-light, #FF3D7F); }

/* ============================================================ */
/*  STANDARD-becomes-FREE — strike through original $13 + bright FREE */
/* ============================================================ */
.pp-strike,
.pp-strike .amount,
.pp-strike .woocommerce-Price-amount {
	text-decoration: line-through;
	color: var(--silver-4, #7C7E84) !important;
	font-weight: 500 !important;
	opacity: 0.7;
	margin-right: 4px;
}
.pp-free {
	color: #52C41A !important;
	font-family: var(--font-mono);
	font-weight: 700 !important;
	letter-spacing: 0.04em;
}
