.woocommerce-notice,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  background-color: var(--bm-surface);
  border: 1px solid var(--bm-border);
  border-left: 4px solid var(--bm-brand);
  border-radius: var(--bm-radius-sm);
  padding: var(--bm-space-4) var(--bm-space-6);
  margin-bottom: var(--bm-space-6);
  color: var(--bm-ink);
  font-size: var(--bm-text-sm);
  line-height: var(--bm-leading-normal);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--bm-space-4);
  list-style: none;
}

.woocommerce-error {
  border-left-color: var(--bm-accent);
}

.woocommerce-info {
  border-left-color: var(--bm-ink-secondary);
}

.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
  background-color: var(--bm-ink);
  color: var(--bm-surface);
  border-radius: var(--bm-radius-sm);
  padding: var(--bm-space-2) var(--bm-space-4);
  font-size: var(--bm-text-xs);
  font-weight: var(--bm-weight-semibold);
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  transition: background-color var(--bm-duration-fast) var(--bm-ease-standard);
}

.woocommerce-message .button:hover,
.woocommerce-info .button:hover,
.woocommerce-error .button:hover {
  background-color: var(--bm-brand);
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: var(--bm-space-3) var(--bm-space-6);
  background-color: var(--bm-ink);
  color: var(--bm-surface);
  font-family: var(--bm-font-sans);
  font-size: var(--bm-text-sm);
  font-weight: var(--bm-weight-semibold);
  border-radius: var(--bm-radius-sm);
  border: 1px solid var(--bm-ink);
  cursor: pointer;
  text-decoration: none;
  transition: background-color var(--bm-duration-fast) var(--bm-ease-standard),
              border-color var(--bm-duration-fast) var(--bm-ease-standard);
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
  background-color: var(--bm-brand);
  border-color: var(--bm-brand);
  color: var(--bm-surface);
}

.woocommerce a.button:disabled,
.woocommerce button.button:disabled,
.woocommerce input.button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--bm-space-4);
  padding: 0;
  margin: 0 0 var(--bm-space-12) 0;
  list-style: none;
}

@media (min-width: 768px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--bm-space-6);
  }
}

@media (min-width: 1024px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(4, 1fr);
  }
}

.woocommerce ul.products li.product {
  margin: 0;
  width: auto;
  float: none;
}

.woocommerce-cart-form table.shop_table,
.woocommerce-checkout table.shop_table {
  background-color: var(--bm-surface);
  border: 1px solid var(--bm-border);
  border-radius: var(--bm-radius-md);
  overflow: hidden;
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
}

.woocommerce-cart-form table.shop_table th,
.woocommerce-checkout table.shop_table th {
  background-color: var(--bm-surface-soft);
  color: var(--bm-ink);
  font-size: var(--bm-text-xs);
  font-weight: var(--bm-weight-semibold);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: var(--bm-space-4);
  border-bottom: 1px solid var(--bm-border);
}

.woocommerce-cart-form table.shop_table td,
.woocommerce-checkout table.shop_table td {
  padding: var(--bm-space-4);
  border-bottom: 1px solid var(--bm-border);
  color: var(--bm-ink);
  font-size: var(--bm-text-sm);
  vertical-align: middle;
}

.woocommerce-cart-form table.shop_table tr:last-child td {
  border-bottom: none;
}

.woocommerce .quantity .qty {
  width: 60px;
  min-height: 44px;
  text-align: center;
  border: 1px solid var(--bm-border);
  border-radius: var(--bm-radius-sm);
  background-color: var(--bm-surface);
  color: var(--bm-ink);
  font-weight: var(--bm-weight-semibold);
}

.woocommerce-input-wrapper {
  width: 100%;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  width: 100%;
  min-height: 48px;
  padding: var(--bm-space-3) var(--bm-space-4);
  border: 1px solid var(--bm-border);
  border-radius: var(--bm-radius-sm);
  background-color: var(--bm-surface);
  color: var(--bm-ink);
  font-family: var(--bm-font-sans);
  font-size: var(--bm-text-sm);
  transition: border-color var(--bm-duration-fast) var(--bm-ease-standard),
              box-shadow var(--bm-duration-fast) var(--bm-ease-standard);
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  outline: none;
  border-color: var(--bm-brand);
  box-shadow: var(--bm-focus-ring);
}
