/* ============================================
   SHOP TOOLBAR & FILTERS
   ============================================ */
.shop-page-section{ padding-block:80px 120px; }
.shop-toolbar{
  display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap;
  margin-bottom:44px; padding-bottom:28px; border-bottom:1px solid var(--border-hairline);
}
.shop-filters{ display:flex; gap:10px; flex-wrap:wrap; }
.filter-chip{
  font-family:var(--font-mono); font-size:12.5px; text-transform:uppercase; letter-spacing:0.05em;
  padding:9px 18px; border-radius:20px; border:1px solid var(--border-hairline-strong);
  background:transparent; color:var(--text-secondary); transition:all .16s ease;
}
html[dir="rtl"] .filter-chip{ letter-spacing:normal; text-transform:none; font-family:var(--font-body); font-weight:600; }
.filter-chip.active{ background:var(--accent-flame); border-color:var(--accent-flame); color:#0B0D0E; font-weight:700; }
.filter-chip:not(.active):hover{ border-color:var(--accent-ember); color:var(--accent-ember); }
.shop-count{ font-family:var(--font-mono); font-size:13px; color:var(--text-tertiary); }

.shop-page-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:22px; }
.shop-page-grid .product-card{ transition:opacity .2s ease, transform .2s ease; }
.shop-page-grid .product-card.hidden{ display:none; }
@media (max-width:980px){ .shop-page-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .shop-page-grid{ grid-template-columns:1fr; } }

.shop-cta-banner{
  margin-top:80px; padding:56px 48px; border-radius:var(--radius-md);
  background:linear-gradient(120deg, var(--bg-surface-2), var(--bg-surface));
  border:1px solid var(--border-hairline-strong);
  display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap;
}
.shop-cta-banner h3{ font-family:var(--font-display); font-size:26px; text-transform:uppercase; max-width:440px; line-height:1.1; }
html[dir="rtl"] .shop-cta-banner h3{ text-transform:none; font-weight:800; }
.shop-cta-banner p{ color:var(--text-secondary); font-size:14px; margin-top:8px; max-width:440px; }

/* ============================================
   WOOCOMMERCE DEFAULT MARKUP BRIDGE
   Styles the real WooCommerce shop archive / single
   product templates (ul.products, li.product, etc.)
   to match this design system, without requiring a
   full template override. Loaded whenever WooCommerce
   pages are viewed — see functions.php enqueue logic.
   ============================================ */
.woocommerce ul.products{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:22px;
  list-style:none; margin:0; padding:0;
}
.woocommerce ul.products li.product{
  background:var(--bg-void); border:1px solid var(--border-hairline);
  border-radius:var(--radius-md); overflow:hidden; padding:0;
  transition:border-color .2s ease, transform .2s ease;
}
.woocommerce ul.products li.product:hover{ border-color:var(--border-hairline-strong); transform:translateY(-4px); }
.woocommerce ul.products li.product img{ aspect-ratio:1/1; object-fit:cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size:15.5px; font-weight:600; color:var(--text-primary); padding:14px 18px 0; margin:0;
}
.woocommerce ul.products li.product .price{
  font-family:var(--font-mono); font-size:16px; color:var(--accent-ember); font-weight:700;
  padding:6px 18px 18px; display:block;
}
.woocommerce ul.products li.product .price del{ color:var(--text-tertiary); opacity:0.7; margin-inline-end:8px; }
.woocommerce ul.products li.product .button{
  margin:0 18px 18px; display:inline-flex; font-family:var(--font-mono); font-size:12px;
  text-transform:uppercase; letter-spacing:0.06em; background:var(--accent-flame); color:#0B0D0E;
  padding:10px 16px; border-radius:var(--radius-sm); font-weight:700;
}
.woocommerce nav.woocommerce-pagination ul{ display:flex; gap:8px; list-style:none; margin-top:40px; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span{
  display:flex; align-items:center; justify-content:center; width:38px; height:38px;
  border:1px solid var(--border-hairline-strong); border-radius:var(--radius-sm); color:var(--text-secondary);
  font-family:var(--font-mono); font-size:13px;
}
.woocommerce nav.woocommerce-pagination ul li span.current{ background:var(--accent-flame); color:#0B0D0E; border-color:var(--accent-flame); }

/* Single product page */
.woocommerce div.product .summary .price{ font-family:var(--font-mono); font-size:28px; color:var(--accent-ember); }
.woocommerce div.product .summary .single_add_to_cart_button{
  background:var(--accent-flame); color:#0B0D0E; font-weight:700; border:none;
  padding:15px 30px; border-radius:var(--radius-sm); font-family:var(--font-mono);
  text-transform:uppercase; letter-spacing:0.06em; font-size:13px;
}
.woocommerce div.product p.stock{ color:var(--accent-ember); font-family:var(--font-mono); font-size:13px; }

/* Cart / checkout tables */
.woocommerce table.shop_table{ border-color:var(--border-hairline); color:var(--text-primary); }
.woocommerce table.shop_table th{ color:var(--text-tertiary); font-family:var(--font-mono); font-size:12px; text-transform:uppercase; }
.woocommerce-message, .woocommerce-info{
  background:var(--bg-surface); border-inline-start:3px solid var(--accent-flame); color:var(--text-primary); padding:16px 20px;
}

@media (max-width:980px){ .woocommerce ul.products{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .woocommerce ul.products{ grid-template-columns:1fr; } }
