/* Bremer Configurator – productkaarten (4.3.1)
   Widget Bremer Productkaarten: raster, kaart, aantal en knop, lege staten, balk met aantal en sorteren.
   Laadt op winkel, categorieën, zoeken, home en kennisbank, direct na configurator.css (handle bc-cards). */

/* ---------- Productkaarten (widget Bremer Productkaarten) ---------- */
.bc-pcards{--bc-primary:#1C244B;--bc-accent:#1C244B;--bc-border:#e4e7ec;--bc-muted:#5f6878;--bc-bg:#f7f8fa;--bc-ok:#067647;--bc-warn:#b42318;--bc-err:#b42318;font-family:'IBM Plex Sans',system-ui,sans-serif;color:#3d4757}
.bc-pcards *{box-sizing:border-box}
.bc-pc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.bc-pc-empty{color:var(--bc-muted)}
.bc-pc-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--bc-border);border-radius:4px;overflow:hidden;transition:box-shadow .2s,transform .2s,border-color .2s,background-color .2s}
.bc-pc-card:hover{box-shadow:0 1px 2px rgba(14,21,38,.05);border-color:#d6dae1}
.bc-pc-img{position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:var(--bc-pc-img-cur,100%);aspect-ratio:var(--bc-pc-img-ar,4 / 3);background:var(--bc-bg);padding:14px;overflow:hidden;align-self:flex-start}
.bc-pc-img img{width:100%;height:100%;object-fit:contain;transition:transform .3s;mix-blend-mode:multiply}
.bc-pc-img .bc-bb-sale{position:absolute;top:10px;left:10px}
.bc-pc-card.is-out .bc-pc-img img{opacity:.55}
.bc-pc-body{display:flex;flex-direction:column;flex:1 1 auto;gap:8px;padding:14px 16px 16px;min-width:0}
.bc-pc-title{margin:0;font-size:15px;font-weight:600;line-height:1.35;color:#3d4757;order:1}
.bc-pc-title a{color:inherit;text-decoration:none;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;transition:color .15s}
.bc-pc-title a:hover{color:var(--bc-primary)}
.bc-pc-specs{gap:5px;order:2;justify-content:var(--bc-pc-justify,flex-start)}
.bc-pc-card .bc-chip{font-size:11px;padding:2px 7px}
.bc-pc-specs{row-gap:4px}
.bc-pc-pricewrap{order:3}
.bc-pc-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;justify-content:var(--bc-pc-justify,flex-start)}
.bc-pc-amount{font-size:21px;font-weight:700;color:var(--bc-primary);line-height:1.15}
.bc-pc-amount .woocommerce-Price-amount{color:inherit}
.bc-pc-amount del{font-size:.6em;font-weight:400;color:var(--bc-muted);margin-right:4px}
.bc-pc-amount ins{text-decoration:none}
.bc-pc-price .bc-bb-regular{font-size:13px}
.bc-pc-price .bc-tax{font-size:11px}
.bc-pc-excl{font-size:12px;color:var(--bc-muted);margin-top:2px}
.bc-pc-stock{font-size:13px;order:4;justify-content:var(--bc-pc-justify,flex-start)}
.bc-pc-buy{display:flex;flex-wrap:wrap;gap:6px;align-items:stretch;margin-top:auto;padding-top:4px;order:5}
.bc-pcards .bc-qty{display:inline-flex;align-items:stretch;flex:0 0 auto;height:var(--bc-buy-h,42px);border:1px solid var(--bc-qty-border,var(--bc-border));border-radius:var(--bc-qty-radius,4px);background:var(--bc-qty-bg,#fff);overflow:hidden;transition:border-color .15s}
.bc-pcards .bc-qty:hover{border-color:var(--bc-qty-border-h,var(--bc-qty-border,var(--bc-border)))}
.bc-pcards .bc-qty-btn{width:26px;padding:0;border:0;font-size:17px;cursor:pointer;background:var(--bc-qty-bg,#fff);color:var(--bc-qty-color,var(--bc-primary));transition:background .15s,color .15s}
.bc-pcards .bc-qty-btn:hover{background:var(--bc-qty-bg-h,var(--bc-bg));color:var(--bc-qty-color-h,var(--bc-qty-color,var(--bc-primary)))}
.bc-pcards .bc-qty-input{width:28px;border:0;padding:0;text-align:center;font:inherit;font-weight:600;background:transparent;color:inherit;-moz-appearance:textfield}
.bc-pcards .bc-qty-input::-webkit-outer-spin-button,.bc-pcards .bc-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.bc-pc-btn{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;display:inline-flex;align-items:center;justify-content:center;min-height:var(--bc-buy-h,42px);padding:8px 10px;font:inherit;font-weight:600;font-size:13.5px;white-space:nowrap;line-height:1.2;text-align:center;text-decoration:none!important;cursor:pointer;background:var(--bc-btn-bg,var(--bc-primary))!important;color:var(--bc-btn-color,#fff)!important;border:var(--bc-btn-border-w,0) solid var(--bc-btn-border,transparent)!important;border-radius:var(--bc-btn-radius,4px)!important;transition:background .15s,color .15s,border-color .15s,filter .15s,opacity .15s}
.bc-pc-btn:hover{background:var(--bc-btn-bg-h,var(--bc-btn-bg,var(--bc-primary)))!important;color:var(--bc-btn-color-h,var(--bc-btn-color,#fff))!important;border-color:var(--bc-btn-border-h,var(--bc-btn-border,transparent))!important;filter:var(--bc-btn-filter-h,brightness(1.1))}
.bc-pc-btn.is-link{background:var(--bc-lbtn-bg,#fff)!important;color:var(--bc-lbtn-color,var(--bc-primary))!important;border:max(var(--bc-btn-border-w,1px),1px) solid var(--bc-lbtn-border,var(--bc-primary))!important}
.bc-pc-btn.is-link:hover{background:var(--bc-lbtn-bg-h,var(--bc-primary))!important;color:var(--bc-lbtn-color-h,#fff)!important;border-color:var(--bc-lbtn-border-h,var(--bc-primary))!important;filter:none}
.bc-pc-btn.is-disabled,.bc-pc-btn.is-disabled:hover{background:var(--bc-btn-bg-dis,#d6dae1)!important;color:#fff!important;border-color:transparent!important;cursor:not-allowed;filter:none}
.bc-pc-btn.loading{opacity:.6;pointer-events:none}
.bc-pc-btn.added,.bc-pc-btn.bc-added{background:var(--bc-btn-bg-added,var(--bc-ok))!important;filter:none}
.bc-pc-btn.added::after,.bc-pc-btn.loading::after{display:none!important}
.bc-pc-card .added_to_cart{display:none;flex-basis:100%;font-size:12px;text-align:center;color:var(--bc-muted);text-decoration:underline}
.bc-pc-pagination{margin-top:28px}
.bc-pc-pagination ul.page-numbers,.bc-pc-pagination ul{min-width:0;height:auto;padding:0;background:none;display:flex;flex-wrap:wrap;gap:6px;justify-content:center;list-style:none;margin:0;padding:0;border:0}
.bc-pc-pagination li{border:0;margin:0}
.bc-pc-pagination li>.page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border:1px solid var(--bc-border);border-radius:4px;color:#3d4757;text-decoration:none;font-weight:500;transition:border-color .15s,color .15s}
.bc-pc-pagination a.page-numbers:hover{border-color:var(--bc-primary);color:var(--bc-primary)}
.bc-pc-pagination li>.page-numbers.current{background:var(--bc-primary);border-color:var(--bc-primary);color:#fff}
@media (max-width:1024px){.bc-pc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
	.bc-pc-grid{grid-template-columns:minmax(0,1fr);gap:12px}
	.bc-pc-card{flex-direction:column;--bc-pc-img-cur:100%}
	.bc-pc-img{padding:12px;aspect-ratio:var(--bc-pc-img-ar,3 / 2)}
	.bc-pc-body{padding:12px 14px 14px;gap:6px}
	.bc-pc-amount{font-size:19px}
}
/* Mobiel compact: alles past op één regel, minder hoogte per kaart (v3.4.1) */
@media (max-width:767px){
	.bc-mcompact .bc-pc-card{--bc-buy-h:40px}
	.bc-mcompact .bc-pc-img{padding:10px}
	.bc-mcompact .bc-pc-body{padding:11px 13px 13px;gap:5px}
	.bc-mcompact .bc-pc-title{font-size:14.5px;line-height:1.3}
	.bc-mcompact .bc-chip{font-size:10.5px;padding:2px 6px}
	.bc-mcompact .bc-pc-specs{gap:4px;row-gap:3px}
	.bc-mcompact .bc-pc-amount{font-size:18px}
	.bc-mcompact .bc-pc-price{gap:5px}
	.bc-mcompact .bc-pc-price .bc-tax{font-size:10.5px}
	.bc-mcompact .bc-pc-excl{font-size:11px;margin-top:0}
	.bc-mcompact .bc-pc-stock{font-size:12.5px}
	.bc-mcompact .bc-pc-buy{gap:4px;padding-top:2px}
	.bc-pcards.bc-mcompact .bc-pc-buy .bc-qty{flex:0 0 auto;justify-content:flex-start}
	.bc-mcompact .bc-qty-btn{width:24px;font-size:15px}
	.bc-mcompact .bc-qty-input{width:20px}
	.bc-pcards.bc-mcompact .bc-pc-buy .bc-pc-btn{flex:1 1 88px;min-width:0;font-size:12px;letter-spacing:-.1px;padding:8px 4px}
	/* spec-chips beperken op mobiel */
	.bc-pcards.bc-mchips-0 .bc-pc-specs{display:none!important}
	.bc-pcards.bc-mchips-1 .bc-pc-specs>.bc-chip:nth-child(n+2),
	.bc-pcards.bc-mchips-2 .bc-pc-specs>.bc-chip:nth-child(n+3),
	.bc-pcards.bc-mchips-3 .bc-pc-specs>.bc-chip:nth-child(n+4),
	.bc-pcards.bc-mchips-4 .bc-pc-specs>.bc-chip:nth-child(n+5),
	.bc-pcards.bc-mchips-5 .bc-pc-specs>.bc-chip:nth-child(n+6){display:none!important}
}
@media (max-width:359px){
	.bc-pcards.bc-mcompact .bc-pc-buy .bc-pc-btn{flex:1 1 100%}
	.bc-pcards.bc-mcompact .bc-pc-buy .bc-qty{flex:1 0 auto;justify-content:space-between}
}

/* Smalle kaarten: aantal + knop vanzelf onder elkaar (zonder container queries, die de hoogte in Elementor-flexcontainers verstoren) */
.bc-pc-stock .bc-stock-text{flex:1 1 0;min-width:0}
.bc-pc-stock{flex-wrap:nowrap;align-items:baseline}
.bc-pc-stock .bc-dot{flex:0 0 auto;transform:translateY(-1px)}
.bc-pcards .bc-pc-buy .bc-qty{flex:1 0 auto;justify-content:space-between}
.bc-pcards .bc-pc-buy .bc-qty-input{flex:1 1 auto;min-width:28px}
.bc-pc-buy .bc-pc-btn{flex:999 1 126px}
/* Lege staten */
.bc-pc-emptybox{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:48px 24px;border:1px dashed var(--bc-border);border-radius:4px;background:var(--bc-bg)}
.bc-pc-emptybox.is-filter-empty{padding:32px 20px}
.bc-pc-empty-ico{color:var(--bc-primary);opacity:.8}
.bc-pc-empty-title{margin:4px 0 0;font-size:20px;font-weight:600;color:var(--bc-primary);line-height:1.3}
.bc-pc-emptybox .bc-pc-empty{max-width:520px;margin:0;color:var(--bc-muted);font-size:14.5px;line-height:1.6}
.bc-pc-empty-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:8px}
.bc-pc-empty-btn{flex:0 0 auto!important;padding:10px 20px!important}
/* balk boven de producten: aantal resultaten + sorteren */
.bc-pc-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 14px}
.bc-pc-count{margin:0!important;font-size:14px;line-height:1.4;color:#5f6878}
.bc-pc-sortslot{margin-left:auto;flex:0 0 auto}
.bc-pc-sortslot .elementor-widget-filter-everything-sorting{width:auto!important;margin:0!important}
.bc-pc-sortslot .widget_wpc_sorting_widget .widgettitle{display:none!important}
.bc-pc-sortslot .select2-container{width:230px!important;min-width:180px}
@media(max-width:767px){.bc-pc-bar{gap:10px}.bc-pc-sortslot{flex:1 1 100%;margin-left:0}.bc-pc-sortslot .select2-container{width:100%!important}
}
/* zijkolom kwijtgeraakte sorteerwidget: de scheidingslijn eronder ook weg */
body.bc-sort-moved .e-con:has(> .elementor-widget-divider:only-child){display:none!important}
/* geen zinvolle filters meer: zijkolom weg, producten over de volle breedte */
body.bc-nofilters .e-con:has(.wpc-filters-main-wrap):not(:has(.bc-pcards)),
body.bc-nofilters .e-con:has(.widget_wpc_sorting_widget):not(:has(.bc-pcards)){display:none!important}
body.bc-nofilters .e-con:has(> .bc-pcards){width:100%!important;max-width:100%!important}
body.bc-nofilters .bc-pc-sortslot{display:none!important}
/* zoekresultaten: categorietegels van de winkelpagina wijken voor de gevonden producten */
body.bc-search .elementor-widget-wc-categories{display:none!important}
/* sterrenbeoordeling op de productkaart */
.bc-pc-rating{display:inline-flex;align-items:center;gap:6px;margin:0 0 6px;text-decoration:none!important}
.bc-stars{position:relative;display:inline-block;width:74px;height:14px;flex:0 0 auto;background:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='74' height='14' viewBox='0 0 74 14'%3E%3Cpath fill='%23D7DBE4' d='M7 .8l1.9 3.9 4.3.6-3.1 3 .7 4.3L7 10.6 3.2 12.6l.7-4.3-3.1-3 4.3-.6zM22 .8l1.9 3.9 4.3.6-3.1 3 .7 4.3L22 10.6l-3.8 2 .7-4.3-3.1-3 4.3-.6zM37 .8l1.9 3.9 4.3.6-3.1 3 .7 4.3L37 10.6l-3.8 2 .7-4.3-3.1-3 4.3-.6zM52 .8l1.9 3.9 4.3.6-3.1 3 .7 4.3L52 10.6l-3.8 2 .7-4.3-3.1-3 4.3-.6zM67 .8l1.9 3.9 4.3.6-3.1 3 .7 4.3L67 10.6l-3.8 2 .7-4.3-3.1-3 4.3-.6z'/%3E%3C/svg%3E") 0 0 no-repeat}
.bc-stars-on{position:absolute;inset:0 auto 0 0;overflow:hidden;background:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='74' height='14' viewBox='0 0 74 14'%3E%3Cpath fill='%23F5A623' d='M7 .8l1.9 3.9 4.3.6-3.1 3 .7 4.3L7 10.6 3.2 12.6l.7-4.3-3.1-3 4.3-.6zM22 .8l1.9 3.9 4.3.6-3.1 3 .7 4.3L22 10.6l-3.8 2 .7-4.3-3.1-3 4.3-.6zM37 .8l1.9 3.9 4.3.6-3.1 3 .7 4.3L37 10.6l-3.8 2 .7-4.3-3.1-3 4.3-.6zM52 .8l1.9 3.9 4.3.6-3.1 3 .7 4.3L52 10.6l-3.8 2 .7-4.3-3.1-3 4.3-.6zM67 .8l1.9 3.9 4.3.6-3.1 3 .7 4.3L67 10.6l-3.8 2 .7-4.3-3.1-3 4.3-.6z'/%3E%3C/svg%3E") 0 0 no-repeat}
.bc-pc-rcount{font-size:12px;color:#5f6878;line-height:1}
.bc-pc-btn.is-solo{white-space:nowrap}
/* 2. Sorteren: het script verhuist de sorteerkeuze van de zijkolom naar de balk boven de producten.
      Niet eerst in de zijkolom tonen, en in de balk alvast ruimte houden. */
body:has(.bc-pc-sortslot) .e-con:has(> .elementor-widget-filter-everything-sorting){display:none!important}
.bc-pc-sortslot:empty{min-height:56px}
body:has(.bc-pc-emptybox.is-category-empty) .e-con:has(.wpc-filters-main-wrap):not(:has(.bc-pcards)),
body:has(.bc-pc-emptybox.is-category-empty) .e-con:has(.widget_wpc_sorting_widget):not(:has(.bc-pcards)){display:none!important}
