/* Align with Kadence Insect Out theme tokens (homepage / promo CTA) */
.io-cennik-block {
	--io-cennik-green: var(--global-palette1, #5c7f18);
	--io-cennik-green-soft: var(--global-palette15, #8cbd4b);
	--io-cennik-bg: var(--global-palette7, #f4f7ef);
	--io-cennik-surface: var(--global-palette8, #ffffff);
	--io-cennik-text: var(--global-palette4, #353535);
	--io-cennik-muted: var(--global-palette6, #676767);
	--io-cennik-heading: var(--global-palette3, #222222);
	--io-cennik-radius: 10px;
	--io-cennik-font-heading: var(--global-heading-font-family, Outfit, sans-serif);
	--io-cennik-font-body: var(--global-body-font-family, Poppins, sans-serif);

	box-sizing: border-box;
	display: block;
	width: 100%;
	margin: 0.5rem 0 1.5rem;
	color: var(--io-cennik-text);
	font-family: var(--io-cennik-font-body);
	font-size: 1rem;
	line-height: 1.6;
}

.io-cennik-block *,
.io-cennik-block *::before,
.io-cennik-block *::after {
	box-sizing: border-box;
}

.io-price-section {
	margin: 0 0 1.5rem;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
}

.io-price-section:last-child {
	margin-bottom: 0;
}

.io-price-section__title {
	margin: 0 0 1rem;
	padding: 0;
	color: var(--io-cennik-heading);
	font-family: var(--io-cennik-font-heading);
	font-size: clamp(1.2rem, 2.2vw, 1.4rem);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: normal;
}

.io-price-table-wrap {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	background: var(--io-cennik-surface);
	border: 1px solid color-mix(in srgb, var(--io-cennik-green) 18%, #dfe6d4);
	border-radius: var(--io-cennik-radius);
}

.io-price-table {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	border-spacing: 0;
}

.io-price-table th,
.io-price-table td {
	padding: 0.95rem 1.1rem;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid color-mix(in srgb, var(--io-cennik-green) 12%, #e4e8dc);
	color: var(--io-cennik-text);
	font-family: var(--io-cennik-font-body);
	font-size: 0.975rem;
	line-height: 1.55;
}

.io-price-table thead th {
	background: color-mix(in srgb, var(--io-cennik-green) 10%, var(--io-cennik-surface));
	border-bottom: 2px solid color-mix(in srgb, var(--io-cennik-green) 35%, #dfe6d4);
	color: var(--io-cennik-heading);
	font-family: var(--io-cennik-font-heading);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.3;
	text-transform: uppercase;
}

.io-price-table tbody tr:last-child th,
.io-price-table tbody tr:last-child td {
	border-bottom: 0;
}

.io-price-table tbody tr:hover td {
	background: color-mix(in srgb, var(--io-cennik-bg) 70%, transparent);
}

.io-price-table td strong {
	color: var(--io-cennik-heading);
	font-family: var(--io-cennik-font-heading);
	font-weight: 700;
}

.io-price-table td.io-price-table__price,
.io-price-table__price {
	white-space: nowrap;
	color: var(--io-cennik-green);
	font-family: var(--io-cennik-font-heading);
	font-size: 1.05rem;
	font-weight: 800;
}

@media (max-width: 781px) {
	.io-price-table-wrap {
		border: 0;
		background: transparent;
		overflow: visible;
	}

	.io-price-table thead {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}

	.io-price-table,
	.io-price-table tbody,
	.io-price-table tr,
	.io-price-table td {
		display: block;
		width: 100%;
	}

	.io-price-table tr {
		margin: 0 0 0.85rem;
		padding: 0.85rem 0.95rem;
		background: var(--io-cennik-surface);
		border: 1px solid color-mix(in srgb, var(--io-cennik-green) 18%, #dfe6d4);
		border-radius: var(--io-cennik-radius);
	}

	.io-price-table tr:last-child {
		margin-bottom: 0;
	}

	.io-price-table tbody tr:hover td {
		background: transparent;
	}

	.io-price-table td {
		border: 0;
		padding: 0.35rem 0;
	}

	.io-price-table td::before {
		content: attr(data-label);
		display: block;
		margin-bottom: 0.2rem;
		color: var(--io-cennik-muted);
		font-family: var(--io-cennik-font-heading);
		font-size: 0.7rem;
		font-weight: 700;
		letter-spacing: 0.04em;
		line-height: 1.2;
		text-transform: uppercase;
	}

	.io-price-table__price {
		margin-top: 0.35rem;
		white-space: normal;
		font-size: 1.15rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.io-price-table tbody tr:hover td {
		transition: none;
	}
}
