/* CryptoFrame — single post: the reading column and its tooling. */

.cfx-single__head { margin-bottom: 1.4rem; }
.cfx-single__title { font-size: var(--cfx-fs-6); margin: .2rem 0 .5rem; }

.cfx-single__standfirst {
  max-width: 60ch;
  margin: 0 0 .9rem;
  font-size: var(--cfx-fs-1);
  line-height: 1.5;
  color: var(--cfx-muted);
  text-wrap: pretty;
}

.cfx-single__tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  margin-top: 1rem;
  padding-block: .6rem;
  border-block: 1px solid var(--cfx-border);
}

.cfx-single__media { margin: 0 0 1.6rem; }
.cfx-single__media img { border-radius: var(--cfx-radius-card); width: 100%; }
.cfx-single__media figcaption {
  margin-top: .5rem;
  font-size: var(--cfx-fs-xs);
  color: var(--cfx-muted);
}

.cfx-page__head { margin-bottom: 1.2rem; }
.cfx-page__title { font-size: var(--cfx-fs-6); }
.cfx-page__head--centred { text-align: center; }
.cfx-page__head--boxed {
  padding: 1.4rem;
  background: var(--cfx-surface);
  border-radius: var(--cfx-radius-card);
}
.cfx-page__media { margin: 0 0 1.6rem; }
.cfx-page__media img { border-radius: var(--cfx-radius-card); }

/* ---------- The reading column ---------- */

.cfx-prose {
  max-width: var(--cfx-article-width);
  font-size: var(--cfx-article-size, var(--cfx-fs-base));
  line-height: var(--cfx-lh-body);
}
.cfx-prose > * + * { margin-top: 1.1em; }
.cfx-prose h2 { margin-top: 2em; font-size: var(--cfx-fs-3); scroll-margin-top: calc(var(--cfx-sticky-offset) + 1rem); }
.cfx-prose h3 { margin-top: 1.6em; font-size: var(--cfx-fs-2); scroll-margin-top: calc(var(--cfx-sticky-offset) + 1rem); }
.cfx-prose img, .cfx-prose figure { border-radius: var(--cfx-radius-card); }
.cfx-prose figcaption { margin-top: .5rem; font-size: var(--cfx-fs-xs); color: var(--cfx-muted); }
.cfx-prose ul, .cfx-prose ol { padding-left: 1.3em; }
.cfx-prose li + li { margin-top: .35em; }
.cfx-prose a { color: var(--cfx-link); }

.cfx-prose table { margin-block: 1.6rem; font-size: var(--cfx-fs-sm); }
.cfx-prose thead th { background: var(--cfx-surface); }

.cfx-pagelinks { margin-top: 1.6rem; display: flex; gap: .4rem; }

/* ---------- Share, reader tools ---------- */

.cfx-share { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; }
.cfx-share__label {
  margin-right: .2rem;
  font-family: var(--cfx-font-label);
  font-size: var(--cfx-fs-xs);
  letter-spacing: var(--cfx-ls-label);
  text-transform: var(--cfx-case-label);
  color: var(--cfx-muted);
}
.cfx-share__link, .cfx-share__print, .cfx-share__copy {
  display: inline-flex;
  align-items: center;
  padding: .3rem .7rem;
  font-family: var(--cfx-font-label);
  font-size: var(--cfx-fs-xs);
  text-decoration: none;
  color: var(--cfx-heading);
  background: var(--cfx-surface);
  border: 1px solid transparent;
  border-radius: var(--cfx-radius-pill);
  cursor: pointer;
}
.cfx-share__link:hover, .cfx-share__print:hover, .cfx-share__copy:hover {
  background: var(--cfx-primary);
  color: var(--cfx-background);
}

.cfx-readertools { display: flex; align-items: center; gap: .35rem; }
.cfx-readertools__btn {
  padding: .3rem .65rem;
  font-family: var(--cfx-font-label);
  font-size: var(--cfx-fs-xs);
  color: var(--cfx-heading);
  background: transparent;
  border: 1px solid var(--cfx-border);
  border-radius: var(--cfx-radius-pill);
  cursor: pointer;
}
.cfx-readertools__btn:hover { border-color: var(--cfx-primary); color: var(--cfx-primary); }
.cfx-readertools__btn[aria-pressed="true"] {
  background: var(--cfx-primary);
  border-color: var(--cfx-primary);
  color: var(--cfx-background);
}

/* Reading mode: strip everything that is not the article. */
.cfx-reading-mode .cfx-sidebar,
.cfx-reading-mode .cfx-ad,
.cfx-reading-mode .cfx-related,
.cfx-reading-mode .cfx-ticker,
.cfx-reading-mode .cfx-topbar,
.cfx-reading-mode .cfx-authorbox,
.cfx-reading-mode .cfx-comments,
.cfx-reading-mode .cfx-footer__body { display: none !important; }

.cfx-reading-mode .cfx-layout { display: block !important; }
.cfx-reading-mode .cfx-prose { max-width: 68ch; margin-inline: auto; }
.cfx-reading-mode .cfx-single__head { max-width: 68ch; margin-inline: auto; }

/* ---------- Author box ---------- */

.cfx-authorbox {
  display: flex;
  gap: 1.1rem;
  margin-block: 2.4rem;
  padding: 1.3rem;
  background: var(--cfx-surface);
  border-radius: var(--cfx-radius-card);
}
.cfx-authorbox__avatar { border-radius: 50%; flex: 0 0 auto; }
.cfx-authorbox__name { margin: 0 0 .4rem; font-size: var(--cfx-fs-1); }
.cfx-authorbox__name a { color: var(--cfx-heading); text-decoration: none; }
.cfx-authorbox__bio { margin: 0 0 .5rem; color: var(--cfx-muted); font-size: var(--cfx-fs-sm); max-width: 62ch; }
.cfx-authorbox__more { margin: 0; font-size: var(--cfx-fs-sm); }

/* ---------- Comments ---------- */

.cfx-comments { margin-top: 2.8rem; padding-top: 1.6rem; border-top: 1px solid var(--cfx-border); }
.cfx-comments__title { font-size: var(--cfx-fs-2); }
.cfx-comments__list, .cfx-comments__list .children { list-style: none; margin: 0; padding: 0; }
.cfx-comments__list .children { margin-left: 1.6rem; padding-left: 1rem; border-left: 1px solid var(--cfx-border); }
.cfx-comments__list .comment-body { padding: 1rem 0; border-bottom: 1px solid var(--cfx-border); }
.cfx-comments__list .comment-author { display: flex; align-items: center; gap: .6rem; font-family: var(--cfx-font-label); }
.cfx-comments__list .comment-author img { border-radius: 50%; }
.cfx-comments__list .comment-meta { font-size: var(--cfx-fs-xs); color: var(--cfx-muted); margin-bottom: .5rem; }
.cfx-comments .comment-respond { margin-top: 1.8rem; }
.cfx-comments .comment-form p { margin-bottom: .9rem; }
.cfx-comments__closed { color: var(--cfx-muted); }

/* ---------- Single tags ---------- */

.cfx-single__tags { margin-top: 1.8rem; }
