/* ============================================================
   LawBytes — the knowledge half.
   Ivory ground, long-form measure, editorial rhythm.
   ============================================================ */

/* ---------- category bar ---------- */
.wmj-catbar{background:var(--paper);border-bottom:1px solid var(--rule)}
.wmj-catbar__inner{display:flex;flex-wrap:wrap;gap:.4rem 2rem;padding-block:1.1rem}
.wmj-catbar a{
  font-family:var(--sans);font-size:.8rem;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:var(--slate);
  text-decoration:none;display:inline-flex;align-items:baseline;gap:.45rem;
  transition:color var(--dur) var(--ease);
}
.wmj-catbar a:hover{color:var(--accent)}
.wmj-catbar a span{
  font-size:.68rem;color:var(--mist);
  font-variant-numeric:tabular-nums;letter-spacing:0;
}

/* ---------- post list ---------- */
.wmj-postlist{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule)}
@media(min-width:820px){.wmj-postlist{grid-template-columns:1fr 1fr}}
.wmj-post{
  background:var(--ivory);padding:clamp(1.5rem,2.8vw,2.2rem);
  text-decoration:none;color:inherit;
  display:flex;flex-direction:column;gap:.75rem;
  transition:background var(--dur) var(--ease);
}
.wmj-post:hover{background:var(--paper)}
/* The [hidden] attribute set by the filter JS is UA-stylesheet priority,
   which any author rule — including display:flex above — overrides
   regardless of specificity. Without this, JS "hides" a card but the
   display:flex rule keeps it visibly on screen. */
.wmj-post[hidden]{display:none !important}
.wmj-post__meta{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;
  font-family:var(--sans);font-size:.76rem;color:var(--slate);
  font-variant-numeric:tabular-nums;
}
.wmj-post__cat{
  font-weight:600;letter-spacing:.11em;text-transform:uppercase;
  color:var(--accent);
}
.wmj-post h2{font-size:clamp(1.15rem,1rem + .6vw,1.42rem);letter-spacing:-.012em;line-height:1.24}
.wmj-post__excerpt{font-size:.93rem;color:var(--slate);line-height:1.6}
.wmj-post__go{
  margin-top:auto;padding-top:.5rem;
  font-family:var(--sans);font-size:.78rem;font-weight:600;
  letter-spacing:.07em;text-transform:uppercase;color:var(--obsidian);
  display:inline-flex;align-items:center;gap:.5rem;
}
.wmj-post:hover .wmj-post__go{color:var(--accent)}

/* ---------- pagination ---------- */
.wmj-pagination{margin-top:2.5rem}
.wmj-pagination .nav-links{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.wmj-pagination .page-numbers{
  font-family:var(--sans);font-size:.88rem;
  min-width:2.6rem;height:2.6rem;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--rule);color:var(--slate);text-decoration:none;
  font-variant-numeric:tabular-nums;
  transition:border-color var(--dur) var(--ease), color var(--dur) var(--ease);
}
.wmj-pagination .page-numbers:hover{border-color:var(--accent);color:var(--accent)}
.wmj-pagination .page-numbers.current{background:var(--obsidian);border-color:var(--obsidian);color:var(--ivory)}
.wmj-pagination .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}

/* ---------- article head ---------- */
.wmj-pagehead--article h1{max-width:24ch}
.wmj-articlemeta{
  margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid var(--rule-dark);
  font-family:var(--sans);font-size:.84rem;color:var(--mist);
  display:flex;flex-wrap:wrap;gap:.55rem;align-items:baseline;
}

/* ---------- article body ---------- */
.wmj-article-layout{display:flex;flex-direction:column;gap:3rem}
.wmj-article{max-width:68ch}
.wmj-article > * + *{margin-top:1.15rem}
.wmj-article h2{
  font-size:clamp(1.4rem,1.15rem + 1.1vw,1.85rem);
  letter-spacing:-.018em;line-height:1.22;
  margin-top:2.8rem;padding-top:1.4rem;border-top:1px solid var(--rule);
}
.wmj-article h3{font-size:1.16rem;margin-top:2rem;letter-spacing:-.008em}
.wmj-article p{font-size:1.03rem;line-height:1.75;color:var(--graphite);max-width:68ch}
.wmj-article strong{color:var(--obsidian);font-weight:650}
.wmj-article ul,.wmj-article ol{
  display:flex;flex-direction:column;gap:.55rem;
  padding-left:1.3rem;color:var(--graphite);
}
.wmj-article li{line-height:1.7;font-size:1.01rem}
.wmj-article li::marker{color:var(--accent)}
.wmj-article a{color:var(--accent);text-underline-offset:2px}
.wmj-article blockquote{
  margin:2rem 0;padding:.3rem 0 .3rem 1.5rem;
  border-left:2px solid var(--accent);
  font-size:1.06rem;line-height:1.7;color:var(--obsidian);
}
.wmj-article table{
  width:100%;border-collapse:collapse;font-size:.93rem;
  margin-block:1.6rem;
}
.wmj-article :is(th,td){
  text-align:left;padding:.7rem .8rem;
  border-bottom:1px solid var(--rule);vertical-align:top;
}
.wmj-article th{
  font-family:var(--sans);font-size:.72rem;font-weight:650;
  letter-spacing:.08em;text-transform:uppercase;color:var(--slate);
  background:var(--paper);
}

/* ---------- author box ---------- */
.wmj-authorbox{
  border:1px solid var(--rule);background:var(--paper);
  padding:clamp(1.5rem,3vw,2.2rem);max-width:68ch;
  display:flex;flex-direction:column;gap:.5rem;
}
.wmj-authorbox h3{font-size:1.3rem}
.wmj-authorbox__bio{font-size:.93rem;color:var(--slate);line-height:1.65;margin-top:.5rem}

/* ---------- related ---------- */
.wmj-related{max-width:68ch}
.wmj-related__grid{
  display:grid;gap:1px;background:var(--rule);
  border:1px solid var(--rule);margin-top:1.1rem;
}
@media(min-width:700px){.wmj-related__grid{grid-template-columns:repeat(3,1fr)}}
.wmj-related__item{
  background:var(--ivory);padding:1.2rem 1.15rem;
  text-decoration:none;color:inherit;
  display:flex;flex-direction:column;gap:.55rem;
  transition:background var(--dur) var(--ease);
}
.wmj-related__item:hover{background:var(--paper)}
.wmj-related__item h4{
  font-family:var(--serif);font-size:1rem;font-weight:500;
  line-height:1.3;letter-spacing:-.008em;
}
.wmj-related__item span{
  font-family:var(--sans);font-size:.74rem;color:var(--slate);
  margin-top:auto;font-variant-numeric:tabular-nums;
}

.wmj-article-disclaimer{max-width:68ch}

/* ============================================================
   Directory filters
   ============================================================ */
.wmj-filters{
  display:flex;flex-direction:column;gap:1.6rem;
  padding-bottom:2rem;margin-bottom:2rem;
  border-bottom:1px solid var(--rule);
}
.wmj-filterset{display:flex;flex-direction:column;gap:.7rem}
.wmj-filterset__label{
  font-family:var(--sans);font-size:.68rem;font-weight:650;
  letter-spacing:.16em;text-transform:uppercase;color:var(--slate);
}
.wmj-chips{display:flex;flex-wrap:wrap;gap:.45rem}
.wmj-chip{
  font-family:var(--sans);font-size:.84rem;font-weight:500;
  color:var(--graphite);background:var(--paper);
  border:1px solid var(--rule);border-radius:0;
  padding:.5rem .85rem;cursor:pointer;text-decoration:none;
  display:inline-flex;align-items:baseline;gap:.45rem;
  transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.wmj-chip span{
  font-size:.7rem;color:var(--mist);
  font-variant-numeric:tabular-nums;
}
.wmj-chip:hover{border-color:var(--accent);color:var(--accent)}
.wmj-chip.is-active{
  background:var(--obsidian);border-color:var(--obsidian);color:var(--ivory);
}
.wmj-chip.is-active span{color:var(--accent-lt)}

.wmj-resultcount{
  font-family:var(--sans);font-size:.82rem;color:var(--slate);
  margin-bottom:1.2rem;font-variant-numeric:tabular-nums;
}
.wmj-noresults{
  padding:2.5rem 0;color:var(--slate);font-size:1rem;text-align:center;
}

/* topic tags on cards */
.wmj-post__topics{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.2rem}
.wmj-topictag{
  font-family:var(--sans);font-size:.68rem;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;
  color:var(--slate);border:1px solid var(--rule);
  padding:.2rem .45rem;
}
.wmj-post:hover .wmj-topictag{border-color:var(--accent);color:var(--accent)}

/* topic routes in the article footer */
.wmj-topicroutes{max-width:68ch;border-top:1px solid var(--rule);padding-top:1.4rem}
.wmj-topicroutes__grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.9rem}
.wmj-topicroute{
  font-family:var(--sans);font-size:.86rem;
  color:var(--obsidian);text-decoration:none;
  border:1px solid var(--rule);padding:.55rem .9rem;
  display:inline-flex;align-items:center;gap:.5rem;
  transition:border-color var(--dur) var(--ease), color var(--dur) var(--ease);
}
.wmj-topicroute:hover{border-color:var(--accent);color:var(--accent)}
.wmj-topicroute span{color:var(--accent)}

/* ---------- official source citation ---------- */
.wmj-officialsources{max-width:68ch;border-top:1px solid var(--rule);padding-top:1.4rem}
.wmj-officialsources__grid{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.9rem}
.wmj-officialsource{
  font-family:var(--sans);font-size:.88rem;
  color:var(--obsidian);text-decoration:none;
  border:1px solid var(--rule);padding:.6rem 1rem;
  display:inline-flex;align-items:center;gap:.5rem;
  transition:border-color var(--dur) var(--ease), color var(--dur) var(--ease);
}
.wmj-officialsource:hover{border-color:var(--accent);color:var(--accent)}
.wmj-officialsource span{font-size:.8em;color:var(--slate)}
.wmj-officialsources__note{font-size:.78rem;color:var(--slate);margin-top:.7rem}
