/**
 * Local Voices landing (CPT-driven content). Scoped to .lnm-lv and body.lnm-local-voices-template.
 *
 * @package LocalNewsMinneapolis
 */

/* ------------------------------------------------------------------------- */
/* Tokens (editorial red / neutral — tune when matching brand screenshot)   */
/* ------------------------------------------------------------------------- */

body.lnm-local-voices-template {
	--lnm-lv-red: #b91c1c;
	--lnm-lv-red-dark: #991b1b;
	--lnm-lv-red-soft: #fef2f2;
	/* Category chip on card image (matches comp: firebrick + white type) */
	--lnm-lv-badge-image-bg: #b22222;
	--lnm-lv-badge-image-text: #ffffff;
	--lnm-lv-ink: #111827;
	--lnm-lv-muted: #6b7280;
	--lnm-lv-line: #e5e7eb;
	--lnm-lv-bg-alt: #f9fafb;
	--lnm-lv-radius: 10px;
	--lnm-lv-radius-sm: 6px;
	--lnm-lv-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
	/* CTA band headline (matches mock forest green) */
	--lnm-lv-cta-green: #1b4332;
}

body.lnm-local-voices-template .lnm-lv-site-content {
	padding-top: 1.5rem;
	padding-bottom: 2.5rem;
}

.lnm-lv {
	color: var(--lnm-lv-ink);
	font-size: 1rem;
	line-height: 1.5;
}

.lnm-lv a {
	color: var(--lnm-lv-ink);
	text-decoration: none;
	transition: color 0.15s ease, border-color 0.15s ease, background-color 0.15s ease;
}

.lnm-lv a:hover,
.lnm-lv a:focus {
	color: var(--lnm-lv-red);
}

.lnm-lv a:focus {
	outline: 2px solid var(--lnm-lv-red);
	outline-offset: 2px;
}

/* ------------------------------------------------------------------------- */
/* Featured split                                                           */
/* ------------------------------------------------------------------------- */

.lnm-lv__featured {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	margin-bottom: 2rem;
	border: 1px solid var(--lnm-lv-line);
	border-radius: var(--lnm-lv-radius);
	overflow: hidden;
	background: #fff;
	box-shadow: var(--lnm-lv-shadow);
}

@media (min-width: 768px) {
	.lnm-lv__featured {
		grid-template-columns: 1.05fr 1fr;
	}
}

.lnm-lv__featured-media {
	background: #f3f4f6;
	min-height: 200px;
}

.lnm-lv__featured-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 16 / 10;
}

.lnm-lv__featured-body {
	padding: 1.25rem 1.5rem 1.5rem;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.75rem;
}

.lnm-lv__kicker {
	margin: 0;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--lnm-lv-red);
}

.lnm-lv__featured-title {
	margin: 0;
	font-size: clamp(1.35rem, 2.5vw, 1.75rem);
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -0.02em;
}

.lnm-lv__featured-excerpt {
	margin: 0;
	color: #374151;
	font-size: 0.95rem;
	line-height: 1.55;
}

.lnm-lv__byline {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	margin-top: 0.25rem;
}

.lnm-lv__byline-avatar {
	width: 40px;
	height: 40px;
	border-radius: 999px;
	background: linear-gradient(135deg, #fecdd3, #fee2e2);
	border: 2px solid #fff;
	box-shadow: 0 0 0 1px var(--lnm-lv-line);
	flex-shrink: 0;
}

.lnm-lv__byline-text {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	line-height: 1.2;
}

.lnm-lv__byline-name {
	font-weight: 700;
	font-size: 0.9rem;
}

.lnm-lv__byline-role {
	font-size: 0.8rem;
	color: var(--lnm-lv-muted);
}

.lnm-lv__link-arrow {
	margin-top: 0.25rem;
	font-weight: 700;
	font-size: 0.9rem;
	color: var(--lnm-lv-red);
}

.lnm-lv__link-arrow::after {
	content: " \2192";
}

.lnm-lv__link-arrow:hover,
.lnm-lv__link-arrow:focus {
	color: var(--lnm-lv-red-dark);
}

/* ------------------------------------------------------------------------- */
/* Latest section + grid                                                    */
/* ------------------------------------------------------------------------- */

.lnm-lv__latest {
	margin-bottom: 2rem;
}

.lnm-lv__section-head {
	border-left: 4px solid var(--lnm-lv-red);
	padding-left: 0.75rem;
	margin-bottom: 1.25rem;
}

.lnm-lv__section-title {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--lnm-lv-ink);
}

.lnm-lv__grid {
	--bs-gutter-x: 1rem;
	--bs-gutter-y: 1rem;
	margin-bottom: 0;
}

.lnm-lv__card {
	height: 100%;
	display: flex;
	flex-direction: column;
	border: 1px solid var(--lnm-lv-line);
	border-radius: var(--lnm-lv-radius-sm);
	background: #fff;
	overflow: hidden;
	box-shadow: var(--lnm-lv-shadow);
}

.lnm-lv__card-media {
	position: relative;
	background: #e5e7eb;
}

.lnm-lv__card-image {
	display: block;
	position: relative;
	overflow: hidden;
	background: #e5e7eb;
}

.lnm-lv__card-image img {
	width: 100%;
	height: auto;
	display: block;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.lnm-lv__card-body {
	padding: 0.75rem 0.85rem 0.95rem;
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	flex: 1;
}

/* Category on Latest card image: top-left, solid firebrick, white caps (comp) */
.lnm-lv__pill--image {
	position: absolute;
	top: 0.5rem;
	left: 0.5rem;
	z-index: 2;
	margin: 0;
	max-width: calc(100% - 1rem);
	font-size: 0.6rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	line-height: 1.2;
	text-transform: uppercase;
	padding: 0.3rem 0.5rem;
	border-radius: 2px;
	color: var(--lnm-lv-badge-image-text) !important;
	background: var(--lnm-lv-badge-image-bg);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.28);
}

.lnm-lv__card-image:hover .lnm-lv__pill--image,
.lnm-lv__card-image:focus .lnm-lv__pill--image {
	color: var(--lnm-lv-badge-image-text) !important;
	background: var(--lnm-lv-badge-image-bg);
}

.lnm-lv__card-title {
	margin: 0;
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -0.01em;
}

.lnm-lv__card-title a {
	color: inherit;
}

.lnm-lv__card-title a:hover,
.lnm-lv__card-title a:focus {
	color: var(--lnm-lv-red);
}

.lnm-lv__card-meta {
	margin-top: auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.5rem;
	font-size: 0.75rem;
	color: var(--lnm-lv-muted);
}

.lnm-lv__card-avatar {
	width: 22px;
	height: 22px;
	border-radius: 999px;
	background: linear-gradient(180deg, #e5e7eb, #d1d5db);
	border: 1px solid #fff;
	box-shadow: 0 0 0 1px var(--lnm-lv-line);
}

.lnm-lv__card-author {
	font-weight: 600;
	color: #4b5563;
}

.lnm-lv__card-dot {
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: #d1d5db;
}

.lnm-lv__card-time {
	white-space: nowrap;
}

/* Lucide-style inline SVGs (heart, thumbs-up, clock) — currentColor = metric text */
.lnm-lv__engage {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	margin-top: 0.45rem;
	padding-top: 0.5rem;
	border-top: 1px solid #f3f4f6;
}

.lnm-lv__engage--interactive {
	flex-wrap: wrap;
	gap: 0.65rem 0.9rem;
}

.lnm-lv__engage--after-content {
	margin-top: 1.25rem;
}

/* Shortcode [lnm_local_voices] — grid cards */
.lnm-voice-engage {
	margin-top: 0.5rem;
	margin-bottom: 0.5rem;
}

.lnm-lv__react-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	margin: 0;
	padding: 0.2rem 0.15rem;
	font: inherit;
	font-size: 0.75rem;
	font-weight: 700;
	color: #6b7280;
	background: transparent;
	border: 0;
	border-radius: 6px;
	cursor: pointer;
	line-height: 1.2;
}

.lnm-lv__react-btn:hover,
.lnm-lv__react-btn:focus-visible {
	color: var(--lnm-lv-red, #b91c1c);
}

.lnm-lv__react-btn:focus-visible {
	outline: 2px solid #93c5fd;
	outline-offset: 2px;
}

.lnm-lv__react-btn.is-lnm-lv-voted,
.lnm-lv__react-btn[aria-pressed="true"] {
	color: #111827;
}

.lnm-lv__react-btn--thumbs.is-lnm-lv-voted,
.lnm-lv__react-btn--thumbs[aria-pressed="true"] {
	color: #15803d;
}

/* AJAX in-flight: spinner + label (script toggles .is-lnm-lv-busy on the row) */
.lnm-lv__engage.is-lnm-lv-busy {
	opacity: 0.94;
	pointer-events: none;
	transition: opacity 0.15s ease;
	flex-wrap: wrap;
}

.lnm-lv__card .lnm-lv__engage--has-date.is-lnm-lv-busy {
	flex-wrap: wrap;
}

.lnm-lv__react-btn.is-lnm-lv-loading {
	position: relative;
	color: #9ca3af;
}

.lnm-lv__react-btn.is-lnm-lv-loading .lnm-lv__engage-svg {
	opacity: 0.35;
}

.lnm-lv__busy-status {
	flex-basis: 100%;
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	font-size: 0.72rem;
	font-weight: 600;
	color: #6b7280;
	margin-top: 0.2rem;
	min-height: 1.15rem;
}

.lnm-lv__busy-spinner {
	width: 14px;
	height: 14px;
	box-sizing: border-box;
	border: 2px solid #e5e7eb;
	border-top-color: var(--lnm-lv-red, #b91c1c);
	border-radius: 50%;
	animation: lnm-lv-busy-spin 0.65s linear infinite;
	flex-shrink: 0;
}

@keyframes lnm-lv-busy-spin {
	to {
		transform: rotate(360deg);
	}
}

.lnm-lv__engage-metric {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	font-size: 0.75rem;
	font-weight: 700;
	color: #6b7280;
}

.lnm-lv__engage-svg {
	display: block;
	width: 1.05em;
	height: 1.05em;
	flex-shrink: 0;
	vertical-align: middle;
	shape-rendering: geometricPrecision;
}

.lnm-lv__engage-val {
	font-variant-numeric: tabular-nums;
	line-height: 1;
}

/* Latest cards: one row = heart, thumbs, then date (clock) aligned to the end */
.lnm-lv__card .lnm-lv__engage--has-date {
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: center;
	gap: 0.45rem 0.5rem;
	font-size: 0.7rem;
}

.lnm-lv__card .lnm-lv__engage--has-date .lnm-lv__engage-metric {
	gap: 0.2rem;
}

.lnm-lv__card .lnm-lv__engage--has-date .lnm-lv__engage-svg {
	width: 1.05em;
	height: 1.05em;
}

.lnm-lv__card .lnm-lv__engage--has-date .lnm-lv__engage-metric--date {
	margin-left: auto;
	min-width: 0;
}

.lnm-lv__engage-time {
	white-space: nowrap;
}

.lnm-lv__recent .lnm-lv__engage {
	margin-top: 0.4rem;
	padding-top: 0;
	border-top: 0;
	gap: 0.7rem;
}

.lnm-lv__recent .lnm-lv__engage-metric {
	font-size: 0.7rem;
}

.lnm-lv__recent-inner:hover .lnm-lv__engage-metric,
.lnm-lv__recent-inner:focus-within .lnm-lv__engage-metric,
.lnm-lv__recent-inner:hover .lnm-lv__engage-val,
.lnm-lv__recent-inner:focus-within .lnm-lv__engage-val {
	color: #6b7280 !important;
}

.lnm-lv__recent .lnm-lv__engage-svg {
	width: 1.05em;
	height: 1.05em;
}

/* ------------------------------------------------------------------------- */
/* CTA band: light bar + people icon + green headline + red button (mock)   */
/* ------------------------------------------------------------------------- */

.lnm-lv__cta {
	margin-bottom: 0.5rem;
}

.lnm-lv__cta-inner {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 1rem;
	padding: 1.1rem 1.15rem;
	background: #f3f4f6;
	border: 1px solid #d1d5db;
	border-radius: var(--lnm-lv-radius-sm);
	box-shadow: none;
}

@media (min-width: 768px) {
	.lnm-lv__cta-inner {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		gap: 1.15rem 1.25rem;
		padding: 1.1rem 1.25rem 1.1rem 1.1rem;
	}
}

.lnm-lv__cta-figure {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: var(--lnm-lv-red);
}

@media (min-width: 768px) {
	.lnm-lv__cta-figure {
		justify-content: flex-start;
	}
}

.lnm-lv__cta-people {
	display: block;
	width: 40px;
	height: 40px;
}

.lnm-lv__cta-copy {
	flex: 1 1 12rem;
	min-width: 0;
}

.lnm-lv__cta-title {
	margin: 0 0 0.35rem;
	font-size: clamp(1.05rem, 2vw, 1.2rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.3;
	color: var(--lnm-lv-cta-green);
}

.lnm-lv__cta-text {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.45;
	color: #1f2937;
	max-width: 36rem;
}

.lnm-lv__cta-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: center;
	font-weight: 800;
	font-size: 0.72rem;
	letter-spacing: 0.04em;
	padding: 0.65rem 1.1rem;
	border-radius: 4px;
	background: var(--lnm-lv-red);
	color: #fff !important;
	border: 0;
	text-decoration: none;
	white-space: normal;
	text-align: center;
	max-width: 100%;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}

@media (min-width: 768px) {
	.lnm-lv__cta-btn {
		align-self: center;
		flex: 0 0 auto;
		white-space: nowrap;
	}
}

.lnm-lv__cta-btn:hover,
.lnm-lv__cta-btn:focus {
	background: var(--lnm-lv-red-dark);
	color: #fff !important;
}

/* ------------------------------------------------------------------------- */
/* Sidebar                                                                  */
/* ------------------------------------------------------------------------- */

.lnm-lv-sidebar-wrap {
	margin-top: 1.5rem;
}

@media (min-width: 992px) {
	.lnm-lv-sidebar-wrap {
		margin-top: 0;
	}
}

.lnm-lv-sidebar {
	position: sticky;
	top: 1rem;
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.lnm-lv__panel {
	background: #fff;
	border: 1px solid var(--lnm-lv-line);
	border-radius: var(--lnm-lv-radius);
	padding: 1rem 1.1rem 1.1rem;
	box-shadow: var(--lnm-lv-shadow);
}

.lnm-lv__panel-head {
	margin: -0.1rem 0 0.9rem;
	padding-bottom: 0.55rem;
	border-bottom: 1px solid #f3f4f6;
}

.lnm-lv__panel-title {
	margin: 0;
	font-size: 0.95rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--lnm-lv-ink);
}

/* Most popular: same firebrick + white as image badges (comp bar header) */
.lnm-lv__panel--popular {
	padding: 0;
	overflow: hidden;
}

.lnm-lv__panel--popular .lnm-lv__panel-head--popular {
	margin: 0 0 0;
	padding: 0.6rem 1rem 0.65rem;
	background: var(--lnm-lv-badge-image-bg);
	border-bottom: 0;
}

.lnm-lv__panel--popular .lnm-lv__panel-title--popular {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #fff !important;
}

.lnm-lv__panel--popular .lnm-lv__panel-title-icon {
	color: #fff;
	font-size: 0.95rem;
	line-height: 1;
	text-shadow: 0 1px 0 rgba(0, 0, 0, 0.12);
}

.lnm-lv__panel--popular .lnm-lv__panel-title-text {
	color: #fff;
}

/* Categories: same firebrick bar + white title as Most popular */
.lnm-lv__panel--categories {
	padding: 0;
	overflow: hidden;
}

.lnm-lv__panel--categories .lnm-lv__panel-head--categories {
	margin: 0;
	padding: 0.6rem 1rem 0.65rem;
	background: var(--lnm-lv-badge-image-bg);
	border-bottom: 0;
}

.lnm-lv__panel--categories .lnm-lv__panel-title--categories {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #fff !important;
}

.lnm-lv__panel--categories .lnm-lv__panel-title--categories .lnm-lv__panel-title-text {
	color: #fff;
}

.lnm-lv__panel--categories .lnm-lv__categories {
	margin: 0;
	padding: 0.9rem 1.1rem 1.1rem;
}

.lnm-lv__panel--popular .lnm-lv__popular {
	margin: 0;
	padding: 0.9rem 1.1rem 0.65rem;
}

.lnm-lv__panel-foot--popular {
	padding: 0 1.1rem 1.1rem;
}

.lnm-lv__sidebar-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	text-decoration: none;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-align: center;
	border: 0;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.lnm-lv__sidebar-btn--primary {
	width: 100%;
	padding: 0.62rem 0.85rem;
	font-size: 0.72rem;
	text-transform: uppercase;
	color: #fff !important;
	background: var(--lnm-lv-badge-image-bg);
	border-radius: 4px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}

.lnm-lv__sidebar-btn--primary:hover,
.lnm-lv__sidebar-btn--primary:focus {
	background: var(--lnm-lv-red-dark);
	color: #fff !important;
}

.lnm-lv__popular {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.lnm-lv__popular-item {
	margin: 0;
}

.lnm-lv__popular-link {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.45rem 0.35rem;
	margin: 0 -0.35rem;
	border-radius: var(--lnm-lv-radius-sm);
}

.lnm-lv__popular-link:hover,
.lnm-lv__popular-link:focus {
	background: var(--lnm-lv-bg-alt);
}

/* Default text black; only the name tints red on hover (overrides .lnm-lv a:hover) */
.lnm-lv a.lnm-lv__popular-link,
.lnm-lv a.lnm-lv__popular-link:visited {
	color: #111 !important;
}

.lnm-lv a.lnm-lv__popular-link:hover,
.lnm-lv a.lnm-lv__popular-link:focus {
	color: #111 !important;
}

.lnm-lv a.lnm-lv__popular-link:hover .lnm-lv__popular-name,
.lnm-lv a.lnm-lv__popular-link:focus .lnm-lv__popular-name {
	color: var(--lnm-lv-red) !important;
}

.lnm-lv__popular-avatar {
	width: 48px;
	height: 48px;
	border-radius: 999px;
	overflow: hidden;
	flex-shrink: 0;
	background: #e5e7eb;
	box-shadow: 0 0 0 1px var(--lnm-lv-line);
}

.lnm-lv__popular-avatar img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.lnm-lv__popular-main {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.1rem;
	min-width: 0;
	flex: 1;
}

.lnm-lv__popular-name {
	font-weight: 800;
	font-size: 0.9rem;
	line-height: 1.2;
	color: #111;
}

.lnm-lv__popular-role {
	font-size: 0.8rem;
	color: var(--lnm-lv-muted);
}

.lnm-lv__chip {
	margin-top: 0.2rem;
	font-size: 0.6rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 0.22rem 0.45rem;
	border-radius: 2px;
	background: var(--lnm-lv-badge-image-bg);
	color: var(--lnm-lv-badge-image-text);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
}

.lnm-lv__popular-link:hover .lnm-lv__chip,
.lnm-lv__popular-link:focus .lnm-lv__chip {
	color: var(--lnm-lv-badge-image-text) !important;
	background: var(--lnm-lv-badge-image-bg);
}

.lnm-lv__popular-stat {
	display: inline-flex;
	align-items: center;
	gap: 0.2rem;
	font-size: 0.8rem;
	font-weight: 700;
	color: #4b5563;
	flex-shrink: 0;
}

.lnm-lv__star {
	color: #d97706;
	font-size: 0.9rem;
	line-height: 1;
}

.lnm-lv__stat-num {
	font-variant-numeric: tabular-nums;
}

/* Categories: two columns, icon + label */
.lnm-lv__categories {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.5rem 0.75rem;
}

.lnm-lv__cat {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.45rem 0.4rem;
	border-radius: var(--lnm-lv-radius-sm);
	border: 1px solid transparent;
}

.lnm-lv__cat:hover,
.lnm-lv__cat:focus {
	background: var(--lnm-lv-bg-alt);
	border-color: #f3f4f6;
}

/* Black label by default; only the name turns red on hover (overrides .lnm-lv a:hover) */
.lnm-lv a.lnm-lv__cat,
.lnm-lv a.lnm-lv__cat:visited {
	color: #111 !important;
}

.lnm-lv a.lnm-lv__cat:hover,
.lnm-lv a.lnm-lv__cat:focus {
	color: #111 !important;
}

.lnm-lv a.lnm-lv__cat:hover .lnm-lv__cat-label,
.lnm-lv a.lnm-lv__cat:focus .lnm-lv__cat-label {
	color: var(--lnm-lv-red) !important;
}

.lnm-lv__cat-icon {
	width: 28px;
	height: 28px;
	border-radius: 6px;
	flex-shrink: 0;
	background: var(--lnm-lv-bg-alt);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 16px 16px;
	border: 1px solid #f3f4f6;
}

.lnm-lv__cat-icon--1 {
	background-color: #eff6ff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='1.7'%3E%3Cpath d='M4 21V9l8-4 8 4v12'/%3E%3Cpath d='M9 21v-6h6v6'/%3E%3C/svg%3E");
}
.lnm-lv__cat-icon--2 {
	background-color: #f0fdf4;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23059669' stroke-width='1.7'%3E%3Crect x='4' y='7' width='16' height='12' rx='1'/%3E%3Cpath d='M8 7V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/%3E%3C/svg%3E");
}
.lnm-lv__cat-icon--3 {
	background-color: #ecfdf5;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23047857' stroke-width='1.7'%3E%3Cpath d='M12 3v18M5 9c3-2 5-2 7 0s5 2 7 0'/%3E%3C/svg%3E");
}
.lnm-lv__cat-icon--4 {
	background-color: #faf5ff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c3aed' stroke-width='1.7'%3E%3Crect x='3' y='5' width='18' height='14' rx='1'/%3E%3Cpath d='M7 5l2 2h6l2-2'/%3E%3C/svg%3E");
}
.lnm-lv__cat-icon--5 {
	background-color: #fff7ed;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c2410c' stroke-width='1.7'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Cpath d='M12 4v2M12 18v2M4 12h2M18 12h2'/%3E%3C/svg%3E");
}
.lnm-lv__cat-icon--6 {
	background-color: #eff6ff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e40af' stroke-width='1.7'%3E%3Cpath d='M6 4h5l2 2h5v10a2 2 0 0 1-2 2H6z'/%3E%3Cpath d='M8 9h4M8 13h4'/%3E%3C/svg%3E");
}

.lnm-lv__cat-label {
	font-size: 0.85rem;
	font-weight: 600;
	line-height: 1.2;
	color: #111;
}

/* Browse list: title + optional category description (Posts → Categories) */
.lnm-lv__categories--browse {
	grid-template-columns: 1fr;
	gap: 0.55rem;
}

.lnm-lv__cat--stack {
	align-items: flex-start;
}

.lnm-lv__cat-text {
	display: flex;
	flex-direction: column;
	gap: 0.18rem;
	min-width: 0;
	text-align: left;
}

.lnm-lv__cat-desc {
	font-size: 0.72rem;
	font-weight: 400;
	line-height: 1.35;
	color: var(--lnm-lv-muted, #6b7280);
}

.lnm-lv__cat-desc--muted {
	font-style: italic;
	opacity: 0.92;
}

.lnm-lv a.lnm-lv__cat--stack:hover .lnm-lv__cat-desc,
.lnm-lv a.lnm-lv__cat--stack:focus .lnm-lv__cat-desc {
	color: #4b5563;
}

/* Search */
.lnm-lv__search {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

@media (min-width: 400px) {
	.lnm-lv__search {
		flex-direction: row;
		align-items: stretch;
	}
}

.lnm-lv__search-input {
	flex: 1;
	min-width: 0;
	border: 1px solid var(--lnm-lv-line);
	border-radius: var(--lnm-lv-radius-sm);
	padding: 0.5rem 0.65rem;
	font-size: 0.9rem;
}

.lnm-lv__search-input:focus {
	border-color: #fca5a5;
	outline: none;
	box-shadow: 0 0 0 3px rgba(185, 28, 28, 0.12);
}

.lnm-lv__search-btn {
	background: var(--lnm-lv-ink);
	color: #fff !important;
	font-weight: 700;
	font-size: 0.85rem;
	border: 0;
	border-radius: var(--lnm-lv-radius-sm);
	padding: 0.5rem 0.9rem;
	cursor: pointer;
}

.lnm-lv__search-btn:hover,
.lnm-lv__search-btn:focus {
	background: #1f2937;
	color: #fff !important;
}

/* RECENT VOICES: thumbnail + title + same light / thumbs row as Latest */
.lnm-lv__recent {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0;
}

.lnm-lv__recent-item {
	margin: 0;
	border-bottom: 1px solid #f3f4f6;
}

.lnm-lv__recent-item:last-child {
	border-bottom: 0;
}

.lnm-lv__recent-inner {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	padding: 0.65rem 0;
	font-weight: 400;
	color: var(--lnm-lv-ink) !important;
}

.lnm-lv__recent-item:first-child .lnm-lv__recent-inner {
	padding-top: 0;
}

.lnm-lv__recent-item:last-child .lnm-lv__recent-inner {
	padding-bottom: 0;
}

.lnm-lv__recent-media {
	flex: 0 0 5.5rem;
	width: 5.5rem;
	max-width: 40%;
	border-radius: var(--lnm-lv-radius-sm);
	overflow: hidden;
	background: #e5e7eb;
	box-shadow: 0 0 0 1px var(--lnm-lv-line);
}

.lnm-lv__recent-media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 200 / 130;
	object-fit: cover;
}

.lnm-lv__recent-body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.25rem;
	min-width: 0;
	flex: 1;
}

.lnm-lv__recent-title {
	display: block;
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -0.01em;
	color: var(--lnm-lv-ink) !important;
	text-decoration: none;
	transition: color 0.15s ease;
}

.lnm-lv__recent-title:hover,
.lnm-lv__recent-title:focus {
	color: var(--lnm-lv-red) !important;
}

/* Visually hidden label if the active theme does not ship .screen-reader-text */
body.lnm-local-voices-template .screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

/* CPT-driven avatars (reporter / gravatar) */
.lnm-lv__byline-avatar-img {
	display: block;
	border-radius: 9999px;
	object-fit: cover;
	width: 48px;
	height: 48px;
}

.lnm-lv__card-avatar img,
.lnm-lv__card-avatar-img {
	border-radius: 9999px;
	object-fit: cover;
	width: 32px;
	height: 32px;
	display: block;
}

.lnm-lv__empty-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.25rem;
	margin-top: 0.5rem;
}

.lnm-lv__categories--single {
	grid-template-columns: 1fr;
}

/* ------------------------------------------------------------------------- */
/* Post type archive: /local-voices/                                         */
/* ------------------------------------------------------------------------- */

body.lnm-local-voices-archive .lnm-lv-archive-page {
	color: var(--lnm-lv-ink, #111827);
}

.lnm-lv-archive__header {
	margin-bottom: 2rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid var(--lnm-lv-line, #e5e7eb);
	max-width: 48rem;
}

.lnm-lv-archive__title {
	margin: 0.35rem 0 0.75rem;
	font-size: clamp(1.75rem, 2.5vw, 2.25rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.2;
	color: var(--lnm-lv-ink, #111827);
}

.lnm-lv-archive__intro {
	margin: 0 0 1rem;
	color: var(--lnm-lv-muted, #6b7280);
	font-size: 1.05rem;
	line-height: 1.5;
}

.lnm-lv-archive__category-desc {
	margin: 0 0 1rem;
	color: var(--lnm-lv-muted, #6b7280);
	font-size: 0.98rem;
	line-height: 1.55;
}

.lnm-lv-archive__category-desc > p {
	margin: 0 0 0.65em;
}

.lnm-lv-archive__category-desc > p:last-child {
	margin-bottom: 0;
}

.lnm-lv-archive__cta {
	margin: 0;
}

a.lnm-lv-archive__btn,
.lnm-lv-archive__btn {
	display: inline-block;
	margin-top: 0.25rem;
	padding: 0.55rem 1.15rem;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	color: #fff;
	background: var(--lnm-lv-red, #b91c1c);
	border: 1px solid var(--lnm-lv-red-dark, #991b1b);
	border-radius: var(--lnm-lv-radius-sm, 6px);
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

a.lnm-lv-archive__btn:hover,
a.lnm-lv-archive__btn:focus,
.lnm-lv-archive__btn:hover,
.lnm-lv-archive__btn:focus {
	color: #fff;
	background: var(--lnm-lv-red-dark, #991b1b);
	border-color: #7f1d1d;
}

.lnm-lv-archive__excerpt {
	margin: 0.35rem 0 0.5rem;
	font-size: 0.9rem;
	line-height: 1.4;
	color: var(--lnm-lv-muted, #6b7280);
}

.lnm-lv-archive__date {
	margin: 0.5rem 0 0;
	font-size: 0.8rem;
	color: var(--lnm-lv-muted, #6b7280);
}

.lnm-lv-archive__grid {
	margin-bottom: 2rem;
}

.lnm-lv-archive__pagination {
	margin: 0 0 2.5rem;
}

.lnm-lv-archive__pagination .navigation,
.lnm-lv-archive__pagination .lnm-lv-archive__paging,
.lnm-lv-archive__pagination nav {
	width: 100%;
}

.lnm-lv-archive__pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.5rem 1rem;
}

.lnm-lv-archive__pagination a.page-numbers,
.lnm-lv-archive__pagination span.page-numbers {
	display: inline-block;
	padding: 0.35rem 0.7rem;
	border-radius: var(--lnm-lv-radius-sm, 6px);
	border: 1px solid var(--lnm-lv-line, #e5e7eb);
	font-size: 0.9rem;
}

.lnm-lv-archive__pagination a.page-numbers:hover,
.lnm-lv-archive__pagination a.page-numbers:focus {
	border-color: var(--lnm-lv-red, #b91c1c);
	color: var(--lnm-lv-red, #b91c1c);
}

.lnm-lv-archive__pagination span.page-numbers.current {
	background: var(--lnm-lv-red-soft, #fef2f2);
	border-color: #fecaca;
	color: var(--lnm-lv-red-dark, #991b1b);
	font-weight: 700;
}

.lnm-lv-archive__empty {
	text-align: center;
	padding: 2rem 1rem 3rem;
	color: var(--lnm-lv-muted, #6b7280);
}

.lnm-lv-archive__empty-text {
	margin: 0 0 1rem;
	font-size: 1.05rem;
}
