/* ============================================================
   BOLTON Signal — 06 WOOCOMMERCE (component skin)
   RFQ-first presentation for WooCommerce default markup.
   - Styles core Woo classes (.woocommerce, ul.products li.product,
     .summary, .woocommerce-tabs, .cart, MyAccount...) — NO overrides.
   - Reuses the .card / .spec-table / .btn / .chip aesthetic.
   - Under .wc-rfq-first the .product-rfq block is the PRIMARY action;
     .price and .single_add_to_cart_button are de-emphasised but kept
     usable/visible (cart & checkout never broken).
   - Dark-first. No white backgrounds. UK English. Tokens only.

   LAYOUT (2-col summary, shop grid columns, archive headers) lives in
   tpl-product.css (@layer templates). This file is the skin only.
   ============================================================ */
@layer woocommerce {

	/* ----------------------------------------------------------
	   0 · Shell + shared chrome
	   ---------------------------------------------------------- */
	.woocommerce,
	.woocommerce-page {
		color: var(--bx-contrast);
	}
	.wc-main { padding-block: clamp(2rem, 5vw, var(--bx-sp-60)); }
	.wc-shell { display: block; }

	/* WooCommerce notices — restrained, dark, never alarmist */
	.woocommerce-message,
	.woocommerce-info,
	.woocommerce-error,
	.woocommerce-noreviews,
	.wc-block-components-notice-banner {
		list-style: none;
		margin: 0 0 var(--bx-sp-40);
		padding: 0.9rem 1.1rem;
		font-size: var(--bx-fs-sm);
		color: var(--bx-contrast);
		background: var(--bx-surface);
		border: 1px solid var(--bx-navy-line);
		border-left: 3px solid var(--bx-gold);
		border-radius: var(--bx-radius);
	}
	.woocommerce-error { border-left-color: var(--bx-danger); }
	.woocommerce-info { border-left-color: var(--bx-info); }
	.woocommerce-message .button,
	.woocommerce-info .button,
	.woocommerce-error .button {
		float: none;
		margin-left: var(--bx-sp-30);
	}

	/* Sale flash — neutralised; this is a procurement site, not a deal site */
	.woocommerce span.onsale,
	ul.products li.product .onsale {
		display: none !important;
	}

	/* WooCommerce breadcrumb (still emitted by core/Rank Math) */
	.woocommerce-breadcrumb {
		font-size: var(--bx-fs-sm);
		color: var(--bx-steel);
		padding-block: var(--bx-sp-30);
		margin-bottom: var(--bx-sp-30);
	}
	.woocommerce-breadcrumb a { color: var(--bx-steel); text-decoration: none; }
	.woocommerce-breadcrumb a:hover { color: var(--bx-accent-strong); }

	/* ----------------------------------------------------------
	   1 · Generic Woo buttons → BOLTON button language
	   (cart/account/checkout buttons stay functional + visible)
	   ---------------------------------------------------------- */
	.woocommerce a.button,
	.woocommerce button.button,
	.woocommerce input.button,
	.woocommerce #respond input#submit,
	.woocommerce .button {
		display: inline-flex;
		align-items: center;
		gap: 0.5em;
		padding: 0.75em 1.3em;
		font: 600 var(--bx-fs-base)/1 var(--bx-font-sans);
		color: var(--bx-contrast);
		background: var(--bx-surface-2);
		border: 1px solid var(--bx-surface-border);
		border-radius: var(--bx-radius);
		text-decoration: none;
		cursor: pointer;
		transition: border-color var(--bx-dur-1) var(--bx-ease),
			background var(--bx-dur-1) var(--bx-ease),
			color var(--bx-dur-1) var(--bx-ease);
	}
	.woocommerce a.button:hover,
	.woocommerce button.button:hover,
	.woocommerce input.button:hover,
	.woocommerce #respond input#submit:hover,
	.woocommerce .button:hover {
		border-color: var(--bx-accent-strong);
		color: var(--bx-cream);
		background: var(--bx-surface-2);
	}

	/* The genuinely-primary commerce actions (checkout, place order, login,
	   register, my-account save) keep weight so the store stays usable. */
	.woocommerce .button.alt,
	.woocommerce #place_order,
	.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
	.woocommerce-account button[name="login"],
	.woocommerce-account button[name="register"] {
		background: var(--bx-gold);
		color: var(--bx-btn-primary-fg);
		border-color: var(--bx-accent-strong);
	}
	.woocommerce .button.alt:hover,
	.woocommerce #place_order:hover,
	.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover,
	.woocommerce-account button[name="login"]:hover,
	.woocommerce-account button[name="register"]:hover {
		background: var(--bx-gold);
		color: var(--bx-btn-primary-fg);
		border-color: var(--bx-accent-strong);
	}
	.woocommerce a.button:focus-visible,
	.woocommerce button:focus-visible,
	.woocommerce input.button:focus-visible {
		outline: none;
		box-shadow: var(--bx-focus);
	}

	/* ----------------------------------------------------------
	   2 · Shop / archive product grid → .card aesthetic
	   (grid template-columns handled in tpl-product.css)
	   ---------------------------------------------------------- */
	.woocommerce ul.products,
	.woocommerce-page ul.products {
		list-style: none;
		margin: 0;
		padding: 0;
	}
	.woocommerce ul.products li.product,
	.woocommerce-page ul.products li.product {
		position: relative;
		display: flex;
		flex-direction: column;
		gap: var(--bx-sp-20);
		margin: 0;
		padding: var(--bx-sp-40);
		background: var(--bx-surface);
		border: 1px solid var(--bx-navy-line);
		border-radius: var(--bx-radius-lg);
		backdrop-filter: blur(var(--bx-glass-blur));
		transition: border-color var(--bx-dur-2) var(--bx-ease),
			transform var(--bx-dur-2) var(--bx-ease),
			box-shadow var(--bx-dur-2) var(--bx-ease);
		overflow: hidden;
	}
	.woocommerce ul.products li.product:hover {
		border-color: var(--bx-surface-border);
		transform: translateY(-3px);
		box-shadow: var(--bx-shadow-2);
	}

	/* Product image: framed plate on deep navy (no white image bleed) */
	.woocommerce ul.products li.product a img,
	.woocommerce-page ul.products li.product a img {
		display: block;
		width: 100%;
		height: auto;
		margin: 0 0 var(--bx-sp-20);
		background: var(--bx-navy-deep);
		border: var(--bx-border-hair);
		border-radius: var(--bx-radius);
		aspect-ratio: 4 / 3;
		object-fit: contain;
	}

	.woocommerce ul.products li.product .woocommerce-loop-product__title,
	.woocommerce ul.products li.product h2,
	.woocommerce ul.products li.product h3 {
		margin: 0;
		padding: 0;
		font: 600 var(--bx-fs-base)/1.3 var(--bx-font-sans);
		color: var(--bx-contrast);
	}
	.woocommerce ul.products li.product a {
		color: inherit;
		text-decoration: none;
	}
	.woocommerce ul.products li.product a:hover .woocommerce-loop-product__title {
		color: var(--bx-accent-strong);
	}

	/* Loop category headings (in mixed shop listings) */
	.woocommerce ul.products li.product-category .woocommerce-loop-category__title {
		font-size: var(--bx-fs-base);
		color: var(--bx-contrast);
	}
	.woocommerce ul.products li.product-category mark {
		background: transparent;
		color: var(--bx-accent-strong);
	}

	/* Star ratings — quiet, gold, optional */
	.woocommerce .star-rating { color: var(--bx-accent-strong); font-size: var(--bx-fs-sm); }
	.woocommerce .star-rating::before { color: var(--bx-steel-dim); }

	/* Loop price: present but quiet. Under RFQ-first it is further hushed (§7). */
	.woocommerce ul.products li.product .price {
		margin: 0;
		color: var(--bx-steel);
		font-family: var(--bx-font-mono);
		font-size: var(--bx-fs-sm);
		font-weight: 500;
	}
	.woocommerce ul.products li.product .price del { color: var(--bx-steel-dim); opacity: 0.7; }
	.woocommerce ul.products li.product .price ins { color: var(--bx-steel); text-decoration: none; }

	/* Loop "add to cart" / "read more" sits at the bottom, secondary */
	.woocommerce ul.products li.product .button,
	.woocommerce ul.products li.product .added_to_cart {
		margin-top: auto;
		align-self: flex-start;
		font-size: var(--bx-fs-sm);
		padding: 0.55em 1em;
	}

	/* Result count + ordering bar */
	.woocommerce .woocommerce-result-count {
		margin: 0;
		color: var(--bx-steel);
		font-size: var(--bx-fs-sm);
		font-family: var(--bx-font-mono);
		letter-spacing: 0.03em;
	}
	.woocommerce .woocommerce-ordering select,
	.woocommerce select.orderby {
		padding: 0.55rem 0.8rem;
		color: var(--bx-field-text);
		background: var(--bx-field-bg);
		border: 1px solid var(--bx-field-border);
		border-radius: var(--bx-radius);
		font: inherit;
		font-size: var(--bx-fs-sm);
	}
	.woocommerce .woocommerce-ordering select:focus,
	.woocommerce select.orderby:focus {
		outline: none;
		border-color: var(--bx-accent-strong);
		box-shadow: var(--bx-focus);
	}

	/* Woo pagination → reuse the templates pagination look */
	.woocommerce nav.woocommerce-pagination ul {
		display: flex;
		flex-wrap: wrap;
		gap: 0.5rem;
		justify-content: center;
		margin: var(--bx-sp-50) 0 0;
		padding: 0;
		border: 0;
	}
	.woocommerce nav.woocommerce-pagination ul li {
		border: 0;
		margin: 0;
		overflow: visible;
	}
	.woocommerce nav.woocommerce-pagination ul li a,
	.woocommerce nav.woocommerce-pagination ul li span {
		display: inline-flex;
		min-width: 44px;
		min-height: 44px;
		align-items: center;
		justify-content: center;
		padding: 0 0.6rem;
		color: var(--bx-contrast-midtone);
		background: transparent;
		border: var(--bx-border-hair);
		border-radius: var(--bx-radius);
	}
	.woocommerce nav.woocommerce-pagination ul li span.current {
		background: var(--bx-gold);
		color: var(--bx-btn-primary-fg);
		border-color: var(--bx-accent-strong);
		font-weight: 700;
	}
	.woocommerce nav.woocommerce-pagination ul li a:hover {
		border-color: var(--bx-accent-strong);
		color: var(--bx-cream);
	}

	/* ----------------------------------------------------------
	   3 · Single product summary
	   (2-col gallery|summary layout is in tpl-product.css)
	   ---------------------------------------------------------- */
	.woocommerce div.product .product_title,
	.woocommerce div.product h1.product_title {
		margin: 0 0 var(--bx-sp-20);
		font-size: var(--bx-fs-2xl);
		line-height: var(--bx-lh-tight);
		color: var(--bx-contrast);
	}

	/* SKU / meta as mono identification text (never emphasised) */
	.woocommerce div.product .product_meta {
		margin-top: var(--bx-sp-40);
		padding-top: var(--bx-sp-30);
		border-top: var(--bx-border-hair);
		font-family: var(--bx-font-mono);
		font-size: var(--bx-fs-xs);
		color: var(--bx-steel);
		letter-spacing: 0.02em;
	}
	.woocommerce div.product .product_meta > span { display: block; margin-bottom: 0.35rem; }
	.woocommerce div.product .product_meta a { color: var(--bx-steel); text-decoration: none; }
	.woocommerce div.product .product_meta a:hover { color: var(--bx-accent-strong); }

	.woocommerce div.product .woocommerce-product-details__short-description {
		color: var(--bx-contrast-midtone);
		font-size: var(--bx-fs-base);
		line-height: var(--bx-lh-body);
	}
	.woocommerce div.product .woocommerce-product-details__short-description > * + * {
		margin-top: var(--bx-sp-30);
	}
	.woocommerce div.product .woocommerce-product-details__short-description ul {
		padding-left: 1.3rem;
	}

	/* Single price block — visible, restrained (RFQ-first hush in §7) */
	.woocommerce div.product p.price,
	.woocommerce div.product span.price {
		margin: var(--bx-sp-30) 0;
		color: var(--bx-contrast-midtone);
		font-family: var(--bx-font-mono);
		font-size: var(--bx-fs-lg);
		font-weight: 500;
	}
	.woocommerce div.product p.price del { color: var(--bx-steel-dim); }
	.woocommerce div.product p.price ins { text-decoration: none; color: var(--bx-contrast); }

	/* Stock label — neutral; no lead-time / distributor claims surface from theme */
	.woocommerce div.product .stock {
		font-family: var(--bx-font-mono);
		font-size: var(--bx-fs-xs);
		color: var(--bx-steel);
	}
	.woocommerce div.product .stock.out-of-stock { color: var(--bx-steel-dim); }

	/* ----------------------------------------------------------
	   4 · The injected .product-rfq block — PRIMARY ACTION
	   (rendered by woocommerce_single_product_summary @25)
	   ---------------------------------------------------------- */
	.product-rfq {
		display: grid;
		gap: var(--bx-sp-30);
		margin: var(--bx-sp-40) 0;
		padding: var(--bx-sp-40);
		background:
			radial-gradient(120% 140% at 0% 0%, rgba(200,162,76,.12), transparent 60%),
			var(--bx-surface);
		border: 1px solid var(--bx-surface-border);
		border-radius: var(--bx-radius-lg);
		box-shadow: var(--bx-glow-gold);
	}
	/* The gold CTA already carries .btn.btn--gold.btn--block from the helper */
	.product-rfq .btn--gold { font-size: var(--bx-fs-lg); padding: 1em 1.6em; }
	.product-rfq__note {
		margin: 0;
		color: var(--bx-contrast-midtone);
		font-size: var(--bx-fs-sm);
		line-height: var(--bx-lh-snug);
	}

	/* ----------------------------------------------------------
	   5 · Add-to-cart form, quantity, variations
	   (kept functional; visually secondary under RFQ-first in §7)
	   ---------------------------------------------------------- */
	.woocommerce div.product form.cart {
		margin: var(--bx-sp-30) 0;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: var(--bx-sp-30);
	}
	.woocommerce .quantity .qty {
		width: 5.5rem;
		padding: 0.6rem 0.5rem;
		text-align: center;
		color: var(--bx-field-text);
		background: var(--bx-field-bg);
		border: 1px solid var(--bx-field-border);
		border-radius: var(--bx-radius);
		font: inherit;
	}
	.woocommerce .quantity .qty:focus {
		outline: none;
		border-color: var(--bx-accent-strong);
		box-shadow: var(--bx-focus);
	}

	/* Variations table */
	.woocommerce div.product form.cart .variations {
		width: 100%;
		border-collapse: collapse;
		margin-bottom: var(--bx-sp-30);
	}
	.woocommerce div.product form.cart .variations th,
	.woocommerce div.product form.cart .variations td {
		padding: 0.5rem 0.6rem 0.5rem 0;
		text-align: left;
		vertical-align: middle;
		border: 0;
	}
	.woocommerce div.product form.cart .variations th.label {
		color: var(--bx-steel);
		font-family: var(--bx-font-mono);
		font-size: var(--bx-fs-xs);
		text-transform: uppercase;
		letter-spacing: 0.06em;
		font-weight: 600;
	}
	.woocommerce div.product form.cart .variations select {
		width: 100%;
		padding: 0.6rem 0.75rem;
		color: var(--bx-field-text);
		background: var(--bx-field-bg);
		border: 1px solid var(--bx-field-border);
		border-radius: var(--bx-radius);
		font: inherit;
	}
	.woocommerce div.product form.cart .variations select:focus {
		outline: none;
		border-color: var(--bx-accent-strong);
		box-shadow: var(--bx-focus);
	}
	.woocommerce div.product .woocommerce-variation-price .price {
		color: var(--bx-contrast-midtone);
		font-family: var(--bx-font-mono);
	}
	.woocommerce a.reset_variations { color: var(--bx-steel); font-size: var(--bx-fs-sm); }

	/* ----------------------------------------------------------
	   6 · Tabs, additional info, reviews, related, up-sells
	   ---------------------------------------------------------- */
	.woocommerce div.product .woocommerce-tabs {
		margin-top: var(--bx-sp-60);
	}
	.woocommerce div.product .woocommerce-tabs ul.tabs {
		display: flex;
		flex-wrap: wrap;
		gap: 0.25rem;
		margin: 0 0 var(--bx-sp-40);
		padding: 0 0 0.25rem;
		list-style: none;
		border-bottom: var(--bx-border-hair);
	}
	.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
	.woocommerce div.product .woocommerce-tabs ul.tabs li {
		margin: 0;
		padding: 0;
		background: transparent;
		border: 0;
		border-radius: 0;
	}
	.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
	.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
	.woocommerce div.product .woocommerce-tabs ul.tabs li a {
		display: inline-block;
		padding: 0.6rem 1rem;
		color: var(--bx-steel);
		font: 600 var(--bx-fs-sm)/1 var(--bx-font-mono);
		letter-spacing: 0.04em;
		text-transform: uppercase;
		text-decoration: none;
		border-bottom: 2px solid transparent;
		transition: color var(--bx-dur-1) var(--bx-ease), border-color var(--bx-dur-1) var(--bx-ease);
	}
	.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--bx-contrast); }
	.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
		color: var(--bx-accent-strong);
		border-bottom-color: var(--bx-accent-strong);
	}
	.woocommerce div.product .woocommerce-tabs .panel,
	.woocommerce div.product .woocommerce-tabs .wc-tab {
		margin: 0;
		color: var(--bx-contrast-midtone);
		line-height: var(--bx-lh-body);
	}
	.woocommerce div.product .woocommerce-tabs .panel > * + * { margin-top: var(--bx-sp-30); }
	.woocommerce div.product .woocommerce-tabs .panel h2 {
		font-size: var(--bx-fs-xl);
		color: var(--bx-contrast);
		margin-bottom: var(--bx-sp-30);
	}

	/* Additional-information table → spec-table look */
	.woocommerce table.shop_attributes {
		width: 100%;
		border-collapse: collapse;
		font-size: var(--bx-fs-sm);
	}
	.woocommerce table.shop_attributes th,
	.woocommerce table.shop_attributes td {
		padding: 0.7rem 0.9rem;
		text-align: left;
		vertical-align: top;
		border: 0;
		border-bottom: var(--bx-border-hair);
		background: transparent;
	}
	.woocommerce table.shop_attributes th {
		width: 38%;
		color: var(--bx-steel);
		font-family: var(--bx-font-mono);
		font-size: var(--bx-fs-xs);
		font-weight: 600;
		letter-spacing: 0.06em;
		text-transform: uppercase;
	}
	.woocommerce table.shop_attributes td { color: var(--bx-contrast-midtone); }
	.woocommerce table.shop_attributes td p { margin: 0; }

	/* Reviews */
	.woocommerce #reviews #comments ol.commentlist { margin: 0; padding: 0; list-style: none; }
	.woocommerce #reviews #comments ol.commentlist li {
		margin-bottom: var(--bx-sp-40);
		padding: var(--bx-sp-40);
		background: var(--bx-surface);
		border: 1px solid var(--bx-navy-line);
		border-radius: var(--bx-radius-lg);
	}
	.woocommerce #reviews .comment-text { color: var(--bx-contrast-midtone); }
	.woocommerce #reviews .comment-text strong.woocommerce-review__author { color: var(--bx-contrast); }
	.woocommerce #reviews #respond textarea,
	.woocommerce #reviews #respond input[type="text"],
	.woocommerce #reviews #respond input[type="email"] {
		width: 100%;
		padding: 0.7rem 0.85rem;
		color: var(--bx-field-text);
		background: var(--bx-field-bg);
		border: 1px solid var(--bx-field-border);
		border-radius: var(--bx-radius);
		font: inherit;
	}

	/* Related / up-sells headings + grid (uses ul.products skin above) */
	.woocommerce .related,
	.woocommerce .upsells {
		margin-top: var(--bx-sp-60);
		padding-top: var(--bx-sp-50);
		border-top: var(--bx-border-hair);
	}
	.woocommerce .related > h2,
	.woocommerce .upsells > h2,
	.woocommerce .cross-sells > h2 {
		font-size: var(--bx-fs-xl);
		color: var(--bx-contrast);
		margin-bottom: var(--bx-sp-40);
	}

	/* ----------------------------------------------------------
	   7 · RFQ-FIRST de-emphasis (only under body.wc-rfq-first)
	   Price + add-to-cart shrink to a secondary tier so the gold
	   "Submit an RFQ" button dominates — still usable & visible.
	   ---------------------------------------------------------- */
	.wc-rfq-first.woocommerce div.product p.price,
	.wc-rfq-first.woocommerce div.product span.price,
	.wc-rfq-first .woocommerce div.product p.price {
		font-size: var(--bx-fs-sm);
		color: var(--bx-steel);
		opacity: 0.85;
	}

	/* The native add-to-cart form: keep it, make it visibly secondary,
	   and slot it BELOW the RFQ block via order on the flex/grid summary. */
	.wc-rfq-first.woocommerce div.product form.cart {
		order: 5;
		padding: var(--bx-sp-30);
		background: var(--bx-surface);
		border: var(--bx-border-hair);
		border-radius: var(--bx-radius);
	}
	.wc-rfq-first .product-rfq { order: 1; }

	/* Add-to-cart button demoted to a small ghost-tier control */
	.wc-rfq-first.woocommerce div.product form.cart .single_add_to_cart_button {
		background: transparent;
		color: var(--bx-contrast-midtone);
		border: 1px solid var(--bx-surface-border);
		font-size: var(--bx-fs-sm);
		padding: 0.6em 1.1em;
		box-shadow: none;
	}
	.wc-rfq-first.woocommerce div.product form.cart .single_add_to_cart_button:hover {
		border-color: var(--bx-accent-strong);
		color: var(--bx-cream);
		background: var(--bx-surface);
	}

	/* Loop add-to-cart also demoted on archives under RFQ-first */
	.wc-rfq-first.woocommerce ul.products li.product .button {
		background: transparent;
		color: var(--bx-steel);
		border-color: var(--bx-navy-line);
	}
	.wc-rfq-first.woocommerce ul.products li.product .button:hover {
		border-color: var(--bx-accent-strong);
		color: var(--bx-cream);
	}

	/* ----------------------------------------------------------
	   8 · Cart (functional, restrained — never broken)
	   ---------------------------------------------------------- */
	.woocommerce table.shop_table {
		width: 100%;
		border-collapse: collapse;
		margin-bottom: var(--bx-sp-40);
		border: var(--bx-border-hair);
		border-radius: var(--bx-radius-lg);
		overflow: hidden;
	}
	.woocommerce table.shop_table th {
		padding: 0.85rem 0.9rem;
		text-align: left;
		color: var(--bx-steel);
		background: var(--bx-base-midtone);
		font-family: var(--bx-font-mono);
		font-size: var(--bx-fs-xs);
		text-transform: uppercase;
		letter-spacing: 0.05em;
		border-bottom: var(--bx-border-hair);
	}
	.woocommerce table.shop_table td {
		padding: 0.85rem 0.9rem;
		color: var(--bx-contrast-midtone);
		background: var(--bx-surface);
		border-top: var(--bx-border-hair);
		vertical-align: middle;
	}
	.woocommerce table.shop_table td.product-name a { color: var(--bx-contrast); text-decoration: none; }
	.woocommerce table.shop_table td.product-name a:hover { color: var(--bx-accent-strong); }
	.woocommerce table.shop_table img { width: 56px; height: auto; border-radius: var(--bx-radius-sm); border: var(--bx-border-hair); }
	.woocommerce a.remove {
		display: inline-flex; align-items: center; justify-content: center;
		width: 1.5em; height: 1.5em;
		color: var(--bx-steel) !important;
		border: var(--bx-border-hair);
		border-radius: var(--bx-radius-pill);
		text-decoration: none;
	}
	.woocommerce a.remove:hover { color: var(--bx-danger) !important; background: var(--bx-surface); border-color: var(--bx-danger); }

	.woocommerce .cart-collaterals,
	.woocommerce-cart .cart-collaterals .cart_totals {
		color: var(--bx-contrast-midtone);
	}
	.woocommerce .cart_totals h2,
	.woocommerce .cross-sells h2 { color: var(--bx-contrast); font-size: var(--bx-fs-xl); }
	.woocommerce .cart_totals table.shop_table td,
	.woocommerce .cart_totals table.shop_table th { background: var(--bx-surface); }

	.woocommerce .coupon .input-text,
	.woocommerce form .form-row input.input-text,
	.woocommerce form .form-row textarea,
	.woocommerce form .form-row select {
		padding: 0.7rem 0.85rem;
		color: var(--bx-field-text);
		background: var(--bx-field-bg);
		border: 1px solid var(--bx-field-border);
		border-radius: var(--bx-radius);
		font: inherit;
	}
	.woocommerce .coupon .input-text:focus,
	.woocommerce form .form-row input.input-text:focus,
	.woocommerce form .form-row textarea:focus {
		outline: none;
		border-color: var(--bx-accent-strong);
		box-shadow: var(--bx-focus);
	}
	/* AA placeholder across all WooCommerce text fields (dual-mode token) */
	.woocommerce input::placeholder,
	.woocommerce textarea::placeholder,
	.woocommerce .input-text::placeholder,
	.woocommerce form .form-row input.input-text::placeholder,
	.woocommerce form .form-row textarea::placeholder,
	.woocommerce #reviews #respond textarea::placeholder,
	.woocommerce #reviews #respond input::placeholder { color: var(--bx-placeholder); opacity: 1; }

	/* ----------------------------------------------------------
	   9 · Checkout (functional, restrained — never broken)
	   ---------------------------------------------------------- */
	.woocommerce-checkout #customer_details h3,
	.woocommerce-checkout #order_review_heading,
	.woocommerce form.checkout h3 {
		color: var(--bx-contrast);
		font-size: var(--bx-fs-lg);
		margin-bottom: var(--bx-sp-30);
	}
	.woocommerce form .form-row label,
	.woocommerce-checkout .form-row label {
		color: var(--bx-contrast-midtone);
		font-size: var(--bx-fs-sm);
		font-weight: 600;
	}
	.woocommerce-checkout #payment,
	.woocommerce #payment {
		background: var(--bx-surface);
		border: var(--bx-border-hair);
		border-radius: var(--bx-radius-lg);
	}
	.woocommerce-checkout #payment ul.payment_methods {
		border-bottom: var(--bx-border-hair);
	}
	.woocommerce-checkout #payment div.payment_box {
		background: var(--bx-base-midtone);
		color: var(--bx-contrast-midtone);
		border-radius: var(--bx-radius);
	}
	.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--bx-base-midtone); }
	.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { color: var(--bx-contrast-midtone); }

	/* ----------------------------------------------------------
	   10 · My account
	   ---------------------------------------------------------- */
	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		list-style: none;
		margin: 0 0 var(--bx-sp-40);
		padding: 0;
		display: grid;
		gap: 0.25rem;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation ul li {
		margin: 0;
		border-bottom: var(--bx-border-hair);
	}
	.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
		display: block;
		padding: 0.75rem 0.6rem;
		color: var(--bx-contrast-midtone);
		text-decoration: none;
		font-size: var(--bx-fs-sm);
		transition: color var(--bx-dur-1) var(--bx-ease);
	}
	.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover { color: var(--bx-cream); }
	.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
		color: var(--bx-accent-strong);
		font-weight: 600;
	}
	.woocommerce-account .woocommerce-MyAccount-content {
		color: var(--bx-contrast-midtone);
		line-height: var(--bx-lh-body);
	}
	.woocommerce-account .woocommerce-MyAccount-content a { color: var(--bx-accent-strong); }
	.woocommerce-account .addresses .title h3,
	.woocommerce-account .woocommerce-MyAccount-content h2,
	.woocommerce-account .woocommerce-MyAccount-content h3 { color: var(--bx-contrast); }

	/* Login / register / lost-password forms */
	.woocommerce .woocommerce-form-login,
	.woocommerce .woocommerce-form-register,
	.woocommerce form.lost_reset_password,
	.woocommerce .col-1,
	.woocommerce .col-2 {
		color: var(--bx-contrast-midtone);
	}
	.woocommerce form.login,
	.woocommerce form.register {
		padding: var(--bx-sp-40);
		background: var(--bx-surface);
		border: var(--bx-border-hair);
		border-radius: var(--bx-radius-lg);
	}

	/* ----------------------------------------------------------
	   11 · (removed v0.1.3) YITH Request-a-Quote restyles — the single
	   RFQ path is the [bolton_rfq_form] plugin; no YITH markup is emitted,
	   so these styles were dead. Removed per single-path doctrine (RFQ-04).
	   ----------------------------------------------------------

	   12 · Reduced motion
	   ---------------------------------------------------------- */
	@media (prefers-reduced-motion: reduce) {
		.woocommerce ul.products li.product { transition: none; }
		.woocommerce ul.products li.product:hover { transform: none; }
	}
}
