/* WooCommerce elements restyled to match the original square, editorial UI. */
.woocommerce a { color: inherit; }
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.alt,
.woocommerce input.button.alt {
	min-height: 48px;
	border: 1px solid var(--ink);
	border-radius: 0;
	background: var(--ink);
	color: var(--paper);
	font: 11px var(--mono);
	letter-spacing: .08em;
	text-transform: uppercase;
	padding: 15px 22px;
}
.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button:hover,
.woocommerce button.alt:hover,
.woocommerce input.button.alt:hover { background: var(--rose); color: var(--ink); }
.product-price .woocommerce-Price-amount,
.detail-price .woocommerce-Price-amount { color: inherit; }
.woocommerce .quantity .qty { width: 76px; min-height: 48px; border: 1px solid var(--line); border-radius: 0; background: rgba(255,255,255,.35); color: var(--ink); font: 14px var(--body); }
.detail-copy .cart { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.detail-copy .single_add_to_cart_button { flex: 1 1 210px; }
.detail-copy .variations { margin-bottom: 20px; }
.detail-copy .variations select,
.woocommerce select,
.woocommerce input.input-text,
.woocommerce textarea { min-height: 48px; border: 1px solid var(--line); border-radius: 0; background: rgba(255,255,255,.35); color: var(--ink); font: 14px var(--body); padding: 12px; }
.woocommerce input.input-text:focus,
.woocommerce textarea:focus,
.woocommerce select:focus { outline: 1px solid var(--ink); }
.woocommerce-message,
.woocommerce-info,
.woocommerce-error { margin: 0 0 28px; border-top-color: var(--rose); background: var(--cream); color: var(--ink); font: 12px/1.6 var(--body); }
.woocommerce-message::before,
.woocommerce-info::before { color: var(--ink); }
.shop-archive .woocommerce-pagination { margin-top: 48px; text-align: center; }
.shop-archive .woocommerce-pagination ul { border: 0; }
.shop-archive .woocommerce-pagination ul li { border: 0; }
.shop-archive .woocommerce-pagination a,
.shop-archive .woocommerce-pagination span { display: inline-grid; place-items: center; min-width: 34px; min-height: 34px; color: var(--ink); font: 11px var(--mono); }
.shop-archive .woocommerce-pagination .current { background: var(--cream); }
.product-card .add { display: grid; place-items: center; text-decoration: none; }
.product-card .add.loading { opacity: .55; }
.cart-row h3 a { color: inherit; text-decoration: none; }
.cart-remove { color: inherit; text-decoration: none; }
.detail-copy .detail-description { font: 14px/1.8 var(--body); }
.detail-copy .detail-description p { margin: 0 0 1em; }

/* The classic WooCommerce checkout keeps the original two-column rhythm. */
.checkout-intro { gap: 30px; }
.checkout-intro-note { max-width: 300px; margin: 0 0 4px; font-size: 14px; line-height: 1.6; }
.checkout-layout > .woocommerce { display: contents; }
.checkout-layout .woocommerce-checkout { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(280px,.8fr); gap: 9%; }
.checkout-layout #customer_details { grid-column: 1; grid-row: 1 / span 2; }
.checkout-layout #order_review_heading { grid-column: 2; grid-row: 1; align-self: end; margin: 0; padding: 28px 26px 0; background: var(--cream); font: 24px var(--serif); font-weight: 400; }
.checkout-layout #order_review { grid-column: 2; grid-row: 2; align-self: start; background: var(--cream); padding: 0 26px 28px; }
.checkout-layout .col2-set { width: 100%; }
.checkout-layout .col2-set .col-1,
.checkout-layout .col2-set .col-2 { float: none; width: 100%; }
.checkout-layout .woocommerce-billing-fields h3,
.checkout-layout .woocommerce-shipping-fields h3,
.checkout-layout .woocommerce-additional-fields h3 { margin: 0 0 20px; font: 22px var(--serif); font-weight: 400; }
.checkout-layout .form-row { margin: 0 0 18px; }
.checkout-layout .form-row label { display: block; margin-bottom: 9px; font: 10px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.checkout-layout .form-row .required { color: #9b6257; }
.checkout-layout .woocommerce-checkout-review-order-table { border: 0; font: 12px/1.6 var(--body); }
.checkout-layout .woocommerce-checkout-review-order-table th,
.checkout-layout .woocommerce-checkout-review-order-table td { padding: 14px 0; border-bottom: 1px solid var(--line); }
.checkout-layout .woocommerce-checkout-review-order-table thead th { border-top: 0; }
.checkout-layout .woocommerce-checkout-review-order-table .product-name { font-family: var(--serif); font-size: 15px; font-weight: 400; }
.checkout-layout .woocommerce-checkout-review-order-table .product-total,
.checkout-layout .woocommerce-checkout-review-order-table tfoot th,
.checkout-layout .woocommerce-checkout-review-order-table tfoot td { font-family: var(--mono); font-size: 11px; }
.checkout-layout #payment { border-radius: 0; background: transparent; }
.checkout-layout #payment ul.payment_methods { padding: 14px 0; border-bottom: 1px solid var(--line); }
.checkout-layout #payment div.payment_box { border-radius: 0; background: var(--paper); font: 12px/1.6 var(--body); }
.checkout-layout #payment div.payment_box::before { border-bottom-color: var(--paper); }
.checkout-layout .woocommerce-terms-and-conditions-wrapper { font: 12px/1.6 var(--body); }
.checkout-layout .woocommerce-privacy-policy-text { margin-bottom: 16px; font: 11px/1.6 var(--body); }
.checkout-layout .place-order { padding: 18px 0 0 !important; }
.checkout-layout .woocommerce-NoticeGroup { grid-column: 1 / -1; }
.woocommerce-order { font: 14px/1.7 var(--body); }
.payment-order { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 28px; max-width: 580px; margin: 34px 0 20px; padding: 22px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.payment-order div { display: grid; gap: 6px; }
.payment-order dt { color: #8a8178; font: 10px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.payment-order dd { margin: 0; font: 16px var(--serif); }

@media (max-width: 760px) {
	.checkout-layout .woocommerce-checkout { grid-template-columns: 1fr; gap: 30px; }
	.checkout-layout #order_review_heading { grid-column: 1; grid-row: 1; }
	.checkout-layout #order_review { grid-column: 1; grid-row: 2; }
	.checkout-layout #customer_details { grid-column: 1; grid-row: 3; }
	.checkout-intro-note { margin-top: 22px; }
	.payment-order { grid-template-columns: 1fr; }
}
