/*
Theme Name: BDLD Custom
Theme URI: https://bdlawdigest.org
Author: Bangladesh Law Digest
Author URI: https://bdlawdigest.org
Description: Custom lightweight theme for Bangladesh Law Digest (BDLD). Built from the Underscores (_s) starter: standard Blog archives plus a Journal Articles post type with Volume/Issue taxonomy, multi-author ACF fields, PDF downloads, theme-native SEO (canonicals, sitemaps, JSON-LD), Core Web Vitals helpers, citation generator, and performance caching.
Version: 1.3.6
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: bdld
*/

/* Local Source Sans 3 Variable Font Faces */
@font-face {
    font-family: 'Source Sans 3';
    font-style: normal;
    font-weight: 200 900;
    font-display: swap;
    src: url('./assets/fonts/SourceSans3-VariableFont_wght.woff2') format('woff2-variations'),
         url('./assets/fonts/SourceSans3-VariableFont_wght.woff2') format('woff2'); 
}

@font-face {
    font-family: 'Source Sans 3';
    font-style: italic;
    font-weight: 200 900;
    font-display: swap;
    src: url('./assets/fonts/SourceSans3-Italic-VariableFont_wght.woff2') format('woff2-variations'),
         url('./assets/fonts/SourceSans3-Italic-VariableFont_wght.woff2') format('woff2');
}

/* Base Root Font Variables */
:root {
	--bdld-font-main: 'Source Sans 3', system-ui, -apple-system, sans-serif;
	--bdld-font-heading: 'Source Sans 3', system-ui, -apple-system, sans-serif;
	--bdld-font-serif: 'Source Sans 3', system-ui, -apple-system, sans-serif;
}

/* ==========================================================================
   1.0 Reset / Base
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }

body, html {
	margin: 0;
	font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif !important;
	font-weight: 400;
	line-height: 1.6;
	color: #222222;
	background: #ffffff;
}

/* Prevent iOS Safari auto-zoom when focusing form fields */
input,
select,
textarea {
	font-size: 16px;
}

/* Enforce BDLD Recommended #222222 for main reading content across articles & pages */
.entry-content > p,
.entry-content > li,
.entry-content > ol > li,
.entry-content > ul > li,
.page-content > p,
.page-content > li,
.single-post .entry-content > p,
.single-post .entry-content > li,
.single-journal_article .entry-content > p,
.single-journal_article .entry-content > li,
.single-journal_article .journal-article-main > p,
.single-journal_article .journal-article-main > li,
.bdld-article-wrap > p,
.bdld-article-wrap > li,
.bdld-page p,
.bdld-page li,
.bdld-author-bio,
.bdld-author-bio p,
.journal-article-main > p,
.journal-article-main > li,
.journal-article .abstract,
.journal-card-excerpt,
.card__body p {
	font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
	font-weight: 400;
	color: #222222 !important;
}

h1, h2, h3, h4, h5, h6,
.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6,
.page-content h1, .page-content h2, .page-content h3, .page-content h4, .page-content h5, .page-content h6,
.journal-article-main h1, .journal-article-main h2, .journal-article-main h3, .journal-article-main h4, .journal-article-main h5, .journal-article-main h6 {
	font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
	font-weight: 600;
	color: #011F5B; /* Penn Navy from audited CSS */
}

/* Specific Article Titles - Weight 700 */
.entry-title,
.scholarly-title,
.card__title,
.archive-title {
	font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif !important;
	font-weight: 700 !important;
}

/* Journal article title - slightly larger than default h1 */
.single-journal_article .entry-title {
	font-size: 2.6rem;
	line-height: 1.15;
}

/* Mobile: scale down archive/listing headers */
@media (max-width: 768px) {
	.archive-header h1,
	.bdld-cat-header h1,
	.search-header-box h1,
	.journal-keyword-header .journal-keyword-title {
		font-size: 2rem !important;
		line-height: 1.2;
	}
}

/* Ensure white/light text contrast inside CTA blocks and Penn Blue dark containers */
.has-background,
.has-navy-background,
.has-penn-navy-background,
.has-penn-blue-background,
.has-dark-background,
.bdld-cta,
.cta-box,
.cta-section,
.call-to-action,
[style*="background: #011F5B"],
[style*="background:#011F5B"],
[style*="background-color: #011F5B"],
[style*="background-color:#011F5B"],
[style*="background: #042d7e"],
[style*="background-color: #042d7e"],
[style*="background-color:#042d7e"] {
	color: #ffffff !important;
}

.has-background p,
.has-background li,
.has-background span,
.has-navy-background p,
.has-navy-background li,
.has-navy-background span,
.has-penn-navy-background p,
.has-penn-navy-background li,
.has-penn-navy-background span,
.has-penn-blue-background p,
.has-penn-blue-background li,
.has-penn-blue-background span,
.has-dark-background p,
.has-dark-background li,
.has-dark-background span,
.bdld-cta p,
.bdld-cta li,
.bdld-cta span,
.cta-box p,
.cta-box li,
.cta-box span,
.cta-section p,
.cta-section li,
.cta-section span,
.call-to-action p,
.call-to-action li,
.call-to-action span,
[style*="background: #011F5B"] p,
[style*="background:#011F5B"] p,
[style*="background-color: #011F5B"] p,
[style*="background-color:#011F5B"] p,
[style*="background: #042d7e"] p,
[style*="background-color: #042d7e"] p,
[style*="background-color:#042d7e"] p,
[style*="color: #ffffff"] p,
[style*="color: #fff"] p,
[style*="color:#fff"] p,
[style*="color: white"] p {
	color: #ffffff !important;
}

.has-background h1, .has-background h2, .has-background h3, .has-background h4, .has-background h5, .has-background h6,
.bdld-cta h1, .bdld-cta h2, .bdld-cta h3, .bdld-cta h4,
.cta-box h1, .cta-box h2, .cta-box h3, .cta-box h4,
.cta-section h1, .cta-section h2, .cta-section h3, .cta-section h4,
.call-to-action h1, .call-to-action h2, .call-to-action h3,
[style*="background: #011F5B"] h1, [style*="background: #011F5B"] h2, [style*="background: #011F5B"] h3, [style*="background: #011F5B"] h4,
[style*="background-color: #011F5B"] h1, [style*="background-color: #011F5B"] h2, [style*="background-color: #011F5B"] h3, [style*="background-color: #011F5B"] h4 {
	color: #ffffff !important;
}

/* Ensure links inside CTA dark blocks are bright Penn Cyan (#31BFF0) */
.has-background a,
.bdld-cta a,
.cta-box a,
.cta-section a,
.call-to-action a,
[style*="background: #011F5B"] a,
[style*="background-color: #011F5B"] a {
	color: #31BFF0 !important;
	border-bottom-color: #31BFF0 !important;
}
.has-background a:hover,
.bdld-cta a:hover,
.cta-box a:hover,
.cta-section a:hover,
.call-to-action a:hover,
[style*="background: #011F5B"] a:hover,
[style*="background-color: #011F5B"] a:hover {
	color: #ffffff !important;
	border-bottom-color: #ffffff !important;
}

img { max-width: 100%; height: auto; display: block; }

/* Global & Article Link Styling from Audited CSS */
a {
	color: #991B1F; /* Penn Red */
	text-decoration: none;
	border-bottom: 1px dotted #991B1F;
	font-weight: 500;
	transition: all 0.2s ease;
}
a:hover {
	color: #991B1F; /* Keep text Penn Red */
	background-color: transparent !important; /* Ensure no box highlight */
	border-bottom: 1px solid #991B1F; /* Solid underline on hover */
}

/* Fix for grey background on text hyperlinks inside the article content */
.entry-content p a:hover, 
.page-content p a:hover, 
.journal-article-main p a:hover,
.entry-content a:hover, 
.page-content a:hover, 
.journal-article-main a:hover {
	background-color: transparent !important;
	background: none !important;
	color: #991B1F !important;
	border-bottom: 1px solid #991B1F !important;
}

/* Headings and Titles transition to Penn Cyan on hover without box highlight */
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
.card__title a, .entry-title a {
	border-bottom: none !important;
	background-color: transparent !important;
	color: inherit;
}
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover,
.card__title a:hover, .entry-title a:hover {
	color: #31BFF0 !important; /* Penn Cyan from audited CSS */
	background-color: transparent !important;
}

/* Buttons and specific UI elements exempt from dotted underline / highlight */
.pdf-button, .read-article-btn, .copy-citation-btn, .sidenote-return, .main-navigation a, .site-branding a {
	border-bottom: none !important;
}
.pdf-button:hover, .read-article-btn:hover, .copy-citation-btn:hover, .sidenote-return:hover, .main-navigation a:hover, .site-branding a:hover {
	background-color: inherit; /* retain their custom button hover backgrounds */
}

.container {
	max-width: 1024px;
	margin: 0 auto;
	padding: 0 20px;
}

/* ==========================================================================
   2.0 Header / Nav (Audited Deep Blue #011F5B with Penn Red border)
   ========================================================================== */
.site-header {
	background-color: #042d7e;
	padding: 0;
	color: #ffffff;
}

.site-branding {
	display: flex;
	align-items: center;
	margin: 0;
}

.site-branding a {
	font-size: 2rem;
	font-weight: 700;
	color: #ffffff;
	text-decoration: none;
}

.site-logo img {
	max-height: 70px; /* Restricts the logo height so it fits nicely in the header */
	width: auto;
	display: block;
	object-fit: contain;
}

.main-navigation {
	flex: 1;
	padding: 12px 0;
}

.main-navigation ul {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0;
	padding: 0;
	width: 100%;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	color: #ffffff !important;
	display: inline-block;
	padding-bottom: 5px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}
.main-navigation .menu-item-has-children > a::after {
	content: '';
	display: inline-block;
	width: 0;
	height: 0;
	margin-left: 8px;
	vertical-align: middle;
	border-top: 4px solid currentColor;
	border-right: 4px solid transparent;
	border-left: 4px solid transparent;
	transform: translateY(-2px);
}
.submenu-toggle {
	display: none; /* shown only on mobile via media query */
}
.bdld-mobile-menu {
	display: none; /* off-canvas panel: mobile only */
}
.main-navigation a:hover {
	color: #31BFF0 !important;
	text-decoration: none;
}

.menu-row.is-sticky .main-navigation a {
	font-size: 0.78rem;
	padding: 4px 6px;
	letter-spacing: 0.3px;
}
.menu-row.is-sticky .main-navigation {
	padding: 6px 0 !important;
}
.menu-row.is-sticky .main-navigation ul {
	gap: 0;
}
.menu-row.is-sticky .main-navigation ul.sub-menu a {
	font-size: 0.85rem;
	padding: 10px 20px;
	letter-spacing: 0.5px;
}
.menu-row.is-sticky .main-navigation ul.sub-menu a:hover {
	padding-left: 32px;
}
.menu-row.is-sticky .header-search-trigger {
	padding: 4px 8px !important;
	font-size: 0.8rem !important;
}
.menu-row.is-sticky .search-btn-text,
.menu-row.is-sticky .search-shortcut-badge {
	display: none !important;
}

/* Sticky Mini Logo & Mobile Header toggles */
@media (min-width: 768px) {
	.sticky-mini-logo { margin-right: 20px; }
	.menu-toggle { display: none !important; }
}
@media (max-width: 768px) {
	.sticky-mini-logo { position: absolute; left: 50%; top: 25px; transform: translate(-50%, -50%); margin: 0; z-index: 10; }
	.menu-row:not(.is-sticky) .menu-toggle { display: none !important; }
	.menu-row.is-sticky .menu-toggle { display: flex !important; position: absolute; left: 20px; top: 25px; transform: translateY(-50%); z-index: 10; }
	.menu-row.is-sticky .header-search-trigger { position: absolute !important; right: 15px !important; top: 25px !important; transform: translateY(-50%) !important; z-index: 10 !important; }
	.menu-row.is-sticky .main-navigation.toggled { margin-top: 50px; border-top: 1px solid rgba(255,255,255,0.1); padding-top: 10px; }
	.header-search-trigger .search-btn-text,
	.header-search-trigger .search-shortcut-badge,
	.search-overlay-hint {
		display: none !important;
	}
	.header-search-trigger {
		padding: 6px !important;
	}
}

/* Submenu Styling */
.main-navigation ul.sub-menu {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	background-color: #011F5B;
	min-width: 220px;
	z-index: 99999;
	flex-direction: column;
	gap: 0;
	margin: 0;
	padding: 10px 0;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
	border-radius: 4px;
	border-top: 3px solid #31BFF0;
}

.main-navigation ul.sub-menu li {
	width: 100%;
}

.main-navigation ul.sub-menu a {
	display: flex;
	align-items: center;
	padding: 10px 20px;
	font-size: 0.85rem;
	font-weight: 400;
	text-transform: none; /* ensure it's not uppercase */
	border: none;
	transition: all 0.3s ease;
	position: relative;
}

.main-navigation ul.sub-menu a::before {
	content: '→';
	position: absolute;
	left: 10px;
	opacity: 0;
	transform: translateX(-10px);
	transition: all 0.3s ease;
	color: #31BFF0;
}

.main-navigation ul.sub-menu a:hover {
	background-color: rgba(255, 255, 255, 0.08);
	color: #31BFF0;
	padding-left: 32px;
}

.main-navigation ul.sub-menu a:hover::before {
	opacity: 1;
	transform: translateX(0);
}

.main-navigation li:hover > ul.sub-menu,
.main-navigation li:focus-within > ul.sub-menu {
	display: flex;
}

/* Keep submenus inside the container: rightmost items align to the right edge */
.main-navigation li:last-child > ul.sub-menu,
.main-navigation li:nth-last-child(2) > ul.sub-menu {
	left: auto;
	right: 0;
}

/* ==========================================================================
   Journal Archives template (page-archives.php) — mobile responsiveness
   ========================================================================== */
@media (max-width: 768px) {
	.bdld-volume-row {
		grid-template-columns: 1fr !important;
		padding: 20px !important;
		gap: 24px !important;
	}
	.bdld-volume-row > div:first-child {
		border-right: none !important;
		padding-right: 0 !important;
	}
	.bdld-archive-meta-grid {
		grid-template-columns: 1fr !important;
	}
	.bdld-archive-meta-grid > div:last-child {
		border-left: none !important;
		padding-left: 0 !important;
		text-align: left !important;
		flex-wrap: wrap;
	}
	.bdld-scholarly-announcement {
		padding: 28px 20px !important;
	}
}

/* ==========================================================================
   Academic Reading Width Standardization
   Limits line-lengths to optimal reading standards (approx 65-75 chars)
   ========================================================================== */
.single-post .site-main > article,
.page .site-main > article {
	max-width: 1024px;
	margin: 0 auto;
}

/* ==========================================================================
   3.0 Card grid (blog archives + journal archives share this)
   ========================================================================== */
.card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 24px;
	margin: 24px 0;
}

.card {
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	overflow: hidden;
}

.card__image { aspect-ratio: 16/10; object-fit: cover; }
.card__body { padding: 16px; }
.card__title { font-size: 1.05rem; margin: 0 0 8px; }
.card__meta { font-size: 0.85rem; color: #666; }

/* ==========================================================================
   4.0 Journal article single page
   ========================================================================== */
.journal-article .abstract {
	background: #EEF4FB;
	border-left: 4px solid #991B1F;
	padding: 16px 20px;
	margin: 20px 0;
}

.journal-article .meta-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	font-size: 0.9rem;
	color: #444;
	margin-bottom: 20px;
}

.pdf-button {
	display: inline-block;
	padding: 10px 20px;
	background: #011F5B;
	color: #fff !important;
	border-radius: 4px;
	font-weight: 600;
	text-decoration: none !important;
	transition: background 0.2s ease;
}
.pdf-button:hover { background: #0A3A8C; }

.read-article-btn {
	display: inline-block;
	padding: 10px 20px;
	font-size: 0.85rem;
	font-weight: 600;
	background: #EEF4FB;
	color: #011F5B !important;
	border: 1px solid #011F5B;
	border-radius: 4px;
	text-decoration: none !important;
	transition: all 0.2s ease;
}
.read-article-btn:hover {
	background: #011F5B;
	color: #ffffff !important;
}

.content-type-badge {
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 2px 6px;
	border-radius: 3px;
	margin-bottom: 8px;
}
.journal-card .content-type-badge {
	color: #011F5B;
	background: #EEF4FB;
}
.card:not(.journal-card) .content-type-badge {
	color: #991B1F;
	background: #fff0f0;
}

/* Post Views Counter Styling */
.post-views {
	font-size: 0.9em;
	color: #666;
	display: inline-block;
}

/* Small Button Modifier for Cards */
.btn--sm {
	padding: 6px 14px !important;
	font-size: 0.8rem !important;
	min-height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* ==========================================================================
   Yale/Harvard-Style Scholarly Article Card Layout (.scholarly-card)
   Typography-first design without thumbnails, buttons, icons, or counters.
   ========================================================================== */
   
/* 3-Column Grid for Scholarly Cards */
.card-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin: 24px 0;
}
@media (max-width: 1024px) {
	.card-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
	.card-grid { grid-template-columns: 1fr; }
}

.card.scholarly-card,
.card.journal-card {
	position: relative;
	background: #f2f2f2; /* Penn Grey */
	border: none;
	border-radius: 8px; /* Clean rounded corners for grey boxes */
	box-shadow: none;
	padding: 36px 24px;
	margin-bottom: 0; /* Let grid gap handle spacing */
	transition: background-color 0.25s ease, transform 0.2s ease;
}
.card.scholarly-card:first-child,
.card.journal-card:first-child {
	border-top: none;
}
.card.scholarly-card:hover,
.card.journal-card:hover {
	background-color: #e8e8e8; /* Slightly darker Penn Grey on hover */
	transform: translateY(-2px); /* Slight lift */
}

/* Full-card clickable overlay (no JS required) */
.scholarly-link::after,
.journal-card .card__title a::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
}

/* Elevate internal metadata links above the clickable card overlay */
.scholarly-authors a,
.scholarly-citation-links a,
.scholarly-keywords a,
.journal-card-authors a {
	position: relative;
	z-index: 2;
	color: var(--bdld-navy, #011F5B);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: border-color 0.2s ease, color 0.2s ease;
}
.scholarly-citation-links a:hover,
.scholarly-keywords a:hover {
	color: #991B1F !important;
	background-color: transparent !important; /* Override global box hover */
	border-bottom: 1px solid #991B1F !important;
}

/* 1. Article Type (e.g. ESSAY, ARTICLE) + Short Red Divider Rule */
.scholarly-type {
	font-family: var(--bdld-font-main, 'Source Sans 3', sans-serif);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--bdld-navy, #011F5B);
	margin-bottom: 6px;
}
.scholarly-type::after {
	content: "";
	display: block;
	width: 36px;
	height: 1px;
	background-color: var(--bdld-accent-red, #991B1F);
	margin-top: 10px;
	margin-bottom: 18px;
}

/* 2. Title (Primary Visual Element) */
.scholarly-title,
.journal-card .card__title {
	font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1.25;
	color: var(--bdld-navy, #011F5B);
	margin: 0 0 0.75rem 0;
	letter-spacing: -0.01em;
}
.scholarly-title a,
.journal-card .card__title a {
	color: inherit;
	text-decoration: none;
	border-bottom: none;
}
.scholarly-title a:hover,
.journal-card .card__title a:hover {
	color: #991B1F !important; /* Force Penn Red hover, overriding global Cyan rule */
	background: transparent !important;
}

/* 3. Authors */
.scholarly-authors,
.journal-card-authors {
	font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
	font-size: 1.15rem;
	font-weight: 600;
	font-style: normal;
	color: var(--bdld-accent-red, #991B1F);
	margin: 0 0 1.25rem 0;
	line-height: 1.5;
}
.scholarly-authors a,
.journal-card-authors a {
	color: var(--bdld-accent-red, #991B1F) !important;
	font-weight: 600;
	font-style: normal;
	position: relative;
	display: inline-block;
	padding-bottom: 4px;
	border-bottom: none !important; /* Disable default link border to use custom half-line */
}
.scholarly-authors a::after,
.journal-card-authors a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 50%;
	height: 2px;
	background-color: var(--bdld-navy, #011F5B);
	border-radius: 2px;
	transition: all 0.2s ease;
}
.scholarly-authors a:hover::after,
.journal-card-authors a:hover::after {
	width: 100%;
	background-color: var(--bdld-accent-red, #991B1F);
}

/* 4. Abstract / Excerpt (Generous Whitespace & Typography) */
.scholarly-excerpt,
.journal-card-excerpt {
	font-family: var(--bdld-font-main, 'Source Sans 3', sans-serif);
	font-size: 1rem;
	font-weight: 400;
	font-style: normal;
	line-height: 1.75;
	color: #333333;
	margin: 0 0 1.5rem 0;
	max-width: 52rem;
}
.scholarly-excerpt p {
	margin: 0;
	font-weight: 400;
}

/* 5. Publication Date & Citation Metadata */
.scholarly-meta {
	font-family: var(--bdld-font-main, 'Source Sans 3', sans-serif);
	font-size: 0.825rem;
	font-weight: 400;
	font-style: normal;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #555555;
	line-height: 1.8;
}
.scholarly-citation-line {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.4rem;
}
.scholarly-date {
	color: #444444;
}
.scholarly-divider {
	color: #aaaaaa;
}
.scholarly-citation-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
	color: #555555;
}

/* 6. Keywords / Subject Areas */
.scholarly-keywords {
	font-size: 0.78rem;
	color: #6E6E6E;
	letter-spacing: 0.06em;
	display: block;
	margin-top: 0.25rem;
}
.scholarly-keywords a {
	color: #555555;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
	.card.scholarly-card,
	.card.journal-card {
		padding: 24px 16px;
	}
	.scholarly-title,
	.journal-card .card__title {
		font-size: 1.4rem;
	}
	.scholarly-authors,
	.journal-card-authors {
		font-size: 1.05rem;
	}
	.scholarly-excerpt,
	.journal-card-excerpt {
		font-size: 0.95rem;
	}
}

.journal-article-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 40px;
	align-items: start;
}

@media (max-width: 900px) {
	.journal-article-layout {
		grid-template-columns: 1fr;
	}
}

/* Standalone Affiliations Section */
.journal-affiliations {
	margin: 12px 0 24px;
	font-size: 0.9rem;
	color: #555;
}
.affiliations-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.affiliation-item {
	margin-bottom: 4px;
	line-height: 1.4;
}
.affiliation-marker {
	font-weight: 600;
	color: #011F5B;
}

/* Sidebar Sections & Sidenotes (YLJ Style) */
.sidebar-section {
	margin-bottom: 28px;
}
.sidebar-section h2 {
	font-size: 1.1rem;
	border-bottom: 1px solid #BDD4EE;
	padding-bottom: 8px;
	margin-top: 0;
	color: #011F5B;
}
.sidenotes-subheading {
	font-size: 0.95rem;
	margin: 10px 0 8px;
	color: #011F5B;
}
.sidenotes-list {
	padding-left: 14px;
	list-style: none;
	margin: 10px 0;
	border-left: 2px solid #31BFF0;
}
.sidenote-item {
	display: flex;
	gap: 6px;
	margin-bottom: 12px;
	font-size: 11px;
	line-height: 16px;
	color: #555555;
	cursor: pointer;
	transition: color 0.15s ease;
}
.sidenote-item:hover {
	color: #333;
}
.sidenote-number {
	font-weight: 600;
	color: #31BFF0;
	flex-shrink: 0;
}
.sidenote-text {
	flex-grow: 1;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}
.sidenote-return {
	text-decoration: none;
	font-weight: bold;
	color: #991B1F;
	margin-left: 4px;
}
.sidenote-return:hover {
	text-decoration: none;
	color: #011F5B;
}

/* On desktop: hide return arrow since notes are vertically aligned in margin */
@media (min-width: 901px) {
	.sidenote-return {
		display: none !important;
	}
}

/* Footnote target highlight from audited CSS */
.journal-article-main :target,
.sidenote-item:target {
	background-color: #fff8e1 !important;
	padding: 4px 6px !important;
	border-radius: 4px !important;
	border-left: 3px solid #991B1F !important;
	transition: background-color 0.5s ease !important;
}

/* Footnote popover (full note on click) from audited CSS */
.bdld-fn-popover {
	position: fixed;
	background: #fff;
	border: 1.5px solid #31BFF0;
	border-radius: 6px;
	padding: 18px 22px 18px 18px;
	max-width: 380px;
	max-height: 320px;
	overflow-y: auto;
	font-size: 13px;
	line-height: 1.65;
	color: #333;
	box-shadow: 0 6px 28px rgba(0,0,0,0.14);
	z-index: 99999;
}
.bdld-fn-popover-close {
	position: absolute;
	top: 6px;
	right: 10px;
	cursor: pointer;
	font-size: 18px;
	color: #31BFF0;
	line-height: 1;
}
.bdld-fn-popover-close:hover {
	color: #011F5B;
}
.bdld-fn-popover a {
	color: #011F5B;
	border-bottom: 1px solid #011F5B;
	text-decoration: none;
}
.bdld-fn-popover a:hover {
	color: #31BFF0;
	border-color: #31BFF0;
}

/* Copy Citation Button */
.copy-citation-btn {
	background: #fff;
	border: 1px solid #011F5B;
	color: #011F5B;
	padding: 6px 14px;
	border-radius: 4px;
	font-size: 0.85rem;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.2s;
	margin-top: 10px;
}
.copy-citation-btn:hover {
	background: #011F5B;
	color: #fff;
}

.journal-article-sidebar-column {
	position: sticky;
	top: 100px; /* Accommodates the sticky header */
}

.journal-article-meta-box {
	background: #EEF4FB;
	border: 1px solid #BDD4EE;
	border-radius: 8px;
	padding: 20px;
	margin-bottom: 32px;
}

/* When vertical alignment is active via JS on desktop */
@media (min-width: 901px) {
	.sidenotes-list.is-aligned {
		position: relative;
		margin: 0;
	}
	.sidenotes-list.is-aligned .sidenote-item {
		position: absolute;
		width: 100%;
		left: 0;
		transition: top 0.25s ease-out;
	}
}

.journal-meta-list {
	list-style: none;
	margin: 16px 0;
	padding: 0;
	font-size: 0.9rem;
}
.journal-meta-list li { margin-bottom: 8px; }

.journal-stats {
	font-size: 0.85rem;
	color: #555;
	border-top: 1px solid #e5e5e5;
	padding-top: 12px;
	margin-top: 12px;
}

.license { font-size: 0.85rem; margin-top: 8px; }

.how-to-cite {
	background: #fdfaf0;
	border: 1px solid #eee1b8;
	border-radius: 6px;
	padding: 14px 18px;
	margin: 20px 0;
	font-size: 0.95rem;
}

.author-information, .related-articles { margin-top: 32px; }
.related-articles .scholarly-title,
.related-articles .card__title,
#tab-related .card__title,
.js-related-grid .card__title {
	font-size: 1.1rem !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	margin-bottom: 6px !important;
}

.author-info-list { list-style: none; margin: 0; padding: 0; }
.author-info-item { margin-bottom: 20px; }
.author-affiliation { color: #555; font-style: italic; }
.orcid-link { font-size: 0.85rem; }

.archive-stats { color: #666; font-size: 0.9rem; margin-top: -8px; }

/* ==========================================================================
   4.5 BDLD Current Issue — Professional Institutional Redesign
   ========================================================================== */

/* ── Page Shell ─────────────────────────────────────────────────────────── */
.bdld-issue-page {
	background-color: #F8FAFC;
	color: #0F172A;
	min-height: 85vh;
	padding-bottom: 90px;
	font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
}

/* ── Academic Masthead ──────────────────────────────────────────────────── */
.bdld-issue-masthead {
	background: #ffffff;
	border-bottom: 3px double #011F5B;
	padding: 52px 0 42px;
}

.bdld-issue-masthead__inner {
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 24px;
}

.bdld-issue-masthead__head {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 20px;
	border-bottom: 1px solid #E2E8F0;
	padding-bottom: 24px;
	margin-bottom: 24px;
}

.bdld-issue-eyebrow {
	font-family: 'Source Sans 3', sans-serif;
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: #991B1F;
	display: block;
	margin-bottom: 6px;
}

.bdld-issue-title {
	font-family: 'Libre Baskerville', Georgia, serif;
	font-size: clamp(2.2rem, 3.8vw, 3.2rem);
	font-weight: 700;
	color: #011F5B;
	margin: 0;
	line-height: 1.15;
}

.bdld-issue-masthead__meta {
	font-family: 'Source Sans 3', sans-serif;
	font-size: 0.85rem;
	color: #475569;
	display: flex;
	gap: 16px;
	align-items: center;
	background: #F1F5F9;
	border: 1px solid #CBD5E1;
	padding: 10px 18px;
	border-radius: 4px;
}

.bdld-issue-masthead__meta strong {
	color: #011F5B;
	font-weight: 600;
	text-transform: uppercase;
	font-size: 0.78rem;
	letter-spacing: 0.05em;
	margin-right: 4px;
}

.bdld-issue-masthead__meta-sep {
	width: 1px;
	height: 16px;
	background-color: #CBD5E1;
	display: inline-block;
}

.bdld-issue-lede {
	font-size: 1.15rem;
	color: #334155;
	margin: 0;
	line-height: 1.6;
	max-width: 840px;
	font-family: 'EB Garamond', Georgia, serif;
}

/* ── Main Contents ──────────────────────────────────────────────────────── */
.bdld-issue-main {
	max-width: 1140px;
	margin: 40px auto 0;
	padding: 0 24px;
}

/* ── Table of Contents Card ─────────────────────────────────────────────── */
.bdld-issue-toc-card {
	background: #ffffff;
	border: 1px solid #CBD5E1;
	border-top: 4px solid #011F5B;
	border-radius: 4px;
	padding: 36px;
	margin-bottom: 30px;
	box-shadow: 0 4px 15px rgba(0,0,0,0.03);
}

.bdld-issue-toc-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	border-bottom: 1px solid #E2E8F0;
	padding-bottom: 16px;
	margin-bottom: 28px;
}

.bdld-issue-toc-title {
	font-family: 'Libre Baskerville', Georgia, serif;
	font-size: 1.6rem;
	font-weight: 700;
	color: #011F5B;
	margin: 0;
	line-height: 1.3;
}

.bdld-issue-toc-title__sep {
	color: #991B1F;
	margin: 0 10px;
}

.bdld-issue-count-badge {
	font-family: 'Source Sans 3', sans-serif;
	font-size: 0.85rem;
	font-weight: 600;
	color: #991B1F;
	background: #FFF5F5;
	border: 1px solid #FECACA;
	padding: 5px 14px;
	border-radius: 20px;
	white-space: nowrap;
}

/* ── Table of Contents Ordered List ─────────────────────────────────────── */
.bdld-toc {
	list-style: none;
	counter-reset: toc-item;
	padding: 0;
	margin: 0;
}

.bdld-toc__item {
	counter-increment: toc-item;
	position: relative;
	padding: 24px 12px 24px 64px;
	border-bottom: 1px solid #E2E8F0;
	border-left: 3px solid transparent;
	transition: background-color 0.2s ease, border-left-color 0.2s ease;
	margin-left: -12px;
	margin-right: -12px;
	padding-left: 76px;
	min-width: 0;
}

.bdld-toc__item:last-child {
	border-bottom: none;
}

.bdld-toc__index {
	position: absolute;
	left: 12px;
	top: 27px;
	font-family: 'Libre Baskerville', Georgia, serif;
	font-size: 1.35rem;
	font-weight: 700;
	color: #011F5B;
	line-height: 1;
	width: 40px;
	text-align: left;
}

.bdld-toc__index::after {
	content: counter(toc-item) ".";
}

.bdld-toc__item:hover {
	background-color: #F1F5F9;
	border-left-color: #011F5B;
}

.bdld-toc__entry {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
	overflow-wrap: break-word;
	word-wrap: break-word;
}

.bdld-toc__main {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 24px;
	min-width: 0;
}

.bdld-toc__info {
	flex: 1;
	min-width: 0;
	overflow-wrap: break-word;
	word-wrap: break-word;
}

.bdld-toc__type {
	font-family: 'Source Sans 3', system-ui, sans-serif;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: #991B1F;
	display: inline-block;
	margin-bottom: 4px;
}

.bdld-toc__title {
	font-family: 'Source Sans 3', system-ui, sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.35;
	margin: 0 0 6px 0;
	color: #011F5B;
}

.bdld-toc__title a {
	color: inherit;
	text-decoration: none;
	border-bottom: none;
	transition: color 0.2s ease;
}

.bdld-toc__title a:hover {
	color: #991B1F !important;
	background-color: transparent !important;
}

.bdld-toc__authors {
	font-family: 'Source Sans 3', system-ui, sans-serif;
	font-size: 1rem;
	font-weight: 600;
	color: #991B1F;
	line-height: 1.5;
	margin-bottom: 6px;
}

.bdld-toc__authors a {
	color: #991B1F;
	text-decoration: none;
	border-bottom: 1px dotted #991B1F;
}

.bdld-toc__authors a:hover {
	border-bottom: 1px solid #991B1F;
}

.bdld-toc__keywords {
	font-family: 'Source Sans 3', system-ui, sans-serif;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #6E6E6E;
	line-height: 1.5;
}

.bdld-toc__keywords a {
	color: #555555;
	text-decoration: none;
	border-bottom: 1px dotted transparent;
	transition: color 0.2s ease, border-color 0.2s ease;
}

.bdld-toc__keywords a:hover {
	color: #991B1F !important;
	border-bottom: 1px solid #991B1F;
}

/* Right-aligned Page Number Column */
.bdld-toc__pages {
	flex-shrink: 0;
	text-align: right;
	min-width: 80px;
	max-width: 140px;
	padding-top: 4px;
	font-family: 'Source Sans 3', system-ui, sans-serif;
	overflow-wrap: break-word;
	word-wrap: break-word;
}

.bdld-toc__pages-label {
	display: block;
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #94A3B8;
	margin-bottom: 2px;
}

.bdld-toc__pages-value {
	display: block;
	font-size: 1.1rem;
	font-weight: 700;
	color: #011F5B;
	font-family: 'Libre Baskerville', Georgia, serif;
	overflow-wrap: break-word;
	word-wrap: break-word;
	hyphens: auto;
}

/* Citation Meta Line */
.bdld-toc__meta {
	font-family: 'Source Sans 3', system-ui, sans-serif;
	font-size: 0.82rem;
	font-weight: 400;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #64748B;
	line-height: 1.6;
	margin-top: 2px;
}

.bdld-toc__meta a {
	color: #011F5B;
	text-decoration: none;
	border-bottom: 1px dotted #011F5B;
}

.bdld-toc__meta a:hover {
	color: #991B1F;
	border-bottom: 1px solid #991B1F;
}

/* ── Empty State — Academic Announcement ────────────────────────────────── */
.bdld-scholarly-announcement {
	background: #ffffff;
	border: 2px solid #011F5B;
	border-radius: 6px;
	padding: 48px;
	max-width: 860px;
	margin: 30px auto;
	box-shadow: 0 10px 30px rgba(1,31,91,0.06);
}

.bdld-announcement-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	border-bottom: 1px solid #011F5B;
	padding-bottom: 16px;
	margin-bottom: 24px;
}

.bdld-announcement-eyebrow {
	font-family: 'Source Sans 3', sans-serif;
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: #991B1F;
}

.bdld-announcement-issn {
	font-family: 'Source Sans 3', sans-serif;
	font-size: 0.85rem;
	font-weight: 600;
	color: #011F5B;
}

.bdld-scholarly-announcement h2 {
	font-family: 'Libre Baskerville', Georgia, serif;
	font-size: 1.8rem;
	font-weight: 700;
	color: #011F5B;
	margin: 0 0 16px;
	line-height: 1.25;
}

.bdld-announcement-copy {
	font-family: 'EB Garamond', Georgia, serif;
	font-size: 1.15rem;
	color: #334155;
	line-height: 1.7;
	margin: 0 0 24px;
}

.bdld-announcement-callout {
	background: #F8FAFC;
	border: 1px solid #CBD5E1;
	border-left: 4px solid #011F5B;
	padding: 20px 24px;
	margin-bottom: 30px;
}

.bdld-announcement-callout h4 {
	font-family: 'Source Sans 3', sans-serif;
	font-size: 0.88rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #011F5B;
	margin: 0 0 8px;
}

.bdld-announcement-callout p {
	font-size: 0.95rem;
	color: #475569;
	margin: 0;
	line-height: 1.6;
}

.bdld-announcement-actions {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
}

/* ── Past Issues / Related Links Footer ─────────────────────────────────── */
.bdld-issue-related {
	background: #ffffff;
	border: 1px solid #CBD5E1;
	border-left: 4px solid #011F5B;
	border-radius: 4px;
	padding: 28px 32px;
	margin-top: 30px;
	box-shadow: 0 4px 15px rgba(0,0,0,0.03);
}

.bdld-issue-related__inner {
	max-width: 100%;
}

.bdld-issue-related__title {
	font-family: 'Libre Baskerville', Georgia, serif;
	font-size: 1.25rem;
	font-weight: 700;
	color: #011F5B;
	margin: 0 0 8px 0;
	line-height: 1.3;
}

.bdld-issue-related__text {
	font-family: 'Source Sans 3', system-ui, sans-serif;
	font-size: 1rem;
	color: #475569;
	margin: 0 0 16px 0;
	line-height: 1.6;
}

.bdld-issue-related__text a {
	color: #991B1F;
	text-decoration: none;
	border-bottom: 1px dotted #991B1F;
}

.bdld-issue-related__text a:hover {
	border-bottom: 1px solid #991B1F;
}

.bdld-issue-related__links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	font-family: 'Source Sans 3', system-ui, sans-serif;
	font-size: 0.9rem;
}

.bdld-issue-related__label {
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 0.78rem;
	color: #64748B;
}

.bdld-issue-related__links a {
	color: #011F5B;
	text-decoration: none;
	border-bottom: 1px dotted #011F5B;
	font-weight: 600;
}

.bdld-issue-related__links a:hover {
	color: #991B1F;
	border-bottom: 1px solid #991B1F;
}

.bdld-issue-related__sep {
	color: #CBD5E1;
}

/* ── Responsive ─────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
	.bdld-issue-masthead {
		padding: 36px 0 30px;
	}
	.bdld-issue-toc-card {
		padding: 24px 20px;
	}
	.bdld-toc__item {
		padding: 20px 0 20px 44px;
	}
	.bdld-toc__index {
		font-size: 1.1rem;
		top: 22px;
		width: 32px;
	}
	.bdld-toc__title {
		font-size: 1.1rem;
	}
	.bdld-toc__authors {
		font-size: 0.95rem;
	}
	.bdld-toc__pages {
		min-width: 60px;
	}
	.bdld-toc__pages-value {
		font-size: 1rem;
	}
	.bdld-scholarly-announcement {
		padding: 32px 24px;
	}
}

.featured-article {
	background: #EEF4FB;
	border-left: 4px solid #011F5B;
	border-radius: 4px;
	padding: 16px 20px;
	margin: 16px 0 28px;
}
.featured-label {
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #011F5B;
	margin-bottom: 6px;
}
.featured-article .card__title {
	font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.01em;
	color: var(--bdld-navy, #011F5B);
	margin: 0 0 8px;
}

.author-header--journal { text-align: left; }
.author-header--blog { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.author-header--blog h1 { margin: 0; }

/* ==========================================================================
   4.5 404 Error Page
   ========================================================================== */
.error-404 {
	background: #f8fafc;
}

.error-404 .container {
	max-width: 900px;
	margin: 0 auto;
	padding: 60px 20px;
}

.error-404-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-top: 4px solid var(--bdld-accent-red, #991B1F);
	border-radius: 12px;
	padding: 48px 32px;
	text-align: center;
	box-shadow: 0 10px 30px rgba(0,0,0,0.04);
}

.error-404-icon {
	width: 120px;
	height: 120px;
	margin: 0 auto 24px;
	display: block;
	color: var(--bdld-navy, #011F5B);
	opacity: 0.85;
}

.error-404-badge {
	display: inline-block;
	font-size: 0.85rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--bdld-accent-red, #991B1F);
	background: #ffe4e6;
	padding: 4px 12px;
	border-radius: 20px;
	margin-bottom: 16px;
}

.error-404-title {
	font-family: var(--bdld-font-heading, 'Source Sans 3', sans-serif);
	font-size: 2.5rem;
	font-weight: 700;
	color: var(--bdld-navy, #011F5B);
	margin: 0 0 12px;
}

.error-404-text {
	font-size: 1.1rem;
	color: #475569;
	max-width: 600px;
	margin: 0 auto 30px;
	line-height: 1.6;
}

.error-search-box {
	max-width: 620px;
	margin: 0 auto 30px;
	background: #f1f5f9;
	padding: 20px;
	border-radius: 10px;
	border: 1px solid #cbd5e1;
}

.error-search-box h2 {
	font-size: 1rem;
	color: var(--bdld-navy, #011F5B);
	margin: 0 0 12px;
	font-weight: 700;
}

.error-search-form {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.error-search-input {
	flex: 1;
	min-width: 220px;
	padding: 12px 16px;
	font-size: 1rem;
	border: 1px solid #cbd5e1;
	border-radius: 6px;
	outline: none;
	font-family: var(--bdld-font-main, 'Source Sans 3', sans-serif);
	transition: border-color 0.2s;
}

.error-search-input:focus {
	border-color: var(--bdld-navy, #011F5B);
	box-shadow: 0 0 0 3px rgba(1, 31, 91, 0.1);
}

.error-search-btn {
	background: var(--bdld-navy, #011F5B);
	color: #ffffff;
	font-weight: 700;
	border: none;
	padding: 12px 24px;
	border-radius: 6px;
	font-size: 0.95rem;
	cursor: pointer;
	transition: background 0.2s, transform 0.15s;
	font-family: var(--bdld-font-main, 'Source Sans 3', sans-serif);
	white-space: nowrap;
}

.error-search-btn:hover {
	background: #31BFF0;
	transform: translateY(-1px);
}

.error-search-pills {
	margin-top: 14px;
	font-size: 0.85rem;
	color: #64748b;
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

.error-search-pills a {
	color: #0284c7;
	text-decoration: none;
	background: #ffffff;
	padding: 2px 8px;
	border-radius: 4px;
	border: 1px solid #cbd5e1;
	transition: all 0.2s;
}

.error-search-pills a:hover {
	background: #e0f2fe;
	border-color: #7dd3fc;
}

.error-nav-section {
	border-top: 1px solid #e2e8f0;
	padding-top: 30px;
	margin-top: 20px;
}

.error-nav-section h3 {
	font-size: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #64748b;
	margin-bottom: 20px;
}

.error-nav-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 16px;
}

.error-nav-card {
	padding: 20px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	text-align: left;
	transition: all 0.25s ease;
}

.error-nav-card:hover {
	background: #f1f5f9;
	border-color: #94a3b8;
	transform: translateY(-2px);
}

.error-nav-card h4 {
	font-size: 1.05rem;
	margin: 0 0 6px;
}

.error-nav-card h4 a {
	color: var(--bdld-navy, #011F5B);
	text-decoration: none;
	font-weight: 700;
	border-bottom: none;
	transition: color 0.2s;
}

.error-nav-card h4 a:hover {
	color: var(--bdld-accent-red, #991B1F);
}

.error-nav-card p {
	font-size: 0.85rem;
	color: #64748b;
	margin: 0;
}

@media (max-width: 640px) {
	.error-404 {
		padding: 40px 0;
	}
	.error-404-card {
		padding: 32px 20px;
	}
	.error-404-title {
		font-size: 1.75rem;
	}
	.error-404-icon {
		width: 80px;
		height: 80px;
	}
	.error-search-form {
		flex-direction: column;
	}
	.error-search-input {
		min-width: 0;
	}
	.error-nav-grid {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   5.0 Footer (Audited BDLD Palette: Navy, Penn Red, Cyan & White)
   ========================================================================== */
.site-footer {
	border-top: 2px solid #31BFF0; /* Cyan accent */
	margin-top: 40px;
	padding: 60px 0 30px;
	font-size: 0.95rem;
	background-color: #011F5B;     /* Penn Navy / Oxford Blue */
	color: #ffffff;                /* Bright white readable text */
}
.site-footer h3,
.site-footer h4,
.site-footer .widget-title,
.site-footer .block-title {
	color: #31BFF0 !important;     /* Penn Light Blue / Cyan accent */
}
.site-footer a {
	color: #ffffff;
	text-decoration: none;
	transition: color 0.2s ease;
}

/* Footer Social Icons */
.footer-social-icons a {
    color: #ffffff !important;
    display: inline-flex;
    transition: transform 0.3s ease, color 0.3s ease;
    border-bottom: none !important;
}
.footer-social-icons a:hover,
.footer-social-icons a:focus {
    color: #31BFF0 !important;
    transform: translateY(-3px);
}

/* Footer Newsletter Form Overrides */
.footer-newsletter-form input[type="email"],
.footer-newsletter-form input[type="text"] {
    width: 100%;
    padding: 10px 12px;
    background-color: rgba(255,255,255,0.05) !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    color: #EEF4FB !important;
    border-radius: 4px;
    margin-bottom: 10px;
    font-size: 0.85rem;
    transition: border-color 0.3s;
    box-sizing: border-box;
}
.footer-newsletter-form input[type="email"]:focus,
.footer-newsletter-form input[type="text"]:focus {
    border-color: #31BFF0 !important;
    outline: none;
    background-color: rgba(255,255,255,0.1) !important;
}
.footer-newsletter-form input[type="submit"],
.footer-newsletter-form button[type="submit"] {
    width: 100%;
    background-color: #31BFF0 !important;
    color: #011F5B !important;
    border: none !important;
    padding: 10px 15px;
    border-radius: 4px;
    font-weight: 600;
    cursor: pointer;
    text-transform: uppercase;
    font-size: 0.85rem;
    transition: background-color 0.3s, transform 0.2s;
    box-sizing: border-box;
}
.footer-newsletter-form input[type="submit"]:hover,
.footer-newsletter-form button[type="submit"]:hover {
    background-color: #ffffff !important;
    transform: translateY(-1px);
}
.footer-newsletter-form label { display: none !important; }

/* Footer Link Hover Animations (matching header sub-menu) */
.footer-menu-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.footer-menu-list li {
	margin-bottom: 2px;
}

.footer-menu-list a {
	display: flex;
	align-items: center;
	padding: 8px 12px;
	font-size: 0.88rem;
	font-weight: 400;
	text-transform: uppercase !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 4px;
	transition: all 0.3s ease;
	position: relative;
}

.footer-menu-list a::before {
	content: '→';
	position: absolute;
	left: 10px;
	opacity: 0;
	transform: translateX(-10px);
	transition: all 0.3s ease;
	color: #31BFF0;
}

.footer-menu-list a:hover,
.footer-menu-list a:focus {
	background-color: rgba(255, 255, 255, 0.08);
	color: #31BFF0 !important;
	padding-left: 28px;
}

.footer-menu-list a:hover::before,
.footer-menu-list a:focus::before {
	opacity: 1;
	transform: translateX(0);
}

/* Touch devices: hover arrows stick on tap — hide them so text never shifts */
@media (hover: none) and (pointer: coarse) {
	.footer-menu-list a::before {
		display: none;
	}
	.footer-menu-list a,
	.footer-menu-list a:hover,
	.footer-menu-list a:focus {
		padding-left: 12px;
	}
}

/* ==========================================================================
   6.0 Custom HTML Components for Blog Posts (Audited BDLD Auto-Styles)
   For editor-posted custom div classes (.bdld-article-wrap, .bdld-highlight-box, etc.)
   ========================================================================== */
:root {
    --bdld-bg-white: #ffffff;
    --bdld-ink: #1a1a1a;
    --bdld-accent-red: #991B1F;        /* Penn Red */
    --bdld-navy: #011F5B;              /* Penn Blue */
    --bdld-font-main: 'Source Sans 3', system-ui, -apple-system, sans-serif;
    --bdld-font-heading: 'Source Sans 3', system-ui, -apple-system, sans-serif;
}

.bdld-article-wrap {
    background-color: var(--bdld-bg-white);
    color: var(--bdld-ink);
    font-family: var(--bdld-font-main);
    line-height: 1.8;
    font-size: 18px;
    max-width: 56rem;
    margin: 0 auto;
    padding: 40px 20px;
    overflow-wrap: break-word;
}

/* ==========================================================================
   Separated Typography Rules for Articles vs Blog Posts
   ========================================================================== */

/* Both share Source Sans 3 and #222222 color, but line heights differ */
.single-journal_article .bdld-article-wrap,
.single-journal_article .entry-content,
.single-journal_article .bdld-article-content,
.single-journal_article .bdld-article-wrap p,
.single-journal_article .entry-content p,
.single-journal_article .bdld-article-wrap li,
.single-journal_article .entry-content li {
    font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif !important;
    font-size: 18px !important;
    line-height: 1.7 !important;
    color: #222222 !important;
}
.single-journal_article .bdld-article-wrap {
    max-width: 800px;
}

/* Adjacent article navigation */
.bdld-article-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin: 40px 0 10px;
}
.bdld-article-nav__link {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 20px 22px;
    background: #f7f8fa;
    border: 1px solid #eaeaec;
    border-radius: 8px;
    text-decoration: none;
    transition: border-color 0.2s, background 0.2s;
}
.bdld-article-nav__link:hover {
    border-color: var(--bdld-navy, #011F5B);
    background: #ffffff;
}
.bdld-article-nav__link--next {
    text-align: right;
}
.bdld-article-nav__dir {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--bdld-accent-red, #991B1F);
}
.bdld-article-nav__title {
    font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
    font-weight: 700;
    font-size: 1.05rem;
    line-height: 1.35;
    color: #011F5B;
}
@media (max-width: 768px) {
    .bdld-article-nav {
        grid-template-columns: 1fr;
    }
    .bdld-article-nav__link--next {
        text-align: left;
    }
}

.single-post .bdld-article-wrap,
.single-post .entry-content,
.single-post .bdld-article-content,
.single-post .bdld-article-wrap p,
.single-post .entry-content p,
.single-post .bdld-article-wrap li,
.single-post .entry-content li {
    font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif !important;
    font-size: 17px !important;
    line-height: 1.7 !important;
    color: #222222 !important;
}
.single-post .entry-content h1 {
    font-size: 2rem;
    line-height: 1.25;
}
.single-post .entry-content h2 {
    font-size: 1.625rem;
    line-height: 1.3;
}
.bdld-article-wrap a,
.entry-content a {
    color: var(--bdld-accent-red);
    text-decoration: none;
    border-bottom: 1px dotted var(--bdld-accent-red);
    font-weight: 500;
    transition: all 0.2s ease;
}
.bdld-article-wrap a:hover,
.entry-content a:hover {
    background-color: var(--bdld-accent-red);
    color: #fff;
    border-bottom: 1px solid var(--bdld-accent-red);
}
.bdld-subhead,
.single-post .entry-content h2,
.single-post .bdld-article-wrap h2 {
    font-family: var(--bdld-font-main);
    font-size: 20px;
    font-weight: 700;
    color: var(--bdld-ink);
    margin-top: 35px;
    margin-bottom: 15px;
    text-transform: uppercase;
    border-left: 4px solid var(--bdld-accent-red);
    padding-left: 12px;
    letter-spacing: 0.5px;
}
.bdld-highlight-box,
.is-style-bdld-highlight-box,
.wp-block-group.is-style-bdld-highlight-box {
    background: #EEF4FB;
    border: 2px solid var(--bdld-navy);
    padding: 25px;
    margin: 30px 0;
    box-shadow: 8px 8px 0px rgba(0, 0, 0, 0.1);
    position: relative;
}
.bdld-highlight-title {
    background: var(--bdld-navy);
    color: #fff;
    font-family: var(--bdld-font-main);
    text-transform: uppercase;
    font-weight: bold;
    font-size: 14px;
    padding: 5px 15px;
    display: inline-block;
    position: absolute;
    top: -15px;
    left: 20px;
}
.bdld-highlight-list {
    list-style: none;
    padding: 0;
    margin: 10px 0 0 0;
}
.bdld-highlight-list li {
    margin-bottom: 12px;
    padding-left: 20px;
    position: relative;
    font-family: var(--bdld-font-main);
    font-size: 15px;
}
.bdld-highlight-list li::before {
    content: "\27A4"; /* ➤ */
    color: var(--bdld-accent-red);
    position: absolute;
    left: 0;
    font-size: 12px;
    top: 3px;
}
.bdld-pull-quote,
.single-post .entry-content blockquote,
.single-post .bdld-article-wrap blockquote {
    background: #EEF4FB;
    font-size: 1.25rem; /* 20px instead of 24px */
    font-style: italic;
    color: var(--bdld-accent-red);
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    padding: 20px 40px;
    margin: 40px 0;
    text-align: center;
    font-family: var(--bdld-font-main);
    font-weight: 500;
}
.bdld-drop-cap::first-letter {
    font-size: 3.5em;
    float: left;
    line-height: 0.8;
    padding-right: 8px;
    padding-top: 4px;
    color: var(--bdld-ink);
    font-weight: bold;
}

/* --- Footnotes --- */
.bdld-footnotes {
    margin-top: 50px;
    padding-top: 20px;
    border-top: 2px solid var(--bdld-ink); /* Mapped to existing root var */
    font-size: 14px;
    line-height: 1.6;
}
.bdld-footnotes h4 {
    font-family: var(--bdld-font-main);
    text-transform: uppercase;
    font-size: 16px;
    margin-bottom: 10px;
}
.bdld-footnotes ol {
    padding-left: 0;
    margin: 0;
    list-style-type: none;
    counter-reset: bdld-footnote;
}
.bdld-footnotes li {
    margin-bottom: 12px;
    position: relative;
    counter-increment: bdld-footnote;
    padding-left: 36px;
}
.bdld-footnotes li::before {
    content: counter(bdld-footnote) ". ";
    position: absolute;
    left: 6px;
    top: 0;
    font-weight: bold;
    color: #31BFF0; /* Penn Cyan */
}
.bdld-footnotes li:target {
    background-color: #EEF4FB;
    padding: 2px 5px;
    border-radius: 4px;
}

/* --- Footnotes: sidebar sidenote mode (desktop only) --- */
@media (min-width: 1140px) {
    /* Wrap: relative anchor + right padding for sidebar space (ONLY if footnotes exist) */
    .bdld-article-wrap:has(> .bdld-footnotes) {
        max-width: 75rem !important;
        position: relative !important;
        padding-right: 230px !important;
        overflow: visible !important;
    }
    /* Sidebar panel: absolute, pinned to top-right of wrap, moved further left */
    .bdld-article-wrap > .bdld-footnotes {
        position: absolute !important;
        top: 0 !important;
        right: 25px !important;
        width: 190px !important;
        margin-top: 0 !important;
        padding-top: 0 !important;
        border-top: none !important;
        border-left: 2px solid #31BFF0 !important;
        padding-left: 14px !important;
        box-sizing: border-box !important;
        visibility: hidden;
    }
    /* Hide heading in sidebar mode */
    .bdld-article-wrap > .bdld-footnotes > h4 {
        display: none !important;
    }
    /* ol: clean reset */
    .bdld-article-wrap > .bdld-footnotes ol {
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    /* li: compact (≈3 lines with ...), YLJ typography — JS owns positioning */
    .bdld-article-wrap > .bdld-footnotes li {
        margin-bottom: 0 !important;
        padding: 3px 0 !important;
        font-size: 14px !important;
        line-height: 1.45 !important;
        color: #888888 !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 3 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        cursor: pointer !important;
        transition: top 0.25s ease-out, color 0.15s ease !important;
    }
    .bdld-article-wrap > .bdld-footnotes li:hover {
        color: #333 !important;
    }
    /* Number via ::before counter */
    .bdld-article-wrap > .bdld-footnotes li::before {
        content: counter(bdld-footnote) ". " !important;
        position: static !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        margin-right: 8px !important;
        display: inline-block !important;
        color: #888888 !important;
    }
    /* Hide ↩ back-link */
    .bdld-article-wrap > .bdld-footnotes li a[title="Jump back to text"],
    .bdld-article-wrap > .bdld-footnotes li a[href^="#ref"] {
        display: none !important;
    }
    /* Links inside sidebar footnotes: muted */
    .bdld-article-wrap > .bdld-footnotes li a {
        color: #888888 !important;
        border-bottom: 1px solid #ccc !important;
        text-decoration: none !important;
    }
    .td-post-content {
        position: static !important;
        padding-right: 0 !important;
    }
}
.bdld-article-wrap a:hover {
    background-color: var(--bdld-accent-red);
    color: #fff;
    border-bottom: 1px solid var(--bdld-accent-red);
}
.bdld-subhead {
    font-family: var(--bdld-font-main);
    font-size: 20px;
    font-weight: 700;
    color: var(--bdld-ink);
    margin-top: 35px;
    margin-bottom: 15px;
    text-transform: uppercase;
    border-left: 4px solid var(--bdld-accent-red);
    padding-left: 12px;
    letter-spacing: 0.5px;
}
.bdld-highlight-box {
    background: #EEF4FB;
    border: 2px solid var(--bdld-navy);
    padding: 25px;
    margin: 30px 0;
    box-shadow: 8px 8px 0px rgba(0, 0, 0, 0.1);
    position: relative;
}
.bdld-highlight-title {
    background: var(--bdld-navy);
    color: #fff;
    font-family: var(--bdld-font-main);
    text-transform: uppercase;
    font-weight: bold;
    font-size: 14px;
    padding: 5px 15px;
    display: inline-block;
    position: absolute;
    top: -15px;
    left: 20px;
}
.bdld-highlight-list {
    list-style: none;
    padding: 0;
    margin: 10px 0 0 0;
}
.bdld-highlight-list li {
    margin-bottom: 12px;
    padding-left: 20px;
    position: relative;
    font-family: var(--bdld-font-main);
    font-size: 15px;
}
.bdld-highlight-list li::before {
    content: "\27A4"; /* ➤ */
    color: var(--bdld-accent-red);
    position: absolute;
    left: 0;
    font-size: 12px;
    top: 3px;
}
.bdld-pull-quote {
    background: #EEF4FB;
    font-size: 1.25rem; /* 20px instead of 24px */
    font-style: italic;
    color: var(--bdld-accent-red);
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    padding: 20px 40px;
    margin: 40px 0;
    text-align: center;
    font-family: var(--bdld-font-main);
    font-weight: 500;
}
.bdld-drop-cap::first-letter {
    font-size: 3.5em;
    float: left;
    line-height: 0.8;
    padding-right: 8px;
    padding-top: 4px;
    color: var(--bdld-ink);
    font-weight: bold;
}

/* --- Footnotes --- */
.bdld-footnotes {
    margin-top: 50px;
    padding-top: 20px;
    border-top: 2px solid var(--bdld-ink); /* Mapped to existing root var */
    font-size: 14px;
    line-height: 1.6;
}
.bdld-footnotes h4 {
    font-family: var(--bdld-font-main);
    text-transform: uppercase;
    font-size: 16px;
    margin-bottom: 10px;
}
.bdld-footnotes ol {
    padding-left: 0;
    margin: 0;
    list-style-type: none;
    counter-reset: bdld-footnote;
}
.bdld-footnotes li {
    margin-bottom: 12px;
    position: relative;
    counter-increment: bdld-footnote;
    padding-left: 36px;
}
.bdld-footnotes li::before {
    content: counter(bdld-footnote) ". ";
    position: absolute;
    left: 6px;
    top: 0;
    font-weight: bold;
    color: #31BFF0; /* Penn Cyan */
}
.bdld-footnotes li:target {
    background-color: #EEF4FB;
    padding: 2px 5px;
    border-radius: 4px;
}

/* --- Footnotes: sidebar sidenote mode (desktop only) --- */
@media (min-width: 1140px) {
    /* Wrap: relative anchor + right padding for sidebar space (ONLY if footnotes exist) */
    .bdld-article-wrap:has(> .bdld-footnotes) {
        max-width: 75rem !important;
        position: relative !important;
        padding-right: 230px !important;
        overflow: visible !important;
    }
    /* Sidebar panel: absolute, pinned to top-right of wrap, moved further left */
    .bdld-article-wrap > .bdld-footnotes {
        position: absolute !important;
        top: 0 !important;
        right: 25px !important;
        width: 190px !important;
        margin-top: 0 !important;
        padding-top: 0 !important;
        border-top: none !important;
        border-left: 2px solid #31BFF0 !important;
        padding-left: 14px !important;
        box-sizing: border-box !important;
        visibility: hidden;
    }
    /* Hide heading in sidebar mode */
    .bdld-article-wrap > .bdld-footnotes > h4 {
        display: none !important;
    }
    /* ol: clean reset */
    .bdld-article-wrap > .bdld-footnotes ol {
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    /* li: compact (≈3 lines with ...), YLJ typography — JS owns positioning */
    .bdld-article-wrap > .bdld-footnotes li {
        margin-bottom: 0 !important;
        padding: 3px 0 !important;
        font-size: 14px !important;
        line-height: 1.45 !important;
        color: #888888 !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 3 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        cursor: pointer !important;
        transition: top 0.25s ease-out, color 0.15s ease !important;
    }
    .bdld-article-wrap > .bdld-footnotes li:hover {
        color: #333 !important;
    }
    /* Number via ::before counter */
    .bdld-article-wrap > .bdld-footnotes li::before {
        content: counter(bdld-footnote) ". " !important;
        position: static !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        margin-right: 8px !important;
        display: inline-block !important;
        color: #888888 !important;
    }
    /* Hide ↩ back-link */
    .bdld-article-wrap > .bdld-footnotes li a[title="Jump back to text"],
    .bdld-article-wrap > .bdld-footnotes li a[href^="#ref"] {
        display: none !important;
    }
    /* Links inside sidebar footnotes: muted */
    .bdld-article-wrap > .bdld-footnotes li a {
        color: #888888 !important;
        border-bottom: 1px solid #ccc !important;
        text-decoration: none !important;
    }
    .td-post-content {
        position: static !important;
        padding-right: 0 !important;
    }
}

/* ==========================================================================
   7.0 Custom HTML Pages Layout System (.bdld-page)
   Centralized styling for custom editor-posted pages (About, Submissions, etc.)
   ========================================================================== */
.bdld-page {
    --color-crimson: #991B1F; --color-crimson-lt: #C0272D; /* Penn Red */
    --color-ink: #0D0D0D;
    --color-ink-mid: #2C2C2C; --color-ink-soft: #4A4A4A; --color-ink-muted: #6E6E6E;
    --color-rule: #011F5B;   /* Penn Primary Blue */
    --color-paper: #ffffff; --color-paper-warm: #EEF4FB; /* pure white content, Penn-tinted warm bg */
    --color-border: #BDD4EE; --color-border-lt: #D6E7F7;
    --color-navy: #011F5B; --color-navy-lt: #0A3A8C; /* Penn Blue */
    font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif; font-size: 1rem; line-height: 1.6;
    color: var(--color-ink-mid); background-color: var(--color-paper); -webkit-font-smoothing: antialiased;
}
.bdld-page *, .bdld-page *::before, .bdld-page *::after { box-sizing: border-box; }
.bdld-page h1, .bdld-page h2, .bdld-page h3, .bdld-page h4, .bdld-page h5, .bdld-page h6 { font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif; color: var(--color-navy) !important; margin: 0 0 1rem 0; }
.bdld-page h1 { font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif !important; font-size: 2.5rem; font-weight: 700 !important; line-height: 1.1; letter-spacing: -0.02em; }
.bdld-page h2 { font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif; font-size: 1.75rem; font-weight: 600; margin-bottom: 1.5rem; letter-spacing: -0.01em; }
.bdld-page h3 { font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif; font-size: 1.0625rem; font-weight: 600; margin-bottom: 0.15rem; color: var(--color-navy) !important; }
.bdld-page a { color: var(--color-crimson); text-decoration: none; border-bottom: 1px solid var(--color-crimson); transition: border-color 0.2s ease, color 0.2s ease; }
.bdld-page a:hover, .bdld-page a:focus-visible { color: var(--color-navy); border-bottom-color: var(--color-navy); outline: none; }
.bdld-page .top-rule, 
.bdld-page .top-rule-gold { 
    display: none !important; 
}
.bdld-page .container { max-width: 56rem; margin: 0 auto; padding: 3rem 1.5rem; }

/* Common Masthead */
.bdld-page .masthead { border-bottom: 2px solid var(--color-border); padding-bottom: 2.5rem; margin-bottom: 3rem; }
.bdld-page .masthead-eyebrow { font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif; font-size: 0.875rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; color: var(--color-crimson); margin-bottom: 1rem; display: block; }
.bdld-page .masthead-mission { font-size: 1.25rem; color: var(--color-ink-soft); max-width: 40rem; margin: 0; }
.bdld-page .masthead-published { font-size: 0.9375rem; color: var(--color-ink-muted); margin-top: 0.5rem; }
.bdld-page .masthead-meta { margin-top: 1rem; font-size: 0.875rem; color: var(--color-ink-muted); }
.bdld-page .masthead-links { margin-top: 1.5rem; font-size: 0.9375rem; font-weight: 500; }
.bdld-page .masthead-links a { display: inline-block; margin-right: 0.75rem; margin-bottom: 0.5rem; }
.bdld-page .masthead-links a:not(:last-child)::after { content: '•'; margin-left: 0.75rem; color: var(--color-ink-muted); }

/* Common Sections */
.bdld-page .section { margin-bottom: 3.5rem; }
.bdld-page .section-header { margin-bottom: 1.25rem; }
.bdld-page .clause-number { font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif; font-size: 0.875rem; font-weight: 600; color: var(--color-crimson); display: block; margin-bottom: 0.5rem; }
.bdld-page .section-intro { font-size: 1.0625rem; color: var(--color-ink-mid); margin-bottom: 2rem; max-width: 48rem; }
.bdld-page .lede { font-size: 1.125rem; color: var(--color-ink-mid); border-left: 3px solid var(--color-crimson); padding-left: 1.25rem; margin-bottom: 2rem; line-height: 1.7; }

/* Grids & Cards */
.bdld-page .blocks-layout { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
.bdld-page .block-card { background: var(--color-paper-warm); padding: 1.5rem; border-left: 3px solid var(--color-crimson); }
.bdld-page .block-card p { color: var(--color-ink-soft); font-size: 0.9375rem; margin: 0; }
.bdld-page .callout { padding: 1.5rem; background-color: var(--color-paper-warm); border-left: 4px solid var(--color-crimson); margin-bottom: 1.5rem; font-size: 0.9375rem; color: var(--color-ink-mid); }
.bdld-page .callout strong { color: var(--color-ink); font-weight: 600; }

.bdld-page .checklist { list-style: none; margin: 0; padding: 0; }
.bdld-page .checklist li { padding: 1rem 0; border-bottom: 1px solid var(--color-border-lt); display: grid; grid-template-columns: 1fr; gap: 0.5rem; align-items: baseline; }
.bdld-page .checklist-key { font-weight: 600; font-size: 0.9375rem; color: var(--color-ink); }
.bdld-page .checklist-val { color: var(--color-ink-soft); font-size: 0.9375rem; }

/* Updated Info Card (Light Version) */
/* 3. Abstract Box */
.journal-abstract-box {
	background: #F8FAFC;
	border-left: 3px solid var(--bdld-navy, #011F5B);
	padding: 12px 16px;
	margin: 15px 0;
	font-size: 15.5px;
	line-height: 1.55;
	border-radius: 0 4px 4px 0;
}
.journal-abstract-box h2 {
	font-size: 17px;
	line-height: 1.3;
	color: var(--bdld-navy, #011F5B);
	margin-top: 0;
	margin-bottom: 8px;
	text-transform: uppercase;
	letter-spacing: 0.8px;
}

/* 4. Author Box */
.bdld-author-box.journal-author-box {
	background: #ffffff;
	border: 1px solid #eaeaea;
	border-left: 3px solid var(--bdld-accent-red, #991B1F);
	padding: 12px 16px;
	margin-bottom: 15px !important;
	border-radius: 0 4px 4px 0;
}
.bdld-page .info-card { background: #ffffff; border: 1px solid var(--color-border-lt); border-left: 4px solid var(--color-crimson); padding: 1.5rem; max-width: 42rem; margin-bottom: 1.25rem; box-shadow: 0 4px 6px rgba(0,0,0,0.02); }
.bdld-page .info-card ul { list-style: none; margin: 0; padding: 0; }
.bdld-page .info-card li { display: flex; flex-direction: column; gap: 1rem; padding: 0.75rem 0; border-bottom: 1px solid var(--color-border-lt); font-size: 0.9375rem; color: var(--color-ink-mid); }
.bdld-page .info-card li:last-child { border-bottom: none; padding-bottom: 0; }
.bdld-page .info-card strong { color: var(--color-ink); font-weight: 600; }
.bdld-page .info-card a { color: var(--color-crimson); border-bottom-color: transparent; }
.bdld-page .info-card a:hover { border-bottom-color: var(--color-crimson); }
.bdld-page .publisher-note { color: var(--color-ink-soft); font-size: 0.9375rem; max-width: 42rem; margin: 0; }

.bdld-page .person-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
.bdld-page .person-card { border-bottom: 1px solid var(--color-border-lt); padding-bottom: 1.25rem; }
.bdld-page .person-role { font-size: 0.8125rem; font-weight: 600; color: var(--color-crimson); text-transform: uppercase; letter-spacing: 0.04em; display: block; margin-bottom: 0.35rem; }
.bdld-page .person-bio, .bdld-page .person-affiliation { font-size: 0.9375rem; color: var(--color-ink-soft); margin: 0; line-height: 1.6; }

.bdld-page .contact-card { background: var(--color-paper-warm); padding: 1.5rem; border-left: 3px solid var(--color-crimson); }
.bdld-page .contact-card ul { list-style: none; margin: 0; padding: 0; }
.bdld-page .contact-card li { margin-bottom: 0.5rem; color: var(--color-ink-soft); }
.bdld-page .contact-card strong { color: var(--color-ink); }

/* Additional specific cards from journal landing */
.bdld-page .issue-card { background: var(--color-ink); color: var(--color-paper); padding: 2rem; position: relative; }
.bdld-page .issue-card::before { content: ''; display: block; width: 3rem; height: 2px; background: var(--color-rule); margin-bottom: 1.5rem; }
.bdld-page .issue-card h3 { color: var(--color-paper) !important; font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif; font-size: 1.5rem; margin-bottom: 0.5rem; }
.bdld-page .issue-card p { color: var(--color-border-lt); font-size: 0.9375rem; margin-bottom: 1rem; }
.bdld-page .issue-card a { color: var(--color-rule); font-weight: 600; border-bottom-color: transparent; }
.bdld-page .issue-card a:hover { color: #ffffff; border-bottom-color: rgba(255,255,255,0.5); }

.bdld-page .nav-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
.bdld-page .nav-card { background: var(--color-paper-warm); border-left: 3px solid var(--color-crimson); padding: 1.5rem; }
.bdld-page .nav-card p { color: var(--color-ink-soft); font-size: 0.9375rem; margin-bottom: 0.75rem; }
.bdld-page .nav-card a { font-weight: 600; }

.bdld-page .route-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
.bdld-page .route-card { background: var(--color-paper-warm); border: 1px solid var(--color-border-lt); border-top: 4px solid var(--color-crimson); padding: 1.5rem; display: flex; flex-direction: column; }
.bdld-page .route-card h3 { color: var(--color-navy); font-size: 1.375rem; font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif; margin-bottom: 0.5rem; }
.bdld-page .route-card p { color: var(--color-ink-soft); font-size: 0.9375rem; margin-bottom: 1.5rem; }
.bdld-page .route-meta { list-style: none; margin: 0 0 1.5rem 0; padding: 0 0 1.5rem 0; border-bottom: 1px solid var(--color-border-lt); flex-grow: 1; display: flex; flex-direction: column; justify-content: flex-start; }
.bdld-page .route-meta li { font-size: 0.875rem; color: var(--color-ink-mid); margin-bottom: 0.5rem; }
.bdld-page .route-meta strong { color: var(--color-ink); font-weight: 600; }
.bdld-page .route-cta { display: inline-block; font-weight: 600; font-size: 0.875rem; color: var(--color-crimson); text-transform: uppercase; letter-spacing: 0.05em; border-bottom: 1px solid transparent !important; margin-top: auto; }
.bdld-page .route-cta:hover { color: var(--color-crimson-lt); border-bottom-color: var(--color-crimson-lt) !important; }

.bdld-page .policy-links { list-style: none; display: grid; grid-template-columns: 1fr; gap: 0.75rem; margin: 0; padding: 0; }
.bdld-page .policy-links li { border-bottom: 1px solid var(--color-border-lt); padding-bottom: 0.75rem; }
.bdld-page .policy-links a { font-weight: 500; }
.bdld-page .policy-links span { display: block; font-size: 0.875rem; color: var(--color-ink-muted); margin-top: 0.15rem; }

.bdld-page .volume-card { background: var(--color-paper-warm); border-left: 3px solid var(--color-crimson); padding: 1.5rem; margin-bottom: 2rem; }
.bdld-page .volume-card h3 { color: var(--color-navy); font-size: 1.375rem; font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif; margin-bottom: 1rem; border-bottom: 1px solid var(--color-border-lt); padding-bottom: 0.5rem; }
.bdld-page .issue-list { list-style: none; margin: 0; padding: 0; }
.bdld-page .issue-list li { display: flex; flex-direction: column; gap: 0.5rem; justify-content: space-between; align-items: flex-start; padding: 1rem 0; border-bottom: 1px dashed var(--color-border-lt); font-size: 0.9375rem; color: var(--color-ink-mid); }
.bdld-page .issue-list li:last-child { border-bottom: none; padding-bottom: 0; }
.bdld-page .issue-list a { font-weight: 600; }
.bdld-page .issue-status { font-size: 0.75rem; font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; color: var(--color-ink-muted); background: var(--color-border-lt); padding: 0.25rem 0.5rem; border-radius: 4px; }

.bdld-page .topic-list { display: grid; grid-template-columns: 1fr; gap: 0.5rem; margin: 1.5rem 0; padding: 0; list-style: none; }
.bdld-page .topic-list li { background: var(--color-paper-warm); padding: 0.75rem 1rem; border-left: 3px solid var(--color-rule); font-size: 0.9375rem; }

.bdld-page .data-grid { width: 100%; border-collapse: collapse; margin-bottom: 1.5rem; }
.bdld-page .data-grid th { text-align: left; padding: 1rem; background: var(--color-navy); color: var(--color-paper); font-weight: 500; text-transform: uppercase; letter-spacing: 0.05em; font-size: 0.8125rem; }
.bdld-page .data-grid td { padding: 1rem; border-bottom: 1px solid var(--color-border-lt); font-size: 0.9375rem; color: var(--color-ink-soft); }
.bdld-page .grid-label { font-weight: 600; color: var(--color-ink); }

.bdld-page .dates-card { background: var(--color-paper-warm); border: 1px solid var(--color-border-lt); border-top: 4px solid var(--color-crimson); padding: 1.5rem; }
.bdld-page .dates-card ul { list-style: none; margin: 0; padding: 0; }
.bdld-page .dates-card li { display: flex; justify-content: space-between; padding: 0.75rem 0; border-bottom: 1px dashed var(--color-border-lt); font-size: 0.9375rem; }
.bdld-page .dates-card li:last-child { border-bottom: none; padding-bottom: 0; }
.bdld-page .dates-card li span { color: var(--color-ink-mid); }
.bdld-page .dates-card li strong { color: var(--color-ink); }

.bdld-page .action-area { background: var(--color-navy); color: var(--color-paper) !important; padding: 3rem 2rem; margin-top: 4rem; text-align: center; position: relative; }
.bdld-page .action-area::before { content: ''; display: block; width: 3rem; height: 2px; background: var(--color-rule); margin: 0 auto 1.5rem; }
.bdld-page .action-area h2 { color: var(--color-paper) !important; font-size: 1.25rem; font-family: 'Source Sans 3', sans-serif; font-weight: 500; margin-bottom: 1rem; }
.bdld-page .action-area p { color: var(--color-border-lt) !important; margin-bottom: 2rem; }
.bdld-page .action-area ul { list-style: none; padding: 0; margin: 0 0 2rem 0; display: flex; flex-direction: column; gap: 0.5rem; align-items: center; }
.bdld-page .action-area ul li { color: var(--color-border-lt) !important; }
.bdld-page .action-area ol { text-align: left; display: inline-block; margin: 0 auto 2rem auto; padding: 0 0 0 1.5rem; color: var(--color-border-lt) !important; }
.bdld-page .action-area ol li { margin-bottom: 0.5rem; color: var(--color-border-lt) !important; }
.bdld-page .action-area strong { color: #ffffff !important; }
.bdld-page .action-area a { color: #31BFF0 !important; border-bottom-color: rgba(49,191,240,0.4) !important; }
.bdld-page .action-area a:hover, .bdld-page .action-area a:focus-visible { color: #31BFF0 !important; border-bottom-color: #31BFF0 !important; }
.bdld-page .action-emails { display: flex; flex-direction: column; gap: 0.75rem; align-items: center; }
.bdld-page .action-emails a { color: #31BFF0 !important; font-weight: 500; font-size: 1.125rem; border-bottom: 1px solid rgba(49,191,240,0.4) !important; }
.bdld-page .action-emails a:hover { color: #31BFF0 !important; border-bottom-color: #31BFF0 !important; }

.bdld-page .cta-buttons { display: flex; flex-direction: column; gap: 1rem; justify-content: center; margin-top: 2rem; align-items: center; }
.bdld-page .btn-primary { display: inline-block; background-color: var(--color-crimson); color: #ffffff !important; padding: 0.75rem 1.5rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; font-size: 0.875rem; border: none; border-radius: 4px; transition: background-color 0.2s ease, transform 0.1s ease; }
.bdld-page .btn-primary:hover { background-color: var(--color-crimson-lt); border-bottom-color: transparent !important; transform: translateY(-1px); }
.bdld-page .btn-secondary { display: inline-block; background-color: transparent; color: var(--color-rule) !important; padding: 0.75rem 1.5rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; font-size: 0.875rem; border: 1px solid var(--color-rule); border-radius: 4px; transition: all 0.2s ease; }
.bdld-page .btn-secondary:hover { background-color: rgba(192, 160, 96, 0.1); border-bottom-color: var(--color-rule) !important; color: #ffffff !important; }

.bdld-page .footer { margin-top: 4rem; padding-top: 1.5rem; border-top: 1px solid var(--color-border-lt); font-size: 0.875rem; color: var(--color-ink-muted); text-align: center; }
.bdld-page .footer p + p { margin-top: 0.5rem; }

@media (min-width: 768px) {
    .bdld-page .container { padding: 4rem 2rem; }
    .bdld-page h1 { font-size: 3.5rem; }
    .bdld-page .section { display: grid; grid-template-columns: 4rem 1fr; gap: 2rem; align-items: baseline; }
    .bdld-page .section-header { grid-column: 2; margin-bottom: 0; }
    .bdld-page .clause-number { grid-column: 1; margin-bottom: 0; border-top: 2px solid var(--color-crimson); padding-top: 0.5rem; }
    .bdld-page .section-content { grid-column: 2; }
    .bdld-page .blocks-layout { grid-template-columns: 1fr 1fr; }
    .bdld-page .person-grid { grid-template-columns: 1fr 1fr; }
    .bdld-page .checklist li { grid-template-columns: 8rem 1fr; gap: 1rem; }
    .bdld-page .info-card li { flex-direction: row; justify-content: space-between; align-items: baseline; }
    .bdld-page .issue-list li { flex-direction: row; align-items: center; }
    .bdld-page .nav-grid { grid-template-columns: 1fr 1fr; }
    .bdld-page .route-grid { grid-template-columns: 1fr 1fr; }
    .bdld-page .topic-list { grid-template-columns: 1fr 1fr; }
    .bdld-page .policy-links { grid-template-columns: 1fr 1fr; }
    .bdld-page .action-area { padding: 4rem; }
}

/* ==========================================================================
   Pagination Styling (Matches Underscores the_posts_pagination() output)
   ========================================================================== */
.pagination {
	margin: 10px 0 60px 0; /* Near the cards, with space below */
	text-align: center;
	clear: both;
}
.pagination .nav-links {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}
.pagination .page-numbers {
	display: inline-block;
	padding: 8px 16px;
	font-family: 'Source Sans 3', ui-sans-serif, system-ui, sans-serif; /* Clean system UI */
	font-size: 1rem;
	font-weight: 600;
	color: #011F5B; /* Penn Navy */
	background: #f2f2f2; /* Penn Grey */
	border-radius: 4px;
	text-decoration: none !important;
	border: 1px solid transparent;
	transition: all 0.2s ease;
}
.pagination .page-numbers:hover,
.pagination .page-numbers:focus {
	background: #e8e8e8;
	color: #991B1F !important; /* Penn Red hover */
	border-bottom: 1px solid transparent !important;
}
.pagination .page-numbers.current {
	background: #011F5B;
	color: #ffffff !important;
	pointer-events: none;
}
.pagination .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;
	width: 1px;
	word-wrap: normal !important;
}

/* ==========================================================================
   Rank Math FAQ - Premium Law Journal Style
   ========================================================================== */
.rank-math-block {
    background: #f7f7f7;
    border-top: 3px solid #011F5B; /* Penn Blue */
    border-bottom: 1px solid #011F5B;
    padding: 40px;
    margin: 60px 0;
    border-radius: 8px 8px 0 0;
}
.rank-math-block::before {
    content: "Frequently Asked Questions";
    display: block;
    font-family: 'Source Sans 3', serif;
    font-size: 1.8rem;
    font-weight: 700;
    color: #011F5B;
    margin-bottom: 30px;
    padding-bottom: 15px;
    border-bottom: 1px solid #e0e0e0;
    letter-spacing: -0.01em;
}
.rank-math-list-item {
    margin-bottom: 25px;
    border-bottom: 1px solid rgba(1, 31, 91, 0.1);
    padding-bottom: 25px;
    list-style: none;
}
.rank-math-list-item:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}
.rank-math-question {
    font-family: var(--bdld-font-main, 'Source Sans 3', sans-serif);
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    color: #011F5B !important;
    margin-bottom: 12px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    line-height: 1.4;
}
.rank-math-question::before {
    content: "Q.";
    color: #991B1F; /* Penn Red */
    font-weight: 800;
    font-size: 1.3rem;
    line-height: 1.4;
}
.rank-math-answer {
    font-family: var(--bdld-font-main, 'Source Sans 3', sans-serif);
    font-size: 1.05rem;
    line-height: 1.7;
    color: #2C2C2C;
    padding-left: 32px; /* aligns exactly with text after the Q. */
}
.rank-math-answer p {
    margin-bottom: 15px;
}
.rank-math-answer p:last-child {
    margin-bottom: 0;
}
.rank-math-answer ul {
    list-style: none;
    padding: 0;
    margin: 15px 0 0 0;
}
.rank-math-answer ul li {
    margin-bottom: 10px;
    padding-left: 20px;
    position: relative;
}
.rank-math-answer ul li::before {
    content: "•";
    color: #991B1F; /* Penn Red */
    position: absolute;
    left: 0;
    font-weight: bold;
    font-size: 1.2rem;
    line-height: 1;
}

@media (max-width: 768px) {
    .rank-math-block {
        padding: 25px;
        margin: 40px 0;
    }
    .rank-math-block::before {
        font-size: 1.5rem;
    }
    .rank-math-question {
        font-size: 1.1rem !important;
    }
    .rank-math-answer {
        font-size: 1rem;
        padding-left: 0;
        margin-top: 15px;
    }
}

/* ==========================================================================
   Author Box Enhancements
   ========================================================================== */
.bdld-author-box .author-title {
    position: relative;
    display: inline-block;
    padding-bottom: 8px;
    margin-bottom: 12px;
}

.bdld-author-box .author-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 50%; /* Modern cyan line spanning exactly up to the center of the name */
    height: 3px;
    background-color: #31BFF0; /* Penn Cyan */
    border-radius: 2px;
}

.bdld-author-box .author-avatar img {
    width: 75px !important;
    height: 75px !important;
    object-fit: cover !important;
    object-position: center 15% !important;
    border-radius: 50% !important;
    border: 2px solid #31BFF0 !important; /* Changed to Cyan to match the name underline */
    padding: 2px !important;
    background-color: #ffffff !important;
    box-shadow: 0 3px 10px rgba(49, 191, 240, 0.15) !important; /* Subtle cyan glow */
}

/* ==========================================================================
   Mobile Responsive Typography & Layout (Posts & Pages)
   ========================================================================== */
@media (max-width: 768px) {
    .entry-title {
        font-size: 2rem !important;
        line-height: 1.2;
    }
    .entry-content h1, .page-content h1, .journal-article-main h1 {
        font-size: 1.8rem !important;
        line-height: 1.25 !important;
        margin-top: 15px;
    }
    .entry-content h2, .page-content h2, .journal-article-main h2 {
        font-size: 1.5rem !important;
        line-height: 1.3 !important;
    }
    .entry-content p, .page-content p, .journal-article-main p {
        margin-bottom: 20px !important;
    }
    
    /* Left align author box on mobile */
    .bdld-author-box {
        padding: 18px 20px !important;
        gap: 15px !important;
        margin-top: 25px !important;
        margin-left: 15px !important;
        margin-right: 15px !important;
        border-radius: 8px !important;
    }
    .bdld-author-box .author-avatar img {
        width: 65px !important;
        height: 65px !important;
    }
    .bdld-author-box .author-title {
        font-size: 1.15rem !important;
    }
    .bdld-author-box .author-title::after {
        left: 50%;
        transform: translateX(-50%);
        width: 35px; /* Centered nicely under the name */
    }
    .bdld-author-box .author-bio {
        font-size: 0.875rem !important;
        line-height: 1.6 !important;
    }
    .author-bio {
    font-size:.875rem;
    line-height:1.6;
    color:#222222;
	font-weight: 400;
    } 
    /* Mobile Navigation — Off-Canvas Panel */
    .menu-toggle {
        display: flex !important;
    }
    /* Inline desktop nav is hidden on mobile; the off-canvas panel replaces it */
    .main-navigation {
        display: none !important;
    }

    /* ── Off-canvas mobile menu panel ── */
    .bdld-mobile-menu {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 99998;
        visibility: hidden;
        pointer-events: none;
    }
    .bdld-mobile-menu__overlay {
        position: absolute;
        inset: 0;
        background: rgba(0, 0, 0, 0.55);
        opacity: 0;
        transition: opacity 0.3s ease;
        z-index: 1;
    }
    .bdld-mobile-menu__panel {
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        width: 100%;
        background: #011F5B;
        display: flex;
        flex-direction: column;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        transform: translateX(-100%);
        transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
        z-index: 2;
    }
    .bdld-mobile-menu.is-open {
        visibility: visible;
        pointer-events: auto;
    }
    .bdld-mobile-menu.is-open .bdld-mobile-menu__panel {
        transform: translateX(0);
    }
    .bdld-mobile-menu.is-open .bdld-mobile-menu__overlay {
        opacity: 1;
    }

    /* Header row: MENU + close */
    .bdld-mobile-menu__header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 22px 20px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.12);
        flex-shrink: 0;
    }
    .bdld-mobile-menu__title {
        font-family: 'Source Sans 3', system-ui, sans-serif;
        font-size: 0.95rem;
        font-weight: 700;
        letter-spacing: 3px;
        text-transform: uppercase;
        color: #ffffff;
    }
    .bdld-mobile-menu__close {
        width: 44px;
        height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: transparent;
        border: 1px solid rgba(255, 255, 255, 0.2);
        border-radius: 4px;
        color: #ffffff;
        cursor: pointer;
        transition: background-color 0.2s, color 0.2s;
        flex-shrink: 0;
    }
    .bdld-mobile-menu__close:active {
        background: rgba(255, 255, 255, 0.12);
    }

    /* Search bar */
    .bdld-mobile-menu__search {
        position: relative;
        margin: 18px 20px;
        flex-shrink: 0;
    }
    .bdld-mobile-menu__search-input {
        width: 100%;
        height: 56px;
        padding: 0 52px 0 16px;
        box-sizing: border-box;
        background: transparent;
        border: 1px solid rgba(255, 255, 255, 0.2);
        border-radius: 6px;
        color: #ffffff;
        font-family: 'Source Sans 3', system-ui, sans-serif;
        font-size: 1rem;
        outline: none;
        transition: border-color 0.2s;
        -webkit-appearance: none;
    }
    .bdld-mobile-menu__search-input::placeholder {
        color: rgba(255, 255, 255, 0.55);
    }
    .bdld-mobile-menu__search-input:focus {
        border-color: #31BFF0;
    }
    .bdld-mobile-menu__search svg {
        position: absolute;
        right: 16px;
        top: 50%;
        transform: translateY(-50%);
        color: rgba(255, 255, 255, 0.7);
        pointer-events: none;
    }

    /* Menu links */
    .bdld-mobile-menu__nav {
        flex: 1;
    }
    .bdld-mobile-menu__nav ul {
        list-style: none;
        margin: 0;
        padding: 0;
    }
    .bdld-mobile-menu__nav > ul > li > a,
    .bdld-mobile-menu__nav .sub-menu a {
        display: flex;
        align-items: center;
        color: #ffffff;
        text-decoration: none;
        padding: 18px 20px;
        font-family: 'Source Sans 3', system-ui, sans-serif;
        font-size: 21px;
        font-weight: 600;
        text-transform: uppercase;
        line-height: 1.3;
        min-height: 44px;
        box-sizing: border-box;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
        background: transparent;
    }
    .bdld-mobile-menu__nav a:active {
        background: rgba(255, 255, 255, 0.06);
    }
    .bdld-mobile-menu__nav a:focus-visible {
        outline: 2px solid #31BFF0;
        outline-offset: -2px;
    }
    .bdld-mobile-menu__nav .sub-menu a {
        font-size: 17px;
        font-weight: 500;
        text-transform: none;
        padding: 14px 20px 14px 36px;
    }
    .bdld-mobile-menu__nav .menu-item-has-children {
        position: relative;
    }
    .bdld-mobile-menu__nav .menu-item-has-children > a {
        padding-right: 64px;
    }
    .bdld-mobile-menu__nav .sub-menu {
        display: none;
    }
    .bdld-mobile-menu__nav .menu-item-has-children.submenu-open > .sub-menu {
        display: block;
        animation: bdld-submenu-in 0.25s ease;
    }
    @keyframes bdld-submenu-in {
        from { opacity: 0; transform: translateY(-6px); }
        to { opacity: 1; transform: translateY(0); }
    }

    /* +/− toggle buttons */
    .bdld-mobile-menu__nav .submenu-toggle {
        position: absolute;
        right: 8px;
        top: 4px;
        width: 44px;
        height: 44px;
        display: flex !important;
        align-items: center;
        justify-content: center;
        background: transparent;
        border: none;
        color: #31BFF0;
        font-size: 1.7rem;
        font-weight: 400;
        line-height: 1;
        cursor: pointer;
        z-index: 5;
        min-height: 44px;
        min-width: 44px;
        box-sizing: border-box;
    }
    .bdld-mobile-menu__nav .submenu-sign {
        display: block;
        transition: transform 0.25s ease;
    }
    .bdld-mobile-menu__nav .menu-item-has-children.submenu-open > .submenu-toggle .submenu-sign {
        transform: rotate(180deg);
    }

    /* Mobile Card Layout to Horizontal List format */
    .js-related-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
    }
    .js-related-grid .blog-card {
        display: flex !important;
        flex-direction: row !important;
        align-items: center;
        gap: 16px;
        padding-bottom: 16px;
        border-bottom: 1px solid #eaeaea;
        box-shadow: none !important;
        border: none !important;
    }
    .js-related-grid .blog-card > a {
        flex-shrink: 0;
        width: 120px;
        height: 80px;
    }
    .js-related-grid .blog-card > a img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        border-radius: 6px;
    }
    .js-related-grid .blog-card .card__body {
        padding: 0 !important;
        margin: 0 !important;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .js-related-grid .blog-card .card__title,
    .related-articles .scholarly-title,
    .related-articles .card__title,
    #tab-related .card__title {
        font-size: 1.1rem !important;
        margin-bottom: 6px !important;
        line-height: 1.35 !important;
        font-weight: 700 !important;
    }
    .js-related-grid .blog-card:nth-child(4) {
        display: none !important;
    }
}

/* ==========================================================================
   Fluid Typography Base
   ========================================================================== */
:root {
  --bdld-font-size-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
}
body {
  font-size: var(--bdld-font-size-base);
}

/* Author Box Description Specifics */
.bdld-author-box .author-bio {
    font-size: 0.85rem !important;
}

/* ==========================================================================
   Current Issue Box & Journal Cover Styling (Penn Navy #011F5B - Never Black)
   ========================================================================== */
.current-issue-box,
.journal-current-issue,
.current-issue-card,
.current-issue-hero,
.wp-block-group.current-issue,
.wp-block-cover.current-issue,
.wp-block-cover,
.wp-block-cover-image,
.wp-block-cover__inner-container,
.taxonomy-issue .issue-header,
.issue-current-banner,
.wp-block-group.has-black-background-color,
.wp-block-cover.has-black-background-color,
.has-black-background-color,
[style*="background-color: rgb(0, 0, 0)"],
[style*="background-color: rgb(0,0,0)"],
[style*="background-color:#000"],
[style*="background-color: #000"],
[style*="background-color:#111"],
[style*="background-color: #111"],
[style*="background:#000"],
[style*="background: #000"],
[style*="background-color: black"],
[style*="background: black"] {
	background-color: #011F5B !important;
	background: #011F5B !important;
	color: #ffffff !important;
	border-radius: 10px;
}

.wp-block-cover__gradient-background,
.wp-block-cover .wp-block-cover__background {
	background-color: #011F5B !important;
	opacity: 1 !important;
}

.current-issue-box *,
.journal-current-issue *,
.current-issue-card *,
.current-issue-hero *,
.wp-block-cover *,
.has-black-background-color * {
	color: #ffffff !important;
}

.current-issue-box p,
.journal-current-issue p,
.current-issue-card p,
.current-issue-hero p,
.wp-block-group.current-issue p,
.wp-block-cover.current-issue p,
.wp-block-cover p,
.has-black-background-color p {
	color: #e2e8f0 !important;
}

.current-issue-box h1, .current-issue-box h2, .current-issue-box h3, .current-issue-box h4,
.journal-current-issue h1, .journal-current-issue h2, .journal-current-issue h3, .journal-current-issue h4,
.current-issue-card h1, .current-issue-card h2, .current-issue-card h3,
.wp-block-cover h1, .wp-block-cover h2, .wp-block-cover h3, .wp-block-cover h4,
.has-black-background-color h1, .has-black-background-color h2, .has-black-background-color h3 {
	color: #ffffff !important;
}

.current-issue-box a,
.journal-current-issue a,
.wp-block-cover a,
.has-black-background-color a {
	color: #31BFF0 !important;
	border-bottom-color: #31BFF0 !important;
}
.current-issue-box a:hover,
.journal-current-issue a:hover,
.wp-block-cover a:hover,
.has-black-background-color a:hover {
	color: #ffffff !important;
	border-bottom-color: #ffffff !important;
}

/* Explicit Override for .bdld-page .issue-card (Replaces var(--color-ink) black background) */
.bdld-page .issue-card,
.issue-card {
	background: #011F5B !important;
	background-color: #011F5B !important;
	color: #ffffff !important;
	border-radius: 10px;
}
.bdld-page .issue-card *,
.issue-card * {
	color: #ffffff !important;
}
.bdld-page .issue-card p,
.issue-card p {
	color: #e2e8f0 !important;
}
.bdld-page .issue-card a,
.issue-card a {
	color: #31BFF0 !important;
	border-bottom-color: #31BFF0 !important;
}
.bdld-page .issue-card a:hover,
.issue-card a:hover {
	color: #ffffff !important;
	border-bottom-color: #ffffff !important;
}

/* ==========================================================================
   Modern Academic Navigation Bar (Yale Law Journal / HeinOnline Style)
   High-specificity rules to prevent generic theme a:hover grey overrides
   ========================================================================== */
.site-main .bdld-scholarly-nav,
.bdld-scholarly-nav {
	margin-top: 28px !important;
	margin-bottom: 20px !important;
	padding-top: 4px;
	padding-bottom: 0;
}

/* Reduced Top Spacing for Blog Post Breadcrumbs */
.single-post .site-main {
	padding-top: 0 !important;
}

.site-main .bdld-scholarly-nav.bdld-blog-nav,
.bdld-scholarly-nav.bdld-blog-nav,
.single-post .bdld-scholarly-nav {
	margin-top: 14px !important;
	padding-top: 0 !important;
}

.site-main .bdld-scholarly-nav .bdld-scholarly-meta-bar,
.bdld-scholarly-meta-bar {
	font-family: var(--bdld-font-main, 'Source Sans 3', sans-serif);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #011F5B !important;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 6px;
}

.site-main .bdld-scholarly-nav .bdld-scholarly-meta-bar a,
.bdld-scholarly-meta-bar a {
	color: #011F5B !important;
	text-decoration: none !important;
	border-bottom: 2px solid transparent !important;
	transition: border-color 0.2s ease, color 0.2s ease, text-decoration-color 0.2s ease, background 0.2s ease;
	display: inline-block;
	padding-bottom: 1px;
	opacity: 1 !important;
}

/* Hover state for academic meta-bar text links: Single crisp Penn Red underline */
.site-main .bdld-scholarly-nav .bdld-scholarly-meta-bar a:not(.bdld-blog-badge):hover,
.site-main .bdld-scholarly-nav .bdld-scholarly-meta-bar a:not(.bdld-blog-badge):focus,
.bdld-scholarly-meta-bar a:not(.bdld-blog-badge):hover,
.bdld-scholarly-meta-bar a:not(.bdld-blog-badge):focus {
	color: #991B1F !important; /* Penn Red text */
	border-bottom: 2px solid #991B1F !important; /* Single solid Penn Red underline */
	text-decoration: none !important;
	background-color: transparent !important;
	background: none !important;
	opacity: 1 !important;
}

.site-main .bdld-scholarly-nav .bdld-meta-sep,
.bdld-meta-sep {
	color: #991B1F !important;
	font-weight: 700 !important;
}

.site-main .bdld-scholarly-nav .bdld-scholarly-back-link,
.bdld-scholarly-back-link {
	font-size: 0.85rem;
	margin-top: 4px;
	margin-bottom: 14px;
}

.site-main .bdld-scholarly-nav .bdld-scholarly-back-link a,
.bdld-scholarly-back-link a {
	color: #475569 !important;
	text-decoration: none !important;
	border-bottom: 1px solid transparent !important;
	font-weight: 500;
	transition: color 0.2s ease, border-color 0.2s ease;
	display: inline-block;
	padding-bottom: 1px;
	opacity: 1 !important;
}

.site-main .bdld-scholarly-nav .bdld-scholarly-back-link a:hover,
.site-main .bdld-scholarly-nav .bdld-scholarly-back-link a:focus,
.bdld-scholarly-back-link a:hover,
.bdld-scholarly-back-link a:focus {
	color: #991B1F !important; /* Penn Red text */
	border-bottom: 1px solid #991B1F !important;
	text-decoration: none !important;
	background-color: transparent !important;
	background: none !important;
	opacity: 1 !important;
}

/* Single Breadcrumb Badge (e.g. for Policy Pages & Journal children) */
.site-main .bdld-scholarly-nav .bdld-scholarly-meta-bar a.bdld-single-badge,
.bdld-scholarly-meta-bar a.bdld-single-badge {
	background: #EEF4FB !important;
	color: #011F5B !important;
	padding: 6px 14px 5px !important;
	border-radius: 4px;
	border: 1px solid rgba(1, 31, 91, 0.1) !important;
	font-weight: 700;
	letter-spacing: 0.1em;
	transition: all 0.2s ease;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-bottom: 1px solid rgba(1, 31, 91, 0.1) !important;
	line-height: 1;
}

.site-main .bdld-scholarly-nav .bdld-scholarly-meta-bar a.bdld-single-badge:hover,
.site-main .bdld-scholarly-nav .bdld-scholarly-meta-bar a.bdld-single-badge:focus,
.bdld-scholarly-meta-bar a.bdld-single-badge:hover,
.bdld-scholarly-meta-bar a.bdld-single-badge:focus {
	background: #011F5B !important;
	color: #ffffff !important;
	border-color: #011F5B !important;
	border-bottom: 1px solid #011F5B !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(1, 31, 91, 0.15);
	text-decoration: none !important;
}

/* Category Badge for Blog Posts - High Contrast Navy & White - NEVER GREY */
.site-main .bdld-scholarly-nav .bdld-blog-badge-list,
.bdld-blog-badge-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 14px;
}

.site-main .bdld-scholarly-nav a.bdld-blog-badge,
.bdld-scholarly-nav a.bdld-blog-badge,
a.bdld-blog-badge,
.bdld-blog-badge {
	display: inline-block !important;
	background-color: #EEF4FB !important;
	background: #EEF4FB !important;
	color: #011F5B !important;
	font-size: 0.75rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	padding: 5px 12px !important;
	border-radius: 4px !important;
	border-bottom: none !important;
	text-decoration: none !important;
	transition: background 0.2s ease, color 0.2s ease !important;
	opacity: 1 !important;
	line-height: 1.2 !important;
}

.site-main .bdld-scholarly-nav a.bdld-blog-badge:hover,
.site-main .bdld-scholarly-nav a.bdld-blog-badge:focus,
.bdld-scholarly-nav a.bdld-blog-badge:hover,
.bdld-scholarly-nav a.bdld-blog-badge:focus,
a.bdld-blog-badge:hover,
a.bdld-blog-badge:focus,
.bdld-blog-badge:hover,
.bdld-blog-badge:focus {
	background-color: #011F5B !important;
	background: #011F5B !important;
	color: #ffffff !important; /* Crisp White text on Penn Navy background - NEVER GREY */
	border-bottom: none !important;
	text-decoration: none !important;
	opacity: 1 !important;
}

/* Standard Academic Post Meta Styling */
.bdld-academic-post-meta {
	font-family: var(--bdld-font-main, 'Source Sans 3', sans-serif);
	font-size: 0.9rem !important;
	color: #64748b !important;
	margin-top: 10px;
	margin-bottom: 25px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	line-height: 1.5;
}

.bdld-academic-post-meta a {
	color: #31BFF0 !important;
	text-decoration: none !important;
	border-bottom: 1px solid transparent !important;
	font-weight: 500;
	transition: color 0.2s ease, border-color 0.2s ease;
}

.bdld-academic-post-meta .post-author {
	color: #334155 !important;
}

.bdld-academic-post-meta .post-author a {
	font-weight: 600 !important; /* Bold author name */
	color: #991B1F !important;   /* Penn Red author link */
	transition: color 0.2s ease, border-color 0.2s ease;
}

.bdld-academic-post-meta .post-author a:hover {
	color: #011F5B !important;   /* Penn Navy on hover */
	border-bottom: 1px solid #011F5B !important;
}

.bdld-academic-post-meta a:hover {
	color: #31BFF0 !important;
	border-bottom: 1px solid #31BFF0 !important;
}

.bdld-academic-post-meta .meta-sep {
	color: #94a3b8;
	font-weight: 700;
	user-select: none;
}

/* ==========================================================================
   Static Page Top Spacing Fix
   Standardizes header-to-content distance and eliminates oversized top gaps
   ========================================================================== */
.site-main {
	padding-top: 24px;
	padding-bottom: 40px;
}

.page .site-main {
	padding-top: 15px !important;
}

.page .site-main > article > .entry-title:first-child,
.page .site-main > article > .entry-content > *:first-child,
.page .site-main .wp-block-cover:first-child,
.page .site-main .wp-block-group:first-child,
.page .site-main .masthead,
.page .entry-content > .container:first-child,
.page .entry-content > .masthead:first-child,
.masthead {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.page .bdld-scholarly-nav {
	margin-top: 28px !important; /* Give breadcrumbs a bit of breathing room below the header */
	margin-bottom: 0 !important; /* Force zero gap below breadcrumbs */
	padding-bottom: 0 !important;
}

/* Eliminate Gap Between Breadcrumbs and Page Content Stack */
.page:has(.bdld-scholarly-nav) .site-main,
.page:has(.bdld-scholarly-nav) article,
.page:has(.bdld-scholarly-nav) .entry-content,
.page:has(.bdld-scholarly-nav) .entry-content > .bdld-page,
.page:has(.bdld-scholarly-nav) .entry-content > .container,
.page:has(.bdld-scholarly-nav) .entry-content > .masthead,
.page .bdld-scholarly-nav + article,
.page .bdld-scholarly-nav + article > .entry-content,
.page .bdld-scholarly-nav + article > .entry-content > * {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* Auto-center Breadcrumbs for Policy & Centered Pages */
.page:has(.masthead) .bdld-scholarly-meta-bar,
.page:has(.bdld-page) .bdld-scholarly-meta-bar,
.page:has(.top-rule) .bdld-scholarly-meta-bar,
.page:has(.has-text-align-center) .bdld-scholarly-meta-bar {
	justify-content: center !important;
}

/* Fix invisible WordPress wpautop <p> or <br> tags creating ghost gaps */
.page .entry-content > p:first-child:empty,
.page .entry-content > p:empty,
.page .entry-content > br {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Explicit zero top padding when bdld-page, top-rule, masthead, or policy container is present */
.page .site-main:has(.bdld-page),
.page .site-main:has(.top-rule),
.page .site-main:has(.masthead),
.page .site-main:has(.entry-content > .container),
.page .site-main:has(.entry-content > .masthead) {
	padding-top: 0 !important;
}

.page .bdld-page,
.page .entry-content > .bdld-page,
.page .top-rule,
.page .top-rule-gold,
.page .entry-content > .bdld-page > *:first-child,
.page .site-main > article > .entry-content > *:first-child {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* Eliminate big gap between Page Title (when Title ON) and Page Content */
.page .entry-title {
	margin-top: 0 !important;
	margin-bottom: 12px !important;
	padding-bottom: 0 !important;
}

.page .entry-title + .entry-content,
.page .entry-title + .entry-content > *:first-child {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* When Page Title is HIDDEN, ensure Main Content replaces it seamlessly */
.page article > .entry-content:first-child,
.page article > .entry-content:first-child > *:first-child {
	margin-top: 0 !important;
	padding-top: 0 !important;
}
/* ==========================================================================
   Journal Article Global Components & Layout
   ========================================================================== */

body.single-journal_article .site-main {
	padding-top: 15px !important;
}
body.single-journal_article .site-main > article {
	max-width: 1024px !important;
	margin: 0 auto;
	padding-top: 0 !important;
}

/* 1. Title and Headings */
.bdld-large-title {
	font-weight: 800 !important;
	font-size: 40px !important;
	line-height: 1.1 !important;
	margin-bottom: 20px !important;
	color: var(--bdld-navy, #011F5B);
}
@media (max-width: 768px) {
	.bdld-large-title {
		font-size: 32px !important;
	}
}

.single-journal_article .bdld-article-wrap h2,
.single-journal_article .entry-content h2,
.single-journal_article .bdld-article-content h2 {
	font-size: 28px !important;
	line-height: 1.2 !important;
	margin-top: 40px;
	margin-bottom: 20px;
}

/* 2. Breadcrumbs & Meta Bar */
.journal-breadcrumb {
	font-size: 14px;
	color: #555;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-top: 0 !important;
	margin-bottom: 18px !important;
	padding-top: 0 !important;
	display: block;
}
.journal-breadcrumb a {
	margin-top: 0 !important;
	display: inline-block;
	color: var(--bdld-navy, #011F5B);
	text-decoration: none;
}
.bdld-academic-post-meta.journal-meta-bar {
	font-size: 14px !important;
	line-height: 1.4 !important;
}
.journal-stats-bar {
	font-size: 14px;
	line-height: 1.4;
	color: #888888;
	margin-bottom: 10px;
	font-weight: 500;
}
.journal-stats-bar .meta-sep {
	margin: 0 8px;
}
.journal-keywords-bar {
	font-size: 14px;
	line-height: 1.4;
	color: #333;
	margin-bottom: 25px;
}
.journal-keywords-bar strong {
	color: var(--bdld-navy, #011F5B);
}

/* 3. Abstract Box */
.journal-abstract-box {
	background: #F8FAFC;
	border-left: 4px solid var(--bdld-navy, #011F5B);
	padding: 25px;
	margin: 30px 0;
	font-size: 16px;
	line-height: 1.55;
}
.journal-abstract-box h2 {
	font-size: 20px;
	line-height: 1.3;
	color: var(--bdld-navy, #011F5B);
	margin-top: 0;
	margin-bottom: 15px;
	text-transform: uppercase;
	letter-spacing: 1px;
}

/* 4. Author Box */
.bdld-author-box.journal-author-box {
	background: #ffffff;
	border: 1px solid #eaeaea;
	border-left: 4px solid var(--bdld-accent-red, #991B1F);
	padding: 20px 25px;
	margin-bottom: 20px !important;
}
.bdld-author-box.journal-author-box + .entry-content {
	border-top: 1px solid rgba(1, 31, 91, 0.15) !important;
	margin-top: 20px !important;
	padding-top: 20px !important;
}
.bdld-author-box.journal-author-box + .entry-content > .bdld-article-wrap,
.bdld-author-box.journal-author-box + .entry-content > .bdld-article-wrap > *:first-child {
	margin-top: 0 !important;
	padding-top: 0 !important;
}
.bdld-author-box.journal-author-box > h3 {
	font-size: 1.1rem;
	color: var(--bdld-accent-red, #991B1F);
	margin-top: 0;
	margin-bottom: 15px;
	text-transform: uppercase;
	letter-spacing: 1px;
}
.journal-author-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 30px;
	margin-top: 20px;
}
.author-repeater-row, .author-single-fallback {
	font-size: 15px;
	color: #333;
	line-height: 1.5;
}
.author-repeater-row strong, .author-single-fallback strong {
	font-size: 16px;
}
.author-repeater-row strong a {
	color: inherit;
	text-decoration: none;
}
.author-repeater-row .author-affiliation, .author-single-fallback .author-affiliation {
	color: #666;
	font-size: 14px;
	line-height: 1.4;
	display: inline-block;
	margin-top: 2px;
}
.author-repeater-row p, .author-single-fallback p {
	margin-top: 8px;
	margin-bottom: 0;
	font-size: 15px;
	color: #444;
	line-height: 1.5;
}
.author-repeater-row .author-orcid, .author-single-fallback .author-orcid {
	color: var(--bdld-navy, #011F5B);
	text-decoration: none;
	font-size: 14px;
	line-height: 1.4;
	margin-top: 10px;
	display: inline-block;
	font-weight: 500;
}

/* 5. Cite / OSCOLA Box */
.journal-cite-box {
	margin: 40px 0 20px 0;
	padding: 24px;
	background: #f8fafc;
	border-radius: 8px;
	border: 1px solid #e2e8f0;
	border-left: 4px solid var(--bdld-navy, #011F5B);
}
.journal-cite-box-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 16px;
	flex-wrap: wrap;
	gap: 12px;
}
.journal-cite-box-header h4 {
	margin: 0 0 4px 0;
	font-size: 1.15rem;
	color: var(--bdld-navy, #011F5B);
	font-weight: bold;
	font-family: 'Source Sans 3', sans-serif;
}
.journal-cite-btn {
	background: var(--bdld-navy, #011F5B);
	color: #fff;
	border: none;
	padding: 8px 16px;
	border-radius: 6px;
	font-size: 0.85rem;
	font-weight: 600;
	cursor: pointer;
}
.journal-oscola-label {
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 10px;
	color: #555;
}
.journal-oscola-content {
	margin-bottom: 20px;
	font-size: 15px;
	line-height: 1.6;
}

/* 6. Bottom Tags */
.journal-bottom-tags {
	font-size: 0.85rem;
	color: #666;
	margin-top: 25px;
	padding-top: 15px;
	border-top: 1px solid #eaeaea;
}
.journal-bottom-tags a {
	color: var(--bdld-navy, #011F5B);
	text-decoration: none;
}

/* 7. Journal Sidenote specific layout constraints */
.bdld-footnotes .sidenote-number, .bdld-footnotes .sidenotes-subheading { display: none !important; }
.bdld-footnotes .sidenote-text, .bdld-footnotes .sidenote-text p { display: inline !important; }

.single-journal_article .bdld-article-wrap > .bdld-footnotes li::before {
	font-weight: 700 !important;
	margin-right: 8px !important;
	display: inline-block !important;
}

@media (min-width: 1140px) {
	.single-journal_article .bdld-article-wrap:has(> .bdld-footnotes) {
		max-width: 1024px !important;
		padding-left: 14px !important;
		padding-right: 210px !important;
	}
	.single-journal_article .bdld-article-wrap > .bdld-footnotes {
		right: 0 !important;
		width: 190px !important;
	}
}
/* ==========================================================================
   Blog Single Post Components (Extracted from single.php)
   ========================================================================== */

/* Citation Box */
.blog-citation-box {
    margin: 40px 0 20px 0;
    padding: 24px;
    background: #f8fafc;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    border-left: 4px solid var(--bdld-navy, #011F5B);
}
.blog-citation-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
    flex-wrap: wrap;
    gap: 12px;
}
.blog-citation-title {
    margin: 0 0 4px 0;
    font-size: 1.15rem;
    color: var(--bdld-navy, #011F5B);
    font-weight: bold;
    font-family: 'Source Sans 3', sans-serif;
}
.blog-citation-subtitle {
    font-size: 0.8rem;
    color: #64748b;
}
.blog-copy-btn {
    background: var(--bdld-navy, #011F5B);
    color: #fff;
    border: none;
    padding: 8px 16px;
    border-radius: 6px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: var(--bdld-font-main, 'Source Sans 3', sans-serif);
    transition: all 0.2s ease;
}
.blog-copy-btn:hover {
    background: #31BFF0 !important;
}
.citation-format-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 14px;
    flex-wrap: wrap;
}
.cite-tab-btn {
    background: #ffffff;
    color: #475569;
    border: 1px solid #cbd5e1;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}
.cite-tab-btn.active {
    background: var(--bdld-navy, #011F5B) !important;
    color: #ffffff !important;
    border-color: var(--bdld-navy, #011F5B) !important;
}
.blog-citation-text-box,
.blog-citation-text-box p {
    margin: 0;
    padding: 16px 20px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #1e293b;
    font-family: var(--bdld-font-main, 'Source Sans 3', sans-serif);
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.02);
}
.blog-citation-text-box p {
    padding: 0;
    border: none;
    background: transparent;
    box-shadow: none;
    margin-bottom: 10px;
}
.blog-citation-text-box p:last-child {
    margin-bottom: 0;
}

/* Sidebar Notes */
.sidebar-notes-title {
    font-size: 1.1rem;
    border-bottom: 1px solid #BDD4EE;
    padding-bottom: 8px;
    color: var(--bdld-navy, #011F5B);
}

/* Author Box & Content End Metadata */
.author-title {
    margin-top: 0;
    margin-bottom: 8px;
    font-size: 1.25rem;
    color: var(--bdld-navy, #011F5B);
    font-weight: bold;
}
.author-title a {
    text-decoration: none;
    color: inherit;
}
.author-divider {
    height: 1px;
    background: linear-gradient(90deg, rgba(1,31,91,0) 0%, rgba(1,31,91,0.1) 50%, rgba(1,31,91,0) 100%);
    width: 100%;
    margin: 5px 0;
}
.legal-notice-title {
    margin-top: 0;
    margin-bottom: 12px;
    font-size: 1.1rem;
    color: var(--bdld-navy, #011F5B);
    font-weight: bold;
    font-family: 'Source Sans 3', sans-serif;
    border-bottom: 1px solid #f0f0f2;
    padding-bottom: 10px;
}

/* Tabs */
.single-post-tabs-container {
    margin-top: 50px;
}
.tab-buttons-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    border-bottom: 1px solid #eaeaea;
    margin-bottom: 30px;
}
.tab-btn {
    padding: 10px 0;
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    cursor: pointer;
    font-weight: bold;
    font-size: 1.1rem;
    color: #555;
}
.tab-btn.active {
    border-bottom-color: var(--bdld-navy, #011F5B);
    color: var(--bdld-navy, #011F5B);
}

/* Author Cards Grid & Pagination */
.js-author-loader-overlay {
    background: rgba(255,255,255,0.7);
    border-radius: 8px;
    display: none;
    position: absolute;
    inset: 0;
    z-index: 10;
    justify-content: center;
    align-items: center;
}
.author-pagination-wrap {
    text-align: center;
    margin-top: 30px;
    font-size: 1.2rem;
    display: flex;
    justify-content: center;
    gap: 10px;
}
.js-author-prev, .js-author-next {
    background: #f5f5f5;
    text-decoration: none;
    padding: 6px 16px;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    transition: all 0.2s;
    font-weight: bold;
}
.js-author-prev:disabled, .js-author-next:disabled {
    color: #aaa;
    cursor: not-allowed;
}
.js-author-prev:not(:disabled), .js-author-next:not(:disabled) {
    color: #333;
    cursor: pointer;
}
.js-author-prev:not(:disabled):hover, .js-author-next:not(:disabled):hover {
    background: #e0e0e0;
}
.author-simple-card-title {
    margin-top: 10px;
    font-size: 1rem;
    line-height: 1.3;
}
/* ==========================================================================
   Journal Keyword Archive Components
   ========================================================================== */

.journal-keyword-archive-main { background: #f8fafc; padding: 24px 0 60px; }
.journal-keyword-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.journal-keyword-header { margin-bottom: 2.5rem; border-bottom: 2px solid var(--bdld-navy, #011F5B); padding-bottom: 1.5rem; }
.journal-keyword-badge { display: inline-block; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--bdld-accent-red, #991B1F); margin-bottom: 0.5rem; }
.journal-keyword-title { font-size: 2.25rem; font-weight: 700; margin: 0 0 0.75rem 0; color: var(--bdld-navy, #011F5B); line-height: 1.2; font-family: 'Source Sans 3', sans-serif; }
.journal-keyword-desc { font-size: 1.05rem; line-height: 1.6; color: #444; max-width: 800px; margin-bottom: 1rem; }
.journal-keyword-stats { font-size: 0.875rem; color: #666; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; margin: 0; }
.journal-keyword-articles-list { display: flex; flex-direction: column; gap: 2rem; }
.journal-keyword-pagination { margin-top: 3rem; }
.journal-keyword-empty { font-size: 1.1rem; color: #666; font-style: italic; margin-top: 2rem; }

.journal-keyword-subhead {
	display: flex; align-items: baseline; gap: 8px;
	font-family: 'Source Sans 3', sans-serif; font-size: 1.05rem; font-weight: 700;
	text-transform: uppercase; letter-spacing: 0.08em; color: var(--bdld-navy, #011F5B);
	margin: 0 0 1.25rem 0; padding-bottom: 0.5rem; border-bottom: 1px solid #d0dcea;
	scroll-margin-top: 88px;
}
.journal-keyword-subhead__count { font-weight: 600; color: #666; letter-spacing: 0.03em; }
.journal-keyword-subhead--analysis { margin-top: 3.5rem; }
.journal-keyword-analysis-list { display: flex; flex-direction: column; gap: 2rem; }
.journal-keyword-analysis-viewall {
	font-family: 'Source Sans 3', sans-serif; font-size: 0.875rem; font-weight: 700; margin-top: 1.5rem;
}
.journal-keyword-analysis-viewall a { color: var(--bdld-navy, #011F5B); text-decoration: none; border-bottom: 1px solid transparent; }
.journal-keyword-analysis-viewall a:hover { color: #991B1F; border-bottom-color: #991B1F; }

/* Override highlight box typography to prevent inheriting massive blog body sizes */
.bdld-highlight-box,
.bdld-highlight-box p,
.bdld-highlight-box ul,
.bdld-highlight-box ol,
.bdld-highlight-box li {
    font-size: 16px !important;
    line-height: 1.6 !important;
}

/* INCREASED SPECIFICITY: Override highlight box typography to prevent inheriting massive blog body sizes */
.single-post .entry-content .bdld-highlight-box,
.single-post .entry-content .bdld-highlight-box p,
.single-post .entry-content .bdld-highlight-box ul,
.single-post .entry-content .bdld-highlight-box ol,
.single-post .entry-content .bdld-highlight-box li {
    font-size: 16px !important;
    line-height: 1.5 !important;
}
/* ==========================================================================
   Journal Article - Related Articles Section
   ========================================================================== */
.journal-related-section { margin-top: 60px; padding-top: 40px; border-top: 2px solid #eaeaea; }
.journal-related-section-title { font-size: 1.5rem; color: var(--bdld-navy, #011F5B); font-weight: 700; margin-bottom: 30px; text-transform: uppercase; letter-spacing: 1px; }
.journal-related-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
@media (max-width: 768px) { .journal-related-grid { grid-template-columns: 1fr; } }

.journal-related-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-left: 4px solid var(--bdld-navy, #011F5B);
    border-radius: 6px;
    padding: 24px;
    transition: all 0.2s ease;
    display: flex;
    flex-direction: column;
}
.journal-related-card:hover {
    border-color: var(--bdld-navy, #011F5B);
    box-shadow: 0 4px 12px rgba(1, 31, 91, 0.08);
    transform: translateY(-2px);
}
.journal-related-card-badge { font-size: 0.75rem; color: #64748b; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 12px; }
.journal-related-card-title { font-size: 1.15rem; line-height: 1.4; font-weight: 700; margin: 0 0 10px 0; }
.journal-related-card-title a { color: var(--bdld-navy, #011F5B); text-decoration: none; transition: color 0.2s ease; }
.journal-related-card-title a:hover { color: var(--bdld-accent-red, #991B1F); }
.journal-related-card-author { font-size: 0.95rem; color: #64748b; margin-bottom: 16px; font-weight: 500; }
.journal-related-card-author a { color: #475569; text-decoration: none; transition: color 0.2s ease; font-weight: 600; }
.journal-related-card-author a:hover { color: var(--bdld-navy, #011F5B); text-decoration: underline; }
.journal-related-card-meta { font-size: 0.85rem; color: #475569; font-weight: 500; margin-bottom: 20px; text-transform: uppercase; letter-spacing: 0.5px; }
.journal-related-card-keywords { margin-top: auto; padding-top: 15px; border-top: 1px solid #f1f5f9; font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; }
.journal-related-card-keywords a { color: var(--bdld-accent-red, #991B1F); text-decoration: none; transition: opacity 0.2s; }
.journal-related-card-keywords a:hover { opacity: 0.7; }

/* 5. Scholarly Action Button */
.scholarly-action-btn {
    margin-top: 1.5rem;
}
.btn-read-article {
    display: inline-block;
    background-color: var(--bdld-navy, #011F5B);
    color: #ffffff !important;
    font-family: 'Source Sans 3', sans-serif;
    font-weight: 600;
    font-size: 0.95rem;
    padding: 10px 24px;
    border-radius: 4px;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
    border: none;
}
.btn-read-article:hover {
    background-color: var(--bdld-accent-red, #991B1F);
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(153, 27, 31, 0.2);
    transform: translateY(-1px);
    border-bottom: none !important;
}

/* Scholarly PDF Button */
.journal-pdf-button-wrap {
    margin: 15px 0 20px 0;
    display: block;
}
.bdld-scholarly-pdf-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background-color: var(--bdld-navy, #011F5B) !important;
    color: #ffffff !important;
    font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
    font-weight: 600;
    font-size: 0.82rem;
    padding: 7px 16px;
    border-radius: 3px;
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1;
    transition: background-color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    border: none !important;
    outline: none;
}
.bdld-scholarly-pdf-btn:hover,
.bdld-scholarly-pdf-btn:focus,
.bdld-scholarly-pdf-btn:active {
    background-color: var(--bdld-accent-red, #991B1F) !important;
    color: #ffffff !important;
    transform: translateY(-1px);
    box-shadow: 0 3px 8px rgba(153, 27, 31, 0.25);
    border-bottom: none !important;
    text-decoration: none !important;
}
.bdld-scholarly-pdf-btn svg {
    display: inline-block;
    vertical-align: middle;
    stroke: #ffffff !important;
    color: #ffffff !important;
}

@media (min-width: 768px) {
	.bdld-sticky-action-rail {
		position: fixed;
		top: 120px;
		left: max(15px, calc((100vw - 1024px) / 2 - 50px));
		display: flex;
		flex-direction: column;
		gap: 6px;
		z-index: 999;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.3s ease, visibility 0.3s ease;
	}
	.bdld-sticky-action-rail.rail-active {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}
}

.bdld-sticky-action-rail .rail-btn {
	width: 36px !important;
	height: 36px !important;
	min-width: 36px !important;
	min-height: 36px !important;
	background-color: #ffffff !important;
	border: 1px solid #E5E7EB !important;
	border-radius: 6px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: #011F5B !important;
	cursor: pointer;
	text-decoration: none !important;
	position: relative;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
	box-shadow: 0 1px 3px rgba(0,0,0,0.04);
	padding: 0 !important;
	margin: 0 !important;
	outline: none;
}

.bdld-sticky-action-rail .rail-btn svg {
	stroke: currentColor;
	fill: none;
}
.bdld-sticky-action-rail .rail-btn.share-btn svg {
	fill: currentColor;
	stroke: none;
}

/* Hover: Navy background + White icon */
.bdld-sticky-action-rail .rail-btn:hover {
	background-color: #011F5B !important;
	color: #ffffff !important;
	border-color: #011F5B !important;
	transform: translateY(-2px);
	box-shadow: 0 4px 10px rgba(1, 31, 91, 0.2);
}

/* PDF Button: Turns Penn Red (#991B1F) on Hover */
.bdld-sticky-action-rail .rail-btn.pdf-btn:hover {
	background-color: #991B1F !important;
	color: #ffffff !important;
	border-color: #991B1F !important;
	transform: translateY(-2px);
	box-shadow: 0 4px 10px rgba(153, 27, 31, 0.3);
}

/* Tooltips */
.bdld-sticky-action-rail .rail-btn[data-tooltip]::after {
	content: attr(data-tooltip);
	position: absolute;
	left: 100%;
	top: 50%;
	transform: translateY(-50%);
	margin-left: 10px;
	background: #011F5B;
	color: #ffffff;
	font-family: 'Source Sans 3', sans-serif;
	font-size: 12px;
	font-weight: 600;
	white-space: nowrap;
	padding: 5px 10px;
	border-radius: 4px;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.2s ease, visibility 0.2s ease;
	pointer-events: none;
	box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

.bdld-sticky-action-rail .rail-btn[data-tooltip]:hover::after {
	opacity: 1;
	visibility: visible;
}

/* Mobile Behavior (<768px): Horizontal Action Row directly before Citation Box */
@media (max-width: 767px) {
	.bdld-sticky-action-rail {
		position: static !important;
		display: flex !important;
		flex-direction: row !important;
		justify-content: center !important;
		margin: 25px 0 15px 0 !important;
		gap: 14px !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
	}
	.bdld-sticky-action-rail .rail-btn[data-tooltip]::after {
		display: none !important;
	}
}

/* BDLD Academic Search Overlay */
@keyframes bdld_slideDown { from { transform: translateY(-20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
.close-search-overlay:hover { background: #fee2e2 !important; color: #ef4444 !important; }

/* Continue Your Legal Research CTA (single blog posts) */
.bdld-continue-cta {
	background: #EEF4FB;
	margin: 40px 0 0;
	padding: 32px 24px;
	border-radius: 6px;
}
.bdld-continue-cta__title {
	margin: 0 0 8px;
	font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
	font-size: 1.4rem;
	font-weight: 700;
	color: #011F5B;
}
.bdld-continue-cta__text {
	margin: 0 0 20px;
	font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
	font-size: 0.95rem;
	line-height: 1.6;
	color: #475569;
}
.bdld-continue-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
.bdld-continue-cta__btn {
	display: inline-block;
	padding: 10px 22px;
	border-radius: 4px;
	font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
	font-size: 0.9rem;
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}
.bdld-continue-cta__btn--primary {
	background: #011F5B;
	color: #ffffff;
	border: 2px solid #011F5B;
}
.bdld-continue-cta__btn--primary:hover {
	background-color: #31BFF0 !important;
	border-color: #31BFF0 !important;
	color: #ffffff !important;
}
.bdld-continue-cta__btn--outline {
	background: transparent;
	color: #011F5B;
	border: 2px solid #011F5B;
}
.bdld-continue-cta__btn--outline:hover {
	background-color: #011F5B !important;
	border-color: #011F5B !important;
	color: #ffffff !important;
}
@media (max-width: 480px) {
	.bdld-continue-cta__actions {
		flex-direction: column;
	}
	.bdld-continue-cta__btn {
		text-align: center;
	}
}

/* Related Research (journal article pages) */
.bdld-related-research {
	margin: 50px 0 0;
	padding-top: 34px;
	border-top: 2px solid #011F5B;
}
.bdld-related-research__heading {
	display: flex;
	align-items: baseline;
	gap: 18px;
}
.bdld-related-research__title {
	margin: 0;
	font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
	font-size: 1.55rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: #011F5B;
	white-space: nowrap;
}
.bdld-related-research__rule {
	flex: 1;
	height: 1px;
	background: linear-gradient(90deg, rgba(1, 31, 91, 0.28), rgba(1, 31, 91, 0.04));
}
.bdld-related-research__subtitle {
	margin: 6px 0 26px;
	font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
	font-size: 0.92rem;
	color: #475569;
}
.bdld-related-research__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: 22px;
}
.bdld-related-research__card {
	position: relative;
	background: #ffffff;
	border: 1px solid #E2E8F0;
	border-radius: 10px;
	padding: 24px 22px 20px;
	display: flex;
	flex-direction: column;
	gap: 9px;
	text-align: justify;
	-webkit-hyphens: auto;
	hyphens: auto;
	box-shadow: 0 1px 3px rgba(1, 31, 91, 0.05);
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.bdld-related-research__card::before {
	content: '';
	position: absolute;
	top: -1px;
	left: 22px;
	right: 22px;
	height: 3px;
	border-radius: 0 0 3px 3px;
	background: linear-gradient(90deg, #011F5B, #31BFF0);
}
.bdld-related-research__card:hover {
	transform: translateY(-3px);
	border-color: #CBD5E1;
	box-shadow: 0 14px 30px rgba(1, 31, 91, 0.12);
}
.bdld-related-research__card-title {
	margin: 0;
	font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.38;
}
.bdld-related-research__card-title a {
	color: #011F5B;
	border-bottom: none;
	transition: color 0.2s ease;
}
.bdld-related-research__card-title a:hover {
	color: #991B1F !important;
	border-bottom: none !important;
}
.bdld-related-research__authors {
	font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
	font-size: 0.85rem;
	font-weight: 600;
	color: #334155;
	line-height: 1.5;
}
.bdld-related-research__authors a {
	color: #991B1F;
	border-bottom: none;
	transition: color 0.2s ease;
}
.bdld-related-research__authors a:hover {
	color: #011F5B !important;
	border-bottom: none !important;
}
.bdld-related-research__cite {
	font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
	font-size: 0.8rem;
	letter-spacing: 0.02em;
	color: #64748B;
}
.bdld-related-research__keywords {
	font-size: 0.78rem;
	color: #6E6E6E;
	letter-spacing: 0.06em;
	display: block;
	text-align: left;
	margin-top: 6px;
}
.bdld-related-research__keywords a {
	position: relative;
	z-index: 2;
	color: #555555;
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: border-color 0.2s ease, color 0.2s ease;
}
.bdld-related-research__keywords a:hover {
	color: #991B1F !important;
	background-color: transparent !important;
	border-bottom: 1px solid #991B1F !important;
}
.bdld-related-research__read {
	margin-top: auto;
	padding-top: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
	font-size: 0.82rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: #011F5B;
	text-decoration: none;
	border-bottom: none;
	transition: color 0.2s ease;
}
.bdld-related-research__read-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #EEF4FB;
	color: #011F5B;
	font-size: 0.95rem;
	line-height: 1;
	transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.bdld-related-research__read:hover {
	color: #991B1F !important;
	border-bottom: none !important;
}
.bdld-related-research__read:hover .bdld-related-research__read-arrow {
	background: #991B1F;
	color: #ffffff;
	transform: translateX(2px);
}
@media (max-width: 480px) {
	.bdld-related-research__grid {
		grid-template-columns: 1fr;
	}
}

/* More by This Author (journal article pages) */
.bdld-more-author {
	margin: 50px 0 0;
	padding-top: 34px;
	border-top: 2px solid #011F5B;
}
.bdld-more-author__block + .bdld-more-author__block {
	margin-top: 34px;
	padding-top: 30px;
	border-top: 1px solid #E2E8F0;
}
.bdld-more-author__heading {
	display: flex;
	align-items: baseline;
	gap: 18px;
	margin-bottom: 18px;
}
.bdld-more-author__title {
	margin: 0;
	font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
	font-size: 1.55rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: #011F5B;
	white-space: nowrap;
}
.bdld-more-author__rule {
	flex: 1;
	height: 1px;
	background: linear-gradient(90deg, rgba(1, 31, 91, 0.28), rgba(1, 31, 91, 0.04));
}
.bdld-more-author__count {
	font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: #991B1F;
	white-space: nowrap;
}
.bdld-more-author__list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.bdld-more-author__item {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 14px 2px;
	border-bottom: 1px solid #EEF2F7;
}
.bdld-more-author__link {
	font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.4;
	color: #011F5B;
	text-decoration: none;
	border-bottom: none;
	transition: color 0.2s ease;
}
.bdld-more-author__link:hover {
	color: #991B1F !important;
	border-bottom: none !important;
}
.bdld-more-author__cite {
	font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
	font-size: 0.8rem;
	letter-spacing: 0.02em;
	color: #64748B;
}
.bdld-more-author__profile {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 22px;
	padding: 10px 24px;
	border-radius: 999px;
	border: 2px solid #011F5B;
	background: transparent;
	color: #011F5B;
	font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	border-bottom: 2px solid #011F5B;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.bdld-more-author__profile:hover {
	background-color: #011F5B !important;
	border-color: #011F5B !important;
	border-bottom-color: #011F5B !important;
	color: #ffffff !important;
	transform: translateY(-1px);
}
.bdld-more-author__profile-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #EEF4FB;
	color: #011F5B;
	font-size: 0.9rem;
	line-height: 1;
	transition: background-color 0.2s ease, color 0.2s ease;
}
.bdld-more-author__profile:hover .bdld-more-author__profile-arrow {
	background: #ffffff;
	color: #011F5B;
}
.bdld-more-author__profile:focus-visible {
	outline: 2px solid #31BFF0;
	outline-offset: 3px;
}
@media (max-width: 640px) {
	.bdld-more-author__heading {
		flex-wrap: wrap;
		gap: 8px;
	}
	.bdld-more-author__rule {
		display: none;
	}
	.bdld-more-author__profile {
		width: 100%;
		justify-content: center;
	}
}

/* Continue Exploring BDLD (journal article pages) */
.bdld-continue-explore {
	background: #EEF4FB;
	margin: 45px 0 0;
	padding: 40px 28px;
	border-radius: 12px;
	text-align: center;
}
.bdld-continue-explore__title {
	margin: 0 0 8px;
	font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
	font-size: 1.45rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: #011F5B;
}
.bdld-continue-explore__text {
	margin: 0 0 24px;
	font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
	font-size: 0.95rem;
	line-height: 1.6;
	color: #475569;
}
.bdld-continue-explore__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
}
.bdld-continue-explore__btn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 11px 24px;
	border-radius: 999px;
	font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	border-bottom: 2px solid transparent;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.bdld-continue-explore__btn:focus-visible {
	outline: 2px solid #31BFF0;
	outline-offset: 3px;
}
.bdld-continue-explore__btn--primary {
	background: #011F5B;
	color: #ffffff;
	border: 2px solid #011F5B;
	box-shadow: 0 4px 12px rgba(1, 31, 91, 0.18);
}
.bdld-continue-explore__btn--primary:hover {
	background-color: #31BFF0 !important;
	border-color: #31BFF0 !important;
	color: #ffffff !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(49, 191, 240, 0.3);
}
.bdld-continue-explore__btn--outline {
	background: transparent;
	color: #011F5B;
	border: 2px solid #011F5B;
}
.bdld-continue-explore__btn--outline:hover {
	background-color: #011F5B !important;
	border-color: #011F5B !important;
	color: #ffffff !important;
	transform: translateY(-1px);
}
@media (max-width: 480px) {
	.bdld-continue-explore__actions {
		flex-direction: column;
	}
	.bdld-continue-explore__btn {
		justify-content: center;
		text-align: center;
	}
}

/* ==========================================================================
   BDLD Glossary A-Z Directory (native fallback, /latin-law-terms)
   ========================================================================== */
.bdld-glossary {
	margin: 30px 0 0;
}
.bdld-glossary-empty {
	font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
	font-size: 1rem;
	color: #475569;
	font-style: italic;
	padding: 24px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
}
.bdld-glossary-nav {
	position: sticky;
	top: 60px;
	z-index: 40;
	background: #ffffff;
	padding: 10px 0 14px;
	margin-bottom: 24px;
	border-bottom: 2px solid #011F5B;
	box-shadow: 0 6px 12px -8px rgba(1, 31, 91, 0.15);
}
.bdld-glossary-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	justify-content: center;
}
.bdld-glossary-nav li {
	margin: 0;
}
.bdld-glossary-nav a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	height: 34px;
	padding: 0 8px;
	border-radius: 999px;
	border: 1px solid #CBD5E1;
	background: #F8FAFC;
	color: #011F5B;
	font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
	font-size: 0.85rem;
	font-weight: 700;
	text-decoration: none;
	border-bottom: none;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.bdld-glossary-nav a:hover,
.bdld-glossary-nav a.active {
	background: #011F5B !important;
	border-color: #011F5B !important;
	color: #ffffff !important;
}
.bdld-glossary-section {
	padding: 18px 0 8px;
}
.bdld-glossary-letter {
	display: flex;
	align-items: baseline;
	gap: 18px;
	margin: 0 0 6px;
	font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: #011F5B;
	scroll-margin-top: 130px;
}
.bdld-glossary-letter::after {
	content: '';
	flex: 1;
	height: 1px;
	background: linear-gradient(90deg, rgba(1, 31, 91, 0.28), rgba(1, 31, 91, 0.04));
}
.bdld-glossary-list {
	margin: 0;
	padding: 0;
}
.bdld-glossary-term {
	margin: 0;
	padding: 16px 0 6px;
	font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.35;
}
.bdld-glossary-term:first-child {
	padding-top: 12px;
}
.bdld-glossary-term a {
	color: #011F5B;
	text-decoration: none;
	border-bottom: none;
	transition: color 0.2s ease;
}
.bdld-glossary-term a:hover {
	color: #991B1F !important;
	border-bottom: none !important;
}
.bdld-glossary-desc {
	margin: 0 0 6px;
	padding-bottom: 16px;
	border-bottom: 1px solid #EEF2F7;
	font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
	font-size: 0.98rem;
	line-height: 1.7;
	color: #222222;
	text-align: justify;
}
.bdld-glossary-desc:last-child {
	border-bottom: none;
}
.bdld-glossary-desc p {
	margin: 0 0 10px;
	font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
	font-size: 0.98rem;
	line-height: 1.7;
	color: #222222;
}
.bdld-glossary-desc p:last-child {
	margin-bottom: 0;
}
@media (max-width: 640px) {
	.bdld-glossary-nav {
		top: 0;
		position: static;
		border-bottom: 1px solid #E2E8F0;
		box-shadow: none;
	}
}

/* ==========================================================================
   Glossary Page (page-glossary.php)
   ========================================================================== */
.bdld-glossary-page__header {
	text-align: center;
	padding: 48px 0 36px;
	border-bottom: 2px solid #011F5B;
	margin-bottom: 36px;
}
.bdld-glossary-page__title {
	margin: 0 0 12px;
	font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
	font-size: 2.25rem;
	font-weight: 700;
	color: #011F5B;
	letter-spacing: -0.01em;
	line-height: 1.2;
}
.bdld-glossary-page__desc {
	margin: 0;
	font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
	font-size: 1.05rem;
	color: #475569;
	line-height: 1.65;
	max-width: 680px;
	margin-left: auto;
	margin-right: auto;
}

/* Tabs */
.bdld-glossary-tabs {
	display: flex;
	justify-content: center;
	gap: 0;
	border-bottom: 2px solid #E2E8F0;
	margin-bottom: 0;
	position: sticky;
	top: 52px;
	z-index: 39;
	background: #ffffff;
}
.bdld-glossary-tabs__tab {
	flex: none;
	padding: 14px 28px;
	background: none;
	border: none;
	border-bottom: 3px solid transparent;
	margin-bottom: -2px;
	font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
	font-size: 0.88rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #64748B;
	cursor: pointer;
	transition: color 0.2s ease, border-color 0.2s ease;
}
.bdld-glossary-tabs__tab:hover {
	color: #011F5B;
}
.bdld-glossary-tabs__tab.is-active {
	color: #011F5B;
	border-bottom-color: #011F5B;
}
.bdld-glossary-tab-content[hidden] {
	display: none;
}

/* Page-level glossary overrides */
.bdld-glossary-page__header + .bdld-glossary-tabs {
	margin-top: 0;
}
@media (max-width: 640px) {
	.bdld-glossary-page__title {
		font-size: 1.65rem;
	}
	.bdld-glossary-page__header {
		padding: 32px 0 24px;
		margin-bottom: 24px;
	}
	.bdld-glossary-tabs {
		top: 0;
		position: static;
		overflow-x: auto;
		justify-content: flex-start;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	.bdld-glossary-tabs::-webkit-scrollbar {
		display: none;
	}
	.bdld-glossary-tabs__tab {
		padding: 12px 18px;
		font-size: 0.78rem;
		white-space: nowrap;
	}
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 100000;
	background: #011F5B;
	color: #ffffff;
	font-family: 'Source Sans 3', sans-serif;
	font-size: 0.95rem;
	font-weight: 600;
	padding: 12px 20px;
	border-radius: 0 0 4px 0;
	text-decoration: none;
}

.skip-link:focus {
	left: 0;
	clip: auto;
	width: auto;
	height: auto;
	overflow: visible;
}



/* ==========================================================================
   Consolidated styles → moved out of inline style="" attributes
   (header.php / footer.php, then template files in follow-up passes)
   ========================================================================== */

/* ---- Header ---- */
.site-header > .container {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	padding: 25px 20px;
	position: relative;
}

.site-header > .container .menu-toggle {
	background: transparent;
	border: 1px solid #ffffff;
	color: #ffffff;
	padding: 6px 10px;
	border-radius: 4px;
	cursor: pointer;
	align-items: center;
	gap: 6px;
	position: absolute;
	left: 20px;
}

.menu-row {
	background-color: #011F5B;
	border-bottom: 2px solid #991B1F;
	position: relative;
	z-index: 999;
	transition: box-shadow 0.3s ease;
}

.menu-row .container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
	min-height: 50px;
	flex-wrap: wrap;
}

.menu-row .menu-toggle {
	display: none;
	background: transparent;
	border: 1px solid #ffffff;
	color: #ffffff;
	padding: 4px 8px;
	border-radius: 4px;
	cursor: pointer;
	align-items: center;
	z-index: 2;
}

.sticky-mini-logo {
	display: none;
}

.sticky-mini-logo a {
	color: #ffffff;
	font-weight: 700;
	text-decoration: none;
	font-size: 1.2rem;
	display: flex;
	align-items: center;
}

.sticky-mini-logo img {
	max-height: 35px;
	width: auto;
	object-fit: contain;
}

.header-search-trigger {
	background: transparent;
	border: none;
	color: #ffffff;
	padding: 6px 12px;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 6px;
	font-weight: 600;
	font-size: 0.9rem;
	transition: color 0.2s;
	flex-shrink: 0;
}

.header-search-trigger:hover {
	color: #31BFF0;
}

.reading-progress-container {
	width: 100%;
	height: 3px;
	background: transparent;
	position: absolute;
	bottom: -2px;
	left: 0;
}

.reading-progress-bar {
	height: 100%;
	background: #31BFF0;
	width: 0%;
	border-top-right-radius: 3px;
	border-bottom-right-radius: 3px;
}

/* ---- Academic search overlay ---- */
.bdld-search-overlay {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(1, 31, 91, 0.88);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	z-index: 99999;
	justify-content: center;
	align-items: flex-start;
	padding-top: 10vh;
}

.overlay-modal-box {
	background: #ffffff;
	width: 90%;
	max-width: 680px;
	border-radius: 14px;
	padding: 32px;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);
	position: relative;
	animation: bdld_slideDown 0.25s ease-out;
}

.close-search-overlay {
	position: absolute;
	right: 20px;
	top: 20px;
	background: #f1f5f9;
	border: none;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: #475569;
	transition: all 0.2s;
}

.overlay-heading-block {
	margin-bottom: 20px;
}

.bdld-search-overlay h2 {
	font-family: 'Source Sans 3', sans-serif;
	color: #011F5B;
	font-size: 1.8rem;
	font-weight: 700;
	margin: 0 0 6px 0;
}

.bdld-search-overlay p {
	font-size: 0.9rem;
	color: #64748b;
	margin: 0;
}

.bdld-search-overlay form {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.overlay-search-field {
	position: relative;
}

#bdld-overlay-search-input {
	width: 100%;
	padding: 14px 45px 14px 16px;
	font-size: 1.1rem;
	border: 2px solid #011F5B;
	border-radius: 8px;
	outline: none;
	box-sizing: border-box;
}

.overlay-search-icon {
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
}

.overlay-filter-row {
	display: flex;
	gap: 10px;
	align-items: center;
	flex-wrap: wrap;
}

.overlay-filter-row > span {
	font-size: 0.85rem;
	font-weight: 700;
	color: #475569;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.overlay-filter-label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.85rem;
	color: #334155;
	font-weight: 600;
	cursor: pointer;
	background: #f8fafc;
	padding: 6px 12px;
	border-radius: 6px;
	border: 1px solid #cbd5e1;
}

.bdld-search-overlay input[type="radio"] {
	accent-color: #011F5B;
}

.overlay-actions-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 8px;
}

.search-overlay-hint {
	font-size: 0.8rem;
	color: #94a3b8;
}

.search-overlay-hint kbd {
	background: #f1f5f9;
	padding: 2px 6px;
	border-radius: 4px;
	border: 1px solid #cbd5e1;
	font-family: monospace;
}

.overlay-search-submit {
	background: #011F5B;
	color: #ffffff;
	font-weight: 700;
	border: none;
	padding: 10px 24px;
	border-radius: 6px;
	font-size: 0.95rem;
	cursor: pointer;
	transition: background 0.2s;
}

.overlay-search-submit:hover {
	background: #31BFF0;
}

/* ---- Footer ---- */
.site-footer .container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px;
}

.footer-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 40px;
	margin-bottom: 50px;
}

.footer-col h3 {
	color: #31BFF0;
	font-size: 1.25rem;
	font-weight: 700;
	margin: 0 0 12px;
	letter-spacing: 0.02em;
}

.footer-col h4 {
	color: #31BFF0;
	font-size: 1.05rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin: 0 0 16px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	padding-bottom: 8px;
}

.footer-col--brand p {
	color: #ffffff;
	margin: 0 0 18px;
	font-size: 0.85rem;
	line-height: 1.6;
	text-align: justify;
}

.footer-col--newsletter p {
	color: #ffffff;
	margin: 0 0 16px;
	font-size: 0.85rem;
	line-height: 1.6;
}

.footer-journal-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	font-size: 0.78rem;
	font-weight: 600;
}

.footer-journal-badge {
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.2);
	color: #31BFF0;
	padding: 3px 8px;
	border-radius: 4px;
}

.footer-journal-badge--light {
	color: #ffffff;
}

.footer-social-icons {
	display: flex;
	gap: 18px;
	margin-top: 22px;
	align-items: center;
}

.footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	padding-top: 24px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	font-size: 0.85rem;
	color: #ffffff;
}

#back-to-top {
	display: flex;
	position: fixed;
	bottom: 30px;
	right: 30px;
	z-index: 9999;
	border: none;
	outline: none;
	background-color: #011F5B;
	color: #ffffff;
	cursor: pointer;
	width: 45px;
	height: 45px;
	border-radius: 50%;
	font-size: 20px;
	font-weight: bold;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
	transition: background-color 0.3s, transform 0.2s;
	align-items: center;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
}

#back-to-top:hover {
	background-color: #31BFF0;
	transform: translateY(-3px);
}

/* ---- Card templates ---- */
.card__excerpt {
	margin-top: 8px;
	font-size: 0.9rem;
	color: #1a1a1a;
	line-height: 1.5;
}

.no-results {
	padding: 40px 0;
	text-align: center;
}

.no-results .page-header {
	margin-bottom: 20px;
}

.no-results .page-title {
	font-size: 1.8rem;
}

.no-results .page-content {
	max-width: 500px;
	margin: 0 auto;
}

.no-results p {
	font-size: 1.05rem;
	color: #555;
	margin-bottom: 24px;
}

/* ---- Blog repository pages (home.php / category.php / search.php) ---- */
.bdld-blog-repository,
.bdld-category-repository {
	background: #f8fafc;
	padding: 24px 0 60px;
}

.bdld-blog-repository .container {
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 20px;
}

.bdld-cat-header {
	background: #011F5B;
	border-radius: 12px;
	padding: 42px 30px;
	text-align: center;
	margin-bottom: 30px;
	box-shadow: 0 10px 30px rgba(1, 31, 91, 0.15);
	color: #ffffff;
}

.bdld-cat-breadcrumb {
	margin-bottom: 16px;
	font-size: 0.85rem;
	color: #31BFF0;
}

.bdld-cat-breadcrumb a {
	color: #31BFF0;
	text-decoration: none;
	border-bottom: 1px dotted #31BFF0;
	transition: color 0.2s ease, border-color 0.2s ease;
}

.bdld-cat-breadcrumb a:hover {
	color: #ffffff;
	border-bottom-color: #ffffff;
}

.bdld-cat-breadcrumb .sep {
	margin: 0 6px;
	color: #31BFF0;
}

.bdld-cat-breadcrumb .current {
	color: #93c5fd;
	font-weight: 600;
	border-bottom: 1px dotted #93c5fd;
}

.bdld-cat-header h1 {
	font-size: 2.4rem;
	font-weight: 800;
	color: #ffffff;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin: 0 0 14px 0;
	font-family: 'Source Sans 3', sans-serif;
}

.bdld-cat-desc {
	max-width: 720px;
	margin: 0 auto 20px;
	font-size: 1.05rem;
	line-height: 1.65;
	color: #e2e8f0;
}

.bdld-cat-badge {
	display: inline-block;
	background: rgba(255, 255, 255, 0.12);
	color: #ffffff;
	border: 1px solid rgba(255, 255, 255, 0.25);
	padding: 5px 16px;
	border-radius: 20px;
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.bdld-cat-filter-bar {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	padding: 14px 20px;
	margin-bottom: 30px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px;
}

.bdld-cat-filter-bar form {
	margin: 0;
}

.bdld-cat-filter-form {
	display: flex;
	gap: 12px;
	align-items: center;
	flex-wrap: wrap;
}

.bdld-cat-filter-form label {
	font-size: 0.85rem;
	font-weight: 700;
	color: #011F5B;
	margin: 0;
}

.bdld-cat-filter-form label[for="cat_year"] {
	margin-left: 8px;
}

.bdld-cat-filter-form select,
.bdld-cat-search-form input[type="text"] {
	padding: 6px 12px;
	border: 1px solid #cbd5e1;
	border-radius: 6px;
	font-size: 0.85rem;
	background: #fff;
}

.bdld-cat-filter-form select {
	color: #334155;
	cursor: pointer;
}

.bdld-cat-search-form {
	display: flex;
	gap: 8px;
	margin: 0;
	flex: 1;
	max-width: 320px;
	min-width: 220px;
}

.bdld-cat-search-form input[type="text"] {
	width: 100%;
	color: #1e293b;
}

.bdld-cat-search-form button {
	background: #011F5B;
	color: #fff;
	border: none;
	padding: 6px 14px;
	border-radius: 6px;
	font-size: 0.85rem;
	font-weight: 600;
	cursor: pointer;
}

.bdld-cat-search-form button:hover {
	background: #31BFF0;
}

.bdld-cat-layout-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 32px;
}

.bdld-featured-article {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-left: 5px solid #991B1F;
	border-radius: 10px;
	padding: 28px;
	margin-bottom: 28px;
	box-shadow: 0 4px 15px rgba(1, 31, 91, 0.05);
	transition: transform 0.2s;
}

.bdld-featured-article:hover {
	transform: translateY(-2px);
}

.bdld-featured-article .featured-badge {
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #991B1F;
	background: #fff0f0;
	padding: 4px 10px;
	border-radius: 4px;
	margin-bottom: 12px;
}

.bdld-featured-article h2 {
	margin: 0 0 12px 0;
	font-size: 1.95rem;
	line-height: 1.28;
	font-weight: 800;
	font-family: 'Source Sans 3', sans-serif;
}

.bdld-featured-article h2 a {
	color: #011F5B;
	text-decoration: none;
	font-weight: 800;
}

.bdld-featured-article h2 a:hover {
	color: #31BFF0;
}

.entry-meta-row {
	font-size: 0.85rem;
	color: #64748b;
	margin-bottom: 12px;
	font-weight: 500;
}

.entry-meta-row .sep {
	margin: 0 6px;
}

.bdld-featured-article p {
	font-size: 0.95rem;
	line-height: 1.65;
	color: #334155;
	margin: 0 0 16px 0;
}

.read-more-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #011F5B;
	font-weight: 700;
	font-size: 0.9rem;
	text-decoration: none;
}

.read-more-link:hover {
	color: #31BFF0;
}

.bdld-academic-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	padding: 22px 24px;
	margin-bottom: 18px;
	box-shadow: 0 2px 8px rgba(1, 31, 91, 0.02);
	transition: all 0.2s;
}

.bdld-academic-card:hover {
	transform: translateY(-2px);
	border-color: #cbd5e1;
}

.bdld-academic-card h3 {
	margin: 0 0 8px 0;
	font-size: 1.7rem;
	line-height: 1.3;
	font-weight: 800;
	font-family: 'Source Sans 3', sans-serif;
}

.bdld-academic-card h3 a {
	color: #011F5B;
	text-decoration: none;
	font-weight: 800;
}

.bdld-academic-card h3 a:hover {
	color: #31BFF0;
}

.bdld-academic-card .entry-meta-row {
	margin-bottom: 10px;
}

.bdld-academic-card p {
	font-size: 0.9rem;
	line-height: 1.6;
	color: #475569;
	margin: 0 0 14px 0;
}

.bdld-academic-card .read-more-link {
	font-size: 0.85rem;
	gap: 4px;
}

.bdld-pagination {
	margin-top: 30px;
	text-align: center;
}

.bdld-cat-sidebar {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.bdld-sidebar-widget {
	background: #F4F6F8;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	padding: 24px;
	box-shadow: 0 2px 10px rgba(1, 31, 91, 0.03);
}

.bdld-sidebar-widget h3 {
	font-size: 1.05rem;
	font-weight: 700;
	color: #011F5B;
	margin: 0 0 16px 0;
	border-bottom: 2px solid #011F5B;
	padding-bottom: 8px;
	font-family: 'Source Sans 3', sans-serif;
}

.bdld-sidebar-cat-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.bdld-sidebar-cat-list li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 0.88rem;
}

.bdld-sidebar-cat-list li a {
	color: #011F5B;
	text-decoration: none;
	font-weight: 500;
}

.bdld-sidebar-cat-list li a:hover {
	color: #31BFF0;
}

.bdld-sidebar-cat-list .count {
	font-size: 0.75rem;
	background: #ffffff;
	color: #011F5B;
	border: 1px solid #cbd5e1;
	padding: 1px 8px;
	border-radius: 10px;
	font-weight: 600;
}

.bdld-no-results-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	padding: 40px;
	text-align: center;
}

.bdld-no-results-card h3 {
	color: #011F5B;
	margin-top: 0;
}

.bdld-no-results-card p {
	color: #64748b;
	margin-bottom: 0;
}

/* ---- Category pages (category.php) ---- */
.bdld-category-repository .container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

.bdld-category-repository .bdld-cat-layout-grid {
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 30px;
}

.bdld-featured-article__inner {
	display: flex;
	gap: 24px;
	align-items: flex-start;
}

.bdld-featured-article__content {
	flex: 1;
	min-width: 0;
}

.bdld-academic-card__inner {
	display: flex;
	gap: 20px;
	align-items: flex-start;
}

.bdld-academic-card__content {
	flex: 1;
	min-width: 0;
}

.bdld-cat-thumb {
	flex-shrink: 0;
	display: block;
	width: 200px;
	height: 140px;
	border-radius: 8px;
	overflow: hidden;
	border: 1px solid #e2e8f0;
}

.bdld-cat-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.bdld-academic-card .bdld-cat-thumb {
	width: 160px;
	height: 110px;
}

.bdld-sidebar-recent-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.bdld-sidebar-recent-list li {
	border-bottom: 1px dashed #cbd5e1;
	padding-bottom: 10px;
}

.bdld-sidebar-recent-list h4 {
	margin: 0 0 4px 0;
	font-size: 0.92rem;
	font-weight: 600;
	line-height: 1.35;
}

.bdld-sidebar-recent-list h4 a {
	color: #011F5B;
	text-decoration: none;
}

.bdld-sidebar-recent-list h4 a:hover {
	color: #31BFF0;
}

.bdld-sidebar-recent-list .recent-meta {
	font-size: 0.8rem;
	color: #64748b;
	display: flex;
	gap: 6px;
	align-items: center;
}

.bdld-sidebar-cat-list__link {
	color: #011F5B;
	text-decoration: none;
	font-weight: 500;
}

.bdld-sidebar-cat-list__link:hover {
	color: #31BFF0;
}

.bdld-sidebar-cat-list__link.is-active {
	color: #991B1F;
	font-weight: 700;
}

.bdld-sidebar-cat-list__link.is-active:hover {
	color: #31BFF0;
}

.bdld-sidebar-search h3 {
	margin-bottom: 14px;
}

.bdld-sidebar-search-form {
	display: flex;
	gap: 8px;
	margin: 0;
}

.bdld-sidebar-search-form input[type="text"] {
	width: 100%;
	padding: 8px 12px;
	border: 1px solid #cbd5e1;
	border-radius: 6px;
	font-size: 0.85rem;
	color: #1e293b;
	background: #ffffff;
}

.bdld-sidebar-search-form button {
	background: #011F5B;
	color: #fff;
	border: none;
	padding: 8px 14px;
	border-radius: 6px;
	font-size: 0.85rem;
	font-weight: 600;
	cursor: pointer;
}

.bdld-sidebar-search-form button:hover {
	background: #31BFF0;
}

/* Category/blog responsive layout (previously an inline <style> in category.php) */
@media (max-width: 900px) {
	.bdld-cat-layout-grid {
		grid-template-columns: 1fr !important;
	}
	.bdld-cat-sidebar {
		margin-top: 30px;
	}
}

/* Responsive: stack thumbnail above text on small screens */
@media (max-width: 600px) {
	.bdld-featured-article__inner,
	.bdld-academic-card__inner {
		flex-direction: column !important;
		gap: 16px !important;
	}
	.bdld-cat-thumb {
		width: 100% !important;
		max-width: 100% !important;
		height: 200px !important;
		flex-shrink: 1 !important;
		margin: 0 auto !important;
	}
	.bdld-cat-thumb img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
	}
	.bdld-featured-article h2 {
		font-size: 1.4rem !important;
		line-height: 1.3 !important;
	}
	.bdld-academic-card h3 {
		font-size: 1.25rem !important;
		line-height: 1.3 !important;
	}
}

/* ---- Academic search page (search.php) ---- */
.bdld-academic-search-page {
	padding: 40px 0;
	background: #f8fafc;
	min-height: 80vh;
}

.bdld-academic-search-page .container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

.search-header-box {
	background: #011F5B;
	color: #ffffff;
	border-radius: 12px;
	padding: 32px;
	margin-bottom: 35px;
	box-shadow: 0 10px 25px rgba(1, 31, 91, 0.12);
	position: relative;
	overflow: hidden;
}

.search-header-box .hero-decoration {
	position: absolute;
	right: -20px;
	bottom: -30px;
	opacity: 0.05;
	pointer-events: none;
}

.search-header-box .hero-content {
	position: relative;
	z-index: 2;
}

.search-header-box h1 {
	font-family: 'Source Sans 3', sans-serif;
	font-size: 2.2rem;
	font-weight: 700;
	margin: 0 0 10px 0;
	color: #ffffff;
}

.search-header-box p {
	font-size: 1.05rem;
	color: #cbd5e1;
	margin: 0 0 20px 0;
}

.search-page-form {
	display: flex;
	gap: 10px;
	max-width: 750px;
	flex-wrap: wrap;
}

.search-page-form input[type="text"] {
	flex: 1;
	min-width: 260px;
	padding: 14px 18px;
	font-size: 1rem;
	border: none;
	border-radius: 6px;
	box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1);
	outline: none;
}

.search-page-form button {
	background: #31BFF0;
	color: #011F5B;
	font-weight: 700;
	border: none;
	padding: 14px 28px;
	border-radius: 6px;
	font-size: 1rem;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition: background 0.2s;
}

.search-page-form button:hover {
	background: #ffffff;
}

.results-bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 25px;
	flex-wrap: wrap;
	gap: 15px;
	background: #ffffff;
	padding: 16px 24px;
	border-radius: 8px;
	border: 1px solid #e2e8f0;
}

.results-count {
	font-size: 1.05rem;
	font-weight: 600;
	color: #011F5B;
}

.results-count .accent {
	color: #991B1F;
}

.results-count .query {
	color: #31BFF0;
	font-style: italic;
}

.active-chips {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	align-items: center;
}

.active-chips .chip {
	background: #f1f5f9;
	color: #334155;
	font-size: 0.8rem;
	font-weight: 600;
	padding: 4px 10px;
	border-radius: 20px;
}

.active-chips .chip--type {
	background: #e0f2fe;
	color: #0369a1;
}

.active-chips .chip--term {
	background: #fef3c7;
	color: #92400e;
}

.active-chips .clear-filters {
	font-size: 0.8rem;
	color: #ef4444;
	font-weight: 600;
	text-decoration: underline;
	margin-left: 5px;
}

.search-layout-grid {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 30px;
	align-items: start;
}

.search-sidebar-filter {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	padding: 24px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
	position: sticky;
	top: 100px;
}

.search-sidebar-filter h3 {
	margin: 0 0 20px 0;
	font-size: 1.15rem;
	font-weight: 700;
	color: #011F5B;
	border-bottom: 2px solid #31BFF0;
	padding-bottom: 8px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.filter-group {
	margin-bottom: 20px;
}

.filter-group--last {
	margin-bottom: 24px;
}

.filter-group label {
	display: block;
	font-size: 0.85rem;
	font-weight: 700;
	color: #334155;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 8px;
}

.filter-group select {
	width: 100%;
	padding: 10px;
	border: 1px solid #cbd5e1;
	border-radius: 6px;
	font-size: 0.9rem;
	color: #1e293b;
	background: #fff;
}

.filter-actions {
	display: flex;
	gap: 10px;
	flex-direction: column;
}

.filter-actions button {
	width: 100%;
	background: #011F5B;
	color: #ffffff;
	font-weight: 700;
	padding: 10px;
	border: none;
	border-radius: 6px;
	font-size: 0.9rem;
	cursor: pointer;
	transition: background 0.2s;
}

.filter-actions button:hover {
	background: #31BFF0;
}

.filter-actions .reset-filters {
	display: block;
	text-align: center;
	background: #f1f5f9;
	color: #64748b;
	font-weight: 600;
	padding: 10px;
	border-radius: 6px;
	font-size: 0.85rem;
	text-decoration: none;
}

.search-pagination {
	margin-top: 40px;
}

.no-results-box {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	padding: 40px;
	text-align: center;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

.no-results-box .no-results-icon {
	width: 64px;
	height: 64px;
	background: #fee2e2;
	color: #ef4444;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 20px;
}

.no-results-box h2 {
	font-family: 'Source Sans 3', sans-serif;
	font-size: 1.6rem;
	color: #011F5B;
	margin: 0 0 10px 0;
}

.no-results-box > p {
	font-size: 1rem;
	color: #64748b;
	max-width: 500px;
	margin: 0 auto 24px;
}

.suggestions-box {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	padding: 20px;
	text-align: left;
	max-width: 500px;
	margin: 0 auto 20px;
	font-size: 0.9rem;
	color: #334155;
}

.suggestions-box strong {
	display: block;
	color: #011F5B;
	margin-bottom: 8px;
}

.suggestions-box ul {
	margin: 0;
	padding-left: 20px;
	line-height: 1.6;
}

.no-results-box .home-link {
	display: inline-block;
	background: #011F5B;
	color: #ffffff;
	padding: 10px 24px;
	border-radius: 6px;
	font-weight: 600;
	text-decoration: none;
	font-size: 0.9rem;
}

/* Search responsive layout (previously an inline <style> in search.php) */
@media (max-width: 900px) {
	.search-layout-grid {
		grid-template-columns: 1fr !important;
	}
	.search-sidebar-filter {
		position: static !important;
		margin-bottom: 25px;
	}
}

/* ---- Journal article page (single-journal_article.php) ---- */
.journal-type-badge {
	display: inline-block;
	background: #e2e8f0;
	color: #011F5B;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 3px 10px;
	border-radius: 4px;
	margin-bottom: 8px;
}

.cite-url {
	word-break: break-all;
	color: #0099CC;
	text-decoration: none;
}

.cite-fmt-pane {
	display: none;
}

.cite-fmt-pane.is-visible {
	display: block;
}

.cite-doi-line {
	margin-top: 6px;
	font-size: 0.95em;
}

/* ---- Journal archives (page-archives.php) ---- */
.bdld-journal-archive-wrapper {
	background-color: #F8FAFC;
	color: #0F172A;
	min-height: 85vh;
	padding-bottom: 90px;
	font-family: 'EB Garamond', Georgia, serif;
}

.bdld-archive-masthead {
	background: #ffffff;
	border-bottom: 3px double #011F5B;
	padding: 50px 0 40px;
}

.bdld-archive-masthead .container,
.bdld-archive-page .container {
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 24px;
}

.bdld-archive-masthead__top {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 20px;
	border-bottom: 1px solid #E2E8F0;
	padding-bottom: 24px;
	margin-bottom: 24px;
}

.bdld-archive-masthead__kicker {
	font-family: 'Source Sans 3', sans-serif;
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: #991B1F;
	display: block;
	margin-bottom: 6px;
}

.bdld-archive-masthead h1 {
	font-family: 'Libre Baskerville', Georgia, serif;
	font-size: clamp(2.2rem, 3.8vw, 3.2rem);
	font-weight: 700;
	color: #011F5B;
	margin: 0;
	line-height: 1.15;
}

.bdld-archive-masthead__issn {
	font-family: 'Source Sans 3', sans-serif;
	font-size: 0.85rem;
	color: #475569;
	display: flex;
	gap: 16px;
	align-items: center;
	background: #F1F5F9;
	border: 1px solid #CBD5E1;
	padding: 8px 16px;
	border-radius: 4px;
}

.bdld-archive-masthead__issn .sep {
	color: #CBD5E1;
}

.bdld-archive-meta-grid {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 30px;
	align-items: center;
}

.bdld-archive-meta-grid > p {
	font-size: 1.15rem;
	color: #334155;
	margin: 0;
	line-height: 1.6;
	max-width: 780px;
}

.bdld-archive-stats {
	display: flex;
	gap: 24px;
	font-family: 'Source Sans 3', sans-serif;
	text-align: right;
}

.bdld-archive-stats .stat--divider {
	border-left: 1px solid #E2E8F0;
	padding-left: 24px;
}

.bdld-archive-stats .stat__num {
	font-family: 'Libre Baskerville', Georgia, serif;
	font-size: 1.5rem;
	font-weight: 700;
	color: #011F5B;
	line-height: 1;
}

.bdld-archive-stats .stat__label {
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #64748B;
	margin-top: 4px;
}

.bdld-archive-page {
	max-width: 1140px;
	margin: 40px auto 0;
	padding: 0 24px;
}

.bdld-volume-shelf {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.bdld-volume-row {
	background: #ffffff;
	border: 1px solid #CBD5E1;
	border-radius: 4px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
	padding: 32px;
	display: grid;
	grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
	gap: 36px;
	align-items: start;
}

.bdld-volume-row__meta {
	border-right: 1px dashed #CBD5E1;
	padding-right: 32px;
}

.bdld-volume-row__kicker {
	font-family: 'Source Sans 3', sans-serif;
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #991B1F;
	display: block;
	margin-bottom: 6px;
}

.bdld-volume-row h2 {
	font-family: 'Libre Baskerville', Georgia, serif;
	font-size: 1.6rem;
	font-weight: 700;
	color: #011F5B;
	margin: 0 0 10px;
	line-height: 1.25;
}

.bdld-volume-row h2 a {
	color: #011F5B;
	text-decoration: none;
}

.bdld-volume-row__year {
	font-family: 'Source Sans 3', sans-serif;
	font-size: 0.9rem;
	font-weight: 600;
	color: #475569;
	margin-bottom: 14px;
}

.bdld-volume-row__year span {
	color: #011F5B;
}

.bdld-volume-row__facts {
	font-family: 'Source Sans 3', sans-serif;
	font-size: 0.85rem;
	color: #64748B;
	line-height: 1.7;
	margin-bottom: 20px;
}

.bdld-volume-row__btn {
	width: 100%;
	text-align: center;
	justify-content: center;
	font-size: 0.8rem;
	padding: 10px 10px;
	box-sizing: border-box;
}

.bdld-volume-row__btn:hover,
.bdld-volume-row__btn:focus-visible {
	background: #011F5B !important;
	color: #ffffff !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(1, 31, 91, 0.3);
	outline: none;
}

.bdld-volume-row__desc {
	font-size: 1.05rem;
	color: #334155;
	line-height: 1.6;
	margin: 0 0 24px;
	font-style: italic;
	border-left: 3px solid #011F5B;
	padding-left: 14px;
}

.bdld-volume-row h3 {
	font-family: 'Source Sans 3', sans-serif;
	font-size: 0.85rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #011F5B;
	margin: 0 0 14px;
	border-bottom: 1px solid #E2E8F0;
	padding-bottom: 8px;
}

.bdld-issue-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 16px;
}

.bdld-issue-link {
	background: #F8FAFC;
	border: 1px solid #CBD5E1;
	border-left: 3px solid #011F5B;
	border-radius: 4px;
	padding: 14px 16px;
	text-decoration: none;
	display: block;
	transition: all 0.2s ease;
}

.bdld-issue-link * {
	transition: color 0.2s ease;
}

.bdld-issue-link:hover {
	background: #011F5B !important;
	border-color: #011F5B !important;
	border-left-color: #991B1F !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 16px rgba(1, 31, 91, 0.2) !important;
}

.bdld-issue-link:hover *,
.bdld-issue-link:hover .bdld-issue-link__title,
.bdld-issue-link:hover .bdld-issue-link__meta,
.bdld-issue-link:hover .bdld-issue-link__meta span,
.bdld-issue-link:hover .bdld-issue-link__cta {
	color: #ffffff !important;
}

.bdld-issue-link__title {
	font-family: 'Libre Baskerville', Georgia, serif;
	font-size: 1.05rem;
	font-weight: 700;
	color: #011F5B;
	margin-bottom: 4px;
}

.bdld-issue-link__meta {
	font-family: 'Source Sans 3', sans-serif;
	font-size: 0.8rem;
	color: #475569;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.bdld-issue-link__cta {
	font-weight: 600;
	color: #011F5B;
}

.bdld-archive-empty {
	font-family: 'Source Sans 3', sans-serif;
	font-size: 0.9rem;
	color: #64748B;
	margin: 0;
}

.bdld-scholarly-announcement {
	background: #ffffff;
	border: 2px solid #011F5B;
	border-radius: 6px;
	padding: 48px;
	max-width: 860px;
	margin: 30px auto;
	box-shadow: 0 10px 30px rgba(1, 31, 91, 0.06);
}

.bdld-scholarly-announcement__head {
	border-bottom: 1px solid #011F5B;
	padding-bottom: 16px;
	margin-bottom: 24px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.bdld-scholarly-announcement__notice {
	font-family: 'Source Sans 3', sans-serif;
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: #991B1F;
}

.bdld-scholarly-announcement__issn {
	font-family: 'Source Sans 3', sans-serif;
	font-size: 0.85rem;
	font-weight: 600;
	color: #011F5B;
}

.bdld-scholarly-announcement h2 {
	font-family: 'Libre Baskerville', Georgia, serif;
	font-size: 1.8rem;
	font-weight: 700;
	color: #011F5B;
	margin: 0 0 16px;
	line-height: 1.25;
}

.bdld-scholarly-announcement > p {
	font-size: 1.15rem;
	color: #334155;
	line-height: 1.7;
	margin: 0 0 24px;
}

.bdld-call-box {
	background: #F8FAFC;
	border: 1px solid #CBD5E1;
	border-left: 4px solid #011F5B;
	padding: 20px 24px;
	margin-bottom: 30px;
}

.bdld-call-box h4 {
	font-family: 'Source Sans 3', sans-serif;
	font-size: 0.88rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #011F5B;
	margin: 0 0 8px;
}

.bdld-call-box p {
	font-size: 0.95rem;
	color: #475569;
	margin: 0;
	line-height: 1.6;
}

.bdld-announcement-actions {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
}

@media (max-width: 900px) {
	.bdld-archive-meta-grid {
		grid-template-columns: 1fr;
	}
	.bdld-archive-stats {
		justify-content: flex-start;
		text-align: left;
	}
	.bdld-volume-row {
		grid-template-columns: 1fr;
	}
	.bdld-volume-row__meta {
		border-right: none;
		padding-right: 0;
		border-bottom: 1px dashed #CBD5E1;
		padding-bottom: 24px;
	}
}

/* ---- Articles landing page (page-articles.php) ---- */
.bdld-articles-page {
	background: #fff;
}

.bdld-hero {
	padding: 56px 24px 40px;
	text-align: center;
	max-width: 800px;
	margin: 0 auto;
}

.bdld-hero h1 {
	font-family: 'Libre Baskerville', Georgia, serif;
	font-size: clamp(1.8rem, 3.5vw, 2.4rem);
	font-weight: 700;
	color: #222;
	margin: 0 0 14px;
	line-height: 1.25;
}

.bdld-hero p {
	font-family: 'EB Garamond', Georgia, serif;
	font-size: 1.1rem;
	line-height: 1.65;
	color: #666;
	margin: 0 0 16px;
}

.bdld-hero-count {
	font-family: 'EB Garamond', Georgia, serif;
	font-size: 0.9rem;
	color: #999;
}

.bdld-section-featured {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px 56px;
}

.bdld-featured-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 36px;
	align-items: center;
}

.bdld-featured-img {
	display: block;
	border-radius: 10px;
	overflow: hidden;
}

.bdld-featured-img img {
	width: 100%;
	height: auto;
	display: block;
}

.bdld-featured-kicker {
	font-family: 'EB Garamond', Georgia, serif;
	font-size: 0.78rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: #991B1F;
	display: block;
	margin-bottom: 10px;
}

.bdld-featured-title {
	font-family: 'Libre Baskerville', Georgia, serif;
	font-size: 1.5rem;
	font-weight: 700;
	color: #222;
	margin: 0 0 10px;
	line-height: 1.35;
}

.bdld-featured-title a {
	color: #222;
	text-decoration: none;
}

.bdld-featured-byline {
	font-family: 'EB Garamond', Georgia, serif;
	font-size: 0.88rem;
	color: #666;
	margin-bottom: 12px;
}

.bdld-featured-byline a {
	color: #011F5B;
	text-decoration: none;
	font-weight: 600;
}

.bdld-featured-byline a:hover {
	color: #991B1F;
}

.bdld-featured-excerpt {
	font-family: 'EB Garamond', Georgia, serif;
	font-size: 0.98rem;
	line-height: 1.7;
	color: #444;
	margin: 0 0 18px;
}

.bdld-featured-cta {
	font-family: 'EB Garamond', Georgia, serif;
	font-size: 0.92rem;
	font-weight: 600;
	color: #011F5B;
	text-decoration: none;
}

.bdld-section-articles {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px 72px;
}

.bdld-section-articles > h2 {
	font-family: 'Libre Baskerville', Georgia, serif;
	font-size: 1.3rem;
	font-weight: 700;
	color: #222;
	margin: 0 0 8px;
	padding-bottom: 10px;
	border-bottom: 2px solid #011F5B;
}

.bdld-section-articles > p {
	font-family: 'EB Garamond', Georgia, serif;
	font-size: 0.92rem;
	color: #888;
	margin: 0 0 28px;
}

.bdld-articles-wrap {
	position: relative;
}

.bdld-articles-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.bdld-articles-loader {
	display: none;
	position: absolute;
	inset: 0;
	z-index: 10;
	justify-content: center;
	align-items: center;
	background: rgba(255, 255, 255, 0.7);
	border-radius: 8px;
}

.bdld-articles-loader .spinner {
	width: 30px;
	height: 30px;
	border: 3px solid #f3f3f3;
	border-top: 3px solid #011F5B;
	border-radius: 50%;
	animation: bdld_spin 1s linear infinite;
}

.bdld-articles-empty {
	font-family: 'EB Garamond', Georgia, serif;
	color: #888;
	text-align: center;
	padding: 40px 0;
}

.bdld-section-subjects {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px 64px;
}

.bdld-section-subjects h2 {
	font-family: 'Libre Baskerville', Georgia, serif;
	font-size: 1.1rem;
	font-weight: 700;
	color: #222;
	margin: 0 0 16px;
}

.bdld-subjects-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.bdld-subject-pill {
	display: inline-block;
	font-family: 'EB Garamond', Georgia, serif;
	font-size: 0.9rem;
	color: #011F5B;
	background: #EEF4FB;
	border: 1px solid #d0dfe8;
	border-radius: 20px;
	padding: 7px 16px;
	text-decoration: none;
	transition: all 0.2s;
}

.bdld-section-journal {
	background: #EEF4FB;
	padding: 48px 24px;
}

.bdld-section-journal > div {
	max-width: 720px;
	margin: 0 auto;
	text-align: center;
}

.bdld-section-journal h2 {
	font-family: 'Libre Baskerville', Georgia, serif;
	font-size: 1.2rem;
	font-weight: 700;
	color: #222;
	margin: 0 0 8px;
}

.bdld-section-journal p {
	font-family: 'EB Garamond', Georgia, serif;
	font-size: 0.98rem;
	line-height: 1.65;
	color: #666;
	margin: 0 0 22px;
}

.bdld-journal-buttons {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
}

.bdld-journal-cta-solid,
.bdld-journal-cta-outline {
	font-family: 'EB Garamond', Georgia, serif;
	font-size: 0.9rem;
	font-weight: 600;
	padding: 10px 22px;
	border-radius: 6px;
	text-decoration: none;
	transition: all 0.2s;
}

.bdld-journal-cta-solid {
	color: #fff;
	background: #011F5B;
}

.bdld-journal-cta-outline {
	color: #011F5B;
	background: #fff;
	border: 1px solid #011F5B;
}

.bdld-section-newsletter {
	background: #EEF4FB;
	padding: 48px 24px;
}

.bdld-section-newsletter > div {
	max-width: 600px;
	margin: 0 auto;
	text-align: center;
}

.bdld-section-newsletter h2 {
	font-family: 'Libre Baskerville', Georgia, serif;
	font-size: 1.1rem;
	font-weight: 700;
	color: #222;
	margin: 0 0 8px;
}

.bdld-section-newsletter p {
	font-family: 'EB Garamond', Georgia, serif;
	font-size: 0.92rem;
	color: #666;
	margin: 0 0 20px;
}

/* Article page hover / pagination / responsive overrides (moved from page-articles.php inline <style>) */
@keyframes bdld_spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

.bdld-card-excerpt { display: none !important; }
.bdld-featured-title a { transition: color 0.2s ease; }
.bdld-featured-title a:hover { color: #991B1F !important; }
.bdld-featured-cta:hover { color: #991B1F !important; }
.bdld-article-card { transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease; }
.bdld-article-card:hover { transform: translateY(-4px); box-shadow: 0 10px 25px rgba(1, 31, 91, 0.12); border-color: #011F5B; }
.bdld-card-image img { transition: transform 0.4s ease; }
.bdld-article-card:hover .bdld-card-image img { transform: scale(1.04); }
.bdld-card-title a { transition: color 0.2s ease; }
.bdld-card-title a:hover { color: #991B1F !important; }
.bdld-card-cta { transition: color 0.2s ease; }
.bdld-card-cta:hover { color: #011F5B !important; }
.bdld-subject-pill:hover { color: #991B1F !important; border-color: #991B1F !important; }
.bdld-journal-cta-solid:hover { background: #31BFF0 !important; color: #ffffff !important; }
.bdld-journal-cta-outline:hover { background: #011F5B !important; color: #ffffff !important; }
.site-main .tnp-submit:hover { background-color: #31BFF0 !important; }

.bdld-pagination {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	gap: 6px !important;
	flex-wrap: wrap !important;
	margin-top: 36px !important;
	text-align: center !important;
}
.bdld-pagination .page-numbers {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 36px !important;
	height: 36px !important;
	padding: 0 10px !important;
	font-family: 'EB Garamond', Georgia, serif !important;
	font-size: 0.88rem !important;
	font-weight: 400 !important;
	color: #011F5B !important;
	background: #fff !important;
	border: 1px solid #d0dfe8 !important;
	border-radius: 6px !important;
	text-decoration: none !important;
	transition: all 0.2s !important;
}
.bdld-pagination a.page-numbers:hover,
.bdld-pagination a.page-numbers:focus {
	background: #011F5B !important;
	color: #fff !important;
	border-color: #011F5B !important;
}
.bdld-pagination .page-numbers.current {
	background: #011F5B !important;
	color: #fff !important;
	border-color: #011F5B !important;
	font-weight: 600 !important;
	pointer-events: none !important;
}
.bdld-pagination .prev,
.bdld-pagination .next {
	font-weight: 600 !important;
	padding: 0 14px !important;
}

@media (max-width: 768px) {
	.bdld-hero { padding: 36px 20px 28px !important; }
	.bdld-hero h1 { font-size: 1.6rem !important; }
	.bdld-hero p { font-size: 1rem !important; }
	.bdld-featured-grid { grid-template-columns: 1fr !important; gap: 20px !important; }
	.bdld-featured-grid .bdld-featured-img img { height: auto !important; max-height: 260px !important; }
	.bdld-featured-title { font-size: 1.3rem !important; }
	.bdld-articles-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 16px !important; }
	.bdld-section-featured { padding: 0 16px 40px !important; }
	.bdld-section-articles { padding: 0 16px 48px !important; }
	.bdld-section-subjects { padding: 0 16px 40px !important; }
	.bdld-section-journal { padding: 36px 16px !important; }
	.bdld-section-newsletter { padding: 36px 16px !important; }
}

@media (max-width: 480px) {
	.bdld-hero { padding: 24px 16px 18px !important; }
	.bdld-hero h1 { font-size: 1.2rem !important; }
	.bdld-hero p { font-size: 0.85rem !important; }
	.bdld-hero .bdld-hero-count { font-size: 0.78rem !important; }
	.bdld-featured-title { font-size: 1.05rem !important; }
	.bdld-section-featured { padding: 0 16px 28px !important; }
	.bdld-section-featured p { font-size: 0.88rem !important; }
	.bdld-section-featured .bdld-featured-cta { font-size: 0.82rem !important; }
	.bdld-section-featured span { font-size: 0.7rem !important; }
	.bdld-articles-grid {
		grid-template-columns: 1fr !important;
		gap: 10px !important;
		display: flex !important;
		flex-direction: column !important;
	}
	.bdld-section-articles { padding: 0 16px 32px !important; }
	.bdld-section-articles h2 { font-size: 1.05rem !important; }
	.bdld-section-articles > p { font-size: 0.8rem !important; }
	.bdld-article-card {
		display: flex !important;
		flex-direction: row !important;
		align-items: stretch !important;
	}
	.bdld-card-image {
		width: 90px !important;
		min-width: 90px !important;
		height: 90px !important;
		flex-shrink: 0 !important;
	}
	.bdld-card-image img {
		width: 90px !important;
		height: 90px !important;
		object-fit: cover !important;
	}
	.bdld-card-excerpt { display: none !important; }
	.bdld-card-body { padding: 8px 10px !important; }
	.bdld-card-title { font-size: 0.85rem !important; margin-bottom: 3px !important; line-height: 1.3 !important; }
	.bdld-card-meta { font-size: 0.7rem !important; margin-bottom: 3px !important; }
	.bdld-card-cta { font-size: 0.72rem !important; }
	.bdld-card-body span { font-size: 0.62rem !important; padding: 2px 6px !important; }
	.bdld-section-subjects { padding: 0 16px 28px !important; }
	.bdld-section-subjects h2 { font-size: 0.9rem !important; margin-bottom: 10px !important; text-align: center !important; }
	.bdld-section-subjects > div { justify-content: center !important; }
	.bdld-subject-pill { font-size: 0.72rem !important; padding: 4px 10px !important; gap: 6px !important; }
	.bdld-journal-buttons { flex-direction: column !important; align-items: center !important; }
	.bdld-section-journal { padding: 24px 16px !important; }
	.bdld-section-journal h2 { font-size: 0.95rem !important; }
	.bdld-section-journal p { font-size: 0.85rem !important; }
	.bdld-journal-cta-solid, .bdld-journal-cta-outline { font-size: 0.82rem !important; padding: 8px 18px !important; }
	.bdld-section-newsletter { padding: 24px 16px !important; }
	.bdld-section-newsletter h2 { font-size: 0.95rem !important; }
	.bdld-section-newsletter p { font-size: 0.82rem !important; }
	.tnp-field input[type="text"],
	.tnp-field input[type="email"] { font-size: 16px !important; }
}

/* ---- Author archive (author.php) ---- */
.bdld-author-page {
	background: #f8fafc;
	padding: 40px 0 60px;
}

.bdld-author-page .container {
	max-width: 900px;
	margin: 0 auto;
	padding: 0 20px;
}

.bdld-author-header-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 32px;
	box-shadow: 0 4px 15px rgba(1, 31, 91, 0.04);
	margin-bottom: 30px;
}

.bdld-author-top-row {
	display: flex;
	gap: 24px;
	align-items: flex-start;
	flex-wrap: wrap;
}

.bdld-author-avatar {
	flex-shrink: 0;
}

.bdld-author-avatar img {
	width: 88px;
	height: 88px;
	border-radius: 50%;
	border: 2px solid #011F5B;
	padding: 2px;
	background: #fff;
	box-shadow: 0 3px 10px rgba(1, 31, 91, 0.1);
	display: block;
}

.bdld-author-main-info {
	flex: 1;
	min-width: 260px;
}

.bdld-author-main-info h1 {
	margin: 0 0 6px 0;
	font-size: 2rem;
	font-weight: 800;
	color: #011F5B;
	font-family: 'Source Sans 3', sans-serif;
	line-height: 1.2;
}

.bdld-author-affiliation {
	font-size: 1rem;
	color: #475569;
	font-weight: 600;
	margin-bottom: 10px;
}

.bdld-author-links {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 12px;
	margin-bottom: 14px;
	font-size: 0.85rem;
	align-items: center;
}

.bdld-author-links .sep {
	color: #cbd5e1;
}

.bdld-author-links a {
	font-weight: 600;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.bdld-author-links a.bdld-author-link--orcid {
	color: #a6ce39;
}

.bdld-author-links a.bdld-author-link--scholar {
	color: #4285f4;
}

.bdld-author-links a.bdld-author-link--linkedin {
	color: #0077b5;
}

.bdld-author-divider {
	height: 1px;
	background: #e2e8f0;
	margin: 20px 0;
}

.bdld-author-bio {
	font-size: 0.875rem;
	line-height: 1.6;
	color: #222222;
}

.bdld-author-interests-label {
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #64748b;
	font-weight: 700;
	display: block;
	margin-bottom: 6px;
}

.bdld-author-interests-value {
	font-size: 0.95rem;
	color: #011F5B;
	font-weight: 600;
	line-height: 1.5;
}

.bdld-author-publications {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 32px;
	box-shadow: 0 4px 15px rgba(1, 31, 91, 0.04);
}

.bdld-author-publications > h2 {
	margin: 0 0 24px 0;
	font-size: 1.6rem;
	font-weight: 700;
	color: #011F5B;
	font-family: 'Source Sans 3', sans-serif;
	border-bottom: 2px solid #011F5B;
	padding-bottom: 10px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.bdld-author-none {
	color: #64748b;
	font-size: 0.95rem;
	margin: 0;
}

.pub-section h3 {
	font-size: 1.2rem;
	font-weight: 700;
	color: #011F5B;
	margin: 0 0 16px 0;
	display: flex;
	align-items: center;
	gap: 10px;
}

.pub-count-badge {
	background: #EEF4FB;
	color: #011F5B;
	font-size: 0.8rem;
	padding: 2px 10px;
	border-radius: 12px;
	font-weight: 700;
	border: 1px solid #BDD4EE;
}

.journal-articles-section {
	margin-bottom: 36px;
}

.bdld-pub-list {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.blog-posts-section .bdld-pub-list {
	gap: 12px;
}

.bdld-pub-item {
	padding: 16px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-left: 4px solid #011F5B;
	border-radius: 6px;
	transition: all 0.2s;
}

.bdld-pub-item:hover {
	background: #EEF4FB;
}

.bdld-pub-item h4 {
	margin: 0 0 6px 0;
	font-size: 1.1rem;
	line-height: 1.35;
	font-weight: 700;
	font-family: 'Source Sans 3', sans-serif;
}

.bdld-pub-item h4 a {
	color: #011F5B;
	text-decoration: none;
}

.bdld-pub-item h4 a:hover {
	color: #31BFF0;
}

.bdld-pub-meta {
	font-size: 0.85rem;
	color: #64748b;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 14px;
	align-items: center;
}

.bdld-pub-meta a {
	color: #011F5B;
	text-decoration: none;
}

.bdld-pub-blog-item {
	padding: 14px 16px;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 6px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	transition: all 0.2s;
}

.bdld-pub-blog-item:hover {
	border-color: #011F5B;
}

.bdld-pub-blog-item h4 {
	margin: 0;
	font-size: 1rem;
	font-weight: 600;
	flex: 1;
	min-width: 220px;
}

.bdld-pub-blog-item h4 a {
	color: #011F5B;
	text-decoration: none;
}

.bdld-pub-blog-item h4 a:hover {
	color: #31BFF0;
}

.bdld-pub-blog-date {
	font-size: 0.85rem;
	color: #64748b;
	white-space: nowrap;
}

/* ---- Issue taxonomy archive (taxonomy-issue.php) ---- */
.volume-header {
	text-align: center;
	padding: 40px 20px;
	border-bottom: 2px solid #011F5B;
	margin-bottom: 50px;
}

.issue-header {
	text-align: center;
	padding: 36px 20px 26px;
	border-bottom: 2px solid #011F5B;
	margin-bottom: 30px;
}

.volume-header h1,
.issue-header h1 {
	color: #011F5B;
	font-family: 'Source Sans 3', sans-serif;
	font-size: 2.5rem;
	font-weight: 800;
	margin-bottom: 10px;
}

.archive-subhead {
	font-weight: 600;
	color: #991B1F;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	margin-bottom: 20px;
}

.archive-subhead--tight {
	margin-bottom: 15px;
}

.archive-description {
	max-width: 700px;
	margin: 0 auto;
	color: #333;
	line-height: 1.6;
	font-size: 1.1rem;
}

.volume-issue-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 40px;
	margin-bottom: 60px;
}

.issue-card {
	border: 1px solid #eaeaea;
	border-top: 4px solid #011F5B;
	padding: 30px;
	border-radius: 4px;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.02);
	display: flex;
	flex-direction: column;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.issue-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 15px rgba(0, 0, 0, 0.05);
}

.issue-card__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 15px;
}

.issue-card h2 {
	font-family: 'Source Sans 3', sans-serif;
	font-size: 1.8rem;
	font-weight: 700;
	margin: 0;
	color: #011F5B;
}

.issue-card h2 a {
	color: inherit;
	text-decoration: none;
}

.issue-current-badge {
	background: #991B1F;
	color: #fff;
	font-size: 11px;
	padding: 3px 8px;
	border-radius: 3px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.issue-card__body {
	font-size: 0.95rem;
	color: #555;
	margin-bottom: 25px;
	line-height: 1.6;
}

.issue-card__date {
	color: #991B1F;
	text-transform: uppercase;
	font-size: 0.85rem;
	letter-spacing: 1px;
	display: block;
	margin-bottom: 10px;
}

.issue-card__facts {
	list-style: none;
	padding: 0;
	margin: 0 0 15px 0;
}

.issue-card__facts li {
	border-bottom: 1px solid #f0f0f0;
	padding-bottom: 8px;
	margin-bottom: 8px;
}

.issue-card__facts li:last-child {
	margin-bottom: 15px;
}

.issue-card__topics {
	font-size: 0.85rem;
	margin-bottom: 20px;
}

.issue-card__topics strong {
	display: block;
	margin-bottom: 5px;
	color: #222;
}

.issue-card__featured {
	margin-bottom: 15px;
}

.issue-card__featured > strong {
	display: block;
	margin-bottom: 8px;
	color: #222;
	text-transform: uppercase;
	font-size: 0.8rem;
	letter-spacing: 0.5px;
}

.issue-card__featured ul {
	list-style: none;
	padding: 0;
	margin: 0;
	font-size: 0.9rem;
}

.issue-card__featured li {
	margin-bottom: 6px;
	position: relative;
	padding-left: 14px;
	line-height: 1.4;
}

.issue-card__featured li::before {
	content: "\2022";
	position: absolute;
	left: 0;
	top: 0;
	color: #991B1F;
}

.issue-card__featured a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s;
}

.issue-card__featured a:hover {
	color: #991B1F;
}

.issue-card__footer {
	margin-top: auto;
}

.btn-read-article--block {
	display: inline-block;
	width: 100%;
	text-align: center;
	padding: 12px;
}

.fp-no-results {
	background: #ffffff;
	border: 1px solid #d0dcea;
	border-left: 4px solid #011F5B;
	padding: 24px 28px;
	border-radius: 6px;
	text-align: left;
	margin: 30px 0;
}

.fp-no-results h3 {
	font-family: 'Libre Baskerville', Georgia, serif;
	font-size: 1.15rem;
	color: #011F5B;
	margin: 0 0 6px;
	font-weight: 700;
}

.fp-no-results p {
	font-family: 'EB Garamond', Georgia, serif;
	font-size: 1rem;
	color: #444444;
	margin: 0;
	line-height: 1.6;
}

.volume-navigation {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-top: 1px solid #eaeaea;
	padding-top: 30px;
	margin-top: 40px;
	margin-bottom: 40px;
}

.volume-navigation a {
	color: #991B1F;
	font-weight: 600;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.archive-stats {
	font-weight: 600;
	color: #64748b;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 0.9rem;
	margin-bottom: 30px;
}
/* ---- Single blog post (single.php) ---- */
.single-post-tabs .tab-pane {
	display: none;
}

.single-post-tabs .tab-pane.active {
	display: block;
}

.js-related-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 30px;
}

.js-author-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 20px;
	position: relative;
}

.js-author-card {
	display: flex;
	flex-direction: column;
	transition: opacity 0.2s;
}

.js-author-card.is-hidden {
	display: none;
}

.bdld-author-loader-spinner {
	width: 30px;
	height: 30px;
	border: 3px solid #f3f3f3;
	border-top: 3px solid #011F5B;
	border-radius: 50%;
	animation: bdld_spin 1s linear infinite;
}

.author-simple-card-img {
	width: 100%;
	height: auto;
	display: block;
}
/* ---- Glossary page (page-glossary.php) ---- */
.bdld-glossary-page__container {
	max-width: 960px;
	margin: 0 auto;
	padding: 0 20px;
}

/* ---- Journal keyword analysis type link (taxonomy-journal_keyword.php) ---- */
.scholarly-type a {
	color: inherit;
	text-decoration: none;
	border-bottom: none;
	background: transparent;
}
/* ---- Search result parts (search.php renders these) ---- */
.search-result-journal {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-left: 4px solid #011F5B;
	border-radius: 8px;
	padding: 24px;
	margin-bottom: 24px;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
	box-shadow: 0 2px 8px rgba(1, 31, 91, 0.04);
}

.search-result-blog {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-left: 4px solid #31BFF0;
	border-radius: 8px;
	padding: 20px;
	margin-bottom: 24px;
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
	align-items: flex-start;
	transition: box-shadow 0.2s ease;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
}

.result-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 12px;
	flex-wrap: wrap;
	gap: 10px;
}

.search-result-blog .result-header {
	margin-bottom: 8px;
	gap: 8px;
}

.badge-group {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 4px 10px;
	border-radius: 4px;
}

.badge-journal {
	background: #011F5B;
	color: #ffffff;
}

.badge-issue {
	background: #e2e8f0;
	color: #011F5B;
	font-weight: 600;
}

.badge-blog {
	background: #31BFF0;
	color: #011F5B;
}

.badge-cat {
	background: #f1f5f9;
	color: #475569;
	font-weight: 600;
}

.result-date {
	font-size: 0.85rem;
	color: #64748b;
}

.result-title {
	margin: 0 0 10px 0;
	font-family: 'Source Sans 3', sans-serif;
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1.35;
	color: #011F5B;
}

.search-result-blog .result-title {
	margin: 0 0 8px 0;
	font-size: 1.2rem;
}

.result-title a {
	color: #011F5B;
	text-decoration: none;
	transition: color 0.2s;
}

.result-title a:hover {
	color: #31BFF0;
}

.result-authors {
	font-size: 0.9rem;
	color: #334155;
	margin-bottom: 12px;
	font-weight: 500;
}

.result-authors strong {
	color: #64748b;
}

.result-doi {
	font-size: 0.85rem;
	margin-bottom: 12px;
	color: #64748b;
}

.result-doi a {
	color: #0284c7;
	text-decoration: underline;
}

.result-excerpt {
	font-size: 0.925rem;
	line-height: 1.6;
	color: #475569;
	margin-bottom: 16px;
}

.result-excerpt strong {
	color: #1e293b;
}

.search-result-blog .result-excerpt {
	font-size: 0.9rem;
	line-height: 1.55;
	margin-bottom: 14px;
}

.result-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	padding-top: 12px;
	border-top: 1px solid #f1f5f9;
}

.result-actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.search-result-journal .btn-read,
.search-result-journal .btn-pdf {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #ffffff;
	padding: 6px 14px;
	border-radius: 4px;
	font-size: 0.85rem;
	font-weight: 600;
	text-decoration: none;
	transition: background 0.2s;
}

.search-result-journal .btn-read {
	background: #011F5B;
}

.search-result-journal .btn-read:hover {
	background: #31BFF0;
}

.search-result-journal .btn-pdf {
	background: #991B1F;
}

.search-result-journal .btn-pdf:hover {
	background: #be123c;
}

.search-result-blog .btn-read {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #011F5B;
	font-weight: 600;
	font-size: 0.85rem;
	text-decoration: none;
	transition: color 0.2s;
}

.search-result-blog .btn-read:hover {
	color: #31BFF0;
}

.result-thumbnail {
	flex-shrink: 0;
	width: 160px;
	height: 110px;
	overflow: hidden;
	border-radius: 6px;
	position: relative;
}

.result-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.result-content {
	flex: 1;
	min-width: 250px;
}

.result-meta {
	font-size: 0.85rem;
	color: #64748b;
	margin-bottom: 10px;
}

.result-meta strong {
	color: #334155;
}

/* ---- Articles renderer (functions.php bdld_articles_render_cards / bdld_archive shortcode) ---- */
.bdld-archive h2 {
	margin-top: 35px;
	border-bottom: 1px solid #ddd;
	padding-bottom: 10px;
}

.bdld-archive li {
	margin-bottom: 8px;
}

.bdld-article-card {
	background: #EEF4FB;
	border: 1px solid #E5E7EB;
	border-radius: 10px;
	overflow: hidden;
	transition: transform 0.2s, box-shadow 0.2s;
}

.bdld-card-image {
	display: block;
	height: 180px;
	overflow: hidden;
	background: #f0f0f0;
}

.bdld-card-image img {
	width: 100%;
	height: 180px;
	object-fit: cover;
	display: block;
}

.bdld-card-fallback {
	width: 100%;
	height: 180px;
	background: #EEF4FB;
	display: flex;
	align-items: center;
	justify-content: center;
}

.bdld-card-fallback span {
	font-family: 'Libre Baskerville', Georgia, serif;
	font-size: 1.6rem;
	color: #011F5B;
	opacity: 0.15;
}

.bdld-card-body {
	padding: 18px;
}

.bdld-card-type {
	display: inline-block;
	font-family: 'EB Garamond', Georgia, serif;
	font-size: 0.72rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #991B1F;
	background: rgba(153, 27, 31, 0.07);
	border-radius: 4px;
	padding: 3px 8px;
	margin-bottom: 10px;
}

.bdld-card-title {
	font-family: 'Libre Baskerville', Georgia, serif;
	font-size: 1.15rem;
	font-weight: 700;
	color: #222;
	margin: 0 0 6px;
	line-height: 1.4;
}

.bdld-card-title a {
	color: #222;
	text-decoration: none;
}

.bdld-card-meta {
	font-family: 'EB Garamond', Georgia, serif;
	font-size: 0.82rem;
	color: #888;
	margin-bottom: 8px;
}

.bdld-card-meta a {
	color: #011F5B;
	text-decoration: none;
	font-weight: 600;
}

.bdld-card-meta a:hover {
	color: #991B1F;
}

.bdld-card-excerpt {
	font-family: 'EB Garamond', Georgia, serif;
	font-size: 0.9rem;
	line-height: 1.6;
	color: #555;
	margin: 0 0 12px;
}

.bdld-card-cta {
	font-family: 'EB Garamond', Georgia, serif;
	font-size: 0.85rem;
	font-weight: 600;
	color: #991B1F;
	text-decoration: none;
}

/* ---- Search highlight (inc/search.php) ---- */
.bdld-search-highlight {
	background: #fef08a;
	color: #854d0e;
	padding: 2px 4px;
	border-radius: 3px;
	font-weight: 600;
}

.sidenotes-subheading.bdld-sidenotes-references {
	margin-top: 20px;
}






/* ==========================================================================
   Below-the-fold rendering optimization
   ========================================================================== */
.explore-section,
.fp-section,
.site-footer,
.bdld-related-research,
.comments-area {
	content-visibility: auto;
	contain-intrinsic-size: auto 800px;
}

@media print {
	.explore-section,
	.fp-section,
	.site-footer,
	.bdld-related-research,
	.comments-area {
		content-visibility: visible;
	}
}
