/*
Theme Name: RB Gazette
Theme URI: https://recentlybusted.com/
Author: Creative Conquests
Description: Newspaper-style theme for Recently Busted. Front page, county archive
  and arrest record templates built from the approved 2026-09 design. Deliberately
  standalone (no Elementor, no Bootstrap, no Font Awesome) — the previous stack
  pulled Bootstrap 5.3.2 and Font Awesome 4.7 from CDNs that this design does not use.
Version: 0.2.1
Requires at least: 6.0
Tested up to: 6.6
License: proprietary
Text Domain: rb-gazette
*/

/* ── Design tokens ──────────────────────────────────────────────────────────
   Lifted from the approved canvas. The design ships no CSS custom properties,
   so they are declared here once and referenced throughout rather than being
   repeated as literals in every rule. */
:root{
  --rb-paper:#f4f1ea;      /* page ground        */
  --rb-card:#fffdf8;       /* raised surface     */
  --rb-rule:#ded7c8;       /* hairline rules     */
  --rb-ink:#12171d;        /* body text          */
  --rb-mute:#6b6659;       /* secondary text     */
  --rb-red:#9e1b23;        /* masthead + wire    */
  --rb-gold:#b08d3f;       /* accents            */
  --rb-serif:"Bodoni Moda",Georgia,"Times New Roman",serif;
  --rb-body:"Newsreader",Georgia,serif;
  --rb-sans:"Archivo","Helvetica Neue",Arial,sans-serif;
  --rb-max:1228px;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--rb-paper);color:var(--rb-ink);
  font-family:var(--rb-body);font-size:17px;line-height:1.55;
  -webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%;height:auto;display:block}
.rb-wrap{max-width:var(--rb-max);margin:0 auto;padding:0 22px}

/* ── Wire bar ── */
.rb-wire{background:var(--rb-red);color:#f6ece4;font-family:var(--rb-sans);
  font-size:12px;letter-spacing:.02em}
.rb-wire .rb-wrap{display:flex;gap:26px;align-items:center;
  padding-top:9px;padding-bottom:9px;flex-wrap:wrap}
.rb-wire b{background:#12171d;color:#fff;padding:3px 9px;font-weight:600;
  text-transform:uppercase;letter-spacing:.09em;font-size:11px}

/* ── Dateline ── */
.rb-dateline{font-family:var(--rb-sans);font-size:11.5px;letter-spacing:.11em;
  text-transform:uppercase;color:var(--rb-red)}
.rb-dateline .rb-wrap{display:flex;justify-content:space-between;
  padding-top:13px;padding-bottom:13px;flex-wrap:wrap;gap:10px}
.rb-dateline .rb-right{color:var(--rb-mute)}

/* ── Masthead ── */
.rb-masthead{text-align:center;padding:14px 0 4px}
.rb-masthead .rb-est{font-family:var(--rb-sans);font-size:11px;letter-spacing:.24em;
  text-transform:uppercase;color:var(--rb-gold)}
.rb-masthead h1,.rb-masthead .rb-logo{font-family:var(--rb-serif);font-weight:500;
  font-size:clamp(44px,7.4vw,92px);line-height:1;margin:.12em 0 .1em;letter-spacing:-.01em}
.rb-masthead .rb-sub{font-family:var(--rb-sans);font-size:11px;letter-spacing:.3em;
  text-transform:uppercase;color:var(--rb-mute)}
.rb-masthead .rb-sub::before,.rb-masthead .rb-sub::after{content:"";display:inline-block;
  width:54px;height:1px;background:var(--rb-rule);vertical-align:middle;margin:0 14px}

/* ── Nav ── */
.rb-nav{border-top:1px solid var(--rb-rule);border-bottom:3px solid var(--rb-ink);
  margin-top:16px}
.rb-nav ul{list-style:none;margin:0;padding:13px 0;display:flex;justify-content:center;
  gap:34px;flex-wrap:wrap}
.rb-nav a{font-family:var(--rb-sans);font-size:12.5px;letter-spacing:.13em;
  text-transform:uppercase;text-decoration:none;color:var(--rb-ink)}
.rb-nav a:hover,.rb-nav .current a{color:var(--rb-red)}

/* ── Section headings ── */
.rb-kicker{display:inline-block;background:var(--rb-red);color:#fff;
  font-family:var(--rb-sans);font-size:11px;letter-spacing:.13em;text-transform:uppercase;
  padding:5px 11px;margin-bottom:16px}
.rb-h2{font-family:var(--rb-serif);font-weight:500;font-size:clamp(28px,4vw,46px);
  line-height:1.08;margin:0 0 14px}
.rb-section-rule{display:flex;align-items:baseline;gap:14px;margin:52px 0 20px;
  border-bottom:2px solid var(--rb-ink);padding-bottom:9px}
.rb-section-rule h2{font-family:var(--rb-serif);font-size:30px;font-weight:500;margin:0}
.rb-section-rule span{font-family:var(--rb-sans);font-size:11px;letter-spacing:.15em;
  text-transform:uppercase;color:var(--rb-mute)}

/* ── Lead ── */
.rb-lead{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);
  gap:38px;padding:30px 0 8px}
.rb-lead h2{font-family:var(--rb-serif);font-weight:500;
  font-size:clamp(32px,4.6vw,54px);line-height:1.04;margin:0 0 16px}
.rb-lead p{margin:0 0 14px;font-size:18px}
.rb-panel{background:var(--rb-card);border:1px solid var(--rb-rule);padding:20px}
.rb-panel h3{font-family:var(--rb-sans);font-size:13px;letter-spacing:.05em;margin:0 0 3px}
.rb-panel .rb-note{font-family:var(--rb-sans);font-size:10.5px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--rb-mute);margin-bottom:14px}
.rb-bar{display:grid;grid-template-columns:84px minmax(0,1fr) 54px 42px;gap:8px;
  align-items:center;font-family:var(--rb-sans);font-size:12px;margin-bottom:7px}
.rb-bar .rb-track{background:#e6e0d3;height:15px;position:relative}
.rb-bar .rb-fill{display:block;height:15px;background:#b3aa98}
.rb-bar.is-top .rb-fill{background:var(--rb-red)}
.rb-bar .rb-val{text-align:right;font-variant-numeric:tabular-nums}
.rb-bar .rb-delta{text-align:right;color:var(--rb-mute);font-size:11px}
.rb-source{font-family:var(--rb-sans);font-size:10px;line-height:1.5;
  color:var(--rb-mute);margin-top:12px;border-top:1px solid var(--rb-rule);padding-top:9px}

/* ── County cards ── */
.rb-counties{display:grid;grid-template-columns:repeat(auto-fill,minmax(224px,1fr));gap:14px}
.rb-county{background:var(--rb-card);border:1px solid var(--rb-rule);padding:16px 17px;
  display:flex;flex-direction:column;text-decoration:none}
.rb-county:hover{border-color:var(--rb-red)}
.rb-county .rb-name{font-family:var(--rb-serif);font-size:27px;margin:0 0 1px}
.rb-county .rb-seat{font-family:var(--rb-sans);font-size:10.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--rb-mute)}
.rb-county .rb-rate{font-family:var(--rb-sans);font-size:12px;margin-top:12px}
.rb-county .rb-delta{font-family:var(--rb-sans);font-size:11px;color:var(--rb-mute)}
.rb-county dl{display:grid;grid-template-columns:1fr auto;gap:2px 10px;margin:13px 0 0;
  font-family:var(--rb-sans);font-size:11.5px}
.rb-county dt{color:var(--rb-mute)}
.rb-county dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.rb-county .rb-slot{margin-top:14px;padding-top:11px;border-top:1px solid var(--rb-rule);
  font-family:var(--rb-sans);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.rb-county .rb-open{color:var(--rb-red)}
.rb-county .rb-sold{color:var(--rb-mute)}

/* ── Bookings ── */
.rb-bookings{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:0 34px}
.rb-booking{display:grid;grid-template-columns:76px minmax(0,1fr);gap:13px;
  padding:15px 0;border-bottom:1px solid var(--rb-rule);text-decoration:none}
.rb-booking img{width:76px;height:95px;object-fit:cover;background:#e6e0d3}
.rb-booking .rb-cty{font-family:var(--rb-sans);font-size:10px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--rb-red)}
.rb-booking .rb-nm{font-family:var(--rb-serif);font-size:19px;line-height:1.18;margin:3px 0 5px}
.rb-booking .rb-dt{font-family:var(--rb-sans);font-size:11px;color:var(--rb-mute)}

/* ── Record (single) ── */
.rb-record{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:34px;
  padding:32px 0}
.rb-record .rb-photo{border:1px solid var(--rb-rule);background:var(--rb-card);padding:10px}
.rb-record h1{font-family:var(--rb-serif);font-weight:500;
  font-size:clamp(30px,4.4vw,46px);line-height:1.06;margin:0 0 10px}
.rb-facts{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:18px 0;
  font-family:var(--rb-sans);font-size:13px}
.rb-facts dt{color:var(--rb-mute);text-transform:uppercase;letter-spacing:.08em;font-size:11px}
.rb-facts dd{margin:0}
.rb-charges{margin:18px 0;padding:0;list-style:none}
.rb-charges li{padding:9px 0;border-bottom:1px solid var(--rb-rule);font-size:16px}
.rb-disclaim{background:#efeade;border-left:3px solid var(--rb-gold);padding:14px 16px;
  font-size:14px;color:var(--rb-mute);margin:22px 0}

/* ── Sponsor ── */
.rb-sponsor{background:var(--rb-card);border:1px solid var(--rb-rule);padding:18px 20px;
  margin:26px 0}
.rb-sponsor .rb-adlabel{font-family:var(--rb-sans);font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--rb-mute)}
.rb-sponsor-art{width:100%;height:auto;margin-top:8px}

/* ── Membership (RB Paywall plugin) ── */
.rb-member{background:#efe6cf;border-bottom:1px solid var(--rb-rule);
  font-family:var(--rb-sans);font-size:12.5px}
.rb-member .rb-wrap{display:flex;gap:14px;align-items:center;justify-content:center;
  flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
.rb-member a{border:1px solid var(--rb-ink);padding:4px 12px;text-decoration:none;
  text-transform:uppercase;letter-spacing:.09em;font-size:11px;font-weight:600}
.rb-member a:last-child{background:var(--rb-ink);color:#fff}
.rb-nav .rb-nav-member a{color:var(--rb-red)}
.rb-locked{aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;
  background:#efeade;font-family:var(--rb-sans);font-size:12px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--rb-mute)}
/* The plugin prints its wall styles in <head> after this sheet, on a white ground.
   The .rb-wrap prefix outranks them so the wall sits in the paper palette. */
.rb-wrap .rbpw-wall{font-family:var(--rb-body);color:var(--rb-ink);
  border-top:3px solid var(--rb-ink);border-bottom:1px solid var(--rb-rule)}
.rb-wrap .rbpw-teaser:after{background:linear-gradient(rgba(244,241,234,0),var(--rb-paper))}
.rb-wrap .rbpw-kicker{font-family:var(--rb-sans);color:var(--rb-red)}
.rb-wrap .rbpw-head{font-family:var(--rb-serif);font-weight:500}
.rb-wrap .rbpw-sub{color:var(--rb-mute)}
.rb-wrap .rbpw-plan{background:var(--rb-card);border-color:var(--rb-rule)}
.rb-wrap .rbpw-plan--featured{border-color:var(--rb-ink)}
.rb-wrap .rbpw-plan-name,.rb-wrap .rbpw-plan ul,.rb-wrap .rbpw-login{font-family:var(--rb-sans)}
.rb-wrap .rbpw-price{font-family:var(--rb-serif);font-weight:500}
.rb-wrap .rbpw-plan li:before{color:var(--rb-red)}
.rb-wrap .rbpw-btn{font-family:var(--rb-sans);border-color:var(--rb-ink);color:var(--rb-ink)!important}
.rb-wrap .rbpw-btn--solid{background:var(--rb-ink);color:#fff!important}

/* ── Footer ── */
.rb-foot{border-top:3px solid var(--rb-ink);margin-top:56px;padding:26px 0 46px;
  font-family:var(--rb-sans);font-size:12px;color:var(--rb-mute)}
.rb-foot a{color:var(--rb-red)}
.rb-foot .rb-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:24px}

/* ── Pagination ── */
.rb-pager{display:flex;gap:8px;justify-content:center;margin:34px 0;
  font-family:var(--rb-sans);font-size:13px}
.rb-pager a,.rb-pager span{padding:8px 13px;border:1px solid var(--rb-rule);
  text-decoration:none;background:var(--rb-card)}
.rb-pager .current{background:var(--rb-ink);color:#fff;border-color:var(--rb-ink)}

@media (max-width:860px){
  .rb-lead,.rb-record{grid-template-columns:1fr}
  .rb-nav ul{gap:18px}
}
