.odbdb-karta-wrap {
	width: 100%;
}

.odbdb-karta-filtri {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-bottom: 0.75rem;
}

.odbdb-karta-filter {
	display: flex;
	flex-direction: column;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #6b7a6c;
	gap: 0.3rem;
}

.odbdb-karta-filter select {
	min-width: 10rem;
	appearance: none;
	-webkit-appearance: none;
	padding: 0.55rem 2.2rem 0.55rem 0.9rem;
	font-size: 0.95rem;
	font-weight: 500;
	letter-spacing: normal;
	text-transform: none;
	color: #263327;
	background-color: #f6f4ef;
	background-image: url( "data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%232c5f2d' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E" );
	background-repeat: no-repeat;
	background-position: right 0.85rem center;
	border: 1px solid #e0ddd3;
	border-radius: 999px;
	cursor: pointer;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.odbdb-karta-filter select:focus {
	outline: none;
	border-color: #4caf50;
	box-shadow: 0 0 0 3px rgba( 76, 175, 80, 0.2 );
}

.odbdb-karta {
	width: 100%;
	height: 70vh;
	height: 70dvh;
	min-height: 320px;
}

.odbdb-karta .leaflet-popup-content h3 {
	margin: 0 0 0.35rem;
	font-size: 1rem;
}

.odbdb-karta .leaflet-popup-content p {
	margin: 0 0 0.5rem;
}

/* --- App (fullscreen) mod — koristi se u template-karta.php --- */

.odbdb-karta-wrap.is-app {
	position: relative;
	width: 100%;
	height: 100%;
}

.odbdb-karta-wrap.is-app .odbdb-karta {
	width: 100%;
	height: 100%;
	min-height: 0;
}

.odbdb-karta-wrap.is-app .odbdb-karta-filtri {
	position: absolute;
	top: 0.85rem;
	left: 0.85rem;
	z-index: 1000;
	background: rgba( 255, 255, 255, 0.94 );
	backdrop-filter: blur( 8px );
	-webkit-backdrop-filter: blur( 8px );
	padding: 0.7rem 0.85rem 0.8rem;
	border-radius: 1rem;
	box-shadow: 0 4px 18px rgba( 20, 40, 20, 0.18 );
	margin-bottom: 0;
	max-width: calc( 100% - 1.7rem );
}

.odbdb-karta-wrap.is-app .odbdb-karta-filter select {
	min-width: 8rem;
}

.odbdb-karta-sidebar {
	position: absolute;
	/* Iznad lebdećeg Skeniraj gumba (1100) — otvoreni panel ne smije
	   imati gumb preko svog sadržaja (link lokacije bio je zaklonjen). */
	z-index: 1150;
	background: #fff;
	box-shadow: 0 0 20px rgba( 0, 0, 0, 0.3 );
	overflow-y: auto;
	transition: transform 0.25s ease;
}

/* Desktop: bočni panel s lijeva, kao Google Maps */
@media ( min-width: 768px ) {
	.odbdb-karta-sidebar {
		top: 0;
		left: 0;
		bottom: 0;
		width: 380px;
		max-width: 90%;
		border-radius: 0 1rem 1rem 0;
		transform: translateX( -100% );
	}

	.odbdb-karta-sidebar.is-open {
		transform: translateX( 0 );
	}
}

/* Mobitel: bottom sheet */
@media ( max-width: 767.98px ) {
	.odbdb-karta-sidebar {
		left: 0;
		right: 0;
		bottom: 0;
		max-height: 65vh;
		max-height: 65dvh;
		border-radius: 1rem 1rem 0 0;
		transform: translateY( 100% );
	}

	.odbdb-karta-sidebar.is-open {
		transform: translateY( 0 );
	}
}

.odbdb-karta-sidebar-zatvori {
	position: sticky;
	top: 0.75rem;
	float: right;
	margin-right: 0.75rem;
	width: 2.5rem;
	height: 2.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 50%;
	background: #2c5f2d;
	color: #fff;
	font-size: 1.35rem;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba( 20, 40, 20, 0.25 );
	z-index: 5;
}

.odbdb-karta-sidebar-sadrzaj {
	padding: 1rem 1.25rem 1.5rem;
	clear: both;
}

.odbdb-karta-sidebar-slika {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0.5rem;
	margin-bottom: 0.75rem;
}

.odbdb-karta-sidebar-meta {
	color: #666;
	font-size: 0.85rem;
	margin: -0.25rem 0 0.75rem;
}

.odbdb-karta-sidebar-link {
	display: inline-block;
	margin-top: 0.5rem;
	font-weight: 600;
}

/* --- App bar (minimalna traka iznad karte) --- */

.odbdb-app {
	display: flex;
	flex-direction: column;
	height: 100vh;
	height: 100dvh;
}

.odbdb-app-bar {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	height: 3.25rem;
	padding: 0 1.1rem;
	background: #2c5f2d;
	color: #fff;
	box-shadow: 0 2px 8px rgba( 20, 40, 20, 0.25 );
	z-index: 1200;
}

.odbdb-app-bar a {
	font-weight: 800;
	font-size: 1.05rem;
	letter-spacing: 0.01em;
	text-decoration: none;
	color: #fff;
}

.odbdb-app-bar a::before {
	content: '⬡ ';
	color: #9dd49f;
	font-weight: 400;
}

.odbdb-app-body {
	flex: 1 1 auto;
	position: relative;
	min-height: 0;
}

/* Leaflet kontrole i popup — zaobljeno, mekša sjena, u paleti */
.odbdb-karta .leaflet-control-zoom {
	border: 0;
	border-radius: 0.7rem;
	overflow: hidden;
	box-shadow: 0 4px 14px rgba( 20, 40, 20, 0.2 );
}

.odbdb-karta .leaflet-control-zoom a {
	width: 2.4rem;
	height: 2.4rem;
	line-height: 2.4rem;
	color: #2c5f2d;
	font-weight: 700;
	border-color: #eceae3;
}

.odbdb-karta .leaflet-popup-content-wrapper {
	border-radius: 0.8rem;
	box-shadow: 0 6px 22px rgba( 20, 40, 20, 0.22 );
}
