/*
 * Brand WooCommerce layer. Driven entirely by the variables in brand.css.
 * Covers classic shortcode templates AND Cart/Checkout blocks (wc-block-*).
 * Change the look by editing variables, not selectors.
 */

/* ---------- Buttons ---------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-page a.button,
.woocommerce-page button.button,
.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
  background: var(--brand-btn-bg);
  color: var(--brand-btn-fg);
  border: var(--brand-btn-border);
  border-radius: var(--brand-btn-radius);
  padding: var(--brand-btn-padding);
  font-family: var(--brand-font-body);
  font-weight: var(--brand-btn-weight);
  text-transform: var(--brand-btn-transform);
  letter-spacing: var(--brand-btn-spacing);
  line-height: 1.2;
  transition: background .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
  box-shadow: none;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.wc-block-components-button:not(.is-link):hover {
  background: var(--brand-btn-bg-hover);
  color: var(--brand-btn-fg);
  transform: translateY(-1px);
}
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.single_add_to_cart_button,
#place_order {
  background: var(--brand-primary);
  color: var(--brand-on-primary);
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.single_add_to_cart_button:hover,
#place_order:hover {
  background: var(--brand-primary-hover);
}
.woocommerce a.button:focus-visible,
.woocommerce button.button:focus-visible,
.wc-block-components-button:focus-visible {
  outline: 2px solid var(--brand-accent);
  outline-offset: 2px;
}

/* ---------- Shop / archive ---------- */
.woocommerce ul.products li.product {
  background: var(--brand-surface);
  border: 1px solid var(--brand-border);
  border-radius: var(--brand-radius);
  padding: var(--brand-card-padding);
  transition: box-shadow .25s ease, transform .25s ease;
  overflow: hidden;
}
.woocommerce ul.products li.product:hover {
  box-shadow: var(--brand-shadow);
  transform: translateY(-3px);
}
.woocommerce ul.products li.product a img {
  border-radius: calc(var(--brand-radius) * .75);
  margin-bottom: .9em;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title {
  font-family: var(--brand-font-heading);
  font-weight: var(--brand-heading-weight);
  color: var(--brand-text);
  font-size: 1.05rem;
  line-height: 1.3;
}
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.wc-block-grid__product-price {
  color: var(--brand-price);
  font-weight: 600;
}
.woocommerce ul.products li.product .price del,
.woocommerce div.product p.price del { color: var(--brand-muted); opacity: .8; }
.woocommerce span.onsale,
.wc-block-grid__product-onsale {
  background: var(--brand-accent);
  color: var(--brand-on-accent);
  border-radius: var(--brand-badge-radius);
  min-height: 0; min-width: 0;
  line-height: 1;
  padding: .5em .8em;
  font-weight: 600;
  text-transform: uppercase;
  font-size: .72rem;
  letter-spacing: .04em;
}
.woocommerce .star-rating span::before,
.woocommerce p.stars a { color: var(--brand-accent); }
.woocommerce .woocommerce-ordering select,
.woocommerce .woocommerce-result-count { color: var(--brand-muted); }

/* ---------- Single product ---------- */
.woocommerce div.product .product_title {
  font-family: var(--brand-font-heading);
  font-weight: var(--brand-heading-weight);
  color: var(--brand-text);
  letter-spacing: var(--brand-heading-spacing);
  text-transform: var(--brand-heading-transform);
}
.woocommerce div.product div.images img { border-radius: var(--brand-radius); }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border-radius: var(--brand-radius) var(--brand-radius) 0 0;
  border-color: var(--brand-border);
  background: var(--brand-surface);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--brand-primary); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--brand-bg); }
.woocommerce .quantity .qty {
  border: 1px solid var(--brand-border);
  border-radius: var(--brand-input-radius);
  padding: .55em .4em;
}
.woocommerce-breadcrumb, .woocommerce-breadcrumb a { color: var(--brand-muted); font-size: .85rem; }

/* ---------- Forms (cart, checkout, account) ---------- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container--default .select2-selection--single,
.wc-block-components-text-input input,
.wc-block-components-select-input select,
.wc-block-components-combobox .components-form-token-field__input-container {
  background: var(--brand-bg);
  color: var(--brand-text);
  border: 1px solid var(--brand-border);
  border-radius: var(--brand-input-radius);
  font-family: var(--brand-font-body);
  padding: .75em .9em;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.wc-block-components-text-input input:focus {
  border-color: var(--brand-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-primary) 20%, transparent);
  outline: none;
}
.woocommerce form .form-row label { color: var(--brand-text); font-weight: 500; }

/* ---------- Cart, checkout, tables ---------- */
.woocommerce table.shop_table {
  border: 1px solid var(--brand-border);
  border-radius: var(--brand-radius);
  border-collapse: separate;
  overflow: hidden;
}
.woocommerce table.shop_table th { background: var(--brand-surface); color: var(--brand-text); }
.woocommerce table.shop_table td { border-color: var(--brand-border); }
.woocommerce-checkout #payment,
.wc-block-components-sidebar-layout .wc-block-components-sidebar,
.wc-block-components-totals-wrapper {
  background: var(--brand-surface);
  border-radius: var(--brand-radius);
}
.woocommerce-checkout #payment div.payment_box { background: var(--brand-bg); color: var(--brand-text); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--brand-bg); }
.woocommerce-cart .cart_totals h2,
.woocommerce-checkout h3,
.wc-block-components-title,
.wc-block-cart__totals-title {
  font-family: var(--brand-font-heading);
  font-weight: var(--brand-heading-weight);
}

/* ---------- Notices ---------- */
.woocommerce-message, .woocommerce-info,
.wc-block-components-notice-banner.is-success,
.wc-block-components-notice-banner.is-info {
  border-top-color: var(--brand-primary);
  background: var(--brand-surface);
  color: var(--brand-text);
  border-radius: var(--brand-input-radius);
}
.woocommerce-message::before, .woocommerce-info::before { color: var(--brand-primary); }
.woocommerce-error { border-top-color: var(--brand-danger); border-radius: var(--brand-input-radius); }
.woocommerce-error::before { color: var(--brand-danger); }

/* ---------- Pagination, mini cart, account ---------- */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  border-radius: var(--brand-input-radius);
  color: var(--brand-text);
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
  background: var(--brand-primary);
  color: var(--brand-on-primary);
}
.widget_shopping_cart .buttons a, .woocommerce-mini-cart__buttons a { border-radius: var(--brand-btn-radius); }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; }
.woocommerce-MyAccount-navigation li a {
  display: block; padding: .7em 1em;
  border-radius: var(--brand-input-radius);
  color: var(--brand-text);
}
.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li a:hover {
  background: var(--brand-primary);
  color: var(--brand-on-primary);
}

/* ---------- Motion accessibility ---------- */
@media (prefers-reduced-motion: reduce) {
  .woocommerce ul.products li.product,
  .woocommerce a.button,
  .woocommerce button.button { transition: none; transform: none !important; }
}
