/**
 * Local Voices — /local-voices/ and /local-voices/{slug}/.
 *
 * Three parts:
 *   1. The Elementor sections of the listing page (hero, banner). They are
 *      native Elementor widgets; these rules reach them through the CSS
 *      classes set on each container in the Elementor JSON (mfr-lv-hero…).
 *   2. The [mfr_local_voices] grid.
 *   3. The detail page, page-local-voice.php.
 *
 * Selectors carry two classes or more on purpose: `.elementor img` and the
 * veto theme's element rules are (0,1,1), so a single class loses to them.
 */

.mfr-lv,
.mfr-lv-hero,
.mfr-lv-section,
.mfr-lv-cta {
	--lv-purple: #412d82;
	--lv-purple-dark: #2a184a;
	--lv-purple-soft: #f1eefa;
	--lv-yellow: #ffc42e;
	--lv-red: #e63950;
	--lv-red-dark: #c92a40;
	--lv-ink: #1c1638;
	--lv-text: #3d3852;
	--lv-muted: #6b6680;
	--lv-line: #e7e3f1;
	--lv-bg: #f7f6fb;
	--lv-card: #ffffff;
	--lv-radius: 14px;
	--lv-shadow: 0 1px 2px rgba(28, 22, 56, 0.05), 0 8px 24px rgba(28, 22, 56, 0.06);
	font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
}

/* The theme hyphenates headings (hyphens: auto), which splits "VOICES" and
   "practical" at phone widths. */
.mfr-lv h1, .mfr-lv h2, .mfr-lv h3, .mfr-lv p,
.mfr-lv-hero .elementor-heading-title,
.mfr-lv-cta .elementor-heading-title {
	-webkit-hyphens: manual;
	hyphens: manual;
	overflow-wrap: normal;
}

.mfr-lv *,
.mfr-lv *::before,
.mfr-lv *::after {
	box-sizing: border-box;
}

.mfr-lv .mfr-lv-icon {
	width: 1em;
	height: 1em;
	flex: none;
	display: inline-block;
	vertical-align: -0.125em;
}

/* Category colours: badge text, placeholder art. */
.mfr-lv-media--health,             .mfr-lv-badge--health             { --lv-cat: #2563eb; }
.mfr-lv-media--housing,            .mfr-lv-badge--housing            { --lv-cat: #e5484d; }
.mfr-lv-media--safety,             .mfr-lv-badge--safety             { --lv-cat: #f08c1a; }
.mfr-lv-media--cost-of-living,     .mfr-lv-badge--cost-of-living     { --lv-cat: #7c3aed; }
.mfr-lv-media--business,           .mfr-lv-badge--business           { --lv-cat: #0d9488; }
.mfr-lv-media--transport,          .mfr-lv-badge--transport          { --lv-cat: #16a34a; }
.mfr-lv-media--planning,           .mfr-lv-badge--planning           { --lv-cat: #475569; }
.mfr-lv-media--homelessness,       .mfr-lv-badge--homelessness       { --lv-cat: #db2777; }
.mfr-lv-media--community-services, .mfr-lv-badge--community-services { --lv-cat: #0891b2; }

/* ==========================================================================
   1. Elementor sections of the listing page
   ========================================================================== */

/* --- Hero ---------------------------------------------------------------- */

.elementor .mfr-lv-hero {
	position: relative;
	overflow: hidden;
	background: var(--lv-bg);
	padding-top: calc(var(--mfr-header-h, 86px) + 36px);
	padding-bottom: 48px;
}

.mfr-lv-hero .mfr-lv-hero__eyebrow .elementor-heading-title {
	font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--lv-muted);
	margin: 0;
}

.mfr-lv-hero .mfr-lv-hero__title .elementor-heading-title {
	font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
	font-size: clamp(48px, 7vw, 92px);
	font-weight: 900;
	line-height: 0.92;
	letter-spacing: -0.035em;
	text-transform: uppercase;
	color: var(--lv-ink);
	margin: 0;
}

.mfr-lv-hero .mfr-lv-hero__title .elementor-heading-title span {
	color: var(--lv-yellow);
}

.mfr-lv-hero .mfr-lv-hero__lead .elementor-heading-title {
	font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
	font-size: clamp(20px, 2vw, 26px);
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.25;
	color: var(--lv-ink);
	margin: 0;
}

.mfr-lv-hero .mfr-lv-hero__text,
.mfr-lv-hero .mfr-lv-hero__text p {
	font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.65;
	color: var(--lv-text);
	margin: 0;
	max-width: 520px;
}

.mfr-lv-hero .mfr-lv-hero__text p + p {
	margin-top: 4px;
}

/* The two hero buttons, and the banner's. Elementor's own .elementor-button
   rules are (0,1,0)–(0,2,0); three classes keeps these ahead of the kit. */
.mfr-lv-hero .mfr-lv-hero__btn .elementor-button,
.mfr-lv-cta .mfr-lv-cta__btn .elementor-button {
	font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	text-transform: none;
	padding: 18px 28px;
	border-radius: 10px;
	border: 2px solid var(--lv-purple);
	background: var(--lv-purple);
	color: #fff;
	min-width: 190px;
	white-space: nowrap;
	transition: background 0.2s, color 0.2s, border-color 0.2s, transform 0.2s;
}

.mfr-lv-hero .mfr-lv-hero__btn .elementor-button:hover,
.mfr-lv-hero .mfr-lv-hero__btn .elementor-button:focus-visible {
	background: var(--lv-purple-dark);
	border-color: var(--lv-purple-dark);
	color: #fff;
	transform: translateY(-1px);
}

.mfr-lv-hero .mfr-lv-hero__btn--ghost .elementor-button {
	background: #fff;
	color: var(--lv-ink);
	border-color: var(--lv-purple);
}

.mfr-lv-hero .mfr-lv-hero__btn--ghost .elementor-button:hover,
.mfr-lv-hero .mfr-lv-hero__btn--ghost .elementor-button:focus-visible {
	background: var(--lv-purple-soft);
	color: var(--lv-ink);
	border-color: var(--lv-purple);
}

.mfr-lv-hero .elementor-button .elementor-button-content-wrapper {
	gap: 10px;
	justify-content: center;
}

/* The photo is the hero's right-hand background: it runs from under the
   header to the bottom of the hero and out to the edge of the window, however
   wide that is, and fades into the page colour on its left (the "wash" of the
   design) so the copy never sits on busy photo. The art container is taken out
   of the flex row for that, and positioned against the hero itself — which is
   why the boxed inner wrapper is made static. */
@media (min-width: 768px) {
	.elementor .mfr-lv-hero {
		min-height: calc(var(--mfr-header-h, 86px) + 560px);
		display: flex;
		align-items: center;
	}

	.elementor .mfr-lv-hero > .e-con-inner {
		position: static;
	}

	.elementor .mfr-lv-hero .mfr-lv-hero__art {
		position: absolute;
		top: var(--mfr-header-h, 86px);
		right: 0;
		/* Past the hero's bottom edge, where it is clipped: otherwise the
		   photo's last pixel row shows as a line under the fade. */
		bottom: -4px;
		width: 56%;
		max-width: none;
		margin: 0;
		padding: 0;
		z-index: 0;
		pointer-events: none;
	}

	.mfr-lv-hero .mfr-lv-hero__art .elementor-widget-image,
	.mfr-lv-hero .mfr-lv-hero__art .elementor-widget-container {
		width: 100%;
		height: 100%;
	}

	.elementor .mfr-lv-hero .mfr-lv-hero__art img {
		display: block;
		width: 100%;
		height: 100%;
		max-width: none;
		object-fit: cover;
		/* The banner is wider than this box, so it crops at the sides. Pull
		   it left of centre so David isn't under the wash and the woman on
		   the right stays in frame. */
		object-position: 40% center;
		border-radius: 0;
	}

	/* The wash: page colour across the left of the photo, and a softer one
	   along its bottom edge into the section below. */
	.mfr-lv-hero .mfr-lv-hero__art::after {
		content: "";
		position: absolute;
		/* 2px past the photo: its left edge lands on a fractional pixel, and
		   without the overlap a hairline of photo shows through. */
		inset: 0 0 -2px -2px;
		background:
			linear-gradient(to right,
				var(--lv-bg) 0,
				var(--lv-bg) 3px,
				rgba(247, 246, 251, 0.92) 14%,
				rgba(247, 246, 251, 0.55) 30%,
				rgba(247, 246, 251, 0) 52%),
			linear-gradient(to top,
				var(--lv-bg) 0,
				var(--lv-bg) 8px,
				rgba(247, 246, 251, 0.9) 8%,
				rgba(247, 246, 251, 0.6) 18%,
				rgba(247, 246, 251, 0.25) 30%,
				rgba(247, 246, 251, 0) 42%);
	}

	.elementor .mfr-lv-hero .mfr-lv-hero__copy {
		position: relative;
		z-index: 1;
		--width: 58%;
	}
}

/* Desktop: the banner (3:1, its left side already a soft fade meant for the
   copy) runs the full width of the hero. The hero is at least a third of the
   window tall, so on wide screens the banner shows whole; on narrower ones the
   hero is taller than that and cover trims only the faded left edge, because
   the image is anchored right. */
@media (min-width: 1025px) {
	.elementor .mfr-lv-hero {
		min-height: calc(var(--mfr-header-h, 86px) + max(560px, 100vw / 3));
	}

	.elementor .mfr-lv-hero .mfr-lv-hero__art {
		left: 0;
		width: auto;
	}

	.elementor .mfr-lv-hero .mfr-lv-hero__art img {
		object-position: right center;
	}

	/* Lighter wash than the half-width photo needed: just enough behind the
	   copy, and a thin fade along the bottom so the lower photos stay. */
	.mfr-lv-hero .mfr-lv-hero__art::after {
		background:
			linear-gradient(to right,
				rgba(247, 246, 251, 0.85) 0,
				rgba(247, 246, 251, 0.6) 25%,
				rgba(247, 246, 251, 0) 42%),
			linear-gradient(to top,
				var(--lv-bg) 0,
				var(--lv-bg) 4px,
				rgba(247, 246, 251, 0) 8%);
	}

	.elementor .mfr-lv-hero .mfr-lv-hero__copy {
		--width: 50%;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.elementor .mfr-lv-hero .mfr-lv-hero__art {
		width: 50%;
		opacity: 0.55;
	}

	/* Narrow crop: anchor right so the photos at the banner's right edge
	   stay in frame; only the faded left side is lost. */
	.elementor .mfr-lv-hero .mfr-lv-hero__art img {
		object-position: right center;
	}

	.elementor .mfr-lv-hero .mfr-lv-hero__copy {
		--width: 75%;
	}
}

@media (max-width: 767px) {
	/* Phones: the hero turns into the dark purple panel of the mobile design,
	   with the portrait phone banner (its own image widget, shown on mobile
	   only in Elementor) as its background: whole, edge to edge from under
	   the header and nudged up a little. The eyebrow and the (smaller) title
	   sit to the left of David's face, which is on the right half of the
	   photo; the lead starts below his chin. A tint down the left keeps the
	   white title readable over the photo's near-white corner, his face is
	   barely tinted, and under the rest of the copy the tint deepens into the
	   panel. */
	.elementor .mfr-lv-hero {
		position: relative;
		overflow: hidden;
		background: var(--lv-purple-dark);
		padding-top: calc(var(--mfr-header-h, 70px) + 24vw);
		padding-bottom: 32px;
		border-radius: 0 0 22px 22px;
	}

	.mfr-lv-hero .mfr-lv-hero__art {
		position: absolute;
		top: var(--mfr-header-h, 70px);
		left: 0;
		right: 0;
		width: auto;
		--width: 100% !important;
		max-width: none;
		margin: 0;
		overflow: hidden;
		z-index: 0;
		pointer-events: none;
	}

	.mfr-lv-hero .mfr-lv-hero__art::after {
		content: "";
		position: absolute;
		inset: 0;
		background:
			linear-gradient(to right,
				rgba(42, 24, 74, 0.7) 0,
				rgba(42, 24, 74, 0.55) 38%,
				rgba(42, 24, 74, 0) 55%),
			linear-gradient(to bottom,
				rgba(42, 24, 74, 0.08) 0,
				rgba(42, 24, 74, 0.08) 20%,
				rgba(42, 24, 74, 0.25) 40%,
				rgba(42, 24, 74, 0.75) 52%,
				rgba(42, 24, 74, 0.82) 75%,
				var(--lv-purple-dark) 100%);
	}

	.mfr-lv-hero .mfr-lv-hero__art img {
		display: block;
		max-height: none;
		height: auto;
		width: 100%;
		margin-top: -12vw;
		border-radius: 0;
	}

	.mfr-lv-hero .mfr-lv-hero__copy {
		position: relative;
		z-index: 1;
		/* Elementor's own mobile width ties with a class rule on specificity. */
		--width: 100% !important;
	}

	.mfr-lv-hero .mfr-lv-hero__eyebrow .elementor-heading-title {
		display: inline-block;
		font-size: 11px;
		padding: 5px 8px;
		border-radius: 4px;
		background: rgba(255, 255, 255, 0.14);
		color: #fff;
	}

	.mfr-lv-hero .mfr-lv-hero__title .elementor-heading-title {
		color: #fff;
		/* Small enough that "VOICES" stops short of David's face; it scales
		   down with the photo on phones narrower than 375px. */
		font-size: min(44px, 11.7vw);
	}

	.mfr-lv-hero .mfr-lv-hero__title .elementor-heading-title span {
		display: block;
	}

	.mfr-lv-hero .mfr-lv-hero__lead .elementor-heading-title {
		color: #fff;
		font-size: 19px;
	}

	.mfr-lv-hero .mfr-lv-hero__text,
	.mfr-lv-hero .mfr-lv-hero__text p {
		font-size: 15px;
		line-height: 1.6;
		color: rgba(255, 255, 255, 0.86);
	}

	.mfr-lv-hero .mfr-lv-hero__text p strong,
	.mfr-lv-hero .mfr-lv-hero__text p b {
		color: #fff;
	}

	.mfr-lv-hero .mfr-lv-hero__btn,
	.mfr-lv-hero .mfr-lv-hero__btn .elementor-button {
		width: 100%;
	}

	.mfr-lv-hero .mfr-lv-hero__btn .elementor-button {
		background: var(--lv-purple);
		border-color: rgba(255, 255, 255, 0.35);
		padding: 16px 20px;
	}

	.mfr-lv-hero .mfr-lv-hero__btn .elementor-button:hover {
		background: var(--lv-purple-dark);
		border-color: rgba(255, 255, 255, 0.5);
	}

	.mfr-lv-hero .mfr-lv-hero__btn--ghost .elementor-button,
	.mfr-lv-hero .mfr-lv-hero__btn--ghost .elementor-button:hover {
		background: transparent;
		color: #fff;
		border-color: #fff;
	}
}

/* --- Listing wrapper (the container around the shortcode) ---------------- */

.elementor .mfr-lv-section {
	background: var(--lv-bg);
	/* Overlaps the hero by 2px so the seam where the hero's faded photo is
	   clipped never shows as a line between the two. */
	position: relative;
	z-index: 1;
	margin-top: -2px;
}

/* --- "Raise Your Voice" banner ------------------------------------------ */

.elementor .mfr-lv-cta {
	background: var(--lv-bg);
	padding-bottom: 64px;
}

.mfr-lv-cta .mfr-lv-cta__panel {
	position: relative;
	overflow: hidden;
	border-radius: 18px;
	background: linear-gradient(120deg, var(--lv-purple-dark) 0%, var(--lv-purple) 100%);
	box-shadow: var(--lv-shadow);
}

.mfr-lv-cta .mfr-lv-cta__panel::after {
	content: "";
	position: absolute;
	right: -80px;
	top: -120px;
	width: 360px;
	height: 360px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 196, 46, 0.16), transparent 70%);
	pointer-events: none;
}

/* The design's icon: a white outlined bubble, three yellow dashes and a
   yellow tail. Drawn here rather than picked in Elementor, so the Icon
   widget's own Font Awesome glyph is hidden and the bubble painted in its
   place. To change it, edit this SVG. */
.mfr-lv-cta .mfr-lv-cta__icon .elementor-icon {
	display: block;
	width: 88px;
	height: 80px;
	font-size: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 88 80' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M54 58l16 14-3-14' stroke='%23ffc42e' stroke-width='4'/%3E%3Cpath d='M18 4h44a14 14 0 0 1 14 14v26a14 14 0 0 1-14 14H34L18 72V58a14 14 0 0 1-14-14V18A14 14 0 0 1 18 4Z' stroke='%23fff' stroke-width='4' fill='rgba(255,255,255,0.06)'/%3E%3Cg fill='%23ffc42e'%3E%3Crect x='24.5' y='27.5' width='9' height='7' rx='1.5'/%3E%3Crect x='35.5' y='27.5' width='9' height='7' rx='1.5'/%3E%3Crect x='46.5' y='27.5' width='9' height='7' rx='1.5'/%3E%3C/g%3E%3C/svg%3E") no-repeat center / contain;
}

.mfr-lv-cta .mfr-lv-cta__icon .elementor-icon i,
.mfr-lv-cta .mfr-lv-cta__icon .elementor-icon svg {
	display: none;
}

.elementor .mfr-lv-cta .mfr-lv-cta__icon {
	flex: 0 0 auto;
	margin: 0 12px 0 8px;
}

@media (max-width: 767px) {
	.mfr-lv-cta .mfr-lv-cta__icon .elementor-icon {
		width: 66px;
		height: 60px;
	}

	.elementor .mfr-lv-cta .mfr-lv-cta__icon {
		margin: 0;
	}
}

.mfr-lv-cta .mfr-lv-cta__eyebrow .elementor-heading-title {
	font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.8);
	margin: 0;
}

.mfr-lv-cta .mfr-lv-cta__title .elementor-heading-title {
	font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
	font-size: clamp(30px, 3.4vw, 44px);
	font-weight: 900;
	letter-spacing: -0.03em;
	line-height: 1.1;
	color: #fff;
	margin: 0;
}

.mfr-lv-cta .mfr-lv-cta__title .elementor-heading-title span {
	color: var(--lv-yellow);
}

.mfr-lv-cta .mfr-lv-cta__text,
.mfr-lv-cta .mfr-lv-cta__text p {
	font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
	font-size: 15px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.85);
	margin: 0;
}

/* The banner's button sits in a flex row beside the copy, and Elementor lets
   a widget there shrink — which squeezed it to its min-width with the
   one-line label running into the edges. It keeps its own size instead, and is
   the banner's one big target: taller, wider and lifted off the panel. */
.elementor .mfr-lv-cta .mfr-lv-cta__btn {
	flex: 0 0 auto;
	--container-widget-flex-grow: 0;
	width: auto;
	max-width: none;
}

.mfr-lv-cta .mfr-lv-cta__btn .elementor-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	min-width: 260px;
	padding: 24px 40px;
	font-size: 18px;
	font-weight: 800;
	letter-spacing: -0.01em;
	border-radius: 12px;
	background: var(--lv-yellow);
	border-color: var(--lv-yellow);
	color: var(--lv-ink);
	box-shadow: 0 10px 24px rgba(12, 6, 32, 0.35), inset 0 -3px 0 rgba(0, 0, 0, 0.12);
}

.mfr-lv-cta .mfr-lv-cta__btn .elementor-button:hover,
.mfr-lv-cta .mfr-lv-cta__btn .elementor-button:focus-visible {
	background: #ffd24d;
	border-color: #ffd24d;
	color: var(--lv-ink);
	transform: translateY(-2px);
	box-shadow: 0 14px 30px rgba(12, 6, 32, 0.4), inset 0 -3px 0 rgba(0, 0, 0, 0.12);
}

.mfr-lv-cta .mfr-lv-cta__btn .elementor-button:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 3px;
}

.mfr-lv-cta .mfr-lv-cta__btn .elementor-button:active {
	transform: translateY(0);
	box-shadow: 0 4px 10px rgba(12, 6, 32, 0.3), inset 0 -1px 0 rgba(0, 0, 0, 0.12);
}

.mfr-lv-cta .mfr-lv-cta__btn .elementor-button .elementor-button-content-wrapper {
	gap: 12px;
}

.mfr-lv-cta .mfr-lv-cta__btn .elementor-button .elementor-button-text {
	white-space: nowrap;
}

@media (max-width: 767px) {
	.elementor .mfr-lv-cta .mfr-lv-cta__btn,
	.mfr-lv-cta .mfr-lv-cta__btn .elementor-button {
		width: 100%;
		min-width: 0;
	}

	.mfr-lv-cta .mfr-lv-cta__btn .elementor-button {
		padding: 20px 24px;
		font-size: 17px;
	}
}

/* ==========================================================================
   2. [mfr_local_voices] grid
   ========================================================================== */

.mfr-lv.mfr-lv-list {
	max-width: 1240px;
	margin: 0 auto;
	padding: 8px 0 40px;
	color: var(--lv-text);
}

.mfr-lv .mfr-lv-list__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 20px;
}

.mfr-lv .mfr-lv-list__title {
	font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
	font-size: clamp(26px, 3vw, 36px);
	font-weight: 900;
	line-height: 1.15;
	letter-spacing: -0.03em;
	color: var(--lv-ink);
	margin: 0;
}

.mfr-lv .mfr-lv-list__rule {
	width: 44px;
	height: 3px;
	border-radius: 3px;
	background: var(--lv-yellow);
	margin-bottom: 12px;
}

/* --- Search, status, sort ----------------------------------------------- */

.mfr-lv .mfr-lv-tools {
	display: flex;
	gap: 12px;
	align-items: stretch;
	margin-bottom: 18px;
}

.mfr-lv .mfr-lv-search {
	position: relative;
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	margin: 0;
}

.mfr-lv .mfr-lv-search .mfr-lv-icon {
	position: absolute;
	left: 16px;
	color: var(--lv-muted);
	font-size: 18px;
	pointer-events: none;
}

.mfr-lv .mfr-lv-search input[type="search"] {
	width: 100%;
	height: 48px;
	margin: 0;
	padding: 0 16px 0 46px;
	font: 500 14px/1 "Inter", "Helvetica Neue", Arial, sans-serif;
	color: var(--lv-ink);
	background: #fff;
	border: 1px solid var(--lv-line);
	border-radius: 10px;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}

.mfr-lv .mfr-lv-search input[type="search"]::placeholder {
	color: #9b97ab;
	opacity: 1;
}

.mfr-lv .mfr-lv-search input[type="search"]:focus {
	outline: none;
	border-color: var(--lv-purple);
	box-shadow: 0 0 0 3px rgba(65, 45, 130, 0.12);
}

.mfr-lv .mfr-lv-selects {
	display: flex;
	gap: 12px;
}

.mfr-lv .mfr-lv-select {
	position: relative;
	display: flex;
	align-items: center;
	gap: 6px;
	height: 48px;
	margin: 0;
	padding: 0 12px 0 14px;
	background: #fff;
	border: 1px solid var(--lv-line);
	border-radius: 10px;
	font: 500 13px/1 "Inter", "Helvetica Neue", Arial, sans-serif;
	color: var(--lv-muted);
	white-space: nowrap;
}

.mfr-lv .mfr-lv-select select {
	height: 46px;
	margin: 0;
	padding: 0 22px 0 0;
	font: 700 13px/1 "Inter", "Helvetica Neue", Arial, sans-serif;
	color: var(--lv-ink);
	background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231c1638' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right center / 14px;
	border: 0;
	box-shadow: none;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	width: auto;
	min-width: 0;
}

.mfr-lv .mfr-lv-select select:focus {
	outline: none;
}

.mfr-lv .mfr-lv-select:focus-within {
	border-color: var(--lv-purple);
}

/* The custom menu that replaces each select's system popup (built in
   mfr-local-voices.js). The select itself stays, hidden, holding the value.
   The button and list are reset hard: the parent theme styles every button,
   ul and li on the site. */
.mfr-lv .mfr-lv-select.is-enhanced {
	cursor: pointer;
}

.mfr-lv .mfr-lv-select .mfr-lv-dd__native {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.mfr-lv .mfr-lv-select .mfr-lv-dd__btn {
	display: inline-flex;
	align-items: center;
	height: 46px;
	margin: 0;
	padding: 0 24px 0 0;
	font: 700 13px/1 "Inter", "Helvetica Neue", Arial, sans-serif;
	letter-spacing: 0;
	text-transform: none;
	color: var(--lv-ink);
	background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231c1638' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right center / 14px;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	cursor: pointer;
	white-space: nowrap;
	transition: none;
}

.mfr-lv .mfr-lv-select .mfr-lv-dd__btn:hover,
.mfr-lv .mfr-lv-select .mfr-lv-dd__btn:focus {
	color: var(--lv-ink);
	background-color: transparent;
	outline: none;
}

.mfr-lv .mfr-lv-select.is-open .mfr-lv-dd__btn {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231c1638' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 15 6-6 6 6'/%3E%3C/svg%3E");
}

.mfr-lv .mfr-lv-select.is-open,
.mfr-lv .mfr-lv-select:has(.mfr-lv-dd__btn:focus-visible) {
	border-color: var(--lv-purple);
	box-shadow: 0 0 0 3px rgba(65, 45, 130, 0.12);
}

.mfr-lv .mfr-lv-select .mfr-lv-dd__menu {
	position: absolute;
	top: calc(100% + 6px);
	left: -1px;
	z-index: 30;
	min-width: calc(100% + 2px);
	max-height: 320px;
	margin: 0;
	padding: 6px;
	overflow-y: auto;
	list-style: none;
	background: #fff;
	border: 1px solid var(--lv-line);
	border-radius: 12px;
	box-shadow: 0 12px 32px rgba(28, 22, 56, 0.14), 0 2px 6px rgba(28, 22, 56, 0.06);
	outline: none;
}

.mfr-lv .mfr-lv-select .mfr-lv-dd__menu[hidden] {
	display: none;
}

.mfr-lv .mfr-lv-select .mfr-lv-dd__option {
	position: relative;
	display: block;
	margin: 0;
	padding: 11px 38px 11px 12px;
	font: 500 14px/1.2 "Inter", "Helvetica Neue", Arial, sans-serif;
	color: var(--lv-text);
	list-style: none;
	border-radius: 8px;
	cursor: pointer;
	white-space: nowrap;
}

.mfr-lv .mfr-lv-select .mfr-lv-dd__option::before {
	content: none;
}

.mfr-lv .mfr-lv-select .mfr-lv-dd__option + .mfr-lv-dd__option {
	margin-top: 2px;
}

.mfr-lv .mfr-lv-select .mfr-lv-dd__option.is-active {
	color: var(--lv-ink);
	background: var(--lv-purple-soft);
}

.mfr-lv .mfr-lv-select .mfr-lv-dd__option[aria-selected="true"] {
	font-weight: 700;
	color: var(--lv-purple);
}

/* A tick on the chosen option. */
.mfr-lv .mfr-lv-select .mfr-lv-dd__option[aria-selected="true"]::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 12px;
	width: 16px;
	height: 16px;
	transform: translateY(-50%);
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23412d82' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Phones hide the two selects behind the filter button. */
.mfr-lv .mfr-lv-tools__toggle {
	display: none;
}

/* --- Topic chips ---------------------------------------------------------- */

.mfr-lv .mfr-lv-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 26px;
}

.mfr-lv .mfr-lv-chips .mfr-lv-chip {
	margin: 0;
	padding: 9px 14px;
	font: 600 13px/1.1 "Inter", "Helvetica Neue", Arial, sans-serif;
	letter-spacing: 0;
	text-transform: none;
	color: var(--lv-ink);
	background: #fff;
	border: 1px solid var(--lv-line);
	border-radius: 8px;
	box-shadow: none;
	cursor: pointer;
	white-space: nowrap;
	transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.mfr-lv .mfr-lv-chips .mfr-lv-chip:hover {
	background: var(--lv-purple-soft);
	border-color: #d8d1ee;
	color: var(--lv-ink);
}

.mfr-lv .mfr-lv-chips .mfr-lv-chip.is-active {
	background: var(--lv-purple-dark);
	border-color: var(--lv-purple-dark);
	color: #fff;
}

.mfr-lv .mfr-lv-chips .mfr-lv-chip:focus-visible {
	outline: 2px solid var(--lv-yellow);
	outline-offset: 2px;
}

/* --- Cards --------------------------------------------------------------- */

.mfr-lv .mfr-lv-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.mfr-lv .mfr-lv-card[hidden] {
	display: none;
}

.mfr-lv .mfr-lv-card {
	margin: 0;
	min-width: 0;
}

.mfr-lv .mfr-lv-card .mfr-lv-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--lv-card);
	border: 1px solid var(--lv-line);
	border-radius: var(--lv-radius);
	overflow: hidden;
	color: inherit;
	text-decoration: none;
	box-shadow: 0 1px 2px rgba(28, 22, 56, 0.04);
	transition: box-shadow 0.2s, transform 0.2s, border-color 0.2s;
}

.mfr-lv .mfr-lv-card .mfr-lv-card__link:hover {
	transform: translateY(-3px);
	box-shadow: var(--lv-shadow);
	border-color: #dcd6ec;
	color: inherit;
}

.mfr-lv .mfr-lv-card .mfr-lv-card__link:focus-visible {
	outline: 3px solid var(--lv-yellow);
	outline-offset: 2px;
}

/* Photo box, shared by cards, the detail banner and related thumbs. */
.mfr-lv .mfr-lv-media {
	position: relative;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	background:
		radial-gradient(circle at 78% 28%, rgba(255, 255, 255, 0.22), transparent 55%),
		linear-gradient(135deg, var(--lv-cat, var(--lv-purple)) 0%, var(--lv-purple-dark) 110%);
}

.mfr-lv .mfr-lv-media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	border-radius: 0;
	transition: transform 0.4s;
}

.mfr-lv .mfr-lv-card__link:hover .mfr-lv-media img {
	transform: scale(1.04);
}

.mfr-lv .mfr-lv-media__art {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(255, 255, 255, 0.9);
	font-size: 64px;
}

.mfr-lv .mfr-lv-media__art .mfr-lv-icon {
	stroke-width: 1.3;
}

.mfr-lv .mfr-lv-badge {
	position: absolute;
	left: 12px;
	top: 12px;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 10px 5px 5px;
	border-radius: 999px;
	background: #fff;
	color: var(--lv-cat, var(--lv-purple));
	font: 800 11px/1 "Inter", "Helvetica Neue", Arial, sans-serif;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.mfr-lv .mfr-lv-badge .mfr-lv-icon {
	width: 20px;
	height: 20px;
	padding: 4px;
	border-radius: 50%;
	background: var(--lv-cat, var(--lv-purple));
	color: #fff;
	stroke-width: 2.2;
}

.mfr-lv .mfr-lv-card__body {
	position: relative;
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: 18px 20px 20px;
}

.mfr-lv .mfr-lv-card__title {
	font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
	font-size: 20px;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -0.01em;
	color: var(--lv-ink);
	margin: 0 0 10px;
}

.mfr-lv .mfr-lv-card__quote {
	margin: 0 0 12px;
	overflow: visible;
	padding: 0;
	border: 0;
	background: none;
	font-style: normal;
	quotes: none;
}

.mfr-lv .mfr-lv-card__quote::before,
.mfr-lv .mfr-lv-card__quote::after {
	content: none;
	display: none;
}

.mfr-lv .mfr-lv-card__quote p {
	margin: 0;
	font: 500 14px/1.55 "Inter", "Helvetica Neue", Arial, sans-serif;
	color: var(--lv-text);
	text-transform: none;
	letter-spacing: 0;
}

.mfr-lv .mfr-lv-card__quote footer {
	margin-top: 2px;
	font: 500 13px/1.5 "Inter", "Helvetica Neue", Arial, sans-serif;
	color: var(--lv-muted);
}

.mfr-lv .mfr-lv-card__summary {
	margin: 0 0 14px;
	font: 400 13px/1.55 "Inter", "Helvetica Neue", Arial, sans-serif;
	color: var(--lv-muted);
}

.mfr-lv .mfr-lv-card__meta {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	margin-top: auto;
}

.mfr-lv .mfr-lv-card__date {
	font: 500 12px/1 "Inter", "Helvetica Neue", Arial, sans-serif;
	color: var(--lv-muted);
}

.mfr-lv .mfr-lv-card__more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 14px;
	font: 700 14px/1 "Inter", "Helvetica Neue", Arial, sans-serif;
	color: var(--lv-purple);
}

.mfr-lv .mfr-lv-card__more span {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.mfr-lv .mfr-lv-card__link:hover .mfr-lv-card__more .mfr-lv-icon {
	transform: translateX(3px);
}

.mfr-lv .mfr-lv-card__more .mfr-lv-icon {
	transition: transform 0.2s;
}

.mfr-lv .mfr-lv-card__chev {
	display: none;
}

/* Status pill: its colour comes in as --mfr-lv-status. */
.mfr-lv .mfr-lv-status {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 6px 11px 6px 7px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--mfr-lv-status) 12%, #fff);
	color: color-mix(in srgb, var(--mfr-lv-status) 75%, #000);
	font: 800 11px/1 "Inter", "Helvetica Neue", Arial, sans-serif;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	white-space: nowrap;
}

.mfr-lv .mfr-lv-status__dot {
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--mfr-lv-status);
	box-shadow: inset 0 0 0 3px color-mix(in srgb, var(--mfr-lv-status) 55%, #fff);
}

/* --- Empty state and pager ---------------------------------------------- */

.mfr-lv .mfr-lv-empty {
	padding: 40px 24px;
	text-align: center;
	background: #fff;
	border: 1px dashed #d8d1ee;
	border-radius: var(--lv-radius);
}

.mfr-lv .mfr-lv-empty[hidden],
.mfr-lv .mfr-lv-pager[hidden] {
	display: none;
}

.mfr-lv .mfr-lv-empty p {
	margin: 0 0 16px;
	font: 500 15px/1.6 "Inter", "Helvetica Neue", Arial, sans-serif;
	color: var(--lv-text);
}

.mfr-lv .mfr-lv-pager {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 32px;
}

.mfr-lv .mfr-lv-pager .mfr-lv-pager__btn {
	min-width: 38px;
	height: 38px;
	margin: 0;
	padding: 0 10px;
	font: 700 14px/1 "Inter", "Helvetica Neue", Arial, sans-serif;
	letter-spacing: 0;
	color: var(--lv-ink);
	background: #fff;
	border: 1px solid var(--lv-line);
	border-radius: 8px;
	box-shadow: none;
	cursor: pointer;
}

.mfr-lv .mfr-lv-pager .mfr-lv-pager__btn:hover:not(:disabled) {
	background: var(--lv-purple-soft);
	color: var(--lv-ink);
}

.mfr-lv .mfr-lv-pager .mfr-lv-pager__btn.is-active {
	background: var(--lv-purple-dark);
	border-color: var(--lv-purple-dark);
	color: #fff;
}

.mfr-lv .mfr-lv-pager .mfr-lv-pager__btn:disabled {
	opacity: 0.4;
	cursor: default;
}

/* --- Shared buttons (grid empty state, detail page) --------------------- */

.mfr-lv a.mfr-lv-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 15px 24px;
	font: 700 15px/1 "Inter", "Helvetica Neue", Arial, sans-serif;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
	border-radius: 10px;
	border: 2px solid transparent;
	transition: background 0.2s, color 0.2s, border-color 0.2s, transform 0.2s;
}

.mfr-lv a.mfr-lv-btn:hover {
	transform: translateY(-1px);
}

.mfr-lv a.mfr-lv-btn--primary,
.mfr-lv a.mfr-lv-btn--primary:hover {
	background: var(--lv-purple);
	color: #fff;
}

.mfr-lv a.mfr-lv-btn--red {
	background: var(--lv-red);
	color: #fff;
}

.mfr-lv a.mfr-lv-btn--red:hover {
	background: var(--lv-red-dark);
	color: #fff;
}

.mfr-lv a.mfr-lv-btn--ghost {
	background: #fff;
	color: var(--lv-ink);
	border-color: var(--lv-line);
}

.mfr-lv a.mfr-lv-btn--ghost:hover {
	background: var(--lv-purple-soft);
	color: var(--lv-ink);
	border-color: #d8d1ee;
}

/* --- Grid responsive ----------------------------------------------------- */

@media (max-width: 1024px) {
	.mfr-lv .mfr-lv-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.mfr-lv.mfr-lv-list {
		padding: 0 0 24px;
	}

	.mfr-lv .mfr-lv-list__rule {
		display: none;
	}

	.mfr-lv .mfr-lv-list__title {
		font-size: 24px;
	}

	.mfr-lv .mfr-lv-tools {
		flex-wrap: wrap;
		gap: 10px;
		margin-bottom: 14px;
	}

	.mfr-lv .mfr-lv-search {
		flex: 1 1 0;
		min-width: 0;
	}

	.mfr-lv .mfr-lv-search input[type="search"] {
		height: 44px;
	}

	.mfr-lv .mfr-lv-tools .mfr-lv-tools__toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		margin: 0;
		padding: 0;
		color: var(--lv-ink);
		background: #fff;
		border: 1px solid var(--lv-line);
		border-radius: 50%;
		box-shadow: none;
		font-size: 18px;
		cursor: pointer;
	}

	.mfr-lv.is-tools-open .mfr-lv-tools .mfr-lv-tools__toggle {
		background: var(--lv-purple-dark);
		border-color: var(--lv-purple-dark);
		color: #fff;
	}

	.mfr-lv .mfr-lv-selects {
		display: none;
		flex: 1 1 100%;
		flex-direction: column;
		gap: 8px;
	}

	.mfr-lv.is-tools-open .mfr-lv-selects {
		display: flex;
	}

	/* No JS, no toggle: keep the selects reachable. */
	.mfr-lv:not(.is-ready) .mfr-lv-selects {
		display: flex;
	}

	.mfr-lv .mfr-lv-select {
		height: 44px;
	}

	.mfr-lv .mfr-lv-select select {
		flex: 1 1 auto;
		height: 42px;
	}

	.mfr-lv .mfr-lv-select .mfr-lv-dd__btn {
		flex: 1 1 auto;
		height: 42px;
		background-position: right center;
	}

	/* Chips scroll sideways instead of wrapping into four rows. */
	.mfr-lv .mfr-lv-chips {
		flex-wrap: nowrap;
		overflow-x: auto;
		margin: 0 -16px 20px;
		padding: 0 16px 4px;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.mfr-lv .mfr-lv-chips::-webkit-scrollbar {
		display: none;
	}

	.mfr-lv .mfr-lv-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}

	.mfr-lv .mfr-lv-card__body {
		padding: 16px 44px 16px 16px;
	}

	.mfr-lv .mfr-lv-card__title {
		font-size: 18px;
		margin-bottom: 6px;
	}

	.mfr-lv .mfr-lv-card__quote p {
		font-size: 13px;
	}

	.mfr-lv .mfr-lv-card__summary {
		margin-bottom: 12px;
	}

	.mfr-lv .mfr-lv-card__more {
		display: none;
	}

	.mfr-lv .mfr-lv-card__chev {
		display: block;
		position: absolute;
		right: 16px;
		bottom: 18px;
		font-size: 20px;
		color: var(--lv-ink);
	}
}

/* ==========================================================================
   3. Detail page
   ========================================================================== */

.mfr-lv.mfr-lv-detail {
	background: var(--lv-bg);
	color: var(--lv-text);
	padding: calc(var(--mfr-header-h, 86px) + 24px) 0 72px;
}

/* The content column lines up with the header: its logo and Donate button
   span 1330px, centred, with the theme's 1290px page width inside that. */
.mfr-lv .mfr-lv-wrap {
	width: min(1330px, calc(100% - 48px));
	max-width: none;
	margin: 0 auto;
	padding: 0;
}

.mfr-lv .mfr-lv-detail p,
.mfr-lv.mfr-lv-detail p {
	font: 400 15px/1.65 "Inter", "Helvetica Neue", Arial, sans-serif;
	color: var(--lv-text);
	margin: 0 0 12px;
}

.mfr-lv.mfr-lv-detail p:last-child {
	margin-bottom: 0;
}

.mfr-lv.mfr-lv-detail h1,
.mfr-lv.mfr-lv-detail h2 {
	font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
	color: var(--lv-ink);
	text-transform: none;
	letter-spacing: -0.01em;
}

.mfr-lv.mfr-lv-detail ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mfr-lv.mfr-lv-detail ul li {
	margin: 0;
	padding: 0;
}

.mfr-lv.mfr-lv-detail ul li::before {
	content: none;
}

/* Plain links only: buttons set their own colour, and at (0,2,1) this rule
   would otherwise paint "Share your experience" purple on red. */
.mfr-lv.mfr-lv-detail a:not(.mfr-lv-btn) {
	color: var(--lv-purple);
}

/* Breadcrumb */
.mfr-lv .mfr-lv-crumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin-bottom: 18px;
	font: 500 13px/1.4 "Inter", "Helvetica Neue", Arial, sans-serif;
	color: var(--lv-muted);
}

.mfr-lv .mfr-lv-crumbs a {
	color: var(--lv-muted);
	text-decoration: none;
}

.mfr-lv .mfr-lv-crumbs a:hover {
	color: var(--lv-purple);
	text-decoration: underline;
}

.mfr-lv .mfr-lv-crumbs .mfr-lv-icon {
	font-size: 12px;
	opacity: 0.6;
}

.mfr-lv .mfr-lv-crumbs [aria-current] {
	color: var(--lv-ink);
}

/* Banner: the photo runs the full width of the window (the template closes the
   content column around it); the bar under it is back in the content width and
   overlaps the photo's bottom edge — category tab on the left, "Last updated"
   and Share as two separate cards on the right, as in the design. */
.mfr-lv .mfr-lv-banner {
	position: relative;
	margin-bottom: 30px;
}

.mfr-lv .mfr-lv-banner .mfr-lv-media {
	aspect-ratio: auto;
	width: 100%;
	height: auto;
	border-radius: 0;
}

/* Banners are designed graphics with text to the edges, so the box takes the
   image's own ratio and nothing is cropped at any window width. */
.mfr-lv .mfr-lv-banner .mfr-lv-media picture {
	display: block;
}

.mfr-lv .mfr-lv-banner .mfr-lv-media img {
	position: static;
	display: block;
	height: auto;
}

/* No photo: the placeholder art needs a box to sit in. */
.mfr-lv .mfr-lv-banner .mfr-lv-media:not(:has(img)) {
	height: clamp(260px, 30vw, 360px);
}

/* The badge lives in the tab below, not on the photo. */
.mfr-lv .mfr-lv-banner .mfr-lv-media > .mfr-lv-badge {
	display: none;
}

.mfr-lv .mfr-lv-banner__bar {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	margin-top: -46px;
}

.mfr-lv .mfr-lv-banner__tab,
.mfr-lv .mfr-lv-banner__updated,
.mfr-lv .mfr-lv-banner .mfr-lv-share {
	background: #fff;
	border: 1px solid var(--lv-line);
	box-shadow: 0 8px 24px rgba(28, 22, 56, 0.1);
}

.mfr-lv .mfr-lv-banner__tab {
	display: inline-flex;
	padding: 16px 20px;
	border-radius: 16px;
}

.mfr-lv .mfr-lv-banner__tab .mfr-lv-badge {
	position: static;
	padding: 8px 14px 8px 8px;
	font-size: 12px;
	background: var(--lv-cat, var(--lv-purple));
	color: #fff;
	box-shadow: none;
}

.mfr-lv .mfr-lv-banner__tab .mfr-lv-badge .mfr-lv-icon {
	background: rgba(255, 255, 255, 0.22);
}

.mfr-lv .mfr-lv-banner__meta {
	display: flex;
	align-items: stretch;
	gap: 12px;
}

.mfr-lv .mfr-lv-banner__updated {
	padding: 14px 20px;
	border-radius: 14px;
	font: 500 13px/1.45 "Inter", "Helvetica Neue", Arial, sans-serif;
	color: var(--lv-muted);
}

.mfr-lv .mfr-lv-banner__updated strong {
	color: var(--lv-ink);
	font-weight: 700;
}

.mfr-lv .mfr-lv-banner .mfr-lv-share {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0 24px;
	font: 700 15px/1 "Inter", "Helvetica Neue", Arial, sans-serif;
	letter-spacing: 0;
	text-transform: none;
	color: var(--lv-ink);
	border-radius: 14px;
	cursor: pointer;
	transition: background 0.2s, transform 0.2s;
}

.mfr-lv .mfr-lv-banner .mfr-lv-share .mfr-lv-icon {
	font-size: 18px;
	color: var(--lv-purple);
}

.mfr-lv .mfr-lv-banner .mfr-lv-share:hover {
	background: var(--lv-purple-soft);
	color: var(--lv-ink);
	transform: translateY(-1px);
}

.mfr-lv.mfr-lv-detail .mfr-lv-detail__title {
	font-size: clamp(28px, 3.6vw, 40px);
	font-weight: 900;
	letter-spacing: -0.03em;
	line-height: 1.15;
	margin: 0 0 12px;
	max-width: 860px;
}

.mfr-lv .mfr-lv-detail__status {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-bottom: 22px;
	font: 500 13px/1.4 "Inter", "Helvetica Neue", Arial, sans-serif;
	color: var(--lv-muted);
}

/* The voice + location row */
.mfr-lv .mfr-lv-voice-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 20px;
	margin-bottom: 22px;
}

.mfr-lv figure.mfr-lv-voice {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: flex-start;
	text-align: left;
	gap: 14px;
	margin: 0;
	padding: 20px 22px;
	background: #fff;
	border: 1px solid var(--lv-line);
	border-left: 4px solid var(--lv-purple);
	border-radius: var(--lv-radius);
}

.mfr-lv .mfr-lv-voice__mark {
	flex: none;
	font: 800 56px/0.8 Georgia, serif;
	color: var(--lv-purple);
}

.mfr-lv.mfr-lv-detail .mfr-lv-voice__eyebrow {
	margin: 0 0 6px;
	font: 800 11px/1 "Inter", "Helvetica Neue", Arial, sans-serif;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--lv-muted);
}

.mfr-lv .mfr-lv-voice blockquote {
	margin: 0;
	overflow: visible;
	padding: 0;
	border: 0;
	background: none;
	quotes: none;
}

.mfr-lv .mfr-lv-voice blockquote::before,
.mfr-lv .mfr-lv-voice blockquote::after {
	content: none;
	display: none;
}

.mfr-lv.mfr-lv-detail .mfr-lv-voice blockquote p {
	font: 600 17px/1.55 "Inter", "Helvetica Neue", Arial, sans-serif;
	font-style: normal;
	color: var(--lv-purple-dark);
	margin: 0;
}

.mfr-lv .mfr-lv-voice figcaption {
	margin-top: 10px;
	font: 700 14px/1.4 "Inter", "Helvetica Neue", Arial, sans-serif;
	color: var(--lv-ink);
}

.mfr-lv .mfr-lv-location {
	display: flex;
	gap: 12px;
	padding: 20px;
	background: var(--lv-purple-soft);
	border-radius: var(--lv-radius);
}

.mfr-lv .mfr-lv-location__icon {
	flex: none;
	font-size: 24px;
	color: var(--lv-purple);
}

.mfr-lv.mfr-lv-detail .mfr-lv-location__label {
	margin: 0 0 4px;
	font: 800 15px/1.3 "Inter", "Helvetica Neue", Arial, sans-serif;
	color: var(--lv-ink);
}

.mfr-lv.mfr-lv-detail .mfr-lv-location__place,
.mfr-lv.mfr-lv-detail .mfr-lv-location__note {
	margin: 0;
	font: 500 13px/1.5 "Inter", "Helvetica Neue", Arial, sans-serif;
	color: var(--lv-muted);
}

.mfr-lv .mfr-lv-intro {
	max-width: 820px;
	margin-bottom: 26px;
}

.mfr-lv.mfr-lv-detail .mfr-lv-intro p {
	font-size: 16px;
}

/* The six cards */
.mfr-lv .mfr-lv-boxes {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin-bottom: 36px;
}

.mfr-lv .mfr-lv-box,
.mfr-lv .mfr-lv-sources,
.mfr-lv .mfr-lv-say,
.mfr-lv .mfr-lv-progress {
	padding: 22px 24px;
	background: #fff;
	border: 1px solid var(--lv-line);
	border-radius: var(--lv-radius);
	box-shadow: 0 1px 2px rgba(28, 22, 56, 0.04);
}

.mfr-lv .mfr-lv-box__head {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 14px;
}

.mfr-lv .mfr-lv-box__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	flex: none;
	border-radius: 10px;
	font-size: 20px;
	color: var(--lv-purple);
	background: var(--lv-purple-soft);
}

.mfr-lv .mfr-lv-box__icon--today      { color: #16a34a; background: #e8f7ee; }
.mfr-lv .mfr-lv-box__icon--unresolved { color: #e08a00; background: #fff4de; }
.mfr-lv .mfr-lv-box__icon--response   { color: #d99a00; background: #fff7dc; }
.mfr-lv .mfr-lv-box__icon--outcome    { color: #ea580c; background: #fff0e6; }
.mfr-lv .mfr-lv-box__icon--say        { color: var(--lv-red); background: #fdebee; }

.mfr-lv.mfr-lv-detail .mfr-lv-box__title {
	flex: 1 1 auto;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.3;
	margin: 0;
}

/* FACT / PROPOSED RESPONSE / PROGRESS — the brief's three kinds of content. */
.mfr-lv .mfr-lv-tag {
	padding: 5px 9px;
	border-radius: 6px;
	font: 800 10px/1 "Inter", "Helvetica Neue", Arial, sans-serif;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	white-space: nowrap;
}

.mfr-lv .mfr-lv-tag--fact     { background: #e8f0ff; color: #1d4ed8; }
.mfr-lv .mfr-lv-tag--proposal { background: #fff4d6; color: #8a5a00; }
.mfr-lv .mfr-lv-tag--progress { background: #e8f7ee; color: #15803d; }

.mfr-lv .mfr-lv-box--fact     { border-top: 3px solid #93b4f5; }
.mfr-lv .mfr-lv-box--proposal { border-top: 3px solid var(--lv-yellow); }

.mfr-lv.mfr-lv-detail .mfr-lv-box__updated {
	margin: -6px 0 10px;
	font: 700 11px/1 "Inter", "Helvetica Neue", Arial, sans-serif;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--lv-muted);
}

.mfr-lv.mfr-lv-detail .mfr-lv-box__body p {
	font-size: 14px;
}

/* A card's text stops after about three lines and fades out, with "Read
   more" under it. Set by mfr-local-voices.js only when the text is actually
   longer; the script also sets the exact max-height, on a line boundary. */
.mfr-lv.mfr-lv-detail .mfr-lv-box__body.is-clamped {
	position: relative;
	max-height: 72px;
	overflow: hidden;
}

.mfr-lv.mfr-lv-detail .mfr-lv-box__body.is-clamped::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 22px;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.9));
	pointer-events: none;
}

.mfr-lv.mfr-lv-detail .mfr-lv-box__role {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px dashed var(--lv-line);
	font-style: italic;
}

.mfr-lv.mfr-lv-detail .mfr-lv-box__note {
	margin-top: 12px;
	font-size: 13px;
	color: var(--lv-muted);
}

.mfr-lv .mfr-lv-box .mfr-lv-box__more {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin: 10px 0 0;
	padding: 0;
	font: 700 14px/1.4 "Inter", "Helvetica Neue", Arial, sans-serif;
	letter-spacing: 0;
	text-transform: none;
	color: var(--lv-purple);
	background: none;
	border: 0;
	box-shadow: none;
	cursor: pointer;
}

/* Cards in a row share its height, so pin "Read more" to the bottom: the two
   links of a row then sit level even when one card has an extra line (the
   "Last updated" date). The top padding stands in for the 10px margin. */
.mfr-lv .mfr-lv-boxes .mfr-lv-box {
	display: flex;
	flex-direction: column;
}

.mfr-lv .mfr-lv-boxes .mfr-lv-box .mfr-lv-box__more {
	align-self: flex-start;
	margin-top: auto;
	padding-top: 10px;
}

.mfr-lv .mfr-lv-box .mfr-lv-box__more span {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.mfr-lv .mfr-lv-box .mfr-lv-box__more[hidden] {
	display: none;
}

.mfr-lv .mfr-lv-box .mfr-lv-box__more i {
	font-style: normal;
	transition: transform 0.15s ease;
}

/* "Show less" points back up. */
.mfr-lv .mfr-lv-box .mfr-lv-box__more.is-open i {
	transform: rotate(-90deg);
}

.mfr-lv .mfr-lv-box .mfr-lv-box__more:hover {
	background: none;
	color: var(--lv-purple-dark);
}

.mfr-lv.mfr-lv-detail .mfr-lv-list-dot li,
.mfr-lv.mfr-lv-detail .mfr-lv-list-q li {
	position: relative;
	padding-left: 18px;
	margin-bottom: 8px;
	font: 400 14px/1.55 "Inter", "Helvetica Neue", Arial, sans-serif;
	color: var(--lv-text);
}

.mfr-lv.mfr-lv-detail .mfr-lv-list-dot li::before,
.mfr-lv.mfr-lv-detail .mfr-lv-list-q li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 0.6em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--lv-yellow);
}

.mfr-lv.mfr-lv-detail .mfr-lv-list-q li::before {
	background: #f0a020;
}

.mfr-lv.mfr-lv-detail .mfr-lv-list-q {
	margin-top: 10px;
}

.mfr-lv.mfr-lv-detail .mfr-lv-authorities {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.mfr-lv.mfr-lv-detail .mfr-lv-authorities li {
	padding: 8px 12px;
	border-radius: 8px;
	background: var(--lv-purple-soft);
	font: 600 13px/1 "Inter", "Helvetica Neue", Arial, sans-serif;
	color: var(--lv-purple);
}

/* Progress tracker */
.mfr-lv .mfr-lv-progress {
	margin-bottom: 24px;
	padding: 26px 28px;
}

.mfr-lv .mfr-lv-progress__head {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 26px;
}

.mfr-lv .mfr-lv-progress__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: var(--lv-purple-soft);
	font-size: 24px;
	color: var(--lv-purple);
}

.mfr-lv.mfr-lv-detail .mfr-lv-progress__head h2 {
	flex: 1 1 auto;
	font-size: 22px;
	font-weight: 800;
	margin: 0;
}

.mfr-lv .mfr-lv-steps {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
	counter-reset: none;
}

.mfr-lv .mfr-lv-step {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 0 4px;
	text-align: center;
}

/* The line between the dots. */
.mfr-lv .mfr-lv-step::before {
	content: "";
	position: absolute;
	top: 15px;
	right: 50%;
	width: 100%;
	height: 3px;
	background: var(--lv-line);
	z-index: 0;
}

.mfr-lv .mfr-lv-step:first-child::before {
	content: none;
}

.mfr-lv .mfr-lv-step.is-done::before,
.mfr-lv .mfr-lv-step.is-current::before {
	background: #16a34a;
}

.mfr-lv .mfr-lv-step__dot {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #eceaf3;
	color: #fff;
	font-size: 16px;
	box-shadow: 0 0 0 4px #fff;
}

.mfr-lv .mfr-lv-step__dot .mfr-lv-icon {
	stroke-width: 3;
}

.mfr-lv .mfr-lv-step.is-done .mfr-lv-step__dot {
	background: #16a34a;
}

.mfr-lv .mfr-lv-step.is-current .mfr-lv-step__dot {
	background: var(--mfr-lv-status);
	box-shadow: 0 0 0 4px #fff, 0 0 0 7px color-mix(in srgb, var(--mfr-lv-status) 25%, #fff);
}

.mfr-lv .mfr-lv-step.is-current .mfr-lv-step__dot::after {
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #fff;
}

.mfr-lv .mfr-lv-step__label {
	font: 600 13px/1.3 "Inter", "Helvetica Neue", Arial, sans-serif;
	color: var(--lv-muted);
}

.mfr-lv .mfr-lv-step.is-current .mfr-lv-step__label {
	font-weight: 800;
	color: var(--mfr-lv-status);
}

.mfr-lv .mfr-lv-step__date {
	font: 500 12px/1.3 "Inter", "Helvetica Neue", Arial, sans-serif;
	color: var(--lv-muted);
}

.mfr-lv.mfr-lv-detail .mfr-lv-milestones {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 24px;
	padding-top: 20px;
	border-top: 1px solid var(--lv-line);
}

.mfr-lv.mfr-lv-detail .mfr-lv-milestones li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font: 500 14px/1.45 "Inter", "Helvetica Neue", Arial, sans-serif;
	color: var(--lv-ink);
}

.mfr-lv.mfr-lv-detail .mfr-lv-milestones li.is-open {
	color: var(--lv-muted);
}

.mfr-lv .mfr-lv-milestones__mark {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	margin-top: 1px;
	border-radius: 50%;
	background: #16a34a;
	color: #fff;
	font-size: 12px;
}

.mfr-lv .mfr-lv-milestones__mark .mfr-lv-icon {
	stroke-width: 3;
}

.mfr-lv .is-open .mfr-lv-milestones__mark {
	background: #fff;
	border: 2px solid #c9c4d8;
}

.mfr-lv .mfr-lv-milestones time {
	margin-left: auto;
	padding-left: 8px;
	font-size: 12px;
	color: var(--lv-muted);
	white-space: nowrap;
}

.mfr-lv.mfr-lv-detail .mfr-lv-progress__foot {
	margin: 18px 0 0;
	font: 700 12px/1.4 "Inter", "Helvetica Neue", Arial, sans-serif;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--lv-muted);
}

/* Sources + Have your say */
.mfr-lv .mfr-lv-closing-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin-bottom: 24px;
}

.mfr-lv .mfr-lv-sources {
	background: #eef3fd;
	border-color: #dbe5f8;
}

.mfr-lv .mfr-lv-sources .mfr-lv-box__icon--sources {
	color: #1d4ed8;
	background: #dde8fc;
}

.mfr-lv.mfr-lv-detail .mfr-lv-sources ul li {
	position: relative;
	padding-left: 20px;
	margin-bottom: 10px;
	font: 500 15px/1.45 "Inter", "Helvetica Neue", Arial, sans-serif;
	color: var(--lv-text);
}

/* A round bullet: a triangle here read as an expand/collapse toggle. */
.mfr-lv.mfr-lv-detail .mfr-lv-sources ul li::before {
	content: "";
	position: absolute;
	left: 3px;
	top: 0.55em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #1d4ed8;
}

.mfr-lv.mfr-lv-detail .mfr-lv-sources a {
	color: #1d4ed8;
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-color: rgba(29, 78, 216, 0.35);
}

.mfr-lv.mfr-lv-detail .mfr-lv-sources__none {
	font-size: 14px;
	color: var(--lv-muted);
}

.mfr-lv.mfr-lv-detail a.mfr-lv-sources__report {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 10px;
	font: 700 14px/1 "Inter", "Helvetica Neue", Arial, sans-serif;
	color: var(--lv-purple);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.mfr-lv .mfr-lv-say {
	background: linear-gradient(135deg, #fff 0%, #fff3f5 100%);
}

.mfr-lv.mfr-lv-detail .mfr-lv-say ul li {
	margin-bottom: 4px;
	font: 500 14px/1.5 "Inter", "Helvetica Neue", Arial, sans-serif;
	color: var(--lv-muted);
}

.mfr-lv .mfr-lv-say__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
}

.mfr-lv.mfr-lv-detail .mfr-lv-closing {
	max-width: 820px;
	margin: 0 0 40px;
	font: 700 17px/1.55 "Inter", "Helvetica Neue", Arial, sans-serif;
	color: var(--lv-purple-dark);
}

/* Related */
.mfr-lv.mfr-lv-detail .mfr-lv-related h2 {
	font-size: 22px;
	font-weight: 800;
	margin: 0 0 16px;
}

.mfr-lv .mfr-lv-related__row {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.mfr-lv.mfr-lv-detail a.mfr-lv-related__item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 14px 10px 10px;
	background: #fff;
	border: 1px solid var(--lv-line);
	border-radius: 12px;
	color: var(--lv-ink);
	text-decoration: none;
	transition: box-shadow 0.2s, transform 0.2s;
}

.mfr-lv.mfr-lv-detail a.mfr-lv-related__item:hover {
	transform: translateY(-2px);
	box-shadow: var(--lv-shadow);
}

.mfr-lv .mfr-lv-related .mfr-lv-media {
	flex: none;
	width: 64px;
	height: 56px;
	aspect-ratio: auto;
	border-radius: 8px;
}

.mfr-lv .mfr-lv-related .mfr-lv-media__art {
	font-size: 26px;
}

.mfr-lv .mfr-lv-related .mfr-lv-badge {
	display: none;
}

.mfr-lv .mfr-lv-related__title {
	flex: 1 1 auto;
	font: 700 14px/1.35 "Inter", "Helvetica Neue", Arial, sans-serif;
}

/* Two classes on the main, to outrank the page's own `p` margin rule. */
.mfr-lv.mfr-lv-detail .mfr-lv-back {
	margin: 40px 0 0;
	text-align: center;
}

/* Detail responsive */
@media (max-width: 900px) {
	.mfr-lv .mfr-lv-related__row {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 767px) {
	.mfr-lv.mfr-lv-detail {
		padding: calc(var(--mfr-header-h, 70px) + 16px) 0 48px;
	}

	.mfr-lv .mfr-lv-wrap {
		width: calc(100% - 32px);
	}

	.mfr-lv .mfr-lv-crumbs {
		font-size: 12px;
	}

	.mfr-lv .mfr-lv-crumbs [aria-current],
	.mfr-lv .mfr-lv-crumbs [aria-current] ~ *,
	.mfr-lv .mfr-lv-crumbs .mfr-lv-icon:nth-last-of-type(1) {
		display: none;
	}

	.mfr-lv .mfr-lv-banner {
		margin-bottom: 22px;
	}

	/* A phone is too narrow to crop the photo into a strip: show all of it
	   at its own ratio, and put the bar under it rather than over its foot. */
	.mfr-lv .mfr-lv-banner .mfr-lv-media {
		height: auto;
	}

	/* No photo: the placeholder art needs a box to sit in. */
	.mfr-lv .mfr-lv-banner .mfr-lv-media:not(:has(img)) {
		aspect-ratio: 16 / 9;
	}

	.mfr-lv .mfr-lv-banner .mfr-lv-media picture {
		display: block;
	}

	.mfr-lv .mfr-lv-banner .mfr-lv-media img {
		position: static;
		display: block;
		height: auto;
	}

	.mfr-lv .mfr-lv-banner__bar {
		margin-top: 12px;
		align-items: flex-end;
		gap: 8px;
		flex-wrap: wrap;
	}

	.mfr-lv .mfr-lv-banner__meta {
		margin-left: auto;
	}

	.mfr-lv .mfr-lv-banner__tab .mfr-lv-badge,
	.mfr-lv .mfr-lv-banner__updated strong {
		white-space: nowrap;
	}

	.mfr-lv .mfr-lv-banner__tab .mfr-lv-badge {
		font-size: 11px;
	}

	.mfr-lv .mfr-lv-banner__tab {
		padding: 8px 10px;
		border-radius: 12px;
	}

	.mfr-lv .mfr-lv-banner__meta {
		gap: 8px;
	}

	.mfr-lv .mfr-lv-banner__updated {
		padding: 9px 12px;
		font-size: 11px;
	}

	.mfr-lv .mfr-lv-banner .mfr-lv-share {
		padding: 0 14px;
	}

	.mfr-lv .mfr-lv-banner .mfr-lv-share span {
		display: none;
	}

	.mfr-lv .mfr-lv-voice-row,
	.mfr-lv .mfr-lv-boxes,
	.mfr-lv .mfr-lv-closing-row,
	.mfr-lv.mfr-lv-detail .mfr-lv-milestones {
		grid-template-columns: minmax(0, 1fr);
	}

	.mfr-lv .mfr-lv-voice-row,
	.mfr-lv .mfr-lv-boxes {
		gap: 14px;
	}

	.mfr-lv .mfr-lv-box,
	.mfr-lv .mfr-lv-sources,
	.mfr-lv .mfr-lv-say,
	.mfr-lv .mfr-lv-progress {
		padding: 18px;
	}

	/* The five steps stack vertically on a phone, line on the left. */
	.mfr-lv .mfr-lv-steps {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
	}

	.mfr-lv .mfr-lv-step {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		gap: 4px 12px;
		text-align: left;
		padding: 0;
	}

	.mfr-lv .mfr-lv-step::before {
		top: auto;
		bottom: 50%;
		left: 15px;
		right: auto;
		width: 3px;
		height: calc(100% + 14px);
	}

	.mfr-lv .mfr-lv-step__date {
		margin-left: auto;
	}

	.mfr-lv .mfr-lv-say__actions a.mfr-lv-btn {
		flex: 1 1 100%;
	}
}
