/* ===== Entry Meta Base ===== */
.entry-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  font-size: 12px;
  line-height: 1.25;
  color: #6b7280; /* subtle gray */
  margin: 4px 0 8px;
}

/* Remove default list styling */
.entry-meta li {
  list-style: none;
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: 0;
}

/* Slash separator */
.entry-meta[data-type="simple:slash"] li:not(:last-child)::after {
  content: "/";
  /*margin: 0 6px;*/
  color: #9ca3af;
}

/* Links */
.entry-meta a {
  color: #111827;
  font-weight: 500;
  text-decoration: none;
}

.entry-meta a:hover {
  text-decoration: underline;
}

/* Date styling */
.entry-meta .ct-meta-element-date {
  color: #111827;
  font-weight: 500;
}

.entry-header > .entry-meta {
  margin-top: 2px!important;
}

/* Hide on desktop */
/*@media (min-width: 769px) {
  .affiliate-disclosure {
    display: none;
  }
}*/

.affiliate-disclosure,
.notes {
  font-size: 12px;
  }

/* Base ordered list cleanup */
.wp-block-list.af-listing ol > li,
ol.wp-block-list.af-listing > li {
  margin-bottom: 16px; /* space between books */
  line-height: 1.4;
}

/* Book title line */
.wp-block-list.af-listing ol > li,
ol.wp-block-list.af-listing > li {
  font-size: 1.05rem; /* 18px */
  font-weight: 500;
}

/* Buy on Amazon line */
.wp-block-list.af-listing ol > li br + a,
ol.wp-block-list.af-listing > li br + a {
  display: inline-block;
  margin-top: 4px;
  font-size: 0.9rem; /* 16px */
  font-weight: 400;
  color: #1a73e8; /* subtle link color */
}

.wp-block-list.af-listing ol > li br + em,
ol.wp-block-list.af-listing > li br + em {
  display: inline-block;
  margin-top: 4px;
  font-size: 14px;
  font-weight: 400;
}

/* If Buy on Amazon is plain text for now */
.wp-block-list.af-listing ol > li br + text,
ol.wp-block-list.af-listing > li br + text {
  font-size: 16px;
  color: #555;
}

/* Mobile optimization */
@media (max-width: 768px) {
  .wp-block-list.af-listing ol > li,
  ol.wp-block-list.af-listing > li {
    margin-bottom: 14px;
    font-size: 1.05rem; /* 16px */
  }

  .wp-block-list.af-listing ol > li br + a,
  ol.wp-block-list.af-listing > li br + a {
    font-size: 0.9rem; /* 14px */
  }

  .wp-block-list.af-listing ol > li br + em,
  ol.wp-block-list.af-listing > li br + em {
    font-size: 0.9rem; /* 14px */
  }
}

/* ===== Perfect top numbering, without breaking non-image items ===== */

ol.wp-block-list.af-listing,
.wp-block-list.af-listing ol {
  list-style: none;
  counter-reset: robItem;
  padding-left: 0;
  margin-left: 0;
}

/* Default LI: keep normal block flow (so <br> works like before) */
ol.wp-block-list.af-listing > li,
.wp-block-list.af-listing ol > li {
  counter-increment: robItem;
  position: relative;
  margin-bottom: 16px;
  padding-left: 36px;          /* space for number */
}

/* Number column */
ol.wp-block-list.af-listing > li::before,
.wp-block-list.af-listing ol > li::before {
  content: counter(robItem) ".";
  position: absolute;
  left: 0;
  top: 0.15em;                 /* aligns to first text line */
  min-width: 36px; /* flexible width */
  text-align: right;
  line-height: 1.2;
}

ol.wp-block-list.af-listing > li,
.wp-block-list.af-listing ol > li {
  padding-left: 42px;  /* gives breathing room */
}

/* ===== If a row contains a cover image, make it a two-column layout ===== */

ol.wp-block-list.af-listing > li .af-cover,
.wp-block-list.af-listing ol > li .af-cover {
  width: 80px;
  height: auto;
  display: block;
  border-radius: 4px;
}

/* Make the immediate parent row flex whenever a cover exists */
ol.wp-block-list.af-listing > li .af-cover-wrap,
.wp-block-list.af-listing ol > li .af-cover-wrap {
  flex: 0 0 80px;
}

/* This is the key: force the container that holds cover+meta to flex */
ol.wp-block-list.af-listing > li .af-cover-wrap,
.wp-block-list.af-listing ol > li .af-cover-wrap {
  display: block; /* keep wrap normal */
}

/* Force .af-row to flex ALWAYS (it won't break non-image rows because they don't have cover-wrap) */
ol.wp-block-list.af-listing > li .af-row,
.wp-block-list.af-listing ol > li .af-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

/* Meta takes remaining width */
ol.wp-block-list.af-listing > li .af-meta,
.wp-block-list.af-listing ol > li .af-meta {
  flex: 1;
  min-width: 0;
}

/* Mobile */
@media (max-width: 768px) {
  ol.wp-block-list.af-listing > li .af-cover,
  .wp-block-list.af-listing ol > li .af-cover {
    width: 60px;
  }

  ol.wp-block-list.af-listing > li .af-cover-wrap,
  .wp-block-list.af-listing ol > li .af-cover-wrap {
    flex: 0 0 60px;
  }
}

/* Add space before Related Series and Books */
.yarpp-related {
  margin-top: 32px!important;
}

@media (max-width: 768px) {
  .yarpp-related {
    margin-top: 24px!important;
  }
}

.yarpp-related h3 {
    font-weight: 400!important;
}

/* A–Z bar */
.rob-az-wrap { margin: 0 0 18px; }
.rob-az-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.rob-az-link {
  display: inline-block;
  padding: 6px 10px;
  border: 1px solid #ddd;
  border-radius: 6px;
  text-decoration: none;
  font-size: 14px;
  line-height: 1;
  background: #fff;
  color: #222;
}

.rob-az-link:hover { border-color: #bbb; }
.rob-az-link.is-active { border-color: #222; font-weight: 600; }

/* List */
.rob-index-list { margin: 0; padding-left: 18px; }
.rob-index-item { margin: 8px 0; }
.rob-index-link { text-decoration: none; }
.rob-index-link:hover { text-decoration: underline; }

.rob-empty { margin: 12px 0; }

/* Pagination */
.rob-pagination { margin-top: 18px; }
.rob-pagination ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.rob-pagination a,
.rob-pagination span {
  display: inline-block;
  padding: 6px 10px;
  border: 1px solid #ddd;
  border-radius: 6px;
  text-decoration: none;
}
.rob-pagination .current { border-color: #222; font-weight: 600; }

/* ==========================
   Ultra Minimal Universal TOC
   ========================== */

.universal-toc {
/*  margin: 25px 0;*/
  padding: 0;
  border: 0;
  background: transparent;
}

.universal-toc summary {
  font-size: 1.05rem;
  font-weight: 600;
  cursor: pointer;
  list-style: none;
  outline: none;
  padding: 6px 0;
}

/* Remove default marker in Chrome */
.universal-toc summary::-webkit-details-marker {
  display: none;
}

/* Light spacing when open */
.toc-columns {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 6px 20px;
  margin-top: 12px;
}

.universal-toc ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.universal-toc li {
  margin: 4px 0;
}

.universal-toc a {
  text-decoration: none;
  color: #555;
  font-size: 0.95rem;
}

.universal-toc a:hover {
  color: #000;
  text-decoration: underline;
}
