/* Orchestra Map – Frontend */
.orchestra-map-wrap {
	position: relative;
	font-family: inherit;
}

/* ---- Search (map-embedded + standalone [orchestra_search]) ---- */
.orchestra-map-search {
	position: relative;
	margin-bottom: 10px;
}
.orchestra-map-search--bottom {
	margin-top: 10px;
	margin-bottom: 0;
}

/* Shared styles for all search input fields */
#orchestraSearch,
.om-standalone-input {
	width: 100%;
	padding: 10px 16px;
	font-size: 1rem;
	border: 2px solid var(--om-search-border, #e54400);
	border-radius: 8px;
	outline: none;
	box-sizing: border-box;
	background: var(--om-search-bg, #f9f9fb);
	transition: border-color .2s;
	font-family: inherit;
}
#orchestraSearch:focus,
.om-standalone-input:focus {
	border-color: var(--om-search-focus-border, #136ea3);
}

/* Shared styles for all search result dropdowns */
#orchestraSearchResults,
.om-standalone-results {
	position: absolute;
	z-index: 9999;
	width: 100%;
	background: #fff;
	border: 1px solid #ddd;
	border-top: none;
	border-radius: 0 0 8px 8px;
	max-height: 240px;
	overflow-y: auto;
	box-shadow: 0 4px 12px rgba(0,0,0,.15);
	display: none;
}
/* Search bar at bottom: dropdown opens upward */
#orchestraSearchResults.om-results--up {
	bottom: 100%;
	top: auto;
	border-top: 1px solid #ddd;
	border-bottom: none;
	border-radius: 8px 8px 0 0;
	box-shadow: 0 -4px 12px rgba(0,0,0,.15);
}

.om-search-item {
	padding: 10px 16px;
	cursor: pointer;
	border-bottom: 1px solid #f0f0f0;
	transition: background .15s;
}
.om-search-item:hover { background: #fff1ec; }
.om-search-item strong { display: block; }
.om-search-item span   { font-size: .85rem; color: #777; }

/* ---- Map ---- */
#orchestraMap {
	border-radius: 10px;
	border: 2px solid var(--om-map-border, #e54400);
	border-radius: var(--om-map-radius, 10px);
	box-shadow: 0 2px 12px rgba(0,0,0,.12);
}

/* ---- Info-Panel ---- */
.orchestra-panel {
	margin-top: 12px;
	background: var(--om-panel-bg, #f9f9fb);
	border: 1px solid var(--om-panel-border, #f0c8be);
	border-left: 4px solid var(--om-panel-accent, #e54400);
	border-radius: 8px;
	padding: 16px 20px;
	box-shadow: 0 2px 8px rgba(0,0,0,.08);
}
.orchestra-panel.hidden { display: none; }
.orchestra-panel h3 { margin: 0 0 8px; font-size: var(--om-panel-title-size, 1.1rem); }
.orchestra-panel p  { margin: 4px 0; font-size: var(--om-panel-font-size, .9rem); }
.orchestra-panel a  { color: var(--om-panel-link, #136ea3); }

/* ---- Leaflet Popup ---- */
.om-popup h4 { margin: 0 0 6px; font-size: 1rem; color: var(--om-popup-heading-color, #212326); }
.om-popup p  { margin: 3px 0; font-size: .85rem; color: var(--om-popup-text-color, #434549); }
.om-popup a  { color: var(--om-popup-link-color, #136ea3); font-weight: 600; }

/* ---- Custom Marker ---- */
.om-marker-icon {
	width: 32px; height: 32px;
	background: var(--om-marker-color, #e54400);
	border: 3px solid #fff;
	border-radius: 50% 50% 50% 0;
	transform: rotate(-45deg);
	box-shadow: 0 2px 6px rgba(0,0,0,.35);
}
