/*
 * Brodnik CSS bundle: common.css
 * Shared public UI: buttons, tags, footer, breadcrumbs, cookie consent and toast UI.
 * Extracted from legacy styles.css/custom.css after usage audit.
 */

::selection{background: rgba(182, 106, 60, 0.28);}

.btn-primary{background: var(--raw-forest);
	color: var(--light-text);
	box-shadow: 0 12px 28px rgba(16, 35, 29, 0.18);}

.btn-primary:hover{background: #18352C;}

.btn-transparent{color: var(--soft-charcoal);
	background: rgba(255,255,255,0.1);
	border: 1px solid rgba(0,0,0,.52);
	backdrop-filter: blur(8px);}

.btn-transparent:hover{background: rgba(255,255,255,0.3);}

.btn-black{color: var(--light-text);
	background: #3B403E;
	backdrop-filter: blur(8px);}

.btn-black:hover{background: rgba(59,64,62,0.8);}

.btn-small{min-height: 40px;}

.text-link{color: var(--road-clay);
	text-decoration: none;
	font-size: 13px;
	font-weight: 800;}

.text-link::after{content: " →";}

.tag{display: inline-flex;
	align-items: center;
	width: fit-content;
	border-radius: 4px;
	padding: 7px 10px;
	font-size: 10px;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: .14em;
	font-weight: 850;}

.tag-postcards{background: rgba(111, 133, 136, .24);
	color: #f2efe4;}

.tag-route{background: rgba(168, 138, 93, .28);
	color: #f9efdd;}

.tag-mitich{background: rgba(11, 17, 16, .62);
	color: #f2b27e;
	border: 1px solid rgba(182, 106, 60, .35);}

.tag-abandoned{background: rgba(43, 44, 42, .58);
	color: #f2efe4;}

.site-footer{min-height: 170px;
	background: var(--deep-night);
	color: var(--light-text);}

.site-footer__block{display: grid;
	grid-template-columns: 1.05fr 1.95fr;
	gap: 56px;
	padding: 64px clamp(22px, 4vw, 56px) 28px;}

.site-footer__brand{display: grid;
	grid-template-columns: 66px 1fr;
	gap: 16px;
	align-items: start;}

.site-footer__brand img{width: 66px;
	height: 66px;
	object-fit: contain;
	filter: drop-shadow(0 8px 18px rgba(0,0,0,.2));}

.site-footer__brand .h2{margin: 0;
	font-family: var(--font-heading);
	font-size: 32px;
	line-height: 1;
	font-weight: 600;}

.site-footer__brand p{margin: 8px 0 16px;
	max-width: 330px;
	color: rgba(247, 242, 232, .7);
	font-size: 13px;
	line-height: 1.45;}

.social-links{display: flex;
	gap: 16px;
	flex-wrap: wrap;}

.social-links a{display: inline-flex;
	align-items: center;
	gap: 8px;
	color: rgba(247,242,232,.85);
	text-decoration: none;
	font-size: 13px;
	font-weight: 700;}

.social-links img{width: 22px;
	height: 22px;
	background: rgba(255,255,255,.08);
	border-radius: 50%;}

.footer-nav{display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 46px;}

.footer-nav .h3{margin: 0 0 10px;
	color: var(--dust-gold);
	font-size: 11px;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: .16em;
	font-weight: 850;}

.footer-nav a,
.footer-nav p{display: block;
	margin: 0;
	color: rgba(247,242,232,.72);
	text-decoration: none;
	font-size: 13px;
	line-height: 1.7;}

.footer-nav a:hover{color: #fff;}

.copy{margin-top: 12px !important;
	color: rgba(247,242,232,.55) !important;}

@media (max-width: 920px){
.site-footer{margin-top: 12px;
		padding: 22px 18px 22px;
		grid-template-columns: 1fr;
		gap: 18px;}
.site-footer__brand{grid-template-columns: 54px 1fr;}
.site-footer__brand img{width: 54px;
		height: 54px;}
.site-footer__brand h2{font-size: 24px;}
.site-footer__brand p{font-size: 11px;
		margin-bottom: 10px;}
.footer-nav{grid-template-columns: 1fr 1fr;
		gap: 18px;}
.footer-nav div:nth-child(3){grid-column: 1 / -1;}
}

.rr-breadcrumbs{display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:9px;
	margin:0 0 14px;
	color:var(--muted-text);
	font-size:12px;
	font-weight:700}

.rr-breadcrumbs a{color:var(--muted-text);
	text-decoration:none}

.rr-breadcrumbs__item--current{color:var(--road-clay)}

.rr-meta{display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:22px;
	color:var(--muted-text);
	font-size:13px;
	font-weight:700}

.rr-meta span,
.rr-meta button{display:inline-flex;
	align-items:center;
	gap:8px}

.rr-meta img{width:18px;
	height:18px}

@media (max-width: 640px){
.rr-meta{gap:12px;
		font-size:11px}
}

@media (max-width: 767px){
.breadcrumbs-navigate--koster-detail .rr-breadcrumbs__item--current,
.breadcrumbs-navigate--koster-detail .rr-breadcrumbs__separator--current{display: none;}
}

figure{margin: 1em 0;}

.text-link::after{display: none;}

.text-link{display: inline-flex;
	gap: 6px;
	align-items: center;}

.rr-breadcrumbs{margin: 24px clamp(22px,4vw,56px) 0;}

.breadcrumbs-navigate{position: relative;
	z-index: 99;}

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

.cookie-consent{position: fixed;
	left: 40px;
	bottom: 40px;
	z-index: 5000;

	width: min(560px, calc(100vw - 40px));
	padding: 30px 34px 28px;

	color: #1f2622;
	background:
			radial-gradient(circle at 18% 8%, rgba(164, 125, 73, 0.08), transparent 28%),
			linear-gradient(135deg, #fffdf8 0%, #f8f1e7 100%);
	border: 1px solid rgba(88, 72, 50, 0.16);
	border-radius: 22px;
	box-shadow:
			0 22px 60px rgba(24, 34, 28, 0.18),
			0 2px 10px rgba(24, 34, 28, 0.08);

	opacity: 0;
	transform: translateY(18px);
	pointer-events: none;
	transition:
			opacity 0.28s ease,
			transform 0.28s ease,
			visibility 0.28s ease;}

.cookie-consent.is-visible{opacity: 1;
	transform: translateY(0);
	pointer-events: auto;}

.cookie-consent[hidden]{display: none;}

.cookie-consent__handle{display: none;}

.cookie-consent__icon{width: 44px;
	height: 34px;
	margin-bottom: 18px;

	color: #9a7437;}

.cookie-consent__title{margin: 0 0 14px;

	font-family: Georgia, "Times New Roman", serif;
	font-size: 34px;
	line-height: 1.08;
	font-weight: 400;
	letter-spacing: -0.03em;

	color: #18221e;}

.cookie-consent__text{max-width: 470px;
	margin: 0;

	font-size: 15px;
	line-height: 1.55;
	color: rgba(31, 38, 34, 0.84);}

.cookie-consent__actions{display: flex;
	align-items: center;
	gap: 16px;

	margin-top: 26px;}

.cookie-consent__button{display: inline-flex;
	align-items: center;
	justify-content: center;

	min-width: 138px;
	min-height: 48px;
	padding: 12px 24px;

	font: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;

	color: #fffdf8;
	background: #062b25;
	border: 1px solid #062b25;
	border-radius: 9px;
	cursor: pointer;

	transition:
			background-color 0.2s ease,
			border-color 0.2s ease,
			transform 0.2s ease,
			box-shadow 0.2s ease;}

.cookie-consent__button:hover{background: #0b3a32;
	border-color: #0b3a32;
	box-shadow: 0 8px 20px rgba(6, 43, 37, 0.18);
	transform: translateY(-1px);}

.cookie-consent__button:active{transform: translateY(0);
	box-shadow: none;}

.cookie-consent__link{display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 48px;
	padding: 12px 20px;

	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	color: #6d4c25;
	text-decoration: none;

	border: 1px solid rgba(6, 43, 37, 0.42);
	border-radius: 9px;

	transition:
			color 0.2s ease,
			border-color 0.2s ease,
			background-color 0.2s ease;}

.cookie-consent__link:hover{color: #062b25;
	background: rgba(6, 43, 37, 0.04);
	border-color: #062b25;}

@media (max-width: 768px){
.cookie-consent{left: 16px;
		right: 16px;
		bottom: 16px;

		width: auto;
		padding: 26px 20px 22px;

		border-radius: 20px;
		box-shadow:
				0 -12px 40px rgba(24, 34, 28, 0.18),
				0 2px 10px rgba(24, 34, 28, 0.08);}
.cookie-consent__handle{display: block;

		width: 46px;
		height: 4px;
		margin: -10px auto 20px;

		background: rgba(31, 38, 34, 0.22);
		border-radius: 999px;}
.cookie-consent__icon{margin-bottom: 14px;}
.cookie-consent__title{font-size: 28px;}
.cookie-consent__text{max-width: none;
		font-size: 14px;
		line-height: 1.5;}
.cookie-consent__actions{flex-direction: column;
		align-items: stretch;
		gap: 10px;

		margin-top: 22px;}
.cookie-consent__button,
.cookie-consent__link{width: 100%;
		min-height: 46px;}
}

@media (max-width: 520px){
.site-footer{padding: 22px 18px 12px;}
.site-footer__block{display: block;
		padding: 10px clamp(22px, 4vw, 56px) 10px;}
.footer-nav{display: none;}
}

.cookie-consent__text a{color: #8f5b43;
	font-weight: inherit;
	text-decoration-line: underline;
	text-decoration-color: rgba(143, 91, 67, 0.42);
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
	text-decoration-skip-ink: auto;
	transition:
			color 0.18s ease,
			text-decoration-color 0.18s ease;}

.cookie-consent__text a:hover{color: #76462f;
	text-decoration-color: rgba(118, 70, 47, 0.72);}

.cookie-consent__text a:focus-visible{color: #76462f;
	text-decoration-color: rgba(118, 70, 47, 0.72);
	outline: 2px solid rgba(182, 106, 60, 0.28);
	outline-offset: 3px;
	border-radius: 2px;}

.cookie-consent__actions{display: block;
	margin-top: 24px;}

:where(
	.article-content,
	.textblock,
	.seo-block
) a:not([class]){color: #8f5b43;
	text-decoration-line: underline;
	text-decoration-color: rgba(143, 91, 67, 0.42);
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
	text-decoration-skip-ink: auto;
	transition:
			color 0.18s ease,
			text-decoration-color 0.18s ease;}

:where(
	.article-content,
	.textblock,
	.seo-block
) a:not([class]):hover{color: #76462f;
	text-decoration-color: rgba(118, 70, 47, 0.72);}

:where(
	.article-content,
	.textblock,
	.seo-block
) a:not([class]):focus-visible{color: #76462f;
	text-decoration-color: rgba(118, 70, 47, 0.72);
	outline: 2px solid rgba(182, 106, 60, 0.28);
	outline-offset: 3px;
	border-radius: 2px;}

@media (hover: none){
:where(
		.article-content,
		.textblock,
		.seo-block
	) a:not([class]){text-decoration-color: rgba(143, 91, 67, 0.58);}
}

.rr-toast-root{position: fixed;
	top: 112px;
	right: 0;
	z-index: 3500;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 12px;
	pointer-events: none;
	overflow: hidden;
	padding: 0 0 0 24px;}

.rr-toast{position: relative;
	width: min(430px, calc(100vw - 24px));
	min-height: 72px;
	padding: 18px 54px 18px 22px;
	border-radius: 22px 0 0 22px;
	background: #24201a;
	color: #fffaf0;
	box-shadow: 0 18px 50px rgba(31, 37, 29, 0.22);
	pointer-events: auto;
	overflow: hidden;

	transform: translateX(110%);
	opacity: 1;

	transition:
			transform 0.42s cubic-bezier(0.22, 1, 0.36, 1),
			opacity 0.25s ease;
	will-change: transform;}

.rr-toast.is-visible{transform: translateX(0);}

.rr-toast.is-hiding{transform: translateX(110%);
	opacity: 0;}

.rr-toast--success{background: #1f5a32;}

.rr-toast--error{background: #9f3d2f;}

.rr-toast--neutral{background: #24201a;}

.rr-toast__title{margin: 0;
	font-size: 15px;
	line-height: 1.35;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.02em;}

.rr-toast__text{margin-top: 5px;
	font-size: 14px;
	line-height: 1.45;
	color: rgba(255, 250, 240, 0.82);}

.rr-toast__close{position: absolute;
	top: 14px;
	right: 14px;
	width: 28px;
	height: 28px;
	display: grid;
	place-items: center;
	border: 1px solid rgba(255, 250, 240, 0.32);
	border-radius: 50%;
	background: transparent;
	color: #fffaf0;
	cursor: pointer;
	font-size: 20px;
	line-height: 1;}

.rr-toast__close:hover{background: rgba(255, 250, 240, 0.12);}

.rr-toast__progress{position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 3px;
	background: rgba(255, 250, 240, 0.28);
	transform-origin: left center;
	animation-name: rrToastProgress;
	animation-timing-function: linear;
	animation-fill-mode: forwards;}

.rr-toast:hover .rr-toast__progress{animation-play-state: paused;}

@keyframes rrToastProgress{
	from {
		transform: scaleX(1);
	}

	to {
		transform: scaleX(0);
	}
}

@media (max-width: 768px){
.rr-toast-root{top: auto;
		right: 0;
		bottom: 18px;
		left: 12px;
		align-items: stretch;}
.rr-toast{width: auto;
		border-radius: 18px;
		transform: translateY(calc(100% + 20px));}
.rr-toast.is-visible{transform: translateY(0);}
.rr-toast.is-hiding{transform: translateY(calc(100% + 20px));}
}
