/* WordPress additions: admin bar, logo image, announcement bar, forms,
   post content, pagination, 404 and maintenance page. */

/* Fixed header below the admin bar */
.admin-bar .nav { top: 32px; }
.admin-bar .bloodline { top: 32px; }
@media (max-width: 782px) {
  .admin-bar .nav { top: 46px; }
  .admin-bar .bloodline { top: 46px; }
  .admin-bar .nav.scrolled { top: 0; }
}

/* Logo image from the editor */
.brand-logo { display: block; height: var(--logo-h, 36px); width: auto; max-width: 220px; object-fit: contain; }

/* Announcement bar */
.announce {
  position: relative; z-index: 51;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .4rem 1rem;
  padding: .55rem 1rem; text-align: center;
  background: var(--teal); color: var(--bg);
  font-family: var(--f-mono); font-size: .78rem; letter-spacing: .04em;
}
.announce a { color: inherit; font-weight: 600; }
.announce-link { text-decoration: underline; text-underline-offset: 3px; }
.has-announce .nav:not(.scrolled) { top: 2.4rem; }
.admin-bar.has-announce .nav:not(.scrolled) { top: calc(32px + 2.4rem); }
@media (max-width: 782px) { .admin-bar.has-announce .nav:not(.scrolled) { top: calc(46px + 2.4rem); } }

/* Spam trap fields */
.hp-field { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }

/* Fact or fiction hint text comes from the editor */
.ff-q[data-tap]::after { content: attr(data-tap); }

/* Journal cards with featured images and links */
.post-media { text-decoration: none; }
.post-media.has-thumb::before { display: none; }
.post-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.post:hover .post-media img { transform: scale(1.06); }
.post h3 a { color: inherit; text-decoration: none; }
.post h3 a:hover { color: var(--teal); }
a.post-toggle { text-decoration: none; }
.pagination, .nav-links.pagination, .navigation.pagination { display: flex; justify-content: center; gap: .4rem; margin-top: 2.4rem; font-family: var(--f-mono); }
.pagination .page-numbers { padding: .45rem .8rem; border: 1px solid var(--line-2); border-radius: 4px; color: var(--muted); text-decoration: none; }
.pagination .page-numbers.current { background: var(--teal); color: var(--bg); border-color: var(--teal); }
.navigation.pagination .nav-links { position: static; flex-direction: row; opacity: 1; pointer-events: auto; background: none; display: flex; gap: .4rem; }

/* Post and page content (block editor output) */
.wp-page-content { background: var(--bg-2); }
.entry-content { color: var(--text); font-size: 1.08rem; line-height: 1.8; }
.entry-content > * + * { margin-top: 1.2rem; }
.entry-content h2, .entry-content h3, .entry-content h4 { font-family: var(--f-serif); font-weight: 400; line-height: 1.15; margin: 2.2rem 0 .8rem; }
.entry-content h2 { font-size: 2.2rem; }
.entry-content h3 { font-size: 1.7rem; }
.entry-content a { color: var(--teal); }
.entry-content p { margin: 0 0 1.1rem; color: var(--muted); }
.entry-content strong { color: var(--text); }
.entry-content ul, .entry-content ol { padding-left: 1.3rem; color: var(--muted); }
.entry-content li { margin-bottom: .4rem; }
.entry-content blockquote { margin: 1.8rem 0; padding: 1rem 1.4rem; border-left: 3px solid var(--teal); background: rgba(var(--teal-rgb), .06); }
.entry-content blockquote p { font-family: var(--f-serif); font-style: italic; font-size: 1.35rem; color: var(--text); }
.entry-content img { height: auto; border-radius: 6px; }
.entry-content figcaption, .wp-caption-text { font-family: var(--f-mono); font-size: .75rem; color: var(--muted); margin-top: .5rem; }
.entry-content table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.entry-content th, .entry-content td { padding: .6rem .8rem; border-bottom: 1px solid var(--line-2); text-align: left; }
.entry-content pre, .entry-content code { font-family: var(--f-mono); background: var(--bg); border: 1px solid var(--line); border-radius: 4px; }
.entry-content pre { padding: 1rem; overflow-x: auto; }
.entry-content code { padding: .1rem .3rem; }
.entry-content .wp-block-button__link { background: var(--teal); color: var(--bg); border-radius: 4px; font-family: var(--f-mono); text-transform: uppercase; font-size: .8rem; letter-spacing: .1em; }
.entry-content iframe, .entry-content embed, .entry-content video { max-width: 100%; }
.alignwide { margin-left: -6vw; margin-right: -6vw; max-width: none; }
.alignfull { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); max-width: 100vw; }
.post-hero-image { margin: 0 0 2rem; }
.post-hero-image img { width: 100%; border-radius: 8px; }
.back-link { margin-top: 2.4rem !important; }
.single-entry .page-title { font-size: clamp(2.4rem, 6vw, 4.4rem); }

/* Comments */
.comment-list { list-style: none; padding: 0; }
.comment-respond input, .comment-respond textarea { width: 100%; padding: .7rem; background: var(--bg); color: var(--text); border: 1px solid var(--line-2); border-radius: 4px; font: inherit; }

/* 404 and maintenance */
.page-ecg.flat path { stroke: var(--red); stroke-dasharray: none; animation: none; }
.maintenance {
  position: relative; min-height: 100vh; display: grid; place-content: center; justify-items: center; gap: 1rem;
  padding: 2rem; text-align: center; overflow: hidden; isolation: isolate;
  background: radial-gradient(70% 60% at 50% 40%, #0d1b26 0%, var(--bg) 70%);
}
.maintenance .hero-grid { z-index: -1; }
.maintenance .brand-cross { transform: scale(1.6); margin-bottom: 1rem; }
.maintenance .page-lede { margin: 0 auto; }

/* Still page (animations switched off) */
.is-still .reveal { opacity: 1 !important; transform: none !important; }
.is-still .pulse-pill { display: none; }
.is-still .lab .lab-row { opacity: 1; transform: none; }
.is-still .stamp { opacity: .85; transform: rotate(-12deg); }
