/* NICHT IRGENDWANN / KI-BILDSTEMPEL – Punk Editorial */
body.single-post .ni-post-hero { position: relative; }

/* Kompakter zweizeiliger Kennzeichnungsstempel – kein großer CTA. */
#top.single-post .ni-post-hero .ni-ai-stamp,
.ni-post-hero .ni-ai-stamp {
  position: absolute !important;
  z-index: 12;
  /* Bleibt auch bei transparentem / ueberlagerndem Enfold-Header sichtbar. */
  top: max(20px, var(--ni-ai-stamp-safe-top, 20px)) !important;
  right: max(25px, calc((100vw - 1220px) / 2));
  display: inline-flex !important;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2px;
  width: max-content !important;
  min-width: 0 !important;
  max-width: calc(100% - 48px);
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 7px 11px 6px !important;
  appearance: none;
  background: #89252d !important;
  border: 2px solid #fff !important;
  border-radius: 0 !important;
  box-shadow: 4px 4px 0 #020202;
  color: #fff !important;
  cursor: pointer;
  font-family: var(--font-body, 'Roboto Slab', Georgia, serif) !important;
  font-weight: 700 !important;
  letter-spacing: .025em;
  line-height: 1.12 !important;
  text-align: center;
  text-decoration: none !important;
  text-transform: uppercase;
  transform: rotate(-3deg);
  transition: transform .18s ease, box-shadow .18s ease;
}
#top.single-post .ni-post-hero .ni-ai-stamp .ni-ai-stamp__line1,
.ni-post-hero .ni-ai-stamp .ni-ai-stamp__line1 {
  display: block;
  font-size: 9px !important;
  line-height: 1.2 !important;
  letter-spacing: .035em;
  white-space: nowrap;
}
#top.single-post .ni-post-hero .ni-ai-stamp .ni-ai-stamp__line2,
.ni-post-hero .ni-ai-stamp .ni-ai-stamp__line2 {
  display: block;
  font-size: 12px !important;
  line-height: 1.1 !important;
  letter-spacing: .055em;
}
#top.single-post .ni-post-hero .ni-ai-stamp:hover,
.ni-post-hero .ni-ai-stamp:hover {
  transform: rotate(-3deg) translateY(-1px);
  box-shadow: 6px 6px 0 #020202;
}
#top.single-post .ni-post-hero .ni-ai-stamp:focus-visible,
.ni-post-hero .ni-ai-stamp:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 4px;
}

/* HTML-Fallback: WordPress gibt die Marke schon vor dem JavaScript aus.
   Wenn das Theme oder ein Optimierer JS verspaetet, bleibt sie sichtbar. */
#ni-ai-stamp-dock {
  position: absolute !important;
  z-index: 1000;
  top: 120px;
  right: max(25px, calc((100vw - 1220px) / 2));
  width: max-content;
  max-width: calc(100vw - 32px);
  pointer-events: none;
}
#ni-ai-stamp-dock .ni-ai-stamp {
  pointer-events: auto;
  position: static !important;
  z-index: 1000;
  display: inline-flex !important;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2px;
  width: max-content !important;
  max-width: 100%;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 7px 11px 6px !important;
  border: 2px solid #fff !important;
  border-radius: 0 !important;
  background: #89252d !important;
  color: #fff !important;
  box-shadow: 4px 4px 0 #020202;
  font-family: var(--font-body, 'Roboto Slab', Georgia, serif) !important;
  font-weight: 700 !important;
  line-height: 1.12 !important;
  text-transform: uppercase;
  text-decoration: none !important;
  transform: rotate(-3deg);
  text-align: center;
  cursor: pointer;
}
#ni-ai-stamp-dock .ni-ai-stamp__line1 { display:block; font-size:9px; letter-spacing:.035em; white-space:nowrap; }
#ni-ai-stamp-dock .ni-ai-stamp__line2 { display:block; font-size:12px; letter-spacing:.055em; }
.ni-post-hero .ni-ai-stamp { text-decoration: none !important; }
@media (max-width: 767px) {
  #ni-ai-stamp-dock { top: 94px; right:14px; }
  #ni-ai-stamp-dock .ni-ai-stamp { min-height: 40px !important; padding:6px 9px 5px !important; box-shadow:3px 3px 0 #020202; }
  #ni-ai-stamp-dock .ni-ai-stamp__line1 { font-size:8px; }
  #ni-ai-stamp-dock .ni-ai-stamp__line2 { font-size:11px; }
}
@media (max-width:380px) {
  #ni-ai-stamp-dock { right:12px; }
  #ni-ai-stamp-dock .ni-ai-stamp { padding:5px 7px 4px !important; }
  #ni-ai-stamp-dock .ni-ai-stamp__line1 { font-size:7.5px; }
  #ni-ai-stamp-dock .ni-ai-stamp__line2 { font-size:10px; }
}

.ni-ai-dialog,
.ni-ai-dialog * { box-sizing: border-box; }
.ni-ai-dialog {
  position: fixed !important;
  z-index: 2147483000 !important;
  inset: 0;
  display: none;
  place-items: center;
  padding: 24px;
  font-family: var(--font-body, 'Roboto Slab', Georgia, serif);
  color: #020202;
}
.ni-ai-dialog.is-open,
.ni-ai-dialog:target { display: grid !important; }
.ni-ai-dialog__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2,2,2,.83);
  cursor: default;
}
.ni-ai-dialog__panel {
  position: relative;
  width: min(610px, 100%);
  max-height: min(760px, calc(100dvh - 48px));
  overflow-y: auto;
  padding: clamp(28px, 4.5vw, 54px);
  border: 3px solid #020202;
  background: #fff;
  box-shadow: 11px 11px 0 #89252d;
  text-align: left;
}
.ni-ai-dialog__close {
  position: absolute;
  top: 9px;
  right: 11px;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  padding: 0;
  color: #020202 !important;
  background: transparent !important;
  border: 2px solid transparent !important;
  border-radius: 0 !important;
  font-family: Arial, sans-serif;
  font-size: 33px;
  line-height: 1;
  text-decoration: none !important;
  cursor: pointer;
}
.ni-ai-dialog__close:hover { border-color: #020202 !important; }
.ni-ai-dialog__eyebrow {
  display: inline-block;
  margin: 0 0 22px !important;
  padding: 7px 11px;
  background: #89252d;
  color: #fff !important;
  font: 700 11px/1.4 var(--font-body, 'Roboto Slab', Georgia, serif);
  letter-spacing: .09em;
  transform: rotate(-2deg);
}
.ni-ai-dialog__panel h2 {
  margin: 0 0 22px !important;
  max-width: 490px;
  color: #020202 !important;
  font-family: var(--font-headline, 'Nachmittage Display', Impact, sans-serif) !important;
  font-size: clamp(46px, 7vw, 81px) !important;
  font-weight: 400 !important;
  letter-spacing: .02em;
  line-height: .96 !important;
  text-transform: uppercase;
}
.ni-ai-dialog__copy {
  border-left: 4px solid #89252d;
  padding-left: 20px;
}
.ni-ai-dialog__copy p {
  margin: 0 0 15px !important;
  color: #282828 !important;
  font-family: var(--font-body, 'Roboto Slab', Georgia, serif) !important;
  font-size: clamp(14px, 1.45vw, 16px) !important;
  line-height: 1.72 !important;
  font-weight: 400;
  text-transform: none;
}
.ni-ai-dialog__copy p:last-child { margin-bottom: 0 !important; }
.ni-ai-dialog__copy strong { color: #020202; font-weight: 800; }
.ni-ai-dialog__action {
  display: inline-flex;
  gap: 15px;
  align-items: center;
  margin: 24px 0 0;
  padding: 13px 18px;
  border: 2px solid #020202 !important;
  border-radius: 0 !important;
  background: #020202 !important;
  color: #fff !important;
  font: 800 12px/1.4 var(--font-body, 'Roboto Slab', Georgia, serif);
  letter-spacing: .04em;
  text-transform: uppercase;
  text-decoration: none !important;
  cursor: pointer;
}
.ni-ai-dialog__action:hover { background: #89252d !important; border-color: #89252d !important; }
.ni-ai-dialog__close:focus-visible,
.ni-ai-dialog__action:focus-visible { outline: 3px solid #89252d; outline-offset: 4px; }

/* Tablet: Stempel am Rand des Fotos, nicht am Textblock. */
@media (min-width: 768px) and (max-width: 1024px) {
  #top.single-post .ni-post-hero .ni-ai-stamp,
  .ni-post-hero .ni-ai-stamp {
    top: max(16px, var(--ni-ai-stamp-safe-top, 16px)) !important;
    right: 20px !important;
  }
}

@media (max-width: 767px) {
  #top.single-post .ni-post-hero .ni-ai-stamp,
  .ni-post-hero .ni-ai-stamp {
    top: max(14px, var(--ni-ai-stamp-safe-top, 14px)) !important;
    right: 14px !important;
    padding: 6px 9px 5px !important;
    min-height: 40px !important;
    max-width: calc(100% - 36px);
    box-shadow: 3px 3px 0 #020202;
  }
  #top.single-post .ni-post-hero .ni-ai-stamp .ni-ai-stamp__line1,
  .ni-post-hero .ni-ai-stamp .ni-ai-stamp__line1 { font-size: 8px !important; }
  #top.single-post .ni-post-hero .ni-ai-stamp .ni-ai-stamp__line2,
  .ni-post-hero .ni-ai-stamp .ni-ai-stamp__line2 { font-size: 11px !important; }
  .ni-ai-dialog { padding: 16px; }
  .ni-ai-dialog__panel {
    max-height: calc(100dvh - 32px);
    padding: 35px 23px 26px;
    box-shadow: 6px 6px 0 #89252d;
  }
  .ni-ai-dialog__copy { padding-left: 14px; }
  .ni-ai-dialog__eyebrow { font-size: 10px; }
  .ni-ai-dialog__panel h2 { font-size: clamp(42px, 12vw, 58px) !important; }
  .ni-ai-dialog__action { width: 100%; justify-content: space-between; }
}
/* Extra schmale Handys: schmalere Marke, kein Ueberlaufen bei 320 px. */
@media (max-width: 380px) {
  #top.single-post .ni-post-hero .ni-ai-stamp,
  .ni-post-hero .ni-ai-stamp {
    top: max(12px, var(--ni-ai-stamp-safe-top, 12px)) !important;
    right: 12px !important;
    padding: 5px 7px 4px !important;
    max-width: calc(100% - 24px);
  }
  #top.single-post .ni-post-hero .ni-ai-stamp .ni-ai-stamp__line1,
  .ni-post-hero .ni-ai-stamp .ni-ai-stamp__line1 { font-size: 7.5px !important; }
  #top.single-post .ni-post-hero .ni-ai-stamp .ni-ai-stamp__line2,
  .ni-post-hero .ni-ai-stamp .ni-ai-stamp__line2 { font-size: 10px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .ni-post-hero .ni-ai-stamp { transition: none !important; }
}

/* =====================================================
   Bucket-List-Ziele: Stempel direkt auf dem großen Zielfoto.
   Eigenständig vom Magazin-Hero, unabhängig vom Enfold-Header.
   ===================================================== */
#top .ni-single-goal figure.ni-single-image-wrap,
.ni-single-goal figure.ni-single-image-wrap {
  position: relative !important;
}
#top .ni-single-goal .ni-single-image-wrap > .ni-ai-stamp,
.ni-single-goal .ni-single-image-wrap > .ni-ai-stamp {
  position: absolute !important;
  z-index: 20 !important;
  top: 20px !important;
  right: 20px !important;
  bottom: auto !important;
  left: auto !important;
  display: inline-flex !important;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2px;
  width: max-content !important;
  max-width: calc(100% - 32px);
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 7px 11px 6px !important;
  border: 2px solid #fff !important;
  border-radius: 0 !important;
  background: #89252d !important;
  color: #fff !important;
  box-shadow: 4px 4px 0 #020202;
  font-family: var(--font-body, 'Roboto Slab', Georgia, serif) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.12 !important;
  letter-spacing: .025em;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none !important;
  transform: rotate(-3deg);
  transform-origin: center;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease;
}
.ni-single-goal .ni-single-image-wrap > .ni-ai-stamp .ni-ai-stamp__line1 {
  display: block;
  font-size: 9px !important;
  line-height: 1.2 !important;
  letter-spacing: .035em;
  white-space: nowrap;
}
.ni-single-goal .ni-single-image-wrap > .ni-ai-stamp .ni-ai-stamp__line2 {
  display: block;
  font-size: 12px !important;
  line-height: 1.1 !important;
  letter-spacing: .055em;
}
#top .ni-single-goal .ni-single-image-wrap > .ni-ai-stamp:hover,
.ni-single-goal .ni-single-image-wrap > .ni-ai-stamp:hover {
  transform: rotate(-3deg) translateY(-1px);
  box-shadow: 5px 5px 0 #020202;
}
.ni-single-goal .ni-single-image-wrap > .ni-ai-stamp:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
}
@media (max-width: 767px) {
  #top .ni-single-goal .ni-single-image-wrap > .ni-ai-stamp,
  .ni-single-goal .ni-single-image-wrap > .ni-ai-stamp {
    top: 12px !important;
    right: 12px !important;
    max-width: calc(100% - 24px);
    padding: 6px 9px 5px !important;
    box-shadow: 3px 3px 0 #020202;
  }
  .ni-single-goal .ni-single-image-wrap > .ni-ai-stamp .ni-ai-stamp__line1 { font-size: 8px !important; }
  .ni-single-goal .ni-single-image-wrap > .ni-ai-stamp .ni-ai-stamp__line2 { font-size: 11px !important; }
}
@media (max-width: 380px) {
  #top .ni-single-goal .ni-single-image-wrap > .ni-ai-stamp,
  .ni-single-goal .ni-single-image-wrap > .ni-ai-stamp {
    top: 9px !important;
    right: 9px !important;
    padding: 5px 7px 4px !important;
  }
  .ni-single-goal .ni-single-image-wrap > .ni-ai-stamp .ni-ai-stamp__line1 { font-size: 7.5px !important; }
  .ni-single-goal .ni-single-image-wrap > .ni-ai-stamp .ni-ai-stamp__line2 { font-size: 10px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .ni-single-goal .ni-single-image-wrap > .ni-ai-stamp { transition: none !important; }
}
