/**
 * tnm-loop.css
 * assets/css/tnm-loop.css
 *
 * Product archive / loop — design tokens + layout helpers.
 * Mirrors tnm-single.css tokens so archive matches single product.
 */


/* ─── Wishlist icon toggling ────────────────────────────────── */
.my-wishlist-overlay .icon-solid  { display: none; }
.my-wishlist-overlay .icon-light  { display: inline-flex; }
.my-wishlist-overlay.is-solid .icon-solid { display: inline-flex; }
.my-wishlist-overlay.is-solid .icon-light { display: none; }
.my-yith-holder { position: absolute; opacity: 0; pointer-events: none; }

/* ─── Filter sidebar — selected state ──────────────────────── */
.opc-subcat.selected .filter-check,
.opc-attr-checkbox.selected .filter-check,
.opc-flag.selected .filter-check {
  background: var(--p-ink);
  border-color: var(--p-ink);
}
/* Checkmark pseudo-element */
.opc-subcat.selected .filter-check::after,
.opc-attr-checkbox.selected .filter-check::after,
.opc-flag.selected .filter-check::after {
  content: '';
  display: block;
  width: 5px;
  height: 8px;
  border: 1.5px solid var(--p-bg);
  border-top: none;
  border-left: none;
  transform: rotate(42deg) translate(-1px, -1px);
}
/* Category pill tabs — active state */
.shop-tab.active {
  background: var(--p-ink);
  color: var(--p-bg);
  border-color: var(--p-ink);
}
/* Accordion chevron rotation */
details[open] > summary .chev { transform: rotate(180deg); }
details > summary { list-style: none; }
details > summary::-webkit-details-marker { display: none; }

/* ─── WooCommerce price HTML overrides ──────────────────────── */
.card-price del { opacity: 0.45; font-size: 0.75rem; }
.card-price ins { text-decoration: none; }
.card-price .woocommerce-Price-amount { font-family: inherit; }

/* ─── Short desc hidden in grid, visible in list ────────────── */
.card-desc { display: none; }

/* ─── List layout (CSS-driven, toggled by JS adding .layout-list) ─ */
#product-grid.layout-list {
  grid-template-columns: 1fr !important;
}
#product-grid.layout-list .product-card {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 0;
}
#product-grid.layout-list .product-card .card-media {
  aspect-ratio: 1 / 1;
}
#product-grid.layout-list .product-card .card-body {
  padding: 1.25rem 1.5rem !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.5rem;
}
/* Reset grid-mode top margin so gap handles spacing */
#product-grid.layout-list .product-card .card-actions {
  margin-top: 0;
}
/* Always show wishlist in list mode */
#product-grid.layout-list .product-card .card-wish {
  display: inline-flex !important;
}
/* Larger buttons in list mode */
#product-grid.layout-list .product-card .card-wish button,
#product-grid.layout-list .product-card .add_to_cart_button {
  width: 2.25rem;
  height: 2.25rem;
}
#product-grid.layout-list .product-card .card-desc {
  display: block;
}

@media (max-width: 640px) {
  #product-grid.layout-list .product-card {
    grid-template-columns: 110px 1fr;
  }
  #product-grid.layout-list .product-card .card-body {
    padding: 0.75rem 0.875rem !important;
  }
}
