/* ============================================================================
   NICHT IRGENDWANN | MAGAZIN-EINZELARTIKEL 03E
   Punk / Editorial · 22.10.2026

   Setzt das vorhandene HTML mit folgenden Klassen voraus:
   .ni-single-post, .ni-post-hero, .ni-post-kicker, .ni-post-title,
   .ni-post-subtitle, .ni-logbook, .ni-post-paper, .ni-post-content,
   .ni-post-nav.

   Wird NACH ni-global.css geladen, ausschließlich auf Einzelbeiträgen.
   Kein Eingriff in Header, Footer, Magazin-Übersicht oder Ziel-Plugin.
   ============================================================================ */

/* 01 | Gesamtseite ---------------------------------------------------------- */
body.single-post {
  background: #f5f5f5 !important;
}
body.single-post #main,
body.single-post #main .container_wrap_first {
  background: #f5f5f5 !important;
}
#top.single-post .ni-single-post {
  --nis-red: var(--ni-red, #89252d);
  --nis-black: var(--ni-black, #020202);
  --nis-white: var(--ni-white, #ffffff);
  --nis-mist: #f5f5f5;
  --nis-gray: #636363;
  --nis-body: var(--font-body, 'Roboto Slab', Georgia, serif);
  --nis-display: var(--font-headline, 'Nachmittage Display', Impact, sans-serif);

  margin-top: -78px !important; /* Enfold-Headerausgleich: bewährter Versatz */
  background: var(--nis-mist) !important;
  color: var(--nis-black);
  font-family: var(--nis-body);
  font-size: 1rem;
  line-height: 1.75;
  overflow: clip;
}
#top.single-post .ni-single-post *,
#top.single-post .ni-single-post *::before,
#top.single-post .ni-single-post *::after {
  box-sizing: border-box;
}

/* Nur Enfold-Reste ausblenden, die bereits im bisherigen Layout verborgen waren. */
body.single-post .title_container,
body.single-post .breadcrumb,
body.single-post .stretch_full.title_container,
body.single-post .post-meta-infos,
body.single-post .blog-categories,
body.single-post .minor-meta,
body.single-post .comment-entry,
body.single-post .comment_container,
body.single-post #comments,
body.single-post .av-share-box {
  display: none !important;
}

/* 02 | Foto-Hero ------------------------------------------------------------ */
#top.single-post .ni-post-hero {
  position: relative;
  min-height: clamp(490px, 62vh, 760px);
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  isolation: isolate;
  padding-top: 72px !important; /* verhindert, dass Hero-Inhalt hinter dem Header sitzt */
  background-color: var(--nis-black) !important;
  background-image:
    linear-gradient(90deg, rgba(2,2,2,.79) 0%, rgba(2,2,2,.4) 58%, rgba(2,2,2,.21) 100%),
    linear-gradient(0deg, rgba(2,2,2,.94) 0%, transparent 73%),
    var(--ni-hero-image, linear-gradient(135deg, #252525, #020202));
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-bottom: 6px solid var(--nis-red);
  color: var(--nis-white);
}
#top.single-post .ni-post-hero__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(2,2,2,.21), transparent 60%),
    radial-gradient(circle at 80% 15%, rgba(255,255,255,.09), transparent 28%);
  pointer-events: none;
}
#top.single-post .ni-post-hero__inner {
  position: relative;
  z-index: 2;
  width: min(1220px, calc(100% - 64px));
  max-width: none;
  margin-inline: auto;
  padding: clamp(92px, 12vw, 170px) 0 clamp(86px, 8vw, 128px);
}
#top.single-post .ni-post-kicker {
  display: inline-block;
  max-width: 100%;
  margin: 0 0 30px;
  padding: 9px 15px 8px;
  transform: rotate(-1.2deg);
  background: var(--nis-red);
  border-left: 5px solid var(--nis-white);
  color: var(--nis-white);
  font: 700 .8rem/1.35 var(--nis-body);
  letter-spacing: .12em;
  text-transform: uppercase;
}
#top.single-post .ni-post-title {
  max-width: 1090px;
  margin: 0 0 24px;
  color: var(--nis-white);
  font-family: var(--nis-display);
  font-size: clamp(3.4rem, 7.3vw, 8.5rem);
  font-weight: 400;
  line-height: .94;
  letter-spacing: .015em;
  text-transform: uppercase;
  overflow-wrap: break-word;
  hyphens: auto;
  text-shadow: 0 3px 28px rgba(0,0,0,.32);
}
#top.single-post .ni-post-subtitle {
  max-width: 790px;
  margin: 0;
  padding-left: 18px;
  border-left: 4px solid var(--nis-red);
  color: rgba(255,255,255,.9);
  font-family: var(--nis-body);
  font-size: clamp(1rem, 1.45vw, 1.22rem);
  font-weight: 400;
  line-height: 1.65;
  text-transform: none;
}

/* 03 | Logbuch / Metadaten -------------------------------------------------- */
#top.single-post .ni-logbook {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: min(1120px, calc(100% - 64px));
  max-width: none;
  margin: -39px auto clamp(64px, 6vw, 100px);
  background: var(--nis-white) !important;
  border: 3px solid var(--nis-black);
  box-shadow: 11px 11px 0 var(--nis-red);
  transform: rotate(-.15deg);
}
#top.single-post .ni-logbook > div {
  min-width: 0;
  padding: clamp(18px, 2vw, 27px) clamp(14px, 2.3vw, 31px);
  border-right: 2px solid var(--nis-black);
  background: transparent;
}
#top.single-post .ni-logbook > div:last-child { border-right: 0; }
#top.single-post .ni-logbook span {
  display: block;
  margin: 0 0 10px;
  color: var(--nis-red);
  font-family: var(--nis-body);
  font-size: .74rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .1em;
  text-transform: uppercase;
}
#top.single-post .ni-logbook strong {
  display: block;
  margin: 0;
  color: var(--nis-black);
  font-family: var(--nis-body);
  font-size: clamp(.9rem, 1.25vw, 1.1rem);
  font-weight: 700;
  line-height: 1.45;
  text-transform: none;
  overflow-wrap: anywhere;
}

/* 04 | Lesefläche ----------------------------------------------------------- */
#top.single-post .ni-post-paper {
  position: relative;
  max-width: 1060px;
  margin: 0 auto clamp(70px, 7vw, 120px);
  padding: clamp(44px, 7vw, 102px) clamp(24px, 8vw, 112px);
  color: var(--nis-black);
  background: var(--nis-white) !important;
  border: 2px solid var(--nis-black);
  box-shadow: 12px 12px 0 rgba(2,2,2,.08);
}
#top.single-post .ni-post-paper::before {
  content: '';
  position: absolute;
  left: clamp(24px, 8vw, 112px);
  top: 0;
  width: 88px;
  height: 6px;
  background: var(--nis-red);
}
#top.single-post .ni-post-content {
  width: 100%;
  max-width: 740px;
  margin-inline: auto;
  color: #242424;
  font-family: var(--nis-body);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.83;
}
#top.single-post .ni-post-content :is(p, ul, ol) {
  margin: 0 0 1.55em;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}
#top.single-post .ni-post-content li { margin-bottom: .4em; }
#top.single-post .ni-post-content :is(ul, ol) { padding-left: 1.6em; }
#top.single-post .ni-post-content :is(h2, h3, h4) {
  margin: clamp(44px, 5vw, 70px) 0 20px;
  color: var(--nis-black);
  font-family: var(--nis-display);
  font-weight: 400;
  letter-spacing: .01em;
  line-height: 1.08;
  text-transform: uppercase;
  hyphens: none;
}
#top.single-post .ni-post-content h2 { font-size: clamp(2.15rem, 3.2vw, 3.75rem); }
#top.single-post .ni-post-content h3 { font-size: clamp(1.7rem, 2.5vw, 2.65rem); }
#top.single-post .ni-post-content h4 { font-size: clamp(1.35rem, 1.9vw, 1.8rem); }
#top.single-post .ni-post-content a {
  color: var(--nis-black);
  text-decoration: underline;
  text-decoration-color: var(--nis-red);
  text-decoration-thickness: 3px;
  text-underline-offset: .21em;
  transition: color .16s ease;
}
#top.single-post .ni-post-content a:hover { color: var(--nis-red); }

/* 05 | Zitate --------------------------------------------------------------- */
#top.single-post .ni-post-content blockquote {
  position: relative;
  margin: clamp(38px, 5vw, 64px) clamp(-36px, -3vw, 0px);
  padding: clamp(28px, 4vw, 45px);
  color: var(--nis-white);
  background: var(--nis-black);
  border: 0;
  border-left: 8px solid var(--nis-red);
  box-shadow: 10px 10px 0 rgba(137,37,45,.18);
  transform: rotate(-.4deg);
  font-family: var(--nis-body);
  font-size: clamp(1.16rem, 1.65vw, 1.55rem);
  font-weight: 700;
  line-height: 1.6;
  text-transform: none;
}
#top.single-post .ni-post-content blockquote p {
  margin: 0;
  color: var(--nis-white);
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
#top.single-post .ni-post-content blockquote cite {
  display: block;
  margin-top: 16px;
  color: rgba(255,255,255,.68);
  font-size: .76em;
  font-style: normal;
  font-weight: 400;
}

/* 06 | Fotos und Bildunterschriften ----------------------------------------- */
#top.single-post .ni-post-content :is(img, video) {
  display: block;
  max-width: 100%;
  height: auto;
}
#top.single-post .ni-post-content img {
  width: auto;
  max-width: 100%;
  margin: clamp(30px, 4vw, 48px) auto;
  box-shadow: 0 16px 32px rgba(2,2,2,.15);
  transform: rotate(-.25deg);
}
#top.single-post .ni-post-content :is(figure, .wp-caption) {
  max-width: 100%;
  margin: clamp(30px, 4vw, 48px) auto;
}
#top.single-post .ni-post-content :is(figure, .wp-caption) img {
  margin-block: 0;
}
#top.single-post .ni-post-content :is(figcaption, .wp-caption-text) {
  margin: 12px 0 0;
  padding: 0 4px;
  color: #626262;
  font-size: .8rem;
  font-style: normal;
  line-height: 1.55;
  text-align: left;
}
#top.single-post .ni-post-content .wp-block-image img { height: auto; }
#top.single-post .ni-post-content .alignwide { max-width: 100%; }
#top.single-post .ni-post-content .alignleft { float: left; margin: 10px 25px 20px 0; }
#top.single-post .ni-post-content .alignright { float: right; margin: 10px 0 20px 25px; }

/* 07 | Älterer / nächster Artikel ------------------------------------------ */
#top.single-post .ni-post-nav {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 22px;
  width: min(1060px, calc(100% - 64px));
  max-width: none;
  margin: 0 auto clamp(80px, 8vw, 130px);
  font-family: var(--nis-body);
  font-size: .86rem;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: .06em;
  text-transform: uppercase;
}
#top.single-post .ni-post-nav a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 66px;
  max-width: 49%;
  padding: 17px 23px;
  color: var(--nis-black) !important;
  background: var(--nis-white);
  border: 2px solid var(--nis-black);
  border-bottom: 5px solid var(--nis-red);
  text-decoration: none;
  transition: transform .18s ease, color .18s ease, background .18s ease;
}
#top.single-post .ni-post-nav a:hover {
  color: var(--nis-white) !important;
  background: var(--nis-black);
  transform: translateY(-3px);
}

/* 08 | Tablet --------------------------------------------------------------- */
@media (max-width: 900px) {
  #top.single-post .ni-post-hero__inner { width: min(100% - 44px, 1220px); }
  #top.single-post .ni-logbook { width: min(100% - 44px, 1120px); }
  #top.single-post .ni-logbook { grid-template-columns: repeat(2, minmax(0,1fr)); }
  #top.single-post .ni-logbook > div:nth-child(2n) { border-right: 0; }
  #top.single-post .ni-logbook > div:nth-child(-n+2) { border-bottom: 2px solid var(--nis-black); }
  #top.single-post .ni-post-paper { margin-inline: 22px; }
  #top.single-post .ni-post-nav { width: min(100% - 44px, 1060px); }
}

/* 09 | Mobil --------------------------------------------------------------- */
@media (max-width: 600px) {
  #top.single-post .ni-post-hero {
    min-height: 480px;
    background-position: center;
  }
  #top.single-post .ni-post-hero__inner {
    width: calc(100% - 36px);
    padding: 95px 0 72px;
  }
  #top.single-post .ni-post-kicker {
    margin-bottom: 20px;
    font-size: .7rem;
    padding: 8px 12px;
  }
  #top.single-post .ni-post-title {
    font-size: clamp(2.65rem, 11.6vw, 4.9rem);
    line-height: .98;
    margin-bottom: 19px;
  }
  #top.single-post .ni-post-subtitle {
    font-size: .96rem;
    line-height: 1.55;
    padding-left: 13px;
  }
  #top.single-post .ni-logbook {
    width: calc(100% - 36px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: -24px auto 52px;
    box-shadow: 6px 6px 0 var(--nis-red);
  }
  #top.single-post .ni-logbook > div {
    padding: 15px 13px;
  }
  #top.single-post .ni-logbook span { font-size: .65rem; margin-bottom: 6px; }
  #top.single-post .ni-logbook strong { font-size: .87rem; line-height: 1.4; }
  #top.single-post .ni-post-paper {
    margin: 0 12px 60px;
    padding: 45px 22px 55px;
    border-width: 1px;
    box-shadow: 6px 6px 0 rgba(2,2,2,.07);
  }
  #top.single-post .ni-post-paper::before { left: 22px; width: 66px; }
  #top.single-post .ni-post-content {
    font-size: 1rem;
    line-height: 1.75;
  }
  #top.single-post .ni-post-content :is(h2,h3,h4) { margin-top: 40px; }
  #top.single-post .ni-post-content blockquote {
    margin: 34px 0;
    padding: 25px 22px;
    font-size: 1.1rem;
    box-shadow: 6px 6px 0 rgba(137,37,45,.15);
  }
  #top.single-post .ni-post-content img { transform: none; }
  #top.single-post .ni-post-content :is(.alignleft, .alignright) {
    float: none;
    margin: 26px auto;
  }
  #top.single-post .ni-post-nav {
    width: calc(100% - 24px);
    flex-direction: column;
    margin-bottom: 72px;
  }
  #top.single-post .ni-post-nav a { max-width: 100%; min-height: 58px; }
}

@media (max-width: 380px) {
  #top.single-post .ni-post-title { font-size: clamp(2.35rem, 11vw, 3.3rem); }
  #top.single-post .ni-logbook { grid-template-columns: 1fr; }
  #top.single-post .ni-logbook > div { border-right: 0; border-bottom: 2px solid var(--nis-black); }
  #top.single-post .ni-logbook > div:last-child { border-bottom: 0; }
}

@media (prefers-reduced-motion: reduce) {
  #top.single-post .ni-post-content a,
  #top.single-post .ni-post-nav a { transition: none; }
  #top.single-post .ni-post-nav a:hover { transform: none; }
}
