/* Preview hosts only: scoped catalog presentation, existing Woo controls preserved. */
body#override.vb-preview-shop { --vb-line:#e2e9e7; --vb-soft:#f5f8f7; --vb-ink:#172636; }
body#override.vb-preview-shop #content { padding-top:24px; }
body#override.vb-preview-shop .catdata { display:block; margin:0 0 28px; }
body#override.vb-preview-shop .custom-category-title { font-size:34px; line-height:1.2; margin:0 0 16px; overflow-wrap:anywhere; }
body#override.vb-preview-shop .custom-category-description { max-width:780px; }
body#override.vb-preview-shop ul.products { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:24px; margin:24px 0 32px!important; padding:0; }
body#override.vb-preview-shop ul.products::before,
body#override.vb-preview-shop ul.products::after { display:none!important; }
body#override.vb-preview-shop ul.products li.product { float:none!important; width:auto!important; margin:0!important; padding:16px!important; min-width:0; background:#fff; border:1px solid var(--vb-line); border-radius:14px; display:flex; flex-direction:column; box-shadow:0 3px 14px #17263605; transition:border-color .15s,box-shadow .15s; }
body#override.vb-preview-shop ul.products li.product:hover { border-color:#b7d9c6; box-shadow:0 5px 20px #1726360c; }
body#override.vb-preview-shop ul.products li.product a { text-decoration:none; }
body#override.vb-preview-shop ul.products li.product > a:first-child { display:flex; flex-direction:column; flex:1; min-width:0; }
body#override.vb-preview-shop ul.products li.product a img { width:100%!important; height:190px!important; object-fit:contain!important; padding:6px; margin:0 0 16px!important; border-radius:8px; background:#fff; }
body#override.vb-preview-shop ul.products li.product h2 { height:auto!important; max-height:none!important; overflow:visible!important; display:block!important; -webkit-line-clamp:unset!important; font-size:17px!important; font-weight:600; line-height:1.45!important; margin:0 0 12px!important; padding:0!important; text-align:left!important; color:var(--vb-ink); min-height:3em; }
body#override.vb-preview-shop ul.products li.product .price { font-size:19px!important; line-height:1.4; font-weight:600; text-align:left; color:var(--vb-ink); margin:auto 0 16px!important; }
body#override.vb-preview-shop ul.products li.product .add_to_cart_button { margin-top:auto; border-radius:8px; padding:12px 10px; font-size:14px; line-height:1.4; width:100%; min-height:44px; }
body#override.vb-preview-shop ul.products li.product-category { background:var(--vb-soft); }
body#override.vb-preview-shop ul.products li.product-category h2 { min-height:3em; margin-bottom:0!important; }
body#override.vb-preview-shop ul.products li.product-category .count { background:none; color:#61736a; font-size:12px; font-weight:400; white-space:nowrap; }
body#override.vb-preview-shop .woocommerce-result-count { font-size:14px; color:#60716b; margin:12px 0; }
body#override.vb-preview-shop .woocommerce-ordering { display:block!important; margin:0 0 10px; }
body#override.vb-preview-shop .woocommerce-ordering select { min-height:44px; max-width:100%; border:1px solid var(--vb-line); border-radius:8px; padding:8px 30px 8px 12px; background-color:#fff; font-size:14px; }
body#override.vb-preview-shop .filters-icon { background:transparent!important; padding:0!important; }
body#override.vb-preview-shop .filters-icon > h4,
body#override.vb-preview-shop .mobile-product-cats-btn { display:none!important; }
body#override.vb-preview-shop .filter-widget { display:block!important; }
body#override.vb-preview-shop .vb-shop-categories { border:1px solid var(--vb-line); border-radius:12px; background:var(--vb-soft); overflow:hidden; margin:24px 0; }
body#override.vb-preview-shop .vb-shop-categories summary { display:list-item; cursor:pointer; list-style:disclosure-closed inside; padding:16px; font-size:16px; font-weight:600; color:var(--vb-ink); min-height:52px; }
body#override.vb-preview-shop .vb-shop-categories[open] summary { list-style-type:disclosure-open; border-bottom:1px solid var(--vb-line); }
body#override.vb-preview-shop .vb-shop-categories-inner { padding:8px; }
body#override.vb-preview-shop .widget_product_categories { margin:0!important; padding:0!important; background:transparent!important; }
body#override.vb-preview-shop .widget_product_categories > h3 { display:none; }
body#override.vb-preview-shop .product-categories { max-height:520px; overflow:auto; scrollbar-width:thin; padding:0!important; margin:0!important; }
body#override.vb-preview-shop .product-categories li { margin:0!important; padding:0!important; }
body#override.vb-preview-shop .product-categories a { display:block; padding:10px 12px!important; border-radius:6px; font-size:14px; line-height:1.5; text-decoration:none; color:#3e504a; }
body#override.vb-preview-shop .product-categories a::before { display:none!important; }
body#override.vb-preview-shop .product-categories a:hover,
body#override.vb-preview-shop .product-categories .current-cat > a { background:#e1eee5; color:#176438; }
body#override.vb-preview-shop .woocommerce-pagination { margin:32px 0; }
body#override.vb-preview-shop .woocommerce-pagination ul.page-numbers { border:0; display:flex; gap:6px; justify-content:center; flex-wrap:wrap; }
body#override.vb-preview-shop .woocommerce-pagination ul li { border:0; }
body#override.vb-preview-shop .woocommerce-pagination ul li a,
body#override.vb-preview-shop .woocommerce-pagination ul li span { border:1px solid var(--vb-line); border-radius:8px; min-width:40px; padding:12px; }
body#override.vb-preview-shop #content a:focus-visible,
body#override.vb-preview-shop summary:focus-visible { outline:3px solid #26834c; outline-offset:3px; }
@media(min-width:992px) {
 body#override.vb-preview-shop .vb-shop-categories { margin-top:24px; }
 body#override.vb-preview-shop .row.row-fluid:first-child h1 { font-size:36px; line-height:1.2; }
}
@media(max-width:991px) {
 body#override.vb-preview-shop .filter-widget > #text-19 { display:none; }
 body#override.vb-preview-shop #content { padding-top:16px; }
 body#override.vb-preview-shop .custom-category-title { font-size:28px; }
 body#override.vb-preview-shop .vb-shop-categories { margin:12px 0 20px; }
 body#override.vb-preview-shop .product-categories { max-height:360px; }
 body#override.vb-preview-shop ul.products { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:12px; margin-top:16px!important; }
 body#override.vb-preview-shop ul.products li.product { padding:12px!important; border-radius:10px; }
 body#override.vb-preview-shop ul.products li.product a img { height:140px!important; margin-bottom:12px!important; padding:0; }
 body#override.vb-preview-shop ul.products li.product h2 { font-size:14px!important; min-height:3em; }
 body#override.vb-preview-shop ul.products li.product .price { font-size:17px!important; margin-bottom:12px!important; }
 body#override.vb-preview-shop ul.products li.product .add_to_cart_button { font-size:12px; padding:11px 6px; }
 body#override.vb-preview-shop ul.products li.product .add_to_cart_button::after { display:none; }
 body#override.vb-preview-shop .woocommerce-result-count,
 body#override.vb-preview-shop .woocommerce-ordering { float:none; display:block; }
 body#override.vb-preview-shop .woocommerce-ordering select { width:100%; }
}
@media(prefers-reduced-motion:reduce) { body#override.vb-preview-shop ul.products li.product { transition:none; } }

body#override.vb-preview-shop.page-id-30751 .row.row-fluid:has(.vb-fr-categories) > .column:first-child { display:none; }
body#override.vb-preview-shop.page-id-30751 .row.row-fluid:has(.vb-fr-categories) > .column:last-child { width:100%; max-width:100%; flex:0 0 100%; }

/* French iM3 entry: keep its page-builder title above the introduction. */
body#override.vb-preview-shop.page-id-30751 .row.row-fluid:has(h1) { display:block; }
body#override.vb-preview-shop.page-id-30751 .row.row-fluid:has(h1) > .vc_column_container { width:100%; max-width:100%; flex:0 0 100%; }
body#override.vb-preview-shop.page-id-30751 .row.row-fluid:has(h1) .col-sm-3 .wpb_text_column { margin-bottom:16px; }
body#override.vb-preview-shop.page-id-30751 .row.row-fluid:has(h1) h1 { font-size:34px; line-height:1.2; margin:0; overflow-wrap:anywhere; }
body#override.vb-preview-shop.page-id-30751 .row.row-fluid:has(h1) .col-sm-9 p { max-width:780px; }
@media(max-width:991px) {
 body#override.vb-preview-shop.page-id-30751 .row.row-fluid:has(h1) h1 { font-size:28px; }
}
