/*
Theme Name: The Health Factor Africa
Theme URI: https://thehealthfactor.africa
Author: The Health Factor Africa
Description: Editorial theme for The Health Factor Africa — verified health stories for Nigeria, Africa and the world. Deep leaf green, signal gold, serif display. Includes clinical-review byline badge, sources block, standard health disclaimer, and Pidgin category styling.
Version: 1.2.1
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: thf-africa
*/

:root{
  --leaf:#0B3D2E; --leaf-dk:#072A20; --gold:#E0A82E; --paper:#EFF2E9;
  --ink:#12211B; --muted:#5C6B62; --rule:#D6DED1; --clay:#C8452F;
  --white:#FBFCFA; --mint:#9FBCAD; --measure:34rem;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);
  font:400 1.0625rem/1.72 Georgia,'Times New Roman',serif}
.sans{font-family:'Helvetica Neue',Arial,sans-serif}
a{color:var(--leaf)}
a:focus-visible,button:focus-visible,input:focus-visible{
  outline:3px solid var(--gold);outline-offset:3px;border-radius:2px}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:74rem;margin:0 auto;padding:0 1.25rem}
.screen-reader-text{position:absolute;left:-9999px}

/* masthead */
.masthead{position:sticky;top:0;z-index:30;background:var(--leaf);border-bottom:3px solid var(--gold)}
.masthead-in{max-width:74rem;margin:0 auto;padding:.8rem 1.25rem;display:flex;align-items:center;gap:.7rem}
.logo-seal{width:36px;height:36px;flex:none}
.wordmark{line-height:1.1;text-decoration:none}
.wordmark b{font-weight:400;font-size:1.1rem;color:#F2F6EF}
.wordmark span{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.58rem;
  letter-spacing:.32em;color:var(--gold);display:block;margin-top:2px}
.masthead nav{margin-left:auto}
.masthead nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1.2rem}
.masthead nav a{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.74rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--mint);text-decoration:none}
.masthead nav a:hover{color:var(--gold)}
@media(max-width:860px){.masthead nav{display:none}}

/* kicker + section heads */
.kicker{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.68rem;
  letter-spacing:.22em;text-transform:uppercase;color:var(--gold);text-decoration:none}
.sec-head{display:flex;align-items:baseline;gap:1rem;margin:0 0 1.6rem;
  border-top:2px solid var(--leaf);padding-top:1.1rem}
.sec-head h2{font-size:1.55rem;font-weight:400;margin:0}
.sec-head .more{margin-left:auto;font-family:'Helvetica Neue',Arial,sans-serif;
  font-size:.78rem;letter-spacing:.1em;color:var(--leaf);text-decoration:none;white-space:nowrap}
.sec-head .more:hover{color:var(--gold)}

/* archive / index cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(15.5rem,1fr));gap:1.9rem;padding:2.5rem 0}
.card{text-decoration:none;color:inherit}
.card .thumb{background:var(--leaf);aspect-ratio:3/2;border-radius:3px;margin-bottom:.8rem;overflow:hidden}
.card .thumb img{width:100%;height:100%;object-fit:cover}
.card .tag{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.64rem;
  letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.card h3{font-size:1.2rem;font-weight:400;margin:.42rem 0 .4rem;line-height:1.3;color:var(--ink)}
.card:hover h3{color:var(--leaf);text-decoration:underline;text-underline-offset:3px}
.card p{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.83rem;color:var(--muted);margin:0 0 .55rem;line-height:1.55}
.chk{display:inline-flex;align-items:center;gap:.35rem;background:var(--leaf);color:#F2F6EF;
  padding:.28rem .6rem;border-radius:99px;font-family:'Helvetica Neue',Arial,sans-serif;
  font-size:.68rem;letter-spacing:.05em}
.chk svg{width:11px;height:11px}

/* single article */
.article{max-width:var(--measure);margin:0 auto;padding:2.75rem 1.25rem 1rem}
.article .eyebrow{display:flex;align-items:center;gap:.55rem;margin-bottom:1.1rem}
.article .eyebrow::after{content:"";flex:1;height:2px;background:var(--gold)}
.article h1{font-size:clamp(2.1rem,6.4vw,3.15rem);line-height:1.08;margin:0 0 .85rem;
  font-weight:400;letter-spacing:-.015em}
.article .dek{font-size:1.19rem;line-height:1.6;color:var(--muted);margin:0 0 1.6rem}
.byline{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.1rem;padding:.95rem 0;
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  font-family:'Helvetica Neue',Arial,sans-serif;font-size:.815rem;color:var(--muted)}
.byline strong{color:var(--ink);font-weight:600}
.verified{display:inline-flex;align-items:center;gap:.4rem;margin-left:auto;
  background:var(--leaf);color:#F2F6EF;padding:.36rem .7rem;border-radius:99px;
  font-size:.72rem;letter-spacing:.06em;white-space:nowrap}
.verified svg{width:13px;height:13px;flex:none}
@media(max-width:560px){.verified{margin-left:0}}

.entry{margin-top:.5rem}
.entry p{margin:1.4rem 0}
.entry>p:first-of-type::first-letter{float:left;font-size:3.55rem;line-height:.82;
  padding:.14em .1em 0 0;color:var(--leaf)}
.entry h2{font-size:1.5rem;font-weight:400;margin:2.6rem 0 .7rem;line-height:1.25}
.entry h2::before{content:"";display:block;width:36px;height:3px;background:var(--gold);margin-bottom:.75rem}
.entry ul{padding-left:1.15rem;margin:1.3rem 0}
.entry li{margin:.55rem 0}
.entry img{border-radius:3px}
.entry figcaption,.wp-caption-text{font-family:'Helvetica Neue',Arial,sans-serif;
  font-size:.775rem;color:var(--muted);margin-top:.6rem;line-height:1.5}
.entry blockquote{border-left:4px solid var(--gold);margin:1.6rem 0;padding:.2rem 0 .2rem 1.2rem;
  font-style:italic;color:var(--muted)}

/* sources + disclaimer */
.sources{margin:3rem 0 0;padding-top:1.4rem;border-top:2px solid var(--leaf)}
.sources h3{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.7rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--leaf);margin:0 0 .9rem}
.sources ol{margin:0;padding-left:1.2rem;font-size:.9rem;line-height:1.62;color:var(--muted)}
.sources li{margin:.5rem 0}
.disclaimer{margin:2rem 0 0;padding:1.1rem 1.25rem;border-radius:2px;background:#FBF1EE;
  border-left:4px solid var(--clay);font-family:'Helvetica Neue',Arial,sans-serif;
  font-size:.855rem;line-height:1.6;color:#6B3B31}
.disclaimer strong{color:var(--clay)}

/* pidgin category accent */
.category-pidgin .article h1 em,.pidgin-note{color:var(--leaf)}
.pidgin-note{display:flex;align-items:center;gap:.75rem;margin:2.3rem 0;padding:.85rem 1.1rem;
  background:var(--leaf);border-radius:3px;font-family:'Helvetica Neue',Arial,sans-serif;
  font-size:.87rem;color:#DCE8E0}
.pidgin-note a{color:var(--gold);font-weight:600;margin-left:auto;white-space:nowrap;text-decoration:none}

/* share row */
.share{display:flex;flex-wrap:wrap;gap:.5rem;margin:2.2rem 0 0}
.share span{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.72rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--muted);width:100%;margin-bottom:.35rem}
.share-btn{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.82rem;cursor:pointer;
  background:none;border:1px solid var(--leaf);color:var(--leaf);padding:.48rem 1rem;
  border-radius:99px;text-decoration:none;display:inline-block;line-height:1.4;
  transition:background .15s,color .15s}
.share-btn:hover{background:var(--leaf);color:var(--paper)}

/* social icons */
.social-links{display:flex;gap:.55rem;flex-wrap:wrap;width:100%;margin-top:1rem}
.social-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;
  border:1px solid rgba(255,255,255,.28);border-radius:50%;color:#B9CFC2;
  transition:background .15s,color .15s,border-color .15s}
.social-icon svg{width:17px;height:17px}
.social-icon:hover{background:var(--gold);color:var(--leaf-dk);border-color:var(--gold)}
@media(min-width:700px){.social-links{width:auto;margin-top:0;margin-left:1rem}}

/* v1.1 — byline extras */
.updated-on{color:var(--clay);font-weight:600}

/* reader capture */
.capture{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin:2.4rem 0 0;
  padding:1.25rem 1.35rem;background:var(--leaf);border-radius:3px;
  font-family:'Helvetica Neue',Arial,sans-serif}
.capture strong{display:block;color:#F2F6EF;font-size:1rem;font-weight:600;margin-bottom:.3rem;
  font-family:Georgia,serif}
.capture span{display:block;color:var(--mint);font-size:.85rem;line-height:1.5}
.capture-btn{background:var(--gold);color:#3D2C05;font-weight:600;font-size:.88rem;
  padding:.65rem 1.2rem;border-radius:99px;text-decoration:none;white-space:nowrap;
  margin-left:auto;transition:opacity .15s}
.capture-btn:hover{opacity:.85}
@media(max-width:520px){.capture-btn{margin-left:0;width:100%;text-align:center}}

/* sticky mobile share */
.sticky-share{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:40;
  display:none;align-items:center;justify-content:center;gap:.55rem;
  background:#25683F;color:#fff;text-decoration:none;padding:.85rem 1rem;border-radius:99px;
  font-family:'Helvetica Neue',Arial,sans-serif;font-size:.92rem;font-weight:600;
  box-shadow:0 6px 20px rgba(0,0,0,.22)}
.sticky-share svg{width:19px;height:19px;fill:currentColor}
@media(max-width:760px){.single .sticky-share{display:flex}}

/* search form */
.thf-search{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.5rem 0 2.5rem}
.thf-search input{flex:1;min-width:12rem;font-family:'Helvetica Neue',Arial,sans-serif;
  font-size:.95rem;padding:.75rem 1rem;border:1px solid var(--rule);border-radius:3px;
  background:var(--white);color:var(--ink)}
.thf-search button{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.9rem;font-weight:600;
  padding:.75rem 1.4rem;border:0;background:var(--leaf);color:var(--paper);
  border-radius:3px;cursor:pointer}
.thf-search button:hover{background:var(--leaf-dk)}

/* related */
.related{background:var(--white);border-top:1px solid var(--rule);margin-top:3.5rem;padding:2.75rem 0 3rem}
.related h2{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.72rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--leaf);margin:0 0 1.5rem;font-weight:600}
.related .cards{padding:0}

/* v1.2 — table of contents */
.toc{background:var(--white);border:1px solid var(--rule);border-left:4px solid var(--leaf);
  border-radius:2px;padding:1.15rem 1.35rem;margin:2rem 0 .5rem}
.toc h2{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.7rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--leaf);margin:0 0 .8rem;font-weight:600}
.toc h2::before{display:none}
.toc ol{margin:0;padding-left:1.15rem;font-family:'Helvetica Neue',Arial,sans-serif;font-size:.9rem}
.toc li{margin:.4rem 0;line-height:1.5}
.toc a{color:var(--ink);text-decoration:none}
.toc a:hover{color:var(--leaf);text-decoration:underline;text-underline-offset:3px}
.entry h2{scroll-margin-top:5.5rem}

/* author bio */
.author-bio{display:flex;gap:1.1rem;align-items:flex-start;margin:2.4rem 0 0;
  padding:1.35rem;background:var(--white);border:1px solid var(--rule);border-radius:2px}
.author-bio .avatar img{border-radius:50%;width:72px;height:72px}
.author-bio .who{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.66rem;
  letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.author-bio h3{font-size:1.15rem;font-weight:400;margin:.3rem 0 .2rem}
.author-bio h3 a{color:var(--ink);text-decoration:none}
.author-bio h3 a:hover{color:var(--leaf);text-decoration:underline;text-underline-offset:3px}
.author-bio .creds{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.8rem;
  color:var(--leaf);margin:0 0 .5rem;font-weight:600}
.author-bio p{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.87rem;
  color:var(--muted);margin:0;line-height:1.6}
@media(max-width:520px){.author-bio{flex-direction:column}}

/* author archive header */
.author-header{display:flex;gap:1.5rem;align-items:flex-start;padding:2.75rem 0 1.5rem;
  border-bottom:1px solid var(--rule);margin-bottom:2rem}
.author-header .avatar img{border-radius:50%;width:88px;height:88px}
.author-header h1{font-size:clamp(1.8rem,5vw,2.4rem);font-weight:400;margin:0 0 .3rem;line-height:1.15}
.author-header .creds{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.9rem;
  color:var(--leaf);font-weight:600;margin:0 0 .7rem}
.author-header .bio{color:var(--muted);margin:0;max-width:40rem}
@media(max-width:600px){.author-header{flex-direction:column;gap:1rem}}

/* pagination */
.pagination{display:flex;gap:.5rem;justify-content:center;padding:1rem 0 3rem;
  font-family:'Helvetica Neue',Arial,sans-serif;font-size:.85rem}
.pagination .page-numbers{border:1px solid var(--leaf);color:var(--leaf);padding:.4rem .85rem;
  border-radius:99px;text-decoration:none}
.pagination .current,.pagination .page-numbers:hover{background:var(--leaf);color:var(--paper)}

/* footer */
.site-footer{background:var(--leaf);color:#B9CFC2;padding:2.8rem 0 2.2rem;margin-top:3.5rem;
  font-family:'Helvetica Neue',Arial,sans-serif;font-size:.83rem}
.foot-top{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;padding-bottom:1.5rem;
  border-bottom:1px solid rgba(255,255,255,.14)}
.foot-top strong{color:#F2F6EF;font-weight:400;font-family:Georgia,serif;font-size:1.05rem}
.foot-top .tagline{font-family:Georgia,serif;color:var(--gold);margin-left:auto}
.site-footer nav ul{list-style:none;margin:1.4rem 0;padding:0;display:flex;flex-wrap:wrap;gap:1.25rem}
.site-footer a{color:#B9CFC2;text-decoration:none}
.site-footer a:hover{color:var(--gold)}
.fineprint{font-size:.75rem;color:#7E9A8B;line-height:1.65;margin:0;
  padding-top:1.3rem;border-top:1px solid rgba(255,255,255,.14)}

@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
