/* post-page — rhythm, chips, RTL prose, LTR code */

.post-article .post-title {
  font-size: clamp(1.55rem, 3.2vw, 2.15rem);
  font-weight: 720;
  line-height: 1.28;
  letter-spacing: -0.015em;
  margin: 0.35rem 0 1rem;
  color: var(--text, #e6e9f0);
}

.post-badges,
.pd-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 0.65rem;
}

.pd-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.72rem;
  font-weight: 600;
  padding: 0.22rem 0.65rem;
  border-radius: 999px;
  border: 1px solid var(--border-soft, #1e2430);
  background: color-mix(in srgb, var(--surface-2, #171c27) 80%, transparent);
  color: var(--text-muted, #8b93a7);
  text-decoration: none;
  transition: border-color .15s, color .15s, background .15s;
}

a.pd-chip:hover {
  color: var(--accent, #e3b341);
  border-color: color-mix(in srgb, var(--accent, #e3b341) 40%, var(--border-soft));
  background: color-mix(in srgb, var(--accent, #e3b341) 8%, transparent);
}

.pd-chip.is-accent {
  color: var(--accent, #e3b341);
  border-color: color-mix(in srgb, var(--accent, #e3b341) 35%, var(--border-soft));
  background: color-mix(in srgb, var(--accent, #e3b341) 10%, transparent);
}

.pd-chip.is-premium {
  color: #c9a0f2;
  border-color: color-mix(in srgb, #c9a0f2 35%, var(--border-soft));
  background: color-mix(in srgb, #c9a0f2 10%, transparent);
}

.pd-chip.is-sponsored {
  color: #6fb3d2;
  border-color: color-mix(in srgb, #6fb3d2 35%, var(--border-soft));
  background: color-mix(in srgb, #6fb3d2 10%, transparent);
}

.pd-cover {
  margin: 0 0 1.35rem;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid var(--border-soft, #1e2430);
  background: var(--surface, #12161f);
}

.pd-cover-img {
  display: block;
  width: 100%;
  height: auto;
  max-height: min(52vh, 420px);
  object-fit: cover;
}

.pd-byline { margin-bottom: 1.25rem; }

.pd-author {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  text-decoration: none;
  color: inherit;
  min-width: 0;
}

.pd-author:hover .pd-author-name { color: var(--accent, #e3b341); }

.pd-avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--border-soft, #1e2430);
  flex-shrink: 0;
  background: var(--surface-2, #171c27);
}

.pd-avatar-lg { width: 56px; height: 56px; }

.pd-avatar-fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.95rem;
  color: var(--accent, #e3b341);
  background: linear-gradient(145deg, rgba(111,179,210,.16), rgba(227,179,65,.08));
}

.pd-author-text {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}

.pd-author-name {
  font-size: 0.92rem;
  font-weight: 650;
  color: var(--text, #e6e9f0);
  transition: color .15s;
}

.pd-author-meta,
.pd-author-meta-solo {
  font-size: 0.78rem;
  color: var(--text-muted, #8b93a7);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem 0.35rem;
}

.post-meta-sep { opacity: 0.45; }

.post-edit-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1.15rem;
  padding: 0.55rem 0.75rem;
  border-radius: 12px;
  border: 1px dashed color-mix(in srgb, var(--accent, #e3b341) 30%, var(--border-soft));
  background: color-mix(in srgb, var(--accent, #e3b341) 5%, transparent);
}

.post-edit-link {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--accent, #e3b341);
  text-decoration: none;
  background: none;
  border: 0;
  cursor: pointer;
  padding: 0;
  font: inherit;
}

.post-edit-link:hover { text-decoration: underline; }
.post-edit-link.is-danger { color: #e06c75; }

.post-flash {
  margin-bottom: 1rem;
  padding: 0.7rem 1rem;
  border-radius: 12px;
  border: 1px solid var(--border-soft, #1e2430);
  background: var(--surface, #12161f);
  font-size: 0.86rem;
  color: var(--text-muted, #8b93a7);
}

.post-flash.is-ok {
  border-color: color-mix(in srgb, #9ecb8c 35%, var(--border-soft));
  background: color-mix(in srgb, #9ecb8c 8%, transparent);
  color: #9ecb8c;
}

/* —— Body prose —— */
.post-body {
  font-size: 1.05rem;
  line-height: 1.85;
  color: var(--text, #e6e9f0);
}

.post-body > *:first-child { margin-top: 0; }

.post-body h1,
.post-body h2,
.post-body h3,
.post-body h4,
.post-body h5,
.post-body h6 {
  margin-top: 1.75em;
  margin-bottom: 0.55em;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: -0.01em;
  scroll-margin-top: 5.5rem;
}

.post-body h2 { font-size: 1.35em; }
.post-body h3 { font-size: 1.18em; }

.post-body p.md-p,
.post-body p {
  margin: 0 0 1.15em;
}

/* RTL / LTR from MarkdownService DetectDir */
.post-body [dir="rtl"],
.post-body p[dir="rtl"],
.post-body li[dir="rtl"],
.post-body h1[dir="rtl"],
.post-body h2[dir="rtl"],
.post-body h3[dir="rtl"],
.post-body h4[dir="rtl"],
.post-body td[dir="rtl"],
.post-body th[dir="rtl"] {
  direction: rtl;
  text-align: right;
  unicode-bidi: isolate;
}

.post-body [dir="ltr"],
.post-body p[dir="ltr"],
.post-body li[dir="ltr"],
.post-body h1[dir="ltr"],
.post-body h2[dir="ltr"],
.post-body h3[dir="ltr"],
.post-body h4[dir="ltr"],
.post-body td[dir="ltr"],
.post-body th[dir="ltr"] {
  direction: ltr;
  text-align: left;
  unicode-bidi: isolate;
}

/* Code never flips — always LTR */
.post-body pre,
.post-body pre[dir],
.post-body code,
.post-body code[dir] {
  direction: ltr !important;
  text-align: left !important;
  unicode-bidi: isolate;
}

.post-body a {
  color: var(--accent, #e3b341);
  text-underline-offset: 0.18em;
}

.post-body img {
  border-radius: 12px;
  border: 1px solid var(--border-soft, #1e2430);
  max-width: 100%;
  height: auto;
}

.post-body blockquote {
  margin: 1.25em 0;
  padding: 0.6em 1em;
  border-inline-start: 3px solid var(--accent, #e3b341);
  background: color-mix(in srgb, var(--surface-2, #171c27) 70%, transparent);
  color: var(--text-muted, #8b93a7);
  border-radius: 0 10px 10px 0;
}

html[dir="rtl"] .post-body blockquote,
.post-body blockquote[dir="rtl"] {
  border-radius: 10px 0 0 10px;
}

.post-body ul,
.post-body ol {
  margin: 0 0 1.15em;
  padding-inline-start: 1.35em;
}

.post-body li.md-li {
  margin: 0.35em 0;
}

.post-lead {
  font-size: 1.08rem;
  line-height: 1.7;
  color: var(--text-muted, #8b93a7);
  margin: 0 0 1.5rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--border-soft, #1e2430);
}

.pd-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 1.75rem 0 0;
  padding-top: 1.25rem;
  border-top: 1px solid var(--border-soft, #1e2430);
}

.pd-tag {
  font-size: 0.78rem;
  font-weight: 550;
  color: var(--text-muted, #8b93a7);
  text-decoration: none;
  padding: 0.28rem 0.7rem;
  border-radius: 999px;
  border: 1px solid var(--border-soft, #1e2430);
  transition: color .15s, border-color .15s, background .15s;
}

.pd-tag:hover {
  color: var(--accent, #e3b341);
  border-color: color-mix(in srgb, var(--accent, #e3b341) 40%, var(--border-soft));
  background: color-mix(in srgb, var(--accent, #e3b341) 8%, transparent);
}
