body.tbg-site .woocommerce {
  color: var(--tbg-ink);
}

body.tbg-site .woocommerce :where(.woocommerce-info, .woocommerce-message, .woocommerce-error) {
  margin: 0 0 1rem;
  padding: 1rem 1rem 1rem 1.25rem;
  border: 1px solid var(--tbg-border);
  border-top: 0;
  border-left: 4px solid var(--tbg-forest);
  border-radius: var(--tbg-radius-md);
  background: var(--tbg-sage);
  color: var(--tbg-dark);
  list-style: none;
}

body.tbg-site .woocommerce .woocommerce-error {
  border-left-color: var(--tbg-error);
  background: #fff1f1;
}

/* Keep all WooCommerce notices inside the Toby Bros visual language. */
body.tbg-site :where(.woocommerce-info, .woocommerce-message, .woocommerce-error),
body.tbg-site .woocommerce-form-coupon-toggle .woocommerce-info {
  border: 1px solid var(--tbg-border) !important;
  border-left: 4px solid var(--tbg-forest) !important;
  background: var(--tbg-sage) !important;
  color: var(--tbg-dark) !important;
  box-shadow: none !important;
}

body.tbg-site :where(.woocommerce-info, .woocommerce-message)::before {
  color: var(--tbg-forest) !important;
}

body.tbg-site .woocommerce-error {
  border-left-color: var(--tbg-error) !important;
  background: #fff1f1 !important;
}

/* Phase 10.9: prevent parent/WooCommerce blue information styling from
   reappearing on coupon and checkout notices. */
body.tbg-site .woocommerce-form-coupon-toggle .woocommerce-info,
body.tbg-site .woocommerce-notices-wrapper .woocommerce-info,
body.tbg-site .woocommerce .woocommerce-info,
body.tbg-site .wc-block-components-notice-banner.is-info {
  border: 1px solid color-mix(in srgb, var(--tbg-forest) 42%, var(--tbg-border)) !important;
  border-left: 4px solid var(--tbg-forest) !important;
  background: color-mix(in srgb, var(--tbg-sage) 88%, #fff) !important;
  color: var(--tbg-dark) !important;
  box-shadow: none !important;
}

body.tbg-site .woocommerce-form-coupon-toggle .woocommerce-info::before,
body.tbg-site .woocommerce-notices-wrapper .woocommerce-info::before,
body.tbg-site .woocommerce .woocommerce-info::before,
body.tbg-site .wc-block-components-notice-banner.is-info > svg {
  border-radius: 50%;
  background: var(--tbg-forest) !important;
  color: #fff !important;
  fill: #fff !important;
}

body.tbg-site .woocommerce-form-coupon-toggle .woocommerce-info a,
body.tbg-site .woocommerce-notices-wrapper .woocommerce-info a,
body.tbg-site .woocommerce .woocommerce-info a {
  color: var(--tbg-forest) !important;
  text-decoration-color: currentColor;
}

body.tbg-site .woocommerce :where(.button, button.button, input.button, a.button) {
  min-height: var(--tbg-touch);
  border: 1px solid transparent;
  border-radius: 10px;
  padding: 0.72rem 1.1rem;
  background: var(--tbg-forest);
  color: var(--tbg-surface);
  font-weight: 650;
  line-height: 1.2;
}

body.tbg-site .woocommerce :where(.button, button.button, input.button, a.button):hover {
  background: var(--tbg-dark);
  color: var(--tbg-surface);
}

body.tbg-site .woocommerce :where(form .form-row input.input-text, form .form-row textarea, form .form-row select) {
  min-height: var(--tbg-touch);
  border: 1px solid var(--tbg-border);
  border-radius: 10px;
  padding: 0.68rem 0.8rem;
  background: var(--tbg-surface);
}

body.tbg-site .woocommerce :where(.price, .amount) {
  color: var(--tbg-dark);
  font-weight: 650;
}

body.tbg-site .woocommerce table.shop_table {
  overflow: hidden;
  border: 1px solid var(--tbg-border);
  border-radius: var(--tbg-radius-md);
  background: var(--tbg-surface);
}

body.tbg-site .woocommerce table.shop_table :where(th, td) {
  padding: 0.85rem;
  border-color: var(--tbg-border);
}

body.tbg-site .woocommerce .quantity .qty {
  width: 4.5rem;
  min-height: var(--tbg-touch);
}

body.tbg-site .woocommerce .woocommerce-breadcrumb {
  color: var(--tbg-muted);
  font-size: 0.8rem;
}

@media (max-width: 768px) {
  body.tbg-site .woocommerce table.shop_table_responsive tr {
    border-bottom: 1px solid var(--tbg-border);
  }
}
