.mwl-city-refonte {
	--mwl-city-green: #007f67;
	--mwl-city-green-dark: #005d4d;
	--mwl-city-green-soft: #e8f7ef;
	--mwl-city-text: #111827;
	--mwl-city-muted: #64748b;
	--mwl-city-line: #e2e8f0;
	--mwl-city-card: #ffffff;
	box-sizing: border-box;
	width: min(760px, calc(100% - 32px));
	max-width: 760px;
	padding: 0 16px 56px;
	color: var(--mwl-city-text);
}

.mwl-city-refonte *,
.mwl-city-refonte *::before,
.mwl-city-refonte *::after {
	box-sizing: border-box;
}

.mwl-city-refonte a {
	color: inherit;
	text-decoration: none;
}

.mwl-city-refonte .screen-reader-text,
body.mwl-city-refonte-preview .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.mwl-city-hero {
	position: relative;
	z-index: 30;
	min-height: 360px;
	margin: 0 -16px 28px;
	overflow: visible;
	border-radius: 0 0 24px 24px;
	background: linear-gradient(135deg, #064e3b, #0f766e);
	box-shadow: 0 20px 48px rgba(15, 23, 42, .18);
}

.mwl-city-hero.has-image {
	background-image: linear-gradient(180deg, rgba(3, 7, 18, .08) 0%, rgba(3, 7, 18, .76) 58%, rgba(3, 7, 18, .88) 100%), var(--mwl-city-hero-image);
	background-position: center;
	background-size: cover;
}

.mwl-city-hero__overlay {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 12px;
	padding: 112px 24px 22px;
	color: #fff;
}

.mwl-city-hero__eyebrow {
	width: fit-content;
	margin: 0;
	border: 1px solid rgba(255, 255, 255, .32);
	border-radius: 999px;
	padding: 4px 10px;
	background: rgba(0, 0, 0, .18);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.mwl-city-hero h1 {
	margin: 0;
	color: #fff;
	font-size: clamp(2.75rem, 18vw, 4rem);
	font-weight: 900;
	line-height: .96;
	letter-spacing: -.07em;
	text-shadow: 0 4px 18px rgba(0, 0, 0, .38);
}

.mwl-city-hero p:not(.mwl-city-hero__eyebrow) {
	max-width: 440px;
	margin: 0;
	color: rgba(255, 255, 255, .95);
	font-size: .98rem;
	font-weight: 650;
	line-height: 1.5;
	text-shadow: 0 2px 10px rgba(0, 0, 0, .34);
}

.mwl-city-hero-search {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 52px;
	gap: 8px;
	width: 100%;
	margin: 8px 0 4px;
	border-radius: 16px;
	padding: 8px;
	background: rgba(255, 255, 255, .98);
	box-shadow: 0 18px 44px rgba(0, 0, 0, .28);
}

.mwl-city-hero-search input[type="search"] {
	width: 100%;
	min-height: 48px;
	border: 0;
	border-radius: 12px;
	padding: 0 12px;
	background: transparent;
	color: #0f172a;
	font-size: .94rem;
	outline: none;
}

.mwl-city-hero-search button {
	display: grid;
	place-items: center;
	min-height: 48px;
	border: 0;
	border-radius: 13px;
	background: linear-gradient(135deg, var(--mwl-city-green), var(--mwl-city-green-dark));
	color: #fff;
	font-size: 1.35rem;
	font-weight: 900;
	cursor: pointer;
}

.mwl-city-hero-kpis {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	margin-top: 8px;
}

.mwl-city-hero-kpis div {
	display: grid;
	place-items: center;
	gap: 4px;
	min-height: 78px;
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 14px;
	padding: 10px 6px;
	background: rgba(0, 0, 0, .46);
	backdrop-filter: blur(10px);
	text-align: center;
}

.mwl-city-hero-kpis strong {
	color: #fff;
	font-size: 1.48rem;
	font-weight: 900;
	line-height: 1;
}

.mwl-city-hero-kpis span {
	color: rgba(255, 255, 255, .9);
	font-size: .68rem;
	font-weight: 800;
	line-height: 1.2;
}

.mwl-city-section {
	margin: 30px 0 0;
}

.mwl-city-section--tight {
	margin-top: 26px;
}

.mwl-city-section__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 14px;
}

.mwl-city-section h2,
.mwl-city-section__head h2,
.mwl-city-conversion-card h2,
.mwl-city-contribution-card h2 {
	margin: 0;
	color: #0f172a;
	font-size: 1.08rem;
	font-weight: 900;
	letter-spacing: -.025em;
	line-height: 1.25;
}

.mwl-city-section h2 span {
	color: var(--mwl-city-muted);
	font-size: .82rem;
	font-weight: 700;
}

.mwl-city-section__head a {
	color: var(--mwl-city-green);
	font-size: .82rem;
	font-weight: 850;
}

.mwl-city-category-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.mwl-city-category-card {
	position: relative;
	display: grid;
	gap: 6px;
	min-height: 116px;
	border: 1px solid var(--mwl-city-line);
	border-radius: 14px;
	padding: 14px;
	background: #fff;
	box-shadow: 0 9px 22px rgba(15, 23, 42, .045);
}

.mwl-city-category-card__icon {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 999px;
	background: #ecfdf5;
	color: var(--mwl-city-green);
	font-size: 1.18rem;
	font-weight: 900;
}

.mwl-city-category-card.is-orange .mwl-city-category-card__icon { background: #fff1dc; color: #f97316; }
.mwl-city-category-card.is-green .mwl-city-category-card__icon { background: #dcfce7; color: #16a34a; }
.mwl-city-category-card.is-blue .mwl-city-category-card__icon { background: #dbeafe; color: #2563eb; }
.mwl-city-category-card.is-amber .mwl-city-category-card__icon { background: #ffedd5; color: #d97706; }
.mwl-city-category-card.is-purple .mwl-city-category-card__icon { background: #f3e8ff; color: #9333ea; }
.mwl-city-category-card.is-pink .mwl-city-category-card__icon { background: #fce7f3; color: #db2777; }
.mwl-city-category-card.is-red .mwl-city-category-card__icon { background: #fee2e2; color: #ef4444; }

.mwl-city-category-card strong {
	color: #0f172a;
	font-size: .92rem;
	font-weight: 900;
}

.mwl-city-category-card small {
	color: var(--mwl-city-muted);
	font-size: .82rem;
	font-weight: 700;
}

.mwl-city-category-card__chevron {
	position: absolute;
	right: 14px;
	top: 50%;
	color: #0f172a;
	font-size: 1.4rem;
	transform: translateY(-50%);
}

.mwl-city-popular-searches,
.mwl-city-new-list,
.mwl-city-directory-list,
.mwl-city-contribution-actions,
.mwl-city-activity-grid {
	display: grid;
	gap: 10px;
}

.mwl-city-popular-searches a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 54px;
	border: 1px solid var(--mwl-city-line);
	border-radius: 14px;
	padding: 0 14px;
	background: #fff;
	box-shadow: 0 8px 18px rgba(15, 23, 42, .035);
}

.mwl-city-popular-searches span {
	font-weight: 750;
}

.mwl-city-popular-searches strong {
	color: var(--mwl-city-green);
}

.mwl-city-new-card,
.mwl-city-directory-card {
	display: grid;
	grid-template-columns: 78px minmax(0, 1fr);
	gap: 12px;
	border: 1px solid var(--mwl-city-line);
	border-radius: 16px;
	padding: 10px;
	background: #fff;
	box-shadow: 0 10px 26px rgba(15, 23, 42, .045);
}

.mwl-city-new-card__media,
.mwl-city-directory-card__media {
	position: relative;
	display: grid;
	place-items: center;
	width: 78px;
	height: 78px;
	overflow: hidden;
	border-radius: 13px;
	background: linear-gradient(135deg, #e8f7ef, #f8fafc);
	color: var(--mwl-city-green);
	font-size: 1.35rem;
	font-weight: 900;
}

.mwl-city-new-card__media img,
.mwl-city-directory-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mwl-city-new-card__media span:last-child {
	position: absolute;
	left: 6px;
	bottom: 5px;
	border-radius: 999px;
	padding: 3px 6px;
	background: #22c55e;
	color: #052e16;
	font-size: .56rem;
	font-weight: 950;
	letter-spacing: .02em;
	text-transform: uppercase;
}

.mwl-city-new-card__body,
.mwl-city-directory-card__body,
.mwl-city-featured-card__body {
	min-width: 0;
}

.mwl-city-new-card h3,
.mwl-city-directory-card h3,
.mwl-city-featured-card h3 {
	margin: 0 0 5px;
	color: #0f172a;
	font-size: .98rem;
	font-weight: 900;
	line-height: 1.25;
}

.mwl-city-new-card p,
.mwl-city-directory-card p,
.mwl-city-featured-card p {
	margin: 0 0 5px;
	color: #475569;
	font-size: .82rem;
	font-weight: 650;
	line-height: 1.35;
}

.mwl-city-new-card time,
.mwl-city-directory-card span,
.mwl-city-directory-card small,
.mwl-city-featured-card small {
	color: var(--mwl-city-muted);
	font-size: .77rem;
	font-weight: 700;
}

.mwl-city-outline-cta,
.mwl-city-primary-cta,
.mwl-city-secondary-cta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	min-height: 52px;
	border-radius: 14px;
	font-weight: 900;
	text-align: center;
}

.mwl-city-outline-cta {
	margin-top: 14px;
	border: 1px solid var(--mwl-city-green);
	background: #fff;
	color: var(--mwl-city-green-dark);
}

.mwl-city-featured-rail {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(268px, 88%);
	gap: 14px;
	overflow-x: auto;
	padding: 1px 1px 12px;
	scroll-snap-type: x mandatory;
}

.mwl-city-featured-card {
	overflow: hidden;
	border: 1px solid var(--mwl-city-line);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 14px 34px rgba(15, 23, 42, .07);
	scroll-snap-align: start;
}

.mwl-city-featured-card__media {
	position: relative;
	display: grid;
	place-items: center;
	min-height: 184px;
	background: linear-gradient(135deg, #064e3b, #0f766e);
	color: #fff;
	font-size: 2rem;
}

.mwl-city-featured-card__media img {
	width: 100%;
	height: 184px;
	object-fit: cover;
}

.mwl-city-featured-card__badge {
	position: absolute;
	right: 10px;
	top: 10px;
	border-radius: 999px;
	padding: 7px 10px;
	background: #facc15;
	color: #422006;
	font-size: .75rem;
	font-weight: 950;
}

.mwl-city-featured-card__body {
	padding: 14px;
}

.mwl-city-featured-card__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.mwl-city-featured-card__meta span {
	color: #f59e0b;
	font-weight: 900;
}

.mwl-city-featured-card__meta a {
	margin-left: auto;
	color: var(--mwl-city-green-dark);
	font-size: .82rem;
	font-weight: 900;
}

.mwl-city-stats-card {
	display: grid;
	gap: 16px;
	border: 1px solid #bbf7d0;
	border-radius: 18px;
	padding: 20px;
	background: linear-gradient(135deg, #effdf5, #ffffff 65%);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .72), 0 12px 28px rgba(16, 185, 129, .08);
}

.mwl-city-stats-card div,
.mwl-city-activity-grid div {
	display: grid;
	grid-template-columns: 48px minmax(0, auto) 1fr;
	align-items: center;
	column-gap: 12px;
}

.mwl-city-stats-card span,
.mwl-city-activity-grid span {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 999px;
	background: #dcfce7;
	font-size: 1.2rem;
}

.mwl-city-stats-card strong,
.mwl-city-activity-grid strong {
	color: #0f172a;
	font-size: 1.05rem;
	font-weight: 950;
}

.mwl-city-stats-card small,
.mwl-city-activity-grid small {
	color: #334155;
	font-size: .83rem;
	font-weight: 700;
}

.mwl-city-activity-grid div {
	min-height: 74px;
	border: 1px solid var(--mwl-city-line);
	border-radius: 16px;
	padding: 12px;
	background: #fff;
	box-shadow: 0 8px 18px rgba(15, 23, 42, .035);
}

.mwl-city-conversion-card,
.mwl-city-contribution-card {
	margin-top: 28px;
	border-radius: 18px;
	padding: 22px;
}

.mwl-city-conversion-card {
	border: 1px solid #a7f3d0;
	background: linear-gradient(135deg, #e8fff5, #ffffff 70%);
}

.mwl-city-contribution-card {
	border: 1px solid #fde68a;
	background: linear-gradient(135deg, #fff7df, #ffffff 70%);
}

.mwl-city-conversion-card p,
.mwl-city-contribution-card p {
	margin: 10px 0 18px;
	color: #334155;
	font-size: .93rem;
	font-weight: 650;
	line-height: 1.5;
}

.mwl-city-primary-cta {
	background: linear-gradient(135deg, var(--mwl-city-green), var(--mwl-city-green-dark));
	color: #fff;
	box-shadow: 0 14px 28px rgba(0, 127, 103, .22);
}

.mwl-city-secondary-cta {
	margin-top: 14px;
	background: linear-gradient(135deg, #facc15, #f59e0b);
	color: #422006;
}

.mwl-city-contribution-actions a {
	display: grid;
	grid-template-columns: 36px 1fr auto;
	align-items: center;
	gap: 10px;
	min-height: 52px;
	border: 1px solid #fde68a;
	border-radius: 14px;
	padding: 8px 12px;
	background: rgba(255, 255, 255, .9);
	color: #1f2937;
	font-size: .88rem;
	font-weight: 800;
}

.mwl-city-contribution-actions span {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 999px;
	background: #fff7ed;
}

.mwl-city-directory h2 {
	margin-bottom: 16px;
}

.mwl-city-directory-tools {
	display: grid;
	gap: 12px;
	margin-bottom: 18px;
}

.mwl-city-directory-tools > label {
	position: relative;
	display: block;
}

.mwl-city-directory-tools input[type="search"] {
	width: 100%;
	min-height: 54px;
	border: 1px solid var(--mwl-city-line);
	border-radius: 14px;
	padding: 0 42px 0 14px;
	background: #fff;
	box-shadow: 0 8px 18px rgba(15, 23, 42, .035);
}

.mwl-city-directory-tools > label::after {
	content: '🔎';
	position: absolute;
	right: 16px;
	top: 50%;
	color: #64748b;
	font-size: 1.1rem;
	transform: translateY(-50%);
}

.mwl-city-directory-tools > div {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.mwl-city-tool-button {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 52px;
	border: 1px solid var(--mwl-city-line);
	border-radius: 13px;
	background: #fff;
	color: #0f172a;
	font-weight: 850;
}

.mwl-city-tool-button select {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: pointer;
}

.mwl-city-directory__count {
	margin: 0 0 14px;
	color: #475569;
	font-size: .9rem;
	font-weight: 750;
}

.mwl-city-directory-card {
	grid-template-columns: 78px minmax(0, 1fr) 28px;
	align-items: center;
	padding: 12px;
}

.mwl-city-directory-card__save {
	display: grid;
	place-items: center;
	align-self: start;
	width: 28px;
	height: 34px;
	color: #64748b;
	font-size: 1.1rem;
}

.mwl-city-directory-card small {
	display: block;
	margin-top: 5px;
	color: #f59e0b;
}

.mwl-city-empty-state {
	border: 1px dashed var(--mwl-city-line);
	border-radius: 16px;
	padding: 18px;
	background: #fff;
	color: var(--mwl-city-muted);
	text-align: center;
}

.mwl-city-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 18px;
}

.mwl-city-pagination .page-numbers {
	display: grid;
	place-items: center;
	min-width: 38px;
	height: 38px;
	border: 1px solid var(--mwl-city-line);
	border-radius: 10px;
	background: #fff;
	color: #0f172a;
	font-weight: 850;
}

.mwl-city-pagination .page-numbers.current {
	border-color: var(--mwl-city-green);
	background: var(--mwl-city-green);
	color: #fff;
}

.mwl-city-pagination.is-live-results {
	justify-content: stretch;
}

.mwl-city-live-results-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
	border: 1px solid var(--mwl-city-green);
	border-radius: 14px;
	padding: 0 18px;
	background: #fff;
	color: var(--mwl-city-green-dark);
	font-weight: 850;
	text-align: center;
}

.mwl-city-live-results-link::after {
	content: '→';
	margin-left: 8px;
}

@media (min-width: 760px) {
	.mwl-city-refonte {
		width: min(1160px, calc(100% - 48px));
		max-width: 1160px;
		padding-inline: 20px;
	}

	.mwl-city-hero {
		min-height: 430px;
		margin: 0 0 34px;
		border-radius: 28px;
	}

	.mwl-city-hero__overlay {
		max-width: 720px;
		padding: 44px;
	}

	.mwl-city-hero h1 {
		font-size: clamp(3.5rem, 7vw, 6rem);
	}

	.mwl-city-category-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.mwl-city-popular-searches {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mwl-city-new-list,
	.mwl-city-activity-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.mwl-city-featured-rail {
		grid-auto-flow: initial;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		overflow: visible;
	}

	.mwl-city-stats-card {
		grid-template-columns: repeat(5, minmax(0, 1fr));
		align-items: start;
	}

	.mwl-city-stats-card div {
		grid-template-columns: 1fr;
		justify-items: center;
		gap: 8px;
		text-align: center;
	}

	.mwl-city-directory-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mwl-city-directory-tools {
		grid-template-columns: minmax(0, 1fr) 320px;
		align-items: center;
	}
}

/* Feedback refinement: lighter hierarchy + category template */
.mwl-city-refonte {
	font-weight: 400;
}

.mwl-city-section {
	margin-top: 36px;
}

.mwl-city-section h2,
.mwl-city-section__head h2,
.mwl-city-conversion-card h2,
.mwl-city-contribution-card h2 {
	font-size: clamp(1.18rem, 2vw, 1.55rem);
	font-weight: 800;
	letter-spacing: -.035em;
}

.mwl-city-section__head--intro {
	align-items: flex-start;
	margin-bottom: 24px;
}

.mwl-city-section__head--intro > div {
	min-width: 0;
}

.mwl-city-section__head--intro h2 {
	font-size: clamp(1.7rem, 3.2vw, 2.25rem);
	line-height: 1.05;
}

.mwl-city-section__head--intro h2 span {
	color: var(--mwl-city-green);
	font-size: inherit;
	font-weight: inherit;
}

.mwl-city-section__head--intro p {
	margin: 12px 0 0;
	color: #475569;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.55;
}

.mwl-city-section__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 44px;
	border: 1px solid var(--mwl-city-green);
	border-radius: 10px;
	padding: 0 18px;
	background: #fff;
	color: var(--mwl-city-green-dark);
	font-size: .92rem;
	font-weight: 700;
	white-space: nowrap;
}

.mwl-city-section__head a:not(.mwl-city-section__button) {
	font-weight: 700;
}

.mwl-city-category-grid {
	grid-template-columns: 1fr;
	gap: 16px;
}

.mwl-city-category-card {
	--cat-color: var(--mwl-city-green);
	--cat-soft: #e8f7ef;
	--cat-pill: #e8f7ef;
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	grid-template-rows: auto 1px auto;
	align-items: start;
	column-gap: 18px;
	row-gap: 16px;
	min-height: 166px;
	border-color: #dbe3ec;
	border-radius: 16px;
	padding: 18px;
	box-shadow: 0 10px 26px rgba(15, 23, 42, .045);
	transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.mwl-city-category-card:hover,
.mwl-city-category-card:focus-visible {
	border-color: color-mix(in srgb, var(--cat-color) 35%, #dbe3ec);
	box-shadow: 0 16px 34px rgba(15, 23, 42, .075);
	transform: translateY(-1px);
	outline: none;
}

.mwl-city-category-card.is-orange { --cat-color: #f97316; --cat-soft: #fff4e6; --cat-pill: #fff7ed; }
.mwl-city-category-card.is-green { --cat-color: #16a34a; --cat-soft: #e7f9ee; --cat-pill: #eafaf0; }
.mwl-city-category-card.is-blue { --cat-color: #2563eb; --cat-soft: #eaf1ff; --cat-pill: #eff6ff; }
.mwl-city-category-card.is-amber { --cat-color: #d97706; --cat-soft: #fff4e6; --cat-pill: #fff7ed; }
.mwl-city-category-card.is-purple { --cat-color: #8b3fdc; --cat-soft: #f4eafb; --cat-pill: #f6edff; }
.mwl-city-category-card.is-pink { --cat-color: #db2777; --cat-soft: #fde8f3; --cat-pill: #fdf2f8; }
.mwl-city-category-card.is-red { --cat-color: #dc2626; --cat-soft: #fee2e2; --cat-pill: #fef2f2; }
.mwl-city-category-card.is-teal { --cat-color: #0d9488; --cat-soft: #dff7f4; --cat-pill: #e6fffb; }

.mwl-city-category-card__icon {
	width: 64px;
	height: 64px;
	background: var(--cat-soft) !important;
	color: var(--cat-color) !important;
	font-size: 1.58rem;
	font-weight: 750;
}

.mwl-city-category-card__body {
	display: grid;
	gap: 8px;
	min-width: 0;
}

.mwl-city-category-card strong {
	font-size: 1.08rem;
	font-weight: 750;
	line-height: 1.22;
}

.mwl-city-category-card__desc {
	color: #1f2937;
	font-size: .94rem;
	font-weight: 400;
	line-height: 1.45;
}

.mwl-city-category-card small {
	width: fit-content;
	border: 1px solid color-mix(in srgb, var(--cat-color) 18%, #fff);
	border-radius: 7px;
	padding: 5px 9px;
	background: var(--cat-pill);
	color: var(--cat-color);
	font-size: .84rem;
	font-weight: 650;
}

.mwl-city-category-card__divider {
	grid-column: 1 / -1;
	height: 1px;
	background: #e5eaf0;
}

.mwl-city-category-card__action {
	grid-column: 1 / -1;
	justify-self: center;
	color: var(--cat-color);
	font-size: .92rem;
	font-weight: 700;
}

.mwl-city-category-card__chevron {
	display: none;
}

.mwl-city-category-merchant {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(240px, .9fr) minmax(220px, .8fr);
	align-items: center;
	gap: 22px;
	margin-top: 22px;
	border: 1px solid #cdeee3;
	border-radius: 16px;
	padding: 20px 24px;
	background: linear-gradient(135deg, #eefcf7, #f8fffc 78%);
}

.mwl-city-category-merchant__intro,
.mwl-city-category-help > div {
	display: flex;
	align-items: center;
	gap: 16px;
	min-width: 0;
}

.mwl-city-category-merchant__intro > span,
.mwl-city-category-help > div > span {
	display: grid;
	width: 58px;
	height: 58px;
	place-items: center;
	flex: 0 0 auto;
	border: 1px solid #bdebd8;
	border-radius: 999px;
	background: #fff;
	color: var(--mwl-city-green);
	font-size: 1.45rem;
}

.mwl-city-category-merchant strong,
.mwl-city-category-help strong {
	display: block;
	color: #0f172a;
	font-size: 1.02rem;
	font-weight: 750;
	line-height: 1.25;
}

.mwl-city-category-merchant p,
.mwl-city-category-help p {
	margin: 6px 0 0;
	color: #334155;
	font-size: .94rem;
	font-weight: 400;
	line-height: 1.45;
}

.mwl-city-category-merchant__stat {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	align-items: center;
	gap: 2px 12px;
	border: 1px solid #cdeee3;
	border-radius: 12px;
	padding: 14px 18px;
	background: rgba(255, 255, 255, .72);
}

.mwl-city-category-merchant__stat span {
	grid-row: span 2;
	color: var(--mwl-city-green);
	font-size: 1.8rem;
}

.mwl-city-category-merchant__stat strong {
	color: var(--mwl-city-green);
	font-size: 1.06rem;
}

.mwl-city-category-merchant__stat small,
.mwl-city-category-merchant__cta small {
	color: #334155;
	font-size: .86rem;
	font-weight: 500;
}

.mwl-city-category-merchant__cta {
	display: grid;
	justify-items: center;
	gap: 10px;
}

.mwl-city-category-merchant__cta .mwl-city-primary-cta {
	min-height: 48px;
	border-radius: 10px;
	color: #fff;
	font-weight: 750;
}

.mwl-city-refonte .mwl-city-primary-cta {
	color: #fff;
}

.mwl-city-refonte .mwl-city-secondary-cta {
	color: #422006;
}

.mwl-city-refonte .mwl-city-outline-cta {
	color: var(--mwl-city-green-dark);
}

.mwl-city-category-help {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 18px;
	margin-top: 18px;
	border: 1px solid #fde5ba;
	border-radius: 15px;
	padding: 18px 22px;
	background: linear-gradient(135deg, #fff8e8, #fffdf7 78%);
}

.mwl-city-category-help > div > span {
	border-color: #f9d37d;
	color: #f5b400;
}

.mwl-city-category-help nav {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}

.mwl-city-category-help nav a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	border: 1px solid #f5d8ad;
	border-radius: 10px;
	padding: 0 18px;
	background: rgba(255, 255, 255, .72);
	color: #0f172a;
	font-size: .92rem;
	font-weight: 700;
}

.mwl-city-popular-searches span {
	font-weight: 600;
}

.mwl-city-new-card h3,
.mwl-city-directory-card h3,
.mwl-city-featured-card h3 {
	font-weight: 760;
}

.mwl-city-new-card p,
.mwl-city-directory-card p,
.mwl-city-featured-card p,
.mwl-city-new-card time,
.mwl-city-directory-card span,
.mwl-city-directory-card small,
.mwl-city-featured-card small,
.mwl-city-directory__count {
	font-weight: 500;
}

.mwl-city-outline-cta,
.mwl-city-primary-cta,
.mwl-city-secondary-cta,
.mwl-city-tool-button,
.mwl-city-pagination .page-numbers {
	font-weight: 750;
}

.mwl-city-featured-card__meta span,
.mwl-city-featured-card__meta a,
.mwl-city-contribution-actions a {
	font-weight: 700;
}

.mwl-city-stats-card strong,
.mwl-city-activity-grid strong {
	font-weight: 800;
}

.mwl-city-stats-card small,
.mwl-city-activity-grid small,
.mwl-city-conversion-card p,
.mwl-city-contribution-card p {
	font-weight: 500;
}

@media (max-width: 759px) {
	.mwl-city-section__head--intro {
		display: grid;
		gap: 14px;
	}

	.mwl-city-section__button {
		width: 100%;
	}

	.mwl-city-category-merchant,
	.mwl-city-category-help {
		grid-template-columns: 1fr;
		padding: 18px;
	}

	.mwl-city-category-help nav {
		display: grid;
		grid-template-columns: 1fr;
	}
}

@media (min-width: 560px) {
	.mwl-city-category-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 760px) {
	.mwl-city-category-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 18px;
	}

	.mwl-city-section--categories {
		margin-top: 32px;
	}
}

/* Recovered preview-2 visual polish — fixed layout */
.mwl-city-hero__content {
	display: grid;
	gap: 12px;
	min-width: 0;
}

@media (min-width: 760px) {
	.mwl-city-refonte {
		width: min(1240px, calc(100% - 48px));
		max-width: 1240px;
		padding: 0 0 72px;
		font-weight: 430;
	}

	.mwl-city-refonte p,
	.mwl-city-refonte span,
	.mwl-city-refonte small,
	.mwl-city-refonte a,
	.mwl-city-refonte input,
	.mwl-city-refonte button,
	.mwl-city-refonte select {
		font-weight: 430;
	}

	.mwl-city-refonte strong,
	.mwl-city-refonte h1,
	.mwl-city-refonte h2,
	.mwl-city-refonte h3 {
		letter-spacing: -.025em;
	}

	.mwl-city-section {
		margin-top: 26px;
	}

	.mwl-city-section__head {
		margin-bottom: 18px;
	}

	.mwl-city-section__head h2,
	.mwl-city-directory h2,
	.mwl-city-conversion-card h2,
	.mwl-city-contribution-card h2 {
		color: #0f172a;
		font-size: 22px;
		font-weight: 760;
		line-height: 1.18;
	}

	.mwl-city-section__head--intro {
		align-items: center;
		margin-bottom: 24px;
	}

	.mwl-city-section__head--intro h2 {
		font-size: clamp(30px, 3vw, 40px);
		font-weight: 780;
		line-height: 1.08;
	}

	.mwl-city-section__head--intro p {
		max-width: 760px;
		margin-top: 10px;
		color: #475569;
		font-size: 16px;
		font-weight: 430;
		line-height: 1.55;
	}

	.mwl-city-section__button,
	.mwl-city-section__head a:not(.mwl-city-section__button) {
		color: #007f67;
		font-size: 14px;
		font-weight: 680;
	}

	.mwl-city-hero {
		min-height: 390px;
		margin: 0 0 26px;
		border-radius: 22px;
		box-shadow: 0 18px 42px rgba(15, 23, 42, .17);
	}

	.mwl-city-hero.has-image {
		background-image:
			linear-gradient(90deg, rgba(2, 6, 23, .82) 0%, rgba(2, 6, 23, .54) 46%, rgba(2, 6, 23, .16) 100%),
			var(--mwl-city-hero-image);
	}

	.mwl-city-hero__overlay {
		padding: 38px 40px;
	}

	.mwl-city-hero__content {
		align-self: end;
		max-width: 600px;
		gap: 12px;
	}

	.mwl-city-hero__eyebrow {
		margin: 0;
		border: 0;
		padding: 0;
		background: transparent;
		color: rgba(255, 255, 255, .92);
		font-size: 14px;
		font-weight: 620;
		letter-spacing: 0;
		text-transform: none;
	}

	.mwl-city-hero h1 {
		font-size: clamp(58px, 6vw, 86px);
		font-weight: 820;
		line-height: .92;
		letter-spacing: -.07em;
	}

	.mwl-city-hero p:not(.mwl-city-hero__eyebrow) {
		max-width: 540px;
		font-size: 18px;
		font-weight: 520;
		line-height: 1.45;
	}

	.mwl-city-hero-search {
		width: min(560px, 100%);
		margin: 10px 0 0;
		border-radius: 14px;
		padding: 7px;
		box-shadow: 0 16px 34px rgba(2, 6, 23, .24);
	}

	.mwl-city-hero-search input[type="search"] {
		min-height: 46px;
		font-size: 14px;
		font-weight: 430;
	}

	.mwl-city-hero-search button {
		min-height: 46px;
		border-radius: 11px;
	}

	.mwl-city-hero-kpis {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 12px;
		margin-top: 14px;
	}

	.mwl-city-hero-kpis div {
		align-items: center;
		justify-items: start;
		min-height: 92px;
		border: 1px solid rgba(226, 232, 240, .9);
		border-radius: 14px;
		padding: 18px;
		background: rgba(255, 255, 255, .94);
		box-shadow: 0 14px 32px rgba(15, 23, 42, .16);
		backdrop-filter: blur(10px);
		text-align: left;
	}

	.mwl-city-hero-kpis strong {
		color: #0f172a;
		font-size: 28px;
		font-weight: 780;
		letter-spacing: -.04em;
	}

	.mwl-city-hero-kpis span {
		max-width: 130px;
		color: #334155;
		font-size: 14px;
		font-weight: 430;
		line-height: 1.35;
	}

	.mwl-city-section--categories,
	.mwl-city-directory {
		border: 1px solid #e2e8f0;
		border-radius: 18px;
		padding: 28px;
		background: #fff;
		box-shadow: 0 1px 2px rgba(15, 23, 42, .03), 0 14px 32px rgba(15, 23, 42, .055);
	}

	.mwl-city-category-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px;
	}

	.mwl-city-category-card {
		grid-template-columns: 58px minmax(0, 1fr) auto;
		grid-template-rows: auto;
		align-items: center;
		min-height: 98px;
		column-gap: 16px;
		row-gap: 0;
		border-color: #e2e8f0;
		border-radius: 14px;
		padding: 18px;
		box-shadow: 0 1px 2px rgba(15, 23, 42, .03), 0 10px 24px rgba(15, 23, 42, .045);
	}

	.mwl-city-category-card:hover,
	.mwl-city-category-card:focus-visible {
		transform: translateY(-2px);
		box-shadow: 0 16px 34px rgba(15, 23, 42, .08);
	}

	.mwl-city-category-card__icon {
		width: 58px;
		height: 58px;
		font-size: 24px;
	}

	.mwl-city-category-card__body {
		gap: 5px;
	}

	.mwl-city-category-card strong {
		font-size: 17px;
		font-weight: 730;
		line-height: 1.2;
	}

	.mwl-city-category-card__desc {
		color: #475569;
		font-size: 14px;
		font-weight: 420;
		line-height: 1.38;
	}

	.mwl-city-category-card small {
		margin-top: 3px;
		font-size: 13px;
		font-weight: 620;
	}

	.mwl-city-category-card__divider,
	.mwl-city-category-card__action {
		display: none;
	}

	.mwl-city-category-card__chevron {
		display: block;
		position: static;
		color: #0f172a;
		font-size: 22px;
		transform: none;
	}

	.mwl-city-category-merchant {
		grid-template-columns: minmax(0, 1fr) minmax(240px, .58fr) minmax(250px, .62fr);
		margin-top: 24px;
		border-color: #cdeee3;
		border-radius: 18px;
		padding: 24px;
		background: linear-gradient(135deg, #ecfdf5 0%, #f8fffc 100%);
	}

	.mwl-city-category-merchant strong,
	.mwl-city-category-help strong {
		font-weight: 720;
	}

	.mwl-city-category-merchant p,
	.mwl-city-category-help p,
	.mwl-city-category-merchant__stat small,
	.mwl-city-category-merchant__cta small {
		font-weight: 420;
	}

	.mwl-city-category-merchant__stat strong {
		font-weight: 760;
	}

	.mwl-city-category-merchant__cta .mwl-city-primary-cta,
	.mwl-city-primary-cta,
	.mwl-city-secondary-cta,
	.mwl-city-outline-cta {
		font-weight: 720;
	}

	.mwl-city-category-help {
		border-radius: 18px;
		padding: 22px 24px;
	}

	.mwl-city-category-help nav a {
		font-weight: 620;
	}

	.mwl-city-popular-searches {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mwl-city-popular-searches a {
		min-height: 48px;
		font-weight: 430;
	}

	.mwl-city-popular-searches span {
		font-weight: 520;
	}

	.mwl-city-new-list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 16px;
	}

	.mwl-city-new-card {
		display: grid;
		grid-template-columns: 68px minmax(0, 1fr);
		align-items: center;
		gap: 12px;
		min-height: 96px;
		border-radius: 14px;
		padding: 12px;
		box-shadow: 0 1px 2px rgba(15, 23, 42, .03), 0 10px 24px rgba(15, 23, 42, .045);
	}

	.mwl-city-new-card__media {
		width: 68px;
		height: 68px;
		border-radius: 12px;
	}

	.mwl-city-new-card h3,
	.mwl-city-directory-card h3,
	.mwl-city-featured-card h3 {
		font-weight: 720;
	}

	.mwl-city-new-card p,
	.mwl-city-directory-card p,
	.mwl-city-featured-card p,
	.mwl-city-new-card time,
	.mwl-city-directory-card span,
	.mwl-city-directory-card small,
	.mwl-city-featured-card small,
	.mwl-city-directory__count {
		font-weight: 420;
	}

	.mwl-city-featured-rail {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 16px;
	}

	.mwl-city-featured-card {
		border-radius: 16px;
		box-shadow: 0 12px 30px rgba(15, 23, 42, .07);
	}

	.mwl-city-featured-card__media,
	.mwl-city-featured-card__media img {
		height: 210px;
		min-height: 210px;
	}

	.mwl-city-stats-card {
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: 16px;
		border-color: #e2e8f0;
		background: #fff;
		box-shadow: none;
	}

	.mwl-city-stats-card div {
		grid-template-columns: 1fr;
		justify-items: center;
		gap: 8px;
		text-align: center;
	}

	.mwl-city-stats-card strong,
	.mwl-city-activity-grid strong {
		font-weight: 760;
	}

	.mwl-city-stats-card small,
	.mwl-city-activity-grid small {
		font-weight: 430;
	}

	.mwl-city-activity-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.mwl-city-activity-grid div {
		min-height: 72px;
	}

	.mwl-city-directory-tools {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 12px;
	}

	.mwl-city-directory-tools input[type="search"] {
		min-height: 48px;
		font-size: 14px;
		font-weight: 420;
	}

	.mwl-city-tool-button {
		min-width: 132px;
		min-height: 48px;
		font-weight: 650;
	}

	.mwl-city-directory-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px;
	}

	.mwl-city-directory-card {
		grid-template-columns: 72px minmax(0, 1fr) 28px;
		min-height: 108px;
		border-radius: 15px;
		padding: 12px;
		box-shadow: 0 8px 20px rgba(15, 23, 42, .04);
	}

	.mwl-city-directory-card__media {
		width: 72px;
		height: 72px;
	}

	.mwl-city-directory-card h3 {
		font-size: 15px;
	}

	.mwl-city-directory-card p,
	.mwl-city-directory-card span,
	.mwl-city-directory-card small {
		font-size: 12px;
	}
}

@media (min-width: 980px) {
	.mwl-city-hero__overlay {
		display: grid;
		grid-template-columns: minmax(360px, .95fr) minmax(360px, .88fr);
		align-items: end;
		gap: 34px;
		max-width: none;
		width: 100%;
	}

	.mwl-city-hero-kpis {
		align-self: end;
		margin: 0;
	}
}

@media (min-width: 1100px) {
	.mwl-city-category-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.mwl-city-directory-list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 980px) and (min-width: 760px) {
	.mwl-city-hero {
		min-height: 470px;
	}

	.mwl-city-hero__overlay {
		max-width: 680px;
	}

	.mwl-city-category-merchant,
	.mwl-city-category-help {
		grid-template-columns: 1fr;
	}
}

/* City page Typesense autocomplete/live directory */
.mwl-city-hero-search,
.mwl-city-directory-tools > label {
	position: relative;
	z-index: 20;
}

.mwl-city-hero-search {
	overflow: visible;
}

.mwl-city-search-autocomplete[hidden] {
	display: none !important;
}

.mwl-city-search-autocomplete {
	position: absolute;
	left: 0;
	right: 0;
	top: calc(100% + 8px);
	display: grid;
	gap: 8px;
	max-height: min(420px, 70vh);
	overflow-y: auto;
	border: 1px solid #dbe3ec;
	border-radius: 16px;
	padding: 10px;
	background: #fff;
	color: #0f172a;
	box-shadow: 0 22px 54px rgba(15, 23, 42, .18);
	z-index: 70;
}

.mwl-city-search-autocomplete--hero {
	grid-column: 1 / -1;
}

.mwl-city-search-autocomplete__status {
	display: block;
	padding: 8px 10px;
	color: #64748b;
	font-size: .84rem;
	font-weight: 600;
}

.mwl-city-search-autocomplete__results {
	display: grid;
	gap: 6px;
}

.mwl-city-search-autocomplete__item,
.mwl-city-search-autocomplete__all {
	display: grid;
	gap: 3px;
	border-radius: 12px;
	padding: 10px 12px;
	background: #fff;
	color: #0f172a;
	text-decoration: none;
}

.mwl-city-search-autocomplete__item:hover,
.mwl-city-search-autocomplete__item:focus-visible,
.mwl-city-search-autocomplete__item.is-active {
	background: #ecfdf5;
	outline: none;
}

.mwl-city-search-autocomplete__item em {
	color: var(--mwl-city-green);
	font-size: .68rem;
	font-style: normal;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.mwl-city-search-autocomplete__item strong {
	color: #0f172a;
	font-size: .94rem;
	font-weight: 760;
	line-height: 1.22;
}

.mwl-city-search-autocomplete__item span {
	color: #64748b;
	font-size: .8rem;
	font-weight: 430;
	line-height: 1.3;
}

.mwl-city-search-autocomplete__all {
	margin-top: 4px;
	border: 1px solid #cdeee3;
	background: #f0fdf4;
	color: var(--mwl-city-green-dark);
	font-size: .86rem;
	font-weight: 760;
	text-align: center;
}

.mwl-city-directory.is-loading-live-search .mwl-city-directory-list {
	opacity: .55;
	transition: opacity .16s ease;
}

.mwl-city-directory.is-live-searching .mwl-city-directory__count {
	color: var(--mwl-city-green-dark);
}

@media (max-width: 759px) {
	.mwl-city-search-autocomplete {
		max-height: 340px;
		border-radius: 14px;
	}

	.mwl-city-search-autocomplete--hero {
		top: calc(100% + 6px);
	}
}
