/* TREJKA Filter — layout, panel, siatka, paginacja. Samowystarczalny
   (odporny na „Remove Unused CSS", nie zależy od CSS motywu). */

.twf-app { display: flex; gap: 24px; align-items: flex-start; }
.twf-app__panel { flex: 0 0 260px; max-width: 260px; }
.twf-app__results { flex: 1 1 auto; min-width: 0; }
.twf-busy { opacity: .55; transition: opacity .15s ease; }

@media (max-width: 782px) {
	.twf-app { flex-direction: column; }
	.twf-app__panel { flex-basis: auto; max-width: none; width: 100%; }
}

/* Panel */
.twf-section { margin: 0 0 20px; padding: 0 0 16px; border-bottom: 1px solid rgba(0,0,0,.08); }
.twf-section__title { margin: 0 0 10px; font-size: 15px; font-weight: 600; }
.twf-options { list-style: none; margin: 0; padding: 0; max-height: 260px; overflow: auto; }
.twf-option { margin: 0 0 6px; }
.twf-option label { display: flex; align-items: center; gap: 8px; cursor: pointer; font-size: 14px; }
.twf-option__count { margin-left: auto; opacity: .6; font-size: 12px; }
.twf-search-input { width: 100%; box-sizing: border-box; padding: 8px 10px; }
.twf-range { display: flex; align-items: center; gap: 8px; }
.twf-range input { width: 100%; box-sizing: border-box; padding: 6px 8px; }
.twf-check { display: flex; align-items: center; gap: 8px; cursor: pointer; }
.twf-apply, .twf-reset { margin-top: 8px; }

/* Siatka wyników — generyczna karta CPT; Woo używa własnych klas motywu */
.twf-grid { list-style: none; margin: 0; padding: 0; display: grid;
	grid-template-columns: repeat(var(--twf-cols, 4), minmax(0, 1fr)); gap: 20px; }
@media (max-width: 1024px) { .twf-grid { grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (max-width: 782px)  { .twf-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 480px)  { .twf-grid { grid-template-columns: 1fr; } }

.twf-card { border: 1px solid rgba(0,0,0,.1); border-radius: 8px; padding: 14px; }
.twf-card__title { display: block; font-weight: 600; margin: 0 0 8px; text-decoration: none; }
.twf-card__field { font-size: 13px; margin: 2px 0; }
.twf-card__label { opacity: .6; }
.twf-empty { padding: 24px 0; opacity: .7; }

/* Paginacja — dopasowana do Blocksy/WooCommerce, z twardymi resetami,
   odporna na strukturę <nav><a.prev>…<div>[numery]</div><a.next>…</nav>. */
.twf-pagination.woocommerce-pagination {
	display: flex !important; align-items: center; justify-content: center;
	gap: 6px; margin: 28px 0 0; float: none !important; width: auto !important;
}
.twf-pagination.woocommerce-pagination > ul,
.twf-pagination.woocommerce-pagination > div {
	display: contents !important; margin: 0 !important; padding: 0 !important;
	list-style: none !important; border: 0 !important;
}
.twf-pagination.woocommerce-pagination li { margin: 0 !important; border: 0 !important; }
.twf-pagination.woocommerce-pagination a,
.twf-pagination.woocommerce-pagination span {
	display: inline-flex !important; align-items: center; justify-content: center;
	min-width: 40px; height: 40px; padding: 0 12px; margin: 0 !important;
	float: none !important; position: static !important; align-self: center !important;
	border: 1px solid rgba(0,0,0,.15); border-radius: 6px; text-decoration: none;
	line-height: 1; font-size: 14px; box-sizing: border-box;
}
.twf-pagination.woocommerce-pagination span.current {
	background: currentColor; color: #fff; border-color: transparent;
}
.twf-pagination.woocommerce-pagination a:hover { border-color: rgba(0,0,0,.4); }
