/*
Theme Name: Richmond Bash
Theme URI: https://richmondbash.com
Author: Richmond Bash
Author URI: https://richmondbash.com
Description: An editorial "digital headquarters" theme for Richmond Bash — entrepreneur, philanthropist, broadcaster, software developer and community builder. One-page command-center layout covering Founder, Ventures, Shop, RBG Foundation, News and Contact, with a widget-ready ad slot for AdSense and optional WooCommerce shop integration.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: richmond-bash
*/

:root{
  --ink:#12141A; --ink-soft:#3A3D46;
  --paper:#F6F2E9; --paper-dim:#EDE7D8;
  --indigo:#1E2A52; --brass:#A9873F; --line: rgba(18,20,26,0.14);
  --bg: var(--paper); --fg: var(--ink); --fg-soft: var(--ink-soft);
  --panel: var(--paper-dim); --rule: var(--line); --accent: var(--indigo); --accent2: var(--brass);
  box-sizing:border-box;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0E1016; --fg:#EFE9DA; --fg-soft:#B7B2A4; --panel:#171A22; --rule: rgba(239,233,218,0.14);
    --accent:#8FA1D9; --accent2:#C9A75B;
  }
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
html,body{height:100%;}
body{
  margin:0; background:var(--bg); color:var(--fg);
  font-family:'IBM Plex Sans', system-ui, sans-serif; font-weight:400;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.serif{ font-family:'Fraunces', Georgia, serif; }
a{color:inherit;}
img{max-width:100%; height:auto; display:block;}
::selection{ background:var(--accent); color:var(--bg); }

.shell{ display:flex; min-height:100%; }

/* Rail */
.rail{
  width:230px; flex:none; border-right:1px solid var(--rule);
  padding: 28px 24px; position:sticky; top:0; height:100vh;
  display:flex; flex-direction:column; justify-content:space-between;
}
.rail-top .mark{ font-family:'Fraunces'; font-size:20px; font-weight:600; letter-spacing:-0.01em; text-decoration:none; }
.rail-top .role{ margin-top:6px; font-size:12.5px; color:var(--fg-soft); line-height:1.5; max-width:20ch; }
.modules{ list-style:none; margin:48px 0 0; padding:0; display:flex; flex-direction:column; gap:2px; }
.modules a{
  text-decoration:none; font-size:14.5px; color:var(--fg-soft); display:block;
  padding:9px 10px; margin:0 -10px; border-radius:6px; transition:color .15s ease, background .15s ease;
}
.modules a:hover, .modules a:focus-visible{ color:var(--fg); background:var(--panel); outline:none; }
.modules a.current{ color:var(--fg); }
.status-block{ font-size:12px; color:var(--fg-soft); border-top:1px solid var(--rule); padding-top:16px; }
.status-block .row{ display:flex; justify-content:space-between; padding:3px 0; }
.status-block .dot{ display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--accent2); margin-right:6px; }

/* Main */
main{ flex:1; min-width:0; }
.section{ padding: 80px 56px; max-width:920px; margin:0 auto; border-bottom:1px solid var(--rule); }
.section:last-of-type{ border-bottom:none; }
.section .label{ font-size:12.5px; color:var(--fg-soft); margin-bottom:18px; }

/* Hero */
.hero{ padding-top:96px; }
.hero h1{ font-size:clamp(36px,6vw,70px); line-height:1.03; font-weight:600; letter-spacing:-0.015em; max-width:15ch; margin:0 0 26px; }
.hero .dek{ font-size:18px; color:var(--fg-soft); max-width:56ch; line-height:1.6; margin:0 0 34px; }
.hero .facts{ display:flex; gap:40px; flex-wrap:wrap; margin-top:44px; }
.hero .facts div{ font-size:13px; color:var(--fg-soft); }
.hero .facts strong{ display:block; font-family:'Fraunces'; font-size:22px; color:var(--fg); font-weight:500; margin-bottom:2px; }
.hero .cta-row{ display:flex; gap:14px; flex-wrap:wrap; }
.btn{ display:inline-block; text-decoration:none; font-size:14px; padding:12px 20px; border:1px solid var(--rule); border-radius:2px; color:var(--fg); transition:opacity .15s ease; }
.btn:hover{ opacity:.65; }
.btn.solid{ background:var(--ink); color:var(--paper); border-color:var(--ink); }
:root:not([data-theme="light"]) .btn.solid{ background:var(--fg); color:var(--bg); border-color:var(--fg); }

/* Founder */
.founder-grid{ display:grid; grid-template-columns: 1.1fr 1fr; gap:56px; }
.founder-grid p{ font-size:16.5px; line-height:1.75; color:var(--fg-soft); margin:0 0 18px; max-width:60ch; }
.principles{ display:flex; flex-direction:column; gap:22px; }
.principles .p{ border-left:2px solid var(--rule); padding-left:16px; }
.principles .p h4{ font-family:'Fraunces'; font-weight:500; font-size:17px; margin:0 0 5px; }
.principles .p span{ font-size:13.5px; color:var(--fg-soft); line-height:1.55; }

/* Ventures & Shop items share this pattern */
.venture{ border-top:1px solid var(--rule); padding:26px 0; cursor:pointer; }
.venture:last-child{ border-bottom:1px solid var(--rule); }
.venture .head{ display:flex; align-items:baseline; justify-content:space-between; gap:20px; }
.venture .name{ font-family:'Fraunces'; font-size:24px; font-weight:500; }
.venture .sector{ font-size:12.5px; color:var(--fg-soft); white-space:nowrap; }
.venture .desc{ max-height:0; overflow:hidden; transition:max-height .35s ease, opacity .3s ease, margin-top .35s ease; opacity:0; margin-top:0; }
.venture[data-open="true"] .desc{ max-height:200px; opacity:1; margin-top:12px; }
.venture .desc p{ font-size:15px; line-height:1.65; color:var(--fg-soft); max-width:56ch; margin:0 0 8px; }
.venture .desc a{ font-size:13.5px; text-decoration:underline; }

/* Shop */
.shop-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:26px; margin-top:10px; }
.shop-item{ border:1px solid var(--rule); padding:16px; }
.shop-item img{ margin-bottom:12px; aspect-ratio:1/1; object-fit:cover; }
.shop-item .p-name{ font-family:'Fraunces'; font-size:16px; margin:0 0 4px; }
.shop-item .p-price{ font-size:13px; color:var(--fg-soft); }
.shop-empty{ border:1px dashed var(--rule); padding:40px; text-align:center; }
.shop-empty p{ color:var(--fg-soft); font-size:15px; margin:0 0 18px; }

/* Ad slot */
.ad-slot-wrap{ padding:0 56px; max-width:920px; margin:0 auto; }
.ad-slot{ border:1px dashed var(--rule); border-radius:2px; padding:18px; margin:36px 0; min-height:90px; display:flex; align-items:center; justify-content:center; text-align:center; }
.ad-label{ font-size:11px; color:var(--fg-soft); letter-spacing:.02em; }
.ad-slot:empty::before, .ad-slot .ad-empty{ content:''; font-size:12px; color:var(--fg-soft); }

/* Foundation */
.foundation{ background:var(--panel); border-radius:2px; padding:44px; margin-top:4px; }
.foundation h3{ font-size:28px; font-weight:500; margin:0 0 14px; }
.foundation p{ font-size:16px; line-height:1.7; color:var(--fg-soft); max-width:58ch; margin:0 0 20px; }
.pillars{ display:flex; gap:34px; flex-wrap:wrap; margin-top:8px; }
.pillars div{ font-size:13.5px; color:var(--fg-soft); max-width:22ch; }
.pillars strong{ display:block; color:var(--fg); font-weight:500; font-size:14.5px; margin-bottom:4px; }

/* News */
.news-item{ border-top:1px solid var(--rule); padding:22px 0; }
.news-item:last-child{ border-bottom:1px solid var(--rule); }
.news-item .date{ font-size:12px; color:var(--fg-soft); }
.news-item h4{ font-family:'Fraunces'; font-weight:500; font-size:19px; margin:6px 0 6px; }
.news-item p{ font-size:14.5px; color:var(--fg-soft); line-height:1.6; margin:0; max-width:60ch; }

/* Contact */
.contact h2{ font-size:clamp(28px,4vw,42px); font-weight:500; margin:0 0 20px; max-width:16ch; }
.contact-links{ display:flex; flex-direction:column; gap:0; margin-top:30px; }
.contact-links a{ display:flex; justify-content:space-between; text-decoration:none; padding:18px 0; border-top:1px solid var(--rule); font-size:16px; transition:opacity .15s ease; }
.contact-links a:last-child{ border-bottom:1px solid var(--rule); }
.contact-links a span:last-child{ color:var(--fg-soft); font-size:14px; }
.contact-links a:hover{ opacity:.6; }

/* Generic page/post content (page.php, single.php, index.php) */
.entry{ padding:80px 56px; max-width:760px; margin:0 auto; }
.entry h1{ font-size:clamp(30px,5vw,50px); margin:0 0 26px; }
.entry-content{ font-size:16.5px; line-height:1.75; color:var(--fg-soft); }
.entry-content p{ margin:0 0 20px; }
.entry-meta{ font-size:12.5px; color:var(--fg-soft); margin-bottom:20px; }

footer.site-footer{ padding:28px 56px; font-size:12px; color:var(--fg-soft); display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; }

@media (max-width: 860px){
  .rail{ position:relative; width:100%; height:auto; flex-direction:row; align-items:center; padding:18px 20px; border-right:none; border-bottom:1px solid var(--rule); }
  .rail-top .role, .status-block{ display:none; }
  .modules{ flex-direction:row; margin-top:0; gap:4px; overflow-x:auto; }
  .modules a{ white-space:nowrap; }
  .shell{ flex-direction:column; }
  .section, .entry, .ad-slot-wrap{ padding-left:22px; padding-right:22px; }
  .founder-grid{ grid-template-columns:1fr; }
  footer.site-footer{ flex-direction:column; padding:24px 22px; }
}
@media (prefers-reduced-motion: reduce){ *{ transition:none !important; scroll-behavior:auto !important; } }
