/* ══════════════════════════════════════════
   BLOG — single article editorial template
   Scoped under .single-post-b so these tokens/classes never
   leak into (or collide with) the rest of the site's styles.
══════════════════════════════════════════ */
.single-post-b{
  --gold:#C8922A;
  --ink:#1B1712;
  --ink-2:#5A5248;
  --line:#ECE6D9;
  --cream:#FAF7F0;
  --mincho:'Zen Old Mincho',serif;
  --garamond:'Cormorant Garamond',serif;
  padding-top:0;
  color:var(--ink);
  background:#fff;
}
.single-post-b a{ text-decoration:none; }

/* fake/placeholder art (matches the site's existing 音 placeholder convention) */
.b-ph{position:relative;background:var(--cream);display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:6px}
.b-ph span{font-family:var(--mincho);font-size:2.5rem;color:#ddd}
figcaption{font-size:12px;font-style:italic;color:var(--ink-2);margin:10px 0 2em}

/* ============ FLOATING TOC ============ */
.b-toc{position:fixed;top:50%;right:22px;transform:translateY(-50%);z-index:40}
.b-toc ul{list-style:none;display:flex;flex-direction:column;gap:6px;align-items:flex-end;margin:0;padding:0}
.b-toc a{display:flex;align-items:center;gap:12px;padding:5px 0;color:#B4A78E;font-size:12px}
.b-toc .t-label{opacity:0;transform:translateX(8px);transition:all .25s;white-space:nowrap;background:rgba(255,255,255,.94);padding:5px 12px;border-radius:6px;box-shadow:0 4px 16px rgba(27,23,18,.08);pointer-events:none}
.b-toc .t-bar{width:18px;height:2px;background:#DDD5C4;border-radius:2px;transition:all .25s;flex-shrink:0}
.b-toc a:hover .t-bar{background:var(--gold)}
.b-toc a.active .t-bar{background:var(--gold);width:28px}
.b-toc a.active{color:var(--ink)}
.b-toc:hover .t-label{opacity:1;transform:translateX(0)}
.b-toc a.active .t-label{color:var(--ink);font-weight:500}
@media(max-width:1200px){
  .b-toc{right:10px}
  .b-toc .t-bar{width:14px}
  .b-toc a.active .t-bar{width:22px}
}
@media(max-width:900px){.b-toc{display:none}}

/* ============ ARTICLE SHELL ============ */
.b-wrap{max-width:680px;margin:0 auto;padding:24px 24px 0}
.b-crumb{font-size:12px;color:#A79A85;letter-spacing:.08em;margin-bottom:26px}
.b-crumb a:hover{color:var(--gold)}
.b-crumb b{color:var(--gold);font-weight:500}
.b-title{font-family:var(--mincho);font-weight:700;font-size:clamp(26px,3.4vw,36px);line-height:1.65;margin-bottom:20px}
.b-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-bottom:30px;border-bottom:1px solid var(--line);margin-bottom:36px}
.b-meta-pill{display:inline-flex;align-items:center;line-height:1;padding:8px 14px 6px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--ink-2);font-size:11.5px;letter-spacing:.03em;white-space:nowrap;box-shadow:0 1px 2px rgba(27,23,18,.04)}
.b-hero .b-ph{height:380px}
.b-hero img{width:100%;height:380px;object-fit:cover;border-radius:6px;display:block}

.b-body{margin-top:48px;font-size:16px;line-height:2.2;color:var(--ink-2)}
.b-body p{margin-bottom:2em}
.b-body em{font-style:italic}
.b-body ul,.b-body ol{margin:0 0 2em;padding-left:0;list-style:none}
.b-body ul li{position:relative;padding-left:26px;margin-bottom:.85em}
.b-body ul li::before{content:"";position:absolute;left:0;top:.6em;width:7px;height:7px;background:var(--gold);border-radius:2px}
.b-body ol{counter-reset:b-ol}
.b-body ol li{position:relative;padding-left:26px;margin-bottom:.85em;counter-increment:b-ol}
.b-body ol li::before{content:counter(b-ol);position:absolute;left:0;top:0;font-family:var(--garamond);font-weight:600;color:var(--gold)}
.b-body strong{font-weight:600;color:var(--ink)}
.b-body > img{width:100%;border-radius:6px;margin:1.5em 0;display:block}
.b-body figure{margin:2em 0}
.b-body figure figcaption{text-align:center}
.b-h2{font-family:var(--mincho);font-weight:700;font-size:22px;color:var(--ink);margin:2.6em 0 1.1em;line-height:1.7;display:flex;align-items:baseline;gap:14px;scroll-margin-top:90px}
.b-h2::before{content:"";width:8px;height:8px;background:var(--gold);border-radius:2px;flex-shrink:0;transform:translateY(-2px)}
.b-h3{font-family:var(--mincho);font-weight:700;font-size:17px;color:var(--ink);margin:2em 0 .8em;line-height:1.6}
.b-pull{font-family:var(--garamond);font-size:1.3rem;line-height:1.65;color:var(--ink);font-style:italic;border-left:3px solid var(--gold);padding:.6rem 1.4rem;margin:2rem 0;border-radius:0}

/* --- images next to text --- */
.b-img-right{float:right;width:46%;margin:6px 0 22px 32px}
.b-img-left{float:left;width:46%;margin:6px 32px 22px 0}
.b-img-right .b-ph,.b-img-left .b-ph,.b-img-right img,.b-img-left img{height:230px;width:100%;object-fit:cover;border-radius:6px}
.b-clear{clear:both}
.b-duo{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:2.4em 0}
.b-duo .b-ph,.b-duo img{height:210px;width:100%;object-fit:cover;border-radius:6px}
@media(max-width:640px){
  .b-img-right,.b-img-left{float:none;width:100%;margin:1.6em 0}
  .b-duo{grid-template-columns:1fr}
}

/* --- [og_product] mini card: full-bleed photo + brand + title + CTA.
   The description prints as a plain <p> right after it, in normal
   body copy — not inside the card. --- */
.b-gear-mini{display:flex;align-items:stretch;min-height:150px;background:var(--cream);border-radius:10px;overflow:hidden;margin:2em 0 1em;text-decoration:none;transition:box-shadow .2s,transform .2s}
.b-gear-mini:hover{box-shadow:0 8px 28px rgba(27,23,18,.1);transform:translateY(-2px)}
.b-gear-mini-img{width:160px;flex-shrink:0;background:#F7F4EE;border-right:1px solid var(--line)}
.b-gear-mini-img img{width:100%;height:100%;object-fit:cover;display:block}
.b-gear-mini-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:var(--mincho);font-size:1.6rem;color:#ddd}
.b-gear-mini-info{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 26px}
.b-gear-mini-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.b-gear-mini-brand{font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--gold);text-transform:uppercase;margin:0}
.b-gear-mini-title{font-family:var(--mincho);font-size:19px;line-height:1.35;margin:0;color:var(--ink)}
.b-gear-mini-cta{font-size:12.5px;font-weight:500;color:var(--gold);border:1px solid var(--gold);border-radius:999px;padding:10px 22px;white-space:nowrap;flex-shrink:0;transition:all .2s}
.b-gear-mini:hover .b-gear-mini-cta{background:var(--gold);color:#fff}
.b-gear-sep{height:1px;background:var(--gold);opacity:.35;margin:32px 0;border:none}
@media(max-width:480px){.b-gear-mini{flex-direction:column}.b-gear-mini-img{width:100%;height:180px}.b-gear-mini-info{flex-direction:column;align-items:flex-start;gap:14px}}

/* --- video embed (not in the reference mockup, kept for articles that use it) --- */
.b-video{margin:2.4em 0;border-radius:8px;overflow:hidden;background:var(--cream)}
.b-video iframe{display:block;width:100%;aspect-ratio:16/9;height:auto;border:none}

/* --- author signoff strip (not in the reference mockup, kept for articles that use it) --- */
.b-sig{margin-top:3em;padding-top:1.5em;border-top:1px solid var(--line);display:flex;align-items:flex-start;gap:1rem}
.b-sig-bar{width:3px;min-height:60px;flex-shrink:0;background:var(--gold);border-radius:2px}
.b-sig p{font-family:var(--sans, inherit);font-size:.9rem;line-height:1.8;color:var(--ink-2);margin:0}
.b-sig a{color:var(--gold)}
.b-sig a:hover{text-decoration:underline}

/* ============ NEXT READS ============ */
.b-next{max-width:680px;margin:80px auto 0;padding:0 24px 80px}
.b-next h3{font-family:var(--garamond);letter-spacing:.26em;font-size:12px;color:var(--gold);text-transform:uppercase;margin-bottom:20px}
.b-next a{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-top:1px solid var(--line);font-size:14.5px;line-height:1.8}
.b-next a:last-child{border-bottom:1px solid var(--line)}
.b-next a:hover .b-next-t{color:var(--gold)}
.b-next time{font-size:12px;color:#A79A85;white-space:nowrap}

@media(max-width:760px){.b-hero .b-ph,.b-hero img{height:260px}}
