/* EconoMonitor theme: tokens and parts not expressible in theme.json. Design system: docs/design-system.md */
:root {
  --em-ink: #0F172A; --em-cobalt: #1E3A8A; --em-cobalt-9: #13255E; --em-aub: #581C87; --em-amber: #B45309;
  --em-slate: #475569; --em-rule: #E2E8F0; --em-mist: #F3F5F9; --em-paper: #FFFFFF;
  --em-serif: "Source Serif 4", Georgia, serif;
  --em-sans: "IBM Plex Sans", system-ui, "Segoe UI", Arial, sans-serif;
  --em-max: 1760px; --em-pad: clamp(16px, 3vw, 48px); /* one container for every band (Layout v2.1) */
}
body { font-variant-numeric: tabular-nums lining-nums; -webkit-text-size-adjust: 100%; }
.em-num, table td, table th { font-variant-numeric: tabular-nums lining-nums; }
a:focus-visible, input:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #93A8E6; outline-offset: 2px; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Header: one row, logo, menu, search */
.em-hd { background: #fff; border-bottom: 1px solid var(--em-rule); }
.em-hd-in { width: 100%; max-width: var(--em-max); margin: 0 auto; padding: 0 var(--em-pad); min-height: 76px; gap: 32px !important; box-sizing: border-box; }
.em-logo { display: block; flex: none; }
.em-logo svg { width: 290px; height: auto; display: block; }
.em-nav { font-family: var(--em-sans); font-size: 15px; font-weight: 500; gap: 26px !important; }
.em-nav a, .em-nav .wp-block-navigation-item__content, .em-nav button { color: var(--em-ink); }
.em-nav .wp-block-navigation__submenu-container { border: 1px solid var(--em-rule) !important; border-radius: 6px; padding: 6px 0; font-weight: 400; }
.em-search, .em-hd-in > .em-search { margin: 0 0 0 auto !important; flex: 0 1 320px; min-width: 0; } /* ends at the content's right edge */
.em-search input { width: 100%; box-sizing: border-box; border: 1px solid var(--em-rule); border-radius: 6px; padding: 9px 12px; font: 15px var(--em-sans); color: var(--em-ink); background: var(--em-mist); }
@media (max-width: 1180px) { .em-logo svg { width: 240px; } .em-nav { gap: 18px !important; } }
@media (max-width: 980px) { .em-hd-in { gap: 12px 16px !important; flex-wrap: wrap !important; padding-top: 10px; padding-bottom: 10px; } .em-search, .em-hd-in > .em-search { flex: 1 1 100%; order: 3; margin-left: 0 !important; } }
@media (max-width: 560px) { .em-hd-in { gap: 12px !important; flex-wrap: wrap !important; padding-top: 10px; padding-bottom: 10px; } .em-logo svg { width: 210px; } .em-search, .em-hd-in > .em-search { flex: 1 1 100%; order: 3; margin-left: 0 !important; } .em-search input { padding: 8px 10px; font-size: 14px; } }

/* Footer: navy */
.em-ft { background: var(--em-ink); color: #CBD5E1; margin-top: 72px; font-size: 14px; }
.em-ft-in { width: 100%; max-width: var(--em-max); margin: 0 auto; padding: 44px var(--em-pad) 36px; box-sizing: border-box; }
.em-ft-cols { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 24px 32px; }
.em-ft p { margin: 0 0 8px; max-width: 80ch; }
.em-ft-h { color: #fff; font-weight: 600; }
.em-ft ul { list-style: none; margin: 0; padding: 0; }
.em-ft li { margin: 0 0 6px; }
.em-ft a { color: #DCE3F7; }
.em-ft-note { border-top: 1px solid #334155; margin-top: 28px !important; padding-top: 18px; }
@media (max-width: 760px) { .em-ft-cols { grid-template-columns: 1fr 1fr; } }


/* Shared helpers for block pages */
.em-card { background: #fff; border: 1px solid var(--em-rule); border-radius: 10px; padding: 24px; }
.em-kicker { text-transform: uppercase; letter-spacing: .08em; font-size: .75rem; font-weight: 600; color: var(--em-amber); }
.em-lead { font-family: var(--em-serif); font-size: 1.25rem; line-height: 1.6; }
.em-source { font-size: .8125rem; color: var(--em-slate); }
.em-rule { height: 4px; display: flex; gap: 4px; }
.em-rule span { flex: 1; }
.em-up::before { content: "\25B2\00A0"; color: var(--em-cobalt); font-size: .8em; }
.em-down::before { content: "\25BC\00A0"; color: var(--em-amber); font-size: .8em; }
@media (max-width: 600px) { .em-card { padding: 16px; } }
