/* BNH - zladenie s identitou obkysak.info (zelená + oranžová, pill nav) */

:root {
	--bnh-green: #1b7332;
	--bnh-green-light: #2fa84e;
	--bnh-orange: #e07b0a;
	--bnh-bg: #eef2ee;
	--bnh-surface: #ffffff;
	--bnh-text: #1c2b1e;
}

body {
	background-color: var(--bnh-bg) !important;
}

/* nav: pill hover namiesto starého trojuholníka pod textom */
.menu_block:after {
	background-color: var(--bnh-orange) !important;
}

.sf-menu > li > a:before,
.sf-menu > li.sfHover > a:before,
.sf-menu > li.current > a:before,
.sf-menu > li > a:hover:before {
	display: none !important;
}

.sf-menu > li > a {
	color: var(--bnh-text) !important;
	padding: 6px 18px;
	border-radius: 2rem;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.sf-menu > li.sfHover > a,
.sf-menu > li.current > a,
.sf-menu > li > a:hover {
	background-color: rgba(27, 115, 50, 0.12) !important;
	color: var(--bnh-green) !important;
}

/* dátum/čas/dĺžka/prevýšenie - zelené pilulky */
.box_title {
	background-color: var(--bnh-green) !important;
}

/* päta - tmavé pozadie, biely text (predtým bol na svetlom --bnh-bg takmer neviditeľný) */
footer {
	background-color: var(--bnh-green) !important;
	margin-top: 14px;
	padding-top: 32px !important;
	padding-bottom: 32px !important;
}

footer:after {
	background-color: var(--bnh-orange) !important;
}

@media (max-width: 600px) {
	footer .f_logo {
		font-size: 30px !important;
		line-height: 1.3 !important;
	}
}

a.mail_link,
.f_contacts a {
	color: var(--bnh-surface);
}

a.mail_link:hover {
	color: var(--bnh-orange) !important;
}

/* rozpis / prihlášky - jednotná biela karta ako na homepage */
.bnh-page-wrap {
	max-width: 880px;
	margin: 0 auto;
	padding: 10px 16px 50px;
}

.bnh-card {
	background-color: var(--bnh-surface);
	border: 1px solid #e2e2e2;
	border-radius: 16px;
	padding: 28px 30px;
	box-shadow: 0 1px 3px rgba(28, 43, 30, 0.06);
}

@media (max-width: 600px) {
	.bnh-card {
		padding: 20px 16px;
	}
}

.bnh-pdf-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 20px;
	padding: 8px 20px;
	font-size: 14px;
}

/* rozpis / propozície - zvýraznenie popisiek + mobilná responzivita */
#rozpis td.bold {
	color: var(--bnh-green);
}

#rozpis td {
	padding: 12px 0;
	line-height: 1.55;
}

#rozpis tr:hover td {
	background-color: rgba(27, 115, 50, 0.035);
}

.bnh-price-callout {
	display: inline-block;
	background-color: rgba(27, 115, 50, 0.07);
	border: 1px solid rgba(27, 115, 50, 0.2);
	border-radius: 10px;
	padding: 12px 16px;
	margin-bottom: 8px;
}

.bnh-price-callout .price-line {
	display: block;
	color: var(--bnh-green) !important;
}

.bnh-price-callout .price-line + .price-line {
	margin-top: 4px;
}

.bnh-gdpr-row td {
	font-size: 13px !important;
	color: #8a948b;
	line-height: 1.5 !important;
}

.bnh-gdpr-row td.bold {
	color: #8a948b !important;
	font-size: 13px !important;
}

/* prihlášky - upozornenie + formulár v brand farbách */
.bnh-notice {
	background-color: rgba(224, 123, 10, 0.08);
	border: 1px solid rgba(224, 123, 10, 0.3);
	border-left: 4px solid var(--bnh-orange);
	border-radius: 8px;
	padding: 14px 18px;
	margin-bottom: 22px;
	color: var(--bnh-text);
	text-align: left;
}

.bnh-notice strong {
	color: #a85a06;
}

.bnh-card label {
	font-weight: bold;
	color: var(--bnh-text);
	font-size: 14px;
}

.bnh-card .form-control {
	border-radius: 8px;
	border-color: #dcdfdc;
	box-shadow: none;
}

.bnh-card .form-control:focus {
	border-color: var(--bnh-green);
	box-shadow: 0 0 0 3px rgba(27, 115, 50, 0.12);
}

.bnh-card .btn {
	border-radius: 2rem;
	font-weight: bold;
	padding: 10px 26px;
	box-shadow: none;
}

.bnh-card .btn-primary {
	background-color: var(--bnh-orange);
	border-color: var(--bnh-orange);
}

.bnh-card .btn-primary:hover,
.bnh-card .btn-primary:focus {
	background-color: #c66a09;
	border-color: #c66a09;
}

.bnh-card .btn-danger {
	background-color: transparent;
	border: 2px solid #c0392b;
	color: #c0392b;
	margin-left: 8px;
}

.bnh-card .btn-danger:hover {
	background-color: #c0392b;
	color: #fff;
}

/* zoznam prihlásených */
.bnh-card .table > thead > tr > th {
	color: var(--bnh-green);
	border-bottom: 2px solid #e2e2e2;
	white-space: nowrap;
}

.bnh-card .table-hover > tbody > tr:hover > td {
	background-color: rgba(27, 115, 50, 0.04);
}

.bnh-card .table > tbody > tr > td {
	border-top-color: #eee;
	vertical-align: middle;
}

.bnh-list-toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 10px;
}

.bnh-list-toolbar #bnh-search {
	flex: 2 1 220px;
}

.bnh-list-toolbar #bnh-filter-kat {
	flex: 1 1 180px;
}

.bnh-list-count {
	color: #8a948b;
	font-size: 13px;
	margin: 0 0 12px;
}

.bnh-table-scroll {
	overflow-x: auto;
}

th.bnh-sortable {
	cursor: pointer;
	user-select: none;
	position: relative;
	padding-right: 16px !important;
}

th.bnh-sortable:hover {
	color: var(--bnh-green);
}

th.bnh-sortable:after {
	content: '↕';
	position: absolute;
	right: 2px;
	opacity: 0.35;
	font-size: 12px;
}

th.bnh-sortable.bnh-sort-asc:after {
	content: '↑';
	opacity: 1;
	color: var(--bnh-orange);
}

th.bnh-sortable.bnh-sort-desc:after {
	content: '↓';
	opacity: 1;
	color: var(--bnh-orange);
}

.bnh-kat-badge {
	display: inline-block;
	background-color: rgba(27, 115, 50, 0.08);
	color: var(--bnh-green);
	border-radius: 2rem;
	padding: 3px 10px;
	font-size: 12px;
	font-weight: bold;
	white-space: nowrap;
}

.bnh-paid-badge {
	display: inline-block;
	border-radius: 2rem;
	padding: 3px 10px;
	font-size: 12px;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.bnh-paid-yes {
	background-color: rgba(27, 115, 50, 0.12);
	color: var(--bnh-green);
}

.bnh-paid-no {
	background-color: rgba(138, 148, 139, 0.14);
	color: #8a948b;
}

.bnh-list-empty {
	text-align: center;
	color: #8a948b;
	padding: 24px 0;
}

@media (max-width: 680px) {
	#rozpis,
	#rozpis tbody,
	#rozpis tr,
	#rozpis td {
		display: block;
		width: 100% !important;
		min-width: 0 !important;
	}

	#rozpis td {
		border-top: none;
		padding: 2px 0 10px;
	}

	#rozpis td.bold {
		padding-top: 16px;
		padding-bottom: 2px;
		border-top: 1px solid silver;
	}
}

/* tlač / generovanie PDF rozpisu */
@media print {
	.menu_block,
	footer,
	#toTop,
	.bnh-no-print {
		display: none !important;
	}

	body {
		background-color: #fff !important;
	}

	header {
		padding: 0 !important;
		margin: 0 !important;
	}

	header img {
		max-width: 300px !important;
		margin: 0 auto !important;
	}

	.box {
		margin-top: 0 !important;
	}

	.col-centered {
		margin: 0 !important;
	}

	#rozpis {
		margin-top: 10px !important;
	}
}

/* sponzorské logá - odsadenie pre lepšie dotykové ciele na mobile */
.grid_12.center a,
.col-centered a {
	display: inline-block;
	margin: 6px 10px;
}

.bnh-sponsors-label {
	color: #908b8b;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-size: 13px;
	font-weight: bold;
	margin: 10px 0 14px;
}

/* homepage - menej prázdneho priestoru medzi sekciami */
.page1 .content {
	padding-bottom: 14px;
}

.bnh-intro {
	max-width: 640px;
	margin: 0 auto 22px;
	color: var(--bnh-text);
	font-size: 17px;
	line-height: 1.5;
}

/* homepage - odkazy na Výsledky / Fotky */
.bnh-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 16px;
	margin-top: 8px;
}

.bnh-link-tile {
	display: block;
	min-width: 220px;
	background-color: var(--bnh-surface);
	border: 1px solid #e2e2e2;
	border-radius: 14px;
	padding: 18px 22px;
	text-align: left;
}

.bnh-link-tile:hover {
	border-color: var(--bnh-green);
	background-color: rgba(27, 115, 50, 0.05);
}

.bnh-link-tile-title {
	display: block;
	font-size: 19px;
	font-weight: bold;
	color: var(--bnh-green) !important;
}

.bnh-link-tile-sub {
	display: block;
	font-size: 14px;
	color: #908b8b;
	margin-top: 2px;
}

/* homepage - faktový pruh (dátum/čas/dĺžka/prevýšenie) */
.bnh-fact-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	max-width: 620px;
	margin: 10px auto 24px;
}

@media (min-width: 640px) {
	.bnh-fact-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		max-width: 900px;
	}
}

.bnh-fact {
	background-color: var(--bnh-green);
	color: #fff;
	border-radius: 14px;
	padding: 18px 10px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
}

.bnh-fact-icon {
	opacity: 0.9;
}

.bnh-fact-label {
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	opacity: 0.85;
}

.bnh-fact-value {
	font-size: 26px;
	font-weight: bold;
	line-height: 1.1;
}

.bnh-cta {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
	margin-bottom: 10px;
}

.bnh-btn {
	display: inline-block;
	padding: 12px 28px;
	border-radius: 2rem;
	font-weight: bold;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.bnh-btn-primary {
	background-color: var(--bnh-orange);
	color: #fff !important;
}

.bnh-btn-primary:hover {
	background-color: #c66a09;
	color: #fff !important;
}

.bnh-btn-secondary {
	background-color: transparent;
	color: var(--bnh-green) !important;
	border: 2px solid var(--bnh-green);
}

.bnh-btn-secondary:hover {
	background-color: rgba(27, 115, 50, 0.1);
}

/* homepage - nadpis sekcie Trať */
.bnh-section-title-wrap {
	text-align: center;
}

.bnh-section-title {
	display: inline-block;
	font-size: 28px;
	line-height: 1.3;
	font-weight: bold;
	color: var(--bnh-green);
	margin: 0 0 18px;
	padding-top: 0;
	padding-bottom: 8px;
	border-bottom: 3px solid var(--bnh-orange);
}

.bnh-img-caption {
	font-weight: bold;
	color: var(--bnh-text);
	font-size: 15px;
	margin-bottom: 10px;
}

/* homepage - Trať: tri karty rovnakého jazyka (biela, okraj, tieň) */
.bnh-track-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 18px;
	max-width: 1120px;
	margin: 0 auto;
	padding: 0 16px;
}

.bnh-track-card {
	flex: 1 1 300px;
	max-width: 370px;
	background-color: var(--bnh-surface);
	border: 1px solid #e2e2e2;
	border-radius: 14px;
	padding: 16px;
	box-shadow: 0 1px 3px rgba(28, 43, 30, 0.08);
	text-align: center;
}

.bnh-track-img {
	height: 210px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #f6f7f5;
	border-radius: 8px;
	overflow: hidden;
}

.bnh-track-img img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	border-radius: 6px;
}

.bnh-zoomable {
	cursor: zoom-in;
	transition: transform 0.15s ease;
}

.bnh-track-img:hover .bnh-zoomable {
	transform: scale(1.035);
}

.bnh-track-card {
	position: relative;
}

.bnh-zoom-hint {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background-color: rgba(28, 43, 30, 0.55);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.15s ease;
}

.bnh-track-card:hover .bnh-zoom-hint {
	opacity: 1;
}

/* lightbox pre zväčšenie náhľadov trate */
#bnh-lightbox {
	display: none;
	position: fixed;
	inset: 0;
	background-color: rgba(10, 20, 12, 0.9);
	z-index: 10000;
	align-items: center;
	justify-content: center;
	padding: 36px;
	cursor: zoom-out;
}

#bnh-lightbox.is-open {
	display: flex;
}

#bnh-lightbox img {
	max-width: 100%;
	max-height: 100%;
	border-radius: 10px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
}

.bnh-lightbox-close {
	position: fixed;
	top: 16px;
	right: 22px;
	color: #fff;
	font-size: 34px;
	line-height: 1;
	cursor: pointer;
}

/* partneri - presunutí nižšie, uniformné dlaždice namiesto rôznych pomerov strán */
.bnh-sponsors {
	padding-top: 6px;
	text-align: center;
}

.bnh-sponsor-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
	max-width: 760px;
	margin: 0 auto;
}

.bnh-sponsor-tile {
	width: 160px;
	height: 96px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--bnh-surface);
	border: 1px solid #e8e8e8;
	border-radius: 10px;
	padding: 6px;
	transition: border-color 0.2s ease;
}

.bnh-sponsor-tile:hover {
	border-color: var(--bnh-green);
}

.bnh-sponsor-tile img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	opacity: 0.9;
}

.bnh-sponsor-tile:hover img {
	opacity: 1;
}

/* fotogaléria - dlaždice s reálnymi náhľadmi (rovnaký vzor ako hlavný web) */
.bnh-gallery-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
}

@media (min-width: 576px) {
	.bnh-gallery-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

.bnh-gallery-tile {
	position: relative;
	display: block;
	height: 190px;
	border-radius: 14px;
	overflow: hidden;
	background-color: #0d1a0f;
	background-size: cover;
	background-position: center;
	box-shadow: 0 1px 3px rgba(28, 43, 30, 0.12);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.bnh-gallery-tile:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 18px rgba(28, 43, 30, 0.2);
}

.bnh-gallery-tile p {
	position: absolute;
	inset: 0;
	margin: 0;
	display: flex;
	align-items: flex-end;
	padding: 14px 16px;
	font-size: 22px;
	font-weight: bold;
	color: #fff;
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.68) 0%, transparent 55%);
}

/* výsledky - dlaždice po rokoch, rovnaký jazyk ako odkazy na homepage */
.bnh-results-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.bnh-results-grid .bnh-link-tile {
	flex: 1 1 160px;
	max-width: 220px;
}

.bnh-pdf-icon {
	display: block;
	color: var(--bnh-green);
	margin-bottom: 8px;
}

/* hlavička - ikona + textové meno preteku namiesto obrázka s natvrdo vpáleným textom */
.bnh-brand {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	flex-wrap: wrap;
	padding-top: 10px;
}

.bnh-brand-icon {
	height: 90px;
	width: auto;
}

.bnh-brand-title {
	margin: 0;
	font-size: 34px;
	font-weight: bold;
	line-height: 1.15;
	color: var(--bnh-green);
	text-transform: uppercase;
	letter-spacing: 0.01em;
}

@media (max-width: 480px) {
	.bnh-brand-icon {
		height: 64px;
	}

	.bnh-brand-title {
		font-size: 22px;
	}
}
