/* ── POST PAGE ── */
#post-hero {
  padding-top: var(--nav-h);
  background: var(--black);
  min-height: 320px;
  display: flex; flex-direction: column; justify-content: flex-end;
  position: relative; overflow: hidden;
}
.ph-inner {
  max-width: 760px; margin: 0 auto;
  padding: 48px calc(var(--sp) * 4) 52px;
  position: relative; z-index: 1;
}
.ph-meta {
  display: flex; align-items: center; gap: 12px;
  flex-wrap: wrap; margin-bottom: 20px;
}
.ph-date {
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--ondark-2);
}
.ph-tag {
  font-size: 10px; letter-spacing: .12em; text-transform: uppercase;
  padding: 2px 9px; border: 1px solid rgba(255,255,255,.15);
  border-radius: 100px; color: var(--ondark-1);
}
.ph-rubrica {
  font-size: 10px; letter-spacing: .12em; text-transform: uppercase;
  padding: 3px 11px; border-radius: 100px; font-weight: 500;
  background: var(--sage-deep); color: var(--white);
  text-decoration: none; transition: opacity .15s;
}
.ph-rubrica:hover { opacity: .8; }
.ph-author {
  font-size: 11px; color: var(--ondark-2);
  letter-spacing: .06em; margin-left: auto;
}
.ph-title {
  font-family: var(--serif);
  font-size: clamp(1.7rem, 4vw, 2.8rem);
  font-weight: 900; line-height: 1.15;
  letter-spacing: -.02em; color: var(--white);
  margin-bottom: 20px;
}
.ph-excerpt {
  font-size: 15px; color: var(--ondark-1);
  line-height: 1.7; max-width: 600px;
}

/* Breadcrumb dark */
#post-hero .breadcrumb { background: transparent; border-bottom: 1px solid rgba(255,255,255,.06); }
#post-hero .breadcrumb-inner { color: var(--ondark-2); }
#post-hero .breadcrumb-inner a { color: var(--ondark-2); }
#post-hero .breadcrumb-inner a:hover { color: rgba(255,255,255,.7); }
#post-hero .breadcrumb-sep { color: rgba(255,255,255,.15); }
#post-hero .bc-current { color: rgba(255,255,255,.55); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 200px; }

/* Cover image */
.post-cover-wrap {
  max-width: 760px; margin: 0 auto;
  padding: 0 calc(var(--sp) * 4);
  transform: translateY(-24px);
}
.post-cover-wrap img {
  width: 100%; max-height: 400px; object-fit: cover;
  border-radius: var(--radius);
  box-shadow: 0 8px 32px rgba(0,0,0,.15);
}
.post-cover-credit {
  font-size: .72rem; color: var(--muted, #8a8a8a);
  text-align: right; margin-top: 6px;
}
.post-cover-credit a { color: inherit; text-decoration: underline; }

/* Body */
#post-body { padding: 56px 0 80px; background: var(--cream); }
.post-body-inner {
  max-width: 680px; margin: 0 auto;
  padding: 0 calc(var(--sp) * 4);
}
.post-body-inner p {
  font-size: 16px; line-height: 1.85; color: #2a2a2a;
  margin-bottom: 1.5em;
  text-align: justify !important;
  hyphens: auto;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
}
.post-body-inner h2 {
  font-family: var(--serif); font-size: 1.4rem;
  font-weight: 700; margin: 2em 0 .8em;
  color: var(--black); line-height: 1.25;
}
.post-body-inner h3 {
  font-family: var(--serif); font-size: 1.1rem;
  font-weight: 700; margin: 1.8em 0 .6em;
  color: var(--black);
}
.post-body-inner blockquote {
  margin: 2em 0; padding: 16px 24px;
  border-left: 3px solid var(--sage);
  background: rgba(122,143,123,.06);
  border-radius: 0 var(--radius) var(--radius) 0;
  font-family: var(--serif); font-size: 1.05rem;
  font-style: italic; color: var(--black); line-height: 1.6;
}
.post-body-inner a {
  color: var(--sage-text); text-decoration: underline;
  text-decoration-color: rgba(98,116,99,.5);
  text-underline-offset: 3px;
}
.post-body-inner a:hover { text-decoration-color: var(--sage-text); }

/* Linked book callout — "Behind the page" */
.post-book-callout {
  display: flex; gap: 20px; align-items: center;
  margin: 3em 0; padding: 20px; text-decoration: none;
  background: var(--white); border: 1px solid var(--border);
  border-radius: var(--radius); transition: box-shadow .2s, transform .2s;
}
.post-book-callout:hover { box-shadow: 0 8px 24px rgba(0,0,0,.08); transform: translateY(-2px); }
.post-book-callout img {
  width: 72px; flex-shrink: 0; aspect-ratio: 1/1.6; object-fit: cover;
  border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,.12);
}
.pbc-label {
  font-size: 10px; letter-spacing: .16em; text-transform: uppercase;
  color: var(--sage-text); margin-bottom: 6px; font-weight: 500;
}
.pbc-title {
  font-family: var(--serif); font-size: 1.05rem; font-weight: 700;
  color: var(--black); line-height: 1.25; margin-bottom: 4px;
}
.pbc-ref { font-size: 12px; color: var(--muted); font-style: italic; margin-bottom: 4px; }
.pbc-desc { font-size: 13px; color: var(--muted); line-height: 1.5; margin-bottom: 6px; }
.pbc-cta {
  font-size: 11px; letter-spacing: .08em; text-transform: uppercase;
  color: var(--sage-text); font-weight: 500;
}

/* Featured author card — "New Voices" and other author-subject posts */
.post-author-callout {
  display: flex; gap: 20px; align-items: flex-start;
  margin: 3em 0; padding: 20px;
  background: var(--white); border: 1px solid var(--border);
  border-radius: var(--radius);
}
.post-body-inner .post-author-callout a { text-decoration: none; color: inherit; }
.pac-photo {
  width: 84px; height: 84px; flex-shrink: 0; border-radius: 50%; overflow: hidden;
  background: var(--sage-dim); display: flex; align-items: center; justify-content: center;
}
.pac-photo img { width: 100%; height: 100%; object-fit: cover; }
.pac-photo span { font-family: var(--serif); font-size: 1.5rem; font-weight: 700; color: var(--sage-text); }
.pac-info { flex: 1; min-width: 0; }
.post-body-inner .post-author-callout .pac-name {
  display: inline-block; font-family: var(--serif); font-size: 1.2rem; font-weight: 700;
  color: var(--black); line-height: 1.25; margin-bottom: 4px;
}
.post-body-inner .post-author-callout .pac-name:hover { color: var(--sage-text); }
.pac-books { display: flex; gap: 10px; flex-wrap: wrap; margin: 12px 0; }
.pac-books a { display: block; width: 52px; transition: transform .2s; }
.pac-books a:hover { transform: translateY(-2px); }
.pac-books img {
  width: 52px; aspect-ratio: 1/1.6; object-fit: cover; display: block;
  border-radius: 3px; box-shadow: 0 3px 10px rgba(0,0,0,.12);
}
.pac-books span {
  display: flex; align-items: center; justify-content: center; text-align: center;
  width: 52px; aspect-ratio: 1/1.6; padding: 4px; font-size: 8px; line-height: 1.2;
  background: var(--cream); border: 1px solid var(--border); border-radius: 3px; overflow: hidden;
}
.post-body-inner .post-author-callout .pbc-cta { color: var(--sage-text); }
@media (max-width: 600px) {
  .post-author-callout { flex-direction: column; align-items: center; text-align: center; }
  .pac-books { justify-content: center; }
}

/* Tags footer */
.post-tags-row {
  display: flex; gap: 8px; flex-wrap: wrap;
  margin-top: 48px; padding-top: 32px;
  border-top: 1px solid var(--border);
}
.post-tag {
  font-size: 10px; letter-spacing: .12em; text-transform: uppercase;
  padding: 4px 12px; border: 1px solid var(--border);
  border-radius: 100px; color: var(--muted);
  text-decoration: none; transition: all .15s;
}
.post-tag:hover { border-color: var(--sage); color: var(--sage); }

/* Share */
.post-share {
  margin-top: 32px; display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
}
.post-share-label {
  font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--muted);
}
.share-btn {
  font-size: 11px; letter-spacing: .1em; text-transform: uppercase;
  padding: 6px 16px; border: 1px solid var(--border); border-radius: 100px;
  background: none; color: var(--muted); cursor: pointer;
  font-family: var(--sans); transition: all .15s; text-decoration: none; display: inline-block;
}
.share-btn:hover { border-color: var(--sage); color: var(--sage); }
.share-btn.copied { border-color: var(--sage); color: var(--sage); }

/* Related posts */
#post-related {
  padding: 72px 0 100px; background: var(--white);
  border-top: 1px solid var(--border);
}
.pr-inner { max-width: var(--max-w); margin: 0 auto; padding: 0 calc(var(--sp) * 4); }
.pr-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 28px; margin-top: 32px;
}
.pr-card {
  text-decoration: none; color: inherit;
  border: 1px solid var(--border); border-radius: var(--radius);
  overflow: hidden; transition: box-shadow .2s, transform .2s;
}
.pr-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,.08); transform: translateY(-2px); }
.pr-card-cover {
  height: 120px; background: var(--black); overflow: hidden;
}
.pr-card-cover img { width: 100%; height: 100%; object-fit: cover; }
.pr-card-cover-ph {
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--serif); font-size: 1.4rem; font-weight: 900;
  color: rgba(255,255,255,.07); text-transform: uppercase;
}
.pr-card-body { padding: 16px; }
.pr-card-date { font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin-bottom: 6px; }
.pr-card-title { font-family: var(--serif); font-size: .95rem; font-weight: 700; line-height: 1.3; color: var(--black); }

@media (max-width: 900px) { .pr-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .pr-grid { grid-template-columns: 1fr; } }
