/* =========================================================
   Reviews — one design shared by every review post that sets
   'shared' => '_reviews' in its blog.php. Same look as the
   site's first review (blogs/best-ai-logo-generators): hero
   with a dark top-pick card, ranking strip, pill contents,
   numbered tool reviews with a side panel and +/− lists.
   Colour, type and radius come from the site's tokens
   (assets/css/main.css). Every section is wrapped in .bmb.
   ========================================================= */
.bmb{
  --rv-ink:var(--text-primary);
  --rv-body:#3F3E39; /* a shade darker than --text-secondary: Helvetica is light at reading sizes */
  --rv-muted:#6E6C64;
  --rv-line:var(--border);
  --rv-wash:var(--bg-1);
  --rv-brand:var(--accent);
  --rv-brand-strong:var(--accent-strong);
  --rv-tint:#FBE6EA;
  --rv-ok:#1E7B4F;
  --rv-ok-soft:#E6F4EC;
  --rv-warn-soft:#FDF0F2;
  --rv-side-top:calc(var(--wp-admin--admin-bar--height, 0px) + 104px);
  color:var(--rv-body);font-family:var(--font-body);font-size:1.125rem;line-height:1.7;
}
.bmb p{margin:0 0 1.05em;}
.bmb h2,.bmb h3{color:var(--rv-ink);}
.bmb [id]{scroll-margin-top:var(--rv-side-top);}

/* Running text + inline links */
.bmb .rv-rich a,.bmb figcaption a,.bmb .rv-faq a,.bmb .rv-note a,.bmb .rv-answer a{
  color:var(--rv-brand-strong);font-weight:600;box-shadow:inset 0 -2px 0 var(--rv-tint);transition:box-shadow .2s var(--ease);
}
.bmb .rv-rich a:hover,.bmb figcaption a:hover,.bmb .rv-faq a:hover,.bmb .rv-note a:hover,.bmb .rv-answer a:hover{box-shadow:inset 0 -9px 0 var(--rv-tint);}
.bmb .rv-rich strong,.bmb .rv-rich b{color:var(--rv-ink);}
.bmb .rv-rich ul,.bmb .rv-rich ol{padding-left:1.25em;margin:0 0 1.2em;}
.bmb .rv-rich ul{list-style:disc;}
.bmb .rv-rich ol{list-style:decimal;}
.bmb .rv-rich li{margin:.35em 0;}
.bmb .rv-rich h3{font-size:1.25rem;margin:1.5em 0 .4em;}
.bmb .rv-rich > h3:first-child{margin-top:.3em;}
.bmb .rv-rich > :last-child{margin-bottom:0;}
.bmb .rv-rich:empty{display:none;}
/* Comfortable reading measure; tables, cards and images keep the full width. */
.bmb .rv-rich,.bmb .rv-answer,.bmb .rv-note,.bmb .rv-box,.bmb .rv-faq-list{max-width:72ch;}

/* Breadcrumb */
.bmb .rv-crumbs{display:flex;flex-wrap:wrap;gap:.45rem;padding-top:var(--space-4);font-family:var(--font-ui);font-size:.8rem;color:var(--rv-muted);}
.bmb .rv-crumbs a{transition:color .2s var(--ease);}
.bmb .rv-crumbs a:hover{color:var(--rv-brand-strong);}

/* Hero */
.bmb .rv-hero{
  display:grid;grid-template-columns:1.35fr 1fr;gap:var(--space-5);align-items:end;
  margin-top:var(--space-4);padding:var(--space-4) 0 var(--space-5);
  border-top:3px solid var(--rv-brand);border-bottom:1px solid var(--rv-line);margin-bottom:var(--space-5);
}
.bmb .rv-hero--solo{grid-template-columns:1fr;}
.bmb .rv-hero-main{min-width:0;}
.bmb .rv-hero .eyebrow{margin-bottom:.6rem;}
.bmb .rv-hero h1{font-size:clamp(2rem, 2.2vw + 1.2rem, 2.9rem);margin:.2rem 0 .8rem;}
.bmb .rv-dek{font-family:var(--font-display);font-style:italic;font-size:1.2rem;line-height:1.5;color:var(--rv-body);margin:0 0 .9rem;}
.bmb .rv-meta{font-family:var(--font-ui);font-size:.82rem;color:var(--rv-muted);margin:0;}
.bmb .rv-meta b{color:var(--rv-ink);font-weight:600;}
.bmb .rv-hero-card{background:var(--text-primary);color:#E9E6DF;border-radius:var(--radius-md);border-top:3px solid var(--rv-brand);padding:1.3rem 1.4rem;font-family:var(--font-ui);}
.bmb .rv-hero-card-k{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#F4B9C4;}
.bmb .rv-hero-card-big{font-family:var(--font-display);font-size:1.7rem;font-weight:700;color:#fff;line-height:1.15;margin:.35rem 0 .3rem;}
.bmb .rv-hero-card p{font-size:.88rem;line-height:1.5;margin:0 0 .8rem;color:#CFCBC2;}
.bmb .rv-hero-card a{font-size:.88rem;font-weight:600;color:#fff;border-bottom:2px solid var(--rv-brand);padding-bottom:1px;}
.bmb .rv-hero-card a:hover{border-bottom-color:#fff;}

/* Ranking strip */
.bmb .rv-ranks{display:grid;grid-template-columns:repeat(var(--rv-cols, 5), 1fr);gap:.65rem;margin:0 0 var(--space-5);font-family:var(--font-ui);}
.bmb .rv-rank{display:block;border:1px solid var(--rv-line);border-radius:var(--radius-md);padding:.9rem .9rem .8rem;background:var(--bg-0);color:var(--rv-ink);transition:border-color .2s var(--ease),transform .2s var(--ease);}
.bmb a.rv-rank[href]:hover{border-color:var(--rv-brand);transform:translateY(-2px);}
.bmb .rv-rank.is-first{background:var(--rv-wash);border-color:var(--rv-brand);}
.bmb .rv-rank-n{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--rv-tint);color:var(--rv-brand-strong);font-weight:700;font-size:.85rem;}
.bmb .rv-rank.is-first .rv-rank-n{background:var(--rv-brand);color:var(--accent-ink);}
.bmb .rv-rank-t{display:block;font-weight:700;margin:.65rem 0 .1rem;font-size:1rem;}
.bmb .rv-rank-d{display:block;font-size:.78rem;line-height:1.4;color:var(--rv-muted);font-weight:500;}

/* Small uppercase label (answer box, contents) */
.bmb .rv-label{font-family:var(--font-ui);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--rv-brand-strong);margin:0 0 .5rem;}

/* Short answer */
.bmb .rv-answer{background:var(--rv-warn-soft);border-left:4px solid var(--rv-brand);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:1.1rem 1.4rem;margin:0 0 var(--space-4);}

/* Contents: pills */
.bmb .rv-toc{margin:0 0 var(--space-6);font-family:var(--font-ui);}
.bmb .rv-toc .rv-label{color:var(--rv-muted);}
.bmb .rv-toc ol{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0;}
.bmb .rv-toc a{display:inline-block;font-size:.8rem;font-weight:600;color:var(--rv-body);background:var(--rv-wash);border:1px solid var(--rv-line);border-radius:999px;padding:.35rem .8rem;transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease);}
.bmb .rv-toc a:hover{background:var(--rv-brand);border-color:var(--rv-brand);color:var(--accent-ink);}

/* Titled sections */
.bmb .rv-sec{margin-top:var(--space-8);}
.bmb .rv-sec--lead{margin-top:0;}
.bmb .rv-sec > h2,.bmb .rv-faq > h2{font-size:clamp(1.5rem, 1.2vw + 1.1rem, 1.9rem);margin:0 0 .6em;}
.bmb .rv-sec > * + *{margin-top:1.05em;}
.bmb .rv-sec > h2 + *{margin-top:0;}

/* Images */
.bmb .rv-fig{margin:1.4rem 0;}
.bmb .rv-fig img{display:block;width:100%;height:auto;background:#fff;border:1px solid var(--rv-line);border-radius:var(--radius-sm);}
.bmb figcaption{margin-top:.55rem;font-family:var(--font-ui);font-size:.84rem;color:var(--rv-muted);line-height:1.55;}
.bmb .rv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.4rem 0;}
.bmb .rv-grid--1{grid-template-columns:1fr;}
.bmb .rv-grid--3,.bmb .rv-grid--4{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));}
.bmb .rv-grid .rv-fig{margin:0;}

/* Tables */
.bmb .rv-table{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.1rem 0;border-radius:var(--radius-md);border:1px solid var(--rv-line);font-family:var(--font-ui);}
.bmb .rv-table:focus-visible{outline:2px solid var(--rv-brand);outline-offset:2px;}
.bmb .rv-table table{width:100%;border-collapse:collapse;font-size:.87rem;line-height:1.5;min-width:600px;}
.bmb .rv-table th,.bmb .rv-table td{padding:.75rem .9rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--rv-line);}
.bmb .rv-table thead th{background:var(--text-primary);color:#fff;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;}
.bmb .rv-table tbody tr:last-child td{border-bottom:0;}
.bmb .rv-table tbody td:first-child{font-weight:700;color:var(--rv-ink);}
.bmb .rv-table b,.bmb .rv-table strong{color:var(--rv-ink);}

/* Note + highlight box */
.bmb .rv-note{background:var(--rv-wash);border-radius:var(--radius-md);padding:1rem 1.3rem;font-family:var(--font-ui);font-size:.92rem;line-height:1.6;}
.bmb .rv-box{background:var(--rv-warn-soft);border-left:4px solid var(--rv-brand);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:1.1rem 1.4rem;}
.bmb .rv-box h3{font-size:1.15rem;margin:0 0 .4rem;}
.bmb .rv-num{display:block;font-family:var(--font-display);font-size:3.2rem;line-height:1;font-weight:700;color:var(--rv-brand);margin:.2rem 0 .4rem;}

/* Tool reviews */
.bmb .rv-rv{margin-top:var(--space-8);}
.bmb .rv-rv-head{display:flex;align-items:center;gap:1.1rem;border-bottom:1px solid var(--rv-ink);padding-bottom:.75rem;margin-bottom:1.4rem;}
.bmb .rv-rv-num{align-self:flex-end;font-family:var(--font-display);font-size:5.2rem;line-height:.78;font-weight:900;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:2px var(--rv-ink);}
.bmb .rv-rv.is-first .rv-rv-num{-webkit-text-stroke:0;color:var(--rv-brand);}
.bmb .rv-rv-kicker{margin:0 0 .25rem;font-family:var(--font-ui);font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--rv-brand-strong);}
.bmb .rv-rv-head h2{margin:0;font-size:clamp(1.6rem, 1.4vw + 1.2rem, 2.2rem);}
.bmb .rv-rv-grid{display:grid;grid-template-columns:210px minmax(0, 1fr);gap:2.1rem;align-items:start;}
.bmb .rv-rv-grid--solo{grid-template-columns:minmax(0, 1fr);}
.bmb .rv-rv-side{position:sticky;top:var(--rv-side-top);min-width:0;font-family:var(--font-ui);font-size:.84rem;line-height:1.45;}
.bmb .rv-rv-side-title{font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--rv-muted);margin:0 0 .4rem;padding-bottom:.4rem;border-bottom:2px solid var(--rv-brand);}
.bmb .rv-rv-side dl{margin:0 0 1.2rem;}
.bmb .rv-rv-side dt{font-weight:700;color:var(--rv-ink);margin-top:.65rem;}
.bmb .rv-rv-side dd{margin:.1rem 0 0;color:var(--rv-body);}
.bmb .rv-btn{display:inline-flex;align-items:center;gap:.35rem;font-weight:700;font-size:.85rem;color:var(--accent-ink);background:var(--rv-brand);border-radius:999px;padding:.55rem 1rem;transition:background .2s var(--ease);}
.bmb .rv-btn:hover{background:var(--rv-brand-strong);}
.bmb .rv-rv-main{min-width:0;}
.bmb .rv-rv-main > * + *{margin-top:1.05em;}
.bmb .rv-rv-main .rv-fig,.bmb .rv-rv-main .rv-grid{margin:.4rem 0 1.4rem;}

/* Pros / cons */
.bmb .rv-pm{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;font-family:var(--font-ui);}
.bmb .rv-pm-title{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--rv-muted);margin:.3rem 0 .25rem;}
.bmb .rv-pm ul{list-style:none;padding:0;margin:0;}
.bmb .rv-pm li{position:relative;padding:.4rem 0 .4rem 1.9rem;border-bottom:1px solid var(--rv-line);font-size:.92rem;line-height:1.5;}
.bmb .rv-pm li::before{position:absolute;left:0;top:.45rem;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:.85rem;line-height:1;}
.bmb .rv-plus li::before{content:"+";background:var(--rv-ok-soft);color:var(--rv-ok);}
.bmb .rv-minus li::before{content:"\2212";background:var(--rv-warn-soft);color:var(--rv-brand-strong);}

/* Tool card (inside a story section) */
.bmb .rv-card{max-width:72ch;border:1px solid var(--rv-line);border-radius:var(--radius-md);padding:1.3rem 1.5rem;margin:1.4rem 0;}
.bmb .rv-card h3{font-size:1.3rem;margin:0 0 .6rem;}
.bmb .rv-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 .9rem;}
.bmb .rv-pc{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:1rem;font-family:var(--font-ui);font-size:.92rem;}
.bmb .rv-pc > div{background:var(--rv-wash);border-radius:var(--radius-sm);padding:.75rem .9rem;}
.bmb .rv-pc b{display:block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--rv-muted);}
.bmb .rv-pc p{margin:0;}
.bmb .rv-card-link{display:inline-block;margin-top:1rem;font-family:var(--font-ui);font-size:.88rem;font-weight:700;color:var(--rv-brand-strong);}

/* FAQ */
.bmb .rv-faq{margin-top:var(--space-8);}
.bmb .rv-faq-list{border-top:2px solid var(--rv-ink);}
.bmb .rv-faq details{border-bottom:1px solid var(--rv-line);padding:.4rem 0;}
.bmb .rv-faq summary{cursor:pointer;list-style:none;padding:.75rem 2.2rem .75rem 0;position:relative;}
.bmb .rv-faq summary::-webkit-details-marker{display:none;}
.bmb .rv-faq summary::after{content:"+";position:absolute;right:4px;top:.45rem;font-family:var(--font-ui);font-size:1.4rem;color:var(--rv-brand);}
.bmb .rv-faq details[open] summary::after{content:"\2212";}
.bmb .rv-faq summary h3{display:inline;font-size:1.1rem;margin:0;}
.bmb .rv-faq details p{margin:0 0 .9rem;font-size:1rem;}

/* Sources */
.bmb .rv-sources{margin-top:var(--space-7);padding-top:var(--space-4);border-top:1px solid var(--rv-line);font-family:var(--font-ui);font-size:.84rem;color:var(--rv-muted);}
.bmb .rv-sources h2{font-size:1.1rem;margin:0 0 .6em;}
.bmb .rv-sources ol{list-style:decimal;padding-left:1.4em;margin:0;}
.bmb .rv-sources li{margin:.35em 0;word-break:break-word;}
.bmb .rv-sources a{color:var(--rv-brand-strong);}
.bmb .rv-sources a:hover{text-decoration:underline;}

@media (max-width:900px){
  .bmb .rv-ranks{grid-template-columns:repeat(3, 1fr);}
}
@media (max-width:760px){
  .bmb{font-size:1.0625rem;}
  .bmb .rv-hero{grid-template-columns:1fr;}
  .bmb .rv-ranks{grid-template-columns:1fr 1fr;}
  .bmb .rv-rv-grid{grid-template-columns:minmax(0, 1fr);gap:1.1rem;}
  .bmb .rv-rv-side{position:static;border:1px solid var(--rv-line);border-radius:var(--radius-md);padding:.9rem;}
  .bmb .rv-rv-num{font-size:3.6rem;}
  .bmb .rv-pm,.bmb .rv-pc,.bmb .rv-grid{grid-template-columns:1fr;}
}
