/* ═══════════════════════════════════════════════════════════════════════════
   DOTN — Post Theme Overrides
   ALL selectors are scoped inside .post-full so the site header, footer,
   navigation, newspaper sheet, and starfield are never touched.
   ═══════════════════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════════════════
   THEME: IT'S A MYSTERY
   Noir pulp detective — CC Monster Mash headlines, venetian-blind overlay,
   typewriter body text, warm amber-and-charcoal palette.
   ═══════════════════════════════════════════════════════════════════════════ */

/* Venetian-blind shadow bars across the article */
body.post-theme-mystery .post-full {
  position: relative;
}
body.post-theme-mystery .post-full::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image: repeating-linear-gradient(
    178deg,
    transparent 0px,
    transparent 30px,
    rgba(0,0,0,0.045) 30px,
    rgba(0,0,0,0.045) 32px
  );
}
body.post-theme-mystery .post-full > * { position: relative; z-index: 1; }

/* Case-file stamp above the title */
body.post-theme-mystery .post-header::before {
  content: '◈  CASE FILE  ◈';
  display: block;
  font-family: 'News Gothic', Arial, sans-serif;
  font-size: 0.65rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: #7a1f0a;
  margin-bottom: 0.75rem;
}

body.post-theme-mystery .post-full h1 {
  font-family: 'CC Monster Mash', Impact, sans-serif;
  font-weight: 400;
  font-size: clamp(2.8rem, 8vw, 5rem);
  line-height: 0.92;
  color: #120c06;
  -webkit-text-stroke: 0.5px rgba(0,0,0,0.2);
  text-shadow: 2px 2px 0 rgba(0,0,0,0.1);
}

body.post-theme-mystery .post-meta {
  font-family: 'Veteran Typewriter', 'Courier New', monospace !important;
  font-size: 0.8rem !important;
  color: #6a5030 !important;
}

body.post-theme-mystery .post-content {
  font-size: 0.97rem;
  line-height: 1.8;
}

body.post-theme-mystery .post-content h2 {
  font-family: 'CC Monster Mash', Impact, sans-serif;
  font-weight: 400;
  font-size: 2rem;
  color: #7a1f0a;
  letter-spacing: 0.02em;
}

body.post-theme-mystery .post-content h3 {
  font-family: 'CC Monster Mash', Impact, sans-serif;
  font-weight: 400;
  font-size: 1.5rem;
  color: var(--ink-mid);
}

body.post-theme-mystery .post-content a         { color: #7a1f0a; }
body.post-theme-mystery .post-content blockquote { border-left-color: #7a1f0a; }
body.post-theme-mystery .post-hero               { filter: sepia(0.35) contrast(1.05); }
body.post-theme-mystery .void-divider            { color: #7a1f0a; }


/* ═══════════════════════════════════════════════════════════════════════════
   THEME: LACKLUSTER SPACEMEN
   Industrial sci-fi — Orbitron headings (Aliens-adjacent), Veteran Typewriter
   body text, dot-matrix printout overlay, cyan-and-amber palette.
   ═══════════════════════════════════════════════════════════════════════════ */


/* Mission classification stamp above the title */
body.post-theme-spacemen .post-header::before {
  content: 'WALMART INTERSTELLAR CORPORATION  //  TRANSMISSION RECEIVED';
  display: block;
  font-family: 'Orbitron', 'News Gothic', sans-serif;
  font-size: 0.55rem;
  font-weight: 700;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: #4682b4;
  margin-bottom: 0.75rem;
}

body.post-theme-spacemen .post-full h1 {
  font-family: 'Orgovan Brush', Impact, sans-serif;
  font-weight: 400;
  font-size: clamp(2.8rem, 8vw, 5.5rem);
  line-height: 0.95;
  color: #0e1828;
  text-shadow: 1px 1px 0 rgba(70,130,180,0.2);
}

body.post-theme-spacemen .post-meta {
  font-family: 'Veteran Typewriter', 'Courier New', monospace !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.08em !important;
  color: #4a6080 !important;
}

body.post-theme-spacemen .post-content {
  font-size: 0.95rem;
  line-height: 1.85;
}

body.post-theme-spacemen .post-content h2 {
  font-family: 'Orbitron', 'News Gothic', sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #4682b4;
  border-bottom-color: rgba(70,130,180,0.35);
}

body.post-theme-spacemen .post-content h3 {
  font-family: 'Orbitron', 'News Gothic', sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  color: #c47020;
  text-transform: uppercase;
  letter-spacing: 0.18em;
}

body.post-theme-spacemen .post-content h4,
body.post-theme-spacemen .post-content h5 {
  font-family: 'Orbitron', 'News Gothic', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: #4682b4;
}
body.post-theme-spacemen .post-content h4 { font-size: 0.8rem; }
body.post-theme-spacemen .post-content h5 { font-size: 0.7rem; color: #c47020; }

body.post-theme-spacemen .post-content a         { color: #4682b4; }
body.post-theme-spacemen .post-content em        { color: #c47020; font-style: normal; font-weight: bold; }
body.post-theme-spacemen .post-content blockquote {
  border-left-color: #c47020;
}
body.post-theme-spacemen .post-hero              { border-color: #4682b4; filter: sepia(0.05) contrast(1.05); }
body.post-theme-spacemen .void-divider           { color: #c47020; animation: none; opacity: 0.85; }


/* ═══════════════════════════════════════════════════════════════════════════
   THEME: SPLATTERHAUS
   Dark visceral horror — SHLOP headlines, near-black article panel,
   blood-red and bone palette.
   ═══════════════════════════════════════════════════════════════════════════ */

body.post-theme-splatterhaus .post-full {
  position: relative;
  isolation: isolate;
}

/* Newsprint texture — stretched to exact post bounds, fades to paper at edges */
body.post-theme-splatterhaus .post-full::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image:
    radial-gradient(ellipse 95% 95% at center, transparent 15%, var(--paper) 72%),
    url('/assets/images/newsprint-texture.webp');
  background-size: cover, cover;
  background-position: center center, center center;
  background-repeat: no-repeat, no-repeat;
  pointer-events: none;
  opacity: 0.45;
}

/* Content warning stamp above title */
body.post-theme-splatterhaus .post-header::before {
  content: '⚠  SPLATTERHAUS  ⚠';
  display: block;
  font-family: 'News Gothic', Arial, sans-serif;
  font-size: 0.6rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: #600000;
  margin-bottom: 0.75rem;
}

body.post-theme-splatterhaus .post-header {
  border-bottom-color: #400000;
}

body.post-theme-splatterhaus .post-full h1 {
  font-family: 'SHLOP', Impact, sans-serif;
  font-weight: 400;
  font-size: clamp(3rem, 9vw, 6rem);
  line-height: 0.9;
  letter-spacing: 0.04em;
  color: #cc0000;
  text-shadow:
    2px 3px 0 #300000,
    0 0 30px rgba(200,0,0,0.35),
    0 0 70px rgba(200,0,0,0.15);
  -webkit-text-stroke: 1px #600000;
}

body.post-theme-splatterhaus .post-meta {
  color: var(--ink-faded) !important;
}

body.post-theme-splatterhaus .post-content {
  color: var(--ink);
}

body.post-theme-splatterhaus .post-content h2 {
  font-family: 'SHLOP', Impact, sans-serif;
  font-weight: 400;
  font-size: 2.2rem;
  color: #cc0000;
  border-bottom-color: #400000;
  text-shadow: 1px 2px 0 #300000;
  letter-spacing: 0.04em;
}

body.post-theme-splatterhaus .post-content h3 {
  font-family: 'SHLOP', Impact, sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  color: #8a3030;
}

body.post-theme-splatterhaus .post-content h4,
body.post-theme-splatterhaus .post-content h5 {
  font-family: 'SHLOP', Impact, sans-serif;
  font-weight: 400;
  color: #8a3030;
  letter-spacing: 0.03em;
}
body.post-theme-splatterhaus .post-content h4 { font-size: 1.3rem; }
body.post-theme-splatterhaus .post-content h5 { font-size: 1.05rem; color: #600000; }

body.post-theme-splatterhaus .post-content a         { color: #cc0000; }
body.post-theme-splatterhaus .post-content strong     { color: var(--ink); }
body.post-theme-splatterhaus .post-content em        { color: var(--ink-mid); font-style: italic; }
body.post-theme-splatterhaus .post-content blockquote { border-left-color: #8b0000; color: var(--ink-mid); }
body.post-theme-splatterhaus .post-content code,
body.post-theme-splatterhaus .post-content pre        { background: #1a0a0a; color: #cc0000; }

body.post-theme-splatterhaus .post-content table      { border-color: #400000; box-shadow: 4px 4px 0 #600000; }
body.post-theme-splatterhaus .post-content thead tr   { background: #8b0000; }
body.post-theme-splatterhaus .post-content thead th   { border-color: #600000; color: var(--paper); }
body.post-theme-splatterhaus .post-content tbody td   { background: var(--paper); color: var(--ink); border-color: #600000; }
body.post-theme-splatterhaus .post-content tbody tr:nth-child(even) td { background: var(--paper-dark); }
body.post-theme-splatterhaus .post-content tbody tr:hover td { background: #e8dfc0; }

body.post-theme-splatterhaus .post-hero  { border-color: #400000; filter: sepia(0.15) brightness(0.85) contrast(1.1); }
body.post-theme-splatterhaus .void-divider { color: #8b0000; text-shadow: 0 0 8px rgba(139,0,0,0.6); }

body.post-theme-splatterhaus .tag        { color: #7a5a50; border-color: #400000; }


/* ═══════════════════════════════════════════════════════════════════════════
   THEME: VESPER VANE MISSIVES
   BBS terminal / analog horror broadcast — the article becomes a dark
   terminal card embedded in the newspaper sheet.
   Fonts: VT323 + Share Tech Mono (loaded via Google Fonts in layout.php).
   ═══════════════════════════════════════════════════════════════════════════ */

@keyframes vv-flicker {
  0%, 92%, 100% { opacity: 1; }
  93%  { opacity: 0.35; }
  94%  { opacity: 1; }
  96%  { opacity: 0.15; }
  97%  { opacity: 1; }
}

body.post-theme-vesper-vane .post-full {
  background-color: #0d0d0d;
  color: #d4cfc4;
  /* float the terminal card off the newspaper sheet */
  box-shadow:
    0 0 0 1px #222,
    0 4px 32px rgba(0,0,0,0.7);
  position: relative;
  overflow: hidden;
}

/* Scan-line overlay — contained to the article card */
body.post-theme-vesper-vane .post-full::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image: repeating-linear-gradient(
    0deg,
    transparent 0px,
    transparent 2px,
    rgba(0,0,0,0.08) 2px,
    rgba(0,0,0,0.08) 4px
  );
  opacity: 0.5;
}
body.post-theme-vesper-vane .post-full > * { position: relative; z-index: 1; }

/* Incoming transmission label */
body.post-theme-vesper-vane .post-header::before {
  content: '▶  INCOMING TRANSMISSION';
  display: block;
  font-family: 'Share Tech Mono', monospace;
  font-size: 0.7rem;
  color: #cc2200;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  margin-bottom: 0.6rem;
  animation: vv-flicker 8s infinite;
}

body.post-theme-vesper-vane .post-header {
  border-bottom-color: #2a2a2a;
  text-align: left;
}

body.post-theme-vesper-vane .post-full h1 {
  font-family: 'VT323', monospace;
  font-weight: 400;
  font-size: clamp(3rem, 9vw, 5.5rem);
  line-height: 0.9;
  color: #f0ead8;
  letter-spacing: -0.01em;
}

body.post-theme-vesper-vane .post-meta {
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 0.68rem !important;
  color: #c5c5c5 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

body.post-theme-vesper-vane .post-content {
  font-family: 'Libre Baskerville', Georgia, serif;
  font-size: 1rem;
  line-height: 1.85;
  color: #d4cfc4;
}

body.post-theme-vesper-vane .post-content h2 {
  font-family: 'VT323', monospace;
  font-weight: 400;
  font-size: 2rem;
  color: #f0ead8;
  border-bottom: 1px solid #2a2a2a;
  letter-spacing: 0.05em;
}

body.post-theme-vesper-vane .post-content h3 {
  font-family: 'Share Tech Mono', monospace;
  font-size: 0.85rem;
  font-weight: 400;
  color: #666;
  text-transform: uppercase;
  letter-spacing: 0.18em;
}

body.post-theme-vesper-vane .post-content a {
  color: #b8ff3c;
  text-decoration-color: rgba(184,255,60,0.35);
}
body.post-theme-vesper-vane .post-content a:hover { color: #d0ff80; }

body.post-theme-vesper-vane .post-content strong     { color: #f0ead8; }
body.post-theme-vesper-vane .post-content em         { color: #b8ff3c; font-style: italic; }

body.post-theme-vesper-vane .post-content blockquote {
  border-left: 2px solid #cc2200;
  color: #f0ead8;
  font-family: 'VT323', monospace;
  font-size: 1.4rem;
  font-style: normal;
  line-height: 1.3;
}

body.post-theme-vesper-vane .post-content code,
body.post-theme-vesper-vane .post-content pre {
  font-family: 'Share Tech Mono', monospace;
  background: #111;
  color: #b8ff3c;
  border: 1px solid #222;
}

body.post-theme-vesper-vane .post-content img  { border-color: #2a2a2a; filter: brightness(0.85); }

body.post-theme-vesper-vane .post-content table    { border-color: #2a2a2a; box-shadow: none; }
body.post-theme-vesper-vane .post-content thead tr { background: #1a1a1a; }
body.post-theme-vesper-vane .post-content thead th {
  font-family: 'Share Tech Mono', monospace;
  color: #b8ff3c;
  border-color: #333;
}
body.post-theme-vesper-vane .post-content tbody td               { background: #0d0d0d; color: #d4cfc4; border-color: #222; }
body.post-theme-vesper-vane .post-content tbody tr:nth-child(even) td { background: #111; }
body.post-theme-vesper-vane .post-content tbody tr:hover td      { background: #161616; }

body.post-theme-vesper-vane .post-hero {
  border-color: #2a2a2a;
  filter: brightness(0.82) grayscale(0.2) contrast(1.05);
}

/* Static-noise divider replaces the glowing void ornament */
body.post-theme-vesper-vane .void-divider {
  font-size: 0;
  line-height: 0;
  animation: none;
  color: transparent;
  padding: 0;
  height: 1.5rem;
}
body.post-theme-vesper-vane .void-divider::after {
  content: '████░░████░░████░░████░░████░░████░░████░░████░░████░░████░░████░░████░░████░░████';
  font-family: 'Share Tech Mono', monospace;
  font-size: 10px;
  color: #333;
  letter-spacing: 0.05em;
  white-space: nowrap;
  overflow: hidden;
  display: block;
  line-height: 1.5rem;
}

body.post-theme-vesper-vane .tag {
  background: #111;
  color: #c5c5c5;
  border-color: #6f6f6f;
  font-family: 'Share Tech Mono', monospace;
  font-size: 0.68rem;
}

/* Bottom nav links inside the article */
body.post-theme-vesper-vane .post-full > div > a:not(.btn) {
  color: #c5c5c5;
  font-family: 'Share Tech Mono', monospace;
  font-size: 0.78rem;
}
body.post-theme-vesper-vane .post-full > div > a:not(.btn):hover { color: #b8ff3c; }

body.post-theme-vesper-vane .btn-teal {
  border-color: #b8ff3c;
  color: #b8ff3c;
  background: transparent;
}
body.post-theme-vesper-vane .btn-teal:hover {
  background: #b8ff3c;
  color: #0d0d0d;
}
