/*
Theme Name: Bellwether
Theme URI: https://example.com/bellwether
Author: Your Name
Author URI: https://example.com
Description: A crisp business and markets theme with a scrolling market ticker, a lead-story hero with a top-stories column, and segmented blocks for markets, the economy and companies. A confident grotesque headline face (Libre Franklin) with a Source Serif reading body, per-category colour accents, light and dark modes, self-hosted fonts and one-click demo content with original artwork.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bellwether
Tags: blog, news, magazine, two-columns, right-sidebar, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, full-width-template
*/

:root {
  --bg: #ffffff;
  --surface: #ffffff;
  --surface-2: #f1f4f7;
  --text: #0b1b2b;
  --text-2: #3a4a5a;
  --muted: #6b7a8a;
  --line: #e1e7ed;
  --accent: #0f7b52;
  --accent-ink: #ffffff;
  --accent-hover: #0b1b2b;
  --accent-hover-ink: #ffffff;
  --up: #0f7b52;
  --down: #c0392b;

  --font-display: "Libre Franklin", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-body: "Source Serif 4", Georgia, "Times New Roman", serif;
  --font-ui: "Libre Franklin", system-ui, -apple-system, "Segoe UI", sans-serif;
  --w-display: 800;
  --lh-display: 1.08;
  --track-display: -0.02em;

  --radius: 8px;
  --radius-ui: 6px;
  --footer-bg: #0b1b2b;
  --footer-text: #eaf0f5;
  --footer-muted: #93a3b3;
  --footer-line: rgba(255,255,255,.12);
  --overlay: linear-gradient(180deg, rgba(5,12,20,0) 30%, rgba(5,12,20,.92) 100%);
}
:root[data-theme="dark"] {
  --bg: #0a0f15;
  --surface: #0f1720;
  --surface-2: #16202b;
  --text: #e8eef4;
  --text-2: #b8c4d0;
  --muted: #7f8d9c;
  --line: #1f2a36;
  --accent: #2b9d6e;
  --accent-ink: #061018;
  --accent-hover: #e8eef4;
  --accent-hover-ink: #0a0f15;
  --up: #34c88a;
  --down: #ef7a6c;
  --footer-bg: #05080c;
}

body { font-size: 17px; }
.meta, .cat, .primary-menu a, .mobile-menu a, .section-link, .widget-title, .btn, .header-cta { font-family: var(--font-ui); }
.brand__name { font-family: var(--font-display); font-weight: 800; font-size: 1.5rem; letter-spacing: -.02em; }
h1, h2, h3, h4, .card__title, .mini__title, .entry-title, .section-title { font-family: var(--font-display); font-weight: 800; letter-spacing: -.02em; }
.entry-content { font-family: var(--font-body); }

.site-header { border-bottom: 1px solid var(--line); }
.primary-menu > li > a { font-weight: 600; font-size: .9rem; }
.header-cta { background: var(--accent); color: #fff; border-radius: var(--radius-ui); font-weight: 700; }
.cat { color: hsl(var(--cat-hue,212) 60% 42%); font-family: var(--font-ui); font-weight: 700; text-transform: uppercase; letter-spacing: .07em; font-size: .71rem; }
[data-theme="dark"] .cat { color: hsl(var(--cat-hue,212) 66% 68%); }
.card-overlay .cat { color: #fff; }
.section-title { font-size: clamp(1.4rem, 2.5vw, 1.95rem); }
.section-head { border-top: 3px solid var(--text); padding-top: .6rem; align-items: center; }

/* ---------- Ticker ---------- */
.bw-ticker { background: var(--text); color: #fff; overflow: hidden; }
[data-theme="dark"] .bw-ticker { background: #05080c; border-block: 1px solid var(--line); }
.bw-ticker__track { display: inline-flex; white-space: nowrap; will-change: transform; animation: bw-marq 42s linear infinite; }
.bw-ticker__grp { display: inline-flex; }
.bw-tick { display: inline-flex; align-items: baseline; gap: .5rem; padding: .55rem 1.25rem; border-right: 1px solid rgba(255,255,255,.12); font-family: var(--font-ui); font-size: .82rem; }
.bw-tick__name { font-weight: 800; letter-spacing: .02em; color: #fff; }
.bw-tick__val { color: rgba(255,255,255,.82); font-variant-numeric: tabular-nums; }
.bw-tick__chg { font-weight: 700; font-variant-numeric: tabular-nums; }
.bw-up { color: #34c88a; }
.bw-down { color: #ff8475; }
@keyframes bw-marq { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.bw-ticker:hover .bw-ticker__track { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) { .bw-ticker__track { animation: none; } .bw-ticker { overflow-x: auto; } }

/* ---------- Hero ---------- */
.bw-hero__grid { display: grid; gap: clamp(22px, 3vw, 36px); }
@media (min-width: 900px) { .bw-hero__grid { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); align-items: start; } }
.bw-hero__lead .media { min-height: 380px; }
.bw-hero__lead .card__title { font-size: clamp(1.7rem, 3.2vw, 2.6rem); }
.bw-hero__list { display: grid; gap: 2px; align-content: start; }
.bw-hero__listhead { font-size: .95rem; text-transform: uppercase; letter-spacing: .1em; color: var(--accent); margin-bottom: .6rem; }
.bw-hero__list .card-row { grid-template-columns: 92px 1fr; gap: 14px; padding: .95rem 0; border-top: 1px solid var(--line); }
.bw-hero__list .card-row:first-of-type { border-top: 0; }
.bw-hero__list .card-row .media { aspect-ratio: 1; border-radius: var(--radius-ui); }
.bw-hero__list .card__title { font-size: 1.05rem; }

/* ---------- Bands / sections ---------- */
.bw-band { background: var(--surface-2); padding-block: clamp(32px, 4vw, 52px); }
.bw-latest .card .media { aspect-ratio: 16/10; }

/* ---------- Signup ---------- */
.bw-signup .signup--band { background: var(--text); color: #fff; border-radius: var(--radius); padding: clamp(28px, 4vw, 48px); display: grid; grid-template-columns: 1fr auto; gap: 1.5rem; align-items: center; }
.bw-signup .signup--band .signup__title { color: #fff; font-family: var(--font-display); font-size: clamp(1.5rem, 2.6vw, 2.1rem); }
.bw-signup .signup--band .signup__desc { color: rgba(255,255,255,.88); }
.bw-signup .signup--band .signup__form { min-width: 320px; }
.bw-signup .signup--band .signup__button { background: var(--accent); color: #fff; }
.bw-signup .signup--band .signup__note { color: rgba(255,255,255,.75); }
@media (max-width: 760px) { .bw-signup .signup--band { grid-template-columns: 1fr; } .bw-signup .signup--band .signup__form { min-width: 0; } }

.entry-content { font-size: 1.12rem; line-height: 1.72; }
.entry-content blockquote { border-left: 3px solid var(--accent); font-family: var(--font-body); font-style: italic; font-size: 1.2rem; }
