/* GENTS × WooCommerce glue. site.css is the design system; this file only maps
   WooCommerce classes onto it. Cart + checkout are WooCommerce Blocks: section 2 skins
   every Block selector to the static mockup (renderCartPage / renderCheckout) 1:1.
   This sheet is printed AFTER the Woo Blocks stylesheets (inc/assets.php). */

/* =========================================================================================
   1. Classic surfaces (order received, account, notices)
   ========================================================================================= */

.woocommerce-NoticeGroup { display: block; }
.woo-error.woocommerce-error li { margin: 0; }
.woo-error.woocommerce-error a.wc-backward,
.woo-error.woocommerce-error .button { display: none; }
.woocommerce-error a.showlogin,
.woocommerce-error a.showcoupon { display: none; }

.blockUI.blockOverlay {
  position: absolute !important;
  background: color-mix(in srgb, var(--paper) 70%, transparent) !important;
  opacity: 1 !important;
  inset: 0 !important;
  z-index: 10 !important;
  cursor: progress !important;
}
.blockUI.blockMsg { display: none !important; }
.processing { position: relative; }

/* Order received: Woo wraps thankyou in div.woocommerce-order; no extra spacing. */
.woocommerce-order { display: block; }
.thanks-extra { margin-top: 18px; text-align: left; }
.thanks-extra h2 { font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; font-family: var(--font); font-weight: 600; color: var(--muted); margin: 0 0 6px; }
.thanks-extra p, .thanks-extra li { font-size: 14px; line-height: 1.4; margin: 0; }
.thanks-extra ul { list-style: none; padding: 0; margin: 0; }
.thanks-extra .wc-bacs-bank-details-heading,
.thanks-extra .wc-bacs-bank-details-account-name { font-size: 14px; font-weight: 600; margin: 8px 0 2px; }
.woocommerce-notices-wrapper:empty { display: none; }

/* The shop shortcode container must not add box model. */
.woocommerce { display: block; }

/* =========================================================================================
   2. WooCommerce Blocks → static design
   ========================================================================================= */

/* ---- 2.0 Shared: wrapper, two-column grid (.woo), notices, buttons, forms ---------------- */

.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
  margin: 0;
  max-width: none;
  font-family: var(--font);
  font-size: 16px;
  color: var(--ink);
}
.wp-block-woocommerce-cart.alignwide,
.wp-block-woocommerce-checkout.alignwide { width: auto; }
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout,
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout {
  display: grid;
  grid-template-columns: 1.45fr 0.72fr;
  gap: 42px;
  align-items: start;
  margin: 28px 0 0;
  padding: 0;
  column-gap: 42px;
}
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout > div:empty,
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > div:empty { display: none; }
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-main,
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-main,
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar,
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-sidebar {
  width: auto;
  flex: none;
  min-width: 0;
  margin: 0;
  padding: 0;
}
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout:has(> :last-child.wp-block-woocommerce-checkout-fields-block) { flex-direction: row; }
.wc-block-components-sidebar-layout .with-scroll-to-top__scroll-point { display: none; }

/* Skeleton while hydrating: keep the GENTS surface, no grey pills. */
.wp-block-woocommerce-cart.is-loading,
.wp-block-woocommerce-checkout.is-loading { min-height: 240px; }
.wc-block-components-skeleton__element,
.wc-block-cart--is-loading .wc-block-components-product-name,
.wc-block-cart--is-loading .wc-block-cart-item__image > a { border-radius: 0 !important; }

/* Notices: static .woo-error. */
.wc-block-components-notices { display: block; }
.wc-block-components-notices:empty { display: none; }
.wc-block-components-notice-banner {
  margin: 0 0 16px;
  padding: 12px 14px;
  border: 0;
  border-left: 3px solid var(--ink);
  border-radius: 0;
  background: color-mix(in srgb, var(--ink) 6%, transparent);
  color: var(--ink);
  font-size: 14px;
  line-height: 1.4;
  box-shadow: none;
}
.wc-block-components-notice-banner.is-error {
  border-left-color: #c4554a;
  background: color-mix(in srgb, #c4554a 10%, transparent);
}
.wc-block-components-notice-banner.is-success {
  border-left-color: #3f7d57;
  background: color-mix(in srgb, #3f7d57 10%, transparent);
}
.wc-block-components-notice-banner > svg { display: none; }
.wc-block-components-notice-banner__content { margin: 0; }
.wc-block-components-notice-banner__content ul { list-style: disc; padding-left: 18px; margin: 0; }
.wc-block-components-notice-banner__content li { margin: 0; }
.wc-block-components-notice-banner > .wc-block-components-button { color: var(--ink) !important; }
.wc-block-components-notice-snackbar-list { display: none; }

/* Validation messages: static .woo-hint. */
.wc-block-components-validation-error {
  color: #c4554a;
  font-size: 12px;
  line-height: 1.3;
  padding: 0;
  min-height: 0;
}
.wc-block-components-validation-error > p { display: block; line-height: 1.3; }
.wc-block-components-validation-error svg { display: none; }

/* Text inputs: static .woo-field (label above, flat 48px control). */
.wc-block-components-form .wc-block-components-text-input,
.wc-block-components-text-input {
  position: relative;
  display: grid;
  gap: 6px;
  align-content: start;
  margin: 0;
  line-height: 1.3;
  white-space: normal;
  font-size: 14px;
}
.wc-block-components-form .wc-block-components-text-input label,
.wc-block-components-text-input label,
.wc-block-components-form .wc-block-components-text-input.is-active label,
.wc-block-components-text-input.is-active label,
.wc-block-components-text-input input:-webkit-autofill + label {
  position: static;
  order: -1;
  transform: none;
  max-width: none;
  margin: 0;
  padding: 0;
  left: auto;
  top: auto;
  cursor: default;
  color: var(--ink);
  font-size: 12px;
  line-height: 1.5; /* static .woo-label inherits body 1.5 → 72px field */
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 600;
  pointer-events: auto;
  transition: none;
}
.wc-block-components-form .wc-block-components-text-input input[type="date"],
.wc-block-components-form .wc-block-components-text-input input[type="email"],
.wc-block-components-form .wc-block-components-text-input input[type="number"],
.wc-block-components-form .wc-block-components-text-input input[type="password"],
.wc-block-components-form .wc-block-components-text-input input[type="tel"],
.wc-block-components-form .wc-block-components-text-input input[type="text"],
.wc-block-components-form .wc-block-components-text-input input[type="url"],
.wc-block-components-text-input input[type="date"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="number"],
.wc-block-components-text-input input[type="password"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="url"],
.wc-block-components-form .wc-block-components-text-input.is-active input[type="date"],
.wc-block-components-form .wc-block-components-text-input.is-active input[type="email"],
.wc-block-components-form .wc-block-components-text-input.is-active input[type="number"],
.wc-block-components-form .wc-block-components-text-input.is-active input[type="password"],
.wc-block-components-form .wc-block-components-text-input.is-active input[type="tel"],
.wc-block-components-form .wc-block-components-text-input.is-active input[type="text"],
.wc-block-components-form .wc-block-components-text-input.is-active input[type="url"],
.wc-block-components-text-input input:-webkit-autofill,
.wc-block-components-form .wc-block-components-text-input input:-webkit-autofill {
  width: 100%;
  min-height: 48px;
  height: auto;
  margin: 0;
  padding: 8px 12px;
  border: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.3;
  letter-spacing: 0;
  text-transform: none;
  box-shadow: none;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
.wc-block-components-text-input input::placeholder { color: color-mix(in srgb, var(--ink) 40%, transparent); opacity: 1; }
.wc-block-components-form .wc-block-components-text-input input:focus-within,
.wc-block-components-text-input input:focus-within,
.wc-block-components-form .wc-block-components-text-input input:focus,
.wc-block-components-text-input input:focus,
.wc-block-components-form .wc-block-components-text-input input:is([type="text"], [type="email"], [type="tel"], [type="number"], [type="password"], [type="url"], [type="date"]):focus-within,
.wc-block-components-form .wc-block-components-text-input.is-active input:is([type="text"], [type="email"], [type="tel"], [type="number"], [type="password"], [type="url"], [type="date"]):focus-within,
.wc-block-components-text-input input:is([type="text"], [type="email"], [type="tel"], [type="number"], [type="password"], [type="url"], [type="date"]):focus-within {
  outline: none;
  padding: 8px 12px;
  border-width: 1px;
  border-color: var(--ink);
  box-shadow: inset 0 0 0 1px var(--ink);
}
.wc-block-components-form .wc-block-components-text-input.has-error input,
.wc-block-components-text-input.has-error input,
.wc-block-components-form .wc-block-components-text-input.has-error input:focus-within,
.wc-block-components-text-input.has-error input:focus-within {
  border-color: #c4554a;
  box-shadow: inset 0 0 0 1px #c4554a;
}
.wc-block-components-form .wc-block-components-text-input.has-error label,
.wc-block-components-text-input.has-error label { color: #c4554a; }

/* Selects (country): same control. */
.wc-blocks-components-select { width: 100%; max-width: none; margin: 0; }
.wc-block-checkout__form .wc-blocks-components-select { margin-top: 0; }
.wc-blocks-components-select .wc-blocks-components-select__container {
  display: grid;
  gap: 6px;
  position: relative;
  background: transparent;
  border-radius: 0;
  line-height: 1.3;
}
.wc-blocks-components-select .wc-blocks-components-select__label {
  position: static;
  order: -1;
  transform: none;
  max-width: none;
  margin: 0;
  padding: 0;
  left: auto;
  color: var(--ink);
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 600;
}
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-blocks-components-select .wc-blocks-components-select__select:focus {
  width: 100%;
  min-height: 48px;
  height: auto;
  margin: 0;
  padding: 8px 40px 8px 12px;
  border: 1px solid var(--line);
  border-width: 1px;
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.3;
  appearance: none;
  box-shadow: none;
}
.wc-blocks-components-select .wc-blocks-components-select__select:focus {
  outline: none;
  border-color: var(--ink);
  box-shadow: inset 0 0 0 1px var(--ink);
}
.wc-blocks-components-select .wc-blocks-components-select__expand {
  top: auto;
  bottom: 14px;
  right: 12px;
  transform: none;
  fill: currentColor;
  width: 20px;
  height: 20px;
}
.has-error .wc-blocks-components-select .wc-blocks-components-select__select { border-color: #c4554a; color: var(--ink); }
.has-error .wc-blocks-components-select .wc-blocks-components-select__label { color: #c4554a; }

/* Checkboxes: static .check-label / .check-terms. */
.wc-block-components-checkbox { line-height: 1.4; }
.wc-block-components-checkbox label {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 14px;
  line-height: 1.4;
  color: var(--ink);
  cursor: pointer;
}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"],
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked {
  appearance: auto;
  -webkit-appearance: checkbox;
  width: 18px;
  height: 18px;
  min-width: 18px;
  margin: 2px 0 0;
  flex: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  accent-color: var(--ink);
}
/* Terms acceptance: ~20% larger hit target. */
.wc-block-checkout__terms .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"],
.wc-block-checkout__terms .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked {
  width: 22px;
  height: 22px;
  min-width: 22px;
  margin-top: 1px;
}
.wc-block-checkout__terms .wc-block-components-checkbox label {
  gap: 12px;
  padding: 4px 0;
}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]::before,
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]::after,
.wc-block-components-checkbox .wc-block-components-checkbox__mark { display: none; content: none; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:focus { outline: none; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.wc-block-components-checkbox__label { font-size: 14px; }
.wc-block-components-checkbox__label a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

/* Buttons: static .btn / .btn-ghost. */
.wc-block-components-button:not(.is-link),
body:not(.woocommerce-block-theme-has-button-styles) .wc-block-components-button:not(.is-link) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 22px;
  border: 1px solid var(--ink);
  border-radius: 0;
  background: var(--ink);
  color: var(--paper);
  font-family: var(--font);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  box-shadow: none;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.wc-block-components-button:not(.is-link):hover:not(:disabled):not([aria-disabled="true"]),
body:not(.woocommerce-block-theme-has-button-styles) .wc-block-components-button:not(.is-link):hover:not(:disabled):not([aria-disabled="true"]) {
  background: transparent;
  color: var(--ink);
  transform: translateY(-2px);
}
.wc-block-components-button:not(.is-link):focus,
body:not(.woocommerce-block-theme-has-button-styles) .wc-block-components-button:not(.is-link):focus { box-shadow: none; outline: none; }
.wc-block-components-button:not(.is-link):focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.wc-block-components-button:not(.is-link):disabled,
.wc-block-components-button:not(.is-link)[aria-disabled="true"] { opacity: 0.45; cursor: default; }
.wc-block-components-button:not(.is-link) .wc-block-components-button__text { display: block; }
.wc-block-components-button:not(.is-link).outlined,
.wc-block-components-button:not(.is-link).is-style-outline,
.wc-block-components-button:not(.is-link).outlined:not(:focus) {
  background: transparent;
  color: var(--ink);
  box-shadow: none;
  min-height: 40px;
  padding: 0 12px;
  letter-spacing: 0.12em;
}
.wc-block-components-button:not(.is-link).outlined:hover:not(:disabled) { background: var(--ink); color: var(--paper); }
.wc-block-components-spinner { color: inherit; }

/* Panels (coupon) → static .coupon-toggle + .coupon (no boxed panel chrome). */
.wc-block-components-panel,
.wc-block-components-panel.has-border,
.wc-block-components-totals-coupon.wc-block-components-panel {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.wc-block-components-panel__button,
.wc-block-components-panel__button:hover,
.wc-block-components-panel__button:focus,
.wc-block-components-panel__button:active,
.wc-block-components-totals-coupon .wc-block-components-panel__button {
  display: inline !important;
  width: auto !important;
  max-width: 100%;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  color: var(--muted) !important;
  font-family: var(--font) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important; /* static .coupon-toggle: 13px / 19.5px → 20px row */
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
  text-align: left !important;
  cursor: pointer;
  box-shadow: none !important;
  justify-content: flex-start !important;
}
.wc-block-components-panel__button:hover { color: var(--ink) !important; }
.wc-block-components-panel__button > .wc-block-components-panel__button-icon { display: none !important; }
.wc-block-components-panel__button[aria-expanded="true"] { margin-bottom: 8px !important; }
.wc-block-components-panel__content { padding: 0 !important; margin: 0 !important; border: 0 !important; }

/* Coupon block itself: no totals-wrapper separator / padding (static .coupon-wrap). */
.wp-block-woocommerce-cart-order-summary-coupon-form-block.wc-block-components-totals-wrapper,
.wc-block-components-totals-coupon,
.wp-block-woocommerce-cart-order-summary-block .wp-block-woocommerce-cart-order-summary-coupon-form-block {
  border: 0 !important;
  border-top: 0 !important;
  padding: 0 !important;
  margin: 6px 0 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
/* Inner panel: the 6px offset belongs to the block wrapper only (static .coupon-wrap). */
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-totals-coupon,
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-totals-coupon.wc-block-components-panel {
  margin: 0 !important;
  font-size: 13px;
  line-height: 1.5;
}
.wc-block-components-totals-coupon__form {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  width: 100%;
  margin: 0 !important;
}
.wc-block-components-totals-coupon__form .wc-block-components-text-input.wc-block-components-totals-coupon__input {
  flex: none !important;
  margin: 0 !important;
  position: relative;
}
.wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__input label { display: none !important; }
/* Static .coupon input: soft --line only - never ink/inset double-ring (Woo focus). */
.wc-block-cart .wc-block-components-totals-coupon input,
.wc-block-cart .wc-block-components-totals-coupon input[type="text"],
.wc-block-cart .wc-block-components-totals-coupon .wc-block-components-text-input input,
.wc-block-cart .wc-block-components-totals-coupon .wc-block-components-text-input.is-active input,
.wc-block-cart .wc-block-components-totals-coupon .wc-block-components-text-input input:focus,
.wc-block-cart .wc-block-components-totals-coupon .wc-block-components-text-input input:focus-within,
.wc-block-cart .wc-block-components-totals-coupon .wc-block-components-text-input.is-active input:focus,
.wc-block-cart .wc-block-components-totals-coupon .wc-block-components-text-input.is-active input:focus-within,
.wc-block-cart .wc-block-components-totals-coupon .wc-block-components-text-input input:is([type="text"]):focus-within {
  min-height: 48px !important;
  height: auto !important;
  padding: 0 12px !important;
  border: 1px solid var(--line) !important;
  border-color: var(--line) !important;
  border-width: 1px !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ink) !important;
  box-shadow: none !important;
  outline: none !important;
}
.wc-block-cart .wc-block-components-totals-coupon__form .wc-block-components-text-input {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
}
/* Apply → static .btn-ghost (not primary black CTA). */
.wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button,
.wc-block-components-totals-coupon__form button.wc-block-components-button.wc-block-components-totals-coupon__button,
body:not(.woocommerce-block-theme-has-button-styles) .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button {
  flex: none !important;
  width: 100% !important;
  min-height: 40px !important;
  height: auto !important;
  padding: 0 12px !important;
  border: 1px solid var(--ink) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ink) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
  transform: none !important;
}
.wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button:hover:not(:disabled),
.wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button:hover:not(:disabled):not([aria-disabled="true"]),
body:not(.woocommerce-block-theme-has-button-styles) .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button:hover:not(:disabled) {
  background: var(--ink) !important;
  color: var(--paper) !important;
  transform: none !important;
}
.wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button:disabled,
.wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button[aria-disabled="true"] {
  opacity: 0.45;
  cursor: default;
}
.wc-block-components-totals-coupon__content { gap: 8px; border: 0 !important; padding: 0 !important; }
.wc-block-components-chip,
.wc-block-components-totals-discount__coupon-list .wc-block-components-chip {
  border: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  font-size: 13px;
  padding: 2px 8px;
}
.wc-block-components-totals-discount__coupon-list { list-style: none; margin: 0; padding: 0; }

/* Money: Outfit, no odd kerning on the currency. */
.wc-block-components-formatted-money-amount { font-variant-numeric: tabular-nums; white-space: nowrap; }

/* ---- 2.1 Cart ---------------------------------------------------------------------------- */

/* Table → static .shop-table (Produkt | Cena | Ilość | Suma). */
.wc-block-cart table.wc-block-cart-items,
table.wc-block-cart-items {
  display: block;
  width: 100%;
  margin: 0;
  border: 0;
  border-collapse: collapse;
  font-size: 16px;
  line-height: 1.5;
}
.wc-block-cart table.wc-block-cart-items thead,
.wc-block-cart table.wc-block-cart-items tbody { display: block; width: 100%; }
.wc-block-cart table.wc-block-cart-items caption { display: none; }
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__header,
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row,
.is-medium table.wc-block-cart-items .wc-block-cart-items__row,
.is-mobile table.wc-block-cart-items .wc-block-cart-items__row,
.is-small table.wc-block-cart-items .wc-block-cart-items__row {
  display: grid;
  grid-template-columns: 24px 78px minmax(0, 1fr) 83px 179px 85px;
  column-gap: 0;
  align-items: center;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
  line-height: 1.5;
}
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__header,
.is-medium table.wc-block-cart-items .wc-block-cart-items__header,
.is-small table.wc-block-cart-items .wc-block-cart-items__header {
  display: grid;
  padding: 0 0 12px;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 600;
}
.wc-block-cart__main .wc-block-cart-items th,
table.wc-block-cart-items .wc-block-cart-items__header th {
  padding: 0;
  border: 0;
  width: auto;
  font-size: inherit;
  font-weight: 600;
  text-align: left;
  white-space: nowrap;
  background: none !important;
}
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__header-image { grid-column: 1 / 4; }
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__header-image span { visibility: visible; }
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__header-product { display: contents; }
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__header-product::before,
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__header-product::after {
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 600;
  text-align: right;
}
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__header-product::before { content: "Cena"; grid-column: 4; padding-right: 16px; }
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__header-product::after { content: "Ilość"; grid-column: 5; padding-right: 16px; }
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__header-total { grid-column: 6; text-align: right; width: auto; padding-right: 16px; }

/* Row cells. */
.wc-block-cart__main .wc-block-cart-items td,
.is-medium table.wc-block-cart-items td,
.is-small table.wc-block-cart-items td {
  padding: 0;
  margin: 0;
  border: 0;
  vertical-align: middle;
}
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image,
.is-medium table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image,
.is-small table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image {
  grid-column: 2;
  grid-row: 1;
  padding: 0 0 0 14px;
  width: 78px;
}
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image a { display: block; background: none; }
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image img {
  display: block;
  width: 64px;
  height: 84px;
  object-fit: contain;
  margin: 0;
}
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product,
.is-medium table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product,
.is-small table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product,
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__wrap,
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity,
.is-medium table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity,
.is-small table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity { display: contents; }
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name {
  grid-column: 3;
  grid-row: 1;
  display: block;
  padding-left: 14px;
  font-family: var(--display);
  font-size: 32px;
  font-weight: 400;
  line-height: 0.9;
  letter-spacing: normal; /* static .cart-product a: no tracking */
  text-decoration: none;
  color: inherit;
  overflow-wrap: anywhere;
}
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices {
  grid-column: 4;
  grid-row: 1;
  justify-content: flex-end;
  text-align: right;
  padding-right: 16px;
  font-size: 16px;
  line-height: 1.5;
}
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices .price { justify-content: flex-end; }
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-metadata,
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-details,
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-badge,
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-sale-badge,
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__save-for-later { display: none; }
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total,
.is-medium table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total,
.is-small table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total {
  grid-column: 6;
  grid-row: 1;
  justify-content: flex-end;
  text-align: right;
  padding-right: 16px;
  font-size: 16px;
  line-height: 1.5;
}

/* Quantity → static .cart-qty (flat steppers). */
.wc-block-cart .wc-block-components-quantity-selector,
.wc-block-components-quantity-selector:where(:has(input:not([type="hidden"]))),
:where(.wc-block-components-quantity-selector:has(input:not([type="hidden"]))) {
  grid-column: 5;
  grid-row: 1;
  display: inline-flex;
  align-items: center;
  justify-self: end;
  gap: 2px;
  min-width: 0;
  width: auto;
  margin: 0 16px 0 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.wc-block-components-quantity-selector::after { display: none; content: none; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
  order: 0;
  width: 36px;
  height: 36px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  font-size: 20px;
  line-height: 1;
  opacity: 1;
  cursor: pointer;
  box-shadow: none;
}
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button--minus { order: 1; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button--plus { order: 3; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover,
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:focus {
  background: color-mix(in srgb, var(--ink) 8%, transparent);
  box-shadow: none;
  opacity: 1;
}
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:disabled { opacity: 0.35; background: transparent; }
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input,
:where(.wc-block-components-quantity-selector .wc-block-components-quantity-selector__input) {
  order: 2;
  flex: none;
  width: 28px;
  min-width: 28px;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  text-align: center;
  font-size: 16px;
  line-height: 1.5; /* static .cart-qty-value: 24px */
  font-variant-numeric: tabular-nums;
  box-shadow: none;
}
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input:focus { box-shadow: none; outline: none; }

/* Remove → static .remove (×). */
.wc-block-cart table.wc-block-cart-items .wc-block-cart-item__remove-link,
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link,
.is-medium table.wc-block-cart-items .wc-block-cart-item__remove-link,
.is-small table.wc-block-cart-items .wc-block-cart-item__remove-link,
.is-mobile table.wc-block-cart-items .wc-block-cart-item__remove-link {
  display: block;
  grid-column: 1;
  grid-row: 1;
  justify-self: start;
  width: 24px;
  height: auto;
  margin: 0;
  padding: 1px 6px;
  border: 0;
  background: none;
  color: var(--muted);
  font-size: 22px;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  visibility: visible;
}
.wc-block-cart table.wc-block-cart-items .wc-block-cart-item__remove-link:hover { color: var(--ink); text-decoration: none; }
.wc-block-cart table.wc-block-cart-items .wc-block-cart-item__remove-link svg { display: none; }
.wc-block-cart table.wc-block-cart-items .wc-block-cart-item__remove-link::before { content: "×"; }

/* Free-shipping meter (js/woo-blocks.js) → static .ship-goal; styles come from site.css. */
.wc-block-cart__main .ship-goal { margin: 22px 0 8px; }

/* Totals → static aside.cart-totals. */
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout .wc-block-cart__sidebar,
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout .wp-block-woocommerce-cart-totals-block {
  border: 1px solid var(--line);
  padding: 22px;
  margin: 0;
}
.wp-block-woocommerce-cart-order-summary-block {
  display: flex;
  flex-direction: column;
  border: 0 !important;
  border-bottom: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.wp-block-woocommerce-cart-order-summary-totals-block,
.wp-block-woocommerce-checkout-order-summary-totals-block { border: 0 !important; padding: 0 !important; margin: 0 !important; }
.wp-block-woocommerce-cart-order-summary-block > .wp-block-woocommerce-cart-order-summary-coupon-form-block {
  order: 10;
  margin-top: 6px !important;
  border: 0 !important;
  padding: 0 !important;
}
.wc-block-cart .wc-block-cart__totals-title,
.wc-block-cart.is-small .wc-block-cart__totals-title,
.wc-block-cart.is-medium .wc-block-cart__totals-title,
.wc-block-cart.is-mobile .wc-block-cart__totals-title,
.wc-block-cart__totals-title {
  display: block;
  margin: 0 0 8px;
  padding: 0;
  border: 0;
  background: none;
  font-family: var(--display);
  font-size: 42px;
  font-weight: 400;
  line-height: 0.88;
  letter-spacing: 0.02em;
  text-transform: none;
  text-align: left;
  color: var(--ink);
}
.wc-block-cart .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-wrapper,
.wc-block-components-totals-wrapper,
.wp-block-woocommerce-cart-order-summary-totals-block .wc-block-components-totals-wrapper {
  border: 0;
  padding: 0;
  margin: 0;
}
.wc-block-components-totals-item {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: normal;
  gap: 4px 16px;
  padding: 12px 0;
  border-top: 1px solid var(--line);
  font-size: 16px;
  line-height: 1.5;
}
.wc-block-cart .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-item,
.wc-block-cart .wp-block-woocommerce-cart-order-summary-block .wc-block-components-panel { padding-left: 0; padding-right: 0; }
.wc-block-components-totals-item__label { flex: 1 1 auto; font-weight: 400; }
.wc-block-components-totals-item__value { font-weight: 400; }
.wc-block-components-totals-item__value strong { font-weight: 400; text-transform: none; }
.wc-block-components-totals-shipping .wc-block-components-totals-item strong { text-transform: none; font-weight: 400; }
.wc-block-components-totals-item__description {
  width: 100%;
  margin-top: -4px;
  font-size: 13px;
  line-height: 1.4;
  color: var(--muted);
  text-align: right;
}
.wc-block-components-totals-item__description:empty { display: none; }
/* Shipping row: static prints "Darmowa" or "InPost Kurier · 19 zł" on one line. */
.wc-block-components-totals-shipping .wc-block-components-totals-item { flex-wrap: nowrap; }
.wc-block-components-totals-shipping .wc-block-components-totals-item > .wc-block-components-totals-item__description:has(> .wc-block-components-totals-shipping__via:only-child) {
  order: 2;
  width: auto;
  margin: 0;
  color: inherit;
  font-size: 16px;
}
.wc-block-components-totals-shipping .wc-block-components-totals-item > .wc-block-components-totals-item__value { order: 3; }
.wc-block-components-totals-shipping .wc-block-components-totals-shipping__via { width: auto; font-size: inherit; display: inline; }
.wc-block-components-totals-shipping .wc-block-components-totals-shipping__via::after { content: " · "; }
html.gents-ship-free .wc-block-components-totals-shipping .wc-block-components-totals-item__description:has(> .wc-block-components-totals-shipping__via:only-child) { display: none; }
/* Paid rate: Woo swaps the row label for the rate name; static reads "Wysyłka   InPost Kurier · 19 zł". */
html.gents-ship-paid .wc-block-components-totals-shipping .wc-block-components-totals-item__label { display: flex; align-items: baseline; }
html.gents-ship-paid .wc-block-components-totals-shipping .wc-block-components-totals-item__label::before { content: "Wysyłka"; margin-right: auto; padding-right: 16px; }
html.gents-ship-paid .wc-block-components-totals-shipping .wc-block-components-totals-item__label::after { content: " · "; white-space: pre; }
html.gents-ship-paid .wc-block-components-totals-shipping .wc-block-components-totals-item { gap: 0; }
html.gents-ship-paid .wc-block-components-totals-shipping .wc-block-components-totals-item__description:has(> .wc-block-components-totals-shipping__via:only-child) { display: none; }
.wc-block-components-totals-shipping .wc-block-components-shipping-address,
.wc-block-components-totals-shipping .wc-block-components-totals-shipping__delivery-options-notice,
.wc-block-components-totals-shipping .wc-block-components-totals-shipping__options { text-align: left; margin-top: 8px; font-size: 13px; }
.wc-block-components-totals-shipping .wc-block-components-totals-shipping__change-address__link,
.wc-block-components-totals-shipping .wc-block-components-totals-shipping__change-address-button,
.wc-block-components-shipping-calculator-address__button {
  color: var(--muted);
  font-size: 13px;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.wc-block-components-totals-shipping .wc-block-components-shipping-placeholder__value { font-size: 16px; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-family: var(--display);
  font-size: 32px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: normal; /* static .totals-row strong */
}
.wc-block-components-totals-footer-item .wc-block-components-totals-footer-item-tax,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__description { font-size: 13px; color: var(--muted); text-align: right; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__description:empty { display: none; }

/* Express payments / accepted cards: not in the static design. */
.wp-block-woocommerce-cart-express-payment-block,
.wc-block-cart__payment-options:empty,
.wp-block-woocommerce-cart-accepted-payment-methods-block,
.wc-block-cart__payment-method-icons,
.wc-block-components-payment-method-icons { display: none; }

/* Proceed → static .cart-totals .btn (full width). */
.wc-block-cart .wc-block-cart__submit,
.wc-block-cart__submit { margin: 16px 0 0; position: relative; }
.wc-block-cart .wc-block-cart__submit-container { padding: 0; }
.wc-block-cart .wc-block-cart__submit-container--sticky {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 30;
  padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
  background: color-mix(in srgb, var(--white) 94%, transparent);
  border-top: 1px solid var(--line);
}
.wc-block-cart .wc-block-cart__submit-container--sticky::before { display: none; }
.wc-block-cart .wc-block-cart__submit-container--sticky .wc-block-cart__submit-button { min-height: 48px; }
.wc-block-cart__submit-button,
.wc-block-cart__submit-button.contained { width: 100%; margin: 0; }
.wc-block-cart__submit-button .wc-block-components-button__text { text-wrap: nowrap; }

/* Empty cart → static (h1 + .woo-info + .btn). */
.wp-block-woocommerce-empty-cart-block { display: block; }
.wp-block-woocommerce-empty-cart-block .woo-info { margin: 16px 0 20px; font-size: 18px; }
.wp-block-woocommerce-empty-cart-block .wp-block-separator,
.wp-block-woocommerce-empty-cart-block .wc-block-grid,
.wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-product-new,
.wp-block-woocommerce-empty-cart-block .with-empty-cart-icon,
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title,
.wp-block-woocommerce-empty-cart-block h2.wp-block-heading:not(.cross-row h2) { display: none; }
.wp-block-woocommerce-cart .cross-row { display: block; }

/* Cross-sells rail (server rendered) → static .cross-row; hidden once the cart is empty. */
.cross-row[hidden] { display: none; }

/* ---- 2.2 Checkout ------------------------------------------------------------------------ */

.wc-block-checkout__form { display: block; margin: 0; }
.wc-block-checkout__form .wc-block-components-express-payment-continue-rule,
.wp-block-woocommerce-checkout-express-payment-block,
.wc-block-components-express-payment { display: none; }

/* Steps → static sections (.shop-sub headings, no numbering, no left rail). */
.wc-block-components-form .wc-block-components-checkout-step,
.wc-block-components-checkout-step {
  position: relative;
  margin: 0 0 28px;
  padding: 0;
  border: 0;
  background: none;
}
.wc-block-checkout__form--with-step-numbers .wc-block-components-checkout-step--with-step-number { padding: 0; }
.wc-block-checkout__form--with-step-numbers .wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__title::before,
.wc-block-checkout__form--with-step-numbers .wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__content::before { display: none; content: none; }
.wc-block-components-checkout-step__heading-container { margin: 0 0 12px; gap: 6px; }
.wc-block-components-checkout-step__heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin: 0; }
.wc-block-components-checkout-step__title,
h2.wc-block-components-title.wc-block-components-checkout-step__title {
  margin: 0;
  font-family: var(--display);
  font-size: 42px;
  font-weight: 400;
  line-height: 0.88;
  letter-spacing: 0.02em;
  text-transform: none;
  color: var(--ink);
}
.wc-block-components-checkout-step__description { margin: 0; font-size: 14px; color: var(--muted); }
.wc-block-components-checkout-step__heading-content { font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; }
.wc-block-components-checkout-step__heading-content a { font-weight: 600; color: var(--muted); text-decoration: none; }
.wc-block-components-checkout-step__heading-content a:hover { color: var(--ink); }
.wc-block-checkout__login-prompt,
.wc-block-checkout__guest-checkout-notice,
#wc-guest-checkout-notice { display: none; }
.wc-block-components-checkout-step__content > * { margin-bottom: 14px; }
.wc-block-components-checkout-step__content > :last-child { margin-bottom: 0; }

/* Contact step → static email | phone 50/50 (phone relocated via woo-blocks.js). */
.wc-block-checkout__contact-fields .wc-block-components-address-form,
.wp-block-woocommerce-checkout-contact-information-block .wc-block-components-address-form {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 16px !important;
  align-items: start;
}
.wc-block-checkout__contact-fields .wc-block-components-address-form > *,
.wp-block-woocommerce-checkout-contact-information-block .wc-block-components-address-form > * {
  margin: 0 !important;
  min-width: 0;
  width: auto !important;
  flex: none !important;
  max-width: none !important;
}
.wc-block-checkout__contact-fields .wc-block-checkout__guest-checkout-notice,
.wp-block-woocommerce-checkout-contact-information-block .wc-block-checkout__guest-checkout-notice {
  grid-column: 1 / -1;
}

/* Address form → static .woo-grid (2 columns; country full; address_1 | address_2 half). */
.wc-block-components-address-form,
.wc-block-checkout__billing-fields .wc-block-components-address-form,
.wc-block-checkout__shipping-fields .wc-block-components-address-form {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 16px !important;
  align-items: start;
  justify-content: stretch;
}
.wc-block-components-address-form > * {
  margin: 0 !important;
  flex: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0;
  box-sizing: border-box;
}
/* Kill Woo Blocks checkout.css flex:0 0 100% on street / apartment. */
.wc-block-checkout__billing-fields .wc-block-components-address-form .wc-block-components-address-form__address_1,
.wc-block-checkout__shipping-fields .wc-block-components-address-form .wc-block-components-address-form__address_1,
.wc-block-checkout__billing-fields .wc-block-components-address-form .wc-block-components-address-form__address_2,
.wc-block-checkout__shipping-fields .wc-block-components-address-form .wc-block-components-address-form__address_2,
.wc-block-components-address-form .wc-block-components-address-form__address_1,
.wc-block-components-address-form .wc-block-components-address-form__address_2 {
  flex: none !important;
  width: auto !important;
  max-width: none !important;
  grid-column: auto;
}
.wc-block-checkout__billing-fields .wc-block-components-address-form .wc-block-components-text-input,
.wc-block-checkout__shipping-fields .wc-block-components-address-form .wc-block-components-text-input,
.wc-block-checkout__billing-fields .wc-block-components-address-form .wc-block-components-select-input,
.wc-block-checkout__shipping-fields .wc-block-components-address-form .wc-block-components-select-input { flex: none; margin: 0; }
.wc-block-components-address-form .wc-block-components-address-form__country,
.wc-block-components-address-form .wc-block-components-country-input,
.wc-block-components-address-form > .wc-block-components-checkbox,
.wc-block-components-address-form > .wc-block-components-validation-error { grid-column: 1 / -1; }
/* Nr lokalu: keep toggle in DOM (JS clicks it once) but visually gone; never show
   Woo’s placeholder hidden-input (naked unlabeled box). */
.wc-block-components-address-form .wc-block-components-address-form__address_2-toggle {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
  opacity: 0 !important;
}
.wc-block-components-address-form .wc-block-components-address-form__address_2-hidden-input {
  display: none !important;
}
.wc-block-components-address-form .wc-block-components-address-form__address_2.is-hidden,
.wc-block-components-address-form .wc-block-components-text-input.wc-block-components-address-form__address_2 {
  display: grid !important;
  position: static !important;
  left: auto !important;
  right: auto !important;
  width: auto !important;
  height: auto !important;
  min-height: 48px !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  clip: auto !important;
  overflow: visible !important;
  visibility: visible !important;
}
.wc-block-components-address-form .wc-block-components-checkbox { margin-top: 4px !important; }
.wc-block-components-address-address-wrapper { position: relative; }
.wc-block-checkout__use-address-for-billing { margin-top: 18px; }
/* Phone is flattened into the shipping address grid (static order); do not hide it there. */

/* Address card (collapsed address) → static .check-tile. */
.wc-block-components-address-card {
  position: relative;
  display: grid;
  gap: 4px;
  min-height: 96px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  font-size: 14px;
  line-height: 1.35;
}
.wc-block-components-address-card address { display: grid; gap: 2px; }
.wc-block-components-address-card address .wc-block-components-address-card__address-section--primary { font-weight: 600; color: var(--ink); }
.wc-block-components-address-card address .wc-block-components-address-card__address-section--secondary { color: color-mix(in srgb, var(--ink) 88%, transparent); }
.wc-block-components-address-card__edit {
  position: absolute;
  top: 14px;
  right: 16px;
  margin: 0;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
  text-decoration: none;
}
.wc-block-components-address-card__edit:hover { color: var(--ink); text-decoration: none; }

/* Shipping options → static .ship-list / .ship-option / .ship-main. */
.wc-block-checkout__shipping-option .wc-block-components-shipping-rates-control,
.wp-block-woocommerce-checkout .wc-block-components-shipping-rates-control__package { margin: 0; gap: 8px; }
.wc-block-checkout__shipping-option .wc-block-components-radio-control,
.wc-block-checkout__shipping-option .wc-block-components-radio-control--highlight-checked {
  display: grid;
  gap: 8px;
  border: 0;
  padding: 0;
}
.wc-block-checkout__shipping-option .wc-block-components-radio-control--highlight-checked::after,
.wc-block-checkout__shipping-option .wc-block-components-radio-control__option::after { display: none; content: none; }
.wc-block-checkout__shipping-option .wc-block-components-radio-control__option {
  position: relative;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  grid-template-rows: auto;
  gap: 0 14px; /* row gap would add 2px under the icon's 2-row span; static tile is 79px */
  align-items: center;
  margin: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.3;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.wc-block-checkout__shipping-option .wc-block-components-radio-control__option:hover { border-color: color-mix(in srgb, var(--ink) 45%, var(--line)); }
.wc-block-checkout__shipping-option .wc-block-components-radio-control__option-checked,
.wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(input:checked),
.wc-block-checkout__shipping-option .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted {
  border-color: var(--ink);
  background: color-mix(in srgb, var(--ink) 7%, transparent);
  box-shadow: none;
}
.wc-block-checkout__shipping-option .wc-block-components-radio-control .wc-block-components-radio-control__input,
.wp-block-woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control .wc-block-components-radio-control__input {
  position: absolute;
  inset: 0 auto auto 0;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
  transform: none;
}
.wc-block-checkout__shipping-option .wc-block-components-radio-control__option::before {
  content: "";
  grid-column: 1;
  grid-row: 1 / span 2;
  width: 44px;
  height: 44px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M3 19V11h13v8' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3Cpath d='M16 14h6.2L26 18v1H16' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3Ccircle cx='8.5' cy='22' r='2.1' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3Ccircle cx='22' cy='22' r='2.1' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3C/svg%3E") center / 36px 36px no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M3 19V11h13v8' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3Cpath d='M16 14h6.2L26 18v1H16' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3Ccircle cx='8.5' cy='22' r='2.1' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3Ccircle cx='22' cy='22' r='2.1' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3C/svg%3E") center / 36px 36px no-repeat;
}
.wc-block-checkout__shipping-option .wc-block-components-radio-control__option[for*="easypack"]::before,
.wc-block-checkout__shipping-option .wc-block-components-radio-control__option[for*="parcel"]::before,
.wc-block-checkout__shipping-option .wc-block-components-radio-control__option[for*="paczkomat"]::before,
.wc-block-checkout__shipping-option .wc-block-components-radio-control__option[for*="locker"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Crect x='6' y='3' width='20' height='26' rx='1.4' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3Cpath d='M16 3v26M6 12h20M6 21h20' stroke='%23000' stroke-width='1.4'/%3E%3Ccircle cx='13' cy='7.5' r='.9' fill='%23000'/%3E%3Ccircle cx='13' cy='16.5' r='.9' fill='%23000'/%3E%3Ccircle cx='13' cy='25' r='.9' fill='%23000'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Crect x='6' y='3' width='20' height='26' rx='1.4' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3Cpath d='M16 3v26M6 12h20M6 21h20' stroke='%23000' stroke-width='1.4'/%3E%3Ccircle cx='13' cy='7.5' r='.9' fill='%23000'/%3E%3Ccircle cx='13' cy='16.5' r='.9' fill='%23000'/%3E%3Ccircle cx='13' cy='25' r='.9' fill='%23000'/%3E%3C/svg%3E");
}
.wc-block-checkout__shipping-option .wc-block-components-radio-control__option-layout,
.wc-block-checkout__shipping-option .wc-block-components-radio-control__label-group { display: contents; }
.wc-block-checkout__shipping-option .wc-block-components-radio-control__label {
  grid-column: 2;
  grid-row: 1;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.5; /* static .ship-main b: 24px */
}
.wc-block-checkout__shipping-option .wc-block-components-radio-control__label::after {
  content: "Pod drzwi, 1-2 dni robocze";
  display: block;
  margin-top: 5px; /* static: 2px grid gap + 3px small margin */
  color: var(--muted);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
}
.wc-block-checkout__shipping-option .wc-block-components-radio-control__option[for*="easypack"] .wc-block-components-radio-control__label::after,
.wc-block-checkout__shipping-option .wc-block-components-radio-control__option[for*="parcel"] .wc-block-components-radio-control__label::after,
.wc-block-checkout__shipping-option .wc-block-components-radio-control__option[for*="paczkomat"] .wc-block-components-radio-control__label::after,
.wc-block-checkout__shipping-option .wc-block-components-radio-control__option[for*="locker"] .wc-block-components-radio-control__label::after { content: "Odbiór z automatu, 1-2 dni robocze"; }
.wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(.wc-block-components-radio-control__description) .wc-block-components-radio-control__label::after { display: none; }
.wc-block-checkout__shipping-option .wc-block-components-radio-control__secondary-label {
  grid-column: 3;
  grid-row: 1;
  justify-self: end;
  font-weight: 700; /* static .ship-main strong */
  font-size: 16px;
  white-space: nowrap;
}
.wc-block-checkout__shipping-option .wc-block-components-radio-control__description,
.wc-block-checkout__shipping-option .wc-block-components-radio-control__secondary-description,
.wc-block-checkout__shipping-option .wc-block-components-radio-control__description-group {
  grid-column: 2 / -1;
  display: block;
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
  text-transform: none;
}
.wc-block-checkout__shipping-option .wc-block-components-shipping-rates-control__package__description--free,
.wc-block-checkout__shipping-option .wc-block-checkout__shipping-option--free { text-transform: none; }
.wc-block-checkout__shipping-option .wc-block-components-shipping-rates-control__no-shipping-address-message,
.wc-block-checkout__shipping-option .wc-block-components-shipping-rates-control__no-results-notice {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  color: var(--muted);
  font-size: 14px;
}
.wc-block-checkout__shipping-option .wc-block-components-shipping-rates-control__package-title,
.wc-block-checkout__shipping-option .wc-block-components-shipping-rates-control__package-items { display: none; }

/* InPost geowidget (easypack Blocks integration) → static .locker-pick / .locker-card / .locker-map-btn. */
.inpost-parcel-locker-wrap,
.wc-block-checkout__shipping-option .inpost_pl-block-shipping-method-meta-wrap {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0 14px 14px 72px;
  border: 1px solid var(--ink);
  border-top: 0;
  background: color-mix(in srgb, var(--ink) 7%, transparent);
}
.wc-block-checkout__shipping-option .wc-block-components-radio-control__option:has(+ .inpost-parcel-locker-wrap) { border-bottom: 0; }
.wc-block-checkout__shipping-option .inpost_icon,
.wc-block-checkout__shipping-option .inpost_pl_method_logo,
.wc-block-checkout__shipping-option .inpost_pl_block_shipping_meta img { display: none; }
/* The plugin injects a logo-only meta wrap INSIDE the rate label; with the logo hidden it rendered as an empty box. */
.wc-block-checkout__shipping-option .wc-block-components-radio-control__label .inpost_pl-block-shipping-method-meta-wrap { display: none; }
.easypack_show_geowidget,
.wc-block-checkout__shipping-option .button.easypack_show_geowidget,
.wc-block-checkout__shipping-option button.easypack_show_geowidget {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: start;
  width: auto;
  max-width: none;
  min-height: 40px;
  margin: 4px 0 0;
  padding: 0 14px;
  border: 1px solid var(--ink) !important; /* plugin front.css: border:0 !important */
  border-radius: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font);
  font-size: 12px !important; /* plugin front.css: 19px !important */
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  box-shadow: none !important;
}
.easypack_show_geowidget:hover { background: var(--ink); color: var(--paper); }
/* Static puts the map button inside the Paczkomat tile; js/woo-blocks.js lockerPick() appends a proxy
   (.gents-locker-pick) to the selected tile and we hide the plugin's React-owned originals. */
.wc-block-checkout__shipping-option:has(.gents-locker-pick) #easypack_block_type_geowidget,
.wc-block-checkout__shipping-option:has(.gents-locker-pick) #inpost_pl_selected_point_data_wrap { display: none !important; }
.wc-block-checkout__shipping-option .gents-locker-pick {
  grid-column: 2 / -1;
  grid-row: 3; /* below the icon's 2-row span so the icon stays on the title row (static .ship-main) */
  display: grid;
  gap: 8px;
  justify-items: start;
  margin-top: 18px; /* static: text → button */
}
.gents-locker-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  margin: 0;
  padding: 0 14px;
  border: 1px solid var(--ink);
  border-radius: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: none;
}
.gents-locker-btn:hover { background: var(--ink); color: var(--paper); }
.gents-locker-card {
  display: grid;
  gap: 6px;
  justify-self: stretch;
  padding: 12px 14px;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--paper) 88%, var(--white));
  font-size: 14px;
  line-height: 1.4;
}
.gents-locker-card[hidden] { display: none; }
.gents-locker-card [data-id="selected-parcel-machine-id"] {
  font-family: var(--display);
  font-size: 28px;
  line-height: 0.9;
  letter-spacing: 0.03em;
}
.gents-locker-card [data-id^="selected-parcel-machine-desc"] { color: var(--muted); }
#inpost_pl_selected_point_data_wrap,
.inpost_pl_selected_point_data_wrap {
  display: grid;
  gap: 6px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--paper) 88%, var(--white));
  font-size: 14px;
  line-height: 1.4;
}
#inpost_pl_selected_point_data_wrap:empty,
.inpost_pl_selected_point_data_wrap:empty { display: none; }
#inpost_pl_selected_point_data_wrap strong,
.inpost_pl_selected_point_data_wrap strong { font-weight: 600; letter-spacing: 0.02em; }
#inpost-parcel-locker-description { color: var(--muted); font-size: 14px; max-width: 40ch; }

/* Payment → static .pay-grid (3 tiles, logo mark, label); gateway form opens full width. */
.wc-block-checkout__payment-method .wc-block-components-radio-control,
.wc-block-checkout__payment-method .wc-block-components-radio-control--highlight-checked {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  border: 0;
  padding: 0;
  align-items: stretch;
}
.wc-block-checkout__payment-method .wc-block-components-radio-control--highlight-checked::after,
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option::after,
.wc-block-checkout__payment-method .wc-block-components-radio-control__option::after { display: none; content: none; }
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option {
  display: contents;
}
.wc-block-checkout__payment-method .wc-block-components-radio-control__option,
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option {
  position: relative;
  display: grid !important;
  place-items: center;
  align-content: center;
  justify-items: center;
  gap: 12px;
  min-height: 148px;
  height: 100%;
  margin: 0;
  padding: 16px 10px;
  border: 1px solid var(--line);
  border-width: 1px;
  border-radius: 0;
  background: transparent;
  text-align: center;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
  box-sizing: border-box;
}
.wc-block-checkout__payment-method .wc-block-components-radio-control__option-checked,
.wc-block-checkout__payment-method .wc-block-components-radio-control__option:has(input:checked),
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option--checked-option-highlighted .wc-block-components-radio-control__option {
  border-color: var(--ink);
  background: color-mix(in srgb, var(--ink) 7%, transparent);
  box-shadow: none;
}
.wc-block-checkout__payment-method .wc-block-components-radio-control .wc-block-components-radio-control__input {
  position: absolute;
  inset: 0 auto auto 0;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
}
.wc-block-checkout__payment-method .wc-block-components-radio-control__option-layout,
.wc-block-checkout__payment-method .wc-block-components-radio-control__label-group { display: contents; }
.wc-block-checkout__payment-method .wc-block-components-radio-control__label,
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__label {
  display: grid;
  justify-items: center;
  gap: 12px;
  width: 100%;
}
.wc-block-checkout__payment-method .wc-block-components-payment-method-label,
.wc-block-checkout__payment-method .wc-block-components-payment-method-label--with-icon {
  display: grid;
  justify-items: center;
  gap: 12px;
  width: 100%;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.2;
  text-align: center;
}
/* Logo mark (static .pay-mark): white plate on the Blocks label (not payment-method-label). */
.wc-block-checkout__payment-method .wc-block-components-radio-control__label {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr); /* Woo's flex justify-content would stop the auto track stretching (mobile 100%-wide mark) */
  justify-items: center;
  gap: 12px;
  width: 100%;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.2;
  text-align: center;
}
.wc-block-checkout__payment-method .wc-block-components-radio-control__label::before {
  content: "";
  display: block;
  width: 128px;
  height: 52px;
  box-sizing: border-box;
  border: 1px solid color-mix(in srgb, var(--ink) 10%, transparent);
  border-radius: 8px;
  background: #fff url("../assets/pay/tpay.png") center / auto 26px no-repeat;
}
html[data-theme="dark"] .wc-block-checkout__payment-method .wc-block-components-radio-control__label::before { border-color: rgba(255, 255, 255, 0.14); }
.wc-block-checkout__payment-method .wc-block-components-radio-control__option[for*="blik"] .wc-block-components-radio-control__label::before,
.wc-block-checkout__payment-method .wc-block-components-radio-control__option[for*="tpayblik"] .wc-block-components-radio-control__label::before,
.wc-block-checkout__payment-method .wc-block-components-radio-control__option[data-pay="blik"] .wc-block-components-radio-control__label::before {
  background-image: url("../assets/pay/blik.png");
  background-size: auto 26px;
}
/* Tpay Easy ON-site generics: Apple=75, Google=68, PayPo=83 (for=…tpaygeneric-N). */
.wc-block-checkout__payment-method .wc-block-components-radio-control__option[for*="apple"] .wc-block-components-radio-control__label::before,
.wc-block-checkout__payment-method .wc-block-components-radio-control__option[for*="tpaygeneric-75"] .wc-block-components-radio-control__label::before,
.wc-block-checkout__payment-method .wc-block-components-radio-control__option[data-pay="apple"] .wc-block-components-radio-control__label::before {
  background-image: url("../assets/pay/apple-pay.svg");
  background-size: auto 26px;
}
.wc-block-checkout__payment-method .wc-block-components-radio-control__option[for*="google"] .wc-block-components-radio-control__label::before,
.wc-block-checkout__payment-method .wc-block-components-radio-control__option[for*="gpay"] .wc-block-components-radio-control__label::before,
.wc-block-checkout__payment-method .wc-block-components-radio-control__option[for*="tpaygeneric-68"] .wc-block-components-radio-control__label::before,
.wc-block-checkout__payment-method .wc-block-components-radio-control__option[data-pay="google"] .wc-block-components-radio-control__label::before {
  background-image: url("../assets/pay/google-pay.svg");
  background-size: auto 26px;
}
.wc-block-checkout__payment-method .wc-block-components-radio-control__option[for*="paypo"] .wc-block-components-radio-control__label::before,
.wc-block-checkout__payment-method .wc-block-components-radio-control__option[for*="tpaygeneric-83"] .wc-block-components-radio-control__label::before,
.wc-block-checkout__payment-method .wc-block-components-radio-control__option[data-pay="paypo"] .wc-block-components-radio-control__label::before {
  width: 140px;
  height: 58px;
  background-image: url("../assets/pay/paypo.png");
  background-size: auto 53px;
}
.wc-block-checkout__payment-method .wc-block-components-radio-control__option[for*="tpaycc"] .wc-block-components-radio-control__label::before,
.wc-block-checkout__payment-method .wc-block-components-radio-control__option[for*="tpaysf"] .wc-block-components-radio-control__label::before,
.wc-block-checkout__payment-method .wc-block-components-radio-control__option[for*="card"] .wc-block-components-radio-control__label::before {
  background-image: url("../assets/pay/visa.svg"), url("../assets/pay/mastercard.svg");
  background-size: auto 20px, auto 20px;
  background-position: calc(50% - 26px) center, calc(50% + 26px) center;
  background-repeat: no-repeat, no-repeat;
}
.wc-block-checkout__payment-method .wc-block-components-radio-control__label img,
.wc-block-checkout__payment-method .wc-block-components-radio-control__label svg,
.wc-block-checkout__payment-method .wc-block-components-radio-control__label .tpay-inline,
.wc-block-checkout__payment-method .wc-block-components-payment-method-icons { display: none !important; }
/* Static pay-grid has no under-tile GDPR / Tpay agreement copy - hide accordion chrome
   so tiles stay a clean 3-col grid. Keep only real gateway inputs (e.g. BLIK code) if present. */
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content {
  grid-column: 1 / -1;
  padding: 0;
  margin: 0;
  font-size: 14px;
  line-height: 1.45;
  color: var(--muted);
}
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content > p,
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content .tpay-regulations-checkbox,
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content .tpay-accept,
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content a[href*="tpay"],
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content .woocommerce-privacy-policy-text {
  display: none !important;
}
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content:empty,
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content:not(:has(input)):not(:has(select)):not(:has(textarea)) {
  display: none !important;
}
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content .wc-block-components-text-input { margin-top: 10px; }
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content select,
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content input[type="text"],
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content input[type="email"] {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  padding: 6px 10px;
}
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.wc-block-components-checkout-step .wc-block-components-notice-banner.is-info { display: none; }
.wc-block-checkout__payment-method .wc-block-components-checkout-step__content > .wc-block-components-notice-banner { display: block; }

/* Order note / additional info: hidden (static has none). */
.wc-block-checkout__order-notes,
.wp-block-woocommerce-checkout-order-note-block,
.wc-block-checkout__add-note { display: none; }

/* Terms → static .check-terms. */
.wc-block-checkout__terms,
.wc-block-checkout__terms.wc-block-checkout__terms--with-separator {
  margin: 28px 0 8px;
  padding: 0;
  border: 0;
  font-size: 14px;
  line-height: 1.4;
  color: var(--ink);
}
.wc-block-checkout__terms .wc-block-components-checkbox label { align-items: flex-start; gap: 10px; }
.wc-block-checkout__terms a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.wc-block-checkout__terms .wc-block-components-validation-error { margin: 4px 0 0; }

/* Place order → static .check-pay-btn. */
.wc-block-checkout__actions { margin: 16px 0 0; }
.wc-block-checkout__actions .wc-block-checkout__actions_row { display: block; }
.wc-block-checkout__actions .wc-block-components-checkout-return-to-cart-button {
  display: inline-block;
  margin: 0 0 12px;
  color: var(--muted);
  font-size: 13px;
  letter-spacing: 0.04em;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.wc-block-checkout__actions .wc-block-components-checkout-return-to-cart-button svg { display: none; }
.wc-block-checkout__actions .wc-block-components-checkout-place-order-button,
.wc-block-checkout__actions .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button--full-width {
  display: flex;
  width: 100%;
  margin: 0;
}
.wc-block-components-checkout-place-order-button__text { display: block; }

/* Sidebar → static .order-stick / .order-box ("Twoje zamówienie"). */
.wc-block-checkout__sidebar,
.wc-block-checkout__sidebar.is-sticky,
.wp-block-woocommerce-checkout-totals-block {
  position: sticky;
  top: 88px;
  align-self: start;
  margin: 0;
  padding: 0;
}
.wp-block-woocommerce-checkout-order-summary-block {
  border: 1px solid var(--line);
  padding: 22px;
  background: transparent;
}
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title.is-open {
  display: block;
  margin: 0 0 8px;
  padding: 0;
  border: 0;
  cursor: default;
}
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text {
  margin: 0;
  font-family: var(--display);
  font-size: 42px;
  font-weight: 400;
  line-height: 0.88;
  letter-spacing: 0.02em;
  color: var(--ink);
}
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title-price,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title-icon { display: none; }
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__content { display: block !important; height: auto !important; }
.wp-block-woocommerce-checkout-order-summary-block .wp-block-woocommerce-checkout-order-summary-cart-items-block.wc-block-components-totals-wrapper { padding: 0; border: 0; }
.wc-block-components-order-summary,
.wc-block-components-order-summary .wc-block-components-order-summary__content { display: block; width: 100%; }
/* Woo pads the item list / totals rows 16px; static .order-line + .totals-row sit flush in the box. */
.wc-block-checkout__sidebar .wc-block-components-order-summary,
.wc-block-checkout__sidebar .wc-block-components-totals-item,
.wc-block-checkout__sidebar .wc-block-components-panel { padding-left: 0; padding-right: 0; }
.wc-block-checkout__sidebar .wc-block-components-order-summary { padding: 0; }
.wc-block-components-order-summary .wc-block-components-order-summary-item {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
  font-size: 16px;
  line-height: 1.5;
}
.wc-block-components-order-summary .wc-block-components-order-summary-item::after { display: none; }
.wc-block-components-order-summary .wc-block-components-order-summary-item__image { display: contents; }
.wc-block-components-order-summary .wc-block-components-order-summary-item__image > img { display: none; }
.wc-block-components-order-summary .wc-block-components-order-summary-item__quantity {
  order: 2;
  display: inline;
  position: static;
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  min-width: 0;
  min-height: 0;
  height: auto;
  padding: 0;
  margin-left: -8px;
  color: inherit;
  font-size: 16px;
  line-height: inherit;
  white-space: nowrap;
  transform: none;
}
.wc-block-components-order-summary .wc-block-components-order-summary-item__quantity::before { content: "× "; }
.wc-block-components-order-summary .wc-block-components-order-summary-item__quantity span { color: inherit; padding: 0; }
.wc-block-components-order-summary .wc-block-components-order-summary-item__description {
  order: 1;
  display: block;
  flex: 0 1 auto;
  min-width: 0;
  padding: 0;
  margin: 0;
}
.wc-block-components-order-summary .wc-block-components-order-summary-item__description > .wc-block-cart-item__prices,
.wc-block-components-order-summary .wc-block-components-order-summary-item__description .wc-block-components-product-metadata,
.wc-block-components-order-summary .wc-block-components-order-summary-item__description .wc-block-components-product-details,
.wc-block-components-order-summary .wc-block-components-order-summary-item__description .wc-block-components-product-badge,
.wc-block-components-order-summary .wc-block-components-order-summary-item__description .wc-block-components-order-summary-item__individual-prices { display: none; }
.wc-block-checkout__sidebar .wc-block-components-product-name,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-product-name {
  display: inline;
  margin: 0;
  max-width: none;
  font-family: var(--font);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  color: inherit;
}
.wc-block-components-order-summary .wc-block-components-order-summary-item__total-price {
  order: 3;
  flex: none;
  margin-left: auto;
  padding: 0;
  font-size: 16px;
  text-align: right;
}
.wc-block-components-order-summary .wc-block-components-order-summary-item .wc-block-components-sale-badge { display: none; }
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper,
.wp-block-woocommerce-checkout-order-summary-totals-block .wc-block-components-totals-wrapper { border: 0; padding: 0; }
/* Static order-box: lines → Produkty / Wysyłka / Suma; the Blocks coupon toggle goes last (like the cart). */
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__content { display: flex !important; flex-direction: column; }
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__content > .wc-block-components-totals-wrapper { order: 2; }
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__content > .wp-block-woocommerce-checkout-order-summary-cart-items-block { order: 0; }
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__content > .wp-block-woocommerce-checkout-order-summary-totals-block { order: 1; }
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__content > .wp-block-woocommerce-checkout-order-summary-coupon-form-block { display: none; } /* static: coupons live in the cart */
.wc-block-checkout__sidebar .wc-block-components-totals-footer-item { margin: 0; padding: 12px 0; }

/* "Finalizuj zamówienie" jump under the order box (static .order-jump). */
.wc-block-checkout__sidebar { display: grid; gap: 14px; }
.wc-block-checkout__sidebar .order-jump { margin: 0; }
.order-jump[hidden] { display: none !important; }

/* Hermetic checkout chrome: site.css handles body.is-checkout; only the page offset lives here. */
body.is-checkout .shop-page { padding-top: 28px; }

/* Two-step checkout (static 1. Dane / 2. Wysyłka i płatność) - toggled by woo-blocks.js. */
body.gents-check-step-details .wc-block-checkout__express-payment,
body.gents-check-step-details .wp-block-woocommerce-checkout-express-payment-block,
body.gents-check-step-details .wc-block-checkout__shipping-option,
body.gents-check-step-details .wp-block-woocommerce-checkout-shipping-methods-block,
body.gents-check-step-details .wp-block-woocommerce-checkout-shipping-method-block,
body.gents-check-step-details .wp-block-woocommerce-checkout-pickup-options-block,
body.gents-check-step-details .wc-block-checkout__payment-method,
body.gents-check-step-details .wp-block-woocommerce-checkout-payment-block,
body.gents-check-step-details .wc-block-checkout__terms,
body.gents-check-step-details .wp-block-woocommerce-checkout-terms-block,
body.gents-check-step-details .wc-block-checkout__actions,
body.gents-check-step-details .wp-block-woocommerce-checkout-actions-block,
body.gents-check-step-details .wc-block-checkout__add-note,
body.gents-check-step-details .wp-block-woocommerce-checkout-order-note-block,
body.gents-check-step-details .wc-block-checkout__sidebar,
body.gents-check-step-details .wp-block-woocommerce-checkout-order-summary-block,
body.gents-check-step-details .order-jump,
body.gents-check-step-details .gents-check-summary { display: none !important; }

/* Step 1 has no sidebar (static .woo-grid alone) - drop the empty 0.72fr track so fields
   match static widths (~full container, gap 14×16). */
body.gents-check-step-details .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  column-gap: 0;
  margin-top: 0 !important; /* was 12px - dead space under Kupujesz jako */
}
body.gents-check-step-details .wp-block-woocommerce-checkout {
  padding-top: 0 !important; /* was 24px - dead space under Kupujesz jako */
}
body.gents-check-step-details .wp-block-woocommerce-checkout .wc-block-components-main,
body.gents-check-step-details .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-fields-block {
  width: 100%;
  max-width: none;
}
/* Kill leftover step margins between last address field and “Wysyłka na inny adres”. */
body.gents-check-step-details .wc-block-checkout__shipping-fields,
body.gents-check-step-details .wp-block-woocommerce-checkout-shipping-address-block,
body.gents-check-step-details .wc-block-components-address-address-wrapper {
  margin-bottom: 0 !important;
}
body.gents-check-step-details .wc-block-components-sidebar-layout {
  margin-bottom: 0 !important;
}

body.gents-check-step-ship .wc-block-checkout__contact-fields,
body.gents-check-step-ship .wp-block-woocommerce-checkout-contact-information-block,
body.gents-check-step-ship .wc-block-checkout__shipping-fields,
body.gents-check-step-ship .wp-block-woocommerce-checkout-shipping-address-block,
body.gents-check-step-ship .wc-block-checkout__billing-fields,
body.gents-check-step-ship .wp-block-woocommerce-checkout-billing-address-block,
body.gents-check-step-ship .gents-check-next { display: none !important; }

.gents-check-steps { margin: 4px 0 19px; } /* +10 under steps */
.gents-check-summary {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 18px;
  margin: 0 0 2px; /* was 22 - 20px less above „Twoje zamówienie” */
  align-items: start;
}
.gents-check-summary .check-summary-edit { grid-column: 1 / -1; }
.gents-check-next {
  display: block;
  width: 100%;
  margin: 22px 0 8px;
}
@media (max-width: 640px) {
  .gents-check-summary { grid-template-columns: 1fr; }
}

/* Static never shows the collapsed address card - only the field grid. */
.wc-block-components-address-card-wrapper,
.wc-block-components-address-card {
  display: none !important;
}
.wc-block-components-address-address-wrapper:not(.is-editing) .wc-block-components-address-form-wrapper {
  /* While JS opens edit mode, keep the form visible if Woo hid it. */
  height: auto !important;
  opacity: 1 !important;
  overflow: visible !important;
  visibility: visible !important;
  pointer-events: auto !important;
  position: static !important;
}

/* Step 1: flat form like static - billing is the main form (no “Adres rozliczeniowy” title). */
body.gents-check-step-details .wc-block-checkout__contact-fields .wc-block-components-checkout-step__heading-container,
body.gents-check-step-details .wc-block-checkout__billing-fields .wc-block-components-checkout-step__heading-container,
body.gents-check-step-details .wp-block-woocommerce-checkout-contact-information-block .wc-block-components-checkout-step__heading-container,
body.gents-check-step-details .wp-block-woocommerce-checkout-billing-address-block .wc-block-components-checkout-step__heading-container {
  display: none !important;
}
/* Shipping title only when “Wysyłka na inny adres” is on (static .shop-sub “Adres wysyłki”). */
body.gents-check-step-details:not(.gents-ship-other-on) .wc-block-checkout__shipping-fields .wc-block-components-checkout-step__heading-container,
body.gents-check-step-details:not(.gents-ship-other-on) .wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-checkout-step__heading-container {
  display: none !important;
}
body.gents-check-step-details .wc-block-checkout__contact-fields,
body.gents-check-step-details .wp-block-woocommerce-checkout-contact-information-block {
  margin: 0 !important;
}

/* Billing-first: hide shipping until checkbox; keep billing always visible on step 1. */
body.gents-check-step-details:not(.gents-ship-other-on) .wc-block-checkout__shipping-fields,
body.gents-check-step-details:not(.gents-ship-other-on) .wp-block-woocommerce-checkout-shipping-address-block {
  display: none !important;
}
body.gents-check-step-details .wc-block-checkout__billing-fields,
body.gents-check-step-details .wp-block-woocommerce-checkout-billing-address-block {
  display: block !important;
  margin: 0 !important;
}
/*
  One page-level 2-col grid on .shop-page (full container width).
  #view-checkout / .view must be contents - if they are also a 2-col grid they
  become a single grid item in column 1 and the form collapses to the left half.
*/
body.gents-check-step-details .shop-page {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 16px !important;
  align-items: start;
  width: min(1180px, calc(100% - 48px));
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
body.gents-check-step-details #view-checkout,
body.gents-check-step-details .shop-page > .view,
body.gents-check-step-details .view,
body.gents-check-step-details .wp-block-woocommerce-checkout,
body.gents-check-step-details .wc-block-components-sidebar-layout,
body.gents-check-step-details .wc-block-components-main,
body.gents-check-step-details .wp-block-woocommerce-checkout-fields-block,
body.gents-check-step-details .wc-block-checkout__form,
body.gents-check-step-details .wc-block-components-form {
  display: contents !important;
}
/* Contact + billing only - NEVER shipping (that was the “pola między” bleed). */
body.gents-check-step-details .wc-block-checkout__contact-fields,
body.gents-check-step-details .wp-block-woocommerce-checkout-contact-information-block,
body.gents-check-step-details .wc-block-checkout__billing-fields,
body.gents-check-step-details .wp-block-woocommerce-checkout-billing-address-block,
body.gents-check-step-details .wc-block-checkout__contact-fields .wc-block-components-checkout-step,
body.gents-check-step-details .wp-block-woocommerce-checkout-contact-information-block .wc-block-components-checkout-step,
body.gents-check-step-details .wc-block-checkout__billing-fields .wc-block-components-checkout-step,
body.gents-check-step-details .wp-block-woocommerce-checkout-billing-address-block .wc-block-components-checkout-step,
body.gents-check-step-details .wc-block-checkout__contact-fields .wc-block-components-checkout-step__container,
body.gents-check-step-details .wp-block-woocommerce-checkout-contact-information-block .wc-block-components-checkout-step__container,
body.gents-check-step-details .wc-block-checkout__billing-fields .wc-block-components-checkout-step__container,
body.gents-check-step-details .wp-block-woocommerce-checkout-billing-address-block .wc-block-components-checkout-step__container,
body.gents-check-step-details .wc-block-checkout__contact-fields .wc-block-components-checkout-step__content,
body.gents-check-step-details .wp-block-woocommerce-checkout-contact-information-block .wc-block-components-checkout-step__content,
body.gents-check-step-details .wc-block-checkout__billing-fields .wc-block-components-checkout-step__content,
body.gents-check-step-details .wp-block-woocommerce-checkout-billing-address-block .wc-block-components-checkout-step__content,
body.gents-check-step-details .wc-block-checkout__billing-fields .wc-block-components-address-address-wrapper,
body.gents-check-step-details .wp-block-woocommerce-checkout-billing-address-block .wc-block-components-address-address-wrapper,
body.gents-check-step-details .wc-block-checkout__billing-fields .wc-block-components-address-form-wrapper,
body.gents-check-step-details .wp-block-woocommerce-checkout-billing-address-block .wc-block-components-address-form-wrapper,
body.gents-check-step-details .wc-block-checkout__contact-fields .wc-block-components-address-form,
body.gents-check-step-details .wp-block-woocommerce-checkout-contact-information-block .wc-block-components-address-form,
body.gents-check-step-details .wc-block-checkout__billing-fields .wc-block-components-address-form,
body.gents-check-step-details .wp-block-woocommerce-checkout-billing-address-block .wc-block-components-address-form {
  display: contents !important;
}
/* Field order - scoped to contact/billing so shipping fields never join this sequence. */
body.gents-check-step-details .wc-block-checkout__contact-fields .wc-block-components-address-form__email,
body.gents-check-step-details .wp-block-woocommerce-checkout-contact-information-block .wc-block-components-address-form__email { order: 14; grid-column: 1; }
/* Phone order applies BEFORE JS moves it - without this, billing phone is order:0
   and flashes full-width above “Kupujesz jako” for 2-3s. */
body.gents-check-step-details .wc-block-checkout__contact-fields .wc-block-components-address-form__phone,
body.gents-check-step-details .wp-block-woocommerce-checkout-contact-information-block .wc-block-components-address-form__phone,
body.gents-check-step-details .wc-block-checkout__billing-fields .wc-block-components-address-form__phone,
body.gents-check-step-details .wp-block-woocommerce-checkout-billing-address-block .wc-block-components-address-form__phone { order: 15; grid-column: 2; }
body.gents-check-step-details .wc-block-checkout__billing-fields .wc-block-components-address-form__first_name,
body.gents-check-step-details .wp-block-woocommerce-checkout-billing-address-block .wc-block-components-address-form__first_name { order: 10; grid-column: 1; }
body.gents-check-step-details .wc-block-checkout__billing-fields .wc-block-components-address-form__last_name,
body.gents-check-step-details .wp-block-woocommerce-checkout-billing-address-block .wc-block-components-address-form__last_name { order: 11; grid-column: 2; }
body.gents-check-step-details .wc-block-checkout__billing-fields .wc-block-components-address-form__company,
body.gents-check-step-details .wp-block-woocommerce-checkout-billing-address-block .wc-block-components-address-form__company { order: 12; }
body.gents-check-step-details .wc-block-checkout__billing-fields .wc-block-components-address-form__gents-nip,
body.gents-check-step-details .wp-block-woocommerce-checkout-billing-address-block .wc-block-components-address-form__gents-nip,
body.gents-check-step-details .wc-block-checkout__billing-fields [class*="gents-nip"],
body.gents-check-step-details .wp-block-woocommerce-checkout-billing-address-block [class*="gents-nip"] { order: 13; }
body.gents-check-step-details .wc-block-checkout__billing-fields .wc-block-components-address-form__country,
body.gents-check-step-details .wp-block-woocommerce-checkout-billing-address-block .wc-block-components-address-form__country,
body.gents-check-step-details .wc-block-checkout__billing-fields .wc-block-components-country-input,
body.gents-check-step-details .wp-block-woocommerce-checkout-billing-address-block .wc-block-components-country-input { order: 16; grid-column: 1 / -1; }
body.gents-check-step-details .wc-block-checkout__billing-fields .wc-block-components-address-form__postcode,
body.gents-check-step-details .wp-block-woocommerce-checkout-billing-address-block .wc-block-components-address-form__postcode { order: 17; grid-column: 1; }
body.gents-check-step-details .wc-block-checkout__billing-fields .wc-block-components-address-form__city,
body.gents-check-step-details .wp-block-woocommerce-checkout-billing-address-block .wc-block-components-address-form__city { order: 18; grid-column: 2; }
body.gents-check-step-details .wc-block-checkout__billing-fields .wc-block-components-address-form__address_1,
body.gents-check-step-details .wp-block-woocommerce-checkout-billing-address-block .wc-block-components-address-form__address_1 { order: 19; grid-column: 1; }
body.gents-check-step-details .wc-block-checkout__billing-fields .wc-block-components-address-form__address_2,
body.gents-check-step-details .wp-block-woocommerce-checkout-billing-address-block .wc-block-components-address-form__address_2 { order: 20; grid-column: 2; }
body.gents-check-step-details .gents-check-steps { order: 0; grid-column: 1 / -1; }
body.gents-check-step-details .gents-type-toggle { order: 1; grid-column: 1 / -1; }
body.gents-check-step-details .gents-ship-other { order: 50; grid-column: 1 / -1; }
body.gents-check-step-details .wc-block-checkout__shipping-fields,
body.gents-check-step-details .wp-block-woocommerce-checkout-shipping-address-block {
  order: 60;
  grid-column: 1 / -1;
}
body.gents-check-step-details .gents-check-next { order: 70; grid-column: 1 / -1; }
/* Shipping = solid section under the checkbox (own 2-col form, no contents bleed). */
body.gents-ship-other-on.gents-check-step-details .wc-block-checkout__shipping-fields,
body.gents-ship-other-on.gents-check-step-details .wp-block-woocommerce-checkout-shipping-address-block {
  display: block !important;
  width: 100%;
  margin: 8px 0 0 !important;
}
body.gents-ship-other-on.gents-check-step-details .wc-block-checkout__shipping-fields .wc-block-components-checkout-step__container,
body.gents-ship-other-on.gents-check-step-details .wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-checkout-step__container,
body.gents-ship-other-on.gents-check-step-details .wc-block-checkout__shipping-fields .wc-block-components-checkout-step__content,
body.gents-ship-other-on.gents-check-step-details .wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-checkout-step__content,
body.gents-ship-other-on.gents-check-step-details .wc-block-checkout__shipping-fields .wc-block-components-address-address-wrapper,
body.gents-ship-other-on.gents-check-step-details .wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-address-address-wrapper,
body.gents-ship-other-on.gents-check-step-details .wc-block-checkout__shipping-fields .wc-block-components-address-form-wrapper,
body.gents-ship-other-on.gents-check-step-details .wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-address-form-wrapper {
  display: block !important;
  width: 100%;
}
body.gents-ship-other-on.gents-check-step-details .wc-block-checkout__shipping-fields .wc-block-components-address-form,
body.gents-ship-other-on.gents-check-step-details .wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-address-form {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 16px !important;
  width: 100%;
}
body.gents-ship-other-on.gents-check-step-details .wc-block-checkout__shipping-fields .wc-block-components-address-form > *,
body.gents-ship-other-on.gents-check-step-details .wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-address-form > * {
  order: initial !important;
  grid-column: auto;
}
body.gents-ship-other-on.gents-check-step-details .wc-block-checkout__shipping-fields .wc-block-components-address-form__country,
body.gents-ship-other-on.gents-check-step-details .wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-address-form__country,
body.gents-ship-other-on.gents-check-step-details .wc-block-checkout__shipping-fields .wc-block-components-country-input,
body.gents-ship-other-on.gents-check-step-details .wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-country-input {
  grid-column: 1 / -1;
}
/* Show “Adres wysyłki” heading when ship-other is on. */
body.gents-ship-other-on.gents-check-step-details .wc-block-checkout__shipping-fields .wc-block-components-checkout-step__heading-container,
body.gents-ship-other-on.gents-check-step-details .wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-checkout-step__heading-container {
  display: block !important;
}
/* Hide empty leftover shells / notices inside the shared grid. */
body.gents-check-step-details .wc-block-checkout__guest-checkout-notice {
  display: none !important;
}
/* Toggle stays clip-hidden (not display:none) so revealAddress2 can click it. */
body.gents-check-step-details .wc-block-components-address-form__address_2-toggle {
  order: 99;
}
/* Ghost grid items that steal the first cell (Imię → column 2). Safari needs display:none. */
body.gents-check-step-details .wc-block-components-form > div:empty,
body.gents-check-step-details .wc-block-checkout__form > div:empty,
body.gents-check-step-details .wp-block-woocommerce-checkout-fields-block legend,
body.gents-check-step-details .wc-block-checkout__contact-fields > legend,
body.gents-check-step-details .wp-block-woocommerce-checkout-contact-information-block > legend,
body.gents-check-step-details .wc-block-checkout__billing-fields > legend,
body.gents-check-step-details .wp-block-woocommerce-checkout-billing-address-block > legend,
body.gents-check-step-details .wc-block-checkout__shipping-fields > legend,
body.gents-check-step-details .wp-block-woocommerce-checkout-shipping-address-block > legend,
body.gents-check-step-details .wc-block-components-notices,
body.gents-check-step-details .wc-block-checkout__contact-fields .wc-block-components-checkout-step__heading-container,
body.gents-check-step-details .wp-block-woocommerce-checkout-contact-information-block .wc-block-components-checkout-step__heading-container,
body.gents-check-step-details .wc-block-checkout__billing-fields .wc-block-components-checkout-step__heading-container,
body.gents-check-step-details .wp-block-woocommerce-checkout-billing-address-block .wc-block-components-checkout-step__heading-container {
  display: none !important;
}
body.gents-ship-other-on.gents-check-step-details .wc-block-checkout__shipping-fields .wc-block-components-checkout-step__title,
body.gents-ship-other-on.gents-check-step-details .wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-checkout-step__title {
  font-family: var(--font);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin: 18px 0 12px;
}
/* Contact fields move into the shipping address grid; hide empty shell. */
body.gents-check-step-details .wc-block-checkout__contact-fields .wc-block-components-address-form:empty,
body.gents-check-step-details .wp-block-woocommerce-checkout-contact-information-block .wc-block-components-address-form:empty {
  display: none !important;
}
body.gents-check-step-details .gents-contact-empty {
  display: none !important;
}

.gents-type-toggle {
  margin: 0 0 14px; /* static woo-grid row gap - no extra air under Kupujesz jako */
  width: 100%;
  position: relative;
  z-index: 5;
  pointer-events: auto;
}
.gents-type-toggle .type-toggle {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  border: 1px solid var(--ink);
}
.gents-type-toggle .type-opt {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  display: grid;
  place-items: center;
  min-height: 34px;
  margin: 0;
  padding: 0 12px;
  flex: 0 0 auto;
  cursor: pointer;
  text-align: center;
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink);
  background: transparent;
  border: 0;
  border-right: 1px solid var(--ink);
  border-radius: 0;
  white-space: nowrap;
  pointer-events: auto;
  user-select: none;
  line-height: 1;
}
.gents-type-toggle .type-opt:last-child { border-right: 0; }
.gents-type-toggle .type-opt span {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: 34px;
  pointer-events: none;
}
.gents-type-toggle .type-opt.is-on,
.gents-type-toggle .type-opt.is-on span,
.gents-type-toggle .type-opt[aria-pressed="true"],
.gents-type-toggle .type-opt[aria-pressed="true"] span {
  background: var(--ink);
  color: var(--paper);
}
body.gents-check-step-ship .gents-type-toggle,
body.gents-check-step-ship .gents-ship-other { display: none !important; }

/* Private → hide company + NIP (static). Company mode forces them visible. */
body.gents-buy-private .wc-block-components-address-form__company,
body.gents-buy-private .wc-block-components-text-input.wc-block-components-address-form__company,
body.gents-buy-private [class*="address-form__gents-nip"],
body.gents-buy-private [class*="gents-nip"],
body.gents-buy-private [class*="gents\\/nip"] {
  display: none !important;
}
body.gents-buy-company .wc-block-components-address-form__company,
body.gents-buy-company .wc-block-components-text-input.wc-block-components-address-form__company,
body.gents-buy-company [class*="address-form__gents-nip"],
body.gents-buy-company [class*="gents-nip"],
body.gents-buy-company [class*="gents\\/nip"] {
  display: grid !important;
}

/* Woo’s “same address for billing” - we use billing-first + gents-ship-other instead. */
.wc-block-checkout__use-address-for-billing,
.wc-block-components-checkbox.wc-block-checkout__use-address-for-billing {
  display: none !important;
}
.gents-ship-other {
  display: flex;
  gap: 10px;
  align-items: center;
  margin: 14px 0 8px; /* was 18px + step margins stacking into a dead band */
  font-size: 14px;
  cursor: pointer;
}
.gents-ship-other input { width: 16px; height: 16px; accent-color: var(--ink); }

/* Green validation (static .has-ok / .is-valid + ✓). */
.wc-block-components-text-input,
.wc-blocks-components-select,
.wc-block-components-country-input {
  position: relative;
}
.wc-block-components-text-input .woo-check,
.wc-blocks-components-select .woo-check,
.wc-block-components-country-input .woo-check {
  position: absolute;
  right: 12px;
  top: 1.85em; /* below uppercase label */
  width: 18px;
  height: 48px;
  display: grid;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  color: #3f7d57;
  opacity: 0;
  pointer-events: none;
  z-index: 2;
  transform: none;
}
.wc-block-components-text-input.gents-has-ok .woo-check,
.wc-blocks-components-select.gents-has-ok .woo-check { opacity: 1; }
.wc-block-components-text-input.gents-has-ok > label,
.wc-block-components-text-input.gents-has-ok label { color: #3f7d57; }
.wc-block-components-text-input.gents-has-error > label,
.wc-block-components-text-input.gents-has-error label { color: #c4554a; }
.wc-block-components-text-input.gents-has-ok input,
.wc-block-components-text-input input.is-valid {
  border-color: #3f7d57 !important;
  box-shadow: none !important;
  padding-right: 40px !important;
}
.wc-block-components-text-input.gents-has-error input,
.wc-block-components-text-input input.is-invalid {
  border-color: #c4554a !important;
  box-shadow: inset 0 0 0 1px #c4554a !important;
}
.wc-block-components-text-input .gents-field-hint {
  display: block;
  min-height: 0;
  margin: 0;
  color: #c4554a;
  font-size: 12px;
  line-height: 1.3;
}
.wc-block-components-text-input .gents-field-hint[hidden] { display: none !important; }

/* Required asterisk (red); optional fields lose “(opcjonalnie)” via paintFieldLabels. */
.gents-req,
.woo-label .gents-req {
  color: #c4554a;
  font-weight: 700;
}
/* Required * via CSS immediately (before JS settle). Optional address_2 / company-off: no star. */
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-text-input:not(.wc-block-components-address-form__address_2):not(.wc-block-components-address-form__company) label::after,
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-country-input label::after,
body.woocommerce-checkout .wc-block-components-address-form .wc-blocks-components-select label::after,
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-select label::after,
body.gents-buy-company .wc-block-components-address-form .wc-block-components-address-form__company label::after,
body.gents-buy-company .wc-block-components-address-form [class*="gents-nip"] label::after {
  content: " *";
  color: #c4554a;
  font-weight: 700;
}
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-text-input.wc-block-components-address-form__address_2 label::after,
body:not(.gents-buy-company) .wc-block-components-address-form .wc-block-components-address-form__company label::after,
body:not(.gents-buy-company) .wc-block-components-address-form [class*="gents-nip"] label::after {
  content: none;
}
/* When JS already painted .gents-req, suppress CSS ::after so we don't get ** */
body.woocommerce-checkout .wc-block-components-address-form label:has(.gents-req)::after {
  content: none !important;
}
/* Static checkout keeps its h1 screen-reader only at every width (cart shows it ≤980px). */
body.is-checkout .cart-page-title {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0;
}

/* ---- 2.3 Responsive (mirrors site.css breakpoints for .woo / .shop-table / .cart-totals) ---- */

@media (max-width: 1240px) {
  .wp-block-woocommerce-cart .wc-block-components-sidebar-layout,
  .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout { gap: 28px; }
}

@media (max-width: 980px) {
  .wp-block-woocommerce-cart .wc-block-components-sidebar-layout,
  .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch; /* desktop `start` would shrink-wrap the columns (tablet: 443px main / 266px sidebar) */
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
    margin-top: 12px;
  }
  /* Static .woo-pay ≤980 grid areas: tiles → order → ship → pay. Main + form become display:contents
     so the sidebar can slot in after the address steps; spacing moves from flex gap to margins
     (Blocks leaves zero-height wrappers in the form that would otherwise each add a gap). */
  .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout { gap: 0; }
  .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-main,
  .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-checkout__form { display: contents; }
  .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-sidebar { order: 0; width: 100%; margin: 0 0 20px; }
  .wp-block-woocommerce-checkout .wc-block-checkout__contact-fields,
  .wp-block-woocommerce-checkout .wc-block-checkout__shipping-fields,
  .wp-block-woocommerce-checkout .wc-block-checkout__billing-fields { order: -1; }
  .wp-block-woocommerce-checkout .wc-block-checkout__shipping-option,
  .wp-block-woocommerce-checkout .wc-block-checkout__payment-method,
  .wp-block-woocommerce-checkout .wc-block-checkout__order-notes,
  .wp-block-woocommerce-checkout .wc-block-checkout__add-note,
  .wp-block-woocommerce-checkout .wc-block-checkout__terms,
  .wp-block-woocommerce-checkout .wc-block-checkout__actions { order: 1; }
  .wc-block-components-form .wc-block-components-checkout-step,
  .wc-block-components-checkout-step { margin-bottom: 20px; }
  .wp-block-woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-main { order: 1; width: 100%; }
  .wp-block-woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar { order: 2; width: 100%; }
  .wc-block-cart .wc-block-cart__sidebar,
  .wp-block-woocommerce-cart .wc-block-components-sidebar-layout .wc-block-cart__sidebar,
  .wp-block-woocommerce-cart .wc-block-components-sidebar-layout .wp-block-woocommerce-cart-totals-block,
  .wp-block-woocommerce-cart-totals-block { padding: 14px; }
  /* Static: h1 margin (10) collapses into .woo margin-top (12); the Blocks wrapper div breaks
     the collapse, so drop the h1 margin and let the layout margin carry the 12px. */
  body[data-page="cart"] .cart-page-title { margin-bottom: 0; }
  .wc-block-cart .wc-block-cart__totals-title,
  .wc-block-cart.is-small .wc-block-cart__totals-title,
  .wc-block-cart.is-medium .wc-block-cart__totals-title,
  .wc-block-cart.is-mobile .wc-block-cart__totals-title,
  .wc-block-cart__totals-title {
    display: block !important;
    font-size: 0 !important;
    margin: 0 0 4px !important;
    visibility: visible !important;
    height: auto !important;
    clip: auto !important;
    overflow: visible !important;
  }
  .wc-block-cart .wc-block-cart__totals-title::before,
  .wc-block-cart__totals-title::before {
    content: "Podsumowanie";
    display: block;
    font-family: var(--display);
    font-size: 28px;
    font-weight: 400;
    line-height: 0.88;
    letter-spacing: 0.02em;
    color: var(--ink);
  }
  body[data-page="cart"] .shop-page { padding-top: 20px; padding-bottom: 40px; }
  .wc-block-cart__main .ship-goal { margin: 12px 0 4px; }
  .wc-block-checkout__sidebar,
  .wc-block-checkout__sidebar.is-sticky,
  .wp-block-woocommerce-checkout-totals-block { position: static; }
  /* Static keeps .shop-sub at 42px and .order-box at 22px/42px down to 640px (see the ≤640 block). */
  .wc-block-components-address-form { gap: 12px 10px; }
  .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__header-product::before { display: none; }
  /* Tablet = static `.shop-table { table-layout: fixed }` with the Cena column hidden:
     three equal columns (Produkt | Ilość | Suma), 52×68 thumb, 26px name that wraps. */
  .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__header,
  .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row,
  .is-medium table.wc-block-cart-items .wc-block-cart-items__row,
  .is-small table.wc-block-cart-items .wc-block-cart-items__row {
    grid-template-columns: 24px 66px minmax(0, 1fr) 0 calc(100% / 3) calc(100% / 3);
    column-gap: 0;
  }
  .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices { display: none; }
  .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image { width: 66px; }
  .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image img { width: 52px; height: 68px; }
  .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name {
    font-size: 26px;
    padding-right: 16px; /* static td padding-right */
  }
  .wc-block-cart .wc-block-components-quantity-selector { gap: 2px; }
  /* Address cards → static .check-tile compact at ≤980. */
  .wc-block-components-address-card {
    min-height: 0;
    padding: 10px 12px;
    gap: 2px;
    font-size: 12px;
    line-height: 1.3;
  }
  .wc-block-components-address-card__edit { top: 10px; right: 12px; font-size: 10px; }
}

@media (max-width: 640px) {
  /* Ulica 70% / lokal 30% - 10-col grid keeps other pairs at 50/50. */
  body.gents-check-step-details .shop-page {
    grid-template-columns: repeat(10, minmax(0, 1fr));
    gap: 12px 10px !important;
  }
  body.gents-check-step-details .wc-block-checkout__contact-fields .wc-block-components-address-form__email,
  body.gents-check-step-details .wp-block-woocommerce-checkout-contact-information-block .wc-block-components-address-form__email,
  body.gents-check-step-details .wc-block-checkout__billing-fields .wc-block-components-address-form__first_name,
  body.gents-check-step-details .wp-block-woocommerce-checkout-billing-address-block .wc-block-components-address-form__first_name,
  body.gents-check-step-details .wc-block-checkout__billing-fields .wc-block-components-address-form__postcode,
  body.gents-check-step-details .wp-block-woocommerce-checkout-billing-address-block .wc-block-components-address-form__postcode,
  body.gents-check-step-details .wc-block-checkout__billing-fields .wc-block-components-address-form__company,
  body.gents-check-step-details .wp-block-woocommerce-checkout-billing-address-block .wc-block-components-address-form__company {
    grid-column: 1 / 6;
  }
  body.gents-check-step-details .wc-block-checkout__contact-fields .wc-block-components-address-form__phone,
  body.gents-check-step-details .wp-block-woocommerce-checkout-contact-information-block .wc-block-components-address-form__phone,
  body.gents-check-step-details .wc-block-checkout__billing-fields .wc-block-components-address-form__phone,
  body.gents-check-step-details .wp-block-woocommerce-checkout-billing-address-block .wc-block-components-address-form__phone,
  body.gents-check-step-details .wc-block-checkout__billing-fields .wc-block-components-address-form__last_name,
  body.gents-check-step-details .wp-block-woocommerce-checkout-billing-address-block .wc-block-components-address-form__last_name,
  body.gents-check-step-details .wc-block-checkout__billing-fields .wc-block-components-address-form__city,
  body.gents-check-step-details .wp-block-woocommerce-checkout-billing-address-block .wc-block-components-address-form__city,
  body.gents-check-step-details .wc-block-checkout__billing-fields .wc-block-components-address-form__gents-nip,
  body.gents-check-step-details .wp-block-woocommerce-checkout-billing-address-block .wc-block-components-address-form__gents-nip,
  body.gents-check-step-details .wc-block-checkout__billing-fields [class*="gents-nip"],
  body.gents-check-step-details .wp-block-woocommerce-checkout-billing-address-block [class*="gents-nip"] {
    grid-column: 6 / 11;
  }
  body.gents-check-step-details .wc-block-checkout__billing-fields .wc-block-components-address-form__address_1,
  body.gents-check-step-details .wp-block-woocommerce-checkout-billing-address-block .wc-block-components-address-form__address_1 {
    grid-column: 1 / 8; /* 70% */
  }
  body.gents-check-step-details .wc-block-checkout__billing-fields .wc-block-components-address-form__address_2,
  body.gents-check-step-details .wp-block-woocommerce-checkout-billing-address-block .wc-block-components-address-form__address_2 {
    grid-column: 8 / 11; /* 30% */
  }
  body.gents-ship-other-on.gents-check-step-details .wc-block-checkout__shipping-fields .wc-block-components-address-form,
  body.gents-ship-other-on.gents-check-step-details .wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-address-form {
    grid-template-columns: repeat(10, minmax(0, 1fr));
    gap: 12px 10px !important;
  }
  body.gents-ship-other-on.gents-check-step-details .wc-block-checkout__shipping-fields .wc-block-components-address-form__first_name,
  body.gents-ship-other-on.gents-check-step-details .wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-address-form__first_name,
  body.gents-ship-other-on.gents-check-step-details .wc-block-checkout__shipping-fields .wc-block-components-address-form__postcode,
  body.gents-ship-other-on.gents-check-step-details .wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-address-form__postcode {
    grid-column: 1 / 6;
  }
  body.gents-ship-other-on.gents-check-step-details .wc-block-checkout__shipping-fields .wc-block-components-address-form__last_name,
  body.gents-ship-other-on.gents-check-step-details .wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-address-form__last_name,
  body.gents-ship-other-on.gents-check-step-details .wc-block-checkout__shipping-fields .wc-block-components-address-form__city,
  body.gents-ship-other-on.gents-check-step-details .wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-address-form__city {
    grid-column: 6 / 11;
  }
  body.gents-ship-other-on.gents-check-step-details .wc-block-checkout__shipping-fields .wc-block-components-address-form__address_1,
  body.gents-ship-other-on.gents-check-step-details .wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-address-form__address_1 {
    grid-column: 1 / 8;
  }
  body.gents-ship-other-on.gents-check-step-details .wc-block-checkout__shipping-fields .wc-block-components-address-form__address_2,
  body.gents-ship-other-on.gents-check-step-details .wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-address-form__address_2 {
    grid-column: 8 / 11;
  }
  .wc-block-components-address-form,
  .wc-block-checkout__billing-fields .wc-block-components-address-form,
  .wc-block-checkout__shipping-fields .wc-block-components-address-form {
    grid-template-columns: repeat(10, minmax(0, 1fr));
    gap: 12px 10px !important;
  }
  .wc-block-components-address-form .wc-block-components-address-form__first_name,
  .wc-block-components-address-form .wc-block-components-address-form__email,
  .wc-block-components-address-form .wc-block-components-address-form__postcode,
  .wc-block-components-address-form .wc-block-components-address-form__company {
    grid-column: 1 / 6;
  }
  .wc-block-components-address-form .wc-block-components-address-form__last_name,
  .wc-block-components-address-form .wc-block-components-address-form__phone,
  .wc-block-components-address-form .wc-block-components-address-form__city,
  .wc-block-components-address-form .wc-block-components-address-form__gents-nip,
  .wc-block-components-address-form [class*="gents-nip"] {
    grid-column: 6 / 11;
  }
  .wc-block-components-address-form .wc-block-components-address-form__address_1 {
    grid-column: 1 / 8;
  }
  .wc-block-components-address-form .wc-block-components-address-form__address_2 {
    grid-column: 8 / 11;
  }

  .wc-block-cart .wc-block-cart__sidebar,
  .wp-block-woocommerce-cart .wc-block-components-sidebar-layout .wc-block-cart__sidebar,
  .wp-block-woocommerce-cart .wc-block-components-sidebar-layout .wp-block-woocommerce-cart-totals-block,
  .wp-block-woocommerce-cart-totals-block { padding: 12px; }
  .wc-block-cart .wc-block-cart__totals-title::before,
  .wc-block-cart__totals-title::before { font-size: 26px; }
  .wc-block-cart .wc-block-cart__submit { margin-top: 12px; }
  body[data-page="cart"] .shop-page { padding-top: 16px; padding-bottom: 36px; }
  /* Static: h1 mb 10 collapses with .woo mt 8 → 10px; h1 margin is zeroed above, so carry 10 here. */
  .wp-block-woocommerce-cart .wc-block-components-sidebar-layout { margin-top: 10px; gap: 16px; }
  .wc-block-cart__main .ship-goal { margin: 10px 0 0; }
  .wc-block-cart__main .ship-goal p { font-size: 15px; }
  .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__header { display: none; }
  .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row,
  .is-medium table.wc-block-cart-items .wc-block-cart-items__row,
  .is-small table.wc-block-cart-items .wc-block-cart-items__row,
  .is-mobile table.wc-block-cart-items .wc-block-cart-items__row {
    grid-template-columns: 24px 48px minmax(0, 1fr) auto auto;
    column-gap: 0;
    padding: 10px 0;
  }
  .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image { width: 48px; padding-left: 8px; }
  .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image img { width: 40px; height: 54px; }
  .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name {
    padding-left: 8px;
    padding-right: 0; /* static ≤640 td padding: 0 */
    font-size: 18px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .wc-block-cart .wc-block-components-quantity-selector { grid-column: 4; gap: 0; margin: 0 0 0 10px; }
  .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button { width: 32px; height: 32px; }
  .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total,
  .is-small table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total,
  .is-mobile table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total { grid-column: 5; padding: 0 0 0 10px; font-weight: 600; white-space: nowrap; }
  .wc-block-cart__main .ship-goal b { font-size: 26px; }
  .wc-block-components-address-card { font-size: 11px; padding: 10px; }
  .wc-block-components-address-card__edit { top: 10px; right: 10px; }
  .wc-block-checkout__contact-fields .wc-block-components-address-form,
  .wp-block-woocommerce-checkout-contact-information-block .wc-block-components-address-form,
  .wc-block-components-address-form,
  .wc-block-checkout__billing-fields .wc-block-components-address-form,
  .wc-block-checkout__shipping-fields .wc-block-components-address-form {
    gap: 12px 10px !important;
  }
  .wc-block-checkout__payment-method .wc-block-components-radio-control,
  .wc-block-checkout__payment-method .wc-block-components-radio-control--highlight-checked { gap: 8px; }
  .wc-block-checkout__payment-method .wc-block-components-radio-control__option,
  .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option { min-height: 112px; gap: 8px; padding: 10px 6px; }
  /* The mark lives on .wc-block-components-radio-control__label::before (see 2.2) - static ≤640 .pay-mark 96×40. */
  .wc-block-checkout__payment-method .wc-block-components-payment-method-label,
  .wc-block-checkout__payment-method .wc-block-components-radio-control__label { font-size: 12px; letter-spacing: 0.01em; line-height: 1.15; gap: 8px; }
  .wc-block-checkout__payment-method .wc-block-components-payment-method-label::before,
  .wc-block-checkout__payment-method .wc-block-components-radio-control__label::before { width: 100%; max-width: 96px; height: 40px; border-radius: 6px; background-size: auto 18px; }
  .wc-block-checkout__payment-method .wc-block-components-radio-control__option[for*="paypo"] .wc-block-components-payment-method-label::before,
  .wc-block-checkout__payment-method .wc-block-components-radio-control__option[for*="paypo"] .wc-block-components-radio-control__label::before,
  .wc-block-checkout__payment-method .wc-block-components-radio-control__option[for*="tpaygeneric-83"] .wc-block-components-radio-control__label::before,
  .wc-block-checkout__payment-method .wc-block-components-radio-control__option[data-pay="paypo"] .wc-block-components-radio-control__label::before { width: 100%; max-width: 96px; height: 44px; background-size: auto 36px; }
  .wc-block-checkout__payment-method .wc-block-components-radio-control__option[for*="tpaycc"] .wc-block-components-radio-control__label::before,
  .wc-block-checkout__payment-method .wc-block-components-radio-control__option[for*="tpaysf"] .wc-block-components-radio-control__label::before,
  .wc-block-checkout__payment-method .wc-block-components-radio-control__option[for*="card"] .wc-block-components-payment-method-label::before,
  .wc-block-checkout__payment-method .wc-block-components-radio-control__option[for*="card"] .wc-block-components-radio-control__label::before { background-size: auto 14px, auto 14px; background-position: calc(50% - 18px) center, calc(50% + 18px) center; }
  .inpost-parcel-locker-wrap,
  .wc-block-checkout__shipping-option .inpost_pl-block-shipping-method-meta-wrap { padding: 0 12px 12px 12px; }
  .wc-block-checkout__actions .wc-block-components-checkout-place-order-button { width: 100%; }
  body.is-checkout .shop-page { padding-top: 20px; }
  /* Details step mobile: half the air above “Kupujesz jako”; 20px less under ship-other. */
  body.gents-check-step-details.is-checkout .shop-page { padding-top: 10px; }
  body.gents-check-step-details .gents-check-steps { margin: 2px 0 14px; }
  body.gents-check-step-ship .gents-check-steps { margin: 2px 0 14px; }
  body.gents-check-step-details .shop-page { gap: 8px 10px !important; }
  body.gents-check-step-details .gents-type-toggle { margin: 0 0 10px; }
  body.gents-check-step-details .gents-ship-other { margin: 10px 0 0; }
  body.gents-check-step-details .gents-check-next { margin: 2px 0 8px; } /* was 22 - 20px tighter under checkbox */
  /* Static ≤640: .order-box { padding: 18px } h2 { font-size: 34px }; .shop-sub stays 42px. */
  .wp-block-woocommerce-checkout-order-summary-block { padding: 18px; }
  .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text { font-size: 34px; }
}
