/**
 * BuddyNext Pro — advanced profile-field styles.
 * Sizing for the Leaflet location map + small affordances for file/conditional.
 */

.bn-field--location .bn-location-search {
	width: 100%;
	margin-block-end: var(--bn-s2, 8px);
}

/* Suggestion list.
 *
 * Overlays the map rather than pushing it down: a list that reflows the form
 * under the member's cursor while they are still choosing is how you get a
 * mis-click. Colours come from the theme tokens so it follows dark mode with
 * the rest of the form. */
.bn-field--location {
	position: relative;
}

.bn-location-suggestions {
	position: absolute;
	z-index: 5; /* above the map panes (1), below site chrome */
	inset-inline: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	max-height: 260px;
	overflow-y: auto;
	background: var(--bn-surface, #fff);
	color: var(--bn-text, inherit);
	border: 1px solid var(--bn-border, #dcdcde);
	border-radius: 10px;
	box-shadow: 0 6px 24px rgb(0 0 0 / 12%);
}

.bn-location-suggestion {
	padding: var(--bn-s2, 8px) var(--bn-s3, 12px);
	cursor: pointer;
	font-size: 0.9375rem;
	line-height: 1.4;
}

.bn-location-suggestion:hover,
.bn-location-suggestion.is-active {
	background: var(--bn-surface-2, #f0f0f1);
}

/* An address rendered from its parts: one line per component. */
.bn-location-address .bn-location-line {
	display: block;
}

.bn-location-map-placeholder {
	height: 260px;
	width: 100%;
	border-radius: 10px;
	overflow: hidden;
	z-index: 0; /* keep Leaflet panes under site chrome */
}

/* Leaflet sets its own z-indexes high; contain them to the field. */
.bn-field--location .leaflet-pane,
.bn-field--location .leaflet-top,
.bn-field--location .leaflet-bottom {
	z-index: 1;
}

.bn-file-name {
	display: inline-block;
	margin-inline-start: var(--bn-s2, 8px);
	font-size: var(--bn-text-sm, 13px);
	color: var(--bn-ink-3, #6b7280);
}

.bn-field--conditional[hidden] {
	display: none;
}
