/**
 * Printbox Storefront — pagina de categorie (design V3 „hibrid editorial").
 * v0.21.0: banda e SPARTĂ în 3 secțiuni surori (#pbsf-cat bandă / #pbsf-cat-chips sticky /
 * #pbsf-cat-toolbar) — fix sticky: în interiorul benzii scurte, lipirea dura câțiva pixeli
 * (sticky se limitează la părinte). TIPOGRAFIA vine din variabile --pbsfa-{el}-* (dashboard →
 * Categorii → Tipografie), cu fallback-uri = vechile valori hardcodate. Culorile: --pbsfc-*.
 */

/* ===== ascunde elementele native pe care le înlocuim (scoped pe body.pbsf-cat) ===== */
body.pbsf-cat .woocommerce-breadcrumb,
body.pbsf-cat h1.page-title,
body.pbsf-cat .woocommerce-products-header,
body.pbsf-cat .term-description,
body.pbsf-cat .woocommerce-ordering,
body.pbsf-cat .woocommerce-result-count { display: none !important; }
/* Toolbar-ul de SUS al temei (`div.shoptimizer-sorting`); cel de jos (.sorting-end) rămâne. */
body.pbsf-cat .site-main > .shoptimizer-sorting:not(.sorting-end) { display: none !important; }

/* ===== secțiunile header (bandă + chips + toolbar) — fundal crem continuu ===== */
.pbsf-cat-band, .pbsf-cat-toolwrap {
	position: relative;
	background: var(--pbsfc-band, #F7F5F1);
	width: 100vw;
	margin-left: calc(50% - 50vw);
	font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
}
.pbsf-cat-band { padding: 26px 0 4px; }
.pbsf-cat-toolwrap { padding: 0 0 14px; margin-bottom: 22px; }
.pbsf-cat-in { max-width: 1280px; margin: 0 auto; padding: 0 28px; }

/* bara de chips: STICKY în flux normal; fundalul plin-lat vine din ::before (100vw, z:-1 —
   pattern-ul benzilor PDP), ca sticky-ul să nu depindă de lățimi/margini negative. */
.pbsf-cat-chipswrap {
	position: sticky; top: 0; z-index: 40;
	padding: 12px 0 10px;
	font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
}
.pbsf-cat-chipswrap::before {
	content: ""; position: absolute; inset: 0; left: 50%; width: 100vw;
	transform: translateX(-50%); background: var(--pbsfc-band, #F7F5F1); z-index: -1;
	transition: background .15s, box-shadow .15s;
}
.pbsf-cat-chipswrap.is-stuck::before { background: #fff; box-shadow: 0 10px 24px -18px rgba(24, 24, 27, .35); }

/* ===== conținutul benzii ===== */
.pbsf-cat-head-row { display: flex; gap: 30px; align-items: center; justify-content: space-between; }
.pbsf-cat-head-l { min-width: 0; flex: 1; }
.pbsf-cat-banner { flex: 0 0 auto; width: 250px; border-radius: 14px; overflow: hidden; box-shadow: 0 14px 34px -18px rgba(24, 24, 27, .3); }
.pbsf-cat-banner img { width: 100%; height: 140px; object-fit: cover; display: block; }

.pbsf-cat-crumbs { font-family: var(--pbsfa-cat_crumbs-ff, inherit); font-size: var(--pbsfa-cat_crumbs-fs, 12.5px); font-weight: var(--pbsfa-cat_crumbs-fw, 400); color: var(--pbsfa-cat_crumbs-fc, #71717A); display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 12px; }
.pbsf-cat-crumbs a { color: inherit; text-decoration: none; }
.pbsf-cat-crumbs a:hover { color: #18181B; }
.pbsf-cat-crumbs b { color: #18181B; font-weight: 600; }

.pbsf-cat-titlerow { display: flex; align-items: flex-end; gap: 18px; flex-wrap: wrap; }
h1.pbsf-cat-title { font-family: var(--pbsfa-cat_title-ff, inherit); font-size: var(--pbsfa-cat_title-fs, 36px); font-weight: var(--pbsfa-cat_title-fw, 800); color: var(--pbsfa-cat_title-fc, #18181B); letter-spacing: -.5px; margin: 0; line-height: 1.15; }
.pbsf-cat-rating { display: flex; align-items: center; gap: 8px; font-family: var(--pbsfa-cat_rating-ff, inherit); font-size: var(--pbsfa-cat_rating-fs, 14px); font-weight: var(--pbsfa-cat_rating-fw, 400); color: var(--pbsfa-cat_rating-fc, #3F3F46); padding-bottom: 5px; }
.pbsf-cat-rating b { font-weight: 800; }
.pbsf-cat-stars { color: #F59E0B; letter-spacing: 1px; font-size: 15px; }

.pbsf-cat-desc { margin-top: 8px; font-family: var(--pbsfa-cat_desc-ff, inherit); font-size: var(--pbsfa-cat_desc-fs, 14.5px); font-weight: var(--pbsfa-cat_desc-fw, 400); color: var(--pbsfa-cat_desc-fc, #5B5B64); max-width: 760px; line-height: 1.55; }
.pbsf-cat-desc p { margin: 0 0 6px; }

/* ===== chips ===== */
.pbsf-cat-chips { display: flex; gap: 10px; overflow-x: auto; scrollbar-width: none; }
.pbsf-cat-chips::-webkit-scrollbar { display: none; }
.pbsf-chip { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px; border: 1.5px solid #DDDDE3; border-radius: 999px; padding: 9px 16px; font-family: var(--pbsfa-cat_chip-ff, inherit); font-size: var(--pbsfa-cat_chip-fs, 13px); font-weight: var(--pbsfa-cat_chip-fw, 700); color: var(--pbsfa-cat_chip-fc, #3F3F46); background: #fff; white-space: nowrap; text-decoration: none; transition: .15s; }
.pbsf-chip:hover { border-color: #18181B; color: #18181B; }
.pbsf-chip small { font-weight: 600; color: #71717A; font-size: 11.5px; }
.pbsf-chip.is-on { background: #18181B; border-color: #18181B; color: #fff; }
.pbsf-chip.is-on small { color: #cfcfd6; }
.pbsf-chip--back { background: #FDECEB; border-color: #f6c9c5; color: var(--pbsfc-accent, #E8392E); }
.pbsf-chip--back:hover { border-color: var(--pbsfc-accent, #E8392E); color: var(--pbsfc-accent, #E8392E); }
.pbsf-chip--custom { border-style: dashed; }

/* ===== toolbar (nr. produse + Filtrează + Ordonează) ===== */
.pbsf-cat-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 10px 0 6px; }
.pbsf-cat-count { font-family: var(--pbsfa-cat_count-ff, inherit); font-size: var(--pbsfa-cat_count-fs, 13.5px); font-weight: var(--pbsfa-cat_count-fw, 400); color: var(--pbsfa-cat_count-fc, #71717A); }
.pbsf-cat-count b { color: #18181B; font-weight: 800; }
.pbsf-cat-sort { position: relative; }
.pbsf-cat-sortbtn { display: flex; align-items: center; gap: 8px; border: 1.5px solid #DDDDE3; border-radius: 10px; background: #fff; padding: 9px 14px; font-family: var(--pbsfa-cat_sort-ff, inherit); font-size: var(--pbsfa-cat_sort-fs, 13.5px); font-weight: var(--pbsfa-cat_sort-fw, 700); color: var(--pbsfa-cat_sort-fc, #18181B); cursor: pointer; }
.pbsf-cat-sortbtn small { color: #71717A; font-weight: 600; }
.pbsf-cat-sortmenu { position: absolute; right: 0; top: calc(100% + 6px); background: #fff; border: 1px solid #ECECEF; border-radius: 12px; box-shadow: 0 18px 50px rgba(20, 30, 45, .14); min-width: 215px; padding: 6px; display: none; z-index: 60; }
.pbsf-cat-sort.open .pbsf-cat-sortmenu { display: block; }
.pbsf-cat-sortmenu a { display: block; padding: 9px 12px; border-radius: 8px; font-family: var(--pbsfa-cat_sort-ff, inherit); font-size: 13.5px; color: #3F3F46; text-decoration: none; }
.pbsf-cat-sortmenu a:hover { background: #F6F7F8; color: #18181B; }
.pbsf-cat-sortmenu a.is-on { color: var(--pbsfc-accent, #E8392E); font-weight: 800; }

/* butonul „Filtrează" (vizibil doar pe mobil) */
body.pbsf-cat .pbsf-cat-filterbtn { display: none; align-items: center; gap: 8px; border: 1.5px solid #DDDDE3; border-radius: 10px; background: #fff; padding: 9px 14px; font-family: var(--pbsfa-cat_sort-ff, inherit); font-size: var(--pbsfa-cat_sort-fs, 13.5px); font-weight: 700; color: #18181B; cursor: pointer; }
.pbsf-cat-fdot { min-width: 18px; height: 18px; border-radius: 9px; background: var(--pbsfc-accent, #E8392E); color: #fff; font-size: 11px; font-weight: 800; display: inline-grid; place-items: center; padding: 0 4px; }

/* ===== pastile filtre active ===== */
.pbsf-cat-pills { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 0 10px; }
.pbsf-pill { display: inline-flex; align-items: center; gap: 7px; background: #fff; border: 1px solid #ECECEF; border-radius: 999px; padding: 7px 12px; font-size: 12.5px; font-weight: 700; color: #18181B; text-decoration: none; }
.pbsf-pill b { color: #71717A; font-weight: 600; }
.pbsf-pill span { color: #71717A; font-weight: 800; }
.pbsf-pill:hover { border-color: #18181B; color: #18181B; }
.pbsf-pill--reset { border-style: dashed; color: var(--pbsfc-accent, #E8392E); }

/* ===== SIDEBAR filtre — desktop: grid pe .site-main (plasare AUTO: după cele 3 secțiuni
   header care ocupă rânduri întregi, aside-ul intră pe col 1 și grila temei pe col 2) ===== */
@media (min-width: 861px) {
	body.pbsf-cat.pbsf-has-side .site-main { display: grid; grid-template-columns: 232px minmax(0, 1fr); column-gap: 32px; }
	body.pbsf-cat.pbsf-has-side .site-main > * { grid-column: 1 / -1; }
	body.pbsf-cat.pbsf-has-side .site-main > .pbsf-cat-side { grid-column: 1; align-self: start; position: sticky; top: 90px; }
	body.pbsf-cat.pbsf-has-side .site-main > div[class*="columns-"],
	body.pbsf-cat.pbsf-has-side .site-main > ul.products { grid-column: 2; }
	body.pbsf-cat.pbsf-has-side .site-main > .woocommerce-pagination { grid-column: 2; }
	.pbsf-cat-side-head { display: none; }
	.pbsf-cat-scrim { display: none !important; }
}

.pbsf-cat-side { font-family: 'Plus Jakarta Sans', system-ui, sans-serif; }
.pbsf-fgroup { padding: 16px 0 14px; border-bottom: 1px solid #ECECEF; }
.pbsf-fgroup:first-of-type { padding-top: 2px; }
.pbsf-fgroup-h { font-family: var(--pbsfa-cat_fgroup-ff, inherit); font-size: var(--pbsfa-cat_fgroup-fs, 12px); font-weight: var(--pbsfa-cat_fgroup-fw, 800); color: var(--pbsfa-cat_fgroup-fc, #18181B); letter-spacing: .08em; text-transform: uppercase; margin: 0 0 11px; display: flex; align-items: center; justify-content: space-between; cursor: pointer; }
.pbsf-fgroup-h::after { content: "▾"; color: #71717A; font-size: 11px; margin-left: 8px; }
.pbsf-fgroup.closed .pbsf-fgroup-h::after { content: "▸"; }
.pbsf-fgroup.closed .pbsf-fitem, .pbsf-fgroup.closed .pbsf-fmore { display: none; }
.pbsf-fclear { font-size: 11px; letter-spacing: 0; text-transform: none; color: var(--pbsfc-accent, #E8392E); font-weight: 700; text-decoration: none; }
.pbsf-fitem { display: flex; align-items: center; gap: 9px; padding: 6px 0; font-family: var(--pbsfa-cat_fitem-ff, inherit); font-size: var(--pbsfa-cat_fitem-fs, 14px); font-weight: var(--pbsfa-cat_fitem-fw, 400); color: var(--pbsfa-cat_fitem-fc, #3F3F46); text-decoration: none; }
.pbsf-fitem:hover { color: #18181B; }
.pbsf-fcb { width: 17px; height: 17px; border: 1.5px solid #DDDDE3; border-radius: 5px; flex: none; display: grid; place-items: center; font-size: 11px; color: transparent; transition: .12s; background: #fff; }
.pbsf-fitem.is-on { color: #18181B; font-weight: 700; }
.pbsf-fitem.is-on .pbsf-fcb { background: var(--pbsfc-accent, #E8392E); border-color: var(--pbsfc-accent, #E8392E); color: #fff; }
.pbsf-fn { margin-left: auto; font-size: 11.5px; color: #71717A; background: #F6F7F8; border-radius: 8px; padding: 2px 7px; }
.pbsf-fitem.pbsf-fhidden { display: none; }
.pbsf-fgroup.expanded .pbsf-fitem.pbsf-fhidden { display: flex; }
.pbsf-fmore { background: none; border: 0; color: #71717A; font-size: 13px; font-weight: 600; padding: 7px 0 0; cursor: pointer; font-family: inherit; }
.pbsf-fmore:hover { color: #18181B; }

/* ===== „Below Category Content" al temei (sub produse) — tipografia cat_seo ===== */
body.pbsf-cat .below-woocommerce-category { margin: 34px 0 10px; font-family: var(--pbsfa-cat_seo-ff, 'Plus Jakarta Sans', system-ui, sans-serif); font-size: var(--pbsfa-cat_seo-fs, 13.5px); font-weight: var(--pbsfa-cat_seo-fw, 400); color: var(--pbsfa-cat_seo-fc, #71717A); line-height: 1.7; max-width: 900px; }
body.pbsf-cat .below-woocommerce-category p { margin: 0 0 8px; font-size: inherit; color: inherit; }
body.pbsf-cat .below-woocommerce-category h2,
body.pbsf-cat .below-woocommerce-category h3 { color: #18181B; font-size: 16px; margin: 14px 0 6px; font-family: inherit; }
body.pbsf-cat .below-woocommerce-category a { color: var(--pbsfc-accent, #E8392E); }

/* ===== grila în timpul swap-ului AJAX ===== */
body.pbsf-cat ul.products { transition: opacity .18s; }
body.pbsf-cat.pbsf-cat-loading ul.products { opacity: .35; pointer-events: none; }
body.pbsf-cat .woocommerce-pagination { margin-top: 26px; }

/* ============================================================
   GRILA DE PRODUSE — card UNITAR .pbw (v0.22.0, Faza 4)
   CSS peste markup-ul temei (li.product > .woocommerce-image__wrapper +
   .woocommerce-card__header) — structura Shoptimizer/CommerceKit NU se atinge.
   Aceeași rețetă ca .pbw-card din caruselele PDP/homepage (printbox-pdp.css
   secț. 13 / pbsf-home.css): chenar radius 14 + umbră la hover, rating DEASUPRA
   titlului (randat de PBSF_Archive::render_loop_rating; al temei e scos din
   hook), titlu 2 rânduri, preț jos cu prefixul „de la".
   Tipografia = card_title/card_price/card_prefix din dashboard (--pbsf-card_*
   injectate de PBSF_Engine::inline_css_vars pe body.pbsf-cat).
   CAPCANĂ temă: gutter-ul coloanelor = padding 15px stânga/dreapta pe li (li-uri
   flotate pe width %) → cu chenar pe li, padding-ul ar intra ÎN card și cardurile
   s-ar lipi între ele. Fix: ul.products trece pe CSS GRID cu gap (float/width
   ignorate), li resetat la 0.
   ============================================================ */
body.pbsf-cards ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px 14px; }
body.pbsf-cards ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.pbsf-cards ul.products.columns-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
body.pbsf-cards ul.products.columns-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
@media (max-width: 1100px) {
	body.pbsf-cards ul.products,
	body.pbsf-cards ul.products.columns-5,
	body.pbsf-cards ul.products.columns-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	body.pbsf-cards ul.products,
	body.pbsf-cards ul.products.columns-3,
	body.pbsf-cards ul.products.columns-5,
	body.pbsf-cards ul.products.columns-6 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 10px; }
}

body.pbsf-cards ul.products li.product:not(.product-category) {
	width: auto !important; float: none !important;
	padding: 0 !important; margin: 0 !important;
	display: flex; flex-direction: column;
	background: #fff;
	border: 1px solid var(--pbsf-line, #ECEAE5);
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .06);
	transition: transform .15s, border-color .15s, box-shadow .15s;
}
body.pbsf-cards ul.products li.product:not(.product-category):hover {
	transform: translateY(-2px);
	border-color: var(--pbsf-line-2, #E4E2DD);
	box-shadow: 0 12px 30px -16px rgba(0, 0, 0, .28);
}
/* poza: lipită de chenar (sus decupată de radius, jos dreaptă — ca la .pbw-card);
   fără efectul de scale al temei la hover (cardul se ridică întreg). */
body.pbsf-cards li.product .woocommerce-image__wrapper { margin: 0; }
body.pbsf-cards li.product:hover .woocommerce-image__wrapper { transform: none; }

/* caseta de text = echivalentul .pbw-info */
body.pbsf-cards li.product:not(.product-category) .woocommerce-card__header {
	display: flex; flex-direction: column; flex: 1;
	padding: 12px 13px 13px;
	text-align: left;
	background: #fff;
}
/* rating-ul nostru (stele + număr recenzii) — primul în casetă, deasupra titlului.
   ALINIAT STÂNGA (cerință user): tema centrează steaua prin
   `.product-align-center ul.products li.product .star-rating{margin:auto}` = (0,4,2),
   deci margin:0 are nevoie de selectorul lung ca să câștige. */
body.pbsf-cards .woocommerce-card__header .pbsf-loop-rating {
	display: flex; align-items: center; justify-content: flex-start; gap: 6px;
	margin: 0 0 6px; line-height: 1;
}
body.pbsf-cards ul.products li.product .woocommerce-card__header .pbsf-loop-rating .star-rating {
	margin: 0; color: var(--pbsf-amber, #F5A623); font-size: 13px; float: none;
}
body.pbsf-cards .woocommerce-card__header .pbsf-loop-rcount {
	font-size: 12px; font-weight: 600; color: #71717A;
}
/* gardă: dacă rating-ul nativ al temei ar reapărea (după titlu), nu-l dubla */
body.pbsf-cards .woocommerce-card__header > .star-rating { display: none !important; }

/* Tipografia: selectorii au nevoie de `ul.products li.product` în plus — Kirki (Customizer)
   pune `ul.products li.product .woocommerce-loop-product__title{sans-serif 15px}` și tema
   `ul.products li.product .price` = (0,3,2), peste un simplu body.pbsf-cards + 2 clase. */
body.pbsf-cards ul.products li.product .woocommerce-card__header .woocommerce-loop-product__title {
	margin: 0 0 5px; padding: 0;
	font-family: var(--pbsf-card_title-ff, 'Plus Jakarta Sans', sans-serif);
	font-weight: var(--pbsf-card_title-fw, 600);
	font-size: var(--pbsf-card_title-fs, 14px);
	color: var(--pbsf-card_title-fc, #18181B);
	/* rândurile titlului = setarea „card_lines" din tab Categorii (var din enqueue, default 2);
	   min-height rezervă exact atâtea rânduri ca prețurile să rămână aliniate între carduri. */
	line-height: 1.35; min-height: calc(1.35em * var(--pbsfa-card-lines, 2));
	display: -webkit-box; -webkit-line-clamp: var(--pbsfa-card-lines, 2); -webkit-box-orient: vertical; overflow: hidden;
}
body.pbsf-cards ul.products li.product .woocommerce-card__header .woocommerce-loop-product__title a {
	color: inherit; font: inherit; text-decoration: none;
}

/* prețul — jos în card (margin-top auto = rând de preț aliniat între carduri) */
body.pbsf-cards .woocommerce-card__header .cgkit-as-variation-price,
body.pbsf-cards .woocommerce-card__header > .price { margin: auto 0 0; padding-top: 4px; }
body.pbsf-cards ul.products li.product .woocommerce-card__header .price {
	font-family: var(--pbsf-card_price-ff, 'Plus Jakarta Sans', sans-serif);
	font-weight: var(--pbsf-card_price-fw, 800);
	font-size: var(--pbsf-card_price-fs, 15px);
	color: var(--pbsf-card_price-fc, #18181B);
}
body.pbsf-cards ul.products li.product .woocommerce-card__header .price .amount,
body.pbsf-cards ul.products li.product .woocommerce-card__header .price bdi {
	color: var(--pbsf-card_price-fc, #18181B);
	font-weight: var(--pbsf-card_price-fw, 800);
	font-size: var(--pbsf-card_price-fs, 15px);
}
body.pbsf-cards ul.products li.product .woocommerce-card__header .price .pbsf-price-prefix {
	font-family: var(--pbsf-card_prefix-ff, 'Plus Jakarta Sans', sans-serif);
	font-weight: var(--pbsf-card_prefix-fw, 600);
	font-size: var(--pbsf-card_prefix-fs, 12.5px);
	color: var(--pbsf-card_prefix-fc, #71717A);
	margin-right: 3px;
}
/* preț vechi tăiat la reduceri — mic și muted, ca pe cardurile de carusel */
body.pbsf-cards ul.products li.product .woocommerce-card__header .price del,
body.pbsf-cards ul.products li.product .woocommerce-card__header .price del .amount,
body.pbsf-cards ul.products li.product .woocommerce-card__header .price del bdi {
	color: #A1A1AA; font-weight: 600; font-size: .82em; text-decoration: line-through;
}
body.pbsf-cards ul.products li.product .woocommerce-card__header .price del { margin-right: 5px; }
body.pbsf-cards ul.products li.product .woocommerce-card__header .price ins { text-decoration: none; background: none; }

/* ===== badge-uri automate pe carduri (v0.23.0, Varianta B) — aceleași stiluri ca la
   [pbsf_carousel]/homepage (pbsf-home.css): Nou verde / Bestseller roșu stânga-sus,
   −% pastilă albă dreapta-sus. Randate de render_loop_badges în .woocommerce-image__wrapper
   (position:relative — ancora absolutei). Badge-urile CommerceKit (.ckit-badge_wrapper) și
   „onsale" al temei se ASCUND doar pe grilă (pe PDP rămân ale lor). */
body.pbsf-cards li.product .pbw-flag {
	position: absolute; left: 10px; top: 10px; z-index: 2;
	font-size: 11px; font-weight: 800; letter-spacing: .02em;
	padding: 4px 10px; border-radius: 100px;
	color: #fff; background: var(--pbsf-red, #E8392E);
	font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
}
body.pbsf-cards li.product .pbw-flag--new { background: var(--pbsf-green, #11875A); }
body.pbsf-cards li.product .pbw-off {
	position: absolute; right: 10px; top: 10px; z-index: 2;
	background: #fff; color: var(--pbsf-red, #E8392E);
	font-size: 11.5px; font-weight: 800; padding: 4px 9px; border-radius: 100px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .12);
	font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
}
body.pbsf-cards ul.products li.product .ckit-badge_wrapper,
body.pbsf-cards ul.products li.product .onsale { display: none !important; }

/* ===== responsive ===== */
@media (max-width: 860px) {
	.pbsf-cat-in { padding: 0 16px; }
	h1.pbsf-cat-title { font-size: 26px; }
	.pbsf-cat-band { padding-top: 18px; }
	.pbsf-cat-banner { display: none; }

	/* toolbar mobil: contorul pe rândul 1; Ordonează + Filtrează ÎMPREUNĂ pe rândul 2.
	   v0.21.1 (raportat de user): cu un filtru activ, bulina de pe „Filtrează" lățea butonul
	   și-l arunca pe rândul următor → ambele butoane COMPACTE + eticheta sortării cu elipsă
	   (nu mai depinde de lungimea textului) — încap una lângă alta și sub 390px. */
	.pbsf-cat-toolbar { flex-wrap: wrap; gap: 8px; }
	.pbsf-cat-count { flex-basis: 100%; }
	.pbsf-cat-sort { order: 1; min-width: 0; }
	.pbsf-cat-sortbtn { padding: 8px 10px; font-size: 12.5px; gap: 6px; min-width: 0; }
	.pbsf-cat-sortbtn small { font-size: 11px; }
	.pbsf-cat-sortlabel { max-width: 96px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	body.pbsf-cat .pbsf-cat-filterbtn { display: inline-flex; order: 2; margin-left: auto; padding: 8px 10px; font-size: 12.5px; gap: 6px; white-space: nowrap; }
	.pbsf-cat-fdot { min-width: 16px; height: 16px; font-size: 10px; }

	/* sidebar → drawer off-canvas dreapta */
	.pbsf-cat-side { position: fixed; top: 0; right: -370px; bottom: 0; width: 86%; max-width: 360px; background: #fff; z-index: 1201; box-shadow: -6px 0 30px rgba(0, 0, 0, .18); transition: right .25s ease; overflow-y: auto; padding: 0 18px 20px; }
	body.pbsf-side-open .pbsf-cat-side { right: 0; }
	.pbsf-cat-side-head { display: flex; align-items: center; justify-content: space-between; padding: 16px 0 12px; border-bottom: 1px solid #ECECEF; font-weight: 800; font-size: 16px; color: #18181B; }
	.pbsf-cat-side-close { border: 0; background: #F6F7F8; border-radius: 9px; width: 36px; height: 36px; font-size: 15px; cursor: pointer; }
	.pbsf-cat-scrim { display: none; position: fixed; inset: 0; background: rgba(20, 30, 45, .45); z-index: 1200; }
	body.pbsf-side-open .pbsf-cat-scrim { display: block; }
	body.pbsf-side-open { overflow: hidden; }
}

@media (max-width: 374px) {
	/* foarte îngust: prefixul „Ordonează:" dispare — rămâne valoarea (ex. „Cele mai vândute") */
	.pbsf-cat-sortbtn small { display: none; }
}
