/* Striker Style — WooCommerce: listing, product page, notices, cart,
   checkout (classic + block), account, order pages. Replaces WooCommerce's
   general/layout/smallscreen styles. */

.woocommerce-products-header { padding-top: var(--s-5); padding-bottom: var(--s-5); }

.woocommerce-products-header__title { margin: 0; }

.plp-count {
	margin: var(--s-2) 0 0;
	color: var(--c-mute);
	font-size: var(--fs-caption);
	font-weight: 500;
}

.term-description,
.page-description {
	max-width: var(--w-text);
	margin-top: var(--s-3);
	color: var(--c-charcoal);
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
}

.term-description p,
.page-description p { margin: 0; }

/* Listing layout */
.plp { display: block; }

@media (min-width: 1024px) {
	.plp {
		display: grid;
		grid-template-columns: 240px minmax(0, 1fr);
		gap: var(--s-7);
		align-items: start;
	}

	.plp ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 1280px) {
	.plp ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.plp-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--s-3);
	margin-bottom: var(--s-4);
}

.plp-toolbar__filter .icon { width: 20px; height: 20px; }

.woocommerce-ordering { margin: 0 0 0 auto; }

.woocommerce-ordering select {
	min-height: 40px;
	padding: 8px 40px 8px 20px;
	border: 0;
	border-radius: var(--r-pill);
	background-color: var(--c-cloud);
	font-size: var(--fs-caption);
	font-weight: 500;
}

@media (min-width: 1024px) {
	.plp-toolbar__filter { display: none; }
}

.active-filters { margin-bottom: var(--s-5); }

/* Filters: bottom sheet below 1024, sidebar above. */
.plp-filters {
	position: fixed;
	inset: auto 0 0 0;
	width: 100%;
	max-width: none;
	height: 90dvh;
	max-height: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: #fff;
	box-shadow: var(--sh-overlay);
}

.plp-filters[open] {
	display: flex;
	flex-direction: column;
	animation: striker-sheet var(--t-slow) var(--ease);
}

@keyframes striker-sheet {
	from { transform: translateY(100%); }
}

.plp-filters__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: var(--s-2) var(--s-2) var(--s-2) var(--s-5);
	border-bottom: 1px solid var(--c-hairline-soft);
}

.plp-filters__title { margin: 0; font-size: var(--fs-h3); }

.plp-filters__form {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-height: 0;
	padding: 0 var(--s-5);
	overflow-y: auto;
}

.plp-filters__actions {
	position: sticky;
	bottom: 0;
	display: flex;
	gap: var(--s-2);
	margin-top: auto;
	padding: var(--s-4) 0;
	background: #fff;
	box-shadow: 0 -1px 0 var(--c-hairline-soft);
}

.plp-filters__actions .btn { flex: 1; }

@media (min-width: 1024px) {
	.plp-filters,
	.plp-filters:not([open]) {
		position: sticky;
		inset: auto;
		top: calc(var(--header-h) + var(--s-5));
		display: block;
		width: auto;
		height: auto;
		max-height: calc(100vh - var(--header-h) - 48px);
		overflow-y: auto;
		box-shadow: none;
		animation: none;
	}

	.plp-filters__head { display: none; }

	.plp-filters__form { padding: 0; overflow: visible; }

	.plp-filters__actions { position: static; box-shadow: none; }
}

.filter-group__summary { padding: var(--s-4) 0; }

.filter-links { margin: 0; padding: 0 0 var(--s-4); list-style: none; }

.filter-links a {
	display: flex;
	align-items: baseline;
	gap: var(--s-2);
	min-height: 36px;
	padding: 6px 0;
	color: var(--c-ink);
	text-decoration: none;
}

.filter-links a:hover,
.filter-links a[aria-current="page"] { text-decoration: underline; text-decoration-thickness: 2px; }

.filter-links a[aria-current="page"] { font-weight: 600; }

.filter-count { color: var(--c-mute); font-size: var(--fs-caption); text-transform: none; }

.filter-checks { padding-bottom: var(--s-3); }

.filter-checks .check,
.filter-group > .check { min-height: 40px; }

.filter-group > .check { padding-bottom: var(--s-3); }

.filter-price {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--s-3);
	padding-bottom: var(--s-4);
}

.field {
	display: flex;
	flex-direction: column;
	gap: var(--s-1);
	margin: 0;
}

/* Single product */
.is-pdp .site-main .breadcrumb { padding-bottom: var(--s-4); }

div.product { position: relative; }

.pdp-main {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--s-6);
	position: relative;
	margin-bottom: var(--s-7);
}

.pdp-main > * { grid-column: 1 / -1; min-width: 0; }

.pdp-main > .woocommerce-product-gallery,
.pdp-main > .onsale { grid-row: 1; }

.pdp-main > .summary { grid-row: 2; }

.pdp-main > .onsale {
	position: relative;
	top: var(--s-3);
	left: var(--s-3);
	z-index: 2;
	align-self: start;
	justify-self: start;
}

@media (min-width: 1024px) {
	.pdp-main { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--s-7) var(--s-4); }

	.pdp-main > .woocommerce-product-gallery,
	.pdp-main > .onsale { grid-column: 1 / span 7; }

	.pdp-main > .summary {
		position: sticky;
		top: calc(var(--header-h) + var(--s-5));
		grid-row: 1 / span 2;
		grid-column: 8 / -1;
		align-self: start;
		padding-left: var(--s-5);
	}
}

/* Gallery: scroll-snap row < 1024, two-column grid (first full) >= 1024. */
.woocommerce-product-gallery { position: relative; margin: 0; opacity: 1 !important; }

.woocommerce-product-gallery__wrapper {
	display: flex;
	margin: 0;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.woocommerce-product-gallery__wrapper::-webkit-scrollbar { display: none; }

.woocommerce-product-gallery__image {
	flex: 0 0 100%;
	aspect-ratio: 1;
	background: var(--c-stage);
	scroll-snap-align: start;
}

.woocommerce-product-gallery__image a { display: block; height: 100%; }

.woocommerce-product-gallery__image img { width: 100%; height: 100%; object-fit: contain; }

.woocommerce-product-gallery__trigger {
	position: absolute;
	top: var(--s-3);
	right: var(--s-3);
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #fff;
	font-size: 0;
	text-decoration: none;
}

.woocommerce-product-gallery__trigger::before {
	content: "";
	width: 20px;
	height: 20px;
	background: var(--c-ink);
	-webkit-mask: var(--i-plus) center / contain no-repeat;
	mask: var(--i-plus) center / contain no-repeat;
}

.woocommerce-product-gallery__trigger img { display: none !important; }

.gallery-counter {
	position: absolute;
	right: var(--s-3);
	bottom: var(--s-3);
	padding: 2px 10px;
	border-radius: var(--r-pill);
	background: #fff;
	font-size: var(--fs-caption);
	font-weight: 500;
	font-variant-numeric: tabular-nums;
}

.gallery-thumbs { display: none; gap: var(--s-2); margin-top: var(--s-2); }

.gallery-thumbs button {
	width: 72px;
	height: 72px;
	padding: 0;
	border: 1px solid transparent;
	background: var(--c-stage);
	cursor: pointer;
}

.gallery-thumbs button[aria-current="true"] { border-color: var(--c-ink); }

.gallery-thumbs img { width: 100%; height: 100%; object-fit: contain; }

@media (min-width: 600px) and (max-width: 1023px) {
	.gallery-counter { display: none; }

	.gallery-thumbs { display: flex; }
}

@media (min-width: 1024px) {
	.woocommerce-product-gallery__wrapper {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: var(--s-2);
		overflow: visible;
	}

	.woocommerce-product-gallery__image:first-child { grid-column: 1 / -1; }

	.gallery-counter { display: none; }
}

/* Summary */
.product-subtitle {
	margin: 0 0 var(--s-2);
	color: var(--c-mute);
	font-size: var(--fs-caption);
	font-weight: 500;
}

.product_title {
	margin: 0 0 var(--s-3);
	font: 600 var(--fs-h1-product) / 1.05 var(--f-display);
	text-transform: none;
}

.summary > .price,
.woocommerce-variation-price .price {
	display: block;
	margin: 0 0 var(--s-4);
	font-size: var(--fs-price-lg);
	font-weight: 600;
	line-height: 1.2;
}

.woocommerce-product-details__short-description { margin-bottom: var(--s-5); color: var(--c-charcoal); }

.woocommerce-product-rating {
	display: flex;
	align-items: center;
	gap: var(--s-2);
	margin-bottom: var(--s-3);
	font-size: var(--fs-caption);
}

/* Variations: table stays (plugin compatibility), chips enhance it. */
table.variations,
table.variations tbody,
table.variations tr,
table.variations th,
table.variations td {
	display: block;
	padding: 0;
	border: 0;
	background: none;
}

table.variations { margin: 0 0 var(--s-4); }

table.variations tr { margin-bottom: var(--s-4); }

table.variations th.label { margin-bottom: var(--s-2); font-weight: 600; }

table.variations.is-enhanced th.label { display: none; }

table.variations select { max-width: 320px; }

.striker-select-enhanced {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden;
	clip-path: inset(50%);
	opacity: 0;
	pointer-events: none;
}

.reset_variations { display: inline-block; margin-top: var(--s-2); font-size: var(--fs-caption); }

.var-fieldset__legend {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	width: 100%;
	margin-bottom: var(--s-3);
	padding: 0;
	font-weight: 600;
}

.var-fieldset__legend .size-guide-link { font-size: var(--fs-caption); font-weight: 500; }

.var-options { display: flex; flex-wrap: wrap; gap: var(--s-2); }

.var-options--size { display: grid; grid-template-columns: repeat(4, minmax(56px, 1fr)); max-width: 400px; }

.var-chip { position: relative; display: block; cursor: pointer; }

.var-chip input {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: inherit;
}

.var-chip span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 56px;
	height: 48px;
	padding: 0 var(--s-4);
	border: 1px solid var(--c-field);
	border-radius: var(--r-pill);
	background: #fff;
	font-weight: 500;
	text-transform: uppercase;
	transition: background-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease);
}

.var-chip:hover span { border-color: var(--c-ink); }

.var-chip input:checked + span { border: 1.5px solid var(--c-ink); background: var(--c-ink); color: #fff; }

.var-chip input:focus-visible + span { outline: 2px solid var(--c-focus); outline-offset: 2px; }

.var-chip input:disabled + span {
	border-color: var(--c-hairline);
	background: var(--c-cloud);
	color: var(--c-disabled-text);
	text-decoration: line-through;
	cursor: not-allowed;
}

/* Quantity + add to cart */
form.cart,
.woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--s-2);
	margin-bottom: var(--s-4);
}

form.variations_form { display: block; }

.quantity {
	display: inline-flex;
	align-items: center;
	height: 48px;
	border: 1px solid var(--c-field);
	border-radius: var(--r-pill);
}

.quantity .qty {
	width: 48px;
	min-height: 0;
	height: 46px;
	padding: 0;
	border: 0;
	background: transparent;
	font-weight: 500;
	text-align: center;
	-moz-appearance: textfield;
	appearance: textfield;
}

.quantity .qty::-webkit-inner-spin-button,
.quantity .qty::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }

.qty-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 46px;
	padding: 0;
	border: 0;
	border-radius: var(--r-pill);
	background: none;
	color: var(--c-ink);
	cursor: pointer;
}

.qty-btn .icon { width: 18px; height: 18px; }

button.single_add_to_cart_button { flex: 1 1 100%; }

@media (min-width: 600px) {
	button.single_add_to_cart_button { flex: 0 1 auto; min-width: 320px; }
}

.woocommerce-variation-availability,
.summary .stock { margin: 0 0 var(--s-3); font-size: var(--fs-caption); font-weight: 600; }

.stock.in-stock { color: var(--c-success); }

.stock.low-stock { color: var(--c-warning); }

.stock.out-of-stock { color: var(--c-ink); }

.assurance-list {
	margin: var(--s-5) 0 0;
	padding: 0;
	border-top: 1px solid var(--c-hairline);
	list-style: none;
}

.assurance-list li {
	display: flex;
	gap: var(--s-3);
	padding: var(--s-3) 0;
	border-bottom: 1px solid var(--c-hairline-soft);
	font-size: var(--fs-caption);
}

.assurance-list strong { display: block; }

.product-details { max-width: var(--w-text); border-top: 1px solid var(--c-hairline); }

@media (min-width: 1024px) {
	.pdp-main > .product-details { grid-column: 1 / span 7; }
}

.product-details .shop_attributes th,
.product-details .shop_attributes td { border-width: 0 0 1px; }

.product-details .shop_attributes p { margin: 0; }

.product_meta { margin-top: var(--s-4); color: var(--c-mute); font-size: var(--fs-caption); }

.product_meta > span { display: block; }

.list-plain { padding-left: 0; list-style: none; }

.related,
.upsells,
.cross-sells { margin-top: var(--s-5); }

.related > h2,
.upsells > h2,
.cross-sells > h2 { margin-bottom: var(--s-5); }

/* Reviews (PDP) */
#reviews .commentlist { padding: 0; list-style: none; }

#reviews .comment_container {
	display: flex;
	gap: var(--s-3);
	padding: var(--s-4) 0;
	border-bottom: 1px solid var(--c-hairline-soft);
}

#reviews .avatar { border-radius: 50%; }

.woocommerce-Reviews-title { font-size: var(--fs-body); font-family: var(--f-body); text-transform: none; }

p.stars { margin: var(--s-2) 0; }

p.stars span { display: inline-flex; }

p.stars a {
	position: relative;
	width: 1.5em;
	height: 1.5em;
	overflow: hidden;
	text-indent: 999em;
	white-space: nowrap;
}

p.stars a::before {
	content: "\2605";
	position: absolute;
	top: 0;
	left: 0;
	color: var(--c-hairline);
	font-size: 1.25em;
	text-indent: 0;
}

p.stars:hover a::before,
p.stars.selected a::before { color: var(--c-ink); }

p.stars a:hover ~ a::before,
p.stars.selected a.active ~ a::before { color: var(--c-hairline); }

/* Sticky add to cart (< 1024) */
.sticky-atc {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: var(--z-sticky-atc);
	display: flex;
	align-items: center;
	gap: var(--s-3);
	padding: var(--s-3) var(--gutter);
	background: #fff;
	box-shadow: 0 -1px 0 var(--c-hairline-soft);
}

.sticky-atc[hidden] { display: none; }

.sticky-atc__info { flex: 1; min-width: 0; }

.sticky-atc__info p {
	margin: 0;
	overflow: hidden;
	font-size: var(--fs-caption);
	text-overflow: ellipsis;
	white-space: nowrap;
}

.sticky-atc__title { font-weight: 500; }

@media (min-width: 1024px) {
	.sticky-atc { display: none !important; }
}

/* Notices (classic + blocks), design.md §6 */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
.wc-block-components-notice-banner,
p.no-comments {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--s-2) var(--s-4);
	margin: 0 0 var(--s-5);
	padding: var(--s-4) var(--s-5);
	border: 1px solid var(--c-hairline);
	border-left: 4px solid var(--c-ink);
	border-radius: 0;
	background: #fff;
	color: var(--c-ink);
	font-size: var(--fs-body);
	list-style: none;
}

.woocommerce-error { flex-direction: column; align-items: flex-start; }

.woocommerce-message,
.wc-block-components-notice-banner.is-success { border-left-color: var(--c-success); }

.woocommerce-info,
.wc-block-components-notice-banner.is-info { border-left-color: var(--c-ink); }

.wc-block-components-notice-banner.is-warning {
	border-left-color: var(--c-warning);
	background: var(--c-warning-bg);
}

.woocommerce-error,
.wc-block-components-notice-banner.is-error {
	border-left-color: var(--c-error);
	background: var(--c-error-bg);
}

.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
	order: 2;
	min-height: 0;
	margin-left: auto;
	padding: 0;
	background: none;
	color: var(--c-ink);
	font-weight: 500;
	text-decoration: underline;
}

.wc-block-components-notice-banner > svg { display: none; }

.woocommerce-store-notice {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: var(--z-toast);
	margin: 0;
	padding: var(--s-3) var(--gutter);
	background: var(--c-ink);
	color: #fff;
	font-size: var(--fs-caption);
}

.woocommerce-store-notice a { color: #fff; }

/* Generic WooCommerce tables and forms */
.shop_table { border: 1px solid var(--c-hairline); }

.shop_table th,
.shop_table td { border-width: 0 0 1px; vertical-align: middle; }

.form-row {
	display: flex;
	flex-direction: column;
	gap: var(--s-1);
	margin: 0 0 var(--s-4);
	padding: 0;
}

.form-row label { color: var(--c-ink); }

.form-row .required { color: var(--c-error); text-decoration: none; }

.form-row .optional { color: var(--c-mute); }

.woocommerce-input-wrapper { display: block; }

.form-row .description,
.woocommerce-password-hint { color: var(--c-mute); font-size: var(--fs-caption); }

.form-row label.checkbox,
.woocommerce-form__label-for-checkbox {
	display: flex;
	align-items: center;
	gap: var(--s-2);
	font-size: var(--fs-body);
	font-weight: 400;
}

.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-address-fields__field-wrapper {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	column-gap: var(--s-4);
}

@media (min-width: 600px) {
	.woocommerce-billing-fields__field-wrapper,
	.woocommerce-shipping-fields__field-wrapper,
	.woocommerce-address-fields__field-wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	.form-row-wide,
	.form-row.notes,
	#billing_address_1_field,
	#billing_address_2_field,
	#shipping_address_1_field,
	#shipping_address_2_field { grid-column: 1 / -1; }
}

.select2-container .select2-selection--single {
	height: 48px;
	border: 1px solid var(--c-field);
	border-radius: var(--r-field);
}

.select2-container .select2-selection--single .select2-selection__rendered {
	padding-left: 16px;
	line-height: 46px;
}

.select2-container .select2-selection--single .select2-selection__arrow { height: 46px; right: 8px; }

/* Cart (classic shortcode) */
@media (min-width: 768px) {
	.woocommerce-cart .entry-content .woocommerce {
		display: grid;
		grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
		gap: 0 var(--s-7);
		align-items: start;
	}

	.woocommerce-cart .entry-content .woocommerce > * { grid-column: 1 / -1; }

	.woocommerce-cart .entry-content .woocommerce > .woocommerce-cart-form { grid-column: 1; }

	.woocommerce-cart .entry-content .woocommerce > .cart-collaterals { grid-column: 2; }
}

@media (min-width: 1024px) {
	.woocommerce-cart .entry-content .woocommerce { grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); }
}

table.cart,
table.cart tbody { display: block; border: 0; }

table.cart thead { display: none; }

table.cart tr.cart_item {
	position: relative;
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	gap: var(--s-1) var(--s-4);
	padding: var(--s-4) 0;
	border-bottom: 1px solid var(--c-hairline);
}

table.cart td { padding: 0; border: 0; font-size: var(--fs-body); }

table.cart td.product-thumbnail { grid-row: 1 / span 4; background: var(--c-stage); align-self: start; }

table.cart td.product-thumbnail img { width: 96px; height: 96px; object-fit: contain; }

table.cart td.product-name { padding-right: 48px; font-weight: 500; }

table.cart td.product-name a { text-decoration: none; }

table.cart td.product-name .variation {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0 var(--s-2);
	margin: var(--s-1) 0 0;
	color: var(--c-mute);
	font-size: var(--fs-caption);
	font-weight: 400;
}

table.cart td.product-name .variation dd,
table.cart td.product-name .variation p { margin: 0; }

table.cart td.product-remove { position: absolute; top: var(--s-3); right: 0; }

table.cart a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	color: var(--c-ink);
	font-size: 24px;
	text-decoration: none;
}

table.cart a.remove:hover { background: var(--c-cloud); }

table.cart td.product-price { display: none; }

table.cart td.product-subtotal { font-weight: 500; }

table.cart td.actions {
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	gap: var(--s-2);
	padding-top: var(--s-4);
}

table.cart tr:last-child { display: block; }

.coupon { display: flex; flex: 1 1 320px; gap: var(--s-2); }

.coupon input { min-height: 40px; }

.coupon .button,
.actions .button { white-space: nowrap; flex: 0 0 auto; }

.cart-collaterals { display: flex; flex-direction: column; gap: var(--s-6); }

.cart-collaterals .cross-sells { order: 2; }

.cart_totals,
#order_review,
.woocommerce-order-details { padding: var(--s-5); background: var(--c-cloud); }

.cart_totals h2,
#order_review_heading { font-size: var(--fs-h3); }

.cart_totals table,
#order_review table { border: 0; }

.cart_totals th,
.cart_totals td,
#order_review th,
#order_review td { padding: var(--s-3) 0; border-color: var(--c-hairline); background: none; }

.cart_totals .order-total,
#order_review .order-total { font-size: var(--fs-body); font-weight: 600; }

.woocommerce-shipping-methods { margin: 0; padding: 0; list-style: none; }

.wc-proceed-to-checkout .checkout-button { width: 100%; margin-top: var(--s-4); }
/* ThemeHigh PayPal Express buttons: the plugin forces width:auto inline; keep them inside the totals column. */
.wc-proceed-to-checkout .eh_paypal_express_link { display: block; max-width: 100%; margin-top: var(--s-2); text-align: center; }
.wc-proceed-to-checkout .eh_paypal_express_image { display: inline-block; max-width: 100% !important; height: auto !important; }
.wc-proceed-to-checkout .eh_paypal_express_description { margin-top: var(--s-3); text-align: center; color: var(--c-mute); }

.cart-empty { margin-top: var(--s-5); }

/* Classic checkout fallback */
@media (min-width: 1024px) {
	form.checkout {
		display: grid;
		grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
		gap: 0 var(--s-7);
		align-items: start;
	}

	form.checkout > * { grid-column: 1 / -1; }

	form.checkout #customer_details { grid-column: 1; grid-row: span 2; }

	form.checkout #order_review_heading,
	form.checkout #order_review { grid-column: 2; }
}

#payment .payment_methods { margin: 0 0 var(--s-4); padding: 0; list-style: none; }

#payment .payment_methods > li { padding: var(--s-3) 0; border-bottom: 1px solid var(--c-hairline); }

#payment .payment_box { margin-top: var(--s-2); color: var(--c-charcoal); font-size: var(--fs-caption); }

#place_order { width: 100%; }

.woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-form-login-toggle .woocommerce-info { border-left-color: var(--c-hairline); }

/* Checkout block (page 11) — align block components with the tokens. */
.wp-block-woocommerce-checkout,
.wp-block-woocommerce-cart { font-family: var(--f-body); }

/* WooCommerce resets the block's side margins to 0, which pinned checkout/cart to the left edge
   with no gutter: keep them centred inside the page gutter (owner report 2026-10-04). */
.page-article .entry-content > .wp-block-woocommerce-checkout,
.page-article .entry-content > .wp-block-woocommerce-cart {
	width: auto;
	max-width: min(var(--w-max), 100% - 2 * var(--gutter));
	margin-inline: auto;
	padding-inline: 0;
}

.wc-block-components-title.wc-block-components-title,
.wc-block-components-checkout-step__title {
	font-family: var(--f-display);
	font-weight: 600;
	text-transform: uppercase;
}

.wc-block-components-text-input input[type],
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-textarea {
	border-color: var(--c-field) !important;
	border-radius: var(--r-field) !important;
	font-family: var(--f-body);
}

.wc-block-components-text-input.is-active input[type]:focus,
.wc-blocks-components-select .wc-blocks-components-select__select:focus {
	border-color: var(--c-ink) !important;
	box-shadow: inset 0 0 0 0.5px var(--c-ink) !important;
}

.wc-block-components-button:not(.is-link) {
	min-height: 48px;
	border-radius: var(--r-pill) !important;
	background: var(--c-ink);
	color: #fff;
	font-weight: 500;
}

.wc-block-components-button:not(.is-link):hover { background: var(--c-charcoal); color: #fff; }

.wc-block-components-button.is-link { color: var(--c-ink); }

.wc-block-components-checkout-place-order-button { width: 100%; }

.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option,
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option {
	border-radius: var(--r-field);
}

.wc-block-components-radio-control__input:checked { border-color: var(--c-ink); }

.wc-block-components-radio-control__input:checked::before { background: var(--c-ink); }

.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked {
	border-color: var(--c-ink);
	background: var(--c-ink);
}

.wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: #fff; }

.wc-block-components-order-summary-item__image img { background: var(--c-stage); object-fit: contain; }

.wc-block-components-sidebar-layout.is-large .wc-block-components-main {
	width: 58.333%;
	padding-right: var(--s-7);
}

.wc-block-components-sidebar-layout.is-large .wc-block-components-sidebar { width: 41.667%; }

.wp-block-woocommerce-checkout-order-summary-block,
.wc-block-components-sidebar .wc-block-components-panel { border-radius: 0; }

.wc-block-components-validation-error { color: var(--c-error); }

.wc-block-components-text-input.has-error input { border-color: var(--c-error) !important; }

/* My Account */
@media (min-width: 1024px) {
	.woocommerce-account.logged-in .entry-content .woocommerce {
		display: grid;
		grid-template-columns: 260px minmax(0, 1fr);
		gap: var(--s-7);
		align-items: start;
	}
}

.woocommerce-MyAccount-navigation ul {
	display: flex;
	gap: var(--s-2);
	margin: 0 0 var(--s-5);
	padding: 0 0 var(--s-2);
	overflow-x: auto;
	list-style: none;
	scrollbar-width: thin;
}

.woocommerce-MyAccount-navigation a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 var(--s-4);
	border-radius: var(--r-pill);
	background: var(--c-cloud);
	color: var(--c-ink);
	font-size: var(--fs-caption);
	font-weight: 500;
	text-decoration: none;
	white-space: nowrap;
}

.woocommerce-MyAccount-navigation .is-active a { background: var(--c-ink); color: #fff; }

@media (min-width: 1024px) {
	.woocommerce-MyAccount-navigation ul {
		flex-direction: column;
		gap: 0;
		overflow: visible;
		border-top: 1px solid var(--c-hairline);
	}

	.woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--c-hairline); }

	.woocommerce-MyAccount-navigation a {
		display: flex;
		min-height: 48px;
		padding: 0;
		border-radius: 0;
		background: none;
		font-size: var(--fs-body);
	}

	.woocommerce-MyAccount-navigation a:hover { text-decoration: underline; }

	.woocommerce-MyAccount-navigation .is-active a {
		background: none;
		color: var(--c-ink);
		font-weight: 600;
		box-shadow: inset 3px 0 0 var(--c-ink);
		padding-left: var(--s-3);
	}
}

.woocommerce-MyAccount-content > p:first-child { color: var(--c-charcoal); }

.woocommerce-Addresses,
.u-columns.col2-set,
.woocommerce-columns--addresses { display: grid; gap: var(--s-6); }

@media (min-width: 768px) {
	.woocommerce-Addresses,
	.u-columns.col2-set,
	.woocommerce-columns--addresses { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.woocommerce-form-login,
.woocommerce-form-register,
.woocommerce-ResetPassword { max-width: 480px; }

.woocommerce-form-login__rememberme { margin-bottom: var(--s-4); }

.woocommerce-LostPassword { font-size: var(--fs-caption); }

.woocommerce-orders-table .button,
.woocommerce-MyAccount-content .button { min-height: 40px; padding: 8px 20px; font-size: var(--fs-caption); }

/* Order received / view order */
.woocommerce-order-overview {
	display: flex;
	flex-wrap: wrap;
	gap: var(--s-4) var(--s-6);
	margin: 0 0 var(--s-6);
	padding: var(--s-5) 0;
	border-block: 1px solid var(--c-hairline);
	list-style: none;
	color: var(--c-mute);
	font-size: var(--fs-caption);
}

.woocommerce-order-overview strong { display: block; color: var(--c-ink); font-size: var(--fs-body); }

.woocommerce-thankyou-order-received {
	font-size: var(--fs-h3);
	font-family: var(--f-display);
	font-weight: 600;
	text-transform: uppercase;
}

.woocommerce-customer-details address {
	padding: var(--s-5);
	border: 1px solid var(--c-hairline);
	font-style: normal;
}

.woocommerce-order-details,
.woocommerce-customer-details,
.woocommerce-bacs-bank-details { margin-bottom: var(--s-6); }

.wc-bacs-bank-details { padding: 0; list-style: none; }

/* Name & number personalisation field (Striker Site Functions plugin). */
.product-custom-field { display: grid; gap: var(--s-2); margin: 0 0 var(--s-3); flex: 1 1 100%; width: 100%; }
.product-custom-field label { font-size: var(--fs-caption); }
.product-custom-field label strong { font-weight: 600; }
.product-custom-field input { width: 100%; min-height: 48px; padding: 0 var(--s-4); border: 1px solid var(--c-field); border-radius: var(--r-field); font: inherit; font-size: 1rem; background: #fff; }
.product-custom-field input:focus-visible { outline: 2px solid var(--c-focus); outline-offset: 2px; border-color: var(--c-ink); }

/* Reviews section under the product (replaces the collapsed "Reviews" disclosure). */
.pdp-reviews {
	max-width: var(--w-max);
	margin: var(--s-8) auto 0;
	padding: var(--s-7) var(--gutter) 0;
	border-top: 1px solid var(--c-hairline-soft);
}

.pdp-reviews__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--s-2) var(--s-5); margin-bottom: var(--s-5); }

.pdp-reviews__title { margin: 0; }

.pdp-reviews__summary { display: flex; align-items: center; gap: var(--s-2); }

.pdp-reviews__score { font-weight: 600; }

.pdp-reviews__count,
.pdp-reviews__empty { margin: 0; color: var(--c-mute); }

.pdp-reviews .woocommerce-Reviews { display: grid; gap: var(--s-6); }

@media (min-width: 1024px) {
	.pdp-reviews .woocommerce-Reviews { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); align-items: start; gap: var(--s-8); }
	.pdp-reviews #review_form_wrapper { position: sticky; top: calc(var(--header-h) + var(--s-5)); }
}

.pdp-reviews .woocommerce-Reviews-title,
.pdp-reviews .woocommerce-noreviews { display: none; }

.pdp-reviews #comments:not(:has(.commentlist)) { display: none; }

.pdp-reviews #reviews .commentlist { margin: 0; }

.pdp-reviews #reviews .comment_container { padding: var(--s-5) 0; }

.pdp-reviews #reviews .commentlist > li:first-child .comment_container { padding-top: 0; }

.pdp-reviews .comment-text .meta { margin: var(--s-1) 0 var(--s-2); color: var(--c-mute); font-size: var(--fs-caption); }

.pdp-reviews .comment-text .woocommerce-review__author { color: var(--c-ink); font-weight: 600; }

.pdp-reviews .comment-text .description p { margin: 0; }

.pdp-reviews #review_form {
	padding: var(--s-5);
	border: 1px solid var(--c-hairline-soft);
	border-radius: 16px;
	background: var(--c-stage);
}

.pdp-reviews .comment-reply-title { display: block; margin: 0 0 var(--s-2); font: 700 var(--fs-h3) / 1.1 var(--f-display); text-transform: uppercase; }

.pdp-reviews .comment-notes { margin: 0 0 var(--s-4); color: var(--c-mute); font-size: var(--fs-caption); }

.pdp-reviews .comment-form > p,
.pdp-reviews .comment-form-rating { margin: 0 0 var(--s-4); }

.pdp-reviews .comment-form label { display: block; margin-bottom: var(--s-1); font-weight: 500; }

.pdp-reviews .comment-form input[type="text"],
.pdp-reviews .comment-form input[type="email"],
.pdp-reviews .comment-form textarea { width: 100%; background: var(--c-canvas); }

.pdp-reviews .comment-form-cookies-consent { display: flex; align-items: flex-start; gap: var(--s-2); font-size: var(--fs-caption); }

.pdp-reviews .comment-form-cookies-consent label { margin: 0; font-weight: 400; }

.pdp-reviews .form-submit { margin: 0; }

.pdp-reviews .form-submit .submit {
	min-height: 48px;
	padding: 0 var(--s-6);
	border: 0;
	border-radius: var(--r-pill);
	background: var(--c-ink);
	color: #fff;
	font-weight: 600;
	cursor: pointer;
	transition: background-color var(--t-fast) var(--ease);
}

.pdp-reviews .form-submit .submit:hover { background: var(--c-charcoal); }

.pdp-reviews .form-submit .submit:focus-visible { outline: 3px solid var(--c-focus); outline-offset: 2px; }

.pdp-reviews p.stars a { width: 1.9em; height: 1.9em; }

.pdp-reviews p.stars a::before { font-size: 1.6em; line-height: 1.15; }
