/*
Theme Name: KNOWBIO
Theme URI: https://www.knowbio.com.ng
Author: KNOWBIO Editorial
Author URI: https://www.knowbio.com.ng
Description: A premium, fast, mobile-first editorial biography theme for public-figure profiles: net worth, career, family and life stories. Built with strong technical SEO (schema, breadcrumbs, canonical support), AdSense-ready ad slots, and native WordPress custom fields — no page builder required.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
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: knowbio
Tags: blog, news, custom-colors, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, editor-style

KNOWBIO is a standalone WordPress theme (no parent theme required).
*/

/* -----------------------------------------------------------
   1. CSS VARIABLES / BRAND SYSTEM
----------------------------------------------------------- */
:root{
  --kb-black:#000000;
  --kb-white:#ffffff;
  --kb-blue:#1565C0;
  --kb-blue-dark:#0D47A1;
  --kb-blue-light:#E8F1FC;
  --kb-gray-50:#F7F8FA;
  --kb-gray-100:#EEF0F3;
  --kb-gray-200:#DEE2E7;
  --kb-gray-400:#8A919B;
  --kb-gray-600:#565D66;
  --kb-gray-800:#22252A;
  --kb-border-radius:8px;
  --kb-max-width:1200px;
  --kb-font-body: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --kb-font-heading: 'Plus Jakarta Sans', 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --kb-shadow-sm: 0 1px 2px rgba(0,0,0,.06);
  --kb-shadow-md: 0 4px 16px rgba(0,0,0,.08);
}

/* -----------------------------------------------------------
   2. RESET / BASE
----------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--kb-font-body);
  color:var(--kb-black);
  background:var(--kb-white);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--kb-blue);text-decoration:none;transition:color .15s ease;}
a:hover{color:var(--kb-blue-dark);text-decoration:underline;}
h1,h2,h3,h4,h5,h6{font-family:var(--kb-font-heading);font-weight:700;line-height:1.25;color:var(--kb-black);margin:0 0 .5em;}
h1{font-size:clamp(1.75rem,4vw,2.5rem);}
h2{font-size:clamp(1.4rem,3vw,1.9rem);}
h3{font-size:1.3rem;}
p{margin:0 0 1.2em;}
ul,ol{padding-left:1.3em;}
table{border-collapse:collapse;width:100%;}
button,input,select,textarea{font-family:inherit;font-size:1rem;}

.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--kb-black);color:var(--kb-white);padding:.75em 1.2em;z-index:100000;}
.skip-link:focus{left:8px;top:8px;}

:focus-visible{outline:3px solid var(--kb-blue);outline-offset:2px;}

.kb-container{max-width:var(--kb-max-width);margin:0 auto;padding:0 20px;}
.kb-visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}

/* -----------------------------------------------------------
   3. HEADER
----------------------------------------------------------- */
.kb-site-header{border-bottom:1px solid var(--kb-gray-200);background:var(--kb-white);position:sticky;top:0;z-index:999;}
.kb-header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 20px;max-width:var(--kb-max-width);margin:0 auto;}
.kb-logo{font-family:var(--kb-font-heading);font-weight:800;font-size:1.5rem;color:var(--kb-black);letter-spacing:-0.5px;display:flex;align-items:center;}
.kb-logo span{color:var(--kb-blue);}
.kb-logo img{max-height:40px;width:auto;}

.kb-primary-nav{display:none;}
.kb-primary-nav ul{display:flex;gap:6px;list-style:none;margin:0;padding:0;}
.kb-primary-nav a{color:var(--kb-black);font-weight:600;font-size:.95rem;padding:8px 12px;border-radius:6px;}
.kb-primary-nav a:hover{background:var(--kb-blue-light);color:var(--kb-blue-dark);text-decoration:none;}

.kb-header-actions{display:flex;align-items:center;gap:10px;}
.kb-search-toggle,.kb-menu-toggle{background:none;border:1px solid var(--kb-gray-200);border-radius:6px;padding:8px 10px;cursor:pointer;display:flex;align-items:center;color:var(--kb-black);}
.kb-search-toggle:hover,.kb-menu-toggle:hover{background:var(--kb-gray-50);}

.kb-header-search{display:none;padding:14px 20px;border-top:1px solid var(--kb-gray-200);background:var(--kb-gray-50);}
.kb-header-search.is-open{display:block;}
.kb-header-search form{max-width:var(--kb-max-width);margin:0 auto;display:flex;gap:8px;}
.kb-header-search input[type="search"]{flex:1;padding:10px 14px;border:1px solid var(--kb-gray-200);border-radius:6px;}
.kb-header-search button{background:var(--kb-blue);color:#fff;border:0;border-radius:6px;padding:10px 16px;cursor:pointer;font-weight:600;}

.kb-mobile-nav{display:none;background:var(--kb-white);border-top:1px solid var(--kb-gray-200);}
.kb-mobile-nav.is-open{display:block;}
.kb-mobile-nav ul{list-style:none;margin:0;padding:8px 20px 16px;}
.kb-mobile-nav a{display:block;padding:10px 0;color:var(--kb-black);font-weight:600;border-bottom:1px solid var(--kb-gray-100);}

@media(min-width:960px){
  .kb-primary-nav{display:block;}
  .kb-menu-toggle{display:none;}
}

/* -----------------------------------------------------------
   4. BREADCRUMBS
----------------------------------------------------------- */
.kb-breadcrumbs{font-size:.85rem;color:var(--kb-gray-600);padding:14px 0;}
.kb-breadcrumbs a{color:var(--kb-gray-600);}
.kb-breadcrumbs a:hover{color:var(--kb-blue);}
.kb-breadcrumbs .sep{margin:0 6px;color:var(--kb-gray-400);}

/* -----------------------------------------------------------
   5. FEATURED / HERO
----------------------------------------------------------- */
.kb-hero{padding:28px 0;border-bottom:1px solid var(--kb-gray-100);}
.kb-hero-label{color:var(--kb-blue);font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;display:block;}
.kb-hero-grid{display:grid;grid-template-columns:1fr;gap:20px;}
.kb-hero-image{border-radius:var(--kb-border-radius);overflow:hidden;aspect-ratio:16/9;background:var(--kb-gray-100);}
.kb-hero-image img{width:100%;height:100%;object-fit:cover;}
.kb-hero-excerpt{color:var(--kb-gray-600);}
.kb-btn{display:inline-block;background:var(--kb-blue);color:#fff;padding:10px 18px;border-radius:6px;font-weight:600;font-size:.9rem;}
.kb-btn:hover{background:var(--kb-blue-dark);color:#fff;text-decoration:none;}
@media(min-width:800px){
  .kb-hero-grid{grid-template-columns:1.3fr 1fr;align-items:center;}
}

/* -----------------------------------------------------------
   6. SECTIONS / CARDS / GRIDS
----------------------------------------------------------- */
.kb-section{padding:36px 0;}
.kb-section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:18px;border-bottom:2px solid var(--kb-black);padding-bottom:10px;}
.kb-section-head h2{margin:0;}
.kb-section-head .kb-view-all{font-size:.85rem;font-weight:700;color:var(--kb-blue);white-space:nowrap;}

.kb-grid{display:grid;grid-template-columns:1fr;gap:20px;}
@media(min-width:640px){.kb-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:960px){.kb-grid{grid-template-columns:repeat(3,1fr);}}

.kb-card{background:#fff;border:1px solid var(--kb-gray-100);border-radius:var(--kb-border-radius);overflow:hidden;transition:box-shadow .15s ease;}
.kb-card:hover{box-shadow:var(--kb-shadow-md);}
.kb-card-thumb{aspect-ratio:4/3;background:var(--kb-gray-100);overflow:hidden;}
.kb-card-thumb img{width:100%;height:100%;object-fit:cover;}
.kb-card-body{padding:14px 16px 18px;}
.kb-card-cat{color:var(--kb-blue);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;}
.kb-card-title{font-size:1.05rem;margin:6px 0;}
.kb-card-title a{color:var(--kb-black);}
.kb-card-title a:hover{color:var(--kb-blue);text-decoration:none;}
.kb-card-excerpt{color:var(--kb-gray-600);font-size:.9rem;margin-bottom:8px;}
.kb-card-meta{font-size:.78rem;color:var(--kb-gray-400);}
.kb-read-more{font-size:.82rem;font-weight:700;color:var(--kb-blue);}

.kb-list-row{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--kb-gray-100);}
.kb-list-row .kb-card-thumb{width:110px;flex:0 0 110px;aspect-ratio:1/1;border-radius:6px;}
.kb-list-row .kb-card-body{padding:0;}

/* -----------------------------------------------------------
   7. LAYOUT (content + sidebar)
----------------------------------------------------------- */
.kb-layout{display:grid;grid-template-columns:1fr;gap:36px;padding:24px 0 48px;}
@media(min-width:960px){
  .kb-layout{grid-template-columns:2.2fr 1fr;}
  .kb-layout.kb-no-sidebar{grid-template-columns:1fr;}
}
.kb-sidebar-widget{background:var(--kb-gray-50);border-radius:var(--kb-border-radius);padding:18px;margin-bottom:20px;}
.kb-sidebar-widget h3{font-size:1.05rem;border-bottom:2px solid var(--kb-blue);padding-bottom:8px;margin-bottom:12px;}
.kb-sidebar-widget ul{list-style:none;margin:0;padding:0;}
.kb-sidebar-widget li{padding:8px 0;border-bottom:1px solid var(--kb-gray-100);font-size:.92rem;}
.kb-sidebar-widget li:last-child{border-bottom:0;}
.kb-sidebar-search input{width:100%;padding:10px;border:1px solid var(--kb-gray-200);border-radius:6px;margin-bottom:8px;}
.kb-sidebar-search button{width:100%;background:var(--kb-blue);color:#fff;border:0;border-radius:6px;padding:10px;font-weight:600;cursor:pointer;}

/* -----------------------------------------------------------
   8. SINGLE BIOGRAPHY ARTICLE
----------------------------------------------------------- */
.kb-article-header{padding:20px 0;}
.kb-article-header h1{margin-bottom:14px;}
.kb-article-meta{display:flex;flex-wrap:wrap;gap:14px;font-size:.85rem;color:var(--kb-gray-600);align-items:center;border-top:1px solid var(--kb-gray-100);border-bottom:1px solid var(--kb-gray-100);padding:12px 0;margin-bottom:20px;}
.kb-article-meta strong{color:var(--kb-black);}
.kb-featured-image{border-radius:var(--kb-border-radius);overflow:hidden;margin-bottom:24px;aspect-ratio:16/9;background:var(--kb-gray-100);}
.kb-featured-image img{width:100%;height:100%;object-fit:cover;}
.kb-featured-caption{font-size:.82rem;color:var(--kb-gray-400);margin-top:6px;text-align:center;}

.kb-toc{background:var(--kb-gray-50);border-left:4px solid var(--kb-blue);border-radius:6px;padding:18px 20px;margin:24px 0;}
.kb-toc summary{font-weight:700;cursor:pointer;font-family:var(--kb-font-heading);}
.kb-toc ol{margin:12px 0 0;padding-left:1.2em;}
.kb-toc a{color:var(--kb-black);font-weight:600;}
.kb-toc a:hover{color:var(--kb-blue);}

.kb-article-content{font-size:1.08rem;color:var(--kb-gray-800);}
.kb-article-content h2{margin-top:1.6em;scroll-margin-top:90px;}
.kb-article-content h3{margin-top:1.3em;scroll-margin-top:90px;}
.kb-article-content blockquote{border-left:4px solid var(--kb-blue);margin:1.4em 0;padding:.2em 1.2em;color:var(--kb-gray-600);font-style:italic;}
.kb-article-content img{border-radius:6px;}

/* Biography Info Box */
.kb-bio-box{background:var(--kb-white);border:1px solid var(--kb-gray-200);border-radius:var(--kb-border-radius);margin:24px 0;overflow:hidden;box-shadow:var(--kb-shadow-sm);}
.kb-bio-box-head{background:var(--kb-black);color:#fff;padding:12px 18px;font-family:var(--kb-font-heading);font-weight:700;font-size:.95rem;letter-spacing:.03em;text-transform:uppercase;}
.kb-bio-box-body{padding:6px 18px;}
.kb-bio-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--kb-gray-100);font-size:.92rem;}
.kb-bio-row:last-child{border-bottom:0;}
.kb-bio-row dt{color:var(--kb-gray-600);font-weight:600;margin:0;flex:0 0 42%;}
.kb-bio-row dd{margin:0;font-weight:600;text-align:right;color:var(--kb-black);}
@media(max-width:480px){
  .kb-bio-row{flex-direction:column;gap:2px;}
  .kb-bio-row dd{text-align:left;}
}

/* Net Worth box */
.kb-networth-box{background:linear-gradient(135deg,var(--kb-blue-light),#fff);border:1px solid var(--kb-blue);border-radius:var(--kb-border-radius);padding:20px;margin:24px 0;text-align:center;}
.kb-networth-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--kb-blue-dark);font-weight:700;}
.kb-networth-value{font-family:var(--kb-font-heading);font-size:2rem;font-weight:800;color:var(--kb-black);margin:6px 0;}
.kb-networth-meta{font-size:.82rem;color:var(--kb-gray-600);}
.kb-networth-disclaimer{font-size:.78rem;color:var(--kb-gray-400);margin-top:10px;border-top:1px solid var(--kb-gray-200);padding-top:10px;}

/* FAQ */
.kb-faq{margin:24px 0;}
.kb-faq-item{border-bottom:1px solid var(--kb-gray-100);padding:14px 0;}
.kb-faq-item summary{font-weight:700;cursor:pointer;font-family:var(--kb-font-heading);}
.kb-faq-item p{margin-top:10px;color:var(--kb-gray-800);}

/* Sources */
.kb-sources{background:var(--kb-gray-50);border-radius:var(--kb-border-radius);padding:18px 20px;margin:24px 0;}
.kb-sources h2{font-size:1.1rem;}
.kb-sources ul{list-style:none;padding:0;margin:0;}
.kb-sources li{padding:6px 0;font-size:.9rem;}

/* Share */
.kb-share{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0;}
.kb-share a{border:1px solid var(--kb-gray-200);border-radius:6px;padding:7px 12px;font-size:.82rem;font-weight:600;color:var(--kb-black);}
.kb-share a:hover{background:var(--kb-blue);color:#fff;border-color:var(--kb-blue);text-decoration:none;}

/* Author box */
.kb-author-box{display:flex;gap:16px;background:var(--kb-gray-50);border-radius:var(--kb-border-radius);padding:20px;margin:28px 0;align-items:flex-start;}
.kb-author-box img{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:0 0 64px;}
.kb-author-box h3{margin:0 0 4px;font-size:1rem;}
.kb-author-box p{margin:0 0 8px;font-size:.9rem;color:var(--kb-gray-600);}

/* Related */
.kb-related{padding:28px 0;border-top:1px solid var(--kb-gray-100);}

/* Ad slots */
.kb-ad-slot{margin:24px auto;text-align:center;max-width:100%;}
.kb-ad-slot .kb-ad-label{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--kb-gray-400);margin-bottom:6px;}
.kb-ad-slot:empty{display:none;}

/* -----------------------------------------------------------
   9. FOOTER
----------------------------------------------------------- */
.kb-site-footer{background:var(--kb-black);color:#cfd3d8;margin-top:40px;}
.kb-footer-grid{display:grid;grid-template-columns:1fr;gap:28px;padding:44px 20px 24px;max-width:var(--kb-max-width);margin:0 auto;}
@media(min-width:800px){.kb-footer-grid{grid-template-columns:repeat(4,1fr);}}
.kb-footer-col h3{color:#fff;font-size:.95rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:14px;}
.kb-footer-col p{font-size:.88rem;color:#a9aeb5;}
.kb-footer-col ul{list-style:none;margin:0;padding:0;}
.kb-footer-col li{margin-bottom:8px;font-size:.9rem;}
.kb-footer-col a{color:#cfd3d8;}
.kb-footer-col a:hover{color:#fff;}
.kb-footer-social{display:flex;gap:10px;}
.kb-footer-social a{width:36px;height:36px;border:1px solid #3a3d42;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.kb-footer-bottom{border-top:1px solid #2a2c30;text-align:center;padding:16px 20px;font-size:.82rem;color:#8b8f96;}

/* -----------------------------------------------------------
   10. 404 / SEARCH / PAGINATION
----------------------------------------------------------- */
.kb-404{text-align:center;padding:60px 20px;}
.kb-404 .kb-404-code{font-size:4rem;font-weight:800;color:var(--kb-blue);font-family:var(--kb-font-heading);}
.kb-pagination{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:30px 0;}
.kb-pagination a,.kb-pagination span{border:1px solid var(--kb-gray-200);border-radius:6px;padding:8px 14px;font-size:.9rem;font-weight:600;color:var(--kb-black);}
.kb-pagination .current{background:var(--kb-blue);color:#fff;border-color:var(--kb-blue);}
.kb-pagination a:hover{background:var(--kb-gray-50);text-decoration:none;}

/* -----------------------------------------------------------
   11. COMMENTS
----------------------------------------------------------- */
.kb-comments{margin-top:36px;padding-top:24px;border-top:1px solid var(--kb-gray-100);}
.comment-list{list-style:none;margin:0;padding:0;}
.comment-list .comment{margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid var(--kb-gray-100);}
#respond input[type="text"],#respond input[type="email"],#respond textarea{width:100%;padding:10px;border:1px solid var(--kb-gray-200);border-radius:6px;margin-bottom:12px;}
#respond .form-submit input{background:var(--kb-blue);color:#fff;border:0;border-radius:6px;padding:10px 20px;font-weight:600;cursor:pointer;}

/* -----------------------------------------------------------
   12. UTILITIES / RESPONSIVE TABLES / DARK MODE HOOK
----------------------------------------------------------- */
.kb-scroll-table{overflow-x:auto;}
.kb-newsletter{background:var(--kb-blue-light);border-radius:var(--kb-border-radius);padding:20px;text-align:center;margin:24px 0;}
body.kb-dark{--kb-white:#0e0f11;--kb-black:#f2f3f5;--kb-gray-50:#17181b;--kb-gray-100:#202226;--kb-gray-200:#2c2e33;background:var(--kb-white);color:var(--kb-black);}

@media print{.kb-site-header,.kb-site-footer,.kb-ad-slot,.kb-share{display:none;}}
