.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-account .entry-content {
  width: calc(100% - 32px);
  max-width: var(--cmba-width);
  margin-inline: auto;
}

.woocommerce-shop .site-main {
  background: var(--cmba-paper);
}

.woocommerce-shop .hero-section {
  padding: clamp(38px, 5vw, 58px) 0 18px;
}

.woocommerce-shop .page-title {
  color: var(--cmba-ink);
  font-size: clamp(2.25rem, 5vw, 4.8rem);
  font-weight: 950;
  letter-spacing: 0;
  line-height: 0.95;
}

.woocommerce-shop .ct-container[data-vertical-spacing] {
  padding-top: clamp(18px, 3vw, 34px);
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 12px 18px;
  border-radius: var(--cmba-radius);
  font-weight: 800;
  line-height: 1.1;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  min-height: 44px;
  border: 1px solid var(--cmba-line);
  border-radius: var(--cmba-radius);
}

.woocommerce-checkout-review-order,
.woocommerce-cart-form,
.woocommerce .cart-collaterals,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
  border: 1px solid var(--cmba-line);
  border-radius: var(--cmba-radius);
  background: var(--cmba-white);
  box-shadow: 0 10px 30px rgba(7, 21, 46, 0.06);
}

.woocommerce-checkout-review-order,
.woocommerce-cart-form,
.woocommerce .cart-collaterals {
  padding: clamp(16px, 3vw, 28px);
}

.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
  border-radius: var(--cmba-radius);
}

.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: clamp(18px, 2.6vw, 30px);
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
  display: none;
}

.woocommerce ul.products li.product {
  display: grid;
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: clamp(22px, 4vw, 34px);
  overflow: hidden;
  border: 1px solid var(--cmba-line);
  border-radius: var(--cmba-radius);
  background: var(--cmba-white);
  box-shadow: 0 18px 44px oklch(18% 0.05 254 / 0.08);
}

.woocommerce ul.products li.product a img {
  width: calc(100% + clamp(44px, 8vw, 68px));
  max-width: none;
  margin: calc(-1 * clamp(22px, 4vw, 34px)) calc(-1 * clamp(22px, 4vw, 34px)) clamp(18px, 3vw, 26px);
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  padding: 0;
  color: var(--cmba-blue-dark);
  font-size: clamp(1.12rem, 1.8vw, 1.45rem);
  font-weight: 950;
  letter-spacing: 0;
  line-height: 1.05;
}

.woocommerce ul.products li.product .price {
  color: var(--cmba-ink);
  font-weight: 900;
}

.woocommerce ul.products li.product .button {
  width: 100%;
  min-height: 44px;
  margin-top: 14px;
  border-radius: 999px;
  background: var(--cmba-blue-dark);
  color: var(--cmba-white);
}

.woocommerce-account .show-password-input {
  min-width: 44px;
  min-height: 44px;
}

.woocommerce-account .woocommerce-form-login__submit,
.woocommerce-account .woocommerce-form-register__submit {
  min-height: 44px;
  padding: 12px 18px;
}

.woocommerce-account .woocommerce .woocommerce-form-login__submit.button,
.woocommerce-account .woocommerce .woocommerce-form-register__submit.button {
  display: inline-flex !important;
  min-height: 44px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px 18px !important;
  line-height: 1.1 !important;
}

@media (max-width: 640px) {
  .woocommerce-shop .hero-section {
    padding-top: 30px;
  }

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