/* Solris — pages, blog index and single posts. Reading-first. */

.page-hero{background:var(--navy-800);color:#fff;padding-block:var(--sp-16)}
.page-hero h1{color:#fff}
.page-hero p{color:var(--navy-100);margin-block-start:var(--sp-3);max-width:52ch}

.entry{padding-block:var(--sp-10) var(--sp-16)}
.entry-header{margin-block-end:var(--sp-8)}
.entry-title{font-size:var(--fs-5)}
.entry-meta{display:flex;gap:var(--sp-3);flex-wrap:wrap;align-items:center;
  font-size:var(--fs--1);color:var(--ink-3);margin-block-start:var(--sp-4)}
.entry-hero{margin-block:var(--sp-8)}

.entry-content{font-size:var(--fs-1);line-height:var(--lh-loose);color:var(--ink)}
.entry-content>*+*{margin-block-start:var(--sp-6)}
.entry-content h2{font-size:var(--fs-3);margin-block-start:var(--sp-12)}
.entry-content h3{font-size:var(--fs-2);margin-block-start:var(--sp-10)}
.entry-content a{color:var(--ink);text-decoration-color:var(--amber-400);text-decoration-thickness:2px}
.entry-content a:hover{color:var(--accent-text)}
.entry-content img,.entry-content figure{border-radius:var(--r-lg);overflow:hidden}
.entry-content blockquote{border-inline-start:3px solid var(--amber-400);
  padding-inline-start:var(--sp-5);color:var(--ink-2);font-style:normal}
.entry-content ul,.entry-content ol{padding-inline-start:1.4em}
.entry-content li+li{margin-block-start:var(--sp-2)}
.entry-content table{width:100%;border-collapse:collapse;font-size:var(--fs-0)}
.entry-content th,.entry-content td{padding:var(--sp-3);border:1px solid var(--border);text-align:start}

.toc{border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5);
  background:var(--surface-2)}
.toc ul{list-style:none;padding:0;margin:var(--sp-3) 0 0}
.toc a{display:block;padding:var(--sp-2) 0;font-size:var(--fs--1);color:var(--ink-2);text-decoration:none}
.toc a:hover,.toc a.is-current{color:var(--ink);font-weight:var(--fw-medium)}

.archive-header{padding-block:var(--sp-10) var(--sp-8)}
.pagination{margin-block-start:var(--sp-12)}

/* ---------- blog index ---------- */
.archive-intro{margin-block-start:var(--sp-4);color:var(--ink-2);max-width:60ch}

/* Topic chips. A horizontal rail on a phone rather than a wrapping block:
   five topics wrapping to three lines pushes the first article below the
   fold on the page whose job is to show articles. */
.topic-chips{margin-block-start:var(--sp-6)}
.topic-chips ul{display:flex;gap:var(--sp-2);list-style:none;margin:0;padding:0 0 4px;
  overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;
  margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter)}
.topic-chips ul::-webkit-scrollbar{display:none}
@media (min-width:768px){
  .topic-chips ul{flex-wrap:wrap;overflow:visible;margin-inline:0;padding-inline:0}
}
.chip{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;
  min-height:38px;padding:0 var(--sp-4);border-radius:var(--r-pill);
  border:1px solid var(--border);background:var(--surface);color:var(--ink-2);
  font-size:var(--fs--1);text-decoration:none;
  transition:border-color .15s ease,background-color .15s ease,color .15s ease}
.chip:hover{border-color:var(--border-strong);color:var(--ink)}
.chip.is-current{background:var(--navy-800);border-color:var(--navy-800);color:#fff}
.chip__count{font-size:var(--fs--2);opacity:.65;font-variant-numeric:tabular-nums}
.chip.is-current .chip__count{opacity:.8}

/* Lead article */
.post-lead{margin-block:var(--sp-8)}
.post-lead__link{display:grid;gap:var(--sp-5);text-decoration:none;color:inherit;
  align-items:center}
@media (min-width:860px){
  .post-lead__link{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--sp-8)}
}
.post-lead__media{border-radius:var(--r-lg);overflow:hidden;background:var(--surface-2)}
.post-lead__media img{width:100%;height:100%;object-fit:cover}
.post-lead__title{font-size:var(--fs-3);line-height:var(--lh-snug);margin:var(--sp-2) 0}
.post-lead__link:hover .post-lead__title{text-decoration:underline;
  text-decoration-color:var(--amber-400);text-decoration-thickness:2px}
.post-lead__excerpt{color:var(--ink-2);margin:0 0 var(--sp-3)}

/* Topic labels on a card */
.post-topics{display:flex;gap:var(--sp-2);flex-wrap:wrap;margin:0}
.post-topics__item{font-size:var(--fs--2);text-transform:uppercase;
  letter-spacing:var(--ls-caps);font-weight:var(--fw-semibold);
  color:var(--accent-text,#8A5A00);text-decoration:none}
.post-topics__item:hover{text-decoration:underline}

/* Cards */
.post-card__body{display:grid;gap:var(--sp-2);padding-block-start:var(--sp-3)}
.post-card__excerpt{color:var(--ink-2);font-size:var(--fs--1);line-height:1.55;margin:0;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.post-card__meta{display:flex;gap:var(--sp-3);flex-wrap:wrap;align-items:center;
  font-size:var(--fs--2);color:var(--ink-3);margin-block-start:var(--sp-3)}
.post-card__meta span::before{content:"·";margin-inline-end:var(--sp-3)}

.empty-state{padding-block:var(--sp-12);max-width:46ch}

/* Pagination */
.pagination .nav-links{display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center}
.pagination .page-numbers{display:inline-grid;place-items:center;min-width:40px;
  min-height:40px;padding:0 var(--sp-2);border-radius:var(--r-md);
  border:1px solid var(--border);text-decoration:none;color:var(--ink-2);
  font-variant-numeric:tabular-nums}
.pagination .page-numbers:hover{border-color:var(--border-strong);color:var(--ink)}
.pagination .page-numbers.current{background:var(--navy-800);border-color:var(--navy-800);color:#fff}
.pagination .page-numbers.dots{border:0}

/* ---------- entry dates ---------- */
/* The label ("Updated" / "Published") carries the meaning, so it is not
   decoration — it stays visible rather than being hidden on small screens. */
.entry-date__label{font-weight:var(--fw-semibold);color:var(--ink-2)}
.entry-date--updated .entry-date__label{color:var(--accent-text,#8A5A00)}
.entry-meta__published{color:var(--ink-3)}
