/**
 * @file plugins/themes/lumina/styles/components/article.bundle.css
 *
 * Copyright (c) 2026 Lumina Project contributors
 * Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
 *
 * @brief Lumina Article Page Components Layer
 *        Generated deterministically by Lumina ContextualBundleBuilder.
 *        DO NOT EDIT DIRECTLY. Source modules remain in individual stylesheet files.
 */

/* ==========================================================================
   MODULE: styles/components/article-details.css
   ========================================================================== */
.lm-pinnacle-article-header {
	padding: 0;
	border-bottom: none;
	margin-bottom: var(--space-lg);
}

.lm-pinnacle-header-meta-badges {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-xs);
	margin-bottom: var(--space-sm);
}

.lm-pinnacle-section-badge,
.lm-pinnacle-issue-badge {
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	border-radius: var(--lm-radius-full, 100px);
	font-size: var(--lm-font-size-xs, 0.75rem);
	font-weight: 600;
	line-height: 1;
}

.lm-pinnacle-section-badge {
	background-color: var(--lm-bg-secondary);
	color: var(--lm-text-accent);
	border: 1px solid var(--lm-border-accent);
}

.lm-pinnacle-issue-badge {
	background-color: var(--lm-bg-muted);
	color: var(--lm-text-muted);
	border: 1px solid var(--lm-border);
}

.lm-pinnacle-article-title {
	font-size: clamp(1.5rem, 3.5vw, 2.25rem);
	font-weight: 800;
	line-height: 1.25;
	color: var(--lm-text-primary);
	margin-top: 0;
	margin-bottom: var(--space-xs);
}

.lm-pinnacle-article-subtitle {
	font-size: var(--lm-font-size-lg, 1.125rem);
	color: var(--lm-text-muted);
	font-weight: 500;
	line-height: 1.4;
	margin-top: 0;
	margin-bottom: var(--space-md);
}

/* DOI Row styling — DOI left, Crossmark right */
.lm-pinnacle-doi-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-md);
	margin-bottom: var(--space-md);
	font-size: var(--lm-font-size-sm, 0.875rem);
}

.lm-pinnacle-doi-badge-container {
	display: inline-flex;
	align-items: center;
	gap: var(--space-xs);
}

/* DOI pill badge — same style as article listing cards */
.lm-pinnacle-doi-link-full {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	font-size: var(--lm-font-size-xs, 0.8125rem);
}

.lm-pinnacle-doi-link-full .doi-label {
	background: var(--lm-accent);
	color: #fff;
	font-weight: 700;
	padding: 0.15rem 0.45rem;
	border-top-left-radius: 4px;
	border-bottom-left-radius: 4px;
	font-size: var(--lm-font-size-xs, 0.75rem);
}

.lm-pinnacle-doi-link-full .doi-val {
	background: var(--lm-surface-muted);
	color: var(--lm-text-secondary);
	border: 1px solid var(--lm-border);
	border-left: none;
	padding: 0.15rem 0.45rem;
	border-top-right-radius: 4px;
	border-bottom-right-radius: 4px;
	font-size: var(--lm-font-size-xs, 0.75rem);
}

.lm-pinnacle-doi-link-full:hover .doi-val {
	color: var(--lm-link);
	border-color: var(--lm-link);
}

.lm-pinnacle-doi-link {
	color: var(--lm-text-accent);
	text-decoration: none;
	word-break: break-all;
	font-weight: 500;
}

.lm-pinnacle-doi-link:hover {
	text-decoration: underline;
}

/* Authors List Grid Styling */
.lm-pinnacle-authors-row {
	margin-bottom: var(--space-md);
}

.lm-pinnacle-authors-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: var(--space-md);
	list-style: none;
	padding: 0;
	margin: 0;
}

.lm-pinnacle-author-item {
	display: block;
	margin: 0;
	padding: 0;
}

.lm-pinnacle-author-item::after {
	content: none !important; /* Remove comma separator */
}

.lm-pinnacle-author-card {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: var(--space-xs) 0;
}

.lm-pinnacle-author-name-row {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 2px;
}

.lm-author-icon {
	color: var(--lm-text-muted);
	font-size: 0.9rem;
}

.lm-pinnacle-author-name {
	font-size: var(--lm-font-size-base, 1rem);
	font-weight: 700;
	color: var(--lm-text-primary);
}

.lm-pinnacle-author-detail {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: var(--lm-font-size-xs, 0.75rem);
	line-height: 1.4;
	color: var(--lm-text-secondary);
}

.lm-author-detail-icon {
	color: var(--lm-text-muted);
	font-size: 0.8rem;
	width: 14px;
	text-align: center;
	margin-top: 2px;
}

.lm-author-detail-link {
	color: var(--lm-text-secondary);
	text-decoration: none;
	word-break: break-all;
}

.lm-author-detail-link:hover {
	color: var(--lm-link);
	text-decoration: underline;
}

.lm-author-detail-text {
	color: var(--lm-text-secondary);
}

/* Float-Right Share block */
.lm-pinnacle-share-container {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: var(--space-xs);
	margin-bottom: var(--space-lg);
	border-bottom: 1px solid var(--lm-border);
	padding-bottom: var(--space-sm);
}

.lm-pinnacle-share-label {
	font-size: var(--lm-font-size-xs, 0.75rem);
	font-weight: 700;
	color: var(--lm-text-muted);
	letter-spacing: 0.1em;
}

.lm-pinnacle-share-divider {
	width: 40px;
	height: 1px;
	background-color: var(--lm-border);
	margin: 0 var(--space-xs);
}

.lm-pinnacle-share-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid var(--lm-border);
	border-radius: var(--lm-radius-sm, 4px);
	color: var(--lm-text-secondary);
	text-decoration: none;
	transition: all 0.2s ease;
	background-color: var(--lm-surface-card);
}

.lm-pinnacle-share-btn:hover {
	border-color: var(--lm-link);
	color: var(--lm-link);
	box-shadow: var(--lm-shadow-sm);
}

.lm-pinnacle-crossmark-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	border: none;
	background: none;
	padding: 0;
	margin: 0;
	box-shadow: none;
	transition: opacity 0.2s ease;
	flex-shrink: 0;
}

.lm-pinnacle-crossmark-btn:hover {
	opacity: 0.85;
	background: none;
	border: none;
	box-shadow: none;
}

/* Fallback button style when Crossmark logo fails to load */
.lm-pinnacle-crossmark-btn.lm-crossmark-failed {
	border: 1px solid var(--lm-border);
	border-radius: var(--lm-radius-sm, 4px);
	background-color: var(--lm-surface-card);
	color: var(--lm-text-primary);
	font-size: var(--lm-font-size-xs, 0.75rem);
	font-weight: 500;
	padding: 4px 10px;
	box-shadow: var(--lm-shadow-sm);
	opacity: 1;
}

.lm-pinnacle-crossmark-btn.lm-crossmark-failed:hover {
	border-color: #e06b37;
	background-color: #fff7f4;
	opacity: 1;
}

/* Article Cover Image styling */
.lm-pinnacle-article-cover {
	margin-top: var(--space-md);
	margin-bottom: var(--space-xl);
	display: flex;
	justify-content: center;
}

.lm-article-cover-img {
	max-width: 100%;
	max-height: 480px;
	height: auto;
	object-fit: contain;
	border-radius: var(--lm-radius-lg, 8px);
	border: 1px solid var(--lm-border);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

.lm-pinnacle-article-container {
	padding-top: var(--space-sm);
}

/* Inner header details container spacing reset */
.lm-article-header-details {
	margin: 0;
	padding: 0;
	border: none;
}

/* Crossmark Badge Normalization - SPRINT 3A.03C.C */
.lm-crossmark-fallback {
	display: none;
}

.lm-crossmark-failed .lm-crossmark-fallback {
	display: inline;
}

.lm-crossmark-logo {
	display: block;
	width: auto !important;
	height: 26px !important;
	object-fit: contain;
}

@media (max-width: 480px) {
	.lm-crossmark-logo {
		height: 22px !important;
	}
}

@media (max-width: 480px) {
	.lm-pinnacle-doi-row {
		flex-wrap: wrap;
		gap: var(--space-sm);
	}
}

/* Article Metadata Mobile Safety */
.lm-pinnacle-copyright-holder {
	display: inline-block;
	max-width: 100%;
	overflow-wrap: break-word;
	word-wrap: break-word;
	word-break: break-word;
}

/* ==========================================================================
   MODULE: styles/components/article-actions.css
   ========================================================================== */
.lm-pinnacle-sidebar-details {
	display: flex;
	flex-direction: column;
	gap: var(--space-md);
}

.lm-pinnacle-sidebar-card {
	padding: var(--space-md);
	border: 1px solid var(--lm-border);
	border-radius: var(--lm-radius-lg);
	background-color: var(--lm-surface-card);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.lm-pinnacle-sidebar-card-title {
	font-size: var(--lm-font-size-xs, 0.75rem);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--lm-text-muted);
	margin-top: 0;
	margin-bottom: var(--space-sm);
	padding-bottom: var(--space-xs);
	border-bottom: 1px solid var(--lm-border);
}

/* Galley buttons */
.lm-pinnacle-galleys-list {
	display: flex;
	flex-direction: column;
	gap: var(--space-xs);
}

.lm-pinnacle-galley-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-xs);
	width: 100%;
	padding: var(--space-sm) var(--space-md);
	font-size: var(--lm-font-size-sm, 0.875rem);
	font-weight: 600;
	text-decoration: none;
	text-align: center;
	border-radius: var(--lm-radius-md, 6px);
	cursor: pointer;
	box-sizing: border-box;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.lm-pinnacle-galley-btn.lm-pdf,
.lm-pinnacle-galley-btn.lm-xml,
.lm-pinnacle-galley-btn.lm-other {
	background-color: transparent;
	color: var(--lm-link);
	border: 1.5px solid var(--lm-link);
}

.lm-pinnacle-galley-btn.lm-pdf:hover,
.lm-pinnacle-galley-btn.lm-xml:hover,
.lm-pinnacle-galley-btn.lm-other:hover {
	background-color: var(--lm-link);
	color: var(--lm-button-text);
	border-color: var(--lm-link);
}

.lm-pinnacle-galley-btn .fa {
	font-size: 1.1em;
}

/* Supplementary section */
.lm-pinnacle-actions-supplementary {
	margin-top: var(--space-md);
	padding-top: var(--space-xs);
	border-top: 1px dashed var(--lm-border);
}

.lm-pinnacle-supplementary-title {
	font-size: var(--lm-font-size-xs, 0.75rem);
	font-weight: 600;
	color: var(--lm-text-muted);
	margin-top: 0;
	margin-bottom: var(--space-xs);
}

.lm-pinnacle-supplementary-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: var(--space-xs);
}

.lm-pinnacle-supplementary-item {
	font-size: var(--lm-font-size-sm, 0.875rem);
}

.lm-pinnacle-supplementary-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--lm-text-accent);
	text-decoration: none;
}

.lm-pinnacle-supplementary-link:hover {
	text-decoration: underline;
}

/* Metrics in sidebar */
.lm-pinnacle-metrics-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-xs);
	text-align: center;
}

.lm-pinnacle-metric-item {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: var(--space-xs) 0;
}

.lm-pinnacle-metric-item:not(:last-child) {
	border-right: 1px solid var(--lm-border);
}

.lm-pinnacle-metrics-number {
	font-size: var(--lm-font-size-xl, 1.25rem);
	font-weight: 700;
	color: var(--lm-text-primary);
}

.lm-pinnacle-metrics-label {
	font-size: var(--lm-font-size-xs, 0.75rem);
	text-transform: uppercase;
	color: var(--lm-text-muted);
	font-weight: 500;
}

/* Date Timeline */
.lm-pinnacle-timeline {
	display: grid;
	grid-template-columns: auto 1fr;
	row-gap: var(--space-xs);
	column-gap: var(--space-md);
	margin: 0;
}

.lm-pinnacle-timeline dt {
	font-size: var(--lm-font-size-xs, 0.75rem);
	font-weight: 600;
	text-transform: uppercase;
	color: var(--lm-text-muted);
	margin: 0;
}

.lm-pinnacle-timeline dd {
	font-size: var(--lm-font-size-sm, 0.875rem);
	color: var(--lm-text-primary);
	margin: 0;
}

/* Keywords Block */
.lm-pinnacle-keyword-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.lm-pinnacle-keyword-pill {
	display: inline-block;
	padding: 4px 12px;
	border-radius: var(--lm-radius-full, 9999px);
	font-size: var(--lm-font-size-xs, 0.75rem);
	background-color: var(--lm-accent-50, rgba(0, 110, 182, 0.08)) !important;
	color: var(--lm-link, #006EB6) !important;
	border: 1px solid var(--lm-accent-200, rgba(0, 110, 182, 0.2)) !important;
	font-weight: 500;
	transition: all 0.2s ease-in-out;
}

.lm-pinnacle-keyword-pill:hover {
	background-color: var(--lm-link, #006EB6) !important;
	color: #ffffff !important;
	border-color: var(--lm-link, #006EB6) !important;
	transform: translateY(-1px);
	box-shadow: 0 2px 4px rgba(0, 110, 182, 0.15);
}

/* Issue / Section card layout */
.lm-pinnacle-sidebar-issue-content,
.lm-pinnacle-sidebar-section-content {
	font-size: var(--lm-font-size-sm, 0.875rem);
	color: var(--lm-text-primary);
}

.lm-pinnacle-issue-link {
	color: var(--lm-text-accent);
	text-decoration: none;
	font-weight: 500;
}

.lm-pinnacle-issue-link:hover {
	text-decoration: underline;
}

/* Empty State */
.lm-pinnacle-actions-empty {
	text-align: center;
	padding: var(--space-sm) 0;
}

.lm-pinnacle-empty-message {
	font-size: var(--lm-font-size-sm, 0.875rem);
	color: var(--lm-text-muted);
	margin: 0;
}

/* Desktop Column Positioning (min-width: 1024px) */
@media (min-width: 1024px) {
	.lm-pinnacle-main {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 320px !important;
		gap: var(--space-xl) !important;
		align-items: start !important;
	}

	.lm-pinnacle-primary {
		grid-column: 1 !important;
		grid-row: 1 !important;
	}

	.lm-pinnacle-sidebar {
		grid-column: 2 !important;
		grid-row: 1 !important;
		position: sticky !important;
		top: var(--header-offset, 40px) !important;
		z-index: 10 !important;
	}
}

/* Mobile Ordering Contract implementation (max-width: 1023px) */
@media (max-width: 1023px) {
	.lm-pinnacle-main {
		display: flex !important;
		flex-direction: column !important;
		gap: var(--space-lg) !important;
		align-items: stretch !important;
	}

	/* Force order values on direct children of .lm-pinnacle-main */
	.lm-pinnacle-sidebar {
		order: 2 !important;
	}

	.lm-pinnacle-primary {
		order: 1 !important;
		min-width: 0 !important;
	}
}

/* Table of Contents sidebar card */
.lm-pinnacle-sidebar-toc {
	max-height: 500px;
	overflow-y: auto;
}

.lm-toc-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.lm-toc-item {
	position: relative;
	padding-left: 20px;
	line-height: 1.4;
}

/* h2 items - hollow circle bullet */
.lm-toc-h2::before {
	content: "";
	position: absolute;
	left: 0;
	top: 6px;
	width: 8px;
	height: 8px;
	border: 1.5px solid var(--lm-link);
	border-radius: 50%;
	background: transparent;
	box-sizing: border-box;
}

/* h3/h4 sub-items - indented, solid dot bullet */
.lm-toc-sublist {
	list-style: none;
	padding: 8px 0 0 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.lm-toc-h3,
.lm-toc-h4 {
	position: relative;
	padding-left: 16px;
	font-size: 0.9em;
}

.lm-toc-h3::before,
.lm-toc-h4::before {
	content: "";
	position: absolute;
	left: 0;
	top: 6px;
	width: 4px;
	height: 4px;
	background-color: var(--lm-link);
	border-radius: 50%;
}

.lm-toc-link {
	text-decoration: none;
	color: var(--lm-text-secondary);
	font-weight: 500;
	font-size: var(--lm-font-size-sm, 0.875rem);
	transition: all 0.2s ease;
	display: inline-block;
}

.lm-toc-link:hover,
.lm-toc-link.active {
	color: var(--lm-link);
	font-weight: 600;
}

/* Dimension Badge card layout override */
.lm-pinnacle-sidebar-dimension {
	background-color: var(--lm-surface-card);
}

.lm-pinnacle-sidebar-dimension-content {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: var(--space-xs) 0;
	min-height: 80px;
}

/* Let the Dimensions widget render at its natural size */
.lm-pinnacle-sidebar-dimension-content .__dimensions_badge_embed__ {
	display: inline-block !important;
}

/* Keep the parent wrapper size stable so it never overlaps the citation text */
.lm-pinnacle-sidebar-dimension-content .__dimensions_badge_embed__ .__dimensions_Badge_Image {
	transition: none !important;
	transform: none !important;
}

/* Transition the inner background, score, and label to transparent on hover of the badge image.
   Applying pointer-events: none prevents hover flickering when these elements fade out. */
.lm-pinnacle-sidebar-dimension-content .__dimensions_badge_embed__ .__db_background,
.lm-pinnacle-sidebar-dimension-content .__dimensions_badge_embed__ .__db_score,
.lm-pinnacle-sidebar-dimension-content .__dimensions_badge_embed__ .__db_label {
	pointer-events: none !important;
}

.lm-pinnacle-sidebar-dimension-content .__dimensions_badge_embed__ .__db_background {
	pointer-events: none !important;
	transition: opacity 0.4s ease !important;
}

.lm-pinnacle-sidebar-dimension-content .__dimensions_badge_embed__:hover .__db_background {
	opacity: 0 !important;
}

/* Transition ONLY the colorful ring (.__db_shape) to rotate and enlarge slightly on hover, keeping the main card layout stable */
.lm-pinnacle-sidebar-dimension-content .__dimensions_badge_embed__ .__db_shape {
	transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
	transform-origin: center !important;
}

.lm-pinnacle-sidebar-dimension-content .__dimensions_badge_embed__:hover .__db_shape {
	transform: rotate(360deg) scale(0.7) !important;
	-ms-transform: rotate(360deg) scale(0.7) !important;
}

/* Dimensions widget width constraint & iframe transitions */
.lm-pinnacle-sidebar-dimension-content iframe {
	max-width: 100% !important;
	transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* License & Copyright Card */
.lm-pinnacle-article-metadata {
	margin-top: var(--space-lg);
	margin-bottom: var(--space-lg);
	background-color: var(--lm-surface-card);
	border: 1px solid var(--lm-border);
	border-radius: var(--lm-radius-lg);
	padding: 2.25rem 2.5rem;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.lm-pinnacle-meta-label {
	display: block;
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--lm-text-primary, #1a202c);
	margin-bottom: 1.25rem;
	border-bottom: 1px solid var(--lm-border);
	padding-bottom: 0.75rem;
}

.lm-pinnacle-copyright-holder {
	font-size: var(--lm-font-size-sm, 0.875rem);
	color: var(--lm-text-secondary);
	margin-bottom: 1rem;
	font-weight: 500;
}

.lm-pinnacle-cc-badge {
	margin-bottom: 1rem;
}

.lm-pinnacle-cc-badge img {
	display: block;
	max-width: 88px;
	height: auto;
	transition: opacity 0.2s ease;
}

.lm-pinnacle-cc-badge img:hover {
	opacity: 0.9;
}

.lm-pinnacle-license-terms {
	font-size: var(--lm-font-size-sm, 0.875rem);
	color: var(--lm-text-secondary);
	line-height: 1.6;
	background-color: var(--lm-surface-muted, #f7fafc);
	padding: 1.25rem;
	border-radius: var(--lm-radius-md, 6px);
	border-left: 4px solid var(--lm-link);
}

/* ==========================================================================
   MODULE: styles/components/article-tabs.css
   ========================================================================== */
.lm-article-tabs-container {
	margin-bottom: var(--space-lg);
	background-color: var(--lm-surface-card);
	border: 1px solid var(--lm-border);
	border-radius: var(--lm-radius-lg);
	padding: 2.5rem;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.lm-article-tabs-nav {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-md);
	border-bottom: 2px solid var(--lm-border);
	margin-bottom: var(--space-md);
}

.lm-article-tab-btn {
	padding: var(--space-sm) 0;
	background: none;
	border: none;
	font-family: inherit;
	font-size: var(--lm-font-size-sm, 0.875rem);
	font-weight: 600;
	color: var(--lm-text-muted);
	cursor: pointer;
	border-bottom: 2px solid transparent;
	margin-bottom: -2px;
	transition: color 0.2s ease, border-color 0.2s ease;
	outline: none;
}

.lm-article-tab-btn:hover:not(.lm-active) {
	color: var(--lm-text-primary);
}

.lm-article-tab-btn.lm-active {
	color: var(--lm-text-accent);
	border-bottom-color: var(--lm-text-accent);
}

.lm-article-tab-pane {
	display: none;
	animation: lm-tab-fade-in 0.3s ease-out;
}

.lm-article-tab-pane.lm-active {
	display: block;
}

@keyframes lm-tab-fade-in {
	from {
		opacity: 0;
		transform: translateY(4px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Abstract Tab Highlight Box & Content */
.lm-article-abstract-box {
	background-color: var(--lm-bg-muted, #f7fafc);
	border: 1px solid var(--lm-border, #e2e8f0);
	border-radius: var(--lm-radius-md, 8px);
	padding: var(--space-md, 1.5rem);
	margin-bottom: var(--space-md, 1.5rem);
	width: 100%;
	box-sizing: border-box;
}

.lm-article-abstract-content {
	font-size: var(--lm-font-size-base, 1rem);
	line-height: var(--lm-lh-relaxed, 1.7);
	color: var(--lm-text-primary);
	max-width: 100%; /* Align with Full Article reading width */
	text-align: justify;
}

/* Mobile Adjustments for Abstract Box */
@media (max-width: 767px) {
	.lm-article-abstract-box {
		padding: var(--space-sm, 1rem);
		margin-bottom: var(--space-sm, 1rem);
	}
}

/* How to Cite Tab */
.lm-article-howtocite-content {
	background-color: var(--lm-bg-muted);
	padding: var(--space-md);
	border: 1px solid var(--lm-border);
	border-radius: var(--lm-radius-md);
	color: var(--lm-text-primary);
	font-size: var(--lm-font-size-sm, 0.875rem);
	line-height: 1.6;
}

/* Metrics Tab */
.lm-article-metrics-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-md);
	text-align: center;
}

.lm-article-metrics-card {
	display: flex;
	flex-direction: column;
	gap: var(--space-xs);
	padding: var(--space-md);
	border: 1px solid var(--lm-border);
	border-radius: var(--lm-radius-md);
	background-color: var(--lm-bg-muted);
}

.lm-article-metrics-number {
	font-size: var(--lm-font-size-2xl, 1.75rem);
	font-weight: 700;
	color: var(--lm-text-primary);
}

.lm-article-metrics-label {
	font-size: var(--lm-font-size-xs, 0.75rem);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--lm-text-muted);
	font-weight: 600;
}

/* References Tab */
.lm-article-references-content {
	color: var(--lm-text-primary);
}

.lm-article-references-list {
	padding-left: var(--space-md);
	margin: 0;
	font-size: var(--lm-font-size-sm, 0.875rem);
	line-height: 1.7;
	display: flex;
	flex-direction: column;
	gap: var(--space-sm);
}

.lm-article-references-list li {
	margin-bottom: var(--space-xs);
	overflow-wrap: break-word;
	word-break: break-word;
}

.lm-article-references-raw {
	font-size: var(--lm-font-size-sm, 0.875rem);
	line-height: 1.7;
	white-space: pre-line;
	overflow-wrap: break-word;
	word-break: break-word;
}

/* Empty State */
.lm-article-tab-empty {
	text-align: center;
	padding: var(--space-lg) var(--space-md);
	color: var(--lm-text-muted);
	font-style: italic;
	font-size: var(--lm-font-size-sm, 0.875rem);
}

/* JATS XML Reader Spacing & Width constraints */
.lm-article-fulltext-content.jats-content {
	max-width: 80ch;
	margin-left: auto;
	margin-right: auto;
	text-align: justify;
}
.lm-article-fulltext-content.jats-content p {
	text-align: justify;
}

@media (max-width: 767px) {
	.lm-article-tabs-container {
		padding: 1.25rem;
	}

	.lm-article-fulltext-content.jats-content {
		max-width: 100%;
	}
}

/* JATS XML Reader Mobile Neatness & Wrapping */
.lm-article-fulltext-content.jats-content {
	overflow-wrap: break-word !important;
	word-wrap: break-word !important;
	word-break: break-word !important;
}

.jats-placeholder-content {
	min-width: 0 !important;
	overflow-wrap: break-word !important;
	word-wrap: break-word !important;
	word-break: break-word !important;
}

@media (max-width: 480px) {
	.jats-placeholder {
		padding: 1rem !important;
		gap: 0.75rem !important;
	}
	.jats-placeholder-icon {
		width: 2.5rem !important;
		height: 2.5rem !important;
		font-size: 1.5rem !important;
		flex-shrink: 0 !important;
	}
}

/* Prevent JATS table cells from breaking words aggressively, preserving horizontal swipe readability */
.lm-article-fulltext-content.jats-content .jats-table th,
.lm-article-fulltext-content.jats-content .jats-table td {
	word-break: normal !important;
	overflow-wrap: normal !important;
	word-wrap: normal !important;
	min-width: 120px !important;
}

/* JATS Table Styling */
.jats-table-wrap {
	margin: 2rem 0;
	border: 1px solid var(--lm-border);
	border-radius: var(--lm-radius-md);
	background: var(--lm-surface-card);
	overflow: hidden;
}
.jats-table-header {
	padding: 1rem;
	background: var(--lm-bg-muted);
	border-bottom: 1px solid var(--lm-border);
	font-weight: 600;
	color: var(--lm-text-primary);
}
.jats-table-caption {
	padding: 0.5rem 1rem;
	font-size: 0.875rem;
	color: var(--lm-text-muted);
	border-bottom: 1px solid var(--lm-border);
	margin: 0;
}
.jats-table-wrapper {
	width: 100%;
	overflow-x: auto;
}
.jats-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.875rem;
	text-align: left;
}
.jats-table th,
.jats-table td {
	padding: 0.75rem 1rem;
	border-bottom: 1px solid var(--lm-border);
	border-right: 1px solid var(--lm-border);
}
.jats-table th:last-child,
.jats-table td:last-child {
	border-right: none;
}
.jats-table tr:last-child td {
	border-bottom: none;
}
.jats-table th {
	background: var(--lm-bg-muted);
	font-weight: 600;
	color: var(--lm-text-primary);
}
.jats-table tr:nth-child(even) {
	background: rgba(0, 0, 0, 0.01);
}

/* JATS Figure Styling */
.jats-fig {
	margin: 2rem 0;
	padding: 1.5rem;
	border: 1px solid var(--lm-border);
	border-radius: var(--lm-radius-md);
	background: var(--lm-surface-card);
	text-align: center;
}
.jats-fig img,
.jats-fig .jats-img {
	max-width: 100%;
	height: auto;
	border-radius: var(--lm-radius-sm);
	margin: 0 auto 1rem auto;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
	display: block;
}
.jats-figcaption {
	font-size: 0.875rem;
	color: var(--lm-text-muted);
	line-height: 1.5;
	margin-top: 0.5rem;
}
.jats-fig-label {
	font-weight: 700;
	color: var(--lm-text-primary);
}
.jats-fig-title {
	font-weight: 600;
	color: var(--lm-text-primary);
}
.jats-fig-caption {
	margin: 0.25rem 0 0 0;
}

