/* MrSwash cart, checkout & order received. Tokens/buttons/cards come from shop.css. */
body.woocommerce-cart, body.woocommerce-checkout {
	--mws-red: #f2382c; --mws-red-d: #d42416; --mws-ink: #25272d; --mws-muted: #646872;
	--mws-soft: #f5f5f7; --mws-line: #e4e4e9; --mws-ok: #16794a;
	--mws-head: 'Arimo', system-ui, sans-serif; --mws-body: 'Arimo', system-ui, sans-serif;
	--mws-card: 0 1px 2px rgba(37, 39, 45, .04), 0 8px 24px rgba(37, 39, 45, .05);
	--mws-top: calc(24px + var(--wp-admin--admin-bar--height, 0px));
}
body.woocommerce-cart #content, body.woocommerce-checkout #content { background: var(--mws-soft); }
body.woocommerce-cart .site-content > .ast-container, body.woocommerce-checkout .site-content > .ast-container { max-width: 1240px; padding-top: 28px; padding-bottom: 72px; }
body.woocommerce-cart .ast-article-single, body.woocommerce-cart .ast-article-post,
body.woocommerce-checkout .ast-article-single, body.woocommerce-checkout .ast-article-post { background: transparent !important; padding: 0 !important; margin: 0 !important; border: 0 !important; box-shadow: none !important; }
body.woocommerce-cart #primary, body.woocommerce-checkout #primary { margin: 0 !important; padding: 0 !important; width: 100%; }
.woocommerce-cart .woocommerce, .woocommerce-checkout .woocommerce { font-family: var(--mws-body); color: var(--mws-ink); }
.mws-js .mws-update { display: none !important; }
.woocommerce-cart .mws.mws-steps, .woocommerce-cart .mws.mws-cart, .woocommerce-checkout .mws.mws-steps { background: transparent; }
.mws-hidden { display: none !important; }

/* ---------- Steps ---------- */
.mws-steps ol { display: flex; justify-content: center; align-items: center; list-style: none; margin: 0 0 28px !important; padding: 0 !important; }
.mws-steps li { display: flex; align-items: center; gap: 10px; margin: 0; font: 700 14px var(--mws-head); color: var(--mws-muted); }
.mws-steps li + li::before { content: ""; width: clamp(24px, 6vw, 72px); height: 2px; margin: 0 14px; border-radius: 2px; background: var(--mws-line); }
.mws-steps li.is-done + li::before, .mws-steps li.is-current::before { background: var(--mws-ink); }
.mws-steps a { display: flex; align-items: center; gap: 10px; color: inherit; }
.mws-steps a:hover { color: var(--mws-red-d); }
.mws-steps__n { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; border: 2px solid var(--mws-line); background: #fff; font-size: 13px; }
.mws-steps__n .mws-ico { width: 15px; height: 15px; stroke-width: 3; }
.mws-steps .is-current { color: var(--mws-ink); }
.mws-steps .is-current .mws-steps__n { background: var(--mws-red); border-color: var(--mws-red); color: #fff; }
.mws-steps .is-done { color: var(--mws-ink); }
.mws-steps .is-done .mws-steps__n { background: var(--mws-ink); border-color: var(--mws-ink); color: #fff; }

/* ---------- Notices ---------- */
.woocommerce-cart .woocommerce-notices-wrapper > *, .woocommerce-checkout .woocommerce-notices-wrapper > *,
.woocommerce-checkout .woocommerce-NoticeGroup > ul, .woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
	margin: 0 0 18px !important; padding: 14px 18px 14px 48px !important; border: 0 !important; border-radius: 14px; background: #fff !important; color: var(--mws-ink) !important; box-shadow: var(--mws-card); font-size: 15px; line-height: 1.5;
}
.woocommerce-checkout .woocommerce-error, .woocommerce-cart .woocommerce-error { border-left: 4px solid var(--mws-red) !important; }
.woocommerce-cart .woocommerce-message, .woocommerce-checkout .woocommerce-message { border-left: 4px solid #1f9d55 !important; }
.woocommerce-cart .woocommerce-notices-wrapper > *::before, .woocommerce-checkout .woocommerce-notices-wrapper > *::before, .woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before { top: 14px !important; left: 18px !important; color: var(--mws-red) !important; }
.woocommerce-cart .woocommerce-message .button, .woocommerce-cart .woocommerce-message a { color: var(--mws-red-d) !important; background: none !important; padding: 0 !important; font-weight: 700; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a { color: var(--mws-red-d); font-weight: 700; }

/* ---------- Cards (shared) ---------- */
.mws-cart__items, .cart_totals,
.woocommerce-checkout .woocommerce-billing-fields, .woocommerce-checkout .woocommerce-shipping-fields, .woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout #order_review, .woocommerce-checkout form.checkout_coupon,
.woocommerce-order .woocommerce-order-details, .woocommerce-order .woocommerce-customer-details, .woocommerce-order .woocommerce-bacs-bank-details, .mws-invoice-box, .mws-empty-cart {
	background: #fff; border-radius: 18px; box-shadow: var(--mws-card);
}

/* ---------- Cart layout ---------- */
.mws-cart { display: grid; grid-template-columns: minmax(0, 1fr) 390px; gap: 28px; align-items: start; }
.mws-cart .woocommerce-cart-form { margin: 0; min-width: 0; }
.mws-cart__items { padding: 6px 26px 20px; }
.mws-cart__head { display: flex; align-items: baseline; gap: 12px; padding: 20px 0 14px; }
.mws-cart__head h1 { margin: 0; font: 700 26px/1.2 var(--mws-head); color: var(--mws-ink); }
.mws-cart__head span { color: var(--mws-muted); font-size: 15px; }
.mws-cart__list { list-style: none; margin: 0 !important; padding: 0 !important; }

.mws-line { display: grid; grid-template-columns: 88px minmax(0, 1fr) auto 104px 40px; grid-template-areas: "img info qty total remove"; align-items: center; gap: 18px; padding: 18px 0; margin: 0; border-top: 1px solid var(--mws-line); }
.mws-line__img { grid-area: img; }
.mws-line__img a, .mws-line__img > img { position: relative; display: block; width: 88px; height: 88px; border-radius: 14px; background: var(--mws-soft); overflow: hidden; }
.mws-line__img img { position: absolute; inset: 8px; width: calc(100% - 16px) !important; height: calc(100% - 16px) !important; max-width: none; object-fit: contain; mix-blend-mode: multiply; }
.mws-line__info { grid-area: info; min-width: 0; }
.mws-line__info > a { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font: 600 15.5px/1.4 var(--mws-head); color: var(--mws-ink) !important; }
.mws-line__info > a:hover { color: var(--mws-red-d) !important; }
.mws-line__info dl.variation { margin: 4px 0 0; font-size: 13px; color: var(--mws-muted); }
.mws-line__unit { display: block; margin-top: 6px; font-size: 13.5px; color: var(--mws-muted); }
.mws-line__qty { grid-area: qty; }
.mws-line__total { grid-area: total; text-align: right; font: 700 17px var(--mws-head); white-space: nowrap; }
.mws-line__remove { grid-area: remove; }
.woocommerce .mws-line__remove a.remove {
	display: grid !important; place-items: center; width: 38px !important; height: 38px !important; border-radius: 50% !important;
	color: var(--mws-muted) !important; background: transparent !important; font-size: 0 !important; line-height: 1 !important; border: 0 !important;
}
.woocommerce .mws-line__remove a.remove:hover { color: var(--mws-red-d) !important; background: rgba(242, 56, 44, .1) !important; }

/* Quantity pill (cart rows) */
.mws-line .quantity { display: inline-flex !important; align-items: center; height: 44px; margin: 0 !important; border: 1.5px solid var(--mws-line); border-radius: 999px; background: #fff; float: none !important; }
.mws-line .quantity input.qty { width: 40px !important; height: 100% !important; min-height: 0; padding: 0 !important; margin: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; font: 700 16px var(--mws-head) !important; color: var(--mws-ink); text-align: center; -moz-appearance: textfield; }
.mws-line .quantity input.qty::-webkit-inner-spin-button, .mws-line .quantity input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.mws-qty-btn { display: grid; place-items: center; width: 38px; height: 100%; padding: 0 !important; border: 0 !important; border-radius: 999px; background: none !important; color: var(--mws-ink) !important; cursor: pointer; }
.mws-qty-btn:hover { color: var(--mws-red-d) !important; }
.mws-line .ast-qty-placeholder, .mws-line .quantity .minus, .mws-line .quantity .plus { display: none !important; }

.mws-cart__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 0 4px !important; border-top: 1px solid var(--mws-line); }
.mws-coupon > summary { cursor: pointer; list-style: none; font: 700 14.5px var(--mws-head); color: var(--mws-red-d); }
.mws-coupon > summary::-webkit-details-marker { display: none; }
.mws-coupon > summary::before { content: "+ "; }
.mws-coupon[open] > summary::before { content: "− "; }
.mws-cart .mws-coupon .coupon { display: flex; gap: 8px; margin-top: 12px; float: none !important; }
.mws-cart .mws-coupon #coupon_code { width: 220px !important; height: 46px; margin: 0 !important; padding: 0 14px !important; border: 1.5px solid var(--mws-line) !important; border-radius: 12px !important; font-size: 15px; }
.mws-cart .mws-coupon .button, .mws-cart .mws-update { height: 46px; padding: 0 18px !important; border-radius: 12px !important; background: var(--mws-ink) !important; color: #fff !important; border: 0 !important; font: 700 14px var(--mws-head) !important; text-transform: none !important; letter-spacing: normal !important; }
.mws-cart__continue { display: inline-block; margin-top: 14px; font-weight: 700; font-size: 14.5px; color: var(--mws-muted) !important; }
.mws-cart__continue:hover { color: var(--mws-red-d) !important; }

/* ---------- Totals (cart + checkout share the table styles) ---------- */
.mws-cart__summary { position: sticky; top: var(--mws-top); width: 100% !important; float: none !important; margin: 0 !important; }
.mws-cart__summary .cart_totals { width: 100% !important; float: none !important; padding: 22px 24px 24px; border: 0 !important; }
.woocommerce-cart .cart-collaterals { border: 0 !important; background: none !important; padding: 0 !important; }
/* WooCommerce's responsive-table mode hides the row labels on phones; keep them. */
.woocommerce .cart_totals table.shop_table_responsive tr th, .woocommerce-checkout-review-order-table tfoot tr th { display: block !important; }
.woocommerce .cart_totals table.shop_table_responsive tr td { text-align: right !important; }
.cart_totals > h2 { padding: 0 !important; background: none !important; border: 0 !important; margin: 0 0 14px !important; font: 700 20px var(--mws-head) !important; color: var(--mws-ink); }
.cart_totals table.shop_table, .woocommerce-checkout-review-order-table { width: 100%; margin: 0 !important; border: 0 !important; border-radius: 0 !important; border-collapse: collapse; }
.cart_totals table.shop_table tbody, .cart_totals table.shop_table tr,
.woocommerce-checkout-review-order-table tbody, .woocommerce-checkout-review-order-table tfoot, .woocommerce-checkout-review-order-table tr { display: block; }
.cart_totals table.shop_table tr, .woocommerce-checkout-review-order-table tfoot tr { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 12px 0; border-top: 1px solid var(--mws-line); }
.cart_totals table.shop_table th, .cart_totals table.shop_table td,
.woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td { display: block; padding: 0 !important; border: 0 !important; background: none !important; }
.cart_totals table.shop_table th, .woocommerce-checkout-review-order-table tfoot th { font: 600 14.5px var(--mws-body); color: var(--mws-muted); }
.cart_totals table.shop_table td, .woocommerce-checkout-review-order-table tfoot td { text-align: right; font-size: 15px; font-weight: 700; }
.cart_totals table.shop_table td::before, .woocommerce-checkout-review-order-table td::before { display: none !important; }
.cart_totals .order-total, .woocommerce-checkout-review-order-table .order-total { padding-top: 16px !important; }
.cart_totals .order-total th, .woocommerce-checkout-review-order-table .order-total th { color: var(--mws-ink); font-size: 16px; font-weight: 700; }
.cart_totals .order-total td, .woocommerce-checkout-review-order-table .order-total td { font: 800 24px var(--mws-head); color: var(--mws-ink); }
.cart_totals .order-total small, .woocommerce-checkout-review-order-table .order-total small { display: block; font-size: 12px; font-weight: 500; color: var(--mws-muted); }

/* Shipping choices as option cards */
.woocommerce-shipping-totals { flex-direction: column; align-items: stretch !important; }
.woocommerce-shipping-totals td { text-align: left !important; }
ul#shipping_method { display: grid; gap: 8px; margin: 8px 0 0 !important; padding: 0 !important; list-style: none; }
ul#shipping_method li { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0 !important; padding: 12px 14px !important; border: 1.5px solid var(--mws-line); border-radius: 12px; text-align: left; font-weight: 600; text-indent: 0 !important; line-height: 1.35; cursor: pointer; transition: border-color .15s, background .15s; }
ul#shipping_method li:has(input:checked), ul#shipping_method li:only-child { border-color: var(--mws-ink); background: #fbfbfc; }
ul#shipping_method li input { margin: 0 !important; accent-color: var(--mws-red); width: 18px; height: 18px; }
ul#shipping_method li label { flex: 1; margin: 0 !important; font: 600 14.5px var(--mws-body); color: var(--mws-ink); cursor: pointer; display: flex; justify-content: space-between; gap: 8px; }
ul#shipping_method li label .amount { font-weight: 700; }
.mws-rate-note { flex-basis: 100%; padding-left: 28px; font-size: 13px; font-weight: 500; color: var(--mws-muted); }
.woocommerce-shipping-destination, .woocommerce-shipping-contents { margin: 8px 0 0 !important; font-size: 13px; font-weight: 500; color: var(--mws-muted); }

/* Free shipping progress */
.mws-freeship { margin: 0 0 18px; padding: 14px 16px; border-radius: 14px; background: #fff6f5; }
.mws-freeship p { display: flex; align-items: center; gap: 10px; margin: 0 0 10px !important; font-size: 14.5px; line-height: 1.4; color: var(--mws-ink); }
.mws-freeship .mws-ico { flex: none; color: var(--mws-red); }
.mws-freeship__bar { display: block; height: 8px; border-radius: 8px; background: rgba(242, 56, 44, .14); overflow: hidden; }
.mws-freeship__bar span { display: block; height: 100%; border-radius: 8px; background: linear-gradient(90deg, var(--mws-red-d), var(--mws-red)); transition: width .4s ease; }
.mws-freeship.is-done { background: #eefaf3; }
.mws-freeship.is-done .mws-ico { color: var(--mws-ok); }
.mws-freeship.is-done .mws-freeship__bar { background: rgba(31, 157, 85, .16); }
.mws-freeship.is-done .mws-freeship__bar span { background: #1f9d55; }
.widget_shopping_cart .mws-freeship { margin: 12px 0; }

/* Proceed button */
.wc-proceed-to-checkout { padding: 18px 0 0 !important; }
.woocommerce .wc-proceed-to-checkout a.checkout-button, .woocommerce-checkout #place_order {
	display: flex !important; align-items: center; justify-content: center; width: 100%; height: 58px; margin: 0 !important; padding: 0 24px !important;
	border: 0 !important; border-radius: 999px !important; background: var(--mws-red) !important; color: #fff !important;
	font: 700 17px/1 var(--mws-head) !important; text-transform: none !important; letter-spacing: normal !important;
	box-shadow: 0 10px 22px rgba(242, 56, 44, .28); transition: background .2s, box-shadow .2s; float: none !important;
}
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover, .woocommerce-checkout #place_order:hover { background: var(--mws-red-d) !important; box-shadow: 0 12px 26px rgba(242, 56, 44, .34); }
.mws-pay-note { margin: 12px 0 0 !important; text-align: center; font-size: 13px; color: var(--mws-muted); }

/* Suggestions rail under the cart */
.woocommerce-cart .mws-p-related { margin-top: 40px; padding: 0; background: none; }
.woocommerce-cart .mws-p-related .mws-wrap { padding: 0; max-width: none; }

/* Mobile sticky total */
.mws-cart-bar { display: none; }

/* ---------- Empty cart ---------- */
.mws-empty-cart { max-width: 640px; margin: 10px auto 0; padding: 56px 28px; text-align: center; }
.mws-empty-cart__icon { display: inline-grid; place-items: center; width: 84px; height: 84px; border-radius: 50%; background: rgba(242, 56, 44, .1); color: var(--mws-red); }
.mws-empty-cart__icon .mws-ico { width: 38px; height: 38px; }
.mws-empty-cart h1 { margin: 20px 0 8px !important; font: 700 26px var(--mws-head); color: var(--mws-ink); }
.mws-empty-cart > p { margin: 0 0 22px; color: var(--mws-muted); font-size: 16px; }
.mws-empty-cart .return-to-shop { margin-bottom: 26px; }
.mws-empty-cart__cats { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; list-style: none; margin: 0 !important; padding: 0 !important; }
.mws-empty-cart__cats a { display: inline-block; padding: 8px 14px; border-radius: 999px; background: var(--mws-soft); color: var(--mws-ink) !important; font-size: 14px; font-weight: 600; }
.mws-empty-cart__cats a:hover { background: #ebebef; }

/* ---------- Checkout layout ---------- */
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1fr) 420px; grid-template-rows: auto 1fr; column-gap: 28px; align-items: start; }
.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup { grid-column: 1 / -1; }
.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important; display: grid; gap: 20px; }
.woocommerce-checkout #customer_details wc-order-attribution-inputs { display: none; } /* hidden inputs only; keeps grid gaps even */
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { width: 100% !important; float: none !important; padding: 0 !important; margin: 0 !important; max-width: none; display: grid; gap: 20px; }
.woocommerce-checkout #order_review_heading { grid-column: 2; grid-row: 1; margin: 0 !important; padding: 22px 24px 4px !important; border-radius: 18px 18px 0 0; background: #fff; font: 700 20px var(--mws-head) !important; width: auto !important; float: none !important; border: 0 !important; }
.woocommerce-checkout #order_review { grid-column: 2; grid-row: 2; width: auto !important; float: none !important; padding: 8px 24px 24px !important; border-radius: 0 0 18px 18px; border: 0 !important; margin: 0 !important; }
.woocommerce-checkout #order_review_heading + #order_review { box-shadow: 0 8px 24px rgba(37, 39, 45, .05); }

.woocommerce-checkout .woocommerce-billing-fields, .woocommerce-checkout .woocommerce-shipping-fields:not(:empty), .woocommerce-checkout .woocommerce-additional-fields { padding: 24px 26px 26px; }
.woocommerce-checkout .woocommerce-shipping-fields:empty { display: none; }
.woocommerce-checkout .woocommerce-billing-fields > h3, .woocommerce-checkout .woocommerce-additional-fields > h3, .woocommerce-checkout #ship-to-different-address {
	margin: 0 0 18px !important; padding: 0 !important; border: 0 !important; font: 700 20px var(--mws-head) !important; color: var(--mws-ink);
}
.woocommerce-checkout #ship-to-different-address { font-size: 15.5px !important; margin: 0 !important; }
.woocommerce-checkout #ship-to-different-address label { display: flex; align-items: center; gap: 10px; cursor: pointer; font-weight: 700; }
.woocommerce-checkout #ship-to-different-address input { accent-color: var(--mws-red); width: 18px; height: 18px; margin: 0; }
.woocommerce-checkout .shipping_address { margin-top: 18px; }

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper, .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
	display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper::before, .woocommerce-checkout .woocommerce-billing-fields__field-wrapper::after,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper::before, .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper::after { display: none; }
.woocommerce-checkout .form-row { width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row, .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row, .woocommerce-checkout .woocommerce-additional-fields .form-row { grid-column: 1 / -1; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row.mws-half { grid-column: auto; }
.woocommerce-checkout .mws-invoice-type .optional, .woocommerce-checkout .mws-invoice-field .optional { display: none; }
.woocommerce-checkout .form-row label { display: block; margin: 0 0 6px !important; font: 600 13.5px var(--mws-body); color: #3d4048; line-height: 1.3; }
.woocommerce-checkout .form-row label .optional { font-weight: 400; color: var(--mws-muted); }
.woocommerce-checkout .form-row .required { color: var(--mws-red); text-decoration: none; border: 0; }
.woocommerce-checkout .form-row input.input-text, .woocommerce-checkout .form-row select, .woocommerce-checkout .form-row textarea,
.woocommerce-checkout .select2-container .select2-selection--single {
	width: 100%; height: 50px; margin: 0; padding: 0 14px !important; border: 1.5px solid var(--mws-line) !important; border-radius: 12px !important;
	background: #fff !important; box-shadow: none !important; font: 16px var(--mws-body) !important; color: var(--mws-ink) !important;
	transition: border-color .15s, box-shadow .15s;
}
.woocommerce-checkout .form-row textarea { height: 96px; padding: 12px 14px !important; line-height: 1.5; }
.woocommerce-checkout .select2-container .select2-selection--single { display: flex; align-items: center; }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered { padding: 0 !important; line-height: 1.2 !important; color: var(--mws-ink); }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow { height: 48px !important; right: 10px !important; }
.woocommerce-checkout .form-row input.input-text:focus, .woocommerce-checkout .form-row textarea:focus, .woocommerce-checkout .select2-container--focus .select2-selection--single, .woocommerce-checkout .select2-container--open .select2-selection--single {
	border-color: var(--mws-ink) !important; box-shadow: 0 0 0 3px rgba(37, 39, 45, .08) !important; outline: none;
}
.woocommerce-checkout .form-row.woocommerce-invalid input.input-text, .woocommerce-checkout .form-row.woocommerce-invalid .select2-selection { border-color: var(--mws-red) !important; }
.woocommerce-checkout .form-row.woocommerce-invalid label { color: var(--mws-red-d); }
.woocommerce-checkout .form-row .description { margin-top: 6px; font-size: 13px; color: var(--mws-muted); }
.woocommerce-checkout .woocommerce-input-wrapper strong { font-weight: 600; } /* single-country text */

/* Απόδειξη / Τιμολόγιο */
.woocommerce-checkout .mws-invoice-type { margin-top: 8px !important; padding-top: 18px !important; border-top: 1px solid var(--mws-line); }
.woocommerce-checkout .mws-invoice-type > label { font: 700 15.5px var(--mws-head) !important; color: var(--mws-ink) !important; margin-bottom: 10px !important; }
.woocommerce-checkout .mws-invoice-type .woocommerce-input-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.woocommerce-checkout .mws-invoice-type input.input-radio { position: absolute; opacity: 0; pointer-events: none; }
.woocommerce-checkout .mws-invoice-type label.radio {
	display: flex !important; align-items: center; justify-content: center; height: 48px; margin: 0 !important;
	border: 1.5px solid var(--mws-line); border-radius: 12px; background: #fff; cursor: pointer;
	font: 700 15px var(--mws-head) !important; color: var(--mws-muted) !important; transition: all .15s;
}
.woocommerce-checkout .mws-invoice-type input.input-radio:checked + label.radio { border-color: var(--mws-ink); color: var(--mws-ink) !important; background: #fbfbfc; box-shadow: inset 0 0 0 1px var(--mws-ink); }
.woocommerce-checkout .mws-invoice-type input.input-radio:focus-visible + label.radio { outline: 2px solid var(--mws-red); outline-offset: 2px; }
.woocommerce-checkout .mws-invoice-field { display: none !important; }
.woocommerce-checkout .mws-invoice-field.is-open { display: block !important; animation: mws-in .2s ease; }
@keyframes mws-in { from { opacity: 0; transform: translateY(-4px); } }

/* Notes */
.woocommerce-checkout .woocommerce-additional-fields.is-folded { padding: 18px 26px; }
.woocommerce-checkout .woocommerce-additional-fields.is-folded > h3, .woocommerce-checkout .woocommerce-additional-fields.is-folded .woocommerce-additional-fields__field-wrapper { display: none; }
.mws-notes-toggle { padding: 0 !important; border: 0 !important; background: none !important; color: var(--mws-red-d) !important; font: 700 15px var(--mws-head) !important; cursor: pointer; text-transform: none !important; letter-spacing: normal !important; }

/* Order summary rows */
.woocommerce-checkout-review-order-table thead { display: none !important; }
.woocommerce-checkout-review-order-table tr.cart_item { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--mws-line); }
.woocommerce-checkout-review-order-table tbody tr.cart_item:last-child { border-bottom: 0; }
.woocommerce-checkout-review-order-table td.product-name { display: flex !important; flex-wrap: nowrap !important; align-items: center; gap: 12px; min-width: 0; flex: 1; font: 600 14.5px/1.35 var(--mws-head); color: var(--mws-ink); }
.mws-review-thumb { position: relative; flex: none; display: block; width: 56px; height: 56px; border-radius: 12px; background: var(--mws-soft); overflow: hidden; }
.mws-review-thumb img { position: absolute; inset: 5px; width: calc(100% - 10px) !important; height: calc(100% - 10px) !important; max-width: none; object-fit: contain; mix-blend-mode: multiply; }
.mws-review-name { flex: 1; min-width: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.woocommerce-checkout-review-order-table .product-quantity { flex: none; padding: 2px 8px; border-radius: 999px; background: var(--mws-soft); font-size: 12.5px; font-weight: 700 !important; color: var(--mws-muted); }
.woocommerce-checkout-review-order-table td.product-total { flex: none; font: 700 15px var(--mws-head); text-align: right; }
.woocommerce-checkout-review-order-table tfoot tr:first-child { border-top: 1px solid var(--mws-line); }

/* Payment methods as option cards */
.woocommerce-checkout #payment { margin-top: 18px; background: transparent !important; border-radius: 0 !important; }
.woocommerce-checkout #payment ul.payment_methods { display: grid; gap: 10px; margin: 0 !important; padding: 0 !important; border: 0 !important; list-style: none; }
.woocommerce-checkout #payment ul.payment_methods::before, .woocommerce-checkout #payment ul.payment_methods::after { display: none; }
.woocommerce-checkout #payment ul.payment_methods li { margin: 0 !important; padding: 14px 16px !important; border: 1.5px solid var(--mws-line); border-radius: 12px; background: #fff; line-height: 1.4; transition: border-color .15s, background .15s; }
.woocommerce-checkout #payment ul.payment_methods li:has(> input:checked) { border-color: var(--mws-ink); background: #fbfbfc; }
.woocommerce-checkout #payment ul.payment_methods li > input { margin: 0 10px 0 0 !important; accent-color: var(--mws-red); width: 18px; height: 18px; vertical-align: -3px; }
.woocommerce-checkout #payment ul.payment_methods li > label { display: inline !important; margin: 0 !important; font: 700 15px var(--mws-head); color: var(--mws-ink); cursor: pointer; }
.woocommerce-checkout #payment ul.payment_methods li img { max-height: 24px; margin-left: 8px; vertical-align: middle; }
.woocommerce-checkout #payment div.payment_box { margin: 12px 0 0 !important; padding: 12px 14px !important; border-radius: 10px; background: var(--mws-soft) !important; color: #3d4048 !important; font-size: 14px; line-height: 1.55; }
.woocommerce-checkout #payment div.payment_box::before { display: none !important; }
.woocommerce-checkout #payment div.payment_box p:last-child { margin-bottom: 0; }
.woocommerce-checkout #payment div.form-row.place-order { margin-top: 18px !important; padding: 0 !important; }
.woocommerce-checkout .woocommerce-privacy-policy-text, .woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { font-size: 13px; line-height: 1.5; color: var(--mws-muted); }
.woocommerce-checkout .woocommerce-privacy-policy-text p { margin: 0 0 14px; }
.mws-secure { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 14px 0 0 !important; font-size: 13px; color: var(--mws-muted); order: 3; }
.mws-secure .mws-ico { width: 16px; height: 16px; color: var(--mws-ok); stroke-width: 3; }
.woocommerce-checkout .blockUI.blockOverlay { border-radius: 18px; background: rgba(255, 255, 255, .7) !important; }

/* Coupon form on checkout */
.woocommerce-checkout form.checkout_coupon { margin: 0 0 18px !important; padding: 18px 22px !important; border: 0 !important; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.woocommerce-checkout form.checkout_coupon p:first-child { flex-basis: 100%; margin: 0; font-size: 14px; color: var(--mws-muted); }
.woocommerce-checkout form.checkout_coupon .form-row { margin: 0 !important; }
.woocommerce-checkout form.checkout_coupon .input-text { height: 46px; border-radius: 12px !important; border: 1.5px solid var(--mws-line) !important; padding: 0 14px !important; }
.woocommerce-checkout form.checkout_coupon .button { height: 46px; border-radius: 12px !important; background: var(--mws-ink) !important; color: #fff !important; text-transform: none !important; letter-spacing: normal !important; }

/* ---------- Order received ---------- */
.woocommerce-order { max-width: 860px; margin: 0 auto; display: grid; gap: 20px; }
.woocommerce-order .woocommerce-thankyou-order-received, .woocommerce-order .woocommerce-notice--success {
	margin: 0 !important; padding: 34px 28px 28px 28px !important; border-radius: 18px; background: #fff; box-shadow: var(--mws-card);
	text-align: center; font: 700 22px/1.35 var(--mws-head); color: var(--mws-ink);
}
.woocommerce-order .woocommerce-thankyou-order-received::before {
	content: ""; display: block; width: 64px; height: 64px; margin: 0 auto 14px; border-radius: 50%;
	background: #eefaf3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f9d55' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 32px no-repeat;
}
.woocommerce-order ul.order_details { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin: 0 !important; padding: 0 !important; list-style: none; }
.woocommerce-order ul.order_details::before, .woocommerce-order ul.order_details::after { display: none; }
.woocommerce-order ul.order_details li { float: none !important; margin: 0 !important; padding: 14px 16px !important; border: 0 !important; border-radius: 14px; background: #fff; box-shadow: var(--mws-card); font-size: 12.5px; text-transform: none; color: var(--mws-muted); line-height: 1.4; }
.woocommerce-order ul.order_details li strong { display: block; margin-top: 4px; font: 700 15.5px var(--mws-head); color: var(--mws-ink); word-break: break-word; }
.woocommerce-order > p:not([class]), .woocommerce-order .woocommerce-bacs-bank-details, .woocommerce-order .woocommerce-order-details, .woocommerce-order .woocommerce-customer-details, .mws-invoice-box { margin: 0 !important; padding: 22px 24px !important; }
.woocommerce-order > p:not([class]) { background: #fff; border-radius: 18px; box-shadow: var(--mws-card); }
.woocommerce-order h2, .woocommerce-order .woocommerce-order-details__title { padding: 0 !important; background: none !important; border: 0 !important; margin: 0 0 14px !important; font: 700 20px var(--mws-head) !important; color: var(--mws-ink); }
.woocommerce-order .woocommerce-order-details table.shop_table { border: 0 !important; margin: 0 !important; }
.woocommerce-order .woocommerce-order-details table.shop_table th, .woocommerce-order .woocommerce-order-details table.shop_table td { padding: 12px 0 !important; border: 0 !important; border-top: 1px solid var(--mws-line) !important; background: none !important; }
.woocommerce-order .woocommerce-order-details table.shop_table td:last-child, .woocommerce-order .woocommerce-order-details table.shop_table th:last-child { text-align: right; }
.woocommerce-order .woocommerce-customer-details address { border: 0 !important; padding: 0 !important; font-style: normal; line-height: 1.7; }
.woocommerce-order .wc-bacs-bank-details { margin: 0 !important; padding: 0 !important; list-style: none; display: grid; gap: 8px; }
.woocommerce-order .wc-bacs-bank-details li { margin: 0; color: var(--mws-muted); font-size: 14px; }
.woocommerce-order .wc-bacs-bank-details li strong { color: var(--mws-ink); font-size: 15.5px; }
.mws-invoice-box dl { display: grid; grid-template-columns: max-content 1fr; gap: 6px 18px; margin: 0; }
.mws-invoice-box dt { color: var(--mws-muted); font-size: 14px; }
.mws-invoice-box dd { margin: 0; font-weight: 700; }

/* ---------- Responsive ---------- */
@media (max-width: 1080px) {
	.mws-cart { grid-template-columns: minmax(0, 1fr) 340px; gap: 20px; }
	.woocommerce-checkout form.checkout { grid-template-columns: minmax(0, 1fr) 360px; column-gap: 20px; }
}
@media (max-width: 921px) {
	.mws-cart { grid-template-columns: minmax(0, 1fr); }
	.mws-cart__summary { position: static; }
	.woocommerce-checkout form.checkout { grid-template-columns: minmax(0, 1fr); row-gap: 0; }
	.woocommerce-checkout #customer_details { grid-row: auto; margin-bottom: 20px !important; }
	.woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { grid-column: 1; grid-row: auto; }
}
@media (max-width: 767px) {
	body.woocommerce-cart .site-content > .ast-container, body.woocommerce-checkout .site-content > .ast-container { padding: 16px 12px 96px; }
	.mws-steps ol { margin-bottom: 18px !important; }
	.mws-steps li:not(.is-current) .mws-steps__label { display: none; }
	.mws-steps li + li::before { width: 22px; margin: 0 8px; }
	.mws-cart__items { padding: 2px 16px 16px; }
	.mws-cart__head h1 { font-size: 22px; }
	.mws-line { grid-template-columns: 72px minmax(0, 1fr) 36px; grid-template-areas: "img info remove" "img qty total"; gap: 8px 12px; padding: 14px 0; align-items: start; }
	.mws-line__img a, .mws-line__img > img { width: 72px; height: 72px; }
	.mws-line__info > a { font-size: 14.5px; }
	.mws-line__qty { align-self: center; }
	.mws-line__total { align-self: center; font-size: 16px; }
	.mws-line .quantity { height: 40px; }
	.mws-line__remove a.remove { width: 34px !important; height: 34px !important; margin-top: -6px; }
	.mws-cart .mws-coupon #coupon_code { width: 100% !important; flex: 1; }
	.mws-cart__summary .cart_totals { padding: 18px; }
	.woocommerce-checkout .woocommerce-billing-fields, .woocommerce-checkout .woocommerce-shipping-fields:not(:empty), .woocommerce-checkout .woocommerce-additional-fields { padding: 18px; }
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper, .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper { grid-template-columns: minmax(0, 1fr); }
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row.mws-half { grid-column: 1 / -1; }
	.woocommerce-checkout #order_review_heading { padding: 18px 18px 2px !important; }
	.woocommerce-checkout #order_review { padding: 6px 18px 20px !important; }
	.woocommerce-order ul.order_details { grid-template-columns: 1fr 1fr; }

	.mws-cart-bar {
		position: fixed; z-index: 9990; left: 0; right: 0; bottom: 0; display: flex; align-items: center; gap: 14px;
		padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: rgba(255, 255, 255, .97); backdrop-filter: blur(8px);
		box-shadow: 0 -8px 26px rgba(37, 39, 45, .1); font-family: var(--mws-body);
	}
	.mws-cart-bar > div { display: flex; flex-direction: column; line-height: 1.2; }
	.mws-cart-bar small { font-size: 12px; color: var(--mws-muted); }
	.mws-cart-bar strong { font: 800 19px var(--mws-head); color: var(--mws-ink); }
	.mws-cart-bar .mws-btn { flex: 1; height: 50px; }
}

/* Policy links under the checkout button */
.mws-cart-legal .mws-legal { margin-top: 10px; font-size: 12.5px; color: var(--mws-muted); }
