/* These rules keep gateway-owned fields and event handlers intact. */
body.alt-payments-styled-checkout,
body.alt-payments-styled-cart {
	--alt-ink: #142344;
	--alt-muted: #5c6d89;
	--alt-line: #dee7f4;
	--alt-blue: #245bff;
	background: #f2f6fc;
	color: var(--alt-ink);
}
.alt-payments-checkout-heading { max-width: 100%; margin: 36px 0 28px; }
.alt-payments-checkout-heading .alt-payments-eyebrow { color: #42629a; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; margin: 0 0 8px; }
.alt-payments-checkout-heading h1 { font-size: clamp(32px, 4vw, 48px); font-weight: 750; letter-spacing: -.04em; line-height: 1.1; margin: 0 0 12px; }
.alt-payments-checkout-heading > p:last-child { color: var(--alt-muted); font-size: 17px; margin: 0; }
body.alt-payments-styled-checkout .wp-block-post-title, body.alt-payments-styled-cart .wp-block-post-title { display: none; }
body.alt-payments-styled-checkout .wp-block-woocommerce-checkout { max-width: 100%; margin-inline: auto; padding-top: 0; }
body.alt-payments-styled-checkout .wc-block-components-sidebar-layout.wc-block-checkout { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(300px, 1fr); gap: 28px; align-items: start; }
body.alt-payments-styled-checkout .wc-block-checkout__main,
body.alt-payments-styled-checkout .wc-block-checkout__sidebar { width: auto; min-width: 0; padding: 0; margin: 0; }
body.alt-payments-styled-checkout .wc-block-checkout__sidebar { position: static; }
body.alt-payments-styled-checkout .wc-block-checkout__main .wc-block-components-checkout-step { padding: 24px; margin: 0 0 20px; background: #fff; border: 1px solid var(--alt-line); border-radius: 18px; }
body.alt-payments-styled-checkout .wc-block-checkout__main .wc-block-components-checkout-step__container { padding: 0; }
body.alt-payments-styled-checkout .wc-block-components-checkout-step__heading { margin-bottom: 16px; }
body.alt-payments-styled-checkout .wc-block-components-title { font-size: 21px; font-weight: 700; letter-spacing: -.02em; }
body.alt-payments-styled-checkout.alt-payments-sticky-summary .wc-block-checkout__sidebar { position: sticky; top: var(--alt-sticky-top, 24px); }
body.alt-payments-styled-checkout .wp-block-woocommerce-checkout-order-summary-block { background: #fff; border: 1px solid var(--alt-line); border-radius: 20px; padding: 12px 8px; overflow: hidden; box-shadow: 0 12px 36px #223c7110; }
body.alt-payments-styled-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__image img { border-radius: 10px; }
body.alt-payments-styled-checkout .wc-block-components-totals-footer-item { background: #edfaf3; margin: 12px 16px; padding: 18px 16px; border-radius: 12px; width: auto; }
body.alt-payments-styled-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { color: #098342; font-weight: 750; }
body.alt-payments-styled-checkout .wc-block-components-text-input input,
body.alt-payments-styled-checkout .wc-block-components-combobox .wc-block-components-combobox-control input,
body.alt-payments-styled-checkout select { border-radius: 10px !important; border-color: #cad5e6 !important; }
body.alt-payments-styled-checkout .wc-block-components-radio-control-accordion-option { background: #fff; border: 1px solid var(--alt-line); border-radius: 12px; margin-bottom: 10px; overflow: hidden; }
body.alt-payments-styled-checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted { background: #f5f9ff; border-color: #7a9cff; box-shadow: 0 0 0 1px #7a9cff; }
body.alt-payments-styled-checkout .wc-block-components-radio-control__option { box-shadow: none !important; border: 0 !important; }
body.alt-payments-styled-checkout .wc-block-components-radio-control__input { accent-color: var(--alt-blue); }
body.alt-payments-styled-checkout .wc-block-components-radio-control-accordion-content { padding: 0 16px 16px; }
body.alt-payments-styled-checkout .wc-block-components-checkout-place-order-button { background: var(--alt-blue); color: #fff; border: 0; border-radius: 12px; min-height: 56px; font-weight: 700; box-shadow: 0 8px 20px #245bff22; }
body.alt-payments-styled-checkout .wc-block-components-checkout-place-order-button:hover { background: #1749dd; }
body.alt-payments-styled-checkout .wc-block-components-checkout-place-order-button:focus-visible { outline: 3px solid #9fb7ff; outline-offset: 3px; }
body.alt-payments-styled-checkout form.checkout #customer_details,
body.alt-payments-styled-checkout form.checkout #order_review { background: #fff; border: 1px solid var(--alt-line); border-radius: 18px; padding: 24px; box-sizing: border-box; margin-bottom: 24px; }
body.alt-payments-styled-checkout #payment { background: transparent; }
body.alt-payments-styled-checkout #payment ul.payment_methods { border: 0; padding: 0; }
body.alt-payments-styled-checkout #payment li.wc_payment_method { border: 1px solid var(--alt-line); border-radius: 12px; padding: 12px; margin-bottom: 12px; }
body.alt-payments-styled-checkout #payment div.payment_box { background: #f5f9ff; border-radius: 10px; }
body.alt-payments-styled-checkout #payment div.payment_box::before { display: none; }
body.alt-payments-styled-checkout #place_order { background: var(--alt-blue); color: #fff; border-radius: 12px; padding: 16px 28px; border: 0; }

/* Every gateway label is styled; payment form contents and embedded SDKs are excluded. */
body.alt-payments-logo-layout :is(.wc-block-components-radio-control__label, .wc-block-components-payment-method-label, .alt-payments-method-label, #payment li.wc_payment_method > label) { display: inline-flex !important; align-items: center; gap: var(--alt-logo-gap); flex-wrap: wrap; vertical-align: middle; }
body.alt-payments-logo-layout .wc-block-components-radio-control__label > span { display: inline-flex; align-items: center; gap: var(--alt-logo-gap); }
body.alt-payments-logo-layout .wc-block-components-radio-control__option { min-height: var(--alt-method-height); box-sizing: border-box; display: flex; align-items: center; }
body.alt-payments-logo-layout :is(.wc-block-components-radio-control__label, .wc-block-components-payment-method-label, #payment li.wc_payment_method > label) :is(img, svg) { width: var(--alt-logo-size) !important; height: var(--alt-logo-size) !important; max-width: none !important; max-height: none !important; object-fit: contain; flex: 0 0 var(--alt-logo-size); float: none !important; margin: 0 !important; order: var(--alt-logo-order); vertical-align: middle; }
.alt-payments-test-notice { font-size: 13px; background: #eef4ff; border-radius: 8px; padding: 10px 12px; color: #35578c; }

/* Cart layout shares the checkout palette and preserves WooCommerce controls. */
body.alt-payments-styled-cart .wp-block-woocommerce-cart { max-width: 100%; margin-inline: auto; }
body.alt-payments-styled-cart .wc-block-components-sidebar-layout.wc-block-cart { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(300px, 1fr); align-items: start; gap: 28px; }
body.alt-payments-styled-cart .wc-block-cart__main,
body.alt-payments-styled-cart .wc-block-cart__sidebar { background: #fff; border: 1px solid var(--alt-line); border-radius: 18px; padding: 24px; width: auto; min-width: 0; margin: 0; box-sizing: border-box; }
body.alt-payments-styled-cart .wc-block-cart__sidebar { position: static; box-shadow: 0 12px 36px #223c7110; }
body.alt-payments-styled-cart.alt-payments-sticky-summary .wc-block-cart__sidebar { position: sticky; top: var(--alt-sticky-top, 24px); }
body.alt-payments-styled-cart .wc-block-cart-items { margin: 0; }
body.alt-payments-styled-cart .wc-block-cart-items th { color: var(--alt-muted); font-size: 12px; letter-spacing: .04em; }
body.alt-payments-styled-cart .wc-block-cart-item__image img { border-radius: 12px; }
body.alt-payments-styled-cart .wc-block-components-product-name { color: var(--alt-ink); font-weight: 650; overflow-wrap: anywhere; }
body.alt-payments-styled-cart .wc-block-components-quantity-selector { border-color: #cad5e6; border-radius: 9px; min-height: 44px; width: auto; max-width: 144px; }
body.alt-payments-styled-cart .wc-block-components-quantity-selector input { font-size: 16px; min-width: 40px; padding: 0; }
body.alt-payments-styled-cart .wc-block-components-quantity-selector button { min-width: 44px; min-height: 44px; }
body.alt-payments-styled-cart .wc-block-cart-item__remove-link { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
body.alt-payments-styled-cart .wc-block-cart__submit-button { background: var(--alt-blue); color: #fff; border: 0; border-radius: 12px; min-height: 52px; font-size: 16px; font-weight: 700; }
body.alt-payments-styled-cart .wc-block-cart__submit-button:hover { background: #1749dd; }
body.alt-payments-styled-cart .woocommerce-cart-form { float: none; width: 100%; min-width: 0; padding: 24px; background: #fff; border: 1px solid var(--alt-line); border-radius: 18px; box-sizing: border-box; }
body.alt-payments-styled-cart .cart-collaterals { float: none; width: 100%; min-width: 0; padding: 24px; background: #fff; border: 1px solid var(--alt-line); border-radius: 18px; box-sizing: border-box; }
body.alt-payments-styled-cart.alt-payments-sticky-summary .cart-collaterals { position: sticky; top: var(--alt-sticky-top, 24px); }
body.alt-payments-styled-cart .cart-collaterals .cart_totals { float: none; width: auto; }

/* Explicit override mode wins common theme layout constraints on these pages. */
body.alt-payments-override-theme :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) { width: 100% !important; max-width: 100% !important; margin-inline: auto !important; box-sizing: border-box !important; }
body.alt-payments-override-theme :is(.wc-block-cart__main, .wc-block-cart__sidebar, .wc-block-checkout__main, .wc-block-checkout__sidebar) { float: none !important; min-width: 0 !important; max-width: none !important; }
body.alt-payments-override-theme :is(.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button) { background: #245bff !important; color: #fff !important; border-radius: 12px !important; }
body.alt-payments-override-theme.alt-payments-styled-cart .wc-block-components-sidebar-layout.wc-block-cart, body.alt-payments-override-theme.alt-payments-styled-checkout .wc-block-components-sidebar-layout.wc-block-checkout { display: grid !important; grid-template-columns: minmax(0, 1.7fr) minmax(300px, 1fr) !important; align-items: start !important; gap: 28px !important; }
body.alt-payments-override-theme :is(.wc-block-cart__sidebar, .wc-block-checkout__sidebar) { position: static !important; }
body.alt-payments-override-theme.alt-payments-sticky-summary :is(.wc-block-cart__sidebar, .wc-block-checkout__sidebar) { position: sticky !important; top: var(--alt-sticky-top, 24px) !important; }

/* Classic shortcodes use the theme's outer content width, with no plugin cap. */
body.alt-payments-override-theme :where(main, article, section, div):has(> .woocommerce > :is(.alt-payments-classic-cart, form.checkout)) {
	width: 100% !important; max-width: none !important; box-sizing: border-box;
}
body.alt-payments-override-theme .woocommerce:has(> :is(.alt-payments-classic-cart, form.checkout)) {
	width: 100% !important; max-width: none !important; margin-inline: 0 !important;
}
body.alt-payments-styled-cart .alt-payments-classic-cart {
	display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 28px; align-items: start; clear: both;
}
body.alt-payments-styled-cart .alt-payments-classic-cart > :not(.woocommerce-cart-form):not(.cart-collaterals) { grid-column: 1 / -1; }
body.alt-payments-styled-cart .alt-payments-classic-cart > .alt-payments-checkout-heading { margin-bottom: 0; }
body.alt-payments-styled-cart .alt-payments-classic-cart .cart-collaterals > * { float: none; width: 100%; }
body.alt-payments-styled-cart .alt-payments-classic-cart .cross-sells { margin-bottom: 24px; }
body.alt-payments-styled-cart .alt-payments-classic-cart table.shop_table { width: 100%; margin: 0; border-collapse: collapse; table-layout: auto; }
body.alt-payments-styled-cart .alt-payments-classic-cart table.cart :is(th, td) { padding: 12px 8px; vertical-align: middle; }
body.alt-payments-styled-cart .alt-payments-classic-cart .product-name { width: auto; overflow-wrap: anywhere; }
body.alt-payments-styled-cart .alt-payments-classic-cart :is(.product-price, .product-subtotal) { white-space: nowrap; }
body.alt-payments-styled-cart .alt-payments-classic-cart .product-thumbnail { width: 56px; }
body.alt-payments-styled-cart .alt-payments-classic-cart .product-thumbnail img { width: 48px; max-width: 48px; height: 48px; object-fit: contain; }
body.alt-payments-styled-cart .alt-payments-classic-cart .quantity .qty { width: 64px; min-height: 44px; font-size: 16px; padding: 8px; box-sizing: border-box; }
body.alt-payments-styled-cart .alt-payments-classic-cart a.remove { min-width: 32px; min-height: 44px; display: inline-flex; justify-content: center; align-items: center; }
body.alt-payments-styled-cart .alt-payments-classic-cart td.actions { text-align: left; }
body.alt-payments-styled-cart .alt-payments-classic-cart td.actions .coupon { float: none; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 12px; }
body.alt-payments-styled-cart .alt-payments-classic-cart .coupon #coupon_code { width: 150px; max-width: 100%; min-height: 44px; font-size: 16px; box-sizing: border-box; margin: 0; }
body.alt-payments-styled-cart .alt-payments-classic-cart td.actions .button { float: none; min-height: 44px; margin: 0; }
body.alt-payments-styled-cart .alt-payments-classic-cart .wc-proceed-to-checkout a.checkout-button { display: flex; justify-content: center; align-items: center; min-height: 52px; padding: 14px 16px; margin: 16px 0 0; background: var(--alt-blue); color: #fff; border-radius: 12px; font-size: 16px; line-height: 1.4; text-transform: none; letter-spacing: normal; }
body.alt-payments-styled-cart .cart_totals > h2,
body.alt-payments-styled-checkout :is(#customer_details, .alt-payments-classic-checkout-summary) :is(h2, h3) {
	font-family: inherit; font-size: 22px; font-weight: 700; line-height: 1.3; text-transform: none; letter-spacing: normal; margin: 0 0 20px;
}
body.alt-payments-styled-checkout form.checkout:has(> .alt-payments-classic-checkout-summary) {
	display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(300px, 1fr); gap: 28px; align-items: start; width: 100%;
}
body.alt-payments-styled-checkout form.checkout > :is(.alt-payments-classic-checkout-fields, .alt-payments-classic-checkout-summary) { min-width: 0; width: 100%; box-sizing: border-box; }
body.alt-payments-styled-checkout form.checkout > :not(.alt-payments-classic-checkout-fields):not(.alt-payments-classic-checkout-summary) { grid-column: 1 / -1; }
body.alt-payments-styled-checkout .alt-payments-classic-checkout-summary { padding: 24px; background: #fff; border: 1px solid var(--alt-line); border-radius: 18px; }
body.alt-payments-styled-checkout.alt-payments-sticky-summary .alt-payments-classic-checkout-summary { position: sticky; top: var(--alt-sticky-top, 24px); }
body.alt-payments-styled-checkout form.checkout .alt-payments-classic-checkout-summary #order_review { float: none; width: 100%; padding: 0; margin: 0; border: 0; border-radius: 0; }
body.alt-payments-styled-checkout form.checkout #customer_details,
body.alt-payments-styled-checkout form.checkout #customer_details > :is(.col-1, .col-2) { float: none; width: 100%; min-width: 0; max-width: none; }
body.alt-payments-styled-checkout form.checkout #customer_details > .col-2 { margin-top: var(--alt-sticky-top, 24px); }
body.alt-payments-styled-checkout .alt-payments-classic-checkout-fields #payment { padding: 24px; background: #fff; border: 1px solid var(--alt-line); border-radius: 18px; }
body.alt-payments-styled-checkout .alt-payments-classic-checkout-fields #payment .place-order { padding: 16px 0 0; margin: 0; }
body.alt-payments-styled-checkout .alt-payments-classic-checkout-summary table { width: 100%; margin: 0; table-layout: auto; }
body.alt-payments-styled-checkout .alt-payments-classic-checkout-summary :is(th, td) { padding: 12px 8px; overflow-wrap: anywhere; }
body.alt-payments-styled-checkout .alt-payments-classic-checkout-summary .product-total { white-space: nowrap; }
body.alt-payments-styled-checkout #payment :is(.payment_box, label) { overflow-wrap: anywhere; }
body.alt-payments-logo-layout #payment li.wc_payment_method { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 0 12px; align-items: center; }
body.alt-payments-logo-layout #payment li.wc_payment_method > input { grid-column: 1; margin: 0; }
body.alt-payments-logo-layout #payment li.wc_payment_method > label { grid-column: 2; min-width: 0; max-width: 100%; flex-wrap: nowrap; }
body.alt-payments-logo-layout #payment li.wc_payment_method > :not(input):not(label) { grid-column: 1 / -1; }
body.alt-payments-override-theme main h1 { overflow-wrap: anywhere; }
/* A block gateway can omit an icon without using the classic icon filter. */
body.alt-payments-logo-layout .wc-block-components-radio-control__option:has(input:is([value="ppcp-gateway"], [value="paypal"], [value="ppec_paypal"])) .wc-block-components-radio-control__label:not(:has(img, svg))::before {
	content: ""; display: inline-block; width: var(--alt-logo-size); height: var(--alt-logo-size); flex: 0 0 var(--alt-logo-size); order: var(--alt-logo-order); background: url('paypal.svg') center / contain no-repeat;
}
/* Override only the commerce components; the theme still owns its page shell. */
body.alt-payments-override-theme .alt-payments-classic-cart > :is(.woocommerce-cart-form, .cart-collaterals),
body.alt-payments-override-theme .alt-payments-classic-cart .cart_totals,
body.alt-payments-override-theme form.checkout :is(#customer_details, #order_review, #order_review_heading) { float: none !important; width: 100% !important; max-width: none !important; box-sizing: border-box !important; }
body.alt-payments-override-theme.alt-payments-styled-checkout .alt-payments-classic-checkout-summary { position: static !important; }
body.alt-payments-override-theme.alt-payments-sticky-summary .alt-payments-classic-checkout-summary { position: sticky !important; top: var(--alt-sticky-top, 24px) !important; }
body.alt-payments-override-theme .alt-payments-classic-cart .cart_totals > h2 { font-size: 22px !important; font-family: inherit !important; line-height: 1.3 !important; text-transform: none !important; }
@media (max-width: 899px) {
	body.alt-payments-styled-cart .alt-payments-classic-cart,
	body.alt-payments-styled-checkout form.checkout:has(> .alt-payments-classic-checkout-summary) { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	body.alt-payments-styled-checkout .alt-payments-classic-checkout-summary { grid-row: 1; }
	body.alt-payments-styled-checkout.alt-payments-sticky-summary .alt-payments-classic-checkout-summary,
	body.alt-payments-override-theme.alt-payments-sticky-summary .alt-payments-classic-checkout-summary { position: static !important; }
	body.alt-payments-styled-checkout :is(form.checkout #customer_details, .alt-payments-classic-checkout-summary, .alt-payments-classic-checkout-fields #payment) { padding: 16px; }
	body.alt-payments-styled-checkout :is(input:not([type="radio"]):not([type="checkbox"]), select, textarea) { font-size: 16px !important; }
	body.alt-payments-styled-checkout .wc-block-components-sidebar-layout.wc-block-checkout { display: flex; flex-direction: column; gap: 16px; }
	body.alt-payments-styled-checkout .wc-block-checkout__main, body.alt-payments-styled-checkout .wc-block-checkout__sidebar { width: 100%; }
	body.alt-payments-styled-checkout.alt-payments-sticky-summary .wc-block-checkout__sidebar { position: static; }
	body.alt-payments-styled-cart .wc-block-components-sidebar-layout.wc-block-cart { display: flex; flex-direction: column; gap: 16px; }
	body.alt-payments-styled-cart .wc-block-cart__main, body.alt-payments-styled-cart .wc-block-cart__sidebar { width: 100%; padding: 16px; position: static; }
	body.alt-payments-styled-cart .woocommerce-cart-form, body.alt-payments-styled-cart .cart-collaterals { float: none; width: 100%; margin-bottom: 16px; position: static; padding: 16px; }
	body.alt-payments-styled-cart.alt-payments-sticky-summary :is(.wc-block-cart__sidebar, .cart-collaterals) { position: static; }
	body.alt-payments-styled-cart .wc-block-cart__submit-container--sticky { background: #fff; border-top: 1px solid #dee7f4; padding: 12px 16px max(12px, env(safe-area-inset-bottom)); }
	body.alt-payments-override-theme.alt-payments-styled-cart .wc-block-components-sidebar-layout.wc-block-cart, body.alt-payments-override-theme.alt-payments-styled-checkout .wc-block-components-sidebar-layout.wc-block-checkout { display: flex !important; flex-direction: column !important; gap: 16px !important; }
	body.alt-payments-override-theme :is(.wc-block-cart__main, .wc-block-cart__sidebar, .wc-block-checkout__main, .wc-block-checkout__sidebar) { width: 100% !important; }
	body.alt-payments-override-theme.alt-payments-sticky-summary :is(.wc-block-cart__sidebar, .wc-block-checkout__sidebar) { position: static !important; }
}
@media (max-width: 480px) {
	.alt-payments-checkout-heading { margin-top: var(--alt-sticky-top, 24px); }
	body.alt-payments-styled-checkout .wc-block-checkout__main .wc-block-components-checkout-step { padding: 16px; }
}
@media (max-width: 600px) {
	body.alt-payments-styled-cart .alt-payments-classic-cart table.cart thead { display: none; }
	body.alt-payments-styled-cart .alt-payments-classic-cart table.cart,
	body.alt-payments-styled-cart .alt-payments-classic-cart table.cart tbody { display: block; width: 100%; }
	body.alt-payments-styled-cart .alt-payments-classic-cart table.cart tr.cart_item { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 8px; padding: 16px 0; border-bottom: 1px solid var(--alt-line); }
	body.alt-payments-styled-cart .alt-payments-classic-cart table.cart tr.cart_item td { display: block; width: auto; padding: 4px 0; text-align: left !important; border: 0; background: transparent; }
	body.alt-payments-styled-cart .alt-payments-classic-cart table.cart tr.cart_item td::before { display: none; }
	body.alt-payments-styled-cart .alt-payments-classic-cart table.cart tr.cart_item .product-remove { grid-column: 1; grid-row: 1 / span 4; }
	body.alt-payments-styled-cart .alt-payments-classic-cart table.cart tr.cart_item .product-thumbnail { display: none; }
	body.alt-payments-styled-cart .alt-payments-classic-cart table.cart tr.cart_item :is(.product-name, .product-price, .product-quantity, .product-subtotal) { grid-column: 2; }
	body.alt-payments-styled-cart .alt-payments-classic-cart table.cart tr:not(.cart_item) { display: block; }
	body.alt-payments-styled-cart .alt-payments-classic-cart table.cart td.actions { display: block; width: 100%; box-sizing: border-box; }
	body.alt-payments-styled-cart .alt-payments-classic-cart td.actions .coupon { display: grid; grid-template-columns: minmax(0, 1fr); }
	body.alt-payments-styled-cart .alt-payments-classic-cart td.actions :is(.button, .coupon #coupon_code) { width: 100% !important; }
	body.alt-payments-styled-cart .wc-block-cart table.wc-block-cart-items { display: block; width: 100%; border-spacing: 0; }
	body.alt-payments-styled-cart .wc-block-cart table.wc-block-cart-items thead { display: none; }
	body.alt-payments-styled-cart .wc-block-cart table.wc-block-cart-items tbody { display: block; width: 100%; }
	body.alt-payments-styled-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 8px 12px; width: 100%; padding: 16px 0; }
	body.alt-payments-styled-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row td { display: block; width: auto !important; padding: 0 !important; min-width: 0; border: 0; }
	body.alt-payments-styled-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image { grid-column: 1; grid-row: 1; }
	body.alt-payments-styled-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image img { width: 40px; height: 40px; object-fit: contain; }
	body.alt-payments-styled-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product { grid-column: 2; grid-row: 1; }
	body.alt-payments-styled-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total { grid-column: 2; grid-row: 2; text-align: left; font-weight: 700; }
	body.alt-payments-styled-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
	body.alt-payments-styled-cart .wc-block-components-quantity-selector { width: 122px; max-width: 122px; flex: 0 0 122px; }
	body.alt-payments-styled-cart .wc-block-components-quantity-selector input { width: 32px !important; min-width: 32px; }
}

/* Keep the whole sticky card below the theme header and inside the viewport. */
@media (min-width: 900px) {
 body.alt-payments-sticky-summary :is(.wc-block-cart__sidebar, .wc-block-checkout__sidebar, .alt-payments-classic-checkout-summary),
 body.alt-payments-styled-cart.alt-payments-sticky-summary .cart-collaterals {
  max-height: calc(100vh - var(--alt-sticky-top, 24px) - 24px);
  max-height: calc(100dvh - var(--alt-sticky-top, 24px) - 24px);
  overflow-y: auto; overscroll-behavior: contain; box-sizing: border-box;
 }
}
