:root {
	--sr-tx-bg: #fff;
	--sr-tx-contained: #e8e3dc;
	--sr-tx-chalk: #f6f4f1;
	--sr-tx-text: #1c1e1f;
	--sr-tx-muted: #575d58;
	--sr-tx-primary: #5d6f61;
	--sr-tx-primary-hover: #4d5e51;
	--sr-tx-success: #77997d;
	--sr-tx-error: #73574c;
	--sr-tx-warning: #eec044;
	--sr-tx-rule: #d8d4cd;
	--sr-tx-control-radius: 5px;
	--sr-tx-panel-radius: 8px;
	--sr-tx-control-height: 48px;
}

.woocommerce .single_add_to_cart_button,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce-checkout #place_order,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	min-height: var(--sr-tx-control-height) !important;
	border-radius: var(--sr-tx-control-radius) !important;
	background: var(--sr-tx-primary) !important;
	color: #fff !important;
	box-shadow: none !important;
	transition: background-color 160ms ease-out !important;
}

.woocommerce .single_add_to_cart_button:hover,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover,
.woocommerce-checkout #place_order:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover { background: var(--sr-tx-primary-hover) !important; }

.woocommerce .single_add_to_cart_button:focus-visible,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:focus-visible,
.woocommerce-checkout #place_order:focus-visible,
.wc-block-cart__submit-button:focus-visible,
.wc-block-components-checkout-place-order-button:focus-visible,
.sr-mobile-purchase__action:focus-visible,
.sr-purchase-state a:focus-visible,
.sr-purchase-state button:focus-visible,
.sr-coupon-trigger:focus-visible {
	outline: 3px solid var(--sr-tx-warning) !important;
	outline-offset: 3px !important;
}

.woocommerce .single_add_to_cart_button[aria-busy="true"],
.sr-transaction-add-another[aria-busy="true"] { opacity: .92; cursor: progress; }

.sr-buy-trust {
	--sr-buy-trust-icon: clamp(34px, 3vw, 46px);
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	width: 100%;
	margin: 1rem 0 1.25rem;
	padding: 0;
	border-block: 1px solid var(--sr-tx-rule);
}

.sr-buy-trust__item {
	display: flex;
	min-width: 0;
	min-height: 88px;
	padding: .75rem .55rem;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: .45rem;
	text-align: center;
}
.sr-buy-trust__item + .sr-buy-trust__item { border-left: 1px solid var(--sr-tx-rule); }
.sr-buy-trust__icon { display: block; width: var(--sr-buy-trust-icon); height: var(--sr-buy-trust-icon); object-fit: contain; }
.sr-buy-trust strong { color: var(--sr-tx-text); font: 600 clamp(.54rem, .65vw, .65rem)/1.35 var(--wp--preset--font-family--plex-mono, monospace); letter-spacing: .035em; text-transform: uppercase; }

body.single-product form.cart:not(.variations_form):not(.grouped_form) {
	display: grid;
	grid-template-columns: auto minmax(180px, 1fr);
	gap: .65rem;
	align-items: stretch;
	width: 100%;
}
body.single-product form.cart.sr-cart-has-product,
body.single-product form.wp-block-woocommerce-add-to-cart-with-options.sr-cart-has-product,
body.single-product.sr-product-already-in-cart form.cart,
body.single-product.sr-product-already-in-cart form.wp-block-woocommerce-add-to-cart-with-options { display: none !important; }
body.single-product form.cart .quantity[data-sr-enhanced="true"] {
	display: grid;
	grid-template-columns: 44px 52px 44px;
	min-height: var(--sr-tx-control-height);
	margin: 0 !important;
	border: 1px solid #7f8580;
	border-radius: var(--sr-tx-control-radius);
	overflow: hidden;
}
body.single-product form.cart .quantity[data-sr-enhanced="true"] input.qty {
	width: 52px !important;
	min-width: 0 !important;
	min-height: 46px;
	margin: 0;
	padding: 0 .2rem;
	border: 0;
	border-inline: 1px solid var(--sr-tx-rule);
	border-radius: 0;
	appearance: textfield;
	text-align: center;
}
body.single-product form.cart .quantity[data-sr-enhanced="true"] input.qty::-webkit-outer-spin-button,
body.single-product form.cart .quantity[data-sr-enhanced="true"] input.qty::-webkit-inner-spin-button { margin: 0; appearance: none; }
.sr-quantity-button { min-width: 44px; min-height: 46px; padding: 0; color: var(--sr-tx-text); background: var(--sr-tx-chalk); border: 0; border-radius: 0; font-size: 1.2rem; cursor: pointer; }
.sr-quantity-button:hover { background: var(--sr-tx-contained); }
.sr-quantity-button:focus-visible { outline: 3px solid var(--sr-tx-warning) !important; outline-offset: 3px !important; }

/* Product metadata remains available to admin/search systems, not the primary decision cluster. */
body.single-product .summary .product_meta,
body.single-product .wp-block-woocommerce-product-meta { display: none !important; }

/* Give the first below-fold decision module a deliberate break from the buy area. */
body.single-product .srcm { margin-top: clamp(4rem, 7vw, 7rem); }

/* Payment choice belongs at Checkout, not in the product decision area. */
body.single-product #wc-stripe-payment-request-wrapper,
body.single-product #wc-stripe-payment-request-button-separator,
body.single-product .wc-stripe-product-checkout-container,
body.single-product .wc-stripe-wallet-container,
body.single-product .wc-stripe-express-checkout-element,
body.single-product .wcpay-payment-request-wrapper,
body.single-product .woocommerce-payments-express-checkout-button,
body.single-product .ppc-button-wrapper,
body.single-product .wcpay-express-checkout-wrapper,
body.single-product #wc-stripe-payment-request-container,
body.single-product #wc-stripe-express-checkout-element,
body.single-product .wc_stripe_product_payment_methods,
body.single-product .wc-block-components-express-payment { display: none !important; }

/* Defensive fallback if a cached Product Content render still contains the old location. */
body.single-product .sr-product-content-stack > .srpc-trust,
body.single-product .sr-product-content-stack .srpc-block-trust { display: none !important; }

.sr-purchase-state {
	width: 100%;
	margin-top: 1rem;
	padding: 1rem;
	background: var(--sr-tx-contained);
	border: 1px solid var(--sr-tx-rule);
	border-left: 4px solid var(--sr-tx-success);
	border-radius: var(--sr-tx-panel-radius);
}

.sr-purchase-state[hidden] { display: none !important; }
.sr-purchase-state.has-error { border-left-color: var(--sr-tx-error); }
.sr-purchase-state.is-loading .sr-purchase-state__item,
.sr-purchase-state.is-loading .sr-purchase-state__actions,
.sr-purchase-state.has-error .sr-purchase-state__item,
.sr-purchase-state.has-error .sr-purchase-state__actions { display: none; }
.sr-purchase-state__status { margin: 0 0 .65rem; color: var(--sr-tx-text); font-weight: 700; }
.sr-purchase-state.has-error .sr-purchase-state__status { color: var(--sr-tx-error); }
.sr-purchase-state__item { display: flex; justify-content: space-between; gap: 1rem; margin: 0; color: var(--sr-tx-muted); }
.sr-purchase-state__item strong { color: var(--sr-tx-text); }
.sr-purchase-state__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; margin-top: 1rem; }
.sr-purchase-state__actions .button { display: inline-flex !important; align-items: center; justify-content: center; min-height: 48px; margin: 0 !important; padding: .75rem 1.1rem !important; border-radius: var(--sr-tx-control-radius) !important; }
.sr-purchase-state__actions .sr-transaction-primary { background: var(--sr-tx-primary) !important; color: #fff !important; }
.sr-purchase-state__actions .sr-transaction-secondary { background: transparent !important; color: var(--sr-tx-text) !important; border: 1px solid var(--sr-tx-primary) !important; }
.sr-transaction-add-another { min-height: 44px; padding: .5rem .75rem; color: var(--sr-tx-muted); background: transparent; border: 1px solid var(--sr-tx-rule); border-radius: var(--sr-tx-control-radius); font: inherit; cursor: pointer; }
.sr-transaction-add-another:hover { color: var(--sr-tx-text); border-color: var(--sr-tx-primary); }
.sr-transaction-text,
.sr-coupon-trigger { min-height: 44px; padding: .5rem .25rem; color: var(--sr-tx-text); background: transparent; border: 0; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }

.sr-product-highlights { margin-block: 1.25rem 1.5rem; }
.sr-product-highlights__heading { margin: 0 0 .8rem; font-size: 18px; line-height: 1.3; }
.sr-product-highlights ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 24px; margin: 0; padding: 0; list-style: none; }
.sr-product-highlights li { margin: 0; padding: 0 0 0 12px; border-left: 2px solid #77997d; font-size: 13px; line-height: 1.5; }
.sr-product-highlights li > strong:first-child { display: block; margin-bottom: 3px; font-size: 15px; font-weight: 600; }
.sr-product-highlights [hidden] { display: none !important; }
.sr-product-highlights__heading button { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 48px; padding: 10px 0; background: transparent; border: 0; border-block: 1px solid var(--sr-tx-rule); color: inherit; font: inherit; text-align: left; cursor: pointer; }
.sr-product-highlights__heading button::after { content: '+'; margin-left: 1rem; color: #5d6f61; }
.sr-product-highlights__heading button[aria-expanded="true"]::after { content: '−'; }
.sr-product-highlights__heading button:focus-visible { outline: 3px solid var(--sr-tx-warning); outline-offset: 3px; }
@media (max-width: 1280px) {
	.sr-product-highlights ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* 1.16.7: size highlights against usable copy width, not the viewport. */
.sr-product-highlights { container-type: inline-size; }
@container (max-width: 740px) {
 .sr-product-highlights ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* Support the saved Woo block template as well as the classic template. */
@media (max-width: 1280px) {
 body.single-product #main-content > .wp-block-columns.alignwide {
  display: flex !important; flex-direction: column !important; flex-wrap: nowrap !important;
  gap: 32px !important;
 }
 body.single-product #main-content > .wp-block-columns.alignwide > .wp-block-column {
  flex-basis: auto !important; flex-grow: 0 !important; width: 100% !important;
  max-width: 100% !important; min-width: 0 !important; margin-inline: 0 !important;
 }
 body.single-product main .woocommerce div.product div.images,
 body.single-product main .woocommerce div.product div.summary {
  float: none !important; width: 100% !important; max-width: 100% !important;
  margin-inline: 0 !important; clear: both;
 }
 body.single-product main .woocommerce div.product div.images { margin-bottom: 32px; }
}
body.single-product .wp-block-woocommerce-product-summary > p,
body.single-product .woocommerce-product-details__short-description > p { max-width: 75ch; }
@media (min-width: 783px) and (max-width: 912px) {
 .sr-buy-trust { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .sr-buy-trust__item:nth-child(3) { border-left: 0; }
 .sr-buy-trust__item:nth-child(-n+2) { border-bottom: 1px solid var(--sr-tx-rule); }
}
@media (max-width: 600px) {
	.sr-product-highlights ul { grid-template-columns: 1fr; }
	.sr-product-highlights li { font-size: 14px; }
}

.sr-mobile-purchase { display: none; }

.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce,
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
	width: min(1180px, calc(100% - 2 * var(--sr-page-gutter, 20px)));
	margin-inline: auto;
}

.woocommerce-cart table.shop_table,
.woocommerce-checkout .woocommerce-checkout-review-order-table,
.woocommerce-order-received table.shop_table,
.wc-block-cart-items,
.wc-block-components-totals-wrapper {
	border-color: var(--sr-tx-rule) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.woocommerce-cart .cart_totals,
.woocommerce-checkout-review-order,
.wc-block-cart__sidebar,
.wc-block-checkout__sidebar { background: var(--sr-tx-chalk); border: 1px solid var(--sr-tx-rule); border-radius: var(--sr-tx-panel-radius); padding: clamp(1rem, 2.5vw, 1.75rem); }
.woocommerce-cart .order-total th,
.woocommerce-cart .order-total td,
.woocommerce-checkout .order-total th,
.woocommerce-checkout .order-total td,
.wc-block-components-totals-footer-item { font-size: 1.2rem !important; font-weight: 700 !important; color: var(--sr-tx-text) !important; }

.woocommerce-cart .coupon { display: block !important; }
.sr-coupon-fields { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; margin-top: .6rem; }
.sr-coupon-fields[hidden] { display: none !important; }

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.wc-block-components-text-input input,
.wc-block-components-combobox-control input,
.wc-block-components-address-form select {
	min-height: var(--sr-tx-control-height);
	border: 1px solid #7f8580 !important;
	border-radius: var(--sr-tx-control-radius) !important;
	background: #fff !important;
	box-shadow: none !important;
}

.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select,
.wc-block-components-validation-error input { border-color: var(--sr-tx-error) !important; box-shadow: 0 0 0 1px var(--sr-tx-error) !important; }

.woocommerce-checkout .sr-primary-nav,
.woocommerce-checkout .sr-header-utilities,
.woocommerce-checkout .sr-mobile-utilities,
.woocommerce-order-received .sr-primary-nav,
.woocommerce-order-received .sr-header-utilities,
.woocommerce-order-received .sr-mobile-utilities { display: none !important; }
.woocommerce-checkout .sr-site-header__row,
.woocommerce-order-received .sr-site-header__row { justify-content: center; border-bottom: 1px solid var(--sr-tx-rule); }
.woocommerce-checkout .sr-site-header__brand,
.woocommerce-order-received .sr-site-header__brand { margin-inline: auto; }

.woocommerce-order-received .woocommerce-thankyou-order-received { margin: 0 0 1.5rem; }
.sr-order-confirmed__eyebrow { display: block; margin-bottom: .75rem; color: var(--sr-tx-primary); font: 600 .8rem/1.2 var(--wp--preset--font-family--plex-mono, monospace); letter-spacing: .1em; }
.sr-order-confirmed__title { display: block; color: var(--sr-tx-text); font: 600 clamp(2rem, 4vw, 3.5rem)/1 var(--wp--preset--font-family--plex-condensed, sans-serif); }
.sr-order-confirmed { margin: 1.5rem 0 2rem; padding: clamp(1.25rem, 3vw, 2rem); background: var(--sr-tx-contained); border-left: 4px solid var(--sr-tx-success); border-radius: var(--sr-tx-panel-radius); }
.sr-order-confirmed h2 { margin: 0; }
.sr-order-confirmed__total { margin: .4rem 0 1.25rem; font-size: 1.35rem; font-weight: 700; }
.sr-order-confirmed dl { margin: 0; }
.sr-order-confirmed dl > div { display: grid; grid-template-columns: minmax(120px, .6fr) 1.4fr; gap: 1rem; padding: .75rem 0; border-top: 1px solid rgba(28,30,31,.18); }
.sr-order-confirmed dt { font-weight: 700; }
.sr-order-confirmed dd { margin: 0; }

.wc-block-components-express-payment:empty,
.wc-stripe-wallet-container:empty { display: none !important; }

@media (max-width: 782px) {
	.sr-buy-trust { grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--sr-tx-rule); }
	.sr-buy-trust__item { min-height: 100px; padding: .8rem .55rem; }
	.sr-buy-trust__item + .sr-buy-trust__item { border-left: 0; }
	.sr-buy-trust__item:nth-child(odd) { border-right: 1px solid var(--sr-tx-rule); }
	.sr-buy-trust__item:nth-child(-n+2) { border-bottom: 1px solid var(--sr-tx-rule); }
	body.single-product form.cart:not(.variations_form):not(.grouped_form) { grid-template-columns: auto minmax(0, 1fr); }
	body.single-product form.cart .quantity[data-sr-enhanced="true"] { justify-self: start; }
	.sr-purchase-state__item { display: block; }
	.sr-purchase-state__item span { display: block; margin-top: .2rem; }
	.sr-purchase-state__actions .button { flex: 1 1 44%; }
	.sr-mobile-purchase:not([hidden]) {
		display: grid;
		position: fixed;
		z-index: 9998;
		left: 0;
		right: 0;
		bottom: 0;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: .75rem;
		align-items: center;
		min-height: 72px;
		padding: .7rem max(20px, env(safe-area-inset-left)) calc(.7rem + env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-right));
		background: #fff;
		border-top: 1px solid var(--sr-tx-rule);
		box-shadow: 0 -4px 14px rgba(28,30,31,.08);
	}
	.sr-mobile-purchase__summary { min-width: 0; }
	.sr-mobile-purchase__summary strong,
	.sr-mobile-purchase__summary span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	.sr-mobile-purchase__summary strong { font-size: .88rem; }
	.sr-mobile-purchase__summary span { color: var(--sr-tx-muted); font-size: .78rem; }
	.sr-mobile-purchase__action { display: inline-flex; align-items: center; justify-content: center; min-width: 124px; min-height: 48px; padding: .7rem 1rem; color: #fff !important; background: var(--sr-tx-primary); border: 1px solid var(--sr-tx-primary); border-radius: var(--sr-tx-control-radius); font-weight: 700; text-decoration: none; }
	body.sr-mobile-purchase-visible { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
	.sr-order-confirmed dl > div { display: block; }
	.sr-order-confirmed dd { margin-top: .2rem; }
}

@media (max-width: 430px) {
	body.single-product form.cart:not(.variations_form):not(.grouped_form) { grid-template-columns: 1fr; }
	body.single-product form.cart .quantity[data-sr-enhanced="true"] { grid-column: auto; }
	body.single-product form.cart .single_add_to_cart_button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.woocommerce .single_add_to_cart_button,
	.sr-mobile-purchase__action { transition: none !important; }
}
