:root {
  --zj-bp-sm: 640px;
  --zj-bp-md: 782px;
  --zj-bp-lg: 1024px;
  --zj-gutter: var(--wp--preset--spacing--30);
}

/* WP default: .wp-block-group.has-background { padding: 1.25em 2.375em } */
.zj-footer.has-background,
.zj-footer__bar.has-background {
  padding-inline: var(--zj-gutter);
}

@media (min-width: 640px) {
  :root {
    --zj-gutter: var(--wp--preset--spacing--40);
  }
}

@media (min-width: 1024px) {
  :root {
    --zj-gutter: var(--wp--preset--spacing--50);
  }
}

.zj-header {
  position: sticky;
  top: 0;
  z-index: 100;
  padding-top: var(--wp--preset--spacing--30);
  padding-bottom: var(--wp--preset--spacing--30);
  transition: box-shadow 200ms ease;
}

/* WP default: .wp-block-group.has-background { padding: 1.25em 2.375em } */
.zj-header.has-background {
  padding-inline: var(--zj-gutter);
}

/* WP constrained layout adds 24px margin-block-start to direct children. */
.zj-header.is-layout-constrained > * {
  margin-block-start: 0;
}

.zj-header.is-scrolled {
  box-shadow: 0 2px 12px rgba(26, 26, 26, 0.08);
}

.zj-header__inner {
  display: flex;
  align-items: center;
  min-height: 56px;
}

.zj-header__top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--wp--preset--spacing--50);
  width: 100%;
}

.zj-header__brand,
.zj-header__search,
.zj-header__nav,
.zj-header__actions {
  align-self: center;
  margin-block: 0;
}

/* WooCommerce Block Hooks may persist a duplicate account icon after nav. */
.zj-header__top > .wp-block-woocommerce-customer-account {
  display: none !important;
}

.zj-header__brand {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.zj-header__brand .custom-logo-link,
.zj-header__brand .wp-block-site-logo a {
  display: inline-flex;
  align-items: center;
}

.zj-header__brand .wp-block-site-logo {
  line-height: 0;
  margin: 0;
}

.zj-header__brand img {
  height: 50px;
  max-height: 50px;
  width: auto;
}

.zj-header__search {
  display: flex;
  align-items: center;
  flex: 0 1 400px;
  min-width: 220px;
  max-width: 400px;
  margin: 0;
}

.zj-header__search .dgwt-wcas-search-wrapp,
.zj-header__search .dgwt-wcas-search-form,
.zj-header__search .dgwt-wcas-sf-wrapp {
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.zj-header__search .dgwt-wcas-sf-wrapp {
  position: relative;
}

.zj-header__search .dgwt-wcas-sf-wrapp::before {
  content: '';
  display: block;
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  pointer-events: none;
  z-index: 1;
}

.zj-header__search .dgwt-wcas-ico-magnifier,
.zj-header__search .dgwt-wcas-search-submit {
  display: none !important;
}

.zj-header__search .dgwt-wcas-search-input {
  border-radius: 9999px;
  border: 1px solid var(--wp--preset--color--light-gray) !important;
  background: var(--wp--preset--color--surface-muted) !important;
  padding: 8px 16px 8px 40px;
  color: var(--wp--preset--color--near-black) !important;
  font-size: var(--wp--preset--font-size--body);
  width: 100%;
  min-height: 42px;
  box-shadow: none !important;
  transition:
    border-color 150ms ease,
    background 150ms ease,
    box-shadow 150ms ease;
}

.zj-header__search .dgwt-wcas-search-input::placeholder {
  color: var(--wp--preset--color--warm-gray) !important;
  opacity: 1;
}

.zj-header__search .dgwt-wcas-search-input:focus {
  background: var(--wp--preset--color--white) !important;
  border-color: var(--wp--preset--color--forest-green) !important;
  outline: none;
  box-shadow: 0 0 0 2px rgba(45, 106, 79, 0.15) !important;
}

.dgwt-wcas-suggestions-wrapp {
  z-index: 110;
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(26, 26, 26, 0.1);
  overflow: hidden;
}

.dgwt-wcas-suggestion-selected {
  background: var(--wp--preset--color--surface-muted);
}

.dgwt-wcas-suggestion-selected .dgwt-wcas-st,
.dgwt-wcas-suggestion-selected .dgwt-wcas-si {
  color: var(--wp--preset--color--forest-green);
}

.zj-header__nav {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  margin: 0;
}

.zj-header__nav .wp-block-navigation__container {
  align-items: center;
  gap: var(--wp--preset--spacing--40);
}

.zj-header__nav .wp-block-navigation-item__content {
  color: var(--wp--preset--color--near-black);
  font-weight: 500;
  font-size: var(--wp--preset--font-size--body);
  text-decoration: none;
  padding-bottom: 3px;
  border-bottom: 2px solid transparent;
  transition:
    color 150ms ease,
    border-color 150ms ease;
}

.zj-header__nav .wp-block-navigation-item__content:hover {
  color: var(--wp--preset--color--forest-green);
  border-bottom-color: var(--wp--preset--color--forest-green);
}

.zj-header__nav .current-menu-item > .wp-block-navigation-item__content,
.zj-header__nav .current-page-ancestor > .wp-block-navigation-item__content {
  color: var(--wp--preset--color--forest-green);
  border-bottom-color: var(--wp--preset--color--forest-green);
}

.zj-header__nav .zj-nav__promo > .wp-block-navigation-item__content,
.zj-header__nav .zj-nav__promo > .wp-block-navigation-item__content:hover {
  color: var(--wp--preset--color--error-red);
  border-bottom-color: transparent;
}

.zj-header__nav
  .zj-nav__promo.current-menu-item
  > .wp-block-navigation-item__content {
  color: var(--wp--preset--color--error-red);
  border-bottom-color: var(--wp--preset--color--error-red);
}

.zj-header__actions {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  gap: var(--wp--preset--spacing--30);
  margin-left: auto;
}

.zj-header__account {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
  color: var(--wp--preset--color--warm-gray);
  text-decoration: none;
  transition: color 150ms ease;
}

.zj-header__icon,
.zj-header__menu-icon {
  width: 1.4rem;
  height: 1.4rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.zj-header__icon svg,
.zj-header__menu-icon svg,
.zj-footer__contact-icon svg {
  width: 100%;
  height: 100%;
  fill: currentColor;
}

.zj-header__label {
  font-size: 0.625rem;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.zj-header__cart {
  position: relative;
}

.zj-header__cart .wc-block-mini-cart__button {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
  color: var(--wp--preset--color--warm-gray);
  text-decoration: none;
  cursor: pointer;
  transition: color 150ms ease;
}

.zj-header__cart .wc-block-mini-cart__button .wc-block-mini-cart__icon {
  width: 1.4rem;
  height: 1.4rem;
  margin: 0;
}

.zj-header__cart .wc-block-mini-cart__button svg {
  fill: currentColor;
}

.zj-header__cart .wc-block-mini-cart__button::after {
  content: 'Koszyk';
  font-size: 0.625rem;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: currentColor;
}

.zj-header__account:hover,
.zj-header__cart .wc-block-mini-cart__button:hover,
.zj-header__cart .wc-block-mini-cart__button:focus-visible:hover {
  color: var(--wp--preset--color--forest-green);
  background: transparent;
}

/* Koszyk: ghost action like Konto — primary color only, no bordered chrome */
.zj-header__cart .wc-block-mini-cart__button:hover,
.zj-header__cart .wc-block-mini-cart__button:focus,
.zj-header__cart .wc-block-mini-cart__button:focus-visible,
.zj-header__cart .wc-block-mini-cart__button:active {
  border: none;
  border-radius: 0;
  background: transparent;
  outline: none !important;
  box-shadow: none !important;
}

/* No focus ring on hover or mouse focus — outline:none beats global style.css */
.zj-header__account:hover,
.zj-header__account:focus:not(:focus-visible),
.zj-header__account:focus-visible:hover,
.zj-header__cart .wc-block-mini-cart__button:focus:not(:focus-visible),
.zj-header__cart .wc-block-mini-cart__button:active {
  outline: none !important;
  box-shadow: none !important;
}

/* Keyboard-only ring on Konto — box-shadow, not outline (outline can hide icon in WebKit) */
.zj-header__account:focus-visible:not(:hover) {
  outline: none !important;
  color: var(--wp--preset--color--forest-green);
  background: transparent;
  border-radius: 6px;
  box-shadow: 0 0 0 2px var(--wp--preset--color--forest-green);
}

/* Koszyk keyboard focus: primary color only, no box ring (44px target made ring look like a border) */
.zj-header__cart .wc-block-mini-cart__button:focus-visible:not(:hover) {
  color: var(--wp--preset--color--forest-green);
}

/* Header cart count: forest-green circle + white number when cart has items */
.zj-header__cart .wc-block-mini-cart__quantity-badge {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.zj-header__cart .wc-block-mini-cart__badge {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 1.125rem;
  height: 1.125rem;
  padding: 0 0.2em;
  border-radius: 50%;
  background-color: var(--wp--preset--color--forest-green) !important;
  color: var(--wp--preset--color--white) !important;
  font-family: var(--wp--preset--font-family--roboto);
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 1;
  opacity: 1;
}

.zj-header__cart .wc-block-mini-cart__badge[hidden] {
  display: none !important;
}

.zj-header__menu-toggle {
  display: none;
  border: 0;
  background: transparent;
  color: var(--wp--preset--color--near-black);
  padding: 0;
  cursor: pointer;
  min-width: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}

@media (max-width: 639px) {
  .zj-header {
    padding-top: var(--wp--preset--spacing--10);
    padding-bottom: var(--wp--preset--spacing--10);
  }

  .zj-header__inner {
    min-height: 0;
  }

  .zj-header .zj-header__top.wp-block-group {
    gap: var(--wp--preset--spacing--20);
  }

  .zj-header__actions {
    gap: var(--wp--preset--spacing--20);
  }

  .zj-header__brand img {
    max-height: 40px;
  }
}

@media (max-width: 1023px) {
  .zj-header .zj-header__top.wp-block-group {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto auto;
    align-items: center;
    gap: var(--wp--preset--spacing--40);
    flex-wrap: unset;
  }

  .zj-header .zj-header__brand {
    grid-column: 1;
    grid-row: 1;
    order: unset;
  }

  .zj-header .zj-header__actions {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    margin-left: 0;
    order: unset;
  }

  .zj-header .zj-header__search {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    min-width: 0;
    max-width: none;
    flex: unset;
    order: unset;
  }

  .zj-header__menu-toggle {
    display: inline-flex;
  }

  .zj-header .zj-header__nav {
    grid-column: 1 / -1;
    grid-row: 3;
    order: unset;
  }

  .zj-header .zj-header__nav:not(.is-open) {
    display: none;
  }

  .zj-header .zj-header__nav.is-open {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    gap: 0.75rem;
    border-top: 1px solid var(--wp--preset--color--light-gray);
    margin-top: 0.25rem;
    padding-top: 0.8rem;
  }

  .zj-header .zj-header__nav.is-open .wp-block-navigation__container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }

  .zj-header__label,
  .zj-header__cart .wc-block-mini-cart__button::after {
    display: none;
  }
}

@media (min-width: 1024px) {
  .zj-header__inner {
    min-height: 64px;
  }

  .zj-header__top {
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: var(--wp--preset--spacing--40);
  }

  .zj-header__brand,
  .zj-header__search,
  .zj-header__nav,
  .zj-header__actions {
    order: unset;
  }

  .zj-header__search {
    flex: 0 1 400px;
    width: 100%;
    min-width: 220px;
    max-width: 400px;
  }

  .zj-header__actions {
    margin-left: 0;
  }

  .zj-header__menu-toggle {
    display: none;
  }

  .zj-header__nav {
    display: flex;
    flex-shrink: 0;
    margin: 0;
    width: auto;
    flex-direction: row;
    align-items: center;
    border-top: 0;
    margin-top: 0;
    padding-top: 0;
  }

  .zj-header__nav .wp-block-navigation__container {
    flex-direction: row;
    align-items: center;
    gap: var(--wp--preset--spacing--40);
  }
}

/* § Mini-cart drawer */
.wc-block-mini-cart__drawer {
  --drawer-width: min(100vw, 500px);
  max-width: 500px;
  background: var(--wp--preset--color--white);
  box-shadow: 0 8px 24px rgba(26, 26, 26, 0.12);
  display: flex;
  flex-direction: column;
}

.wc-block-components-drawer__screen-overlay:not(
  .wc-block-components-drawer__screen-overlay--is-hidden
) {
  background-color: rgba(26, 26, 26, 0.5);
  backdrop-filter: blur(4px);
}

.wc-block-mini-cart__drawer .wc-block-components-drawer__content {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.wc-block-mini-cart__drawer .zj-mini-cart {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
  padding: var(--wp--preset--spacing--40);
}

/* Respect WC iAPI hidden bindings (do not override [hidden] with display:flex). */
.wc-block-mini-cart__drawer .zj-mini-cart [hidden] {
  display: none !important;
}

.wc-block-mini-cart__drawer
  .wp-block-woocommerce-filled-mini-cart-contents-block:not([hidden]) {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}

.wc-block-mini-cart__drawer
  .zj-mini-cart
  > .wc-block-components-drawer__close-wrapper {
  align-self: flex-end;
  flex-shrink: 0;
  margin: 0 0 var(--wp--preset--spacing--20);
}

.wc-block-mini-cart__drawer .wc-block-components-drawer__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  min-height: 36px;
  margin: 0;
  padding: 0.25rem !important;
  border: none;
  border-radius: 6px;
  background: transparent !important;
  color: var(--wp--preset--color--near-black);
  opacity: 1;
}

.wc-block-mini-cart__drawer .wc-block-components-drawer__close svg {
  width: 20px;
  height: 20px;
}

.wc-block-mini-cart__drawer .wc-block-components-drawer__close:hover,
.wc-block-mini-cart__drawer .wc-block-components-drawer__close:focus-visible {
  color: var(--wp--preset--color--forest-green);
  opacity: 1;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem 0.5rem;
  flex-shrink: 0;
  margin: 0;
  padding-bottom: var(--wp--preset--spacing--30);
  border-bottom: 1px solid var(--wp--preset--color--light-gray);
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: var(--wp--preset--font-size--h-2, 1.5rem);
  font-weight: 700;
  line-height: 1.2;
}

.wc-block-mini-cart__drawer
  .wc-block-mini-cart__title
  .wc-block-components-drawer__close-wrapper {
  margin: 0;
  flex-shrink: 0;
}

.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-title-label-block {
  margin: 0;
}

.wc-block-mini-cart__drawer
  .wp-block-woocommerce-mini-cart-title-items-counter-block {
  font-family: var(--wp--preset--font-family--open-sans);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 400;
  color: var(--wp--preset--color--warm-gray);
}

.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-items-block {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  margin-block: var(--wp--preset--spacing--30);
}

.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-footer-block {
  flex-shrink: 0;
}

.wc-block-mini-cart__drawer table.wc-block-cart-items,
.wc-block-mini-cart__drawer table.wc-block-cart-items tbody {
  display: block;
}

.wc-block-mini-cart__drawer table.wc-block-cart-items td {
  display: block;
  padding: 0;
  margin: 0;
  border: 0;
}

.wc-block-mini-cart__drawer
  table.wc-block-cart-items
  .wc-block-cart-items__header {
  display: none;
}

.wc-block-mini-cart__drawer
  table.wc-block-cart-items
  .wc-block-cart-items__row {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 0.75rem;
  align-items: start;
  margin-bottom: var(--wp--preset--spacing--20);
  padding: var(--wp--preset--spacing--20);
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 6px;
  background: var(--wp--preset--color--white);
}

.wc-block-mini-cart__drawer
  table.wc-block-cart-items
  .wc-block-cart-item__image {
  grid-column: 1;
  grid-row: 1;
  width: 64px;
}

.wc-block-mini-cart__drawer
  table.wc-block-cart-items
  .wc-block-cart-item__product {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
}

.wc-block-mini-cart__drawer
  table.wc-block-cart-items
  .wc-block-cart-item__wrap {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-width: 0;
}

.wc-block-mini-cart__drawer
  table.wc-block-cart-items
  .wc-block-components-product-name {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
  color: var(--wp--preset--color--near-black);
}

.wc-block-mini-cart__drawer
  table.wc-block-cart-items
  a.wc-block-components-product-name:hover {
  color: var(--wp--preset--color--forest-green);
}

.wc-block-mini-cart__drawer
  table.wc-block-cart-items
  .wc-block-cart-item__prices {
  margin-top: 0;
  font-size: var(--wp--preset--font-size--small);
}

.wc-block-mini-cart__drawer
  table.wc-block-cart-items
  .wc-block-components-product-metadata__description {
  display: none !important;
}

.wc-block-mini-cart__drawer
  table.wc-block-cart-items
  .wc-block-cart-item__total {
  display: none !important;
}

.wc-block-mini-cart__drawer
  table.wc-block-cart-items
  .wc-block-cart-item__image
  img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 4px;
}

.wc-block-mini-cart__drawer
  table.wc-block-cart-items
  .wc-block-components-sale-badge {
  display: none;
}

.wc-block-mini-cart__drawer
  table.wc-block-cart-items
  .wc-block-cart-item__quantity {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
  margin-top: 0.35rem;
}

.wc-block-mini-cart__drawer .wc-block-components-quantity-selector {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  width: 107px;
  min-width: 0;
  max-width: 107px;
  height: 32px;
  flex-shrink: 0;
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 4px;
  overflow: hidden;
}

.wc-block-mini-cart__drawer .wc-block-components-quantity-selector__input {
  flex: 1 1 auto;
  min-width: 2rem;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: var(--wp--preset--font-size--small, 0.875rem);
  line-height: 1;
  text-align: center;
}

.wc-block-mini-cart__drawer .wc-block-components-quantity-selector__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 32px;
  min-width: 32px;
  width: 32px;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
  opacity: 1;
  color: var(--wp--preset--color--near-black);
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1;
}

.wc-block-mini-cart__drawer
  .wc-block-components-quantity-selector__button:hover,
.wc-block-mini-cart__drawer
  .wc-block-components-quantity-selector__button:focus-visible {
  color: var(--wp--preset--color--forest-green);
}

.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link {
  min-width: 32px;
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-left: auto;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__footer {
  flex-shrink: 0;
  margin-top: auto;
  padding-top: var(--wp--preset--spacing--30);
  border-top: 1px solid var(--wp--preset--color--light-gray);
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-subtotal {
  margin-bottom: var(--wp--preset--spacing--30);
}

.wc-block-mini-cart__drawer
  .wc-block-mini-cart__footer-subtotal
  .wc-block-components-totals-item__label {
  font-size: var(--wp--preset--font-size--body);
  font-weight: 600;
}

.wc-block-mini-cart__drawer
  .wc-block-mini-cart__footer-subtotal
  .wc-block-components-totals-item__value {
  font-size: var(--wp--preset--font-size--price, 1.125rem);
  font-weight: 700;
}

.wc-block-mini-cart__drawer
  .wc-block-mini-cart__footer-subtotal
  .wc-block-components-totals-item__description {
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--warm-gray);
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--wp--preset--spacing--20);
  align-items: stretch;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions > * {
  min-width: 0;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-cart,
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-checkout {
  display: flex !important;
  width: 100%;
  max-width: 100%;
  min-height: 44px;
  justify-content: center;
  align-items: center;
  border-radius: 6px;
  font-weight: 600;
  text-decoration: none;
  box-sizing: border-box;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-cart {
  border: 1px solid var(--wp--preset--color--forest-green) !important;
  background: transparent !important;
  color: var(--wp--preset--color--forest-green) !important;
  box-shadow: none !important;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-cart:hover,
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-cart:focus-visible {
  background: var(--wp--preset--color--warm-cream) !important;
  color: var(--wp--preset--color--forest-green) !important;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-checkout {
  border: none !important;
  background: var(--wp--preset--color--forest-green) !important;
  color: var(--wp--preset--color--white) !important;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-checkout:hover,
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-checkout:focus-visible {
  background: var(--wp--preset--color--deep-forest, #1e4d38) !important;
  color: var(--wp--preset--color--white) !important;
}

.wc-block-mini-cart__drawer
  .wp-block-woocommerce-empty-mini-cart-contents-block:not([hidden]) {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--wp--preset--spacing--30);
  text-align: center;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__empty-cart-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--wp--preset--spacing--30);
  width: 100%;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__shopping-button {
  width: 100%;
  min-height: 44px;
  justify-content: center;
  border-radius: 6px;
  background: var(--wp--preset--color--forest-green) !important;
  color: var(--wp--preset--color--white) !important;
  text-decoration: none;
}

@media (max-width: 639px) {
  .wc-block-mini-cart__drawer .zj-mini-cart {
    padding-inline: var(--wp--preset--spacing--30);
  }
}

@media (max-width: 319px) {
  .wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions {
    grid-template-columns: 1fr;
  }
}

/* § Cart page */
.zj-cart-main {
  max-width: min(1200px, 100% - 2rem);
  margin-inline: auto;
}

.zj-cart-main .alignwide {
  width: 100%;
  max-width: 1200px;
}

.zj-cart-main > .alignwide > .wp-block-post-title {
  margin-bottom: var(--wp--preset--spacing--40);
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: var(--wp--preset--font-size--heading-1);
  font-weight: 700;
  line-height: 1.2;
}

.zj-cart-main .wp-block-post-content {
  margin-top: 0;
}

.zj-cart .wp-block-woocommerce-filled-cart-block,
.zj-cart .wc-block-components-sidebar-layout {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: var(--wp--preset--spacing--40);
  margin: 0;
}

.zj-cart .wc-block-components-main.wc-block-cart__main,
.zj-cart .wc-block-components-sidebar.wc-block-cart__sidebar,
.zj-cart .wp-block-woocommerce-cart-items-block,
.zj-cart .wp-block-woocommerce-cart-totals-block {
  width: 100%;
  max-width: 100%;
  margin: 0;
  box-sizing: border-box;
}

.zj-cart .wc-block-components-sidebar.wc-block-cart__sidebar,
.zj-cart .wp-block-woocommerce-cart-totals-block {
  padding: 0;
}

.zj-cart .wp-block-woocommerce-cart-items-block {
  background: var(--wp--preset--color--white);
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 6px;
  box-shadow: 0 1px 3px rgba(26, 26, 26, 0.08);
  padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
  box-sizing: border-box;
}

.zj-cart .wp-block-woocommerce-cart-totals-block {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--30);
}

.zj-cart table.wc-block-cart-items {
  width: 100%;
  border-collapse: collapse;
}

.zj-cart table.wc-block-cart-items .wc-block-cart-items__header th {
  padding: 0 0 var(--wp--preset--spacing--20);
  border-bottom: 1px solid var(--wp--preset--color--light-gray);
  color: var(--wp--preset--color--warm-gray);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.zj-cart table.wc-block-cart-items .wc-block-cart-items__row {
  border-bottom: 1px solid var(--wp--preset--color--light-gray);
}

.zj-cart table.wc-block-cart-items .wc-block-cart-items__row:last-child {
  border-bottom: none;
}

.zj-cart table.wc-block-cart-items .wc-block-cart-items__row td {
  padding: var(--wp--preset--spacing--30) 0;
  vertical-align: middle;
}

.zj-cart table.wc-block-cart-items .wc-block-cart-item__image {
  width: 64px;
  padding-right: var(--wp--preset--spacing--20);
}

.zj-cart table.wc-block-cart-items .wc-block-cart-item__image img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 4px;
  background: var(--wp--preset--color--product-bg);
}

.zj-cart table.wc-block-cart-items .wc-block-cart-item__product {
  padding-right: var(--wp--preset--spacing--20);
}

.zj-cart
  table.wc-block-cart-items
  .wc-block-components-product-metadata__description {
  display: none !important;
}

.zj-cart table.wc-block-cart-items .wc-block-cart-item__quantity {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.zj-cart table.wc-block-cart-items .wc-block-components-product-name {
  color: var(--wp--preset--color--near-black);
  font-size: var(--wp--preset--font-size--body);
  font-weight: 400;
  line-height: 1.4;
  text-decoration: none;
}

.zj-cart table.wc-block-cart-items .wc-block-components-product-name:hover,
.zj-cart
  table.wc-block-cart-items
  .wc-block-components-product-name:focus-visible {
  color: var(--wp--preset--color--forest-green);
}

.zj-cart table.wc-block-cart-items .wc-block-cart-item__prices {
  color: var(--wp--preset--color--warm-gray);
  font-size: var(--wp--preset--font-size--body);
}

.zj-cart table.wc-block-cart-items .wc-block-cart-item__total {
  color: var(--wp--preset--color--forest-green);
  font-size: var(--wp--preset--font-size--body);
  font-weight: 700;
  text-align: right;
}

.zj-cart table.wc-block-cart-items .wc-block-cart-item__remove-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--wp--preset--color--warm-gray);
  font-size: 1.25rem;
  line-height: 1;
  text-decoration: none;
}

.zj-cart table.wc-block-cart-items .wc-block-cart-item__remove-link:hover,
.zj-cart
  table.wc-block-cart-items
  .wc-block-cart-item__remove-link:focus-visible {
  color: var(--wp--preset--color--error-red);
}

.zj-cart .wc-block-components-quantity-selector {
  display: inline-flex;
  align-items: stretch;
  box-sizing: border-box;
  width: auto;
  min-width: 7.5rem;
  max-width: 100%;
  overflow: hidden;
  min-height: 40px;
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 4px;
  background: var(--wp--preset--color--white);
  flex-shrink: 0;
}

.zj-cart .wc-block-components-quantity-selector__button {
  flex: 0 0 36px;
  width: 36px;
  min-width: 36px;
  min-height: 36px;
  margin: 0;
  padding: 0;
  color: var(--wp--preset--color--near-black);
}

.zj-cart .wc-block-components-quantity-selector__input {
  flex: 1 1 auto;
  min-width: 2rem;
  width: auto;
  margin: 0;
  padding: 0;
  color: var(--wp--preset--color--near-black);
  font-weight: 500;
}

.zj-cart .wp-block-woocommerce-cart-order-summary-block {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.zj-cart .wp-block-woocommerce-cart-order-summary-coupon-form-block {
  order: -1;
  margin-bottom: var(--wp--preset--spacing--40);
  padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 6px;
  background: var(--wp--preset--color--white);
  box-shadow: 0 1px 3px rgba(26, 26, 26, 0.08);
  box-sizing: border-box;
}

.zj-cart
  .wp-block-woocommerce-cart-order-summary-coupon-form-block
  .wc-block-components-totals-coupon {
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
}

.zj-cart .wc-block-components-totals-coupon .wc-block-components-panel__button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--wp--preset--spacing--20);
  width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 0 1.75rem 0 0;
  border: none;
  border-radius: 0;
  background: transparent;
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--body);
  font-weight: 500;
  line-height: 1.4;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.zj-cart
  .wc-block-components-totals-coupon
  .wc-block-components-panel__button:hover,
.zj-cart
  .wc-block-components-totals-coupon
  .wc-block-components-panel__button:focus-visible {
  color: var(--wp--preset--color--forest-green);
  outline: none;
}

.zj-cart
  .wc-block-components-totals-coupon
  .wc-block-components-panel__button[aria-expanded='true'] {
  margin-bottom: var(--wp--preset--spacing--20);
  padding-bottom: var(--wp--preset--spacing--20);
  border-bottom: 1px solid var(--wp--preset--color--light-gray);
}

.zj-cart
  .wc-block-components-totals-coupon
  .wc-block-components-panel__button-icon {
  position: absolute;
  right: 0;
  top: 50%;
  width: 1.25rem;
  height: 1.25rem;
  fill: var(--wp--preset--color--near-black);
  transform: translateY(-50%);
  transition: transform 150ms ease;
}

.zj-cart
  .wc-block-components-totals-coupon
  .wc-block-components-panel__button[aria-expanded='true']
  .wc-block-components-panel__button-icon {
  transform: translateY(-50%) rotate(180deg);
}

.zj-cart .wc-block-components-totals-coupon .wc-block-components-panel {
  position: relative;
}

.zj-cart
  .wc-block-components-totals-coupon
  .wc-block-components-panel__content {
  margin: 0;
  padding: 0;
}

.zj-cart .wc-block-components-totals-coupon__content {
  width: 100%;
}

.zj-cart .wc-block-components-totals-coupon__form {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--20);
  align-items: flex-start;
  width: 100%;
  margin: 0;
}

.zj-cart
  .wc-block-components-totals-coupon__form
  .wc-block-components-text-input.wc-block-components-totals-coupon__input {
  flex: 1 1 12rem;
  margin: 0;
}

.zj-cart
  .wc-block-components-totals-coupon__form
  .wc-block-components-text-input
  input[type='text'] {
  min-height: 52px;
  padding: 1.5rem 1rem 0.5rem;
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 4px;
  background: var(--wp--preset--color--white);
  color: var(--wp--preset--color--near-black);
  font-size: var(--wp--preset--font-size--body);
}

.zj-cart
  .wc-block-components-totals-coupon__form
  .wc-block-components-text-input
  input[type='text']:focus {
  border-color: var(--wp--preset--color--forest-green);
  box-shadow: 0 0 0 1px var(--wp--preset--color--forest-green);
  outline: none;
}

.zj-cart
  .wc-block-components-totals-coupon__form
  .wc-block-components-text-input
  label {
  color: var(--wp--preset--color--warm-gray);
  font-size: var(--wp--preset--font-size--small);
}

.zj-cart
  .wc-block-components-totals-coupon__form
  .wc-block-components-text-input
  label,
.zj-cart
  .wc-block-components-totals-coupon__form
  .wc-block-components-text-input.is-active
  label,
.zj-cart
  .wc-block-components-totals-coupon__form
  .wc-block-components-text-input
  input:focus
  + label {
  top: 0.5rem;
  left: 1rem;
  max-width: calc(100% - 2rem);
  transform: none;
  transition: none;
  line-height: 1.2;
}

.zj-cart
  .wc-block-components-totals-coupon__form
  .wc-block-components-text-input.is-active
  input[type='text'],
.zj-cart
  .wc-block-components-totals-coupon__form
  .wc-block-components-text-input
  input:-webkit-autofill {
  padding: 1.5rem 1rem 0.5rem;
}

.zj-cart
  .wc-block-components-totals-coupon__form
  .wc-block-components-text-input.has-error
  input[type='text'] {
  border-color: var(--wp--preset--color--error-red);
  box-shadow: 0 0 0 1px var(--wp--preset--color--error-red);
}

.zj-cart .wc-block-components-totals-coupon__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  flex: 0 1 auto;
  min-height: 48px;
  padding: 0.75rem 1.25rem;
  border: none;
  border-radius: 4px;
  background: var(--wp--preset--color--forest-green);
  color: var(--wp--preset--color--white);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
}

.zj-cart .wc-block-components-totals-coupon__button:hover,
.zj-cart .wc-block-components-totals-coupon__button:focus-visible {
  background: var(--wp--preset--color--sage-green);
  color: var(--wp--preset--color--white);
}

.zj-cart .wc-block-components-totals-coupon__button:disabled,
.zj-cart .wc-block-components-totals-coupon__button[disabled] {
  opacity: 0.55;
  cursor: not-allowed;
}

.zj-cart .wc-block-components-totals-coupon__button:disabled:hover,
.zj-cart .wc-block-components-totals-coupon__button[disabled]:hover {
  background: var(--wp--preset--color--forest-green);
  color: var(--wp--preset--color--white);
}

.zj-cart .wc-block-components-totals-coupon__button--loading {
  min-height: 48px;
}

.zj-cart
  .wc-block-components-totals-coupon
  .wc-block-components-validation-error {
  flex: 1 1 100%;
  margin: 0;
  padding: var(--wp--preset--spacing--20) 0 0;
  color: var(--wp--preset--color--error-red);
  font-size: var(--wp--preset--font-size--small);
  line-height: 1.4;
}

.zj-cart .wc-block-components-totals-discount__coupon-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0.5rem 0 0;
  padding: 0;
  list-style: none;
}

.zj-cart .wc-block-components-totals-discount__coupon-list-item {
  margin: 0;
}

.zj-cart .wc-block-components-totals-discount .wc-block-components-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.3125rem 0.375rem 0.3125rem 0.625rem;
  border: 0;
  border-radius: 9999px;
  background: var(--wp--preset--color--amber-gold);
  color: var(--wp--preset--color--white);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.02em;
}

.zj-cart
  .wc-block-components-totals-discount
  .wc-block-components-chip
  .wc-block-components-chip__text {
  flex-grow: 0;
  font-size: inherit;
}

.zj-cart
  .wc-block-components-totals-discount
  .wc-block-components-chip__remove {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 1.2em;
  height: 1.2em;
  min-width: 1.2em;
  min-height: 1.2em;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 999px;
  background: color-mix(
    in srgb,
    var(--wp--preset--color--white) 20%,
    transparent
  );
  color: var(--wp--preset--color--white);
  cursor: pointer;
}

.zj-cart
  .wc-block-components-totals-discount
  .wc-block-components-chip__remove
  .wc-block-components-chip__remove-icon {
  display: block;
  width: 1.2em;
  height: 1.2em;
  fill: currentColor;
}

.zj-cart
  .wc-block-components-totals-discount
  .wc-block-components-chip__remove:hover,
.zj-cart
  .wc-block-components-totals-discount
  .wc-block-components-chip__remove:focus-visible {
  background: var(--wp--preset--color--white);
  color: var(--wp--preset--color--amber-gold);
  outline: none;
}

.zj-cart .wp-block-woocommerce-cart-order-summary-heading-block {
  margin: 0;
  padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40) 0;
  border: 1px solid var(--wp--preset--color--light-gray);
  border-bottom: none;
  border-radius: 6px 6px 0 0;
  background: var(--wp--preset--color--white);
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: var(--wp--preset--font-size--h-3, 1.25rem);
  font-weight: 700;
}

.zj-cart
  .wp-block-woocommerce-cart-order-summary-block
  > :not(.wp-block-woocommerce-cart-order-summary-coupon-form-block):not(
    .wp-block-woocommerce-cart-order-summary-heading-block
  ) {
  margin: 0;
  padding-inline: var(--wp--preset--spacing--40);
  border-right: 1px solid var(--wp--preset--color--light-gray);
  border-left: 1px solid var(--wp--preset--color--light-gray);
  background: var(--wp--preset--color--white);
}

.zj-cart .wp-block-woocommerce-cart-order-summary-taxes-block {
  padding-bottom: var(--wp--preset--spacing--30);
  border-bottom: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 0 0 6px 6px;
}

.zj-cart .wc-block-components-totals-item,
.zj-cart .wc-block-components-totals-footer-item {
  padding-block: var(--wp--preset--spacing--20);
}

.zj-cart .wc-block-components-totals-item__label,
.zj-cart
  .wc-block-components-totals-footer-item
  .wc-block-components-totals-item__label {
  color: var(--wp--preset--color--near-black);
  font-size: var(--wp--preset--font-size--body);
}

.zj-cart
  .wc-block-components-totals-footer-item
  .wc-block-components-totals-item__value {
  color: var(--wp--preset--color--near-black);
  font-size: var(--wp--preset--font-size--body);
  font-weight: 700;
}

.zj-cart .zj-cart-shipping-info {
  margin: 0;
  padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--40)
    var(--wp--preset--spacing--30);
  border-right: 1px solid var(--wp--preset--color--light-gray);
  border-left: 1px solid var(--wp--preset--color--light-gray);
  border-bottom: 1px solid var(--wp--preset--color--light-gray);
  background: var(--wp--preset--color--white);
}

.zj-cart .zj-cart-shipping-info__checkout {
  margin: 0;
  color: var(--wp--preset--color--warm-gray);
  font-size: var(--wp--preset--font-size--small);
  line-height: 1.5;
}

.zj-cart .zj-cart-shipping-info__alert {
  margin: var(--wp--preset--spacing--20) 0 0;
  padding: var(--wp--preset--spacing--20);
  border-radius: 4px;
  border-left: 4px solid var(--wp--preset--color--forest-green);
  background: var(--wp--preset--color--warm-cream);
}

.zj-cart .zj-cart-shipping-info__alert.is-qualified {
  border-left-color: var(--wp--preset--color--success-green);
}

.zj-cart .zj-cart-shipping-info__alert[hidden] {
  display: none;
}

.zj-cart .zj-cart-shipping-info__alert-text {
  margin: 0;
  color: var(--wp--preset--color--near-black);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 600;
  line-height: 1.5;
}

.zj-cart
  .zj-cart-shipping-info__alert.is-qualified
  .zj-cart-shipping-info__alert-text {
  color: var(--wp--preset--color--forest-green);
}

/* Cart defers shipping to checkout — hide WC shipping rows and duplicate footnotes */
.zj-cart .wp-block-woocommerce-cart-order-summary-shipping-block,
.zj-cart .wc-block-components-totals-shipping,
.zj-cart .wc-block-components-shipping-rates-control,
.zj-cart .wc-block-components-totals-footer-item-shipping {
  display: none !important;
}

.zj-cart .wp-block-woocommerce-cart-express-payment-block:empty,
.zj-cart .wp-block-woocommerce-cart-accepted-payment-methods-block:empty {
  display: none;
}

.zj-cart .wp-block-woocommerce-proceed-to-checkout-block {
  margin-top: var(--wp--preset--spacing--20);
}

.zj-cart
  .wp-block-woocommerce-proceed-to-checkout-block
  .wc-block-cart__submit-button,
.zj-cart .wp-block-woocommerce-proceed-to-checkout-block a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  min-height: 52px;
  padding: 0.875rem 1.5rem;
  border: none;
  border-radius: 4px;
  background: var(--wp--preset--color--forest-green);
  color: var(--wp--preset--color--white);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  text-transform: uppercase;
}

.zj-cart
  .wp-block-woocommerce-proceed-to-checkout-block
  .wc-block-cart__submit-button:hover,
.zj-cart
  .wp-block-woocommerce-proceed-to-checkout-block
  .wc-block-cart__submit-button:focus-visible,
.zj-cart .wp-block-woocommerce-proceed-to-checkout-block a:hover,
.zj-cart .wp-block-woocommerce-proceed-to-checkout-block a:focus-visible {
  background: var(--wp--preset--color--sage-green);
  color: var(--wp--preset--color--white);
}

.zj-cart .wp-block-woocommerce-empty-cart-block {
  max-width: 720px;
  margin-inline: auto;
  padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--30);
  text-align: center;
}

.zj-cart .wc-block-cart__empty-cart__title {
  margin-bottom: var(--wp--preset--spacing--40);
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: var(--wp--preset--font-size--h-3, 1.25rem);
  font-weight: 700;
}

.zj-cart .wp-block-woocommerce-empty-cart-block .wp-block-button__link {
  min-height: 48px;
  padding: 0.75rem 1.5rem;
  border-radius: 4px;
  background: var(--wp--preset--color--forest-green);
  color: var(--wp--preset--color--white);
  font-weight: 700;
  text-decoration: none;
  text-transform: uppercase;
}

.zj-cart .wp-block-woocommerce-empty-cart-block .wp-block-button__link:hover,
.zj-cart
  .wp-block-woocommerce-empty-cart-block
  .wp-block-button__link:focus-visible {
  background: var(--wp--preset--color--sage-green);
  color: var(--wp--preset--color--white);
}

@media (max-width: 782px) {
  .zj-cart .wc-block-cart__totals-title,
  .zj-cart .wp-block-woocommerce-cart-order-summary-heading-block {
    display: block !important;
    visibility: visible !important;
  }

  .zj-cart .wp-block-woocommerce-cart-items-block,
  .zj-cart .wp-block-woocommerce-cart-order-summary-coupon-form-block {
    padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
  }

  .zj-cart .wc-block-components-totals-coupon__form {
    flex-direction: column;
  }

  .zj-cart .wc-block-components-totals-coupon__button {
    width: 100%;
  }
}

/* § Checkout page */
/* § Checkout — layout & shell */
.zj-checkout-main {
  max-width: min(1200px, 100% - 2rem);
  margin-inline: auto;
}

.zj-checkout-main .alignwide {
  width: 100%;
  max-width: 1200px;
}

/* Break theme 720px constrained cap — checkout needs full alignwide width */
.zj-checkout-main.is-layout-constrained > .alignwide {
  max-width: var(--wp--style--global--wide-size, 1200px);
  width: 100%;
}

.zj-checkout-main > .alignwide.is-layout-constrained,
.zj-checkout-main > .alignwide.is-layout-constrained > .wp-block-post-content {
  width: 100%;
  max-width: none;
}

.zj-checkout-main > .alignwide > .wp-block-post-title {
  margin-bottom: var(--wp--preset--spacing--40);
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: var(--wp--preset--font-size--heading-1);
  font-weight: 700;
  line-height: 1.2;
}

.zj-checkout-main .wp-block-post-content {
  margin-top: 0;
}

.zj-checkout.wc-block-checkout,
.zj-checkout.wp-block-woocommerce-checkout {
  display: block;
  margin: 0;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}

/* Two-column shell — keep WC DOM; avoid display:contents (breaks grid placement). */
.zj-checkout .wc-block-components-sidebar-layout {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--40);
  width: 100%;
  margin: 0;
  box-sizing: border-box;
}

.zj-checkout .wp-block-woocommerce-checkout-fields-block,
.zj-checkout .wc-block-components-main.wc-block-checkout__main {
  order: 2;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  min-width: 0;
  box-sizing: border-box;
}

.zj-checkout .wp-block-woocommerce-checkout-totals-block,
.zj-checkout .wc-block-components-sidebar.wc-block-checkout__sidebar {
  order: 1;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  min-width: 0;
  box-sizing: border-box;
}

/* WC checkout.css uses @container (min-width: 700px) for 65/35 padding + sticky
   sidebar — keep single-column stack until our desktop grid at 1024px. */
@media (max-width: 1023px) {
  .zj-checkout .wc-block-components-sidebar-layout {
    flex-direction: column;
    flex-wrap: nowrap;
  }

  .zj-checkout .wc-block-checkout__sidebar.is-sticky,
  .zj-checkout .wc-block-components-sidebar.wc-block-checkout__sidebar {
    position: static;
    top: auto;
    align-self: stretch;
  }
}

.zj-checkout .wp-block-woocommerce-checkout-express-payment-block:empty {
  display: none;
}

/* Right column — single summary card */
.zj-checkout .wp-block-woocommerce-checkout-order-summary-block {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 6px;
  background: var(--wp--preset--color--white);
  box-shadow: 0 1px 3px rgba(26, 26, 26, 0.08);
  box-sizing: border-box;
}

.zj-checkout .wc-block-checkout__sidebar-title {
  margin: 0;
  padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40)
    var(--wp--preset--spacing--20);
  border: none;
  background: transparent;
  box-shadow: none;
}

.zj-checkout .wp-block-woocommerce-checkout-order-summary-cart-items-block {
  margin: 0;
  padding: 0 var(--wp--preset--spacing--30);
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  box-sizing: border-box;
}

.zj-checkout .wc-block-components-order-summary {
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  box-sizing: border-box;
}

.zj-checkout
  :is(
    .wp-block-woocommerce-checkout-order-summary-subtotal-block,
    .wp-block-woocommerce-checkout-order-summary-fee-block,
    .wp-block-woocommerce-checkout-order-summary-discount-block,
    .wp-block-woocommerce-checkout-order-summary-shipping-block,
    .wp-block-woocommerce-checkout-order-summary-taxes-block
  ) {
  margin: 0;
  padding-inline: var(--wp--preset--spacing--40);
  border: none;
  background: transparent;
  box-shadow: none;
  box-sizing: border-box;
}

.zj-checkout
  .wp-block-woocommerce-checkout-order-summary-taxes-block:last-child,
.zj-checkout
  .wp-block-woocommerce-checkout-order-summary-shipping-block:last-child,
.zj-checkout
  .wp-block-woocommerce-checkout-order-summary-discount-block:last-child,
.zj-checkout .wp-block-woocommerce-checkout-order-summary-fee-block:last-child,
.zj-checkout
  .wp-block-woocommerce-checkout-order-summary-subtotal-block:last-child {
  padding-bottom: var(--wp--preset--spacing--30);
}

/* Desktop: form left, summary right; summary aligned to top */
@media (min-width: 1024px) {
  .zj-checkout .wc-block-components-sidebar-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(22rem, 28rem);
    gap: var(--wp--preset--spacing--40);
    align-items: start;
  }

  .zj-checkout .wp-block-woocommerce-checkout-fields-block,
  .zj-checkout .wc-block-components-main.wc-block-checkout__main {
    order: unset;
    grid-column: 1;
    grid-row: 1;
  }

  .zj-checkout .wp-block-woocommerce-checkout-totals-block,
  .zj-checkout .wc-block-components-sidebar.wc-block-checkout__sidebar {
    order: unset;
    grid-column: 2;
    grid-row: 1;
    position: sticky;
    top: calc(var(--zj-header-offset, 5rem) + var(--wp--preset--spacing--20));
  }

  /* Always show line items on desktop — hide mobile accordion toggle */
  .zj-checkout
    .wc-block-components-order-summary
    .wc-block-components-panel__button,
  .zj-checkout .wc-block-components-checkout-order-summary__title {
    display: none;
  }

  .zj-checkout
    .wc-block-components-order-summary
    .wc-block-components-panel__content {
    display: block !important;
    height: auto !important;
    overflow: visible !important;
  }

  /* WC sometimes renders a mobile summary row inside the fields column */
  .zj-checkout
    .wp-block-woocommerce-checkout-fields-block
    > .wc-block-components-order-summary,
  .zj-checkout .wc-block-checkout__main > .wc-block-components-order-summary {
    display: none !important;
  }
}

.zj-checkout .wc-block-components-checkout-step {
  background: var(--wp--preset--color--white);
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 6px;
  box-shadow: 0 1px 3px rgba(26, 26, 26, 0.08);
  box-sizing: border-box;
  padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
  overflow: hidden;
}

.zj-checkout .wc-block-components-checkout-step__content {
  min-width: 0;
}

.zj-checkout
  .wc-block-components-checkout-step
  + .wc-block-components-checkout-step {
  margin-top: var(--wp--preset--spacing--30);
}

.zj-checkout .wc-block-components-checkout-step__title,
.zj-checkout .wc-block-components-order-summary__button-text,
.zj-checkout .wc-block-checkout__sidebar-title {
  margin: 0 0 var(--wp--preset--spacing--20);
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: var(--wp--preset--font-size--h-3, 1.25rem);
  font-weight: 700;
  line-height: 1.3;
}

/* § Checkout — coupon (thread 2) */
.zj-checkout .zj-checkout-coupon-banner,
.zj-checkout .wp-block-woocommerce-checkout-order-summary-coupon-form-block {
  margin: 0;
  padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--40);
  border: none;
  border-block: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 0;
  background: var(--wp--preset--color--warm-cream);
  box-sizing: border-box;
}

.zj-checkout .zj-checkout-coupon-banner .wc-block-components-totals-coupon,
.zj-checkout
  .wp-block-woocommerce-checkout-order-summary-coupon-form-block
  .wc-block-components-totals-coupon {
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
}

.zj-checkout
  .wc-block-components-totals-coupon
  .wc-block-components-panel__button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--wp--preset--spacing--20);
  width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 0 1.75rem 0 0;
  border: none;
  border-radius: 0;
  background: transparent;
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--body);
  font-weight: 500;
  line-height: 1.4;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.zj-checkout
  .wc-block-components-totals-coupon
  .wc-block-components-panel__button::before {
  content: var(--zj-checkout-coupon-prefix, 'Masz kupon? ');
  font-weight: 700;
}

.zj-checkout
  .wc-block-components-totals-coupon
  .wc-block-components-panel__button:hover,
.zj-checkout
  .wc-block-components-totals-coupon
  .wc-block-components-panel__button:focus-visible {
  color: var(--wp--preset--color--forest-green);
  outline: none;
}

.zj-checkout
  .wc-block-components-totals-coupon
  .wc-block-components-panel__button[aria-expanded='true'] {
  margin-bottom: var(--wp--preset--spacing--20);
  padding-bottom: var(--wp--preset--spacing--20);
  border-bottom: 1px solid var(--wp--preset--color--light-gray);
}

.zj-checkout
  .wc-block-components-totals-coupon
  .wc-block-components-panel__button-icon {
  position: absolute;
  right: 0;
  top: 50%;
  width: 1.25rem;
  height: 1.25rem;
  fill: var(--wp--preset--color--near-black);
  transform: translateY(-50%);
  transition: transform 150ms ease;
}

.zj-checkout
  .wc-block-components-totals-coupon
  .wc-block-components-panel__button[aria-expanded='true']
  .wc-block-components-panel__button-icon {
  transform: translateY(-50%) rotate(180deg);
}

.zj-checkout .wc-block-components-totals-coupon .wc-block-components-panel {
  position: relative;
}

.zj-checkout
  .wc-block-components-totals-coupon
  .wc-block-components-panel__content {
  margin: 0;
  padding: 0;
}

.zj-checkout .wc-block-components-totals-coupon__content {
  width: 100%;
}

.zj-checkout
  .wc-block-components-totals-coupon
  .wc-block-components-panel__content[aria-hidden='false'],
.zj-checkout .wc-block-components-totals-coupon__content {
  padding: var(--wp--preset--spacing--20);
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 4px;
  background: var(--wp--preset--color--white);
  box-sizing: border-box;
}

.zj-checkout .wc-block-components-totals-coupon__form {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--20);
  align-items: flex-start;
  width: 100%;
  margin: 0;
}

.zj-checkout
  .wc-block-components-totals-coupon__form
  .wc-block-components-text-input.wc-block-components-totals-coupon__input {
  flex: 1 1 12rem;
  margin: 0;
}

.zj-checkout
  .wc-block-components-totals-coupon__form
  .wc-block-components-text-input
  input[type='text'] {
  min-height: 52px;
  padding: 1.5rem 1rem 0.5rem;
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 4px;
  background: var(--wp--preset--color--white);
  color: var(--wp--preset--color--near-black);
  font-size: var(--wp--preset--font-size--body);
}

.zj-checkout
  .wc-block-components-totals-coupon__form
  .wc-block-components-text-input
  input[type='text']:focus {
  border-color: var(--wp--preset--color--forest-green);
  box-shadow: 0 0 0 1px var(--wp--preset--color--forest-green);
  outline: none;
}

.zj-checkout
  .wc-block-components-totals-coupon__form
  .wc-block-components-text-input
  label {
  color: var(--wp--preset--color--warm-gray);
  font-size: var(--wp--preset--font-size--small);
}

.zj-checkout
  .wc-block-components-totals-coupon__form
  .wc-block-components-text-input
  label,
.zj-checkout
  .wc-block-components-totals-coupon__form
  .wc-block-components-text-input.is-active
  label,
.zj-checkout
  .wc-block-components-totals-coupon__form
  .wc-block-components-text-input
  input:focus
  + label {
  top: 0.5rem;
  left: 1rem;
  max-width: calc(100% - 2rem);
  transform: none;
  transition: none;
  line-height: 1.2;
}

.zj-checkout
  .wc-block-components-totals-coupon__form
  .wc-block-components-text-input.is-active
  input[type='text'],
.zj-checkout
  .wc-block-components-totals-coupon__form
  .wc-block-components-text-input
  input:-webkit-autofill {
  padding: 1.5rem 1rem 0.5rem;
}

.zj-checkout
  .wc-block-components-totals-coupon__form
  .wc-block-components-text-input.has-error
  input[type='text'] {
  border-color: var(--wp--preset--color--error-red);
  box-shadow: 0 0 0 1px var(--wp--preset--color--error-red);
}

.zj-checkout .wc-block-components-totals-coupon__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  flex: 0 1 auto;
  min-height: 48px;
  padding: 0.75rem 1.25rem;
  border: none;
  border-radius: 4px;
  background: var(--wp--preset--color--forest-green);
  color: var(--wp--preset--color--white);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
}

.zj-checkout .wc-block-components-totals-coupon__button:hover,
.zj-checkout .wc-block-components-totals-coupon__button:focus-visible {
  background: var(--wp--preset--color--sage-green);
  color: var(--wp--preset--color--white);
}

.zj-checkout .wc-block-components-totals-coupon__button:disabled,
.zj-checkout .wc-block-components-totals-coupon__button[disabled] {
  opacity: 0.55;
  cursor: not-allowed;
}

.zj-checkout .wc-block-components-totals-coupon__button:disabled:hover,
.zj-checkout .wc-block-components-totals-coupon__button[disabled]:hover {
  background: var(--wp--preset--color--forest-green);
  color: var(--wp--preset--color--white);
}

.zj-checkout .wc-block-components-totals-coupon__button--loading {
  min-height: 48px;
}

.zj-checkout
  .wc-block-components-totals-coupon
  .wc-block-components-validation-error {
  flex: 1 1 100%;
  margin: 0;
  padding: var(--wp--preset--spacing--20) 0 0;
  color: var(--wp--preset--color--error-red);
  font-size: var(--wp--preset--font-size--small);
  line-height: 1.4;
}

.zj-checkout .wc-block-components-totals-discount__coupon-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0.5rem 0 0;
  padding: 0;
  list-style: none;
}

.zj-checkout .wc-block-components-totals-discount__coupon-list-item {
  margin: 0;
}

.zj-checkout .wc-block-components-totals-discount .wc-block-components-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.3125rem 0.375rem 0.3125rem 0.625rem;
  border: 0;
  border-radius: 9999px;
  background: var(--wp--preset--color--amber-gold);
  color: var(--wp--preset--color--white);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.02em;
}

.zj-checkout
  .wc-block-components-totals-discount
  .wc-block-components-chip
  .wc-block-components-chip__text {
  flex-grow: 0;
  font-size: inherit;
}

.zj-checkout
  .wc-block-components-totals-discount
  .wc-block-components-chip__remove {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 1.2em;
  height: 1.2em;
  min-width: 1.2em;
  min-height: 1.2em;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 999px;
  background: color-mix(
    in srgb,
    var(--wp--preset--color--white) 20%,
    transparent
  );
  color: var(--wp--preset--color--white);
  cursor: pointer;
}

.zj-checkout
  .wc-block-components-totals-discount
  .wc-block-components-chip__remove
  .wc-block-components-chip__remove-icon {
  display: block;
  width: 1.2em;
  height: 1.2em;
  fill: currentColor;
}

.zj-checkout
  .wc-block-components-totals-discount
  .wc-block-components-chip__remove:hover,
.zj-checkout
  .wc-block-components-totals-discount
  .wc-block-components-chip__remove:focus-visible {
  background: var(--wp--preset--color--white);
  color: var(--wp--preset--color--amber-gold);
  outline: none;
}

/* § Checkout — billing (thread 3) */
/* Contact + billing — one Stitch card ("Rozliczenia i wysyłka") */
.zj-checkout
  .wc-block-checkout__contact-fields.wc-block-components-checkout-step {
  margin-bottom: 0;
  padding-bottom: var(--wp--preset--spacing--40);
  border-bottom: none;
  border-end-end-radius: 0;
  border-end-start-radius: 0;
}

.zj-checkout
  .wc-block-checkout__billing-fields.wc-block-components-checkout-step {
  margin-top: 0;
  padding-top: var(--wp--preset--spacing--40);
  border-start-start-radius: 0;
  border-start-end-radius: 0;
}

.zj-checkout
  .wc-block-checkout__contact-fields
  + .wc-block-checkout__billing-fields {
  margin-top: 0;
}

.zj-checkout
  .wc-block-checkout__contact-fields
  .wc-block-components-checkout-step__description,
.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-block-components-checkout-step__description {
  margin: 0 0 var(--wp--preset--spacing--20);
  color: var(--wp--preset--color--warm-gray);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--small);
  line-height: 1.5;
}

.zj-checkout
  .wc-block-checkout__contact-fields
  .wc-block-components-checkout-step__description:empty::before {
  content: 'Podaj adres e-mail — wyślemy na niego potwierdzenie zamówienia.';
  display: block;
}

/* Saved address / email summary cards (logged-in checkout) */
.zj-checkout .wc-block-components-address-card {
  margin: 0;
  padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 6px;
  background: var(--wp--preset--color--white);
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--body);
  line-height: 1.45;
}

.zj-checkout .wc-block-components-address-card address {
  margin: 0;
  font-style: normal;
}

.zj-checkout .wc-block-components-address-card__edit {
  margin: 0 0 0 auto;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--wp--preset--color--forest-green);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}

.zj-checkout .wc-block-components-address-card__edit:hover,
.zj-checkout .wc-block-components-address-card__edit:focus-visible {
  color: var(--wp--preset--color--sage-green);
}

.zj-checkout .wc-block-checkout__guest-checkout-notice {
  margin: 0 0 var(--wp--preset--spacing--20);
  color: var(--wp--preset--color--warm-gray);
  font-size: var(--wp--preset--font-size--small);
  line-height: 1.5;
}

/* Step-level validation summary (design system §7.5) */
.zj-checkout
  .wc-block-checkout__contact-fields:has(.has-error)
  .wc-block-components-checkout-step__content::before,
.zj-checkout
  .wc-block-checkout__billing-fields:has(.has-error)
  .wc-block-components-checkout-step__content::before {
  content: 'Popraw pola oznaczone poniżej.';
  display: block;
  margin-bottom: var(--wp--preset--spacing--30);
  padding: var(--wp--preset--spacing--30);
  background: #fef2f2;
  border-left: 4px solid var(--wp--preset--color--error-red);
  border-radius: 0 6px 6px 0;
  color: var(--wp--preset--color--error-red);
  font-size: var(--wp--preset--font-size--small);
  line-height: 1.5;
}

.zj-checkout
  .wc-block-checkout__contact-fields
  .wc-block-components-notice-banner.is-error,
.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-block-components-notice-banner.is-error {
  margin: 0 0 var(--wp--preset--spacing--30);
  padding: var(--wp--preset--spacing--30) !important;
  background: #fef2f2;
  border: none;
  border-left: 4px solid var(--wp--preset--color--error-red);
  border-radius: 0 6px 6px 0;
  color: var(--wp--preset--color--error-red);
  font-size: var(--wp--preset--font-size--small);
}

/* Form tokens — text inputs (floating labels) */
.zj-checkout
  .wc-block-checkout__contact-fields
  .wc-block-components-text-input
  input[type='email'],
.zj-checkout
  .wc-block-checkout__contact-fields
  .wc-block-components-text-input
  input[type='password'],
.zj-checkout
  .wc-block-checkout__contact-fields
  .wc-block-components-text-input
  input[type='text'],
.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-block-components-text-input
  input[type='email'],
.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-block-components-text-input
  input[type='number'],
.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-block-components-text-input
  input[type='password'],
.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-block-components-text-input
  input[type='tel'],
.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-block-components-text-input
  input[type='text'] {
  min-height: 52px;
  padding: 1.5rem 1rem 0.5rem;
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 6px;
  background: var(--wp--preset--color--white);
  color: var(--wp--preset--color--near-black);
  font-size: var(--wp--preset--font-size--body);
  line-height: 1.4;
}

.zj-checkout
  .wc-block-checkout__contact-fields
  .wc-block-components-text-input
  input:focus,
.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-block-components-text-input
  input:focus {
  border-width: 1px;
  border-color: var(--wp--preset--color--forest-green);
  box-shadow: 0 0 0 1px var(--wp--preset--color--forest-green);
  outline: none;
}

.zj-checkout
  .wc-block-checkout__contact-fields
  .wc-block-components-text-input
  label,
.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-block-components-text-input
  label {
  color: var(--wp--preset--color--warm-gray);
  font-size: var(--wp--preset--font-size--small);
}

.zj-checkout
  .wc-block-checkout__contact-fields
  .wc-block-components-text-input.is-active
  label,
.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-block-components-text-input.is-active
  label,
.zj-checkout
  .wc-block-checkout__contact-fields
  .wc-block-components-text-input
  input:focus
  + label,
.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-block-components-text-input
  input:focus
  + label {
  color: var(--wp--preset--color--near-black);
}

/* Stacked labels — lock position; WC Blocks shifts padding/label on focus */
.zj-checkout
  .wc-block-checkout__contact-fields
  .wc-block-components-text-input
  label,
.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-block-components-text-input
  label,
.zj-checkout
  .wc-block-checkout__contact-fields
  .wc-block-components-text-input.is-active
  label,
.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-block-components-text-input.is-active
  label,
.zj-checkout
  .wc-block-checkout__contact-fields
  .wc-block-components-text-input
  input:focus
  + label,
.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-block-components-text-input
  input:focus
  + label,
.zj-checkout
  .wc-block-checkout__contact-fields
  .wc-block-components-text-input
  input:-webkit-autofill
  + label,
.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-block-components-text-input
  input:-webkit-autofill
  + label {
  top: 0.5rem;
  left: 1rem;
  max-width: calc(100% - 2rem);
  transform: none;
  transition: none;
  line-height: 1.2;
}

.zj-checkout
  .wc-block-checkout__contact-fields
  .wc-block-components-text-input.is-active
  input[type='email'],
.zj-checkout
  .wc-block-checkout__contact-fields
  .wc-block-components-text-input.is-active
  input[type='password'],
.zj-checkout
  .wc-block-checkout__contact-fields
  .wc-block-components-text-input.is-active
  input[type='text'],
.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-block-components-text-input.is-active
  input[type='email'],
.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-block-components-text-input.is-active
  input[type='number'],
.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-block-components-text-input.is-active
  input[type='password'],
.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-block-components-text-input.is-active
  input[type='tel'],
.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-block-components-text-input.is-active
  input[type='text'],
.zj-checkout
  .wc-block-checkout__contact-fields
  .wc-block-components-text-input.is-active
  input[type='email']:focus,
.zj-checkout
  .wc-block-checkout__contact-fields
  .wc-block-components-text-input.is-active
  input[type='password']:focus,
.zj-checkout
  .wc-block-checkout__contact-fields
  .wc-block-components-text-input.is-active
  input[type='text']:focus,
.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-block-components-text-input.is-active
  input[type='email']:focus,
.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-block-components-text-input.is-active
  input[type='number']:focus,
.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-block-components-text-input.is-active
  input[type='password']:focus,
.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-block-components-text-input.is-active
  input[type='tel']:focus,
.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-block-components-text-input.is-active
  input[type='text']:focus,
.zj-checkout
  .wc-block-checkout__contact-fields
  .wc-block-components-text-input
  input:-webkit-autofill,
.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-block-components-text-input
  input:-webkit-autofill,
.zj-checkout
  .wc-block-checkout__contact-fields
  .wc-block-components-text-input
  input:-webkit-autofill:focus,
.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-block-components-text-input
  input:-webkit-autofill:focus {
  height: auto;
  padding: 1.5rem 1rem 0.5rem;
}

/* Form tokens — selects (country / region) */
.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-blocks-components-select__select {
  min-height: 52px;
  padding: 1.5rem 2.5rem 0.5rem 1rem;
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 6px;
  background: var(--wp--preset--color--white);
  color: var(--wp--preset--color--near-black);
  font-size: var(--wp--preset--font-size--body);
  line-height: 1.4;
}

.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-blocks-components-select__select:focus {
  border-width: 1px;
  padding: 1.5rem 2.5rem 0.5rem 1rem;
  border-color: var(--wp--preset--color--forest-green);
  box-shadow: 0 0 0 1px var(--wp--preset--color--forest-green);
  outline: none;
}

.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-blocks-components-select__label {
  left: 1rem;
  top: 0.5rem;
  color: var(--wp--preset--color--warm-gray);
  font-size: var(--wp--preset--font-size--small);
  transition: none;
}

.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-blocks-components-select.is-active
  .wc-blocks-components-select__label {
  color: var(--wp--preset--color--near-black);
}

.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-blocks-components-select
  svg {
  fill: var(--wp--preset--color--warm-gray);
}

/* Two-column rows — imię / nazwisko (reinforce WC flex at ≥640) */
@media (min-width: 640px) {
  .zj-checkout
    .wc-block-checkout__billing-fields
    .wc-block-components-address-form,
  .zj-checkout
    .wc-block-checkout__contact-fields
    .wc-block-components-address-form {
    display: flex;
    flex-wrap: wrap;
    gap: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
    justify-content: space-between;
  }

  .zj-checkout
    .wc-block-checkout__billing-fields
    .wc-block-components-address-form
    .wc-block-components-text-input,
  .zj-checkout
    .wc-block-checkout__billing-fields
    .wc-block-components-address-form
    .wc-block-components-select-input,
  .zj-checkout
    .wc-block-checkout__billing-fields
    .wc-block-components-address-form
    .wc-block-components-state-input,
  .zj-checkout
    .wc-block-checkout__contact-fields
    .wc-block-components-address-form
    .wc-block-components-text-input {
    flex: 1 1 calc(50% - var(--wp--preset--spacing--30));
    box-sizing: border-box;
    max-width: calc(50% - var(--wp--preset--spacing--30) / 2);
  }

  .zj-checkout
    .wc-block-checkout__billing-fields
    .wc-block-components-address-form
    .wc-block-components-address-form__address_1,
  .zj-checkout
    .wc-block-checkout__billing-fields
    .wc-block-components-address-form
    .wc-block-components-address-form__address_2,
  .zj-checkout
    .wc-block-checkout__billing-fields
    .wc-block-components-address-form
    .wc-block-components-address-form__company,
  .zj-checkout
    .wc-block-checkout__billing-fields
    .wc-block-components-address-form
    .wc-block-components-address-form__country,
  .zj-checkout
    .wc-block-checkout__billing-fields
    .wc-block-components-address-form
    .wc-block-components-address-form__phone,
  .zj-checkout
    .wc-block-checkout__billing-fields
    .wc-block-components-address-form
    .wc-block-components-address-form__email,
  .zj-checkout
    .wc-block-checkout__billing-fields
    .wc-block-components-address-form
    .wc-block-components-address-form__password {
    flex-basis: 100%;
    max-width: 100%;
  }
}

/* Address line 2 toggle */
.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-block-components-address-form__address_2-toggle {
  margin: 0 0 var(--wp--preset--spacing--20);
  padding: 0;
  border: none;
  background: transparent;
  color: var(--wp--preset--color--forest-green);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
}

.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-block-components-address-form__address_2-toggle:hover,
.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-block-components-address-form__address_2-toggle:focus-visible {
  color: var(--wp--preset--color--sage-green);
  text-decoration: underline;
}

/* Inline field validation */
.zj-checkout
  .wc-block-checkout__contact-fields
  .wc-block-components-text-input.has-error
  input,
.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-block-components-text-input.has-error
  input,
.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-blocks-components-select.has-error
  .wc-blocks-components-select__select {
  border-color: var(--wp--preset--color--error-red);
  box-shadow: 0 0 0 1px var(--wp--preset--color--error-red);
}

.zj-checkout
  .wc-block-checkout__contact-fields
  .wc-block-components-text-input.has-error
  label,
.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-block-components-text-input.has-error
  label,
.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-blocks-components-select.has-error
  .wc-blocks-components-select__label {
  color: var(--wp--preset--color--error-red);
}

.zj-checkout
  .wc-block-checkout__contact-fields
  .wc-block-components-validation-error,
.zj-checkout
  .wc-block-checkout__billing-fields
  .wc-block-components-validation-error {
  padding-top: var(--wp--preset--spacing--20);
  color: var(--wp--preset--color--error-red);
  font-size: var(--wp--preset--font-size--small);
  line-height: 1.4;
}

/* Create account checkbox + password */
.zj-checkout .wc-block-checkout__create-account {
  margin-top: var(--wp--preset--spacing--30);
}

.zj-checkout
  .wc-block-checkout__create-account
  .wc-block-components-checkbox
  label {
  display: inline-flex;
  align-items: flex-start;
  gap: var(--wp--preset--spacing--20);
  color: var(--wp--preset--color--near-black);
  font-size: var(--wp--preset--font-size--body);
  font-weight: 400;
  line-height: 1.5;
  cursor: pointer;
}

.zj-checkout
  .wc-block-checkout__create-account
  .wc-block-components-checkbox__input[type='checkbox'] {
  width: 18px;
  height: 18px;
  min-width: 18px;
  margin-top: 2px;
  border-color: var(--wp--preset--color--light-gray);
  border-radius: 4px;
}

.zj-checkout
  .wc-block-checkout__create-account
  .wc-block-components-checkbox__input[type='checkbox']:focus-visible {
  outline: 2px solid var(--wp--preset--color--forest-green);
  outline-offset: 2px;
}

.zj-checkout
  .wc-block-checkout__create-account
  .wc-block-components-checkbox__mark {
  fill: var(--wp--preset--color--forest-green);
}

.zj-checkout
  .wc-block-checkout__create-account
  .wc-block-components-address-form__password {
  margin-top: var(--wp--preset--spacing--30);
}

.zj-checkout
  .wc-block-checkout__contact-fields
  .wc-block-components-address-form__password {
  flex-basis: 100%;
  max-width: 100%;
}

/* § Checkout — order notes (thread 4) */
.zj-checkout .wc-block-checkout__order-notes {
  margin-top: var(--wp--preset--spacing--30);
}

.zj-checkout
  .wc-block-checkout__order-notes:not(
    :has(.wc-block-components-checkout-step__title)
  )::before {
  content: 'Informacje dodatkowe';
  display: block;
  margin: 0 0 var(--wp--preset--spacing--20);
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: var(--wp--preset--font-size--h-3, 1.25rem);
  font-weight: 700;
  line-height: 1.3;
}

.zj-checkout
  .wc-block-checkout__order-notes
  .wc-block-components-checkout-step__content {
  margin: 0;
}

.zj-checkout .wc-block-checkout__add-note {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--20);
}

.zj-checkout
  .wc-block-checkout__order-notes
  .wc-block-components-checkbox
  label {
  align-items: center;
  gap: var(--wp--preset--spacing--20);
  min-height: 44px;
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--body);
  font-weight: 400;
  line-height: 1.4;
}

.zj-checkout
  .wc-block-checkout__order-notes
  .wc-block-components-checkbox__input[type='checkbox'] {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin: 0;
  border-color: var(--wp--preset--color--light-gray);
  border-radius: 4px;
}

.zj-checkout
  .wc-block-checkout__order-notes
  .wc-block-components-checkbox__input[type='checkbox']:checked {
  background-color: var(--wp--preset--color--forest-green);
  border-color: var(--wp--preset--color--forest-green);
}

.zj-checkout
  .wc-block-checkout__order-notes
  .wc-block-components-checkbox__input[type='checkbox']:focus-visible {
  outline: 2px solid var(--wp--preset--color--forest-green);
  outline-offset: 2px;
}

.zj-checkout
  .wc-block-checkout__order-notes
  .wc-block-components-checkbox__mark {
  fill: var(--wp--preset--color--white);
}

.zj-checkout .wc-block-checkout__order-notes .wc-block-components-textarea {
  width: 100%;
  min-height: 7.5rem;
  margin: 0;
  padding: 12px 16px;
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 6px;
  background: var(--wp--preset--color--white);
  box-shadow: none;
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--body);
  line-height: 1.5;
  resize: vertical;
}

.zj-checkout
  .wc-block-checkout__order-notes
  .wc-block-components-textarea::placeholder {
  color: var(--wp--preset--color--warm-gray);
}

.zj-checkout
  .wc-block-checkout__order-notes
  .wc-block-components-textarea:focus {
  border-color: var(--wp--preset--color--forest-green);
  box-shadow: none;
  outline: 2px solid var(--wp--preset--color--forest-green);
  outline-offset: 2px;
}

.zj-checkout
  .wc-block-checkout__order-notes
  .wc-block-components-textarea:disabled {
  background: var(--wp--preset--color--warm-cream);
  color: var(--wp--preset--color--warm-gray);
  cursor: not-allowed;
}

.zj-checkout .wp-block-woocommerce-checkout-additional-information-block:empty {
  display: none;
}

.zj-checkout
  .wc-block-checkout__additional-information.wp-block-woocommerce-checkout-additional-information-block:not(
    :has(.wc-block-components-checkout-step__title)
  )::before {
  content: 'Informacje dodatkowe';
  display: block;
  margin: 0 0 var(--wp--preset--spacing--20);
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: var(--wp--preset--font-size--h-3, 1.25rem);
  font-weight: 700;
  line-height: 1.3;
}

/* § Checkout — order summary (thread 5) */
.zj-checkout .wc-block-components-order-summary {
  margin: 0;
}

.zj-checkout .wc-block-components-checkout-order-summary__title {
  margin: 0 0 var(--wp--preset--spacing--20);
  padding: 0;
  border: none;
}

.zj-checkout
  .wc-block-components-order-summary
  .wc-block-components-panel__button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--wp--preset--spacing--20);
  width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 0 1.75rem 0 0;
  border: none;
  border-radius: 0;
  background: transparent;
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: var(--wp--preset--font-size--h-3, 1.25rem);
  font-weight: 700;
  line-height: 1.3;
  text-align: left;
  cursor: pointer;
}

.zj-checkout
  .wc-block-components-order-summary
  .wc-block-components-panel__button:hover,
.zj-checkout
  .wc-block-components-order-summary
  .wc-block-components-panel__button:focus-visible {
  color: var(--wp--preset--color--forest-green);
  outline: none;
}

.zj-checkout
  .wc-block-components-order-summary
  .wc-block-components-panel__button-icon {
  position: absolute;
  right: 0;
  top: 50%;
  width: 1.25rem;
  height: 1.25rem;
  fill: var(--wp--preset--color--near-black);
  transform: translateY(-50%);
  transition: transform 150ms ease;
}

.zj-checkout
  .wc-block-components-order-summary
  .wc-block-components-panel__button[aria-expanded='true']
  .wc-block-components-panel__button-icon {
  transform: translateY(-50%) rotate(180deg);
}

.zj-checkout .wc-block-components-order-summary .wc-block-components-panel {
  position: relative;
}

.zj-checkout
  .wp-block-woocommerce-checkout-order-summary-cart-items-block
  .wc-block-components-order-summary__content {
  padding-bottom: var(--wp--preset--spacing--20);
  border-bottom: 1px solid var(--wp--preset--color--light-gray);
}

.zj-checkout .wc-block-components-order-summary-item {
  align-items: flex-start;
  gap: 0;
  padding: var(--wp--preset--spacing--30) 0;
  border-bottom: 1px solid var(--wp--preset--color--light-gray);
}

.zj-checkout .wc-block-components-order-summary-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.zj-checkout .wc-block-components-order-summary-item__image {
  flex-shrink: 0;
  width: 64px;
  margin-top: 0;
  padding-bottom: 0;
}

.zj-checkout .wc-block-components-order-summary-item__image > img {
  width: 64px;
  max-width: 64px;
  height: 64px;
  object-fit: cover;
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 4px;
  background: var(--wp--preset--color--product-bg);
}

.zj-checkout .wc-block-components-order-summary-item__quantity {
  background: var(--wp--preset--color--forest-green);
  border-radius: 999px;
  min-width: 1.25rem;
  min-height: 1.25rem;
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 1;
}

.zj-checkout .wc-block-components-order-summary-item__description {
  flex: 1 1 auto;
  min-width: 0;
  padding: 0 0 0 var(--wp--preset--spacing--40);
}

.zj-checkout
  .wc-block-components-order-summary-item
  .wc-block-components-product-name {
  margin: 0;
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--body);
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.zj-checkout .wc-block-components-order-summary-item__total-price {
  flex-shrink: 0;
  align-self: flex-start;
  margin-left: auto;
  padding-left: var(--wp--preset--spacing--20);
  color: var(--wp--preset--color--near-black);
  font-size: var(--wp--preset--font-size--body);
  font-weight: 700;
  white-space: nowrap;
}

.zj-checkout .wc-block-components-order-summary-item__individual-prices ins,
.zj-checkout .wc-block-cart-item__prices ins {
  color: var(--wp--preset--color--amber-gold);
  font-weight: 700;
  text-decoration: none;
}

.zj-checkout .wc-block-components-order-summary-item__individual-prices del,
.zj-checkout .wc-block-cart-item__prices del {
  color: var(--wp--preset--color--warm-gray);
  font-size: var(--wp--preset--font-size--small);
}

.zj-checkout
  .wc-block-components-order-summary-item
  .wc-block-cart-item__prices {
  margin-top: 0.25rem;
  color: var(--wp--preset--color--near-black);
  font-size: var(--wp--preset--font-size--small);
}

.zj-checkout
  .wc-block-components-order-summary-item
  .wc-block-components-sale-badge {
  display: none;
}

.zj-checkout
  .wc-block-components-order-summary-item
  .wc-block-components-product-metadata__description {
  display: none !important;
}

.zj-checkout
  .wc-block-components-order-summary-item
  .wc-block-components-product-metadata {
  margin-top: 0.25rem;
}

.zj-checkout
  .wc-block-components-order-summary-item
  .wc-block-components-product-metadata
  .iworks-omnibus,
.zj-checkout
  .wc-block-components-order-summary-item
  .wc-block-components-product-metadata
  .zj-omnibus-price,
.zj-checkout
  .wc-block-components-order-summary-item
  .zj-omnibus-price.iworks-omnibus {
  display: block;
  margin: 0;
  color: var(--wp--preset--color--warm-gray);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 400;
  line-height: 1.4;
}

.zj-checkout
  .wc-block-components-order-summary-item
  .wc-block-components-product-metadata
  li:has(.zj-omnibus-price)
  .wc-block-components-product-details__name,
.zj-checkout
  .wc-block-components-order-summary-item
  .wc-block-components-product-metadata
  li:has(.iworks-omnibus)
  .wc-block-components-product-details__name {
  display: none;
}

.zj-checkout .wc-block-components-totals-wrapper {
  margin: 0;
}

.zj-checkout .wc-block-components-totals-item {
  padding-block: var(--wp--preset--spacing--20);
}

.zj-checkout .wc-block-components-totals-item__label {
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--body);
  font-weight: 500;
}

.zj-checkout .wc-block-components-totals-item__value {
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--body);
  font-weight: 600;
}

.zj-checkout
  .wp-block-woocommerce-checkout-order-summary-subtotal-block
  .wc-block-components-totals-item__value {
  font-size: var(--wp--preset--font-size--price, 1.125rem);
  font-weight: 700;
}

.zj-checkout
  .wc-block-components-totals-discount
  .wc-block-components-totals-item__value {
  color: var(--wp--preset--color--forest-green);
}

@media (max-width: 639px) {
  .zj-checkout .wc-block-components-order-summary-item {
    flex-wrap: wrap;
  }

  .zj-checkout .wc-block-components-order-summary-item__total-price {
    flex-basis: 100%;
    margin-left: calc(64px + var(--wp--preset--spacing--40));
    padding-left: 0;
    padding-top: 0.35rem;
    text-align: left;
  }
}

/* § Checkout — shipping (thread 6) */
.zj-checkout #shipping-option .wc-block-components-checkout-step__content,
.zj-checkout
  .wp-block-woocommerce-checkout-shipping-methods-block
  .wc-block-components-checkout-step__content {
  overflow: visible;
}

.zj-checkout
  #shipping-option
  .wc-block-components-shipping-rates-control__package,
.zj-checkout
  .wp-block-woocommerce-checkout-shipping-methods-block
  .wc-block-components-shipping-rates-control__package {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--30);
  margin: 0;
}

.zj-checkout
  #shipping-option
  .wc-block-components-shipping-rates-control__no-shipping-address-message {
  margin: 0;
  padding: var(--wp--preset--spacing--20);
  border: 1px dashed var(--wp--preset--color--light-gray);
  border-radius: 4px;
  background: var(--wp--preset--color--warm-cream);
  color: var(--wp--preset--color--warm-gray);
  font-size: var(--wp--preset--font-size--small);
  line-height: 1.45;
}

.zj-checkout #shipping-option .wc-block-components-radio-control,
.zj-checkout
  .wp-block-woocommerce-checkout-shipping-methods-block
  .wc-block-components-radio-control {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--30);
}

.zj-checkout
  #shipping-option
  .wc-block-components-radio-control--highlight-checked:after,
.zj-checkout
  .wp-block-woocommerce-checkout-shipping-methods-block
  .wc-block-components-radio-control--highlight-checked:after {
  display: none;
}

.zj-checkout
  #shipping-option
  .wc-block-components-radio-control--highlight-checked
  .wc-block-components-radio-control__option:after,
.zj-checkout
  .wp-block-woocommerce-checkout-shipping-methods-block
  .wc-block-components-radio-control--highlight-checked
  .wc-block-components-radio-control__option:after {
  display: none;
}

.zj-checkout
  #shipping-option
  .wc-block-components-radio-control--highlight-checked
  div.wc-block-components-radio-control-accordion-option:after,
.zj-checkout
  .wp-block-woocommerce-checkout-shipping-methods-block
  .wc-block-components-radio-control--highlight-checked
  div.wc-block-components-radio-control-accordion-option:after {
  display: none;
}

.zj-checkout #shipping-option .wc-block-components-radio-control__option,
.zj-checkout
  .wp-block-woocommerce-checkout-shipping-methods-block
  .wc-block-components-radio-control__option {
  position: relative;
  display: block;
  box-sizing: border-box;
  margin: 0;
  padding: 0.75rem;
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 8px;
  background: var(--wp--preset--color--white);
  overflow: hidden;
  cursor: pointer;
  transition:
    border-color 150ms ease,
    background-color 150ms ease;
}

.zj-checkout
  #shipping-option
  .wc-block-components-radio-control__option-checked,
.zj-checkout
  #shipping-option
  .wc-block-components-radio-control__option--checked-option-highlighted,
.zj-checkout
  .wp-block-woocommerce-checkout-shipping-methods-block
  .wc-block-components-radio-control__option-checked,
.zj-checkout
  .wp-block-woocommerce-checkout-shipping-methods-block
  .wc-block-components-radio-control__option--checked-option-highlighted {
  border-color: color-mix(
    in srgb,
    var(--wp--preset--color--forest-green) 20%,
    transparent
  );
  background: color-mix(
    in srgb,
    var(--wp--preset--color--forest-green) 5%,
    var(--wp--preset--color--white)
  );
  box-shadow: none;
}

.zj-checkout #shipping-option .wc-block-components-radio-control__input,
.zj-checkout
  .wp-block-woocommerce-checkout-shipping-methods-block
  .wc-block-components-radio-control__input {
  top: calc(0.75rem + 0.25rem);
  left: 0.75rem;
  width: 1rem;
  height: 1rem;
  margin: 0;
  accent-color: var(--wp--preset--color--forest-green);
  transform: none;
}

.zj-checkout #shipping-option .wc-block-components-radio-control__option-layout,
.zj-checkout
  .wp-block-woocommerce-checkout-shipping-methods-block
  .wc-block-components-radio-control__option-layout {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 0 0 0 calc(1rem + 0.75rem);
}

.zj-checkout #shipping-option .wc-block-components-radio-control__label-group,
.zj-checkout
  .wp-block-woocommerce-checkout-shipping-methods-block
  .wc-block-components-radio-control__label-group {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--wp--preset--spacing--20);
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.zj-checkout #shipping-option .wc-block-components-radio-control__label,
.zj-checkout
  .wp-block-woocommerce-checkout-shipping-methods-block
  .wc-block-components-radio-control__label {
  flex: 1 1 auto;
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--body);
  font-weight: 700;
  line-height: 1.35;
}

.zj-checkout
  #shipping-option
  .wc-block-components-radio-control__secondary-label,
.zj-checkout
  .wp-block-woocommerce-checkout-shipping-methods-block
  .wc-block-components-radio-control__secondary-label {
  flex: 0 0 auto;
  margin: 0;
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--body);
  font-weight: 700;
  line-height: 1.35;
  text-align: right;
  white-space: nowrap;
}

.zj-checkout #shipping-option .wc-block-checkout__shipping-option--free,
.zj-checkout
  .wp-block-woocommerce-checkout-shipping-methods-block
  .wc-block-checkout__shipping-option--free {
  color: var(--wp--preset--color--success-green);
  font-weight: 700;
  text-transform: none;
}

.zj-checkout
  #shipping-option
  :is(
    .shipping-method-description,
    .flexible-shipping-method-description-block,
    .wc-block-components-radio-control__description,
    .wc-block-components-radio-control__secondary-description,
    .apaczka_pl_after_rate_description
  ),
.zj-checkout
  .wp-block-woocommerce-checkout-shipping-methods-block
  :is(
    .shipping-method-description,
    .flexible-shipping-method-description-block,
    .wc-block-components-radio-control__description,
    .wc-block-components-radio-control__secondary-description,
    .apaczka_pl_after_rate_description
  ) {
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin: var(--wp--preset--spacing--10) 0 0;
  padding: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
  color: var(--wp--preset--color--warm-gray);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 400;
  line-height: 1.45;
  text-align: left;
  text-transform: none;
}

.zj-checkout #shipping-option .easypack-shipping-method-logo,
.zj-checkout
  .wp-block-woocommerce-checkout-shipping-methods-block
  .easypack-shipping-method-logo {
  display: block;
  margin-top: var(--wp--preset--spacing--10);
}

.zj-checkout #shipping-option .easypack-shipping-method-logo img,
.zj-checkout
  .wp-block-woocommerce-checkout-shipping-methods-block
  .easypack-shipping-method-logo
  img {
  display: block;
  max-width: 5rem;
  max-height: 2rem;
  width: auto;
  height: auto;
  border: none;
}

.zj-checkout
  #shipping-option
  .wc-block-components-radio-control__option:focus-within,
.zj-checkout
  .wp-block-woocommerce-checkout-shipping-methods-block
  .wc-block-components-radio-control__option:focus-within {
  outline: none;
}

.zj-checkout #shipping-option .wc-block-components-radio-control__input:focus,
.zj-checkout
  .wp-block-woocommerce-checkout-shipping-methods-block
  .wc-block-components-radio-control__input:focus {
  outline: none;
  box-shadow: none;
}

/* Apaczka geowidget — preserve plugin IDs/selectors; align with primary button */
.zj-checkout #apaczka_pl_geowidget_block,
.zj-checkout .apaczka_pl_geowidget_block {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  max-width: 100%;
  min-height: 44px;
  margin: var(--wp--preset--spacing--20) 0 0;
  padding: 0.625rem 1.25rem;
  border: none !important;
  border-radius: 4px;
  background: var(--wp--preset--color--forest-green) !important;
  box-shadow: none !important;
  color: var(--wp--preset--color--white) !important;
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--body) !important;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  cursor: pointer;
}

.zj-checkout #apaczka_pl_geowidget_block:hover,
.zj-checkout .apaczka_pl_geowidget_block:hover,
.zj-checkout #apaczka_pl_geowidget_block:focus-visible,
.zj-checkout .apaczka_pl_geowidget_block:focus-visible {
  background: var(--wp--preset--color--sage-green) !important;
  color: var(--wp--preset--color--white) !important;
}

.zj-checkout #apaczka_selected_point_data,
.zj-checkout .apaczka_selected_point_data {
  margin-top: var(--wp--preset--spacing--20);
  padding: var(--wp--preset--spacing--20);
  border: 2px solid var(--wp--preset--color--forest-green);
  border-radius: 6px;
  background: var(--wp--preset--color--white);
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--small);
  line-height: 1.45;
}

.zj-checkout #apaczka_selected_point_data_wrap {
  margin-top: var(--wp--preset--spacing--20);
}

/* Apaczka map modal — above sticky header (z-index 100) */
.apaczka_pl_geowidget_modal,
#apaczka_pl_checkout_validation_modal {
  z-index: 100000;
}

@media (max-width: 639px) {
  .zj-checkout #shipping-option .wc-block-components-radio-control__label-group,
  .zj-checkout
    .wp-block-woocommerce-checkout-shipping-methods-block
    .wc-block-components-radio-control__label-group {
    flex-direction: row;
    align-items: flex-start;
    gap: var(--wp--preset--spacing--20);
  }

  .zj-checkout
    #shipping-option
    .wc-block-components-radio-control__secondary-label,
  .zj-checkout
    .wp-block-woocommerce-checkout-shipping-methods-block
    .wc-block-components-radio-control__secondary-label {
    text-align: right;
    white-space: nowrap;
  }
}

/* § Checkout — payment (thread 7) — card radios aligned with shipping options */
.zj-checkout
  .wp-block-woocommerce-checkout-payment-block
  .wc-block-components-checkout-step__content,
.zj-checkout
  .wc-block-checkout__payment-method
  .wc-block-components-checkout-step__content {
  overflow: visible;
}

.zj-checkout
  .wp-block-woocommerce-checkout-payment-block
  .wc-block-components-radio-control--highlight-checked:after,
.zj-checkout
  .wp-block-woocommerce-checkout-payment-block
  .wc-block-components-radio-control--highlight-checked
  .wc-block-components-radio-control__option:after,
.zj-checkout
  .wp-block-woocommerce-checkout-payment-block
  .wc-block-components-radio-control--highlight-checked
  div.wc-block-components-radio-control-accordion-option:after {
  display: none;
}

.zj-checkout
  .wp-block-woocommerce-checkout-payment-block
  .wc-block-components-radio-control {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--30);
  margin: 0;
  border: none;
  padding: 0;
}

.zj-checkout
  .wp-block-woocommerce-checkout-payment-block
  .wc-block-components-radio-control-accordion-option {
  position: relative;
  display: block;
  box-sizing: border-box;
  margin: 0;
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 8px;
  background: var(--wp--preset--color--white);
  overflow: hidden;
  cursor: pointer;
  transition:
    border-color 150ms ease,
    background-color 150ms ease;
}

.zj-checkout
  .wp-block-woocommerce-checkout-payment-block
  .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
  border-color: color-mix(
    in srgb,
    var(--wp--preset--color--forest-green) 20%,
    transparent
  );
  background: color-mix(
    in srgb,
    var(--wp--preset--color--forest-green) 5%,
    var(--wp--preset--color--white)
  );
  box-shadow: none;
}

.zj-checkout
  .wp-block-woocommerce-checkout-payment-block
  .wc-block-components-radio-control__option {
  position: relative;
  display: block;
  box-sizing: border-box;
  margin: 0;
  padding: 0.75rem;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  cursor: pointer;
}

.zj-checkout
  .wp-block-woocommerce-checkout-payment-block
  .wc-block-components-radio-control__input {
  top: calc(0.75rem + 0.25rem);
  left: 0.75rem;
  width: 1rem;
  height: 1rem;
  margin: 0;
  accent-color: var(--wp--preset--color--forest-green);
  transform: none;
}

.zj-checkout
  .wp-block-woocommerce-checkout-payment-block
  .wc-block-components-radio-control__option-layout {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 0 0 0 calc(1rem + 0.75rem);
}

.zj-checkout
  .wp-block-woocommerce-checkout-payment-block
  .wc-block-components-radio-control__label-group {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--wp--preset--spacing--20);
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.zj-checkout
  .wp-block-woocommerce-checkout-payment-block
  .wc-block-components-radio-control__label {
  flex: 1 1 auto;
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--body);
  font-weight: 700;
  line-height: 1.35;
}

.zj-checkout
  .wp-block-woocommerce-checkout-payment-block
  .wc-block-components-radio-control__option:focus-within,
.zj-checkout
  .wp-block-woocommerce-checkout-payment-block
  .wc-block-components-radio-control__input:focus {
  outline: none;
  box-shadow: none;
}

.zj-checkout
  .wp-block-woocommerce-checkout-payment-block
  .wc-block-components-payment-method-label {
  font-weight: 700;
}

.zj-checkout
  .wp-block-woocommerce-checkout-payment-block
  .wc-block-components-radio-control__label
  img {
  display: block;
  flex-shrink: 0;
  max-height: 24px;
  width: auto;
  object-fit: contain;
}

.zj-checkout
  .wp-block-woocommerce-checkout-payment-block
  .wc-block-components-radio-control-accordion-content {
  margin: 0;
  padding: 0 0.75rem 0.75rem calc(0.75rem + 1rem + 0.75rem);
  border-top: 1px solid
    color-mix(in srgb, var(--wp--preset--color--light-gray) 85%, transparent);
  background: transparent;
}

.zj-checkout
  .wp-block-woocommerce-checkout-payment-block
  .wc-block-components-radio-control-accordion-option--checked-option-highlighted
  .wc-block-components-radio-control-accordion-content {
  border-top-color: color-mix(
    in srgb,
    var(--wp--preset--color--forest-green) 15%,
    transparent
  );
}

.zj-checkout
  .wp-block-woocommerce-checkout-payment-block
  .p24-payment-container {
  padding: var(--wp--preset--spacing--20) 0 0;
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--small);
  line-height: 1.5;
}

.zj-checkout
  .wp-block-woocommerce-checkout-payment-block
  .p24-payment-container
  a {
  color: var(--wp--preset--color--forest-green);
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.zj-checkout
  .wp-block-woocommerce-checkout-payment-block
  .p24-payment-container
  a:hover,
.zj-checkout
  .wp-block-woocommerce-checkout-payment-block
  .p24-payment-container
  a:focus-visible {
  color: var(--wp--preset--color--sage-green);
}

.zj-checkout
  .wp-block-woocommerce-checkout-payment-block
  .p24-checkbox
  + .p24-checkbox {
  margin-top: var(--wp--preset--spacing--20);
}

.zj-checkout
  .wp-block-woocommerce-checkout-payment-block
  .p24-checkbox
  .wc-block-components-checkbox {
  margin: 0;
  gap: var(--wp--preset--spacing--20);
}

.zj-checkout
  .wp-block-woocommerce-checkout-payment-block
  .p24-checkbox
  .wc-block-components-checkbox__label {
  color: var(--wp--preset--color--near-black);
  font-size: var(--wp--preset--font-size--small);
  line-height: 1.45;
}

.zj-checkout
  .wp-block-woocommerce-checkout-payment-block
  .p24-checkbox
  .wc-block-components-checkbox__input {
  min-width: 18px;
  min-height: 18px;
}

.zj-checkout .wp-block-woocommerce-checkout-payment-block .p24-methods {
  margin-top: var(--wp--preset--spacing--20);
}

.zj-checkout .wp-block-woocommerce-checkout-payment-block .p24-methods__items {
  gap: var(--wp--preset--spacing--20);
}

.zj-checkout .wp-block-woocommerce-checkout-payment-block .p24-method-item {
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 6px;
  background: var(--wp--preset--color--white);
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--small);
  min-height: 44px;
  transition:
    border-color 150ms ease,
    background-color 150ms ease,
    box-shadow 150ms ease;
}

.zj-checkout
  .wp-block-woocommerce-checkout-payment-block
  .p24-method-item:hover {
  border-color: var(--wp--preset--color--forest-green);
  background: var(--wp--preset--color--warm-cream);
}

.zj-checkout
  .wp-block-woocommerce-checkout-payment-block
  .p24-method-item--active {
  outline: none;
  border-color: var(--wp--preset--color--forest-green);
  background: var(--wp--preset--color--warm-cream);
  box-shadow: inset 0 0 0 1px rgba(45, 106, 79, 0.2);
}

.zj-checkout
  .wp-block-woocommerce-checkout-payment-block
  .p24-payment-input
  input[type='text'] {
  min-height: 52px;
  padding: 1.5rem 1rem 0.5rem;
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 4px;
  background: var(--wp--preset--color--white);
  color: var(--wp--preset--color--near-black);
  font-size: var(--wp--preset--font-size--body);
}

.zj-checkout
  .wp-block-woocommerce-checkout-payment-block
  .p24-payment-input
  input[type='text']:focus {
  border-color: var(--wp--preset--color--forest-green);
  box-shadow: 0 0 0 1px var(--wp--preset--color--forest-green);
  outline: none;
}

.zj-checkout
  .wp-block-woocommerce-checkout-payment-block
  .wc-block-components-checkout-step__content::after {
  content: 'Bezpieczna płatność obsługiwana przez Przelewy24';
  display: block;
  margin-top: var(--wp--preset--spacing--30);
  padding-top: var(--wp--preset--spacing--20);
  border-top: 1px solid var(--wp--preset--color--light-gray);
  color: var(--wp--preset--color--warm-gray);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--small);
  line-height: 1.45;
  text-align: center;
}

@media (max-width: 639px) {
  .zj-checkout
    .wp-block-woocommerce-checkout-payment-block
    .wc-block-components-radio-control__label-group {
    flex-direction: row;
    align-items: flex-start;
    gap: var(--wp--preset--spacing--20);
  }

  .zj-checkout
    .wp-block-woocommerce-checkout-payment-block
    .p24-methods__items {
    grid-template-columns: repeat(auto-fit, minmax(6.5rem, 1fr));
  }
}

/* § Checkout — terms & CTA (thread 8) */
.zj-checkout .wp-block-woocommerce-checkout-terms-block {
  margin-top: var(--wp--preset--spacing--30);
}

.zj-checkout .wc-block-checkout__terms {
  margin: 0;
  padding: var(--wp--preset--spacing--30);
  background: var(--wp--preset--color--warm-cream);
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 6px;
  color: var(--wp--preset--color--near-black);
  font-size: var(--wp--preset--font-size--small);
  line-height: 1.5;
}

.zj-checkout .wc-block-checkout__terms--with-separator {
  border-top: none;
  padding-top: var(--wp--preset--spacing--30);
}

.zj-checkout .wc-block-checkout__terms a {
  color: var(--wp--preset--color--forest-green);
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.zj-checkout .wc-block-checkout__terms a:hover,
.zj-checkout .wc-block-checkout__terms a:focus-visible {
  color: var(--wp--preset--color--sage-green);
}

.zj-checkout .wc-block-checkout__terms .wc-block-components-checkbox {
  margin: 0;
}

.zj-checkout .wc-block-checkout__terms .wc-block-components-checkbox label {
  align-items: flex-start;
  gap: 0.75rem;
  font-size: var(--wp--preset--font-size--small);
  line-height: 1.45;
  color: var(--wp--preset--color--near-black);
}

.zj-checkout
  .wc-block-checkout__terms
  .wc-block-components-checkbox
  .wc-block-components-checkbox__input {
  width: 18px;
  height: 18px;
  min-width: 18px;
  margin-top: 2px;
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 4px;
  background: var(--wp--preset--color--white);
  accent-color: var(--wp--preset--color--forest-green);
}

.zj-checkout
  .wc-block-checkout__terms
  .wc-block-components-checkbox
  .wc-block-components-checkbox__input:checked {
  background-color: var(--wp--preset--color--forest-green);
  border-color: var(--wp--preset--color--forest-green);
}

.zj-checkout
  .wc-block-checkout__terms
  .wc-block-components-checkbox
  .wc-block-components-checkbox__input:focus-visible {
  outline: 2px solid var(--wp--preset--color--forest-green);
  outline-offset: 2px;
}

.zj-checkout .wp-block-woocommerce-checkout-actions-block,
.zj-checkout .wc-block-checkout__actions {
  margin: var(--wp--preset--spacing--30) 0 0;
}

.zj-checkout .wc-block-checkout__actions_row {
  flex-direction: column;
  align-items: stretch;
  gap: var(--wp--preset--spacing--20);
}

.zj-checkout
  .wc-block-checkout__actions
  .wc-block-components-checkout-return-to-cart-button {
  min-height: 44px;
  padding: 0.5rem 0;
  color: var(--wp--preset--color--forest-green);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.zj-checkout
  .wc-block-checkout__actions
  .wc-block-components-checkout-return-to-cart-button:hover,
.zj-checkout
  .wc-block-checkout__actions
  .wc-block-components-checkout-return-to-cart-button:focus-visible {
  color: var(--wp--preset--color--sage-green);
}

.zj-checkout .wc-block-components-checkout-place-order-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  max-width: 100%;
  min-height: 52px;
  padding: 0.875rem 1.5rem;
  border: none;
  border-radius: 6px;
  background: var(--wp--preset--color--forest-green);
  color: var(--wp--preset--color--white);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.25;
  text-transform: uppercase;
  transition: background-color 150ms ease;
  box-sizing: border-box;
  overflow-wrap: anywhere;
  white-space: normal;
  text-align: center;
}

.zj-checkout
  .wc-block-components-checkout-place-order-button
  .wc-block-components-checkout-place-order-button__text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

.zj-checkout
  .wc-block-components-checkout-place-order-button
  .wc-block-components-button__text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

.zj-checkout
  .wc-block-components-checkout-place-order-button
  .wc-block-components-button__text::before {
  content: '';
  flex-shrink: 0;
  width: 1.125rem;
  height: 1.125rem;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='11' x='3' y='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='11' x='3' y='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.zj-checkout .wc-block-components-checkout-place-order-button:hover,
.zj-checkout .wc-block-components-checkout-place-order-button:focus-visible {
  background: var(--wp--preset--color--sage-green);
  color: var(--wp--preset--color--white);
}

.zj-checkout .wc-block-components-checkout-place-order-button:focus-visible {
  outline: 2px solid var(--wp--preset--color--forest-green);
  outline-offset: 2px;
}

.zj-checkout .wc-block-components-checkout-place-order-button:disabled,
.zj-checkout .wc-block-components-checkout-place-order-button[disabled] {
  background: var(--wp--preset--color--light-gray);
  color: var(--wp--preset--color--warm-gray);
  cursor: not-allowed;
}

.zj-checkout
  .wc-block-components-checkout-place-order-button--loading
  .wc-block-components-button__text::before {
  visibility: hidden;
}

/* § Checkout — order-received (thread 9) */
.zj-order-received-main {
  max-width: min(1200px, 100% - 2rem);
  margin-inline: auto;
}

.zj-order-received-main .alignwide {
  width: 100%;
  max-width: 1200px;
}

.zj-order-received-main.is-layout-constrained > .alignwide {
  max-width: var(--wp--style--global--wide-size, 1200px);
  width: 100%;
}

/* Break 720px constrained cap; neutralize nested alignwide breakout */
.zj-order-received-main > .alignwide.is-layout-constrained {
  width: 100%;
  max-width: none;
}

.zj-order-received-main > .alignwide .alignwide,
.zj-order-received-main
  .wp-block-column
  :is(
    .wp-block-woocommerce-order-confirmation-totals-wrapper,
    .wp-block-woocommerce-order-confirmation-downloads-wrapper,
    .wp-block-woocommerce-order-confirmation-billing-wrapper,
    .wp-block-woocommerce-order-confirmation-shipping-wrapper,
    .wp-block-woocommerce-order-confirmation-additional-fields-wrapper
  ),
.zj-order-received-main [class*='order-confirmation'].alignwide {
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
}

/* Cards — border-box so horizontal padding does not exceed column width */
.zj-order-received-main .wc-block-order-confirmation-summary-list,
.zj-order-received-main .wc-block-order-confirmation-totals,
.zj-order-received-main .wc-block-order-confirmation-downloads,
.zj-order-received-main
  :is(
    .wp-block-woocommerce-order-confirmation-totals-wrapper,
    .wp-block-woocommerce-order-confirmation-downloads-wrapper,
    .wp-block-woocommerce-order-confirmation-billing-wrapper,
    .wp-block-woocommerce-order-confirmation-shipping-wrapper,
    .wp-block-woocommerce-order-confirmation-additional-fields-wrapper
  ) {
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
}

/* Hero — centered status + checkmark (Stitch) */
.zj-order-received-hero {
  margin-bottom: var(--wp--preset--spacing--40);
  text-align: center;
}

.zj-order-received-hero::before {
  content: '';
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  margin: 0 auto var(--wp--preset--spacing--30);
  border-radius: 50%;
  background-color: var(--wp--preset--color--forest-green);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M8 12.5l2.5 2.5L16 9' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.5rem;
}

.zj-order-received-hero .wp-block-woocommerce-order-confirmation-status h1,
.zj-order-received-hero .wc-block-order-confirmation-status h1,
.zj-order-received-main .wp-block-woocommerce-order-confirmation-status h1,
.zj-order-received-main .wc-block-order-confirmation-status h1 {
  margin: 0 0 var(--wp--preset--spacing--30);
  color: var(--wp--preset--color--forest-green);
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: var(--wp--preset--font-size--heading-1);
  font-weight: 700;
  line-height: 1.2;
}

.zj-order-received-hero .wp-block-woocommerce-order-confirmation-status p,
.zj-order-received-hero .wc-block-order-confirmation-status p,
.zj-order-received-main .wp-block-woocommerce-order-confirmation-status p,
.zj-order-received-main .wc-block-order-confirmation-status p {
  max-width: 36rem;
  margin: 0 auto var(--wp--preset--spacing--40);
  color: var(--wp--preset--color--warm-gray);
  font-size: var(--wp--preset--font-size--medium);
  line-height: 1.5;
}

/* Summary card — 5 rows per Summary.php; CSS reorders to Stitch layout */
.zj-order-received-main .wc-block-order-confirmation-summary-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--wp--preset--spacing--20);
  margin: 0 0 var(--wp--preset--spacing--40);
  padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
  list-style: none;
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 6px;
  background: var(--wp--preset--color--white);
  box-shadow: 0 1px 3px rgba(26, 26, 26, 0.08);
}

.zj-order-received-main .wc-block-order-confirmation-summary-list-item {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  color: var(--wp--preset--color--near-black);
  font-size: var(--wp--preset--font-size--small);
}

.zj-order-received-main
  .wc-block-order-confirmation-summary-list-item:nth-child(1) {
  order: 1;
}

.zj-order-received-main
  .wc-block-order-confirmation-summary-list-item:nth-child(2) {
  order: 2;
}

.zj-order-received-main
  .wc-block-order-confirmation-summary-list-item:nth-child(3) {
  order: 4;
}

.zj-order-received-main
  .wc-block-order-confirmation-summary-list-item:nth-child(4) {
  order: 3;
}

.zj-order-received-main
  .wc-block-order-confirmation-summary-list-item:nth-child(5) {
  order: 5;
  grid-column: 1 / -1;
  flex-direction: column;
  padding-top: var(--wp--preset--spacing--20);
  border-top: 1px solid var(--wp--preset--color--light-gray);
}

.zj-order-received-main .wc-block-order-confirmation-summary-list-item__key {
  color: var(--wp--preset--color--warm-gray);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.zj-order-received-main .wc-block-order-confirmation-summary-list-item__value {
  font-weight: 600;
  color: var(--wp--preset--color--near-black);
}

.zj-order-received-main
  .wc-block-order-confirmation-summary-list-item:first-child
  .wc-block-order-confirmation-summary-list-item__value::before {
  content: '#';
}

.zj-order-received-main
  :is(
    .wp-block-woocommerce-order-confirmation-totals-wrapper,
    .wp-block-woocommerce-order-confirmation-downloads-wrapper,
    .wp-block-woocommerce-order-confirmation-additional-fields-wrapper
  )
  .wp-block-heading {
  margin: 0 0 var(--wp--preset--spacing--20);
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: var(--wp--preset--font-size--heading-3);
  font-weight: 700;
}

.zj-order-received-main .wc-block-order-confirmation-totals,
.zj-order-received-main .wc-block-order-confirmation-downloads {
  margin-bottom: var(--wp--preset--spacing--40);
  padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 6px;
  background: var(--wp--preset--color--white);
  box-shadow: 0 1px 3px rgba(26, 26, 26, 0.08);
}

.zj-order-received-main .wc-block-order-confirmation-totals__table {
  width: 100%;
  border-collapse: collapse;
}

.zj-order-received-main .wc-block-order-confirmation-totals__table thead th {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--wp--preset--color--light-gray);
  background: var(--wp--preset--color--surface-muted);
  color: var(--wp--preset--color--warm-gray);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-align: left;
  text-transform: uppercase;
}

.zj-order-received-main .wc-block-order-confirmation-totals__table tbody td {
  padding: 0.875rem 1rem;
  border-bottom: 1px solid var(--wp--preset--color--light-gray);
  vertical-align: top;
}

.zj-order-received-main
  .wc-block-order-confirmation-totals__table
  tbody
  tr:last-child
  td {
  border-bottom: none;
}

.zj-order-received-main .wc-block-order-confirmation-totals__table a {
  color: var(--wp--preset--color--near-black);
  font-weight: 600;
  text-decoration: none;
}

.zj-order-received-main .wc-block-order-confirmation-totals__table a:hover,
.zj-order-received-main
  .wc-block-order-confirmation-totals__table
  a:focus-visible {
  text-decoration: underline;
}

.zj-order-received-main .wc-block-order-confirmation-totals__table tfoot th,
.zj-order-received-main .wc-block-order-confirmation-totals__table tfoot td {
  padding: 0.75rem 1rem;
  border-top: 1px solid var(--wp--preset--color--light-gray);
}

.zj-order-received-main
  .wc-block-order-confirmation-totals__table
  tfoot
  tr:last-child
  th,
.zj-order-received-main
  .wc-block-order-confirmation-totals__table
  tfoot
  tr:last-child
  td {
  color: var(--wp--preset--color--forest-green);
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: var(--wp--preset--font-size--medium);
  font-weight: 700;
}

/* Address cards — heading + icon inside wrapper card */
.zj-order-received-main
  :is(
    .wp-block-woocommerce-order-confirmation-billing-wrapper,
    .wp-block-woocommerce-order-confirmation-shipping-wrapper
  ) {
  margin-bottom: var(--wp--preset--spacing--40);
  padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 6px;
  background: var(--wp--preset--color--white);
  box-shadow: 0 1px 3px rgba(26, 26, 26, 0.08);
}

.zj-order-received-main .zj-order-received-address__heading {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  margin-bottom: var(--wp--preset--spacing--20);
}

.zj-order-received-main .zj-order-received-address__heading .wp-block-heading {
  margin: 0;
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: var(--wp--preset--font-size--heading-3);
  font-weight: 700;
}

.zj-order-received-main .zj-order-received-address__icon {
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  color: var(--wp--preset--color--forest-green);
}

.zj-order-received-main .wc-block-order-confirmation-billing-address,
.zj-order-received-main .wc-block-order-confirmation-shipping-address {
  margin-bottom: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.zj-order-received-main .wc-block-order-confirmation-billing-address address,
.zj-order-received-main .wc-block-order-confirmation-shipping-address address {
  font-style: normal;
  line-height: 1.6;
  color: var(--wp--preset--color--near-black);
}

.zj-order-received-main .wc-block-order-confirmation-address-wrapper {
  gap: var(--wp--preset--spacing--30);
  margin-bottom: var(--wp--preset--spacing--40);
}

/* CTA — Wróć do sklepu */
.zj-order-received-main .zj-order-received-cta {
  margin: 0 0 var(--wp--preset--spacing--50);
}

.zj-order-received-main .zj-order-received-cta .wp-block-button {
  width: 100%;
}

.zj-order-received-main .zj-order-received-cta .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  min-height: 44px;
  padding: 0.75rem 1.5rem;
  border-radius: 6px;
  background: var(--wp--preset--color--forest-green);
  color: var(--wp--preset--color--white);
  font-weight: 700;
  text-decoration: none;
  text-transform: uppercase;
}

.zj-order-received-main .zj-order-received-cta .wp-block-button__link::after {
  content: '';
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.zj-order-received-main .zj-order-received-cta .wp-block-button__link:hover,
.zj-order-received-main
  .zj-order-received-cta
  .wp-block-button__link:focus-visible {
  background: var(--wp--preset--color--sage-green);
  color: var(--wp--preset--color--white);
}

@media (min-width: 640px) and (max-width: 1023px) {
  .zj-order-received-main .wc-block-order-confirmation-summary-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .zj-order-received-main .zj-order-received-cta .wp-block-button {
    width: auto;
  }

  .zj-order-received-main .zj-order-received-cta .wp-block-button__link {
    width: auto;
    min-width: 14rem;
  }
}

@media (max-width: 639px) {
  .zj-order-received-main {
    overflow-x: clip;
  }

  .zj-order-received-main .alignwide,
  .zj-order-received-main .wc-block-order-confirmation-address-wrapper,
  .zj-order-received-main .wp-block-column,
  .zj-order-received-main
    :is(
      .wp-block-woocommerce-order-confirmation-totals-wrapper,
      .wp-block-woocommerce-order-confirmation-billing-wrapper,
      .wp-block-woocommerce-order-confirmation-shipping-wrapper
    ) {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-inline: 0;
    box-sizing: border-box;
  }

  .zj-order-received-main .wc-block-order-confirmation-summary-list {
    grid-template-columns: 1fr;
    padding-inline: var(--wp--preset--spacing--30);
  }

  .zj-order-received-main .wc-block-order-confirmation-totals,
  .zj-order-received-main .wc-block-order-confirmation-downloads,
  .zj-order-received-main
    :is(
      .wp-block-woocommerce-order-confirmation-billing-wrapper,
      .wp-block-woocommerce-order-confirmation-shipping-wrapper
    ) {
    padding-inline: var(--wp--preset--spacing--30);
  }

  .zj-order-received-main .wc-block-order-confirmation-totals {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .zj-order-received-main .wc-block-order-confirmation-totals__table {
    min-width: 0;
    table-layout: fixed;
  }

  .zj-order-received-main .wc-block-order-confirmation-totals__table th,
  .zj-order-received-main .wc-block-order-confirmation-totals__table td {
    padding-inline: 0.5rem;
    overflow-wrap: anywhere;
  }

  .zj-order-received-main
    .wc-block-order-confirmation-totals__table
    th:last-child {
    width: 5.5rem;
    text-align: right;
  }

  .zj-order-received-main
    .wc-block-order-confirmation-totals__table
    tbody
    td:last-child {
    text-align: right;
    white-space: nowrap;
  }

  .zj-order-received-main
    .wc-block-order-confirmation-totals__table
    tfoot
    td:last-child {
    text-align: right;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .zj-order-received-main .wc-block-order-confirmation-address-wrapper {
    flex-direction: column;
  }
}

/* § Checkout — responsive (thread 9) */
@media (max-width: 639px) {
  .zj-checkout-main {
    max-width: 100%;
    padding-inline: var(--wp--preset--spacing--30);
  }

  .zj-checkout-main > .alignwide > .wp-block-post-title {
    font-size: clamp(1.5rem, 5vw, 2rem);
  }

  .zj-checkout .wc-block-components-checkout-step {
    padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
  }

  .zj-checkout .wc-block-components-checkout-place-order-button {
    min-height: 44px;
  }

  .zj-order-received-main {
    max-width: 100%;
    padding-inline: var(--wp--preset--spacing--30);
  }
}

@media (max-width: 782px) {
  .zj-checkout .zj-checkout-coupon-banner,
  .zj-checkout .wp-block-woocommerce-checkout-order-summary-coupon-form-block {
    padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
  }

  .zj-checkout .wc-block-components-totals-coupon__form {
    flex-direction: column;
  }

  .zj-checkout .wc-block-components-totals-coupon__button {
    width: 100%;
  }
}

@media (min-width: 640px) and (max-width: 1023px) {
  .zj-checkout .wc-block-components-sidebar-layout {
    gap: var(--wp--preset--spacing--30);
  }
}

.zj-footer {
  margin-top: var(--wp--preset--spacing--80);
}

.zj-footer .wp-block-column > * + * {
  margin-block-start: 0;
}

.zj-footer__heading {
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: 1.125rem;
  font-weight: 700;
  margin: 0 0 1rem;
}

.zj-footer__columns.wp-block-columns {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--wp--preset--spacing--50);
  flex-wrap: unset;
}

.zj-footer__columns > .wp-block-column {
  flex-basis: auto;
  flex-grow: 0;
  width: auto;
}

@media (min-width: 640px) {
  .zj-footer__columns.wp-block-columns {
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
  }

  .zj-footer__brand {
    grid-column: 1 / -1;
  }
}

@media (min-width: 1024px) {
  .zj-footer__columns.wp-block-columns {
    grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
    gap: 2rem;
  }

  .zj-footer__brand {
    grid-column: auto;
  }
}

.zj-footer__logo {
  display: block;
  width: fit-content;
  margin-inline: auto;
  margin-bottom: 1.5rem;
  line-height: 0;
}

.zj-footer__logo img {
  height: 50px;
  max-height: 50px;
  width: auto;
  display: block;
}

.zj-footer__brand p {
  margin: 0;
  color: rgba(255, 255, 255, 0.95);
  font-style: normal;
}

.zj-footer .zj-footer__brand p + p {
  margin-block-start: var(--wp--preset--spacing--40);
}

.zj-footer,
.zj-footer p,
.zj-footer a,
.zj-footer a:visited {
  font-style: normal;
  color: var(--wp--preset--color--white);
}

.zj-footer__links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.375rem;
}

.zj-footer .zj-footer__links a,
.zj-footer .zj-footer__links a:visited {
  color: var(--wp--preset--color--white);
  text-decoration: none;
  font-size: var(--wp--preset--font-size--small);
  transition: color 0.2s ease;
}

.zj-footer .zj-footer__contact-link,
.zj-footer .zj-footer__contact-link:visited {
  color: var(--wp--preset--color--white);
  text-decoration: none;
  transition: color 0.2s ease;
}

.zj-footer__links a:hover,
.zj-footer__contact-link:hover {
  color: var(--wp--preset--color--white);
}

.zj-footer__contact {
  display: grid;
  gap: 0.425rem;
  font-size: var(--wp--preset--font-size--small);
}

.zj-footer__contact-meta {
  display: grid;
  gap: 0.25rem;
  margin-bottom: 1rem;
}

.zj-footer__company {
  font-weight: 700;
  margin: 0;
  color: var(--wp--preset--color--white);
}

.zj-footer__address {
  margin: 0;
  color: var(--wp--preset--color--white);
}

.zj-footer__contact-link {
  display: inline-flex;
  gap: 0.6rem;
  align-items: center;
}

@media (max-width: 1023px) {
  .zj-footer__contact-link {
    min-height: 44px;
  }
}

.zj-footer__contact-text {
  overflow-wrap: anywhere;
}

.zj-footer__contact-link[href^='tel:'] {
  font-weight: 700;
  color: #fff;
}

.zj-footer__contact-icon {
  width: 1.2rem;
  height: 1.2rem;
  display: inline-flex;
  color: rgba(255, 255, 255, 0.8);
  flex-shrink: 0;
}

.zj-footer__bar {
  margin-top: 0;
}

.zj-footer__bar p {
  margin: 0;
  color: var(--wp--preset--color--white);
}

.zj-footer__copyright {
  margin: 0;
  color: var(--wp--preset--color--white);
  text-align: left;
}

@media (max-width: 639px) {
  .zj-footer.alignfull {
    padding-top: var(--wp--preset--spacing--50) !important;
    padding-bottom: var(--wp--preset--spacing--50) !important;
  }

  .zj-footer__copyright {
    text-align: center;
  }
}

@media (min-width: 640px) {
  .zj-footer__copyright {
    text-align: left;
  }
}

/* kontakt — parent */
.zj-kontakt-main {
  max-width: min(1200px, 100% - 2rem);
  margin-inline: auto;
}

.zj-kontakt-main .alignwide {
  width: 100%;
  max-width: 1200px;
}

.zj-kontakt-intro,
.zj-kontakt-about,
.zj-kontakt-stores,
.zj-kontakt-map,
.zj-kontakt-cta,
.zj-store-detail {
  max-width: 100%;
}

@media (max-width: 639px) {
  main:has(.zj-kontakt-map),
  .zj-kontakt-store-main,
  .zj-kontakt-store-main .entry-content {
    overflow-x: clip;
  }

  .zj-kontakt-stores {
    padding-inline: var(--wp--preset--spacing--40);
    padding-block: var(--wp--preset--spacing--40);
  }

  .zj-kontakt-stores__grid {
    gap: var(--wp--preset--spacing--40);
  }

  .zj-kontakt-intro.alignwide,
  .zj-kontakt-about.alignwide,
  .zj-kontakt-stores.alignwide,
  .zj-kontakt-map.alignwide,
  .zj-kontakt-cta.alignwide {
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
  }

  .zj-kontakt-map__layout {
    min-width: 0;
  }

  .leaflet-container {
    max-width: 100%;
  }
}

.zj-kontakt-intro__lead {
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-weight: 600;
  margin: 0 0 var(--wp--preset--spacing--30);
}

.zj-kontakt-intro__contacts {
  gap: var(--wp--preset--spacing--30);
}

.zj-kontakt-intro__contacts p {
  margin: 0;
}

.zj-kontakt-intro__contacts a {
  color: var(--wp--preset--color--forest-green);
  font-weight: 700;
  text-decoration: none;
}

.zj-kontakt-intro__contacts a:hover {
  text-decoration: underline;
}

.zj-kontakt-about__title,
.zj-kontakt-stores__title,
.zj-kontakt-map__title,
.zj-kontakt-cta__title {
  font-family: var(--wp--preset--font-family--roboto-slab);
  margin: 0 0 var(--wp--preset--spacing--40);
}

.zj-kontakt-about p {
  margin: 0;
}

.zj-kontakt-about p + p {
  margin-block-start: var(--wp--preset--spacing--30);
}

.zj-kontakt-cta__note {
  opacity: 0.9;
  margin: 0 0 var(--wp--preset--spacing--30);
}

.zj-kontakt-cta__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--wp--preset--spacing--20);
  max-width: 20rem;
  margin-inline: auto;
}

.zj-kontakt-cta__list li {
  margin: 0;
}

.zj-kontakt-cta__link {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  min-height: 44px;
  color: var(--wp--preset--color--white);
  font-weight: 700;
  text-decoration: none;
}

.zj-kontakt-cta__link:hover {
  text-decoration: underline;
}

.zj-kontakt-cta__icon {
  width: 1.2rem;
  height: 1.2rem;
  display: inline-flex;
  flex-shrink: 0;
  color: rgba(255, 255, 255, 0.85);
}

.zj-kontakt-cta__icon svg {
  width: 100%;
  height: 100%;
  fill: currentColor;
}

.zj-kontakt-cta__text {
  overflow-wrap: anywhere;
}

/* kontakt — store cards */
.zj-kontakt-stores {
  padding-block: var(--wp--preset--spacing--50);
}

.zj-kontakt-stores__grid {
  display: grid;
  gap: var(--wp--preset--spacing--40);
}

.zj-store-card {
  display: flex;
  flex-direction: column;
  background: var(--wp--preset--color--white);
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 12px;
  overflow: hidden;
}

.zj-store-card__media {
  display: block;
  line-height: 0;
}

.zj-store-card__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.zj-store-card__body {
  display: grid;
  gap: 0.5rem;
  padding: var(--wp--preset--spacing--40);
}

.zj-store-card__city {
  margin: 0;
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--warm-gray);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 700;
}

.zj-store-card__name {
  margin: 0;
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: 1.125rem;
}

.zj-store-card__name a {
  color: var(--wp--preset--color--near-black);
  text-decoration: none;
}

.zj-store-card__name a:hover {
  color: var(--wp--preset--color--forest-green);
}

.zj-store-card__address,
.zj-store-card__phone {
  margin: 0;
  color: var(--wp--preset--color--warm-gray);
  font-size: var(--wp--preset--font-size--small);
}

.zj-store-card__phone a {
  color: var(--wp--preset--color--forest-green);
  font-weight: 700;
  text-decoration: none;
}

.zj-store-card__cta {
  margin: 0.25rem 0 0;
}

.zj-store-card__link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--wp--preset--color--forest-green);
  font-weight: 700;
  text-decoration: none;
}

.zj-store-card__link:hover {
  text-decoration: underline;
}

/* kontakt — maps */
.zj-kontakt-map {
  padding-block: var(--wp--preset--spacing--50);
}

.zj-kontakt-map__layout {
  display: grid;
  gap: var(--wp--preset--spacing--40);
}

.zj-map {
  width: 100%;
  min-height: 280px;
  border-radius: 12px;
  border: 1px solid var(--wp--preset--color--light-gray);
  overflow: hidden;
  background: var(--wp--preset--color--surface-muted);
}

.zj-map .leaflet-container {
  width: 100%;
  max-width: 100%;
}

.zj-kontakt-map__fallback {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.75rem;
}

.zj-kontakt-map__fallback li {
  display: grid;
  gap: 0.2rem;
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--warm-gray);
}

.zj-kontakt-map__fallback strong {
  color: var(--wp--preset--color--near-black);
}

.leaflet-container a {
  color: var(--wp--preset--color--forest-green);
}

/* kontakt — store detail */
.zj-kontakt-store-main {
  max-width: min(1200px, 100% - 2rem);
  margin-inline: auto;
  padding-block: var(--wp--preset--spacing--40);
}

.zj-kontakt-store-main__back {
  margin: 0 0 var(--wp--preset--spacing--40);
}

.zj-kontakt-store-main__back a {
  color: var(--wp--preset--color--forest-green);
  font-weight: 600;
  text-decoration: none;
}

.zj-kontakt-store-main__back a:hover {
  text-decoration: underline;
}

.zj-store-detail {
  display: grid;
  gap: var(--wp--preset--spacing--60);
}

.zj-store-detail__hero {
  position: relative;
}

.zj-store-detail__hero-image {
  display: block;
  width: 100%;
  height: auto;
  min-height: 220px;
  max-height: 420px;
  object-fit: cover;
  border-radius: 12px;
}

.zj-store-detail__hero-card {
  position: relative;
  z-index: 1;
  width: min(42rem, calc(100% - 2rem));
  max-width: calc(100% - 2rem);
  margin: -3rem auto 0;
  padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40);
  background: var(--wp--preset--color--white);
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(26, 26, 26, 0.12);
  display: grid;
  gap: 0.75rem;
  justify-items: center;
  text-align: center;
}

.zj-store-detail__hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
  padding: 0.35rem 0.85rem;
  border-radius: 9999px;
  background: var(--wp--preset--color--forest-green);
  color: var(--wp--preset--color--white);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 700;
}

.zj-store-detail__hero-badge-icon {
  display: inline-flex;
  width: 1rem;
  height: 1rem;
}

.zj-store-detail__hero-badge-icon svg {
  width: 100%;
  height: 100%;
  fill: currentColor;
}

.zj-store-detail__title {
  margin: 0;
  font-family: var(--wp--preset--font-family--roboto-slab);
  color: var(--wp--preset--color--forest-green);
}

.zj-store-detail__lead {
  margin: 0;
  color: var(--wp--preset--color--warm-gray);
}

.zj-store-detail__grid {
  display: grid;
  gap: var(--wp--preset--spacing--40);
  grid-template-areas:
    'cta'
    'hours'
    'address';
}

.zj-store-detail__card {
  min-width: 0;
  padding: var(--wp--preset--spacing--40);
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 12px;
  background: var(--wp--preset--color--product-bg);
}

.zj-store-detail__card--address {
  grid-area: address;
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--30);
}

.zj-store-detail__card--hours {
  grid-area: hours;
  display: flex;
  flex-direction: column;
}

.zj-store-detail__card--cta {
  grid-area: cta;
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--30);
  background: var(--wp--preset--color--forest-green);
  border-color: transparent;
  color: var(--wp--preset--color--white);
}

.zj-store-detail__card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: var(--wp--preset--spacing--30);
}

.zj-store-detail__card-head-main {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
}

.zj-store-detail__card-icon {
  display: inline-flex;
  width: 1.25rem;
  height: 1.25rem;
  color: var(--wp--preset--color--forest-green);
  flex-shrink: 0;
}

.zj-store-detail__card-icon svg {
  width: 100%;
  height: 100%;
  fill: currentColor;
}

.zj-store-detail__card-title {
  margin: 0;
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: 1.125rem;
}

.zj-store-detail__card--cta .zj-store-detail__card-title {
  color: var(--wp--preset--color--white);
}

.zj-store-detail__address,
.zj-store-detail__cta-note {
  margin: 0;
  color: var(--wp--preset--color--warm-gray);
}

.zj-store-detail__card--cta .zj-store-detail__cta-note {
  flex: 1;
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.9);
}

.zj-store-detail__google-btn,
.zj-store-detail__directions-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: 44px;
  padding: 0.65rem 1.25rem;
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 8px;
  background: var(--wp--preset--color--white);
  color: var(--wp--preset--color--forest-green);
  font-weight: 600;
  text-decoration: none;
}

.zj-store-detail__google-btn {
  margin-top: auto;
  width: 100%;
  max-width: 100%;
}

.zj-store-detail__google-btn:hover,
.zj-store-detail__directions-btn:hover {
  background: var(--wp--preset--color--product-bg);
}

.zj-store-detail__phone-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-height: 44px;
  margin-top: auto;
  padding: 0.75rem 1.25rem;
  border-radius: 9999px;
  background: var(--wp--preset--color--white);
  color: var(--wp--preset--color--forest-green);
  font-weight: 700;
  font-size: 1.125rem;
  text-decoration: none;
}

.zj-store-detail__phone-btn:hover {
  background: var(--wp--preset--color--warm-cream);
}

.zj-store-detail__phone-btn-icon {
  display: inline-flex;
  width: 1rem;
  height: 1rem;
}

.zj-store-detail__phone-btn-icon svg {
  width: 100%;
  height: 100%;
  fill: currentColor;
}

.zj-store-detail__hours {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--wp--preset--font-size--small);
  flex: 1;
}

.zj-store-detail__hours th,
.zj-store-detail__hours td {
  padding: 0.35rem 0;
  text-align: left;
  border-bottom: 1px solid var(--wp--preset--color--light-gray);
}

.zj-store-detail__hours th {
  font-weight: 600;
  color: var(--wp--preset--color--near-black);
  padding-right: 1rem;
  white-space: nowrap;
}

.zj-store-detail__hours tr:last-child th,
.zj-store-detail__hours tr:last-child td {
  border-bottom: 0;
}

.zj-store-detail__status {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0;
  flex-shrink: 0;
  font-size: var(--wp--preset--font-size--small);
  font-weight: 700;
}

.zj-store-detail__status-dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: currentColor;
}

.zj-store-detail__status.is-open {
  color: var(--wp--preset--color--success-green);
}

.zj-store-detail__status.is-closed {
  color: var(--wp--preset--color--warm-gray);
}

.zj-store-detail__map-wrap {
  display: grid;
  gap: var(--wp--preset--spacing--30);
  scroll-margin-top: var(--wp--preset--spacing--60);
}

.zj-store-detail__map-inner {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
}

.zj-store-detail__directions {
  display: grid;
  gap: var(--wp--preset--spacing--30);
  margin-top: var(--wp--preset--spacing--40);
  padding: var(--wp--preset--spacing--40);
  background: var(--wp--preset--color--white);
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 12px;
}

.zj-store-detail__directions-title {
  margin: 0;
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: 1.125rem;
}

.zj-map--single {
  min-height: 320px;
}

@media (max-width: 639px) {
  .zj-kontakt-intro__contacts a,
  .zj-kontakt-cta__link,
  .zj-store-card__phone a,
  .zj-store-detail__phone-btn,
  .zj-store-detail__google-btn,
  .zj-store-card__link {
    min-height: 44px;
    align-items: center;
  }

  .zj-store-detail__directions {
    display: none;
  }

  .zj-map {
    min-height: 240px;
  }
}

@media (min-width: 640px) {
  .zj-kontakt-stores__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .zj-kontakt-map__layout {
    grid-template-columns: 1.4fr 1fr;
    align-items: start;
  }

  .zj-map {
    min-height: 360px;
  }

  .zj-store-detail__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:
      'cta hours'
      'address hours';
  }

  .zj-store-detail__directions {
    position: absolute;
    right: var(--wp--preset--spacing--40);
    bottom: var(--wp--preset--spacing--40);
    width: min(20rem, calc(100% - 2rem));
    margin-top: 0;
    box-shadow: 0 8px 24px rgba(26, 26, 26, 0.12);
  }
}

@media (min-width: 1024px) {
  .zj-kontakt-stores__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .zj-map {
    min-height: 420px;
  }

  .zj-map--single {
    min-height: 400px;
  }
}

/* === Homepage: shared === */
.zj-home {
  --zj-home-radius: 12px;
  --zj-home-section-gap: var(--wp--preset--spacing--70);
}

.zj-home > .wp-block-group.alignwide,
.zj-home.alignwide,
.zj-home > section.alignwide {
  max-width: var(--wp--style--global--wide-size, 1200px);
  width: 100%;
  margin-inline: auto;
  box-sizing: border-box;
}

/* === Homepage: hero === */
.zj-hero-wrap {
  padding-top: var(--wp--preset--spacing--40);
  padding-bottom: var(--wp--preset--spacing--30);
}

.zj-hero {
  max-width: 48rem;
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: var(--zj-home-radius);
  box-shadow: 0 4px 16px rgba(26, 26, 26, 0.06);
}

.zj-hero .wp-block-heading {
  color: var(--wp--preset--color--forest-green);
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: clamp(2rem, 5vw, 3rem);
  line-height: 1.15;
  margin-bottom: var(--wp--preset--spacing--30);
}

.zj-hero__heritage {
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--wp--preset--color--warm-gray);
  margin-bottom: var(--wp--preset--spacing--20);
}

.zj-hero .wp-block-buttons {
  gap: var(--wp--preset--spacing--30);
  flex-wrap: wrap;
}

.zj-hero .wp-block-button__link {
  min-height: 44px;
  border-radius: 9999px;
  padding: 0.75rem 2rem;
}

.zj-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link {
  color: var(--wp--preset--color--white);
}

/* === Homepage: trust-icons === */
.zj-trust-icons {
  margin-top: var(--wp--preset--spacing--40);
  margin-bottom: var(--wp--preset--spacing--40);
  padding: var(--wp--preset--spacing--40);
  background: var(--wp--preset--color--white);
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: var(--zj-home-radius);
  box-shadow: 0 1px 3px rgba(26, 26, 26, 0.06);
}

.zj-trust-icons .wp-block-columns.zj-trust-icons__columns {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--wp--preset--spacing--40);
  width: 100%;
  max-width: 100%;
  margin: 0;
}

.zj-trust-icons .wp-block-column {
  min-width: 0;
}

.zj-trust-icons__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--wp--preset--spacing--20);
  padding: var(--wp--preset--spacing--30);
  height: 100%;
  box-sizing: border-box;
  text-align: center;
  text-decoration: none;
  color: inherit;
  border-radius: var(--zj-home-radius);
  transition: box-shadow 150ms ease;
}

a.zj-trust-icons__item:hover,
a.zj-trust-icons__item:focus-visible {
  box-shadow: 0 4px 12px rgba(26, 26, 26, 0.08);
}

.zj-trust-icons__item .zj-trust-icons__icon {
  margin: 0;
}

.zj-trust-icons__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 9999px;
  background: rgba(45, 106, 79, 0.12);
  color: var(--wp--preset--color--forest-green);
}

.zj-trust-icons__icon svg {
  width: 1.5rem;
  height: 1.5rem;
}

.zj-trust-icons__title {
  margin: 0;
  font-size: var(--wp--preset--font-size--small);
  font-weight: 700;
  color: var(--wp--preset--color--near-black);
}

.zj-trust-icons__text {
  margin: 0;
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--warm-gray);
  line-height: 1.4;
  overflow-wrap: anywhere;
}

/* === Homepage: categories === */
.zj-home-categories {
  padding-top: var(--zj-home-section-gap);
  padding-bottom: var(--wp--preset--spacing--40);
  padding-inline: var(--zj-gutter);
  box-sizing: border-box;
}

.zj-home-categories__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--wp--preset--spacing--20);
  margin-bottom: var(--wp--preset--spacing--50);
  text-align: center;
}

.zj-home-categories__header .wp-block-heading {
  margin: 0;
  color: var(--wp--preset--color--forest-green);
  font-family: var(--wp--preset--font-family--roboto-slab);
}

.zj-home-categories__intro {
  max-width: 40rem;
  margin: 0;
  color: var(--wp--preset--color--warm-gray);
}

.zj-home-categories .wp-block-html {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

.zj-home-categories__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--wp--preset--spacing--20);
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  padding: 0;
}

.zj-home-categories__tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--wp--preset--spacing--20);
  padding: var(--wp--preset--spacing--30);
  min-height: 44px;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  background: var(--wp--preset--color--white);
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: var(--zj-home-radius);
  text-decoration: none;
  color: var(--wp--preset--color--near-black);
  font-weight: 600;
  font-size: var(--wp--preset--font-size--small);
  text-align: center;
  transition:
    border-color 150ms ease,
    box-shadow 150ms ease;
}

.zj-home-categories__tile:hover,
.zj-home-categories__tile:focus-visible {
  border-color: var(--wp--preset--color--forest-green);
  box-shadow: 0 4px 12px rgba(26, 26, 26, 0.08);
}

.zj-home-categories__tile--more {
  border-style: dashed;
  color: var(--wp--preset--color--warm-gray);
}

.zj-home-categories__tile--more .zj-home-categories__icon {
  background: rgba(45, 106, 79, 0.04);
}

.zj-home-categories__tile--more:hover,
.zj-home-categories__tile--more:focus-visible {
  color: var(--wp--preset--color--near-black);
}

.zj-home-categories__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 9999px;
  background: rgba(45, 106, 79, 0.08);
  color: var(--wp--preset--color--forest-green);
}

.zj-home-categories__icon svg {
  width: 1.5rem;
  height: 1.5rem;
}

.zj-home-categories__label {
  width: 100%;
  min-width: 0;
  overflow: hidden;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  hyphens: auto;
}

/* === Homepage: product-grids === */
.zj-home-grid,
.zj-shop-grid {
  --zj-card-image-radius: 12px;
  --zj-card-image-hover-scale: 1.08;
  --zj-card-image-hover-duration: 0.35s;
}

.zj-home-grid {
  --zj-shop-radius: 18px;
  --zj-shop-border: #bfc9c1;
  --zj-shop-content-pad: var(--wp--preset--spacing--30);
  padding-top: var(--wp--preset--spacing--50);
  padding-bottom: var(--wp--preset--spacing--50);
  padding-inline: var(--zj-gutter);
  box-sizing: border-box;
}

/* Constrained group defaults to 720px — product collection uses full alignwide width */
.zj-home-grid.is-layout-constrained > .wp-block-woocommerce-product-collection,
.zj-shop-grid.is-layout-constrained > .wp-block-woocommerce-product-collection {
  width: 100%;
  max-width: 100%;
}

.zj-home-grid__header {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: end;
  gap: var(--wp--preset--spacing--30);
  margin-bottom: var(--wp--preset--spacing--50);
}

.zj-home-grid__header .wp-block-heading {
  grid-column: 2;
  text-align: center;
  margin: 0;
  color: var(--wp--preset--color--forest-green);
  font-family: var(--wp--preset--font-family--roboto-slab);
}

.zj-home-grid__header > p {
  grid-column: 3;
  justify-self: end;
  margin: 0;
}

.zj-home-grid__link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  min-height: 44px;
  font-size: var(--wp--preset--font-size--small);
  font-weight: 600;
  color: var(--wp--preset--color--forest-green);
  text-decoration: none;
}

.zj-home-grid__link:hover,
.zj-home-grid__link:focus-visible {
  text-decoration: underline;
}

.zj-home-grid .wc-block-product-template {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--wp--preset--spacing--20);
  width: 100%;
  max-width: 100%;
}

.zj-home-grid .wc-block-product-template.is-flex-container,
.zj-shop-grid .wc-block-product-template.is-flex-container {
  flex-wrap: unset !important;
}

.zj-home-grid .wc-block-product-template.is-flex-container > li,
.zj-shop-grid .wc-block-product-template.is-flex-container > li {
  width: auto !important;
  min-width: 0;
  max-width: 100%;
  flex: unset !important;
}

.zj-home-grid .wc-block-product,
.zj-shop-grid .wc-block-product {
  width: 100%;
  max-width: 100%;
  background: var(--wp--preset--color--white);
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: var(--zj-home-radius);
  overflow: hidden;
  min-width: 0;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto 1fr auto;
  transition: box-shadow 0.2s ease;
}

.zj-home-grid .wc-block-product:hover,
.zj-shop-grid .wc-block-product:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.zj-home-grid .wc-block-product::before,
.zj-shop-grid .wc-block-product::before {
  content: '';
  grid-column: 1 / -1;
  grid-row: 3;
  align-self: start;
  margin-inline: var(--wp--preset--spacing--30);
  border-top: 1px solid var(--wp--preset--color--light-gray);
  pointer-events: none;
}

.zj-home-grid .wc-block-components-product-image,
.zj-shop-grid .wc-block-components-product-image {
  grid-column: 1 / -1;
  grid-row: 1;
  position: relative;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 1 / 1;
  box-sizing: border-box;
  padding: 0;
  background: var(--wp--preset--color--white);
  overflow: hidden;
}

.zj-home-grid .wc-block-components-product-image a,
.zj-shop-grid .wc-block-components-product-image a {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: var(--zj-card-image-radius);
  text-decoration: none;
}

.zj-home-grid .wc-block-components-product-image a {
  overflow: hidden;
}

.zj-home-grid .wc-block-components-product-image img,
.zj-shop-grid .wc-block-components-product-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--zj-card-image-radius);
}

.zj-home-grid .wc-block-components-product-image img {
  transition: transform var(--zj-card-image-hover-duration) ease;
}

.zj-home-grid .wc-block-product:hover .wc-block-components-product-image img,
.zj-home-grid
  .wc-block-product:focus-within
  .wc-block-components-product-image
  img {
  transform: scale(var(--zj-card-image-hover-scale));
}

.zj-home-grid
  .wc-block-components-product-image
  .wc-block-components-product-sale-badge,
.zj-shop-grid
  .wc-block-components-product-image
  .wc-block-components-product-sale-badge {
  top: var(--wp--preset--spacing--20) !important;
  right: auto !important;
  left: var(--wp--preset--spacing--20) !important;
  margin: 0;
  padding: 0.25rem 0.5rem;
  border: 0;
  border-radius: 4px;
  background: var(--wp--preset--color--amber-gold);
  color: var(--wp--preset--color--white);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.2;
  text-transform: uppercase;
}

.zj-home-grid .wc-block-product .wp-block-post-title,
.zj-home-grid .wc-block-product .wc-block-components-product-title {
  grid-column: 1 / -1;
  grid-row: 2;
  align-self: start;
  margin: 0;
  padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--30)
    var(--wp--preset--spacing--20);
  font-size: var(--wp--preset--font-size--body);
  line-height: 1.35;
}

.zj-home-grid .wc-block-product .wp-block-post-title a,
.zj-home-grid .wc-block-product .wc-block-components-product-title a,
.zj-shop-grid .wc-block-product .wp-block-post-title a,
.zj-shop-grid .wc-block-product .wc-block-components-product-title a {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: var(--wp--preset--color--near-black);
  text-decoration: none;
}

.zj-home-grid .wc-block-product .wp-block-post-title a:hover,
.zj-home-grid .wc-block-product .wp-block-post-title a:focus-visible,
.zj-home-grid .wc-block-product .wc-block-components-product-title a:hover,
.zj-home-grid
  .wc-block-product
  .wc-block-components-product-title
  a:focus-visible,
.zj-shop-grid .wc-block-product .wp-block-post-title a:hover,
.zj-shop-grid .wc-block-product .wp-block-post-title a:focus-visible,
.zj-shop-grid .wc-block-product .wc-block-components-product-title a:hover,
.zj-shop-grid
  .wc-block-product
  .wc-block-components-product-title
  a:focus-visible {
  color: var(--wp--preset--color--forest-green);
  text-decoration: none;
}

.zj-home-grid .wc-block-product .wp-block-woocommerce-product-price,
.zj-shop-grid .wc-block-product .wp-block-woocommerce-product-price {
  grid-column: 1;
  grid-row: 3;
  align-self: end;
  margin: 0;
  padding: var(--wp--preset--spacing--30) 0 var(--wp--preset--spacing--30)
    var(--wp--preset--spacing--30);
}

.zj-home-grid .wc-block-product .wc-block-components-product-price,
.zj-shop-grid .wc-block-product .wc-block-components-product-price {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--wp--preset--color--forest-green);
}

.zj-home-grid .wc-block-product .wc-block-components-product-price del,
.zj-shop-grid .wc-block-product .wc-block-components-product-price del {
  display: block;
  margin-bottom: 0.125rem;
  color: var(--wp--preset--color--warm-gray);
  font-size: 0.75rem;
  font-weight: 400;
  text-decoration: line-through;
}

.zj-home-grid .wc-block-product .wc-block-components-product-price ins,
.zj-shop-grid .wc-block-product .wc-block-components-product-price ins {
  color: var(--wp--preset--color--error-red);
  font-weight: 700;
  text-decoration: none;
}

.zj-home-grid .wc-block-product .wp-block-woocommerce-product-button,
.zj-shop-grid .wc-block-product .wp-block-woocommerce-product-button {
  grid-column: 2;
  grid-row: 3;
  align-self: end;
  width: auto;
  margin: 0;
  padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--30)
    var(--wp--preset--spacing--30) 0;
}

.zj-home-grid
  .wc-block-product
  .wp-block-woocommerce-product-button
  .wp-block-button,
.zj-home-grid
  .wc-block-product
  .wp-block-woocommerce-product-button.wc-block-components-product-button,
.zj-shop-grid
  .wc-block-product
  .wp-block-woocommerce-product-button
  .wp-block-button,
.zj-shop-grid
  .wc-block-product
  .wp-block-woocommerce-product-button.wc-block-components-product-button {
  width: auto;
  margin: 0;
}

.zj-home-grid .wc-block-product .wc-block-components-product-button__button,
.zj-shop-grid .wc-block-product .wc-block-components-product-button__button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 3rem;
  min-width: 44px;
  height: 3rem;
  min-height: 44px;
  padding: 0;
  border: 0;
  border-radius: 9999px;
  background: var(--wp--preset--color--forest-green);
  color: var(--wp--preset--color--white) !important;
  transition: background-color 0.2s ease;
}

.zj-home-grid
  .wc-block-product
  .wc-block-components-product-button__button:hover,
.zj-home-grid
  .wc-block-product
  .wc-block-components-product-button__button:focus-visible,
.zj-shop-grid
  .wc-block-product
  .wc-block-components-product-button__button:hover,
.zj-shop-grid
  .wc-block-product
  .wc-block-components-product-button__button:focus-visible {
  background: var(--wp--preset--color--forest-dark);
  color: var(--wp--preset--color--white);
}

.zj-home-grid
  .wc-block-product
  .wc-block-components-product-button__button
  span,
.zj-shop-grid
  .wc-block-product
  .wc-block-components-product-button__button
  span {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.zj-home-grid
  .wc-block-product
  .wc-block-components-product-button__button::before,
.zj-shop-grid
  .wc-block-product
  .wc-block-components-product-button__button::before {
  content: '';
  display: block;
  width: 1.125rem;
  height: 1.125rem;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

/* Grid cards: icon-only add-to-cart (hide WC "Zobacz koszyk" label) */
.zj-home-grid
  .wc-block-product
  .wp-block-woocommerce-product-button.wc-block-components-product-button,
.zj-shop-grid
  .wc-block-product
  .wp-block-woocommerce-product-button.wc-block-components-product-button {
  flex-direction: row;
  gap: 0;
  white-space: nowrap;
}

.zj-home-grid .wc-block-product .wc-block-components-product-button__button,
.zj-shop-grid .wc-block-product .wc-block-components-product-button__button {
  font-size: 0;
  line-height: 0;
  overflow: hidden;
  text-decoration: none !important;
  flex-shrink: 0;
}

/* Classic WC jQuery injects a sibling "Zobacz koszyk" link after AJAX add */
.zj-home-grid .wc-block-product a.added_to_cart,
.zj-shop-grid .wc-block-product a.added_to_cart {
  display: none !important;
}

.zj-home-grid
  .wc-block-product
  .wc-block-components-product-button__button.loading,
.zj-shop-grid
  .wc-block-product
  .wc-block-components-product-button__button.loading,
.zj-home-grid
  .wc-block-product
  .wc-block-components-product-button__button.zj-atc-loading,
.zj-shop-grid
  .wc-block-product
  .wc-block-components-product-button__button.zj-atc-loading {
  pointer-events: none;
}

.zj-home-grid
  .wc-block-product
  .wc-block-components-product-button__button.loading::before,
.zj-shop-grid
  .wc-block-product
  .wc-block-components-product-button__button.loading::before,
.zj-home-grid
  .wc-block-product
  .wc-block-components-product-button__button.zj-atc-loading::before,
.zj-shop-grid
  .wc-block-product
  .wc-block-components-product-button__button.zj-atc-loading::before {
  animation: zj-atc-spin 0.75s linear infinite;
}

@keyframes zj-atc-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .zj-home-grid
    .wc-block-product
    .wc-block-components-product-button__button.loading::before,
  .zj-shop-grid
    .wc-block-product
    .wc-block-components-product-button__button.loading::before,
  .zj-home-grid
    .wc-block-product
    .wc-block-components-product-button__button.zj-atc-loading::before,
  .zj-shop-grid
    .wc-block-product
    .wc-block-components-product-button__button.zj-atc-loading::before {
    animation: none;
    opacity: 0.55;
  }
}

.zj-home-grid
  .wc-block-product
  .wc-block-components-product-button__button.added,
.zj-shop-grid
  .wc-block-product
  .wc-block-components-product-button__button.added,
.zj-home-grid
  .wc-block-product
  .wc-block-components-product-button__button.zj-in-cart,
.zj-shop-grid
  .wc-block-product
  .wc-block-components-product-button__button.zj-in-cart,
.zj-home-grid
  .wc-block-product
  .wc-block-components-product-button__button.zj-atc-flash,
.zj-shop-grid
  .wc-block-product
  .wc-block-components-product-button__button.zj-atc-flash {
  background: var(--wp--preset--color--forest-green) !important;
  color: var(--wp--preset--color--white) !important;
  border-color: var(--wp--preset--color--forest-green) !important;
}

.zj-home-grid
  .wc-block-product
  .wc-block-components-product-button__button.added::before,
.zj-shop-grid
  .wc-block-product
  .wc-block-components-product-button__button.added::before,
.zj-home-grid
  .wc-block-product
  .wc-block-components-product-button__button.zj-in-cart::before,
.zj-shop-grid
  .wc-block-product
  .wc-block-components-product-button__button.zj-in-cart::before,
.zj-home-grid
  .wc-block-product
  .wc-block-components-product-button__button.zj-atc-flash::before,
.zj-shop-grid
  .wc-block-product
  .wc-block-components-product-button__button.zj-atc-flash::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");
}

.zj-home-grid
  .wc-block-product
  .wc-block-components-product-button__button.zj-atc-flash,
.zj-shop-grid
  .wc-block-product
  .wc-block-components-product-button__button.zj-atc-flash {
  animation: zj-atc-flash-pulse 0.35s ease;
}

@keyframes zj-atc-flash-pulse {
  0% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.08);
  }

  100% {
    transform: scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .zj-home-grid
    .wc-block-product
    .wc-block-components-product-button__button.zj-atc-flash,
  .zj-shop-grid
    .wc-block-product
    .wc-block-components-product-button__button.zj-atc-flash {
    animation: none;
  }
}

/* === Shop: archive layout === */
body.woocommerce-shop,
body.zj-shop-plp {
  background-color: var(--wp--preset--color--warm-cream);
}

.wp-site-blocks > main.zj-shop-main {
  margin-block-start: 0;
}

/* WP default: .wp-block-group.has-background { padding: 1.25em 2.375em } */
.zj-shop-main.has-background,
body.woocommerce-shop .zj-shop-main,
body.zj-shop-plp .zj-shop-main {
  padding: 0;
  background-color: var(--wp--preset--color--warm-cream);
}

.zj-shop-main > .alignwide.is-layout-constrained {
  gap: var(--wp--preset--spacing--40);
}

.zj-shop-archive {
  --zj-shop-archive-separator: #bfc9c1;
  padding-top: var(--wp--preset--spacing--40);
  padding-bottom: 0;
  padding-inline: var(--zj-gutter);
  box-sizing: border-box;
}

.zj-shop-archive .wc-block-breadcrumbs,
.zj-pdp-main .wc-block-breadcrumbs {
  margin-bottom: var(--wp--preset--spacing--30);
}

/* Beat WC `.woocommerce-shop .woocommerce-breadcrumb { display:block; margin:auto }` on /sklep + PDP */
.zj-shop-archive
  .wc-block-breadcrumbs
  .zj-shop-breadcrumb__list.woocommerce-breadcrumb,
.zj-pdp-main
  .wc-block-breadcrumbs
  .zj-shop-breadcrumb__list.woocommerce-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: var(--wp--preset--spacing--20);
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: left;
  color: var(--wp--preset--color--warm-gray);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--small);
  line-height: 1.5;
}

.zj-shop-breadcrumb__item,
.zj-shop-breadcrumb__sep-item {
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.zj-shop-breadcrumb__item {
  gap: 0.5rem;
}

.zj-shop-breadcrumb__link {
  color: var(--wp--preset--color--warm-gray);
  text-decoration: none;
}

.zj-shop-breadcrumb__link:hover,
.zj-shop-breadcrumb__link:focus-visible {
  color: var(--wp--preset--color--forest-green);
}

.zj-shop-breadcrumb__current {
  color: var(--wp--preset--color--forest-green);
  font-weight: 500;
}

.zj-shop-breadcrumb__sep {
  display: block;
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  color: var(--wp--preset--color--warm-gray);
}

.zj-shop-archive .wc-block-breadcrumbs .woocommerce-breadcrumb a,
.zj-pdp-main .wc-block-breadcrumbs .woocommerce-breadcrumb a {
  color: var(--wp--preset--color--warm-gray);
  text-decoration: none;
}

.zj-shop-archive .wc-block-breadcrumbs .woocommerce-breadcrumb a:hover,
.zj-shop-archive .wc-block-breadcrumbs .woocommerce-breadcrumb a:focus-visible,
.zj-pdp-main .wc-block-breadcrumbs .woocommerce-breadcrumb a:hover,
.zj-pdp-main .wc-block-breadcrumbs .woocommerce-breadcrumb a:focus-visible {
  color: var(--wp--preset--color--forest-green);
}

/* Constrained archive group defaults to 720px — toolbar + breadcrumbs span full alignwide width */
.zj-shop-archive.is-layout-constrained > .wc-block-breadcrumbs,
.zj-shop-archive.is-layout-constrained > .zj-shop-breadcrumb,
.zj-shop-archive.is-layout-constrained > .zj-shop-archive__toolbar {
  width: 100%;
  max-width: 100%;
}

.zj-shop-archive__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--wp--preset--spacing--30);
  width: 100%;
  margin-bottom: var(--wp--preset--spacing--30);
}

.zj-shop-archive__toolbar.is-layout-flex {
  align-items: center;
}

.zj-shop-archive__toolbar .wp-block-query-title {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  padding: 0;
  text-align: left;
  color: var(--wp--preset--color--forest-green);
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: var(--wp--preset--font-size--heading-2);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.zj-shop-archive__toolbar .wc-block-catalog-sorting,
.zj-shop-archive__toolbar .woocommerce.wc-block-catalog-sorting {
  flex: 0 0 auto;
  align-self: center;
  width: auto;
  display: flex;
  justify-content: flex-end;
  margin-block: 0;
  margin-left: auto;
}

.zj-shop-archive__toolbar .wc-block-catalog-sorting form {
  display: flex;
  align-items: center;
  gap: var(--wp--preset--spacing--20);
  margin: 0;
}

.zj-shop-archive__toolbar
  .woocommerce.wc-block-catalog-sorting
  .woocommerce-ordering,
.zj-shop-archive__toolbar .wc-block-catalog-sorting .woocommerce-ordering {
  margin: 0;
}

.zj-shop-archive__toolbar .wc-block-catalog-sorting label {
  margin: 0;
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--small);
  white-space: nowrap;
}

.zj-shop-archive__toolbar .wc-block-catalog-sorting select.orderby {
  min-height: 2.75rem;
  padding: 0.5rem 2.25rem 0.5rem 0.75rem;
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 6px;
  background-color: var(--wp--preset--color--white);
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--small);
  line-height: 1.5;
  cursor: pointer;
}

.zj-shop-archive__toolbar
  .wc-block-catalog-sorting
  select.orderby:focus-visible {
  outline: 2px solid var(--wp--preset--color--forest-green);
  outline-offset: 2px;
}

.zj-shop-archive .wp-block-separator.zj-shop-archive__separator {
  width: 100%;
  max-width: none;
  height: 0;
  margin: 0;
  margin-inline: 0;
  border: none;
  border-top: 1px solid var(--zj-shop-archive-separator);
  background: none;
  color: inherit;
  opacity: 1;
}

.zj-shop-archive__description {
  margin: 0 0 var(--wp--preset--spacing--30);
  color: var(--wp--preset--color--near-black);
}

.zj-shop-archive__description:empty {
  display: none;
}

/* === Shop — promocje slider === */
.zj-shop-main .zj-promocje-slider {
  margin-block-start: var(--wp--preset--spacing--40);
  margin-block-end: 0;
  padding-inline: var(--zj-gutter);
  box-sizing: border-box;
}

.zj-promocje-slider + .zj-shop-archive {
  padding-top: 0;
}

.zj-promocje-slider:focus {
  outline: none;
}

.zj-promocje-slider:focus-visible {
  outline: 2px solid var(--wp--preset--color--forest-green);
  outline-offset: 4px;
  border-radius: 12px;
}

.zj-promocje-slider__viewport {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  background: var(--wp--preset--color--white);
  box-shadow: 0 1px 3px rgb(26 26 26 / 8%);
}

.zj-promocje-slider__track {
  display: flex;
  width: 100%;
  transition: transform 400ms ease;
}

@media (prefers-reduced-motion: reduce) {
  .zj-promocje-slider__track {
    transition: none;
  }
}

.zj-promocje-slider__slide {
  flex: 0 0 100%;
  width: 100%;
  min-height: 11.25rem;
  margin: 0;
  border-radius: 0;
}

.zj-promocje-slider__slide--banner {
  display: block;
  aspect-ratio: var(--zj-promocje-aspect, 5 / 2);
  min-height: 11.25rem;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
}

.zj-promocje-slider__slide--banner img,
.zj-promocje-slider__slide--banner .zj-promocje-slider__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.zj-promocje-slider__slide--banner:focus-visible {
  outline: 2px solid var(--wp--preset--color--forest-green);
  outline-offset: -2px;
}

.zj-promocje-slider__slide:not(.is-active) {
  pointer-events: none;
}

.zj-promocje-slider__slide[aria-hidden='true'] .zj-promocje-slider__image,
.zj-promocje-slider__slide[aria-hidden='true'] img {
  pointer-events: none;
}

.zj-promocje-slider__slide .wp-block-cover__inner-container {
  max-width: 42rem;
}

.zj-promocje-slider__prev,
.zj-promocje-slider__next {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  border: none;
  border-radius: 9999px;
  background: rgb(255 255 255 / 92%);
  color: var(--wp--preset--color--forest-green);
  box-shadow: 0 1px 4px rgb(26 26 26 / 16%);
  transform: translateY(-50%);
  cursor: pointer;
  transition:
    background-color 150ms ease,
    color 150ms ease;
}

.zj-promocje-slider__prev svg,
.zj-promocje-slider__next svg {
  width: 1.25rem;
  height: 1.25rem;
}

.zj-promocje-slider__prev {
  left: var(--wp--preset--spacing--30);
}

.zj-promocje-slider__next {
  right: var(--wp--preset--spacing--30);
}

.zj-promocje-slider__prev:hover,
.zj-promocje-slider__prev:focus-visible,
.zj-promocje-slider__next:hover,
.zj-promocje-slider__next:focus-visible {
  background: var(--wp--preset--color--forest-green);
  color: var(--wp--preset--color--white);
}

.zj-promocje-slider__dots {
  position: absolute;
  right: 0;
  bottom: var(--wp--preset--spacing--30);
  left: 0;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
  padding: 0;
  margin: 0;
}

.zj-promocje-slider__dot {
  width: 0.625rem;
  height: 0.625rem;
  padding: 0;
  border: none;
  border-radius: 9999px;
  background: rgb(255 255 255 / 70%);
  box-shadow: 0 0 0 1px rgb(26 26 26 / 12%);
  cursor: pointer;
  transition:
    background-color 150ms ease,
    transform 150ms ease;
}

.zj-promocje-slider__dot.is-active,
.zj-promocje-slider__dot[aria-selected='true'] {
  background: var(--wp--preset--color--forest-green);
  box-shadow: none;
  transform: scale(1.15);
}

.zj-promocje-slider__live.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* No-JS / reduced-motion swipe fallback */
.zj-promocje-slider:not([data-carousel-ready='true'])
  .wp-block-cover.zj-promocje-slider__slide {
  display: block;
}

@media (max-width: 639px) {
  .zj-promocje-slider__slide {
    min-height: 11.25rem;
  }

  .zj-promocje-slider__prev,
  .zj-promocje-slider__next {
    width: 2.5rem;
    height: 2.5rem;
  }

  .zj-promocje-slider__prev {
    left: var(--wp--preset--spacing--20);
  }

  .zj-promocje-slider__next {
    right: var(--wp--preset--spacing--20);
  }
}

@media (min-width: 640px) and (max-width: 1023px) {
  .zj-promocje-slider__slide {
    min-height: 13.75rem;
  }
}

@media (min-width: 1024px) {
  .zj-promocje-slider__slide {
    min-height: 15rem;
  }
}

.zj-shop-layout {
  --zj-shop-radius: 18px;
  --zj-shop-border: #bfc9c1;
  --zj-shop-sidebar-surface: #f6f3f2;
  --zj-shop-sidebar-active: #105238;
  --zj-shop-active-pill-bg: #eae7e7;
  padding-inline: var(--zj-gutter);
  box-sizing: border-box;
}

.zj-shop-layout.is-layout-constrained > .zj-shop-layout__body,
.zj-shop-layout.is-layout-constrained > .zj-shop-layout__mobile-bar {
  width: 100%;
  max-width: 100%;
}

.zj-shop-layout__mobile-bar {
  display: flex;
  margin-bottom: var(--wp--preset--spacing--30);
}

.zj-shop-layout__filter-open {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--wp--preset--spacing--20);
  min-height: 2.75rem;
  padding: 0.5rem 1rem;
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 8px;
  background: var(--wp--preset--color--white);
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 500;
  line-height: 1.5;
  cursor: pointer;
  transition:
    border-color 150ms ease,
    color 150ms ease;
}

.zj-shop-layout__filter-open svg {
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
}

.zj-shop-layout__filter-open:hover,
.zj-shop-layout__filter-open:focus-visible {
  border-color: var(--wp--preset--color--forest-green);
  color: var(--wp--preset--color--forest-green);
}

.zj-shop-layout__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--wp--preset--spacing--40);
  align-items: start;
}

/* WP flow layout adds 24px margin-block-start to children after the first. */
.zj-shop-layout__body > * {
  margin-block-start: 0;
}

.zj-shop-layout__main {
  min-width: 0;
}

.zj-shop-layout__main.is-layout-constrained > .zj-shop-grid {
  width: 100%;
  max-width: 100%;
  margin-block-start: 0;
}

.zj-shop-layout__main .zj-shop-grid {
  padding-top: 0;
  padding-inline: 0;
}

.zj-shop-layout__main.is-layout-constrained > .zj-shop-active-filters {
  width: 100%;
  max-width: 100%;
  margin-block-start: 0;
}

.zj-shop-layout__main .zj-shop-active-filters {
  margin-block-end: var(--wp--preset--spacing--30);
}

/* === Shop: active filter pills === */
.zj-shop-active-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--wp--preset--spacing--20);
  width: 100%;
}

.zj-shop-active-filters__label {
  flex: 0 0 auto;
  margin: 0;
  color: var(--zj-shop-sidebar-active);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 500;
  line-height: 1.4;
}

.zj-shop-active-filters__list {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--wp--preset--spacing--20);
  margin: 0;
  padding: 0;
  list-style: none;
}

.zj-shop-active-filters__item {
  margin: 0;
}

.zj-shop-active-filters__pill {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  background: var(--zj-shop-active-pill-bg);
  color: var(--zj-shop-sidebar-active);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 500;
  line-height: 1.25;
  text-decoration: none;
  transition:
    background-color 150ms ease,
    color 150ms ease;
}

.zj-shop-active-filters__pill:hover,
.zj-shop-active-filters__pill:focus-visible {
  background: color-mix(
    in srgb,
    var(--zj-shop-active-pill-bg) 88%,
    var(--zj-shop-sidebar-active)
  );
  color: var(--zj-shop-sidebar-active);
  text-decoration: none;
}

.zj-shop-active-filters__pill-label {
  white-space: nowrap;
}

.zj-shop-active-filters__pill-icon {
  flex-shrink: 0;
  width: 0.875rem;
  height: 0.875rem;
}

.zj-shop-active-filters__clear {
  flex: 0 0 auto;
  margin-left: auto;
  color: var(--zj-shop-sidebar-active);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 500;
  line-height: 1.4;
  text-decoration: none;
  white-space: nowrap;
}

.zj-shop-active-filters__clear:hover,
.zj-shop-active-filters__clear:focus-visible {
  color: var(--wp--preset--color--forest-green);
  text-decoration: underline;
}

@media (max-width: 639px) {
  .zj-shop-active-filters__clear {
    margin-left: 0;
  }
}

/* === Shop: sidebar === */
.zj-shop-sidebar {
  min-width: 0;
}

.zj-shop-sidebar__panel {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--30);
  overflow: visible;
  border: none;
  border-radius: 0;
  background: transparent;
}

.zj-shop-sidebar__modal-header {
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: var(--wp--preset--spacing--20);
  padding: 1rem;
  border-bottom: 1px solid var(--zj-shop-border);
  background: var(--zj-shop-sidebar-surface);
}

.zj-shop-sidebar__modal-title {
  margin: 0;
  color: var(--zj-shop-sidebar-active);
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: var(--wp--preset--font-size--heading-3);
  font-weight: 600;
  line-height: 1.33;
}

.zj-shop-sidebar__card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--zj-shop-border);
  border-radius: var(--zj-shop-radius);
  background: var(--wp--preset--color--white);
}

.zj-shop-sidebar__card-header {
  padding: 1rem;
  border-bottom: 1px solid var(--zj-shop-border);
  background: var(--zj-shop-sidebar-surface);
  border-radius: var(--zj-shop-radius) var(--zj-shop-radius) 0 0;
}

.zj-shop-sidebar__card-title {
  margin: 0;
  color: var(--zj-shop-sidebar-active);
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: var(--wp--preset--font-size--heading-3);
  font-weight: 600;
  line-height: 1.33;
}

.zj-shop-sidebar__card-body {
  padding: 0.5rem;
}

.zj-shop-sidebar__card--filters .zj-shop-sidebar__card-body {
  padding: 0;
}

.zj-shop-sidebar__close {
  display: none;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--wp--preset--color--near-black);
  cursor: pointer;
}

.zj-shop-sidebar__close svg {
  width: 1.25rem;
  height: 1.25rem;
}

.zj-shop-sidebar__close:hover,
.zj-shop-sidebar__close:focus-visible {
  color: var(--wp--preset--color--forest-green);
}

.zj-shop-sidebar__body {
  display: block;
  overflow-y: auto;
  flex: 1 1 auto;
  min-height: 0;
}

.zj-shop-sidebar__card + .zj-shop-sidebar__card {
  margin-top: var(--wp--preset--spacing--30);
}

.zj-shop-sidebar__clear-wrap {
  margin: 0;
  padding: 0.75rem 1rem 0;
}

.zj-shop-sidebar__clear {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  color: var(--wp--preset--color--forest-green);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 500;
  line-height: 1.5;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.zj-shop-sidebar__clear:hover,
.zj-shop-sidebar__clear:focus-visible {
  color: var(--zj-shop-sidebar-active);
}

.zj-shop-sidebar__filter-section {
  padding: 1rem;
  border-top: 1px solid var(--zj-shop-border);
}

.zj-shop-sidebar__filter-section:first-child {
  border-top: none;
}

.zj-shop-sidebar__filter-title {
  margin: 0 0 0.75rem;
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--body);
  font-weight: 700;
  line-height: 1.5;
}

.zj-shop-sidebar__nav {
  padding: 0;
}

.zj-shop-sidebar__list,
.zj-shop-sidebar__sublist {
  margin: 0;
  padding: 0;
  list-style: none;
}

.zj-shop-sidebar__list {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.zj-shop-sidebar__sublist {
  margin-top: 0.25rem;
  padding-left: 2.25rem;
}

.zj-shop-sidebar__sublist .zj-shop-sidebar__link {
  padding: 0.5rem 0.75rem;
  font-size: var(--wp--preset--font-size--small);
  font-weight: 400;
}

.zj-shop-sidebar__row {
  display: flex;
  align-items: center;
  gap: 0;
  border-radius: 8px;
  transition: background-color 150ms ease;
}

.zj-shop-sidebar__row:hover,
.zj-shop-sidebar__row:focus-within,
.zj-shop-sidebar__item.is-active > .zj-shop-sidebar__row,
.zj-shop-sidebar__item.is-open > .zj-shop-sidebar__row {
  background: var(--zj-shop-sidebar-surface);
}

.zj-shop-sidebar__row:hover .zj-shop-sidebar__link,
.zj-shop-sidebar__row:focus-within .zj-shop-sidebar__link,
.zj-shop-sidebar__row:hover .zj-shop-sidebar__toggle,
.zj-shop-sidebar__row:focus-within .zj-shop-sidebar__toggle,
.zj-shop-sidebar__item.is-active > .zj-shop-sidebar__row .zj-shop-sidebar__link,
.zj-shop-sidebar__item.is-active
  > .zj-shop-sidebar__row
  .zj-shop-sidebar__toggle,
.zj-shop-sidebar__item.is-open > .zj-shop-sidebar__row .zj-shop-sidebar__link,
.zj-shop-sidebar__item.is-open
  > .zj-shop-sidebar__row
  .zj-shop-sidebar__toggle {
  color: var(--zj-shop-sidebar-active);
}

.zj-shop-sidebar__list
  > .zj-shop-sidebar__item.is-active
  > .zj-shop-sidebar__row
  .zj-shop-sidebar__link,
.zj-shop-sidebar__item.has-children.is-open
  > .zj-shop-sidebar__row
  .zj-shop-sidebar__link.is-parent-open {
  font-weight: 700;
}

.zj-shop-sidebar__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
  color: inherit;
}

.zj-shop-sidebar__icon svg {
  width: 1.25rem;
  height: 1.25rem;
}

.zj-shop-sidebar__label {
  min-width: 0;
}

.zj-shop-sidebar__link {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
  padding: 0.5rem 0.75rem;
  border-radius: 8px;
  background: transparent;
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--body);
  font-weight: 400;
  line-height: 1.5;
  text-decoration: none;
  transition: color 150ms ease;
}

/* Beat theme.json default link color on custom PLP pages (e.g. /promocje/). */
.zj-shop-main .zj-shop-sidebar__link,
.zj-shop-main .zj-shop-sidebar__link:visited,
.zj-shop-main .zj-shop-sidebar__clear,
.zj-shop-main .zj-shop-sidebar__brand-row {
  color: var(--wp--preset--color--near-black);
  text-decoration: none;
}

.zj-shop-sidebar button.zj-shop-sidebar__toggle,
.zj-shop-main .zj-shop-sidebar button.zj-shop-sidebar__toggle {
  border: none;
  background: transparent;
  box-shadow: none;
  color: var(--wp--preset--color--near-black);
  min-height: auto;
  padding: 0.5rem 0.75rem;
}

.zj-shop-sidebar button.zj-shop-sidebar__toggle:focus,
.zj-shop-sidebar button.zj-shop-sidebar__toggle:focus-visible,
.zj-shop-main .zj-shop-sidebar button.zj-shop-sidebar__toggle:focus,
.zj-shop-main .zj-shop-sidebar button.zj-shop-sidebar__toggle:focus-visible {
  outline: none;
  border: none;
  box-shadow: none;
}

.zj-shop-sidebar__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  flex-shrink: 0;
  padding: 0.5rem 0.75rem;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--wp--preset--color--near-black);
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  font: inherit;
  transition: color 150ms ease;
}

.zj-shop-sidebar__toggle svg {
  width: 1.25rem;
  height: 1.25rem;
  transition: transform 200ms ease;
}

.zj-shop-sidebar__item.is-open
  > .zj-shop-sidebar__row
  .zj-shop-sidebar__toggle
  svg {
  transform: rotate(180deg);
}

/* Price filter */
.zj-shop-sidebar__price-fieldset,
.zj-shop-sidebar__brands-fieldset {
  margin: 0;
  padding: 0;
  border: none;
}

.zj-shop-sidebar__price-slider {
  position: relative;
  height: 2.75rem;
  margin: 0.5rem 0 0.25rem;
}

.zj-shop-sidebar__price-track {
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  height: 4px;
  border-radius: 999px;
  background: var(--wp--preset--color--light-gray);
  transform: translateY(-50%);
}

.zj-shop-sidebar__price-range {
  position: absolute;
  top: 0;
  bottom: 0;
  border-radius: 999px;
  background: var(--wp--preset--color--forest-green);
}

.zj-shop-sidebar__price-range-input {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  pointer-events: none;
  appearance: none;
  -webkit-appearance: none;
}

.zj-shop-sidebar__price-range-input::-webkit-slider-thumb {
  width: 1.375rem;
  height: 1.375rem;
  border: 2px solid var(--wp--preset--color--white);
  border-radius: 50%;
  background: var(--wp--preset--color--forest-green);
  box-shadow: 0 1px 4px rgba(26, 26, 26, 0.2);
  cursor: pointer;
  pointer-events: auto;
  appearance: none;
  -webkit-appearance: none;
}

.zj-shop-sidebar__price-range-input::-moz-range-thumb {
  width: 1.375rem;
  height: 1.375rem;
  border: 2px solid var(--wp--preset--color--white);
  border-radius: 50%;
  background: var(--wp--preset--color--forest-green);
  box-shadow: 0 1px 4px rgba(26, 26, 26, 0.2);
  cursor: pointer;
  pointer-events: auto;
}

.zj-shop-sidebar__price-range-input--max {
  z-index: 2;
}

.zj-shop-sidebar__price-range-input--min {
  z-index: 3;
}

.zj-shop-sidebar__price-labels {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--wp--preset--spacing--20);
  margin-bottom: 0;
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--small);
  line-height: 1.5;
}

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

/* Brand filter */
.zj-shop-sidebar__brand-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.zj-shop-sidebar__brand-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
  padding: 0.5rem 0.75rem;
  border-radius: 8px;
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--body);
  font-weight: 400;
  line-height: 1.5;
  text-decoration: none;
  transition:
    background-color 150ms ease,
    color 150ms ease;
}

.zj-shop-sidebar__brand-row:hover,
.zj-shop-sidebar__brand-row:focus-visible {
  background: var(--zj-shop-sidebar-surface);
}

.zj-shop-sidebar__brand-row.is-checked {
  color: var(--wp--preset--color--near-black);
}

.zj-shop-sidebar__brand-checkbox {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
  border: 1px solid var(--zj-shop-border);
  border-radius: 4px;
  background: var(--wp--preset--color--white);
}

.zj-shop-sidebar__brand-row.is-checked .zj-shop-sidebar__brand-checkbox {
  border-color: var(--wp--preset--color--forest-green);
  background: var(--wp--preset--color--forest-green);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.75rem;
}

.zj-shop-sidebar__brand-label {
  flex: 1 1 auto;
  min-width: 0;
}

.zj-shop-sidebar__brand-count {
  flex-shrink: 0;
  color: var(--wp--preset--color--warm-gray);
  font-size: var(--wp--preset--font-size--small);
}

.zj-shop-sidebar__brand-row.is-checked .zj-shop-sidebar__brand-count,
.zj-shop-sidebar__brand-row:hover .zj-shop-sidebar__brand-count,
.zj-shop-sidebar__brand-row:focus-visible .zj-shop-sidebar__brand-count {
  color: inherit;
}

.zj-shop-sidebar__backdrop {
  position: fixed;
  inset: 0;
  z-index: 90;
  background: rgba(26, 26, 26, 0.45);
}

body.zj-shop-sidebar-open {
  overflow: hidden;
}

@media (max-width: 1023px) {
  .zj-shop-layout__filter-open {
    width: 100%;
  }

  .zj-shop-sidebar {
    position: fixed;
    z-index: 100;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    padding: var(--zj-gutter);
    pointer-events: none;
    visibility: hidden;
  }

  .zj-shop-sidebar.is-modal-open {
    pointer-events: auto;
    visibility: visible;
  }

  .zj-shop-sidebar__panel {
    display: flex;
    flex-direction: column;
    width: min(100%, 28rem);
    max-height: 85vh;
    min-height: 0;
    gap: 0;
    border-radius: var(--zj-shop-radius);
    background: var(--wp--preset--color--white);
    box-shadow: 0 16px 48px rgba(26, 26, 26, 0.16);
    transform: translateY(1rem);
    opacity: 0;
    transition:
      transform 200ms ease,
      opacity 200ms ease;
    overflow: hidden;
  }

  .zj-shop-sidebar.is-modal-open .zj-shop-sidebar__panel {
    transform: translateY(0);
    opacity: 1;
  }

  .zj-shop-sidebar__modal-header {
    display: flex;
    flex-shrink: 0;
  }

  .zj-shop-sidebar__close {
    display: inline-flex;
  }

  .zj-shop-sidebar__body {
    padding: 1rem;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }
}

@media (max-width: 639px) {
  .zj-shop-sidebar {
    flex-direction: column;
    min-height: 0;
    padding: 0;
    align-items: stretch;
  }

  .zj-shop-sidebar__panel {
    flex: 1 1 0%;
    width: 100%;
    min-height: 0;
    max-height: none;
    border: none;
    border-radius: 0;
    box-shadow: none;
  }

  .zj-shop-sidebar__body {
    padding: 1rem;
  }
}

@media (min-width: 1024px) {
  .zj-shop-layout__mobile-bar {
    display: none;
  }

  .zj-shop-layout__body {
    grid-template-columns: 16rem minmax(0, 1fr);
    gap: var(--wp--preset--spacing--40);
  }

  .zj-shop-sidebar__backdrop {
    display: none !important;
  }
}

.zj-shop-grid .zj-shop-archive__pagination {
  margin-top: var(--wp--preset--spacing--50);
  gap: var(--wp--preset--spacing--20);
}

.zj-shop-grid .zj-shop-archive__pagination .page-numbers,
.zj-shop-grid .zj-shop-archive__pagination .wp-block-query-pagination-previous,
.zj-shop-grid .zj-shop-archive__pagination .wp-block-query-pagination-next {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.75rem;
  min-height: 2.75rem;
  padding: 0.25rem 0.5rem;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--body);
  line-height: 1;
  text-decoration: none;
}

.zj-shop-grid .zj-shop-archive__pagination .page-numbers:hover,
.zj-shop-grid .zj-shop-archive__pagination .page-numbers:focus-visible,
.zj-shop-grid
  .zj-shop-archive__pagination
  .wp-block-query-pagination-previous:hover,
.zj-shop-grid
  .zj-shop-archive__pagination
  .wp-block-query-pagination-previous:focus-visible,
.zj-shop-grid
  .zj-shop-archive__pagination
  .wp-block-query-pagination-next:hover,
.zj-shop-grid
  .zj-shop-archive__pagination
  .wp-block-query-pagination-next:focus-visible {
  color: var(--wp--preset--color--forest-green);
}

.zj-shop-grid .zj-shop-archive__pagination .page-numbers.current {
  background-color: var(--wp--preset--color--forest-green);
  color: var(--wp--preset--color--white);
}

/* === Shop: empty product grid === */
.zj-shop-grid .wp-block-woocommerce-product-collection-no-results {
  width: 100%;
  max-width: 100%;
}

.zj-shop-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--wp--preset--spacing--30);
  margin-top: var(--wp--preset--spacing--40);
  padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--30);
  background: var(--wp--preset--color--white);
  border: 1px solid var(--zj-shop-border, #bfc9c1);
  border-radius: var(--zj-shop-radius, 18px);
  text-align: center;
}

.zj-shop-empty__message {
  margin: 0;
  max-width: 28rem;
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--lead);
  font-weight: 400;
  line-height: 1.5;
  color: var(--wp--preset--color--warm-gray);
}

.zj-shop-empty__clear {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.625rem 1.5rem;
  border: 1px solid var(--wp--preset--color--forest-green);
  border-radius: 9999px;
  background: transparent;
  color: var(--wp--preset--color--forest-green);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--body);
  font-weight: 500;
  line-height: 1.2;
  text-decoration: none;
  transition:
    background-color 0.15s ease,
    color 0.15s ease;
}

.zj-shop-empty__clear:hover,
.zj-shop-empty__clear:focus-visible {
  background: var(--wp--preset--color--warm-cream);
  color: var(--wp--preset--color--forest-green);
  text-decoration: none;
}

@media (max-width: 639px) {
  .zj-shop-archive__toolbar .wp-block-query-title {
    flex: 1 1 100%;
  }

  .zj-shop-archive__toolbar .wc-block-catalog-sorting,
  .zj-shop-archive__toolbar .woocommerce.wc-block-catalog-sorting {
    flex: 1 1 100%;
    width: 100%;
    justify-content: flex-end;
    margin-left: 0;
  }
}

@media (min-width: 640px) {
  .zj-shop-archive {
    padding-top: var(--wp--preset--spacing--50);
  }

  .zj-shop-archive__toolbar {
    flex-wrap: nowrap;
    align-items: center;
  }

  .zj-shop-archive__toolbar .wp-block-query-title {
    flex: 1 1 auto;
    min-width: 0;
    font-size: var(--wp--preset--font-size--heading-1);
  }

  .zj-shop-archive__toolbar .wc-block-catalog-sorting {
    flex: 0 0 auto;
    width: auto;
  }

  .zj-shop-archive__toolbar .woocommerce.wc-block-catalog-sorting {
    margin-left: auto;
    flex: 0 0 auto;
  }
}

@media (min-width: 1024px) {
  .zj-shop-archive__toolbar {
    margin-bottom: var(--wp--preset--spacing--40);
  }
}

/* === Shop: product-grid === */
.zj-shop-grid {
  --zj-shop-radius: 18px;
  --zj-shop-border: #bfc9c1;
  --zj-shop-content-pad: var(--wp--preset--spacing--30);
  padding-top: var(--wp--preset--spacing--40);
  padding-bottom: var(--wp--preset--spacing--50);
  padding-inline: var(--zj-gutter);
  box-sizing: border-box;
}

.zj-shop-grid .wc-block-product-template {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--wp--preset--spacing--20);
  width: 100%;
  max-width: 100%;
}

@media (min-width: 640px) {
  .zj-shop-grid .wc-block-product-template {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--wp--preset--spacing--30);
  }
}

@media (min-width: 1024px) {
  .zj-shop-grid {
    --zj-shop-content-pad: var(--wp--preset--spacing--40);
  }

  .zj-shop-grid .wc-block-product-template {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* Card shell — Stitch PLP: thin border, rounded, no default shadow */
.zj-home-grid .wc-block-product,
.zj-shop-grid .wc-block-product {
  border: 1px solid var(--zj-shop-border);
  border-radius: var(--zj-shop-radius);
  box-shadow: none;
  grid-template-rows: auto auto auto auto;
}

/* WC blocks add margin-bottom between card children; title pad handles spacing */
.zj-home-grid .wc-block-product > :not(:last-child),
.zj-shop-grid .wc-block-product > :not(:last-child) {
  margin-bottom: 0;
}

.zj-home-grid .wc-block-product:hover,
.zj-shop-grid .wc-block-product:hover {
  border-color: #d1d5db;
  box-shadow: 0 4px 16px rgba(26, 26, 26, 0.06);
}

/* Full-width divider belongs under image frame, not above price row */
.zj-home-grid .wc-block-product::before,
.zj-shop-grid .wc-block-product::before {
  display: none;
}

/* Image area — no gray frame; product on white with divider below */
.zj-home-grid .wc-block-components-product-image,
.zj-shop-grid .wc-block-components-product-image {
  aspect-ratio: auto;
  padding: var(--zj-shop-content-pad);
  padding-bottom: var(--zj-shop-content-pad);
  background: var(--wp--preset--color--white);
  border-bottom: 1px solid var(--zj-shop-border);
  overflow: hidden;
  box-sizing: border-box;
  transition: padding var(--zj-card-image-hover-duration) ease;
}

.zj-home-grid .wc-block-product:hover .wc-block-components-product-image,
.zj-home-grid .wc-block-product:focus-within .wc-block-components-product-image,
.zj-shop-grid .wc-block-product:hover .wc-block-components-product-image,
.zj-shop-grid
  .wc-block-product:focus-within
  .wc-block-components-product-image {
  padding: calc(var(--zj-shop-content-pad) / 2);
}

.zj-home-grid .wc-block-components-product-image a,
.zj-shop-grid .wc-block-components-product-image a {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  width: 100%;
  padding: 0;
  background: transparent;
  box-sizing: border-box;
  overflow: visible;
}

.zj-home-grid .wc-block-components-product-image__inner-container,
.zj-shop-grid .wc-block-components-product-image__inner-container {
  display: none;
}

.zj-home-grid .wc-block-components-product-image img,
.zj-shop-grid .wc-block-components-product-image img {
  display: block;
  flex: 0 1 auto;
  width: auto !important;
  height: auto !important;
  max-width: 100%;
  max-height: 100%;
  aspect-ratio: auto !important;
  min-height: 0 !important;
  object-fit: contain;
  padding: 0;
  background: transparent;
}

.zj-home-grid
  .wc-block-components-product-image
  .wc-block-components-product-sale-badge,
.zj-shop-grid
  .wc-block-components-product-image
  .wc-block-components-product-sale-badge {
  top: var(--wp--preset--spacing--20) !important;
  left: auto !important;
  right: var(--wp--preset--spacing--20) !important;
  border-radius: 9999px;
  padding: 0.3125rem 0.625rem;
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

@media (prefers-reduced-motion: reduce) {
  .zj-home-grid .wc-block-components-product-image img {
    transition: none;
  }

  .zj-home-grid .wc-block-product:hover .wc-block-components-product-image img,
  .zj-home-grid
    .wc-block-product:focus-within
    .wc-block-components-product-image
    img {
    transform: none;
  }

  .zj-home-grid .wc-block-components-product-image {
    transition: none;
  }

  .zj-home-grid .wc-block-product:hover .wc-block-components-product-image,
  .zj-home-grid
    .wc-block-product:focus-within
    .wc-block-components-product-image {
    padding: var(--zj-shop-content-pad);
    padding-bottom: var(--zj-shop-content-pad);
  }

  .zj-shop-grid .wc-block-components-product-image {
    transition: none;
  }

  .zj-shop-grid .wc-block-product:hover .wc-block-components-product-image,
  .zj-shop-grid
    .wc-block-product:focus-within
    .wc-block-components-product-image {
    padding: var(--zj-shop-content-pad);
    padding-bottom: var(--zj-shop-content-pad);
  }
}

/* Typography — Stitch product card: label-md → category */
.zj-home-grid .wc-block-product .zj-shop-card__category,
.zj-shop-grid .wc-block-product .zj-shop-card__category {
  grid-column: 1 / -1;
  grid-row: 2;
  margin: 0;
  padding: var(--zj-shop-content-pad) var(--zj-shop-content-pad) 0;
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 400;
  line-height: 1.43;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--wp--preset--color--warm-gray);
}

/* Title — Stitch PLP: regular serif (Source Serif 4 → Roboto Slab 400) */
.zj-home-grid .wc-block-product .wp-block-post-title,
.zj-home-grid .wc-block-product .wc-block-components-product-title,
.zj-shop-grid .wc-block-product .wp-block-post-title,
.zj-shop-grid .wc-block-product .wc-block-components-product-title {
  grid-column: 1 / -1;
  grid-row: 3;
  align-self: start;
  margin: 0;
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: var(--wp--preset--font-size--lead);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
  padding: var(--wp--preset--spacing--20) var(--zj-shop-content-pad)
    var(--wp--preset--spacing--20);
}

.zj-home-grid .wc-block-product .wp-block-post-title a,
.zj-home-grid .wc-block-product .wc-block-components-product-title a,
.zj-shop-grid .wc-block-product .wp-block-post-title a,
.zj-shop-grid .wc-block-product .wc-block-components-product-title a {
  color: var(--wp--preset--color--near-black);
  font-weight: 400;
  font-size: inherit;
}

.zj-home-grid .wc-block-product .wp-block-post-title a:hover,
.zj-home-grid .wc-block-product .wp-block-post-title a:focus-visible,
.zj-home-grid .wc-block-product .wc-block-components-product-title a:hover,
.zj-home-grid
  .wc-block-product
  .wc-block-components-product-title
  a:focus-visible,
.zj-shop-grid .wc-block-product .wp-block-post-title a:hover,
.zj-shop-grid .wc-block-product .wp-block-post-title a:focus-visible,
.zj-shop-grid .wc-block-product .wc-block-components-product-title a:hover,
.zj-shop-grid
  .wc-block-product
  .wc-block-components-product-title
  a:focus-visible {
  color: var(--wp--preset--color--forest-green);
}

/* Rating — hidden for now; restore block in shop-product-grid + grid-row 5 on price/button */
.zj-home-grid .wc-block-product .wp-block-woocommerce-product-rating,
.zj-shop-grid .wc-block-product .wp-block-woocommerce-product-rating {
  display: none;
}

.zj-home-grid .wc-block-product .wc-block-components-product-rating,
.zj-home-grid .wc-block-product .zj-shop-card__rating,
.zj-shop-grid .wc-block-product .wc-block-components-product-rating,
.zj-shop-grid .wc-block-product .zj-shop-card__rating {
  display: flex;
  align-items: center;
  gap: var(--wp--preset--spacing--20);
  margin: 0;
}

.zj-shop-grid .wc-block-product .wc-block-components-product-rating__container {
  display: flex;
  align-items: center;
  gap: var(--wp--preset--spacing--20);
}

.zj-shop-grid .wc-block-product .wc-block-components-product-rating__stars,
.zj-shop-grid .wc-block-product .star-rating {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1;
}

.zj-shop-grid .wc-block-product .star-rating {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1;
  color: var(--wp--preset--color--light-gray);
}

.zj-shop-grid .wc-block-product .star-rating span::before {
  color: var(--wp--preset--color--light-gray);
}

.zj-shop-grid
  .wc-block-product
  .wc-block-components-product-rating__reviews_count,
.zj-shop-grid .wc-block-product .zj-shop-card__rating-empty {
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 400;
  line-height: 1.25;
  color: var(--wp--preset--color--warm-gray);
}

/* Price — Stitch Body-lg bold (Source Sans 3 → Roboto) */
.zj-home-grid .wc-block-product .wp-block-woocommerce-product-price,
.zj-shop-grid .wc-block-product .wp-block-woocommerce-product-price {
  grid-column: 1;
  grid-row: 4;
  align-self: end;
  margin: 0;
  padding: 0 0 var(--zj-shop-content-pad) var(--zj-shop-content-pad);
}

.zj-home-grid .wc-block-product .wp-block-woocommerce-product-button,
.zj-shop-grid .wc-block-product .wp-block-woocommerce-product-button {
  grid-column: 2;
  grid-row: 4;
  align-self: end;
  margin: 0;
  padding: 0 var(--zj-shop-content-pad) var(--zj-shop-content-pad) 0;
}

.zj-home-grid .wc-block-product .wc-block-components-product-price,
.zj-shop-grid .wc-block-product .wc-block-components-product-price {
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--lead);
  font-weight: 700;
  line-height: 1.33;
  color: var(--wp--preset--color--near-black);
}

.zj-home-grid .wc-block-product .wc-block-components-product-price ins,
.zj-shop-grid .wc-block-product .wc-block-components-product-price ins {
  color: var(--wp--preset--color--amber-gold);
}

/* Omnibus — promo cards only, smaller line */
.zj-home-grid
  .wc-block-product:not(:has(.wc-block-components-product-price ins))
  .iworks-omnibus,
.zj-shop-grid
  .wc-block-product:not(:has(.wc-block-components-product-price ins))
  .iworks-omnibus {
  display: none !important;
}

.zj-home-grid .wc-block-product .zj-omnibus-price,
.zj-home-grid .wc-block-product .iworks-omnibus,
.zj-shop-grid .wc-block-product .zj-omnibus-price,
.zj-shop-grid .wc-block-product .iworks-omnibus {
  display: block;
  margin-top: 0.25rem;
  color: var(--wp--preset--color--warm-gray);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: 0.6875rem;
  font-weight: 400;
  line-height: 1.25;
}

/* Add to cart — 48px grey circle per Stitch card */
.zj-home-grid .wc-block-product .wc-block-components-product-button__button,
.zj-shop-grid .wc-block-product .wc-block-components-product-button__button {
  width: 3rem;
  min-width: 48px;
  height: 3rem;
  min-height: 48px;
  background: #f0f0f0;
  color: var(--wp--preset--color--warm-gray) !important;
  border: 1px solid #dcdcdc;
  box-shadow: none;
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease;
}

.zj-home-grid
  .wc-block-product:hover
  .wc-block-components-product-button__button,
.zj-home-grid
  .wc-block-product
  .wc-block-components-product-button__button:hover,
.zj-home-grid
  .wc-block-product
  .wc-block-components-product-button__button:focus-visible,
.zj-shop-grid
  .wc-block-product:hover
  .wc-block-components-product-button__button,
.zj-shop-grid
  .wc-block-product
  .wc-block-components-product-button__button:hover,
.zj-shop-grid
  .wc-block-product
  .wc-block-components-product-button__button:focus-visible {
  background: var(--wp--preset--color--forest-green);
  color: var(--wp--preset--color--white) !important;
  border-color: var(--wp--preset--color--forest-green);
}

/* === Homepage: brands === */
.zj-home-brands {
  padding-top: var(--wp--preset--spacing--50);
  padding-bottom: var(--wp--preset--spacing--50);
}

.zj-home-brands__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--wp--preset--spacing--20);
  margin-bottom: var(--wp--preset--spacing--50);
  text-align: center;
}

.zj-home-brands__header .wp-block-heading,
.zj-home-brands__title {
  margin: 0;
  color: var(--wp--preset--color--forest-green);
  font-family: var(--wp--preset--font-family--roboto-slab);
}

.zj-home-brands__accent {
  width: 3rem;
  height: 0.25rem;
  border-radius: 9999px;
  background: var(--wp--preset--color--amber-gold);
}

.zj-home-brands__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--wp--preset--spacing--30);
  align-items: stretch;
}

.zj-home-brands__tile {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 6rem;
  padding: var(--wp--preset--spacing--30);
  background: var(--wp--preset--color--white);
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: var(--zj-home-radius);
  text-decoration: none;
  transition:
    border-color 150ms ease,
    box-shadow 150ms ease;
}

.zj-home-brands__tile:hover,
.zj-home-brands__tile:focus-visible {
  border-color: rgba(45, 106, 79, 0.35);
  box-shadow: 0 4px 12px rgba(26, 26, 26, 0.08);
}

.zj-home-brands__tile img {
  max-height: 3rem;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  filter: grayscale(100%);
  transition: filter 300ms ease;
}

.zj-home-brands__tile:hover img,
.zj-home-brands__tile:focus-visible img {
  filter: grayscale(0%);
}

/* === Homepage: stores-teaser === */
.zj-home-stores-teaser {
  padding-top: var(--zj-home-section-gap);
  padding-bottom: var(--zj-home-section-gap);
}

.zj-home-stores-teaser__inner {
  max-width: 40rem;
  margin-inline: auto;
  text-align: center;
}

.zj-home-stores-teaser__title {
  margin: 0 0 var(--wp--preset--spacing--30);
  color: var(--wp--preset--color--forest-green);
  font-family: var(--wp--preset--font-family--roboto-slab);
}

.zj-home-stores-teaser__lead,
.zj-home-stores-teaser__note {
  margin: 0 0 var(--wp--preset--spacing--30);
  color: var(--wp--preset--color--warm-gray);
  line-height: 1.6;
}

.zj-home-stores-teaser__cities {
  font-weight: 600;
  color: var(--wp--preset--color--near-black);
}

.zj-home-stores-teaser a.wp-block-button__link.zj-home-stores-teaser__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border-radius: 9999px;
  padding: 0.75rem 1.75rem;
  text-decoration: none;
  color: var(--wp--preset--color--white);
}

.zj-home-stores-teaser
  a.wp-block-button__link.zj-home-stores-teaser__button:hover,
.zj-home-stores-teaser
  a.wp-block-button__link.zj-home-stores-teaser__button:focus-visible {
  color: var(--wp--preset--color--white);
}

/* === Homepage: trust-block (legacy pattern) === */
.zj-home-trust-block {
  padding-top: var(--zj-home-section-gap);
  padding-bottom: var(--zj-home-section-gap);
}

.zj-home-trust-block .wp-block-columns {
  gap: var(--wp--preset--spacing--50);
}

.zj-home-trust-block .wp-block-heading {
  color: var(--wp--preset--color--forest-green);
  font-family: var(--wp--preset--font-family--roboto-slab);
}

.zj-home-trust-block__cities {
  font-weight: 600;
  color: var(--wp--preset--color--near-black);
}

.zj-home-trust-block .wp-block-image img {
  border-radius: var(--zj-home-radius);
  width: 100%;
  height: auto;
  object-fit: cover;
}

.zj-home-trust-block
  .wp-block-button:not(.is-style-outline)
  .wp-block-button__link {
  min-height: 44px;
  border-radius: 9999px;
  padding: 0.75rem 1.75rem;
  color: var(--wp--preset--color--white);
}

.zj-home-trust-block
  .wp-block-button:not(.is-style-outline)
  .wp-block-button__link:hover,
.zj-home-trust-block
  .wp-block-button:not(.is-style-outline)
  .wp-block-button__link:focus-visible {
  color: var(--wp--preset--color--white);
}

/* === Homepage: responsive === */
@media (max-width: 1199px) {
  .zj-home-grid .wc-block-product-template > li:nth-child(n + 5) {
    display: none;
  }
}

@media (max-width: 639px) {
  .zj-hero {
    padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30) !important;
  }

  .zj-trust-icons {
    padding: var(--wp--preset--spacing--30);
  }

  .zj-home-grid__header {
    grid-template-columns: 1fr;
  }

  .zj-home-grid__header .wp-block-heading {
    grid-column: 1;
  }

  .zj-home-grid__header > p {
    grid-column: 1;
    justify-self: end;
  }
}

@media (min-width: 640px) {
  .zj-trust-icons .wp-block-columns.zj-trust-icons__columns {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .zj-home-categories__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .zj-home-brands__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 800px) and (max-width: 1199px) {
  .zj-home-grid .wc-block-product-template {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 1200px) {
  .zj-home-grid .wc-block-product-template {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .zj-home-grid {
    --zj-shop-content-pad: var(--wp--preset--spacing--40);
  }

  .zj-home-categories__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: var(--wp--preset--spacing--20);
  }

  .zj-home-categories__tile {
    gap: var(--wp--preset--spacing--10);
    padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--10);
  }

  .zj-home-categories__icon {
    width: 2.25rem;
    height: 2.25rem;
  }

  .zj-home-categories__icon svg {
    width: 1.125rem;
    height: 1.125rem;
  }

  .zj-home-categories__label {
    font-size: 0.8125rem;
  }

  .zj-home-brands__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}

/* === PDP / single product === */
.zj-pdp-main {
  --zj-shop-radius: 18px;
  --zj-shop-border: #bfc9c1;
  --zj-shop-content-pad: var(--wp--preset--spacing--30);
  --zj-card-image-radius: 12px;
  padding-bottom: var(--wp--preset--spacing--50);
}

@media (min-width: 1024px) {
  .zj-pdp-main {
    --zj-shop-content-pad: var(--wp--preset--spacing--40);
  }
}

.zj-pdp-main.is-layout-constrained > .alignwide {
  max-width: var(--wp--style--global--wide-size);
}

.zj-pdp-main.is-layout-constrained > .alignwide > .wc-block-breadcrumbs,
.zj-pdp-main.is-layout-constrained > .alignwide > .zj-shop-breadcrumb,
.zj-pdp-main.is-layout-constrained > .alignwide > .zj-pdp-related {
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
}

.zj-pdp-hero {
  display: grid;
  gap: var(--wp--preset--spacing--40);
  margin-bottom: var(--wp--preset--spacing--50);
}

@media (min-width: 1024px) {
  .zj-pdp-hero {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
    gap: var(--wp--preset--spacing--70);
  }
}

/* Gallery */
.zj-pdp-hero__gallery,
.zj-pdp-hero__summary {
  margin-block-start: 0;
  padding-block-start: 0;
}

.zj-pdp-hero__gallery > :first-child,
.zj-pdp-hero__summary > :first-child {
  margin-block-start: 0;
}

.zj-pdp-hero__summary > [class*='wp-block-']:first-child {
  margin-block-start: 0;
}

.zj-pdp-hero__gallery .wp-block-woocommerce-product-image-gallery {
  position: relative;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  background: var(--wp--preset--color--white);
  border: 1px solid var(--zj-shop-border);
  border-radius: var(--zj-shop-radius);
  padding: var(--zj-shop-content-pad);
}

.zj-pdp-hero__gallery .woocommerce-product-gallery {
  margin: 0 !important;
  width: 100%;
  float: none;
}

.zj-pdp-hero__gallery .woocommerce-product-gallery__trigger {
  display: none !important;
}

/* Flexslider viewport: fixed 1:1 image cell (500px max) */
.zj-pdp-hero__gallery .woocommerce-product-gallery .flex-viewport {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1;
  margin-inline: auto;
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
}

/* Multi-image gallery: center portrait/landscape slides; gap before thumbs */
.zj-pdp-hero__gallery
  .wp-block-woocommerce-product-image-gallery
  .woocommerce-product-gallery:has(.flex-viewport)
  .woocommerce-product-gallery__image
  a {
  display: flex;
  align-items: center;
  justify-content: center;
}

.zj-pdp-hero__gallery
  .wp-block-woocommerce-product-image-gallery
  .woocommerce-product-gallery:has(.flex-viewport)
  .woocommerce-product-gallery__image
  img {
  margin-inline: auto;
}

.zj-pdp-hero__gallery
  .wp-block-woocommerce-product-image-gallery
  .woocommerce-product-gallery:has(.flex-viewport)
  .flex-control-thumbs {
  margin-top: var(--wp--preset--spacing--40);
}

/* Single-image gallery (no flex-viewport): same 1:1 cell */
.zj-pdp-hero__gallery
  .woocommerce-product-gallery:not(:has(.flex-viewport))
  .woocommerce-product-gallery__wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 1 / 1;
  margin-inline: auto;
}

.zj-pdp-hero__gallery
  .woocommerce-product-gallery:not(:has(.flex-viewport))
  .woocommerce-product-gallery__image {
  float: none;
  width: 100%;
}

.zj-pdp-hero__gallery .woocommerce-product-gallery__image a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: var(--zj-card-image-radius);
  overflow: hidden;
  pointer-events: none;
  cursor: default;
  text-decoration: none;
}

.zj-pdp-hero__gallery .woocommerce-product-gallery__image img {
  display: block;
  width: auto !important;
  height: auto !important;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  border-radius: var(--zj-card-image-radius);
}

.zj-pdp-badges {
  position: absolute;
  top: var(--wp--preset--spacing--20);
  left: var(--wp--preset--spacing--20);
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  pointer-events: none;
}

.zj-pdp-badge {
  display: inline-block;
  margin: 0;
  padding: 0.3125rem 0.625rem;
  border: 0;
  border-radius: 9999px;
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 600;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.zj-pdp-badge--sale,
.zj-pdp-hero__gallery span.onsale.zj-pdp-badge {
  background: var(--wp--preset--color--amber-gold);
  color: var(--wp--preset--color--white);
}

.zj-pdp-badge--new {
  background: var(--wp--preset--color--forest-green);
  color: var(--wp--preset--color--white);
}

/* Match shop grid pill; reset WooCommerce circular sale flash defaults */
.zj-pdp-hero__gallery span.onsale.zj-pdp-badge {
  position: absolute;
  top: var(--wp--preset--spacing--20);
  left: var(--wp--preset--spacing--20);
  right: auto;
  z-index: 3;
  min-width: 0;
  min-height: 0;
  width: auto;
  height: auto;
  padding: 0.3125rem 0.625rem;
  border-radius: 9999px;
  font-size: var(--wp--preset--font-size--small);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.05em;
  text-align: center;
}

.zj-pdp-hero__gallery:has(.onsale) .zj-pdp-badge--new {
  top: calc(var(--wp--preset--spacing--20) + 1.75rem);
}

/* Thumbnail strip — below main frame */
.zj-pdp-hero__gallery
  .wp-block-woocommerce-product-image-gallery
  .woocommerce-product-gallery
  .flex-control-thumbs {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.75rem;
  margin: var(--wp--preset--spacing--20) 0 0;
  padding: 0;
  list-style: none;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.zj-pdp-hero__gallery .flex-control-thumbs li {
  flex: 0 0 4.5rem;
  width: 4.5rem;
  height: 4.5rem;
  margin: 0;
  float: none;
}

.zj-pdp-hero__gallery .flex-control-thumbs li img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px;
  border: 2px solid transparent;
  background: var(--wp--preset--color--white);
  box-sizing: border-box;
  opacity: 1;
}

.zj-pdp-hero__gallery .flex-control-thumbs li img.flex-active,
.zj-pdp-hero__gallery .flex-control-thumbs li:hover img {
  border-color: var(--wp--preset--color--forest-green);
  opacity: 1;
}

.zj-pdp-hero__gallery .flex-control-thumbs:has(> :only-child) {
  display: none;
}

/* Summary */
.zj-pdp-brand {
  margin: 0 0 0.25rem;
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.4;
}

.zj-pdp-brand__link {
  color: var(--wp--preset--color--warm-gray);
  text-decoration: none;
}

.zj-pdp-brand__link:hover,
.zj-pdp-brand__link:focus-visible {
  color: var(--wp--preset--color--forest-green);
}

.zj-pdp-hero__summary .wp-block-post-title {
  margin-block-start: 0;
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: var(--wp--preset--font-size--heading-3);
  font-weight: 400;
  line-height: 1.5;
}

.zj-pdp-hero__summary .wp-block-woocommerce-product-price {
  margin-top: 0;
  margin-bottom: var(--wp--preset--spacing--20);
}

.zj-pdp-hero__summary .wc-block-components-product-price {
  color: var(--wp--preset--color--forest-green);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--price);
  font-weight: 700;
  line-height: 1.2;
}

.zj-pdp-hero__summary .wc-block-components-product-price ins {
  color: var(--wp--preset--color--amber-gold);
  text-decoration: none;
}

.zj-pdp-hero__summary .wc-block-components-product-price del {
  color: var(--wp--preset--color--warm-gray);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 400;
}

.zj-pdp-hero__summary .iworks-omnibus,
.zj-pdp-hero__summary .zj-omnibus-price {
  display: block;
  margin-top: 0.35rem;
  color: var(--wp--preset--color--warm-gray);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 400;
  line-height: 1.4;
}

.zj-pdp-short-desc {
  margin-bottom: var(--wp--preset--spacing--20);
  color: var(--wp--preset--color--near-black);
  font-size: var(--wp--preset--font-size--body);
  line-height: 1.6;
}

.zj-pdp-short-desc ul {
  margin: 0;
  padding-left: 1.25rem;
}

.zj-pdp-status-box {
  margin-bottom: var(--wp--preset--spacing--30);
  padding-block: var(--wp--preset--spacing--30);
  padding-inline: var(--wp--preset--spacing--40);
  background: var(--wp--preset--color--white);
  border: 1px solid #e8e4dc;
  border-radius: 12px;
}

.zj-pdp-status-box__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.zj-pdp-status-box__key {
  color: var(--wp--preset--color--warm-gray);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 400;
  line-height: 1.4;
}

.zj-pdp-status-box__value {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.zj-pdp-status-box__check {
  flex-shrink: 0;
  width: 1.125rem;
  height: 1.125rem;
}

.zj-pdp-status-box__label {
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 600;
  line-height: 1.4;
}

.zj-pdp-status-box--in-stock .zj-pdp-status-box__check {
  color: var(--wp--preset--color--success-green);
}

.zj-pdp-status-box--in-stock .zj-pdp-status-box__label {
  color: var(--wp--preset--color--success-green);
}

.zj-pdp-status-box--out-of-stock .zj-pdp-status-box__check {
  color: var(--wp--preset--color--error-red);
}

.zj-pdp-status-box--out-of-stock .zj-pdp-status-box__label {
  color: var(--wp--preset--color--error-red);
}

.zj-pdp-status-box--backorder .zj-pdp-status-box__check {
  color: var(--wp--preset--color--near-black);
}

.zj-pdp-status-box--backorder .zj-pdp-status-box__label {
  color: var(--wp--preset--color--near-black);
}

/* Add to cart */
.zj-pdp-hero__summary .wp-block-woocommerce-add-to-cart-with-options {
  margin-top: var(--wp--preset--spacing--30);
  margin-bottom: 0;
}

.zj-pdp-hero__summary:has(.zj-pdp-status-box--out-of-stock)
  .wp-block-woocommerce-add-to-cart-with-options {
  display: none;
}

.zj-pdp-hero__summary .wc-block-add-to-cart-with-options {
  width: 100%;
}

.zj-pdp-hero__summary
  .wc-block-add-to-cart-with-options
  .wp-block-group:has(.wc-block-components-quantity-selector) {
  display: flex;
  flex-wrap: nowrap;
  gap: var(--wp--preset--spacing--30);
  align-items: center;
  width: 100%;
}

.zj-pdp-hero__summary
  .wc-block-add-to-cart-with-options
  .wc-block-components-quantity-selector {
  flex-shrink: 0;
  display: inline-flex;
  align-items: stretch;
  width: 10rem;
  height: 48px;
  margin-bottom: 0;
  background: var(--wp--preset--color--white);
  border: 1px solid #e8e4dc;
  border-radius: 8px;
  box-sizing: border-box;
}

.zj-pdp-hero__summary
  .wc-block-add-to-cart-with-options
  .wc-block-components-quantity-selector::after {
  content: none;
}

.zj-pdp-hero__summary
  .wc-block-add-to-cart-with-options
  .wc-block-components-quantity-selector__button {
  flex: 0 0 3rem;
  width: 3rem;
  min-width: 3rem;
  height: 100%;
  margin: 0;
  padding: 0;
  opacity: 1;
  color: var(--wp--preset--color--warm-gray);
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1;
  transition:
    color 150ms ease,
    background-color 150ms ease;
}

.zj-pdp-hero__summary
  .wc-block-add-to-cart-with-options
  .wc-block-components-quantity-selector__button--minus {
  border-radius: 8px 0 0 8px;
}

.zj-pdp-hero__summary
  .wc-block-add-to-cart-with-options
  .wc-block-components-quantity-selector__button--plus {
  border-radius: 0 8px 8px 0;
}

.zj-pdp-hero__summary
  .wc-block-add-to-cart-with-options
  .wc-block-components-quantity-selector__button:hover,
.zj-pdp-hero__summary
  .wc-block-add-to-cart-with-options
  .wc-block-components-quantity-selector__button:focus-visible {
  color: var(--wp--preset--color--forest-green);
  background: var(--wp--preset--color--warm-cream);
  opacity: 1;
}

.zj-pdp-hero__summary
  .wc-block-add-to-cart-with-options
  .wc-block-components-quantity-selector__button:active {
  background: #f0ebe3;
}

.zj-pdp-hero__summary
  .wc-block-add-to-cart-with-options
  .wc-block-components-quantity-selector__input {
  flex: 0 0 4rem;
  width: 4rem;
  min-width: 4rem;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--body);
  font-weight: 400;
  line-height: 1;
  text-align: center;
  box-shadow: none;
  appearance: textfield;
}

.zj-pdp-hero__summary
  .wc-block-add-to-cart-with-options
  .wc-block-components-quantity-selector__input:focus {
  box-shadow: none;
  outline: 2px solid var(--wp--preset--color--forest-green);
  outline-offset: -2px;
}

.zj-pdp-hero__summary
  .wc-block-add-to-cart-with-options
  .wp-block-group:has(.wc-block-components-quantity-selector)
  > .wp-block-woocommerce-add-to-cart-with-options-quantity-selector {
  flex: 0 0 auto;
}

.zj-pdp-hero__summary
  .wc-block-add-to-cart-with-options
  .wp-block-group:has(.wc-block-components-quantity-selector)
  > .wp-block-button.wc-block-components-product-button {
  display: flex !important;
  flex: 1 1 0 !important;
  flex-direction: row !important;
  align-items: stretch !important;
  gap: 0 !important;
  width: auto;
  min-width: 0;
  max-width: none;
  align-self: stretch;
}

.zj-pdp-hero__summary
  .wc-block-add-to-cart-with-options
  .wp-block-button.wc-block-components-product-button.align-left {
  align-items: stretch !important;
}

.zj-pdp-hero__summary
  .wc-block-add-to-cart-with-options
  .wp-block-button.wc-block-components-product-button
  .wp-block-button__link {
  width: 100% !important;
  max-width: none !important;
}

.zj-pdp-hero__summary .single_add_to_cart_button,
.zj-pdp-hero__summary .wc-block-components-product-button__button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  height: 48px;
  min-height: 48px;
  padding: 0.75rem 1.5rem;
  background: var(--wp--preset--color--forest-green) !important;
  color: var(--wp--preset--color--white) !important;
  border: none;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(26, 26, 26, 0.08);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--body);
  font-weight: 500;
  line-height: 1.25;
  transition: background-color 200ms ease;
}

.zj-pdp-hero__summary .wc-block-components-product-button__button::before {
  content: '';
  display: block;
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.zj-pdp-hero__summary .single_add_to_cart_button:hover,
.zj-pdp-hero__summary .single_add_to_cart_button:focus-visible,
.zj-pdp-hero__summary .wc-block-components-product-button__button:hover,
.zj-pdp-hero__summary
  .wc-block-components-product-button__button:focus-visible {
  background: var(--wp--preset--color--sage-green) !important;
}

@media (max-width: 639px) {
  .zj-pdp-hero__summary
    .wc-block-add-to-cart-with-options
    .wp-block-group:has(.wc-block-components-quantity-selector) {
    flex-direction: column;
    align-items: stretch;
  }

  .zj-pdp-hero__summary
    .wc-block-add-to-cart-with-options
    .wp-block-group:has(.wc-block-components-quantity-selector)
    > .wp-block-button.wc-block-components-product-button {
    flex: 1 1 auto !important;
    width: 100%;
  }

  .zj-pdp-hero__summary
    .wc-block-add-to-cart-with-options
    .wc-block-components-quantity-selector {
    width: 100%;
  }
}

.zj-pdp-hero__summary .variations select,
.zj-pdp-hero__summary .wc-block-add-to-cart-with-options select {
  width: 100%;
  margin-bottom: var(--wp--preset--spacing--20);
}

/* Post-add / persistent view-cart CTA */
.zj-pdp-cart-cta {
  margin-top: var(--wp--preset--spacing--30);
}

.zj-pdp-cart-cta[hidden] {
  display: none;
}

.zj-pdp-cart-cta__message {
  margin: 0 0 var(--wp--preset--spacing--20);
  color: var(--wp--preset--color--success-green);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--body);
  font-weight: 500;
  line-height: 1.4;
}

.zj-pdp-cart-cta__button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  padding: 0.75rem 1.5rem;
  background: var(--wp--preset--color--white);
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 6px;
  color: var(--wp--preset--color--forest-green);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--body);
  font-weight: 500;
  line-height: 1.25;
  cursor: pointer;
  transition:
    background-color 150ms ease,
    border-color 150ms ease;
}

.zj-pdp-cart-cta__button:hover,
.zj-pdp-cart-cta__button:focus-visible {
  background: var(--wp--preset--color--warm-cream);
  border-color: var(--wp--preset--color--forest-green);
  color: var(--wp--preset--color--forest-green);
}

/* Trust lines */
.zj-pdp-trust-wrap {
  margin-top: var(--wp--preset--spacing--40);
  padding-top: var(--wp--preset--spacing--40);
  border-top: 1px solid #e8e4dc;
}

.zj-pdp-trust {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--40);
  margin: 0;
  padding: 0;
  list-style: none;
}

.zj-pdp-trust__item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--wp--preset--color--warm-gray);
  font-size: var(--wp--preset--font-size--small);
  line-height: 1.4;
}

.zj-pdp-trust__icon {
  flex-shrink: 0;
  width: 1.125rem;
  height: 1.125rem;
  color: var(--wp--preset--color--warm-gray);
}

/* Content sections */
.zj-pdp-content-sections {
  margin-top: 0;
  margin-bottom: var(--wp--preset--spacing--50);
}

.zj-pdp-content-section + .zj-pdp-content-section {
  margin-top: var(--wp--preset--spacing--50);
}

.zj-pdp-content-section__title {
  margin: 0 0 var(--wp--preset--spacing--30);
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: var(--wp--preset--font-size--heading-2);
  font-weight: 600;
  line-height: 1.2;
  color: var(--wp--preset--color--near-black);
}

.zj-pdp-content-section__body {
  max-width: 45rem;
  color: var(--wp--preset--color--near-black);
  font-size: var(--wp--preset--font-size--body);
  line-height: 1.6;
}

.zj-pdp-content-section--description
  .zj-pdp-content-section__body
  :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: var(--wp--preset--font-size--heading-3);
  font-weight: 400;
  line-height: 1.5;
  color: var(--wp--preset--color--near-black);
}

.zj-pdp-content-section__body table.shop_attributes {
  width: 100%;
  border-collapse: collapse;
  border: none;
}

.zj-pdp-content-section__body table.shop_attributes th,
.zj-pdp-content-section__body table.shop_attributes td {
  padding: 0.75rem 0;
  border: none;
  border-bottom: 1px solid #e8e4dc;
  vertical-align: top;
  text-align: left;
}

.zj-pdp-content-section__body table.shop_attributes th {
  width: 40%;
  color: var(--wp--preset--color--warm-gray);
  font-weight: 500;
}

.zj-pdp-content-section__body table.shop_attributes td {
  color: var(--wp--preset--color--near-black);
}

.zj-pdp-content-section__body table.shop_attributes tr:last-child th,
.zj-pdp-content-section__body table.shop_attributes tr:last-child td {
  border-bottom: none;
}

/* Related products */
.zj-pdp-related {
  padding-top: var(--wp--preset--spacing--20);
}

.zj-pdp-related__title {
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
  margin-bottom: var(--wp--preset--spacing--30);
  color: var(--wp--preset--color--near-black);
}

.zj-pdp-related .zj-shop-grid.zj-pdp-related__grid {
  padding-top: 0;
  padding-bottom: 0;
  padding-inline: 0;
  width: 100%;
  max-width: 100%;
}

/* Single row of 5 — full wide width (shop grid defaults to 2/3/4 + 720px constrained) */
.zj-pdp-related .zj-pdp-related__grid .wc-block-product-template {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: var(--wp--preset--spacing--20);
  width: 100%;
  max-width: 100%;
}

@media (min-width: 1024px) {
  .zj-pdp-related .zj-pdp-related__grid .wc-block-product-template {
    gap: var(--wp--preset--spacing--30);
  }
}

/* Narrow viewports: keep one row, scroll horizontally with shop-like card width */
@media (max-width: 1023px) {
  .zj-pdp-related .zj-pdp-related__grid {
    overflow-x: auto;
    margin-inline: calc(-1 * var(--zj-gutter));
    padding-inline: var(--zj-gutter);
    scroll-padding-inline: var(--zj-gutter);
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }

  .zj-pdp-related .zj-pdp-related__grid .wc-block-product-template {
    grid-template-columns: repeat(5, minmax(11.5rem, 1fr)) !important;
    width: max-content;
    min-width: 100%;
    max-width: none;
  }

  .zj-pdp-related
    .zj-pdp-related__grid
    .wc-block-product-template.is-flex-container
    > li {
    width: auto !important;
    min-width: 11.5rem;
  }
}

/* Hide tab UI if a plugin injects one */
.zj-pdp-main .wc-tabs,
.zj-pdp-main .woocommerce-tabs {
  display: none !important;
}

/* === 404 page === */
.zj-404 a.wp-block-button__link.wp-element-button {
  color: var(--wp--preset--color--white);
}

.zj-404 a.wp-block-button__link.wp-element-button:hover,
.zj-404 a.wp-block-button__link.wp-element-button:focus-visible {
  color: var(--wp--preset--color--white);
}

/* === My Account === */
.zj-myaccount-main {
  --zj-myaccount-radius: 18px;
  --zj-myaccount-border: #bfc9c1;
  --zj-myaccount-sidebar-surface: #f6f3f2;
  --zj-myaccount-sidebar-active: #105238;
  max-width: min(1200px, 100% - 2rem);
  margin-inline: auto;
}

.zj-myaccount-main .alignwide {
  width: 100%;
  max-width: 1200px;
}

/* Logged-in: break 720px constrained cap on shortcode wrapper */
.zj-myaccount-main:has(.woocommerce-MyAccount-content)
  > .alignwide.is-layout-constrained,
.zj-myaccount-main:has(.woocommerce-MyAccount-content)
  > .alignwide.is-layout-constrained
  > .wp-block-post-content {
  width: 100%;
  max-width: none;
}

.zj-myaccount-main > .alignwide > .wp-block-post-title {
  margin-bottom: var(--wp--preset--spacing--40);
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: var(--wp--preset--font-size--heading-1);
  font-weight: 700;
  line-height: 1.2;
}

.zj-myaccount-main:has(.woocommerce-MyAccount-content)
  > .alignwide
  > .wp-block-post-title {
  display: none;
}

/* Guest: login + register */
.zj-myaccount-main #customer_login.col2-set {
  display: grid;
  grid-template-columns: minmax(0, 400px);
  justify-content: center;
  justify-items: stretch;
  gap: var(--wp--preset--spacing--40);
  width: 100%;
  margin: 0;
}

/* WooCommerce clearfix pseudo-elements become grid items — disable them */
.zj-myaccount-main #customer_login.col2-set::before,
.zj-myaccount-main #customer_login.col2-set::after {
  content: none;
  display: none;
}

@media (min-width: 1024px) {
  .zj-myaccount-main #customer_login.col2-set {
    grid-template-columns: repeat(2, 400px);
    justify-content: center;
    gap: var(--wp--preset--spacing--50);
  }
}

.zj-myaccount-main #customer_login .u-column1,
.zj-myaccount-main #customer_login .u-column2,
.zj-myaccount-main #customer_login .col-1,
.zj-myaccount-main #customer_login .col-2 {
  float: none;
  width: 100%;
  max-width: 400px;
  min-width: 0;
  margin: 0;
  box-sizing: border-box;
  padding: var(--wp--preset--spacing--40);
  background: var(--wp--preset--color--white);
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 6px;
}

.zj-myaccount-main .woocommerce-form-login,
.zj-myaccount-main .woocommerce-form-register,
.zj-myaccount-main .woocommerce-ResetPassword {
  box-sizing: border-box;
  margin: 0;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0;
  box-shadow: none;
}

.zj-myaccount-main .zj-lost-password-panel {
  max-width: 400px;
  margin-inline: auto;
  padding: var(--wp--preset--spacing--40);
  background: var(--wp--preset--color--white);
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 6px;
  box-sizing: border-box;
}

.zj-myaccount-main .zj-lost-password-panel > p,
.zj-myaccount-main .zj-lost-password-panel .woocommerce-ResetPassword > p {
  margin: 0 0 var(--wp--preset--spacing--30);
  color: var(--wp--preset--color--near-black);
  font-size: var(--wp--preset--font-size--body);
  line-height: 1.6;
}

.zj-myaccount-main .woocommerce-form-login h2,
.zj-myaccount-main .woocommerce-form-register h2,
.zj-myaccount-main #customer_login .u-column1 > h2,
.zj-myaccount-main #customer_login .u-column2 > h2,
.zj-myaccount-main .woocommerce-MyAccount-content > h2,
.zj-myaccount-main .woocommerce-MyAccount-content > h3,
.zj-myaccount-main .woocommerce-EditAccountForm legend {
  margin: 0 0 var(--wp--preset--spacing--30);
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: var(--wp--preset--font-size--heading-3);
  font-weight: 600;
  line-height: 1.2;
}

.zj-myaccount-main .woocommerce form .form-row label {
  display: block;
  margin-bottom: var(--wp--preset--spacing--30);
  color: var(--wp--preset--color--near-black);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 500;
  line-height: 1.4;
}

.zj-myaccount-main .woocommerce form .form-row label .required {
  color: var(--wp--preset--color--error-red);
  text-decoration: none;
}

.zj-myaccount-main .woocommerce-form__label-for-checkbox {
  display: inline-flex;
  align-items: center;
  gap: var(--wp--preset--spacing--20);
  font-size: var(--wp--preset--font-size--body);
  font-weight: 400;
}

.zj-myaccount-main .woocommerce-form__input-checkbox {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--wp--preset--color--forest-green);
}

.zj-myaccount-main .woocommerce form .form-row {
  margin-bottom: var(--wp--preset--spacing--30);
}

.zj-myaccount-main .woocommerce form .form-row:last-child {
  margin-bottom: 0;
}

/* Password show/hide — icon-only; undo theme.json button fill on hover */
.zj-myaccount-main .woocommerce .show-password-input {
  min-height: unset;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: color 150ms ease;
}

.zj-myaccount-main .woocommerce .show-password-input:hover,
.zj-myaccount-main .woocommerce .show-password-input:focus-visible {
  background: transparent !important;
  color: var(--wp--preset--color--forest-green);
}

.zj-myaccount-main .woocommerce .show-password-input:hover::before,
.zj-myaccount-main .woocommerce .show-password-input:focus-visible::before {
  background-image: url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17.3 3.3C16.9 2.9 16.2 2.9 15.7 3.3L13.3 5.7C12.2437 5.3079 11.1267 5.1048 10 5.1C6.2 5.2 2.8 7.2 1 10.5C1.2 10.9 1.5 11.3 1.8 11.7C2.6 12.8 3.6 13.7 4.7 14.4L3 16.1C2.6 16.5 2.5 17.2 3 17.7C3.4 18.1 4.1 18.2 4.6 17.7L17.3 4.9C17.7 4.4 17.7 3.7 17.3 3.3ZM6.7 12.3L5.4 13.6C4.2 12.9 3.1 11.9 2.3 10.7C3.5 9 5.1 7.8 7 7.2C5.7 8.6 5.6 10.8 6.7 12.3ZM10.1 9C9.6 8.5 9.7 7.7 10.2 7.2C10.7 6.8 11.4 6.8 11.9 7.2L10.1 9ZM18.3 9.5C17.8 8.8 17.2 8.1 16.5 7.6L15.5 8.6C16.3 9.2 17 9.9 17.6 10.8C15.9 13.4 13 15 9.9 15H9.1L8.1 16C8.8 15.9 9.4 16 10 16C13.3 16 16.4 14.4 18.3 11.7C18.6 11.3 18.8 10.9 19.1 10.5C18.8 10.2 18.6 9.8 18.3 9.5ZM14 10L10 14C12.2 14 14 12.2 14 10Z" fill="%232D6A4F"/></svg>');
}

.zj-myaccount-main
  .woocommerce
  .show-password-input.display-password:hover::before,
.zj-myaccount-main
  .woocommerce
  .show-password-input.display-password:focus-visible::before {
  background-image: url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M18.3 9.49999C15 4.89999 8.50002 3.79999 3.90002 7.19999C2.70002 8.09999 1.70002 9.29999 0.900024 10.6C1.10002 11 1.40002 11.4 1.70002 11.8C5.00002 16.4 11.3 17.4 15.9 14.2C16.8 13.5 17.6 12.8 18.3 11.8C18.6 11.4 18.8 11 19.1 10.6C18.8 10.2 18.6 9.79999 18.3 9.49999ZM10.1 7.19999C10.6 6.69999 11.4 6.69999 11.9 7.19999C12.4 7.69999 12.4 8.49999 11.9 8.99999C11.4 9.49999 10.6 9.49999 10.1 8.99999C9.60003 8.49999 9.60003 7.69999 10.1 7.19999ZM10 14.9C6.90002 14.9 4.00002 13.3 2.30002 10.7C3.50002 8.99999 5.10002 7.79999 7.00002 7.19999C6.30002 7.99999 6.00002 8.89999 6.00002 9.89999C6.00002 12.1 7.70002 14 10 14C12.2 14 14.1 12.3 14.1 9.99999V9.89999C14.1 8.89999 13.7 7.89999 13 7.19999C14.9 7.79999 16.5 8.99999 17.7 10.7C16 13.3 13.1 14.9 10 14.9Z" fill="%232D6A4F"/></svg>');
}

.zj-myaccount-main .woocommerce-LostPassword {
  margin-top: var(--wp--preset--spacing--30);
  margin-bottom: 0;
}

.zj-myaccount-main .woocommerce-LostPassword a,
.zj-myaccount-main .woocommerce-privacy-policy-text a,
.zj-myaccount-main
  .woocommerce-MyAccount-content
  a:not(.button):not(.woocommerce-button) {
  color: var(--wp--preset--color--forest-green);
  font-weight: 500;
  text-decoration: none;
}

.zj-myaccount-main .woocommerce-LostPassword a:hover,
.zj-myaccount-main .woocommerce-LostPassword a:focus-visible,
.zj-myaccount-main .woocommerce-privacy-policy-text a:hover,
.zj-myaccount-main .woocommerce-privacy-policy-text a:focus-visible,
.zj-myaccount-main
  .woocommerce-MyAccount-content
  a:not(.button):not(.woocommerce-button):hover,
.zj-myaccount-main
  .woocommerce-MyAccount-content
  a:not(.button):not(.woocommerce-button):focus-visible {
  color: var(--wp--preset--color--sage-green);
  text-decoration: underline;
}

.zj-myaccount-main .woocommerce-privacy-policy-text {
  margin-bottom: var(--wp--preset--spacing--30);
  color: var(--wp--preset--color--warm-gray);
  font-size: var(--wp--preset--font-size--small);
  line-height: 1.5;
}

/* Primary CTAs — white labels on forest-green */
.zj-myaccount-main .woocommerce .button,
.zj-myaccount-main .woocommerce button.button,
.zj-myaccount-main .woocommerce button[type='submit'],
.zj-myaccount-main .woocommerce a.button,
.zj-myaccount-main .woocommerce a.woocommerce-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: 44px;
  padding: 12px 24px;
  background: var(--wp--preset--color--forest-green) !important;
  border: none;
  border-radius: 6px;
  color: var(--wp--preset--color--white) !important;
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--body);
  font-weight: 500;
  line-height: 1.25;
  text-decoration: none;
  cursor: pointer;
  transition:
    background-color 150ms ease,
    border-color 150ms ease;
}

.zj-myaccount-main .woocommerce .button:hover,
.zj-myaccount-main .woocommerce .button:focus-visible,
.zj-myaccount-main .woocommerce button.button:hover,
.zj-myaccount-main .woocommerce button.button:focus-visible,
.zj-myaccount-main .woocommerce button[type='submit']:hover,
.zj-myaccount-main .woocommerce button[type='submit']:focus-visible,
.zj-myaccount-main .woocommerce a.button:hover,
.zj-myaccount-main .woocommerce a.button:focus-visible,
.zj-myaccount-main .woocommerce a.woocommerce-button:hover,
.zj-myaccount-main .woocommerce a.woocommerce-button:focus-visible {
  background: var(--wp--preset--color--sage-green) !important;
  color: var(--wp--preset--color--white) !important;
}

/* Logged-in layout */
.zj-myaccount-main:has(.woocommerce-MyAccount-content)
  .woocommerce-MyAccount-navigation,
.zj-myaccount-main:has(.woocommerce-MyAccount-content)
  .woocommerce-MyAccount-content {
  float: none !important;
  width: 100%;
  max-width: none;
  clear: none;
}

.zj-myaccount-main:has(.woocommerce-MyAccount-content) .woocommerce {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas:
    'nav'
    'content';
  gap: var(--wp--preset--spacing--40);
  align-items: start;
  width: 100%;
}

.zj-myaccount-layout__nav-slot {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--30);
  grid-area: nav;
  align-self: start;
  min-width: 0;
  width: 100%;
}

.zj-myaccount-layout__mobile-bar {
  display: flex;
  margin-bottom: 0;
}

.zj-myaccount-layout__nav-open {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--wp--preset--spacing--20);
  width: 100%;
  min-height: 2.75rem;
  padding: 0.5rem 1rem;
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 8px;
  background: var(--wp--preset--color--white);
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 500;
  line-height: 1.5;
  cursor: pointer;
  transition:
    border-color 150ms ease,
    color 150ms ease;
}

.zj-myaccount-layout__nav-open svg {
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
}

.zj-myaccount-layout__nav-open:hover,
.zj-myaccount-layout__nav-open:focus-visible {
  border-color: var(--wp--preset--color--forest-green);
  color: var(--wp--preset--color--forest-green);
}

.zj-myaccount-nav {
  align-self: start;
  min-width: 0;
  width: 100%;
}

.zj-myaccount-nav__panel {
  display: flex;
  flex-direction: column;
  overflow: visible;
  border: none;
  border-radius: 0;
  background: transparent;
}

.zj-myaccount-nav__modal-header {
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: var(--wp--preset--spacing--20);
  padding: 1rem;
  border-bottom: 1px solid var(--zj-myaccount-border);
  background: var(--zj-myaccount-sidebar-surface);
}

.zj-myaccount-nav__modal-title {
  margin: 0;
  color: var(--zj-myaccount-sidebar-active);
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: var(--wp--preset--font-size--heading-3);
  font-weight: 600;
  line-height: 1.33;
}

.zj-myaccount-nav__card {
  display: flex;
  flex-direction: column;
  align-self: start;
  height: fit-content;
  overflow: hidden;
  border: 1px solid var(--zj-myaccount-border);
  border-radius: var(--zj-myaccount-radius);
  background: var(--wp--preset--color--white);
}

.zj-myaccount-nav__card-header {
  padding: 1rem;
  border-bottom: 1px solid var(--zj-myaccount-border);
  background: var(--zj-myaccount-sidebar-surface);
  border-radius: var(--zj-myaccount-radius) var(--zj-myaccount-radius) 0 0;
}

.zj-myaccount-nav__card-title {
  margin: 0;
  color: var(--zj-myaccount-sidebar-active);
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: var(--wp--preset--font-size--heading-3);
  font-weight: 600;
  line-height: 1.33;
}

.zj-myaccount-nav__body {
  padding: 0.5rem;
}

.zj-myaccount-nav__close {
  display: none;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--wp--preset--color--near-black);
  cursor: pointer;
}

.zj-myaccount-nav__close svg {
  width: 1.25rem;
  height: 1.25rem;
}

.zj-myaccount-nav__close:hover,
.zj-myaccount-nav__close:focus-visible {
  color: var(--wp--preset--color--forest-green);
}

.zj-myaccount-nav__list {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Beat WooCommerce blocktheme My Account nav spacing (1em li padding, 2em ul margin). */
.zj-myaccount-nav.woocommerce-MyAccount-navigation ul {
  margin: 0;
  padding: 0;
}

.zj-myaccount-nav.woocommerce-MyAccount-navigation li {
  padding: 0;
}

.zj-myaccount-nav.woocommerce-MyAccount-navigation li.is-active a,
.zj-myaccount-nav.woocommerce-MyAccount-navigation li a:hover {
  text-decoration: none;
}

.zj-myaccount-nav__item {
  margin: 0;
}

.zj-myaccount-nav__item--logout {
  margin-top: 0.25rem;
  padding-top: 0.25rem;
  border-top: 1px solid var(--zj-myaccount-border);
}

.zj-myaccount-nav__row {
  display: flex;
  align-items: center;
  border-radius: 8px;
  transition: background-color 150ms ease;
}

.zj-myaccount-nav__row:hover,
.zj-myaccount-nav__row:focus-within,
.zj-myaccount-nav__item.is-active > .zj-myaccount-nav__row {
  background: var(--zj-myaccount-sidebar-surface);
}

.zj-myaccount-nav__row:hover .zj-myaccount-nav__link,
.zj-myaccount-nav__row:focus-within .zj-myaccount-nav__link,
.zj-myaccount-nav__item.is-active
  > .zj-myaccount-nav__row
  .zj-myaccount-nav__link {
  color: var(--zj-myaccount-sidebar-active);
}

.zj-myaccount-nav__item.is-active
  > .zj-myaccount-nav__row
  .zj-myaccount-nav__link {
  font-weight: 700;
}

.zj-myaccount-nav__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
  color: inherit;
}

.zj-myaccount-nav__icon svg {
  width: 1.25rem;
  height: 1.25rem;
}

.zj-myaccount-nav__label {
  min-width: 0;
}

.zj-myaccount-nav__link {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
  padding: 0.5rem 0.75rem;
  border-radius: 8px;
  background: transparent;
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto);
  font-size: var(--wp--preset--font-size--body);
  font-weight: 400;
  line-height: 1.5;
  text-decoration: none;
  transition: color 150ms ease;
}

.zj-myaccount-main .zj-myaccount-nav__link,
.zj-myaccount-main .zj-myaccount-nav__link:visited {
  color: var(--wp--preset--color--near-black);
  text-decoration: none;
}

.zj-myaccount-nav__backdrop {
  display: none;
  position: fixed;
  z-index: 99;
  inset: 0;
  border: none;
  background: rgba(26, 26, 26, 0.45);
}

body.zj-myaccount-nav-open {
  overflow: hidden;
}

@media (max-width: 1023px) {
  .zj-myaccount-nav {
    position: fixed;
    z-index: 100;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    padding: var(--zj-gutter);
    pointer-events: none;
    visibility: hidden;
  }

  .zj-myaccount-nav.is-modal-open {
    pointer-events: auto;
    visibility: visible;
  }

  .zj-myaccount-nav__panel {
    display: flex;
    flex-direction: column;
    width: min(100%, 28rem);
    max-height: 85vh;
    min-height: 0;
    gap: 0;
    border-radius: var(--zj-myaccount-radius);
    background: var(--wp--preset--color--white);
    box-shadow: 0 16px 48px rgba(26, 26, 26, 0.16);
    transform: translateY(1rem);
    opacity: 0;
    transition:
      transform 200ms ease,
      opacity 200ms ease;
    overflow: hidden;
  }

  .zj-myaccount-nav.is-modal-open .zj-myaccount-nav__panel {
    transform: translateY(0);
    opacity: 1;
  }

  .zj-myaccount-nav__modal-header {
    display: flex;
    flex-shrink: 0;
  }

  .zj-myaccount-nav__card-header {
    display: none;
  }

  .zj-myaccount-nav__close {
    display: inline-flex;
  }

  .zj-myaccount-nav__body {
    padding: 1rem;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }

  .zj-myaccount-nav__backdrop {
    display: block;
  }

  .zj-myaccount-nav__backdrop[hidden] {
    display: none;
  }
}

@media (max-width: 639px) {
  .zj-myaccount-nav {
    flex-direction: column;
    min-height: 0;
    padding: 0;
    align-items: stretch;
  }

  .zj-myaccount-nav__panel {
    flex: 1 1 0%;
    width: 100%;
    min-height: 0;
    max-height: none;
    border: none;
    border-radius: 0;
    box-shadow: none;
  }
}

@media (min-width: 1024px) {
  .zj-myaccount-main:has(.woocommerce-MyAccount-content) .woocommerce {
    grid-template-columns: minmax(0, 14rem) minmax(0, 1fr);
    grid-template-areas: 'nav content';
    gap: var(--wp--preset--spacing--40);
  }

  .zj-myaccount-layout__mobile-bar {
    display: none;
  }

  .zj-myaccount-layout__nav-slot {
    width: 14rem;
    min-width: 14rem;
    max-width: 14rem;
  }

  .zj-myaccount-nav {
    position: sticky;
    top: calc(var(--zj-header-height, 64px) + var(--wp--preset--spacing--30));
    width: 100%;
    max-width: none;
  }

  .zj-myaccount-nav__panel {
    position: static;
    inset: auto;
    display: block;
    visibility: visible;
    pointer-events: auto;
    padding: 0;
  }

  .zj-myaccount-nav__backdrop {
    display: none !important;
  }
}

.zj-myaccount-main:has(.woocommerce-MyAccount-content)
  .woocommerce-MyAccount-content {
  grid-area: content;
  float: none;
  width: 100%;
  padding: var(--wp--preset--spacing--40);
  background: var(--wp--preset--color--white);
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 6px;
}

/* Dashboard: inner cards on cream — drop outer content panel chrome */
.zj-myaccount-main .woocommerce-MyAccount-content:has(.zj-myaccount-dashboard) {
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
}

.zj-myaccount-dashboard {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--40);
}

.zj-myaccount-dashboard__card {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--30);
  padding: 1.5rem;
  background: var(--wp--preset--color--white);
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 8px;
}

.zj-myaccount-dashboard__title {
  margin: 0;
  color: var(--wp--preset--color--forest-green);
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: var(--wp--preset--font-size--heading-2);
  font-weight: 700;
  line-height: 1.25;
}

.zj-myaccount-dashboard__intro {
  margin: 0;
  color: var(--wp--preset--color--near-black);
  font-size: var(--wp--preset--font-size--body);
  line-height: 1.6;
}

.zj-myaccount-dashboard__intro a {
  color: var(--wp--preset--color--near-black);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.zj-myaccount-dashboard__intro a:hover,
.zj-myaccount-dashboard__intro a:focus-visible {
  color: var(--wp--preset--color--forest-green);
}

.zj-myaccount-dashboard__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--wp--preset--spacing--40);
}

@media (min-width: 640px) {
  .zj-myaccount-dashboard__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.zj-myaccount-dashboard__card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--wp--preset--spacing--20);
}

.zj-myaccount-dashboard__card-title {
  margin: 0;
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: var(--wp--preset--font-size--heading-4);
  font-weight: 600;
  line-height: 1.33;
}

.zj-myaccount-dashboard__card-icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  color: var(--wp--preset--color--warm-gray);
}

.zj-myaccount-dashboard__card-icon svg {
  width: 1.25rem;
  height: 1.25rem;
}

.zj-myaccount-dashboard__meta {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin: 0;
}

.zj-myaccount-dashboard__meta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.5rem;
  margin: 0;
}

.zj-myaccount-dashboard__meta-row dt {
  margin: 0;
  color: var(--wp--preset--color--warm-gray);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 500;
}

.zj-myaccount-dashboard__meta-row dd {
  margin: 0;
  color: var(--wp--preset--color--near-black);
  font-size: var(--wp--preset--font-size--body);
  font-weight: 500;
}

.zj-myaccount-dashboard__status {
  display: inline-flex;
  align-items: center;
  padding: 0.125rem 0.625rem;
  border-radius: 999px;
  background: var(--wp--preset--color--warm-cream);
  color: var(--wp--preset--color--success-green);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 600;
  line-height: 1.4;
}

.zj-myaccount-dashboard__address-lines {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin: 0;
  font-style: normal;
  color: var(--wp--preset--color--near-black);
  font-size: var(--wp--preset--font-size--body);
  line-height: 1.6;
}

.zj-myaccount-dashboard__address-line {
  display: block;
}

.zj-myaccount-dashboard__empty {
  margin: 0;
  color: var(--wp--preset--color--warm-gray);
  font-size: var(--wp--preset--font-size--body);
  line-height: 1.6;
}

.zj-myaccount-dashboard__actions {
  margin: auto 0 0;
  padding-top: var(--wp--preset--spacing--20);
}

.zj-myaccount-dashboard__actions .button {
  display: flex;
  width: 100%;
  justify-content: center;
  text-align: center;
}

.zj-myaccount-main .woocommerce-MyAccount-content > p,
.zj-myaccount-main .woocommerce-MyAccount-content address {
  color: var(--wp--preset--color--near-black);
  font-size: var(--wp--preset--font-size--body);
  line-height: 1.6;
}

/* Order tables */
.zj-myaccount-main .woocommerce-table--order-details {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--wp--preset--font-size--body);
}

.zj-myaccount-main .woocommerce-table--order-details th,
.zj-myaccount-main .woocommerce-table--order-details td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--wp--preset--color--light-gray);
  text-align: left;
  vertical-align: top;
}

.zj-myaccount-main .woocommerce-table--order-details th {
  color: var(--wp--preset--color--warm-gray);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 500;
}

.zj-myaccount-main .woocommerce-table--order-details tr:last-child td {
  border-bottom: none;
}

/* Orders list — Stitch table */
.zj-myaccount-main .woocommerce-MyAccount-content:has(.zj-myaccount-orders) {
  border-radius: var(--zj-myaccount-radius);
}

.zj-myaccount-orders {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.zj-myaccount-orders__title {
  margin: 0 0 var(--wp--preset--spacing--30);
  padding-bottom: var(--wp--preset--spacing--30);
  border-bottom: 1px solid var(--wp--preset--color--light-gray);
  color: var(--wp--preset--color--forest-green);
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: var(--wp--preset--font-size--heading-2);
  font-weight: 700;
  line-height: 1.25;
}

.zj-myaccount-orders .woocommerce-orders-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--wp--preset--font-size--body);
}

.zj-myaccount-orders .woocommerce-orders-table th,
.zj-myaccount-orders .woocommerce-orders-table td {
  padding: 1rem 0.75rem;
  border-bottom: 1px solid var(--wp--preset--color--light-gray);
  text-align: left;
  vertical-align: middle;
}

.zj-myaccount-orders .woocommerce-orders-table thead th {
  padding-top: 0.25rem;
  color: var(--wp--preset--color--near-black);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 600;
}

.zj-myaccount-orders .woocommerce-orders-table__header-order-status,
.zj-myaccount-orders .woocommerce-orders-table__cell-order-status {
  text-align: center;
}

.zj-myaccount-orders .woocommerce-orders-table__header-order-actions,
.zj-myaccount-orders .woocommerce-orders-table__cell-order-actions {
  text-align: right;
}

.zj-myaccount-orders .woocommerce-orders-table tr:last-child td,
.zj-myaccount-orders .woocommerce-orders-table tr:last-child th {
  border-bottom: none;
}

.zj-myaccount-orders .woocommerce-orders-table__cell-order-number a {
  color: var(--wp--preset--color--forest-green);
  font-weight: 700;
  text-decoration: none;
}

.zj-myaccount-orders .woocommerce-orders-table__cell-order-number a:hover,
.zj-myaccount-orders
  .woocommerce-orders-table__cell-order-number
  a:focus-visible {
  color: var(--wp--preset--color--sage-green);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.zj-myaccount-orders .woocommerce-orders-table__cell-order-date,
.zj-myaccount-orders .woocommerce-orders-table__cell-order-date time {
  color: var(--wp--preset--color--warm-gray);
}

.zj-myaccount-orders__status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.125rem 0.625rem;
  border-radius: 999px;
  font-size: var(--wp--preset--font-size--small);
  font-weight: 600;
  line-height: 1.4;
  white-space: nowrap;
}

.zj-myaccount-orders__status--completed {
  background: var(--wp--preset--color--warm-cream);
  color: var(--wp--preset--color--success-green);
}

.zj-myaccount-orders__status--cancelled {
  background: var(--wp--preset--color--light-gray);
  color: var(--wp--preset--color--warm-gray);
}

.zj-myaccount-orders__status--processing,
.zj-myaccount-orders__status--on-hold {
  background: color-mix(
    in srgb,
    var(--wp--preset--color--amber-gold) 18%,
    var(--wp--preset--color--white)
  );
  color: var(--wp--preset--color--amber-gold);
}

.zj-myaccount-orders__status--pending,
.zj-myaccount-orders__status--failed {
  background: color-mix(
    in srgb,
    var(--wp--preset--color--warm-gray) 16%,
    var(--wp--preset--color--white)
  );
  color: var(--wp--preset--color--warm-gray);
}

.zj-myaccount-orders__status--refunded {
  background: color-mix(
    in srgb,
    var(--wp--preset--color--info-blue) 14%,
    var(--wp--preset--color--white)
  );
  color: var(--wp--preset--color--info-blue);
}

.zj-myaccount-orders__total-amount {
  display: inline;
  color: var(--wp--preset--color--near-black);
  font-weight: 700;
}

.zj-myaccount-orders__total-items {
  display: inline;
  margin-left: 0.375rem;
  color: var(--wp--preset--color--warm-gray);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 400;
}

.zj-myaccount-orders .woocommerce-orders-table__cell-order-actions .button {
  min-height: 40px;
  padding: 0.5rem 1.25rem;
  white-space: nowrap;
}

.zj-myaccount-orders .woocommerce-pagination {
  margin-top: var(--wp--preset--spacing--30);
}

@media (max-width: 639px) {
  .zj-myaccount-orders .woocommerce-orders-table thead {
    display: none;
  }

  .zj-myaccount-orders .woocommerce-orders-table tr {
    display: block;
    margin-bottom: var(--wp--preset--spacing--30);
    padding-bottom: var(--wp--preset--spacing--30);
    border-bottom: 1px solid var(--wp--preset--color--light-gray);
  }

  .zj-myaccount-orders .woocommerce-orders-table td,
  .zj-myaccount-orders .woocommerce-orders-table th {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 0.5rem 0;
    border-bottom: none;
    text-align: right;
  }

  .zj-myaccount-orders .woocommerce-orders-table td::before,
  .zj-myaccount-orders .woocommerce-orders-table th::before {
    content: attr(data-title);
    flex-shrink: 0;
    color: var(--wp--preset--color--near-black);
    font-size: var(--wp--preset--font-size--small);
    font-weight: 600;
    text-align: left;
  }

  .zj-myaccount-orders .woocommerce-orders-table__cell-order-actions,
  .zj-myaccount-orders .woocommerce-orders-table__cell-order-status {
    text-align: right;
  }

  .zj-myaccount-orders .woocommerce-orders-table__cell-order-actions .button {
    width: auto;
    min-width: 7rem;
  }
}

/* View order — Stitch order detail */
.zj-myaccount-main
  .woocommerce-MyAccount-content:has(.zj-myaccount-view-order) {
  border-radius: var(--zj-myaccount-radius);
}

.zj-myaccount-view-order {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--40);
}

.zj-myaccount-view-order__header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--wp--preset--spacing--30);
  padding-bottom: var(--wp--preset--spacing--30);
  border-bottom: 1px solid var(--wp--preset--color--light-gray);
}

.zj-myaccount-view-order__intro {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  min-width: 0;
}

.zj-myaccount-view-order__title {
  margin: 0;
  color: var(--wp--preset--color--forest-green);
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: var(--wp--preset--font-size--heading-2);
  font-weight: 700;
  line-height: 1.25;
}

.zj-myaccount-view-order__date {
  margin: 0;
  color: var(--wp--preset--color--warm-gray);
  font-size: var(--wp--preset--font-size--body);
  line-height: 1.5;
}

.zj-myaccount-view-order__status {
  flex-shrink: 0;
}

.zj-myaccount-view-order__updates-title {
  margin: 0 0 var(--wp--preset--spacing--20);
  color: var(--wp--preset--color--near-black);
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: var(--wp--preset--font-size--heading-4);
  font-weight: 600;
  line-height: 1.3;
}

.zj-myaccount-view-order__products {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--30);
}

.zj-myaccount-view-order__table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--wp--preset--font-size--body);
}

.zj-myaccount-view-order__table thead th {
  padding: 0.75rem 0.5rem;
  border-bottom: 1px solid var(--wp--preset--color--light-gray);
  color: var(--wp--preset--color--near-black);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.zj-myaccount-view-order__table tbody td {
  padding: 1rem 0.5rem;
  border-bottom: 1px solid var(--wp--preset--color--light-gray);
  vertical-align: middle;
}

.zj-myaccount-view-order__table tbody tr:last-child td {
  border-bottom: none;
}

.zj-myaccount-view-order__col-qty,
.zj-myaccount-view-order__col-price {
  width: 6.5rem;
  white-space: nowrap;
}

.zj-myaccount-view-order__col-price {
  text-align: right;
}

.zj-myaccount-view-order__table thead .zj-myaccount-view-order__col-price {
  text-align: right;
}

.zj-myaccount-view-order__product {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  min-width: 0;
}

.zj-myaccount-view-order__thumb {
  flex-shrink: 0;
  display: block;
  width: 3rem;
  height: 3rem;
  overflow: hidden;
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 6px;
  background: var(--wp--preset--color--white);
}

.zj-myaccount-view-order__thumb-link {
  display: block;
  width: 100%;
  height: 100%;
}

.zj-myaccount-view-order__thumb-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.zj-myaccount-view-order__product-name {
  min-width: 0;
  color: var(--wp--preset--color--near-black);
  line-height: 1.5;
}

.zj-myaccount-view-order__product-name a {
  color: var(--wp--preset--color--near-black);
  font-weight: 500;
  text-decoration: none;
}

.zj-myaccount-view-order__product-name a:hover,
.zj-myaccount-view-order__product-name a:focus-visible {
  color: var(--wp--preset--color--forest-green);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.zj-myaccount-view-order__product-name .wc-item-meta {
  margin-top: 0.375rem;
  color: var(--wp--preset--color--warm-gray);
  font-size: var(--wp--preset--font-size--small);
}

.zj-myaccount-view-order__qty {
  color: var(--wp--preset--color--near-black);
  font-weight: 500;
}

.zj-myaccount-view-order__col-price {
  color: var(--wp--preset--color--near-black);
  font-weight: 600;
}

.zj-myaccount-view-order__purchase-note td {
  color: var(--wp--preset--color--warm-gray);
  font-size: var(--wp--preset--font-size--small);
}

.zj-myaccount-view-order__order-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--wp--preset--spacing--20);
}

.zj-myaccount-view-order__order-actions-label {
  color: var(--wp--preset--color--near-black);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 600;
}

.zj-myaccount-view-order__totals {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  width: 100%;
  max-width: 22rem;
  margin: 0 0 0 auto;
  padding: 0;
}

.zj-myaccount-view-order__totals-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  margin: 0;
}

.zj-myaccount-view-order__totals-row dt,
.zj-myaccount-view-order__totals-row dd {
  margin: 0;
}

.zj-myaccount-view-order__totals-row dt {
  color: var(--wp--preset--color--warm-gray);
  font-size: var(--wp--preset--font-size--body);
  font-weight: 400;
}

.zj-myaccount-view-order__totals-row dd {
  color: var(--wp--preset--color--near-black);
  font-size: var(--wp--preset--font-size--body);
  font-weight: 600;
  text-align: right;
}

.zj-myaccount-view-order__totals-row--order_total dt,
.zj-myaccount-view-order__totals-row--order_total dd {
  color: var(--wp--preset--color--forest-green);
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: var(--wp--preset--font-size--heading-4);
  font-weight: 700;
}

.zj-myaccount-view-order__addresses {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--wp--preset--spacing--30);
}

@media (min-width: 640px) {
  .zj-myaccount-view-order__addresses {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .zj-myaccount-view-order__address-card--solo {
    grid-column: 1 / -1;
    max-width: calc(50% - var(--wp--preset--spacing--15));
  }
}

.zj-myaccount-view-order__address-card {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--20);
  padding: var(--wp--preset--spacing--30);
  background: var(--wp--preset--color--warm-cream);
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 8px;
}

.zj-myaccount-view-order__address-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--wp--preset--spacing--20);
}

.zj-myaccount-view-order__address-title {
  margin: 0;
  color: var(--wp--preset--color--forest-green);
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: var(--wp--preset--font-size--heading-4);
  font-weight: 600;
  line-height: 1.3;
}

.zj-myaccount-view-order__address-icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  color: var(--wp--preset--color--forest-green);
}

.zj-myaccount-view-order__address-icon svg {
  width: 1.25rem;
  height: 1.25rem;
}

.zj-myaccount-view-order__address-body {
  color: var(--wp--preset--color--near-black);
  font-size: var(--wp--preset--font-size--body);
  font-style: normal;
  line-height: 1.6;
}

.zj-myaccount-view-order__address-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0.5rem 0 0;
  color: var(--wp--preset--color--near-black);
  font-size: var(--wp--preset--font-size--body);
  line-height: 1.5;
}

.zj-myaccount-view-order__address-meta-icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  color: var(--wp--preset--color--warm-gray);
}

.zj-myaccount-view-order__address-meta-icon svg {
  width: 1rem;
  height: 1rem;
}

.zj-myaccount-view-order__actions {
  display: flex;
  justify-content: flex-end;
  margin-bottom: var(--wp--preset--spacing--10);
}

.zj-myaccount-view-order__actions .order-again {
  margin: 0;
}

.zj-myaccount-view-order__actions .button {
  min-height: 44px;
  padding: 0.625rem 1.5rem;
  white-space: nowrap;
}

@media (max-width: 639px) {
  .zj-myaccount-view-order__header {
    flex-direction: column;
    align-items: stretch;
  }

  .zj-myaccount-view-order__status {
    align-self: flex-start;
  }

  .zj-myaccount-view-order__table thead {
    display: none;
  }

  .zj-myaccount-view-order__table tbody tr.zj-myaccount-view-order__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      'product product'
      'qty price';
    gap: 0.5rem 1rem;
    padding: var(--wp--preset--spacing--30) 0;
    border-bottom: 1px solid var(--wp--preset--color--light-gray);
  }

  .zj-myaccount-view-order__table tbody tr.zj-myaccount-view-order__row td {
    display: block;
    padding: 0;
    border-bottom: none;
  }

  .zj-myaccount-view-order__table
    tbody
    tr.zj-myaccount-view-order__row
    td::before {
    content: attr(data-title);
    display: block;
    margin-bottom: 0.25rem;
    color: var(--wp--preset--color--warm-gray);
    font-size: var(--wp--preset--font-size--small);
    font-weight: 600;
    text-transform: uppercase;
  }

  .zj-myaccount-view-order__col-product {
    grid-area: product;
  }

  .zj-myaccount-view-order__col-product::before {
    display: none !important;
  }

  .zj-myaccount-view-order__col-qty {
    grid-area: qty;
    width: auto;
    text-align: left;
  }

  .zj-myaccount-view-order__col-price {
    grid-area: price;
    width: auto;
    text-align: right;
  }

  .zj-myaccount-view-order__totals {
    max-width: none;
    margin-left: 0;
  }

  .zj-myaccount-view-order__actions {
    justify-content: stretch;
  }

  .zj-myaccount-view-order__actions .button {
    width: 100%;
    justify-content: center;
  }
}

/* My Account — saved addresses list */
.zj-myaccount-addresses__intro {
  margin: 0 0 var(--wp--preset--spacing--30);
  color: var(--wp--preset--color--near-black);
  font-size: var(--wp--preset--font-size--body);
  line-height: 1.6;
}

.zj-myaccount-addresses__title-group {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 0;
}

@media (min-width: 640px) {
  .zj-myaccount-addresses__title-group {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: baseline;
    gap: var(--wp--preset--spacing--20);
  }
}

.zj-myaccount-addresses__edit {
  color: var(--wp--preset--color--forest-green);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 500;
  line-height: 1.4;
  text-decoration: none;
}

.zj-myaccount-addresses__edit:hover,
.zj-myaccount-addresses__edit:focus-visible {
  text-decoration: underline;
}

.zj-myaccount-view-order__address-body
  .zj-myaccount-view-order__address-meta
  a {
  color: var(--wp--preset--color--near-black);
  text-decoration: none;
}

.zj-myaccount-view-order__address-body
  .zj-myaccount-view-order__address-meta
  a:hover,
.zj-myaccount-view-order__address-body
  .zj-myaccount-view-order__address-meta
  a:focus-visible {
  color: var(--wp--preset--color--forest-green);
  text-decoration: underline;
}

.zj-myaccount-dashboard__address-body .zj-myaccount-view-order__address-meta a {
  color: var(--wp--preset--color--near-black);
  text-decoration: none;
}

.zj-myaccount-dashboard__address-body
  .zj-myaccount-view-order__address-meta
  a:hover,
.zj-myaccount-dashboard__address-body
  .zj-myaccount-view-order__address-meta
  a:focus-visible {
  color: var(--wp--preset--color--forest-green);
  text-decoration: underline;
}

/* Legacy WC address markup (edit-address form fallback) */
.zj-myaccount-main .woocommerce-Addresses {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--wp--preset--spacing--40);
}

@media (min-width: 640px) {
  .zj-myaccount-main .woocommerce-Addresses {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.zj-myaccount-main .woocommerce-Address {
  padding: var(--wp--preset--spacing--30);
  background: var(--wp--preset--color--warm-cream);
  border: 1px solid var(--wp--preset--color--light-gray);
  border-radius: 6px;
}

.zj-myaccount-main .woocommerce-Address-title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--wp--preset--spacing--20);
  margin-bottom: var(--wp--preset--spacing--20);
}

.zj-myaccount-main .woocommerce-Address-title h2,
.zj-myaccount-main .woocommerce-Address-title h3 {
  margin: 0;
  font-family: var(--wp--preset--font-family--roboto-slab);
  font-size: var(--wp--preset--font-size--heading-4);
  font-weight: 600;
}

.zj-myaccount-main .woocommerce-Address-title .edit {
  font-size: var(--wp--preset--font-size--small);
}

/* Secondary / ghost buttons in account content */
.zj-myaccount-main .woocommerce-MyAccount-content a.button.alt,
.zj-myaccount-main .woocommerce-MyAccount-content .button.secondary {
  background: var(--wp--preset--color--white) !important;
  border: 1px solid var(--wp--preset--color--light-gray);
  color: var(--wp--preset--color--forest-green) !important;
}

.zj-myaccount-main .woocommerce-MyAccount-content a.button.alt:hover,
.zj-myaccount-main .woocommerce-MyAccount-content a.button.alt:focus-visible,
.zj-myaccount-main .woocommerce-MyAccount-content .button.secondary:hover,
.zj-myaccount-main
  .woocommerce-MyAccount-content
  .button.secondary:focus-visible {
  background: var(--wp--preset--color--warm-cream) !important;
  border-color: var(--wp--preset--color--forest-green);
  color: var(--wp--preset--color--forest-green) !important;
}

/* Notices */
.zj-myaccount-main .woocommerce-error,
.zj-myaccount-main .woocommerce-info,
.zj-myaccount-main .woocommerce-message {
  margin-bottom: var(--wp--preset--spacing--30);
  padding: var(--wp--preset--spacing--30);
  border-radius: 6px;
  font-size: var(--wp--preset--font-size--body);
  list-style: none;
}

.zj-myaccount-main .woocommerce-error {
  background: #fef2f2;
  border-left: 4px solid var(--wp--preset--color--error-red);
  color: var(--wp--preset--color--error-red);
}

.zj-myaccount-main .woocommerce-message {
  background: #f0fdf4;
  border-left: 4px solid var(--wp--preset--color--success-green);
  color: var(--wp--preset--color--success-green);
}

.zj-myaccount-main .woocommerce-info {
  background: #eff6ff;
  border-left: 4px solid var(--wp--preset--color--info-blue);
  color: var(--wp--preset--color--near-black);
}

.zj-myaccount-main .woocommerce-error .button,
.zj-myaccount-main .woocommerce-info .button,
.zj-myaccount-main .woocommerce-message .button {
  float: none;
  margin-top: var(--wp--preset--spacing--20);
}
