/* ReelPower theme extras — utilities not present in the compiled bundle */
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0;
}
.rp-mm-link { opacity: 0; transform: translateY(20px); }
/* topic checkbox pills */
.rp-topic input:checked + span { border-color: var(--mint); background: var(--mint-dim); color: var(--mint); }
/* WordPress admin bar offset */
body.admin-bar header#rp-header { top: 32px; }
@media screen and (max-width: 782px) { body.admin-bar header#rp-header { top: 46px; } }
/* article body typography (journal posts / legal content) */
.rp-prose p { margin-bottom: 1.25rem; line-height: 1.8; color: var(--ink-dim); }
.rp-prose h2 { font-family: 'Marcellus', serif; text-transform: uppercase; letter-spacing: 0.04em; font-size: 1.75rem; margin: 2.5rem 0 1rem; color: var(--ink); }
.rp-prose h3 { font-family: 'Marcellus', serif; font-size: 1.3rem; margin: 2rem 0 0.75rem; color: var(--mint); }
.rp-prose a { color: var(--mint); text-decoration: underline; text-underline-offset: 3px; }
.rp-prose ul, .rp-prose ol { margin: 0 0 1.25rem 1.25rem; color: var(--ink-dim); line-height: 1.8; }
.rp-prose ul { list-style: disc; } .rp-prose ol { list-style: decimal; }
.rp-prose img { max-width: 100%; height: auto; border-radius: 4px; margin: 1.5rem 0; }
.rp-prose blockquote { border-left: 2px solid var(--ember); padding-left: 1.25rem; margin: 1.5rem 0; color: var(--ink); }
.rp-prose code { font-family: 'IBM Plex Mono', monospace; font-size: 0.85em; background: var(--bg-raise); padding: 0.15em 0.4em; border-radius: 3px; }
