.vacancy-overview-layout .vacancy-overview__layout {
	row-gap: max(2rem, calc(3 * var(--su)));
}

.vacancy-overview-layout .pk-row {
	padding-top: max(6.25rem, calc(7.5 * var(--su)));
	padding-bottom: max(6.25rem, calc(9.25 * var(--su)));
}

.vacancy-overview-layout .vacancy-overview__header .pk-heading {
	margin: 0;
}

.vacancy-overview-layout .vacancy-overview__title {
	font-size: var(--scaling-h2);
}

.vacancy-overview__filter-toggle {
	display: none;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	gap: max(.75rem, calc(.75 * var(--su)));
	padding: max(1rem, calc(1 * var(--su)));
	border: 1px solid rgba(var(--dc-orange-rgb), .75);
	border-radius: max(.5rem, calc(.5 * var(--su)));
	background: var(--dc-white);
	color: var(--pk-text-color);
	font: inherit;
	text-align: left;
}

.vacancy-overview__filter-toggle svg {
	width: max(1.25rem, calc(1.25 * var(--su)));
	height: max(1.25rem, calc(1.25 * var(--su)));
	margin-left: auto;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-width: 1.5;
}

.vacancy-overview__filter-count:not(:empty) {
	min-width: max(1.5rem, calc(1.5 * var(--su)));
	height: max(1.5rem, calc(1.5 * var(--su)));
	display: inline-grid;
	place-items: center;
	border-radius: 50%;
	background: var(--dc-orange);
	font-size: var(--desktop-body-xs);
}

.vacancy-overview__filters {
	align-self: start;
}

.vacancy-overview__form {
	width: min(100%, max(20rem, calc(24.3125 * var(--su))));
	display: flex;
	flex-direction: column;
	gap: max(1rem, calc(1 * var(--su)));
}

.vacancy-overview__search {
	position: relative;
	display: block;
}

.vacancy-overview__search svg {
	position: absolute;
	top: 50%;
	left: max(1rem, calc(1 * var(--su)));
	width: max(1rem, calc(1 * var(--su)));
	height: max(1rem, calc(1 * var(--su)));
	transform: translateY(-50%);
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-width: 1.5;
	pointer-events: none;
}

.vacancy-overview__search input,
.vacancy-overview__filter-group select {
	width: 100%;
	min-height: max(2.75rem, calc(2.75 * var(--su)));
	border: 1px solid rgba(var(--dc-orange-rgb), .75);
	border-radius: max(.25rem, calc(.25 * var(--su)));
	background-color: var(--dc-white);
	color: var(--pk-text-color);
	font: inherit;
	font-size: var(--desktop-body-xs);
}

.vacancy-overview__search input {
	padding: max(.75rem, calc(.75 * var(--su))) max(1rem, calc(1 * var(--su))) max(.75rem, calc(.75 * var(--su))) max(2.75rem, calc(2.75 * var(--su)));
}

.vacancy-overview__search input[type="search"]::-webkit-search-cancel-button,
.vacancy-overview__search input[type="search"]::-webkit-search-decoration {
	appearance: none;
}

.vacancy-overview__search input[type="search"]::-ms-clear {
	display: none;
	width: 0;
	height: 0;
}

.vacancy-overview__filter-group select {
	appearance: none;
	padding: max(.75rem, calc(.75 * var(--su))) max(3rem, calc(3 * var(--su))) max(.75rem, calc(.75 * var(--su))) max(1rem, calc(1 * var(--su)));
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23292929' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right max(1rem, calc(1 * var(--su))) center;
	background-size: max(1rem, calc(1 * var(--su)));
}

.vacancy-overview__search input:focus-visible,
.vacancy-overview__filter-group select:focus-visible,
.vacancy-overview__filter-toggle:focus-visible,
.vacancy-overview__levels input:focus-visible {
	outline: max(.125rem, calc(.125 * var(--su))) solid var(--pk-text-color);
	outline-offset: max(.125rem, calc(.125 * var(--su)));
}

.vacancy-overview__filter-group {
	min-width: 0;
	margin: 0;
	padding: max(1.5rem, calc(1.5 * var(--su)));
	border: 1px solid rgba(var(--dc-black-rgb), .18);
	border-radius: max(.375rem, calc(.375 * var(--su)));
}

.vacancy-overview__filter-group > label:first-child,
.vacancy-overview__filter-group legend,
.vacancy-overview__filter-title {
	display: block;
	margin-bottom: max(.5rem, calc(.5 * var(--su)));
	font-size: var(--desktop-body-md);
	font-weight: 500;
}

.vacancy-overview__levels {
	display: flex;
	flex-direction: column;
	gap: max(.375rem, calc(.375 * var(--su)));
}

.vacancy-overview__levels .vacancy-overview__filter-title {
	margin-bottom: max(.125rem, calc(.125 * var(--su)));
}

.vacancy-overview__levels label {
	display: flex;
	align-items: flex-start;
	gap: max(.625rem, calc(.625 * var(--su)));
	cursor: pointer;
	font-size: var(--desktop-body-xs);
}

.vacancy-overview__levels input {
	appearance: none;
	width: max(1.125rem, calc(1.125 * var(--su)));
	height: max(1.125rem, calc(1.125 * var(--su)));
	margin: max(.0625rem, calc(.0625 * var(--su))) 0 0;
	border: 1px solid var(--dc-orange);
	border-radius: max(.125rem, calc(.125 * var(--su)));
	background: var(--dc-white);
	flex: 0 0 auto;
}

.vacancy-overview__levels input:checked {
	background-color: var(--dc-orange);
	box-shadow: inset 0 0 0 max(.1875rem, calc(.1875 * var(--su))) var(--dc-white);
}

.vacancy-overview__submit {
	justify-content: center;
	border: 1px solid var(--dc-orange);
	padding: max(.875rem, calc(.875 * var(--su))) max(1.25rem, calc(1.25 * var(--su)));
	background: var(--dc-orange);
}

.vacancy-overview-layout.is-enhanced .vacancy-overview__submit {
	display: none;
}

.vacancy-overview__results {
	min-width: 0;
	transition: opacity 180ms ease;
}

.vacancy-overview-layout.is-loading .vacancy-overview__results {
	opacity: .48;
	pointer-events: none;
}

.vacancy-overview__cards {
	width: 100%;
	row-gap: max(1rem, calc(1 * var(--su)));
}

.vacancy-overview__pagination {
	margin-top: max(2rem, calc(2 * var(--su)));
}

.vacancy-overview__pagination ul {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: max(.5rem, calc(.5 * var(--su)));
	margin: 0;
	padding: 0;
	list-style: none;
}

.vacancy-overview__pagination .page-numbers:not(ul) {
	min-width: max(2.75rem, calc(2.75 * var(--su)));
	min-height: max(2.75rem, calc(2.75 * var(--su)));
	display: inline-grid;
	place-items: center;
	padding-inline: max(.75rem, calc(.75 * var(--su)));
	border: 1px solid rgba(var(--dc-orange-rgb), .75);
	border-radius: max(.375rem, calc(.375 * var(--su)));
	color: inherit;
	text-decoration: none;
}

.vacancy-pagination__short {
	display: none;
}

.vacancy-overview__pagination .current,
.vacancy-overview__pagination a:hover {
	background: rgba(var(--dc-orange-rgb), .25);
}

.vacancy-overview__pagination a:focus-visible {
	outline: max(.125rem, calc(.125 * var(--su))) solid var(--pk-text-color);
	outline-offset: max(.125rem, calc(.125 * var(--su)));
}

.vacancy-overview__empty {
	padding: max(2rem, calc(3 * var(--su)));
	border: 1px solid rgba(var(--dc-orange-rgb), .55);
	border-radius: max(.5rem, calc(.5 * var(--su)));
	background: rgba(var(--dc-orange-rgb), .12);
}

.vacancy-overview__empty h2 {
	margin: 0 0 max(.75rem, calc(.75 * var(--su)));
}

@media (min-width: 992px) {
	.vacancy-overview__filters {
		position: sticky;
		top: max(1.5rem, calc(1.5 * var(--su)));
	}
}

@media (max-width: 991px) {
	.vacancy-overview__form {
		width: 100%;
	}
}

@media (max-width: 767px) {
	.vacancy-overview-layout .vacancy-overview__layout {
		row-gap: max(1.5rem, calc(1.5 * var(--su)));
	}

	.vacancy-overview__filter-toggle {
		display: flex;
	}

	.vacancy-overview__filters[hidden] {
		display: none;
	}

	.vacancy-overview__cards {
		row-gap: max(.75rem, calc(.75 * var(--su)));
	}

	.vacancy-overview__pagination ul {
		width: 100%;
		flex-wrap: nowrap;
		gap: max(.25rem, calc(.25 * var(--su)));
	}

	.vacancy-overview__pagination .page-numbers:not(ul) {
		min-width: max(2.25rem, calc(2.25 * var(--su)));
		min-height: max(2.25rem, calc(2.25 * var(--su)));
		padding-inline: max(.25rem, calc(.25 * var(--su)));
		font-size: var(--desktop-body-xs);
	}

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

	.vacancy-pagination__short {
		display: inline;
		font-size: var(--desktop-body-sm);
	}
}

@media (prefers-reduced-motion: reduce) {
	.vacancy-overview__results {
		transition: none;
	}
}
