/* =========================================================================
   Trailblaze WooCommerce — shop archive + single-map product page.
   Uses the tokens from tb-site.css. Loaded only on Woo pages.
   ========================================================================= */

/* Hide Blocksy's grey page-title hero on the shop (our intro replaces it). */
body.post-type-archive-product .hero-section,
body.tax-product_cat .hero-section{ display:none; }

/* ---------- Shop archive ---------- */
.tb-shop-intro{ padding:36px 0 6px; }
.tb-shop-intro h1{ font-size:clamp(30px,5vw,46px); font-weight:800; margin:12px 0 8px; }
.tb-shop-intro p{ color:var(--tb-muted); font-size:17px; margin:0; max-width:60ch; }

.tb-shop-filters{ display:flex; gap:14px; align-items:center; flex-wrap:wrap; padding:14px 0 22px; border-bottom:1px solid var(--tb-line); margin-bottom:26px; }
.tb-shop-filters .fg{ display:flex; gap:7px; align-items:center; flex-wrap:wrap; }
.tb-shop-filters .lab{ font-size:12px; color:var(--tb-muted); font-weight:600; margin-right:2px; }
.tb-shop-filters .fchip{ font-size:13px; font-weight:600; color:var(--tb-muted); background:var(--tb-surface); border:1px solid var(--tb-line); padding:6px 13px; border-radius:20px; cursor:pointer; }
.tb-shop-filters .fchip.on{ background:var(--tb-green); color:#fff; border-color:var(--tb-green); }
.tb-shop-count{ margin-left:auto; font-size:13px; color:var(--tb-muted); }

/* Hide Woo's default result-count + ordering (our filter bar replaces them). */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering{ display:none; }

/* Product loop as our card grid (override Woo/Blocksy columns). */
.woocommerce ul.products,
.woocommerce-page ul.products{ display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:20px !important; margin:0 !important; padding:0 !important; list-style:none; --woo-grid-template-columns:none; }
@media (max-width:860px){ .woocommerce ul.products{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; } }
@media (max-width:560px){ .woocommerce ul.products{ grid-template-columns:1fr !important; } }
.woocommerce ul.products li.product,
.woocommerce ul.products li.tb-shop-item{ width:auto !important; float:none !important; margin:0 !important; padding:0 !important; }
.woocommerce ul.products li.product::before{ display:none; }

/* ---------- Single product ---------- */
.woocommerce div.product .product_title{ font-family:var(--tb-disp); font-size:clamp(26px,3.6vw,34px); font-weight:800; letter-spacing:-.02em; margin:6px 0 6px; }
.tb-pdp-reg{ color:var(--tb-muted); font-size:14px; display:flex; align-items:center; gap:6px; margin-bottom:14px; }
.tb-pdp-price{ font-family:var(--tb-disp); font-weight:800; font-size:28px; color:var(--tb-ink); margin:6px 0 18px; }
.tb-pdp-price .free{ color:var(--tb-green-3); }
.tb-pdp-price .woocommerce-Price-amount{ color:var(--tb-ink); }

.tb-pdp-actions{ display:flex; flex-direction:column; gap:10px; margin-bottom:16px; }
/* Add-to-cart form → clean vertical stack, no qty box for digital maps */
.woocommerce div.product form.cart{ margin:0; display:flex; flex-direction:column; gap:10px; }
.woocommerce div.product form.cart .quantity{ display:none; }
.woocommerce div.product form.cart .button.single_add_to_cart_button{
  width:100%; background:var(--tb-green); color:#fff; border:0; border-radius:11px; padding:13px 18px;
  font-weight:700; font-size:15px; letter-spacing:0; text-transform:none; }
.woocommerce div.product form.cart .button.single_add_to_cart_button:hover{ background:var(--tb-green-2); }
.woocommerce .button.tb-buy-now{
  width:100%; background:var(--tb-amber) !important; color:#3a2409 !important; border:0; border-radius:11px;
  padding:12px 18px; font-weight:700; font-size:14px; text-transform:none; }
.tb-open-app.tb-btn{ width:100%; }

.tb-assure{ list-style:none; margin:2px 0 22px; padding:0; display:grid; gap:9px; }
.tb-assure li{ display:flex; gap:9px; align-items:center; font-size:13.5px; color:var(--tb-muted); }
.tb-assure svg{ flex:none; width:16px; height:16px; stroke:var(--tb-green-3); fill:none; stroke-width:2; }

.tb-incl{ background:var(--tb-surface); border:1px solid var(--tb-line); border-radius:16px; padding:16px 18px; box-shadow:var(--tb-shadow); margin-bottom:14px; }
.tb-incl h3{ font-size:12px; text-transform:uppercase; letter-spacing:.08em; color:var(--tb-muted); margin:0 0 12px; }
.tb-incl ul{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.tb-incl li{ display:flex; gap:10px; align-items:flex-start; font-size:14px; }
.tb-incl svg{ flex:none; width:18px; height:18px; stroke:var(--tb-green-3); fill:none; stroke-width:2; margin-top:2px; }

.tb-how{ background:var(--tb-soft); border:1px solid var(--tb-line); border-radius:13px; padding:14px 16px; font-size:13.5px; color:var(--tb-muted); line-height:1.55; }
.tb-how b{ color:var(--tb-ink); }

/* Product tabs + related, lightly aligned to the brand */
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{ border-bottom-color:var(--tb-green); }
.woocommerce .related > h2, .woocommerce .upsells > h2{ font-family:var(--tb-disp); font-weight:800; }

/* My Account nav: hide the broken "woo" font-icon glyphs (font not loading);
   the labelled card nav reads cleanly without them. */
.woocommerce-MyAccount-navigation ul li a::before,
.woocommerce-MyAccount-navigation-link a::before {
	display: none !important;
	content: none !important;
}
