/*
Theme Name: RolnRock
Theme URI: https://rolnrock.com
Author: R. McVey
Author URI: https://rolnrock.com
Description: The official theme for RolnRock.com — music, gear, reviews, records, and community. Dark chrome-and-red base with neon signage accents, built around the RolnRock logo system. Includes a custom front page with a "Now Spinning" panel, a featured gear teardown, and post loops for Reviews and Records.
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: rolnrock
Tags: dark, one-column, custom-logo, custom-menu, featured-images, translation-ready
*/

:root{
  --ink:#0b0b0d;
  --ink-2:#141417;
  --paper:#f4f2ec;
  --paper-2:#e9e6dd;
  --bg-rgb:11,11,13;
  --red-rgb:226,35,26;
  --cyan-rgb:53,228,224;
  --magenta-rgb:255,63,158;
  --sheen-1:rgba(255,255,255,.02);
  --sheen-2:rgba(255,255,255,.03);
  --chrome:#d7dbe1;
  --chrome-dim:#9a9fa8;
  --steel:#565b63;
  --red:#e2231a;
  --red-dim:#9c1912;
  --cyan:#35e4e0;
  --magenta:#ff3f9e;
  --line:rgba(255,255,255,.12);
  --bg:var(--ink);
  --bg-raised:var(--ink-2);
  --text:var(--paper);
  --text-dim:var(--chrome-dim);
  --card-line:var(--line);
  --shadow:0 20px 50px -20px rgba(0,0,0,.6);
}

/* ---------- light theme overrides ---------- */
html[data-theme="light"]{
  --bg:var(--paper);
  --bg-raised:var(--paper-2);
  --text:var(--ink);
  --text-dim:var(--steel);
  --chrome:#3a3d42;
  --chrome-dim:#6b7078;
  --line:rgba(0,0,0,.12);
  --card-line:rgba(0,0,0,.12);
  --red:#c81f17;
  --cyan:#0e8f8b;
  --magenta:#c22a72;
  --bg-rgb:244,242,236;
  --red-rgb:200,31,23;
  --cyan-rgb:14,143,139;
  --magenta-rgb:194,42,114;
  --sheen-1:rgba(0,0,0,.02);
  --sheen-2:rgba(0,0,0,.03);
  --shadow:0 20px 50px -20px rgba(0,0,0,.18);
}

*{box-sizing:border-box;}
html{color-scheme:dark;}
html[data-theme="light"]{color-scheme:light;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
  -webkit-font-smoothing:antialiased;
  transition:background .2s ease, color .2s ease;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;}
.wrap{max-width:1180px;margin-inline:auto;padding-inline:24px;}
h1,h2,h3{text-wrap:balance;margin:0;}
.display{font-family:'Anton',Impact,'Archivo Narrow',sans-serif;letter-spacing:.01em;text-transform:uppercase;}
.mono{font-family:'Space Mono',ui-monospace,SFMono-Regular,monospace;}
.eyebrow{
  font-family:'Space Mono',monospace;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--text-dim);
}
.screen-reader-text{position:absolute!important;left:-9999px;top:-9999px;}
.skip-link{position:absolute;top:-60px;left:0;background:var(--red);color:#fff;padding:10px 16px;z-index:200;text-decoration:none;font-family:'Space Mono';font-size:12px;}
.skip-link:focus{top:0;}

/* ---------- header ---------- */
header.site{
  position:sticky; top:0; z-index:50;
  background:rgba(var(--bg-rgb),.86);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav-row{
  display:flex; align-items:center; justify-content:space-between;
  gap:24px; padding-block:12px;
}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none;}
.brand img{height:34px; width:auto;}
.brand .custom-logo-link img{height:34px;width:auto;}
.brand-word{display:flex; flex-direction:column; line-height:1;}
.brand-word .r1{font-family:'Anton'; font-size:19px; letter-spacing:.02em;}
.brand-word .r1 .n{color:var(--red);}
.brand-word .r2{font-family:'Space Mono'; font-size:9px; letter-spacing:.24em; color:var(--text-dim); margin-top:3px;}

nav.primary{display:flex; gap:2px; flex-wrap:wrap;}
nav.primary ul{list-style:none;margin:0;padding:0;display:flex;gap:2px;flex-wrap:wrap;}
nav.primary a{
  font-family:'Space Mono'; font-size:12px; letter-spacing:.08em; text-transform:uppercase;
  text-decoration:none; color:var(--chrome);
  padding:8px 14px; border-radius:2px; position:relative; display:inline-block;
}
nav.primary a::after{
  content:""; position:absolute; left:14px; right:14px; bottom:5px; height:2px;
  background:var(--dot,var(--red)); transform:scaleX(0); transform-origin:left;
  transition:transform .18s ease;
}
nav.primary a:hover::after,nav.primary a:focus::after{transform:scaleX(1);}
nav.primary li:nth-child(5n+1) a{--dot:var(--red);}
nav.primary li:nth-child(5n+2) a{--dot:var(--cyan);}
nav.primary li:nth-child(5n+3) a{--dot:var(--magenta);}
nav.primary li:nth-child(5n+4) a{--dot:#ffd23f;}
nav.primary li:nth-child(5n+5) a{--dot:var(--cyan);}

.nav-cta{display:flex; align-items:center; gap:14px;}
.btn-search{
  width:32px; height:32px; border-radius:50%; border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center; color:var(--chrome-dim);
  background:transparent; cursor:pointer; padding:0;
}
.btn-search:hover{ color:var(--text); border-color:var(--chrome-dim); }
.site-search-panel{
  border-bottom:1px solid var(--line);
  background:rgba(var(--bg-rgb),.96);
  backdrop-filter:blur(10px);
}
.site-search-panel[hidden]{ display:none; }
.site-search-panel .wrap{ padding-block:16px; }

.btn-menu-toggle{
  width:32px; height:32px; border-radius:50%; border:1px solid var(--line);
  display:none; align-items:center; justify-content:center; color:var(--chrome-dim);
  background:transparent; cursor:pointer; padding:0;
}
.btn-menu-toggle:hover{ color:var(--text); border-color:var(--chrome-dim); }

.btn-theme-toggle{
  width:32px; height:32px; border-radius:50%; border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center; color:var(--chrome-dim);
  background:transparent; cursor:pointer; padding:0;
}
.btn-theme-toggle:hover{ color:var(--text); border-color:var(--chrome-dim); }
.btn-theme-toggle .icon-moon{ display:none; }
html[data-theme="light"] .btn-theme-toggle .icon-sun{ display:none; }
html[data-theme="light"] .btn-theme-toggle .icon-moon{ display:block; }
.btn-join{
  font-family:'Space Mono'; font-size:11px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--bg); background:var(--text); padding:9px 16px; border-radius:2px;
  text-decoration:none; white-space:nowrap;
  box-shadow:0 0 0 1px rgba(0,0,0,.2);
}
nav.primary a.nav-join-mobile{ display:none; }

/* ---------- hero ---------- */
.hero{
  position:relative; overflow:hidden;
  padding-block:64px 56px;
  background:
    radial-gradient(680px 340px at 18% -10%, rgba(226,35,26,.16), transparent 60%),
    radial-gradient(560px 300px at 88% 10%, rgba(53,228,224,.10), transparent 60%),
    var(--bg);
  border-bottom:1px solid var(--line);
}
.hero-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:center;}
.hero-eyebrow{display:flex; align-items:center; gap:10px; margin-bottom:18px;}
.hero-eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--cyan); box-shadow:0 0 10px 2px rgba(53,228,224,.7);}
.hero h1{font-size:clamp(38px,5.6vw,66px); line-height:.98;}
.hero h1 .hl{color:var(--red); -webkit-text-stroke:1px rgba(255,255,255,.08);}
.hero p.lede{font-size:17px; line-height:1.6; color:var(--chrome); max-width:46ch; margin-top:18px;}
.hero-actions{display:flex; gap:14px; margin-top:28px; flex-wrap:wrap;}
.btn-primary{
  background:var(--red); color:#fff; text-decoration:none;
  font-family:'Space Mono'; font-size:12px; letter-spacing:.1em; text-transform:uppercase;
  padding:14px 22px; border-radius:2px; display:inline-flex; align-items:center; gap:8px;
  box-shadow:0 10px 30px -12px rgba(226,35,26,.7);
}
.btn-ghost{
  border:1px solid var(--line); color:var(--text); text-decoration:none;
  font-family:'Space Mono'; font-size:12px; letter-spacing:.1em; text-transform:uppercase;
  padding:14px 22px; border-radius:2px;
}
.hero-art{position:relative; display:flex; align-items:center; justify-content:center;}
.hero-art img{width:100%; max-width:480px; filter:drop-shadow(0 20px 40px rgba(0,0,0,.55));}
.hero-waveform{margin-top:56px; display:flex; align-items:center; gap:18px; flex-wrap:wrap;}
.hero-waveform img{height:34px; width:auto; opacity:.85;}
.hero-waveform .now{
  font-family:'Space Mono'; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--text-dim);
}
.hero-waveform .now b{color:var(--text); font-weight:400;}

/* ---------- tagline strip ---------- */
.tagline-strip{border-bottom:1px solid var(--line); background:var(--bg-raised); overflow:hidden;}
.tagline-strip .track{
  display:flex; align-items:center; gap:100px; padding-block:16px; white-space:nowrap; overflow:hidden;
}
.tagline-strip .track span{width:7px;height:7px;border-radius:50%;flex:0 0 auto;background:var(--dotc,var(--red));}
.tagline-strip .track span:nth-child(5n+2){--dotc:var(--cyan);}
.tagline-strip .track span:nth-child(5n+3){--dotc:var(--magenta);}
.tagline-strip .track span:nth-child(5n+4){--dotc:#ffd23f;}
.tagline-strip .track span:nth-child(5n){--dotc:var(--cyan);}

/* ---------- section shell ---------- */
section{padding-block:64px;}
.sec-head{
  display:flex; justify-content:space-between; align-items:flex-end; gap:24px;
  margin-bottom:34px; flex-wrap:wrap; border-bottom:1px solid var(--line); padding-bottom:20px;
}
.sec-head h2{font-size:clamp(26px,3.4vw,38px);}
.sec-head .num{font-family:'Space Mono'; font-size:12px; color:var(--text-dim); margin-bottom:6px; display:block;}
.sec-link{font-family:'Space Mono'; font-size:12px; letter-spacing:.08em; text-transform:uppercase; text-decoration:none; color:var(--chrome); white-space:nowrap;}
.sec-link::after{content:" \2192";}

/* ---------- now spinning ---------- */
.spin-panel{
  display:grid; grid-template-columns:220px 1fr; gap:40px;
  background:var(--bg-raised); border:1px solid var(--line); border-radius:6px; padding:32px; align-items:center;
}
.spin-panel .vinyl{position:relative;}
.spin-panel .vinyl img{width:100%; animation:spin 9s linear infinite;}
@media (prefers-reduced-motion:reduce){ .spin-panel .vinyl img{animation:none;} }
@keyframes spin{to{transform:rotate(360deg);}}
.track-list{list-style:none; margin:0; padding:0;}
.track-list li{
  display:grid; grid-template-columns:28px 1fr auto; align-items:center; gap:16px;
  padding-block:12px; border-bottom:1px solid var(--line); font-size:15px;
}
.track-list li:last-child{border-bottom:none;}
.track-list .idx{font-family:'Space Mono'; color:var(--text-dim); font-size:13px;}
.track-list .song b{font-weight:700;}
.track-list .song span{display:block; color:var(--text-dim); font-size:13px; margin-top:2px;}
.track-list .len{font-family:'Space Mono'; color:var(--text-dim); font-size:12px;}
.track-list li.now .idx{color:var(--cyan);}
.track-list li.now .song b{color:var(--cyan);}
.spin-meta{
  display:flex; justify-content:space-between; margin-top:18px; padding-top:18px;
  border-top:1px solid var(--line); font-family:'Space Mono'; font-size:11px; color:var(--text-dim); letter-spacing:.06em;
}

/* ---------- card grid ---------- */
.card-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.card{background:var(--bg-raised); border:1px solid var(--card-line); border-radius:6px; overflow:hidden; display:flex; flex-direction:column; text-decoration:none;}
.card-media{aspect-ratio:16/10; background:linear-gradient(150deg,var(--bg-raised),var(--bg)) center/cover; position:relative; display:flex; align-items:flex-end; padding:16px;}
.card-media img.thumb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;}
.card-media .kicker{
  font-family:'Space Mono'; font-size:10px; letter-spacing:.12em; text-transform:uppercase;
  background:rgba(0,0,0,.55); border:1px solid var(--line); color:#d7dbe1; padding:4px 9px; border-radius:99px; position:relative;
}
.card-media .kicker.red{border-color:rgba(226,35,26,.5); color:#ff8f88;}
.card-media .kicker.cyan{border-color:rgba(53,228,224,.5); color:#8ff2f0;}
.card-media .kicker.magenta{border-color:rgba(255,63,158,.5); color:#ffa3d4;}
.card-media .sample{position:absolute; top:14px; right:14px; font-family:'Space Mono'; font-size:9px; letter-spacing:.14em; color:var(--text-dim);}
.card-media .glyph{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; opacity:.16; font-size:64px; z-index:0;}
.card-body{padding:20px 20px 22px; display:flex; flex-direction:column; gap:10px; flex:1;}
.card-body h3{font-size:19px; line-height:1.25; color:var(--text);}
.card-body p{margin:0; font-size:14px; line-height:1.6; color:var(--chrome-dim);}
.card-foot{margin-top:auto; padding-top:12px; display:flex; justify-content:space-between; align-items:center; font-family:'Space Mono'; font-size:11px; color:var(--text-dim);}
.stars{color:var(--cyan); letter-spacing:1px;}

/* ---------- gear spec strip ---------- */
.gear-feature{display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:center; background:var(--bg-raised); border:1px solid var(--line); border-radius:6px; padding:36px;}
.gear-feature .neck{opacity:.9;}
.spec-table{width:100%; border-collapse:collapse; margin-top:18px;}
.spec-table tr{border-bottom:1px solid var(--line);}
.spec-table tr:last-child{border-bottom:none;}
.spec-table td{padding:9px 0; font-size:13px;}
.spec-table td:first-child{font-family:'Space Mono'; color:var(--text-dim); width:42%;}
.verdict-score{display:inline-flex; align-items:baseline; gap:6px; margin-top:16px; font-family:'Anton'; font-size:34px; color:var(--magenta);}
.verdict-score span{font-family:'Space Mono'; font-size:12px; color:var(--text-dim); letter-spacing:.1em;}

/* ---------- community ---------- */
.community-grid{display:grid; grid-template-columns:1.2fr .8fr; gap:28px;}
.contrib-card{background:var(--bg-raised); border:1px solid var(--line); border-radius:6px; padding:28px; display:flex; gap:18px;}
.avatar{
  width:56px; height:56px; border-radius:50%; flex:none;
  background:conic-gradient(from 200deg, var(--red), var(--magenta), var(--cyan), var(--red));
  display:flex; align-items:center; justify-content:center; font-family:'Anton'; font-size:20px; color:var(--ink);
}
.avatar-inner{width:calc(100% - 4px); height:calc(100% - 4px); border-radius:50%; background:var(--bg-raised); display:flex; align-items:center; justify-content:center; color:var(--text); overflow:hidden;}
.avatar-inner img{width:100%;height:100%;object-fit:cover;}
.contrib-card h3{font-size:17px; margin-bottom:4px;}
.contrib-card .role{font-family:'Space Mono'; font-size:11px; color:var(--cyan); letter-spacing:.08em; text-transform:uppercase;}
.contrib-card p{font-size:14px; color:var(--chrome-dim); line-height:1.6; margin-top:10px;}
.newsletter{
  background:linear-gradient(160deg, rgba(226,35,26,.14), rgba(53,228,224,.06)), var(--bg-raised);
  border:1px solid var(--line); border-radius:6px; padding:28px; display:flex; flex-direction:column; justify-content:space-between;
}
.newsletter h3{font-size:20px; margin-bottom:8px;}
.newsletter p{font-size:13px; color:var(--chrome-dim); margin:0 0 18px;}
.sub-row{display:flex; gap:8px;}
.sub-row input{flex:1; background:var(--bg); border:1px solid var(--line); border-radius:2px; padding:12px; color:var(--text); font-family:'Archivo'; font-size:13px;}
.sub-row input::placeholder{color:var(--steel);}
.sub-row button{background:var(--text); color:var(--bg); border:none; border-radius:2px; padding:0 18px; font-family:'Space Mono'; font-size:11px; letter-spacing:.08em; text-transform:uppercase; cursor:pointer;}

/* ---------- single / page content ---------- */
.page-banner{background:var(--bg-raised); border-bottom:1px solid var(--line); padding-block:30px;}
.page-banner .num{display:block;margin-bottom:8px;}
.page-banner h1{font-size:clamp(28px,4vw,46px);}
.entry-meta{font-family:'Space Mono'; font-size:11px; letter-spacing:.06em; color:var(--text-dim); margin-top:10px; display:flex; gap:14px; flex-wrap:wrap; text-transform:uppercase;}
.entry-meta a{color:var(--cyan); text-decoration:none;}
.single-wrap{padding-block:56px; max-width:1180px; margin-inline:auto; padding-inline:24px;}
.entry-thumb{margin-bottom:32px; border-radius:6px; overflow:hidden; border:1px solid var(--line);}
.entry-thumb img{display:block; width:100%; height:auto; max-height:420px; object-fit:cover;}
.entry-content{font-size:16.5px; line-height:1.75; color:var(--chrome);}
.entry-content p{margin:0 0 1.3em;}
.entry-content h2,.entry-content h3,.entry-content h4{font-family:'Anton'; text-transform:uppercase; letter-spacing:.01em; color:var(--text); margin:1.6em 0 .6em;}
.entry-content h2{font-size:28px;}
.entry-content h3{font-size:21px;}
.entry-content a{color:var(--cyan); text-decoration-color:rgba(var(--cyan-rgb),.4);}
.entry-content blockquote{border-left:3px solid var(--red); margin:1.5em 0; padding:.4em 0 .4em 1.2em; color:var(--text); font-style:italic;}
.entry-content ul,.entry-content ol{padding-left:1.4em;}
.entry-content img{border-radius:6px;}
.entry-content figcaption{font-family:'Space Mono'; font-size:12px; color:var(--text-dim); margin-top:8px;}
.entry-content pre{background:var(--bg-raised); border:1px solid var(--line); padding:16px; overflow-x:auto; border-radius:6px;}
.entry-tags{margin-top:40px; padding-top:20px; border-top:1px solid var(--line); font-family:'Space Mono'; font-size:11px; letter-spacing:.06em; text-transform:uppercase; display:flex; gap:10px; flex-wrap:wrap;}
.entry-tags a{color:var(--chrome); text-decoration:none; border:1px solid var(--line); padding:5px 10px; border-radius:99px;}
.entry-tags a:hover{border-color:var(--cyan); color:var(--cyan);}
.post-nav{display:flex; justify-content:space-between; gap:16px; margin-top:36px; padding-top:24px; border-top:1px solid var(--line); font-family:'Space Mono'; font-size:12px;}
.post-nav a{text-decoration:none; color:var(--chrome);}
.post-nav a:hover{color:var(--cyan);}
.pagination{display:flex; gap:8px; justify-content:center; margin-top:40px; font-family:'Space Mono'; font-size:12px;}
.pagination a,.pagination span{padding:8px 13px; border:1px solid var(--line); border-radius:2px; text-decoration:none; color:var(--chrome);}
.pagination .current{background:var(--red); border-color:var(--red); color:#fff;}

/* comments */
.comments-area{margin-top:56px; padding-top:36px; border-top:1px solid var(--line);}
.comments-title,.comment-reply-title{font-family:'Anton'; text-transform:uppercase; font-size:22px; margin-bottom:20px;}
.comment-list{list-style:none; margin:0; padding:0;}
.comment-list .children{list-style:none; margin:0; padding-left:44px;}
.comment-list .comment{border-bottom:1px solid var(--line); padding-block:14px;}
.comment-body{position:relative; padding-left:56px; min-height:40px;}
.comment-meta{display:flex; flex-wrap:wrap; align-items:baseline; column-gap:8px; margin-bottom:6px; background:none; padding:0; position:static;}
.comment-author.vcard{margin:0;}
.comment-author.vcard .avatar{
  position:absolute; left:0; top:2px; width:40px; height:40px;
  border-radius:50%; background:none; display:block; flex:none; margin:0;
}
.comment-author .fn{font-weight:700; font-size:14px;}
.comment-author .says{color:var(--text-dim); font-size:13px; margin-left:2px;}
.comment-metadata{font-family:'Space Mono'; font-size:11px; color:var(--text-dim); margin:0;}
.comment-content p{font-size:14.5px; line-height:1.6; color:var(--chrome); margin:0 0 8px;}
.comment-list .reply{margin-top:2px;}
.comment-form input[type="text"],.comment-form input[type="email"],.comment-form input[type="url"],.comment-form textarea{
  width:100%; background:var(--bg-raised); border:1px solid var(--line); border-radius:2px; padding:11px; color:var(--text); font-family:'Archivo'; margin-top:6px;
}
.comment-form label{font-family:'Space Mono'; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--text-dim);}
.comment-form p{margin-bottom:16px;}
.comment-form .form-submit input{
  background:var(--red); color:#fff; border:none; padding:12px 22px; font-family:'Space Mono'; font-size:11px; letter-spacing:.08em; text-transform:uppercase; border-radius:2px; cursor:pointer;
}

/* widgets fallback inside content */
.entry-content .wp-block-embed{margin:1.6em 0;}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line); background:var(--bg-raised); padding-block:52px 28px; position:relative; overflow:hidden;}
footer::before{content:""; position:absolute; inset:0; background:radial-gradient(420px 200px at 12% 0%, rgba(var(--magenta-rgb),.10), transparent 70%); pointer-events:none;}
.foot-grid{display:grid; grid-template-columns:1.3fr repeat(3,1fr); gap:36px; position:relative;}
.foot-brand img{height:26px; margin-bottom:14px;}
.foot-brand p{font-size:13px; color:var(--text-dim); max-width:32ch; line-height:1.6;}
.foot-col h4{font-family:'Space Mono'; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--text-dim); margin-bottom:14px;}
.foot-col ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px;}
.foot-col a{text-decoration:none; font-size:13.5px; color:var(--chrome);}
.foot-col a:hover{color:var(--cyan);}
.foot-bottom{margin-top:46px; padding-top:22px; border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; position:relative;}
.foot-bottom img{height:20px; opacity:.8;}
.foot-bottom .fine{font-family:'Space Mono'; font-size:11px; color:var(--steel); letter-spacing:.04em;}

::selection{background:var(--red); color:#fff;}

@media (max-width:920px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-art{order:-1;}
  .card-grid{grid-template-columns:1fr 1fr;}
  .community-grid{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .gear-feature{grid-template-columns:1fr;}
  .btn-menu-toggle{display:flex;}
  .nav-cta .btn-join{display:none;}
  nav.primary a.btn-join{
    display:block; margin-top:14px; text-align:center;
    background:var(--text); color:var(--bg); border:none; border-radius:2px;
    padding:12px 0; text-transform:uppercase; letter-spacing:.1em; font-family:'Space Mono';
  }
  nav.primary{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:var(--bg-raised);
    border-bottom:1px solid var(--line);
    padding:8px 24px 20px;
    z-index:40;
  }
  nav.primary.nav-open{display:block;}
  nav.primary ul{flex-direction:column; gap:0;}
  nav.primary a{display:block; padding:12px 0; border-bottom:1px solid var(--line);}
  nav.primary li:last-child a{border-bottom:none;}
  header.site{position:relative;}
}
@media (max-width:620px){
  .card-grid{grid-template-columns:1fr;}
  .spin-panel{grid-template-columns:1fr; text-align:center;}
  .track-list li{grid-template-columns:24px 1fr auto;}
  .foot-grid{grid-template-columns:1fr;}
  .hero h1{font-size:13vw;}
}


/* ==========================================================================
   bbPress forums — reskin to match site's dark, card-based design
   ========================================================================== */
#bbpress-forums{
  font-family:'Archivo',system-ui,sans-serif;
  color:var(--text);
  font-size:14px;
}
#bbpress-forums a{ color:var(--text); text-decoration:none; }
#bbpress-forums a:hover{ color:var(--cyan); }

/* breadcrumb */
#bbpress-forums .bbp-breadcrumb{
  font-family:'Space Mono',monospace;
  font-size:11px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--text-dim);
  margin-bottom:24px;
}
#bbpress-forums .bbp-breadcrumb a{ color:var(--chrome); }
#bbpress-forums .bbp-breadcrumb a:hover{ color:var(--cyan); }
#bbpress-forums .bbp-breadcrumb .bbp-breadcrumb-sep{ color:var(--steel); margin:0 6px; }
#bbpress-forums .bbp-breadcrumb .bbp-breadcrumb-current{ color:var(--text); }

/* subscribe toggle */
#bbpress-forums #subscription-toggle{
  display:inline-block; margin-bottom:16px;
}
#bbpress-forums #subscription-toggle a{
  font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--cyan); border:1px solid rgba(var(--cyan-rgb),.4); border-radius:99px; padding:6px 14px; display:inline-block;
}
#bbpress-forums #subscription-toggle a:hover{ background:rgba(var(--cyan-rgb),.1); }

/* search form */
#bbpress-forums .bbp-search-form{ margin-bottom:24px; display:flex; gap:0; max-width:420px; }
#bbpress-forums #bbp_search{
  flex:1; background:var(--bg-raised); border:1px solid var(--line); border-right:none;
  border-radius:2px 0 0 2px; padding:10px 14px; color:var(--text); font-family:'Archivo'; font-size:13px;
}
#bbpress-forums #bbp_search::placeholder{ color:var(--steel); }
#bbpress-forums #bbp_search_submit{
  background:var(--text); color:var(--bg); border:none; border-radius:0 2px 2px 0;
  padding:0 18px; font-family:'Space Mono'; font-size:11px; letter-spacing:.08em; text-transform:uppercase; cursor:pointer;
}
#bbpress-forums #bbp_search_submit:hover{ background:var(--cyan); }

/* notices */
#bbpress-forums .bbp-template-notice,
#bbpress-forums div.bbp-template-notice{
  background:var(--bg-raised); border:1px solid var(--line); border-left:3px solid var(--cyan);
  border-radius:4px; padding:14px 18px; margin-bottom:20px; color:var(--chrome);
}
#bbpress-forums .bbp-template-notice.info{ border-left-color:var(--cyan); }
#bbpress-forums .bbp-template-notice ul{ margin:0; padding:0; list-style:none; }

/* forum / topic / reply list tables -> card-row style */
#bbpress-forums ul.bbp-forums,
#bbpress-forums ul.bbp-topics,
#bbpress-forums ul.bbp-replies{
  list-style:none; margin:0 0 32px; padding:0;
  border:1px solid var(--card-line); border-radius:6px; overflow:hidden;
  background:var(--bg-raised);
}
#bbpress-forums .bbp-forums-list,
#bbpress-forums li.bbp-header{
  border-bottom:1px solid var(--line);
}
#bbpress-forums li.bbp-header ul,
#bbpress-forums li.bbp-header{
  display:flex; align-items:center;
  font-family:'Space Mono',monospace; font-size:10px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--text-dim); padding:14px 20px; background:var(--sheen-1);
}
#bbpress-forums li.bbp-body > ul,
#bbpress-forums > div > ul.bbp-forums > li,
#bbpress-forums ul.bbp-forums > li:not(.bbp-header),
#bbpress-forums ul.bbp-topics > li:not(.bbp-header):not(.bbp-footer),
#bbpress-forums ul.bbp-replies > li:not(.bbp-header):not(.bbp-footer){
  display:flex; align-items:center; flex-wrap:wrap;
  padding:16px 20px; border-bottom:1px solid var(--line);
  transition:background .15s ease;
}
#bbpress-forums ul.bbp-forums > li:last-child,
#bbpress-forums ul.bbp-topics > li:last-child,
#bbpress-forums ul.bbp-replies > li:last-child{ border-bottom:none; }
#bbpress-forums ul.bbp-forums > li:not(.bbp-header):hover,
#bbpress-forums ul.bbp-topics > li:not(.bbp-header):not(.bbp-footer):hover{
  background:var(--sheen-2);
}
#bbpress-forums .bbp-forum-info,
#bbpress-forums .bbp-topic-title{
  flex:1 1 320px; min-width:200px;
}
#bbpress-forums .bbp-forum-title,
#bbpress-forums .bbp-topic-permalink{
  font-family:'Archivo'; font-weight:600; font-size:16px; color:var(--text); display:inline-block;
}
#bbpress-forums .bbp-forum-title:hover,
#bbpress-forums .bbp-topic-permalink:hover{ color:var(--cyan); }
#bbpress-forums .bbp-forum-content{
  margin-top:4px; font-size:13px; line-height:1.5; color:var(--chrome-dim);
}
#bbpress-forums .bbp-forum-topic-count,
#bbpress-forums .bbp-forum-reply-count,
#bbpress-forums .bbp-topic-voice-count,
#bbpress-forums .bbp-topic-reply-count{
  flex:0 0 90px; text-align:center; font-family:'Space Mono'; font-size:13px; color:var(--chrome);
}
#bbpress-forums .bbp-forum-freshness,
#bbpress-forums .bbp-topic-freshness{
  flex:0 0 180px; text-align:right; font-size:12px; color:var(--text-dim);
}
#bbpress-forums .bbp-topic-freshness a,
#bbpress-forums .bbp-forum-freshness a{ color:var(--chrome); }
#bbpress-forums .bbp-topic-meta{ margin-top:4px; font-family:'Space Mono'; font-size:11px; color:var(--steel); }
#bbpress-forums .bbp-topic-started-by{ font-size:12px; color:var(--text-dim); margin-top:4px; }
#bbpress-forums .bbp-topic-started-by a{ color:var(--chrome); }

/* sticky / super sticky topics */
#bbpress-forums li.bbp-topic-status-sticky .bbp-topic-title::before{
  content:"PINNED"; font-family:'Space Mono'; font-size:9px; letter-spacing:.1em;
  color:var(--red); border:1px solid rgba(var(--red-rgb),.5); border-radius:99px; padding:2px 8px; margin-right:8px; vertical-align:middle;
}
#bbpress-forums li.bbp-topic-status-closed .bbp-topic-title::after{
  content:"CLOSED"; font-family:'Space Mono'; font-size:9px; letter-spacing:.1em;
  color:var(--chrome-dim); border:1px solid var(--line); border-radius:99px; padding:2px 8px; margin-left:8px; vertical-align:middle;
}

/* single forum/topic header (title bar above single view) */
#bbpress-forums .bbp-forum-header,
#bbpress-forums .bbp-topic-header,
#bbpress-forums .bbp-reply-header{
  display:flex; justify-content:space-between; align-items:center;
  padding:14px 20px; background:var(--sheen-1); border-bottom:1px solid var(--line);
  font-family:'Space Mono'; font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--text-dim);
}

/* reply / post author + content blocks */
#bbpress-forums .bbp-reply-author,
#bbpress-forums .bbp-topic-author{
  flex:0 0 160px; text-align:center; padding:20px; color:var(--chrome);
}
#bbpress-forums .bbp-author-avatar img{
  border-radius:4px; border:1px solid var(--line); display:block; margin:0 auto 10px;
}
#bbpress-forums .bbp-author-name{ font-weight:600; color:var(--text); font-size:13px; display:block; }
#bbpress-forums .bbp-author-role{
  font-family:'Space Mono'; font-size:10px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--cyan); display:block; margin-top:4px;
}
#bbpress-forums .bbp-author-joined,
#bbpress-forums .bbp-author-topic-count-wrapper,
#bbpress-forums .bbp-author-reply-count-wrapper{
  font-family:'Space Mono'; font-size:10px; color:var(--steel); margin-top:6px;
}
#bbpress-forums .bbp-reply-content,
#bbpress-forums .bbp-topic-content{
  flex:1 1 auto; padding:20px; line-height:1.7; color:var(--chrome); min-width:220px;
}
#bbpress-forums .bbp-reply-content p,
#bbpress-forums .bbp-topic-content p{ margin:0 0 14px; }
#bbpress-forums .bbp-reply-content p:last-child,
#bbpress-forums .bbp-topic-content p:last-child{ margin-bottom:0; }

/* pagination */
#bbpress-forums .bbp-pagination{
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px;
  font-family:'Space Mono'; font-size:11px; color:var(--text-dim); margin-bottom:24px;
}
#bbpress-forums .bbp-pagination-links a,
#bbpress-forums .bbp-pagination-links span.current{
  display:inline-block; padding:6px 12px; border:1px solid var(--line); border-radius:2px; margin-left:4px; color:var(--chrome);
}
#bbpress-forums .bbp-pagination-links span.current{ background:var(--text); color:var(--bg); border-color:var(--text); }
#bbpress-forums .bbp-pagination-links a:hover{ border-color:var(--cyan); color:var(--cyan); }

/* forms: new topic / new reply / edit */
#bbpress-forums fieldset.bbp-form{
  background:var(--bg-raised); border:1px solid var(--card-line); border-radius:6px;
  padding:28px; margin-bottom:32px;
}
#bbpress-forums fieldset.bbp-form legend{
  font-family:'Anton',Impact,sans-serif; text-transform:uppercase; letter-spacing:.01em;
  font-size:20px; color:var(--text); padding:0 4px;
}
#bbpress-forums fieldset.bbp-form > div > p{ margin:0 0 18px; }
#bbpress-forums fieldset.bbp-form label{
  display:block; font-family:'Space Mono'; font-size:11px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--text-dim); margin-bottom:8px;
}
#bbpress-forums fieldset.bbp-form input[type="text"],
#bbpress-forums fieldset.bbp-form input[type="email"],
#bbpress-forums fieldset.bbp-form input[type="url"],
#bbpress-forums fieldset.bbp-form input[type="password"],
#bbpress-forums fieldset.bbp-form textarea,
#bbpress-forums fieldset.bbp-form select.bbp_dropdown{
  width:100%; max-width:480px; background:var(--bg); border:1px solid var(--line); border-radius:2px;
  padding:11px 14px; color:var(--text); font-family:'Archivo'; font-size:13px;
}
#bbpress-forums fieldset.bbp-form input::placeholder,
#bbpress-forums fieldset.bbp-form textarea::placeholder{ color:var(--steel); }
#bbpress-forums fieldset.bbp-form input:focus,
#bbpress-forums fieldset.bbp-form textarea:focus,
#bbpress-forums fieldset.bbp-form select:focus{ outline:none; border-color:var(--cyan); }
#bbpress-forums fieldset.bbp-form input[type="checkbox"]{ width:auto; margin-right:8px; vertical-align:middle; }
#bbpress-forums fieldset.bbp-form .bbp-the-content-wrapper{
  border:1px solid var(--line); border-radius:4px; overflow:hidden; max-width:100%;
}
#bbpress-forums .bbp-submit-wrapper{ margin-top:8px; }
#bbpress-forums button.submit,
#bbpress-forums .bbp-submit-wrapper button,
#bbpress-forums input#bbp_search_submit{
  background:var(--red); color:#fff; border:none; border-radius:2px; cursor:pointer;
  font-family:'Space Mono'; font-size:12px; letter-spacing:.08em; text-transform:uppercase;
  padding:12px 26px;
}
#bbpress-forums button.submit:hover{ background:var(--red-dim); }

/* guest / login-wall notice */
#bbpress-forums #bbp-login-form,
#bbpress-forums .bbp-login-form{
  background:var(--bg-raised); border:1px solid var(--card-line); border-radius:6px; padding:28px; max-width:420px;
}
#bbpress-forums .bbp-login-form label{
  display:block; font-family:'Space Mono'; font-size:11px; text-transform:uppercase; color:var(--text-dim); margin-bottom:8px;
}
#bbpress-forums .bbp-login-form input[type="text"],
#bbpress-forums .bbp-login-form input[type="password"]{
  width:100%; background:var(--bg); border:1px solid var(--line); border-radius:2px; padding:11px 14px; color:var(--text); margin-bottom:16px;
}

/* responsive */
@media (max-width:720px){
  #bbpress-forums li.bbp-header{ display:none; }
  #bbpress-forums .bbp-forum-topic-count,
  #bbpress-forums .bbp-forum-reply-count,
  #bbpress-forums .bbp-topic-voice-count,
  #bbpress-forums .bbp-topic-reply-count,
  #bbpress-forums .bbp-forum-freshness,
  #bbpress-forums .bbp-topic-freshness{ flex:1 1 33%; text-align:left; margin-top:10px; }
  #bbpress-forums .bbp-reply-author{ flex:0 0 100%; display:flex; align-items:center; gap:12px; text-align:left; padding-bottom:0; }
  #bbpress-forums .bbp-author-avatar img{ margin:0; }
}


/* ---- fix: bbPress row wrapper is actually li.bbp-body > ul.loop-item-N, not a bare li ---- */
#bbpress-forums li.bbp-body{
  padding:0 !important; border:none !important; background:transparent !important; display:block !important; margin:0 !important;
}
#bbpress-forums li.bbp-body > ul{
  display:flex !important; align-items:center !important; flex-wrap:wrap !important;
  padding:16px 20px !important; margin:0 !important; list-style:none !important;
  border-bottom:1px solid var(--line) !important; background:transparent !important;
  transition:background .15s ease;
}
#bbpress-forums li.bbp-body:last-child > ul{ border-bottom:none !important; }
#bbpress-forums li.bbp-body > ul:hover{ background:var(--sheen-2) !important; }
#bbpress-forums .odd,
#bbpress-forums .even{ background:transparent !important; }


/* ---- fix: forum-info was growing too wide, pushing freshness column to wrap onto its own line ---- */
#bbpress-forums .bbp-forum-info,
#bbpress-forums .bbp-topic-title{
  flex:1 1 150px !important; min-width:150px !important;
}
#bbpress-forums .bbp-forum-topic-count,
#bbpress-forums .bbp-forum-reply-count,
#bbpress-forums .bbp-topic-voice-count,
#bbpress-forums .bbp-topic-reply-count{
  flex:0 0 70px !important;
}
#bbpress-forums .bbp-forum-freshness,
#bbpress-forums .bbp-topic-freshness{
  flex:0 0 160px !important;
}


/* ---- fix: custom webfont renders garbled inside native <select> controls ---- */
#bbpress-forums fieldset.bbp-form select.bbp_dropdown{
  font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif !important;
}


/* ---- Crate Digest: MailPoet signup form, restyled to match .sub-row ---- */
.crate-digest-form .mailpoet_form { margin: 0; }
.crate-digest-form form { display: flex; gap: 8px; flex-wrap: wrap; align-items: flex-start; }
.crate-digest-form .mailpoet_paragraph { margin: 0 !important; flex: 1 1 160px; }
.crate-digest-form .mailpoet_paragraph:has(.mailpoet_submit) { flex: 0 0 auto; }
.crate-digest-form .mailpoet_text {
	background: var(--bg) !important;
	border: 1px solid var(--line) !important;
	border-radius: 2px !important;
	padding: 12px !important;
	color: var(--text) !important;
	font-family: 'Archivo', sans-serif !important;
	font-size: 13px !important;
	height: auto !important;
	box-sizing: border-box !important;
}
.crate-digest-form .mailpoet_text::placeholder { color: var(--steel); opacity: 1; }
.crate-digest-form .mailpoet_submit {
	background: var(--text) !important;
	color: var(--bg) !important;
	border: none !important;
	border-radius: 2px !important;
	padding: 12px 18px !important;
	height: auto !important;
	font-family: 'Space Mono', monospace !important;
	font-size: 11px !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
	width: auto !important;
	box-sizing: border-box !important;
}
.crate-digest-form .mailpoet_submit:hover { background: var(--chrome); }
.crate-digest-form .mailpoet_message { font-family: 'Space Mono', monospace; font-size: 11px; color: var(--cyan); margin-top: 10px; }
.crate-digest-form .mailpoet_validate_error { color: var(--red); font-size: 11px; margin-top: 6px; }


/* ---------- crate auth (community page sign in / sign up) ---------- */
.crate-auth{margin-bottom:40px;}
.crate-auth-signedin{
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px;
  padding:20px 24px; border:1px solid var(--line); border-radius:8px; background:var(--bg-raised);
}
.crate-auth-status{margin:0; font-size:15px; color:var(--text);}
.crate-auth-forms{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
@media (max-width:700px){
  .crate-auth-forms{grid-template-columns:1fr;}
}
.crate-auth-col{padding:24px; border:1px solid var(--line); border-radius:8px; background:var(--bg-raised);}
.crate-auth-col h3{margin:0 0 16px; font-size:16px; letter-spacing:.04em; text-transform:uppercase; color:var(--text);}
.crate-auth-col form p{margin:0 0 14px;}
.crate-auth-col label{display:block; margin-bottom:6px; font-size:12px; letter-spacing:.05em; text-transform:uppercase; color:var(--text-dim);}
.crate-auth-col input[type="text"],
.crate-auth-col input[type="email"],
.crate-auth-col input[type="password"]{
  width:100%; padding:10px 12px; border:1px solid var(--line); border-radius:6px;
  background:var(--bg); color:var(--text); font-family:inherit; font-size:14px;
}
.crate-auth-col .login-remember{display:flex; align-items:center; gap:8px; font-size:13px; color:var(--text-dim); text-transform:none;}
.crate-auth-col .login-remember label{display:inline; margin:0; text-transform:none;}
.crate-auth-col button[type="submit"],
.crate-auth-col input[type="submit"]{
  appearance:none; border:none; border-radius:6px; padding:10px 20px; background:var(--red); color:#fff;
  font-weight:700; letter-spacing:.04em; text-transform:uppercase; font-size:13px; cursor:pointer;
}
.crate-auth-col button[type="submit"]:hover,
.crate-auth-col input[type="submit"]:hover{opacity:.9;}
.crate-auth-error{
  margin:0 0 16px; padding:10px 14px; border-radius:6px; background:rgba(226,35,26,.12); border:1px solid rgba(226,35,26,.4);
  color:var(--red); font-size:13px;
}


/* ---------- crate agree checkbox (signup consent) ---------- */
.crate-agree{display:flex; align-items:flex-start; gap:8px; text-transform:none;}
.crate-agree label{display:flex; align-items:flex-start; gap:8px; margin:0; font-size:12px; letter-spacing:normal; text-transform:none; color:var(--text-dim); cursor:pointer;}
.crate-agree input[type="checkbox"]{margin-top:3px; flex:0 0 auto;}
.crate-agree a{color:var(--text); text-decoration:underline; text-underline-offset:2px;}
.crate-agree a:hover{color:var(--red);}

/* ---------- crate lost-password link ---------- */
.crate-lostpassword{margin-top:12px; font-size:12px;}
.crate-lostpassword a{color:var(--text-dim); text-decoration:underline; text-underline-offset:2px;}
.crate-lostpassword a:hover{color:var(--red);}

/* ---------- crate delete-account (signed-in panel) ---------- */
.crate-delete-account{margin-top:16px; width:100%;}
.crate-delete-account summary{
  cursor:pointer; font-size:12px; letter-spacing:.05em; text-transform:uppercase; color:var(--text-dim);
}
.crate-delete-account summary:hover{color:var(--red);}
.crate-delete-account form{margin-top:14px; max-width:420px;}
.crate-delete-account form p{margin:0 0 14px;}
.crate-delete-warning{
  margin:0 0 16px; padding:10px 14px; border-radius:6px; background:rgba(226,35,26,.08);
  border:1px solid rgba(226,35,26,.3); color:var(--text-dim); font-size:13px; line-height:1.5;
}
.crate-delete-account label{display:block; margin-bottom:6px; font-size:12px; letter-spacing:.05em; text-transform:uppercase; color:var(--text-dim);}
.crate-delete-account input[type="text"]{
  width:100%; padding:10px 12px; border:1px solid var(--line); border-radius:6px;
  background:var(--bg); color:var(--text); font-family:inherit; font-size:14px;
}
.btn-danger{
  appearance:none; border:none; border-radius:6px; padding:10px 20px; background:var(--red); color:#fff;
  font-weight:700; letter-spacing:.04em; text-transform:uppercase; font-size:13px; cursor:pointer;
}
.btn-danger:hover{opacity:.85;}
.crate-auth-notice{
  margin:0 0 16px; padding:10px 14px; border-radius:6px; background:rgba(60,180,90,.12);
  border:1px solid rgba(60,180,90,.4); color:#3cb45a; font-size:13px;
}

/* ---- fix: forum/topic list header row wasn't stretching across the full row width.
   The header wraps its Topic / Voices / Posts / Last Post labels in a nested
   <ul class="forum-titles">, which never grew to fill its parent <li class="bbp-header">,
   so the labels bunched to the left instead of lining up with the columns in the rows below. ---- */
#bbpress-forums li.bbp-header:has(> ul.forum-titles){
  padding:0 !important;
}
#bbpress-forums li.bbp-header > ul.forum-titles{
  flex:1 1 auto !important; width:100% !important;
  padding:14px 20px !important; margin:0 !important; box-sizing:border-box !important;
}

/* ---- fix: a topic with no real replies (or an actual reply row) renders as
   li.bbp-body > div, not li.bbp-body > ul like the forums/topics lists, so it never
   picked up our flex-row treatment and fell back to bbPress's own default float/width/
   margin rules -- crushing the avatar column down to ~115px and pushing the post content
   about 140px further right than the "Author / Posts" header sitting above it. ---- */
#bbpress-forums li.bbp-body > div{
  display:flex !important; align-items:flex-start !important; flex-wrap:wrap !important;
  padding:20px !important; margin:0 !important; border-bottom:1px solid var(--line) !important;
  background:transparent !important;
}
#bbpress-forums li.bbp-body:last-child > div{ border-bottom:none !important; }
#bbpress-forums li.bbp-body > div:hover{ background:var(--sheen-2) !important; }
#bbpress-forums .bbp-reply-author,
#bbpress-forums .bbp-topic-author{
  float:none !important; width:auto !important; margin:0 !important;
}
#bbpress-forums .bbp-reply-content,
#bbpress-forums .bbp-topic-content{
  float:none !important; width:auto !important; margin:0 !important;
}

/* ---- fix: inline "Started by" / "last updated by" mentions were forced into the
   block-level avatar-then-name stack meant for the sidebar author column, so they wrapped
   onto their own centered line inside a sentence instead of reading inline as
   "...by [avatar] Name." ---- */
#bbpress-forums .bbp-template-notice .bbp-author-avatar img,
#bbpress-forums .bbp-topic-meta .bbp-author-avatar img,
#bbpress-forums .bbp-forum-freshness .bbp-author-avatar img,
#bbpress-forums .bbp-topic-freshness .bbp-author-avatar img{
  display:inline-block !important; vertical-align:middle !important; margin:0 4px !important;
  border-radius:50% !important;
}
#bbpress-forums .bbp-template-notice .bbp-author-name,
#bbpress-forums .bbp-topic-meta .bbp-author-name,
#bbpress-forums .bbp-forum-freshness .bbp-author-name,
#bbpress-forums .bbp-topic-freshness .bbp-author-name{
  display:inline !important; font-weight:600 !important; color:var(--text) !important;
}


/* ---- fix: li.bbp-footer duplicates the Author/Posts (or empty spacer) row and was
   unstyled -- in the replies list it rendered as a broken, misaligned repeat of the
   header labels. It adds nothing readers need, so hide it. ---- */
#bbpress-forums li.bbp-footer{ display:none !important; }


/* ---- fix: forum pages (forums index, a forum's topic list, a topic's replies,
   tag archives, search) were wrapped in the same narrow .single-wrap column used for
   blog articles (max-width:760px) -- fine for reading prose, way too cramped for a
   data table on a tablet or wide monitor with room to spare. Widen it specifically for
   bbPress pages (body.bbpress), matching the site's wider header/footer container. ---- */
body.bbpress .single-wrap{
  max-width:1180px !important;
}

/* ---- fix: on narrow screens the reply/topic author column was forced to flex:0 0 100%,
   which stacked the avatar in its own full-width block ABOVE the post instead of keeping
   it as a compact column to the left of the content. ---- */
@media (max-width:720px){
  #bbpress-forums li.bbp-body > div{ align-items:flex-start !important; flex-wrap:nowrap !important; }
  #bbpress-forums .bbp-reply-author,
  #bbpress-forums .bbp-topic-author{
    flex:0 0 72px !important; width:72px !important; padding:16px 6px !important;
    display:block !important; text-align:center !important;
  }
  #bbpress-forums .bbp-reply-author .bbp-author-avatar img,
  #bbpress-forums .bbp-topic-author .bbp-author-avatar img{
    width:40px !important; height:40px !important; margin:0 auto 6px !important;
  }
  #bbpress-forums .bbp-reply-author .bbp-author-name,
  #bbpress-forums .bbp-topic-author .bbp-author-name{
    font-size:11px !important; word-break:break-word !important;
  }
  #bbpress-forums .bbp-reply-author .bbp-author-role,
  #bbpress-forums .bbp-topic-author .bbp-author-role{ display:none !important; }
  #bbpress-forums .bbp-reply-content,
  #bbpress-forums .bbp-topic-content{
    padding:16px 12px !important; min-width:0 !important; flex:1 1 auto !important;
  }
}


/* ---- Fix: bbPress topic/forum select dropdowns clipped/invisible text (fixed height smaller than padding+font) ---- */
#bbpress-forums fieldset.bbp-form select.bbp_dropdown{
  height:auto !important;
  min-height:44px !important;
  line-height:1.4 !important;
}
#bbpress-forums fieldset.bbp-form select.bbp_dropdown option{
  background:var(--bg) !important;
  color:var(--text) !important;
}

/* ---- Fix: topic/reply date running into admin action links (Edit | Merge | Close...) ---- */
#bbpress-forums .bbp-meta{
  overflow:hidden;
}
#bbpress-forums .bbp-meta .bbp-reply-permalink{
  float:none !important;
  display:inline !important;
  margin-left:8px !important;
}
#bbpress-forums .bbp-meta .bbp-admin-links{
  float:none !important;
  display:block !important;
  clear:both !important;
  margin-top:8px !important;
  padding-top:8px !important;
  border-top:1px solid var(--line) !important;
}


/* ---- Footer legal links (Privacy Policy / Terms and Conditions) ---- */
.foot-legal{
  font-family:'Space Mono'; font-size:11px; color:var(--steel); letter-spacing:.04em;
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
}
.foot-legal a{ color:var(--steel); text-decoration:underline; text-underline-offset:2px; }
.foot-legal a:hover{ color:var(--cyan); }


/* Related Articles (single.php) */
.related-articles{margin-top:12px; padding-top:28px; border-top:1px solid var(--line);}
.related-articles .sec-head{margin-bottom:16px; padding-bottom:14px;}
.related-articles .sec-head h2{font-size:20px;}
.related-articles .card-grid{gap:14px;}
.related-articles .card-media{aspect-ratio:16/7; padding:10px;}
.related-articles .card-media .kicker{font-size:9px; padding:3px 8px;}
.related-articles .card-body{padding:10px 12px 12px; gap:5px;}
.related-articles .card-body h3{font-size:12.5px; line-height:1.3;}
.related-articles .card-body p{display:none;}
.related-articles .card-foot{padding-top:6px; font-size:9.5px;}
@media (max-width:700px){
	.related-articles .card-grid{grid-template-columns:1fr;}
}


/* ---------- crate profile (front-end profile edit + forum activity) ---------- */
.crate-profile{margin-top:32px;}
.crate-auth-col textarea{
  width:100%; padding:10px 12px; border:1px solid var(--line); border-radius:6px;
  background:var(--bg); color:var(--text); font-family:inherit; font-size:14px; resize:vertical;
}
.crate-activity{margin-top:32px;}
.crate-activity h3{margin:0 0 16px; font-size:16px; letter-spacing:.04em; text-transform:uppercase; color:var(--text);}
.crate-activity-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px;}
.crate-activity-item{
  display:flex; flex-wrap:wrap; align-items:baseline; gap:8px;
  padding:12px 16px; border:1px solid var(--line); border-radius:6px; background:var(--bg-raised); font-size:14px;
}
.crate-activity-type{color:var(--text-dim); font-size:12px; letter-spacing:.05em; text-transform:uppercase;}
.crate-activity-item a{color:var(--text); text-decoration:underline; text-underline-offset:2px;}
.crate-activity-item a:hover{color:var(--red);}
.crate-activity-date{margin-left:auto; color:var(--text-dim); font-size:12px;}
@media (max-width:700px){
  .crate-activity-date{margin-left:0; width:100%;}
}


/* ---------- crate profile avatar (Gravatar) ---------- */
.crate-avatar{display:flex; align-items:center; gap:16px; margin-bottom:20px;}
.crate-avatar img{border-radius:50%; border:1px solid var(--line); display:block;}
.crate-avatar-info p{margin:0 0 4px; font-size:12px; color:var(--text-dim); line-height:1.4;}
.crate-avatar-info a{font-size:12px; color:var(--text-dim); text-decoration:underline; text-underline-offset:2px;}
.crate-avatar-info a:hover{color:var(--red);}
@media (max-width:480px){
  .crate-avatar{flex-wrap:wrap;}
}


/* Search field: use theme-aware colors so it follows light/dark mode */
.site-search-panel .search-field {
  background: var(--bg-raised) !important;
  color: var(--text) !important;
}

/* Menu toggle: morph hamburger into an X when the mobile menu is open */
#site-menu-toggle svg line {
  transform-box: view-box;
  transition: transform .2s ease, opacity .2s ease;
  transform-origin: 12px 12px;
}
#site-menu-toggle[aria-expanded="true"] svg line:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}
#site-menu-toggle[aria-expanded="true"] svg line:nth-child(2) {
  opacity: 0;
}
#site-menu-toggle[aria-expanded="true"] svg line:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}
