/**
 * Wyne — WooCommerce overrides.
 *
 * Restructures the default WC checkout into a Shopify-style 2-column layout:
 *   • LEFT: contact info, shipping address, billing, payment, place order
 *   • RIGHT: sticky order summary on a soft paper-2 background
 *
 * Loaded only on WC pages (cart, checkout, my-account, single product).
 */

/* ========================================================================= */
/* Page wrapper                                                              */
/* ========================================================================= */

.woocommerce main#primary,
.woocommerce-checkout main#primary,
.woocommerce-cart main#primary,
.woocommerce-account main#primary {
	font-family: var(--hand);
	color: var(--ink);
}

.woocommerce h1, .woocommerce h2,
.woocommerce-page h1, .woocommerce-page h2 {
	font-family: var(--hand-loose);
	letter-spacing: 0.5px;
}

/* ========================================================================= */
/* Checkout — 2-column Shopify layout                                        */
/* ========================================================================= */

.woocommerce-checkout form.checkout.woocommerce-checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	gap: 56px;
	align-items: start;
	max-width: 1200px;
	margin: 0 auto;
	padding: 8px 0 60px;
}

/* Left column: customer details (billing + shipping + additional) */
.woocommerce-checkout form.checkout #customer_details {
	grid-column: 1;
	grid-row: 1;
}

/* WC's own billing/shipping 2-col split — collapse to single column */
.woocommerce-checkout form.checkout #customer_details .col-1,
.woocommerce-checkout form.checkout #customer_details .col-2,
.woocommerce-checkout form.checkout #customer_details .col2-set {
	width: 100% !important;
	float: none !important;
	max-width: none !important;
}

/* Order review heading on the right column */
.woocommerce-checkout form.checkout > #order_review_heading {
	grid-column: 2;
	grid-row: 1;
	margin: 0 0 12px;
	font-family: var(--hand-loose);
	font-size: 14px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--ink-faint);
}

/* Order review on the right (gray, sticky) */
.woocommerce-checkout form.checkout #order_review {
	grid-column: 2;
	grid-row: 2;
	background: var(--paper-2);
	border: 1.5px solid var(--line);
	border-radius: 12px;
	padding: 24px 26px;
	position: sticky;
	top: 24px;
	font-family: var(--hand);
}

/* When customer_details is hidden (e.g. user logged in with saved address),
   pull the order review into row 1 visually. */
.woocommerce-checkout form.checkout > #order_review_heading + #order_review {
	grid-row: 2;
}

@media (max-width: 920px) {
	.woocommerce-checkout form.checkout.woocommerce-checkout {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.woocommerce-checkout form.checkout #customer_details,
	.woocommerce-checkout form.checkout > #order_review_heading,
	.woocommerce-checkout form.checkout #order_review {
		grid-column: 1;
		grid-row: auto;
		position: static;
	}
}

/* ========================================================================= */
/* Form fields                                                                */
/* ========================================================================= */

.woocommerce-checkout .form-row,
.woocommerce-page .form-row {
	margin: 0 0 14px !important;
	padding: 0 !important;
	display: flex;
	flex-direction: column;
}

.woocommerce-checkout .form-row label,
.woocommerce-page .form-row label {
	font-family: var(--hand-script);
	font-size: 16px;
	color: var(--ink-soft);
	margin-bottom: 4px;
	display: block;
}

.woocommerce-checkout .form-row .required {
	color: var(--accent-red);
	border: none;
	text-decoration: none;
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-page .form-row input.input-text,
.woocommerce-page .form-row textarea,
.woocommerce-page .form-row select {
	font-family: var(--hand);
	font-size: 16px;
	border: 1.5px solid var(--line);
	border-radius: 6px;
	padding: 10px 12px;
	background: var(--paper);
	color: var(--ink);
	width: 100%;
	outline: none;
	box-shadow: none;
	transition: border-color 120ms, box-shadow 120ms;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus {
	border-color: var(--ink);
	box-shadow: 0 0 0 3px rgba(26, 26, 26, 0.08);
}

.woocommerce-checkout .form-row textarea {
	min-height: 96px;
	resize: vertical;
}

/* Two-up rows (e.g. first / last name) */
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last {
	width: calc(50% - 7px) !important;
	display: inline-flex !important;
	vertical-align: top;
}
.woocommerce-checkout .form-row-first { margin-right: 14px !important; }
.woocommerce-checkout .form-row-wide  { width: 100% !important; }

/* Select2 (used by WC for country/state selects) */
.woocommerce-checkout .select2-container .select2-selection--single,
.woocommerce-page .select2-container .select2-selection--single {
	height: 44px !important;
	border: 1.5px solid var(--line) !important;
	border-radius: 6px !important;
	background: var(--paper) !important;
	font-family: var(--hand) !important;
	font-size: 16px !important;
}
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
	line-height: 42px !important;
	padding-left: 12px !important;
	color: var(--ink) !important;
}
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow {
	height: 42px !important;
	right: 8px !important;
}

/* Section headings inside form */
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3,
#order_review_heading {
	font-family: var(--hand-loose);
	font-size: 18px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--ink);
	margin: 24px 0 14px;
	padding-bottom: 8px;
	border-bottom: 1.5px dashed var(--ink-soft);
}

.woocommerce-billing-fields:first-child h3 {
	margin-top: 0;
}

/* Login & coupon togglers */
.woocommerce-form-login-toggle,
.woocommerce-form-coupon-toggle {
	margin: 0 0 18px;
}
.woocommerce-form-login-toggle .woocommerce-info,
.woocommerce-form-coupon-toggle .woocommerce-info {
	background: var(--paper-2);
	border: 1.5px dashed var(--ink-soft);
	border-radius: 8px;
	padding: 12px 16px;
	font-family: var(--hand);
	font-size: 15px;
	color: var(--ink-soft);
}
.woocommerce-form-login-toggle a,
.woocommerce-form-coupon-toggle a {
	color: var(--ink);
	text-decoration: underline;
	text-decoration-style: dashed;
	text-underline-offset: 3px;
}

/* ========================================================================= */
/* Order review table (right column)                                          */
/* ========================================================================= */

.woocommerce-checkout-review-order-table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 16px;
	background: transparent;
	border: none;
	font-family: var(--hand);
}

.woocommerce-checkout-review-order-table thead {
	display: none; /* "Product / Subtotal" header — visually noisy */
}

.woocommerce-checkout-review-order-table tbody td,
.woocommerce-checkout-review-order-table tbody th {
	padding: 14px 0 !important;
	border-bottom: 1.5px dashed var(--ink-soft) !important;
	border-top: none !important;
	background: transparent !important;
	font-size: 15px;
	color: var(--ink);
	vertical-align: top;
}

.woocommerce-checkout-review-order-table tbody tr:last-child td {
	border-bottom: 1.5px solid var(--ink-soft) !important;
}

.woocommerce-checkout-review-order-table .product-name {
	font-family: var(--hand);
	font-size: 16px;
	color: var(--ink);
}

.woocommerce-checkout-review-order-table .product-quantity {
	display: inline-block;
	margin-left: 6px;
	font-family: var(--hand-script);
	font-size: 14px;
	color: var(--ink-faint);
}

.woocommerce-checkout-review-order-table .product-total,
.woocommerce-checkout-review-order-table .product-subtotal {
	text-align: right;
	font-family: var(--hand-loose);
	font-size: 16px;
	color: var(--ink);
	white-space: nowrap;
}

/* Configurator + WC item meta under each line */
.woocommerce-checkout-review-order-table .wc-item-meta,
.woocommerce-checkout-review-order-table .variation {
	margin: 6px 0 0 !important;
	padding: 0 !important;
	font-family: var(--hand-script);
	font-size: 13px;
	color: var(--ink-soft);
	list-style: none;
}
.woocommerce-checkout-review-order-table .wc-item-meta li,
.woocommerce-checkout-review-order-table .variation > * {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 8px;
	margin: 0 !important;
	padding: 1px 0 !important;
}
.woocommerce-checkout-review-order-table .wc-item-meta li strong,
.woocommerce-checkout-review-order-table .variation strong {
	color: var(--ink-faint);
	font-family: var(--hand);
	font-weight: 400;
}
.woocommerce-checkout-review-order-table .wc-item-meta li p,
.woocommerce-checkout-review-order-table .wc-item-meta li .wc-item-meta-label,
.woocommerce-checkout-review-order-table .wc-item-meta li span {
	margin: 0 !important;
	color: var(--ink);
}

/* Totals (tfoot) */
.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td {
	padding: 8px 0 !important;
	border-top: none !important;
	border-bottom: none !important;
	background: transparent !important;
	font-family: var(--hand);
	font-size: 15px;
	color: var(--ink-soft);
	font-weight: 400;
}
.woocommerce-checkout-review-order-table tfoot td {
	text-align: right;
}

.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal th,
.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal td,
.woocommerce-checkout-review-order-table tfoot tr.shipping th,
.woocommerce-checkout-review-order-table tfoot tr.shipping td,
.woocommerce-checkout-review-order-table tfoot tr.fee th,
.woocommerce-checkout-review-order-table tfoot tr.fee td,
.woocommerce-checkout-review-order-table tfoot tr.tax-total th,
.woocommerce-checkout-review-order-table tfoot tr.tax-total td {
	color: var(--ink-soft);
}

.woocommerce-checkout-review-order-table tfoot tr.order-total th,
.woocommerce-checkout-review-order-table tfoot tr.order-total td {
	font-family: var(--hand-loose) !important;
	font-size: 22px !important;
	color: var(--ink) !important;
	letter-spacing: 0.5px;
	border-top: 2px solid var(--ink) !important;
	padding-top: 12px !important;
	padding-bottom: 0 !important;
}

.woocommerce-checkout-review-order-table tfoot ul#shipping_method {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 14px;
}
.woocommerce-checkout-review-order-table tfoot ul#shipping_method li {
	padding: 2px 0;
}

/* ========================================================================= */
/* Payment methods                                                            */
/* ========================================================================= */

#payment.woocommerce-checkout-payment {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin-top: 14px;
	border-radius: 0;
}

#payment ul.payment_methods {
	padding: 0 !important;
	margin: 0 0 14px !important;
	list-style: none;
	border-bottom: none !important;
	background: transparent;
}

#payment ul.payment_methods li {
	border: 1.5px solid var(--line);
	border-radius: 8px;
	padding: 14px 16px;
	margin-bottom: 10px;
	background: var(--paper);
	font-family: var(--hand);
	font-size: 15px;
	transition: border-color 120ms, box-shadow 120ms;
}

#payment ul.payment_methods li:has(input:checked) {
	border-color: var(--ink);
	box-shadow: 0 0 0 3px rgba(26, 26, 26, 0.06);
}

#payment ul.payment_methods li label {
	font-family: var(--hand-loose);
	font-size: 16px;
	letter-spacing: 0.3px;
	color: var(--ink);
	cursor: pointer;
}

#payment ul.payment_methods li input[type="radio"] {
	margin-right: 8px;
	accent-color: var(--ink);
}

#payment .payment_box {
	background: transparent !important;
	color: var(--ink-soft);
	font-family: var(--hand);
	font-size: 14px;
	padding: 10px 0 0 !important;
	margin: 0 !important;
	box-shadow: none !important;
}
#payment .payment_box::before {
	display: none !important;
}

/* Place order button */
#place_order, button#place_order, button.button.alt#place_order {
	width: 100%;
	padding: 14px 20px !important;
	background: var(--ink) !important;
	color: var(--paper) !important;
	border: 2px solid var(--line) !important;
	border-radius: 8px !important;
	font-family: var(--hand-loose) !important;
	font-size: 16px !important;
	letter-spacing: 1.5px !important;
	text-transform: uppercase !important;
	cursor: pointer;
	margin-top: 8px;
	transition: transform 120ms, box-shadow 120ms;
}
#place_order:hover {
	transform: translate(-1px, -1px);
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.18) !important;
}

/* Terms checkbox */
.woocommerce-terms-and-conditions-wrapper {
	margin: 14px 0;
}
.woocommerce-terms-and-conditions-wrapper .form-row {
	flex-direction: row !important;
	align-items: center;
	gap: 8px;
}

/* ========================================================================= */
/* Cart page                                                                  */
/* ========================================================================= */

.woocommerce-cart-form .shop_table {
	border: 1.5px solid var(--line);
	border-radius: 10px;
	background: var(--paper);
	border-collapse: separate;
	border-spacing: 0;
	font-family: var(--hand);
}
.woocommerce-cart-form .shop_table th {
	font-family: var(--hand-loose);
	font-size: 13px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--ink-faint);
	padding: 14px 12px !important;
	border-bottom: 1.5px solid var(--line);
}
.woocommerce-cart-form .shop_table td {
	padding: 16px 12px !important;
	border-top: 1.5px dashed var(--ink-soft);
	background: transparent;
}
.woocommerce-cart-form .product-thumbnail img {
	max-width: 64px;
	border-radius: 6px;
}
.woocommerce-cart-form .quantity input.qty {
	border: 1.5px solid var(--line);
	border-radius: 6px;
	padding: 6px 8px;
	font-family: var(--hand);
	font-size: 16px;
	width: 64px;
	text-align: center;
}

.cart_totals {
	background: var(--paper-2);
	border: 1.5px solid var(--line);
	border-radius: 10px;
	padding: 22px 24px;
	font-family: var(--hand);
}
.cart_totals h2 {
	font-family: var(--hand-loose);
	font-size: 16px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	margin: 0 0 14px;
	color: var(--ink-faint);
}
.cart_totals .order-total .amount {
	font-family: var(--hand-loose);
	font-size: 22px;
	color: var(--ink);
}
.wc-proceed-to-checkout .checkout-button {
	width: 100%;
	background: var(--ink) !important;
	color: var(--paper) !important;
	border: 2px solid var(--line) !important;
	border-radius: 8px !important;
	font-family: var(--hand-loose) !important;
	font-size: 16px !important;
	letter-spacing: 1.5px !important;
	text-transform: uppercase !important;
	padding: 14px 20px !important;
}

/* ========================================================================= */
/* Notices (errors, info, success)                                            */
/* ========================================================================= */

.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error {
	background: var(--paper-2) !important;
	border: 1.5px dashed var(--ink-soft) !important;
	border-radius: 8px !important;
	color: var(--ink) !important;
	font-family: var(--hand) !important;
	padding: 12px 16px !important;
	margin: 0 0 18px !important;
}
.woocommerce-notices-wrapper .woocommerce-error {
	border-color: var(--accent-red) !important;
	color: var(--accent-red) !important;
}
.woocommerce-notices-wrapper .woocommerce-message::before,
.woocommerce-notices-wrapper .woocommerce-info::before,
.woocommerce-notices-wrapper .woocommerce-error::before {
	display: none !important;
}

/* ========================================================================= */
/* My Account                                                                 */
/* ========================================================================= */

.wyne-myaccount-wrap {
	font-family: var(--sans);
}

.woocommerce-account .woocommerce {
	display: grid;
	grid-template-columns: minmax(200px, 240px) 1fr;
	gap: 40px;
	align-items: start;
}

@media (max-width: 720px) {
	.woocommerce-account .woocommerce {
		grid-template-columns: 1fr;
	}
}

.woocommerce-MyAccount-navigation {
	background: #f7f7f7;
	border: 1px solid #e5e5e5;
	border-radius: 10px;
	padding: 14px 12px;
}
.woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.woocommerce-MyAccount-navigation ul li {
	margin: 0;
}
.woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 9px 12px;
	font-family: var(--sans);
	font-size: 15px;
	color: var(--ink-soft);
	text-decoration: none;
	border-radius: 6px;
	transition: background 120ms, color 120ms;
}
.woocommerce-MyAccount-navigation ul li a:hover {
	background: #ffffff;
	color: var(--ink);
}
.woocommerce-MyAccount-navigation ul li.is-active a {
	background: #000000;
	color: #ffffff;
	font-weight: 600;
}

.woocommerce-MyAccount-content {
	background: #ffffff;
	min-width: 0;
}
.woocommerce-MyAccount-content p {
	font-family: var(--sans);
	color: var(--ink);
	line-height: 1.55;
}
.woocommerce-MyAccount-content a {
	color: var(--ink);
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* Login & register forms (guests) — side by side */
.woocommerce-account:not(.logged-in) .woocommerce > form,
.u-columns.col2-set,
.woocommerce-account .u-columns {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
}
@media (max-width: 720px) {
	.woocommerce-account:not(.logged-in) .woocommerce > form,
	.u-columns.col2-set,
	.woocommerce-account .u-columns {
		grid-template-columns: 1fr;
	}
}

.u-column1, .u-column2 {
	width: 100% !important;
	float: none !important;
	background: #f7f7f7;
	border: 1px solid #e5e5e5;
	border-radius: 10px;
	padding: 22px 24px;
}
.u-column1 h2, .u-column2 h2 {
	font-family: var(--sans);
	font-size: 18px;
	font-weight: 700;
	letter-spacing: -0.01em;
	margin: 0 0 16px;
	color: var(--ink);
}

.woocommerce-form-login,
.woocommerce-form-register {
	background: transparent;
	border: none;
	padding: 0;
	margin: 0;
}

.woocommerce-form-login__rememberme,
.woocommerce-form-register .form-row label {
	font-family: var(--sans);
	font-size: 14px;
	color: var(--ink-soft);
}

.woocommerce-form-login__submit,
.woocommerce-form-register__submit,
.woocommerce-Button.button {
	background: #000000 !important;
	color: #ffffff !important;
	border: 2px solid #000000 !important;
	border-radius: 6px !important;
	padding: 12px 24px !important;
	font-family: var(--sans) !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	letter-spacing: 0.5px !important;
	text-transform: uppercase !important;
	cursor: pointer;
}

/* Lost password link */
.woocommerce-LostPassword {
	margin-top: 12px;
	font-family: var(--sans);
	font-size: 14px;
}
.woocommerce-LostPassword a {
	color: var(--ink-soft);
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* Orders table */
.woocommerce-orders-table,
table.shop_table.my_account_orders {
	width: 100%;
	border-collapse: collapse;
	font-family: var(--sans);
	font-size: 14px;
}
.woocommerce-orders-table th,
table.shop_table.my_account_orders th {
	padding: 12px 8px;
	text-align: left;
	border-bottom: 1px solid #e5e5e5;
	font-weight: 600;
	color: var(--ink);
}
.woocommerce-orders-table td,
table.shop_table.my_account_orders td {
	padding: 12px 8px;
	border-bottom: 1px solid #f0f0f0;
	color: var(--ink-soft);
}
.woocommerce-orders-table .order-actions a,
table.shop_table.my_account_orders .order-actions a {
	font-family: var(--sans);
	font-size: 13px;
	color: var(--ink);
	border: 1.5px solid var(--ink);
	background: #ffffff;
	padding: 6px 12px;
	border-radius: 4px;
	text-decoration: none;
	margin-right: 4px;
}
.woocommerce-orders-table .order-actions a:hover,
table.shop_table.my_account_orders .order-actions a:hover {
	background: #000000;
	color: #ffffff;
}

/* Addresses */
.woocommerce-Addresses {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}
@media (max-width: 720px) {
	.woocommerce-Addresses {
		grid-template-columns: 1fr;
	}
}
.woocommerce-Address {
	background: #f7f7f7;
	border: 1px solid #e5e5e5;
	border-radius: 10px;
	padding: 22px 24px;
}
.woocommerce-Address-title h3 {
	font-family: var(--sans);
	font-size: 16px;
	font-weight: 700;
	margin: 0 0 12px;
}
.woocommerce-Address address {
	font-family: var(--sans);
	font-size: 14px;
	color: var(--ink);
	line-height: 1.6;
	font-style: normal;
}

/* Generic WC buttons */
.woocommerce a.button,
.woocommerce-page a.button,
.woocommerce button.button,
.woocommerce-page button.button {
	font-family: var(--hand) !important;
	background: var(--paper) !important;
	color: var(--ink) !important;
	border: 2px solid var(--line) !important;
	border-radius: 6px !important;
	padding: 10px 18px !important;
	font-size: 15px !important;
	transition: transform 120ms, box-shadow 120ms;
}
.woocommerce a.button:hover,
.woocommerce-page a.button:hover,
.woocommerce button.button:hover {
	transform: translate(-1px, -1px);
	box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.15) !important;
}

/* ========================================================================= */
/* WooCommerce CHECKOUT BLOCK (block-based checkout)                          */
/* This is the modern WC Blocks markup — different from classic shortcode.   */
/* ========================================================================= */

/* ==== WC checkout/cart — bulldoze through every width constraint =========
   WC Blocks ships its own flexbox layout with hardcoded flex-basis values
   (e.g. main 70% / sidebar 30%) AND Gutenberg adds inline-styled wrapper
   divs that cap width to `--wp--style--global--content-size` (~700px).
   We override every layer aggressively with grid 1fr/1fr. */
.woocommerce-checkout .entry-content,
.woocommerce-cart .entry-content,
.woocommerce-checkout main#primary,
.woocommerce-cart main#primary,
.woocommerce-checkout .site-main,
.woocommerce-cart .site-main,
.woocommerce-checkout main#primary > article,
.woocommerce-cart main#primary > article,
.woocommerce-checkout .entry-content > *,
.woocommerce-cart .entry-content > *,
.woocommerce-checkout [class*="wp-container-"],
.woocommerce-cart [class*="wp-container-"],
.woocommerce-checkout .is-layout-constrained,
.woocommerce-cart .is-layout-constrained,
.woocommerce-checkout .is-layout-flow,
.woocommerce-cart .is-layout-flow {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.woocommerce-checkout .entry-content > .alignwide,
.woocommerce-checkout .entry-content > .alignfull,
.woocommerce-cart .entry-content > .alignwide,
.woocommerce-cart .entry-content > .alignfull {
	max-width: none !important;
	width: 100% !important;
}

/* The block roots — block-level container, full width */
.wp-block-woocommerce-checkout,
.wp-block-woocommerce-cart {
	display: block !important;
	max-width: 100% !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
}

/* Every nested wrapper between root and the sidebar layout — pass through */
.wp-block-woocommerce-checkout > div,
.wp-block-woocommerce-cart > div,
.wp-block-woocommerce-checkout .wc-block-checkout,
.wp-block-woocommerce-cart .wc-block-cart {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	flex: initial !important;
}

/* Force wyne typography across the whole block */
.wp-block-woocommerce-checkout,
.wp-block-woocommerce-cart,
.wc-block-checkout,
.wc-block-cart {
	font-family: var(--sans) !important;
	color: var(--ink) !important;
}

/* The actual 2-col grid lives on .wc-block-components-sidebar-layout
   which is the parent of main + sidebar. Override its flex with grid. */
.wc-block-components-sidebar-layout,
body.woocommerce-checkout .wc-block-components-sidebar-layout,
body.woocommerce-cart .wc-block-components-sidebar-layout {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	gap: 64px !important;
	align-items: start !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 8px 0 60px !important;
	float: none !important;
	flex-direction: unset !important;
	flex-wrap: unset !important;
}

/* LEFT main column — kill flex-basis from WC Blocks */
.wc-block-checkout__main,
.wc-block-cart__main,
.wp-block-woocommerce-checkout-fields-block,
.wc-block-components-main,
.wc-block-components-sidebar-layout > .wc-block-components-main,
.wc-block-components-sidebar-layout > div:first-child {
	grid-column: 1 !important;
	flex: initial !important;
	flex-basis: auto !important;
	flex-grow: 0 !important;
	flex-shrink: 0 !important;
	min-width: 0 !important;
	width: auto !important;
	max-width: none !important;
	float: none !important;
	padding-right: 0 !important;
}

/* RIGHT SIDEBAR — light gray Shopify-style summary card */
.wc-block-checkout__sidebar,
.wc-block-cart__sidebar,
.wp-block-woocommerce-checkout-totals-block,
.wp-block-woocommerce-cart-totals-block,
.wc-block-components-sidebar,
.wc-block-components-sidebar-layout > .wc-block-components-sidebar,
.wc-block-components-sidebar-layout > div:last-child:not(:first-child) {
	grid-column: 2 !important;
	flex: initial !important;
	flex-basis: auto !important;
	flex-grow: 0 !important;
	flex-shrink: 0 !important;
	min-width: 0 !important;
	width: auto !important;
	max-width: none !important;
	float: none !important;
	background: #f5f5f5 !important;
	border: 1px solid #e5e5e5 !important;
	border-radius: 12px !important;
	padding: 24px 26px !important;
	position: sticky;
	top: 24px;
	align-self: start;
}

/* Sidebar inner blocks shouldn't have their own background */
.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block,
.wc-block-checkout__sidebar > div {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
}

/* "Order summary" heading */
.wc-block-components-totals-wrapper > h2,
.wp-block-woocommerce-checkout-order-summary-block h2,
.wc-block-components-panel__button {
	font-family: var(--hand-loose) !important;
	font-size: 22px !important;
	letter-spacing: 0.5px !important;
	color: var(--ink) !important;
	margin: 0 0 16px !important;
}

/* Line items in the summary — force a clean row: thumbnail | text | price */
.wc-block-components-order-summary-item {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: flex-start !important;
	gap: 14px !important;
	border-bottom: 1px dashed #d0d0d0 !important;
	padding: 14px 0 !important;
	background: transparent !important;
	width: 100% !important;
}
.wc-block-components-order-summary-item:last-of-type {
	border-bottom: 1px solid #d0d0d0 !important;
}

.wc-block-components-order-summary-item__image {
	flex: 0 0 56px !important;
	width: 56px !important;
	height: 56px !important;
	border: 1px solid #d0d0d0 !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	overflow: hidden !important;
	position: relative;
}
.wc-block-components-order-summary-item__image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	border-radius: 6px;
}

/* Description (name + meta) takes remaining width */
.wc-block-components-order-summary-item__description {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	width: auto !important;
}

/* Total price aligned right, doesn't wrap */
.wc-block-components-order-summary-item__total-price {
	flex: 0 0 auto !important;
	white-space: nowrap !important;
	text-align: right !important;
	font-weight: 600 !important;
}

/* Names wrap normally between words (not per character) */
.wc-block-components-product-name,
.wc-block-components-order-summary-item__title {
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: anywhere !important;
}

/* Money amounts NEVER wrap — "199,00 €" stays on one line as a unit */
.wc-block-formatted-money-amount,
.wc-block-components-product-price,
.wc-block-components-product-price__regular,
.wc-block-components-product-price__value,
.wc-block-components-product-price ins,
.wc-block-components-product-price del {
	white-space: nowrap !important;
	word-break: keep-all !important;
	overflow-wrap: normal !important;
	display: inline-block !important;
}

/* Sale badge — compact pill, doesn't push price content */
.wc-block-components-sale-badge {
	display: inline-block !important;
	white-space: nowrap !important;
	flex: 0 0 auto !important;
	font-size: 11px !important;
	padding: 1px 8px !important;
	margin-left: 6px !important;
}

/* Price rows align nicely */
.wc-block-components-order-summary-item__description .wc-block-components-product-price {
	margin-top: 4px;
}
.wc-block-components-order-summary-item__quantity .wc-block-components-product-badge,
.wc-block-components-product-badge {
	background: var(--ink) !important;
	color: var(--paper) !important;
	font-family: var(--hand-loose) !important;
	font-size: 11px !important;
	border: none !important;
}

.wc-block-components-product-name,
.wc-block-components-order-summary-item__title {
	font-family: var(--hand-loose) !important;
	font-size: 16px !important;
	color: var(--ink) !important;
	letter-spacing: 0.3px;
}

.wc-block-components-product-metadata,
.wc-block-components-product-details {
	font-family: var(--hand-script) !important;
	font-size: 13px !important;
	color: var(--ink-soft) !important;
	margin-top: 4px !important;
}

.wc-block-components-product-price,
.wc-block-components-order-summary-item__total-price,
.wc-block-formatted-money-amount {
	font-family: var(--hand-loose) !important;
	font-size: 16px !important;
	color: var(--ink) !important;
}

.wc-block-components-product-price ins,
.wc-block-components-product-price__value {
	text-decoration: none !important;
	color: var(--ink) !important;
}
.wc-block-components-product-price del,
.wc-block-components-product-price__regular {
	color: var(--ink-faint) !important;
	font-size: 14px !important;
	text-decoration: line-through !important;
	margin-right: 6px;
}
.wc-block-components-sale-badge {
	background: var(--accent-red) !important;
	color: var(--paper) !important;
	font-family: var(--hand-loose) !important;
	border-radius: 999px !important;
	padding: 2px 8px !important;
	font-size: 11px !important;
	letter-spacing: 1px;
	border: none !important;
}

/* Totals rows */
.wc-block-components-totals-item,
.wc-block-components-totals-coupon,
.wc-block-components-totals-shipping {
	padding: 10px 0 !important;
	border-bottom: 1.5px dashed var(--ink-soft) !important;
	background: transparent !important;
	font-family: var(--hand) !important;
	font-size: 15px !important;
	color: var(--ink) !important;
}
.wc-block-components-totals-item__label {
	color: var(--ink-soft) !important;
	font-family: var(--hand) !important;
}
.wc-block-components-totals-item__value {
	font-family: var(--hand-loose) !important;
	color: var(--ink) !important;
}

/* Final total row — bigger, bolder */
.wc-block-components-totals-footer-item,
.wc-block-components-totals-footer-item-tax {
	border-top: 2px solid var(--ink) !important;
	border-bottom: none !important;
	padding-top: 14px !important;
	margin-top: 4px !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-family: var(--hand-loose) !important;
	font-size: 22px !important;
	letter-spacing: 0.5px;
	color: var(--ink) !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-family: var(--hand-loose) !important;
	font-size: 26px !important;
	color: var(--ink) !important;
}
.wc-block-components-totals-footer-item-tax {
	font-family: var(--hand-script) !important;
	font-size: 14px !important;
	color: var(--ink-faint) !important;
	border-top: none !important;
	padding-top: 4px !important;
}

/* "Add coupons" panel toggle */
.wc-block-components-totals-coupon button,
.wc-block-components-panel__button {
	font-family: var(--hand-loose) !important;
	font-size: 15px !important;
	color: var(--ink) !important;
	letter-spacing: 0.3px;
	background: transparent !important;
	border: none !important;
}
.wc-block-components-totals-coupon__form input {
	font-family: var(--hand) !important;
	border: 1.5px solid var(--line) !important;
	border-radius: 6px !important;
	padding: 10px 12px !important;
	background: var(--paper) !important;
	color: var(--ink) !important;
}

/* LEFT MAIN — form fields */
.wc-block-checkout__main,
.wp-block-woocommerce-checkout-fields-block {
	font-family: var(--hand) !important;
}

/* Section titles in the left column */
.wp-block-woocommerce-checkout-contact-information-block h2,
.wp-block-woocommerce-checkout-shipping-address-block h2,
.wp-block-woocommerce-checkout-billing-address-block h2,
.wp-block-woocommerce-checkout-shipping-method-block h2,
.wp-block-woocommerce-checkout-payment-block h2,
.wp-block-woocommerce-checkout-additional-information-block h2,
.wc-block-components-checkout-step__title {
	font-family: var(--hand-loose) !important;
	font-size: 16px !important;
	letter-spacing: 1.5px !important;
	text-transform: uppercase !important;
	color: var(--ink) !important;
	margin: 28px 0 14px !important;
	padding-bottom: 8px !important;
	border-bottom: 1.5px dashed var(--ink-soft) !important;
}

.wp-block-woocommerce-checkout-contact-information-block h2:first-child,
.wp-block-woocommerce-checkout-fields-block > div:first-child h2 {
	margin-top: 0 !important;
}

/* Floating-label inputs */
.wc-block-components-text-input,
.wc-block-components-textarea,
.wc-block-components-select {
	background: var(--paper) !important;
	border: 1.5px solid var(--line) !important;
	border-radius: 8px !important;
	margin-bottom: 14px !important;
}
.wc-block-components-text-input input,
.wc-block-components-textarea textarea,
.wc-block-components-select select,
.wc-block-components-form input[type="text"],
.wc-block-components-form input[type="email"],
.wc-block-components-form input[type="tel"],
.wc-block-components-form input[type="number"] {
	font-family: var(--hand) !important;
	font-size: 16px !important;
	color: var(--ink) !important;
	background: transparent !important;
	border: none !important;
	padding: 16px 14px 8px !important;
	width: 100% !important;
	box-shadow: none !important;
}
.wc-block-components-text-input label,
.wc-block-components-select label {
	font-family: var(--hand-script) !important;
	font-size: 16px !important;
	color: var(--ink-soft) !important;
}
.wc-block-components-text-input.is-active label,
.wc-block-components-text-input input:focus + label,
.wc-block-components-select.is-active label {
	color: var(--ink-faint) !important;
	font-size: 12px !important;
	font-family: var(--hand) !important;
	letter-spacing: 0.5px;
	text-transform: uppercase;
}
.wc-block-components-text-input:focus-within,
.wc-block-components-textarea:focus-within,
.wc-block-components-select:focus-within {
	border-color: var(--ink) !important;
	box-shadow: 0 0 0 3px rgba(26, 26, 26, 0.08) !important;
}

/* Checkboxes */
.wc-block-components-checkbox {
	font-family: var(--hand) !important;
	font-size: 15px !important;
	color: var(--ink) !important;
}
.wc-block-components-checkbox__input {
	border: 1.5px solid var(--line) !important;
	border-radius: 4px !important;
	width: 22px !important;
	height: 22px !important;
	background: var(--paper) !important;
	accent-color: var(--ink) !important;
}
.wc-block-components-checkbox__input:checked {
	background: var(--ink) !important;
	border-color: var(--ink) !important;
}
.wc-block-components-checkbox__mark svg {
	fill: var(--paper) !important;
}

/* "+ Add apartment, suite, etc." link */
.wc-block-components-address-form__link,
.wc-block-checkout-add-address-info button,
button.wc-block-components-button.wc-block-components-button--link {
	font-family: var(--hand-script) !important;
	font-size: 15px !important;
	color: var(--ink) !important;
	text-decoration: underline !important;
	text-decoration-style: dashed !important;
	text-underline-offset: 3px !important;
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
}

/* "Log in" link in contact info */
.wc-block-checkout__login-prompt,
.wp-block-woocommerce-checkout-contact-information-block a {
	font-family: var(--hand-script) !important;
	font-size: 15px !important;
	color: var(--ink) !important;
	text-decoration: underline !important;
	text-decoration-style: dashed !important;
	text-underline-offset: 3px !important;
}

/* "You are currently checking out as a guest." */
.wc-block-checkout__no-account,
.wp-block-woocommerce-checkout-contact-information-block p {
	font-family: var(--hand-script) !important;
	font-size: 14px !important;
	color: var(--ink-faint) !important;
}

/* Place order button (block-based) */
.wc-block-components-checkout-place-order-button,
button.wc-block-components-button.wc-block-cart__submit-button {
	width: 100% !important;
	background: var(--ink) !important;
	color: var(--paper) !important;
	border: 2px solid var(--line) !important;
	border-radius: 8px !important;
	font-family: var(--hand-loose) !important;
	font-size: 16px !important;
	letter-spacing: 1.5px !important;
	text-transform: uppercase !important;
	padding: 14px 20px !important;
	margin-top: 10px !important;
	cursor: pointer;
	transition: transform 120ms, box-shadow 120ms;
}
.wc-block-components-checkout-place-order-button:hover {
	transform: translate(-1px, -1px);
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.18) !important;
}

/* Section spacing */
.wp-block-woocommerce-checkout-fields-block > * {
	margin-bottom: 26px;
}

/* Disable WC Blocks default border on the sidebar's panels */
.wc-block-components-panel,
.wc-block-components-totals-wrapper {
	border: none !important;
	background: transparent !important;
}

/* Page section frame doesn't need to wrap a block-based checkout */
.woocommerce-checkout main#primary > .section,
.woocommerce-cart main#primary > .section {
	background: transparent;
	border: none;
	box-shadow: none;
	padding: 12px 0 60px;
}
.woocommerce-checkout main#primary > .section > .stripe,
.woocommerce-cart main#primary > .section > .stripe,
.woocommerce-checkout main#primary > .section > .tag,
.woocommerce-cart main#primary > .section > .tag {
	display: none;
}

/* Mobile collapse */
@media (max-width: 920px) {
	.wc-block-checkout__sidebar,
	.wp-block-woocommerce-checkout-totals-block {
		position: static !important;
		margin-top: 24px;
	}
	.wc-block-components-sidebar-layout {
		gap: 0 !important;
	}
}
