/**
 * WooCommerce plugin UI: notices, core forms, cart/checkout, My Account chrome,
 * global price/button rules, and other overrides targeting WooCommerce classnames.
 */

body.woocommerce-page:not(.woocommerce-shop):not(.tax-product_cat):not(.tax-product_tag) .woocommerce {
  max-width: min(100%, var(--layout-max-width));
  margin-inline: auto;
  padding: 2rem var(--space-xl) 3rem;
}

body.woocommerce-page .woocommerce {
  width: 100%;
  max-width: 100%;
}

/* WooCommerce notices — match theme (override default WC grey/green) */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  background-color: var(--color-surface);
  color: var(--color-text);
  border: 1px solid var(--color-border);
  border-top-width: 3px;
  border-radius: var(--radius-component);
  box-shadow: var(--shadow-card);
}

.woocommerce-message {
  border-top-color: var(--color-primary);
}

.woocommerce-message::before {
  color: var(--color-primary);
}

.woocommerce-info {
  border-top-color: var(--color-secondary);
}

.woocommerce-info::before {
  color: var(--color-secondary);
}

.woocommerce-error {
  border-top-color: var(--color-primary);
}

.woocommerce-error::before {
  color: var(--color-primary);
}

/* Must beat WC `.woocommerce a.button` (grey secondary) — higher specificity than `.woocommerce-message .button` */
body.woocommerce-page .woocommerce .woocommerce-message a.button,
body.woocommerce-page .woocommerce .woocommerce-info a.button,
body.woocommerce-page .woocommerce .woocommerce-error a.button,
body.woocommerce-page .woocommerce-notices-wrapper .woocommerce-message a.button,
body.woocommerce-page .woocommerce-notices-wrapper .woocommerce-info a.button,
body.woocommerce-page .woocommerce-notices-wrapper .woocommerce-error a.button {
  background-color: var(--color-primary);
  border: 1px solid var(--color-primary);
  color: var(--color-surface);
  border-radius: var(--radius-component);
  box-shadow: var(--shadow-card);
  padding: 0.5rem 1rem;
  font-weight: 600;
}

body.woocommerce-page .woocommerce .woocommerce-message a.button:hover,
body.woocommerce-page .woocommerce .woocommerce-message a.button:focus,
body.woocommerce-page .woocommerce .woocommerce-info a.button:hover,
body.woocommerce-page .woocommerce .woocommerce-info a.button:focus,
body.woocommerce-page .woocommerce .woocommerce-error a.button:hover,
body.woocommerce-page .woocommerce .woocommerce-error a.button:focus,
body.woocommerce-page .woocommerce-notices-wrapper .woocommerce-message a.button:hover,
body.woocommerce-page .woocommerce-notices-wrapper .woocommerce-message a.button:focus,
body.woocommerce-page .woocommerce-notices-wrapper .woocommerce-info a.button:hover,
body.woocommerce-page .woocommerce-notices-wrapper .woocommerce-info a.button:focus,
body.woocommerce-page .woocommerce-notices-wrapper .woocommerce-error a.button:hover,
body.woocommerce-page .woocommerce-notices-wrapper .woocommerce-error a.button:focus {
  background-color: var(--color-primary-hover);
  border-color: var(--color-primary-hover);
  color: var(--color-surface);
}

.woocommerce .quantity .qty {
  width: 7.5em;
  min-width: 7.5em;
  max-width: 100%;
  text-align: left;
}

.woocommerce form .form-row .input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: var(--input-padding-y) var(--input-padding-x);
  font-family: inherit;
  font-size: var(--input-font-size);
  font-weight: 400;
  line-height: 1.25;
  color: var(--color-text);
  background-color: var(--color-input-bg);
  background-clip: padding-box;
  border: 1px solid var(--color-input-border);
  border-radius: var(--radius-input);
  appearance: none;
  outline: none;
  transition:
    border-color 150ms ease-out,
    background-color 150ms ease-out,
    box-shadow 150ms ease-out;
}

.woocommerce form .form-row select:not([multiple]) {
  padding-right: 2.25rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%236b7280' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.65rem center;
  background-size: 12px;
}

.woocommerce form .form-row select[multiple] {
  height: auto;
  min-height: 8rem;
  padding: var(--input-padding-y) var(--input-padding-x);
  background-image: none;
}

.woocommerce form .form-row textarea {
  resize: vertical;
  min-height: 6rem;
}

.woocommerce form .form-row .input-text::placeholder,
.woocommerce form .form-row textarea::placeholder {
  color: var(--color-input-placeholder);
  opacity: 1;
}

.woocommerce form .form-row .input-text:hover,
.woocommerce form .form-row select:hover,
.woocommerce form .form-row textarea:hover {
  border-color: var(--color-slate-300);
}

.woocommerce form .form-row .input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus {
  background-color: var(--color-input-bg-focus);
  border-color: var(--color-input-border-focus);
  box-shadow: var(--input-focus-ring);
}

.woocommerce form .form-row .input-text:disabled,
.woocommerce form .form-row select:disabled,
.woocommerce form .form-row textarea:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  background-color: var(--color-bg);
}

body.woocommerce-shop .woocommerce,
body.tax-product_cat .woocommerce,
body.tax-product_tag .woocommerce {
  max-width: min(100%, var(--layout-max-width-wide));
  margin-inline: auto;
  padding: 0 0 3rem;
}

.woocommerce-page .woocommerce .woocommerce-cart-form,
.woocommerce-page .woocommerce .cart-collaterals {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  clear: both !important;
}

.woocommerce:has(> .woocommerce-cart-form) {
  display: flow-root;
}

.woocommerce:has(> .woocommerce-cart-form) > .cart-collaterals {
  float: none !important;
  width: 100% !important;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  clear: both;
}

.woocommerce:has(> .woocommerce-cart-form) .cart-collaterals .cross-sells,
.woocommerce:has(> .woocommerce-cart-form) .cart-collaterals .cart_totals,
.woocommerce:has(> .woocommerce-cart-form) .cart-collaterals .shipping_calculator {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
}

.woocommerce-page .woocommerce .cart-collaterals .cart_totals {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
}

.woocommerce-cart-form ~ .cart-collaterals .cart_totals tr.shipping th,
.woocommerce-cart-form ~ .cart-collaterals .cart_totals tr.shipping td,
.woocommerce-cart-form ~ .cart-collaterals .cart_totals tr.woocommerce-shipping-totals th,
.woocommerce-cart-form ~ .cart-collaterals .cart_totals tr.woocommerce-shipping-totals td {
  float: none !important;
  vertical-align: top;
}

.woocommerce-cart-form ~ .cart-collaterals .cart_totals tr.shipping td .woocommerce-shipping-calculator,
.woocommerce-cart-form ~ .cart-collaterals .cart_totals tr.shipping td .woocommerce-shipping-destination,
.woocommerce-cart-form ~ .cart-collaterals .cart_totals tr.woocommerce-shipping-totals td .woocommerce-shipping-destination,
.woocommerce-cart-form ~ .cart-collaterals .cart_totals tr.shipping td ul#shipping_method,
.woocommerce-cart-form ~ .cart-collaterals .cart_totals tr.woocommerce-shipping-totals td ul#shipping_method,
.woocommerce-cart-form ~ .cart-collaterals .cart_totals tr.shipping td form.woocommerce-shipping-calculator {
  float: none !important;
  clear: both;
  width: 100%;
  max-width: 100%;
}

.woocommerce-cart-form ~ .cart-collaterals .cart_totals table.shop_table {
  clear: both;
}

.woocommerce .woocommerce-cart-form {
  background-color: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-component);
  box-shadow: var(--shadow-card);
  padding: 1.25rem 1.5rem;
  margin-bottom: 1.5rem;
}

.woocommerce .woocommerce-cart-form table.shop_table {
  border-collapse: separate;
  border-spacing: 0;
  border: var(--table-border);
  border-radius: var(--table-radius);
  overflow: hidden;
  margin: 0;
  background-color: var(--table-bg);
}

.woocommerce .woocommerce-cart-form table.shop_table thead th {
  padding: var(--table-header-padding-y) var(--table-header-padding-x);
  font-size: var(--table-header-font-size);
  font-weight: var(--table-header-font-weight);
  text-transform: var(--table-header-text-transform);
  letter-spacing: var(--table-header-letter-spacing);
  color: var(--table-header-color);
  background-color: var(--table-header-bg);
  border-bottom: 1px solid var(--table-cell-border-color);
}

.woocommerce .woocommerce-cart-form table.shop_table tbody td {
  padding: var(--table-cell-padding-y) var(--table-cell-padding-x);
  border-top: 1px solid var(--table-cell-border-color);
  vertical-align: middle;
}

.woocommerce .woocommerce-cart-form table.shop_table tbody tr:first-child td {
  border-top: none;
}

.woocommerce .woocommerce-cart-form table.shop_table td.actions {
  padding: var(--table-actions-padding);
  background-color: var(--table-actions-bg);
  border-top: 1px solid var(--table-cell-border-color);
}

.woocommerce .woocommerce-cart-form table.shop_table .product-thumbnail img {
  max-width: var(--table-product-thumb-max);
  height: auto;
  border-radius: var(--table-radius);
}

.woocommerce .cart-collaterals .cart_totals {
  background-color: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-component);
  box-shadow: var(--shadow-card);
  padding: 1.25rem 1.5rem;
  margin: 0;
}

.woocommerce .cart_totals > h2 {
  margin: 0 0 1rem;
  font-size: 1.1rem;
  font-family: "Open Sans", system-ui, sans-serif;
}

.woocommerce .cart_totals table.shop_table {
  margin-bottom: var(--table-inner-margin-bottom);
  border: var(--table-border);
  border-radius: var(--table-radius);
  overflow: hidden;
}

#customer_details {
  background-color: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-component);
  box-shadow: var(--shadow-card);
  padding: 1.25rem 1.5rem;
  margin-bottom: 1.5rem;
}

#order_review {
  background-color: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-component);
  box-shadow: var(--shadow-card);
  padding: 1.25rem 1.5rem;
  margin-bottom: 1.5rem;
}

.woocommerce-account main > .woocommerce {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
  float: none;
  width: 280px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  margin: 0;
  padding: 0.75rem;
  list-style: none;
  background-color: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-component);
  box-shadow: var(--shadow-card);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li + li {
  margin-top: 0.25rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.55rem 0.65rem;
  font-size: 0.86rem;
  font-weight: 500;
  color: var(--color-text-emphasis);
  border-radius: var(--radius-component);
  transition:
    background-color 150ms ease,
    color 150ms ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  background-color: var(--color-bg-hover);
  color: var(--color-primary);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  background-color: rgba(166, 9, 61, 0.08);
  color: var(--color-primary);
  font-weight: 700;
}
.woocommerce-account .woocommerce-MyAccount-content {
  float: none;
  width: auto;
  min-width: 0;
  flex: 1;
  padding: 1.25rem 1.5rem 1.5rem;
  background-color: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-component);
  box-shadow: var(--shadow-card);
}
.woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h3 {
  padding: 0.3em 0 2em;
  margin: 0;
  font-size: 1.2em;
}
body.woocommerce-page .woocommerce span.woocommerce-Price-amount {
  color: var(--wc-price-color);
  font-size: var(--wc-price-size);
  font-weight: var(--wc-price-weight);
}

body.woocommerce-page .woocommerce del span.woocommerce-Price-amount {
  color: var(--wc-price-del-color);
  font-weight: 500;
  opacity: 0.85;
}

body.woocommerce-page .woocommerce ul.products li.product .price,
body.woocommerce-page .woocommerce div.product p.price,
body.woocommerce-page .woocommerce div.product span.price {
  color: var(--wc-price-color);
  font-size: var(--wc-price-size);
  font-weight: var(--wc-price-weight);
}

/* Card price wrapper: matches when get_price_html() is plain text (no .price span). */
body.woocommerce-page .woocommerce ul.products li.product .shop-product-card-price {
  color: var(--wc-price-color);
  font-size: var(--wc-price-card-size);
  font-weight: var(--wc-price-weight);
}

body.woocommerce-page .woocommerce .price ins {
  text-decoration: none;
}

body.woocommerce-page .woocommerce ul.products li.product .shop-product-card-price .price,
body.woocommerce-page .woocommerce ul.products li.product .shop-product-card-price span.woocommerce-Price-amount {
  font-size: var(--wc-price-card-size);
}

/* bc-sync-next: login / contact prompts — button-like CTA on product cards only (not single product summary) */
body.woocommerce-page .woocommerce .shop-product-card-price > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  box-sizing: border-box;
  padding: 0.5rem 0.75rem;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  text-decoration: none !important;
  color: var(--color-primary) !important;
  background-color: var(--color-grey);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-component);
  transition:
    background-color 150ms ease-out,
    border-color 150ms ease-out,
    color 150ms ease-out;
}

body.woocommerce-page .woocommerce .shop-product-card-price > a:hover,
body.woocommerce-page .woocommerce .shop-product-card-price > a:focus-visible {
  text-decoration: none !important;
  color: var(--color-primary-hover) !important;
  background-color: var(--color-bg-hover);
  border-color: var(--color-neutral-300);
}

body.woocommerce .woocommerce a.button,
body.woocommerce .woocommerce button.button,
body.woocommerce-page .woocommerce a.button,
body.woocommerce-page .woocommerce button.button {
  border-radius: var(--radius-component);
  font-weight: 600;
}

body.woocommerce .woocommerce a.button.alt,
body.woocommerce .woocommerce button.button.alt,
body.woocommerce-page .woocommerce a.button.alt,
body.woocommerce-page .woocommerce button.button.alt,
body.woocommerce .woocommerce button.woocommerce-Button,
body.woocommerce-page .woocommerce button.woocommerce-Button,
body.woocommerce .woocommerce button.woocommerce-button.button,
body.woocommerce-page .woocommerce button.woocommerce-button.button,
body.woocommerce .woocommerce a.woocommerce-Button.button,
body.woocommerce-page .woocommerce a.woocommerce-Button.button,
body.woocommerce-checkout .woocommerce #place_order,
body.single-product .woocommerce button.single_add_to_cart_button {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-surface);
}

body.woocommerce .woocommerce a.button.alt:hover,
body.woocommerce .woocommerce button.button.alt:hover,
body.woocommerce-page .woocommerce a.button.alt:hover,
body.woocommerce-page .woocommerce button.button.alt:hover,
body.woocommerce .woocommerce button.woocommerce-Button:hover,
body.woocommerce-page .woocommerce button.woocommerce-Button:hover,
body.woocommerce .woocommerce button.woocommerce-button.button:hover,
body.woocommerce-page .woocommerce button.woocommerce-button.button:hover,
body.woocommerce .woocommerce a.woocommerce-Button.button:hover,
body.woocommerce-page .woocommerce a.woocommerce-Button.button:hover,
body.woocommerce-checkout .woocommerce #place_order:hover,
body.single-product .woocommerce button.single_add_to_cart_button:hover {
  background-color: var(--color-primary-hover);
  border-color: var(--color-primary-hover);
  color: var(--color-surface);
}

@media (max-width: 900px) {
  .woocommerce-account .woocommerce-MyAccount-navigation {
    width: 100%;
  }

  .woocommerce-account .woocommerce-MyAccount-content {
    width: 100%;
    padding: 1.1rem 1.1rem 1.25rem;
  }
}
