/* ==========================================================================
   ô BÔ LINGE — Surcouche WooCommerce (boutique, produit, panier, tunnel)
   ========================================================================== */

/* Bandeau de page boutique */
.ob-shop-hero { background: var(--ob-cream); padding-block: clamp(2.2rem,5vw,3.6rem); border-bottom:1px solid var(--ob-line); }
.ob-shop-hero h1.woocommerce-products-header__title,
.ob-shop-hero h1 { font-size: clamp(2rem,1.4rem+2.4vw,3.2rem); margin-bottom:.3rem; }
.woocommerce-products-header { text-align:center; }
.term-description, .woocommerce-products-header .term-description { max-width:640px; margin:.6rem auto 0; color: var(--ob-body); }

/* Barre outils : tri + résultats */
.woocommerce .woocommerce-result-count { color: var(--ob-muted); font-size:.85rem; margin:0; }
.woocommerce .woocommerce-ordering select,
.woocommerce select.orderby { font-family: var(--ff-body); border:1px solid var(--ob-line-2); border-radius: var(--radius); padding:.6em 2.4em .6em 1em; background-color:#fff; color: var(--ob-ink); font-size:.85rem; }
.ob-shop-toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:2rem; flex-wrap:wrap; }

/* Grille produits */
.woocommerce ul.products { display:grid; grid-template-columns: repeat(4,1fr); gap: clamp(1rem,2vw,1.8rem); margin:0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display:none; }
.woocommerce ul.products li.product { width:auto!important; margin:0!important; float:none!important; }
.woocommerce ul.products li.product a img { margin:0 0 1rem; border-radius: var(--radius-lg); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding:0; font-size:1rem; font-weight:500; color:var(--ob-ink); }
.woocommerce ul.products li.product .price { color: var(--ob-brass-dark); font-weight:600; }
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
  background: transparent; color: var(--ob-ink); border:1px solid var(--ob-line-2);
  border-radius: var(--radius); text-transform: uppercase; letter-spacing:.1em; font-size:.72rem; font-weight:500;
  padding:.7em 1.2em; margin-top:.7rem; transition: all .25s var(--ease);
}
.woocommerce ul.products li.product .button:hover { background: var(--ob-ink); color:#fff; border-color: var(--ob-ink); }
.woocommerce span.onsale, .ob-badge {
  background: var(--ob-terracotta); color:#fff; border-radius:3px; min-height:auto; min-width:auto;
  padding:.35em .7em; font-size:.68rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; line-height:1;
  position:absolute; top:.8rem; left:.8rem; margin:0;
}

/* Layout boutique avec sidebar filtres */
.ob-shop-layout { display:grid; grid-template-columns: 260px 1fr; gap: clamp(1.5rem,3vw,3rem); align-items:start; }
.ob-shop-sidebar .widget { margin-bottom:2rem; }
.ob-shop-sidebar .widget-title { font-family: var(--ff-body); font-size:.8rem; text-transform:uppercase; letter-spacing:.16em; color: var(--ob-ink); font-weight:600; margin-bottom:1rem; padding-bottom:.6rem; border-bottom:1px solid var(--ob-line); }
.ob-shop-sidebar ul li { padding:.35rem 0; font-size:.92rem; }
.ob-shop-sidebar a:hover { color: var(--ob-brass); }

/* Fiche produit */
.single-product div.product { display:grid; grid-template-columns: 1.05fr .95fr; gap: clamp(2rem,4vw,3.5rem); align-items:start; }
.single-product .woocommerce-product-gallery { margin:0; }
.single-product .woocommerce-product-gallery img { border-radius: var(--radius-lg); }
.single-product div.product .product_title { font-size: clamp(1.8rem,1.3rem+1.8vw,2.8rem); margin-bottom:.3rem; }
.single-product .price, .single-product div.product p.price { color: var(--ob-brass-dark)!important; font-size:1.5rem!important; font-weight:600; font-family:var(--ff-body); }
.single-product .price del { color: var(--ob-muted); font-weight:400; }
.single-product .price ins { color: var(--ob-terracotta); text-decoration:none; }
.single-product .woocommerce-product-rating { margin-bottom:1rem; }
.woocommerce div.product form.cart { margin-block:1.5rem; }
.woocommerce div.product form.cart .quantity input.qty { border:1px solid var(--ob-line-2); border-radius:var(--radius); padding:.8em; width:72px; font-family:var(--ff-body); }
.woocommerce-variation-add-to-cart, .woocommerce div.product form.cart { display:flex; gap:.8rem; flex-wrap:wrap; align-items:center; }
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button,
.woocommerce input.button, .woocommerce div.product form.cart .button {
  background: var(--ob-brass); color:#fff; border:1px solid var(--ob-brass);
  border-radius: var(--radius); text-transform: uppercase; letter-spacing:.12em; font-weight:500; font-size:.8rem;
  padding: 1em 2em; transition: all .25s var(--ease);
}
.woocommerce #respond input#submit:hover, .woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce input.button:hover, .woocommerce div.product form.cart .button:hover { background: var(--ob-brass-dark); border-color: var(--ob-brass-dark); }
.woocommerce div.product form.cart .button.alt, .woocommerce a.button.alt, .woocommerce button.button.alt { background: var(--ob-ink); border-color: var(--ob-ink); }
.woocommerce div.product form.cart .button.alt:hover { background:#000; }

/* Onglets produit */
.woocommerce div.product .woocommerce-tabs ul.tabs { padding:0; border-bottom:1px solid var(--ob-line); display:flex; gap:.4rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border:none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background:none; border:none; border-radius:0; margin:0; padding:0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { text-transform:uppercase; letter-spacing:.08em; font-size:.82rem; font-weight:500; color: var(--ob-muted); padding:1rem 1.2rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--ob-ink); box-shadow: inset 0 -2px 0 var(--ob-brass); }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display:none; }

/* Panier / tunnel */
.woocommerce table.shop_table { border-radius: var(--radius-lg); border-color: var(--ob-line); }
.woocommerce table.shop_table th { font-family:var(--ff-body); text-transform:uppercase; letter-spacing:.08em; font-size:.78rem; color:var(--ob-ink); }
.woocommerce .cart-collaterals .cart_totals h2, .woocommerce-checkout h3 { font-family:var(--ff-display); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .select2-container .select2-selection {
  border:1px solid var(--ob-line-2); border-radius: var(--radius); padding:.8em 1em; font-family:var(--ff-body);
}
.woocommerce-message, .woocommerce-info, .woocommerce-noreviews, p.no-comments { border-top-color: var(--ob-brass); background: var(--ob-cream); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--ob-brass); }
.woocommerce-error { border-top-color: var(--ob-terracotta); }

/* Related / upsells */
.related.products > h2, .upsells.products > h2, .cross-sells > h2 { font-family: var(--ff-display); font-size: var(--fs-h3); text-align:center; margin-bottom:2rem; }

/* Notice bandeau */
.woocommerce-store-notice, p.demo_store { background: var(--ob-charcoal); color:#fff; }

@media (max-width: 1024px) {
  .woocommerce ul.products { grid-template-columns: repeat(3,1fr); }
  .ob-shop-layout { grid-template-columns: 1fr; }
  .ob-shop-sidebar { order:2; }
}
@media (max-width: 860px) {
  .woocommerce ul.products { grid-template-columns: repeat(2,1fr); }
  .single-product div.product { grid-template-columns:1fr; }
}
@media (max-width:480px){
  .woocommerce ul.products { grid-template-columns: repeat(2,1fr); gap:.8rem; }
}
