/*
Theme Name: Town Crier Africa
Theme URI: https://towncrierafrica.com/
Author: Town Crier Africa
Author URI: https://towncrierafrica.com/
Description: Editorial, magazine-style WordPress theme for Town Crier Africa — an independent pan-African newsroom amplifying African narratives across politics, economy, business, sports, tech, art & culture and opinion. Black-and-gold masthead, accessible responsive layouts, first-class archives, live markets and weather, Africa Newsroom integration, professional article tools and Jetpack Newsletter support. Ported from the Town Crier Africa TanStack Start build (2026).
Version: 3.1.7
Requires at least: 6.4
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: towncrier-africa
Tags: news, magazine, editorial, blog, one-column, two-columns, right-sidebar, custom-menu, featured-images, translation-ready, block-styles, wide-blocks, rtl-language-support

Town Crier Africa WordPress Theme, (C) 2026 Town Crier Africa.
Town Crier Africa is distributed under the terms of the GNU GPL.

Screenshot: screenshot.png (1200 x 900)
Credits:
  - Typography: Playfair Display (SIL OFL), Public Sans (SIL OFL), Source Serif 4 (SIL OFL) — self-hosted
  - Icons: Lucide (ISC License) — https://lucide.dev
  - Photon image proxy: Jetpack (GPLv2) — https://jetpack.com
  - Newsletter transport: Jetpack Newsletter, with a configurable Formspree fallback
  - Markets ticker: TradingView embed (TradingView TOS)
  - Weather strip: Open-Meteo
  - Press-release feed: Africa Newsroom / APO Group (https://www.africa-newsroom.com/)
*/

/* -----------------------------------------------------------
   Design tokens — mirror src/styles.css from the React build.
   Component styles live in assets/css/theme.css. This file carries the theme
   header + base tokens so classic templates that don't use the
   compiled bundle still get brand colours.
   ----------------------------------------------------------- */

:root {
  --ink: #1a1815;
  --paper: #faf8f2;
  --rule: #dcd6c9;
  --gold: #D4AF37;
  --gold-deep: #A6821F;
  --tag: #706a5c;
  --background: var(--paper);
  --foreground: var(--ink);
}

html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: "Public Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;
  font-size: 17px;
  line-height: 1.6;
}
a { color: inherit; }
a:hover { color: var(--gold-deep); }

/* Screen-reader helper required by WordPress theme review. */
.screen-reader-text {
  border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
  height: 1px; width: 1px; margin: -1px; overflow: hidden;
  padding: 0; position: absolute !important; word-wrap: normal !important;
}
.screen-reader-text:focus {
  background-color: #fff; clip: auto !important; clip-path: none;
  color: #000; display: block; font-size: 14px; height: auto;
  left: 5px; line-height: normal; padding: 15px 23px 14px;
  text-decoration: none; top: 5px; width: auto; z-index: 100000;
}

/* Affiliate ad slots — retained as fallback styling for legacy markup. */
.tca-ad { margin: 0 0 24px; }
.tca-ad a { display: block; overflow: hidden; border-radius: 8px; border: 1px solid rgba(0,0,0,.08); background: #fff; }
.tca-ad img { display: block; width: 100%; height: auto; }
.tca-ad__disclosure { margin: 6px 2px 0; font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--tag); }
.tca-ad--deal { padding: 16px; background: #f7f4ec; border: 1px solid rgba(0,0,0,.08); border-radius: 10px; }
.tca-ad__kicker { font-size: 10px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: var(--gold-deep); }
.tca-ad__title { margin: 6px 0 4px; font-family: "Playfair Display", Georgia, serif; font-size: 17px; line-height: 1.25; font-weight: 800; }
.tca-ad__price { margin: 0 0 10px; font-size: 12px; color: var(--tag); }
.tca-ad__price s { opacity: .7; margin-left: 6px; }
.tca-ad__ctas { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.tca-btn { display: inline-flex; align-items: center; justify-content: center; padding: 9px 12px; font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; text-decoration: none; border-radius: 4px; }
.tca-btn--gold { background: var(--gold); color: var(--ink); }
.tca-btn--gold:hover { background: var(--gold-deep); color: #fff; }
.tca-btn--ghost { background: transparent; color: var(--ink); border: 1px solid var(--ink); }
.tca-btn--ghost:hover { background: var(--ink); color: #fff; }
