/* =========================================================================
 * BS · Pages catégories (C5.8) — CSS scopé sous body.bs-cat UNIQUEMENT.
 * Sœur de la home DA (base B « marché » + titres A). Tout est préfixé .bs-cat
 * pour ne jamais fuir sur le reste du thème WoodMart. Rollback = plugin off.
 * DA tokens repris de bs-home-univers v1.2.0 (déployé 21/07).
 * ====================================================================== */

.bs-cat{
  --y:#FFD600; --y6:#E8BF00; --ink:#181A1F; --ink3:#42474F; --mut:#6B6459;
  --kraft:#F6F1E7; --kraft2:#EFE8D9; --paper:#FBFAF4; --line:#E2E4E9;
  --save:#B91222; --trust:#0B6F3F; --trustbg:#E7F5EE; --amber:#7A5200;
  --shpop:5px 5px 0 rgba(24,26,31,.12); --shhard:7px 7px 0 var(--ink);
  --bs-font:Montserrat,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}

/* --- Masquages ciblés : on remplace, on ne duplique pas --------------- */
/* Titre WoodMart (span.entry-title dans le widget Elementor) : remplacé par notre H1. */
.bs-cat .elementor-widget-wd_shop_archive_woocommerce_title,
.bs-cat .wd-woo-page-title{ display:none !important; }
/* Description de terme rendue EN HAUT par Elementor : relocalisée en bas (bloc .bs-seo). */
.bs-cat .elementor-widget-woocommerce-archive-description,
.bs-cat .wd-archive-description,
.bs-cat .term-description{ display:none !important; }
/* Ligne de stock brute WoodMart (« 11 en stock ») : remplacée par notre libellé garde-fous. */
.bs-cat .wd-product .wd-product-stock{ display:none !important; }

/* =========================================================================
 * 1. BANDEAU DE RAYON (.bs-cathead) — injecté via woocommerce_archive_description
 * ====================================================================== */
.bs-cat .bs-cathead{
  font-family:var(--bs-font); color:var(--ink);
  max-width:1240px; margin:6px auto 22px; padding:22px 18px 4px;
  box-sizing:border-box;
}
.bs-cat .bs-eyebrow{
  display:inline-flex; align-items:center; gap:9px;
  font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.09em;
  color:var(--ink3);
}
.bs-cat .bs-eyebrow::before{
  content:""; width:26px; height:10px; border-radius:2px;
  background:repeating-linear-gradient(90deg,var(--y) 0 5px,var(--ink) 5px 7px);
}
.bs-cat .bs-cathead__h1{
  font-family:var(--bs-font); font-weight:900; color:var(--ink);
  font-size:clamp(26px,4.4vw,42px); line-height:1.04; letter-spacing:-.02em;
  margin:10px 0 0;
}
.bs-cat .bs-cathead__intro{
  font-size:clamp(14px,1.5vw,16px); color:var(--ink3); line-height:1.5;
  max-width:70ch; margin:12px 0 0;
}
.bs-cat .bs-cathead__intro strong{ color:var(--ink); font-weight:800; }
.bs-cat .bs-cathead__count{
  font-size:14px; color:var(--mut); margin:14px 0 0; font-weight:600;
}
.bs-cat .bs-cathead__count strong{ color:var(--ink); font-weight:900; }
.bs-cat .bs-cathead__count span{ color:var(--mut); font-weight:600; }

/* Fil d'ariane WoodMart : léger cadrage DA (on le garde, on ne le refait pas). */
.bs-cat .wd-breadcrumbs{ font-weight:600; }
.bs-cat .wd-breadcrumbs a{ color:var(--mut); }
.bs-cat .wd-breadcrumbs a:hover{ color:var(--ink); }

/* =========================================================================
 * 2. SOUS-CATÉGORIES (tuiles WoodMart .wd-cat.product-category) — DA
 * ====================================================================== */
.bs-cat .products .wd-cat.product-category{ font-family:var(--bs-font); }
.bs-cat .products .wd-cat .wd-cat-inner,
.bs-cat .products .wd-cat .wrapp-category{
  border:1.5px solid var(--line); border-radius:12px; background:#fff;
  padding:14px 10px; transition:transform .12s ease, border-color .18s, box-shadow .18s;
}
.bs-cat .products .wd-cat:hover .wd-cat-inner,
.bs-cat .products .wd-cat:hover .wrapp-category{
  transform:translateY(-2px); border-color:var(--ink); box-shadow:var(--shpop);
}
.bs-cat .products .wd-cat .category-grid-item-title,
.bs-cat .products .wd-cat .wd-cat-title,
.bs-cat .products .wd-cat h3{
  font-weight:900 !important; letter-spacing:-.01em; color:var(--ink) !important;
  text-transform:none;
}

/* =========================================================================
 * 3. BARRE OUTILS (result count + tri) — DA sobre
 * ====================================================================== */
.bs-cat .woocommerce-result-count{
  font-family:var(--bs-font); color:var(--mut); font-weight:700; font-size:14px;
}
.bs-cat .woocommerce-ordering select,
.bs-cat select.orderby{
  font-family:var(--bs-font); font-weight:700; border:1.5px solid var(--line);
  border-radius:8px; padding:8px 30px 8px 12px; color:var(--ink); background-color:#fff;
}

/* =========================================================================
 * 4. CARTES PRODUIT (.wd-product) — DA « B » par CSS (loop WoodMart intact)
 * ====================================================================== */
.bs-cat .products .wd-product{
  font-family:var(--bs-font); position:relative;
}
.bs-cat .products .wd-product .wd-product-wrapper,
.bs-cat .products .wd-product > .product-wrapper{
  background:#fff; border:1.5px solid var(--ink); border-radius:9px; overflow:hidden;
  box-shadow:var(--shpop); transition:transform .14s ease, box-shadow .14s ease;
  height:100%;
}
.bs-cat .products .wd-product:hover .wd-product-wrapper,
.bs-cat .products .wd-product:hover > .product-wrapper{
  transform:translateY(-3px); box-shadow:var(--shhard);
}
/* Image : ratio stable pour couper le CLS (les box vides du baseline). */
.bs-cat .products .wd-product .wd-product-thumb{ position:relative; }
.bs-cat .products .wd-product .wd-product-thumb img{
  aspect-ratio:1/1; object-fit:contain; width:100%; height:auto; background:#fff;
}

/* Badge « Comme neuf · vérifié » — pastille de confiance, overlay bas-gauche image. */
.bs-cat .products .wd-product .bs-tested{
  position:absolute; left:8px; bottom:8px; z-index:3;
  display:inline-flex; align-items:center; gap:5px;
  background:var(--trustbg); color:var(--trust); font-weight:900; font-size:11px;
  padding:4px 9px; border-radius:999px; white-space:nowrap; line-height:1;
  box-shadow:0 1px 2px rgba(24,26,31,.12);
}
.bs-cat .products .wd-product .bs-tested svg{ width:12px; height:12px; }
/* le badge est injecté avant le titre : on le remonte visuellement dans le thumb */
.bs-cat .products .wd-product .wd-product-thumb .bs-tested{ bottom:8px; }

/* Badge de remise WoodMart (.onsale) → tampon rouge DA, incliné. */
.bs-cat .products .wd-product .onsale,
.bs-cat .products .wd-product .product-label.onsale{
  background:var(--save) !important; color:#fff !important; font-weight:900 !important;
  font-size:13px !important; padding:5px 9px !important; border-radius:3px !important;
  transform:rotate(-6deg); box-shadow:2px 2px 0 rgba(24,26,31,.25);
  top:10px !important; left:10px !important; right:auto !important; min-width:0 !important;
  min-height:0 !important; width:auto !important; height:auto !important; line-height:1.1 !important;
}
.bs-cat .products .wd-product .onsale sup{ font-size:.7em; top:-.4em; }

/* Marque (WoodMart .wd-product-brands ou parse via cats) — libellé doré discret. */
.bs-cat .products .wd-product .wd-product-cats{
  font-size:11px; text-transform:uppercase; letter-spacing:.04em;
}
.bs-cat .products .wd-product .wd-product-cats a{ color:var(--amber); font-weight:800; }

/* Titre produit. */
.bs-cat .products .wd-product .wd-entities-title,
.bs-cat .products .wd-product h3.wd-entities-title{
  font-weight:800 !important; letter-spacing:-.01em; line-height:1.25;
}
.bs-cat .products .wd-product .wd-entities-title a{ color:var(--ink); }

/* Stock (notre libellé garde-fous injecté). */
.bs-cat .products .wd-product .bs-stock{
  display:inline-flex; align-items:center; font-size:12px; font-weight:800;
  color:var(--trust); margin:4px 0;
}
.bs-cat .products .wd-product .bs-stock::before{
  content:""; width:7px; height:7px; border-radius:50%; background:var(--trust);
  margin-right:6px;
}
.bs-cat .products .wd-product .bs-stock--low{ color:var(--save); }
.bs-cat .products .wd-product .bs-stock--low::before{ background:var(--save); }
.bs-cat .products .wd-product .bs-stock--out{ color:var(--mut); }
.bs-cat .products .wd-product .bs-stock--out::before{ background:var(--mut); }

/* Prix : « now » gras, prix barré = prix neuf constaté (gris chaud). */
.bs-cat .products .wd-product .price{ font-family:var(--bs-font); }
.bs-cat .products .wd-product .price ins,
.bs-cat .products .wd-product .price > .amount{
  text-decoration:none; font-weight:900; font-size:19px; letter-spacing:-.02em; color:var(--ink);
}
.bs-cat .products .wd-product .price del{
  color:#A39A88; font-weight:600; opacity:1; font-size:14px; margin-left:6px;
}

/* Bouton « Ajouter au panier » — DA jaune, légèrement incliné. */
.bs-cat .products .wd-product .add_to_cart_button,
.bs-cat .products .wd-product .wd-add-btn > a,
.bs-cat .products .wd-product .button.product_type_simple{
  background:var(--y) !important; color:var(--ink) !important; font-weight:900 !important;
  border-radius:7px !important; box-shadow:inset 0 -3px 0 rgba(17,17,17,.18) !important;
  border:0 !important; text-transform:none !important;
}
.bs-cat .products .wd-product .add_to_cart_button:hover,
.bs-cat .products .wd-product .wd-add-btn > a:hover{ background:var(--y6) !important; }

/* =========================================================================
 * 5. BAS DE PAGE : trustline + note prix + bloc SEO (injectés après le loop)
 * ====================================================================== */
.bs-cat .bs-trustline{
  font-family:var(--bs-font); max-width:1240px; margin:26px auto 0; padding:16px 18px;
  display:flex; flex-wrap:wrap; gap:12px 26px; align-items:center; justify-content:center;
  border-top:1.5px solid var(--line); border-bottom:1.5px solid var(--line);
  box-sizing:border-box;
}
.bs-cat .bs-trustline span{
  display:inline-flex; align-items:center; gap:8px; font-size:13.5px; font-weight:700; color:var(--ink3);
}
.bs-cat .bs-trustline svg{ width:18px; height:18px; color:var(--trust); flex:0 0 auto; }
.bs-cat .bs-pricenote{
  font-family:var(--bs-font); max-width:1240px; margin:12px auto 0; padding:0 18px;
  font-size:12px; color:var(--mut); line-height:1.5; box-sizing:border-box;
}
.bs-cat .bs-seo{
  font-family:var(--bs-font); background:var(--paper); border-top:1.5px solid var(--line);
  margin-top:26px; padding:28px 0;
}
.bs-cat .bs-seo__inner{
  max-width:1240px; margin-inline:auto; padding:0 18px; box-sizing:border-box;
  color:var(--ink3); font-size:15px; line-height:1.65;
}
.bs-cat .bs-seo__inner strong{ color:var(--ink); }
.bs-cat .bs-seo__inner a{ color:var(--save); font-weight:700; }

/* =========================================================================
 * 6. RESPONSIVE
 * ====================================================================== */
@media (max-width:768px){
  .bs-cat .bs-cathead{ padding:16px 14px 2px; margin-bottom:16px; }
  .bs-cat .bs-trustline{ gap:10px 16px; padding:14px; }
  .bs-cat .bs-trustline span{ font-size:12.5px; }
  .bs-cat .products .wd-product .price ins,
  .bs-cat .products .wd-product .price > .amount{ font-size:17px; }
  .bs-cat .products .wd-product .bs-tested{ font-size:10px; padding:3px 7px; }
}
