/* ── Content blocks (layout only; colours and fonts come from the site's own shell) ── */
.cb-text :where(p, ul, ol) { margin: 0 0 1em; }
.cb-text :where(ul, ol) { padding-left: 1.4em; }
.cb-callout { margin: 1.5em 0; padding: 1em 1.25em; border: 2px solid currentColor; border-radius: 4px; }
.cb-callout__label { margin: 0 0 .4em; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; font-size: .85em; }
.cb-callout__body > :last-child { margin-bottom: 0; }
.cb-callout--important { border-width: 3px; }
.cb-callout--disclosure { border-style: dashed; }
.cb-image { margin: 1.5em 0; }
.cb-image img { max-width: 100%; height: auto; display: block; }
.cb-image figcaption { margin-top: .5em; font-size: .9em; opacity: .85; }
.cb-faq { margin: 1.5em 0; }
.cb-faq__item { border-bottom: 1px solid currentColor; padding: .75em 0; }
.cb-faq__item summary { cursor: pointer; font-weight: 600; }
.cb-faq__item summary:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
.cb-faq__answer { padding-top: .5em; }
.cb-faq__answer p { margin: 0 0 .75em; }

/* ── Preview banner (admin preview only) ── */
.cb-preview { margin: 0 0 1.5em; padding: .75em 1em; border: 3px double currentColor; border-radius: 4px; }
.cb-preview a { color: inherit; text-decoration: underline; }
