/* Blog post enhancements: table of contents, author box, dates, AI menu note */
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}
.post-body h2[id], .post-body section[id] { scroll-margin-top: 96px; }

.post-dates { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: center; margin: 4px 0 16px; font-size: .95rem; color: #4a5a54; }
.post-dates .dot { opacity: .6; }

.toc { margin: 24px 0 32px; padding: 18px 22px; border: 1px solid #d9e2dd; border-radius: 12px; background: #f6f9f7; }
.toc-title { margin: 0 0 10px; font-weight: 800; font-size: 1rem; }
.toc ol { list-style: disc; margin: 0; padding-left: 1.25rem; display: grid; gap: 6px; }
.toc a { text-decoration: none; }
.toc a:hover, .toc a:focus-visible { text-decoration: underline; }

a.toc-top { display: none; }

@media (min-width: 1360px) {
  .toc.toc-side a.toc-top { display: block; margin-top: 14px; padding: 8px 8px 8px 16px; border-left: 3px solid transparent; color: #c2410c; font-weight: 600; text-decoration: none; }
  .toc.toc-side a.toc-top:hover { text-decoration: underline; }
  .toc.toc-side {
    align-self: flex-start;
    position: sticky;
    top: 104px;
    box-sizing: border-box;
    width: 220px;
    margin: 0 0 0 -250px;
    padding: 0;
    background: none;
    border: 0;
    border-left: 1px solid #d9e2dd;
    border-radius: 0;
    font-size: .9rem;
    max-height: calc(100vh - 136px);
    overflow-y: auto;
  }
  .toc.toc-side ol { list-style: none; padding-left: 0; gap: 2px; }
  .toc.toc-side .toc-title { padding: 0 0 8px 16px; margin: 0; }
  .toc.toc-side a { display: block; padding: 8px 8px 8px 16px; margin-left: -1px; border-left: 3px solid transparent; line-height: 1.35; text-decoration: none; color: #4a5a54; }
  .toc.toc-side a.is-active { border-left-color: #095535; color: #0f1f2e; font-weight: 600; background: none; }
}

.author-box { display: flex; gap: 20px; align-items: flex-start; margin: 40px 0; padding: 22px; border: 1px solid #d9e2dd; border-radius: 14px; background: #f6f9f7; }
.author-box-photo { flex: 0 0 96px; width: 96px; height: 96px; border-radius: 50%; object-fit: cover; }
.author-box-body > * { margin: 0 0 8px; }
.author-box-kicker { font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; color: #4a5a54; }
.author-box-name { font-size: 1.2rem; }
.author-box-name a { text-decoration: none; }
.author-box-title { font-weight: 600; }
.author-box-links { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-bottom: 0; font-weight: 600; }
@media (max-width: 600px) {
  .author-box { flex-direction: column; align-items: center; text-align: center; }
  .author-box-links { justify-content: center; }
}

.post-reviewed { margin: 0 0 16px; font-size: .95rem; color: #4a5a54; }

.ai-menu .ai-note { padding: 8px 12px 4px; font-size: .85rem; color: #4a5a54; list-style: none; }
.ai-copy-status { padding: 4px 12px 8px; font-size: .85rem; font-weight: 600; color: #095535; list-style: none; }
