/* =========================================================================
   WOOCOMMERCE — map core WooCommerce markup to the SAR design language
   ========================================================================= */
.woocommerce, .wc-block-components-notice-banner, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { font-family:var(--font-body); color:var(--ink); }

/* Buttons */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce .button.alt,
.wc-block-components-button, .wc-block-components-button.contained {
  font-family:var(--font-display); font-weight:600; font-size:0.9375rem; letter-spacing:.01em;
  background:var(--red); color:#fff; border:1.5px solid transparent; border-radius:0.625rem;
  padding:0.75rem 1.375rem; box-shadow:var(--shadow-red); text-decoration:none; cursor:pointer;
  transition:transform .18s cubic-bezier(.4,0,.2,1), box-shadow .22s ease, background .2s ease;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce .button.alt:hover,
.wc-block-components-button:hover { background:var(--red-strong); color:#fff; transform:translateY(-0.0625rem); box-shadow:var(--shadow-2); }
.woocommerce a.button.wc-backward, .woocommerce .button.wc-forward.is-style-outline { background:transparent; color:var(--ink); border-color:var(--line-strong); box-shadow:none; }

/* Prices */
.woocommerce .price, .wc-block-components-product-price, .woocommerce div.product p.price, .woocommerce ul.products li.product .price {
  font-family:var(--font-display); font-weight:800; color:var(--ink); letter-spacing:-.02em;
}
.woocommerce .price del { color:var(--muted); font-weight:500; }
.woocommerce .price ins { text-decoration:none; }

/* Shop / archive header (title + result count + ordering) */
.woocommerce-products-header { margin:0.375rem 0 1.625rem; }
.woocommerce-products-header__title.page-title,
.woocommerce .woocommerce-products-header__title {
  font-family:var(--font-display); font-weight:800; font-size:clamp(1.875rem,4.4vw,2.875rem);
  letter-spacing:-.02em; line-height:1.03; margin:0.375rem 0 0.375rem;
}
.woocommerce .woocommerce-result-count { font-family:var(--font-label); font-size:0.78125rem; letter-spacing:.04em; color:var(--muted); margin:0; }
.woocommerce .woocommerce-ordering { margin:0; }
.woocommerce .woocommerce-ordering select { width:auto; max-width:17.5rem; display:inline-block; height:2.75rem; }

/* Shop / archive product grid */
.woocommerce ul.products, ul.wc-block-product-template, .wc-block-product-template {
  display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.375rem; margin:0; padding:0; list-style:none;
}
/* WooCommerce adds ::before/::after clearfix pseudo-elements to ul.products.
   With display:grid these become empty grid cells and shift every product by
   one column — kill them. */
.woocommerce ul.products::before, .woocommerce ul.products::after { content:none !important; display:none !important; }
.woocommerce ul.products li.product .onsale, .wc-block-components-product-sale-badge {
  position:absolute; top:0.75rem; right:0.75rem; left:auto; z-index:3; margin:0;
  background:var(--red); color:#fff; font-family:var(--font-label); font-size:0.6875rem; font-weight:600;
  letter-spacing:.06em; border-radius:0.375rem; min-height:auto; padding:0.3125rem 0.625rem;
}

