/* ==========================================================================
   article.css — ConnectedEarth LENS article (single post)
   Loaded by single.php only. Self-contained.
   ========================================================================== */
 
@import url('https://fonts.googleapis.com/css2?family=Exo+2:wght@700;800&family=Lato:wght@300;400;700&family=Raleway:ital,wght@1,400&display=swap');
 
/* --- Full-width breakout (standard posts only) --- */
.single-post #primary.content-area,
.single-post #main.site-main,
.single-post .entry-content,
.single-post .ct-entry-content {
	max-width: 100% !important;
	width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	box-shadow: none !important;
	border: none !important;
	background: transparent !important;
}
 
/* --- Tokens --- */
.ce-article {
	--amber:        var(--theme-palette-color-1, #FFB300);
	--amber-hover:  var(--theme-palette-color-2, #E0A200);
	--navy:         var(--theme-palette-color-3, #252B52);
	--dark:         var(--theme-palette-color-5, #1A1A2E);
	--gray:         var(--theme-palette-color-6, #8B8FA8);
	--white:        var(--theme-palette-color-7, #FFFFFF);
	--light:        var(--theme-palette-color-8, #E8ECEF);
	--ce-border:    #E2E4EB;
	--ce-ink-muted: #5B6079;
	--ce-amber-ink: #92400E;
	background: var(--white);
	display: block;
}
.ce-article * { box-sizing: border-box; }
.ce-art-inner { max-width: 1120px; margin: 0 auto; padding: 0 26px; }
 
/* ===== HERO ===== */
.ce-art-hero { background: var(--dark); padding: 40px 0; }
.ce-art-kicker {
	font-family: 'Exo 2', sans-serif; font-weight: 700; font-size: 11px;
	letter-spacing: .15em; text-transform: uppercase; color: var(--amber); margin: 0 0 12px;
}
.ce-art-title {
	font-family: 'Exo 2', sans-serif; font-weight: 800; font-size: 34px; line-height: 1.15;
	color: var(--white); margin: 0 0 14px; max-width: 22ch;
}
.ce-art-byline { font-family: 'Lato', sans-serif; font-weight: 300; font-size: 13px; color: var(--gray); margin: 0; }
.ce-art-byline a { color: var(--amber); text-decoration: none; }
.ce-art-byline a:hover { text-decoration: underline; }
 
/* ===== FEATURED BANNER (16:9 + 12% navy scrim) ===== */
.ce-art-banner { max-width: 1120px; margin: 28px auto 0; padding: 0 26px; }
.ce-art-banner-img { display: block; position: relative; border-radius: 10px; overflow: hidden; line-height: 0; }
.ce-art-banner-img img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; filter: saturate(0.86); }
.ce-art-banner-img::after { content: ""; position: absolute; inset: 0; background: var(--navy); opacity: 0.12; pointer-events: none; }
 
/* ===== BODY + SIDEBAR ===== */
.ce-art-wrap { background: var(--white); padding: 32px 0 48px; }
.ce-art-grid { display: flex; gap: 40px; align-items: flex-start; }
.ce-art-body { flex: 1 1 auto; min-width: 0; max-width: 720px; }
.ce-art-side { flex: 0 0 300px; position: sticky; top: 116px; }
.admin-bar .ce-art-side { top: 148px; } /* +32px for the WP toolbar (logged-in only) */
 
/* Body typography */
.ce-art-body p {
	font-family: 'Lato', sans-serif; font-weight: 300; font-size: 17px; line-height: 1.8;
	color: var(--navy); margin: 0 0 20px;
}
.ce-art-body h2 {
	font-family: 'Exo 2', sans-serif; font-weight: 800; font-size: 26px; line-height: 1.25;
	color: var(--navy); margin: 34px 0 14px;
}
.ce-art-body h3 {
	font-family: 'Exo 2', sans-serif; font-weight: 700; font-size: 21px; line-height: 1.3;
	color: var(--navy); margin: 28px 0 12px;
}
.ce-art-body a { color: var(--ce-amber-ink); text-decoration: underline; text-underline-offset: 2px; }
.ce-art-body ul, .ce-art-body ol { font-family: 'Lato', sans-serif; font-weight: 300; font-size: 17px; line-height: 1.7; color: var(--navy); margin: 0 0 20px 1.2em; }
.ce-art-body li { margin-bottom: 8px; }
.ce-art-body img { max-width: 100%; height: auto; border-radius: 8px; }
 
/* Quote block = LENS callout (Raleway italic, amber rule) */
.ce-art-body blockquote {
	font-family: 'Raleway', sans-serif; font-style: italic; font-weight: 400;
	font-size: 20px; line-height: 1.5; color: var(--navy);
	border-left: 3px solid var(--amber); padding: 4px 0 4px 20px; margin: 26px 0;
}
.ce-art-body blockquote p { font-family: inherit; font-style: inherit; font-size: inherit; line-height: inherit; color: inherit; margin: 0 0 10px; }
 
/* The ConnectedEarth Take — add class "ce-take-block" to a group/quote block */
.ce-art-body .ce-take-block {
	background: #F4F6F9; border-left: 4px solid var(--amber); border-radius: 0 8px 8px 0;
	padding: 20px 22px; margin: 30px 0;
}
.ce-art-body .ce-take-block::before {
	content: "The ConnectedEarth Take"; display: block;
	font-family: 'Exo 2', sans-serif; font-weight: 700; font-size: 11px; letter-spacing: .12em;
	text-transform: uppercase; color: var(--ce-amber-ink); margin-bottom: 10px;
}
.ce-art-body .ce-take-block p {
	font-family: 'Raleway', sans-serif; font-style: italic; font-weight: 400;
	font-size: 20px; line-height: 1.5; color: var(--navy); margin: 0 0 10px;
}
.ce-art-body .ce-take-block p:last-child { margin-bottom: 0; }
 
/* ===== SIDEBAR ===== */
.ce-art-box {
	background: var(--white); border: 1px solid var(--ce-border); border-top: 3px solid var(--amber);
	border-radius: 0 0 10px 10px; padding: 16px; margin-bottom: 16px; box-shadow: 0 3px 14px rgba(37, 43, 82, .08);
}
.ce-art-boxlbl {
	font-family: 'Exo 2', sans-serif; font-weight: 700; font-size: 10px; letter-spacing: .12em;
	text-transform: uppercase; color: var(--ce-amber-ink); margin: 0 0 12px;
}
/* Sub-group label inside the Related terms card ("In this piece" / "Related in Mining").
   Deliberately NOT uppercase/letter-spaced — that treatment belongs to .ce-art-boxlbl,
   and repeating it makes the two read as competing headers instead of header + subhead. */
.ce-art-termgrp {
	font-family: 'Exo 2', sans-serif; font-weight: 600; font-size: 11.5px; letter-spacing: 0;
	text-transform: none; color: var(--ce-ink-muted); margin: 0 0 8px;
}
/* Second and subsequent groups get a hairline + breathing room. */
.ce-art-terms + .ce-art-termgrp {
	margin-top: 13px; padding-top: 12px; border-top: 1px solid var(--ce-border);
}
.ce-art-terms { display: flex; flex-wrap: wrap; margin-bottom: 0; }
.ce-art-term {
	position: relative; display: inline-block; font-family: 'Exo 2', sans-serif; font-weight: 700;
	font-size: 11px; color: var(--navy); background: var(--white); border: 1px solid #D6D9E2;
	border-radius: 50px; padding: 4px 11px; margin: 0 5px 6px 0; text-decoration: none;
	transition: border-color .12s ease, color .12s ease;
}
.ce-art-term:hover { border-color: var(--amber); color: var(--ce-amber-ink); }
.ce-art-term[data-def]:hover::after {
	content: attr(data-def); position: absolute; left: 0; bottom: calc(100% + 8px);
	width: 230px; background: var(--dark); color: #fff; font-family: 'Lato', sans-serif; font-weight: 300;
	font-size: 12px; line-height: 1.5; letter-spacing: 0; text-transform: none; padding: 10px 12px;
	border-radius: 8px; box-shadow: 0 8px 20px rgba(0, 0, 0, .28); z-index: 30; white-space: normal; pointer-events: none;
}
 
.ce-art-more { display: block; text-decoration: none; padding: 8px 0; border-top: 1px solid #EEF0F3; }
.ce-art-more:first-of-type { border-top: none; padding-top: 0; }
.ce-art-more-t { display: block; font-family: 'Exo 2', sans-serif; font-weight: 700; font-size: 13px; line-height: 1.3; color: var(--navy); margin-bottom: 3px; }
.ce-art-more:hover .ce-art-more-t { color: var(--ce-amber-ink); }
.ce-art-more-d { font-family: 'JetBrains Mono', monospace; font-size: 10px; color: var(--gray); }
 
.ce-art-backlink { display: inline-block; font-family: 'Exo 2', sans-serif; font-weight: 700; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; color: var(--ce-amber-ink); text-decoration: none; }
.ce-art-backlink:hover { color: var(--amber-hover); }
 
/* ===== Responsive ===== */
@media (max-width: 900px) {
	.ce-art-grid { flex-direction: column; }
	.ce-art-body { max-width: 100%; }
	.ce-art-side { position: static; flex: 1 1 auto; width: 100%; margin-top: 28px; }
	.ce-art-title { font-size: 28px; }
}
 
