:root {
            --primary: #2c3e50;
            --accent-green: #E0534E;
            --accent-blue: #E0534E;
            --bg-body: #f8f9fa;
            --bg-card: #ffffff;
            --text-main: #333;
        }

        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            background-color: var(--bg-body);
            color: var(--text-main);
            margin: 0;
            padding: 0;
            line-height: 1.6;
        }

        .main {
            width: 95%;
            max-width: 1400px;
            margin: 0px auto;
            padding: 8px;
        }

        /* Sekcja Wyszukiwania - Sticky */
        .search-wrapper {
            position: sticky;
            top: 0;
            background: var(--bg-body);
            padding: 10px 0;
            z-index: 1000;
            border-bottom: 1px solid #ddd;
            margin-bottom: 5px;
			text-align: center;
			display: flex;
			align-items: center;
			flex-wrap: wrap;
			gap: 10px;
			
        }
		 .search-wrapper .logo {
            height: 60px;
            padding-left: 15px;
		 }
		.search-row {
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 10px;
			width: 100%;
			flex-wrap: wrap;
		}
		
		.search-wrapper h2 {
			margin: 0;
		}

        #planySearch {
            width: 400px;
            max-width: 75%;
            margin: 0 auto;
            padding: 15px 25px;
            font-size: 18px;
            border: 2px solid var(--accent-blue);
            border-radius: 50px;
            box-shadow: 0 4px 15px rgba(0,0,0,0.1);
            outline: none;
            transition: all 0.3s ease;
        }

		.search-label {
			color: var(--accent-blue);
			font-size: 1.4em;
			font-weight: bold;
			 text-align: center;
			padding: 10px;
		}

        #planySearch:focus {
            box-shadow: 0 4px 20px rgba(224, 83, 78, 0.3);
            transform: scale(1.01);
        }
		
		#stat {
			border-radius: 120px;
			border: 2px solid var(--accent-blue);
			font-weight: 600;
			background: var(--accent-blue);
			color: #fff;
		}

        /* Nagłówki */
        h1 {
            color: var(--accent-green);
            border-left: 8px solid var(--accent-green);
            padding-left: 15px;
            background: none;
			margin: 0;
            flex-shrink: 1;
        }

        h2 {
            color: var(--accent-blue);
            border-left: 8px solid var(--accent-blue);
            padding-left: 15px;
            margin-top: 50px;
            background: none;
			text-align: center;
        }

        h3, h4 {
            background: #eee;
            padding: 8px 15px;
            border-radius: 4px;
            margin-bottom: 10px;
            color: #555;
            font-size: 0.9em;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        /* Kontenery linków */
        .tab {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            justify-content: flex-start;
            padding: 20px;
            background-color: var(--bg-card);
            border-radius: 12px;
            border: 1px solid #e0e0e0;
            margin-bottom: 30px;
            box-shadow: 0 2px 5px rgba(0,0,0,0.02);
        }

        /* Przyciski */
        .button {
            padding: 6px 18px;
            border-radius: 8px;
            border: 1px solid #dcdde1;
            background: #fff;
            text-decoration: none;
            color: #2f3640;
            transition: all 0.2s ease;
            align-items: center;
            font-size: 14px;
			width: 150px;
        }
	/* ===== NOWE: button-gray ===== */
		.button-gray {
			display: block;
			width: fit-content;
			margin: 0 auto 8px;
			padding: 9px 22px;
			font-weight: 600;
			text-decoration: none;
			color: #fff;
			background: #888;
			border: none;
			transition: all 0.2s ease;
            align-items: center;
            font-size: 16px;
			width: 160px;
border-radius: 8px;
		}

		.button-gray:hover {
			background: #555;
			transform: translateY(-1px);
			box-shadow: var(--shadow-md);
		}

        .button:hover {
            box-shadow: 0 4px 8px rgba(0,0,0,0.1);
            border-color: var(--accent-blue);
        }
		
		.button i {
			font-size: 11px;
			color: #555;
		}
		
		.button hr {
			background-color: #eee;
			border: 0 none;
			color: #eee;
			height: 1px;
		}
		
		.button ul {
			color: #666;
			font-size: 13px;
		}
		.leaflet-container a {
			color: #2f3640;
		}
		
		.download {
			display: inline-block;
			padding: 4px 8px;
			background: #d7e0ea;
			color: #2f3640;
			border-radius: 8px;
			border: 1px solid #dcdde1;
			text-decoration: none;
			font-size: 0.75rem;
			font-weight: 600;
			transition: all 0.2s ease;
			margin: 4px;
		}
		.show {
            border-radius: 99px;
            border: 1px solid #dcdde1;
			margin: 4px;
			padding: 5px;
            text-decoration: none;
            color: #2f3640;
            transition: all 0.2s ease;
		}
		
        .show:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 8px rgba(0,0,0,0.1);
            border-color: var(--accent-blue);
            background: #fdf0ef;
        }

		.download:hover {
		background: #fdf0ef;
		border-color: #E0534E;
		transform: translateY(-2px);
		box-shadow: 0 4px 8px rgba(0,0,0,0.1);
		}

        /* Style specyficzne */
        .miasto {
            border-left: 4px solid #E0534E;
        }

        .inne {
            font-weight: 400;
            color: #535e62;
        }

.app-container {
	display: flex;
	height: calc(100vh - 160px);
	overflow: hidden;
}

/* Panel boczny (informacje) */
.sidebar {
	width: 50%;
	max-width: 1024px;
	height: 100%;
	overflow-y: auto;
	border-right: 1px solid #e0e0e0;
	display: flex;
	flex-direction: column;
	background: #fff;
}

/* Mapa (prawa strona) */
.map-container {
	flex-grow: 1;
	background: #eee;
	position: relative;
	border-radius: 12px;
}	

@media (max-width: 900px) {
	.app-container { flex-direction: column; height: auto; overflow: visible; }
	.sidebar { width: 100%; height: auto; border-right: none; }
	.map-container { height: 50vh; position: relative; }
	.button {width: 120px; }
	.button ul {display: none; }
	.button i {display: none; }
	.search-label { font-size: 1em; }
	
	#planySearch { font-size: 13px; }
	 h1 {
        font-size: 1.25em;
    }
	h2 {
        font-size: 0.9em;
    }
	.search-row:first-child {
        flex-wrap: nowrap;
    }
    .search-row .logo {
        width: 50%;
        height: auto;
        object-fit: contain;
    }
    .search-row h1 {
        width: 50%;
        font-size: 1em;
    }
}