/* ============================================================
   POST TEMPLATE
   ============================================================ */

.post-status{
  min-height:50vh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:80px 28px;
}
.post-status[hidden]{display:none;}
.loading-mark{
  font-family:var(--font-mono);font-size:13px;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--parchment-faint);
}
.loading-mark::after{
  content:"";display:inline-block;width:6px;height:6px;margin-left:8px;border-radius:50%;
  background:var(--saffron);animation:pulse 1.2s ease-in-out infinite;
}
@keyframes pulse{0%,100%{opacity:0.25;}50%{opacity:1;}}

.post-error{max-width:560px;margin:0 auto;}
.post-error-text{margin:16px 0 32px;font-size:16px;}

/* --- hero --- */
.post-hero{
  padding:64px 0 56px;
  background:radial-gradient(640px 360px at 85% 0%, rgba(60,90,80,0.22), transparent 65%), var(--ink);
  border-bottom:1px solid var(--line);
}
.post-hero-inner{max-width:820px;}
.post-back{
  display:inline-block;font-family:var(--font-mono);font-size:12px;letter-spacing:0.05em;
  color:var(--parchment-faint);margin-bottom:28px;border-bottom:1px solid transparent;
}
.post-back:hover{color:var(--saffron);border-color:var(--saffron);}
.post-dateline{margin-bottom:22px;}
#postCategory{color:var(--teal);}
.post-title{
  font-family:var(--font-bn);font-size:clamp(28px,4.6vw,46px);line-height:1.28;font-weight:700;
  margin-bottom:20px;
}
.post-excerpt{font-size:17px;max-width:660px;color:var(--parchment-dim);}

/* --- featured image --- */
.post-image-wrap{margin:0;border-bottom:1px solid var(--line);background:var(--ink-2);}
.post-image-wrap img{width:100%;max-height:560px;object-fit:cover;}
.post-image-wrap figcaption{
  max-width:var(--wrap);margin:0 auto;padding:12px 28px;
  font-family:var(--font-mono);font-size:12px;color:var(--parchment-faint);
}

/* --- body --- */
.post-body-wrap{padding:64px 0 40px;max-width:760px;}
.post-body{
  font-family:var(--font-bn);font-size:19px;line-height:1.9;color:var(--parchment-dim);
}
.post-body p{margin:0 0 26px;color:var(--parchment-dim);}
.post-body h2{
  font-size:26px;margin:52px 0 20px;color:var(--parchment);line-height:1.35;
}
.post-body h3{
  font-size:21px;margin:40px 0 16px;color:var(--parchment);line-height:1.4;
}
.post-body a{color:var(--saffron);text-decoration:underline;text-underline-offset:3px;}
.post-body strong{color:var(--parchment);}
.post-body blockquote{
  margin:36px 0;padding:4px 0 4px 24px;border-left:2px solid var(--teal);
  font-family:var(--font-display);font-style:italic;font-size:21px;color:var(--parchment);
}
.post-body ul, .post-body ol{margin:0 0 26px;padding-left:24px;}
.post-body li{margin-bottom:10px;}
.post-body img{width:100%;height:auto;margin:36px 0;border:1px solid var(--line);}
.post-body figcaption{
  font-family:var(--font-mono);font-size:12px;color:var(--parchment-faint);margin-top:-24px;margin-bottom:36px;
}
.post-body hr{border:none;border-top:1px solid var(--line);margin:48px 0;}

/* first-letter treatment on the opening paragraph, added via JS */
.post-body > p:first-of-type::first-letter{
  font-family:var(--font-display);font-size:64px;line-height:0.8;font-weight:600;
  float:left;padding:8px 10px 0 0;color:var(--saffron);
}

/* --- tags --- */
.post-tags{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 48px;}
.post-tag{
  font-family:var(--font-mono);font-size:11px;letter-spacing:0.05em;text-transform:uppercase;
  color:var(--parchment-faint);border:1px solid var(--line-strong);padding:6px 12px;border-radius:2px;
}

/* --- footer nav row --- */
.post-footer-nav{
  display:flex;flex-wrap:wrap;gap:16px;padding-top:36px;border-top:1px solid var(--line);
}

@media (max-width: 640px){
  .post-hero{padding:44px 0 40px;}
  .post-body-wrap{padding:44px 0 24px;}
  .post-body{font-size:17px;}
  .post-body > p:first-of-type::first-letter{font-size:48px;}
}
