/**
 * Local Voices landing (CPT-driven content). Scoped to .lnm-lv and body.lnm-local-voices-template.
 *
 * Shared grid / card / reactions: local-voices-cards.css (handle: lnm-local-voices-cards).
 *
 * @package LocalNewsMinneapolis
 */

/* Design tokens + card shell: ../css/local-voices-cards.css */

body.lnm-local-voices-template .lnm-lv-site-content,
body.lnm-lv-author-archive .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__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,
body.lnm-lv-author-archive .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,
body.lnm-lv-author-archive .lnm-lv-archive-page {
	color: var(--lnm-lv-ink, #111827);
}

/* Contributor author: title + profile hero (matches historical layout) */
body.lnm-lv-author-archive .lnm-lv-archive__header--author {
	margin-bottom: 1.25rem;
	padding-bottom: 0;
	border-bottom: 0;
	max-width: none;
}

body.lnm-lv-author-archive .lnm-lv-archive__header--author .lnm-lv-archive__title {
	margin-top: 0;
	margin-bottom: 0;
}

.lnm-lv-author-hero {
	margin: 0 0 2rem;
	max-width: 56rem;
}

.lnm-lv-author-hero__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 1.25rem 1.75rem;
	padding: 1.35rem 1.5rem;
	border: 1px solid var(--lnm-lv-line, #e5e7eb);
	border-radius: var(--lnm-lv-radius, 10px);
	background-color: #fff;
	background-image: linear-gradient(105deg, #fff 0%, #fff 70%, var(--lnm-lv-red-soft, #fef2f2) 100%);
	box-shadow: var(--lnm-lv-shadow, 0 1px 2px rgba(15, 23, 42, 0.06));
}

.lnm-lv-author-hero__avatar-wrap {
	flex-shrink: 0;
}

.lnm-lv-author-hero__avatar {
	display: block;
	width: 112px;
	height: 112px;
	border-radius: 50%;
	object-fit: cover;
	border: 3px solid #fff;
	box-shadow:
		0 0 0 1px #fecaca,
		0 4px 14px rgba(15, 23, 42, 0.08);
}

.lnm-lv-author-hero__avatar--placeholder {
	display: block;
	width: 112px;
	height: 112px;
	border-radius: 50%;
	background: linear-gradient(180deg, #e5e7eb, #d1d5db);
	box-shadow: 0 0 0 1px #fecaca inset;
}

.lnm-lv-author-hero__body {
	flex: 1;
	min-width: 12rem;
}

.lnm-lv-author-hero__kicker {
	margin: 0 0 0.5rem;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--lnm-lv-red, #b91c1c);
}

.lnm-lv-author-hero__bio {
	margin: 0 0 0.65rem;
	font-size: 1rem;
	line-height: 1.55;
	color: var(--lnm-lv-ink, #111827);
}

.lnm-lv-author-hero__bio > p {
	margin: 0 0 0.5em;
}

.lnm-lv-author-hero__bio > p:last-child {
	margin-bottom: 0;
}

.lnm-lv-author-hero__meta {
	margin: 0 0 0.65rem;
	font-size: 0.9rem;
	color: var(--lnm-lv-muted, #6b7280);
}

.lnm-lv-author-hero__actions {
	margin: 0;
}

a.lnm-lv-author-hero__link,
.lnm-lv-author-hero__link {
	font-weight: 700;
	font-size: 0.9rem;
	color: var(--lnm-lv-red, #b91c1c);
	text-decoration: none;
}

a.lnm-lv-author-hero__link:hover,
a.lnm-lv-author-hero__link:focus,
.lnm-lv-author-hero__link:hover,
.lnm-lv-author-hero__link:focus {
	text-decoration: underline;
	color: var(--lnm-lv-red-dark, #991b1b);
}

.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;
}

.lnm-lv-archive__cta--row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1rem;
	align-items: center;
}

a.lnm-lv-archive__btn.lnm-lv-archive__btn--ghost,
.lnm-lv-archive__btn.lnm-lv-archive__btn--ghost {
	background: transparent;
	color: var(--lnm-lv-red, #b91c1c);
	border-color: var(--lnm-lv-red, #b91c1c);
}

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

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;
}
