@font-face {
	font-family: "Montserrat";
	src: url("../fonts/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}

.bk-odkud-archive {
	--bk-arch-red: #c45c56;
	--bk-arch-red-hover: #a84440;
	--bk-arch-ink: #172541;
	--bk-arch-muted: #7d8796;
	--bk-arch-line: #e6e8ee;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	padding: 0 0 72px;
	background: #fff;
	color: var(--bk-arch-ink);
	font-family: Montserrat, sans-serif;
	font-weight: 500;
}

.bk-odkud-archive *,
.bk-odkud-archive *::before,
.bk-odkud-archive *::after {
	box-sizing: border-box;
}

.bk-odkud-archive__inner {
	width: 100%;
	margin: 0 auto;
	padding-left: 12px;
	padding-right: 12px;
}

.bk-odkud-archive__crumbs {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 18px;
	color: var(--bk-arch-muted);
	font-size: 13px;
	font-weight: 500;
}

.bk-odkud-archive__crumbs a {
	color: var(--bk-arch-muted);
	text-decoration: none;
}

.bk-odkud-archive__crumbs a:hover,
.bk-odkud-archive__crumbs a:focus-visible {
	color: var(--bk-arch-ink);
}

.bk-odkud-archive__crumbs [aria-current="page"] {
	color: var(--bk-arch-ink);
}

.bk-odkud-archive__crumbs svg {
	width: 14px;
	height: 14px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.bk-odkud-archive__hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 8px 0;
	align-items: center;
	width: 100%;
	max-width: none;
	margin-bottom: 28px;
}

.bk-odkud-archive__hero-copy {
	padding: 16px 12px 0;
}

.bk-odkud-archive__eyebrow {
	margin: 0 0 10px;
	color: var(--bk-arch-red);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.16em;
	line-height: 1.4;
	text-transform: uppercase;
}

.bk-odkud-archive__title {
	margin: 0 0 14px;
	max-width: 16ch;
	color: var(--bk-arch-ink);
	font-family: Montserrat, sans-serif !important;
	font-size: clamp(2rem, 3vw, 2.7rem);
	font-weight: 700 !important;
	letter-spacing: -0.03em;
	line-height: 1.15;
}

.bk-odkud-archive__lead {
	margin: 0;
	max-width: 58ch;
	color: #5c6573;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.55;
}

.bk-odkud-archive__hero-art {
	position: relative;
}

.bk-odkud-archive__balloon {
	display: block;
	width: 100%;
	height: auto;
}

.bk-odkud-archive__since {
	position: absolute;
	top: 34%;
	left: 0;
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 10px 16px 10px 10px;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.92);
	color: var(--bk-arch-ink);
	box-shadow: 0 10px 30px rgba(23, 37, 65, 0.12);
}

.bk-odkud-archive__since-text,
.bk-odkud-archive__since-text span,
.bk-odkud-archive__since strong {
	display: block;
	font-size: 13px;
	line-height: 1.25;
}

.bk-odkud-archive__since strong {
	font-weight: 700;
}

.bk-odkud-archive__since-icon {
	display: flex;
	flex: 0 0 32px;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #f6efe4;
	color: #b8860b;
}

.bk-odkud-archive__since-icon svg {
	display: block;
	width: 15px;
	height: 15px;
	flex: none;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.bk-odkud-archive__field-label svg,
.bk-odkud-archive__search button svg,
.bk-odkud-archive__go svg,
.bk-odkud-archive__tag svg {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.bk-odkud-archive__filters {
	display: grid;
	gap: 16px;
	margin-bottom: 22px;
	padding: 16px;
	border: 1px solid var(--bk-arch-line);
	border-radius: 18px;
}

.bk-odkud-archive__field {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}

.bk-odkud-archive__field-label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--bk-arch-ink);
	font-size: 14px;
	font-weight: 600;
}

.bk-odkud-archive__field select,
.bk-odkud-archive__search input,
.bk-odkud-archive__sort select {
	width: 100%;
	min-width: 0;
	height: 48px;
	padding: 0 16px;
	border: 1px solid var(--bk-arch-line);
	border-radius: 999px;
	background: #fff;
	color: var(--bk-arch-ink);
	font: inherit;
	font-size: 14px;
	font-weight: 500;
}

.bk-odkud-archive__field select,
.bk-odkud-archive__sort select {
	padding-right: 40px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23172541' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center;
	appearance: none;
	-webkit-appearance: none;
}

.bk-odkud-archive__search {
	display: flex;
	gap: 10px;
	min-width: 0;
}

.bk-odkud-archive__search input {
	flex: 1;
}

.bk-odkud-archive__search button {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 8px;
	height: 48px;
	padding: 0 22px;
	border: 0;
	border-radius: 999px;
	background: var(--bk-arch-red);
	color: #fff;
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}

.bk-odkud-archive__search button:hover,
.bk-odkud-archive__search button:focus-visible {
	background: var(--bk-arch-red-hover);
}

.bk-odkud-archive__toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 20px;
	margin-bottom: 18px;
}

.bk-odkud-archive__count {
	margin: 0;
	color: var(--bk-arch-muted);
	font-size: 14px;
}

.bk-odkud-archive__sort {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--bk-arch-muted);
	font-size: 14px;
}

.bk-odkud-archive__sort select {
	width: auto;
	min-width: 180px;
	height: 40px;
}

.bk-odkud-archive__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
}

.bk-odkud-archive__card,
.bk-odkud-archive__feature,
.bk-odkud-archive__banner {
	position: relative;
	display: block;
	overflow: hidden;
	min-width: 0;
	border-radius: 28px;
	color: #fff;
	text-decoration: none;
}

.bk-odkud-archive__card {
	min-height: 420px;
	aspect-ratio: 3 / 4;
}

.bk-odkud-archive [hidden] {
	display: none !important;
}

.bk-odkud-archive__media,
.bk-odkud-archive__media img,
.bk-odkud-archive__placeholder {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.bk-odkud-archive__media img,
.bk-odkud-archive__placeholder {
	object-fit: cover;
}

.bk-odkud-archive__placeholder {
	background:
		linear-gradient(180deg, rgba(18, 24, 38, 0) 32%, rgba(12, 18, 32, 0.82) 100%),
		linear-gradient(145deg, hsl(calc(200 + var(--bk-card-shift, 0)) 42% 46%), hsl(calc(220 + var(--bk-card-shift, 0)) 28% 22%));
}

.bk-odkud-archive__media::after,
.bk-odkud-archive__feature-art::after,
.bk-odkud-archive__banner::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(16, 22, 36, 0.05) 18%, rgba(10, 16, 28, 0.2) 46%, rgba(8, 12, 22, 0.88) 100%);
}

.bk-odkud-archive__badge {
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 1;
	padding: 7px 14px;
	border-radius: 999px;
	background: var(--bk-arch-red);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
}

.bk-odkud-archive__go {
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.28);
	color: #fff;
	backdrop-filter: blur(8px);
}

.bk-odkud-archive__caption {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	padding: 22px;
}

.bk-odkud-archive__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 12px;
}

.bk-odkud-archive__tag {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 999px;
	background: rgba(20, 24, 36, 0.55);
	color: #fff;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.2;
	backdrop-filter: blur(8px);
}

.bk-odkud-archive__card-title {
	margin: 0 0 6px;
	color: #fff;
	font-family: Montserrat, sans-serif !important;
	font-size: clamp(1.35rem, 1.6vw, 1.75rem);
	font-weight: 700 !important;
	letter-spacing: -0.02em;
	line-height: 1.15;
}

.bk-odkud-archive__card-text {
	margin: 0;
	color: rgba(255, 255, 255, 0.88);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.bk-odkud-archive__feature .bk-odkud-archive__card-text,
.bk-odkud-archive__banner .bk-odkud-archive__card-text {
	display: block;
	overflow: visible;
	-webkit-line-clamp: unset;
}

.bk-odkud-archive__feature,
.bk-odkud-archive__banner {
	min-height: 280px;
}

.bk-odkud-archive__feature-art,
.bk-odkud-archive__banner--private {
	background:
		radial-gradient(circle at 78% 28%, #f2c14d 0 46px, transparent 48px),
		linear-gradient(160deg, #f0b27a 0%, #d4654a 42%, #6d87c8 100%);
}

.bk-odkud-archive__feature-art {
	position: absolute;
	inset: 0;
}

.bk-odkud-archive__banner--alps {
	background-color: #1d3d66;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.bk-odkud-archive__pill {
	display: inline-flex;
	align-items: center;
	margin-top: 16px;
	padding: 10px 18px;
	border: 1px solid rgba(255, 255, 255, 0.75);
	border-radius: 999px;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
}

.bk-odkud-archive__pill:hover,
.bk-odkud-archive__pill:focus-visible {
	background: rgba(255, 255, 255, 0.16);
	color: #fff;
}

.bk-odkud-archive__empty,
.bk-odkud-archive__none {
	margin: 12px 0 0;
	color: var(--bk-arch-muted);
	font-size: 15px;
	text-align: center;
}

.bk-odkud-archive__more {
	display: block;
	margin: 28px auto 0;
	padding: 12px 22px;
	border: 1px solid var(--bk-arch-red);
	border-radius: 999px;
	background: #fff;
	color: var(--bk-arch-red);
	font: inherit;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
}

.bk-odkud-archive__more:hover,
.bk-odkud-archive__more:focus-visible {
	background: #fdf6f5;
}

.bk-odkud-archive__banners {
	display: grid;
	gap: 20px;
	margin-top: 36px;
}

.bk-odkud-archive__banner {
	min-height: 260px;
}

@media (max-width: 699px) {
	.bk-odkud-archive__search {
		flex-direction: column;
	}

	.bk-odkud-archive__search button {
		justify-content: center;
	}
}

@media (min-width: 576px) {
	.bk-odkud-archive__inner {
		max-width: 540px;
	}

	.bk-odkud-archive__hero-copy {
		padding-left: max(12px, calc((100vw - 540px) / 2 + 12px));
	}
}

@media (min-width: 700px) {
	.bk-odkud-archive__grid {
		grid-template-columns: 1fr 1fr;
	}

	.bk-odkud-archive__feature {
		grid-column: span 2;
	}
}

@media (min-width: 768px) {
	.bk-odkud-archive__inner {
		max-width: 720px;
	}

	.bk-odkud-archive__hero-copy {
		padding-left: max(12px, calc((100vw - 720px) / 2 + 12px));
	}
}

@media (min-width: 992px) {
	.bk-odkud-archive {
		padding: 0 0 88px;
	}

	.bk-odkud-archive__inner {
		max-width: 960px;
	}

	.bk-odkud-archive__hero {
		grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
		gap: 24px;
	}

	.bk-odkud-archive__hero-copy {
		padding-left: max(12px, calc((100vw - 960px) / 2 + 12px));
		padding-right: 0;
	}

	.bk-odkud-archive__filters {
		grid-template-columns: 240px minmax(0, 1fr);
		align-items: end;
		padding: 18px 18px 18px 22px;
	}

	.bk-odkud-archive__banners {
		grid-template-columns: 1fr 1fr;
	}
}

@media (min-width: 1200px) {
	.bk-odkud-archive__inner {
		max-width: 1140px;
	}

	.bk-odkud-archive__hero-copy {
		padding-left: max(12px, calc((100vw - 1140px) / 2 + 12px));
	}

	.bk-odkud-archive__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.bk-odkud-archive__feature {
		grid-column: span 2;
	}
}

@media (min-width: 1400px) {
	.bk-odkud-archive__inner {
		max-width: 1320px;
	}

	.bk-odkud-archive__hero-copy {
		padding-left: max(12px, calc((100vw - 1320px) / 2 + 12px));
	}
}
