/* ProForge Knowledge Base & Workshops. Loaded only on KB views and the Workshops page. */

/* ---------- Knowledge Base ---------- */
.pfkb{max-width:1040px;margin:0 auto;padding:32px 0 90px;color:var(--pf-body)}
.pfkb h1,.pfkb h2,.pfkb h3{color:var(--pf-ink);letter-spacing:-.01em}
.pfkb-hero{text-align:center;background:linear-gradient(180deg,var(--pf-orange-soft),#fff);border-radius:24px;padding:48px 28px 40px;margin:0 0 48px}
.pfkb-hero h1{font-size:clamp(32px,5vw,46px);font-weight:800;margin:0 0 10px}
.pfkb-hero p{font-size:18px;color:var(--pf-muted);margin:0 auto 24px;max-width:36em}
.pfkb-search{display:flex;gap:10px;max-width:620px;margin:0 auto}
.pfkb-search input[type=search]{flex:1;min-width:0;font:inherit;font-size:16px;padding:13px 18px;border:1px solid var(--pf-line);border-radius:999px;background:#fff;color:var(--pf-ink)}
.pfkb-search input[type=search]:focus{outline:2px solid var(--pf-orange);outline-offset:1px}
.pfkb-search .btn{flex:none}
.pfkb-head .pfkb-search{margin:18px 0 0}
.pfkb-section{margin:0 0 48px}
.pfkb-section > h2,.pfkb-related > h2{font-size:26px;font-weight:800;margin:0 0 18px}
.pfkb-topics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pfkb-topic{display:flex;flex-direction:column;gap:6px;padding:22px;border:1px solid var(--pf-line);border-radius:16px;background:#fff;text-decoration:none;transition:border-color .18s ease,box-shadow .18s ease}
.pfkb-topic:hover,.pfkb-topic:focus{border-color:var(--pf-orange);box-shadow:0 8px 22px rgba(0,0,0,.06)}
.pfkb-topic__name{font-size:18px;font-weight:800;color:var(--pf-ink)}
.pfkb-topic__desc{font-size:15px;line-height:1.5;color:var(--pf-body)}
.pfkb-topic__count{margin-top:auto;font-size:14px;font-weight:700;color:var(--pf-orange-dark)}
.pfkb-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--pf-line)}
.pfkb-list li{padding:18px 0;border-bottom:1px solid var(--pf-line)}
.pfkb-list__title{font-size:18px;font-weight:700;color:var(--pf-ink);text-decoration:none}
.pfkb-list__title:hover,.pfkb-list__title:focus{color:var(--pf-orange-dark);text-decoration:underline}
.pfkb-list p{margin:6px 0 0;font-size:15px;line-height:1.55;color:var(--pf-muted)}
.pfkb-crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--pf-muted);margin:0 0 18px}
.pfkb-crumbs a{color:var(--pf-orange-dark);font-weight:600;text-decoration:none}
.pfkb-crumbs a:hover{text-decoration:underline}
.pfkb-head{margin:0 0 28px}
.pfkb-head h1,.pfkb-article h1{font-size:clamp(30px,4.5vw,42px);font-weight:800;margin:0 0 10px}
.pfkb-head p{font-size:18px;color:var(--pf-muted);margin:0}
.pfkb--article{max-width:780px}
.pfkb-content{font-size:17px;line-height:1.7}
.pfkb-content h2{font-size:22px;font-weight:800;margin:1.6em 0 .5em}
.pfkb-content a{color:var(--pf-orange-dark);font-weight:600}
.pfkb-related{margin:48px 0 0}
.pfkb-none{font-size:17px}
.pfkb-none a{color:var(--pf-orange-dark);font-weight:600}

/* Dark help box: same look as the site's .af-cta block. */
.pfkb-cta{text-align:center;background:#2B2E33;border-radius:22px;padding:40px 28px;color:#fff;margin:48px 0 0}
.pfkb-cta h2{font-size:26px;font-weight:800;letter-spacing:-.01em;color:#fff;margin:0 0 12px}
.pfkb-cta p{font-size:17px;color:#d9dbde;margin:0 0 22px}
.pfkb-cta a.pfkb-btn,.page-shell .entry-content .pfkb-cta a.pfkb-btn{background:#E8622C;border-color:#E8622C;color:#fff;text-decoration:none}
.pfkb-cta a.pfkb-btn:hover,.page-shell .entry-content .pfkb-cta a.pfkb-btn:hover{background:#cf5322;border-color:#cf5322;color:#fff}

/* ---------- Workshops ([proforge_workshops] inside page.php) ---------- */
.pfws{color:var(--pf-body)}
.page-shell .entry-content .pfws p.pfws-intro{font-size:20px;line-height:1.6;color:var(--pf-ink);margin:0 0 36px;max-width:44em}
.pfws-section{margin:0 0 44px}
.page-shell .entry-content .pfws-section > h2{font-size:26px;font-weight:800;margin:0 0 18px;color:var(--pf-ink)}
.page-shell .entry-content ul.pfws-list,.page-shell .entry-content ul.pfws-topics,.page-shell .entry-content ul.pfws-learn{list-style:none;margin:0;padding:0}
.pfws-list{display:grid;gap:16px}
.pfws-card{display:flex;gap:20px;align-items:flex-start;padding:22px;border:1px solid var(--pf-line);border-radius:16px;background:#fff}
.pfws-date{flex:none;width:64px;text-align:center;border-radius:12px;background:var(--pf-orange-soft);color:var(--pf-orange-dark);padding:8px 0}
.pfws-date__m{display:block;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.pfws-date__d{display:block;font-size:26px;font-weight:800;line-height:1.1;color:var(--pf-ink)}
.pfws-body{min-width:0}
.page-shell .entry-content .pfws-body h3{font-size:19px;margin:0 0 4px;color:var(--pf-ink)}
.page-shell .entry-content .pfws-body p{margin:0 0 10px}
.page-shell .entry-content .pfws-body p.pfws-meta{font-size:14px;font-weight:600;color:var(--pf-muted)}
.page-shell .entry-content ul.pfws-learn{margin:0 0 14px}
.pfws-learn li{position:relative;padding-left:22px;margin:0 0 4px;font-size:15px}
.pfws-learn li::before{content:"\2713";position:absolute;left:0;color:var(--pf-green);font-weight:700}
.page-shell .entry-content a.pfws-btn{color:#fff;text-decoration:none}
.pfws-soon{display:inline-block;font-size:14px;font-weight:700;color:var(--pf-muted);background:var(--pf-bg-soft);border:1px solid var(--pf-line);border-radius:999px;padding:8px 14px}
.page-shell .entry-content a.pfws-rec{font-weight:700;color:var(--pf-orange-dark)}
.pfws-empty{padding:28px;border:1px dashed var(--pf-line);border-radius:16px;background:var(--pf-bg-soft);text-align:center}
.page-shell .entry-content .pfws-empty p{margin:0;font-size:17px;color:var(--pf-ink)}
.pfws-topics{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.pfws-topics li{display:flex;flex-direction:column;gap:6px;padding:22px;border:1px solid var(--pf-line);border-radius:16px;background:#fff}
.pfws-topics strong{font-size:17px;color:var(--pf-ink)}
.pfws-topics span{font-size:15px;line-height:1.55}

@media (max-width:860px){.pfkb-topics{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){
	.pfkb{padding:20px 0 60px}
	.pfkb-hero{padding:32px 18px 28px;margin-bottom:36px}
	.pfkb-hero p{font-size:16px}
	.pfkb-search{flex-direction:column}
	.pfkb-search .btn{width:100%}
	.pfkb-topics,.pfws-topics{grid-template-columns:1fr}
	.pfkb-section > h2,.pfkb-related > h2,.page-shell .entry-content .pfws-section > h2{font-size:22px}
	.pfkb-cta{padding:30px 20px}
	.pfkb-cta h2{font-size:22px}
	.pfkb-cta a.pfkb-btn{width:100%;white-space:normal}
	.page-shell .entry-content .pfws p.pfws-intro{font-size:18px}
	.pfws-card{padding:18px;gap:14px}
	.pfws-date{width:54px}
}

/* ---------- Workshop reminders signup ---------- */
.pfws-signup{background:#2B2E33;border-radius:22px;padding:40px 28px;color:#fff;margin:48px 0 0;text-align:center}
.page-shell .entry-content .pfws-signup h2{font-size:26px;font-weight:800;letter-spacing:-.01em;color:#fff;margin:0 0 10px}
.page-shell .entry-content .pfws-signup p.pfws-signup__lead{font-size:17px;color:#d9dbde;margin:0 auto 22px;max-width:34em}
.pfws-form{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:flex-end;max-width:760px;margin:0 auto;text-align:left}
.pfws-field{flex:1 1 220px;display:flex;flex-direction:column;gap:6px}
.pfws-field label{font-size:14px;font-weight:600;color:#d9dbde}
.pfws-field input{font:inherit;font-size:16px;padding:13px 16px;border:1px solid #4a4e55;border-radius:12px;background:#fff;color:var(--pf-ink);width:100%;box-sizing:border-box}
.pfws-field input:focus{outline:2px solid var(--pf-orange);outline-offset:1px}
.pfws-form .pfws-submit{flex:0 0 auto;background:#E8622C;border-color:#E8622C;color:#fff}
.pfws-form .pfws-submit:hover{background:#cf5322;border-color:#cf5322}
.pfws-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.page-shell .entry-content .pfws-signup p.pfws-note{font-size:14px;color:#aeb2b8;margin:14px 0 0}
.page-shell .entry-content .pfws-signup p.pfws-msg{display:inline-block;font-weight:700;border-radius:10px;padding:10px 16px;margin:0 0 18px}
.page-shell .entry-content .pfws-signup p.pfws-msg--ok{background:#e7f6ec;color:#146c34}
.page-shell .entry-content .pfws-signup p.pfws-msg--err{background:#fde8e4;color:#9b2c16}
@media (max-width:600px){.pfws-signup{padding:30px 20px}.page-shell .entry-content .pfws-signup h2{font-size:22px}.pfws-form .pfws-submit{flex:1 1 100%}}

/* ---------- Double opt-in pages (check-your-email, confirmed) ---------- */
.pfws-status{max-width:760px}
.page-shell .entry-content .pfws-status a.pfws-back{text-decoration:none;color:#fff}
.pfws-wait-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.page-shell .entry-content a.pfws-wait-card{display:block;padding:22px 24px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.05);text-decoration:none;color:var(--pf-body);transition:border-color .15s,box-shadow .15s}
.page-shell .entry-content a.pfws-wait-card:hover{border-color:#E8622C;box-shadow:0 6px 18px rgba(0,0,0,.08)}
.pfws-wait-card strong{display:block;font-size:19px;font-weight:800;color:var(--pf-ink);margin:0 0 6px}
.pfws-wait-card span{display:block;font-size:16px;line-height:1.5}
.pfws-status--wide{max-width:none}
.pfws-wait-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.pfws-wait-grid--3{grid-template-columns:1fr}}
@media (max-width:640px){.pfws-wait-grid{grid-template-columns:1fr}}
