/* Delta HR – frontend poprawki v0.2.0 */
:root {
	--dhr-navy: #0d2b4e;
	--dhr-yellow: #f2c314;
	--dhr-line: #d7dde6;
	--dhr-bg: #f4f6f9;
	--dhr-radius: 12px;
}
.dhr-hide { display: none !important; }

/* =====================================================================
   Kafelki ofert (wszędzie takie same)
   ===================================================================== */
.sem-product-miniature :is(ul.products, ul.dhr-products) li.product {
	position: relative;
}
.sem-product-miniature :is(ul.products, ul.dhr-products) li.product .woocommerce-loop-product__title,
.dhr-card-title {
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
	overflow-wrap: anywhere;
	hyphens: auto;
	line-height: 1.3;
	padding-bottom: 0 !important;
}
.dhr-card-id {
	order: 1; /* motyw układa elementy kafelka przez flex order: tytuł = 1, plakietki = 2–3, opis = 4 */
	font-size: 12px;
	font-weight: 500;
	opacity: 0.6;
	padding: 2px 12px 6px;
}
.sem-product-miniature :is(ul.products, ul.dhr-products) li.product .tppdil_description {
	overflow-wrap: anywhere;
}

/* Status na kafelku: archiwalna oferta */
li.product.dhr-inactive::before {
	content: "Nieaktualna";
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 5;
	padding: 3px 10px;
	border-radius: 999px;
	background: #c62828;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.02em;
	pointer-events: none;
}
li.product.dhr-inactive img { filter: grayscale(0.6); }

@media (max-width: 767px) {
	.dhr-card-id { padding: 2px 2px 6px; }
	.sem-product-miniature :is(ul.products, ul.dhr-products).elementor-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		column-gap: 10px;
		row-gap: 12px;
	}
	/* motyw wymusza min-height 650 px i przycisk absolutnie na dole – na telefonie kafelek ma rosnąć z treścią */
	.sem-product-miniature :is(ul.products, ul.dhr-products) li.product {
		padding: 6px 6px 10px !important;
		min-height: 0 !important;
		max-height: none !important;
		height: auto !important;
		display: flex !important;
		flex-direction: column !important;
	}
	.sem-product-miniature :is(ul.products, ul.dhr-products) li.product > a.woocommerce-LoopProduct-link { padding: 0 2px !important; }
	.sem-product-miniature :is(ul.products, ul.dhr-products) li.product img {
		width: 100%;
		height: auto;
		aspect-ratio: 4 / 3;
		object-fit: cover;
	}
	.sem-product-miniature :is(ul.products, ul.dhr-products) li.product .woocommerce-loop-product__title,
	.sem-product-miniature :is(ul.products, ul.dhr-products) li.product .tppdil_description {
		padding-left: 2px !important;
		padding-right: 2px !important;
	}
	.sem-product-miniature :is(ul.products, ul.dhr-products) li.product .woocommerce-loop-product__title {
		font-size: 13px !important;
		line-height: 1.3 !important;
		display: -webkit-box !important;
		-webkit-box-orient: vertical !important;
		-webkit-line-clamp: 5;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		overflow: hidden !important;
	}
	.sem-product-miniature :is(ul.products, ul.dhr-products) li.product .tppdil_description,
	.sem-product-miniature :is(ul.products, ul.dhr-products) li.product .tppdil_description li,
	.sem-product-miniature :is(ul.products, ul.dhr-products) li.product .tppdil_description li strong {
		font-size: 12px !important;
		line-height: 1.3 !important;
	}
	.sem-product-miniature :is(ul.products, ul.dhr-products) li.product .tppdil_description ul {
		margin: 4px 0 !important;
		padding-left: 14px !important;
	}
	.sem-product-miniature :is(ul.products, ul.dhr-products) li.product .custom-product-badge {
		font-size: 11px;
		padding: 2px 6px;
		margin-left: 2px !important;
		max-width: 100%;
		box-sizing: border-box;
	}
	.sem-product-miniature :is(ul.products, ul.dhr-products) li.product #woocommerce-catalog_custom_button,
	.sem-product-miniature :is(ul.products, ul.dhr-products) li.product .single_add_to_cart_button {
		position: static !important;
		margin: 8px 0 0 !important;
		align-self: flex-start;
		font-size: 12px;
		padding: 8px 6px;
		white-space: normal;
	}
}

/* Tablet: 2 kafelki w rzędzie zamiast ściśniętych 3 */
@media (min-width: 768px) and (max-width: 1023px) {
	.sem-product-miniature :is(ul.products, ul.dhr-products).elementor-grid:not(.dhr-archive ul) {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		column-gap: 16px;
	}
}

/* =====================================================================
   Strona oferty
   ===================================================================== */
.dhr-status {
	display: table;
	margin: 18px auto 6px;
	padding: 10px 30px;
	border-radius: 999px;
	font-size: 20px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.01em;
	text-align: center;
}
.dhr-status--active { background: #e3f4e8; color: #17652d; box-shadow: inset 0 0 0 2px #17652d33; }
.dhr-status--inactive { background: #fdeaea; color: #b3261e; box-shadow: inset 0 0 0 2px #b3261e33; }
@media (max-width: 767px) {
	.dhr-status { font-size: 17px; padding: 9px 22px; }
}

/* Biały baner zsunięty niżej, żeby zdjęcie z tła było widoczne (górna część sekcji). */
body.single-product { --dhr-hero-reveal: clamp(120px, 18vw, 240px); }
body.single-product section.elementor-top-section:has(.woocommerce-breadcrumb) {
	padding-top: var(--dhr-hero-reveal);
	box-sizing: border-box;
}

/* Stary formularz kontaktowy Elementora na stronie oferty: ukryty (zostaje nowy formularz CF7). */
body.single-product section.elementor-top-section:has(.elementor-widget-form) { display: none !important; }

.dhr-kraz { margin: 12px 0 0; font-size: 13px; opacity: 0.85; }
.dhr-contact a { color: inherit; text-decoration: none; border-bottom: 1px dotted currentColor; }
.dhr-contact a:hover { border-bottom-style: solid; }

/* =====================================================================
   Ikonki z opisem (np. „Oferty z polskim dyspozytorem…”) – ikona po lewej, tekst do lewej
   ===================================================================== */
@media (max-width: 767px) {
	.elementor-widget-icon-box.elementor-position-left.elementor-mobile-position-top .elementor-icon-box-wrapper {
		display: flex;
		flex-direction: row;
		align-items: center;
		text-align: left;
		gap: 14px;
	}
	.elementor-widget-icon-box.elementor-position-left.elementor-mobile-position-top .elementor-icon-box-icon {
		margin: 0 !important;
		flex: 0 0 auto;
	}
	.elementor-widget-icon-box.elementor-position-left.elementor-mobile-position-top .elementor-icon-box-content {
		text-align: left;
		flex: 1 1 auto;
	}
	.elementor-widget-icon-box.elementor-position-left.elementor-mobile-position-top .elementor-icon-box-title {
		margin: 0;
	}
}

/* =====================================================================
   Panel filtrów (jeden wzór na każdej stronie)
   ===================================================================== */
.dhr-filters {
	width: 100%;
	box-sizing: border-box;
	background: #fff;
	border: 1px solid var(--dhr-line);
	border-radius: 16px;
	padding: 22px 24px 18px;
	box-shadow: 0 8px 28px rgba(13, 43, 78, 0.07);
	margin: 8px 0 22px;
}
.dhr-filters__head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 16px;
	color: var(--dhr-navy);
}
.dhr-filters__icon { color: var(--dhr-yellow); flex: 0 0 auto; }
.dhr-filters__title {
	font-size: 22px;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.dhr-filters__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px 20px;
	align-items: start;
}
.dhr-f { min-width: 0; }
.dhr-f--stawka { grid-column: span 2; }
.dhr-filters .berocket_single_filter_widget { margin: 0 !important; width: 100% !important; padding: 0 !important; }
.dhr-filters .bapf_sfilter { margin: 0 !important; }
.dhr-filters .bapf_head { display: block !important; margin: 0 0 6px !important; }
.dhr-filters .bapf_head :is(h3, .dhr-ht) { display: block !important; visibility: visible !important; }
.dhr-filters .bapf_head :is(h3, .dhr-ht),
.dhr-filters .bapf_head .bapf_hd_wrap {
	margin: 0 !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--dhr-navy) !important;
	line-height: 1.2;
}
/* ukryty <select> Select2 musi zostać ukryty (inaczej powstaje poziome przewijanie) */
.dhr-filters .bapf_sfilter .bapf_body select.select2-hidden-accessible,
html body .dhr-filters select.select2-hidden-accessible.select2-hidden-accessible {
	border: 0 !important;
	clip: rect(0 0 0 0) !important;
	height: 1px !important;
	width: 1px !important;
	min-height: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: absolute !important;
	background: none !important;
	max-width: 1px !important;
	left: auto !important;
}
.dhr-filters select:not(.select2-hidden-accessible),
.dhr-filters .select2-container--default .select2-selection--multiple,
.dhr-filters .select2-container--default .select2-selection--single {
	width: 100% !important;
	min-height: 46px;
	box-sizing: border-box;
	border: 1.5px solid var(--dhr-line) !important;
	border-radius: 10px !important;
	background-color: #fff;
	color: var(--dhr-navy);
	font-size: 15px;
	transition: border-color 0.15s, box-shadow 0.15s;
}
.dhr-filters select:not(.select2-hidden-accessible) {
	padding: 0 38px 0 14px;
	height: 46px;
	-webkit-appearance: none;
	appearance: none;
	background-color: #fff;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path d='M1 1l6 6 6-6' fill='none' stroke='%230d2b4e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
	background-repeat: no-repeat;
	background-position: right 14px center;
	cursor: pointer;
}
.dhr-filters select:not(.select2-hidden-accessible):hover,
.dhr-filters .select2-container--default .select2-selection:hover { border-color: #aab5c4 !important; }
.dhr-filters select:focus,
.dhr-filters .select2-container--default.select2-container--focus .select2-selection--multiple,
.dhr-filters .select2-container--default.select2-container--open .select2-selection--multiple {
	outline: none;
	border-color: var(--dhr-yellow) !important;
	box-shadow: 0 0 0 3px rgba(242, 195, 20, 0.28);
}
.dhr-filters .select2-container { width: 100% !important; }
/* wielokrotny wybór: ta sama strzałka co w zwykłych listach (BeRocket rysuje własny trójkąt) */
.dhr-filters .select2-selection--multiple::after,
.dhr-filters .select2-selection--multiple::before,
.dhr-filters .select2-container::after,
.dhr-filters .select2-container::before { display: none !important; content: none !important; }
.dhr-filters .select2-container--default .select2-selection--multiple {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path d='M1 1l6 6 6-6' fill='none' stroke='%230d2b4e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
	background-repeat: no-repeat;
	background-position: right 14px center;
	padding-right: 38px;
	cursor: pointer;
}
.dhr-filters .select2-search__field::placeholder { color: #6b7686; opacity: 1; }
.dhr-filters .select2-container--default .select2-selection--multiple { padding: 4px 8px; }
.dhr-filters .select2-container--default .select2-selection--multiple .select2-selection__choice {
	background: #fff4c4;
	border: 1px solid #ecd16a;
	border-radius: 999px;
	color: var(--dhr-navy);
	padding: 2px 10px;
	margin: 3px 4px 3px 0;
	font-size: 13px;
}
.dhr-filters .select2-container--default .select2-selection--multiple .select2-selection__choice__remove { margin-right: 6px; color: var(--dhr-navy); }
.dhr-filters .select2-search--inline .select2-search__field { margin: 6px 0 0 4px; font-size: 14px; }

/* suwak stawki */
.dhr-filters .bapf_slidr_main,
.dhr-filters .bapf_slidr_all { padding: 6px 8px 0; }
.dhr-filters .ui-slider { height: 6px; border: 0; border-radius: 999px; background: #e3e8ef; margin: 18px 8px 12px; }
.dhr-filters .ui-slider .ui-slider-range { background: var(--dhr-yellow); border-radius: 999px; }
.dhr-filters .ui-slider .ui-slider-handle {
	top: -8px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #fff;
	border: 3px solid var(--dhr-navy);
	box-shadow: 0 2px 6px rgba(13, 43, 78, 0.25);
	cursor: grab;
}
.dhr-filters .bapf_slidr_main span.bapf_from,
.dhr-filters .bapf_slidr_main span.bapf_to,
.dhr-filters .bapf_slidr_all .bapf_from,
.dhr-filters .bapf_slidr_all .bapf_to {
	font-weight: 700;
	color: var(--dhr-navy);
	font-size: 14px;
}

/* aktywne filtry */
.dhr-filters__active { margin-top: 14px; }
.dhr-filters__active:empty { display: none; }
.dhr-filters__active .bapf_sfilter { margin: 0 !important; }
.dhr-filters__active .bapf_head { display: none; }
.dhr-filters__active ul,
.dhr-filters__active .bapf_body { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; padding: 0; list-style: none; }
.dhr-filters__active li { margin: 0; }
.dhr-filters__active a,
.dhr-filters__active .bapf_slct_el,
.dhr-filters__active .bapf_slct_el_wrap { text-decoration: none; }
.dhr-filters__active .bapf_sfilter_selected,
.dhr-filters__active li > a:not(.bapf_reset),
.dhr-filters__active .bapf_slct_el {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 12px;
	background: #fff4c4;
	border: 1px solid #ecd16a;
	border-radius: 999px;
	color: var(--dhr-navy);
	font-size: 13px;
	font-weight: 600;
}

@media (max-width: 1023px) {
	.dhr-filters__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dhr-f--stawka { grid-column: span 2; }
}
@media (max-width: 599px) {
	.dhr-filters { padding: 16px 14px 14px; border-radius: 14px; }
	.dhr-filters__grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
	.dhr-f--stawka { grid-column: auto; }
	.dhr-filters__title { font-size: 18px; }
}

/* puste kolumny po zastąpionych shortcode’ach filtrów */
.elementor-column:has(.dhr-filters) { width: 100% !important; flex: 1 1 100% !important; max-width: 100% !important; }
.elementor-column:has(.elementor-shortcode:empty):not(:has(.dhr-filters)):not(:has(.elementor-widget-container > :not(.elementor-shortcode:empty))) { display: none !important; }
.elementor-section:has(.elementor-shortcode:empty):not(:has(.dhr-filters)):not(:has(.elementor-widget-container > :not(.elementor-shortcode:empty))) { display: none !important; }
.elementor-widget-shortcode:has(.elementor-shortcode:empty) { display: none !important; }

/* =====================================================================
   Lista ofert z archiwum po prawej
   ===================================================================== */
.dhr-listing {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 24px;
	align-items: start;
	max-width: 100%;
}
@media (min-width: 992px) {
	.dhr-listing { grid-template-columns: minmax(0, 1fr) 320px; }
	.dhr-listing .dhr-archive { position: sticky; top: 90px; max-height: calc(100vh - 110px); overflow: auto; }
}
.dhr-archive {
	background: var(--dhr-bg);
	border: 1px solid var(--dhr-line);
	border-radius: var(--dhr-radius);
	padding: 14px 14px 6px;
	box-sizing: border-box;
	max-width: 1140px;
}
.dhr-archive > summary {
	list-style: none;
	cursor: pointer;
	text-align: center;
	font-size: 20px;
	font-weight: 800;
	color: var(--dhr-navy);
	padding: 4px 0 12px;
}
.dhr-archive > summary::-webkit-details-marker { display: none; }
.dhr-archive__count { font-weight: 500; opacity: 0.6; font-size: 0.8em; }
.dhr-archive :is(ul.products, ul.dhr-products) {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 14px;
	list-style: none;
	padding: 0 !important;
	margin: 0 0 10px !important;
}
.dhr-archive :is(ul.products, ul.dhr-products) li.product {
	width: auto !important;
	margin: 0 !important;
	min-height: 0 !important;
	height: auto !important;
	padding: 10px !important;
	background: #fff;
	border-radius: 10px;
	display: flex;
	flex-direction: column;
}
.dhr-archive :is(ul.products, ul.dhr-products) li.product #woocommerce-catalog_custom_button { position: static !important; margin-top: 8px; align-self: flex-start; }
@media (min-width: 992px) {
	.dhr-archive > summary { pointer-events: none; }
}
@media (max-width: 991px) {
	.dhr-archive > summary { text-align: left; padding: 8px 0; }
	.dhr-archive > summary::after { content: "▾"; float: right; }
	.dhr-archive[open] > summary::after { content: "▴"; }
	.dhr-archive :is(ul.products, ul.dhr-products) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px; }
}
@media (max-width: 520px) {
	.dhr-archive :is(ul.products, ul.dhr-products) { grid-template-columns: minmax(0, 1fr) !important; }
}

/* =====================================================================
   v0.2.1: cały kafelek klikalny, jednolita pogrubiona czcionka, szerokość i lista filtrów
   ===================================================================== */
.sem-product-miniature :is(ul.products, ul.dhr-products) li.product {
	cursor: pointer;
	transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.sem-product-miniature :is(ul.products, ul.dhr-products) li.product:hover {
	box-shadow: 0 10px 26px rgba(13, 43, 78, 0.16);
	transform: translateY(-2px);
}
.sem-product-miniature :is(ul.products, ul.dhr-products) li.product a.woocommerce-LoopProduct-link { position: static !important; }
.sem-product-miniature :is(ul.products, ul.dhr-products) li.product a.woocommerce-LoopProduct-link::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
}
.sem-product-miniature :is(ul.products, ul.dhr-products) li.product #woocommerce-catalog_custom_button { z-index: 3; }

/* pogrubienie wszędzie tak samo (wcześniej tylko część punktów miała <strong>) */
.sem-product-miniature :is(ul.products, ul.dhr-products) li.product .tppdil_description,
.sem-product-miniature :is(ul.products, ul.dhr-products) li.product .tppdil_description *,
.sem-product-miniature :is(ul.products, ul.dhr-products) li.product .woocommerce-loop-product__title,
.sem-product-miniature :is(ul.products, ul.dhr-products) li.product .custom-product-badge,
.sem-product-miniature :is(ul.products, ul.dhr-products) li.product #woocommerce-catalog_custom_button {
	font-weight: 700 !important;
}

/* filtry: pola mają jeden krój, rozmiar i kolor (również pole „placeholder” wielokrotnego wyboru) */
.dhr-filters select:not(.select2-hidden-accessible),
.dhr-filters .select2-selection__rendered,
.dhr-filters .select2-search__field,
.dhr-filters .select2-search__field::placeholder {
	font-size: 15px !important;
	font-weight: 600 !important;
	color: var(--dhr-navy) !important;
	opacity: 1 !important;
	font-family: inherit;
}
.dhr-filters .select2-selection--multiple .select2-selection__choice { font-weight: 700; }

/* panel na całą szerokość kontenera */
.dhr-wide {
	width: 100% !important;
	max-width: none !important;
	flex: 1 1 100% !important;
}

/* lista wyboru pod polem (wstawiana w komórkę filtra przez skrypt) */
.dhr-f { position: relative; }
.dhr-f .select2-container--open.dhr-dd-inline {
	position: static !important;
	display: block !important;
	width: 100% !important;
	top: auto !important;
	left: auto !important;
	z-index: auto !important;
	margin-top: 6px;
}
.dhr-dd-inline .select2-dropdown {
	position: static !important;
	width: 100% !important;
	border: 1.5px solid var(--dhr-yellow) !important;
	border-radius: 10px !important;
	box-shadow: 0 8px 22px rgba(13, 43, 78, 0.12);
	overflow: hidden;
	background: #fff;
}
.dhr-dd-inline .select2-search--dropdown { padding: 8px; }
.dhr-dd-inline .select2-results__options {
	max-height: 260px;
	overflow-y: auto;
	margin: 0;
	padding: 4px 0;
}
.dhr-dd-inline .select2-results__option {
	padding: 9px 14px;
	font-size: 15px;
	font-weight: 600;
	color: var(--dhr-navy);
	display: flex;
	align-items: center;
	gap: 8px;
}
.dhr-dd-inline .select2-results__option[aria-selected="true"] { background: #fff4c4; }
.dhr-dd-inline .select2-results__option[aria-selected="true"]::after { content: "✓"; margin-left: auto; font-weight: 800; }
.dhr-dd-inline .select2-results__option--highlighted[aria-selected] { background: var(--dhr-navy) !important; color: #fff !important; }

/* strzałka „▶” w przycisku kafelka jako zwykły znak (w archiwum była rysowana jako niebieski emoji) */
.sem-product-miniature :is(ul.products, ul.dhr-products) li.product #woocommerce-catalog_custom_button span,
.sem-product-miniature :is(ul.products, ul.dhr-products) li.product .single_add_to_cart_button span {
	font-family: Arial, "Segoe UI Symbol", sans-serif !important;
	font-variant-emoji: text;
	color: inherit;
}


/* =====================================================================
   v0.3.1: poprawki filtrów, jednolita wielkość kafelków, aktywne filtry
   ===================================================================== */
/* wybrane wartości muszą być widoczne (stary CSS strony ukrywał „chipy” i barwił wybrane pola na granatowo) */
.dhr-filters .select2-selection--multiple .select2-selection__choice {
	display: inline-flex !important;
	align-items: center;
	gap: 4px;
	background: #fff4c4 !important;
	color: var(--dhr-navy) !important;
	border: 1px solid #ecd16a !important;
	opacity: 1 !important;
	visibility: visible !important;
}
.dhr-filters .select2-selection--multiple .select2-selection__choice__remove { color: var(--dhr-navy) !important; margin: 0 4px 0 0 !important; }
.dhr-filters select:not(.select2-hidden-accessible),
.dhr-filters select:not(.select2-hidden-accessible):focus,
.dhr-filters select:not(.select2-hidden-accessible):active {
	background-color: #fff !important;
	color: var(--dhr-navy) !important;
}
.dhr-filters select option { background: #fff; color: var(--dhr-navy); }

/* ten sam kursor „łapka” na wszystkich polach; pole wyszukiwania w liście wielokrotnej bez ramki */
.dhr-filters select,
.dhr-filters .select2-selection,
.dhr-filters .select2-selection__rendered,
.dhr-filters .select2-search__field,
.dhr-filters .select2-selection__choice { cursor: pointer !important; }
.dhr-filters .select2-search--inline .select2-search__field {
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	caret-color: transparent;
	margin: 6px 0 0 4px !important;
	min-width: 4px;
}

/* aktywne filtry */
.dhr-filters__active .berocket_aapf_widget_selected_filter { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; }
.dhr-filters__active .bapf_sfa_taxonomy { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.dhr-filters__active .bapf_sfa_taxonomy > span { font-size: 11px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: #6b7686; }
.dhr-filters__active ul { display: inline-flex !important; flex-wrap: wrap; gap: 6px; margin: 0 !important; padding: 0 !important; list-style: none; }
.dhr-filters__active a.braapf_unselect {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	padding: 6px 12px 6px 10px !important;
	background: #fff4c4 !important;
	border: 1px solid #ecd16a !important;
	border-radius: 999px !important;
	color: var(--dhr-navy) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.2;
	text-decoration: none !important;
	white-space: nowrap;
}
.dhr-filters__active a.braapf_unselect i { display: none !important; }
.dhr-filters__active a.braapf_unselect::before { content: "×"; font-size: 17px; line-height: 1; font-weight: 800; }
.dhr-filters__active a.braapf_unselect:hover { background: #ffe9a0 !important; }
.dhr-filters__active .bapf_sfa_unall { display: inline-flex !important; }
.dhr-filters__active a.braapf_unselect_all {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	padding: 6px 14px !important;
	background: var(--dhr-navy) !important;
	color: #fff !important;
	border-radius: 999px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}
.dhr-filters__active a.braapf_unselect_all i { display: none !important; }
.dhr-filters__active a.braapf_unselect_all::before { content: "×"; font-size: 17px; line-height: 1; }
.dhr-filters__active a.braapf_unselect_all:hover { background: #163f70 !important; }

/* jednakowa wielkość kafelków na stronie ofert i na podstronach (wcześniej na podstronach były bardzo duże) */
@media (min-width: 1024px) {
	.sem-product-miniature :is(ul.products, ul.dhr-products).elementor-grid:not(.dhr-products) {
		grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)) !important;
		gap: 20px !important;
	}
}
.sem-product-miniature :is(ul.products, ul.dhr-products) li.product > a.woocommerce-LoopProduct-link > img {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}


/* =====================================================================
   v0.3.2: wyśrodkowany panel na stronie głównej, jednakowe marginesy listy, tytuły w archiwum
   ===================================================================== */
.dhr-filters { max-width: 1260px; margin-left: auto !important; margin-right: auto !important; }
.dhr-wrap-section > .elementor-container {
	max-width: 1260px !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
}
.dhr-listing { max-width: 1260px; margin-left: auto; margin-right: auto; }

/* tytuły kafelków: ten sam rozmiar wszędzie (w archiwum bywał ogromny, na podstronach – wielkimi literami) */
.sem-product-miniature :is(ul.products, ul.dhr-products) li.product .woocommerce-loop-product__title,
.dhr-archive :is(ul.products, ul.dhr-products) li.product .woocommerce-loop-product__title,
.dhr-archive li.product h2,
.dhr-archive li.product h3 {
	font-size: 16px !important;
	line-height: 1.3 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	margin: 0 0 4px !important;
}
@media (max-width: 767px) {
	.sem-product-miniature :is(ul.products, ul.dhr-products) li.product .woocommerce-loop-product__title,
	.dhr-archive li.product h2,
	.dhr-archive li.product h3 { font-size: 13px !important; }
}


/* v0.3.3: panel i lista mają tę samą szerokość i są wyśrodkowane (strona główna, oferty, podstrony) */
/* cancel-wrap-padding */
.elementor-container:has(.dhr-filters) {
	max-width: 1260px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	width: 100% !important;
}
.elementor-widget-wrap:has(.dhr-filters) { padding-left: 0 !important; padding-right: 0 !important; }
.elementor-widget:has(> .elementor-widget-container .dhr-filters) { width: 100% !important; max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }


/* =====================================================================
   v0.3.4: chipy „aktywne filtry” – jedno „×” po lewej, bez nachodzenia na tekst
   (stary CSS strony rysuje w każdym chipie własny obrócony „+” pozycjonowany absolutnie po prawej)
   ===================================================================== */
html body .dhr-filters .dhr-filters__active .berocket_aapf_widget_selected_filter a.braapf_unselect,
html body .dhr-filters .dhr-filters__active .berocket_aapf_widget_selected_filter a.braapf_unselect_all {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	position: relative !important;
	width: auto !important;
	max-width: 100% !important;
	overflow: visible !important;
	padding: 7px 14px 7px 10px !important;
	white-space: nowrap !important;
	box-sizing: border-box !important;
}
html body .dhr-filters .dhr-filters__active .berocket_aapf_widget_selected_filter a.braapf_unselect::before,
html body .dhr-filters .dhr-filters__active .berocket_aapf_widget_selected_filter a.braapf_unselect_all::before {
	content: "×" !important;
	position: static !important;
	display: inline-block !important;
	transform: none !important;
	rotate: none !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	left: auto !important;
	right: auto !important;
	top: auto !important;
	bottom: auto !important;
	font-family: Arial, sans-serif !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	color: currentColor !important;
	opacity: 0.8;
}
html body .dhr-filters .dhr-filters__active .berocket_aapf_widget_selected_filter a.braapf_unselect::after,
html body .dhr-filters .dhr-filters__active .berocket_aapf_widget_selected_filter a.braapf_unselect_all::after {
	display: none !important;
	content: none !important;
}
html body .dhr-filters .dhr-filters__active .berocket_aapf_widget_selected_filter a.braapf_unselect:hover::before { opacity: 1; }


/* =====================================================================
   v0.5.1
   ===================================================================== */

/* --- 1) telefon: jeden kafelek w rzędzie, czytelne czcionki i odstępy --- */
@media (max-width: 767px) {
	html body .sem-product-miniature :is(ul.products, ul.dhr-products).elementor-grid,
	html body .sem-product-miniature :is(ul.products, ul.dhr-products),
	html body .dhr-archive :is(ul.products, ul.dhr-products) {
		grid-template-columns: minmax(0, 1fr) !important;
		column-gap: 0 !important;
		row-gap: 16px !important;
	}
	html body .sem-product-miniature :is(ul.products, ul.dhr-products) li.product {
		padding: 12px 12px 14px !important;
	}
	html body .sem-product-miniature :is(ul.products, ul.dhr-products) li.product > a.woocommerce-LoopProduct-link {
		padding: 0 !important;
	}
	html body .sem-product-miniature :is(ul.products, ul.dhr-products) li.product > a.woocommerce-LoopProduct-link > img {
		aspect-ratio: 16 / 10;
		border-radius: 8px;
	}
	html body .sem-product-miniature :is(ul.products, ul.dhr-products) li.product .woocommerce-loop-product__title,
	html body .dhr-archive li.product .woocommerce-loop-product__title {
		font-size: 17px !important;
		line-height: 1.3 !important;
		-webkit-line-clamp: 4;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	html body .sem-product-miniature :is(ul.products, ul.dhr-products) li.product .dhr-card-id { padding: 2px 0 8px; font-size: 13px; }
	html body .sem-product-miniature :is(ul.products, ul.dhr-products) li.product .custom-product-badge {
		font-size: 14px !important;
		padding: 5px 12px !important;
		margin-left: 0 !important;
	}
	html body .sem-product-miniature :is(ul.products, ul.dhr-products) li.product .tppdil_description,
	html body .sem-product-miniature :is(ul.products, ul.dhr-products) li.product .tppdil_description li,
	html body .sem-product-miniature :is(ul.products, ul.dhr-products) li.product .tppdil_description li strong {
		font-size: 15px !important;
		line-height: 1.4 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	html body .sem-product-miniature :is(ul.products, ul.dhr-products) li.product #woocommerce-catalog_custom_button,
	html body .sem-product-miniature :is(ul.products, ul.dhr-products) li.product .single_add_to_cart_button {
		font-size: 15px !important;
		padding: 10px 0 !important;
	}
}

/* --- 3) archiwum na podstronach kategorii: ramka z wewnętrznym przewijaniem, jak na stronie ofert --- */
.dhr-archive-col {
	align-self: flex-start !important;
	position: sticky;
	top: 90px;
	max-height: calc(100vh - 110px);
	overflow-y: auto;
	overscroll-behavior: contain;
	background: var(--dhr-bg);
	border: 1px solid var(--dhr-line);
	border-radius: var(--dhr-radius);
	box-sizing: border-box;
}
.dhr-archive-col > .elementor-widget-wrap { padding: 14px 14px 6px !important; }
.dhr-archive-col .elementor-heading-title {
	text-align: center !important;
	font-size: 20px !important;
	font-weight: 800 !important;
	color: var(--dhr-navy) !important;
	text-transform: none !important;
}
.dhr-archive-col :is(ul.products, ul.dhr-products) {
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 14px !important;
}
.dhr-archive-col :is(ul.products, ul.dhr-products) li.product {
	background: #fff;
	border-radius: 10px;
	padding: 10px !important;
	min-height: 0 !important;
	height: auto !important;
}
.dhr-archive-col::-webkit-scrollbar,
.dhr-archive::-webkit-scrollbar { width: 8px; }
.dhr-archive-col::-webkit-scrollbar-thumb,
.dhr-archive::-webkit-scrollbar-thumb { background: #b9c1cc; border-radius: 8px; }
@media (max-width: 991px) {
	.dhr-archive-col { position: static; max-height: 75vh; width: 100% !important; }
}

/* --- 4) strona oferty: mniejsze odstępy w karcie z nagłówkiem --- */
body.single-product section.elementor-top-section:has(.woocommerce-breadcrumb) {
	margin-bottom: clamp(16px, 2.5vw, 36px) !important;
}
body.single-product section.elementor-top-section:has(.woocommerce-breadcrumb) .elementor-widget:not(:last-child) {
	margin-bottom: 8px !important;
}
body.single-product section.elementor-top-section:has(.woocommerce-breadcrumb) .elementor-widget-text-editor { margin-bottom: 2px !important; }
body.single-product section.elementor-top-section:has(.woocommerce-breadcrumb) .elementor-inner-section { margin-bottom: 8px !important; }
body.single-product section.elementor-top-section:has(.woocommerce-breadcrumb) .elementor-widget:has(.dhr-back) { margin-top: 4px !important; }
body.single-product section.elementor-top-section:has(.woocommerce-breadcrumb) .elementor-widget-divider .elementor-divider {
	padding-top: 4px !important;
	padding-bottom: 4px !important;
}
body.single-product .dhr-status { margin: 8px auto 2px; padding: 8px 26px; font-size: 18px; }
@media (max-width: 767px) {
	body.single-product .dhr-status { margin: 6px auto 0; padding: 7px 20px; font-size: 16px; }
	body.single-product section.elementor-top-section:has(.woocommerce-breadcrumb) { margin-bottom: 16px !important; }
}


/* v0.5.2: karta w nagłówku oferty była pozycjonowana absolutnie (nie liczyła się do wysokości sekcji), a nadwyżkę
   „maskował” ogromny margines (ok. 300 px). Karta wraca do normalnego układu, więc odstęp pod nią jest mały i równy. */
body.single-product section.elementor-top-section:has(.woocommerce-breadcrumb) > .elementor-container {
	min-height: 0 !important;
	align-items: flex-start !important;
}
body.single-product section.elementor-top-section:has(.woocommerce-breadcrumb) > .elementor-container > .elementor-column {
	position: relative !important;
	top: auto !important;
}


/* v0.5.3: siatka parametrów (Wynagrodzenie / Lokalizacja / System pracy / Zestaw) zachowuje oryginalny odstęp etykieta → wartość */
body.single-product section.elementor-top-section:has(.woocommerce-breadcrumb) .elementor-inner-section .elementor-widget:not(:last-child),
body.single-product section.elementor-top-section:has(.woocommerce-breadcrumb) .elementor-inner-section .elementor-widget-text-editor {
	margin-bottom: 20px !important;
}


/* =====================================================================
   v0.5.5: kolumna archiwum na podstronach (stała szerokość, kafelki się mieszczą) i mniejszy górny odstęp na stronie oferty
   ===================================================================== */
@media (min-width: 992px) {
	/* kolumna archiwum miała ok. 228 px, a kafelek 270 px – treść wystawała i była ucinana */
	.dhr-archive-col {
		flex: 0 0 320px !important;
		width: 320px !important;
		max-width: 320px !important;
		min-width: 320px !important;
	}
	.elementor-column:has(+ .dhr-archive-col) {
		flex: 1 1 0 !important;
		width: auto !important;
		max-width: none !important;
		min-width: 0 !important;
	}
}
.dhr-archive-col { overflow-x: hidden !important; }
.dhr-archive-col :is(ul.products, ul.dhr-products) li.product,
.dhr-archive-col :is(ul.products, ul.dhr-products) li.product * {
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}
.dhr-archive-col :is(ul.products, ul.dhr-products) li.product .woocommerce-loop-product__title,
.dhr-archive-col :is(ul.products, ul.dhr-products) li.product .tppdil_description li { overflow-wrap: anywhere; }
.dhr-archive-col :is(ul.products, ul.dhr-products) li.product #woocommerce-catalog_custom_button,
.dhr-archive-col :is(ul.products, ul.dhr-products) li.product .single_add_to_cart_button {
	position: static !important;
	display: inline-block;
	margin: 8px 0 0 !important;
}
.dhr-archive-col :is(ul.products, ul.dhr-products) li.product .tppdil_description ul { padding-left: 18px !important; margin: 4px 0 !important; }
.dhr-archive-col :is(ul.products, ul.dhr-products) li.product .woocommerce-loop-product__title { -webkit-line-clamp: 4; }

/* strona oferty: węższy pas ze zdjęciem nad kartą i brak górnego marginesu */
body.single-product { --dhr-hero-reveal: clamp(56px, 6vw, 96px); }
body.single-product section.elementor-top-section:has(.woocommerce-breadcrumb) { margin-top: 0 !important; }
@media (max-width: 767px) {
	body.single-product { --dhr-hero-reveal: 48px; }
}


/* v0.6.1: pola wielokrotnego wyboru (Select2) miały z-index 2147483647 i wystawały ponad baner zgody na cookies (consent mode).
   Panel filtrów tworzy własny kontekst warstw na poziomie 0, więc nic z jego wnętrza nie przebija banera ani okien modalnych. */
.dhr-filters {
	position: relative;
	z-index: 0;
	isolation: isolate;
}
.dhr-filters .select2-container,
.dhr-filters .select2-container--open,
.dhr-filters .select2-dropdown {
	z-index: auto !important;
}


/* =====================================================================
   v0.7.0
   ===================================================================== */

/* --- kafelek bez zewnętrznego <a>: dzieci są bezpośrednio w <li>, układ kolumnowy jak dotąd --- */
html body .sem-product-miniature :is(ul.products, ul.dhr-products) li.product {
	display: flex !important;
	flex-direction: column !important;
	position: relative !important;
}
html body .sem-product-miniature li.product > img { order: 0; }
html body .sem-product-miniature li.product > .woocommerce-loop-product__title { order: 1; }
html body .sem-product-miniature li.product > .dhr-card-id { order: 1; }
html body .sem-product-miniature li.product > .custom-product-badge.money { order: 2; }
html body .sem-product-miniature li.product > .custom-product-badge.location { order: 3; }
html body .sem-product-miniature li.product > .tppdil_description { order: 4; }
html body .sem-product-miniature li.product > .sem-count { order: 5; }
html body .sem-product-miniature li.product > #woocommerce-catalog_custom_button,
html body .sem-product-miniature li.product > .single_add_to_cart_button { order: 6; }
html body .sem-product-miniature li.product > img {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
/* link z tytułu rozciągnięty na cały kafelek */
html body .sem-product-miniature li.product .dhr-card-link {
	color: inherit;
	text-decoration: none;
}
html body .sem-product-miniature li.product .dhr-card-link::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
}
html body .sem-product-miniature li.product #woocommerce-catalog_custom_button,
html body .sem-product-miniature li.product .single_add_to_cart_button {
	position: relative !important;
	z-index: 3;
}
html body .sem-product-miniature li.product .woocommerce-loop-product__title { margin: 0; }

/* --- tytuł w archiwum jako H2 (summary) wygląda jak dotąd --- */
.dhr-archive__h { display: inline; margin: 0; padding: 0; font: inherit; color: inherit; letter-spacing: inherit; text-transform: none; }

/* --- sortowanie (przycisk) ukryte także awaryjnie --- */
.elementor-widget-woocommerce-products .woocommerce-ordering,
form.woocommerce-ordering { display: none !important; }

/* --- tabele w treści nie mogą wypychać strony poza ekran (podstrony tandem, system 2/2, bez systemu) --- */
.elementor-widget-text-editor table,
.elementor-widget-container table {
	max-width: 100% !important;
	width: 100% !important;
	table-layout: auto;
}
.elementor-widget-text-editor td,
.elementor-widget-text-editor th,
.elementor-widget-container td,
.elementor-widget-container th {
	overflow-wrap: anywhere;
	word-break: normal;
}
@media (max-width: 767px) {
	.elementor-widget-text-editor table,
	.elementor-widget-container table {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}
html, body { overflow-x: clip; }

/* --- strona oferty: nagłówek w karcie nie może przykrywać rozwijanego menu --- */
body.single-product section.elementor-top-section:has(.woocommerce-breadcrumb) .elementor-element { z-index: auto !important; }
.elementor-location-header,
header.site-header,
[data-elementor-type="header"] { position: relative; z-index: 10000; }
.elementor-nav-menu--dropdown { z-index: 10001 !important; background-color: #fff; }


/* v0.7.2: tytuł archiwum jako H2 ma wyglądać jak wcześniej (nie dziedziczyć dużego rozmiaru nagłówka motywu) */
html body .dhr-archive > summary .dhr-archive__h {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 20px !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	color: var(--dhr-navy) !important;
	text-transform: none !important;
	letter-spacing: normal !important;
}
html body .dhr-archive > summary .dhr-archive__count { font-size: 0.8em; font-weight: 500; opacity: 0.6; }
