/**
 * WooCommerce shop / PDP / cart / checkout / account bridge (non-card).
 * Page-scoped: not loaded on Home solely for product cards.
 * Source-split from woocommerce-bridge.css.
 */
/* â€”â€” Page heroes / editorial â€”â€” */
.page-hero,
.shop-hero,
.commerce-page-header,
.page-entry-header {
  padding: clamp(24px, 3.5vw, 48px) 0 clamp(16px, 2vw, 28px);
  background: var(--surface-page, var(--paper));
  min-height: 0;
}

.page-hero.page-hero--compact,
.shop-hero.page-hero--compact {
  padding: clamp(16px, 2.2vw, 28px) 0 clamp(12px, 1.6vw, 18px);
}

/* Catalog top target — sticky header clearance for pagination/category jumps */
#catalog-top,
[data-ekrasnale-catalog-top] {
  scroll-margin-top: 96px;
}

.page-hero .eyebrow,
.shop-hero .eyebrow,
.commerce-page-header .eyebrow {
  display: block;
  margin-bottom: 10px;
}

.page-hero h1,
.shop-hero h1,
.commerce-page-header h1,
.page-entry-header h1 {
  max-width: none;
  font-size: var(--font-h1, clamp(2rem, 5vw, 3.2rem));
  line-height: 1.05;
  letter-spacing: -.03em;
}

@media (min-width: 980px) {
  .page-hero h1,
  .shop-hero h1,
  .commerce-page-header h1,
  .page-entry-header h1 {
    max-width: var(--heading-measure-page, min(32ch, 100%));
  }
}

.page-hero:not(.page-hero--compact) h1,
.shop-hero:not(.page-hero--compact) h1 {
  font-size: var(--font-display-lg, clamp(2.1rem, 5.5vw, 3.4rem));
}

.page-hero p,
.shop-hero p {
  max-width: 40rem;
  margin-top: 12px;
  color: var(--muted);
  font-size: var(--font-body, 1rem);
  line-height: 1.55;
}

.entry-content {
  color: var(--ink);
}

.entry-content.prose,
.page:not(.woocommerce-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .entry-content,
.page-template-default:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account):not(.woocommerce-page) .entry-content {
  max-width: var(--reading-max, 72ch);
}

body.woocommerce-cart .entry-content,
body.woocommerce-checkout .entry-content,
body.woocommerce-account .entry-content,
body.woocommerce-page .entry-content,
body.single-product .entry-content,
body.tax-product_cat .entry-content,
body.post-type-archive-product .entry-content,
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-account .entry-content {
  max-width: none !important;
  width: 100%;
}

.woocommerce-cart .entry-content.prose,
.woocommerce-checkout .entry-content.prose,
.woocommerce-account .entry-content.prose {
  max-width: none !important;
}

.entry-content > * + * {
  margin-top: 1.1em;
}

.entry-content a {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Commerce controls must not inherit editorial underlines. */
.entry-content .btn,
.entry-content .button,
.entry-content a.button,
.entry-content .product-details-link,
.entry-content .product-card-actions a,
.entry-content .product-card-actions .button,
.entry-content .checkout-button,
.entry-content .cart-update-fallback,
.entry-content .remove,
.entry-content .cart-coupon-disclosure summary,
.entry-content .cart-coupon-disclosure summary span {
  text-decoration: none;
}

.entry-content .btn:hover,
.entry-content .btn:focus-visible,
.entry-content .btn:active,
.entry-content .btn:visited,
.entry-content a.button:hover,
.entry-content a.button:focus-visible,
.entry-content a.button:active,
.entry-content a.button:visited,
.entry-content .product-details-link:hover,
.entry-content .product-details-link:focus-visible,
.entry-content .product-details-link:active,
.entry-content .product-details-link:visited,
.entry-content .product-card-actions a:hover,
.entry-content .product-card-actions a:focus-visible,
.entry-content .product-card-actions a:active,
.entry-content .product-card-actions a:visited,
.entry-content .checkout-button:hover,
.entry-content .checkout-button:focus-visible,
.entry-content .checkout-button:active,
.entry-content .checkout-button:visited {
  text-decoration: none;
}

body.woocommerce-cart .commerce-page-header--cart {
  padding: 0;
  margin: 0;
  min-height: 0;
  border: 0;
  background: transparent;
}

.woocommerce-cart .woocommerce-notices-wrapper:empty,
.woocommerce-cart .woocommerce-notices-wrapper:not(:has(*)) {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
}

.woocommerce-cart .cart-empty.empty-state {
  padding: clamp(16px, 2vw, 22px);
  gap: 12px;
}

.brand-story,
.brand-values,
.contact-section,
.wishlist-section {
  padding-block: var(--space-section, clamp(48px, 6vw, 96px));
}

/* About page — compact editorial rhythm; typography from shared primitives. */
.about-page .about-intro,
.about-page .about-hero {
  padding-block: clamp(28px, 3.5vw, 48px) clamp(24px, 3vw, 36px);
}

.about-page .brand-story {
  padding-block: clamp(28px, 4vw, 48px) clamp(40px, 5vw, 64px);
}

.about-page .brand-story-copy h2 {
  margin: 0 0 14px;
}

.brand-story-grid,
.editorial-split__grid {
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
}

.brand-story-media,
.editorial-split__media {
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--surface);
  margin: 0;
  aspect-ratio: 4 / 5;
  max-height: min(52vh, 420px);
}

.brand-story-media img,
.editorial-split__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 28%;
  display: block;
}

@media (min-width: 840px) {
  .brand-story-grid,
  .editorial-split__grid {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: 36px;
    align-items: center;
  }

  /* DOM: copy then media → mobile copy/image. Desktop: media LEFT, copy RIGHT. */
  .brand-story-grid .brand-story-media,
  .editorial-split__grid .editorial-split__media {
    grid-column: 1;
    grid-row: 1;
    max-height: min(58vh, 480px);
  }

  .brand-story-grid .brand-story-copy,
  .editorial-split__grid .editorial-split__copy {
    grid-column: 2;
    grid-row: 1;
  }
}

.about-page .brand-values {
  padding-block: clamp(48px, 5.5vw, 72px) clamp(40px, 5vw, 64px);
}

.about-page .brand-values .section-heading {
  margin-bottom: clamp(22px, 3vw, 32px);
}

.about-page .brand-values .section-heading h2 {
  max-width: none;
}

.about-page .about-cta.section,
.about-page .section.section-compact {
  padding-block: clamp(40px, 5vw, 72px);
}

.about-page .locations-section {
  padding-block: clamp(48px, 5.5vw, 72px);
}

.about-page .value-grid article {
  padding: clamp(18px, 2.4vw, 26px);
  min-height: 0;
}

.about-page .value-grid article > span {
  display: block;
  margin-bottom: 10px;
  color: var(--accent);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
}

.about-page .value-grid h3 {
  font-size: clamp(1.05rem, 1.6vw, 1.2rem);
  line-height: 1.2;
  margin: 0 0 10px;
}

.about-page .value-grid p {
  font-size: .95rem;
  line-height: 1.5;
  color: var(--muted);
  margin: 0;
}

.cta-banner {
  padding: clamp(28px, 3.5vw, 44px);
}

.cta-banner h2 {
  font-size: clamp(1.85rem, 3.6vw, 2.75rem);
  line-height: 1.08;
  letter-spacing: -.03em;
  font-weight: 700;
  margin: 6px 0 0;
  max-width: var(--heading-measure-section-wide, min(36ch, 100%));
  margin-inline: auto;
}

/* Landing pages use canonical SectionHeading (--font-h2), not display CTA scale */
.landing-cta .cta-banner h2,
.location-cta .cta-banner h2,
.wedding-cta .cta-banner h2,
.delivery-cta .cta-banner h2 {
  font-size: var(--font-h2, clamp(1.55rem, 3.2vw, 2.25rem));
  line-height: 1.15;
  letter-spacing: -0.035em;
  font-weight: 650;
  margin: 0;
}

.cta-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-top: 22px;
}

.cta-actions .btn {
  min-height: 44px;
  padding-inline: 20px;
}

@media (max-width: 479px) {
  .cta-actions {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .cta-actions .btn {
    width: 100%;
  }
}

.brand-story-grid {
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
}

.brand-story-media {
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--surface);
  max-height: min(52vh, 420px);
}

.brand-story-media img {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
  object-position: center 28%;
  display: block;
}

.brand-story-copy h2 {
  font-size: var(--font-h2);
  line-height: 1.15;
  margin: 0 0 16px;
}

.wishlist-section {
  padding-block: var(--space-section-sm, clamp(36px, 5vw, 64px));
}

.wishlist-section .empty-state,
.wishlist-empty {
  margin-inline: 0;
  max-width: none;
}

.wishlist-page .wishlist-empty {
  margin-inline: 0;
  max-width: none;
}

.brand-story-content,
.brand-story-content p {
  font-size: 1.05rem;
  line-height: 1.65;
  color: var(--ink);
  max-width: 62ch;
}

.value-grid article {
  min-height: 0;
  padding: 22px;
}

.value-grid h3 {
  font-size: 1.15rem;
}

.value-grid p {
  font-size: 1rem;
  line-height: 1.55;
}

.brand-story-content > * + * {
  margin-top: 1em;
}

@media (min-width: 840px) {
  .brand-story-grid {
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    gap: 36px;
    align-items: center;
  }

  .brand-story-grid .brand-story-media {
    grid-column: 1;
    grid-row: 1;
    max-height: min(58vh, 480px);
    min-height: 0;
  }

  .brand-story-grid .brand-story-copy {
    grid-column: 2;
    grid-row: 1;
  }

  .brand-story-media img {
    max-height: none;
    min-height: 0;
  }
}

.value-grid,
.contact-layout {
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 840px) {
  .value-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .contact-layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 28px;
    align-items: start;
  }
}

.contact-page .page-hero {
  margin-bottom: 0;
}

.contact-page .contact-section {
  padding-block: clamp(32px, 4vw, 56px);
}

.page--utility .contact-page .page-hero h1,
.page--utility .contact-page .page-hero--compact h1 {
  max-width: none;
  width: auto;
}

.contact-quick-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.contact-info-list {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.contact-info-list > div {
  display: grid;
  gap: 4px;
}

.contact-info-list span {
  font-size: var(--font-small, .875rem);
  color: var(--muted);
}

.contact-info-list a,
.contact-info-list strong {
  font-size: 1rem;
  font-weight: 700;
  color: var(--ink);
  word-break: break-word;
}

.contact-form .btn {
  width: 100%;
  min-height: var(--control-h, 48px);
  margin-top: 8px;
  min-width: 12.5rem;
}

@media (min-width: 640px) {
  .contact-form .btn {
    width: auto;
  }
}

.contact-form-panel .contact-form {
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

/* Locations: never 2-col below tablet */
.locations-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 840px) {
  .locations-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
  }
}

@media (min-width: 1100px) {
  .locations-grid,
  .locations-grid--editorial[data-location-count="3"] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.location-card .location-map {
  width: 100%;
  min-height: 0;
  height: auto;
}

.location-card .location-map iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.location-content {
  padding: clamp(20px, 3vw, 28px);
}

.location-content h3 {
  font-size: var(--font-h3, 1.3rem);
}

.location-content p,
.location-details a {
  font-size: 1rem;
  line-height: 1.5;
}

.location-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

.location-actions .btn {
  min-height: 44px;
}

.value-grid article,
.contact-info-panel,
.contact-form-panel,
.contact-form,
.cta-banner {
  padding: clamp(20px, 3vw, 40px);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
}

.cta-banner {
  padding: clamp(28px, 3.5vw, 44px);
  background: var(--surface-warm);
  text-align: center;
}

.cta-banner .eyebrow {
  display: block;
  margin-bottom: 8px;
}

/* â€”â€” Forms (chrome lives in components.css; keep WC button grammar here) â€”â€” */

.woocommerce .button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce #respond input#submit,
.woocommerce #place_order,
.woocommerce-account .button {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 21px;
  border: 1px solid var(--primary-fill, var(--accent));
  border-radius: 999px;
  background: var(--primary-fill, var(--accent));
  color: #fff;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}

.woocommerce .button.alt,
.woocommerce button.button.alt,
.woocommerce a.button.alt {
  background: var(--accent);
  border-color: var(--accent);
}

.woocommerce .button:disabled,
.woocommerce button.button:disabled {
  opacity: .55;
  cursor: not-allowed;
}

/* —— Notices —— */
.woocommerce-notices-wrapper,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-NoticeGroup {
  margin-bottom: 18px;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-NoticeGroup ul {
  list-style: none;
  margin: 0;
  padding: 14px 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
}

.woocommerce-message {
  border-color: color-mix(in srgb, var(--surface-clay) 70%, var(--line));
  background: var(--surface-muted);
}

.woocommerce-error {
  border-color: color-mix(in srgb, var(--accent) 35%, var(--line));
  background: var(--surface-rust-soft);
}

.woocommerce-info {
  background: var(--surface-warm);
}

/*
 * P0 layout safety: WC prepends NoticeGroup into form.checkout (CSS grid).
 * Absolute + clip removes it from grid tracks before JS ports the message.
 */
form.checkout.checkout-shell > .woocommerce-NoticeGroup,
.woocommerce-NoticeGroup.is-notice-ported,
.woocommerce-error.is-notice-ported,
.woocommerce-message.is-notice-ported,
.woocommerce-info.is-notice-ported,
.woocommerce-notices-wrapper > .is-notice-ported {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
  white-space: nowrap !important;
  pointer-events: none !important;
}

.woocommerce-notices-wrapper:not(:has(.woocommerce-message:not(.is-notice-ported), .woocommerce-info:not(.is-notice-ported), .woocommerce-error:not(.is-notice-ported), .woocommerce-notice:not(.is-notice-ported))) {
  display: none;
  margin: 0;
  padding: 0;
  min-height: 0;
}

/* â€”â€” Shop / filters â€”â€” */
.shop-section,
.page--commerce .shop-section,
.page--commerce .section.shop-section {
  padding-top: 0 !important;
  padding-bottom: clamp(28px, 4vw, 56px);
  padding-block: 0 clamp(28px, 4vw, 56px);
}

/* Balanced catalog H1 rhythm: ~32–40px above and below the title. */
.page--commerce .shop-hero.page-hero--compact {
  padding: 20px 0 32px;
}

.page--commerce .shop-hero h1 {
  font-size: clamp(1.55rem, 2.6vw, 2rem);
  max-width: none;
  margin: 0;
}

.page--commerce .shop-hero .eyebrow {
  margin-bottom: 8px;
}

.shop-container {
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1fr);
}

.shop-container > .woocommerce-notices-wrapper {
  grid-column: 1 / -1;
}

.shop-container > .woocommerce-notices-wrapper:not(:has(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice)) {
  display: none;
}

.shop-mobile-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

/* Mobile chrome: Filtry | Sortowanie share one row (≤979). Desktop sort lives in toolbar. */
.shop-mobile-toolbar__sorting {
  display: none;
}

.shop-mobile-toolbar__sorting-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.shop-filters,
.filter-panel {
  display: grid;
  gap: 12px;
  align-content: start;
  padding: 14px 14px 16px;
  background: var(--surface-card, var(--surface));
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  min-height: 0;
  height: auto;
  max-height: none;
  overflow: visible;
}

.filter-panel__body {
  display: grid;
  gap: 12px;
  align-content: start;
  min-height: 0;
}

.filter-section--primary {
  padding-bottom: 4px;
}

.facet-choice-group--sections {
  column-gap: var(--space-2, 10px);
  row-gap: var(--space-2, 10px);
}

.facet-choice--section span {
  min-height: 36px;
  padding-inline: 12px;
  font-size: .78rem;
  font-weight: 600;
  line-height: 1.25;
  white-space: normal;
  text-align: center;
  max-width: 100%;
}

.facet-choice input:disabled + span {
  opacity: .45;
  cursor: not-allowed;
}

.filter-panel.is-dirty .filter-actions [data-filter-apply],
.filter-panel.is-dirty .filter-actions .btn-secondary {
  background: var(--button-secondary-hover-bg, var(--surface-alt)) !important;
  border-color: var(--ink) !important;
  color: var(--ink) !important;
  box-shadow: none;
}

.filter-hint {
  margin: 0;
  font-size: .78rem;
  color: var(--ink-muted, #666);
}

.filter-count--title {
  font-size: .85em;
  font-weight: 600;
  margin-left: 4px;
}

.category-hierarchy {
  display: grid;
  gap: 4px;
}

.category-group {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2px 4px;
  align-items: start;
}

.category-option {
  display: block;
  min-width: 0;
}

.category-option span {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--paper);
  font-size: .78rem;
  font-weight: 700;
  line-height: 1.25;
}

.category-option--child span {
  margin-left: 12px;
  font-weight: 600;
  background: transparent;
}

.category-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.category-option input:checked + span {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}

.category-group-toggle {
  width: 34px;
  height: 34px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--paper) var(--select-chevron) center / 12px no-repeat;
  cursor: pointer;
}

.category-group.is-open .category-group-toggle {
  transform: rotate(180deg);
}

.category-children {
  grid-column: 1 / -1;
  display: grid;
  gap: 4px;
  padding: 2px 0 6px;
}

.category-chips,
.filter-chip-group:not(.category-hierarchy) {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.filter-header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
}

.filter-header h2 {
  font-size: 1.35rem;
  line-height: 1.15;
  margin: 4px 0 0;
}

.filter-close {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: var(--paper);
}

.filter-close svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
}

.filter-section,
.category-filter {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}

.filter-section:not(.price-filter) {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-2, 10px);
}

.filter-label,
.category-filter legend {
  display: block;
  margin-bottom: 0;
  font-size: .9rem;
  font-weight: 700;
  padding: 0;
}

.category-chips,
.filter-chip-group {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.category-chips label span,
.filter-chip {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--paper);
  font-size: .74rem;
  font-weight: 700;
}

.category-chips input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.category-chips input:checked + span {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}

.facet-choice-group,
.facet-more {
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--space-2, 10px);
  row-gap: var(--space-2, 10px);
}

.facet-choice {
  position: relative;
  display: inline-flex;
}

.facet-choice input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.facet-choice span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--paper);
  font-size: .74rem;
  font-weight: 700;
  cursor: pointer;
}

.facet-choice input:checked + span {
  color: var(--ink);
  background: var(--accent-soft, #f5e6c8);
  border-color: color-mix(in srgb, var(--accent) 55%, var(--line));
  box-shadow: none;
  font-weight: 800;
}

.facet-choice input:focus-visible + span,
.facet-check input:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.facet-choice input:checked:focus-visible + span {
  outline: 2px solid var(--ink);
  outline-offset: 2px;
}

/* One filter surface — no nested pink/card panels for ordinary groups. */
.filter-section--strong {
  padding: 0;
  background: transparent;
  border-radius: 0;
}

.facet-info-button,
.facet-more-toggle {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-size: .76rem;
  font-weight: 700;
  text-decoration: underline;
  cursor: pointer;
}

.facet-info-button {
  margin-left: 4px;
}

.single-product .variation-label-row {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 8px;
}

.single-product .variation-label-row--size label {
  margin: 0;
}

.single-product .variation-label-row .facet-info-button {
  margin-left: 0;
  font-size: inherit;
  font-weight: 600;
}

.facet-more-toggle {
  margin-top: 8px;
}

.facet-check {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  min-height: 44px;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-size: .8rem;
  font-weight: 700;
  color: var(--ink);
  cursor: pointer;
}

.facet-check input {
  appearance: none;
  width: 18px;
  height: 18px;
  margin: 0;
  flex: 0 0 18px;
  border: 1.5px solid var(--line-strong, var(--line));
  border-radius: 4px;
  background: var(--surface, #fff);
  accent-color: var(--accent);
  cursor: pointer;
}

.facet-check input:checked {
  background: var(--accent);
  border-color: var(--accent);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.2l3 3 6-6'/%3E%3C/svg%3E");
  background-size: 12px 12px;
  background-position: center;
  background-repeat: no-repeat;
}

.facet-check input:hover {
  border-color: color-mix(in srgb, var(--ink) 45%, var(--line));
}

.facet-check:hover {
  background: transparent;
}

.filter-chip--removable {
  gap: 6px;
  text-decoration: none;
  max-width: 100%;
}

.filter-chip--removable .filter-chip__label {
  min-width: 0;
}

.filter-chip--removable .filter-chip__remove {
  flex: 0 0 auto;
  line-height: 1;
}

.filter-chip--removable:hover {
  border-color: var(--accent);
}

/* Size guide modal styles live in components.css (.modal / .size-guide-*). */

.product-facet-meta {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 700;
}

.price-filter,
.price-range-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 0;
}

.price-filter .field {
  margin: 0;
}

.filter-actions {
  display: grid;
  gap: 10px;
  margin-top: 4px;
}

.filter-actions [data-filter-apply].btn-secondary {
  width: 100%;
  min-height: var(--action-height, 44px);
  font-weight: 800;
  background: var(--button-secondary-strong-bg, var(--surface)) !important;
  border: 1px solid var(--button-secondary-border, var(--line-strong)) !important;
  color: var(--button-secondary-text, var(--ink)) !important;
}

.filter-actions [data-filter-apply].btn-secondary:hover,
.filter-actions [data-filter-apply].btn-secondary:focus-visible {
  background: var(--button-secondary-hover-bg, var(--surface-alt)) !important;
  border-color: var(--ink) !important;
  color: var(--ink) !important;
}

.filter-clear.filter-clear--idle,
.filter-actions .filter-clear--idle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 12px;
  color: var(--muted);
  font-size: .875rem;
  font-weight: 600;
  opacity: .7;
  pointer-events: none;
  border: 0;
  background: transparent;
}

.filter-actions .filter-clear.btn-outline,
.filter-actions .filter-clear.btn-ghost {
  font-weight: 700;
  background: transparent !important;
  border: 0 !important;
  color: var(--button-tertiary-text, var(--muted)) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
  min-height: 42px;
  box-shadow: none !important;
}

.filter-actions .filter-clear.btn-outline:hover,
.filter-actions .filter-clear.btn-ghost:hover,
.filter-actions .filter-clear.btn-outline:focus-visible,
.filter-actions .filter-clear.btn-ghost:focus-visible {
  color: var(--button-tertiary-hover, var(--ink)) !important;
  background: transparent !important;
}

.empty-state__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
}

.shop-main {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.shop-results-meta.catalog-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: var(--space-3, 14px) var(--space-4, 20px);
}

.shop-results-meta.catalog-toolbar.catalog-toolbar--sort-only {
  grid-template-columns: auto;
  justify-content: end;
}

.catalog-toolbar__results {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-2, 10px);
  min-width: 0;
}

.catalog-toolbar__sorting {
  justify-self: end;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  min-width: min(100%, 240px);
}

.catalog-toolbar__sorting-label {
  font-size: var(--font-small, .875rem);
  font-weight: 700;
  color: var(--muted);
  letter-spacing: .02em;
}

.catalog-toolbar__sorting .woocommerce-ordering {
  margin: 0;
  display: block;
}

.catalog-toolbar__sorting .woocommerce-ordering select {
  min-width: min(100%, 220px);
  width: auto;
}

.result-count {
  font-size: var(--font-small, .875rem);
  color: var(--muted);
  font-weight: 600;
}

.catalog-empty,
.cart-empty,
.wishlist-empty,
.testimonial-empty,
.empty-state {
  display: grid;
  justify-items: start;
  gap: 14px;
  padding: clamp(28px, 4vw, 48px);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  min-height: 0;
}

.woocommerce-pagination,
.woocommerce nav.woocommerce-pagination ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 28px 0 0;
  padding: 0;
  border: 0;
}

.woocommerce-pagination a,
.woocommerce-pagination span {
  min-width: 44px;
  min-height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface);
  font-weight: 700;
}

.woocommerce-pagination .current {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}

@media (min-width: 980px) {
  .shop-container {
    grid-template-columns: minmax(240px, 280px) minmax(0, 1fr);
    gap: 16px 28px;
    align-items: start;
  }

  .shop-section > .container {
    width: min(calc(100% - (var(--gutter, 18px) * 2)), 1440px);
  }

  .shop-mobile-toolbar,
  .filter-backdrop {
    display: none !important;
  }

  .shop-filters,
  .filter-panel {
    grid-column: 1;
    position: sticky;
    top: 96px;
    align-self: start;
    width: 100%;
    max-width: 280px;
    height: auto;
    max-height: calc(100vh - 112px);
    overflow: visible;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .shop-main {
    grid-column: 2;
  }

  .filter-close {
    display: none;
  }

  .filter-actions {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 1680px) {
  .shop-section > .container {
    width: min(calc(100% - (var(--gutter, 18px) * 2)), 1560px);
  }
}

@media (max-width: 979px) {
  .shop-filters,
  .filter-panel {
    position: fixed;
    z-index: var(--z-drawer, 90);
    inset: auto 0 0;
    display: flex;
    flex-direction: column;
    max-height: min(88vh, 720px);
    overflow: hidden;
    border-radius: 22px 22px 0 0;
    transform: translateY(110%);
    transition: transform .28s ease;
    padding-bottom: 0;
    pointer-events: none;
    visibility: hidden;
  }

  .filter-panel__body {
    flex: 1 1 auto;
    overflow: auto;
    overscroll-behavior: contain;
    padding-bottom: 8px;
  }

  .filter-header {
    flex: 0 0 auto;
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--surface-card, var(--surface));
    padding-bottom: 8px;
    border-bottom: 1px solid var(--line);
  }

  .filter-actions {
    flex: 0 0 auto;
    position: sticky;
    bottom: 0;
    z-index: 2;
    margin-top: auto;
    padding: 12px 0 calc(12px + env(safe-area-inset-bottom, 0px));
    background: linear-gradient(to top, var(--surface) 78%, transparent);
  }

  .filter-actions [data-filter-apply].btn-secondary {
    min-height: 48px;
    border-width: 1.5px !important;
    border-color: var(--ink) !important;
    background: var(--surface-alt, var(--color-surface-alt)) !important;
  }

  .shop-filters.is-open,
  .filter-panel.is-open {
    transform: none;
    pointer-events: auto;
    visibility: visible;
  }

  .facet-choice span {
    min-height: 44px;
    padding: 8px 14px;
    font-size: .8rem;
  }

  .facet-info-button,
  .facet-more-toggle {
    min-height: 44px;
    padding: 10px 2px;
    display: inline-flex;
    align-items: center;
  }

  .shop-mobile-toolbar {
    display: flex;
    align-items: stretch;
    gap: 8px;
    margin: 0;
  }

  .shop-mobile-toolbar .filter-toggle {
    flex: 0 0 auto;
    width: auto;
    min-width: 0;
    max-width: none;
    min-height: 44px;
    height: 44px;
    justify-content: center;
    padding-inline: 12px;
    font-size: 0.84rem;
    white-space: nowrap;
  }

  .shop-mobile-toolbar .filter-count {
    display: none;
  }

  .shop-mobile-toolbar__sorting {
    display: block;
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
  }

  .shop-mobile-toolbar__sorting .woocommerce-ordering {
    margin: 0;
    width: 100%;
    height: 44px;
  }

  .shop-mobile-toolbar__sorting .woocommerce-ordering select {
    /* Native select is visually replaced by ekrasnale-combobox; keep hit area on trigger */
    width: 100%;
    min-height: 44px;
    height: 44px;
    margin: 0;
    padding-inline: 10px 32px;
    font-size: 0.84rem;
    font-weight: 700;
  }

  .shop-mobile-toolbar__sorting .ekrasnale-combobox,
  .shop-mobile-toolbar__sorting .ekrasnale-combobox__trigger {
    width: 100%;
    min-height: 44px;
    height: 44px;
  }

  .shop-mobile-toolbar__sorting .ekrasnale-combobox__trigger {
    display: flex;
    align-items: center;
    padding-inline: 10px 36px;
    font-size: 0.84rem;
    font-weight: 700;
  }

  .shop-mobile-toolbar__sorting .ekrasnale-combobox__value {
    overflow: hidden;
    text-overflow: clip;
    white-space: nowrap;
  }

  .filter-backdrop {
    position: fixed;
    z-index: var(--z-drawer-backdrop, 80);
    inset: 0;
    display: block;
    background: rgba(232, 218, 222, .78);
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s;
  }

  .filter-backdrop.is-visible {
    opacity: 1;
    pointer-events: auto;
  }

  .catalog-toolbar__sorting--desktop {
    display: none !important;
  }

  .shop-results-meta.catalog-toolbar {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .shop-results-meta.catalog-toolbar.catalog-toolbar--sort-only {
    display: none;
  }

  .catalog-toolbar__results .active-filters {
    display: flex;
    flex-wrap: nowrap;
    gap: 6px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 2px;
    scrollbar-width: thin;
  }

  .catalog-toolbar__results .filter-chip {
    flex: 0 0 auto;
    max-width: 70vw;
  }

  .catalog-toolbar__sorting {
    width: 100%;
    justify-self: stretch;
  }

  .catalog-toolbar__sorting .woocommerce-ordering {
    width: 100%;
    margin-left: 0;
  }

  .catalog-toolbar__sorting .woocommerce-ordering select {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .shop-filters,
  .filter-panel,
  .filter-backdrop {
    transition: none;
  }
}

.woocommerce-checkout .form-row.woocommerce-invalid input.input-text,
.woocommerce-checkout .form-row.woocommerce-invalid select,
.woocommerce-checkout .form-row.woocommerce-invalid textarea,
.woocommerce-checkout .ekrasnale-pickup-choices.woocommerce-invalid {
  border-color: var(--color-error, #c0392b);
}

.woocommerce-checkout .form-row.woocommerce-invalid > label,
.woocommerce-checkout .ekrasnale-pickup-choices.woocommerce-invalid > legend {
  color: var(--color-error, #c0392b);
}

.woocommerce-checkout .checkout-field-error:not([hidden]) {
  display: block;
  margin: 8px 0 0;
  color: var(--color-error, #c0392b);
  font-size: 0.88rem;
  font-weight: 700;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper.woocommerce-invalid,
.woocommerce-checkout .form-row.validate-required.woocommerce-invalid #terms {
  outline: 2px solid var(--color-error, #c0392b);
  outline-offset: 4px;
}

/* — Single product WC — */
.product-page,
.single-product .site-main,
.single-product div.product {
  background: var(--paper);
}

.woocommerce-product-gallery {
  margin-bottom: 16px;
}

.woocommerce-product-gallery__wrapper {
  margin: 0;
}

.woocommerce-product-gallery__image,
.woocommerce-product-gallery .flex-viewport {
  --pdp-gallery-pad: clamp(18px, 2.8vw, 36px);
  aspect-ratio: auto;
  height: clamp(420px, 58vh, 580px);
  max-height: min(580px, 68vh);
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--surface-card, var(--surface));
  position: relative;
  box-sizing: border-box;
  padding: 0;
}

@media (max-width: 767px) {
  .woocommerce-product-gallery {
    max-width: 100%;
    overflow: hidden;
  }

  .woocommerce-product-gallery__image,
  .woocommerce-product-gallery .flex-viewport {
    --pdp-gallery-pad: clamp(14px, 4vw, 24px);
    height: clamp(240px, 52vw, 320px);
    max-height: min(320px, 48vh);
    width: 100%;
  }

  .woocommerce-product-gallery__image img,
  .woocommerce-product-gallery__image--placeholder img,
  .woocommerce-product-gallery .flex-viewport img {
    position: absolute;
    inset: var(--pdp-gallery-pad);
    max-height: calc(100% - (2 * var(--pdp-gallery-pad)));
    max-width: calc(100% - (2 * var(--pdp-gallery-pad)));
    width: auto;
    height: auto;
    margin: auto;
    object-fit: contain;
  }

  .single-product .product_title {
    font-size: clamp(1.875rem, 5.4vw, 2rem);
    margin-bottom: 8px;
    max-width: none;
  }

  .product-buybox-lead {
    margin: 0 0 10px;
    font-size: .95rem;
    line-height: 1.45;
  }

  .single-product form.cart {
    margin-top: 8px;
  }

  .single-product form.cart .purchase-actions.action-group {
    grid-template-columns: 1fr;
  }
}

.woocommerce-product-gallery__image img,
.woocommerce-product-gallery__image--placeholder img,
.woocommerce-product-gallery .flex-viewport img {
  position: absolute;
  inset: var(--pdp-gallery-pad, clamp(18px, 2.8vw, 36px));
  width: auto;
  height: auto;
  max-width: calc(100% - (2 * var(--pdp-gallery-pad, clamp(18px, 2.8vw, 36px))));
  max-height: calc(100% - (2 * var(--pdp-gallery-pad, clamp(18px, 2.8vw, 36px))));
  margin: auto;
  object-fit: contain;
  object-position: center;
  border-radius: var(--radius-sm);
  background: transparent;
}

.flex-control-thumbs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.flex-control-thumbs li img {
  width: 100%;
  border-radius: 12px;
  border: 1px solid var(--line);
  opacity: .85;
}

.flex-control-thumbs li img.flex-active {
  border-color: var(--accent);
  opacity: 1;
}

.single-product div.product {
  display: grid;
  gap: 28px;
  padding-block: 8px 36px;
}

@media (min-width: 980px) {
  .single-product div.product {
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
    gap: clamp(28px, 4vw, 48px);
    width: min(calc(100% - 128px), 1260px);
    margin-inline: auto;
    align-items: start;
  }

  .single-product .woocommerce-tabs,
  .single-product .product-editorial,
  .single-product .product-editorial-sections,
  .single-product .related.products {
    grid-column: 1 / -1;
  }
}

.summary.entry-summary,
.single-product .summary {
  padding: clamp(22px, 3vw, 36px);
  background: var(--surface-card, var(--surface));
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  box-shadow: 0 18px 50px rgba(75, 58, 64, .065);
}

.single-product .product_title {
  font-size: clamp(2rem, 1.55rem + 1.2vw, 2.625rem);
  line-height: 1.2;
  letter-spacing: -.02em;
  max-width: none;
}

@media (min-width: 980px) {
  .single-product .product_title {
    max-width: var(--heading-measure-page, min(32ch, 100%));
  }
}

.single-product .product-eyebrow {
  display: none !important;
}

.single-product p.price {
  margin: 14px 0;
  font-size: 1.35rem;
  font-weight: 800;
}

.single-product .woocommerce-variation-price {
  margin: 8px 0 14px;
}

.single-product .woocommerce-variation-price .price {
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--ink);
}

.single-product .woocommerce-variation-availability {
  margin-bottom: 10px;
  font-size: .92rem;
  color: var(--muted);
}

.single-product .woocommerce-product-details__short-description {
  color: var(--muted);
  margin-bottom: 18px;
  font-size: 1rem;
  line-height: 1.55;
}

.single-product .variations {
  width: 100%;
  margin-bottom: 16px;
  text-align: left;
}

.single-product .variations td,
.single-product .variations th {
  display: block;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left !important;
}

.single-product .variations label,
.single-product .variations .label,
.single-product .variations th.label {
  display: block;
  width: 100%;
  margin: 0 0 10px;
  padding: 0;
  font-size: .9rem;
  font-weight: 700;
  text-align: left !important;
  float: none;
}

.single-product .variations .value {
  text-align: left;
}

.single-product .variation-chips,
.single-product .choice-chip-group.variation-chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 8px;
}

.single-product .variation-chips .choice-chip {
  min-width: 44px;
  min-height: 44px;
  padding: 0 14px;
  font-size: .8rem;
}

.single-product .variations select {
  width: auto;
  max-width: 100%;
  margin-top: 0;
}

.single-product .variation-guidance {
  margin: 0 0 4px;
  color: var(--muted);
  font-size: .82rem;
  font-weight: 700;
  text-align: left;
}

.single-product .variation-guidance[hidden] {
  display: none !important;
}

.single-product .quantity {
  margin: 18px 0 0;
  width: min(100%, 168px);
}

.single-product form.variations_form:not(.has-valid-variation) .quantity,
.single-product form.variations_form:not(.has-valid-variation) [data-purchase-actions] {
  opacity: .45;
  pointer-events: none;
}

.single-product form.cart {
  display: grid;
  gap: 12px;
  justify-items: start;
  text-align: left;
}

.single-product form.cart .purchase-actions.action-group {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
  margin-top: 0;
}

.single-product form.cart .purchase-actions .ekrasnale-buy-now,
.single-product form.cart .purchase-actions .single_add_to_cart_button {
  width: 100%;
  min-height: var(--action-height, 44px);
  height: var(--action-height, 44px);
  padding: 0 14px;
  font-size: .78rem;
  border-radius: var(--action-radius, 999px);
}

.single-product .single_add_to_cart_button.add-to-cart-main,
.single-product .single_add_to_cart_button {
  background: var(--button-commerce-bg, var(--accent-commerce, var(--accent))) !important;
  color: var(--button-commerce-text, #fff) !important;
  border: 1px solid var(--button-commerce-bg, var(--accent-commerce, var(--accent))) !important;
  box-shadow: none !important;
  font-weight: 700;
}

.single-product .ekrasnale-buy-now,
.single-product .btn-buy-now {
  background: transparent !important;
  border: 1px solid var(--line-strong, rgba(31, 26, 24, .28)) !important;
  color: var(--ink) !important;
  box-shadow: none !important;
  font-weight: 600;
}

.single-product .ekrasnale-buy-now:hover,
.single-product .ekrasnale-buy-now:focus-visible {
  background: var(--surface-clay, #f1e0d4) !important;
  color: var(--ink) !important;
}

.single-product .quantity {
  margin: 10px 0 0;
  width: min(100%, 148px);
}

.product-specs {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.product-specs__heading {
  margin: 0 0 10px;
  font-size: .95rem;
  font-weight: 700;
  letter-spacing: -.01em;
  color: var(--ink);
}

.product-specs__list {
  margin: 0;
  display: grid;
  gap: 0;
}

.product-specs__row {
  display: grid;
  grid-template-columns: minmax(6.5rem, 34%) minmax(0, 1fr);
  gap: 8px 14px;
  padding: 8px 0;
  border-bottom: 1px solid color-mix(in srgb, var(--line) 80%, transparent);
  align-items: baseline;
}

.product-specs__row:last-child {
  border-bottom: 0;
}

.product-specs__label {
  margin: 0;
  color: var(--muted);
  font-size: .82rem;
  font-weight: 600;
}

.product-specs__value {
  margin: 0;
  color: var(--ink);
  font-size: .92rem;
  font-weight: 600;
  line-height: 1.35;
}

@media (max-width: 429px) {
  .product-specs__row {
    grid-template-columns: 1fr;
    gap: 2px;
  }
}

.single-product .summary-trust {
  margin-top: 14px;
}

.ekrasnale-postcard textarea,
.message-field textarea {
  width: 100%;
  min-height: 120px;
  padding: 13px;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  background: var(--surface);
  font-size: 16px;
}

/* Authoritative selected price sits after quantity; hide WC variation price clone. */
.single-product form.cart .woocommerce-variation-price,
.single-product .summary > .price,
.single-product .product-summary > p.price {
  display: none !important;
}

.purchase-price {
  display: grid;
  gap: 4px;
  width: 100%;
  margin: 4px 0 2px;
}

.purchase-price__label {
  color: var(--muted);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.purchase-price__value {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.2;
}

.purchase-price__prompt {
  color: var(--muted);
  font-size: 1rem;
  font-weight: 600;
}

.purchase-price__amount {
  display: block;
  min-height: 1.2em;
  font-variant-numeric: tabular-nums;
}

.purchase-price__unit {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: .82rem;
  font-weight: 600;
  line-height: 1.3;
}

.single-product form.cart .purchase-row {
  display: block;
  width: min(100%, 420px);
  margin-top: 4px;
}

.single-product form.cart .purchase-row .purchase-actions.action-group {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
  max-width: none;
  margin: 0;
}

.single-product form.cart .quantity,
.single-product form.cart .quantity-stepper {
  margin: 0;
}

/* Max-1 / sold-individually: hidden qty only — no reserved stepper row. */
.single-product form.cart > input.qty[type="hidden"],
.single-product form.cart > input.input-text.qty[type="hidden"] {
  display: none;
}

.woocommerce-cart .ekrasnale-qty-fixed {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  min-height: 44px;
  padding: 0 12px;
  font-weight: 700;
  color: var(--ink);
}

.summary-trust {
  list-style: none;
  margin: 22px 0 0;
  padding: 16px 0 0;
  border-top: 1px solid var(--line);
  display: grid;
  gap: 6px;
}

.summary-trust li {
  margin: 0;
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.4;
}

.summary-benefits,
.product-assurances {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}

.summary-benefits > div,
.product-assurances > div {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 10px;
  align-items: start;
  color: var(--muted);
  font-size: .88rem;
}

.single-product .summary,
.single-product .product-summary {
  position: relative;
  text-align: left;
  /* Title clears the circular control: inset + 44px target + small gap. */
  padding-right: calc(var(--space-4, 18px) + 44px + var(--space-2, 10px));
  overflow: visible;
}

.product-summary-wishlist {
  position: absolute;
  top: var(--space-4, 18px);
  right: var(--space-4, 18px);
  z-index: 2;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  background: var(--surface);
  color: var(--ink);
  cursor: pointer;
  /* Override shared .wishlist-button card-media insets (8px). */
  transform: none;
}

.product-summary-wishlist .icon,
.product-summary-wishlist svg {
  width: 1.05rem;
  height: 1.05rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.product-summary-wishlist.is-active,
.product-summary-wishlist[aria-pressed="true"] {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
  /* Keep identical geometry when favorited. */
  top: var(--space-4, 18px);
  right: var(--space-4, 18px);
  width: 44px;
  height: 44px;
}

.product-summary-wishlist.is-active .icon,
.product-summary-wishlist.is-active svg,
.product-summary-wishlist[aria-pressed="true"] .icon,
.product-summary-wishlist[aria-pressed="true"] svg {
  fill: currentColor;
}

.product-summary-wishlist:hover {
  border-color: color-mix(in srgb, var(--accent) 40%, var(--line-strong));
  color: var(--accent);
}

.product-summary-wishlist.is-active:hover,
.product-summary-wishlist[aria-pressed="true"]:hover {
  color: #fff;
  border-color: var(--accent);
}

.product-summary-wishlist:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

@media (max-width: 767px) {
  .single-product .summary,
  .single-product .product-summary {
    padding-right: calc(var(--space-3, 14px) + 44px + var(--space-2, 10px));
  }

  .product-summary-wishlist,
  .product-summary-wishlist.is-active,
  .product-summary-wishlist[aria-pressed="true"] {
    top: var(--space-3, 14px);
    right: var(--space-3, 14px);
  }
}

.single-wishlist {
  display: none !important;
}

.product-editorial {
  background: var(--surface-editorial, var(--surface-alt));
  padding-block: clamp(40px, 5vw, 64px);
  margin: 0;
  width: 100%;
}

@media (min-width: 980px) {
  .single-product .product-editorial {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    box-sizing: border-box;
  }
}

.product-editorial-stack {
  display: grid;
  gap: clamp(28px, 4vw, 48px);
  margin: 0 auto;
  padding: 0;
  width: min(calc(100% - (var(--gutter, 18px) * 2)), var(--wide-max, 1260px));
  text-align: left;
}

.product-editorial-grid,
.product-editorial-sections {
  display: grid;
  gap: clamp(28px, 4vw, 48px);
  margin: 0 auto;
  padding: 0;
  background: transparent;
  width: min(calc(100% - (var(--gutter, 18px) * 2)), var(--wide-max, 1260px));
}

.product-editorial-stack .editorial-card,
.product-full-description,
.product-delivery,
.product-editorial-section,
.product-editorial-sections article,
.editorial-card {
  padding: clamp(22px, 3vw, 36px);
  background: var(--surface-card, var(--surface));
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  min-height: 0;
  text-align: left;
}

.product-full-description > h2,
.product-delivery h2,
.product-editorial-section h2,
.editorial-card h2 {
  text-align: left;
  margin-left: 0;
  max-width: none;
  font-size: var(--font-h2, clamp(1.45rem, 2.8vw, 2rem));
  margin-top: 0;
  margin-bottom: 14px;
}

/* V2 long descriptions use in-body h2 sections; style them at homepage h3 scale. */
.single-product .product-full-description__body h2,
.single-product .product-full-description__body h3,
.single-product .product-seo-content h2,
.single-product .product-seo-content h3 {
  text-align: left;
  margin-left: 0;
  max-width: none;
  margin-top: 24px;
  margin-bottom: 0.45em;
  font-size: var(--font-h3, clamp(1.2rem, 2.2vw, 1.45rem));
  line-height: 1.16;
  font-weight: 700;
}

@media (max-width: 767px) {
  .single-product .product-full-description__body h2,
  .single-product .product-full-description__body h3,
  .single-product .product-seo-content h2,
  .single-product .product-seo-content h3 {
    margin-top: 18px;
  }
}

.product-full-description__body,
.product-seo-content,
.product-editorial-content,
.product-editorial-section p,
.editorial-card > p:not(.eyebrow) {
  max-width: 52rem;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--ink);
  text-align: left;
}

.product-delivery__cta {
  margin-top: 8px;
  width: auto;
  min-height: 42px;
}

.delivery-list {
  display: grid;
  gap: 10px;
  margin: 18px 0;
  padding: 0;
  list-style: none;
  text-align: left;
}

.delivery-list li {
  position: relative;
  padding-left: 1.5rem;
  line-height: 1.5;
}

.delivery-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .45em;
  width: .55rem;
  height: .55rem;
  border-radius: 50%;
  background: var(--accent);
}

.related.products,
.upsells.products {
  padding: clamp(40px, 5vw, 64px) 0;
  background: transparent;
  width: min(calc(100% - (var(--gutter, 18px) * 2)), var(--page-max, 1320px));
  margin-inline: auto;
}

.related.products > h2,
.upsells.products > h2 {
  margin-bottom: 24px;
  text-align: left;
  font-size: var(--font-h2, clamp(1.45rem, 2.8vw, 2rem));
}

.related.products ul.products,
.upsells.products ul.products {
  display: grid !important;
  gap: 18px;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

@media (max-width: 1099px) {
  .related.products ul.products,
  .upsells.products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 639px) {
  .related.products ul.products,
  .upsells.products ul.products {
    grid-template-columns: 1fr !important;
  }
}
.woocommerce-breadcrumb,
.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 0 auto;
  padding: 10px 0 6px;
  width: min(calc(100% - (var(--gutter) * 2)), 1260px);
  color: var(--muted);
  font-size: .82rem;
}

.woocommerce-breadcrumb a:hover {
  color: var(--accent);
}

/* Sticky purchase bar */
.product-sticky-bar {
  position: fixed;
  z-index: var(--z-sticky-cta, 60);
  left: 0;
  right: 0;
  bottom: var(--mobile-sticky-offset, 0px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 16px;
  background: rgba(255, 255, 255, .96);
  border-top: 1px solid var(--line);
  box-shadow: 0 -10px 30px rgba(45, 35, 40, .08);
  transform: translateY(110%);
  opacity: 0;
  pointer-events: none;
  transition: transform .16s ease, opacity .16s ease;
}

.product-sticky-bar.is-visible {
  transform: none;
  opacity: 1;
  pointer-events: auto;
}

.product-sticky-bar.is-suppressed,
html.is-mobile-keyboard-open .product-sticky-bar,
body.menu-open .product-sticky-bar,
body.modal-open .product-sticky-bar,
body.gallery-lightbox-open .product-sticky-bar {
  transform: translateY(110%);
  opacity: 0;
  pointer-events: none;
}

.product-sticky-bar strong {
  font-size: .95rem;
}

.product-sticky-bar .price {
  color: var(--muted);
  font-size: .82rem;
}

.product-sticky-bar button,
.product-sticky-bar .button {
  min-height: var(--action-height, 44px);
  height: var(--action-height, 44px);
  padding: 0 16px;
  border: 0;
  border-radius: var(--action-radius, 999px);
  background: var(--accent);
  color: #fff;
  font-weight: 800;
}

@media (min-width: 980px) {
  .product-sticky-bar,
  .mobile-bottom-nav {
    display: none !important;
  }
}

/* —— Cart / checkout / account —— */
.commerce-page {
  padding-block: clamp(28px, 4vw, 56px) clamp(48px, 6vw, 96px);
}

body.woocommerce-cart .commerce-page {
  padding-block: 36px clamp(40px, 5vw, 80px);
}

body.admin-bar.woocommerce-cart .commerce-page {
  padding-block-start: 32px;
}

body.woocommerce-checkout .commerce-page {
  padding-block: clamp(28px, 3vw, 40px) clamp(40px, 5vw, 80px);
}

body.woocommerce-checkout .commerce-page-header--cart,
body.woocommerce-checkout .commerce-page-header {
  display: none;
}

body.admin-bar.woocommerce-cart .commerce-page {
  padding-block-start: 32px;
}

.woocommerce-cart .entry-content > .woocommerce,
.woocommerce-cart main .entry-content > .woocommerce {
  display: block;
  width: min(100%, var(--container-commerce, 1260px));
  max-width: var(--container-commerce, 1260px);
  margin-inline: auto;
  min-width: 0;
  min-height: 0;
  padding-inline: 0;
  box-sizing: border-box;
}

/* Nested product shortcode/loop wrappers must NOT inherit the cart shell grid. */
.woocommerce-cart .empty-recommendations .woocommerce,
.woocommerce-cart .cross-sells .woocommerce,
.woocommerce-cart .cart-product-grid .woocommerce {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  grid-template-columns: none !important;
  gap: 0 !important;
}

@media (min-width: 1200px) {
  .woocommerce-cart:not(.woocommerce-cart-is-empty) .entry-content > .woocommerce,
  .woocommerce-cart:not(.woocommerce-cart-is-empty) main .entry-content > .woocommerce {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 380px);
    gap: 16px 32px;
    align-items: start;
    width: min(100%, var(--container-commerce, 1260px));
    max-width: var(--container-commerce, 1260px);
    margin-inline: auto;
    padding-inline: 0;
    box-sizing: border-box;
  }

  .woocommerce-cart:not(.woocommerce-cart-is-empty) .woocommerce-notices-wrapper,
  .woocommerce-cart:not(.woocommerce-cart-is-empty) .cross-sells {
    grid-column: 1 / -1;
  }

  .woocommerce-cart:not(.woocommerce-cart-is-empty) .woocommerce-cart-form {
    grid-column: 1;
  }

  .woocommerce-cart:not(.woocommerce-cart-is-empty) .cart-collaterals {
    grid-column: 2;
    margin-top: 0;
    position: sticky;
    top: 96px;
  }

  body.admin-bar.woocommerce-cart:not(.woocommerce-cart-is-empty) .cart-collaterals {
    top: calc(96px + var(--wp-admin--admin-bar--height, 32px));
  }
}

.woocommerce-cart .cart-empty,
.woocommerce-cart .empty-state {
  justify-self: center;
  width: 100%;
  max-width: 36rem;
  margin-inline: auto;
}

.woocommerce-cart .empty-recommendations,
.woocommerce-cart .recommendations-section {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  min-height: 0;
  padding-block: clamp(20px, 2.5vw, 32px);
  background: transparent;
}

.woocommerce-cart .cart-recs-heading {
  text-align: left;
  justify-items: start;
  margin: 0 0 18px;
  max-width: none;
  padding: 0;
}

.woocommerce-cart .cart-recs-heading h2 {
  margin: 0;
  max-width: none;
  font-size: clamp(1.35rem, 2.2vw, 1.75rem);
  line-height: 1.2;
  letter-spacing: -.02em;
}

.woocommerce-cart .cart-product-grid,
.woocommerce-cart .empty-recommendations .cart-product-grid,
.woocommerce-cart .cross-sells .cart-product-grid {
  width: 100%;
  max-width: none;
  background: transparent;
  border: 0;
  padding: 0;
  box-shadow: none;
}

.woocommerce-cart .empty-recommendations ul.products,
.woocommerce-cart .cross-sells ul.products,
.woocommerce-cart .cart-product-grid ul.products {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  grid-template-columns: 1fr !important;
}

@media (min-width: 640px) and (max-width: 979px) {
  .woocommerce-cart .empty-recommendations ul.products,
  .woocommerce-cart .cross-sells ul.products,
  .woocommerce-cart .cart-product-grid ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 980px) and (max-width: 1279px) {
  .woocommerce-cart .empty-recommendations ul.products,
  .woocommerce-cart .cross-sells ul.products,
  .woocommerce-cart .cart-product-grid ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 1280px) {
  .woocommerce-cart .empty-recommendations ul.products,
  .woocommerce-cart .cross-sells ul.products,
  .woocommerce-cart .cart-product-grid ul.products {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

.commerce-content,
.woocommerce-cart-form,
.cart-collaterals .cart_totals,
.woocommerce-checkout-review-order,
.woocommerce-MyAccount-navigation,
.woocommerce-MyAccount-content {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  padding: clamp(18px, 2.2vw, 26px);
  box-shadow: none;
}

.woocommerce-checkout #customer_details {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
}

/* Token on body only — form.woocommerce-checkout must not redeclare and clobber mobile */
body.woocommerce-checkout {
  --checkout-section-gap: var(--space-4, 18px);
}

.woocommerce-checkout .checkout-main {
  display: grid;
  gap: var(--checkout-section-gap, 18px);
}

/* Consecutive checkout cards share one vertical stack — never touch */
.woocommerce-checkout .checkout-customer__billing,
.woocommerce-checkout .checkout-customer__fulfillment {
  display: grid;
  gap: var(--checkout-section-gap, 18px);
  min-width: 0;
}

.woocommerce-checkout #customer_details.checkout-customer {
  min-width: 0;
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  padding: clamp(16px, 2vw, 22px);
  margin: 0;
  min-width: 0;
}

body.checkout-is-pickup .woocommerce-shipping-fields {
  display: none !important;
}

body.checkout-is-delivery .woocommerce-shipping-fields {
  display: block !important;
}

.woocommerce-checkout .checkout-summary {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  padding: clamp(16px, 2vw, 22px);
}

.woocommerce-checkout .checkout-summary #order_review_heading {
  margin: 0 0 10px;
  font-size: clamp(1.15rem, 2vw, 1.4rem);
}

.woocommerce-checkout .checkout-summary .woocommerce-checkout-review-order {
  background: transparent;
  border: 0;
  padding: 0;
  box-shadow: none;
}

body.woocommerce-checkout .entry-header,
body.woocommerce-checkout .commerce-page-header,
body.woocommerce-checkout .page-header {
  display: none;
}

.thankyou-page {
  width: min(100%, 44rem);
  max-width: 44rem;
  margin: 0 auto;
  display: grid;
  gap: 18px;
  padding-inline: var(--gutter, 18px);
}

body.woocommerce-order-received .commerce-page {
  padding-block: clamp(18px, 2.4vw, 28px) clamp(40px, 5vw, 80px);
}

body.woocommerce-order-received .woocommerce {
  display: block !important;
  width: min(100%, 44rem);
  max-width: 44rem;
  margin-inline: auto;
}

body.woocommerce-order-received .commerce-shell,
body.woocommerce-order-received .entry-content {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
}

body.woocommerce-order-received .thankyou-hero--gate {
  margin-bottom: 12px;
}

body.woocommerce-order-received .woocommerce-form-login,
body.woocommerce-order-received form.login,
body.woocommerce-order-received .woocommerce-form-verify-email,
body.woocommerce-order-received .woocommerce-VerifyEmail {
  width: 100%;
  max-width: 44rem;
  margin-inline: auto;
}

.woocommerce-cart.woocommerce-cart-is-empty .entry-content > .woocommerce,
.woocommerce-cart.woocommerce-cart-is-empty main .entry-content > .woocommerce,
.woocommerce-cart .entry-content > .woocommerce:has(.cart-empty),
.woocommerce-cart main .entry-content > .woocommerce:has(.cart-empty) {
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  gap: clamp(24px, 3vw, 36px);
  grid-template-columns: none !important;
}

.woocommerce-cart.woocommerce-cart-is-empty .cart-empty,
.woocommerce-cart .woocommerce:has(.cart-empty) > .cart-empty {
  margin-inline: auto;
  max-width: 34rem;
  text-align: center;
  justify-items: center;
}

.woocommerce-cart.woocommerce-cart-is-empty .empty-recommendations,
.woocommerce-cart .woocommerce:has(.cart-empty) > .empty-recommendations {
  width: 100%;
  max-width: none;
}

.woocommerce-cart .cross-sells {
  grid-column: 1 / -1;
  width: 100%;
  margin-top: 8px;
  padding: 0;
  background: transparent;
  border: 0;
}

.cart-collaterals,
.commerce-shell {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.container--commerce {
  width: min(calc(100% - (var(--page-gutter, 18px) * 2)), var(--container-commerce, 1260px));
  margin-inline: auto;
}

.woocommerce-cart-form,
.cart-collaterals .cart_totals,
.woocommerce-checkout-review-order,
.woocommerce-MyAccount-content {
  padding: clamp(18px, 2.2vw, 26px);
}

.woocommerce table.shop_table {
  width: 100%;
  border-collapse: collapse;
  border: 0;
}

.woocommerce-cart-form table.shop_table {
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--surface);
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  padding: 16px 14px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  text-align: left;
  vertical-align: middle;
  font-size: 1rem;
}

.woocommerce table.shop_table thead th {
  font-size: .78rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--muted);
  background: var(--paper);
}

.woocommerce table.shop_table img {
  width: 88px;
  height: 88px;
  object-fit: cover;
  border-radius: 12px;
}

/*
 * Desktop cart geometry.
 * Root cause of left whitespace / crushed product title:
 * table-layout:auto assigned leftover width to .product-remove (~260px)
 * while .product-name shrank to min-content (~100px) because text can wrap.
 * Shared CSS grid for thead + cart_item keeps columns deterministic.
 */
@media (min-width: 980px) {
  .woocommerce-cart-form table.shop_table.cart {
    --cart-remove-col: 48px;
    --cart-thumb-col: 96px;
    --cart-price-col: 110px;
    --cart-qty-col: 176px;
    --cart-subtotal-col: 110px;
    --cart-col-gap: 8px;
    display: block;
    width: 100%;
    max-width: 100%;
  }

  .woocommerce-cart-form table.shop_table.cart > thead,
  .woocommerce-cart-form table.shop_table.cart > tbody {
    display: block;
    width: 100%;
    max-width: 100%;
  }

  .woocommerce-cart-form table.shop_table.cart > thead > tr,
  .woocommerce-cart-form table.shop_table.cart > tbody > tr.cart_item {
    display: grid;
    grid-template-columns:
      var(--cart-remove-col)
      var(--cart-thumb-col)
      minmax(0, 1fr)
      var(--cart-price-col)
      var(--cart-qty-col)
      var(--cart-subtotal-col);
    column-gap: var(--cart-col-gap);
    justify-items: stretch;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .woocommerce-cart-form table.shop_table.cart > tbody > tr.cart_item {
    align-items: center;
    border-bottom: 1px solid var(--line);
  }

  /*
   * Header band: background lives on the ROW so column-gap does not
   * punch white holes through per-th paper fills
   * (.woocommerce table.shop_table thead th { background: var(--paper) }).
   */
  .woocommerce-cart-form table.shop_table.cart > thead > tr {
    align-items: stretch;
    min-height: 64px;
    background: var(--paper);
    border-bottom: 1px solid var(--line);
  }

  .woocommerce-cart-form table.shop_table.cart > thead > tr > th,
  .woocommerce-cart-form table.shop_table.cart > tbody > tr.cart_item > td {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 16px 0;
    box-sizing: border-box;
  }

  .woocommerce-cart-form table.shop_table.cart > tbody > tr.cart_item > td {
    border: 0;
    border-bottom: 0;
  }

  .woocommerce-cart-form table.shop_table.cart > thead > tr > th {
    margin: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    min-height: 64px;
    height: 100%;
    align-self: stretch;
  }

  .woocommerce-cart-form table.shop_table.cart > thead > tr > th.product-remove,
  .woocommerce-cart-form table.shop_table.cart > tbody > tr.cart_item > td.product-remove {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 12px;
    padding-right: 0;
  }

  .woocommerce-cart-form table.shop_table.cart > thead > tr > th.product-thumbnail,
  .woocommerce-cart-form table.shop_table.cart > tbody > tr.cart_item > td.product-thumbnail {
    padding-inline: 0;
  }

  .woocommerce-cart-form table.shop_table.cart > tbody > tr.cart_item > td.product-thumbnail img {
    width: 88px;
    height: 88px;
    max-width: 88px;
  }

  .woocommerce-cart-form table.shop_table.cart > thead > tr > th.product-name,
  .woocommerce-cart-form table.shop_table.cart > tbody > tr.cart_item > td.product-name {
    padding-inline: 4px 6px;
  }

  .woocommerce-cart-form table.shop_table.cart > thead > tr > th.product-price,
  .woocommerce-cart-form table.shop_table.cart > tbody > tr.cart_item > td.product-price {
    justify-content: flex-end;
    text-align: right;
    margin: 0;
    padding: 16px 8px 16px 4px;
  }

  .woocommerce-cart-form table.shop_table.cart > thead > tr > th.product-quantity,
  .woocommerce-cart-form table.shop_table.cart > tbody > tr.cart_item > td.product-quantity {
    justify-content: center;
    flex-direction: column;
    text-align: center;
    padding: 16px 4px;
  }

  .woocommerce-cart-form table.shop_table.cart > thead > tr > th.product-subtotal,
  .woocommerce-cart-form table.shop_table.cart > tbody > tr.cart_item > td.product-subtotal {
    justify-content: flex-end;
    text-align: right;
    padding: 16px 20px 16px 4px;
  }

  .woocommerce-cart-form table.shop_table.cart .quantity-stepper,
  .woocommerce-cart-form table.shop_table.cart .quantity {
    width: 144px;
    max-width: 144px;
    margin-inline: auto;
    grid-template-columns: 44px minmax(40px, 1fr) 44px;
    min-height: 44px;
  }

  .woocommerce-cart-form table.shop_table.cart > tbody > tr.cart-actions-row,
  .woocommerce-cart-form table.shop_table.cart > tbody > tr:has(> td.actions) {
    display: block;
    width: 100%;
  }

  .woocommerce-cart-form table.shop_table.cart > tbody > tr.cart-actions-row > td.actions,
  .woocommerce-cart-form table.shop_table.cart > tbody > tr:has(> td.actions) > td.actions {
    display: block;
    width: 100%;
    padding: 16px 12px 18px;
    box-sizing: border-box;
    border: 0;
    border-top: 0;
    border-bottom: 0;
  }
}

/* Narrow desktop table (full-width form before sidebar kicks in). */
@media (min-width: 980px) and (max-width: 1199px) {
  .woocommerce-cart-form table.shop_table.cart {
    --cart-remove-col: 48px;
    --cart-thumb-col: 92px;
    --cart-price-col: 108px;
    --cart-qty-col: 152px;
    --cart-subtotal-col: 108px;
    --cart-col-gap: 10px;
  }
}

.woocommerce-cart td.product-name a {
  font-weight: 700;
  color: var(--ink);
  text-decoration: none;
  overflow-wrap: break-word;
  word-break: normal;
}

.woocommerce-cart td.product-name .variation {
  display: grid;
  gap: 2px;
  margin-top: 6px;
  color: var(--muted);
  font-size: .88rem;
}

.woocommerce-cart td.product-name .variation dt,
.woocommerce-cart td.product-name .variation dd {
  display: inline;
  margin: 0;
  float: none;
}

.woocommerce-cart a.remove {
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--paper);
  color: var(--ink);
  font-size: 1.1rem;
  line-height: 1;
  text-decoration: none;
}

.woocommerce-cart a.remove:hover,
.woocommerce-cart a.remove:focus-visible {
  border-color: var(--accent);
  color: var(--accent);
}

.woocommerce-cart .coupon {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.woocommerce-cart .cart-utilities {
  display: grid;
  gap: 12px;
  align-items: start;
  justify-items: start;
  background: transparent;
}

.woocommerce-cart .cart-coupon-disclosure {
  width: 100%;
  max-width: 28rem;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--paper);
  align-self: start;
  grid-column: 1 / -1;
  contain: layout;
}

.woocommerce-cart .cart-coupon-disclosure summary {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  list-style: none;
  font-size: .95rem;
  font-weight: 600;
  color: var(--muted);
  text-decoration: none;
  white-space: nowrap;
}

.woocommerce-cart .cart-coupon-disclosure summary::-webkit-details-marker {
  display: none;
}

.woocommerce-cart .cart-coupon-disclosure summary span {
  margin-left: 0;
  color: var(--accent);
  font-weight: 800;
  text-decoration: none;
  flex: 0 0 auto;
}

.woocommerce-cart .cart-coupon-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  margin-top: 12px;
  width: 100%;
}

.woocommerce-cart .cart-coupon-fields .input-text {
  min-width: 0;
  width: 100%;
}

.woocommerce-cart .cart-coupon-fields .button {
  white-space: nowrap;
}

.woocommerce-cart .cart-update-fallback {
  min-height: 40px !important;
  padding: 0 14px !important;
  background: transparent !important;
  border: 1px solid var(--line) !important;
  color: var(--muted) !important;
  font-size: .9rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

html.js .woocommerce-cart .cart-update-fallback {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0 !important;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0 !important;
}

html.cart-is-updating .woocommerce-cart-form {
  opacity: .92;
  pointer-events: none;
}

.woocommerce-cart .coupon .input-text {
  flex: 1 1 180px;
  min-width: 0;
}

.woocommerce-cart .coupon .coupon-error-notice,
.woocommerce-cart .coupon-error-notice {
  flex: 1 1 100%;
  margin: 4px 0 0;
  padding: 12px 14px;
  border: 1px solid color-mix(in srgb, var(--accent) 35%, var(--line));
  border-radius: var(--control-radius);
  background: var(--surface-rust-soft);
  color: var(--ink);
  font-size: .95rem;
  line-height: 1.45;
}

.woocommerce-cart .woocommerce-shipping-methods,
.woocommerce-cart ul#shipping_method {
  list-style: none;
  list-style-type: none;
  margin: 0;
  padding: 0;
  padding-inline-start: 0;
  display: grid;
  gap: 8px;
}

.woocommerce-cart .woocommerce-shipping-methods li,
.woocommerce-cart ul#shipping_method li,
.woocommerce-cart .shipping-choice {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.woocommerce-cart .woocommerce-shipping-methods li::marker,
.woocommerce-cart ul#shipping_method li::marker {
  content: '';
  font-size: 0;
}

.woocommerce-cart .woocommerce-shipping-methods label,
.woocommerce-cart ul#shipping_method label {
  display: inline;
  cursor: pointer;
  line-height: 1.35;
}

.woocommerce-cart .woocommerce-shipping-methods .shipping_method,
.woocommerce-cart ul#shipping_method .shipping_method {
  margin: .2em 0 0;
  flex: 0 0 auto;
}

.woocommerce-cart .woocommerce-shipping-destination,
.woocommerce-cart .shipping-calculator-button,
.woocommerce-cart .woocommerce-shipping-calculator {
  display: none !important;
}

.woocommerce-cart .cart-collaterals {
  margin-top: 22px;
}

.woocommerce-cart .cart_totals {
  padding: 0;
  background: transparent;
  border: 0;
}

.woocommerce-cart .cart_totals h2,
.woocommerce-checkout #order_review_heading {
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  margin-bottom: 16px;
}

.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
  font-size: 1.15rem;
  font-weight: 800;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  width: 100%;
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Unified Płatność block: express (Stripe ECE) + standard gateways.
   Express mount lives outside #payment so updated_checkout AJAX survives. */
.woocommerce-checkout .checkout-payment-section {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  display: grid;
  gap: 10px;
  min-width: 0;
}

.woocommerce-checkout .checkout-payment-section__title {
  margin: 0;
  padding: 0;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--ink);
}

.woocommerce-checkout .checkout-payment-section #wc-stripe-express-checkout-element {
  margin: 0 !important;
  clear: none !important;
  min-width: 0;
  max-width: 100%;
}

/* When Stripe reveals the mount (inline display ≠ none), lay out wallet buttons. */
.woocommerce-checkout .checkout-payment-section #wc-stripe-express-checkout-element:not([style*="display: none"]):not([style*="display:none"]) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(112px, 1fr));
  gap: 8px;
  align-items: stretch;
}

.woocommerce-checkout .checkout-payment-section #wc-stripe-express-checkout-element .StripeElement {
  min-width: 0;
  min-height: 44px;
  max-height: 48px;
}

.woocommerce-checkout .checkout-payment-section #wc-stripe-express-checkout-button-separator {
  margin: 4px 0 2px !important;
  padding: 0;
  border: 0;
  text-align: center;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-transform: lowercase;
  color: var(--muted);
  line-height: 1.2;
}

.woocommerce-checkout .checkout-payment-section wc-order-attribution-inputs {
  display: none !important;
}

/* Left column must never retain express chrome after relocate. */
.woocommerce-checkout .checkout-main > #wc-stripe-express-checkout-element,
.woocommerce-checkout .checkout-main > #wc-stripe-express-checkout-button-separator {
  display: none !important;
}

#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 4px 0 0;
}

.woocommerce-checkout .checkout-payment-section #payment {
  padding-top: 0;
}

.woocommerce-checkout #payment ul.payment_methods {
  list-style: none;
  margin: 0 0 24px;
  padding: 0;
  display: grid;
  gap: 8px;
  border: 0;
}

/*
 * WooCommerce classic checkout injects:
 *   #payment .payment_methods li .payment_box { margin: 1.387em -1.387em -1.387em; }
 * Autopay nests channels inside an inner .payment_box.payment_method_bacs, so the
 * negative bottom margin pulls .place-order / privacy text under the last gateway
 * row (measured ~-4px gap / ~20px overflow). Zero ALL payment_box margins inside
 * #payment so list height is intrinsic again. !important beats Woo inline sheet.
 */
.woocommerce-checkout #payment .payment_methods li .payment_box,
#payment .payment_methods li .payment_box,
.woocommerce-checkout #payment ul.wc_payment_methods li .payment_box {
  margin: 0 !important;
}

/*
 * Woo also injects `#payment .payment_methods li p { display: none }` which hides
 * Autopay gateway titles (.bm-payment-channel-method-name is a <p>). Restore titles
 * so PayPo / Apple Pay / Google Pay stay identifiable beside logos.
 */
.woocommerce-checkout #payment .payment_methods li p.bm-payment-channel-method-name,
.woocommerce-checkout #payment .payment_methods li p.bm-payment-channel-group-method-name,
#payment .payment_methods li p.bm-payment-channel-method-name,
#payment .payment_methods li p.bm-payment-channel-group-method-name {
  display: block !important;
}

/* Compact payment rows: shared radio + title grid for top-level gateways.
   Autopay injects `#payment .payment_methods li { padding: 0 !important }` —
   beat it with !important so logo-less and logo gateways share one inset. */
.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method,
.woocommerce-checkout #payment ul.wc_payment_methods > li.wc_payment_method,
#payment ul.payment_methods > li.wc_payment_method,
#payment ul.wc_payment_methods > li.wc_payment_method {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  column-gap: 12px;
  row-gap: 8px;
  align-items: center;
  list-style: none;
  margin: 0;
  min-height: 56px;
  padding: 14px 16px !important;
  padding-inline: 16px !important;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--paper);
  color: var(--ink);
  transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}

.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > input.input-radio {
  grid-column: 1;
  grid-row: 1;
  justify-self: center;
  margin: 0;
  width: 20px;
  height: 20px;
  min-width: 20px;
  accent-color: var(--accent);
  cursor: pointer;
}

.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > label {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  margin: 0;
  padding: 0;
  color: var(--ink);
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.4;
  cursor: pointer;
}

.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > label img {
  display: block;
  width: auto !important;
  height: auto !important;
  max-width: min(120px, 100%) !important;
  max-height: 36px !important;
  margin: 0 !important;
  object-fit: contain;
  object-position: left center;
}

/* Override Autopay plugin forced 100×80 logo box (presentation only). */
.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method.payment_method_bluemedia > label img,
.woocommerce-checkout #payment ul.wc_payment_methods > li.wc_payment_method.payment_method_bluemedia img {
  width: auto !important;
  height: auto !important;
  max-width: min(120px, 100%) !important;
  max-height: 36px !important;
  margin: 0 !important;
}

@media (hover: hover) and (pointer: fine) {
  .woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method:hover {
    border-color: color-mix(in srgb, var(--ink) 28%, var(--line));
    background: color-mix(in srgb, var(--paper) 92%, var(--surface-alt));
  }
}

.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method:has(> input.input-radio:checked) {
  border-color: color-mix(in srgb, var(--accent) 55%, var(--line));
  background: color-mix(in srgb, var(--accent) 5%, var(--paper));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 28%, transparent);
}

/*
 * Autopay embeds all channels inside one gateway <li>. The outer Woo
 * radio/label is a redundant shell (channels are the real choosable methods),
 * so strip that chrome and present channels under "Płatność". Keep the input
 * in the DOM for form submit (`payment_method=bluemedia`).
 */
.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method.payment_method_bluemedia:has(.bm-payment-channels-wrapper),
.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method.payment_method_bluemedia:has(.bm-payment-channels-wrapper):has(> input.input-radio:checked) {
  display: block;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0 !important;
  padding-inline: 0 !important;
  min-height: 0;
  gap: 0;
}

.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method.payment_method_bluemedia:has(.bm-payment-channels-wrapper) > input.input-radio,
.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method.payment_method_bluemedia:has(.bm-payment-channels-wrapper) > label,
#payment ul.wc_payment_methods > li.wc_payment_method.payment_method_bluemedia:has(.bm-payment-channels-wrapper) > label {
  /* Visually hide redundant mode radio; retain for Woo POST + Autopay JS. */
  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;
  white-space: nowrap !important;
  border: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method.payment_method_bluemedia:has(.bm-payment-channels-wrapper) > .payment_box {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > input.input-radio:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > .payment_box {
  grid-column: 1 / -1;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--muted);
  font-size: .92rem;
  line-height: 1.45;
}

.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > .payment_box:not(:empty):not(.is-empty) {
  margin-top: 4px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: color-mix(in srgb, var(--paper) 94%, var(--surface-alt, #f5f2eb));
}

.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method.payment_method_bluemedia:has(.bm-payment-channels-wrapper) > .payment_box:not(:empty):not(.is-empty) {
  margin-top: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

/*
 * Empty / whitespace-only payment boxes must not create a bordered panel.
 * Woo `:empty` fails when the box contains only whitespace or an empty <p>.
 * JS adds `.is-empty` after checkout AJAX; CSS covers static empty cases.
 */
.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > .payment_box:empty,
.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > .payment_box.is-empty,
.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > .payment_box:has(> p:only-child:empty) {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  min-height: 0 !important;
  height: 0 !important;
  overflow: hidden;
}

/* Hide Autopay's redundant prose summary above the channel list. */
.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method.payment_method_bluemedia:has(.bm-payment-channels-wrapper) > .payment_box > .payment_box.payment_method_bacs:not(:has(.bm-payment-channels-wrapper)) {
  display: none !important;
}

/*
 * Autopay nests all online channels inside `.payment_box`. Woo/Autopay set
 * that box to display:none when another gateway (e.g. COD) is selected.
 * The outer bluemedia radio/label is intentionally visually hidden, so hiding
 * the payment_box would remove every online method from the UI.
 *
 * Selection must only change checked state — keep the channel list visible
 * whenever the Autopay gateway is available in the DOM.
 */
.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method.payment_method_bluemedia:has(.bm-payment-channels-wrapper) > .payment_box.payment_method_bluemedia,
.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method.payment_method_bluemedia:has(.bm-payment-channels-wrapper) > .payment_box .payment_box.payment_method_bacs:has(.bm-payment-channels-wrapper) {
  display: block !important;
}

/* Logo-less COD inherits the same 20px + title grid / padding-inline as other top-level rows. */
.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method.payment_method_cod {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  column-gap: 12px;
  align-items: center;
  padding: 14px 16px !important;
  padding-inline: 16px !important;
}

.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method.payment_method_cod > label {
  min-width: 0;
}

.woocommerce-checkout #payment div.payment_box::before {
  display: none;
}

.woocommerce-checkout #payment div.payment_box p {
  margin: 0;
}

@media (max-width: 480px) {
  .woocommerce-checkout #payment ul.payment_methods {
    gap: 10px;
  }

  .woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method {
    min-height: 64px;
    padding: 14px 16px !important;
    column-gap: 12px;
  }

  .woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > label {
    font-size: 1rem;
  }

  .woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > label img,
  .woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method.payment_method_bluemedia > label img,
  .woocommerce-checkout #payment ul.wc_payment_methods > li.wc_payment_method.payment_method_bluemedia img {
    max-height: 36px !important;
    max-width: min(120px, 100%) !important;
  }
}

/*
 * Autopay child channels — compact payment rows.
 *
 * Plugin reuses class "woocommerce-shipping-methods" for gateway channels, so theme
 * shipping-card styles + Autopay frontend.css (min-height:100px, list-style:square)
 * produce oversized cards and stray square markers. Override only inside Autopay.
 */
.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper {
  margin: 0;
  padding: 0;
}

.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper ul.woocommerce-shipping-methods {
  display: flex !important;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none !important;
  grid-template-areas: none !important;
  grid-template-rows: none !important;
}

.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper ul.woocommerce-shipping-methods > div,
.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper ul.woocommerce-shipping-methods > div > li,
.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper ul.woocommerce-shipping-methods > div > li > ul {
  display: contents;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-item,
.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-group-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch;
  list-style: none !important;
  list-style-type: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--line, #d7d3cb) !important;
  border-color: var(--line, #d7d3cb) !important;
  border-radius: 10px;
  background: var(--paper, #fff) !important;
  box-shadow: none !important;
  min-height: 0 !important;
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
  transition: border-color .14s ease, background-color .14s ease;
}

/* Beat Autopay frontend.css `border: 1px solid transparent !important` (presentation only). */
#payment ul.wc_payment_methods > li.wc_payment_method.payment_method_bluemedia > .payment_box.payment_method_bluemedia .payment_box.payment_method_bacs > .bm-payment-channels-wrapper ul.woocommerce-shipping-methods > div > li > ul li.bm-payment-channel-item,
#payment ul.wc_payment_methods > li.wc_payment_method.payment_method_bluemedia > .payment_box.payment_method_bluemedia .payment_box.payment_method_bacs > .bm-payment-channels-wrapper ul.woocommerce-shipping-methods > div > li > ul li.bm-payment-channel-group-item,
.woocommerce-checkout #payment ul.wc_payment_methods > li.wc_payment_method.payment_method_bluemedia > .payment_box.payment_method_bluemedia .payment_box.payment_method_bacs > .bm-payment-channels-wrapper ul.woocommerce-shipping-methods > div > li > ul li.bm-payment-channel-item,
.woocommerce-checkout #payment ul.wc_payment_methods > li.wc_payment_method.payment_method_bluemedia > .payment_box.payment_method_bluemedia .payment_box.payment_method_bacs > .bm-payment-channels-wrapper ul.woocommerce-shipping-methods > div > li > ul li.bm-payment-channel-group-item {
  border: 1px solid var(--line, #d7d3cb) !important;
  border-color: var(--line, #d7d3cb) !important;
  background: var(--paper, #fff) !important;
}

.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-item::marker,
.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-group-item::marker,
.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-item::before,
.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-group-item::before {
  content: none !important;
  display: none !important;
}

.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-item > label,
.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-group-item > label,
.woocommerce-checkout #payment ul.wc_payment_methods > li.wc_payment_method.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-item > label,
.woocommerce-checkout #payment ul.wc_payment_methods > li.wc_payment_method.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-group-item > label,
#payment ul.wc_payment_methods > li.wc_payment_method.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-item > label,
#payment ul.wc_payment_methods > li.wc_payment_method.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-group-item > label {
  display: grid !important;
  grid-template-columns: 22px minmax(96px, 120px) minmax(0, 1fr);
  align-items: center;
  column-gap: 12px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  min-height: 64px !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  font-size: .95rem !important;
  font-weight: 600;
  line-height: 1.3;
  color: var(--ink);
  text-indent: 0 !important;
  cursor: pointer;
  justify-content: initial !important;
}

.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-item > label > input[type="radio"],
.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-group-item > label > input[type="radio"] {
  width: 18px;
  height: 18px;
  min-width: 18px;
  max-width: 18px;
  margin: 0 !important;
  accent-color: var(--accent);
  cursor: pointer;
  flex: none;
}

.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-item > label > input[type="radio"]:focus-visible,
.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-group-item > label > input[type="radio"]:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}

.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-payment-channel-method-logo,
.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-payment-channel-group-method-logo,
.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-item img,
.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-group-item img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 120px !important;
  max-height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  object-fit: contain;
  object-position: left center;
  justify-self: start;
  align-self: center;
}

.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-payment-channel-method-name,
.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-payment-channel-group-method-name {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: inherit;
  font-weight: inherit;
  line-height: 1.3;
  color: inherit;
  word-break: normal;
  overflow-wrap: anywhere;
}

.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-payment-channel-method-desc {
  display: none !important;
  width: 100%;
  margin: 0;
  padding: 2px 14px 10px;
  font-size: .8125rem; /* ~13px */
  line-height: 1.5;
  color: var(--muted);
}

/* Expand channel details only when the channel radio is actually checked.
   Autopay may leave a stale `.selected` class — that must not open BLIK/card forms. */
.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-item:has(> label > input[type="radio"]:checked) > .bm-payment-channel-method-desc {
  display: block !important;
}

/* Sanitized Autopay API description (theme workaround for esc_html on HTML). */
.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-payment-channel-method-desc .bm-desc-content {
  margin: 0;
  padding: 0;
  max-width: 42rem;
}

.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-payment-channel-method-desc .bm-desc-content > :first-child {
  margin-top: 0;
}

.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-payment-channel-method-desc .bm-desc-content > :last-child {
  margin-bottom: 0;
}

.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-payment-channel-method-desc .bm-desc-content p,
.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-payment-channel-method-desc .bm-desc-content ul,
.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-payment-channel-method-desc .bm-desc-content ol {
  margin: 0 0 6px;
  padding: 0;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}

.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-payment-channel-method-desc .bm-desc-content ul,
.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-payment-channel-method-desc .bm-desc-content ol {
  padding-left: 1.1em;
}

.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-payment-channel-method-desc .bm-desc-content li {
  margin: 0 0 4px;
}

.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-payment-channel-method-desc .bm-desc-title,
.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-payment-channel-method-desc .bm-desc-subtitle {
  display: block;
  margin: 0 0 4px;
  padding: 0;
  font-size: inherit;
  font-weight: 600;
  line-height: 1.45;
  color: var(--ink, inherit);
}

.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-payment-channel-method-desc .bm-desc-subtitle {
  font-weight: 600;
  color: var(--muted);
}

.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-item:has(> label > input[type="radio"]:checked) {
  flex-wrap: wrap;
}

/* Selected child: restrained; do not nest another saturated panel.
   Visual selection follows the checked radio only — not Autopay's `.selected` class alone. */
.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-item:has(> label > input[type="radio"]:checked),
.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-group-item:has(> label > input[type="radio"]:checked),
.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-group-item.bm-selected-group:has(> label > input[type="radio"]:checked) {
  border-color: color-mix(in srgb, var(--accent) 50%, var(--line)) !important;
  background: color-mix(in srgb, var(--accent) 4%, var(--paper)) !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 22%, transparent) !important;
}

@media (hover: hover) and (pointer: fine) {
  .woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-item:hover,
  .woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-group-item:hover {
    border-color: color-mix(in srgb, var(--ink) 24%, var(--line)) !important;
    background: color-mix(in srgb, var(--paper) 90%, var(--surface-alt, var(--surface))) !important;
  }
}

/* Expandable bank list under "Przelew internetowy" — denser logos, softer tiles.
   White “plates” on bank marks come from Autopay CDN rasters (Case C), not CSS.
   Soft tile bg reduces white-in-white; no blend/filter hacks. */
.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-group-expandable-wrapper {
  gap: 6px !important;
  margin-top: 8px;
  width: 100%;
}

.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-group-expandable-wrapper.active {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-group-expandable-wrapper > li {
  border: 1px solid color-mix(in srgb, var(--line) 88%, var(--ink)) !important;
  border-radius: 8px;
  background: color-mix(in srgb, var(--paper) 55%, transparent) !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  min-width: 0;
  width: auto !important;
  flex: none !important;
}

.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-group-expandable-wrapper > li > label {
  display: grid !important;
  /* Radio + logo only — plugin hides bank name <p>; empty 3rd col wasted space. */
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: center;
  column-gap: 10px;
  min-height: 56px !important;
  height: auto !important;
  padding: 8px 12px !important;
  margin: 0 !important;
  cursor: pointer;
}

.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-group-expandable-wrapper > li > label > input[type="radio"] {
  display: block !important;
  position: static !important;
  opacity: 1 !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  max-width: 16px !important;
  margin: 0 !important;
  pointer-events: auto !important;
  z-index: auto !important;
}

.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-group-expandable-wrapper > li > label .bm-payment-channel-method-logo,
.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-group-expandable-wrapper > li > label img {
  max-width: 96px !important;
  max-height: 32px !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  justify-self: start;
  object-position: left center;
}

.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-group-expandable-wrapper > li > label > p,
.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-group-expandable-wrapper > li > label .bm-payment-channel-method-name {
  display: none !important;
}

.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-group-expandable-wrapper > li.selected,
.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-group-expandable-wrapper > li:has(> label > input[type="radio"]:checked) {
  border-color: color-mix(in srgb, var(--accent) 48%, var(--line)) !important;
  background: color-mix(in srgb, var(--accent) 5%, var(--paper)) !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 18%, transparent) !important;
}

@media (hover: hover) and (pointer: fine) {
  .woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-group-expandable-wrapper > li:hover {
    border-color: color-mix(in srgb, var(--ink) 22%, var(--line)) !important;
    background: color-mix(in srgb, var(--paper) 78%, var(--surface-alt, var(--surface))) !important;
  }
}

@media (max-width: 360px) {
  .woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-group-expandable-wrapper.active {
    grid-template-columns: 1fr;
  }
}

.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-blik-code-wrapper {
  margin: 8px 0 0;
  padding: 0 2px;
}

.woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-blik-code-wrapper input {
  max-width: 220px;
}

@media (max-width: 480px) {
  .woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-item > label,
  .woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-group-item > label,
  .woocommerce-checkout #payment ul.wc_payment_methods > li.wc_payment_method.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-item > label,
  .woocommerce-checkout #payment ul.wc_payment_methods > li.wc_payment_method.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-group-item > label,
  #payment ul.wc_payment_methods > li.wc_payment_method.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-item > label,
  #payment ul.wc_payment_methods > li.wc_payment_method.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-group-item > label {
    grid-template-columns: 20px minmax(88px, 112px) minmax(0, 1fr);
    column-gap: 10px;
    min-height: 64px !important;
    padding: 12px 14px !important;
    font-size: .95rem !important;
  }

  .woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-payment-channel-method-logo,
  .woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-payment-channel-group-method-logo,
  .woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-item img,
  .woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-group-item img,
  .woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-group-expandable-wrapper > li > label .bm-payment-channel-method-logo,
  .woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-group-expandable-wrapper > li > label img {
    max-width: 112px !important;
    max-height: 36px !important;
  }

  .woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper .bm-group-expandable-wrapper > li > label {
    min-height: 60px !important;
    padding: 10px 12px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-item,
  .woocommerce-checkout #payment li.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-group-item {
    transition: none;
  }
}

.woocommerce-checkout .checkout-privacy-note,
.woocommerce-checkout .woocommerce-privacy-policy-text {
  margin: 4px 0 12px;
  color: var(--muted);
  font-size: .9rem;
  line-height: 1.5;
}

.woocommerce-checkout .woocommerce-privacy-policy-text p {
  margin: 0;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .form-row {
  margin: 0 0 14px;
  padding: 0;
  border: 0;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 12px;
  align-items: start;
  margin: 0;
  font-weight: 500;
  line-height: 1.45;
  cursor: pointer;
  min-width: 0;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox input {
  margin: .2em 0 0;
  width: 20px;
  height: 20px;
  min-width: 20px;
  accent-color: var(--accent);
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox span,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions-checkbox-text {
  display: block;
  min-width: 0;
  grid-template-columns: none;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox span a,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions-checkbox-text a {
  display: inline;
}

.woocommerce-checkout .woocommerce-privacy-policy-text,
.woocommerce-checkout .woocommerce-privacy-policy-text p {
  display: block;
  min-width: 0;
  overflow-wrap: break-word;
  word-break: normal;
}

.woocommerce-checkout .woocommerce-privacy-policy-text a {
  display: inline;
  white-space: normal;
}

/* Same-recipient phone: reuse CheckboxRow; never nest a 22px text grid */
.woocommerce-checkout #ekrasnale_same_recipient_phone_field .woocommerce-form__label-for-checkbox {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 12px;
  align-items: start;
  width: 100%;
  min-width: 0;
}

.woocommerce-checkout #ekrasnale_same_recipient_phone_field .woocommerce-form__label-for-checkbox > span {
  display: block;
  min-width: 0;
  grid-template-columns: none;
  overflow-wrap: break-word;
  word-break: normal;
}

.woocommerce-checkout #place_order {
  width: 100%;
  min-height: 48px;
}

.woocommerce-checkout .woocommerce-shipping-methods {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}

.woocommerce-checkout .woocommerce-shipping-methods li {
  margin: 0;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
}

/* Autopay reuses .woocommerce-shipping-methods for gateway channels — exclude from shipping cards. */
.woocommerce-checkout #payment .bm-payment-channels-wrapper .woocommerce-shipping-methods > div > li,
.woocommerce-checkout #payment .bm-payment-channels-wrapper .woocommerce-shipping-methods li.bm-payment-channel-item,
.woocommerce-checkout #payment .bm-payment-channels-wrapper .woocommerce-shipping-methods li.bm-payment-channel-group-item {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.woocommerce-checkout .woocommerce-shipping-methods label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  font-weight: 700;
  cursor: pointer;
}

.woocommerce-checkout .woocommerce-invalid .select2-selection,
.woocommerce-checkout .woocommerce-invalid input.input-text,
.woocommerce-checkout .woocommerce-invalid textarea {
  border-color: var(--accent) !important;
}

.woocommerce-checkout .form-row.woocommerce-invalid-required-field label {
  color: var(--accent);
}

.woocommerce-checkout #place_order {
  width: 100%;
  min-height: var(--action-height, 44px);
}

.woocommerce-checkout #place_order.is-loading {
  opacity: .75;
  pointer-events: none;
}

.checkout-page-header {
  margin: 0 0 12px;
}

.checkout-page-title {
  margin: 0;
  font-size: clamp(2rem, 3.2vw, 2.75rem);
  line-height: 1.1;
}

.checkout-fulfillment {
  margin: 0 0 18px;
  padding: 0;
  border: 0;
  background: transparent;
}

.checkout-fulfillment__title {
  margin: 0 0 12px;
  max-width: none;
  font-size: clamp(1.2rem, 2vw, 1.45rem);
}

.checkout-fulfillment-choices .woocommerce-shipping-methods {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.choice-card-group--fulfillment {
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr;
}

@media (min-width: 720px) {
  .checkout-fulfillment-choices .woocommerce-shipping-methods,
  .choice-card-group--fulfillment {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.choice-card--fulfillment {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: start;
  margin: 0;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
  cursor: pointer;
  color: var(--ink);
}

.choice-card--fulfillment input {
  margin: 3px 0 0;
  accent-color: var(--accent);
  width: 1.05rem;
  height: 1.05rem;
}

.choice-card--fulfillment.is-selected,
.choice-card--fulfillment:has(input:checked) {
  border-color: color-mix(in srgb, var(--accent) 55%, var(--line));
  background: color-mix(in srgb, var(--accent) 6%, var(--surface));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent);
}

.checkout-delivery-rates {
  margin: 0 0 18px;
}

.checkout-delivery-rates__title {
  margin: 0 0 12px;
  font-size: 1.05rem;
  font-weight: 800;
}

.checkout-delivery-rates .woocommerce-shipping-methods {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.checkout-delivery-rates .woocommerce-shipping-methods li {
  margin: 0;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
}

.checkout-delivery-rates .woocommerce-shipping-methods li:has(input:checked) {
  border-color: color-mix(in srgb, var(--accent) 55%, var(--line));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent);
}

.checkout-delivery-rates__hint {
  margin: 0;
  padding: 14px 16px;
  border: 1px dashed var(--line);
  border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--surface-muted, var(--surface)) 88%, transparent);
  color: var(--text-muted, var(--text));
  font-size: 0.95rem;
  line-height: 1.45;
}

.checkout-delivery-rates__hint--error {
  border-style: solid;
  border-color: color-mix(in srgb, var(--danger, #b42318) 35%, var(--line));
  background: color-mix(in srgb, var(--danger, #b42318) 6%, var(--surface));
  color: var(--text);
}

/* Postcode zone notice — full-width under address row, never in Przesyłka value cell. */
.checkout-postcode-notice {
  clear: both;
  width: 100%;
  max-width: 100%;
  margin: 4px 0 12px;
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--accent, #e80752) 28%, var(--line, #ddd));
  border-radius: var(--radius-sm, 8px);
  background: color-mix(in srgb, var(--accent, #e80752) 5%, var(--paper, #fbf8f3));
  color: var(--ink, #1c1a1c);
  box-sizing: border-box;
}

.checkout-postcode-notice[hidden] {
  display: none !important;
}

.checkout-postcode-notice__primary,
.checkout-postcode-notice__secondary {
  margin: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: manual;
}

.checkout-postcode-notice__primary {
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--ink, #1c1a1c);
}

.checkout-postcode-notice__secondary {
  margin-top: 4px;
  font-size: 0.88rem;
  line-height: 1.45;
  color: var(--text-muted, #5a5754);
}

.checkout-postcode-notice__contact {
  color: var(--accent, #e80752);
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: 500;
}

.checkout-postcode-notice__contact:hover,
.checkout-postcode-notice__contact:focus-visible {
  color: color-mix(in srgb, var(--accent, #e80752) 82%, #000);
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td .checkout-shipping-summary-status {
  display: inline-block;
  max-width: 100%;
  white-space: nowrap;
  font-weight: 600;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td .checkout-shipping-summary-status--unavailable {
  color: var(--text-muted, #5a5754);
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td .checkout-shipping-summary-status--pending {
  color: var(--muted, #5a5754);
}

/* Keep long notices out of the shipping value column if any slip through. */
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals td .checkout-delivery-rates__hint,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.shipping td .checkout-delivery-rates__hint {
  display: none;
}

.checkout-delivery-rates .woocommerce-shipping-methods--auto input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.checkout-delivery-rates .woocommerce-shipping-methods--auto li.delivery-rate-auto {
  cursor: default;
}

@media (min-width: 720px) {
  .checkout-fulfillment-choices .woocommerce-shipping-methods {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.checkout-fulfillment-choices .woocommerce-shipping-methods li {
  margin: 0;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
}

.checkout-fulfillment-choices .woocommerce-shipping-methods li:has(input:checked) {
  border-color: color-mix(in srgb, var(--accent) 55%, var(--line));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent);
}

.woocommerce-checkout-review-order-table .shipping.shipping--summary-only ul.woocommerce-shipping-methods {
  display: none !important;
}

.woocommerce-checkout-review-order-table .shipping.shipping--summary-only .checkout-shipping-summary-amount {
  display: inline-block;
  font-weight: 600;
  text-align: right;
}

/* Monetary values stay on one line; long shipping copy must wrap. */
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th {
  text-align: left;
  width: auto;
  min-width: 0;
  vertical-align: top;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
  width: auto;
  max-width: 100%;
  min-width: 0;
  text-align: right;
  vertical-align: top;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td .woocommerce-Price-amount,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td .checkout-shipping-summary-amount:not(.cart-shipping-pending) {
  display: inline-block;
  white-space: nowrap;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td .cart-shipping-pending,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td .checkout-shipping-summary-amount.cart-shipping-pending {
  display: inline-block;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: break-word;
  text-align: right;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td .woocommerce-shipping-destination,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td .woocommerce-info,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td p {
  display: block;
  max-width: 100%;
  margin: 0 0 6px;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
  text-align: inherit;
}

/* Product row: thumb + readable title column (authoritative; was only in unused legacy CSS). */
.woocommerce-checkout .woocommerce-checkout-review-order-table {
  width: 100%;
  max-width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table thead th.product-name,
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-name {
  width: auto;
  min-width: 0;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table thead th.product-total,
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-total {
  width: 7.5rem;
  min-width: 0;
  text-align: right;
  vertical-align: top;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-name {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  column-gap: 12px;
  row-gap: 4px;
  align-items: start;
  min-width: 0;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-name .checkout-product-thumb {
  grid-column: 1;
  grid-row: 1 / span 8;
  width: 72px;
  min-width: 72px;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-name .checkout-product-thumb img {
  display: block;
  width: 72px;
  height: 72px;
  border-radius: var(--radius-sm, 12px);
  object-fit: cover;
  aspect-ratio: 1 / 1;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-name .checkout-product-name,
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-name .product-quantity,
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-name .variation,
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-name dl.variation,
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-name .wc-item-meta {
  grid-column: 2;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: break-word;
  word-break: normal;
  white-space: normal;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-name .checkout-product-name {
  font-weight: 600;
  line-height: 1.35;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-name dl.variation,
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-name .wc-item-meta {
  margin: 0;
  color: var(--muted);
  font-size: 0.85rem;
  line-height: 1.4;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-name dl.variation dt,
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-name dl.variation dd,
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-name .wc-item-meta li {
  display: inline;
  float: none;
  margin: 0;
  padding: 0;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-name dl.variation dd p,
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-name .wc-item-meta p {
  display: inline;
  margin: 0;
  padding: 0;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-name dl.variation dt::after {
  content: '\00a0';
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-name dl.variation dd::after {
  content: '';
}

.woocommerce-checkout .checkout-summary,
.woocommerce-checkout .checkout-summary .woocommerce-checkout-review-order,
.woocommerce-checkout .woocommerce-checkout-review-order-table {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

@media (max-width: 639px) {
  .woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr.cart_item {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) auto;
    column-gap: 10px;
    row-gap: 2px;
    align-items: start;
    width: 100%;
    margin: 0 0 10px;
    padding: 0 0 10px;
    border-bottom: 1px solid var(--line);
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr.cart_item:last-child {
    margin-bottom: 0;
    border-bottom: 0;
    padding-bottom: 0;
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table tbody,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot {
    display: block;
    width: 100%;
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-name {
    display: contents;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-name .checkout-product-thumb,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-name .checkout-product-thumb img {
    width: 64px;
    min-width: 64px;
    height: 64px;
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-name .checkout-product-thumb {
    grid-column: 1;
    grid-row: 1 / span 4;
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-name .checkout-product-name {
    grid-column: 2;
    grid-row: 1;
    font-size: 0.95rem;
    line-height: 1.3;
    text-align: left;
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-name .product-quantity,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-name .variation,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-name dl.variation,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-name .wc-item-meta {
    grid-column: 2;
    text-align: left;
    font-size: 0.82rem;
    line-height: 1.35;
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table thead th.product-total,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-total {
    grid-column: 3;
    grid-row: 1;
    display: block;
    width: auto;
    max-width: none;
    padding: 0;
    margin: 0;
    text-align: right;
    align-self: start;
    white-space: nowrap;
    font-size: 0.95rem;
    font-weight: 700;
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.shipping,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.cart-subtotal,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.order-total,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.cart-discount,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.fee,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.tax-total,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.tax-rate {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: baseline;
    column-gap: 12px;
    width: 100%;
    padding: 10px 0;
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals th,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals td,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.shipping th,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.shipping td,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.cart-subtotal th,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.cart-subtotal td,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.order-total th,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.order-total td,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.cart-discount th,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.cart-discount td,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.fee th,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.fee td,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.tax-total th,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.tax-total td,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.tax-rate th,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.tax-rate td {
    display: block;
    width: auto;
    max-width: 100%;
    padding: 0;
    border: 0;
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals td,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.shipping td,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.cart-subtotal td,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.order-total td {
    text-align: right;
  }

  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.shipping td .checkout-shipping-summary-amount:not(.cart-shipping-pending),
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals td .checkout-shipping-summary-amount:not(.cart-shipping-pending) {
    display: inline-block;
    text-align: right;
    white-space: nowrap;
  }
}

@media (min-width: 640px) {
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
    width: 1%;
  }
}

.cart_totals .shipping td .cart-shipping-pending {
  display: block;
  font-weight: 600;
  color: var(--muted);
  text-align: right;
}

.checkout-is-pickup .woocommerce-checkout-review-order-table .woocommerce-shipping-methods {
  display: none !important;
}

.checkout-pickup-hours {
  display: grid;
  gap: 8px;
  margin: 10px 0 4px;
  padding: 10px 12px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--surface) 80%, transparent);
  font-size: .82rem;
}

.checkout-pickup-hours small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  white-space: pre-line;
}

.checkout-privacy-note {
  margin: 0 0 12px;
  color: var(--muted);
  font-size: .82rem;
}

.woocommerce-cart .cross-sells > h2 {
  margin-bottom: 6px;
}

body.checkout-is-pickup .woocommerce-shipping-fields,
body.checkout-is-pickup .ekrasnale-field-delivery {
  display: none !important;
}

body.checkout-is-delivery .ekrasnale-field-pickup,
body.checkout-is-delivery [data-pickup-location-section],
[data-pickup-location-section][hidden] {
  display: none !important;
}

/* Paczkomat: country + rates + locker — no home postal address. */
body.checkout-is-inpost .ekrasnale-field-home-address,
body.checkout-is-inpost #shipping_address_1_field,
body.checkout-is-inpost #shipping_address_2_field,
body.checkout-is-inpost #shipping_postcode_field,
body.checkout-is-inpost #shipping_city_field,
body.checkout-is-inpost #shipping_state_field,
body.checkout-is-inpost .checkout-progressive-panel:has(.ekrasnale-progressive),
body.checkout-is-inpost .checkout-progressive-toggle:has(+ .checkout-progressive-panel .ekrasnale-progressive) {
  display: none !important;
}

body.checkout-is-pickup [data-pickup-location-section]:not([hidden]) {
  display: block;
}

.woocommerce-checkout .checkout-order-requests {
  container-type: inline-size;
  container-name: checkout-requests;
}

.woocommerce-checkout .checkout-invoice-panel {
  margin: 0.75rem 0 0;
  padding: 0.85rem 1rem 1rem;
  border: 1px solid var(--ek-border, #d9d0c3);
  border-radius: 10px;
  background: color-mix(in srgb, var(--ek-paper, #f7f3ec) 88%, #fff);
  display: grid;
  grid-template-columns: 1fr;
  column-gap: var(--space-5, 24px);
  row-gap: var(--space-4, 18px);
}

.woocommerce-checkout .checkout-invoice-panel > .form-row,
.woocommerce-checkout .checkout-invoice-panel > .checkout-invoice-address {
  margin: 0;
  width: 100%;
  max-width: none;
  float: none;
}

.woocommerce-checkout .checkout-invoice-panel .woocommerce-input-wrapper,
.woocommerce-checkout .checkout-invoice-panel .input-text,
.woocommerce-checkout .checkout-invoice-panel select {
  width: 100%;
  min-width: 0;
  max-width: none;
}

.woocommerce-checkout .checkout-invoice-panel__title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--ek-ink, #1c1915);
  grid-column: 1 / -1;
}

.woocommerce-checkout .checkout-invoice-address {
  margin-top: 0;
  display: grid;
  grid-template-columns: 1fr;
  column-gap: var(--space-5, 24px);
  row-gap: var(--space-4, 18px);
  grid-column: 1 / -1;
}

.woocommerce-checkout .checkout-invoice-address::after {
  content: none;
  display: none;
}

.woocommerce-checkout .checkout-invoice-address > .form-row {
  margin: 0;
  width: 100%;
  max-width: none;
  float: none;
}

/* Invoice: NIP | Nazwa firmy when the requests card is wide enough. */
@container checkout-requests (min-width: 480px) {
  .woocommerce-checkout .checkout-invoice-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .woocommerce-checkout .checkout-invoice-panel > .checkout-invoice-panel__title,
  .woocommerce-checkout .checkout-invoice-panel > #ekrasnale_invoice_different_address_field,
  .woocommerce-checkout .checkout-invoice-panel > .checkout-invoice-address {
    grid-column: 1 / -1;
  }

  .woocommerce-checkout .checkout-invoice-address {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .woocommerce-checkout .checkout-invoice-address > #ekrasnale_invoice_country_field,
  .woocommerce-checkout .checkout-invoice-address > #billing_address_1_field,
  .woocommerce-checkout .checkout-invoice-address > #billing_address_2_field {
    grid-column: 1 / -1;
  }
}

/* Viewport fallback for invoice pairing when container queries are unavailable. */
@media (min-width: 768px) {
  .woocommerce-checkout .checkout-invoice-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .woocommerce-checkout .checkout-invoice-panel > .checkout-invoice-panel__title,
  .woocommerce-checkout .checkout-invoice-panel > #ekrasnale_invoice_different_address_field,
  .woocommerce-checkout .checkout-invoice-panel > .checkout-invoice-address {
    grid-column: 1 / -1;
  }

  .woocommerce-checkout .checkout-invoice-address {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .woocommerce-checkout .checkout-invoice-address > #ekrasnale_invoice_country_field,
  .woocommerce-checkout .checkout-invoice-address > #billing_address_1_field,
  .woocommerce-checkout .checkout-invoice-address > #billing_address_2_field {
    grid-column: 1 / -1;
  }
}

.woocommerce-checkout .checkout-billing-lead {
  margin: 0 0 0.85rem;
  font-size: 0.92rem;
  color: color-mix(in srgb, var(--ek-ink, #1c1915) 72%, transparent);
}

/* —— Checkout field grids (replace broken float half-widths) ——
 * Root cause: components.css sets .form-row { display:grid }, which disables
 * Woo float pairing. form-row-first/last then sat at 48% width on their own row.
 */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields {
  container-type: inline-size;
  container-name: checkout-card;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  column-gap: var(--space-5, 24px);
  row-gap: var(--space-4, 18px);
  width: 100%;
  min-width: 0;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row {
  width: 100%;
  max-width: none;
  float: none;
  margin: 0;
  min-width: 0;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .woocommerce-input-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .woocommerce-input-wrapper,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .input-text,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .input-text,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper select,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper select {
  width: 100%;
  min-width: 0;
  max-width: none;
}

/* Full-width controls inside address/contact grids. */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > #billing_country_field,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > #shipping_country_field,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > #shipping_address_1_field,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > #shipping_address_2_field,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > #shipping_state_field,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .checkout-postcode-notice {
  grid-column: 1 / -1;
}

@container checkout-card (min-width: 520px) {
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Fallback when container queries are unavailable / card too narrow via viewport. */
@media (max-width: 767px) {
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
  .woocommerce-checkout .checkout-invoice-panel,
  .woocommerce-checkout .checkout-invoice-address {
    grid-template-columns: minmax(0, 1fr);
  }
}

.woocommerce-checkout .choice-card-group--pickup {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 899px) {
  .woocommerce-checkout .choice-card-group--pickup {
    grid-template-columns: 1fr;
  }
}

body.checkout-is-delivery .woocommerce-shipping-fields h3 {
  font-size: 1rem;
}

body.checkout-is-delivery .woocommerce-shipping-fields h3 span {
  display: none;
}

.woocommerce-checkout .ekrasnale-hidden-country,
.woocommerce-checkout #ship-to-different-address {
  display: none !important;
}

/* Country-first destination control must remain visible for Dostawa. */
.woocommerce-checkout #shipping_country_field {
  display: block !important;
}

/* One country UI: theme combobox owns shipping country; always hide Woo Select2 twin. */
.woocommerce-checkout #shipping_country_field .select2-container,
.woocommerce-checkout #billing_country_field .select2-container,
.woocommerce-checkout #billing_country_field {
  display: none !important;
}

.woocommerce-checkout #shipping_country_field .ekrasnale-combobox,
.woocommerce-checkout #shipping_country_field .ekrasnale-combobox__trigger {
  width: 100%;
  max-width: 100%;
}

.woocommerce-checkout .woocommerce-shipping-methods li {
  position: relative;
  cursor: pointer;
}

.woocommerce-checkout .woocommerce-shipping-methods li label {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  width: 100%;
  cursor: pointer;
}

/* Legacy float half-widths disabled — parent grids own pairing (see checkout-card). */
.woocommerce-checkout form.checkout .form-row-first,
.woocommerce-checkout form.checkout .form-row-last {
  width: 100%;
  float: none;
}

.woocommerce-checkout .checkout-optional-section {
  margin-top: 8px;
  padding-top: 4px;
}

.woocommerce-checkout .checkout-optional-section__title {
  margin: 0 0 10px;
  font-size: 1.05rem;
}

.woocommerce-checkout .checkout-progressive-toggle {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin: 0 0 8px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  font: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > .payment_box:empty {
  display: none;
}

/* —— InPost Paczkomat presentation (plugin markup, theme CSS only) —— */
.woocommerce-checkout .easypack-parcel-machine th {
  display: none;
}

.woocommerce-checkout .easypack-parcel-machine td {
  padding: 8px 0 4px !important;
  border: 0 !important;
}

.woocommerce-checkout .easypack_show_geowidget,
.woocommerce-checkout #easypack_show_geowidget {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 10px 16px !important;
  border: 1px solid var(--line-strong, #d7d3cb) !important;
  border-radius: 12px !important;
  background: var(--paper, #fff) !important;
  color: var(--ink, #1c1917) !important;
  font: inherit !important;
  font-weight: 600 !important;
  text-align: center;
  cursor: pointer;
  box-shadow: none !important;
}

.woocommerce-checkout .easypack_show_geowidget:hover,
.woocommerce-checkout #easypack_show_geowidget:hover {
  border-color: color-mix(in srgb, var(--ink) 28%, var(--line)) !important;
  background: color-mix(in srgb, var(--paper) 92%, var(--surface-alt, #f5f2eb)) !important;
}

.woocommerce-checkout #selected-parcel-machine:not(.hidden-paczkomat-data),
.woocommerce-checkout #selected-parcel-machine:not([hidden]) {
  margin-top: 8px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: color-mix(in srgb, var(--paper) 94%, var(--surface-alt, #f5f2eb));
  font-size: .92rem;
  line-height: 1.4;
}

.woocommerce-checkout .woocommerce-shipping-methods li.shipping-choice,
.woocommerce-checkout .woocommerce-shipping-methods li {
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--paper);
}

.woocommerce-checkout .woocommerce-shipping-methods li img {
  max-height: 28px !important;
  max-width: 96px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain;
}

.woocommerce-checkout .checkout-inpost-threshold {
  margin: 0 0 12px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: color-mix(in srgb, var(--paper) 90%, var(--surface-alt, #f5f2eb));
}

.woocommerce-checkout .checkout-inpost-threshold[hidden] {
  display: none !important;
}

.woocommerce-checkout .checkout-inpost-threshold p {
  margin: 0;
  font-size: .92rem;
  line-height: 1.4;
}

.woocommerce-checkout .checkout-inpost-threshold__remain {
  margin-top: 4px !important;
  color: var(--muted);
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping--summary-only .woocommerce-shipping-methods {
  display: none;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping td {
  vertical-align: top;
}

.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method {
  min-height: 64px;
  padding: 14px 16px !important;
}

.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > label img {
  max-height: 36px;
  max-width: 120px;
  width: auto;
  object-fit: contain;
}

@media (max-width: 639px) {
  .woocommerce-checkout .easypack_show_geowidget,
  .woocommerce-checkout #easypack_show_geowidget {
    width: 100%;
  }
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping td::after {
  content: none;
}

@media (max-width: 639px) {
  .checkout-fulfillment__title {
    max-width: none;
  }
}

.wishlist-grid {
  list-style: none;
  margin: 0;
  padding: 0;
}

.wishlist-status {
  margin-bottom: 18px;
  color: var(--muted);
}

.woocommerce-MyAccount-navigation {
  padding: 18px;
  margin-bottom: 18px;
}

.woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.woocommerce-MyAccount-navigation a {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 999px;
  font-weight: 700;
  font-size: .82rem;
}

.woocommerce-MyAccount-navigation .is-active a {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}

@media (min-width: 980px) {
  .woocommerce-account .woocommerce {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
  }

  .woocommerce-MyAccount-navigation {
    margin: 0;
  }

  .woocommerce-MyAccount-navigation ul {
    display: grid;
  }
}

/* â€”â€” Footer WP menus â€”â€” */
.site-footer .footer-main,
.site-footer .footer-grid {
  display: grid;
  gap: 28px;
}

@media (min-width: 840px) {
  .site-footer .footer-main,
  .site-footer .footer-grid {
    grid-template-columns: 1.3fr repeat(3, minmax(0, 1fr));
    gap: 36px;
  }
}

.site-footer .footer-links,
.site-footer nav {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.site-footer .footer-links a,
.site-footer nav a {
  color: var(--ink);
  font-size: .92rem;
}

.site-footer h2,
.site-footer h3 {
  margin-bottom: 14px;
  font-size: 1rem;
}

.footer-bottom {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  justify-content: space-between;
  margin-top: 36px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: .82rem;
}

/* â€”â€” Mobile bottom nav â€”â€” */
.mobile-bottom-nav {
  position: fixed;
  z-index: var(--z-bottom-nav, 50);
  left: 0;
  right: 0;
  bottom: 0;
  display: none;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-height: calc(var(--mobile-bottom-nav-height, 64px) + env(safe-area-inset-bottom, 0px));
  padding-bottom: env(safe-area-inset-bottom, 0px);
  background: color-mix(in srgb, var(--surface) 96%, transparent);
  border-top: 1px solid var(--line);
  backdrop-filter: blur(16px);
}

@media (max-width: 979px) {
  .mobile-bottom-nav {
    display: grid;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) .mobile-bottom-nav {
    display: none;
  }

  /*
   * Cart: suppress fixed bottom nav (same contract as checkout).
   * Mid-list qty/remove controls were otherwise untappable under the nav.
   * Content clearance uses the checkout-style safe padding below.
   */
  body.woocommerce-cart .mobile-bottom-nav {
    display: none;
  }

  body.menu-open .mobile-bottom-nav,
  body.modal-open .mobile-bottom-nav,
  body.gallery-lightbox-open .mobile-bottom-nav,
  html.is-mobile-keyboard-open .mobile-bottom-nav {
    opacity: 0;
    pointer-events: none;
  }
}

.mobile-bottom-nav a,
.mobile-bottom-nav button {
  position: relative;
  min-height: 58px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 2px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  font-size: .62rem;
  font-weight: 700;
}

.mobile-bottom-nav .icon,
.mobile-bottom-nav svg {
  width: 1.25rem;
  height: 1.25rem;
}

.mobile-bottom-nav [aria-current="page"] {
  color: var(--accent);
}

.mobile-bottom-nav b,
.mobile-bottom-nav .action-count {
  position: absolute;
  right: calc(50% - 22px);
  top: 3px;
  min-width: 17px;
  height: 17px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--accent);
  color: #fff;
  font-size: .56rem;
}

/* Search / 404 grids — wishlist uses shared ul.products rules via .wishlist-page */
.search-results-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px 10px;
}

@media (min-width: 980px) {
  .search-results-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 639px) {
  .search-results-grid {
    grid-template-columns: 1fr;
  }
}

.error-404,
body.search-no-results.page--utility {
  display: grid;
  gap: 18px;
  justify-items: start;
  padding: clamp(48px, 8vw, 96px) 0;
}

/* Never collapse the WooCommerce catalog shell when a product search has 0 hits.
   body.search-no-results must not set display:grid on page--commerce / woocommerce-shop. */

.toast.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
}

/* â€”â€” Why / featured homepage aliases â€”â€” */
.why-grid {
  display: contents;
}

.why-layout {
  display: grid;
  gap: 16px;
}

@media (min-width: 840px) {
  .why-layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 980px) {
  .why-layout {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-areas: none;
    gap: 16px;
  }

  .why-card-1,
  .why-card-2,
  .why-card-3,
  .why-card-4,
  .why-card-5,
  .why-card-6 {
    grid-area: auto;
  }

  .why-visual {
    display: none;
  }
}

.why-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 18px 18px 16px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  min-height: 0;
}

.why-card span {
  font-size: .72rem;
  font-weight: 800;
  color: var(--accent);
}

.why-card h3 {
  margin: 0 0 6px;
  font-size: 1.05rem;
}

.why-card p {
  margin: 0;
  font-size: .95rem;
  line-height: 1.5;
  color: var(--muted);
}

.why-visual {
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--surface);
}

.why-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  min-height: 280px;
}

.collection-grid {
  display: contents;
}

.offer-card,
.featured-card {
  display: grid;
  gap: 0;
  padding: 0;
  border-radius: var(--radius-lg);
  background: var(--surface-clay);
  overflow: hidden;
  min-height: 0;
}

@media (min-width: 840px) {
  .offer-card,
  .featured-card {
    grid-template-columns: 1.05fr .95fr;
    align-items: stretch;
  }
}

.featured-media,
.offer-image {
  display: block;
  overflow: hidden;
  border-radius: var(--radius-md, 12px);
  min-height: 0;
  aspect-ratio: 4 / 5;
  background: transparent;
  align-self: stretch;
  box-sizing: border-box;
}

.featured-card > .featured-media {
  margin: 20px 20px 20px 0;
  max-height: calc(100% - 40px);
}

.featured-media img,
.offer-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 18%;
  min-height: 0;
  display: block;
  border-radius: inherit;
}

@media (max-width: 1023px) {
  .featured-card > .featured-media {
    margin: 18px;
    max-height: none;
  }
}

@media (max-width: 639px) {
  .featured-card > .featured-media {
    margin: 14px;
  }
}

.featured-copy {
  padding: clamp(28px, 3.6vw, 48px);
}

.featured-data {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0 18px;
}

.featured-data > span {
  display: grid;
  gap: 4px;
  align-content: start;
  padding: 12px 14px;
  background: #F7F6F1;
  border: 1px solid var(--line);
  border-radius: 14px;
  min-height: 0;
}

.featured-data > span > strong,
.featured-data .price--featured {
  display: block;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.25;
  white-space: normal;
}

.featured-data .woocommerce-Price-amount,
.featured-data .amount,
.featured-data bdi {
  display: inline;
  padding: 0;
  margin: 0;
  background: none;
  border: 0;
  border-radius: 0;
}

.featured-data small {
  color: var(--muted);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.featured-copy .btn {
  margin-top: 4px;
}

@media (max-width: 639px) {
  .featured-data {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 979px) {
  /* Cart lives in bottom nav on mobile; wishlist stays in the header shell. */
  .header-actions > .cart-link,
  .header-actions > [data-cart-global] {
    display: none !important;
  }

  .menu-toggle {
    display: grid !important;
    order: -1;
  }

  .nav-inner {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }

  .nav-inner > .brand {
    grid-column: 1 !important;
    justify-self: start !important;
  }

  .header-actions {
    grid-column: 2 !important;
  }

  /* Keep closed drawer out of scrollable overflow. */
  .primary-nav:not(.is-open) {
    visibility: hidden;
    pointer-events: none;
  }

  .primary-nav.is-open {
    visibility: visible;
    pointer-events: auto;
  }
}

@media (max-width: 639px) {
  .product-title-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .product-title-row strong,
  .product-price,
  .product-card-body .price {
    justify-self: start;
    text-align: left;
    max-width: 100%;
    overflow-wrap: break-word;
    word-break: normal;
  }

  .related.products ul.products {
    grid-template-columns: 1fr;
  }
}

/* Touch: no hover translation on controls/cards (catalog image scale owned by woocommerce-cards.css). */
@media (hover: none) {
  .btn:hover {
    transform: none;
  }
}

/* â€”â€” Checkout / account / tables (mobile-first) â€”â€” */
@media (max-width: 979px) {
  .woocommerce-cart .woocommerce-cart-form {
    padding: 14px;
    overflow: hidden;
  }

  .woocommerce-cart-form table.shop_table,
  .woocommerce-cart table.shop_table_responsive,
  .woocommerce-cart table.shop_table_responsive tbody {
    display: block;
    width: 100%;
    max-width: 100%;
    border: 0;
    background: transparent;
    overflow: visible;
  }

  .woocommerce table.shop_table_responsive thead,
  .woocommerce-page table.shop_table_responsive thead {
    display: none;
  }

  .woocommerce-cart table.shop_table_responsive tr.cart_item,
  .woocommerce-page.woocommerce-cart table.shop_table_responsive tr.cart_item {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr) 40px;
    grid-template-areas:
      "thumb name remove"
      "meta meta meta"
      "qty qty qty"
      "subtotal subtotal subtotal";
    gap: 14px 12px;
    align-items: start;
    width: 100%;
    max-width: 100%;
    margin: 0 0 12px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: var(--surface);
    box-sizing: border-box;
  }

  .woocommerce-cart tr.cart_item td.product-thumbnail {
    grid-area: thumb;
    display: block;
    padding: 0 !important;
    width: auto;
  }

  .woocommerce-cart tr.cart_item td.product-thumbnail a,
  .woocommerce-cart tr.cart_item td.product-thumbnail img {
    display: block;
    width: 72px;
    height: 72px;
    margin: 0;
  }

  .woocommerce-cart tr.cart_item td.product-name {
    grid-area: name;
    display: block;
    padding: 0 !important;
    text-align: left !important;
    min-width: 0;
  }

  .woocommerce-cart tr.cart_item td.product-name::before {
    content: none;
  }

  .woocommerce-cart tr.cart_item td.product-remove {
    grid-area: remove;
    display: flex;
    justify-content: flex-end;
    padding: 0 !important;
  }

  .woocommerce-cart tr.cart_item td.product-remove::before {
    content: none;
  }

  .woocommerce-cart tr.cart_item td.product-price {
    grid-area: meta;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 0 !important;
    text-align: right !important;
    min-width: 0;
    /* Reset product-card `.product-price` inheritance (1.45rem/800) on this TD. */
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.35;
    color: var(--ink);
  }

  .woocommerce-cart tr.cart_item td.product-quantity {
    grid-area: qty;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 0 !important;
    text-align: left !important;
    min-width: 0;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.35;
  }

  .woocommerce-cart tr.cart_item td.product-subtotal {
    grid-area: subtotal;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 !important;
    text-align: right !important;
    min-width: 0;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.35;
    color: var(--ink);
  }

  .woocommerce-cart tr.cart_item td.product-price::before,
  .woocommerce-cart tr.cart_item td.product-quantity::before,
  .woocommerce-cart tr.cart_item td.product-subtotal::before {
    content: attr(data-title);
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
    float: none;
    font-size: 0.9375rem; /* 15px — shared secondary label */
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0;
    text-align: left;
    color: var(--muted);
  }

  .woocommerce-cart tr.cart_item td.product-subtotal::before {
    display: inline;
  }

  .woocommerce-cart tr.cart_item td.product-price .amount,
  .woocommerce-cart tr.cart_item td.product-price .woocommerce-Price-amount,
  .woocommerce-cart tr.cart_item td.product-subtotal .amount,
  .woocommerce-cart tr.cart_item td.product-subtotal .woocommerce-Price-amount {
    font-size: 1.0625rem; /* 17px — coherent value scale */
    font-weight: 700;
    line-height: 1.3;
    color: var(--ink);
  }

  .woocommerce-cart tr.cart_item td.product-subtotal .amount,
  .woocommerce-cart tr.cart_item td.product-subtotal .woocommerce-Price-amount {
    font-weight: 700;
  }

  .woocommerce-cart .quantity-stepper,
  .woocommerce-cart .cart-quantity-stepper,
  .woocommerce-cart .quantity {
    width: 144px;
    max-width: 144px;
    min-height: 44px;
    flex: none;
    grid-template-columns: 44px minmax(40px, 1fr) 44px;
  }

  .woocommerce-cart .quantity .qty,
  .woocommerce-cart .quantity-stepper .qty,
  .woocommerce-cart .cart-quantity-stepper .qty,
  .woocommerce-cart .woocommerce .quantity input.qty.input-text,
  .woocommerce-cart .quantity input.qty.input-text {
    min-height: 44px;
    font-size: 0.9375rem;
    font-weight: 700;
  }

  .woocommerce-cart .quantity [data-qty-change],
  .woocommerce-cart .quantity-stepper [data-qty-change],
  .woocommerce-cart .cart-quantity-stepper [data-qty-change],
  .woocommerce-cart .quantity-stepper__btn {
    min-height: 44px;
  }

  .woocommerce-cart td .amount,
  .woocommerce-cart td .woocommerce-Price-amount {
    white-space: nowrap;
  }

  .woocommerce table.shop_table_responsive tr:not(.cart_item):not(.cart-actions-row):not(:has(td.actions)),
  .woocommerce-page table.shop_table_responsive tr:not(.cart_item):not(.cart-actions-row):not(:has(td.actions)) {
    display: block;
    margin-bottom: 14px;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: var(--surface);
    padding: 12px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  /* Coupon / update row must NOT inherit card or stretch-flex table cell rules */
  .woocommerce-cart table.shop_table_responsive tr.cart-actions-row,
  .woocommerce-cart table.shop_table_responsive tr:has(td.actions),
  .woocommerce-page.woocommerce-cart table.shop_table_responsive tr.cart-actions-row,
  .woocommerce-page.woocommerce-cart table.shop_table_responsive tr:has(td.actions) {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .woocommerce-cart td.actions,
  .woocommerce-cart td.actions.cart-utilities,
  .woocommerce-page.woocommerce-cart td.actions {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 8px 0 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: left !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    gap: 10px !important;
  }

  .woocommerce-cart td.actions::before,
  .woocommerce-page.woocommerce-cart td.actions::before {
    content: none !important;
    display: none !important;
  }

  .woocommerce-cart .cart-utilities {
    width: 100%;
    display: grid;
    gap: 10px;
    justify-items: stretch;
  }

  .woocommerce-cart .cart-coupon-disclosure {
    max-width: none;
    width: 100%;
    padding: 10px 12px;
    min-height: 0;
  }

  .woocommerce-cart .cart-coupon-fields {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }

  .woocommerce-cart .cart-coupon-fields .button,
  .woocommerce-cart .cart-coupon-fields .input-text {
    min-height: var(--mobile-control-height, 46px);
    height: var(--mobile-control-height, 46px);
    align-self: center;
  }

  .woocommerce-cart .cart-update-fallback {
    width: auto !important;
    max-width: max-content;
    min-height: 40px !important;
    height: auto !important;
    align-self: start;
  }

  .woocommerce-cart .cart_totals,
  .woocommerce-cart .cart-collaterals .cart_totals {
    padding: 14px 16px;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: var(--surface);
  }

  .woocommerce-cart .cart_totals table,
  .woocommerce-cart .cart_totals .shop_table {
    display: block;
    width: 100%;
    border: 0;
    background: transparent;
  }

  .woocommerce-cart .cart_totals tr {
    display: flex !important;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    margin: 0;
    padding: 10px 0;
    border: 0;
    border-bottom: 1px solid var(--line);
    background: transparent;
  }

  .woocommerce-cart .cart_totals tr:last-child {
    border-bottom: 0;
    padding-bottom: 0;
  }

  .woocommerce-cart .cart_totals th,
  .woocommerce-cart .cart_totals td {
    display: block !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: left !important;
  }

  .woocommerce-cart .cart_totals td {
    text-align: right !important;
  }

  .woocommerce-cart .cart_totals th::before,
  .woocommerce-cart .cart_totals td::before {
    content: none !important;
  }

  .woocommerce-cart ul#shipping_method,
  .woocommerce-cart .woocommerce-shipping-methods {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    width: 100%;
  }

  .woocommerce-cart ul#shipping_method li,
  .woocommerce-cart .woocommerce-shipping-methods li {
    display: flex !important;
    flex-direction: row;
    align-items: flex-start;
    gap: 10px;
    width: 100%;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: var(--paper);
    list-style: none !important;
  }

  .woocommerce-cart ul#shipping_method label {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
    text-align: left;
  }

  .woocommerce table.shop_table_responsive td,
  .woocommerce-page table.shop_table_responsive td {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    border: 0 !important;
    text-align: right !important;
    padding: 8px 0 !important;
    min-width: 0;
    max-width: 100%;
  }

  .woocommerce table.shop_table_responsive td::before,
  .woocommerce-page table.shop_table_responsive td::before {
    content: attr(data-title);
    font-weight: 700;
    text-align: left;
    color: var(--muted);
  }

  .woocommerce-checkout .col2-set,
  .woocommerce-checkout #customer_details {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: var(--checkout-section-gap, 16px);
  }

  .woocommerce-checkout .col-1,
  .woocommerce-checkout .col-2 {
    width: 100% !important;
    float: none !important;
  }
}

@media (max-width: 359px) {
  .woocommerce-cart .cart-coupon-fields {
    grid-template-columns: 1fr;
  }

  .woocommerce-cart .cart-coupon-fields .button {
    width: 100%;
  }
}

.woocommerce-cart td.product-price .amount,
.woocommerce-cart td.product-subtotal .amount,
.woocommerce-cart .cart_totals .amount {
  white-space: nowrap;
}

@media (min-width: 980px) {
  .woocommerce-checkout .col2-set,
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout .checkout-customer {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: var(--checkout-section-gap, 16px);
  }

  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review {
    margin-top: 0;
  }
}

.woocommerce-checkout #place_order {
  width: 100%;
  min-height: 52px;
}

/* Search dialog / results */
.search-dialog h2,
.search-hero h1,
.page-hero.page-hero--compact h1 {
  font-size: var(--font-h1, clamp(2rem, 5vw, 3.2rem));
}

.search-chips,
.quick-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

/* Footer readable mobile stack */
@media (max-width: 839px) {
  .site-footer .footer-main,
  .site-footer .footer-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 28px;
  }

  .site-footer .footer-links a,
  .site-footer nav a,
  .site-footer p,
  .site-footer address {
    font-size: 1rem;
    line-height: 1.5;
  }
}

/* Hide duplicate shop toolbar count on desktop already handled; ensure meta only once */
@media (min-width: 980px) {
  .shop-mobile-toolbar .result-count {
    display: none;
  }
}

/* Heading width contract — Woo bridge loads after theme-core; release on stacked viewports. */
@media (max-width: 979px) {
  .page-hero h1,
  .shop-hero h1,
  .commerce-page-header h1,
  .page-entry-header h1,
  .single-product .product_title,
  .cta-banner h2,
  .about-page .brand-values .section-heading h2 {
    max-width: none;
    width: 100%;
    inline-size: 100%;
  }
}



