/* =============================================================================
   pix-theme-g  ·  PRESET: ArneIron (red pixel-CRT)
   presets/arneiron/_page-templates.css  —  UNIT 5 partial
   -----------------------------------------------------------------------------
   WHAT THIS IS
     The U5 partial of the ArneIron preset: PAGE-LEVEL template chrome — the
     layout containers and per-template "shells" that wrap the components U3
     (header/footer/nav) and U4 (widgets/swiper/blocks) already skin. Covers:
       • page/section wrappers (.pix-section, .pix-box, container/sidebar grid)
       • page hero / title bar (.pix-header-title) + breadcrumbs
       • blog ARCHIVE list/grid (.blog-list / .blog-list__article cards)
       • SINGLE-POST article layout (.blog-article: title, entry-meta row,
         content typography H2/H3/blockquote/code/lists, tags, author box,
         post navigation prev/next)
       • category / archive / author headers
       • SEARCH-results layout (search form + result list + no-results)
       • 404 page — on-brand "SIGNAL LOST" treatment (.error404 / .page-404)
       • comments list (.comment-list) + comment form (.comment-respond)

   HOW IT LOADS
     This file is a PARTIAL. The final integration pass @imports it into
     assets/css/presets/arneiron.css, e.g.:
         @import url('./arneiron/_page-templates.css');
     It does NOT redefine the token bridge — it consumes the --ai-* / --pix-*
     custom properties established in arneiron.css (U1, §1 token bridge). It also
     does NOT restyle header/footer/nav (U3) or widgets/swiper/blocks (U4).

   SCOPE DISCIPLINE
     EVERY rule is prefixed with `body.pix-theme-tone-arneiron` (the preset
     scope; alias `body[data-preset="arneiron"]` established in U1). Nothing here
     leaks to the PixTheme (default) preset. Remove the body class and PixTheme
     templates render exactly as before. No edits to main.css.

   SOURCE OF TRUTH
     design/prototype/assets/ds.css (§2 typography, §7 .card--post, §10 .tag,
     §11 .breadcrumb/.pager, §12 tables) + design/exports/wp-kit/templates/*.png
     (01-blog-archive, 02-single-post, 03-page, 04-category, 05-search, 06-404,
     07-comments, 08-docs-article). Palette/textures/shadows/fonts = U1 --ai-*.

   LIVE SELECTORS (verified read-only against https://dev.arneiron.net/, the
   live wp-theme-pix-theme-g — blog list, post 1767, search, 404):
     archive list : .blog-list > article.blog-list__article.blog-item-standared
                    ( .blog-list__article-image / .blog-list__article-text )
                    ( modifier .no-image ; title a.pix-post-title.pix-h4 )
     pagination   : .nav-links
     breadcrumb   : .pix-header-breadcrumbs > .pix-breadcrumbs-path
     page hero    : .pix-header-title  (page/archive title bar)
     layout grid  : .container.pix-container-boxed / .pix-width-right
                    ( .col-xl-9 .pix-right-sidebar  +  .col-xl-3 .pix-sidebar )
     single post  : article.blog-article > .post-content.rtd
                    ( meta: a.entry-meta__link ; prev/next: .pix-news-prev /
                      .pix-news-next inside .blog-article__related row )
     comments     : .blog-article__comments > ol.comment-list.rtd >
                    li.comment > .comment-body.blog-article__comments-item
                    ( .comment-author.vcard / .comment-content / .comment-meta /
                      .comment-time / .comment-content__header / __text )
     404          : body.error404 / .page-404

   ASSUMED SELECTORS (not confirmed in the captured renders; styled defensively
   from WP core + pix-theme convention, flagged inline with an "ASSUMED" marker):
     - .blog-article__head / __title / __meta / __content / __tags / __author
       (WP-singular sub-blocks beyond .blog-article + .post-content seen live)
     - .entry-title / .entry-content / .entry-header (WP core fallbacks)
     - .tags-links / .post-tags / .cat-links (WP taxonomy link wrappers)
     - .author-box / .pix-author-box (single-post author card)
     - .comment-respond / #respond / .comment-form + #commentform fields
       (form was closed on the captured post; WP-core comment-form markup)
     - .page-header / .archive-header / .search-header (archive title wrappers)
     - .search-no-results / .no-results / .search-form (empty-state + form)
     - .pix-404-title / .error-404 (404 inner; live exposes only .page-404)

   RULES HONORED: Swiper (not Owl); hard pixel corners; offset block shadows;
   dithered/halftone depth; red ramp = system color; green/amber = sparse status.
   ============================================================================= */

/* =============================================================================
   1. PAGE / SECTION WRAPPERS + LAYOUT GRID
      Generic content shell shared by every template. The header/footer (U3)
      are excluded; this is the <main>/section chrome between them.
   ============================================================================= */
body.pix-theme-tone-arneiron .pix-section,
body.pix-theme-tone-arneiron main.pix-main,            /* ASSUMED main wrapper */
body.pix-theme-tone-arneiron .pix-box.pix-global {
  position: relative;
  background-color: transparent;          /* lets the U1 body canvas/grid show */
}
/* "light" sections that were near-white -> dark panel (mirrors U1 §7 intent) */
body.pix-theme-tone-arneiron .pix-section.pix-bg-white,
body.pix-theme-tone-arneiron .pix-section.pix-bg-light {   /* ASSUMED bg utils */
  background: var(--ai-grad-panel) !important;
}

/* boxed container — keep theme width, just neutralise any pale inner fill */
body.pix-theme-tone-arneiron .container.pix-container-boxed,
body.pix-theme-tone-arneiron .pix-width-right {
  background: transparent;
}

/* two-column content+sidebar grid: give the sidebar rail a hairline divider */
body.pix-theme-tone-arneiron .col-xl-9.pix-right-sidebar {
  position: relative;
}
@media (min-width: 1200px) {
  body.pix-theme-tone-arneiron .pix-sidebar.pix-no-padding {
    border-left: 1px solid var(--ai-hair);
  }
}

/* =============================================================================
   2. PAGE HERO / TITLE BAR  (.pix-header-title)  +  BREADCRUMBS
      ds.css §2 (display type) + §11 (.breadcrumb). The mockups show a slim
      title bar over the canvas with a mono breadcrumb and a red signal accent.
   ============================================================================= */
body.pix-theme-tone-arneiron .pix-header-title,
body.pix-theme-tone-arneiron .page-header,             /* ASSUMED WP-core */
body.pix-theme-tone-arneiron .archive-header {         /* ASSUMED archive */
  position: relative;
  background: linear-gradient(180deg, #160608 0%, var(--ai-base) 100%);
  border-bottom: 2px solid var(--ai-grid-2);
  padding: 40px 0 28px;
  overflow: hidden;
}
/* halftone wash behind the hero (brand depth) */
body.pix-theme-tone-arneiron .pix-header-title::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .4;
  background-image: var(--ai-tex-halftone); background-size: var(--ai-tex-halftone-size);
}
/* the page/post title itself (theme paints .pix-h1 / .pix-header-title h1) */
body.pix-theme-tone-arneiron .pix-header-title .pix-h1,
body.pix-theme-tone-arneiron .pix-header-title h1,
body.pix-theme-tone-arneiron .page-header .page-title {   /* ASSUMED */
  position: relative;
  font-family: var(--ai-f-ui); font-weight: 700;
  letter-spacing: 1px; text-transform: uppercase;
  color: var(--ai-ink); text-shadow: var(--ai-sh-glow-soft);
}
/* red signal tick before the hero title (ds.css section-title affordance) */
body.pix-theme-tone-arneiron .pix-header-title h1::before {
  content: ""; display: inline-block; width: 10px; height: 1em;
  margin-right: 12px; vertical-align: -2px;
  background: var(--ai-signal); box-shadow: var(--ai-sh-glow-soft);
}

/* breadcrumbs (ds.css §11 .breadcrumb) */
body.pix-theme-tone-arneiron .pix-header-breadcrumbs,
body.pix-theme-tone-arneiron .pix-breadcrumbs-path,
body.pix-theme-tone-arneiron .breadcrumb {             /* ASSUMED ds alias */
  font-family: var(--ai-f-mono); font-size: 12px;
  letter-spacing: 1px; text-transform: uppercase;
  color: var(--ai-ink-faint);
}
body.pix-theme-tone-arneiron .pix-breadcrumbs-path a,
body.pix-theme-tone-arneiron .pix-header-breadcrumbs a { color: var(--ai-ink-dim); }
body.pix-theme-tone-arneiron .pix-breadcrumbs-path a:hover,
body.pix-theme-tone-arneiron .pix-header-breadcrumbs a:hover { color: var(--ai-signal); }
/* the chevron/slash separators the theme injects -> dim red */
body.pix-theme-tone-arneiron .pix-breadcrumbs-path .pix-breadcrumb-sep,  /* ASSUMED */
body.pix-theme-tone-arneiron .breadcrumb .sep { color: var(--ai-grid-2); margin: 0 6px; }
/* current crumb */
body.pix-theme-tone-arneiron .pix-breadcrumbs-path .current,            /* ASSUMED */
body.pix-theme-tone-arneiron .pix-breadcrumbs-path span:last-child { color: var(--ai-signal); }

/* =============================================================================
   3. BLOG ARCHIVE — list / grid of post cards  (ds.css §7 .card--post)
      Live: .blog-list > article.blog-list__article.blog-item-standared with
      .blog-list__article-image + .blog-list__article-text, modifier .no-image.
      The mockup (01) is a 2-up grid of halftone-textured panels.
   ============================================================================= */
body.pix-theme-tone-arneiron .blog-list__article,
body.pix-theme-tone-arneiron .pix-blog-classic .blog-list__article {
  position: relative;
  background: var(--ai-grad-panel);
  border: 2px solid var(--ai-grid-2);
  box-shadow: var(--ai-sh-block);
  border-radius: 0;
  margin-bottom: 28px;
  overflow: hidden;
}
/* halftone texture overlay (matches U1 .news-card::after) */
body.pix-theme-tone-arneiron .blog-list__article::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .45;
  background-image: var(--ai-tex-halftone); background-size: var(--ai-tex-halftone-size);
}
body.pix-theme-tone-arneiron .blog-list__article > * { position: relative; z-index: 1; }
/* featured image: hard frame + red scanline shimmer, kill rounded */
body.pix-theme-tone-arneiron .blog-list__article-image {
  border-bottom: 2px solid var(--ai-grid-2); border-radius: 0; position: relative;
}
body.pix-theme-tone-arneiron .blog-list__article-image img {
  border-radius: 0; display: block; width: 100%;
}
/* image scanline veil */
body.pix-theme-tone-arneiron .blog-list__article-image::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .5;
  background: repeating-linear-gradient(0deg, rgba(0,0,0,.22) 0 1px, transparent 1px 3px);
}
/* text body */
body.pix-theme-tone-arneiron .blog-list__article-text { padding: 22px 24px 24px; }
/* card post title */
body.pix-theme-tone-arneiron .blog-list__article .pix-post-title,
body.pix-theme-tone-arneiron .blog-list__article .pix-post-title a {
  font-family: var(--ai-f-ui); font-weight: 700; letter-spacing: .5px;
  color: var(--ai-ink); text-transform: none;
}
body.pix-theme-tone-arneiron .blog-list__article .pix-post-title a:hover {
  color: var(--ai-signal); text-shadow: var(--ai-sh-glow-soft);
}
/* card meta (date/author/comments) -> mono HUD line */
body.pix-theme-tone-arneiron .blog-list__article .entry-meta,        /* ASSUMED */
body.pix-theme-tone-arneiron .blog-list__article .entry-meta__link,
body.pix-theme-tone-arneiron .blog-list__article .comments-link {
  font-family: var(--ai-f-mono); font-size: 12px; letter-spacing: 1px;
  text-transform: uppercase; color: var(--ai-ink-faint);
}
body.pix-theme-tone-arneiron .blog-list__article .entry-meta__link:hover,
body.pix-theme-tone-arneiron .blog-list__article .comments-link:hover { color: var(--ai-signal); }
/* "READ" / read-more affordance (ds.css §7 post link) */
body.pix-theme-tone-arneiron .blog-list__article .pix-read-more,    /* ASSUMED */
body.pix-theme-tone-arneiron .blog-list__article .read-more,        /* ASSUMED */
body.pix-theme-tone-arneiron .blog-list__article .more-link {
  font-family: var(--ai-f-ui); font-weight: 700; letter-spacing: 2px;
  text-transform: uppercase; color: var(--ai-signal);
}
body.pix-theme-tone-arneiron .blog-list__article .more-link::after { content: " \203A"; }
/* no-image variant: lead with a red top rule (ds.css .card--feature top accent) */
body.pix-theme-tone-arneiron .blog-list__article.no-image {
  border-top: 3px solid var(--ai-signal);
}

/* sticky / featured post emphasis */
body.pix-theme-tone-arneiron .blog-list__article.sticky,
body.pix-theme-tone-arneiron .blog-list__article.post-sticky {     /* ASSUMED */
  border-color: var(--ai-signal); box-shadow: var(--ai-sh-glow), var(--ai-sh-block);
}

/* =============================================================================
   4. PAGINATION  (.nav-links)  +  posts navigation  (ds.css §11 .pager)
   ============================================================================= */
body.pix-theme-tone-arneiron .nav-links {
  display: flex; gap: 4px; align-items: center; flex-wrap: wrap;
  font-family: var(--ai-f-mono); margin-top: 8px;
}
body.pix-theme-tone-arneiron .nav-links .page-numbers {
  display: grid; place-items: center; min-width: 36px; height: 36px; padding: 0 8px;
  border: 2px solid var(--ai-grid-2); color: var(--ai-ink-dim);
  background: var(--ai-panel); border-radius: 0;
}
body.pix-theme-tone-arneiron .nav-links a.page-numbers:hover {
  border-color: var(--ai-signal); color: var(--ai-ink);
}
body.pix-theme-tone-arneiron .nav-links .page-numbers.current {
  background: var(--ai-grad-primary); border-color: var(--ai-signal);
  color: var(--ai-base); box-shadow: var(--ai-sh-glow-soft);
}
body.pix-theme-tone-arneiron .nav-links .page-numbers.dots {
  border-color: transparent; background: transparent; color: var(--ai-ink-faint);
}
/* prev/next text links (older/newer posts) */
body.pix-theme-tone-arneiron .nav-links .prev.page-numbers,
body.pix-theme-tone-arneiron .nav-links .next.page-numbers {
  text-transform: uppercase; letter-spacing: 1px;
}

/* =============================================================================
   5. SINGLE POST — article layout  (live: article.blog-article)
      ds.css §2 typography, §7 .card--post meta, §10 .tag.
   ============================================================================= */
body.pix-theme-tone-arneiron .blog-article { position: relative; }

/* post title (hero is handled in §2; this is an in-flow .entry-title fallback) */
body.pix-theme-tone-arneiron .blog-article .entry-title,        /* ASSUMED */
body.pix-theme-tone-arneiron .blog-article__title {             /* ASSUMED */
  font-family: var(--ai-f-ui); font-weight: 700; letter-spacing: 1px;
  text-transform: uppercase; color: var(--ai-ink);
}

/* meta row (date · author · category · comments) -> mono HUD strip */
body.pix-theme-tone-arneiron .blog-article .entry-meta,         /* ASSUMED */
body.pix-theme-tone-arneiron .blog-article__meta,               /* ASSUMED */
body.pix-theme-tone-arneiron .blog-article .entry-meta__link {
  font-family: var(--ai-f-mono); font-size: 12px; letter-spacing: 1px;
  text-transform: uppercase; color: var(--ai-ink-faint);
}
body.pix-theme-tone-arneiron .blog-article .entry-meta__link { color: var(--ai-ink-dim); }
body.pix-theme-tone-arneiron .blog-article .entry-meta__link:hover { color: var(--ai-signal); }
/* a thin red rule under the meta row to separate it from the body */
body.pix-theme-tone-arneiron .blog-article__meta {              /* ASSUMED */
  border-bottom: 1px solid var(--ai-grid-2); padding-bottom: 12px; margin-bottom: 24px;
}

/* ----- content typography  (.post-content.rtd — verified live) ----- */
body.pix-theme-tone-arneiron .post-content,
body.pix-theme-tone-arneiron .blog-article .entry-content,      /* ASSUMED WP-core */
body.pix-theme-tone-arneiron .blog-article__content {           /* ASSUMED */
  font-family: var(--ai-f-body); color: var(--ai-ink-dim); line-height: 1.7;
}
/* H2 / H3 with a red signal bar (ds.css section-title language) */
body.pix-theme-tone-arneiron .post-content h2,
body.pix-theme-tone-arneiron .post-content .wp-block-heading,
body.pix-theme-tone-arneiron .blog-article__content h2 {
  position: relative; font-family: var(--ai-f-ui); font-weight: 700;
  letter-spacing: 1px; color: var(--ai-ink); padding-left: 16px; margin-top: 40px;
}
body.pix-theme-tone-arneiron .post-content h2::before,
body.pix-theme-tone-arneiron .post-content .wp-block-heading::before {
  content: ""; position: absolute; left: 0; top: .1em; bottom: .1em; width: 5px;
  background: var(--ai-signal); box-shadow: var(--ai-sh-glow-soft);
}
body.pix-theme-tone-arneiron .post-content h3,
body.pix-theme-tone-arneiron .blog-article__content h3 {
  font-family: var(--ai-f-ui); font-weight: 600; letter-spacing: 1px;
  color: var(--ai-ink-dim); margin-top: 32px;
}
body.pix-theme-tone-arneiron .post-content h4,
body.pix-theme-tone-arneiron .post-content h5,
body.pix-theme-tone-arneiron .post-content h6 {
  font-family: var(--ai-f-mono); text-transform: uppercase; letter-spacing: 2px;
  color: var(--ai-ink-faint);
}
/* paragraphs + links */
body.pix-theme-tone-arneiron .post-content p { color: var(--ai-ink-dim); }
body.pix-theme-tone-arneiron .post-content a {
  color: var(--ai-signal); text-decoration: underline; text-underline-offset: 3px;
  text-decoration-color: var(--ai-grid-2);
}
body.pix-theme-tone-arneiron .post-content a:hover { color: var(--ai-hot); text-decoration-color: var(--ai-signal); }
/* lists with red pixel markers */
body.pix-theme-tone-arneiron .post-content ul { list-style: none; padding-left: 20px; }
body.pix-theme-tone-arneiron .post-content ul > li { position: relative; padding-left: 6px; }
body.pix-theme-tone-arneiron .post-content ul > li::before {
  content: "\25B8"; position: absolute; left: -16px; color: var(--ai-signal);
}
body.pix-theme-tone-arneiron .post-content ol { padding-left: 22px; }
body.pix-theme-tone-arneiron .post-content ol > li::marker {
  color: var(--ai-signal); font-family: var(--ai-f-mono);
}
/* blockquote: oxblood well + left signal bar (mockup 02) */
body.pix-theme-tone-arneiron .post-content blockquote,
body.pix-theme-tone-arneiron .blog-article__content blockquote {
  margin: 28px 0; padding: 16px 20px;
  background: linear-gradient(180deg, var(--ai-oxblood), #0c0608);
  border: 2px solid var(--ai-grid-2); border-left: 6px solid var(--ai-signal);
  color: var(--ai-ink); font-style: normal; font-family: var(--ai-f-ui);
}
body.pix-theme-tone-arneiron .post-content blockquote cite {
  display: block; margin-top: 8px; font-family: var(--ai-f-mono);
  font-size: 12px; letter-spacing: 1px; color: var(--ai-ink-faint); font-style: normal;
}
/* inline code + code blocks: terminal panel (mockup 02 "$ a minimal pull") */
body.pix-theme-tone-arneiron .post-content code,
body.pix-theme-tone-arneiron .post-content kbd {
  font-family: var(--ai-f-mono); font-size: .92em;
  background: var(--ai-well); border: 1px solid var(--ai-grid-2);
  color: var(--ai-hot); padding: 1px 5px; border-radius: 0;
}
body.pix-theme-tone-arneiron .post-content pre,
body.pix-theme-tone-arneiron .post-content .wp-block-code {
  position: relative; font-family: var(--ai-f-mono);
  background: var(--ai-obsidian); border: 2px solid var(--ai-grid-2);
  box-shadow: var(--ai-sh-block); color: var(--ai-green);
  padding: 28px 18px 18px; border-radius: 0; overflow-x: auto;
}
/* fake terminal title bar with 3 pixel dots */
body.pix-theme-tone-arneiron .post-content pre::before {
  content: ""; position: absolute; top: 8px; left: 12px;
  width: 8px; height: 8px; background: var(--ai-signal);
  box-shadow: 14px 0 0 0 var(--ai-amber), 28px 0 0 0 var(--ai-green);
}
body.pix-theme-tone-arneiron .post-content pre code {
  background: none; border: 0; color: inherit; padding: 0;
}
/* images inside content: hard frame */
body.pix-theme-tone-arneiron .post-content img,
body.pix-theme-tone-arneiron .post-content .wp-block-image img {
  border: 2px solid var(--ai-grid-2); border-radius: 0; box-shadow: var(--ai-sh-block);
}
/* horizontal rule -> red ramp */
body.pix-theme-tone-arneiron .post-content hr {
  height: 2px; border: 0; background: var(--ai-grad-ramp); margin: 32px 0;
}

/* ----- tags row  (ds.css §10 .tag)  ----- */
body.pix-theme-tone-arneiron .blog-article__tags,                /* ASSUMED */
body.pix-theme-tone-arneiron .blog-article .tags-links,          /* ASSUMED */
body.pix-theme-tone-arneiron .blog-article .post-tags {          /* ASSUMED */
  margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--ai-grid-2);
  display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
}
body.pix-theme-tone-arneiron .blog-article__tags a,
body.pix-theme-tone-arneiron .blog-article .tags-links a,
body.pix-theme-tone-arneiron .blog-article .post-tags a {
  font-family: var(--ai-f-mono); font-size: 12px; letter-spacing: 1px;
  color: var(--ai-signal); border: 1px solid var(--ai-grid-2);
  padding: 2px 8px; border-radius: 0;
}
body.pix-theme-tone-arneiron .blog-article__tags a:hover,
body.pix-theme-tone-arneiron .blog-article .tags-links a:hover { border-color: var(--ai-signal); }

/* ----- author box (mockup 02 "ARES VANADIUM" card)  ----- */
body.pix-theme-tone-arneiron .blog-article__author,              /* ASSUMED */
body.pix-theme-tone-arneiron .author-box,                        /* ASSUMED */
body.pix-theme-tone-arneiron .pix-author-box {                   /* ASSUMED */
  position: relative; display: flex; gap: 18px; align-items: flex-start;
  margin-top: 32px; padding: 22px 24px;
  background: var(--ai-grad-panel-up); border: 2px solid var(--ai-grid-2);
  box-shadow: var(--ai-sh-block); border-radius: 0;
}
body.pix-theme-tone-arneiron .blog-article__author .avatar,
body.pix-theme-tone-arneiron .author-box img.avatar {
  width: 64px; height: 64px; border: 2px solid var(--ai-signal);
  border-radius: 0; box-shadow: var(--ai-sh-glow-soft); flex: none;
}
body.pix-theme-tone-arneiron .blog-article__author .author-name,  /* ASSUMED */
body.pix-theme-tone-arneiron .author-box .author-title {          /* ASSUMED */
  font-family: var(--ai-f-ui); font-weight: 700; letter-spacing: 1px;
  text-transform: uppercase; color: var(--ai-ink);
}
body.pix-theme-tone-arneiron .author-box .author-bio,             /* ASSUMED */
body.pix-theme-tone-arneiron .blog-article__author p {
  font-family: var(--ai-f-body); color: var(--ai-ink-dim);
}

/* ----- post navigation (prev/next) — live .pix-news-prev / .pix-news-next
         sit inside .row.blog-article__related; mockup 02 "RELATED ENTRIES". --- */
body.pix-theme-tone-arneiron .blog-article__related {
  margin-top: 40px; padding-top: 28px; border-top: 2px solid var(--ai-grid-2);
}
body.pix-theme-tone-arneiron .pix-news-prev,
body.pix-theme-tone-arneiron .pix-news-next,
body.pix-theme-tone-arneiron .post-navigation .nav-previous,    /* ASSUMED WP-core */
body.pix-theme-tone-arneiron .post-navigation .nav-next {       /* ASSUMED */
  position: relative;
  background: var(--ai-grad-panel); border: 2px solid var(--ai-grid-2);
  box-shadow: var(--ai-sh-block); border-radius: 0; padding: 18px 20px;
}
body.pix-theme-tone-arneiron .pix-news-next { text-align: right; }
body.pix-theme-tone-arneiron .pix-news-prev a,
body.pix-theme-tone-arneiron .pix-news-next a {
  font-family: var(--ai-f-ui); font-weight: 700; letter-spacing: .5px; color: var(--ai-ink);
}
body.pix-theme-tone-arneiron .pix-news-prev a:hover,
body.pix-theme-tone-arneiron .pix-news-next a:hover { color: var(--ai-signal); }
/* the small "PREV / NEXT" eyebrow the theme prints above each link */
body.pix-theme-tone-arneiron .pix-news-prev .pix-news-label,    /* ASSUMED */
body.pix-theme-tone-arneiron .pix-news-next .pix-news-label {   /* ASSUMED */
  font-family: var(--ai-f-mono); font-size: 11px; letter-spacing: 2px;
  text-transform: uppercase; color: var(--ai-signal);
}

/* =============================================================================
   6. CATEGORY / ARCHIVE / AUTHOR HEADERS
      Re-use the §2 hero shell; add the taxonomy description + count line.
      (mockup 04-category)
   ============================================================================= */
body.pix-theme-tone-arneiron .archive-header .archive-description, /* ASSUMED */
body.pix-theme-tone-arneiron .term-description,                    /* ASSUMED WP-core */
body.pix-theme-tone-arneiron .pix-archive-meta {                   /* ASSUMED */
  font-family: var(--ai-f-mono); font-size: 13px; color: var(--ai-ink-dim);
  letter-spacing: .5px;
}
/* the taxonomy label / "CATEGORY:" prefix -> mono eyebrow */
body.pix-theme-tone-arneiron .archive-header .archive-label,       /* ASSUMED */
body.pix-theme-tone-arneiron .page-header .taxonomy-label {        /* ASSUMED */
  font-family: var(--ai-f-mono); font-size: 12px; letter-spacing: 2px;
  text-transform: uppercase; color: var(--ai-ink-faint);
}
/* post count chip on archive heads */
body.pix-theme-tone-arneiron .pix-archive-count {                  /* ASSUMED */
  font-family: var(--ai-f-mono); font-size: 12px;
  color: var(--ai-base); background: var(--ai-signal);
  padding: 2px 8px; border-radius: 0;
}

/* =============================================================================
   7. SEARCH RESULTS  (live: body.search-results; .blog-list reused for hits)
      (mockup 05-search)
   ============================================================================= */
/* search results re-use the §3 .blog-list cards; add the query echo + form */
body.pix-theme-tone-arneiron .search-header .search-query,         /* ASSUMED */
body.pix-theme-tone-arneiron .page-title .search-term {            /* ASSUMED */
  font-family: var(--ai-f-mono); color: var(--ai-signal);
}
body.pix-theme-tone-arneiron .search-header .search-query::before { content: '"'; }
body.pix-theme-tone-arneiron .search-header .search-query::after  { content: '"'; }

/* the search form itself — terminal prompt (ds.css §6 .search) */
body.pix-theme-tone-arneiron .search-form,                         /* ASSUMED WP-core */
body.pix-theme-tone-arneiron form.search-results-form {            /* ASSUMED */
  position: relative; display: flex; gap: 0; max-width: 520px;
}
body.pix-theme-tone-arneiron .search-form .search-field,
body.pix-theme-tone-arneiron .search-form input[type="search"] {
  flex: 1; font-family: var(--ai-f-mono); padding-left: 30px;
  background: var(--ai-well); border: 2px solid var(--ai-grid-2);
  color: var(--ai-ink); border-radius: 0;
}
/* ">" prompt glyph */
body.pix-theme-tone-arneiron .search-form::before {
  content: ">"; position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
  font-family: var(--ai-f-mono); color: var(--ai-ink-faint); pointer-events: none; z-index: 1;
}
body.pix-theme-tone-arneiron .search-form:focus-within::before { color: var(--ai-signal); }

/* empty state — on-brand "no signal" notice */
body.pix-theme-tone-arneiron .search-no-results,                   /* ASSUMED */
body.pix-theme-tone-arneiron .no-results.not-found {               /* ASSUMED WP-core */
  background: var(--ai-grad-panel); border: 2px solid var(--ai-grid-2);
  border-left: 8px solid var(--ai-amber);
  box-shadow: var(--ai-sh-block); padding: 24px 26px; border-radius: 0;
}
body.pix-theme-tone-arneiron .search-no-results .page-title,
body.pix-theme-tone-arneiron .no-results .page-title {
  font-family: var(--ai-f-ui); text-transform: uppercase; letter-spacing: 1px;
  color: var(--ai-amber);
}

/* =============================================================================
   8. 404 — "SIGNAL LOST"  (live: body.error404 / .page-404)  (mockup 06)
   ============================================================================= */
body.pix-theme-tone-arneiron.error404 .page-404,
body.pix-theme-tone-arneiron .page-404,
body.pix-theme-tone-arneiron .error-404.not-found {                /* ASSUMED WP-core */
  position: relative; text-align: center; padding: 64px 20px;
}
/* the giant glitched "404" numeral */
body.pix-theme-tone-arneiron .page-404 .pix-404-title,             /* ASSUMED */
body.pix-theme-tone-arneiron .page-404 h1,
body.pix-theme-tone-arneiron .error-404 .page-title {
  font-family: var(--ai-f-display); font-weight: 900;
  font-size: clamp(96px, 22vw, 220px); line-height: .9; margin: 0;
  color: var(--ai-signal);
  /* RGB-split chromatic aberration (ds.css .crt-aberr) */
  text-shadow:
    -3px 0 rgba(255,0,0,.5), 3px 0 rgba(0,180,255,.35),
    0 0 24px var(--ai-glow-red);
}
@media (prefers-reduced-motion: no-preference) {
  body.pix-theme-tone-arneiron .page-404 h1,
  body.pix-theme-tone-arneiron .page-404 .pix-404-title {
    animation: pix-404-glitch 2.4s steps(6) infinite;
  }
}
@keyframes pix-404-glitch {
  0%,100% { text-shadow: -3px 0 rgba(255,0,0,.5), 3px 0 rgba(0,180,255,.35), 0 0 24px var(--ai-glow-red); }
  47%     { text-shadow:  3px 0 rgba(255,0,0,.5),-3px 0 rgba(0,180,255,.35), 0 0 24px var(--ai-glow-red); }
  62%     { text-shadow: -1px 0 rgba(255,0,0,.5), 1px 0 rgba(0,180,255,.35), 0 0 12px var(--ai-glow-red); }
}
/* "SIGNAL LOST" subtitle */
body.pix-theme-tone-arneiron .page-404 .pix-404-subtitle,          /* ASSUMED */
body.pix-theme-tone-arneiron .page-404 h2 {
  font-family: var(--ai-f-ui); font-weight: 700; letter-spacing: 4px;
  text-transform: uppercase; color: var(--ai-ink); margin-top: 8px;
}
/* terminal "locate /requested/page" panel under the numeral */
body.pix-theme-tone-arneiron .page-404 .pix-404-terminal,          /* ASSUMED */
body.pix-theme-tone-arneiron .page-404 .pix-404-console {          /* ASSUMED */
  max-width: 560px; margin: 28px auto; text-align: left;
  font-family: var(--ai-f-mono); color: var(--ai-green);
  background: var(--ai-obsidian); border: 2px solid var(--ai-grid-2);
  box-shadow: var(--ai-sh-block); padding: 28px 18px 18px; border-radius: 0; position: relative;
}
body.pix-theme-tone-arneiron .page-404 .pix-404-terminal::before {
  content: ""; position: absolute; top: 8px; left: 12px;
  width: 8px; height: 8px; background: var(--ai-signal);
  box-shadow: 14px 0 0 0 var(--ai-amber), 28px 0 0 0 var(--ai-green);
}
/* the 404-page search form re-uses the §7 search-form skin */

/* =============================================================================
   9. COMMENTS LIST + COMMENT FORM  (mockup 07)
      Live: .blog-article__comments > ol.comment-list.rtd >
            li.comment > .comment-body.blog-article__comments-item
            ( .comment-author.vcard / .comment-content (__header/__text) /
              .comment-meta / .comment-time )
   ============================================================================= */
body.pix-theme-tone-arneiron .blog-article__comments {
  margin-top: 44px; padding-top: 28px; border-top: 2px solid var(--ai-grid-2);
}
/* comments title (e.g. "N RESPONSES") */
body.pix-theme-tone-arneiron .blog-article__comments .comments-title,  /* ASSUMED */
body.pix-theme-tone-arneiron .blog-article__comments-title {           /* ASSUMED */
  font-family: var(--ai-f-ui); font-weight: 700; letter-spacing: 1px;
  text-transform: uppercase; color: var(--ai-ink);
}
body.pix-theme-tone-arneiron .comment-list { list-style: none; padding: 0; margin: 0; }
/* each comment card */
body.pix-theme-tone-arneiron .comment-body.blog-article__comments-item,
body.pix-theme-tone-arneiron .comment-list .comment-body {
  position: relative; padding: 18px 20px; margin-bottom: 16px;
  background: var(--ai-grad-panel); border: 2px solid var(--ai-grid-2);
  border-left: 3px solid var(--ai-signal);
  box-shadow: var(--ai-sh-block); border-radius: 0;
}
/* nested replies step in */
body.pix-theme-tone-arneiron .comment-list .children {
  list-style: none; margin: 0 0 0 28px; padding: 0;
  border-left: 1px solid var(--ai-grid-2);
}
/* author identity (vcard) */
body.pix-theme-tone-arneiron .comment-author.vcard,
body.pix-theme-tone-arneiron .comment-content__header {
  font-family: var(--ai-f-ui); font-weight: 700; letter-spacing: .5px; color: var(--ai-ink);
}
body.pix-theme-tone-arneiron .comment-author .fn,
body.pix-theme-tone-arneiron .comment-author cite.fn {
  font-style: normal; color: var(--ai-signal); text-transform: uppercase;
}
body.pix-theme-tone-arneiron .comment-author img.avatar,
body.pix-theme-tone-arneiron .comment .avatar {
  width: 44px; height: 44px; border: 2px solid var(--ai-grid-2);
  border-radius: 0; flex: none;
}
/* meta + timestamp -> mono HUD */
body.pix-theme-tone-arneiron .comment-meta,
body.pix-theme-tone-arneiron .comment-metadata,
body.pix-theme-tone-arneiron .comment-time {
  font-family: var(--ai-f-mono); font-size: 11px; letter-spacing: 1px;
  text-transform: uppercase; color: var(--ai-ink-faint);
}
body.pix-theme-tone-arneiron .comment-meta a:hover,
body.pix-theme-tone-arneiron .comment-time a:hover { color: var(--ai-signal); }
/* comment text */
body.pix-theme-tone-arneiron .comment-content,
body.pix-theme-tone-arneiron .comment-content__text {
  font-family: var(--ai-f-body); color: var(--ai-ink-dim); line-height: 1.7;
}
/* reply link -> small outline button feel */
body.pix-theme-tone-arneiron .comment-reply-link,
body.pix-theme-tone-arneiron .reply .comment-reply-link {
  font-family: var(--ai-f-ui); font-weight: 700; letter-spacing: 1px;
  text-transform: uppercase; font-size: 12px;
  color: var(--ai-signal); border: 1px solid var(--ai-grid-2);
  padding: 2px 10px; display: inline-block; border-radius: 0;
}
body.pix-theme-tone-arneiron .comment-reply-link:hover {
  border-color: var(--ai-signal); background: var(--ai-panel-2);
}
/* pingbacks/trackbacks dimmed */
body.pix-theme-tone-arneiron .comment.pingback,
body.pix-theme-tone-arneiron .comment.trackback { color: var(--ai-ink-faint); }
/* "comments are closed" notice */
body.pix-theme-tone-arneiron .no-comments,
body.pix-theme-tone-arneiron .comments-closed {                       /* ASSUMED */
  font-family: var(--ai-f-mono); font-size: 12px; letter-spacing: 1px;
  text-transform: uppercase; color: var(--ai-ink-faint);
  border: 1px solid var(--ai-grid-2); border-left: 3px solid var(--ai-amber);
  padding: 10px 14px; border-radius: 0;
}

/* ----- comment form (ds.css §6 forms; was closed on captured post) ----- */
body.pix-theme-tone-arneiron .comment-respond,
body.pix-theme-tone-arneiron #respond {                               /* ASSUMED WP-core */
  margin-top: 32px; padding: 24px 26px;
  background: var(--ai-grad-panel-up); border: 2px solid var(--ai-grid-2);
  box-shadow: var(--ai-sh-block); border-radius: 0;
}
body.pix-theme-tone-arneiron .comment-reply-title {
  font-family: var(--ai-f-ui); font-weight: 700; letter-spacing: 1px;
  text-transform: uppercase; color: var(--ai-ink);
}
body.pix-theme-tone-arneiron .comment-reply-title small a { color: var(--ai-signal); }
body.pix-theme-tone-arneiron .comment-form .comment-notes,
body.pix-theme-tone-arneiron .comment-form .logged-in-as,
body.pix-theme-tone-arneiron .comment-form-cookies-consent label {
  font-family: var(--ai-f-mono); font-size: 12px; color: var(--ai-ink-faint); letter-spacing: .5px;
}
body.pix-theme-tone-arneiron .comment-form label {
  font-family: var(--ai-f-mono); font-size: 12px; letter-spacing: 2px;
  text-transform: uppercase; color: var(--ai-ink-dim);
}
/* fields inherit U1 §6 input skin; just ensure full width + mono */
body.pix-theme-tone-arneiron .comment-form input[type="text"],
body.pix-theme-tone-arneiron .comment-form input[type="email"],
body.pix-theme-tone-arneiron .comment-form input[type="url"],
body.pix-theme-tone-arneiron .comment-form textarea {
  width: 100%; font-family: var(--ai-f-mono);
  background: var(--ai-grad-panel); border: 2px solid var(--ai-grid-2);
  color: var(--ai-ink); border-radius: 0;
}
body.pix-theme-tone-arneiron .comment-form input:focus,
body.pix-theme-tone-arneiron .comment-form textarea:focus {
  outline: none; border-color: var(--ai-signal);
  box-shadow: 0 0 0 1px var(--ai-signal), var(--ai-sh-glow-soft);
}
/* submit inherits the U1 §5 button skin via input[type="submit"]; nudge spacing */
body.pix-theme-tone-arneiron .comment-form .form-submit { margin-top: 16px; }

/* =============================================================================
   10. RESPONSIVE — stack post-nav + author box + comment children on mobile
   ============================================================================= */
@media (max-width: 860px) {
  body.pix-theme-tone-arneiron .pix-header-title { padding: 28px 0 20px; }
  body.pix-theme-tone-arneiron .pix-news-next { text-align: left; }
  body.pix-theme-tone-arneiron .blog-article__author { flex-direction: column; }
  body.pix-theme-tone-arneiron .comment-list .children { margin-left: 14px; }
}
@media (max-width: 480px) {
  body.pix-theme-tone-arneiron .blog-list__article-text { padding: 18px 16px 20px; }
  body.pix-theme-tone-arneiron .post-content pre { padding: 26px 12px 14px; }
  body.pix-theme-tone-arneiron .page-404 .pix-404-title,
  body.pix-theme-tone-arneiron .page-404 h1 { font-size: clamp(72px, 28vw, 120px); }
}
