/* ===========================================================================
   Roosterflyt — CMS additions (consent banner, preview bar, posts, prose).
   Loaded after the theme. Uses the theme's tokens only.
   =========================================================================== */
.preview-bar { position: sticky; top: 0; z-index: 120; background: var(--amber); color: #1A1204; font: 600 .875rem/1.2 var(--font-body); padding: .55rem var(--gutter); text-align: center; }
.preview-bar a { color: inherit; text-decoration: underline; margin-left: .6rem; }

.footer__social { margin-top: 1rem; display: flex; flex-wrap: wrap; gap: .4rem 1.1rem; font-size: .9375rem; }
.footer__social a { color: var(--slate-on-dark); text-decoration: none; }
.footer__social a:hover { color: var(--fog); }
.footer__bottom .footer__legal { margin-left: .9rem; color: var(--slate-on-dark); text-decoration: none; font-size: inherit; }
.footer__bottom .footer__legal:hover { color: var(--fog); text-decoration: underline; }
.footer__btn { background: none; border: 0; padding: 0; font: inherit; cursor: pointer; margin-left: .9rem; }

.plainlink { color: inherit; text-decoration: none; }
.plainlink:hover { text-decoration: underline; text-decoration-color: var(--amber); text-underline-offset: .25em; }

.byline { margin-top: 1.25rem; color: var(--slate-on-dark); }
.detail__img { margin: 2.25rem 0 0; }
.detail__img img { display: block; width: 100%; height: auto; border-radius: var(--radius); border: 1px solid var(--hair-on-light); }

.postlist { display: grid; gap: 2.25rem; }
.postcard { display: grid; grid-template-columns: 1fr; gap: 1.25rem; padding-bottom: 2.25rem; border-bottom: 1px solid var(--hair-on-light); }
.postcard:last-child { border-bottom: 0; }
.postcard__img img { display: block; width: 100%; height: auto; border-radius: var(--radius); }
.postcard__body h2 { margin-top: .85rem; }
.postcard__body p { margin-top: .6rem; max-width: 62ch; }
@media (min-width: 760px) { .postcard:has(.postcard__img) { grid-template-columns: 280px 1fr; } }

/* Markdown output */
.md h2 { font-family: var(--font-display); font-size: var(--t-display-m); line-height: 1.15; margin: 2.4em 0 .7em; letter-spacing: -.015em; }
.md h3 { font-family: var(--font-display); font-size: 1.25rem; margin: 2em 0 .6em; }
.md p { margin: 0 0 1.15em; }
.md ul, .md ol { margin: 0 0 1.3em; padding-left: 1.3em; }
.md li { margin: .35em 0; }
.md blockquote { margin: 1.6em 0; padding: .2em 0 .2em 1.2em; border-left: 3px solid var(--amber); font-size: 1.08em; }
.md a { text-decoration: underline; text-decoration-color: var(--amber); text-underline-offset: .2em; }
.md code { font-family: var(--font-mono); font-size: .9em; }
.md > :first-child { margin-top: 0; }
.notice a { text-decoration: underline; }

.searchform .input { max-width: 100%; }

/* Consent banner */
.consent { position: fixed; z-index: 200; left: max(1rem, env(safe-area-inset-left)); right: max(1rem, env(safe-area-inset-right)); bottom: max(1rem, env(safe-area-inset-bottom)); max-width: 34rem;
  background: #0E1325; color: #EEF1F6; border: 1px solid rgba(214,224,255,.26); border-radius: var(--radius); padding: 1.25rem 1.35rem 1.35rem; box-shadow: 0 18px 60px rgba(0,0,0,.45); }
.consent[hidden] { display: none; }
.consent__t { font-family: var(--font-display); font-size: 1.125rem; margin: 0 0 .5rem; }
.consent__x { font-size: .9375rem; line-height: 1.5; color: #C4CCE2; margin: 0; }
.consent__prefs { margin-top: .9rem; display: grid; gap: .5rem; font-size: .9375rem; }
.consent__prefs[hidden] { display: none; }
.consent__opt { display: flex; gap: .6rem; align-items: center; }
.consent__opt input { width: 1.15rem; height: 1.15rem; accent-color: #FFB547; }
.consent__a { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.05rem; }
.consent__a .btn { padding: .6rem 1rem; font-size: .9375rem; min-height: 2.75rem; }
.consent__a [hidden] { display: none; }
@media (min-width: 760px) { .consent { right: auto; } }
