/*
Theme Name: BGTD
Theme URI: https://blackgirlstechday.com/
Author: Black Girls Thrive Daily
Description: Standalone editorial theme for Black Girls Thrive Daily. Sidebar-first reference layout, paper palette, slab display type.
Version: 1.0.0
License: GPLv2 or later
Text Domain: bgtd
*/

/* ---------- tokens ---------- */
:root{
  --paper:#FFFFFF;
  --paper-2:#FAFAF8;
  --ink:#111111;
  --ink-2:#3D3D3D;
  --muted:#5F5F5C;
  --rule:#E3E3DF;
  --rule-2:#CFCFC9;
  --brick:#A3341F;
  --brick-dark:#7E2617;
  --brick-tint:#FBEFEC;
  --focus:#A3341F;

  --font-display:"Zilla Slab",Georgia,"Times New Roman",serif;
  --font-body:"Public Sans","Helvetica Neue",Helvetica,Arial,sans-serif;

  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px;
  --s6:32px; --s7:48px; --s8:64px; --s9:96px;

  --sidebar:264px;
  --measure:68ch;
  --maxw:1180px;
}
@media (prefers-color-scheme: dark){
  :root{
    --paper:#101113;
    --paper-2:#17181B;
    --ink:#EDEDEA;
    --ink-2:#C9C9C4;
    --muted:#9A9A95;
    --rule:#2A2C30;
    --rule-2:#3A3D42;
    --brick:#EC8067;
    --brick-dark:#F5A18C;
    --brick-tint:#241713;
    --focus:#EC8067;
  }
}

/* ---------- reset-ish ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--font-body);font-size:17px;line-height:1.65;
  font-synthesis-weight:none;
}
img,svg,video{max-width:100%;height:auto}
a{color:var(--brick);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--brick-dark)}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:2px}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.15;color:var(--ink);margin:0 0 var(--s4)}
h1{font-size:clamp(2rem,1.3rem + 2.4vw,3rem);letter-spacing:-.015em}
h2{font-size:clamp(1.45rem,1.1rem + 1.2vw,1.9rem);margin-top:var(--s7)}
h3{font-size:1.2rem;margin-top:var(--s6)}
p,ul,ol,table,figure,blockquote{margin:0 0 var(--s5)}
ul,ol{padding-left:1.35em}
li{margin-bottom:var(--s2)}
strong{font-weight:700}
hr{border:0;border-top:1px solid var(--rule);margin:var(--s7) 0}
.skip{position:absolute;left:-9999px}
.skip:focus{left:var(--s4);top:var(--s4);z-index:99;background:var(--ink);color:var(--paper);padding:var(--s3) var(--s4)}

/* ---------- top bar ---------- */
.topbar{border-bottom:1px solid var(--rule);background:var(--paper);position:relative;z-index:20}
.topbar-inner{max-width:var(--maxw);margin:0 auto;padding:var(--s3) var(--s5);
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--s4)}
.brand{grid-column:2;justify-self:center;display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-display);font-weight:700;font-size:1.12rem;letter-spacing:-.01em;
  color:var(--ink);text-decoration:none}
.brand:hover{color:var(--brick)}
.brand img{display:block;height:30px;width:auto}
.brand .mark{display:inline-grid;place-items:center;width:38px;height:30px;background:var(--brick);
  color:#fff;font-family:var(--font-body);font-size:.68rem;font-weight:700;letter-spacing:.01em}
.navtoggle{grid-column:1;justify-self:start;display:none;align-items:center;gap:8px;
  min-height:44px;padding:0 var(--s3);background:none;border:1px solid var(--rule-2);
  color:var(--ink);font:inherit;font-size:.9rem;cursor:pointer}
.topsearch{grid-column:3;justify-self:end;display:flex;gap:6px}
.topsearch input[type=search]{min-height:38px;padding:0 var(--s3);border:1px solid var(--rule-2);
  background:var(--paper);color:var(--ink);font:inherit;font-size:.9rem;width:190px}
.topsearch button{min-height:38px;padding:0 var(--s4);border:1px solid var(--ink);background:var(--ink);
  color:var(--paper);font:inherit;font-size:.9rem;cursor:pointer}

/* ---------- shell: sidebar + main ---------- */
.shell{max-width:var(--maxw);margin:0 auto;padding:0 var(--s5);
  display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);gap:var(--s8);align-items:start}
.sidebar{position:sticky;top:var(--s5);align-self:start;padding:var(--s7) 0 var(--s6);
  border-right:1px solid var(--rule);padding-right:var(--s5);
  max-height:calc(100vh - var(--s6));overflow-y:auto}
.main{padding:var(--s7) 0 var(--s9);min-width:0}

.side-block{margin-bottom:var(--s7)}
.side-h{font-family:var(--font-body);font-size:.74rem;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;color:var(--muted);margin:0 0 var(--s3)}
.side-nav{list-style:none;margin:0;padding:0}
.side-nav li{margin:0;border-bottom:1px solid var(--rule)}
.side-nav a{display:block;padding:10px 0;min-height:44px;color:var(--ink);text-decoration:none;
  font-size:.97rem;line-height:1.35;display:flex;align-items:center}
.side-nav a:hover,.side-nav .current a{color:var(--brick)}
.side-nav .current a{font-weight:700}

.authorcard{border:1px solid var(--rule);padding:var(--s4)}
.authorcard img{width:56px;height:56px;display:block;margin-bottom:var(--s3)}
.authorcard .nm{font-family:var(--font-display);font-weight:600;font-size:1.02rem;display:block}
.authorcard .rl{font-size:.83rem;color:var(--muted);display:block;margin-bottom:var(--s3)}
.authorcard p{font-size:.87rem;color:var(--ink-2);margin:0 0 var(--s3);line-height:1.5}
.authorcard a{font-size:.87rem}

.toc{list-style:none;margin:0;padding:0;border-left:2px solid var(--rule)}
.toc li{margin:0}
.toc a{display:block;padding:7px var(--s3);color:var(--ink-2);text-decoration:none;font-size:.9rem;line-height:1.35}
.toc a:hover{color:var(--brick);background:var(--paper-2)}

.side-cta{border:1px solid var(--ink);padding:var(--s4);background:var(--paper-2)}
.side-cta h3{font-size:1rem;margin:0 0 var(--s2)}
.side-cta p{font-size:.87rem;color:var(--ink-2);margin:0 0 var(--s3)}
.side-cta .btn{display:block;text-align:center}

.btn{display:inline-block;min-height:48px;line-height:48px;padding:0 var(--s5);
  background:var(--brick);color:#fff;font-weight:600;font-size:.95rem;text-decoration:none;border:1px solid var(--brick)}
.btn:hover{background:var(--brick-dark);border-color:var(--brick-dark);color:#fff}
.btn-ghost{background:none;color:var(--ink);border:1px solid var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--paper)}
@media (prefers-color-scheme: dark){.btn{color:#171717}.btn:hover{color:#171717}}

/* ---------- content ---------- */
.entry{max-width:var(--measure)}
.entry-head{border-bottom:1px solid var(--rule);padding-bottom:var(--s5);margin-bottom:var(--s6)}
.kicker{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brick);
  margin:0 0 var(--s3);display:block}
.byline{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);align-items:center;
  font-size:.88rem;color:var(--muted);margin-top:var(--s4)}
.byline img{width:34px;height:34px}
.byline a{color:var(--ink)}
.crumbs{font-size:.83rem;color:var(--muted);margin:0 0 var(--s4)}
.crumbs a{color:var(--muted)}
.crumbs a:hover{color:var(--brick)}
.crumbs span[aria-hidden]{padding:0 6px;color:var(--rule-2)}

.capsule{border-left:4px solid var(--brick);background:var(--brick-tint);
  padding:var(--s5);margin:0 0 var(--s6)}
.capsule p{margin:0;font-size:1.05rem;line-height:1.6}
.capsule .lbl{display:block;font-family:var(--font-body);font-size:.72rem;font-weight:700;
  letter-spacing:.09em;text-transform:uppercase;color:var(--brick);margin-bottom:var(--s2)}

.entry-content > h2:first-child{margin-top:0}
.entry-content figure{margin:var(--s6) 0}
.entry-content figcaption{font-size:.85rem;color:var(--muted);margin-top:var(--s2);line-height:1.5}
.entry-content blockquote{border-left:3px solid var(--rule-2);padding-left:var(--s5);margin-left:0;
  font-size:1.05rem;color:var(--ink-2)}

.tablewrap,.entry-content table{display:block;overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:.94rem}
th,td{text-align:left;padding:11px var(--s3);border-bottom:1px solid var(--rule);vertical-align:top}
thead th{border-bottom:2px solid var(--ink);font-family:var(--font-body);font-size:.8rem;
  letter-spacing:.05em;text-transform:uppercase;color:var(--ink);white-space:nowrap}
tbody tr:nth-child(even){background:var(--paper-2)}
caption{caption-side:bottom;text-align:left;font-size:.84rem;color:var(--muted);padding-top:var(--s3)}

.callout{border:1px solid var(--rule-2);border-top:3px solid var(--ink);padding:var(--s5);margin:var(--s6) 0}
.callout h3{margin-top:0;font-size:1.05rem}
.callout p:last-child,.callout ul:last-child{margin-bottom:0}

.faq{margin:var(--s8) 0 0;border-top:1px solid var(--rule);padding-top:var(--s6)}
.faq .qa{border-bottom:1px solid var(--rule);padding-bottom:var(--s4);margin-bottom:var(--s4)}
.faq h3{margin:0 0 var(--s2);font-size:1.06rem}
.faq p{margin:0;color:var(--ink-2)}

.sources{margin:var(--s7) 0 0;border-top:1px solid var(--rule);padding-top:var(--s5)}
.sources h2{font-size:1.1rem;margin-top:0}
.sources ol,.sources ul{font-size:.9rem;color:var(--ink-2)}
.sources li{margin-bottom:var(--s3)}

.disclaimer{border:1px solid var(--rule);background:var(--paper-2);padding:var(--s4);
  font-size:.85rem;color:var(--ink-2);margin:var(--s7) 0 0;line-height:1.55}
.disclaimer strong{color:var(--ink)}

.authorbio{display:grid;grid-template-columns:78px 1fr;gap:var(--s5);align-items:start;
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:var(--s6) 0;margin:var(--s7) 0 0}
.authorbio img{width:78px;height:78px;display:block}
.authorbio h2{margin:0 0 var(--s1);font-size:1.15rem}
.authorbio .rl{font-size:.85rem;color:var(--muted);display:block;margin-bottom:var(--s3)}
.authorbio p{font-size:.93rem;margin:0 0 var(--s3)}

/* ---------- lists of posts ---------- */
.postlist{list-style:none;margin:0;padding:0}
.postlist > li{border-bottom:1px solid var(--rule);padding:var(--s5) 0}
.postlist > li:first-child{padding-top:0}
.postlist h3{margin:0 0 var(--s2);font-size:1.18rem;line-height:1.25}
.postlist h3 a{color:var(--ink);text-decoration:none}
.postlist h3 a:hover{color:var(--brick);text-decoration:underline}
.postlist .meta{font-size:.82rem;color:var(--muted);margin:0 0 var(--s2)}
.postlist p{margin:0;color:var(--ink-2);font-size:.95rem}
.postlist .thumb{float:left;width:132px;margin:0 var(--s5) var(--s3) 0}
.postlist .thumb img{display:block;width:132px;height:auto}
.postlist > li::after{content:"";display:block;clear:both}

.pillars{list-style:none;margin:0 0 var(--s7);padding:0;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--s5)}
.pillars li{border:1px solid var(--rule);border-top:3px solid var(--brick);padding:var(--s5)}
.pillars h3{margin:0 0 var(--s2);font-size:1.08rem}
.pillars h3 a{color:var(--ink);text-decoration:none}
.pillars h3 a:hover{color:var(--brick)}
.pillars p{margin:0;font-size:.9rem;color:var(--ink-2)}

.trustrow{border:1px solid var(--rule);padding:var(--s5);margin:var(--s7) 0 0;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:var(--s5)}
.trustrow h3{margin:0 0 var(--s2);font-size:.95rem}
.trustrow p{margin:0;font-size:.87rem;color:var(--ink-2)}

.section-lead{color:var(--ink-2);max-width:var(--measure)}
.morelink{font-weight:600;font-size:.93rem}

/* ---------- footer ---------- */
.site-footer{border-top:1px solid var(--rule);background:var(--paper-2);margin-top:var(--s9)}
.footer-inner{max-width:var(--maxw);margin:0 auto;padding:var(--s8) var(--s5) var(--s6);
  display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--s7)}
.footer-inner h3{font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  font-family:var(--font-body);color:var(--muted);margin:0 0 var(--s3)}
.footer-inner ul{list-style:none;margin:0;padding:0}
.footer-inner li{margin-bottom:var(--s2)}
.footer-inner a{color:var(--ink);text-decoration:none;font-size:.92rem;
  display:inline-flex;align-items:center;min-height:32px}
.footer-inner a:hover{color:var(--brick);text-decoration:underline}
.footer-about p{font-size:.9rem;color:var(--ink-2);margin:0 0 var(--s3);max-width:44ch}
.footer-legal{max-width:var(--maxw);margin:0 auto;padding:var(--s5) var(--s5) var(--s7);
  border-top:1px solid var(--rule);font-size:.83rem;color:var(--muted);line-height:1.6}
.footer-legal p{margin:0 0 var(--s2);max-width:80ch}

.pagination{display:flex;gap:var(--s3);flex-wrap:wrap;margin-top:var(--s7)}
.pagination .page-numbers{display:inline-grid;place-items:center;min-width:44px;min-height:44px;
  padding:0 var(--s3);border:1px solid var(--rule-2);color:var(--ink);text-decoration:none}
.pagination .current{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .shell{grid-template-columns:1fr;gap:0;padding:0 var(--s4)}
  .sidebar{position:static;max-height:none;border-right:0;border-bottom:1px solid var(--rule);
    padding:var(--s5) 0;overflow:visible;display:none}
  .sidebar.is-open{display:block}
  .navtoggle{display:inline-flex}
  .topbar-inner{padding:var(--s3) var(--s4)}
  .topsearch{display:none}
  .main{padding:var(--s6) 0 var(--s8)}
  .footer-inner{grid-template-columns:1fr;gap:var(--s6);padding:var(--s7) var(--s4) var(--s5)}
  .footer-legal{padding:var(--s5) var(--s4) var(--s7)}
  .authorbio{grid-template-columns:1fr}
  .postlist .thumb{float:none;width:100%;margin:0 0 var(--s3)}
  .postlist .thumb img{width:100%}
}
@media (max-width:520px){
  body{font-size:16px}
  .brand{font-size:1rem}
}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
