/**
 * WooCommerce overrides — strips default Woo chrome, restyles to match
 * the editorial gallery aesthetic. Loaded only when WooCommerce is active
 * (see inc/enqueue.php).
 */

/* Kill default Woo notices/star-rating styling clashing with our tokens */
.woocommerce ul.products,
.woocommerce-page ul.products { display: contents; } /* our .ls-grid handles layout, not Woo's floated <ul> */

.woocommerce div.product { max-width: var(--ls-container-max); margin-inline: auto; }

/* Shop toolbar (result count / ordering) — minimal, editorial */
.woocommerce-result-count,
.woocommerce-ordering select {
  font-size: var(--ls-fs-small);
  color: var(--ls-color-text-muted);
  border: none;
  background: transparent;
}
.woocommerce-ordering select { border-bottom: 1px solid var(--ls-color-border); padding: 0.25em 0; }

/* Single product layout */
.ls-product { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: var(--ls-space-2xl); align-items: start; }
.ls-product__gallery img { width: 100%; }
.ls-product__title { margin-bottom: var(--ls-space-2xs); }
.ls-product__price { font-family: var(--ls-font-heading); font-size: 1.5rem; margin-bottom: var(--ls-space-md); }
.ls-product__meta { font-size: var(--ls-fs-small); color: var(--ls-color-text-muted); margin-bottom: var(--ls-space-lg); }

.ls-variations-form .variations { display: flex; flex-direction: column; gap: var(--ls-space-md); margin-bottom: var(--ls-space-lg); }
.ls-variations-form label { display: block; font-size: var(--ls-fs-small); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: var(--ls-space-2xs); }
.ls-variations-form select {
  width: 100%; padding: 0.75em 1em; border: 1px solid var(--ls-color-border); background: var(--ls-color-bg);
  font-family: var(--ls-font-body);
}

.ls-product__actions { display: flex; gap: var(--ls-space-sm); align-items: center; }
.ls-product__actions .quantity input { width: 64px; padding: 0.75em; border: 1px solid var(--ls-color-border); text-align: center; }

.ls-product__accordion { margin-top: var(--ls-space-2xl); border-top: 1px solid var(--ls-color-border); }
.ls-product__accordion details { border-bottom: 1px solid var(--ls-color-border); padding: var(--ls-space-md) 0; }
.ls-product__accordion summary { cursor: pointer; font-family: var(--ls-font-heading); font-size: 1.125rem; }

@media (max-width: 900px) {
  .ls-product { grid-template-columns: 1fr; }
}

/* Cart / mini-cart count bubble */
.ls-cart-count {
  position: absolute; top: -6px; right: -8px; background: var(--ls-color-ocean-slate); color: var(--ls-color-white);
  font-size: 0.65rem; width: 16px; height: 16px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
}
.ls-header__icon-btn { position: relative; }
