/* public newsletter pages (pages/newsletters.js): /newsletters, /newsletters/<slug>, /sponsors/niche/<niche>. Layers on style.css + tools.css + guides.css + sponsors.css. */
.stable.bt td.bn{min-width:190px}
.stable.bt .bcell{display:flex;align-items:center;gap:12px}
.stable.bt .bname{min-width:0}
.stable.bt .bname b{display:block;font-size:15.5px;overflow-wrap:anywhere}
.stable.bt .pl{white-space:nowrap;color:#3b382f}
.stable.bt .oth{color:#3b382f}
.stable.bt a{color:var(--ink)}
.stable.bt td{vertical-align:middle}
.stable.bt .w{display:none}
.stable.nt td.rec{min-width:150px}
.stable.nt td.rec a{color:var(--ink)}
/* the logo box is fixed, so a late or missing logo moves nothing; a logo that fails leaves the name's first letter */
.lgbox{flex:0 0 28px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--soft);overflow:hidden}
.lgbox img{display:block;width:28px;height:28px;object-fit:contain}
.lgbox.nologo{background:var(--soft);border-color:var(--soft)}
.lgbox.nologo::after{content:attr(data-i);font:400 13px/1 'Archivo Black';color:#3b382f}
.tt{margin-top:40px}
.tt:first-of-type{margin-top:26px}
@media(max-width:720px){
  /* the brand table becomes stacked rows: logo and name on top, the slot and the numbers under it */
  .stable.bt thead{display:none}
  .stable.bt,.stable.bt tbody,.stable.bt tr,.stable.bt td{display:block;width:100%}
  .stable.bt tr{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);column-gap:12px;row-gap:4px;padding:12px 0;border-bottom:1px solid var(--soft)}
  .stable.bt td{border:0;padding:0;width:auto} /* grid items stretch; width:100% plus a margin pushed the last line past the card */
  .stable.bt .w{display:inline}
  .stable.bt td.bn{grid-column:1/3;min-width:0}
  .stable.bt td.pl{grid-column:1;grid-row:2;font-size:13.5px;margin-left:40px}
  .stable.bt td.ads{grid-column:2;grid-row:2;text-align:left;font-size:13.5px;color:var(--mute)}
  .stable.bt td.ads::before{content:"· "}
  .stable.bt td.dt{grid-column:1/3;grid-row:3;font-size:13.5px;color:var(--mute);margin-left:40px}
  .stable.bt td.dt::before{content:"last seen "}
  .stable.bt td.oth{grid-column:1/3;grid-row:4;text-align:left;font-size:13.5px;color:var(--mute);margin-left:40px}
  .stable.bt td.oth:empty{display:none}
  .stable.bt td.oth::before{content:"also in "}
  /* the niche table: the rank sits left of the logo and name; the counts share a row, then the date, then where it ran */
  .stable.nt tr{grid-template-columns:28px minmax(0,1fr) minmax(0,1fr)}
  .stable.nt td.rk{grid-column:1;grid-row:1;padding-top:6px}
  .stable.nt td.bn{grid-column:2/4;grid-row:1}
  .stable.nt td.nl{grid-column:2;grid-row:2;text-align:left;font-size:13.5px;margin-left:40px;color:var(--ink)}
  .stable.nt td.ads{grid-column:3;grid-row:2;text-align:left;font-size:13.5px}
  .stable.nt td.ads::before{content:""}
  .stable.nt td.dt{grid-column:2/4;grid-row:3;margin-left:40px}
  .stable.nt td.dt::before{content:"latest ad "}
  .stable.nt td.rec{grid-column:2/4;grid-row:4;margin-left:40px;font-size:13.5px;min-width:0;overflow-wrap:anywhere}
}
