/* =============================================================
   BNS · WooCommerce overrides
   -------------------------------------------------------------
   Targets WooCommerce + WC Subscriptions + WC Memberships front-
   end markup. Selectors mirror Woo's own classes so we keep
   override-by-cascade rather than fighting specificity.
   ============================================================= */

/* ---------- Page wrappers ---------- */
.woocommerce, .woocommerce-page {
  font-family: var(--font-sans);
  color: var(--color-text);
}
.woocommerce h1, .woocommerce h2, .woocommerce h3 {
  font-family: var(--font-serif);
  color: var(--color-text-strong);
}

/* ---------- Buttons (cart / checkout / my-account) ---------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-page button.button,
.woocommerce-page a.button.alt {
  background: var(--bns-teal);
  color: white;
  border-radius: var(--radius-md);
  font-weight: 600;
  letter-spacing: .01em;
  padding: 12px 18px;
  border: 1px solid transparent;
  text-transform: none;
  font-size: var(--fs-sm);
  box-shadow: none;
  transition: background .15s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce-page button.button:hover { background: var(--bns-teal-dark); color: white; }

.woocommerce a.button.alt { background: var(--bns-teal); }

.woocommerce a.button.wc-backward,
.woocommerce a.button.checkout-button.alt {
  background: var(--bns-teal-deep);
}

/* ---------- Notices ---------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-radius: var(--radius-md);
  background: var(--color-surface);
  color: var(--ink);
  border-left-width: 3px;
  font-family: var(--font-sans);
  font-size: var(--fs-sm);
  padding-block: var(--s-3);
}
.woocommerce-message { border-top-color: var(--bns-mint); border-left-color: var(--bns-mint); }
.woocommerce-info    { border-top-color: var(--bns-teal); border-left-color: var(--bns-teal); }
.woocommerce-error   { border-top-color: var(--bns-rust); border-left-color: var(--bns-rust); }

/* ---------- Forms ---------- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-checkout #order_review input,
.woocommerce-checkout #order_review select {
  background: var(--color-bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 10px 12px;
  font-family: var(--font-sans);
  font-size: var(--fs-sm);
  color: var(--ink);
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  outline: 2px solid var(--bns-teal);
  outline-offset: 2px;
  border-color: transparent;
}
.woocommerce form .form-row label { font-size: var(--fs-sm); color: var(--slate-700); margin-bottom: 4px; }
.woocommerce-input-wrapper { width: 100%; }

/* ---------- Cart / checkout tables ---------- */
.woocommerce-cart table.cart,
.woocommerce-checkout table.shop_table {
  background: var(--color-surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  border-collapse: separate;
  overflow: hidden;
  font-feature-settings: "tnum" 1;
}
.woocommerce-cart table.cart th,
.woocommerce-checkout table.shop_table th {
  background: var(--slate-50);
  color: var(--slate-700);
  font-family: var(--font-sans);
  font-size: var(--fs-caption);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.woocommerce-cart table.cart td,
.woocommerce-checkout table.shop_table td { border-top: 1px solid var(--border); }

/* ---------- My Account ---------- */
.woocommerce-account .woocommerce-MyAccount-navigation {
  background: var(--color-surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: var(--s-3);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  border-bottom: 1px solid var(--slate-100);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child { border-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: var(--s-3) var(--s-3);
  color: var(--slate-700);
  text-decoration: none;
  font-weight: 500;
  font-size: var(--fs-sm);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  background: rgba(45,139,150,.08);
  color: var(--bns-teal-dark);
  border-left: 3px solid var(--bns-teal);
  padding-left: calc(var(--s-3) - 3px);
}

.woocommerce-account .woocommerce-MyAccount-content {
  background: var(--color-surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: var(--s-6);
}

/* ---------- Subscription status pills ---------- */
.woocommerce table.subscriptions .subscription-status,
.woocommerce-orders-table__cell-subscription-status,
.woocommerce-orders-table__cell-order-status {
  display: inline-block;
  padding: 3px 10px;
  border-radius: var(--radius-pill);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.subscription-status.status-active,
.order-status.status-completed       { background: rgba(47,125,92,.12);  color: var(--bns-mint); }
.subscription-status.status-on-hold,
.order-status.status-on-hold         { background: rgba(182,117,15,.12); color: var(--bns-warn); }
.subscription-status.status-cancelled,
.subscription-status.status-expired,
.order-status.status-cancelled       { background: rgba(176,48,31,.12);  color: var(--bns-rust); }
.subscription-status.status-pending,
.order-status.status-pending         { background: rgba(27,95,104,.10);  color: var(--bns-teal-dark); }

/* ---------- Membership badges ---------- */
.wc-memberships-membership-status { font-weight: 600; }
.wc-memberships-membership-status.active   { color: var(--bns-mint); }
.wc-memberships-membership-status.paused   { color: var(--bns-warn); }
.wc-memberships-membership-status.expired  { color: var(--bns-rust); }

/* ---------- Single product (membership tier landing) ---------- */
.woocommerce div.product .product_title {
  font-family: var(--font-serif);
  font-weight: 600;
  color: var(--bns-teal-deep);
  font-size: var(--fs-h1);
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--bns-teal-dark);
  font-family: var(--font-serif);
  font-weight: 600;
  font-size: 2rem;
}
.woocommerce div.product .woocommerce-product-details__short-description {
  font-size: var(--fs-body-l);
  color: var(--slate-700);
  max-width: 56ch;
}
