/*
Theme Name: Baltic Focus Newsroom 2.0
Theme URI: https://balticfocus.org
Author: Baltic Focus
Description: Event-led editorial theme for Baltic economic coverage.
Version: 2.0.1
Requires at least: 6.9
Requires PHP: 8.0
Text Domain: baltic-focus-newsroom
License: GPL-2.0-or-later
*/

:root {
	--bf-paper:#fff;
	--bf-surface:#f4f8fa;
	--bf-surface-strong:#eaf1f4;
	--bf-ink:#10242c;
	--bf-text:#31464f;
	--bf-muted:#687b83;
	--bf-line:#dbe5e9;
	--bf-line-strong:#aebfc6;
	--bf-accent:#006f78;
	--bf-accent-strong:#004f57;
	--bf-accent-mid:#25919a;
	--bf-accent-light:#75bcc0;
	--bf-accent-soft:#e9f6f7;
	--bf-breaking:#b42318;
	--bf-breaking-soft:#fdf0ee;
}

*{box-sizing:border-box}
html{background:var(--bf-paper);color:var(--bf-ink);scroll-behavior:smooth}
body{margin:0;background:var(--bf-paper);color:var(--bf-ink);font:400 16px/1.5 Inter,Arial,Helvetica,sans-serif}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
a:hover{color:var(--bf-accent);text-decoration:underline;text-underline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--bf-accent);outline-offset:3px}
.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:focus{clip:auto!important;width:auto;height:auto;top:8px;left:8px;padding:10px 14px;background:#fff;z-index:9999}
.page-shell{width:min(1240px,calc(100% - 64px));margin-inline:auto}

.site-header{background:#fff;border-bottom:1px solid var(--bf-line-strong)}
.masthead{min-height:76px;display:flex;align-items:center;gap:28px}
.brand-lockup{display:flex;align-items:center;gap:12px}
.baltic-mark{position:relative;width:30px;height:28px;display:grid;align-content:center;gap:5px}
.baltic-mark:after{content:"";position:absolute;top:3px;right:0;bottom:3px;width:2px;background:var(--bf-accent)}
.baltic-mark i{display:block;width:25px;height:2px;background:var(--bf-accent)}
.baltic-mark i:nth-child(2){background:var(--bf-accent-mid)}
.baltic-mark i:nth-child(3){background:var(--bf-accent-light)}
.wordmark{display:flex;align-items:baseline;gap:.22em;font-size:clamp(1.8rem,3vw,2.35rem);font-weight:800;line-height:1;letter-spacing:-.05em}
.wordmark span:last-child{color:var(--bf-accent)}
.masthead-note{margin:0 0 0 auto;padding-left:18px;border-left:1px solid var(--bf-line-strong);color:var(--bf-muted);font-size:.78rem;line-height:1.4}
.main-nav{display:flex;min-height:44px;align-items:stretch;overflow-x:auto;scrollbar-width:none;border-top:1px solid var(--bf-line)}
.main-nav::-webkit-scrollbar{display:none}
.main-nav a{display:flex;align-items:center;white-space:nowrap;padding:0 18px;font-size:.875rem;font-weight:650;border-right:1px solid var(--bf-line)}
.main-nav a:first-child{padding-left:0;padding-right:26px;color:var(--bf-accent)}
.main-nav .current{color:var(--bf-accent-strong);box-shadow:inset 0 -2px 0 var(--bf-accent)}

.breaking-strip{color:var(--bf-breaking);background:var(--bf-breaking-soft);border-bottom:1px solid #f1c7c2}
.breaking-strip .page-shell{display:flex;gap:16px;padding-block:9px;font-size:.8rem}
.breaking-strip strong{text-transform:uppercase;letter-spacing:.07em}
.dayline{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:20px;padding-block:13px;border-bottom:1px solid var(--bf-line)}
.dayline p,.dayline time{margin:0;color:var(--bf-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.07em}
.dayline h1{margin:0;font-size:.82rem;text-align:center;letter-spacing:.01em}
.dayline time{text-align:right}

.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:14px 0 11px;border-top:1px solid var(--bf-line-strong)}
.section-heading.full{grid-column:1/-1;border-top:0}
.section-heading h2,.section-heading p{display:flex;align-items:center;gap:8px;margin:0;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.section-heading h2:before,.section-heading p:before{content:"";width:7px;height:7px;background:var(--bf-accent)}
.section-heading a,.section-heading span{color:var(--bf-muted);font-size:.8rem}
.top-stories{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:16px;padding-bottom:28px}
.lead-story{overflow:hidden;background:var(--bf-surface);box-shadow:inset 5px 0 0 var(--bf-accent)}
.lead-story-media{margin:0;background:#fff;border-bottom:1px solid var(--bf-line)}
.lead-story-media img{display:block;width:100%;aspect-ratio:2/1;object-fit:cover}
.lead-story-media figcaption{padding:7px 12px 8px;color:var(--bf-muted);font-size:.72rem;text-align:right}
.lead-story-copy{padding:28px 34px 32px}
.story-type,.metadata{margin:0 0 10px;color:var(--bf-accent);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.055em}
.lead-story h2{max-width:680px;margin:0 0 14px;font-size:clamp(2rem,3.4vw,3.25rem);font-weight:760;line-height:1.03;letter-spacing:-.035em}
.lead-story-copy>.summary{max-width:650px;margin:0;color:var(--bf-text);line-height:1.5}
.text-link{display:inline-block;margin-top:14px;color:var(--bf-accent);font-size:.875rem;font-weight:700;border-bottom:1px solid var(--bf-accent)}
.top-signal-strip{display:grid;gap:8px}
.signal-card,.analysis-slot{min-height:0;padding:15px 17px;background:#fff;border:1px solid var(--bf-line)}
.signal-card strong{float:right;margin-left:18px;font-size:1.8rem;line-height:1;font-variant-numeric:tabular-nums}
.signal-card h3{margin:0 0 5px;font-size:1.08rem;line-height:1.2}
.signal-card p:last-child,.analysis-slot p:last-child{margin:0;color:var(--bf-muted);font-size:.82rem;line-height:1.4}
.visual-stat-card{padding:13px 14px 15px}
.data-card-preview{display:block;margin:0 0 11px;background:#fff;border:1px solid var(--bf-line)}
.data-card-preview img{display:block;width:100%;height:auto;object-fit:contain}
.support-thumb{display:block;overflow:hidden;width:132px;height:78px;margin:0 0 10px;border:1px solid var(--bf-line)}.support-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.analysis-slot h3{margin:0 0 5px;font:600 1.12rem/1.18 Georgia,"Times New Roman",serif}

.primary-grid{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(280px,.8fr);gap:48px;padding-top:52px}
.filter-row{display:flex;gap:16px;flex-wrap:wrap;padding:0 0 16px}
.filter-row a,.filter-row span{padding:3px 0;color:var(--bf-muted);border-bottom:1px solid transparent;font-size:.8rem}
.filter-row .active{color:var(--bf-accent);border-color:var(--bf-accent);font-weight:700}
.event-stream{position:relative;border-top:1px solid var(--bf-line)}
.event-stream:before{content:"";position:absolute;inset:0 auto 0 5px;width:1px;background:var(--bf-line-strong)}
.event-row{position:relative;display:grid;grid-template-columns:96px minmax(0,1fr) 132px;gap:22px;min-height:132px;padding:21px 0 21px 24px;border-bottom:1px solid var(--bf-line)}
.event-row:before{content:"";position:absolute;top:25px;left:1px;width:9px;height:9px;background:#fff;border:2px solid var(--bf-accent)}
.event-when{color:var(--bf-muted);font-size:.72rem;line-height:1.5;text-transform:uppercase}
.event-when time,.event-when span{display:block}
.metadata{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:7px}
.metadata span{padding-right:9px;border-right:1px solid var(--bf-line)}
.metadata .status{color:var(--bf-accent-strong);border-right:0}
.metadata .status:before{content:"●";margin-right:5px;color:var(--bf-accent-mid);font-size:.65em}
.event-body h2,.event-body h3{margin:0 0 7px;font-size:clamp(1.18rem,2vw,1.48rem);line-height:1.18}
.event-body>.summary{margin:0 0 9px;color:var(--bf-text);font-size:.95rem;line-height:1.5}
.event-body small{color:var(--bf-muted);font-size:.75rem}
.event-aside{display:flex;flex-direction:column;align-items:stretch;gap:10px}
.event-visual-badge{position:relative;display:block;overflow:hidden;width:132px;height:78px;background:var(--bf-surface);border:1px solid var(--bf-line)}
.event-visual-badge img{display:block;width:100%;height:100%;object-fit:cover}
.event-visual-badge.data-card img{object-fit:contain;background:#fff}
.event-visual-badge span{position:absolute;right:4px;bottom:4px;padding:3px 5px;color:var(--bf-ink);background:#fffffff0;border:1px solid var(--bf-line-strong);font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.event-figure{text-align:right;font-size:1.15rem;font-weight:700;font-variant-numeric:tabular-nums}
.statistics-rail{display:grid;align-content:start;gap:1px;background:var(--bf-line)}
.statistics-rail .section-heading{padding-inline:0;background:#fff;border-top-color:var(--bf-accent)}
.stat-row{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:17px;background:var(--bf-surface)}
.stat-row>span{font-weight:700}.stat-row strong{font-size:1.35rem;line-height:1;font-variant-numeric:tabular-nums}.stat-row small{grid-column:1/-1;color:var(--bf-muted);line-height:1.4}

.sector-section,.analysis-section{padding-top:64px}
.sector-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--bf-ink);border-left:1px solid var(--bf-line)}
.sector-cell{min-height:148px;padding:20px;background:#fff;border-right:1px solid var(--bf-line);border-bottom:1px solid var(--bf-line)}
.sector-cell>span{color:var(--bf-accent);font-size:.72rem;font-weight:800}.sector-cell h3{max-width:240px;margin:24px 0 8px;font-size:1.25rem;line-height:1.12}.sector-cell p{margin:0;color:var(--bf-muted);font-size:.78rem}
.cross-section-card{display:grid;grid-template-columns:minmax(190px,.75fr) minmax(0,1.6fr) auto;align-items:center;gap:28px;margin-top:20px;padding:24px 26px;background:var(--bf-surface);border-top:3px solid var(--bf-accent);border-bottom:1px solid var(--bf-line)}
.cross-section-card h3{margin:4px 0 0;font-size:1.45rem}.cross-section-card>p{margin:0;color:var(--bf-text);font-size:.9rem}.cross-section-card>strong{color:var(--bf-accent-strong);font-size:.8rem;white-space:nowrap}
.analysis-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--bf-ink)}
.analysis-grid article{min-height:228px;padding:24px 28px 28px 0;border-right:1px solid var(--bf-line)}
.analysis-grid article+article{padding-left:28px}.analysis-grid article:last-child{border-right:0}.analysis-grid h3{margin:26px 0 10px;font:600 clamp(1.35rem,2.2vw,1.8rem)/1.12 Georgia,"Times New Roman",serif}.analysis-grid .summary{color:var(--bf-text)}
.analysis-thumb{display:block;overflow:hidden;width:132px;height:78px;margin-bottom:16px;border:1px solid var(--bf-line)}.analysis-thumb img{display:block;width:100%;height:100%;object-fit:cover}

.page-intro{padding:42px 0 28px;border-bottom:1px solid var(--bf-ink)}
.page-intro .eyebrow{color:var(--bf-accent);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.page-intro h1{max-width:880px;margin:12px 0;font-size:clamp(2.35rem,5vw,4.2rem);font-weight:760;line-height:1;letter-spacing:-.045em}
.page-intro>p:last-child{max-width:720px;color:var(--bf-text);line-height:1.6}
.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:48px;padding-top:40px}
.side-nav{align-self:start;padding:0 18px 18px;background:#fff;border:1px solid var(--bf-line)}
.side-nav a{display:block;padding:13px 0;border-top:1px solid var(--bf-line);font-size:.88rem;font-weight:650}
.listing-stack{border-top:1px solid var(--bf-line)}
.listing-card{padding:23px 0;border-bottom:1px solid var(--bf-line)}
.listing-card.has-visual{display:grid;grid-template-columns:minmax(0,1fr) 132px;gap:24px;align-items:start}
.listing-card h2{margin:4px 0 8px;font-size:clamp(1.3rem,2.4vw,1.8rem);line-height:1.15}.listing-card .summary{max-width:760px;margin:0;color:var(--bf-text)}
.empty-state{padding:38px 0;border-top:1px solid var(--bf-line);border-bottom:1px solid var(--bf-line)}
.empty-state h2{margin:0 0 8px;font:600 1.6rem/1.2 Georgia,serif}.empty-state p{margin:0;color:var(--bf-muted)}
.pagination{display:flex;gap:8px;flex-wrap:wrap;padding-top:32px}.pagination .page-numbers{padding:7px 11px;border:1px solid var(--bf-line)}.pagination .current{color:#fff;background:var(--bf-accent);border-color:var(--bf-accent)}

.statistics-page-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:42px;background:var(--bf-line);border:1px solid var(--bf-line)}
.series-card{min-height:250px;display:flex;flex-direction:column;padding:24px;background:#fff}.series-card p{margin:0;color:var(--bf-accent);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.series-card strong{margin:42px 0 12px;font-size:2.35rem;line-height:1;font-variant-numeric:tabular-nums}.series-card span{color:var(--bf-text)}.series-card small{margin-top:auto;padding-top:28px;color:var(--bf-muted)}
.country-lead{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);margin-top:38px;background:var(--bf-surface);border-top:3px solid var(--bf-accent)}
.country-lead figure{margin:0;min-height:280px}.country-lead img{display:block;width:100%;height:100%;min-height:280px;object-fit:cover}.country-lead-copy{padding:34px}.country-lead h2{margin:10px 0 14px;font-size:clamp(1.8rem,3vw,2.75rem);line-height:1.05;letter-spacing:-.03em}.country-lead .summary{color:var(--bf-text)}

.content-article{padding-top:34px}
.article-header{padding-bottom:28px;border-bottom:1px solid var(--bf-ink)}
.article-back{display:inline-block;margin-bottom:28px;color:var(--bf-muted);font-size:.78rem;font-weight:700}
.article-header .eyebrow{margin:0 0 12px;color:var(--bf-accent);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.article-header h1{max-width:1000px;margin:0;font-size:clamp(2.25rem,5vw,4.25rem);font-weight:760;line-height:.99;letter-spacing:-.045em}
.article-deck{max-width:780px;margin:18px 0 0;color:var(--bf-text);font:500 clamp(1.05rem,1.6vw,1.25rem)/1.5 Georgia,"Times New Roman",serif}
.article-author{margin-top:20px;font-size:.9rem}.article-author span{display:block;color:var(--bf-muted);font-size:.78rem}
.article-header-meta{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px;color:var(--bf-muted);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.045em}.article-header-meta>*{padding-right:9px;border-right:1px solid var(--bf-line-strong)}.article-header-meta>*:last-child{border-right:0}.article-header-meta .status{color:var(--bf-accent-strong)}
.article-reading-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(250px,300px);gap:52px;align-items:start;padding-top:28px}
.article-main-column{min-width:0}.article-visual{margin:0}.article-visual-frame{overflow:hidden;background:var(--bf-surface);border:1px solid var(--bf-line)}.article-visual img{display:block;width:100%;height:auto;object-fit:contain}.article-visual.photo .article-visual-frame{height:clamp(190px,27vw,265px)}.article-visual.photo img{height:100%;object-fit:cover}.article-visual figcaption{display:flex;justify-content:space-between;gap:16px;padding:8px 2px 0;color:var(--bf-muted);font-size:.7rem;line-height:1.4}.article-visual figcaption a{color:var(--bf-accent);font-weight:700}
.detail-body{max-width:760px;padding-top:30px;color:var(--bf-text);font:400 1.05rem/1.75 Georgia,"Times New Roman",serif}.detail-body p:first-child{margin-top:0}.detail-body h2,.detail-body h3{color:var(--bf-ink);font-family:Inter,Arial,sans-serif;line-height:1.2}.detail-body a{text-decoration:underline;text-decoration-color:var(--bf-line-strong)}
.article-signal{display:grid;grid-template-columns:120px 1fr;gap:22px;margin-top:32px;padding:20px 0;border-top:1px solid var(--bf-accent);border-bottom:1px solid var(--bf-line)}.article-signal>span{color:var(--bf-accent);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.article-signal>p{margin:0;color:var(--bf-ink);font:600 1.08rem/1.45 Georgia,serif}
.source-box{margin-top:32px;padding:18px;background:#fff;border:1px solid var(--bf-line)}.source-box p{margin:0;font-family:Inter,Arial,sans-serif;font-size:.85rem}.source-box p+p{margin-top:7px}.source-box-label{color:var(--bf-accent);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.source-box a{font-weight:700;text-decoration:underline}.correction-note{margin-top:24px;padding:16px 18px;background:var(--bf-surface);border-left:3px solid var(--bf-accent);font-size:.85rem}
.article-footer-nav{display:flex;justify-content:space-between;gap:24px;margin-top:52px;padding:20px 0;border-top:1px solid var(--bf-line-strong)}.article-footer-nav a{color:var(--bf-accent);font-size:.82rem;font-weight:750}
.related-rail{position:sticky;top:20px;border-top:1px solid var(--bf-ink)}.related-rail-title{margin:0;padding:12px 0 10px;color:var(--bf-muted);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.related-rail article{padding:17px 0 19px;border-top:1px solid var(--bf-line)}.related-rail article>p{margin:0 0 8px;color:var(--bf-accent);font-size:.72rem;font-weight:700;text-transform:uppercase}.related-rail article>strong{float:right;margin:0 0 8px 14px;color:var(--bf-accent-strong);font-size:1.35rem;line-height:1}.related-rail .related-rail-figure{min-height:132px;display:flex;flex-direction:column;padding:18px;background:var(--bf-accent-soft);border-top-color:#bddfe1}.related-rail .related-rail-figure>strong{float:none;margin:auto 0 8px;font-size:2.5rem;letter-spacing:-.04em}.related-rail .related-rail-figure>span{color:var(--bf-muted);font-size:.72rem}.related-rail h2{margin:0;font:600 1.16rem/1.2 Georgia,"Times New Roman",serif}
.newsletter-showcase{display:grid;grid-template-columns:1.35fr .65fr;gap:44px;margin-top:64px;padding:30px;background:var(--bf-surface);border-top:3px solid var(--bf-accent)}.newsletter-showcase h2{margin:6px 0 14px;font-size:1.9rem}.newsletter-examples{margin:0;padding-left:20px}.newsletter-examples li+li{margin-top:8px}.newsletter-form{align-self:center}.newsletter-form input[type=email],.newsletter-form input[type=text]{width:100%;padding:12px;border:1px solid var(--bf-line-strong)}.newsletter-form input[type=submit],.newsletter-form button{padding:12px 18px;color:#fff;background:var(--bf-accent);border:0;font-weight:700}
.search-form{display:flex;gap:8px;max-width:620px}.search-form label{flex:1}.search-form input{width:100%;padding:12px;border:1px solid var(--bf-line-strong);font:inherit}.search-form button{padding:12px 18px;color:#fff;background:var(--bf-accent);border:0;font-weight:700}

.site-footer{margin-top:72px;padding:42px 0 58px;color:#edf3f3;background:var(--bf-ink)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:64px}.footer-grid strong{font:600 1.7rem/1 Georgia,serif}.footer-grid p{color:#b4c1c4}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:9px}.footer-label{margin:0 0 7px;color:#9bc6ca!important;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}

@media(max-width:980px){
	.page-shell{width:min(100% - 40px,1240px)}
	.top-stories,.primary-grid,.content-layout,.country-lead,.newsletter-showcase{grid-template-columns:1fr}
	.top-signal-strip{grid-template-columns:repeat(3,1fr)}
	.statistics-rail{grid-template-columns:repeat(2,1fr)}.statistics-rail .section-heading{grid-column:1/-1}
	.sector-grid,.analysis-grid{grid-template-columns:repeat(2,1fr)}
	.analysis-grid article:nth-child(2n){border-right:0}.analysis-grid article+article{padding-left:24px}
	.statistics-page-grid{grid-template-columns:repeat(2,1fr)}
	.article-reading-layout{grid-template-columns:minmax(0,1fr) 250px;gap:34px}
}
@media(max-width:700px){
	.page-shell{width:calc(100% - 28px)}
	.masthead{min-height:64px}.masthead-note{display:none}.wordmark{font-size:1.75rem}.main-nav{margin-inline:-14px;padding-left:14px}.main-nav a{min-height:44px;padding-inline:14px}
	.dayline{grid-template-columns:1fr auto}.dayline h1{display:none}.dayline p{font-size:.68rem}.dayline time{font-size:.68rem}
	.top-stories{display:block}.top-stories>.section-heading{margin-bottom:0}.lead-story-copy{padding:22px 22px 25px}.lead-story h2{font-size:2rem}.top-signal-strip{grid-template-columns:1fr;margin-top:10px}
	.primary-grid{padding-top:36px}.event-row{grid-template-columns:72px minmax(0,1fr);gap:14px;padding-left:20px}.event-aside{grid-column:2;display:flex;flex-direction:row;align-items:center}.event-visual-badge{width:112px;height:66px}.event-figure{margin-left:auto}
	.statistics-rail,.sector-grid,.analysis-grid,.statistics-page-grid{grid-template-columns:1fr}.analysis-grid article,.analysis-grid article+article{padding:22px 0;border-right:0;border-bottom:1px solid var(--bf-line)}
	.cross-section-card{grid-template-columns:1fr;gap:10px}.cross-section-card>strong{white-space:normal}
	.page-intro{padding-top:30px}.page-intro h1{font-size:2.4rem}.content-layout{padding-top:28px}.side-nav{display:none}
	.country-lead figure,.country-lead img{min-height:190px}.country-lead-copy{padding:24px}
	.article-header h1{font-size:2.35rem}.article-reading-layout{display:block}.article-visual.photo .article-visual-frame{height:210px}.related-rail{position:static;margin-top:42px}.article-signal{grid-template-columns:1fr;gap:8px}
	.footer-grid{grid-template-columns:1fr;gap:28px}.newsletter-showcase{padding:22px}
}
