/* ============================================================
   Nutoast — WooCommerce (catalog + inquiry) styling
   Inherits design tokens from main.css (loaded as dependency).
   ============================================================ */

.woocommerce-wrap { padding-block: clamp(2rem, 4vw, 3.5rem); }

/* breadcrumb */
.woocommerce-breadcrumb {
  font-size: .85rem; color: var(--muted); margin-bottom: 1.6rem;
  letter-spacing: .01em;
}
.woocommerce-breadcrumb a { color: var(--olive); }
.woocommerce-breadcrumb a:hover { color: var(--olive-deep); }

/* page heading */
.woocommerce-products-header__title,
.woocommerce-wrap h1.entry-title {
  font-family: var(--font-display); font-weight: 500; font-size: var(--fs-h2);
  color: var(--olive-deep); letter-spacing: -.015em; margin-bottom: .4rem;
}
.term-description { color: var(--muted); max-width: 60ch; margin-bottom: 1.5rem; }

/* toolbar */
.woocommerce-result-count { color: var(--muted); font-size: .9rem; }
.woocommerce-ordering select {
  font: inherit; padding: .5rem .9rem; border-radius: var(--r-pill);
  border: 1px solid var(--line); background: var(--cream); color: var(--olive-ink);
}

/* ---------- product grid ---------- */
ul.products {
  list-style: none; margin: 1.5rem 0 0; padding: 0;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.6rem;
}
ul.products li.product {
  margin: 0; text-align: left;
  background: var(--cream); border: 1px solid var(--line-soft);
  border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow-sm);
  display: flex; flex-direction: column;
  transition: transform .5s var(--ease), box-shadow .5s var(--ease);
}
ul.products li.product:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); }
ul.products li.product a img {
  margin: 0; border-radius: 0; aspect-ratio: 16/12; object-fit: cover; width: 100%;
  transition: transform .7s var(--ease-out);
}
ul.products li.product:hover a img { transform: scale(1.05); }
ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--font-display); font-weight: 500; font-size: 1.25rem;
  color: var(--olive-deep); padding: 1.1rem 1.3rem .2rem;
}
ul.products li.product .woocommerce-loop-product__link { display: block; }
ul.products li.product .star-rating { margin: 0 1.3rem; }
ul.products li.product .nutoast-loop-inquiry { margin: .8rem 1.3rem 1.4rem; }
ul.products li.product .onsale {
  background: var(--lime); color: var(--olive-ink); border-radius: var(--r-pill);
  padding: .25rem .7rem; font-weight: 700; min-height: 0; min-width: 0;
}

/* ---------- single product ---------- */
.single-product div.product {
  display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 4vw, 3.5rem);
  align-items: start;
}
.single-product div.product .woocommerce-product-gallery { margin: 0; }
.single-product div.product .woocommerce-product-gallery__image img { border-radius: var(--r-lg); }
.single-product div.product .product_title {
  font-family: var(--font-display); font-weight: 500; font-size: var(--fs-h2);
  color: var(--olive-deep); letter-spacing: -.015em; line-height: 1.08;
}
.single-product .woocommerce-product-details__short-description {
  color: var(--muted); font-size: var(--fs-lead); margin-top: 1rem;
}
.single-product .product_meta { margin-top: 1.6rem; font-size: .88rem; color: var(--muted); }
.single-product .product_meta a { color: var(--olive); }

/* inquiry CTAs */
.nutoast-inquiry-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.8rem; }

/* tabs */
.woocommerce-tabs { grid-column: 1 / -1; margin-top: clamp(2.5rem, 5vw, 4rem); }
.woocommerce-tabs ul.tabs {
  list-style: none; margin: 0 0 1.5rem; padding: 0 0 .6rem;
  display: flex; gap: .4rem; flex-wrap: wrap; border-bottom: 1px solid var(--line);
}
.woocommerce-tabs ul.tabs li {
  margin: 0; background: none; border: 0;
}
.woocommerce-tabs ul.tabs li a {
  display: inline-block; padding: .55rem 1.1rem; border-radius: var(--r-pill);
  font-weight: 600; color: var(--muted); font-size: .92rem;
}
.woocommerce-tabs ul.tabs li.active a { background: var(--olive-deep); color: #fff; }
.woocommerce-tabs .panel h2 { font-family: var(--font-display); font-weight: 500; color: var(--olive-deep); }

/* related / upsells */
.related.products > h2, .upsells.products > h2 {
  font-family: var(--font-display); font-weight: 500; font-size: var(--fs-h3);
  color: var(--olive-deep); margin: clamp(2.5rem,5vw,4rem) 0 0;
}

/* pagination + notices */
.woocommerce-pagination ul { display: flex; gap: .5rem; list-style: none; padding: 0; margin: 2.5rem 0 0; border: 0; }
.woocommerce-pagination ul li a, .woocommerce-pagination ul li span {
  display: inline-grid; place-items: center; min-width: 42px; height: 42px; padding: 0 .6rem;
  border-radius: var(--r-pill); background: var(--cream-2); color: var(--olive-ink); font-weight: 600; border: 0;
}
.woocommerce-pagination ul li span.current { background: var(--olive-deep); color: #fff; }
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  border-radius: var(--r-md); border: 1px solid var(--line); background: var(--cream-2);
  padding: 1rem 1.2rem; border-top: 3px solid var(--avocado); list-style: none;
}

@media (max-width: 900px) { ul.products { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 820px) { .single-product div.product { grid-template-columns: 1fr; } }
@media (max-width: 520px) { ul.products { grid-template-columns: 1fr; } }

/* ---------- specs + downloads (single product) ---------- */
.nutoast-specs, .nutoast-downloads { margin-top: 1.9rem; }
.nutoast-specs__title, .nutoast-downloads__title {
  font-family: var(--font-display); font-weight: 500; font-size: 1.15rem;
  color: var(--olive-deep); letter-spacing: -.01em; margin: 0 0 .8rem;
}
.nutoast-spec-table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.nutoast-spec-table th, .nutoast-spec-table td {
  text-align: left; padding: .7rem .9rem; vertical-align: top;
  border-bottom: 1px solid var(--line-soft);
}
.nutoast-spec-table th { width: 42%; color: var(--olive-soft); font-weight: 600; }
.nutoast-spec-table td { color: var(--olive-ink); }
.nutoast-spec-table tr:nth-child(odd) th,
.nutoast-spec-table tr:nth-child(odd) td { background: rgba(20,22,4,.025); }

.nutoast-doc-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.nutoast-doc {
  display: flex; align-items: center; gap: .75rem; padding: .8rem 1rem;
  border: 1px solid var(--line); border-radius: var(--r-md); background: var(--cream);
  font-weight: 600; color: var(--olive-deep);
  transition: border-color .25s var(--ease), transform .25s var(--ease), box-shadow .25s var(--ease);
}
.nutoast-doc:hover { border-color: var(--avocado); transform: translateY(-2px); box-shadow: var(--shadow-sm); }
.nutoast-doc svg { width: 22px; height: 22px; color: var(--avocado); flex: 0 0 auto; }
