/*
Theme Name:   Breast Cancer Survivors' Guide
Theme URI:    https://breastcancer-survivorsguide.com/
Description:  Standalone WordPress theme for Breast Cancer Survivors' Guide (BCSG) — a breast cancer resource site covering all phases of the experience. Implements the "Survivor's Guide" blog design: The Lists (listicles) and Field Notes (diary).
Author:       EM Dash FWD LLC
Author URI:   https://breastcancer-survivorsguide.com/
Version:      0.3.0
Requires at least: 6.0
Requires PHP: 8.0
Text Domain:  bcsg
*/

/* ============================================================
   Design tokens — palette "Midnight Apothecary"
   ============================================================ */
:root{
  --plum:#403542;        /* dark blocks: hero, page headers, footer */
  --plum-deep:#2C2530;
  --sage:#90A875;        /* primary accent */
  --sage-bright:#A8C285;
  --sage-deep:#4E6738;   /* sage used as text on white */
  --rose:#CB8C95;        /* the single breast-cancer accent — used sparingly */
  --rose-deep:#9F5763;
  --paper:#FFFFFF;       /* page background — pure white, intentionally NOT warm */
  --surface:#FFFFFF;
  --ink:#27242B;         /* body text */
  --muted:#65656B;       /* dates, excerpts, secondary text */
  --line:#E7E9EC;        /* cool gray hairline dividers */
  --cond:"Roboto Condensed",Arial,sans-serif;
  --serif:"Lora",Georgia,serif;
  --hand:"Caveat",cursive;
}

/* Scope everything to the .sg-theme body class. */
.sg-theme{background:var(--paper);color:var(--ink);
  font-family:var(--serif);font-size:18px;line-height:1.7;-webkit-font-smoothing:antialiased;}
.sg-theme *{box-sizing:border-box;}
.sg-theme h1,.sg-theme h2,.sg-theme h3,.sg-theme h4{margin:0;}
.sg-theme a{color:inherit;}
.sg-theme img{max-width:100%;height:auto;}
.sg-theme .wrap{max-width:1040px;margin:0 auto;padding:0 32px;}

/* ---------- nav ---------- */
.sg-theme .sg-nav{position:sticky;top:0;z-index:60;background:var(--plum);}
.sg-theme .nav-inner{max-width:1040px;margin:0 auto;padding:14px 32px;display:flex;align-items:center;
  justify-content:space-between;gap:18px;}
.sg-theme .brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--paper);}
.sg-theme .brand .ribbon{width:15px;flex:none;color:var(--rose);line-height:0;}
.sg-theme .brand .mk{font-family:var(--cond);font-weight:700;font-size:16px;letter-spacing:1.5px;
  text-transform:uppercase;line-height:1;}
.sg-theme .nav-links{display:flex;gap:2px;}
.sg-theme .nav-links a{font-family:var(--cond);font-weight:500;font-size:12px;letter-spacing:1.5px;
  text-transform:uppercase;color:#c3b6c1;text-decoration:none;
  padding:8px 13px;border-radius:3px;transition:.18s;}
.sg-theme .nav-links a:hover{color:#fff;}
.sg-theme .nav-links a.active{color:var(--plum);background:var(--sage);}
.sg-theme .nav-links a:focus-visible,.sg-theme .brand:focus-visible{outline:2px solid var(--sage-bright);
  outline-offset:3px;border-radius:3px;}

/* ---------- tags ---------- */
.sg-theme .tag{display:inline-block;font-family:var(--cond);font-weight:700;font-size:11px;
  letter-spacing:1.5px;text-transform:uppercase;padding:4px 10px;border-radius:2px;line-height:1.35;
  border:1.5px solid var(--plum);color:var(--plum);background:transparent;}
.sg-theme .tag.sage{background:var(--sage);border-color:var(--sage);color:#243016;}
.sg-theme .tag.rose{background:var(--rose);border-color:var(--rose);color:#3a1f24;}

/* ---------- hero ---------- */
.sg-theme .hero{background:var(--plum);color:var(--paper);padding:74px 0 76px;}
.sg-theme .hero .ey{font-family:var(--hand);font-weight:600;font-size:26px;color:var(--sage-bright);
  transform:rotate(-2deg);display:inline-block;margin-bottom:8px;}
.sg-theme .hero h1{font-family:var(--cond);font-weight:700;text-transform:uppercase;
  font-size:clamp(58px,11vw,124px);line-height:.86;letter-spacing:-1px;margin:0;}
.sg-theme .hero p{font-size:clamp(18px,2.1vw,21px);color:#d5cad3;line-height:1.55;max-width:54ch;
  margin:26px 0 0;}
.sg-theme .hero .go{display:inline-block;margin-top:34px;font-family:var(--cond);font-weight:700;
  font-size:13px;letter-spacing:1.5px;text-transform:uppercase;background:var(--sage);
  color:var(--plum);text-decoration:none;padding:15px 28px;border-radius:3px;transition:.18s;}
.sg-theme .hero .go:hover{background:var(--sage-bright);}
.sg-theme .hero .go:focus-visible{outline:2px solid var(--sage-bright);outline-offset:3px;}

/* ---------- section ---------- */
.sg-theme .section{padding:62px 0;}
.sg-theme .sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;
  flex-wrap:wrap;border-bottom:2px solid var(--plum);padding-bottom:13px;margin-bottom:4px;}
.sg-theme .sec-head h2{font-family:var(--cond);font-weight:700;text-transform:uppercase;
  font-size:clamp(24px,3.4vw,34px);letter-spacing:.5px;color:var(--plum);}
.sg-theme .sec-head .see{font-family:var(--cond);font-weight:700;font-size:12px;letter-spacing:1.5px;
  text-transform:uppercase;color:var(--sage-deep);text-decoration:none;}
.sg-theme .sec-head .see:hover{color:var(--rose-deep);}

/* ---------- listicle entry ---------- */
.sg-theme .entry{padding:32px 0 34px;border-bottom:1px solid var(--line);}
.sg-theme .entry-top{display:flex;align-items:center;gap:14px;margin-bottom:11px;flex-wrap:wrap;}
.sg-theme .entry .date{font-family:var(--cond);font-weight:500;font-size:12px;letter-spacing:1.5px;
  text-transform:uppercase;color:var(--muted);}
.sg-theme .entry h3{font-family:var(--cond);font-weight:700;text-transform:uppercase;
  font-size:clamp(23px,3vw,31px);line-height:.98;letter-spacing:-.3px;color:var(--ink);margin:0;}
.sg-theme .entry h3 a{color:inherit;text-decoration:none;transition:.16s;}
.sg-theme .entry h3 a:hover{color:var(--rose-deep);}
.sg-theme .points{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:9px;max-width:64ch;}
.sg-theme .points li{display:grid;grid-template-columns:16px 1fr;gap:12px;
  align-items:baseline;font-size:16.5px;line-height:1.45;color:var(--ink);}
.sg-theme .points li::before{content:"–";font-family:var(--cond);font-weight:700;font-size:16px;
  color:var(--sage-deep);}
.sg-theme .readmore{display:inline-block;margin-top:16px;font-family:var(--cond);font-weight:700;
  font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--rose-deep);
  text-decoration:none;}
.sg-theme .readmore:hover{color:var(--plum);}
.sg-theme .excerpt{margin:14px 0 0;color:var(--muted);font-size:17px;line-height:1.6;max-width:64ch;}

/* full-post body (single templates) */
.sg-theme .post-body{max-width:64ch;margin:0 auto;font-size:18px;line-height:1.7;}
.sg-theme .post-body p{margin:0 0 1.2em;}
.sg-theme .post-body h2{font-family:var(--cond);text-transform:uppercase;color:var(--plum);
  font-size:28px;margin:1.6em 0 .5em;}
.sg-theme .post-body h3{font-family:var(--cond);text-transform:uppercase;color:var(--ink);
  font-size:22px;margin:1.4em 0 .4em;}
.sg-theme .post-body a{color:var(--rose-deep);}

/* one entry per log gets a handwritten margin note — Field Notes only */
.sg-theme .logged{display:grid;grid-template-columns:1fr 220px;gap:40px;align-items:start;}
.sg-theme .logged .entry{border-bottom:1px solid var(--line);}
.sg-theme .note{align-self:center;border-left:2px solid var(--rose);padding:6px 0 6px 18px;border-radius:0;}
.sg-theme .note .pin{font-family:var(--cond);font-weight:700;font-size:9.5px;letter-spacing:1.5px;
  text-transform:uppercase;color:var(--rose-deep);display:block;margin-bottom:5px;}
.sg-theme .note .hand{font-family:var(--hand);font-weight:600;font-size:21px;color:var(--rose-deep);
  line-height:1.25;margin:0;}

/* ---------- page header / filters ---------- */
.sg-theme .phead{background:var(--plum);color:var(--paper);padding:56px 0 48px;}
.sg-theme .phead .ey{font-family:var(--hand);font-weight:600;font-size:23px;color:var(--sage-bright);
  transform:rotate(-2deg);display:inline-block;}
.sg-theme .phead h1{font-family:var(--cond);font-weight:700;text-transform:uppercase;
  font-size:clamp(44px,8vw,88px);line-height:.86;letter-spacing:-1px;margin:6px 0 0;}
.sg-theme .phead .lede{color:#d5cad3;font-size:18px;max-width:54ch;margin:18px 0 0;}
.sg-theme .filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px;}
.sg-theme .filters button{background:none;border:0;cursor:pointer;padding:0;}
.sg-theme .filters .tag{background:transparent;border-color:#7a6c77;color:#d5cad3;transition:.16s;}
.sg-theme .filters button:hover .tag{border-color:var(--paper);color:#fff;}
.sg-theme .filters button[aria-pressed="true"] .tag{background:var(--paper);border-color:var(--paper);color:var(--plum);}
.sg-theme .filters button:focus-visible{outline:2px solid var(--sage-bright);outline-offset:3px;border-radius:3px;}
.sg-theme .empty{display:none;padding:48px 0;text-align:center;color:var(--muted);font-style:italic;}

/* ---------- archive (Field Notes by year) ---------- */
.sg-theme .arc-note{margin-top:26px;color:var(--muted);font-size:17px;max-width:64ch;
  border-left:3px solid var(--rose);padding-left:18px;border-radius:0;}
.sg-theme .yeargroup{margin-top:40px;}
.sg-theme .yeargroup:first-of-type{margin-top:28px;}
.sg-theme .yr{font-family:var(--cond);font-weight:700;font-size:44px;color:var(--sage-deep);
  letter-spacing:-1px;line-height:1;margin-bottom:2px;opacity:.85;}

/* ---------- footer ---------- */
.sg-theme .sg-footer{background:var(--plum-deep);color:#b7adb6;margin-top:58px;}
.sg-theme .foot{max-width:1040px;margin:0 auto;padding:52px 32px 26px;display:grid;
  grid-template-columns:1.6fr 1fr 1fr;gap:36px;}
.sg-theme .sg-footer .fmk{font-family:var(--cond);font-weight:700;text-transform:uppercase;font-size:28px;
  line-height:.9;color:var(--paper);letter-spacing:-.5px;}
.sg-theme .sg-footer .fscrawl{font-family:var(--hand);font-weight:600;font-size:20px;color:var(--sage-bright);
  transform:rotate(-2deg);display:inline-block;margin-top:8px;}
.sg-theme .sg-footer h4{font-family:var(--cond);font-weight:700;font-size:11px;letter-spacing:2px;
  text-transform:uppercase;color:var(--sage-bright);margin:0 0 14px;}
.sg-theme .sg-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;}
.sg-theme .sg-footer .flink{color:#b7adb6;text-decoration:none;font-family:var(--serif);
  font-size:15px;transition:.16s;}
.sg-theme .sg-footer .flink:hover{color:var(--rose);}
.sg-theme .fbase{border-top:1px solid rgba(255,255,255,.08);max-width:1040px;margin:0 auto;padding:18px 32px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-family:var(--cond);
  font-size:10.5px;letter-spacing:1.5px;text-transform:uppercase;color:#726874;}

@media(max-width:780px){
  .sg-theme .logged{grid-template-columns:1fr;gap:0;}
  .sg-theme .note{border-left:0;border-top:1px dashed var(--rose);padding:16px 0 0;margin:0 0 8px;}
  .sg-theme .foot{grid-template-columns:1fr;gap:26px;}
}
@media(prefers-reduced-motion:reduce){
  .sg-theme *{animation:none!important;transition:none!important;}
}
