/* Zouqly shop.css — archive, product card add-to-cart, PDP.
   Tokens only. Radius 4px / 999px pills. No gradients, no glow. */

/* ---------- Archive header + toolbar ---------- */
.zq-shop-header h1.woocommerce-products-header__title {
  font-size: var(--zq-size-step-5);
  margin-bottom: var(--zq-space-2);
}
.zq-shop-header .term-description {
  max-width: 52ch;
  color: var(--zq-color-ink-soft);
}

.zq-shop-toolbar {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--zq-space-3);
  border-top: 1px solid var(--zq-color-line);
  border-bottom: 1px solid var(--zq-color-line);
  padding-block: var(--zq-space-2);
  margin-block: var(--zq-space-4) var(--zq-space-5);
}
.zq-shop-toolbar .woocommerce-result-count {
  margin: 0;
  font-size: var(--zq-size-step--1);
  color: var(--zq-color-ink-soft);
}
.zq-shop-toolbar .woocommerce-ordering { margin: 0; }
.zq-shop-toolbar .woocommerce-ordering select {
  width: auto;
  padding: var(--zq-space-1) var(--zq-space-2);
  font-size: var(--zq-size-step--1);
}

/* ---------- Loop grid ---------- */
ul.zq-products { list-style: none; margin: 0; padding: 0; }
ul.zq-products li.product { margin: 0; }

.zq-product-card__link { display: block; text-decoration: none; color: inherit; }
.zq-product-card .onsale {
  position: absolute;
  top: var(--zq-space-2);
  left: var(--zq-space-2);
  z-index: 1;
}

/* Loop add-to-cart: quiet text action under the card */
.zq-product-card .add_to_cart_button,
.zq-product-card .product_type_simple,
.zq-product-card .product_type_variable {
  display: inline-block;
  margin-top: var(--zq-space-1);
  font-size: var(--zq-size-step--1);
  font-weight: 600;
  color: var(--zq-color-accent-deep);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.zq-product-card .add_to_cart_button:hover { color: var(--zq-color-accent); }
.zq-product-card .added_to_cart { display: none; } /* Woo's "View cart" link — we print our own inline confirm */

/* ---------- Inline add-to-cart confirmation ---------- */
.zq-added {
  display: inline-block;
  margin-left: var(--zq-space-2);
  font-size: var(--zq-size-step--1);
  color: var(--zq-color-success);
  opacity: 0;
  transition: opacity var(--zq-motion-base) var(--zq-motion-ease);
}
.zq-added.is-visible { opacity: 1; }
.zq-added a { color: var(--zq-color-accent-deep); }
@media (prefers-reduced-motion: reduce) {
  .zq-added { transition: none; }
}

/* ---------- Pagination ---------- */
.woocommerce-pagination { margin-top: var(--zq-space-6); }
.woocommerce-pagination ul.page-numbers {
  list-style: none;
  display: flex;
  justify-content: center;
  gap: var(--zq-space-1);
  margin: 0;
  padding: var(--zq-space-3) 0 0;
  border-top: 1px solid var(--zq-color-line);
}
.woocommerce-pagination .page-numbers li a,
.woocommerce-pagination .page-numbers li span {
  display: inline-block;
  min-width: 2.25em;
  padding: var(--zq-space-1);
  text-align: center;
  text-decoration: none;
  border-radius: var(--zq-radius-base);
  color: var(--zq-color-ink);
  font-variant-numeric: tabular-nums;
}
.woocommerce-pagination .page-numbers li span.current {
  background: var(--zq-color-ink);
  color: var(--zq-color-canvas);
}
.woocommerce-pagination .page-numbers li a:hover { background: var(--zq-color-line); }

/* ---------- Quantity stepper ---------- */
.zq-qty {
  display: inline-flex;
  align-items: stretch;
  border: 1px solid var(--zq-color-line);
  border-radius: var(--zq-radius-base);
  background: var(--zq-color-surface);
}
.zq-qty input[type="number"] {
  width: 3.5em;
  border: 0;
  border-radius: 0;
  text-align: center;
  padding: var(--zq-space-1);
  font-variant-numeric: tabular-nums;
  -moz-appearance: textfield;
  appearance: textfield;
}
.zq-qty input[type="number"]::-webkit-outer-spin-button,
.zq-qty input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.zq-qty input:focus { box-shadow: none; }
.zq-qty__btn {
  border: 0;
  background: none;
  cursor: pointer;
  font: inherit;
  color: var(--zq-color-ink-soft);
  padding: var(--zq-space-1) var(--zq-space-2);
  transition: color var(--zq-motion-fast) var(--zq-motion-ease);
}
.zq-qty__btn:hover { color: var(--zq-color-ink); }

/* ---------- PDP rail: gallery left (wide), sticky buy box right ----------
   Source order = buy box first so express buttons sit above the fold on mobile;
   desktop swaps visual order. */
.zq-pdp__rail { align-items: start; }
@media (min-width: 900px) {
  .zq-pdp__rail { grid-template-columns: 8fr minmax(320px, 5fr); }
  .zq-pdp__gallery { order: 1; }
  .zq-pdp__buy {
    order: 2;
    position: sticky;
    top: var(--zq-space-4);
  }
}

.zq-pdp__kicker { margin-bottom: var(--zq-space-1); }
.zq-pdp__kicker a { text-decoration: none; }
.zq-pdp__buy .product_title {
  font-size: var(--zq-size-step-4);
  margin-bottom: var(--zq-space-2);
}
.zq-pdp__price {
  font-size: var(--zq-size-step-2);
  font-variant-numeric: tabular-nums;
  margin-bottom: var(--zq-space-3);
}
.zq-pdp__price del { color: var(--zq-color-ink-soft); margin-right: var(--zq-space-1); }
.zq-pdp__price ins { text-decoration: none; }
.zq-pdp__excerpt { color: var(--zq-color-ink-soft); max-width: 46ch; }

.zq-pdp__buy form.cart {
  display: flex;
  flex-wrap: wrap;
  gap: var(--zq-space-2);
  align-items: center;
  margin-block: var(--zq-space-3);
}
.zq-pdp__buy form.cart .variations { width: 100%; }
.zq-pdp__buy form.cart .variations td { padding: 0 0 var(--zq-space-2); border: 0; }
.zq-pdp__buy .single_add_to_cart_button { flex: 1 1 auto; text-align: center; }

.zq-express-slot:empty { display: none; }
.zq-express-slot { margin-block: var(--zq-space-2); }

.zq-pdp__shipping { color: var(--zq-color-ink-soft); margin-bottom: var(--zq-space-1); }
.zq-pdp__returns { margin-bottom: 0; }

/* ---------- PDP gallery ---------- */
.zq-gallery .woocommerce-product-gallery__image,
.zq-gallery .woocommerce-product-gallery__image--placeholder {
  border-radius: var(--zq-radius-base);
  overflow: hidden;
  background: var(--zq-color-surface);
}
/* Thumbs as a strip below the main frame */
.zq-gallery .flex-control-thumbs {
  list-style: none;
  display: flex;
  gap: var(--zq-space-2);
  margin: var(--zq-space-2) 0 0;
  padding: 0;
}
.zq-gallery .flex-control-thumbs li { flex: 0 0 auto; width: 72px; }
.zq-gallery .flex-control-thumbs img {
  border-radius: var(--zq-radius-base);
  border: 1px solid var(--zq-color-line);
  cursor: pointer;
  opacity: 0.6;
  transition: opacity var(--zq-motion-fast) var(--zq-motion-ease);
}
.zq-gallery .flex-control-thumbs img:hover,
.zq-gallery .flex-control-thumbs img.flex-active { opacity: 1; border-color: var(--zq-color-ink); }

/* ---------- PDP stacked sections (description / reviews / specs) ---------- */
.zq-pdp-section {
  border-top: 1px solid var(--zq-color-line);
  padding-block: var(--zq-space-6);
  max-width: var(--zq-layout-content);
}
@media (min-width: 900px) {
  .zq-pdp-section { padding-block: var(--zq-space-7); }
}
.zq-pdp-section__title { font-size: var(--zq-size-step-3); }
.zq-pdp-section__body { max-width: 62ch; }
.zq-pdp-section--specs .zq-spec-table { max-width: 640px; }

/* Reviews */
.zq-pdp-section .commentlist { list-style: none; margin: 0; padding: 0; }
.zq-pdp-section .commentlist li {
  border-bottom: 1px solid var(--zq-color-line);
  padding-block: var(--zq-space-3);
}
.zq-pdp-section .comment-form textarea { min-height: 8em; }

/* ---------- Cross-sell shelf ---------- */
.zq-related {
  border-top: 1px solid var(--zq-color-line);
  padding-block: var(--zq-space-6);
}
@media (min-width: 900px) {
  .zq-related { padding-block: var(--zq-space-7); }
}
.zq-related__title { font-size: var(--zq-size-step-3); margin-bottom: var(--zq-space-5); }
