/* Layouts use the existing palette and native DOM; Bonito's default cascade is unchanged. */
body:is(.wootilities-layout-amazon,.wootilities-layout-zalando,.wootilities-layout-allegro,.wootilities-layout-empik) {
	--wootilities-layout-columns: minmax(0, 2fr) minmax(280px, 1fr);
}
body.wootilities-layout-zalando { --wootilities-layout-columns: minmax(0, 65fr) minmax(280px, 35fr); }
body.wootilities-cart-active:not(.wootilities-layout-bonito) .wp-block-woocommerce-cart .wc-block-cart {
	display: grid !important; grid-template-columns: var(--wootilities-layout-columns); gap: 32px; align-items: start;
}
body.wootilities-cart-active:not(.wootilities-layout-bonito) .wp-block-woocommerce-cart :is(.wc-block-cart__main,.wc-block-cart__sidebar) {
	width: 100% !important; min-width: 0; margin: 0 !important;
}
body.wootilities-cart-active:not(.wootilities-layout-bonito) .wp-block-woocommerce-cart .wc-block-cart__sidebar {
	padding: 20px !important; box-sizing: border-box;
	background: var(--wootilities-cart-background,var(--wootilities-card,#fff));
	border: var(--wootilities-border-width,1px) solid var(--wootilities-cart-border,var(--wootilities-border,#ddd));
}
/* Marketplace cart line (Amazon/Empik/Zalando/Allegro references): image | name, meta, quantity + remove | one line price
   top-right, aligned with the name. No unit-price/quantity columns and no quantity bubble; Bonito keeps them. */
body.wootilities-cart-active:not(.wootilities-layout-bonito) .wp-block-woocommerce-cart { --wootilities-cart-row-pad: 20px; }
body.wootilities-cart-active:not(.wootilities-layout-bonito) .wp-block-woocommerce-cart .wootilities-cart-column-headings { display: none; }
body.wootilities-cart-active:not(.wootilities-layout-bonito) .wp-block-woocommerce-cart .wc-block-cart-items__header { display: none; }
/* Amazon keeps a single right-aligned price heading when column headings are enabled. */
@media (min-width: 783px) {
	body.wootilities-layout-amazon.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-cart-items__header:has(.wootilities-cart-column-headings) { display: table-row; }
	body.wootilities-layout-amazon.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-cart-items__header :is(.wc-block-cart-items__header-image,.wc-block-cart-items__header-product) > span:not(.wootilities-cart-column-headings) { visibility: hidden; }
}
body.wootilities-cart-active:not(.wootilities-layout-bonito) .wp-block-woocommerce-cart .wc-block-cart-items__header-total { padding: 8px 16px 8px 12px !important; }
body.wootilities-cart-active:not(.wootilities-layout-bonito) .wp-block-woocommerce-cart .wc-block-cart-item__image::before { display: none; }
body.wootilities-cart-active:not(.wootilities-layout-bonito) .wp-block-woocommerce-cart .wc-block-cart-item__wrap {
	display: flex !important; flex-direction: column; align-items: flex-start; gap: 6px; padding: 0 !important; min-height: 0; position: static;
}
body.wootilities-cart-active:not(.wootilities-layout-bonito) .wp-block-woocommerce-cart .wc-block-cart-item__wrap > * { margin: 0 !important; }
body.wootilities-cart-active:not(.wootilities-layout-bonito) .wp-block-woocommerce-cart .wc-block-cart-item__prices { display: none !important; }
body.wootilities-cart-active:not(.wootilities-layout-bonito) .wp-block-woocommerce-cart .wc-block-cart-item__wrap > .wc-block-cart-item__quantity {
	position: static; transform: none; width: auto; display: flex !important; align-items: center; gap: 8px; margin-top: 10px !important;
}
body.wootilities-cart-active:not(.wootilities-layout-bonito) .wp-block-woocommerce-cart .wc-block-cart-item__quantity > .wc-block-components-quantity-selector { margin: 0 !important; }
body.wootilities-cart-active:not(.wootilities-layout-bonito) .wp-block-woocommerce-cart .wc-block-cart-item__quantity > .wc-block-cart-item__remove-link { position: static !important; transform: none; flex: 0 0 40px; }
body.wootilities-cart-active:not(.wootilities-layout-bonito) .wp-block-woocommerce-cart .wc-block-components-product-name { line-height: 1.35 !important; }
@media (min-width: 783px) {
	/* Woo switches rows to its own grid when the main column is narrow (is-medium/is-small); keep the table tracks. */
	body.wootilities-cart-active:not(.wootilities-layout-bonito) .wp-block-woocommerce-cart .wc-block-cart-items { display: table !important; table-layout: auto !important; }
	body.wootilities-cart-active:not(.wootilities-layout-bonito) .wp-block-woocommerce-cart .wc-block-cart-items__row { display: table-row !important; }
	body.wootilities-cart-active:not(.wootilities-layout-bonito) .wp-block-woocommerce-cart .wc-block-cart-items__row > td { display: table-cell !important; }
	body.wootilities-cart-active:not(.wootilities-layout-bonito) .wp-block-woocommerce-cart .wc-block-cart-items__row > td { vertical-align: top !important; padding-block: var(--wootilities-cart-row-pad) !important; }
	body.wootilities-cart-active:not(.wootilities-layout-bonito) .wp-block-woocommerce-cart .wc-block-cart-item__product { padding-inline: 16px !important; }
	body.wootilities-cart-active:not(.wootilities-layout-bonito) .wp-block-woocommerce-cart .wc-block-cart-item__total { display: table-cell !important; width: 1% !important; white-space: nowrap; padding-inline: 12px 16px !important; text-align: right; }
}
body.wootilities-cart-active:not(.wootilities-layout-bonito) .wp-block-woocommerce-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper {
	margin: 0; min-height: 0; justify-content: flex-start; align-items: flex-end; line-height: 1.35;
}
body.wootilities-cart-active:not(.wootilities-layout-bonito) .wootilities-cart-actions { grid-template-columns: 1fr; }
body.wootilities-layout-amazon.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-cart-item__image { width: 80px !important; }
body.wootilities-layout-amazon.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-cart-item__image img { width: 64px !important; height: 64px !important; }
body.wootilities-layout-amazon.wootilities-cart-active .wp-block-woocommerce-cart { --wootilities-cart-row-pad: 16px; }
body.wootilities-layout-amazon.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-components-product-name { font-size: 16px !important; }
body.wootilities-layout-zalando.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-cart-item__image { width: 140px !important; }
body.wootilities-layout-zalando.wootilities-cart-active .wp-block-woocommerce-cart { --wootilities-cart-row-pad: 24px; }
body.wootilities-layout-zalando.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-cart-item__image img { width: 120px !important; height: 150px !important; object-fit: contain; }
body.wootilities-layout-zalando.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-cart__sidebar { background: var(--wootilities-cart-background,var(--wootilities-muted,#f5f5f5)); border: 0; padding: 28px !important; }
body:is(.wootilities-layout-allegro,.wootilities-layout-empik).wootilities-cart-active .wp-block-woocommerce-cart .wc-block-cart-items { border-collapse: separate !important; border-spacing: 0 16px; }
body:is(.wootilities-layout-allegro,.wootilities-layout-empik).wootilities-cart-active .wp-block-woocommerce-cart .wc-block-cart-items__row { background: var(--wootilities-cart-background,var(--wootilities-card,#fff)); }
body:is(.wootilities-layout-allegro,.wootilities-layout-empik).wootilities-cart-active .wp-block-woocommerce-cart .wc-block-cart-items__row > td { border-block: var(--wootilities-border-width,1px) solid var(--wootilities-cart-border,var(--wootilities-border,#ddd)) !important; }
body:is(.wootilities-layout-allegro,.wootilities-layout-empik).wootilities-cart-active .wp-block-woocommerce-cart .wc-block-cart-items__row > td:first-child { border-left: var(--wootilities-border-width,1px) solid var(--wootilities-cart-border,var(--wootilities-border,#ddd)); padding-left: 16px !important; }
body:is(.wootilities-layout-allegro,.wootilities-layout-empik).wootilities-cart-active .wp-block-woocommerce-cart .wc-block-cart-items__row > td:last-child { border-right: var(--wootilities-border-width,1px) solid var(--wootilities-cart-border,var(--wootilities-border,#ddd)); }
/* Coupon moved into the summary column (Zalando/Empik): one row, text wraps, the button never does. */
body.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-cart__sidebar .wootilities-cart-coupon { display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 12px; margin-top: 16px; text-align: left; }
body.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-cart__sidebar .wootilities-cart-coupon span { flex: 1 1 auto; min-width: 0; }
body.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-cart__sidebar .wootilities-cart-coupon button { flex: 0 0 auto; white-space: nowrap; }
body.wootilities-layout-empik .wootilities-cart-coupon { border: var(--wootilities-border-width,1px) solid var(--wootilities-cart-border,var(--wootilities-border,#ddd)); padding: 12px 16px; }
body:is(.wootilities-layout-empik,.wootilities-layout-zalando).wootilities-cart-active .wp-block-woocommerce-cart .wc-block-cart__sidebar .wootilities-cart-coupon button {
	background: none !important; border: 0 !important; color: var(--wootilities-cart-text,var(--wootilities-foreground,#202124)) !important; min-height: 44px; padding: 0 4px !important; text-decoration: underline; text-underline-offset: 3px;
}
body:is(.wootilities-layout-empik,.wootilities-layout-zalando).wootilities-cart-active .wp-block-woocommerce-cart .wc-block-cart__sidebar .wootilities-cart-coupon button:hover { color: var(--wootilities-cart-primary-background,var(--wootilities-primary,#e2001a)) !important; }
body:is(.wootilities-layout-allegro,.wootilities-layout-empik).wootilities-cart-active .wp-block-woocommerce-cart .wc-block-cart-items { border-bottom: 0 !important; }

.wootilities-cart-mobile-actions { display: none; }
body.wootilities-layout-bonito .wootilities-cart-mobile-actions { display: none !important; }
/* Body prefix outranks theme button resets loaded later (Hello Elementor reset.css: [type=button], incl. :hover). */
body.wootilities-checkout-active .wootilities-checkout-coupon { font: inherit; color: inherit; background: var(--wootilities-card,#fff); border: var(--wootilities-border-width,1px) solid var(--wootilities-border,#ddd); padding: 20px; min-height: 44px; cursor: pointer; }
body:not(.wootilities-layout-empik):not(.wootilities-layout-zalando) .wootilities-checkout-coupon { display: none; }
.wootilities-checkout-coupon:focus-visible { outline: 2px solid var(--wootilities-primary,#e2001a); outline-offset: 2px; }
/* Zalando: the code entry is a separated link row, not an input-like box. */
body.wootilities-layout-zalando.wootilities-checkout-active .wootilities-checkout-coupon { background: none; border: 0; border-top: var(--wootilities-border-width,1px) solid var(--wootilities-border,#ddd); border-radius: 0; padding: 12px 0; text-align: start; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.wootilities-checkout-coupons[hidden] { display: none; }
.wootilities-checkout-coupons ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.wootilities-checkout-coupons li { display: flex; align-items: center; justify-content: space-between; gap: 12px; overflow-wrap: anywhere; }
.wootilities-checkout-coupons button { font: inherit; color: inherit; background: none; border: 0; padding: 0 4px; min-height: 44px; min-width: 44px; text-decoration: underline; cursor: pointer; }
.wootilities-checkout-coupons button:focus-visible { outline: 2px solid var(--wootilities-primary,#e2001a); outline-offset: 2px; }
.wootilities-checkout-coupons button:disabled { cursor: progress; opacity: .6; }
.wootilities-checkout-coupons__error { margin: 8px 0 0; color: var(--wootilities-notice-error,#b32d2e); }
/* Keep native React wrappers mounted. CSS projects them into columns without reparenting. */
body.wootilities-checkout-active:not(.wootilities-layout-bonito) .wootilities-layout-checkout {
	display: grid !important; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 24px; align-items: start;
}
body.wootilities-checkout-active:not(.wootilities-layout-bonito) .wootilities-layout-checkout > .wc-block-checkout { display: contents !important; }
body.wootilities-checkout-active:not(.wootilities-layout-bonito) .wc-block-checkout__main { grid-column: 1; min-width: 0; }
body.wootilities-checkout-active:not(.wootilities-layout-bonito) #wootilities-checkout-bar {
	grid-column: 2; grid-row: auto; grid-template-columns: 1fr; position: static; bottom: auto; margin: 0; box-shadow: none;
}
/* Desktop summary column follows the "Keep summary visible while scrolling" setting; mobile keeps its own bar. */
@media (min-width: 783px) {
	body.wootilities-checkout-sticky-summary.wootilities-cart-active:not(.wootilities-layout-bonito) .wp-block-woocommerce-cart .wc-block-cart__sidebar,
	body.wootilities-checkout-sticky-summary.wootilities-checkout-active:not(.wootilities-layout-bonito) #wootilities-checkout-bar { position: sticky; top: 24px; }
}
body.wootilities-checkout-active:not(.wootilities-layout-bonito) :is(.wootilities-checkout-header,#wootilities-flow-nav) { grid-column: 1 / -1; }
/* Native notices/scroll anchor are root grid items too: full row, never squeezed into the summary column. */
body.wootilities-checkout-active:not(.wootilities-layout-bonito) .wootilities-layout-checkout > :is(.wc-block-components-notices,.with-scroll-to-top__scroll-point) { grid-column: 1 / -1; grid-row: 1; }
body.wootilities-checkout-active:not(.wootilities-layout-bonito) :is(#wootilities-shipping-catalog,#wootilities-payment-document,#wootilities-recipient) { grid-template-columns: 1fr; }
body.wootilities-layout-amazon.wootilities-checkout-active .wc-block-checkout__main { counter-reset: purchase-section; }
body.wootilities-layout-amazon.wootilities-checkout-active :is(#wootilities-shipping-catalog,#wootilities-document,#wootilities-payment-catalog,.wootilities-recipient__details) > h2::before { counter-increment: purchase-section; content: counter(purchase-section) ". "; }
/* All delivery groups form one numbered step (checkout.js arrangeDelivery); the heading exists only in Amazon on the storefront, the preview hides it elsewhere. */
body.wootilities-layout-amazon.wootilities-checkout-active #wootilities-shipping-catalog > [data-wootilities-group-heading] { display: block; grid-column: 1 / -1; }
body.wootilities-layout-amazon.wootilities-checkout-active .wootilities-method-group > h2 { font-size: var(--wootilities-h3-size, 16px) !important; }
body.wootilities-layout-amazon.wootilities-checkout-active :is(.wootilities-method-card,.wootilities-payment-card,.wootilities-document-card) { min-height: 64px; padding-block: 12px; }
/* Amazon single page: sections after the first incomplete one show only their muted numbered heading (checkout.js updateSteps). */
/* The ID container outranks the section rules that use IDs, e.g. #wootilities-document .wootilities-document-card. */
body.wootilities-layout-amazon.wootilities-checkout-active :is(#wootilities-payment-document, #wootilities-recipient) [data-wootilities-locked] > :not(h2),
body.wootilities-layout-amazon.wootilities-checkout-active :is(#wootilities-payment-document, #wootilities-recipient) [data-wootilities-locked]:is(fieldset, #wootilities-payment-catalog-after) { display: none !important; }
body.wootilities-layout-amazon.wootilities-checkout-active [data-wootilities-locked] > h2 { color: var(--wootilities-muted-foreground, #737373) !important; opacity: .7; }
body:is(.wootilities-layout-allegro,.wootilities-layout-empik).wootilities-checkout-active :is(.wootilities-method-group,.wootilities-payment-column,.wootilities-document-column,.wootilities-recipient__details,.wootilities-recipient__consents) {
	border: var(--wootilities-border-width,1px) solid var(--wootilities-border,#ddd); padding: 20px; background: var(--wootilities-card,#fff); box-sizing: border-box;
}
body.wootilities-layout-allegro.wootilities-checkout-active .wootilities-method-group > h2 { border-bottom: var(--wootilities-border-width,1px) solid var(--wootilities-border,#ddd); padding-bottom: 16px; }
body.wootilities-layout-empik.wootilities-checkout-active :is(.wootilities-method-card,.wootilities-document-card,.wootilities-payment-card) { border-inline: 0 !important; border-top: 0 !important; border-radius: 0 !important; }
body.wootilities-layout-zalando.wootilities-checkout-active .wootilities-layout-checkout { grid-template-columns: minmax(0,55fr) minmax(280px,45fr); gap: 40px; }
body.wootilities-layout-zalando.wootilities-checkout-active #wootilities-checkout-bar { background: var(--wootilities-muted,#f5f5f5); padding: 28px; }
/* Zalando one page: all sections stacked in column 1, summary/CTA at the top of column 2. Woo wraps fields in
   .wc-block-checkout__form (older: checkout-fields-block); its empty native children land in column 1 below the sections.
   Zero row gap + section margins keep zero-height items from adding gaps; the summary spans every content row. */
@media (min-width: 783px) {
	body.wootilities-layout-zalando.wootilities-checkout-active:not(.wootilities-flow-active) .wootilities-layout-checkout { grid-template-rows: auto auto auto auto auto 1fr; row-gap: 0; }
	body.wootilities-layout-zalando.wootilities-checkout-active:not(.wootilities-flow-active) :is(.wc-block-checkout__main,.wc-block-checkout__form,.wp-block-woocommerce-checkout-fields-block,#wootilities-recipient) { display: contents !important; }
	body.wootilities-layout-zalando.wootilities-checkout-active:not(.wootilities-flow-active) :is(.wc-block-checkout__form,.wp-block-woocommerce-checkout-fields-block) > * { grid-column: 1; }
	body.wootilities-layout-zalando.wootilities-checkout-active:not(.wootilities-flow-active) .wootilities-recipient__details { grid-column: 1; grid-row: 2; }
	body.wootilities-layout-zalando.wootilities-checkout-active:not(.wootilities-flow-active) #wootilities-shipping-catalog { grid-column: 1; grid-row: 3; align-self: start; }
	body.wootilities-layout-zalando.wootilities-checkout-active:not(.wootilities-flow-active) #wootilities-payment-document { grid-column: 1; grid-row: 4; align-self: start; }
	body.wootilities-layout-zalando.wootilities-checkout-active:not(.wootilities-flow-active) .wootilities-recipient__consents { grid-column: 1; grid-row: 5; }
	body.wootilities-layout-zalando.wootilities-checkout-active:not(.wootilities-flow-active) #wootilities-checkout-bar { grid-column: 2; grid-row: 2 / -1; align-self: start; }
	body.wootilities-layout-zalando.wootilities-checkout-active:not(.wootilities-flow-active) :is(.wootilities-recipient__details,#wootilities-shipping-catalog,#wootilities-payment-document,.wootilities-recipient__consents) { margin-bottom: 32px; }
}

/* CHK-02 Zalando: ~1000 px centred content, cards/lists on the card token (readable on dark sections), labels above inputs. */
body.wootilities-layout-zalando.wootilities-checkout-active .wootilities-layout-checkout { max-width: 1000px; margin-inline: auto !important; box-sizing: border-box; }
body.wootilities-layout-zalando.wootilities-checkout-active :is(#wootilities-shipping-catalog,.wootilities-recipient__details) { background: var(--wootilities-card,#fff); border: var(--wootilities-border-width,1px) solid var(--wootilities-border,#ddd); padding: 16px; box-sizing: border-box; }
body.wootilities-layout-zalando.wootilities-checkout-active #wootilities-shipping-catalog { gap: 16px; }
body.wootilities-layout-zalando.wootilities-checkout-active #wootilities-shipping-catalog .wootilities-method-group { margin-bottom: 0; }
body.wootilities-layout-zalando.wootilities-checkout-active .wootilities-recipient__details > label { grid-template-columns: 1fr; gap: 4px; align-items: stretch; }
body.wootilities-layout-zalando.wootilities-checkout-active :is(.wootilities-method-card,.wootilities-document-card,.wootilities-payment-card) { border-radius: 0 !important; }
.wootilities-address-summary { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding-top: 12px; border-top: var(--wootilities-border-width,1px) solid var(--wootilities-border,#ddd); color: var(--wootilities-foreground,#202124); overflow-wrap: anywhere; }
.wootilities-address-summary p { margin: 0; min-width: 0; }
body.wootilities-checkout-active .wootilities-address-summary__edit,
body.wootilities-layout-zalando #wootilities-review .wootilities-review__details button {
	flex: 0 0 auto; min-height: 44px; min-width: 44px; padding: 0 4px; background: none; border: 0; color: inherit; font: inherit; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; cursor: pointer;
}
.wootilities-address-summary__edit:focus-visible { outline: 2px solid var(--wootilities-primary,#e2001a); outline-offset: 2px; }
/* Payment and document choices as one separated list with a radio mark; logos to the right. */
body.wootilities-layout-zalando.wootilities-checkout-active :is(.wootilities-payment-card,.wootilities-document-card) {
	background: var(--wootilities-card,#fff) !important; border: 0 !important; border-bottom: var(--wootilities-border-width,1px) solid var(--wootilities-border,#ddd) !important; box-shadow: none !important; margin: 0 !important; min-height: 64px; padding: 14px 44px 14px 48px !important;
}
body.wootilities-layout-zalando.wootilities-checkout-active :is(.wootilities-payment-card,.wootilities-document-card):is(:hover,:active,.is-selected) { background: var(--wootilities-card,#fff) !important; color: var(--wootilities-foreground,#202124) !important; }
body.wootilities-layout-zalando.wootilities-checkout-active :is(.wootilities-payment-card,.wootilities-document-card):focus-visible { outline: 2px solid var(--wootilities-primary,#e2001a) !important; outline-offset: -2px; }
body.wootilities-layout-zalando.wootilities-checkout-active :is(.wootilities-payment-card,.wootilities-document-card)::before {
	content: ""; position: absolute; left: 12px; top: 50%; width: 20px; height: 20px; margin-top: -10px; box-sizing: border-box; border-radius: 50%; border: 1.5px solid var(--wootilities-foreground,#202124); background: var(--wootilities-card,#fff);
}
body.wootilities-layout-zalando.wootilities-checkout-active :is(.wootilities-payment-card,.wootilities-document-card).is-selected::before { background: var(--wootilities-foreground,#202124); box-shadow: inset 0 0 0 4px var(--wootilities-card,#fff); }
body.wootilities-layout-zalando.wootilities-checkout-active :is(.wootilities-payment-card,.wootilities-document-card) img { order: 2; margin-left: auto; }
body.wootilities-layout-zalando.wootilities-checkout-active :is(.wootilities-payment-card,.wootilities-document-card).is-selected strong { font-weight: 700; }
body.wootilities-layout-zalando.wootilities-checkout-active .wootilities-payment-column .wc-block-components-radio-control-accordion-content { border: 0 !important; border-bottom: var(--wootilities-border-width,1px) solid var(--wootilities-border,#ddd) !important; border-radius: 0; padding: 0 16px 16px 48px !important; }
/* Compact sans section headings like the reference; the "custom headings" option keeps its own scale. */
body.wootilities-layout-zalando.wootilities-checkout-active:not(.wootilities-custom-headings) :is(.wootilities-method-group,#wootilities-payment-catalog,#wootilities-document,#wootilities-recipient,.wootilities-review__items) h2 { font-family: inherit; font-size: 20px; font-weight: 600; line-height: 1.3; }
body.wootilities-layout-zalando.wootilities-checkout-active :is(#wootilities-payment-catalog,#wootilities-document) > h2 { padding-bottom: 12px; border-bottom: var(--wootilities-border-width,1px) solid var(--wootilities-border,#ddd); }
/* Step header: numbered circles on one line, solid line behind completed steps, dashed ahead. */
#wootilities-flow-nav[data-step-markers] { flex-wrap: nowrap; gap: 0; margin: 0 0 32px; padding: 12px 0; background: var(--wootilities-card,#fff); color: var(--wootilities-foreground,#202124); }
#wootilities-flow-nav[data-step-markers] button {
	position: relative; flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 0 4px !important; border: 0 !important; background: none !important; color: inherit !important; font-size: 13px; line-height: 1.3; text-align: center; overflow-wrap: anywhere;
}
#wootilities-flow-nav[data-step-markers] button:disabled { opacity: 1; color: var(--wootilities-muted-foreground,#68707c) !important; }
#wootilities-flow-nav[data-step-markers] .wootilities-flow-step__marker {
	position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; box-sizing: border-box; border-radius: 50%; border: var(--wootilities-border-width,1px) solid var(--wootilities-border,#ddd); background: var(--wootilities-muted,#f5f5f5); font-size: 12px;
}
#wootilities-flow-nav[data-step-markers] [aria-current="step"] { font-weight: 700; }
#wootilities-flow-nav[data-step-markers] [aria-current="step"] .wootilities-flow-step__marker { border: 2px solid var(--wootilities-foreground,#202124); background: var(--wootilities-card,#fff); }
#wootilities-flow-nav[data-step-markers] button:not(:last-child)::after { content: ""; display: block; position: absolute; top: 18px; left: calc(50% + 18px); width: calc(100% - 36px); border-top: 1px dashed var(--wootilities-muted-foreground,#68707c); }
#wootilities-flow-nav[data-step-markers] button:has(~ [aria-current="step"])::after { border-top-style: solid; border-top-color: var(--wootilities-foreground,#202124); }
#wootilities-flow-nav[data-step-markers] button:has(~ [aria-current="step"]) .wootilities-flow-step__marker { border-color: var(--wootilities-foreground,#202124); background: var(--wootilities-card,#fff); }
#wootilities-flow-nav[data-step-markers] .wootilities-flow-step__check { display: none; }
#wootilities-flow-nav[data-step-markers] button:has(~ [aria-current="step"]) .wootilities-flow-step__check:not(:empty) { display: flex; }
#wootilities-flow-nav[data-step-markers] button:has(~ [aria-current="step"]) .wootilities-flow-step__number:has(+ .wootilities-flow-step__check:not(:empty)) { display: none; }
#wootilities-flow-nav[data-step-markers] .wootilities-flow-step__check svg { width: 22px; height: 22px; }
#wootilities-flow-nav[data-step-markers] .wootilities-flow-step__check circle { display: none; }
/* Review: products left, titled detail cards right (desktop placement below). */
body.wootilities-layout-zalando #wootilities-review { border: 0; padding: 0; }
body.wootilities-layout-zalando :is(.wootilities-review__items,.wootilities-review__details > p) { background: var(--wootilities-card,#fff); color: var(--wootilities-foreground,#202124); border: var(--wootilities-border-width,1px) solid var(--wootilities-border,#ddd); padding: 16px; box-sizing: border-box; }
body.wootilities-layout-zalando .wootilities-review__items h2 { margin: 0 0 8px; }
body.wootilities-layout-zalando .wootilities-review__items ul { list-style: none; margin: 0 0 12px; padding: 0; }
body.wootilities-layout-zalando .wootilities-review__items li { display: flex; align-items: flex-start; gap: 16px; }
body.wootilities-layout-zalando .wootilities-review__items li img { flex: 0 0 72px; width: 72px; height: 90px; object-fit: contain; background: var(--wootilities-muted,#f5f5f5); }
body.wootilities-layout-zalando .wootilities-review__items a { display: inline-flex; align-items: center; min-height: 44px; color: inherit; }
body.wootilities-layout-zalando .wootilities-review__details { display: flex; flex-direction: column; gap: 12px; }
body.wootilities-layout-zalando #wootilities-review .wootilities-review__details > p { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 4px 12px; margin: 0; }
body.wootilities-layout-zalando .wootilities-review__details strong { display: flex; align-items: center; gap: 8px; }
body.wootilities-layout-zalando .wootilities-review__details strong svg { flex: 0 0 20px; width: 20px; height: 20px; }
body.wootilities-layout-zalando .wootilities-review__details p > span { grid-column: 1 / -1; grid-row: 2; }
/* Edit address form: two columns, labels above inputs. */
body.wootilities-layout-zalando .wootilities-checkout-dialog__body { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 16px; align-content: start; }
body.wootilities-layout-zalando .wootilities-checkout-dialog__body label { display: flex; flex-direction: column; align-items: stretch; gap: 4px; margin: 0; min-width: 0; }
body.wootilities-layout-zalando .wootilities-checkout-dialog__body > :is(.wootilities-checkout-error,.wootilities-custom-field--checkbox) { grid-column: 1 / -1; }
@media (min-width: 783px) {
	/* Steps (Address -> Payment -> Confirm) project the native DOM into rows: 1 steps, 2 notices, 3-5 content in column 1, 6 absorbs the rest.
	   The summary always spans column 2 from row 3, so it stays in the same place in every step. */
	body.wootilities-layout-zalando.wootilities-checkout-active.wootilities-flow-active .wootilities-layout-checkout { grid-template-rows: auto auto auto auto auto 1fr; row-gap: 0; }
	body.wootilities-layout-zalando.wootilities-checkout-active.wootilities-flow-active :is(.wc-block-checkout__main,.wc-block-checkout__form,.wp-block-woocommerce-checkout-fields-block,#wootilities-recipient,#wootilities-review:not([data-flow-hidden])) { display: contents !important; }
	body.wootilities-layout-zalando.wootilities-checkout-active.wootilities-flow-active :is(.wc-block-checkout__main,.wc-block-checkout__form,.wp-block-woocommerce-checkout-fields-block) > * { grid-column: 1; }
	body.wootilities-layout-zalando.wootilities-checkout-active.wootilities-flow-active #wootilities-flow-nav { grid-column: 1 / -1; grid-row: 1; width: 100%; }
	body.wootilities-layout-zalando.wootilities-checkout-active.wootilities-flow-active .wootilities-layout-checkout > :is(.wc-block-components-notices,.with-scroll-to-top__scroll-point) { grid-row: 2; }
	body.wootilities-layout-zalando.wootilities-checkout-active.wootilities-flow-active #wootilities-shipping-catalog { grid-column: 1; grid-row: 3 / span 2; align-self: start; }
	body.wootilities-layout-zalando.wootilities-checkout-active.wootilities-flow-active .wootilities-recipient__details { grid-column: 1; }
	body.wootilities-layout-zalando.wootilities-checkout-active.wootilities-flow-active[data-checkout-step="0"] .wootilities-recipient__details { grid-column: 1; grid-row: 5; align-self: start; margin-top: 24px; }
	body.wootilities-layout-zalando.wootilities-checkout-active.wootilities-flow-active #wootilities-payment-document { grid-column: 1; grid-row: 3 / span 2; align-self: start; }
	body.wootilities-layout-zalando.wootilities-checkout-active.wootilities-flow-active .wootilities-review__items { grid-column: 1; grid-row: 3; align-self: start; }
	body.wootilities-layout-zalando.wootilities-checkout-active.wootilities-flow-active .wootilities-review__details { grid-column: 1; grid-row: 4; margin-top: 24px; }
	body.wootilities-layout-zalando.wootilities-checkout-active.wootilities-flow-active .wootilities-recipient__consents { grid-column: 1; grid-row: 5; margin-top: 24px; background: var(--wootilities-card,#fff); color: var(--wootilities-foreground,#202124); border: var(--wootilities-border-width,1px) solid var(--wootilities-border,#ddd); padding: 16px; box-sizing: border-box; }
	body.wootilities-layout-zalando.wootilities-checkout-active.wootilities-flow-active #wootilities-checkout-bar { grid-column: 2; grid-row: 3 / -1; align-self: start; }
	/* One back control: the header Back (to the cart) replaces the bar copy; from step 2 on, "Previous step" replaces both. */
	body.wootilities-layout-zalando.wootilities-checkout-active:has(.wootilities-checkout-header:not([hidden]) .wootilities-checkout-back) #wootilities-checkout-bar .wootilities-checkout-button--back,
	body.wootilities-layout-zalando.wootilities-checkout-active:has(#wootilities-checkout-bar .wootilities-flow-previous:not([hidden])) .wootilities-checkout-header .wootilities-checkout-back { display: none; }
}
@media (max-width: 782px) {
	body.wootilities-layout-zalando .wootilities-checkout-dialog__body { grid-template-columns: 1fr; }
	/* Zero-height native grid items must not add row gaps; the summary keeps its own spacing. */
	body.wootilities-layout-zalando.wootilities-checkout-active .wootilities-layout-checkout { row-gap: 0; }
	body.wootilities-layout-zalando.wootilities-checkout-active .wootilities-checkout-summary-anchor { margin-top: 24px; }
	body.wootilities-layout-zalando.wootilities-checkout-active.wootilities-flow-active :is(#wootilities-shipping-catalog,.wootilities-recipient__details,.wootilities-review__details) { margin-bottom: 16px; }
	/* Review: products and details before the consents (#wootilities-review is appended after the form). */
	body.wootilities-layout-zalando.wootilities-checkout-active.wootilities-flow-active[data-checkout-step="2"] .wc-block-checkout__main { display: flex; flex-direction: column; }
	body.wootilities-layout-zalando.wootilities-checkout-active.wootilities-flow-active[data-checkout-step="2"] #wootilities-review { order: -1; }
	#wootilities-flow-nav[data-step-markers] button { font-size: 12px; }
}

/* Reveal-before-focus; no native validation error is cleared by the step controller. */
body.wootilities-flow-active :is(#wootilities-payment-document,#wootilities-recipient) [data-flow-hidden],
body.wootilities-flow-active [data-flow-hidden],
body.wootilities-flow-active #wootilities-document[data-flow-hidden],
body.wootilities-flow-active #wootilities-shipping-catalog[data-flow-hidden] { display: none !important; }
body.wootilities-flow-active #wootilities-payment-document:not(:has([data-flow-section]:not([data-flow-hidden]))) { display: none; }
body.wootilities-flow-active #wootilities-recipient { grid-template-columns: 1fr; }
body.wootilities-flow-active .wootilities-recipient__details:not(:has(> [data-flow-section]:not([data-flow-hidden]))) { display: none; }
body.wootilities-flow-active .wc-block-components-express-payment { display: none !important; }
body.wootilities-flow-fallback :is(.wp-block-woocommerce-checkout-contact-information-block,.wp-block-woocommerce-checkout-billing-address-block,.wp-block-woocommerce-checkout-shipping-address-block,.wp-block-woocommerce-checkout-additional-information-block,.wp-block-woocommerce-checkout-order-note-block,.wootilities-native-additional-field) { display: block !important; }
@media (min-width: 783px) { [data-mobile-total] { display: none; } }
#wootilities-flow-nav { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 24px; }
#wootilities-flow-nav[hidden], .wootilities-flow-previous[hidden] { display: none; }
#wootilities-flow-nav button, #wootilities-review button {
	background: var(--wootilities-card,#fff); color: var(--wootilities-foreground,#222); border: var(--wootilities-border-width,1px) solid var(--wootilities-border,#ddd); border-radius: var(--wootilities-card-radius,4px); padding: 12px 16px; font: inherit; min-height: 44px; cursor: pointer;
}
#wootilities-flow-nav [aria-current="step"] { border-color: var(--wootilities-primary,#e2001a); font-weight: 700; }
#wootilities-flow-nav button:disabled { cursor: not-allowed; opacity: .55; }
:is(#wootilities-flow-nav button,#wootilities-review button,.wootilities-flow-previous):focus-visible { outline: 2px solid var(--wootilities-primary,#e2001a); outline-offset: 3px; }
#wootilities-review { border: var(--wootilities-border-width,1px) solid var(--wootilities-border,#ddd); padding: 24px; overflow-wrap: anywhere; }
#wootilities-review p { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; justify-content: space-between; }
#wootilities-review li { margin-block: 12px; }
.wootilities-checkout-summary-anchor { display: none; }

@media (max-width: 782px) {
	body.wootilities-cart-active:not(.wootilities-layout-bonito) .wp-block-woocommerce-cart .wc-block-cart,
	body.wootilities-checkout-active:not(.wootilities-layout-bonito) .wootilities-layout-checkout { grid-template-columns: 1fr !important; }
	body.wootilities-checkout-active:not(.wootilities-layout-bonito) #wootilities-checkout-bar { grid-column: 1; grid-row: auto; position: static; }
	body.wootilities-cart-active:not(.wootilities-layout-bonito) .wp-block-woocommerce-cart .wc-block-cart__sidebar { position: static; }
}
@media (max-width: 782px) {
	body.wootilities-cart-active:not(.wootilities-layout-bonito) .wp-block-woocommerce-cart { padding-bottom: 130px !important; }
	body.wootilities-cart-active:not(.wootilities-layout-bonito) .wp-block-woocommerce-cart .wc-block-cart-items__row { grid-template-columns: 90px minmax(0,1fr) auto; column-gap: 8px; }
	body.wootilities-cart-active:not(.wootilities-layout-bonito) .wp-block-woocommerce-cart .wc-block-cart-item__total { grid-column: 3 !important; grid-row: 1 !important; padding: 18px 8px 10px 4px !important; font-size: 16px; }
	/* Woo spans the product cell over columns 2-3; the price owns column 3. */
	body.wootilities-cart-active:not(.wootilities-layout-bonito) .wp-block-woocommerce-cart .wc-block-cart-item__product { grid-column: 2 !important; grid-row: 1 !important; padding-inline: 0 !important; }
	body.wootilities-cart-active:not(.wootilities-layout-bonito) .wp-block-woocommerce-cart .wc-block-cart-item__total::before { content: none; }
	body.wootilities-cart-active:not(.wootilities-layout-bonito) .wp-block-woocommerce-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper { flex-direction: column !important; align-items: flex-end; font-size: 16px; white-space: nowrap; }
	body.wootilities-cart-active:not(.wootilities-layout-bonito) .wp-block-woocommerce-cart .wc-block-components-product-name { padding-right: 0; }
	body.wootilities-cart-active:not(.wootilities-layout-bonito) .wp-block-woocommerce-cart :is(.wc-block-cart-item__image,.wc-block-cart-item__total) { width: auto !important; }
	body.wootilities-layout-zalando.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-cart-item__image img { width: 80px !important; height: 100px !important; }
	body:is(.wootilities-layout-allegro,.wootilities-layout-empik).wootilities-cart-active .wp-block-woocommerce-cart .wc-block-cart-items__row { border: var(--wootilities-border-width,1px) solid var(--wootilities-cart-border,var(--wootilities-border,#ddd)) !important; margin-bottom: 12px; }
	body:is(.wootilities-layout-allegro,.wootilities-layout-empik).wootilities-cart-active .wp-block-woocommerce-cart .wc-block-cart-items__row > td { border: 0 !important; }
	body.wootilities-cart-active:not(.wootilities-layout-bonito) .wp-block-woocommerce-cart .wc-block-cart-item__wrap > .wc-block-cart-item__quantity { width: 100% !important; box-sizing: border-box; padding-inline: 0; flex-wrap: wrap; }
	body.wootilities-cart-active:not(.wootilities-layout-bonito) .wp-block-woocommerce-cart .wc-block-components-quantity-selector { max-width: 100%; min-width: 0; flex: 1 1 auto; }
	.wootilities-cart-mobile-actions:not([hidden]) { display: flex; position: fixed; inset: auto 0 0; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); background: var(--wootilities-card,#fff); border-top: var(--wootilities-border-width,1px) solid var(--wootilities-cart-border,var(--wootilities-border,#ddd)); z-index: 10; }
	.wootilities-cart-mobile-actions.is-summary-visible:not(:focus-within) { display: none; }
	body.wootilities-cart-active.wootilities-purchase-editing .wootilities-cart-mobile-actions { position: static; }
	body.wootilities-checkout-active:is(.wootilities-flow-active,:not(.wootilities-layout-bonito)) .wootilities-layout-checkout { padding-bottom: 160px; }
	body.wootilities-checkout-active:is(.wootilities-flow-active,:not(.wootilities-layout-bonito)) #wootilities-checkout-bar {
		position: fixed; inset: auto 0 0; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; margin: 0; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); z-index: 10; order: 3;
	}
	body.wootilities-checkout-active:is(.wootilities-flow-active,:not(.wootilities-layout-bonito)) .wootilities-checkout-summary-anchor { display: block; grid-column: 1 / -1; height: 1px; order: 2; }
	body.wootilities-checkout-active:is(.wootilities-flow-active,:not(.wootilities-layout-bonito)) #wootilities-checkout-bar.is-summary-visible { position: static; grid-column: 1 / -1; grid-template-columns: 1fr; }
	body.wootilities-checkout-active:is(.wootilities-flow-active,:not(.wootilities-layout-bonito)) #wootilities-checkout-bar .wootilities-checkout-summary { display: block; }
	body.wootilities-checkout-active:is(.wootilities-flow-active,:not(.wootilities-layout-bonito)) .wootilities-checkout-summary summary { display: flex; align-items: center; gap: 12px; justify-content: space-between; cursor: pointer; min-height: 44px; }
	body.wootilities-checkout-active:is(.wootilities-flow-active,:not(.wootilities-layout-bonito)) #wootilities-checkout-bar:has(details[open]) { position: static; grid-column: 1 / -1; grid-template-columns: 1fr; }
	body.wootilities-checkout-active:is(.wootilities-flow-active,:not(.wootilities-layout-bonito)) #wootilities-checkout-bar .wootilities-checkout-summary__total { display: none; }
	body.wootilities-checkout-active:is(.wootilities-flow-active,:not(.wootilities-layout-bonito)) .checkout-order-summary-block-fill-wrapper { display: none; }
	body.wootilities-checkout-active.wootilities-purchase-editing:is(.wootilities-flow-active,:not(.wootilities-layout-bonito)) #wootilities-checkout-bar { position: static; }
	#wootilities-checkout-bar:has(details:not([open])) :is(.wootilities-checkout-coupon,.wootilities-checkout-coupons) { display: none; }
	.wootilities-checkout-actions .wootilities-flow-previous:not([hidden]) { display: block; padding: 8px; }
}
/* Zalando cart: compact summary heading like the reference; the "custom headings" option keeps its own scale. */
body.wootilities-layout-zalando.wootilities-cart-active:not(.wootilities-custom-headings) .wootilities-cart-summary-panel > h2 { font-family: inherit; font-size: 20px; font-weight: 600; line-height: 1.3; }
/* Bonito desktop sticky bar: breakdown on one line and actions side by side, so it covers ~15% of the viewport, not ~28%. */
@media (min-width: 783px) {
	body.wootilities-layout-bonito.wootilities-checkout-sticky-summary #wootilities-checkout-bar { align-items: center; gap: 16px; padding: 12px 20px; }
	body.wootilities-layout-bonito.wootilities-checkout-sticky-summary .wootilities-checkout-summary summary { padding-bottom: 4px; }
	body.wootilities-layout-bonito.wootilities-checkout-sticky-summary .wootilities-checkout-summary details > div { display: flex; flex-wrap: wrap; column-gap: 24px; }
	body.wootilities-layout-bonito.wootilities-checkout-sticky-summary .wootilities-checkout-summary details > div > p { border-top: 0; gap: 8px; padding: 4px 0; }
	body.wootilities-layout-bonito.wootilities-checkout-sticky-summary .wootilities-checkout-actions { flex-flow: row wrap; align-content: center; gap: 8px; }
	body.wootilities-layout-bonito.wootilities-checkout-sticky-summary .wootilities-checkout-actions > .wootilities-checkout-button { flex: 1 1 0; padding: 8px 12px; }
	body.wootilities-layout-bonito.wootilities-checkout-sticky-summary .wootilities-checkout-actions > :is(.wootilities-checkout-place-order,.wootilities-checkout-error,.wootilities-checkout-back-note) { flex-basis: 100%; }
}

/* Gallery (Zara reference, reference/screenshots/cart): cart lines as a grid of large product cards; total and CTA in the
   fixed bottom bar on every width. Checkout: no step indicator (one page per step), delivery and payment as tiles. */
body.wootilities-layout-gallery.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-cart { grid-template-columns: 1fr; }
body.wootilities-layout-gallery.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-cart-items { display: block !important; border: 0 !important; }
body.wootilities-layout-gallery.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-cart-items tbody { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 32px 16px; }
body.wootilities-layout-gallery.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-cart-items__row { display: flex !important; flex-direction: column; gap: 12px; border: 0 !important; }
body.wootilities-layout-gallery.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-cart-items__row > td { display: block !important; width: auto !important; padding: 0 !important; border: 0 !important; text-align: start !important; }
body.wootilities-layout-gallery.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-cart-item__image img { display: block; width: 100% !important; height: auto !important; aspect-ratio: 3 / 4; object-fit: cover; background: var(--wootilities-muted,#f5f5f5); }
body.wootilities-layout-gallery.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper { align-items: flex-start !important; }
body.wootilities-layout-gallery.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-components-product-name { font-size: 14px !important; text-transform: uppercase; letter-spacing: .04em; }
/* Gallery and Single column: the summary sits below the lines, the fixed bar carries total and CTA until it is in view. */
body:is(.wootilities-layout-gallery,.wootilities-layout-column).wootilities-cart-active .wp-block-woocommerce-cart .wc-block-cart__sidebar { position: static !important; }
body:is(.wootilities-layout-gallery,.wootilities-layout-column).wootilities-cart-active .wp-block-woocommerce-cart { padding-bottom: 130px !important; }
body:is(.wootilities-layout-gallery,.wootilities-layout-column) .wootilities-cart-mobile-actions:not([hidden]) {
	display: flex; position: fixed; inset: auto 0 0; align-items: center; justify-content: space-between; gap: 16px; z-index: 10;
	padding: 12px max(16px, calc((100vw - var(--wootilities-bar-width, 1100px)) / 2)) calc(12px + env(safe-area-inset-bottom));
	background: var(--wootilities-card,#fff); border-top: var(--wootilities-border-width,1px) solid var(--wootilities-cart-border,var(--wootilities-border,#ddd));
}
body.wootilities-layout-column { --wootilities-bar-width: 760px; }
@media (max-width: 782px) {
	body.wootilities-layout-gallery.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-cart-items tbody { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 12px; }
	body.wootilities-layout-gallery.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-cart-item__quantity { flex-wrap: wrap; }
}
body:is(.wootilities-layout-gallery,.wootilities-layout-column) .wootilities-cart-mobile-actions.is-summary-visible:not(:focus-within) { display: none; }
body:is(.wootilities-layout-gallery,.wootilities-layout-column).wootilities-cart-active.wootilities-purchase-editing .wootilities-cart-mobile-actions { position: static; }
body.wootilities-layout-gallery.wootilities-checkout-active #wootilities-flow-nav { display: none !important; }
body.wootilities-layout-gallery.wootilities-checkout-active:not(.wootilities-custom-headings) :is(.wootilities-method-group,#wootilities-payment-catalog,#wootilities-document,#wootilities-recipient) h2 { font-family: inherit; font-size: 14px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
body.wootilities-layout-gallery.wootilities-checkout-active :is(.wootilities-method-group,#wootilities-payment-catalog,#wootilities-payment-catalog-after) { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 8px; align-items: stretch; }
body.wootilities-layout-gallery.wootilities-checkout-active :is(.wootilities-method-group,#wootilities-payment-catalog,#wootilities-payment-catalog-after) > :not(.wootilities-method-card,.wootilities-payment-card) { grid-column: 1 / -1; }
body.wootilities-layout-gallery.wootilities-checkout-active :is(.wootilities-method-card,.wootilities-payment-card) { flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 8px; min-height: 120px; margin: 0 !important; padding: 16px !important; border-radius: 0 !important; }
body.wootilities-layout-gallery.wootilities-checkout-active .wootilities-method-card > b { margin-left: 0; }
body.wootilities-layout-gallery.wootilities-checkout-active .wootilities-method-card > i { display: none; }
body.wootilities-layout-gallery.wootilities-checkout-active :is(.wootilities-document-card,#wootilities-checkout-bar,.wootilities-checkout-button) { border-radius: 0 !important; }

/* Single column (Apple and Notino references): cart and checkout in one narrow centred column; the checkout summary is a
   collapsed bar fixed at the bottom on every width, opened like a drawer. */
body.wootilities-layout-column.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-cart { grid-template-columns: 1fr; max-width: 760px; margin-inline: auto !important; }
body.wootilities-layout-column.wootilities-cart-active .wp-block-woocommerce-cart .wc-block-cart__sidebar { background: none; border-inline: 0; border-bottom: 0; padding-inline: 0 !important; }
body.wootilities-layout-column.wootilities-checkout-active .wootilities-layout-checkout { grid-template-columns: 1fr !important; max-width: 640px; margin-inline: auto !important; padding-bottom: 160px; }
body.wootilities-layout-column.wootilities-checkout-active #wootilities-checkout-bar {
	position: fixed !important; inset: auto 0 0 !important; top: auto !important; grid-column: 1; order: 3; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; margin: 0; z-index: 10;
	padding: 12px max(16px, calc((100vw - 640px) / 2)) calc(12px + env(safe-area-inset-bottom));
}
body.wootilities-layout-column.wootilities-checkout-active :is(#wootilities-checkout-bar.is-summary-visible,#wootilities-checkout-bar:has(details[open])) { position: static !important; grid-template-columns: 1fr; padding-inline: 0; }
body.wootilities-layout-column.wootilities-checkout-active.wootilities-purchase-editing #wootilities-checkout-bar { position: static !important; }
/* Docked (static) bar sits after the anchor, at the end of the column; before it, docking would shift the anchor out of view and loop. */
body.wootilities-layout-column.wootilities-checkout-active .wootilities-checkout-summary-anchor { display: block; grid-column: 1 / -1; height: 1px; order: 2; }
body.wootilities-layout-column.wootilities-checkout-active .wootilities-checkout-summary summary { display: flex; align-items: center; gap: 12px; justify-content: space-between; cursor: pointer; min-height: 44px; }
body.wootilities-layout-column.wootilities-checkout-active #wootilities-checkout-bar:not(:has(details[open])) .wootilities-checkout-summary__total,
body.wootilities-layout-column.wootilities-checkout-active .checkout-order-summary-block-fill-wrapper { display: none; }
body.wootilities-layout-column.wootilities-checkout-active [data-mobile-total] { display: inline; }
body.wootilities-layout-column.wootilities-checkout-active :is(#wootilities-shipping-catalog,#wootilities-payment-document,#wootilities-recipient) { grid-template-columns: 1fr; }
