/* Loaded after site.css. Everything here is additive so the restored WordPress
   cascade stays untouched and any rule can be lifted out cleanly. */

/* ---------------------------------------------------------------- author box
   Previously the byline was a bare <p> in one Elementor column with the avatar
   floating in a sibling column, so it never read as a single unit. */
.cy-authorbox {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 1.5em;
  padding: 14px 16px;
  border: 1px solid #e6e6e6;
  border-radius: 8px;
  background: #fafafa;
}

/* Elementor ships a broad img rule that resets border-radius, so this needs the
   extra specificity to round the avatar. */
.cy-authorbox img.cy-authorbox__avatar {
  flex: 0 0 auto;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid #e0e0e0;
  background: #fff;
}

.cy-authorbox__body {
  min-width: 0;
}

.cy-authorbox__meta,
.cy-authorbox__role {
  margin: 0;
  line-height: 1.45;
}

.cy-authorbox__meta {
  font-size: 0.95em;
}

.cy-authorbox__role {
  font-size: 0.88em;
  color: #666;
}

.cy-authorbox__role b {
  font-weight: 600;
}

@media (max-width: 480px) {
  .cy-authorbox {
    gap: 11px;
    padding: 11px 12px;
  }
  .cy-authorbox img.cy-authorbox__avatar {
    width: 44px;
    height: 44px;
  }
}

/* ------------------------------------------------- header and footer promo
   The blue "+100 Points in 9 Days" band is Elementor template 3150, rendered
   once above the content and once below it. Hidden rather than removed, so it
   can be brought back by deleting this block alone -- the markup is untouched. */
.elementor-3150 {
  display: none !important;
}

/* ------------------------------------------------------- at-a-glance tables
   Comparative data pulled out of prose into a table. AI answer surfaces extract
   tables disproportionately because the relationships are explicit rather than
   inferred, and readers scanning for one number find it faster. */
.cy-table-wrap {
  margin: 1.6em 0;
}

.cy-table-lead {
  margin: 0 0 0.6em;
}

/* wide tables scroll inside their own box instead of forcing the page sideways */
.cy-table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid #e6e6e6;
  border-radius: 8px;
}

.entry-content table.cy-table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
  font-size: 0.95em;
  background: #fff;
}

.entry-content table.cy-table caption {
  caption-side: top;
  text-align: left;
  padding: 10px 12px 8px;
  font-size: 0.86em;
  font-weight: 600;
  color: #555;
  background: #fafafa;
  border-bottom: 1px solid #eee;
}

.entry-content table.cy-table th,
.entry-content table.cy-table td {
  padding: 9px 12px;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid #eee;
  line-height: 1.45;
}

.entry-content table.cy-table thead th {
  background: #f4f4f4;
  font-weight: 600;
  white-space: nowrap;
}

.entry-content table.cy-table tbody tr:last-child th,
.entry-content table.cy-table tbody tr:last-child td {
  border-bottom: 0;
}

.entry-content table.cy-table tbody tr:nth-child(even) td,
.entry-content table.cy-table tbody tr:nth-child(even) th {
  background: #fcfcfc;
}

/* first column reads as a row label */
.entry-content table.cy-table tbody th {
  font-weight: 600;
  white-space: nowrap;
}

/* --------------------------------------------------------------- sources
   Attributed claims are a documented citability signal. Only primary or
   authoritative references, each verified to resolve. */
.cy-sources {
  margin: 2em 0 0;
  padding: 14px 16px;
  border-top: 2px solid #eee;
  font-size: 0.92em;
}

.cy-sources h2 {
  margin: 0 0 0.5em;
  font-size: 1.05em;
  font-weight: 600;
}

.cy-sources ul {
  margin: 0;
  padding-left: 1.25em;
}

.cy-sources li {
  margin: 0.25em 0;
}

/* ------------------------------------------------------------------ Q&A
   The /questions/* pages are single question-and-answer articles. Give the
   opening answer a little more presence so the answer is visually obvious, and
   keep question headings tight to the answer that follows them. */
.cy-qa-answer {
  font-size: 1.05em;
}

.entry-content h2 + p,
.entry-content h3 + p {
  margin-top: 0.35em;
}

.entry-content h2,
.entry-content h3 {
  scroll-margin-top: 1rem;
}
