.ml-map-page,
.ml-nights-page {
	max-width: 1100px;
	margin: 0 auto;
	padding: 24px 16px 64px;
}

.ml-map-hero {
	margin-bottom: 18px;
}

.ml-map-hero h1,
.ml-nights-page h1,
.ml-night h1 {
	color: #fff8fb;
	text-shadow: 0 0 22px rgba(255, 79, 154, 0.55);
}

.ml-kicker {
	letter-spacing: 0.16em;
	text-transform: uppercase;
	font-size: 12px;
	color: #ff8ac0;
}

.ml-map {
	min-height: 420px;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 0 28px rgba(255, 64, 140, 0.4);
}

.ml-map-wide {
	min-height: min(70vh, 640px);
}

.ml-pin-editor {
	margin: 24px 0;
	padding: 16px;
	border-radius: 16px;
	background: #1c0b14;
	color: #fff7fb;
}

.ml-pin-save,
.ml-city-go,
.ml-night-form button,
.ml-rsvp button {
	min-height: 44px;
	border: 0;
	border-radius: 999px;
	padding: 0 18px;
	font-weight: 800;
	color: #4a1733;
	background: linear-gradient(135deg, #ffd0e6, #ff4f9a);
	cursor: pointer;
}

.ml-pin-search {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.ml-city-search {
	min-height: 44px;
	min-width: min(100%, 280px);
	border-radius: 999px;
	border: 1px solid rgba(255, 170, 208, 0.45);
	background: rgba(28, 11, 20, 0.9);
	color: #fff;
	padding: 0 16px;
}

.ml-countries {
	margin: 0 0 18px;
}

.ml-countries h2 {
	color: #fff8fb;
	font-size: 18px;
	text-shadow: 0 0 18px rgba(255, 79, 154, 0.45);
}

.ml-country-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ml-country-chips li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 40px;
	padding: 0 14px;
	border-radius: 999px;
	background: rgba(255, 79, 154, 0.16);
	box-shadow: 0 0 16px rgba(255, 64, 140, 0.28);
	color: #fff7fb;
	font-weight: 700;
}

.ml-country-go {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 40px;
	border: 0;
	padding: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	cursor: pointer;
}

.ml-city-hits {
	list-style: none;
	margin: 8px 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.ml-city-hits button {
	width: 100%;
	text-align: left;
	min-height: 40px;
	border: 0;
	border-radius: 12px;
	padding: 0 14px;
	color: #fff8fb;
	background: rgba(255, 79, 154, 0.18);
	cursor: pointer;
}

.ml-country-n {
	color: #ffd0e6;
}

.leaflet-interactive {
	filter: drop-shadow(0 0 10px rgba(255, 79, 154, 0.85));
}

.ml-place-people {
	margin: 0 0 18px;
}

.ml-place-people-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ml-place-people-list a {
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 4px 12px 4px 4px;
	border-radius: 999px;
	color: #fff7fb;
	text-decoration: none;
	background: rgba(255, 79, 154, 0.16);
}

.ml-place-people-list img,
.ml-pin-avatar img,
.ml-pin-pop-avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	object-fit: cover;
}

.ml-pin-avatar {
	background: transparent;
	border: 0;
}

.leaflet-popup-content {
	color: #2a1020;
}
