/* ==========================================================================
   PetMemory — storefront presentation (WooCommerce + Blocksy overrides)
   ========================================================================== */

/* 1. Header / footer ------------------------------------------------------- */
.pm-site #header,
.pm-site header.ct-header {
	background: rgba(250, 247, 242, .92);
	backdrop-filter: saturate(180%) blur(10px);
	border-bottom: 1px solid var(--pm-line);
}
.pm-site .ct-header [data-id="menu"] a,
.pm-site .ct-header nav a {
	font-weight: 500;
	color: var(--pm-ink);
}
.pm-site .ct-header nav a:hover { color: var(--pm-clay); }
.pm-site .ct-header .ct-header-cart,
.pm-site .ct-header [data-id="cart"] { color: var(--pm-ink); }

.pm-site footer#footer,
.pm-site footer.ct-footer {
	background: var(--pm-surface);
	border-top: 1px solid var(--pm-line);
	color: var(--pm-ink-soft);
}
.pm-site footer#footer a { color: var(--pm-ink-soft); }
.pm-site footer#footer a:hover { color: var(--pm-clay); }

/* Nav call-to-action button */
.pm-nav-cta {
	display: inline-flex; align-items: center;
	min-height: 40px; padding: 8px 18px;
	border-radius: var(--pm-radius-pill);
	background: var(--pm-clay); color: #fff !important;
	font-weight: 600; font-size: .92rem; text-decoration: none;
}
.pm-nav-cta:hover { background: var(--pm-clay-dark); color: #fff !important; }

/* 2. WooCommerce notices --------------------------------------------------- */
.pm-site .woocommerce-message,
.pm-site .woocommerce-info,
.pm-site .woocommerce-error,
.pm-site .woocommerce-noreviews {
	background: var(--pm-surface);
	border: 1px solid var(--pm-line);
	border-top: 3px solid var(--pm-sage);
	border-radius: var(--pm-radius);
	color: var(--pm-ink);
	padding: 15px 20px;
	list-style: none;
}
.pm-site .woocommerce-error { border-top-color: var(--pm-danger); }
.pm-site .woocommerce-info { border-top-color: var(--pm-clay); }
.pm-site .woocommerce-message .button,
.pm-site .woocommerce-info .button {
	background: var(--pm-clay); color: #fff; border-radius: var(--pm-radius-pill);
	padding: 8px 18px; font-weight: 600; text-decoration: none;
}
.pm-site .woocommerce-message .button:hover,
.pm-site .woocommerce-info .button:hover { background: var(--pm-clay-dark); color: #fff; }

/* 3. Shop toolbar / archive ------------------------------------------------ */
.pm-site .woocommerce-products-header { padding-block: clamp(28px, 4vw, 48px) 0; }
.pm-site .woocommerce-products-header__title {
	font-family: var(--pm-font-display);
	font-size: clamp(1.9rem, 4vw, 2.8rem);
	margin-bottom: .35em;
}
.pm-site .term-description { color: var(--pm-ink-soft); max-width: 68ch; }

.pm-site .woocommerce-result-count,
.pm-site .woocommerce-ordering select {
	font-size: .9rem; color: var(--pm-ink-soft);
}
.pm-site .woocommerce-ordering select {
	background: var(--pm-surface);
	border: 1px solid var(--pm-line-strong);
	border-radius: var(--pm-radius-sm);
	padding: 9px 12px; min-height: 44px; color: var(--pm-ink);
}

/* Product grid */
.pm-site ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(18px, 2.6vw, 30px);
	margin: 0; padding: 0; list-style: none;
}
@media (max-width: 900px) { .pm-site ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .pm-site ul.products { grid-template-columns: minmax(0, 1fr); } }

.pm-site ul.products li.product {
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
	background: var(--pm-surface);
	border: 1px solid var(--pm-line);
	border-radius: var(--pm-radius-lg);
	overflow: hidden;
	display: flex; flex-direction: column;
	transition: transform .22s var(--pm-ease), box-shadow .22s var(--pm-ease);
}
.pm-site ul.products li.product:hover { transform: translateY(-3px); box-shadow: var(--pm-shadow-lg); }
.pm-site ul.products li.product a.woocommerce-LoopProduct-link { display: block; }
.pm-site ul.products li.product img {
	width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block;
	margin: 0; border-radius: 0;
}
.pm-site ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--pm-font-display);
	font-size: 1.2rem !important;
	padding: 20px 22px 6px !important;
	color: var(--pm-ink);
}
.pm-site ul.products li.product .price {
	padding: 0 22px 14px !important;
	color: var(--pm-ink) !important;
	font-weight: 700; font-size: 1.02rem !important;
}
.pm-site ul.products li.product .price del { color: var(--pm-ink-faint); font-weight: 400; }
.pm-site ul.products li.product .price ins { text-decoration: none; }
.pm-site ul.products li.product .button,
.pm-site ul.products li.product .add_to_cart_button {
	margin: 0 22px 22px !important;
	background: var(--pm-clay) !important; color: #fff !important;
	border-radius: var(--pm-radius-pill) !important;
	min-height: 46px; display: inline-flex; align-items: center; justify-content: center;
	font-weight: 600; text-decoration: none; border: 0;
}
.pm-site ul.products li.product .button:hover { background: var(--pm-clay-dark) !important; }
.pm-site ul.products li.product .onsale {
	background: var(--pm-clay); color: #fff; border-radius: var(--pm-radius-pill);
	padding: 5px 13px; font-size: .76rem; font-weight: 700; top: 14px; left: 14px;
	min-height: 0; line-height: 1.5;
}

/* 4. Single product --------------------------------------------------------
   Blocksy wraps the gallery + summary in `.product-entry-wrapper`, which is
   where the two-column grid actually belongs. Applying the grid to `div.product`
   would place the tabs in a second column, so the split lives on the wrapper and
   the tabs are forced back to full width.
   ------------------------------------------------------------------------- */
.pm-site.single-product div.product {
	display: block;
	padding-block: clamp(20px, 3vw, 36px);
}
.pm-site.single-product div.product .product-entry-wrapper {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
	gap: clamp(26px, 4vw, 56px);
	align-items: start;
	max-width: var(--pm-container);
	margin-inline: auto;
	padding-inline: var(--pm-gutter);
}
@media (max-width: 900px) {
	.pm-site.single-product div.product .product-entry-wrapper { grid-template-columns: minmax(0, 1fr); }
}

/* Gallery */
.pm-site.single-product div.product .woocommerce-product-gallery {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	border-radius: var(--pm-radius-lg);
	overflow: hidden;
	background: var(--pm-bg-alt);
}
.pm-site.single-product div.product .woocommerce-product-gallery__wrapper { margin: 0; }
.pm-site.single-product div.product .woocommerce-product-gallery img {
	border-radius: 0; display: block; width: 100%;
}
.pm-site.single-product div.product .flex-control-thumbs {
	display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px; margin: 12px 0 0; padding: 0; list-style: none;
}
.pm-site.single-product div.product .flex-control-thumbs li { width: 100% !important; margin: 0 !important; float: none !important; }
.pm-site.single-product div.product .flex-control-thumbs img {
	border-radius: var(--pm-radius-sm); border: 2px solid transparent; cursor: pointer; opacity: .82;
}
.pm-site.single-product div.product .flex-control-thumbs img.flex-active,
.pm-site.single-product div.product .flex-control-thumbs img:hover { border-color: var(--pm-clay); opacity: 1; }

/* Summary column */
.pm-site.single-product div.product .summary.entry-summary {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	max-width: none !important;
}
.pm-site.single-product div.product .product_title {
	font-family: var(--pm-font-display);
	font-size: clamp(1.7rem, 3.2vw, 2.4rem);
	margin-bottom: .3em;
}
.pm-site.single-product div.product p.price,
.pm-site.single-product div.product span.price,
.pm-site.single-product .entry-summary .price {
	color: var(--pm-ink) !important;
	font-size: 1.5rem !important;
	font-weight: 700;
	margin-bottom: .4em;
}
.pm-site.single-product div.product p.price del { color: var(--pm-ink-faint); font-size: 1rem; font-weight: 400; }
.pm-site.single-product div.product .woocommerce-product-details__short-description {
	color: var(--pm-ink-soft); font-size: 1.02rem;
}

/* Variations */
.pm-site.single-product div.product form.cart .variations {
	width: 100%; border: 0; margin: 0 0 16px;
}
.pm-site.single-product div.product form.cart .variations th,
.pm-site.single-product div.product form.cart .variations td {
	border: 0; padding: 6px 0; background: none; vertical-align: top; display: block; width: 100%;
}
.pm-site.single-product div.product form.cart .variations th.label label {
	font-weight: 600; font-size: .93rem; color: var(--pm-ink);
	text-transform: none; letter-spacing: 0;
}
.pm-site.single-product div.product form.cart .variations select {
	width: 100%; min-height: 48px; padding: 10px 14px;
	background: var(--pm-surface); border: 1px solid var(--pm-line-strong);
	border-radius: var(--pm-radius-sm); color: var(--pm-ink);
}
.pm-site .woocommerce-variation-price { margin-bottom: 12px; }
.pm-site .woocommerce-variation-availability .stock { color: var(--pm-ok); font-weight: 600; }
.pm-site .reset_variations { font-size: .88rem; }

/* Add to cart */
.pm-site.single-product div.product form.cart {
	display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-bottom: 14px;
}
.pm-site.single-product div.product form.cart .quantity {
	display: inline-flex; align-items: center;
	border: 1px solid var(--pm-line-strong); border-radius: var(--pm-radius-pill); overflow: hidden;
	background: var(--pm-surface); min-height: 52px;
}
.pm-site.single-product div.product form.cart .quantity input {
	width: 62px; min-height: 50px; border: 0; text-align: center;
	font-size: 1rem; background: transparent; color: var(--pm-ink);
}
.pm-site.single-product div.product form.cart button.single_add_to_cart_button {
	background: var(--pm-clay) !important; color: #fff !important;
	border: 0 !important; border-radius: var(--pm-radius-pill) !important;
	min-height: 52px; padding: 14px 32px !important; font-size: 1rem; font-weight: 600;
	flex: 1 1 auto;
}
.pm-site.single-product div.product form.cart button.single_add_to_cart_button:hover { background: var(--pm-clay-dark) !important; }
.pm-site.single-product div.product form.cart button.single_add_to_cart_button.disabled,
.pm-site.single-product div.product form.cart button.single_add_to_cart_button[disabled] { opacity: .5; }

.pm-site div.product .product_meta {
	border-top: 1px solid var(--pm-line); padding-top: 16px; margin-top: 18px;
	font-size: .88rem; color: var(--pm-ink-soft);
}
.pm-site div.product .product_meta a { color: var(--pm-ink-soft); }

/* PetMemory additions */
.pm-pdp-prompt { margin-bottom: 20px; }
.pm-pdp-assurance { margin-top: 22px; padding-top: 8px; border-top: 1px solid var(--pm-line); }
.pm-pdp-assurance .pm-facts li { padding: 11px 0; }
.pm-price-note { margin: 0 0 14px; font-style: italic; }

/* Tabs: always full width under the two-column area */
.pm-site.single-product div.product .woocommerce-tabs {
	grid-column: 1 / -1;
	max-width: var(--pm-container);
	margin: clamp(32px, 5vw, 56px) auto 0;
	padding-inline: var(--pm-gutter);
}
.pm-site.single-product div.product .woocommerce-tabs ul.tabs {
	display: flex; flex-wrap: wrap; gap: 6px;
	margin: 0 0 24px; padding: 0; list-style: none; border-bottom: 1px solid var(--pm-line);
}
.pm-site.single-product div.product .woocommerce-tabs ul.tabs li {
	background: none !important; border: 0 !important; border-radius: 0 !important;
	margin: 0 !important; padding: 0 !important; box-shadow: none !important;
}
.pm-site.single-product div.product .woocommerce-tabs ul.tabs li::before,
.pm-site.single-product div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.pm-site.single-product div.product .woocommerce-tabs ul.tabs li a {
	display: block; padding: 13px 18px;
	font-weight: 600; color: var(--pm-ink-soft); text-decoration: none;
	border-bottom: 3px solid transparent;
}
.pm-site.single-product div.product .woocommerce-tabs ul.tabs li.active a { color: var(--pm-ink); border-bottom-color: var(--pm-clay); }
.pm-site.single-product div.product .woocommerce-tabs .panel { padding: 4px 0 0; }
.pm-site.single-product div.product .woocommerce-tabs .panel h2 { font-size: 1.3rem; }

/* Related / upsells */
.pm-site .related.products, .pm-site .upsells.products {
	max-width: var(--pm-container); margin-inline: auto;
	padding: var(--pm-section-y) var(--pm-gutter);
}
.pm-site .related.products > h2, .pm-site .upsells.products > h2 {
	font-family: var(--pm-font-display); font-size: clamp(1.4rem, 2.6vw, 2rem);
}

/* 5. Cart / checkout ------------------------------------------------------- */
.pm-site .woocommerce-cart-form,
.pm-site .woocommerce-checkout { padding-block: clamp(24px, 4vw, 40px); }
.pm-site table.shop_table {
	border: 1px solid var(--pm-line); border-radius: var(--pm-radius); overflow: hidden;
	border-collapse: separate; border-spacing: 0; background: var(--pm-surface);
}
.pm-site table.shop_table th {
	background: var(--pm-bg-alt); color: var(--pm-ink);
	font-weight: 600; font-size: .92rem; text-align: left; padding: 14px 16px;
}
.pm-site table.shop_table td { padding: 16px; border-top: 1px solid var(--pm-line); vertical-align: middle; }
.pm-site table.shop_table img { border-radius: var(--pm-radius-sm); max-width: 84px; }

.pm-site .cart_item .pm-cart-custom {
	display: block; margin-top: 8px; padding: 10px 12px;
	background: var(--pm-surface-alt); border: 1px solid var(--pm-line);
	border-radius: var(--pm-radius-sm); font-size: .86rem; color: var(--pm-ink-soft);
}
.pm-site .cart_item .pm-cart-custom strong { color: var(--pm-ink); }
.pm-site .cart_item .pm-cart-custom ul { margin: 6px 0 0; padding-left: 16px; }
.pm-site .cart_item .pm-cart-custom img {
	max-width: 46px; border-radius: 4px; margin: 6px 6px 0 0; display: inline-block;
}

.pm-site .cart_totals, .pm-site .cross-sells {
	background: var(--pm-surface); border: 1px solid var(--pm-line);
	border-radius: var(--pm-radius); padding: clamp(18px, 2.6vw, 26px);
}
.pm-site .cart_totals h2 { font-size: 1.2rem; }
.pm-site .checkout-button,
.pm-site #place_order,
.pm-site .wc-block-components-button,
.pm-site button[name="update_cart"] {
	background: var(--pm-clay) !important; color: #fff !important;
	border: 0 !important; border-radius: var(--pm-radius-pill) !important;
	min-height: 50px; padding: 14px 30px !important; font-weight: 600; font-size: 1rem;
}
.pm-site .checkout-button:hover,
.pm-site #place_order:hover { background: var(--pm-clay-dark) !important; }
.pm-site button[name="update_cart"] { background: var(--pm-surface) !important; color: var(--pm-ink) !important; border: 1px solid var(--pm-line-strong) !important; }

.pm-site .woocommerce-checkout .col2-set .col-1,
.pm-site .woocommerce-checkout .col2-set .col-2,
.pm-site .woocommerce-checkout #order_review_heading,
.pm-site .woocommerce-checkout #order_review { width: 100%; float: none; }
.pm-site .woocommerce-checkout #customer_details { margin-bottom: 28px; }
.pm-site #order_review {
	background: var(--pm-surface); border: 1px solid var(--pm-line);
	border-radius: var(--pm-radius); padding: clamp(18px, 2.6vw, 26px);
}
.pm-site .woocommerce form .form-row input.input-text,
.pm-site .woocommerce form .form-row textarea,
.pm-site .woocommerce form .form-row select {
	background: var(--pm-surface); border: 1px solid var(--pm-line-strong);
	border-radius: var(--pm-radius-sm); min-height: 48px; padding: 11px 14px; color: var(--pm-ink);
}
.pm-site .woocommerce form .form-row label { font-weight: 600; font-size: .92rem; color: var(--pm-ink); }

/* 6. Account / order tracking --------------------------------------------- */
.pm-site .woocommerce-account .woocommerce-MyAccount-navigation {
	background: var(--pm-surface); border: 1px solid var(--pm-line); border-radius: var(--pm-radius);
	padding: 16px; width: 100%; float: none; margin-bottom: 24px;
}
.pm-site .woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.pm-site .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	display: inline-flex; padding: 9px 16px; border-radius: var(--pm-radius-pill);
	text-decoration: none; font-weight: 500; color: var(--pm-ink-soft); min-height: 40px; align-items: center;
}
.pm-site .woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.pm-site .woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
	background: var(--pm-clay-soft); color: var(--pm-clay-dark);
}
.pm-site .woocommerce-account .woocommerce-MyAccount-content { width: 100%; float: none; }

/* 7. Order status timeline ------------------------------------------------- */
.pm-order-progress {
	display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px; margin: 22px 0 8px; padding: 0; list-style: none;
}
@media (max-width: 700px) { .pm-order-progress { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pm-order-progress li {
	background: var(--pm-surface); border: 1px solid var(--pm-line);
	border-radius: var(--pm-radius); padding: 14px; font-size: .88rem;
}
.pm-order-progress li.is-done { border-color: var(--pm-sage); background: var(--pm-sage-soft); }
.pm-order-progress li.is-current { border-color: var(--pm-clay); box-shadow: var(--pm-shadow); }
.pm-order-progress strong { display: block; font-size: .95rem; margin-bottom: 3px; }
.pm-order-progress span { color: var(--pm-ink-soft); }

/* 8. Responsive touch targets --------------------------------------------- */
@media (max-width: 620px) {
	.pm-site .pm-btn, .pm-site button, .pm-site a.button,
	.pm-site input[type="submit"], .pm-site select { min-height: 44px; }
	.pm-site table.shop_table td { padding: 12px; }
}

/* 9. Brand mark sizing ------------------------------------------------------
   The wordmark is a 1440x360 "@2x" asset. Blocksy renders a custom logo at its
   natural size, so without a constraint it filled the whole header, overlapped
   the announcement bar and pushed the navigation out of the viewport. Every
   text-based check passed while the page looked broken, so this rule exists
   because of a rendered-screenshot review, not a DOM assertion. */
.pm-site .site-branding img,
.pm-site .site-branding .default-logo,
.pm-site .ct-header .site-branding img,
.pm-site .custom-logo,
.pm-site #offcanvas .site-branding img {
	height: auto;
	width: auto;
	max-height: 40px;
	max-width: min(230px, 55vw);
	object-fit: contain;
}

/* Keep the mobile/off-canvas logo proportionally larger but still bounded. */
@media (max-width: 900px) {
	.pm-site .site-branding img,
	.pm-site .site-branding .default-logo {
		max-height: 34px;
		max-width: 60vw;
	}
}

/* The header rows must be able to shrink around the mark. */
.pm-site .ct-header .site-branding { min-width: 0; }
.pm-site .ct-header .site-branding a { display: inline-flex; align-items: center; }

/* 10. Neutralise the legacy dark skin ---------------------------------------
   The original child stylesheet (style.css) was written for a near-black
   storefront and still ships rules like
     .wc_payment_method label { color: #f3f6fb !important }
     .woocommerce-checkout table.shop_table td { color: #f3f6fb }
   On the light PetMemory theme those render as white-on-white. They were found
   by a rendered review of the checkout, not by any text or DOM assertion — the
   same failure mode as the 2026-08-25 LZXFC incident.
   -------------------------------------------------------------------------- */

/* Product gallery: the legacy rule painted it #0d1119 with a 3:4 box. */
.pm-site.single-product .woocommerce-product-gallery,
.pm-site.single-product .ct-product-gallery-container,
.pm-site.single-product .ct-product-gallery-container .flexy-view,
.pm-site.single-product .woocommerce-product-gallery .flex-viewport {
	background: var(--pm-bg-alt) !important;
	border: 0 !important;
}
/* The theme's flexy gallery positions every item absolutely, so the view gets its
   height from an aspect ratio, not from the image. Setting this to `auto` (an
   earlier attempt to stop the legacy 3:4 box) collapsed the whole gallery to
   height 0 and `overflow:hidden` then hid the photograph entirely. Keep an
   explicit ratio that matches the source images. */
.pm-site.single-product .ct-product-gallery-container .flexy-view {
	aspect-ratio: 1 / 1;
}
.pm-site.single-product .woocommerce-product-gallery .flexy-item img,
.pm-site.single-product .woocommerce-product-gallery .ct-media-container img {
	aspect-ratio: auto !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}
.pm-site.single-product .woocommerce-product-gallery__image img {
	max-height: none;
	object-fit: contain;
}

/* Product tab headings. */
.pm-site.single-product .woocommerce-tabs h3 {
	color: var(--pm-ink) !important;
}

/* Review form controls. */
.pm-site .woocommerce-Reviews textarea,
.pm-site .woocommerce-Reviews input[type="text"],
.pm-site .woocommerce-Reviews input[type="email"] {
	background: var(--pm-surface) !important;
	border: 1px solid var(--pm-line-strong) !important;
	color: var(--pm-ink) !important;
}

/* Shop loop titles (kept explicit so no future legacy rule can win). */
.pm-site ul.products li.product .woocommerce-loop-product__title,
.pm-site ul.products li.product .woocommerce-loop-product__title a {
	color: var(--pm-ink) !important;
}

/* Checkout and order-pay: table cells, selects, payment labels.
   Specificity matters here. The legacy stylesheet ships
     .woocommerce button.button.alt { background: linear-gradient(...) !important; color:#04121a !important }
     .woocommerce-checkout table.shop_table td { color:#f3f6fb }
   and `.woocommerce button.button.alt` is (0,2,1), which beats a plain
   `.pm-site .checkout-button` at (0,2,0). The `body.pm-site` prefix adds an
   element and a class so these rules win outright rather than by luck. */
body.pm-site .woocommerce-checkout table.shop_table td,
body.pm-site .woocommerce-checkout table.shop_table th,
body.pm-site .woocommerce-order-pay table.shop_table td,
body.pm-site .woocommerce-order-pay table.shop_table th,
body.pm-site form.checkout table.shop_table td,
body.pm-site table.shop_table td.product-name,
body.pm-site table.shop_table .wc-item-meta,
body.pm-site table.shop_table .wc-item-meta p,
body.pm-site table.shop_table .wc-item-meta strong,
body.pm-site table.shop_table .product-quantity,
body.pm-site table.shop_table .woocommerce-Price-amount,
body.pm-site table.shop_table bdi {
	color: var(--pm-ink) !important;
	border-top-color: var(--pm-line) !important;
}
body.pm-site table.shop_table .wc-item-meta p,
body.pm-site table.shop_table .wc-item-meta strong.wc-item-meta-label {
	color: var(--pm-ink-soft) !important;
}

/* The pay button keeps the brand colour, whatever the legacy gradient says. */
body.pm-site.woocommerce-checkout #place_order,
body.pm-site.woocommerce-order-pay #place_order,
body.pm-site .woocommerce button.button.alt,
body.pm-site .woocommerce button#place_order,
body.pm-site .woocommerce .checkout-button,
body.pm-site #payment button.button.alt {
	background: var(--pm-clay) !important;
	background-image: none !important;
	color: #ffffff !important;
	border: 0 !important;
	border-radius: var(--pm-radius-pill) !important;
	min-height: 52px;
	padding: 14px 30px !important;
	font-weight: 600 !important;
}
body.pm-site.woocommerce-checkout #place_order:hover,
body.pm-site.woocommerce-order-pay #place_order:hover,
body.pm-site .woocommerce button.button.alt:hover {
	background: var(--pm-clay-dark) !important;
	color: #ffffff !important;
}

body.pm-site .woocommerce form .form-row select,
body.pm-site .woocommerce form .form-row input.input-text,
body.pm-site .woocommerce form .form-row textarea {
	background: var(--pm-surface) !important;
	border: 1px solid var(--pm-line-strong) !important;
	color: var(--pm-ink) !important;
}
body.pm-site .wc_payment_method label,
body.pm-site .wc_payment_methods label,
body.pm-site .woocommerce-checkout .wc_payment_method label,
body.pm-site #payment .wc_payment_method label {
	color: var(--pm-ink) !important;
}
body.pm-site .wc_payment_method .payment_box,
body.pm-site .wc_payment_method .payment_box p {
	color: var(--pm-ink-soft) !important;
	background: var(--pm-surface-alt) !important;
}
body.pm-site #payment,
body.pm-site .woocommerce-checkout #payment,
body.pm-site .woocommerce-order-pay #payment {
	background: var(--pm-surface) !important;
	border-radius: var(--pm-radius) !important;
}

/* Required-field markers: red on cream was only 3.59:1. */
body.pm-site .woocommerce form .required,
body.pm-site span.required,
body.pm-site abbr.required {
	color: #a32d2d !important;
	text-decoration: none !important;
}

/* 11. Blocksy "Read more" / add-to-cart block buttons ----------------------
   On the cart page's cross-sell row these render as clay text on a near-black
   block-button background — 3.02:1 at 12px. A commission has no cart action, so
   the correct treatment is a plain, legible link. */
body.pm-site .wp-block-button__link,
body.pm-site .wp-block-button__link.add_to_cart_button,
body.pm-site .wp-block-button__link.ajax_add_to_cart {
	background: transparent !important;
	background-image: none !important;
	color: var(--pm-clay) !important;
	border: 1px solid var(--pm-line-strong) !important;
	border-radius: var(--pm-radius-pill) !important;
	font-size: .92rem !important;
	font-weight: 600 !important;
	padding: 10px 20px !important;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none !important;
}
body.pm-site .wp-block-button__link:hover,
body.pm-site .wp-block-button__link.add_to_cart_button:hover {
	background: var(--pm-clay-soft) !important;
	color: var(--pm-clay-dark) !important;
	border-color: var(--pm-clay) !important;
}
