/* BH Spec Table */

.bh-spec-wrap { width: 100%; }

.bh-spec {
	--bh-spec-label-w: 45%;
	--bh-spec-divider-w: 1px;
	--bh-spec-divider-s: solid;
	--bh-spec-divider-c: #e2e8f0;
	--bh-spec-stripe: #f8fafc;
	--bh-tip-icon: #94a3b8;
	--bh-tip-icon-hover: #1e293b;
	--bh-tip-icon-size: 16px;
	--bh-tip-bg: #1e293b;
	--bh-tip-color: #ffffff;
	--bh-tip-w: 280px;

	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	border-spacing: 0;
	table-layout: auto;
	background: transparent;
}

.bh-spec th,
.bh-spec td {
	box-sizing: border-box;
	margin: 0;
	border: 0;
	background: transparent;
	vertical-align: top;
	text-align: left;
	line-height: 1.5;
}

/* Wiersz parametru */
.bh-spec__row > th,
.bh-spec__row > td {
	padding: 12px 16px;
	border-bottom: var(--bh-spec-divider-w) var(--bh-spec-divider-s) var(--bh-spec-divider-c);
	transition: background-color .15s ease;
}
.bh-spec__label {
	width: var(--bh-spec-label-w);
	font-weight: 500;
	color: #475569;
}
.bh-spec__value { color: #1e293b; }
.bh-spec__value > :last-child { margin-bottom: 0; }

/* Ostatni wiersz bez linii, chyba że włączono */
.bh-spec tbody tr:last-child > th,
.bh-spec tbody tr:last-child > td { border-bottom-width: 0; }
.bh-spec-last-line-yes .bh-spec tbody tr:last-child > th,
.bh-spec-last-line-yes .bh-spec tbody tr:last-child > td { border-bottom-width: var(--bh-spec-divider-w); }

/* Wiersz przed nagłówkiem sekcji – bez linii (nagłówek ma własną) */
.bh-spec__row:has(+ .bh-spec__group) > th,
.bh-spec__row:has(+ .bh-spec__group) > td { border-bottom-width: 0; }

/* Paski */
.bh-spec-stripes-yes .bh-spec__row:nth-child(even of .bh-spec__row) > th,
.bh-spec-stripes-yes .bh-spec__row:nth-child(even of .bh-spec__row) > td { background-color: var(--bh-spec-stripe); }

.bh-spec__row.is-highlight .bh-spec__value { font-weight: 700; }

/* Nagłówek sekcji */
.bh-spec__group > th {
	padding: 24px 16px 10px;
	border-bottom: 2px solid #1e293b;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: #1e293b;
}
.bh-spec tbody .bh-spec__group:first-child > th { padding-top: 8px; }

/* Nagłówki kolumn */
.bh-spec thead th {
	padding: 10px 16px;
	border-bottom: 2px solid var(--bh-spec-divider-c);
	font-weight: 600;
	color: #64748b;
	font-size: .85em;
	text-transform: uppercase;
	letter-spacing: .05em;
}

/* ---------------------------------------------------------------------
 * Objaśnienie
 * ------------------------------------------------------------------ */
.bh-spec__tip { position: relative; display: inline-block; }
.bh-spec__tip--icon { margin-left: 6px; vertical-align: middle; }

.bh-spec__tip--icon .bh-spec__tip-trigger {
	-webkit-appearance: none;
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: calc(var(--bh-tip-icon-size) + 4px);
	height: calc(var(--bh-tip-icon-size) + 4px);
	min-height: 0;
	margin: -2px 0 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--bh-tip-icon);
	box-shadow: none;
	cursor: help;
	line-height: 1;
	transition: color .15s ease;
}
.bh-spec__tip--icon svg { width: var(--bh-tip-icon-size); height: var(--bh-tip-icon-size); display: block; }

.bh-spec__tip--label .bh-spec__tip-trigger {
	cursor: help;
	text-decoration: underline dotted;
	text-decoration-color: var(--bh-tip-icon);
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
}

.bh-spec__tip-trigger:focus { outline: none; }
.bh-spec__tip-trigger:focus-visible { outline: 2px solid var(--bh-tip-icon-hover); outline-offset: 2px; border-radius: 3px; }
.bh-spec__tip.is-open .bh-spec__tip-trigger,
.bh-spec__tip-trigger:focus-visible { color: var(--bh-tip-icon-hover); text-decoration-color: var(--bh-tip-icon-hover); }

.bh-spec__tip-box {
	position: absolute;
	left: 50%;
	bottom: calc(100% + 10px);
	z-index: 50;
	width: max-content;
	max-width: min(var(--bh-tip-w), 86vw);
	padding: 10px 14px;
	border-radius: 8px;
	background: var(--bh-tip-bg);
	color: var(--bh-tip-color);
	box-shadow: 0 8px 24px rgba(15, 23, 42, .18);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.45;
	letter-spacing: normal;
	text-transform: none;
	text-align: left;
	white-space: normal;
	pointer-events: none;
	/* Ukryty przez display:none – niewidoczny dymek nie poszerza strony na telefonie. */
	display: none;
	transform: translateX(calc(-50% + var(--bh-tip-shift, 0px)));
}
.bh-spec__tip-box::after {
	content: "";
	position: absolute;
	left: calc(50% - var(--bh-tip-shift, 0px));
	top: 100%;
	margin-left: -6px;
	border: 6px solid transparent;
	border-top-color: var(--bh-tip-bg);
}

/* Pozycja pod parametrem */
.bh-spec--tip-bottom .bh-spec__tip-box,
.bh-spec__tip.is-flipped .bh-spec__tip-box { bottom: auto; top: calc(100% + 10px); transform: translateX(calc(-50% + var(--bh-tip-shift, 0px))); }
.bh-spec--tip-bottom .bh-spec__tip-box::after,
.bh-spec__tip.is-flipped .bh-spec__tip-box::after { top: auto; bottom: 100%; border-top-color: transparent; border-bottom-color: var(--bh-tip-bg); }
.bh-spec--tip-bottom .bh-spec__tip.is-flipped .bh-spec__tip-box { top: auto; bottom: calc(100% + 10px); transform: translateX(calc(-50% + var(--bh-tip-shift, 0px))); }
.bh-spec--tip-bottom .bh-spec__tip.is-flipped .bh-spec__tip-box::after { bottom: auto; top: 100%; border-bottom-color: transparent; border-top-color: var(--bh-tip-bg); }

/* Widoczność: najechanie (urządzenia z myszą), fokus z klawiatury, klik/tap (JS) */
@media (hover: hover) {
	.bh-spec__tip:hover .bh-spec__tip-box { display: block; }
	.bh-spec__tip:hover .bh-spec__tip-trigger { color: var(--bh-tip-icon-hover); text-decoration-color: var(--bh-tip-icon-hover); }
}
.bh-spec__tip:focus-within .bh-spec__tip-box,
.bh-spec__tip.is-open .bh-spec__tip-box { display: block; }
.bh-spec__tip-box { animation: bh-tip-in .15s ease; }
@keyframes bh-tip-in { from { opacity: 0; margin-top: 4px; margin-bottom: -4px; } to { opacity: 1; margin-top: 0; margin-bottom: 0; } }

/* ---------------------------------------------------------------------
 * Telefon – parametr nad wartością
 * ------------------------------------------------------------------ */
@media (max-width: 767px) {
	.bh-spec-mobile-stack .bh-spec { display: block; }
	.bh-spec-mobile-stack .bh-spec thead { display: none; }
	.bh-spec-mobile-stack .bh-spec__row > th,
	.bh-spec-mobile-stack .bh-spec__row > td { display: block; width: 100%; }
	.bh-spec-mobile-stack .bh-spec__row > th { padding-bottom: 2px; border-bottom-width: 0; font-size: .9em; }
	.bh-spec-mobile-stack .bh-spec__row > td { padding-top: 0; }
	.bh-spec-mobile-stack .bh-spec__row,
	.bh-spec-mobile-stack .bh-spec tbody { display: block; }
	.bh-spec-mobile-stack .bh-spec__group { display: block; }
	.bh-spec-mobile-stack .bh-spec__group > th { display: block; }
}

@media (prefers-reduced-motion: reduce) {
	.bh-spec__tip-box { animation: none; }
}
