	:root {
		--forest-dark: #1a4d2e;
		--forest-medium: #2d6a4f;
		--forest-light: #40916c;
		--meadow: #74c69d;
		--meadow-light: #b7e4c7;
		--sunshine: #ffd60a;
		--sunset: #ff9500;
		--cream: #fefae0;
		--white: #ffffff;
	}

	* {
		margin: 0;
		padding: 0;
		box-sizing: border-box;
	}

	body {
		font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
		background: var(--cream);
		color: var(--forest-dark);
		line-height: 1.6;
	}

	h1, h2, h3, h4 {
		font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
	}

	a {
		color: var(--forest-medium);
		text-decoration: none;
	}

	a:hover {
		color: var(--forest-dark);
	}

	/* Hero Section - With Background Image */
	.hero {
		position: relative;
		display: flex;
		align-items: center;
	}

	.hero-u {
		padding: 1.5rem 2rem 2rem;
		min-height: 350px;
		background: var(--bg-hero) center center / cover no-repeat;
	}

	.hero-o {
		padding: 1.5rem 2rem 2rem;
		min-height: 200px;
		background: var(--bg-hero) center -280px / cover no-repeat;
	}

	.hero-container {
		margin: 0 auto;
		position: relative;
		z-index: 10;
	}
	.cont-u {
		max-width: 700px;
		text-align: center;
	}
	.cont-o {
		max-width: 900px;
	}

	.hero-logo-text {
		font-family: 'Poppins', sans-serif;
		font-size: 4rem;
		font-weight: 700;
		color: var(--sunshine);
		text-shadow: 3px 3px 0 var(--forest-dark), -1px -1px 0 var(--forest-dark), 1px -1px 0 var(--forest-dark), -1px 1px 0 var(--forest-dark), 4px 4px 10px rgba(0,0,0,0.3);
		letter-spacing: 4px;
		margin-bottom: 0.3rem;
	}

	.hero-card {
		background: rgba(255,255,255,0.4);
		border-radius: 24px;
		padding: 1rem 1rem;
		backdrop-filter: blur(4px);
		box-shadow: 0 8px 32px rgba(0,0,0,0.1);
	}

	.hero-welcome {
		font-family: 'Poppins', sans-serif;
		font-size: 1.75rem;
		font-weight: 600;
		color: var(--forest-dark);
		margin-bottom: 0.75rem;
	}

	.hero-text {
		font-size: 1rem;
		color: var(--forest-dark);
		line-height: 1.7;
		margin-bottom: 1.5rem;
	}

	.hero-divider {
		height: 1px;
		background: linear-gradient(90deg, transparent, var(--meadow-light), transparent);
		margin: 1.25rem 0;
	}

	.hero-camp-label {
		font-size: 1rem;
		color: var(--forest-medium);
		margin-bottom: 0.25rem;
	}

	.hero-camp-location {
		font-family: 'Poppins', sans-serif;
		font-size: 1.25rem;
		font-weight: 700;
		color: var(--forest-dark);
		margin-bottom: 0.35rem;
	}

	.hero-camp-date {
		font-family: 'Poppins', sans-serif;
		font-size: 1.15rem;
		font-weight: 600;
		color: var(--forest-dark);
		margin-bottom: 1.25rem;
	}

	.hero-cta {
		display: inline-flex;
		align-items: center;
		gap: 0.5rem;
		color: var(--forest-dark);
		font-family: 'Poppins', sans-serif;
		font-weight: 600;
		font-size: 1.1rem;
		padding: 0.9rem 2rem;
		border-radius: 50px;
		text-decoration: none;
		box-shadow: 0 4px 15px rgba(255, 149, 0, 0.3);
		transition: transform 0.2s, box-shadow 0.2s;
	}

	.hero-cta-bga {
		background: linear-gradient(135deg, var(--sunset), var(--sunshine));
	}

	.hero-cta-bgn {
		background: linear-gradient(135deg, var(--meadow), var(--meadow-light));
	}

	.hero-cta:hover {
		transform: translateY(-2px);
		box-shadow: 0 6px 20px rgba(255, 149, 0, 0.4);
	}

	.announcement {
		background: linear-gradient(90deg, var(--sunshine), var(--sunset));
		padding: 0.875rem 2rem;
		text-align: center;
	}

	.announcement-content {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 0.75rem;
		flex-wrap: wrap;
		color: var(--forest-dark);
		font-size: 0.95rem;
	}

	.announcement-content svg {
		width: 20px;
		height: 20px;
		fill: var(--forest-dark);
	}

	.announcement strong {
		font-family: 'Poppins', sans-serif;
	}

/* Page Title Bar */
	.page-title-bar {
		background: linear-gradient(135deg, var(--sunshine), var(--sunset));
		padding: 1rem 2rem;
		position: relative;
	}

	.page-title-inner {
		max-width: 1300px;
		margin: 0 auto;
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
	}

	.breadcrumb {
		position: absolute;
		left: 0;
		display: flex;
		align-items: center;
		gap: 0.5rem;
		font-size: 0.85rem;
		color: var(--forest-dark);
	}

	.breadcrumb a {
		color: var(--forest-dark);
		opacity: 0.8;
	}

	.breadcrumb a:hover {
		opacity: 1;
		text-decoration: underline;
	}

	.page-title-content {
		display: flex;
		align-items: center;
		gap: 0.75rem;
	}

	.page-title {
		font-size: 1.5rem;
		color: var(--forest-dark);
	}

	.main-layout {
		max-width: 1300px;
		margin: 0 auto;
		padding: 2rem 0;
		display: grid;
		grid-template-columns: 260px 1fr;
		gap: 3rem;
	}

	.sidebar {
		position: sticky;
		top: 2rem;
		height: fit-content;
	}

	.menu-card {
		background: var(--white);
		border-radius: 20px;
		padding: 1.25rem;
		box-shadow: 0 4px 20px rgba(0,0,0,0.06);
		margin-bottom: 1.5rem;
	}

	.menu-title {
		font-size: 0.7rem;
		text-transform: uppercase;
		letter-spacing: 1.5px;
		color: var(--forest-light);
		padding: 0.5rem 0.75rem;
		margin-bottom: 0.25rem;
		font-weight: 700;
	}

	.menu-links {
		list-style: none;
	}

	.menu-links a {
		display: flex;
		align-items: center;
		gap: 0.6rem;
		padding: 0.55rem 0.75rem;
		border-radius: 10px;
		font-size: 0.9rem;
		color: var(--forest-dark);
		transition: all 0.2s ease;
	}

	.menu-links a:hover {
		background: var(--meadow-light);
	}

	.menu-links a.active {
		background: var(--forest-medium);
		color: white;
	}

	.menu-links a.active svg {
		fill: white;
	}

	.menu-icon {
		font-size: 0.9rem;
		width: 22px;
		text-align: center;
		color: var(--forest-medium);
	}

	.menu-links a.active .menu-icon {
		color: white;
	}

	.content {
		min-width: 0;
	}

	.content-section {
		background: var(--white);
		border-radius: 24px;
		padding: 2.5rem;
		margin-bottom: 2rem;
		box-shadow: 0 4px 20px rgba(0,0,0,0.05);
		text-align: center;
	}

	.content-section h3, h4{
	}

	.content-section h3.feature-title{
		text-align:center;
	}

	.content-section p{
		margin-bottom: 1.1rem;
		text-align: justify;
		text-indent: 15px;
	}

	.content-section p.z{
		text-indent: 0px;
	}

	.content-section ul{
		padding-left:50px;
		text-align:justify;
	}

	.content-section ol{
		padding-left:50px;
		text-align:justify;
	}

	.content-section div.section-img{
		text-align:center;
	}

	.content-section iframe {
		border-radius: 20px;
		overflow: hidden;    /* Zajistí, že obsah nepřeteče přes kulaté rohy */
		border: none;        /* Volitelné: odstraní šedý okraj */
	}
	
	.section-header {
		margin-bottom: 2rem;
	}

	.section-title {
		font-size: 1.75rem;
		color: var(--forest-dark);
		margin-bottom: 0.5rem;
	}

	.section-subtitle {
		color: var(--forest-light);
		font-size: 1rem;
		text-align: center !important;   /* Zarovná text pod obrázkem na střed */
	}

	.section-gallery-container {
		display: grid;
		gap: 20px;
		width: 100%;
		grid-template-columns: repeat(2, minmax(191px, 328px)); 	
		justify-content: center; /* Toto vycentruje posledni lichy prvek (i celou mrizku) */
	}

	.section-gallery-item {
		display: flex;          /* Zapne flexbox */
		flex-direction: column; /* Zajistí, že text bude pod obrázkem, ne vedle něj */
		background: var(--meadow-light);
		border-radius: 12px;
		transition: transform 0.3s ease;
		height: 100%;
		
		padding: 10px;
		box-sizing: border-box;
	}

	.section-gallery-item:hover {
		transform: translate(-4px, -4px);
		box-shadow: 10px 10px 10px 2px rgba(0,0,0,0.1);
	}

	.section-gallery-item a {
		display: flex;          /* Zapne flexbox */
		flex-direction: column; /* Zajistí, že text bude pod obrázkem, ne vedle něj */
		height: 100%;
		text-decoration: none;
		padding: 20px;
		color: inherit;
	}

	.section-gallery-item img {
		max-width: 100%;
		height: auto;
		display: block;         /* Odstraní nechtěnou mezeru pod obrázkem */
		margin: 0 auto;
	}

	.section-gallery-item p.i{
    margin-top: auto; 
    padding-top: 15px;
    font-size: 0.9em;
    text-align: center;
	text-indent: 0px;
	margin-bottom: 0px;
}

	.section-links-container {
		width:90%;
		margin:0 auto 30px auto;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 2rem;
	}

	.section-links-item{
		aspect-ratio: 2.5;
		padding: 0 30px;
		border-radius: 12px;
		background: var(--meadow-light);
		display: flex;
		align-items: center;
		justify-content: center;
		transition: transform 0.3s ease;
		cursor: pointer;
	}

	.section-links-item p.i{
		text-indent: 0;
		text-align: center;     /* Zarovná text pod obrázkem na střed */
	}
	
	.section-links-item:hover {
		transform: scale(1.05);
	}

/* osoby */
	.section-osoby-container {
		display: flex;          /* Zapne flexbox */
		flex-wrap: wrap;        /* Na mobilu nebo při nedostatku místa odskočí na další řádek */
		justify-content: center; /* Zarovná celou galerii na střed */
		gap: 20px;              /* Mezera mezi jednotlivými položkami */
	}
	.section-osoby-item {
		flex: 0 1 calc((100% - (1 * 20px)) / 2);       /* Základní šířka jedné položky (např. 250px) */
		display: flex;
		flex-direction: column; /* Zajistí, že text bude pod obrázkem, ne vedle něj */
		align-items: center;    /* Zarovná obsah položky na střed */
		vertical-align:top;
		box-sizing: border-box;
		border-radius: 12px;
		background: var(--meadow-light);
		transition: transform 0.3s ease;
		padding: 0 20px;
	}
	.section-osoby-item:hover {
		transform: scale(1.05);
	}
	.section-osoby-item img.osoby {
		height: 300px;
		width: auto;
		margin:20px auto 0px auto;
		border-radius: 12px;
		display: block;         /* Odstraní nechtěnou mezeru pod obrázkem */
		top:0;
	}
	.section-osoby-item a {
/*		width:45%; */
		display: flex;
		flex-direction: column; /* Zajistí, že text bude pod obrázkem, ne vedle něj */
	}

	.section-osoby-item p {
		text-indent:0;
		text-align:center;
		width:100%;
	}

/* sponz */
	.section-sponz-container {
		display: flex;          /* Zapne flexbox */
		flex-wrap: wrap;        /* Na mobilu nebo při nedostatku místa odskočí na další řádek */
		justify-content: center; /* Zarovná celou galerii na střed */
		gap: 20px;              /* Mezera mezi jednotlivými položkami */
	}
	.section-sponz-item {
		flex: 0 1 calc((100% - (2 * 20px)) / 3);       /* Základní šířka jedné položky (např. 250px) */
		display: flex;
		flex-direction: column; /* Zajistí, že text bude pod obrázkem, ne vedle něj */
		align-items: center;    /* Zarovná obsah položky na střed */
		vertical-align:top;
		box-sizing: border-box;
		border-radius: 12px;
		background: var(--meadow-light);
		transition: transform 0.3s ease;
		padding: 0 20px;
	}
	.section-sponz-item:hover {
		transform: scale(1.05);
	}
	.section-sponz-item img.sponz {
		max-width:190px;
		height: auto;
		margin:30px auto 10px auto;
	}

	.section-sponz-item a {
		width:45%;
		display: flex;
		flex-direction: column; /* Zajistí, že text bude pod obrázkem, ne vedle něj */
		height: 100%;           /* Nutné, pokud mají položky fixní výšku */
	}

.section-sponz-item a > :first-child {
    margin-top: 30px;
    display: block; /* Důležité pro span, aby margin fungoval */
}

	.section-sponz-item p {
		text-indent:0;
		text-align:center;
		width:100%;
	}
	.section-sponz-item span:last-child {
    margin-top: auto;       /* Odstrčí tento span úplně dospodu */
    display: block;         /* Zajistí, že se chová jako blok */
}

/* osoby a sponzoři */
	.blue99b {
		color: #000099;
		font-weight: bold;
	}

	.blueff {
		color: #0000FF;
		font-weight: bold;
	}

	.blue99 {
		color: #000099;
		font-weight: normal;
	}

/* účastníci */
.sezucast-grid {
    display: grid;
    grid-template-columns: 50px 2fr 1fr 2fr;     /* Definice 4 sloupců: auto, zbytek, pevný, zbytek */
    width: 95%;
    margin: 0 auto;
    border-bottom: 1px solid #ccc;
}

.sezucast-grid > div {
    padding: 8px;
    border-top: 1px solid #ccc;
}

.sezucast-grid > div:nth-child(4n+1) { /* 1. Sloupec: Pořadové číslo - na střed */
    text-align: center;
}

.sezucast-grid > div:nth-child(4n+2), .sezucast-grid > div:nth-child(4n+4) { /* 2. a 4. Sloupec: Jméno a Město - doleva */
    text-align: left;
}

.sezucast-grid > div:nth-child(4n+3) { /* 3. Sloupec: Rok narození - na střed (volitelně) */
    text-align: center;
}

.header { /* Hlavička - tučně a jiný podklad */
    font-weight: bold;
    background: #f0f0f0;
}

.judo { /* Třída judo - všechny buňky v řádku tučně */
    font-weight: bold;
    color: #d9534f; /* Volitelně barva pro odlišení */
}

/* kontakty */
	.kont-row {
		display: grid;		/* První sloupec pro ikonu, druhý pro název (cca 150px), zbytek pružný */
		grid-template-columns: 30px 190px 1fr;
		align-items: baseline;    margin-bottom: 8px; /* Mezera mezi řádky */
		text-align:left;
	}

	.kont-icon {
		display: flex;
		justify-content: center;
		padding-right:10px
	}

	.kont-label {
		padding-right:15px
		/* Můžete nechat prázdné nebo přidat padding-right */
	}

	.kont-content {
		/* Zde se vypisuje PHP hodnota */
	}



	.welcome-text {
		font-size: 1.05rem;
		color: var(--forest-medium);
		line-height: 1.8;
		margin-bottom: 1.5rem;
		text-align:justify;
		text-indent: 15px;
	}

	.features-grid {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
		gap: 1.25rem;
	}

	.feature-card {
		background: var(--cream);
		border-radius: 16px;
		padding: 1.5rem;
		text-align: center;
		transition: all 0.3s ease;
	}

	.feature-card:hover {
		transform: translateY(-3px);
		box-shadow: 0 10px 25px rgba(0,0,0,0.08);
	}

	.feature-icon {
		width: 55px;
		height: 55px;
		border-radius: 14px;
		display: flex;
		align-items: center;
		justify-content: center;
		margin: 0 auto 1rem;
		font-size: 1.4rem;
		color: white;
	}

	.feature-icon-1 { background: linear-gradient(135deg, #a8dadc, #457b9d); }
	.feature-icon-2 { background: linear-gradient(135deg, #f4a261, #e76f51); }
	.feature-icon-3 { background: linear-gradient(135deg, #90be6d, #43aa8b); }
	.feature-icon-4 { background: linear-gradient(135deg, #f9c74f, #f8961e); }
	.feature-icon-5 { background: linear-gradient(135deg, #e0aaff, #9d4edd); }
	.feature-icon-6 { background: linear-gradient(135deg, #ff6b6b, #ee5a5a); }

	.feature-title {
		font-size: 1rem;
		color: var(--forest-dark);
		margin-bottom: 0.35rem;
	}

	.feature-desc {
		color: var(--forest-medium);
		font-size: 0.85rem;
		text-align: center;
		text-indent: 0;
	}

	.info-grid {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 1.5rem;
	}

	.info-grid.four-cols {
		grid-template-columns: repeat(4, 1fr);
	}

	@media (max-width: 1000px) {
		.info-grid.four-cols {
		  grid-template-columns: repeat(2, 1fr);
		}
	}

	.info-card {
		background: var(--cream);
		border-radius: 16px;
		overflow: hidden;
	}

	.info-card-link {
		display: block;
		text-decoration: none;
		color: inherit;
		transition: transform 0.2s ease, box-shadow 0.2s ease;
	}

	.info-card-link:hover {
		transform: translateY(-3px);
		box-shadow: 0 8px 25px rgba(0,0,0,0.1);
	}

	.info-card-link .info-card-body p {
		color: var(--forest-medium);
	}

	.info-card-header {
		background: var(--forest-medium);
		color: white;
		padding: 1rem 1.25rem;
		display: flex;
		align-items: center;
		gap: 0.6rem;
		font-family: 'Poppins', sans-serif;
	}

	.info-card-header svg {
		width: 18px;
		height: 18px;
		fill: white;
	}

	.info-card-body {
		padding: 1.25rem;
	}

	.info-list {
		list-style: none;
	}

	.info-list li {
		display: flex;
		align-items: flex-start;
		gap: 0.5rem;
		padding: 0.5rem 0;
		font-size: 0.9rem;
		border-bottom: 1px dashed var(--meadow-light);
	}

	.info-list li:last-child {
		border-bottom: none;
	}

	.info-list li svg {
		width: 16px;
		height: 16px;
		fill: var(--forest-medium);
		flex-shrink: 0;
		margin-top: 2px;
	}

	.gallery-grid {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 0.75rem;
	}

	.gallery-item {
		aspect-ratio: 1;
		border-radius: 12px;
		background: var(--meadow-light);
		display: flex;
		align-items: center;
		justify-content: center;
		transition: transform 0.3s ease;
		cursor: pointer;
	}

	.gallery-item:hover {
		transform: scale(1.05);
	}

	.gallery-item svg {
		width: 40px;
		height: 40px;
		fill: var(--forest-medium);
		opacity: 0.5;
	}

	.gallery-more {
		text-align: center;
		margin-top: 1.25rem;
	}

	.btn-link {
		color: var(--forest-medium);
		font-weight: 600;
		display: inline-flex;
		align-items: center;
		gap: 0.35rem;
		transition: gap 0.2s ease;
	}

	.btn-link:hover {
		gap: 0.6rem;
		color: var(--forest-dark);
	}

	.location-grid {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 2rem;
		align-items: center;
	}

	.location-info h3 {
		font-size: 1.25rem;
		margin-bottom: 1rem;
		color: var(--forest-dark);
	}

	.location-info p {
		color: var(--forest-medium);
		margin-bottom: 1.25rem;
		font-size: 0.95rem;
	}

	.location-detail {
		display: flex;
		align-items: flex-start;
		gap: 0.75rem;
		margin-bottom: 1rem;
	}

	.location-detail-icon {
		width: 38px;
		height: 38px;
		background: var(--meadow-light);
		border-radius: 10px;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
	}

	.location-detail-icon svg {
		width: 18px;
		height: 18px;
		fill: var(--forest-medium);
	}

	.location-detail strong {
		display: block;
		color: var(--forest-dark);
		font-size: 0.9rem;
	}

	.location-detail span {
		font-size: 0.85rem;
		color: var(--forest-light);
	}

	.location-map {
		background: var(--meadow-light);
		border-radius: 16px;
		height: 250px;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.location-map svg {
		width: 60px;
		height: 60px;
		fill: var(--forest-medium);
		opacity: 0.4;
	}

	.sponsors-grid {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 1.5rem;
		align-items: center;
	}

	.sponsor-item {
		background: white;
		border-radius: 16px;
		padding: 1.25rem;
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 90px;
		transition: all 0.3s ease;
		border: 2px solid var(--meadow-light);
	}

	.sponsor-item:hover {
		transform: translateY(-3px);
		box-shadow: 0 8px 20px rgba(0,0,0,0.08);
		border-color: var(--meadow);
	}

	.sponsor-item a {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 100%;
	}

	.sponsor-logo {
		max-width: 100%;
		max-height: 60px;
		object-fit: contain;
		filter: grayscale(30%);
		opacity: 0.85;
		transition: all 0.3s ease;
	}

	.sponsor-item:hover .sponsor-logo {
		filter: grayscale(0%);
		opacity: 1;
	}

	.sponsor-placeholder {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 0.5rem;
		color: var(--forest-light);
		text-align: center;
	}

	.sponsor-placeholder-icon {
		width: 40px;
		height: 40px;
		background: var(--meadow-light);
		border-radius: 10px;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.sponsor-placeholder-icon svg {
		width: 20px;
		height: 20px;
		fill: var(--forest-medium);
		opacity: 0.5;
	}

	.sponsor-placeholder-text {
		font-size: 0.8rem;
		font-weight: 600;
	}

	@media (max-width: 800px) {
		.sponsors-grid {
		  grid-template-columns: repeat(2, 1fr);
		}
	}

	.cta-section {
		background: var(--forest-medium);
		border-radius: 24px;
		padding: 2.5rem;
		text-align: center;
		color: white;
	}

	.cta-section h2 {
		font-size: 1.75rem;
		margin-bottom: 0.5rem;
	}

	.cta-section p {
		opacity: 0.9;
		margin-bottom: 1.5rem;
	}

	.cta-buttons {
		display: flex;
		gap: 1rem;
		justify-content: center;
		flex-wrap: wrap;
	}

	.btn {
		padding: 0.875rem 1.75rem;
		border-radius: 50px;
		font-family: 'Poppins', sans-serif;
		font-weight: 600;
		transition: all 0.3s ease;
	}

	.btn-primary {
		background: linear-gradient(135deg, var(--sunset), var(--sunshine));
		color: var(--forest-dark);
		box-shadow: 0 4px 20px rgba(255, 149, 0, 0.4);
	}

	.btn-primary:hover {
		transform: translateY(-2px);
		box-shadow: 0 6px 25px rgba(255, 149, 0, 0.5);
	}

	.btn-outline {
		background: transparent;
		color: white;
		border: 2px solid rgba(255,255,255,0.5);
	}

	.btn-outline:hover {
		background: white;
		color: var(--forest-dark);
		transform: translateY(-2px);
	}

/* Stats */
 .stats-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 1.25rem;
	margin: 2rem 0;
}

.stat-card {
	background: var(--cream);
	border-radius: 16px;
	padding: 1.5rem;
	text-align: center;
}

.stat-value {
	font-family: 'Poppins', sans-serif;
	font-size: 2rem;
	font-weight: 700;
	color: var(--forest-dark);
	line-height: 1;
}

.stat-label {
	font-size: 0.85rem;
	color: var(--forest-medium);
	margin-top: 0.25rem;
}


/* Timeline */
    .timeline {
      position: relative;
      padding-left: 2rem;
      margin: 2rem 0;
    }

    .timeline::before {
      content: '';
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      width: 3px;
      background: var(--meadow-light);
      border-radius: 3px;
    }

    .timeline-item {
      position: relative;
      padding-bottom: 2rem;
      padding-top: 2rem;
    }

    .timeline-item:last-child {
      padding-bottom: 0;
    }

    .timeline-item::before {
      content: '';
      position: absolute;
      left: -2rem;
      top: 0.25rem;
      width: 14px;
      height: 14px;
      background: var(--forest-medium);
      border-radius: 50%;
      border: 3px solid var(--meadow-light);
      transform: translateX(-5.5px);
    }

    .timeline-year {
      display: inline-block;
      background: linear-gradient(135deg, var(--sunset), var(--sunshine));
      color: var(--forest-dark);
      padding: 0.25rem 0.75rem;
      border-radius: 50px;
      font-family: 'Poppins', sans-serif;
      font-weight: 600;
      font-size: 0.9rem;
      margin-bottom: 0.5rem;
    }

    .timeline-title {
      font-family: 'Poppins', sans-serif;
      font-size: 1.1rem;
      color: var(--forest-dark);
      margin-bottom: 0.5rem;
    }

    .timeline-text {
      color: var(--forest-medium);
      font-size: 0.95rem;
      line-height: 1.7;
    }
	
/* Footer */
.footer {
	background: var(--forest-dark);
	color: white;
	padding: 2rem;
	text-align: center;
	margin-top: 2rem;
}

.footer-social {
	display: flex;
	gap: 0.75rem;
	justify-content: center;
	margin-bottom: 1rem;
}

.footer-social a {
	width: 40px;
	height: 40px;
	background: var(--forest-medium);
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s;
}

.footer-social a:hover {
	background: var(--forest-light);
	transform: translateY(-2px);
}

.footer-social svg {
	width: 18px;
	height: 18px;
	fill: white;
}

.footer p {
	opacity: 0.6;
	font-size: 0.85rem;
}

#lightbox {
    display: none; /* Schované, dokud se neklikne */
    position: fixed;
    z-index: 9999;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.85); /* Poloprůhledné černé pozadí */
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

#lightbox-img {
    max-width: 90%;
    max-height: 90%;
    box-shadow: 0 0 20px rgba(0,0,0,0.5);
    border: 3px solid white;
}
/* FORM */
/* Kontejner pro formulář */
form[name="formular"] {
    max-width: 828px; /* Nebo šířka vašeho webu */
    margin: 0 auto;
}

/* Každý odstavec ve formuláři */
.styleformlbn {
    display: flex;
    flex-wrap: wrap;       /* Aby se na mobilu složily pod sebe */
    align-items: center;   /* Zarovnání na střed výšky */
    justify-content: flex-start;
    gap: 10px;             /* Mezery mezi prvky */
    padding: 15px;
    border-bottom: 1px solid #eee; /* Jemné oddělení řádků */
}

/* Nadpis sekce v odstavci (strong) */
.styleformlbn strong {
    flex: 0 0 100%;        /* Nadpis zabere celý první řádek */
    margin-bottom: 5px;
    display: block;
}

/* Vstupy a selecty */
.formpov, .formnep {
    padding: 6px;
    border: 1px solid #ccc;
    border-radius: 3px;
}

select[name="dennar"], 
select[name="mesnar"], 
select[name="roknar"] {
    width: 120px; /* Upravte podle potřeby, aby se vešel nejdelší měsíc */
    box-sizing: border-box;
	text-align: center;
}
select[name="pohlavi"] {
    width: 150px; /* Upravte podle potřeby, aby se vešel nejdelší měsíc */
    box-sizing: border-box;
	text-align: center;
}

/* Aby delší inputy (adresa) vyplnily zbytek místa */
input[size="64"], input[size="79"], textarea {
    flex: 1 1 100%;        /* Vyplní celý řádek pod nadpisem */
}




/* COMPACT CAPTCHA */
.capbox {
	background-color: #BBBBBB;
	background-image: linear-gradient(#BBBBBB, #9E9E9E);
	border: #2A7D05 0px solid;
	border-width: 2px 2px 2px 20px;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	display: inline-block;
	padding: 5px 8px 5px 8px;
	border-radius: 4px 4px 4px 4px;
}
.capbox-inner {
	font: bold 12px arial, sans-serif;
	color: #000000;
	background-color: #E3E3E3;
	margin: 0px auto 0px auto;
	padding: 3px 10px 5px 10px;
	border-radius: 4px;
	text-align: center;
	display: inline-block;
	vertical-align: middle;
}
#CaptchaDiv {
	color: #000000;
	font: normal 25px Impact, Charcoal, arial, sans-serif;
	font-style: italic;
	text-align: center;
	vertical-align: middle;
	background-color: #FFFFFF;
	user-select: none;
	display: inline-block;
	padding: 3px 14px 3px 8px;
	margin-right: 4px;
	border-radius: 4px;
}

#CaptchaInput {
	border: #38B000 2px solid;
	margin: 3px 0px 1px 0px;
	width: 105px;
}


.mobile-menu-toggle {
	display: none;
	background: var(--forest-dark);
	color: white;
	border: none;
	padding: 0.75rem 1.25rem;
	border-radius: 12px;
	font-family: 'Poppins', sans-serif;
	font-size: 1rem;
	cursor: pointer;
	margin-bottom: 1rem;
	width: 100%;
	justify-content: center;
	align-items: center;
	gap: 0.5rem;
}

	@media (max-width: 900px) {
		.hero-o {
		background: url('../img/hero-bg.png') center center / cover no-repeat;
		}

		.breadcrumb {
			display: none;
		}

		.main-layout {
		  grid-template-columns: 1fr;
		  padding: 1.5rem;
		}

		.sidebar {
		  position: static;
		}

		.mobile-menu-toggle {
		  display: flex;
		}

		.sidebar-inner {
		  display: none;
		}

		.sidebar-inner.open {
		  display: block;
		}

		.location-grid {
		  grid-template-columns: 1fr;
		}

		.gallery-grid {
		  grid-template-columns: repeat(2, 1fr);
		}
	}

	@media (max-width: 600px) {
		.hero {
		  padding: 2rem 1rem;
		}

		.hero-u {
		  min-height: 480px;
		}

		.hero-o {
		background: url('../img/hero-bg.png') center center / cover no-repeat;
		}

		.hero-logo-text {
		  font-size: 2.8rem;
		}

		.hero-card {
		  padding: 1.5rem;
		  border-radius: 20px;
		}

		.hero-welcome {
		  font-size: 1.4rem;
		}

		.hero-text {
		  font-size: 0.95rem;
		}

		.hero-camp-location {
		  font-size: 1.05rem;
		}

		.hero-camp-date {
		  font-size: 1rem;
		}

		.hero-cta {
		  font-size: 1rem;
		  padding: 0.8rem 1.5rem;
		}

		.breadcrumb {
			display: none;
		}

	.content-section {
		  padding: 1.5rem;
		}

		.features-grid {
		  grid-template-columns: 1fr;
		}

		.info-grid {
		  grid-template-columns: 1fr;
		}

		.sponsors-grid {
		  grid-template-columns: repeat(2, 1fr);
		}
		.section-gallery-container {
			grid-template-columns: 1fr;
		}
	}