/* City / Itinerary list — giá trị chính xác từ Figma node 570:357.
   Base (card/btn/cta/typography Geist) nạp từ fdmc-itinerary.css. Scoped .fdmc-city-list. */

/* ── City hero (1440x500, pad 80, image bg) ──────────────── */
.fdmc-city-hero {
	position: relative;
	min-height: 500px;
	background-size: cover;
	background-position: center;
	background-color: var(--navy);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 24px;
	padding: 80px 20px;
	text-align: center;
	color: #fff;
}

.fdmc-city-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, rgba(10, 17, 40, .30), rgba(10, 17, 40, .50));
}

.fdmc-city-hero__crumb {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
	color: #fff;
}

.fdmc-city-hero__crumb .is-current {
	color: var(--gold);
}

.fdmc-city-hero__box {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	padding: 16px 24px;
	background: rgba(255, 255, 255, .20);
	backdrop-filter: blur(2px);
}

.fdmc-city-hero__title {
	font-size: 40px;
	font-weight: 600;
	line-height: 52px;
	letter-spacing: 1.6px;
	margin: 0;
	color: #fff;
}

.fdmc-city-hero__sub {
	margin: 0;
	font-size: 16px;
	font-weight: 400;
	line-height: 22px;
	letter-spacing: 3.2px;
	color: #fff;
}

/* ── Filter bar (pad 32/80, border-bottom) ───────────────── */
.fdmc-city-bar {
	max-width: var(--wrap);
	margin: 0 auto;
	padding: 32px 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}

.fdmc-city-bar-ss {
	border-bottom: 1px solid var(--border);
}

.fdmc-city-bar__filters {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	align-items: center;
}

.fdmc-pill {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 12px 20px;
	border-radius: 8px;
	border: 1px solid transparent;
	font-size: 16px;
	font-weight: 500;
	line-height: 24px;
	color: var(--teal);
	text-decoration: none;
	background: none;
	cursor: pointer;
	transition: border-color .2s, background .2s;
}

.fdmc-pill:hover {
	border-color: var(--teal);
}

.fdmc-pill.is-active {
	border-color: var(--teal);
}

.fdmc-pill__count {
	font-weight: 500;
}

.fdmc-sort {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 12px 20px;
	border-radius: 8px;
	border: 1px solid var(--teal);
	font-size: 16px;
	font-weight: 500;
	line-height: 24px;
	color: var(--teal);
	background: none;
}

/* ── Listing (pad 60/80, gap 32) + grid 2col ─────────────── */
.fdmc-city-grid-wrap {
	max-width: var(--wrap);
	margin: 0 auto;
	padding: 60px 0;
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.fdmc-city-grid {
	grid-template-columns: repeat(2, 1fr);
	gap: 32px;
}

.fdmc-city-grid.is-loading {
	opacity: .5;
	pointer-events: none;
	transition: opacity .2s;
}

.fdmc-city-empty {
	grid-column: 1 / -1;
	color: var(--grey);
	padding: 40px 0;
	text-align: center;
}

.fdmc-city-more {
	display: flex;
	justify-content: center;
}

.fdmc-city-more[hidden] {
	display: none;
}

.fdmc-city-more__btn {
	min-width: 220px;
}

@media (max-width: 720px) {
	.fdmc-city-grid {
		grid-template-columns: 1fr;
	}

	.fdmc-city-hero {
		min-height: 380px;
	}

	.fdmc-city-hero__title {
		font-size: 30px;
		line-height: 40px;
	}

	.fdmc-city-bar {
		justify-content: flex-start;
	}
}