/* Friedenstaube V12 — Premium Druckflyer */

@page { size: A4 portrait; margin: 0; }
*, *::before, *::after { box-sizing: border-box; -webkit-print-color-adjust: exact; print-color-adjust: exact; }

:root {
  /* Friedenstaube — einheitliches 10-Seiten-Farbschema (hell, premium) */
  --cream: #f8f5f0;
  --paper: #ffffff;
  --ink: #1c2526;
  --ink-mid: #2a3839;
  --muted: #3d4f48;
  --green: #2a4a3c;
  --green-bg: #e8f0ec;
  --green-border: rgba(42, 74, 60, 0.24);
  --gold: #8b6914;
  --gold-line: #7a5c0a;
  --gold-bg: #f7f2e8;
  --gold-border: rgba(197, 164, 110, 0.45);
  --urgent-bg: #fdeaea;
  --urgent-line: #c45c5c;
  /* Typo — Montserrat (Headlines) + Inter (Fließtext), großzügig wie PDF v8+ */
  --font-display: Montserrat, system-ui, sans-serif;
  --font-body: Inter, 'Helvetica Neue', system-ui, sans-serif;
  --text-body: 15pt;
  --text-lead: 18pt;
  --text-small: 13pt;
  --text-caption: 12pt;
  --text-kicker: 11pt;
  --text-h-xl: 38pt;
  --text-h-lg: 32pt;
  --text-h-md: 22pt;
  --text-display: 56pt;
  --text-display-sub: 20pt;
  --text-cover-hero: 30pt;
  --text-cover-title: 56pt;
  --text-cover-sub: 22pt;
  --lh-body: 1.58;
  --lh-lead: 1.5;
  --lh-tight: 1.12;
  --gap: 4mm;
  --pad-page: 11mm 12mm 12mm;
  --pad-inline: 12mm;
  --radius: 6px;
  --hero-cover-h: 122mm;
  --title-band-bg: rgba(250, 248, 244, 0.94);
  --shadow-card: 0 1.2mm 3.5mm rgba(26, 36, 33, 0.1);
  --ploesung-type: 15.6pt;
  --ploesung-title: 26.4pt;
  --ploesung-body: calc(var(--ploesung-type) * 0.8);
  --ploesung-head: 16.8pt;
  --ploesung-stat: 43.2pt;
}

/* Kein Kursiv im gesamten Flyer */
body,
body em,
body i,
body cite {
  font-style: normal;
}

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: #d8d4cc;
  font-family: var(--font-body);
  font-size: var(--text-body);
  line-height: var(--lh-body);
  color: var(--ink);
}

body.has-toolbar { padding-top: 46px; }

/* ── Seite ── */
.sheet {
  width: 210mm;
  height: 297mm;
  margin: 0 auto 10px;
  background: linear-gradient(168deg, var(--cream) 0%, var(--paper) 55%, #f2ede4 100%);
  page-break-after: always;
  box-shadow: 0 16px 40px rgba(26, 36, 33, 0.1);
  overflow: hidden;
}

.sheet-frame {
  height: 100%;
  display: grid;
  grid-template-rows: auto 1fr auto;
  padding: var(--pad-page);
  gap: var(--gap);
}

/* Ohne Mast-Logo, Footer-Zeile, Seitenzahl, Blätter-Hinweis (Druck) */
body.flyer-no-chrome .sheet-frame,
body.flyer-no-chrome .sheet-frame--finale-full {
  grid-template-rows: 1fr;
}

body.flyer-no-chrome .mast,
body.flyer-no-chrome .pg,
body.flyer-no-chrome .mast-foot,
body.flyer-no-chrome .page-teaser {
  display: none !important;
}

.sheet-body {
  min-height: 0;
  display: grid;
  gap: var(--gap);
  align-content: stretch;
}

/* Typo — lesbar, plakatartig, keine Mini-Schrift */
.h-xl,
.h-lg,
.h-md,
.display,
.display-sub,
.kicker-cover,
.cta-kicker,
.cell-t,
.ploesung-panel__label,
.pumzug-head__title {
  font-family: var(--font-display);
}

.h-xl {
  font-size: var(--text-h-xl);
  line-height: var(--lh-tight);
  margin: 0;
  font-weight: 800;
  letter-spacing: -0.02em;
}
/* Einheitliche Seiten-Überschrift (alle Innenseiten + CTA) */
.h-lg,
.pumzug-head__title,
.ploesung-head__title {
  font-family: var(--font-display);
  font-size: var(--text-h-lg);
  line-height: var(--lh-tight);
  margin: 0;
  font-weight: 800;
  color: var(--ink);
  letter-spacing: -0.015em;
}

.h-lg {
  /* alias — Regeln oben */
}
.h-md {
  font-size: var(--text-h-md);
  line-height: 1.18;
  margin: 0;
  font-weight: 700;
  letter-spacing: -0.01em;
}
.lead {
  font-size: var(--text-lead);
  line-height: var(--lh-lead);
  margin: 0;
  color: var(--muted);
  font-weight: 500;
}
.body {
  font-size: var(--text-body);
  line-height: var(--lh-body);
  margin: 0;
  font-weight: 500;
}
.note {
  font-size: var(--text-small);
  line-height: var(--lh-lead);
  margin: 0;
  color: var(--muted);
  font-weight: 500;
}
.kicker {
  font-family: var(--font-display);
  font-size: var(--text-kicker);
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green);
  margin: 0;
}

/* Text-only Flyer (ohne Bilder) */
.flyer-text-only .img-frame,
.flyer-text-only .hero-bleed,
.flyer-text-only .compare-card .img-frame,
.flyer-text-only .picasso-strip,
.flyer-text-only .cta-hero,
.flyer-text-only .partner-row,
.flyer-text-only .sheet-deco:not(.sheet--inner .sheet-deco) { display: none !important; }

/* Key Visuals S.3 + S.7 + S.9 + Canva-Fotos (wie S.2) */
.flyer-text-only .loesung-bg,
.flyer-text-only .loesung-bg img,
.flyer-text-only .umzug-bg img,
.flyer-text-only .compare-hero img,
.flyer-text-only .stadt-split__photo img,
.flyer-text-only .stadt-ausblick-teaser__photo img,
.flyer-text-only .stadt-picasso img,
.flyer-text-only .recht-split__photo img,
.flyer-text-only .vision-panel__media,
.flyer-text-only .vision-panel__media img,
.flyer-text-only .vision-triptych img,
.flyer-text-only .vision-hero img,
.flyer-text-only .abundance-panel__media,
.flyer-text-only .abundance-panel__media img,
.flyer-text-only .mehrwert-cell__media,
.flyer-text-only .mehrwert-cell__media img {
  display: block !important;
}

.flyer-text-only .sheet:not(.sheet--inner) .sheet-deco { display: none !important; }

/* Cover + CTA + S.3: Vollflächen-Hintergrund (Ausnahme von text-only) */
.flyer-text-only .cover-bg,
.flyer-text-only .cover-bg img,
.flyer-text-only .cta-bg,
.flyer-text-only .cta-bg img,
.flyer-text-only .loesung-bg,
.flyer-text-only .loesung-bg img,
.flyer-text-only .umzug-bg,
.flyer-text-only .umzug-bg img {
  display: block !important;
}

.flyer-text-only .sheet--cta .qr--large,
.flyer-text-only .sheet--cta .qr--large img,


.flyer-text-only .print-loesung {
  display: grid;
  gap: 2.5mm;
  align-content: start;
}

.flyer-text-only .sheet--problem .problem-fact-tile__media img,
.flyer-text-only .sheet--problem .problem-lehrer-banner__img {
  display: block !important;
}

.flyer-text-only .recht-split {
  grid-template-columns: 0.72fr 1.28fr;
}

.flyer-text-only .stadt-split {
  grid-template-columns: 0.82fr 1.18fr;
}

.flyer-text-only .compare-hero,
.flyer-text-only .stadt-split__photo,
.flyer-text-only .recht-split__photo,
.flyer-text-only .vision-hero {
  display: block !important;
}

.flyer-text-only .print-vision {
  display: flex !important;
  flex-direction: column;
}

.flyer-text-only .compare-row {
  grid-template-columns: 1fr 1fr;
  gap: 3mm;
}

.flyer-text-only .compare-card__label {
  display: block;
  font-weight: 700;
  margin-bottom: 1.5mm;
}

.flyer-text-only .qr-placeholder {
  min-height: 28mm;
  min-width: 28mm;
  border: 1.5pt dashed var(--gold-line);
  border-radius: var(--radius);
  display: grid;
  place-items: center;
  font-size: var(--text-caption);
  color: var(--muted);
  background: var(--gold-bg);
}



.flyer-text-only .sheet-body--cover {
  display: grid;
  grid-template-rows: 40% auto 14% auto;
  align-content: stretch;
  gap: 0;
  min-height: 100%;
}

/* Cover — Taubenhort P1 als Vollseiten-Hintergrund + Text-Overlay */
.sheet--cover {
  position: relative;
  isolation: isolate;
  background: #0f1418;
  overflow: hidden;
}

.sheet--cover .sheet-aura {
  display: none;
}

/* Cover: freigestelltes Logo oben rechts */
.sheet--cover .sheet-frame--cover-full {
  position: relative;
}

/* Cover-Überschrift — groß, Mitte (Parkbereich), direkt auf Foto */
.page-head--cover {
  grid-row: 2;
  justify-self: center;
  align-self: center;
  text-align: center;
  width: 92%;
  max-width: 170mm;
  margin: 0;
  padding: 2mm 3mm 3mm;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  border-bottom: 0.6mm solid var(--gold-line);
}

.page-head--cover .h-lg {
  font-size: var(--text-cover-title);
  line-height: 1.05;
  letter-spacing: -0.02em;
}

.cover-wordmark-wrap {
  margin: 0;
  line-height: 0;
}

.cover-wordmark {
  display: block;
  width: min(252mm, 96%);
  height: auto;
  max-height: 60mm;
  margin: 0 auto;
  object-fit: contain;
  filter: drop-shadow(0 0.8mm 2.2mm rgba(0, 0, 0, 0.55));
}

.cover-tagline {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  margin: 2.5mm 0 0;
  padding: 0;
  font-size: var(--text-cover-sub);
  font-weight: 700;
  line-height: 1.22;
  text-align: center;
  max-width: 96%;
}

.cover-tagline__row {
  display: block;
  white-space: nowrap;
  text-align: center;
  line-height: 1.22;
}

.page-head--cover .cover-tagline,
.page-head--cover .cover-tagline__row {
  color: #fffef9;
  text-shadow:
    0 0.5mm 1.2mm rgba(0, 0, 0, 0.92),
    0 1.2mm 3.5mm rgba(0, 0, 0, 0.72),
    0 0 2mm rgba(0, 0, 0, 0.45);
}

.page-head--cover .cover-head-logo {
  display: block;
  width: auto;
  height: 20mm;
  max-width: 58mm;
  margin: 0 auto 2mm;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 0.8mm 2.2mm rgba(0, 0, 0, 0.5));
}

.page-head--cover .h-lg,
.page-head--cover .lead {
  margin-left: auto;
  margin-right: auto;
  max-width: 96%;
  text-wrap: balance;
}

.page-head--cover .h-lg,
.page-head--cover .lead {
  color: #fffef9;
  text-shadow:
    0 0.5mm 1.2mm rgba(0, 0, 0, 0.92),
    0 1.2mm 3.5mm rgba(0, 0, 0, 0.72),
    0 0 2mm rgba(0, 0, 0, 0.45);
}

.page-head--cover .lead {
  margin: 2mm 0 0;
}

/* Überschrift auf Foto — ohne Kasten */
.page-head--bare {
  flex-shrink: 0;
  padding: 0 1mm 2mm;
  margin: 0;
  background: transparent;
  border: none;
  box-shadow: none;
  border-bottom: 0.6mm solid var(--gold-line);
  text-align: center;
}

.page-head--bare .h-lg,
.page-head--bare .lead {
  text-shadow:
    0 0.35mm 0.8mm rgba(0, 0, 0, 0.85),
    0 1mm 2.5mm rgba(0, 0, 0, 0.55);
}

.page-head--bare .h-lg {
  color: #fffef9;
}

.page-head--bare .lead {
  color: #fffef9;
  font-weight: 600;
}

.finale-print__intro {
  padding: 0 1mm;
  background: transparent;
  border: none;
  box-shadow: none;
}

.finale-print__intro .body,
.finale-print__note {
  text-align: center;
  max-width: 96%;
  margin-inline: auto;
}

.sheet-frame--cover-full {
  position: relative;
  z-index: 1;
  height: 100%;
  background: transparent;
}

/* Cover — Taube + Schriftzug oben rechts */
.cover-corner-badge {
  position: absolute;
  top: 4mm;
  right: 4mm;
  z-index: 3;
  width: 40mm;
  height: auto;
  max-height: 50mm;
  object-fit: contain;
  object-position: top right;
  background: none;
  border: none;
  pointer-events: none;
  filter: drop-shadow(0 0.8mm 2mm rgba(0, 0, 0, 0.4));
}

.sheet--cover > .cover-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
}

.sheet--cover .cover-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}

.sheet--cover .cover-bg__scrim {
  position: absolute;
  inset: 0;
  /* Nur Bild-Verlauf — keine weiße Textbox */
  background: linear-gradient(
    180deg,
    rgba(15, 20, 18, 0.08) 0%,
    transparent 38%,
    transparent 52%,
    rgba(26, 36, 33, 0.42) 72%,
    rgba(26, 36, 33, 0.62) 100%
  );
  pointer-events: none;
}

.sheet--cover .mast,
.sheet--cover .sheet-body,
.sheet--cover .mast-foot {
  position: relative;
  z-index: 1;
}

.sheet--cover .mast--cover {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 1.5mm 2.5mm;
  margin: 0;
}

.sheet--cover .brand--cover {
  color: #fffef9;
  text-shadow: 0 0.4mm 1.2mm rgba(0, 0, 0, 0.55);
}

.sheet--cover .mast__dove path {
  fill: #e8f5ec;
  filter: drop-shadow(0 0.4mm 1mm rgba(0, 0, 0, 0.45));
}

.sheet-body--cover {
  display: grid;
  grid-template-rows: 40% auto 14% auto;
  align-content: stretch;
  min-height: 0;
  flex: 1;
  height: 100%;
  padding: 0 4mm 5mm;
  gap: 0;
}

.sheet-body--cover .benefit-strip--cover-foot {
  grid-row: 4;
  align-self: end;
}

/* Cover Mitte — Kicker + Abschlusssatz */
.cover-mid {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2.5mm;
  text-align: center;
  min-height: 0;
  padding: 0 1mm;
}

.cover-mid .kicker-cover,
.cover-mid .body--cover-lead {
  margin: 0;
  max-width: 94%;
}

.cover-projekt-logo {
  width: auto;
  height: 24mm;
  max-width: 78%;
  margin: 0 auto;
  display: block;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 0.8mm 2mm rgba(0, 0, 0, 0.55));
}

.cover-hero-copy .display-sub {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--text-cover-hero);
  line-height: 1.14;
  font-weight: 800;
  letter-spacing: -0.025em;
  text-align: center;
  max-width: 96%;
  margin-inline: auto;
}

.sheet-body--cover .kicker-cover {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--text-lead);
  font-weight: 700;
  line-height: var(--lh-lead);
  text-align: center;
  max-width: 94%;
  margin-inline: auto;
}

.cover-text-on-photo,
.benefit-strip--on-photo .benefit-line__label,
.benefit-strip--on-photo .benefit-line__row,
.benefit-strip--on-photo .benefit-line span {
  color: #fffef9;
  text-shadow:
    0 0.35mm 0.8mm rgba(0, 0, 0, 0.85),
    0 1mm 2.5mm rgba(0, 0, 0, 0.55),
    0 0 1.2mm rgba(0, 0, 0, 0.35);
}

.cover-hero-copy .display-sub {
  color: #e8f5ec;
}

.sheet-body--cover .kicker-cover {
  color: #fffef9;
}

.benefit-strip--on-photo {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4mm;
  margin: 0;
  padding: 0;
  list-style: none;
  align-items: end;
  justify-items: center;
}

/* Cover: drei Benefits am unteren Bildrand — Außen an die Ränder */
.benefit-strip--cover-foot {
  align-self: end;
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
  padding: 0 1mm 2mm;
  gap: 2mm;
  grid-template-columns: 1fr 1fr 1fr;
}

.benefit-strip--cover-foot .benefit-line:first-child {
  justify-self: start;
  align-items: flex-start;
  max-width: 48mm;
}

.benefit-strip--cover-foot .benefit-line:nth-child(2) {
  justify-self: center;
  align-items: center;
  max-width: 48mm;
}

.benefit-strip--cover-foot .benefit-line:last-child {
  justify-self: end;
  align-items: flex-end;
  max-width: 48mm;
}

.benefit-strip--cover-foot .benefit-line:first-child .benefit-line__label,
.benefit-strip--cover-foot .benefit-line:first-child .benefit-line__row {
  align-items: flex-start;
  text-align: left;
}

.benefit-strip--cover-foot .benefit-line:last-child .benefit-line__label,
.benefit-strip--cover-foot .benefit-line:last-child .benefit-line__row {
  align-items: flex-end;
  text-align: right;
}

.benefit-line {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 1.5mm;
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
  text-align: center;
  width: 100%;
  max-width: 52mm;
  min-height: 0;
}

.benefit-line__photo {
  width: 30mm;
  height: 30mm;
  object-fit: cover;
  display: block;
  flex: 0 0 30mm;
  border-radius: 2mm;
  border: 0.35mm solid rgba(255, 254, 249, 0.55);
  box-shadow: 0 1mm 3mm rgba(0, 0, 0, 0.45);
}

.benefit-strip--cover-foot .benefit-line__photo {
  width: 30mm;
  height: 30mm;
  flex: 0 0 30mm;
}

.benefit-line__label {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  width: 100%;
  font-size: var(--text-lead);
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}

.benefit-line__row {
  display: block;
  white-space: nowrap;
  text-align: center;
  line-height: 1.2;
}

.benefit-line__label,
.benefit-line span:not(.benefit-line__row) {
  font-size: var(--text-lead);
  font-weight: 700;
}



.sheet-body--cover .body--cover-lead {
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  font-weight: 600;
  font-size: var(--text-body);
  line-height: 1.42;
  text-align: center;
  text-wrap: balance;
  max-width: 92%;
  margin-inline: auto;
}

.sheet--cover .mast-foot {
  background: transparent;
  border: none;
  border-radius: 0;
  padding-top: 1mm;
}

.sheet--cover .mast-foot .row > span:first-child {
  color: #fffef9;
  text-shadow: 0 0.35mm 1mm rgba(0, 0, 0, 0.7);
}

/* Seite 10 — Taubenhort mit Burg, Vollfläche + Text-Overlay */
.sheet--cta {
  position: relative;
  isolation: isolate;
  background: #0f1418;
  overflow: hidden;
}

.sheet--cta .sheet-aura {
  display: none;
}

.sheet-frame--cta-full {
  position: relative;
  z-index: 1;
  height: 100%;
  background: transparent;
}

.sheet--cta > .cta-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
}

.sheet--cta .cta-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 35%;
  display: block;
}

.sheet--cta .cta-bg__scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(250, 248, 244, 0.92) 0%,
    rgba(250, 248, 244, 0.35) 18%,
    rgba(250, 248, 244, 0.12) 40%,
    rgba(250, 248, 244, 0.72) 68%,
    rgba(250, 248, 244, 0.97) 100%
  );
  pointer-events: none;
}

.sheet--cta .mast,
.sheet--cta .sheet-body,
.sheet--cta .mast-foot {
  position: relative;
  z-index: 1;
}

.sheet--cta .mast--page {
  background: rgba(250, 248, 244, 0.88);
  border-radius: var(--radius);
  padding: 1.5mm 2.5mm;
  justify-content: flex-end;
}

.sheet-body--cta {
  display: grid;
  gap: var(--gap);
  align-content: end;
  min-height: 0;
}

.sheet-body--cta .cta-kicker {
  margin: 0;
  text-align: center;
  padding: 2.5mm 3mm;
  border-radius: var(--radius);
  border: 1px solid var(--gold-border);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--shadow-card);
}

.sheet-body--cta .page-head {
  padding: 2.5mm 3mm;
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid var(--green-border);
  box-shadow: var(--shadow-card);
}

.sheet-body--cta .cta-card {
  background: rgba(255, 255, 255, 0.94);
}

.sheet-body--cta .cta-card--petition {
  background: rgba(228, 240, 232, 0.96);
}

.sheet-body--cta .cta-card--donate {
  background: rgba(247, 240, 220, 0.96);
}

.sheet-body--cta .cell {
  background: rgba(255, 255, 255, 0.92);
}

.sheet-body--cta .note {
  background: rgba(255, 255, 255, 0.88);
  padding: 1.5mm 2mm;
  border-radius: var(--radius);
}

.sheet--cta .mast-foot {
  background: rgba(250, 248, 244, 0.92);
  border-radius: var(--radius);
  padding-top: 1.5mm;
}

.sheet--cta .qr-placeholder {
  background: rgba(255, 255, 255, 0.95);
}
/* Schlüsselwort — metallisches Gold (kontrastreich auf hellem Papier) */
.gold-word {
  display: inline;
  font-weight: 800;
  letter-spacing: -0.01em;
  background-image: linear-gradient(
    112deg,
    #3d2a04 0%,
    #5c4208 12%,
    #7a5c0a 26%,
    #9a7b14 40%,
    #c9a020 52%,
    #8b6914 66%,
    #6b5200 80%,
    #4a3606 100%
  );
  background-size: 160% 100%;
  background-position: 36% center;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  -webkit-text-stroke: 0.1mm rgba(22, 16, 6, 0.58);
  paint-order: stroke fill;
  filter:
    drop-shadow(0 0.25mm 0 rgba(26, 18, 6, 0.62))
    drop-shadow(0 0.55mm 1.1mm rgba(90, 68, 18, 0.42));
  text-shadow: none;
}

.sheet--umzug .gold-word {
  -webkit-text-stroke: 0.12mm rgba(22, 16, 6, 0.72);
  filter:
    drop-shadow(0 0.3mm 0 rgba(26, 18, 6, 0.78))
    drop-shadow(0 0.65mm 1.3mm rgba(60, 44, 10, 0.55));
}

/* Auf Foto-Hintergründen: Ursprungsgold (vor Verdunkelung der anderen Seiten) */
.cover-text-on-photo .gold-word,
.page-head--on-photo .gold-word {
  background-image: linear-gradient(
    112deg,
    #4a3606 0%,
    #7a5a10 14%,
    #c9a227 30%,
    #fff0c8 44%,
    #e8c96a 56%,
    #b8860b 68%,
    #f5e6b8 80%,
    #6b4e0a 100%
  );
  background-size: 180% 100%;
  background-position: 42% center;
  -webkit-text-stroke: 0.1mm rgba(10, 8, 4, 0.65);
  filter:
    drop-shadow(0 0.3mm 0 rgba(0, 0, 0, 0.88))
    drop-shadow(0 0.7mm 1.8mm rgba(255, 252, 248, 0.42))
    drop-shadow(0 0.45mm 0.9mm rgba(200, 160, 60, 0.45));
}
.em-green { color: var(--green); font-weight: 700; }

/* Bild-Platzhalter — später Foto einsetzen */
.ph {
  border: 1.5px dashed var(--gold-line);
  border-radius: var(--radius);
  background: linear-gradient(145deg, #f0ebe0, #faf8f4);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2mm;
  color: var(--muted);
  font-size: 9.5pt;
  font-weight: 600;
  line-height: 1.3;
  min-height: 0;
}
.ph img,
.img-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: calc(var(--radius) - 2px);
  display: block;
}
.ph:has(> img),
.img-frame {
  border: none;
  padding: 0;
  background: none;
  overflow: hidden;
}
.ph--fill { position: relative; overflow: hidden; }
.ph--fill img { position: absolute; inset: 0; }

/* Zellen — eng am Text, kein Luftpolster */
.cell {
  padding: 2mm 2.5mm;
  border-radius: var(--radius);
  border: 1px solid var(--green-border);
  background: var(--paper);
  font-size: var(--text-body);
  line-height: 1.48;
  font-weight: 500;
}
.cell .cell-t {
  display: block;
  font-family: var(--font-display);
  font-size: var(--text-lead);
  font-weight: 700;
  color: var(--green);
  margin-bottom: 1.2mm;
  line-height: var(--lh-tight);
  letter-spacing: -0.01em;
}
.cell--g { background: var(--green-bg); border-color: var(--green-border); }
.cell--gold { background: var(--gold-bg); border-color: var(--gold-border); }
.cell--urgent {
  background: var(--urgent-bg);
  border: 1.5px solid var(--urgent-line);
  font-weight: 600;
}
.cell ul {
  margin: 0;
  padding-left: 3.5mm;
}
.cell li { margin-bottom: 0.6mm; }
.cell li:last-child { margin-bottom: 0; }

/* Grids */
.g2 { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap); }
.g3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap); }
.g21 { display: grid; grid-template-columns: 0.92fr 1.08fr; gap: var(--gap); }
.g12 { display: grid; grid-template-columns: 1.08fr 0.92fr; gap: var(--gap); }
.g4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--gap); }
.span-2 { grid-column: span 2; }
.stack { display: grid; gap: var(--gap); align-content: start; }

.banner {
  padding: 2.5mm 3mm;
  border-radius: var(--radius);
  background: linear-gradient(120deg, #e8d078, #d4af37, #f5e8b8);
  text-align: center;
}
.banner .h-md { color: var(--ink); }

.stat {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14mm;
  height: 14mm;
  border-radius: 50%;
  border: 2px solid var(--gold-line);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 12pt;
  color: var(--green);
  flex-shrink: 0;
}

/* Header / Footer — schmal */
.mast {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 2mm;
  min-height: 0;
}
.mast .brand {
  font-size: 7.5pt;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--green);
}
.mast-foot {
  display: grid;
  gap: 1mm;
  border-top: 1px solid rgba(201, 162, 39, 0.5);
  padding-top: 1.5mm;
  font-size: 8.5pt;
  color: var(--gold);
  font-weight: 600;
}
.mast-foot .row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.pg {
  width: 6.5mm;
  height: 6.5mm;
  border: 1px solid var(--gold-line);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 8pt;
}

/* Toolbar (UI = Inter) */
.brochure-toolbar {
  position: fixed;
  inset: 0 0 auto;
  z-index: 9999;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  padding: 6px 10px;
  background: rgba(26, 36, 33, 0.94);
  border-bottom: 1px solid rgba(201, 162, 39, 0.35);
  font-family: var(--font-body);
  font-size: 13px;
}
.brochure-toolbar a,
.brochure-toolbar button {
  color: #faf8f4;
  padding: 3px 8px;
  border-radius: 5px;
  border: 1px solid rgba(201, 162, 39, 0.4);
  background: transparent;
  cursor: pointer;
  text-decoration: none;
  font: inherit;
}
.brochure-toolbar button[data-pdf-download] {
  font-weight: 700;
  border-color: rgba(201, 162, 39, 0.75);
  background: rgba(201, 162, 39, 0.18);
}
.brochure-toolbar button[data-pdf-download]:disabled {
  opacity: 0.72;
  cursor: wait;
}
.brochure-toolbar .toolbar-title {
  color: #e8d5a3;
  font-weight: 700;
  border: none;
  padding-left: 0;
}
.brochure-toolbar .toolbar-lang--active {
  color: #1a2421;
  background: rgba(201, 162, 39, 0.92);
  border-color: rgba(201, 162, 39, 0.95);
  font-weight: 700;
  cursor: default;
}
.brochure-toolbar .toolbar-lang {
  font-size: 11px;
  padding: 2px 6px;
  letter-spacing: 0.02em;
}

/* ── V12: Rahmen & Cover ── */
.sheet--framed .sheet-frame {
  border: 1px solid rgba(201, 162, 39, 0.55);
  border-radius: 4px;
  box-shadow: inset 0 0 0 0.6mm rgba(250, 248, 244, 0.85);
}

.sheet-frame--flush {
  padding: 4mm 5mm 5mm;
}

.mast--cover {
  justify-content: flex-start;
  margin-bottom: 1mm;
}
.mast--minimal {
  min-height: 0;
  padding-bottom: 0;
}
.mast__dove {
  filter: drop-shadow(0 1px 1px rgba(26, 36, 33, 0.12));
}
.brand--cover {
  font-size: 8.5pt;
  letter-spacing: 0.22em;
}

.display {
  font-family: var(--font-display);
  font-size: var(--text-display);
  line-height: var(--lh-tight);
  margin: 0;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.display-sub {
  margin: 2.5mm 0 0;
  font-family: var(--font-display);
  font-size: var(--text-display-sub);
  line-height: 1.22;
  font-weight: 700;
  letter-spacing: -0.015em;
  color: var(--green);
}
.kicker-cover {
  margin: 3mm 0 0;
  font-family: var(--font-display);
  font-size: var(--text-lead);
  font-weight: 700;
  line-height: var(--lh-lead);
  color: var(--green);
}

.hero-bleed {
  position: relative;
  margin: 0;
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}
.hero-bleed img {
  width: 100%;
  height: var(--hero-cover-h);
  object-fit: cover;
  object-position: center 38%;
  display: block;
}
/* Nur auf Hero-Bleed — niemals auf Cover (sonst Überlappung) */
.hero-bleed .title-band {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: 5mm 5.5mm 4.5mm;
  background: linear-gradient(0deg, var(--title-band-bg) 70%, rgba(250, 248, 244, 0));
  border-top: 1px solid rgba(201, 162, 39, 0.35);
}

.benefit-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--gap);
}
.card-benefit {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1.5mm;
  align-items: center;
  padding: 2.2mm 2mm;
  border-radius: var(--radius);
  background: var(--gold-bg);
  border: 1px solid rgba(201, 162, 39, 0.45);
  border-top: 2px solid var(--gold-line);
  font-size: var(--text-body);
  font-weight: 600;
  line-height: 1.35;
  text-align: left;
  box-shadow: var(--shadow-card);
}
.card-benefit__ico {
  display: grid;
  place-items: center;
  width: 5mm;
  height: 5mm;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
  font-size: 7pt;
  font-weight: 800;
}

.body--cover-lead {
  padding: 0 1mm;
}

.fun-fact--cover {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2.5mm;
  align-items: center;
  padding: 2.2mm 2.8mm;
  border-left: 3px solid var(--gold-line);
  background: var(--gold-bg);
  border-radius: var(--radius);
  max-width: 88%;
  justify-self: end;
}
.fun-fact--cover strong {
  font-size: 9pt;
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.fun-fact--cover p {
  margin: 0;
  font-size: 10pt;
  line-height: 1.35;
}

.qr {
  width: 20mm;
  height: 20mm;
  border: 1px dashed var(--gold-line);
  border-radius: 5px;
  display: grid;
  place-items: center;
  font-size: 8pt;
  color: var(--muted);
  flex-shrink: 0;
}
.cta-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--gap);
}
.cta-row .cell {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2mm;
  align-items: center;
}

/* ── V12: Seite 3 Taubenhort (textfreies Key Visual + HTML-Overlay) ── */
.sheet--loesung {
  /* S.3 — kompakte Kästen, Höhe folgt dem Inhalt */
  --ploesung-pad-y: 2mm;
  --ploesung-pad-x: 3mm;
  --ploesung-pad-bottom: 2.2mm;
  --ploesung-list-gap: 1.1mm;
  --ploesung-title-gap: 1.2mm;
  --ploesung-floor-w: 36%;
  --ploesung-floor-min-w: 34mm;
  --ploesung-paper: #ebe6dc;
  /* Olivgrün + Chino-Beige — feste Hex-Werte (= Browser color-mix, ohne Export-Abweichung) */
  --ploesung-olive: #3f5248;
  --ploesung-olive-solid: #4b5c52;
  --ploesung-olive-border: rgba(255, 255, 252, 0.22);
  --ploesung-beige: #9a8468;
  --ploesung-beige-solid: #a08b70;
  --ploesung-beige-border: rgba(255, 255, 252, 0.2);
  --ploesung-on-panel: #fffef9;
  --ploesung-on-panel-muted: rgba(255, 254, 248, 0.9);
  --ploesung-stat-bg: #1f1612;
  --ploesung-stat-solid: #2b221e;
  --ploesung-stat-yellow: #f2d24a;
  --ploesung-stat-text: #e8dcc8;
  position: relative;
  isolation: isolate;
  background: #0f1418;
}

.sheet--loesung > .loesung-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
}

.sheet--loesung .loesung-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
  display: block;
}

.sheet-frame--loesung-full {
  position: relative;
  z-index: 1;
  height: 100%;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
}

.sheet--loesung.sheet--framed .sheet-frame--loesung-full {
  border: none;
  box-shadow: none;
}

.sheet--loesung .sheet-body--loesung {
  display: block;
  min-height: 0;
  padding: 0;
  height: 100%;
}

.print-loesung {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 297mm;
  border-radius: 0;
  overflow: hidden;
  background: transparent;
  box-shadow: none;
}

.print-loesung__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.ploesung-panel {
  position: absolute;
  margin: 0;
  border-radius: 5px;
  box-shadow: 0 1.5mm 5mm rgba(12, 22, 30, 0.28);
  box-sizing: border-box;
  overflow: hidden;
}

/* S.3 Überschrift — wie S.2 (page-head), ohne Kasten */
.print-loesung__overlay .page-head--loesung {
  position: absolute;
  top: 3mm;
  left: 5mm;
  right: 5mm;
  z-index: 2;
  margin: 0;
  padding: 0 0 2.5mm;
  text-align: left;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  border-bottom: 0.6mm solid var(--gold-line);
}

.print-loesung__overlay .page-head--loesung .h-lg {
  font-size: 40.8pt;
  line-height: 1.12;
  letter-spacing: -0.015em;
  font-weight: 800;
  color: var(--ink);
  text-shadow:
    0 0.25mm 0.6mm rgba(255, 252, 248, 0.95),
    0 0.8mm 2mm rgba(255, 252, 248, 0.75);
}

.print-loesung__overlay .page-head--loesung .lead {
  margin: 1.8mm 0 0;
  font-size: 14pt;
  font-weight: 500;
  line-height: 1.2;
  white-space: nowrap;
  color: var(--ink-mid);
  text-shadow:
    0 0.2mm 0.5mm rgba(255, 252, 248, 0.9),
    0 0.6mm 1.5mm rgba(255, 252, 248, 0.65);
}

.ploesung-chip {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 4.5mm;
  height: 4.5mm;
  border-radius: 3px;
  font-size: 7pt;
  font-weight: 400;
  color: var(--ploesung-on-panel);
  background: rgba(255, 255, 252, 0.18);
}

.ploesung-chip--gold {
  width: 5mm;
  height: 5mm;
  margin: 0 auto 0.8mm;
  color: var(--ploesung-on-panel);
  background: rgba(255, 255, 252, 0.22);
}

.ploesung-chip--sun {
  color: var(--ploesung-on-panel);
  background: rgba(255, 255, 252, 0.18);
}

.ploesung-chip--gear {
  color: var(--ploesung-on-panel);
  background: rgba(255, 255, 252, 0.18);
}

.ploesung-panel--green {
  max-width: 40%;
  padding: var(--ploesung-pad-y) var(--ploesung-pad-x) var(--ploesung-pad-bottom);
  color: var(--ploesung-on-panel);
  background: var(--ploesung-olive-solid, var(--ploesung-olive));
  border: 1px solid var(--ploesung-olive-border);
}

.ploesung-panel--light {
  max-width: 40%;
  padding: var(--ploesung-pad-y) var(--ploesung-pad-x) var(--ploesung-pad-bottom);
  color: var(--ploesung-on-panel);
  background: var(--ploesung-beige-solid, var(--ploesung-beige));
  border: 1px solid var(--ploesung-beige-border);
}

/* S.3 — Obergeschoss + Dachgeschoss: kompakt, inhaltsbasiert */
.ploesung-panel--floor {
  display: flex;
  flex-direction: column;
  width: auto;
  min-width: 34mm;
  max-width: 36%;
  min-height: 0;
  height: auto;
  padding: var(--ploesung-pad-y) var(--ploesung-pad-x) var(--ploesung-pad-bottom);
}

.ploesung-panel--floor .ploesung-panel__label {
  font-weight: 800;
  line-height: 1.1;
}

.ploesung-panel--og2 {
  top: 14%;
  left: 2mm;
}

/* Dachgeschoss + Obergeschoss: gleiche Breite, Höhe = Inhalt */
.ploesung-panel--og1.ploesung-panel--floor,
.ploesung-panel--og2.ploesung-panel--floor {
  width: var(--ploesung-floor-w);
  min-width: var(--ploesung-floor-min-w);
  max-width: var(--ploesung-floor-w);
  height: auto;
  min-height: 0;
  max-height: none;
  padding: var(--ploesung-pad-y) var(--ploesung-pad-x) var(--ploesung-pad-bottom);
  box-sizing: border-box;
}

.ploesung-panel--og2.ploesung-panel--floor .ploesung-panel__label,
.ploesung-panel--og2.ploesung-panel--floor .ploesung-points,
.ploesung-panel--og2.ploesung-panel--floor .ploesung-points li {
  color: var(--ploesung-on-panel);
}

.ploesung-panel--og1 {
  top: 14%;
  right: 2mm;
  left: auto;
  color: var(--ink);
}

.ploesung-panel--og1 .ploesung-panel__label {
  font-weight: 800;
  color: var(--ink);
}

.ploesung-panel--og1 .ploesung-points,
.ploesung-panel--og1 .ploesung-points li {
  color: var(--ink);
}

.ploesung-panel--erd {
  display: flex;
  flex-direction: column;
  bottom: 22%;
  left: 2mm;
  width: auto;
  min-width: 38mm;
  max-width: 36%;
  min-height: 60mm;
  padding: var(--ploesung-pad-y) var(--ploesung-pad-x) var(--ploesung-pad-bottom);
}

.ploesung-panel--erd .ploesung-panel__head {
  flex-direction: column;
  align-items: flex-start;
  gap: 0.4mm;
  margin-bottom: var(--ploesung-title-gap);
  flex-shrink: 0;
}

.ploesung-panel--erd .ploesung-panel__label {
  font-weight: 800;
  line-height: 1.1;
}

.ploesung-panel--erd .ploesung-panel__sub {
  margin: 0;
  font-size: calc(var(--ploesung-type) * 0.9);
  line-height: 1.22;
}

.ploesung-panel--stat {
  top: 50%;
  right: 2mm;
  left: auto;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: space-evenly;
  width: auto;
  min-width: 46mm;
  max-width: 50mm;
  min-height: 62mm;
  padding: 3.4mm 2.9mm 3.6mm;
  text-align: center;
  text-transform: uppercase;
  color: var(--ploesung-on-panel);
  background: var(--ploesung-stat-solid);
  border: 1px solid rgba(255, 255, 252, 0.12);
}

.ploesung-panel--brings {
  display: flex;
  flex-direction: column;
  bottom: 2mm;
  left: 2mm;
  right: auto;
  width: auto;
  min-width: 41mm;
  max-width: 40%;
  min-height: 53mm;
  padding: var(--ploesung-pad-y) var(--ploesung-pad-x) var(--ploesung-pad-bottom);
  color: var(--ploesung-on-panel);
  background: var(--ploesung-beige-solid);
  border: 1px solid var(--ploesung-beige-border);
}

.ploesung-panel--floor .ploesung-panel__head {
  flex-shrink: 0;
  margin-bottom: var(--ploesung-title-gap);
}

.ploesung-panel__head {
  display: flex;
  align-items: flex-start;
  gap: 1.4mm;
  margin-bottom: var(--ploesung-title-gap);
}

.ploesung-panel__label {
  margin: 0;
  font-size: var(--ploesung-title);
  font-weight: 400;
  line-height: 1.2;
  color: var(--ploesung-on-panel);
}

.ploesung-panel__sub {
  margin: 0.3mm 0 0;
  font-size: calc(var(--ploesung-type) * 0.94);
  font-weight: 400;
  line-height: 1.25;
  color: var(--ploesung-on-panel-muted);
}

.ploesung-points {
  margin: 0;
  padding: 0 0 0 2.5mm;
  list-style: disc;
  font-size: var(--ploesung-body);
  font-weight: 400;
  line-height: 1.38;
  color: var(--ploesung-on-panel);
}

.ploesung-points li + li {
  margin-top: 0.6mm;
}

.sheet--loesung .ploesung-points--emoji,
.sheet--loesung .ploesung-benefits--emoji {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}

.sheet--loesung .ploesung-panel--floor .ploesung-points--emoji {
  flex: 0 1 auto;
  min-height: auto;
  justify-content: flex-start;
  gap: var(--ploesung-list-gap);
}

.sheet--loesung .ploesung-benefits--emoji {
  justify-content: space-between;
}

.ploesung-points--emoji {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.ploesung-points--emoji li {
  display: flex;
  align-items: flex-start;
  gap: 1.7mm;
}

.ploesung-points--emoji li + li {
  margin-top: 0;
}

.ploesung-emoji {
  flex-shrink: 0;
  width: 1.35em;
  font-size: 1.12em;
  line-height: 1.38;
  text-align: center;
}

.ploesung-point-text {
  flex: 1;
  min-width: 0;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: manual;
}

.ploesung-panel--og1.ploesung-panel--floor .ploesung-points,
.ploesung-panel--og2.ploesung-panel--floor .ploesung-points {
  font-size: var(--ploesung-body);
  line-height: 1.36;
}

.ploesung-panel--og1.ploesung-panel--floor .ploesung-point-text,
.ploesung-panel--og2.ploesung-panel--floor .ploesung-point-text {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.ploesung-panel--og1.ploesung-panel--floor .ploesung-panel__label,
.ploesung-panel--og2.ploesung-panel--floor .ploesung-panel__label {
  font-size: calc(var(--ploesung-title) * 0.96);
  line-height: 1.08;
}

.sheet--loesung .ploesung-point-text strong,
.sheet--loesung .ploesung-panel__sub strong {
  font-weight: 700;
}

.sheet--loesung .ploesung-panel--green .ploesung-point-text strong,
.sheet--loesung .ploesung-panel--green .ploesung-panel__sub strong,
.sheet--loesung .ploesung-panel--brings .ploesung-point-text strong {
  color: var(--ploesung-on-panel);
}

.sheet--loesung .ploesung-stat__text strong {
  font-weight: 800;
  color: var(--ploesung-stat-text);
}

.ploesung-panel--og1 .ploesung-point-text strong {
  color: var(--ink);
}

.flyer-text-only .sheet--loesung .ploesung-point-text strong,
.flyer-text-only .sheet--loesung .ploesung-panel__sub strong {
  font-weight: 700;
}

.flyer-text-only .sheet--loesung .ploesung-stat__text strong {
  font-weight: 800;
}

.ploesung-stat__num {
  margin: 0;
  flex-shrink: 0;
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0;
  font-family: var(--font-display);
  font-size: 60pt;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  color: var(--ploesung-stat-yellow);
}

.ploesung-stat__pct {
  margin-left: -0.12em;
}

.ploesung-stat__text {
  margin: 0;
  width: 100%;
  max-width: none;
  font-size: 16.8pt;
  font-weight: 700;
  line-height: 1.1;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  text-wrap: balance;
  color: var(--ploesung-stat-text);
}

.ploesung-brings__title {
  margin: 0 0 var(--ploesung-title-gap);
  flex-shrink: 0;
  font-size: var(--ploesung-title);
  font-weight: 800;
  line-height: 1.1;
  color: var(--ploesung-on-panel);
}

.ploesung-benefits {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: var(--ploesung-body);
  font-weight: 400;
  line-height: 1.28;
  color: var(--ploesung-on-panel);
}

.ploesung-benefits--emoji {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
  padding: 0;
}

.ploesung-benefits--emoji li {
  display: flex;
  align-items: flex-start;
  gap: 1.7mm;
}

.ploesung-benefits--emoji li + li {
  margin-top: 0;
}

.mast-foot--overlay {
  margin-top: 1.5mm;
}

/* ── Shared page modules ── */
.mast--page { justify-content: flex-end; }
.page-head { margin-bottom: 3mm; }
.page-head .h-lg { margin-bottom: 1.5mm; }
.page-head .lead { font-weight: 600; }
.page-head--green .h-lg { color: var(--green); }
.page-head--compact .lead { margin-top: 1mm; }
.page-teaser {
  margin: 0;
  text-align: right;
  color: var(--gold);
  font-weight: 700;
  font-size: var(--text-body);
}
.body--center { text-align: center; margin: 0; }

.img-frame {
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  border: 1px solid rgba(27, 94, 59, 0.12);
}
.img-frame img {
  width: 100%;
  display: block;
  object-fit: cover;
}
.img-frame--tall { height: 72mm; }
.img-frame--tall img { height: 100%; }
.img-frame--banner { height: 44mm; }
.img-frame--banner img { height: 100%; object-position: center 40%; }
.img-frame--strip { height: 34mm; }
.img-frame--strip img { height: 100%; }
.img-frame--compare { height: 38mm; }
.img-frame--compare img { height: 100%; }
.img-frame--vision { height: 42mm; }
.img-frame--vision img { height: 100%; }
.img-frame--recht { height: 100%; min-height: 0; }
.img-frame--recht img { height: 100%; min-height: 88mm; }

.quote-band {
  margin: 0;
  padding: 2.5mm 3mm;
  text-align: center;
  font-weight: 700;
  font-size: var(--text-body);
  color: var(--gold);
  border-radius: var(--radius);
  background: var(--gold-bg);
  border: 1px solid var(--gold-border);
}
.quote-band--solid {
  font-size: var(--text-lead);
  font-weight: 700;
  color: var(--ink);
  background: linear-gradient(120deg, var(--gold-bg), var(--cream));
}

/* Seite 2 — Problem: volle Seitenhöhe, Überschrift unverändert */
.sheet-body--problem {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) minmax(64mm, 66mm);
  gap: 2mm;
  align-content: stretch;
  min-height: 100%;
  height: 100%;
}

.page-head--problem {
  flex-shrink: 0;
}

.page-head--problem .h-lg {
  font-size: 34pt;
}

.problem-stage {
  display: flex;
  flex-direction: column;
  min-height: 0;
  flex: 1 1 auto;
}

.problem-facts-grid {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 2mm;
  width: 100%;
  height: 100%;
  min-height: 0;
  flex: 1 1 auto;
}

/* Pride-Regenbogen (6 Streifen) — deckend über Papier (#f7f3eb), export-sicher */
.sheet--problem,
.sheet--page9-combined {
  --pride-paper: #f7f3eb;
  --pride-red: #e40303;
  --pride-orange: #ff8c00;
  --pride-yellow: #ffed00;
  --pride-green: #008026;
  --pride-blue: #004dff;
  --pride-violet: #750787;
  --pride-red-tile: color-mix(in srgb, var(--pride-red) 58%, var(--pride-paper));
  --pride-red-tile-soft: color-mix(in srgb, var(--pride-red) 48%, var(--pride-paper));
  --pride-orange-tile: color-mix(in srgb, var(--pride-orange) 58%, var(--pride-paper));
  --pride-orange-tile-soft: color-mix(in srgb, var(--pride-orange) 48%, var(--pride-paper));
  --pride-yellow-tile: #f0c830;
  --pride-yellow-tile-soft: #e5b820;
  --pride-green-tile: color-mix(in srgb, var(--pride-green) 56%, var(--pride-paper));
  --pride-green-tile-soft: color-mix(in srgb, var(--pride-green) 46%, var(--pride-paper));
  --pride-blue-tile: color-mix(in srgb, var(--pride-blue) 54%, var(--pride-paper));
  --pride-blue-tile-soft: color-mix(in srgb, var(--pride-blue) 44%, var(--pride-paper));
  --pride-violet-tile: color-mix(in srgb, var(--pride-violet) 54%, var(--pride-paper));
  --pride-violet-tile-soft: color-mix(in srgb, var(--pride-violet) 44%, var(--pride-paper));
}

.problem-fact-tile {
  display: flex;
  flex-direction: column;
  margin: 0;
  min-height: 0;
  padding: 1.4mm;
  gap: 1.2mm;
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  border: 1px solid rgba(255, 255, 255, 0.35);
  print-color-adjust: exact;
}

.problem-fact-tile__text {
  flex: 0 0 auto;
  display: block;
  margin: 0;
  padding: 1.2mm 1mm 0.4mm;
  font-size: 12.5pt;
  font-weight: 600;
  line-height: 1.22;
  color: #fffef9;
  background: transparent;
  border-bottom: none;
  min-height: calc(2 * 1.22em + 0.2mm);
  overflow: hidden;
  text-shadow: 0 0.15mm 0.45mm rgba(18, 24, 28, 0.42);
  print-color-adjust: exact;
}

.sheet--problem .problem-fact-tile__text,
.sheet--problem .problem-fact-tile__text .caption-line,
.sheet--problem .problem-fact-tile__text strong {
  color: #fffef9;
  text-shadow: 0 0.15mm 0.45mm rgba(18, 24, 28, 0.42);
}

.problem-fact-tile:nth-child(1) {
  background: linear-gradient(165deg, var(--pride-red-tile) 0%, var(--pride-red-tile-soft) 100%);
  border-color: color-mix(in srgb, var(--pride-red) 55%, var(--pride-paper));
}

.problem-fact-tile:nth-child(2) {
  background: linear-gradient(165deg, var(--pride-orange-tile) 0%, var(--pride-orange-tile-soft) 100%);
  border-color: color-mix(in srgb, var(--pride-orange) 55%, var(--pride-paper));
}

.problem-fact-tile:nth-child(3) {
  padding: 1mm;
  background: linear-gradient(165deg, var(--pride-yellow-tile) 0%, var(--pride-yellow-tile-soft) 100%);
  border-color: color-mix(in srgb, #ffc800 55%, var(--pride-paper));
}

.problem-fact-tile:nth-child(3) .problem-fact-tile__text,
.problem-fact-tile:nth-child(3) .problem-fact-tile__text .caption-line,
.problem-fact-tile:nth-child(3) .problem-fact-tile__text strong {
  color: #fffef9;
  font-size: 10.5pt;
  letter-spacing: -0.015em;
  text-shadow:
    0 0.2mm 0.55mm rgba(18, 24, 28, 0.72),
    0 0.45mm 1.1mm rgba(18, 24, 28, 0.48);
}

.problem-fact-tile:nth-child(3) .problem-fact-tile__text {
  padding-left: 0.4mm;
  padding-right: 0.4mm;
}

.problem-fact-tile:nth-child(4) {
  background: linear-gradient(165deg, var(--pride-green-tile) 0%, var(--pride-green-tile-soft) 100%);
  border-color: color-mix(in srgb, var(--pride-green) 52%, var(--pride-paper));
}

.problem-fact-tile:nth-child(5) {
  background: linear-gradient(165deg, var(--pride-blue-tile) 0%, var(--pride-blue-tile-soft) 100%);
  border-color: color-mix(in srgb, var(--pride-blue) 50%, var(--pride-paper));
}

.problem-fact-tile:nth-child(6) {
  background: linear-gradient(165deg, var(--pride-violet-tile) 0%, var(--pride-violet-tile-soft) 100%);
  border-color: color-mix(in srgb, var(--pride-violet) 50%, var(--pride-paper));
}

.sheet--problem .problem-fact-tile__text .caption-line {
  display: block;
  white-space: nowrap;
  hyphens: none;
  overflow-wrap: normal;
  word-break: keep-all;
}

.problem-fact-tile__text strong {
  color: inherit;
  font-weight: 800;
}

.problem-fact-tile__media {
  flex: 1 1 0;
  min-height: 0;
  overflow: hidden;
  border-radius: calc(var(--radius) - 0.8mm);
  box-shadow: 0 0.5mm 1.5mm rgba(18, 24, 28, 0.12);
}

.problem-fact-tile__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 17mm;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center center;
}

.problem-fact-tile:nth-child(1) .problem-fact-tile__media img {
  object-position: 50% 28%;
}

.problem-fact-tile:nth-child(2) .problem-fact-tile__media img {
  object-position: 58% 18%;
}

.problem-fact-tile:nth-child(3) .problem-fact-tile__media img {
  object-position: center 35%;
}

.problem-fact-tile:nth-child(4) .problem-fact-tile__media img {
  object-position: 50% 32%;
}

.problem-fact-tile:nth-child(5) .problem-fact-tile__media img {
  object-position: 50% 48%;
}

.problem-fact-tile:nth-child(6) .problem-fact-tile__media img {
  object-position: 48% 58%;
}

.caption-line {
  display: block;
  line-height: 1.26;
  white-space: nowrap;
}

.cell--timeline {
  background: var(--paper);
  border-left: 2px solid var(--gold-line);
}
.urgent-strip {
  padding: 2.2mm 2.5mm;
  border-radius: var(--radius);
  background: var(--urgent-bg);
  border: 1.5px solid var(--urgent-line);
  font-size: 10.5pt;
  font-weight: 600;
  line-height: 1.35;
}
.urgent-strip p { margin: 0; }
.urgent-strip p + p { margin-top: 1mm; }

/* Seite 2 — Lehrer-Taube, Klasse + HTML-Tafeltext */
.problem-lehrer-banner {
  flex-shrink: 0;
  margin: 0;
  padding: 0;
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--gold-border);
  box-shadow: var(--shadow-card);
  background: var(--paper);
  width: 100%;
  min-height: 64mm;
  height: 100%;
}

.problem-lehrer-banner__img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 64mm;
  object-fit: cover;
  object-position: center 42%;
}

/* Seite 4 — Spikes */
.sheet--spikes {
  --ploesung-paper: #f7f3eb;
  --ploesung-olive: #3f5248;
  --ploesung-olive-solid: #3d4f45;
  --ploesung-olive-border: rgba(255, 255, 252, 0.22);
  --ploesung-beige: #9a8468;
  --ploesung-beige-solid: #a08c72;
  --ploesung-beige-border: rgba(255, 255, 252, 0.2);
  --ploesung-on-panel: #fffef9;
  --ploesung-pad-y: 2.2mm;
  --ploesung-pad-x: 3.1mm;
  --ploesung-pad-bottom: 2.6mm;
  --ploesung-title-gap: 1.4mm;
  --ploesung-floor-h: 52mm;
}

.sheet-body--spikes {
  display: grid;
  gap: 2.5mm;
}

.sheet-body--spikes .spikes-panels {
  align-items: stretch;
}

.sheet-body--spikes .spikes-panel {
  position: static;
  display: flex;
  flex-direction: column;
  width: auto;
  min-width: 0;
  max-width: none;
  min-height: var(--ploesung-floor-h);
  height: 100%;
  max-height: none;
  margin: 0;
  padding: var(--ploesung-pad-y) var(--ploesung-pad-x) var(--ploesung-pad-bottom);
  box-shadow: 0 1.5mm 5mm rgba(12, 22, 30, 0.22);
}

.sheet-body--spikes .spikes-panel.ploesung-panel--green {
  background: var(--ploesung-olive-solid);
  border: 1px solid var(--ploesung-olive-border);
  color: var(--ploesung-on-panel);
}

.sheet-body--spikes .spikes-panel--beige.ploesung-panel--light {
  background: var(--ploesung-beige-solid);
  border: 1px solid var(--ploesung-beige-border);
}

.sheet-body--spikes .spikes-panel .ploesung-panel__label {
  margin: 0 0 var(--ploesung-title-gap);
  font-size: calc(var(--ploesung-title) * 0.9);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: 0.01em;
}

.sheet-body--spikes .spikes-panel.ploesung-panel--green .ploesung-panel__label {
  color: var(--ploesung-on-panel);
}

.sheet-body--spikes .spikes-panel--beige .ploesung-panel__label,
.sheet-body--spikes .spikes-panel--beige .ploesung-points,
.sheet-body--spikes .spikes-panel--beige .ploesung-points li,
.sheet-body--spikes .spikes-panel--beige .ploesung-point-text {
  color: var(--ink);
}

.sheet-body--spikes .spikes-panel .ploesung-points--emoji {
  flex: 1;
  justify-content: space-between;
}

.sheet-body--spikes .spikes-panel--beige .ploesung-point-text strong {
  color: var(--ink);
}

.sheet-body--spikes .spikes-panel.ploesung-panel--green .ploesung-point-text strong,
.sheet-body--spikes .spikes-panel.ploesung-panel--green .ploesung-panel__sub strong {
  color: var(--ploesung-on-panel);
}

.sheet-body--spikes .page-head--compact {
  margin-bottom: 0;
}

.sheet-body--spikes .page-head--compact .h-lg {
  margin-bottom: 0;
}

.compare-hero {
  position: relative;
  margin: 0;
}
.compare-hero img {
  object-position: center 42%;
}

/* S.4 — Vergleichsbild vollständig (kein Cover-Crop, natürliches Seitenverhältnis) */
.sheet-body--spikes .compare-hero--full.img-frame--banner {
  margin-top: -3mm;
  height: auto;
  aspect-ratio: 720 / 624;
  line-height: 0;
  background: #e8e4dc;
}

.sheet-body--spikes .compare-hero--full.img-frame--banner img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  object-position: center center;
}

.sheet-body--spikes .overlay-caption--cinema.compare-hero__caption {
  font-size: calc(var(--text-body) * 1.04);
  font-weight: 700;
  line-height: 1.38;
}

.sheet-body--spikes .spikes-panel .ploesung-points {
  font-size: calc(var(--ploesung-body) * 1.03);
  line-height: 1.42;
}

.sheet-body--spikes .spikes-panel.ploesung-panel--green .ploesung-points,
.sheet-body--spikes .spikes-panel.ploesung-panel--green .ploesung-point-text {
  color: var(--ploesung-on-panel);
}
.compare-hero__caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  text-align: center;
}
.compare-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--gap);
}

.compare-row--single {
  grid-template-columns: 1fr;
  justify-items: end;
}

.compare-row--single .compare-card--visual {
  width: 100%;
  max-width: 52%;
}
.compare-card { margin: 0; }
.compare-card--visual {
  position: relative;
  padding: 2mm;
  border-radius: var(--radius);
  background: var(--paper);
  border: 1px solid var(--green-border);
  box-shadow: var(--shadow-card);
}
.compare-card__text {
  margin: 1.5mm 0 0;
}
.compare-card__label {
  display: inline-block;
  margin-bottom: 1mm;
  padding: 0.6mm 2mm;
  border-radius: 4px;
  font-size: 8.5pt;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.compare-card__label--before {
  background: var(--urgent-bg);
  color: #8b3030;
}
.compare-card__label--after {
  background: var(--green-bg);
  color: var(--green);
}

/* ── Overlay stack (Canva-style: Bild + Panel, kein Vollflächen-Scrim) ── */
.overlay-stack {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.overlay-stack--card {
  min-height: 44mm;
  border-radius: var(--radius);
  border: 1px solid rgba(27, 94, 59, 0.14);
  box-shadow: var(--shadow-card);
  background: #e8e4dc;
}

.overlay-stack__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}

.overlay-stack__scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.overlay-stack__scrim--none {
  display: none;
}

.overlay-stack__scrim--band-bottom {
  background: linear-gradient(
    0deg,
    rgba(26, 36, 33, 0.55) 0%,
    rgba(26, 36, 33, 0.12) 28%,
    transparent 52%
  );
}

.overlay-panel {
  position: relative;
  z-index: 2;
  border-radius: 4px;
  box-shadow: 0 0.8mm 2.5mm rgba(26, 36, 33, 0.12);
}

.overlay-panel--top {
  margin: 2mm;
  padding: 2mm 2.5mm;
  background: rgba(255, 255, 255, 0.93);
}

.overlay-panel--gold {
  background: rgba(255, 252, 245, 0.94);
}

.overlay-stack--judaism .overlay-stack__bg {
  background-image: url(/media-opt/deco/faith/bg-judaism.jpg);
  background-position: center 72%;
}

.overlay-stack--christianity .overlay-stack__bg {
  background-image: url(/media-opt/deco/faith/bg-christianity.jpg);
  background-position: center 38%;
}

.overlay-stack--islam .overlay-stack__bg {
  background-image: url(/media-opt/deco/faith/bg-islam.jpg);
  background-position: center 52%;
}

/* Caption im Bild — Designer-Tricks (Canva: Lift vs. Cinema) */
.overlay-caption {
  position: absolute;
  z-index: 2;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  line-height: 1.36;
  font-weight: 600;
  font-size: var(--text-body);
}

/* Helles Foto: opakes Lift-Band unten, dunkle Schrift */
.overlay-caption--lift {
  color: var(--ink);
  padding: 1.8mm 2.2mm 2mm;
  background: linear-gradient(
    0deg,
    rgba(255, 255, 255, 0.98) 0%,
    rgba(255, 255, 255, 0.98) 46%,
    rgba(255, 255, 255, 0.55) 68%,
    transparent 100%
  );
  box-shadow: 0 -0.5mm 2mm rgba(26, 36, 33, 0.08);
}

.overlay-caption--lift strong {
  color: var(--green);
}

/* Dunkles Foto: Cinema-Scrim + helle Schrift (nie Schwarz auf Foto) */
.overlay-caption--cinema {
  color: #fffef8;
  padding: 2mm 2.2mm 2.2mm;
  background: linear-gradient(
    0deg,
    rgba(18, 28, 24, 0.94) 0%,
    rgba(18, 28, 24, 0.82) 50%,
    rgba(18, 28, 24, 0.25) 78%,
    transparent 100%
  );
  text-shadow:
    0 0.2mm 0.6mm rgba(0, 0, 0, 0.65),
    0 0.8mm 1.6mm rgba(0, 0, 0, 0.35);
}

.overlay-caption--cinema strong {
  color: #f5e6a8;
  font-weight: 700;
}

/* Canva Service-Flyer: Marken-Panel (grün, weiße Schrift) */
.overlay-caption--brand {
  color: #fffef8;
  padding: 2mm 2.2mm 2.2mm;
  background: linear-gradient(
    0deg,
    rgba(27, 94, 59, 0.97) 0%,
    rgba(27, 94, 59, 0.97) 48%,
    rgba(27, 94, 59, 0.35) 72%,
    transparent 100%
  );
  text-shadow: 0 0.2mm 0.5mm rgba(0, 0, 0, 0.35);
}

.overlay-caption--brand strong {
  color: #f5e6a8;
  font-weight: 700;
}

.sheet--problem .issue-tile-print__caption {
  display: none;
}

.flyer-text-only .overlay-stack__bg,
.flyer-text-only .overlay-stack__scrim {
  display: block !important;
}

.stack--tight { gap: 1.5mm; }

/* ── Seite 5 · Heiliges Tier (Poster 1:1, Referenz p05) ── */
.sheet.sheet--faith-poster {
  overflow: visible;
}

.sheet--faith-poster {
  --faith-poster-cream: #f3ece2;
  --faith-poster-green: #1a3c2e;
  --faith-poster-green-head: #1f5c42;
  --faith-poster-blue: #2a5f8f;
  --faith-poster-gold-head: #9a8468;
  --faith-poster-foot: #6e5a44;
  --faith-poster-foot-gold-1: #4a3d2f;
  --faith-poster-foot-gold-2: #8b6b42;
  --faith-poster-foot-gold-3: #c9a66e;
  --faith-poster-foot-gold-4: #e8d5ad;
  --faith-poster-foot-gold-5: #9a7d52;
  --faith-poster-ink: #1c2526;
  background: var(--faith-poster-cream);
}

.sheet--faith-poster .sheet-frame--faith-full {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 297mm;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
}

.sheet--faith-poster .sheet-body--faith-poster {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  padding: 11mm 12mm 0;
  padding-top: 12mm;
}

body.flyer-wow .sheet--faith-poster .page-head--faith {
  border-bottom: none;
  padding-bottom: 1mm;
}

.print-faith {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 100%;
  width: 100%;
  gap: 0;
  padding-bottom: 8mm;
  overflow: visible;
  background: var(--faith-poster-cream);
}

/* S.5 — gleiche Überschriften-Logik wie S.2–S.8 (page-head + h-lg + gold-word + lead) */
.sheet--faith-poster .page-head--faith {
  flex: 0 0 auto;
  margin-bottom: 1.5mm;
  padding-top: 0;
  text-align: left;
}

.sheet--faith-poster .page-head--faith .h-lg {
  color: var(--green);
}

.sheet--faith-poster .page-head--faith .lead {
  margin-top: 1mm;
}

.sheet--faith-poster .page-head--faith .lead--faith-merged {
  margin-top: 1.2mm;
  font-size: 16pt;
  line-height: 1.3;
}

.sheet--faith-poster .page-head--faith .lead--faith-merged .lead-line {
  display: block;
}

.sheet--faith-poster .page-head--faith .lead--faith-merged .lead-line + .lead-line {
  margin-top: 0.2mm;
  text-wrap: pretty;
  overflow-wrap: break-word;
}

.sheet--faith-poster .page-head--faith .lead--faith-merged .faith-poster__accent-num {
  display: inline;
  white-space: nowrap;
}

/* Hero — vollständig, Arche unbeschnitten (contain, keine feste Crop-Höhe) */
.faith-poster__hero-img {
  flex: 0 0 auto;
  display: block;
  width: calc(100% + 2 * var(--pad-inline));
  max-width: none;
  height: auto;
  max-height: 78mm;
  margin: 0 calc(-1 * var(--pad-inline)) 1mm;
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
  object-fit: contain;
  object-position: center center;
}

.faith-poster__cols {
  position: relative;
  z-index: 2;
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.2mm;
  align-items: stretch;
  padding: 0 0 1mm;
  background: transparent;
}

.faith-poster__col {
  display: flex;
  flex-direction: column;
  height: 100%;
  margin: 0;
  border-radius: 5px;
  overflow: hidden;
  background: #fffef9;
  border: 1px solid rgba(26, 36, 33, 0.1);
  box-shadow: 0 0.8mm 2.2mm rgba(26, 36, 33, 0.08);
  isolation: isolate;
}

.faith-poster__col-head {
  margin: 0;
  padding: 2mm 2.5mm;
  font-family: var(--font-display);
  font-size: 12.5pt;
  font-weight: 800;
  line-height: 1.15;
  text-align: center;
  color: #fffef9;
}

.faith-poster__col--judaism .faith-poster__col-head {
  background: var(--faith-poster-green-head);
}

.faith-poster__col--christianity .faith-poster__col-head {
  background: var(--faith-poster-blue);
}

.faith-poster__col--islam .faith-poster__col-head {
  background: var(--faith-poster-gold-head);
  color: #fffef9;
}

.faith-poster__list {
  flex: 1 1 auto;
  margin: 0;
  padding: 2.2mm 2.4mm 2.2mm 4.2mm;
  list-style: disc;
  font-size: 11.5pt;
  font-weight: 500;
  line-height: 1.32;
  color: var(--faith-poster-ink);
  background: #fffef9;
}

.faith-poster__list li + li {
  margin-top: 1.2mm;
}

.faith-poster__section-title {
  flex: 0 0 auto;
  position: relative;
  z-index: 3;
  margin: 2mm 0 2.5mm;
  padding: 0 2mm;
  text-align: center;
  color: var(--faith-poster-ink);
  background: transparent;
}

.faith-poster__accent-num {
  color: #8a6b42;
  font-weight: 800;
}

.faith-poster__closing {
  position: relative;
  flex: 0 0 auto;
  width: calc(100% + 2 * var(--pad-inline));
  height: calc(288px + 18mm);
  margin: auto calc(-1 * var(--pad-inline)) 0;
  transform: translateY(-9mm);
  overflow: visible;
}

.faith-poster__foot {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 18mm;
  margin: 0;
  padding: 4mm 5mm 4.2mm;
  text-align: center;
  color: #fffef9;
  border-top: 0.35mm solid rgba(232, 213, 173, 0.55);
  background: linear-gradient(
    95deg,
    var(--faith-poster-foot-gold-1) 0%,
    var(--faith-poster-foot-gold-2) 18%,
    var(--faith-poster-foot-gold-3) 42%,
    var(--faith-poster-foot-gold-4) 62%,
    var(--faith-poster-foot-gold-3) 78%,
    var(--faith-poster-foot-gold-5) 100%
  );
  box-shadow:
    inset 0 0.8mm 1.6mm rgba(255, 254, 249, 0.14),
    0 0.6mm 1.8mm rgba(74, 61, 47, 0.18);
}

.faith-poster__foot::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(255, 254, 249, 0.1) 0%,
    transparent 38%,
    rgba(58, 46, 34, 0.08) 100%
  );
}

.faith-poster__dove-front {
  position: absolute;
  left: 50%;
  bottom: 20mm;
  z-index: 4;
  display: block;
  width: 585px;
  height: 288px;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  object-fit: none;
  object-position: center bottom;
  transform: translateX(-50%);
  transform-origin: center bottom;
  pointer-events: none;
}

.faith-poster__foot p {
  position: relative;
  z-index: 6;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.7mm;
  width: 100%;
  max-width: none;
  margin: 0;
  font-weight: 700;
  letter-spacing: 0.012em;
  text-shadow: 0 0.2mm 0.65mm rgba(42, 32, 22, 0.45);
}

.faith-poster__foot-line {
  display: block;
  text-wrap: balance;
  overflow-wrap: break-word;
  line-height: 1.18;
}

.faith-poster__foot-line:first-child {
  font-size: 12.6pt;
}

.faith-poster__foot-line:last-child {
  font-size: 14pt;
}

/* Seite 6 — So wird es konkret (Picasso + Text) */
.sheet-body--stadt {
  display: grid;
  gap: 2.2mm;
  grid-template-rows: auto auto minmax(0, 1fr);
}

.stadt-stack {
  display: flex;
  flex-direction: column;
  min-height: 0;
  gap: 7mm;
}

.stadt-picasso {
  margin: 0;
  padding: 1.5mm 2mm;
  text-align: center;
  background: linear-gradient(180deg, #f8f4ed 0%, #efe6d8 100%);
  border: 1px solid rgba(201, 162, 39, 0.22);
  border-radius: var(--radius);
}

.stadt-picasso img {
  display: block;
  width: 100%;
  max-height: 34mm;
  margin: 0 auto;
  object-fit: contain;
  object-position: center;
}

.sheet--stadt .stadt-picasso img {
  max-height: 30mm;
}

.stadt-picasso figcaption {
  margin: 1.2mm 0 0;
  font-size: 7.2pt;
  font-weight: 500;
  line-height: 1.32;
  color: var(--muted);
}

.stadt-picasso figcaption em {
  font-style: italic;
}

.stadt-list {
  display: flex;
  flex-direction: column;
  gap: 2.6mm;
  flex: 1;
  min-height: 0;
  margin: 0;
  padding: 0;
  align-self: start;
}

.stadt-block {
  margin: 0;
  padding: 2.1mm 3mm 2.3mm;
  border-radius: var(--radius);
  border: 1px solid transparent;
  print-color-adjust: exact;
}

/* Farbcodierung wie Seite 2 (Kacheln 3, 4, 6) */
.stadt-block--gold {
  background: linear-gradient(165deg, rgba(255, 200, 0, 0.2) 0%, rgba(255, 180, 0, 0.1) 100%);
  border-color: rgba(255, 200, 0, 0.45);
}

.stadt-block--gold .stadt-block__title {
  color: #6b5200;
}

.stadt-block--green {
  background: linear-gradient(165deg, rgba(0, 128, 38, 0.18) 0%, rgba(0, 128, 38, 0.08) 100%);
  border-color: rgba(0, 128, 38, 0.4);
}

.stadt-block--green .stadt-block__title {
  color: #005a20;
}

.stadt-block--violet {
  background: linear-gradient(165deg, rgba(117, 7, 135, 0.18) 0%, rgba(117, 7, 135, 0.08) 100%);
  border-color: rgba(117, 7, 135, 0.38);
  margin-bottom: 0;
}

.stadt-block--violet .stadt-block__title {
  color: #4a0f56;
}

.stadt-block__title {
  margin: 0 0 var(--ploesung-title-gap);
  font-family: var(--font-display);
  font-size: var(--ploesung-title);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: var(--green);
}

.stadt-block__points {
  margin: 0;
  padding: 0 0 0 5mm;
  list-style: disc;
  font-size: var(--ploesung-body);
  font-weight: 500;
  line-height: 1.38;
  color: var(--ink);
}

.stadt-block__points--emoji {
  list-style: none;
  padding-left: 0;
}

.stadt-block__points--emoji li {
  display: flex;
  align-items: flex-start;
  gap: 1.6mm;
}

.stadt-block__points--emoji li + li {
  margin-top: 0.65mm;
}

.stadt-emoji {
  flex-shrink: 0;
  width: 1.35em;
  font-size: 1.05em;
  line-height: 1.38;
  text-align: center;
}

.stadt-block__points li + li {
  margin-top: 0.7mm;
}

/* Ausbaustufe — Stadttier-Szenen am unteren Seitenrand */
.stadt-ausblick-teaser {
  margin-top: auto;
  padding: 0 2.2mm 2mm;
  flex-shrink: 0;
  background: transparent;
  print-color-adjust: exact;
}

.stadt-ausblick-teaser__lead {
  margin: 0 0 3mm;
  padding: 1.8mm 2.4mm;
  font-size: 7.4pt;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0.02em;
  text-align: center;
  color: #4a0f56;
  background: linear-gradient(165deg, rgba(117, 7, 135, 0.12) 0%, rgba(117, 7, 135, 0.06) 100%);
  border: 1px solid rgba(117, 7, 135, 0.22);
  border-radius: var(--radius);
}

.stadt-ausblick-teaser__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 2.2mm;
  margin: 0;
  padding: 0;
  list-style: none;
}

.stadt-ausblick-teaser__card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1mm;
  min-width: 0;
}

.stadt-ausblick-teaser__photo {
  margin: 0;
  width: 100%;
  height: 18mm;
  border-radius: calc(var(--radius) - 0.5mm);
  overflow: hidden;
  background: #f8f4ed;
  box-shadow: 0 0.6mm 2mm rgba(42, 32, 22, 0.12);
  line-height: 0;
}

.stadt-ausblick-teaser__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.stadt-ausblick-teaser__label {
  display: block;
  font-size: 6.6pt;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  color: var(--muted);
}

.stadt-split {
  display: grid;
  grid-template-columns: 0.88fr 1.12fr;
  gap: var(--gap);
  align-items: start;
}
.stadt-split__photo {
  position: relative;
  margin: 0;
  height: 100%;
  min-height: 118mm;
}
.stadt-split__photo img {
  height: 100%;
  min-height: 118mm;
  object-position: center 38%;
}
.stadt-split__tag {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
}
.img-frame--stadt {
  min-height: 0;
}
.cell--feature { min-height: 0; }
.banner--large { padding: 3mm; }

/* Seite 7 — Taubenumzug (textfreies Key Visual + HTML-Overlay, V8-Positionen) */
.sheet--umzug {
  --umzug-weinrot: #722f37;
  position: relative;
  isolation: isolate;
  background: #ebe4d6;
}

.sheet--umzug > .umzug-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
}

.sheet--umzug .umzug-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}

.sheet-frame--umzug-full {
  position: relative;
  z-index: 1;
  height: 100%;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
}

.sheet--umzug.sheet--framed .sheet-frame--umzug-full {
  border: none;
  box-shadow: none;
}

.sheet-body--umzug {
  display: block;
  min-height: 0;
  padding: 0;
  height: 100%;
}

.print-umzug {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 297mm;
  border-radius: 0;
  overflow: hidden;
  background: transparent;
  box-shadow: none;
}

.print-umzug__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.pumzug-head,
.pumzug-bubble,
.pumzug-map-zone,
.pumzug-route__tag,
.pumzug-route__dest,
.pumzug-nums,
.pumzug-num,
.pumzug-step-copy,
.pumzug-step,
.pumzug-steps,
.pumzug-benefits {
  position: absolute;
  margin: 0;
}

/* V8: Titel links oben — wie S.3 Taubenhort (frei auf Karte, keine Box) */
.print-umzug__overlay .pumzug-head {
  top: 3mm;
  left: 5mm;
  right: 5mm;
  width: auto;
  margin: 0;
  padding: 0 0 2.5mm;
  text-align: left;
  background: transparent;
  border: none;
  border-bottom: 0.6mm solid var(--gold-line);
  border-radius: 0;
  box-shadow: none;
  z-index: 2;
}

.print-umzug__overlay .pumzug-head__title {
  margin: 0;
  font-size: 40.8pt;
  line-height: 1.1;
  font-weight: 800;
  color: var(--green);
  text-shadow:
    0 0.25mm 0.6mm rgba(255, 252, 248, 0.95),
    0 0.8mm 2mm rgba(255, 252, 248, 0.75);
}

.print-umzug__overlay .pumzug-head__lead {
  margin: 1.8mm 0 0;
  max-width: 92%;
  font-family: var(--font-display);
  font-size: 13.5pt;
  font-weight: 800;
  line-height: 1.28;
  color: var(--umzug-weinrot);
  text-wrap: balance;
  text-shadow:
    0 0.25mm 0.65mm rgba(255, 252, 248, 0.98),
    0 0.7mm 1.8mm rgba(255, 252, 248, 0.88),
    0 1.2mm 3mm rgba(255, 252, 248, 0.65);
}

.print-umzug__overlay .pumzug-head__lead-tail {
  font-weight: 800;
}

/* V8: Text in leere Illustrations-Box (ohne HTML-Kasten) — Mitte aus taubenumzug-bg.jpg */
.pumzug-bubble {
  top: 51.2%;
  left: 20.8%;
  width: 33.5%;
  z-index: 3;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  box-shadow: none;
  transform: translate(-50%, -50%);
}

.pumzug-bubble p {
  margin: 0;
  font-size: 13.5pt;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  color: var(--umzug-weinrot);
  text-shadow:
    0 0.2mm 0.5mm rgba(255, 252, 248, 0.92),
    0 0.6mm 1.5mm rgba(255, 252, 248, 0.7);
}

/* Weiße Nummern — Mittelpunkte aus taubenumzug-bg.jpg (566×1024) + object-fit:cover auf A4 */
.pumzug-nums {
  inset: 0;
  z-index: 5;
  pointer-events: none;
}

.pumzug-num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 12mm;
  height: 12mm;
  padding: 0;
  margin: 0;
  font-family: var(--font-display);
  font-size: 15pt;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  color: #fff;
  text-shadow: 0 0.35mm 0.9mm rgba(26, 46, 56, 0.42);
  transform: translate(-50%, -50%);
}

.pumzug-num--1 {
  top: 60.28%;
  left: 5.94%;
}

.pumzug-num--2 {
  top: 79.81%;
  left: 5.95%;
}

.pumzug-num--3 {
  top: 79.81%;
  left: 38.45%;
}

.pumzug-num--4 {
  top: 79.82%;
  left: 70.6%;
}

/* Schritt-Text — Kanten aus taubenumzug-bg.jpg (wie .pumzug-num), kein translate(-50%) */
.pumzug-step-copy {
  z-index: 3;
  padding: 0;
  margin: 0;
  background: none;
  border: none;
  box-shadow: none;
  text-align: start; /* LTR + RTL (ar/fa) */
  overflow: hidden;
  box-sizing: border-box;
}

.pumzug-step-copy p {
  margin: 0;
  font-size: 10.5pt;
  font-weight: 600;
  line-height: 1.22;
  color: #8f4a52;
  text-shadow:
    0 0.2mm 0.5mm rgba(255, 252, 248, 0.92),
    0 0.6mm 1.5mm rgba(255, 252, 248, 0.7);
}

/* Überschriften-Zeilen: deutlich fetter + dunkler als Fließtext (700/800 war kaum sichtbar) */
.pumzug-step-copy p strong,
.pumzug-step-copy__lead {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 11.25pt;
  line-height: 1.14;
  color: #4a1f26;
  letter-spacing: 0.015em;
  -webkit-font-smoothing: antialiased;
}

.pumzug-step-copy__keep {
  white-space: nowrap;
}

/* 1: unter kleinem Kasten 1 (Feintuning y≈655 → ~69,8%) */
.pumzug-step-copy--1 {
  top: 69.8%;
  left: 5.55%;
  width: 35.51%;
  max-height: 15mm;
}

/* 2–4: gemeinsame Oberkante + gleiche Typo → erste Zeile auf einer Linie */
.pumzug-step-copy--2,
.pumzug-step-copy--3,
.pumzug-step-copy--4 {
  top: 91.1%;
  max-height: 32mm;
}

.pumzug-step-copy--2 {
  left: 5.55%;
  width: 35.51%;
}

.pumzug-step-copy--3 {
  left: 39.45%;
  width: 32.51%;
}

.pumzug-step-copy--4 {
  left: 72.25%;
  width: 24.73%;
}

.pumzug-step-copy--2 p,
.pumzug-step-copy--3 p,
.pumzug-step-copy--4 p {
  font-size: 10.5pt;
  line-height: 1.22;
}

.pumzug-step-copy--2 p strong,
.pumzug-step-copy--3 p strong,
.pumzug-step-copy--4 p strong,
.pumzug-step-copy--2 .pumzug-step-copy__lead,
.pumzug-step-copy--3 .pumzug-step-copy__lead,
.pumzug-step-copy--4 .pumzug-step-copy__lead {
  font-size: 11.25pt;
  line-height: 1.14;
}

/* Tag-Labels — nur innerhalb der Karten-Zone (unter den drei Route-Vans) */
.pumzug-map-zone {
  position: absolute;
  top: 14.2%;
  left: 7.2%;
  width: 74.5%;
  height: 31.5%;
  z-index: 4;
  pointer-events: none;
}

.pumzug-map-zone .pumzug-route__tag,
.pumzug-map-zone .pumzug-route__dest {
  position: absolute;
  margin: 0;
  padding: 1.1mm 2.6mm;
  border-radius: 5px;
  font-family: var(--font-display);
  font-size: 11pt;
  font-weight: 800;
  letter-spacing: 0.03em;
  line-height: 1.1;
  color: #fff;
  background: rgba(26, 46, 56, 0.94);
  border: 1px solid rgba(255, 255, 255, 0.35);
  box-shadow:
    0 0.8mm 2.2mm rgba(0, 0, 0, 0.28),
    0 0.2mm 0 rgba(0, 0, 0, 0.15);
  white-space: nowrap;
  print-color-adjust: exact;
}

/* Gelber Van links — Label direkt darunter */
.pumzug-map-zone .pumzug-route__tag--1 {
  top: 68%;
  left: 20%;
  transform: translate(-50%, 0);
}

/* Roter Van Mitte */
.pumzug-map-zone .pumzug-route__tag--7 {
  top: 52%;
  left: 50.5%;
  transform: translate(-50%, 0);
  background: linear-gradient(145deg, #318f66 0%, #1f5c42 100%);
  border-color: rgba(255, 255, 255, 0.42);
}

/* Grüner Van oben rechts */
.pumzug-map-zone .pumzug-route__tag--14 {
  top: 20%;
  left: 84.5%;
  transform: translate(-50%, 0);
}

.pumzug-map-zone .pumzug-route__dest {
  top: 36%;
  right: 0;
  left: auto;
  transform: none;
  font-size: 11.5pt;
  color: #1a4d38;
  background: rgba(255, 252, 244, 0.98);
  border: 1.5px solid rgba(31, 61, 52, 0.38);
  box-shadow:
    0 0.8mm 2.5mm rgba(42, 32, 22, 0.2),
    inset 0 0 0 0.3mm rgba(255, 255, 255, 0.65);
}

/* V8: Schritt 1 links (über Schritten 2–4) */
.pumzug-step--1 {
  top: 50%;
  left: 3.5%;
  width: 36%;
  display: flex;
  gap: 1.6mm;
  align-items: flex-start;
}

/* V8: Schritte 2–4 als Reihe über Benefits */
.pumzug-steps {
  left: 3%;
  right: 3%;
  bottom: 19.5%;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.2mm;
}

.pumzug-steps .pumzug-step {
  position: static;
  display: flex;
  flex-direction: column;
  gap: 0.9mm;
}

.pumzug-step__num {
  display: grid;
  place-items: center;
  width: 5.8mm;
  height: 5.8mm;
  border-radius: 50%;
  font-size: 7.2pt;
  font-weight: 800;
  color: #fff;
  background: linear-gradient(145deg, #2d7a5a, #1a5c40);
  box-shadow: 0 0.5mm 1.5mm rgba(0, 0, 0, 0.18);
}

.pumzug-step__body {
  padding: 1.4mm 1.8mm;
  border-radius: 4px;
  font-size: 7.4pt;
  line-height: 1.24;
  color: var(--ink-mid);
  background: rgba(252, 248, 240, 0.9);
  border: 1px solid rgba(120, 90, 50, 0.16);
}

.pumzug-step__body strong {
  display: block;
  font-size: 8pt;
  font-weight: 800;
  color: var(--ink);
}

.pumzug-step__body span {
  display: block;
  margin-top: 0.35mm;
  font-weight: 600;
}

/* V8: Benefits-Banner unten */
.pumzug-benefits {
  left: 2.5%;
  right: 2.5%;
  bottom: 2.5%;
  padding: 2.4mm 4mm 2.6mm;
  border-radius: 5px;
  color: #fff;
  background: linear-gradient(180deg, #8f7048 0%, #6f5434 100%);
  border: 1px solid rgba(50, 36, 20, 0.35);
  box-shadow: 0 1mm 3mm rgba(42, 32, 22, 0.22);
}

.pumzug-benefits__title {
  margin: 0 0 1mm;
  font-size: 8.8pt;
  font-weight: 800;
  text-shadow: 0 0.5mm 1.5mm rgba(0, 0, 0, 0.35);
}

.pumzug-benefits__list {
  margin: 0;
  padding: 0 0 0 3.5mm;
  columns: 2;
  column-gap: 5mm;
  font-size: 7.5pt;
  font-weight: 600;
  line-height: 1.3;
  text-shadow: 0 0.4mm 1mm rgba(0, 0, 0, 0.28);
}

/* Seite 8 — Recht: München-Dachblick Vollfläche + opaque HTML-Boxen */
.sheet--recht {
  --recht-teal: #1a4a4a;
  --recht-teal-soft: #2d6b63;
  --recht-eu-blue: #1e3a5f;
  --recht-panel-beige: #f3ebe0;
  position: relative;
  isolation: isolate;
  background: #1a2220;
}

.sheet--recht > .recht-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
}

.sheet--recht .recht-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 12%;
  display: block;
}

.print-recht {
  --recht-body: 10.8pt;
  --recht-body-sm: 10.5pt;
  --recht-title-panel: 13.5pt;
  --recht-title-box: 12.5pt;
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  height: 100%;
  min-height: 297mm;
  padding: 4.5mm 5.5mm 4.5mm;
  padding-bottom: 25mm;
  gap: 1.6mm;
  box-sizing: border-box;
}

/* S.8 Überschrift — frei auf Foto (ohne Kasten), wie S.3 */
.print-recht > .page-head--recht-on-bg {
  flex-shrink: 0;
  margin: 0;
  padding: 2.5mm 1mm 2mm;
  text-align: left;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  border-bottom: 0.6mm solid rgba(197, 164, 110, 0.82);
}

.print-recht .page-head--recht.page-head--on-photo .h-lg {
  color: var(--green);
  font-size: 30pt;
  line-height: var(--lh-tight);
  text-wrap: balance;
  text-shadow:
    0 0.25mm 0.6mm rgba(255, 252, 248, 0.95),
    0 0.8mm 2mm rgba(255, 252, 248, 0.78),
    0 0.35mm 0.9mm rgba(0, 0, 0, 0.35);
}

.print-recht .page-head--recht.page-head--on-photo .lead {
  margin-top: 0.8mm;
  font-size: 12.5pt;
  font-weight: 600;
  line-height: 1.22;
  color: #fffef9;
  text-shadow:
    0 0.35mm 0.8mm rgba(0, 0, 0, 0.85),
    0 1mm 2.5mm rgba(0, 0, 0, 0.55);
}

/* Vier Boxen tiefer — Kirche + Alpen im oberen Bildbereich frei */
.recht-main {
  display: grid;
  grid-template-columns: 0.4fr 0.6fr;
  gap: 2.5mm;
  min-height: 0;
  flex: 1 1 auto;
  align-items: start;
  margin-top: 56mm;
  max-height: none;
}

.recht-col {
  display: flex;
  flex-direction: column;
  gap: 2mm;
  min-height: 0;
}

.recht-col--side {
  justify-content: stretch;
}

.recht-eu {
  position: relative;
  flex: 0 0 auto;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 2.6mm 2.8mm 2.2mm;
  border-radius: var(--radius);
  background-color: #003399;
  background-image:
    linear-gradient(165deg, rgba(0, 51, 153, 0.18) 0%, rgba(0, 40, 120, 0.32) 100%),
    url("/images/eu-flag-bg.svg");
  background-size: cover, 118% auto;
  background-position: center, center 38%;
  color: #fff;
  box-shadow: 0 1mm 2.5mm rgba(12, 24, 40, 0.4);
  overflow: hidden;
  box-sizing: border-box;
}

.recht-eu::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(
      ellipse 88% 78% at 50% 46%,
      rgba(0, 28, 90, 0.62) 0%,
      rgba(0, 40, 120, 0.28) 58%,
      rgba(0, 51, 153, 0.08) 100%
    );
}

.recht-eu > * {
  position: relative;
  z-index: 1;
}

.recht-eu__title {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--recht-title-box);
  font-weight: 800;
  line-height: 1.15;
  text-shadow:
    0 0.2mm 0.55mm rgba(0, 20, 80, 0.75),
    0 0.6mm 1.4mm rgba(0, 12, 50, 0.55);
}

.recht-eu__lead {
  margin: 0.4mm 0 0.8mm;
  font-size: var(--recht-body-sm);
  font-weight: 600;
  line-height: 1.24;
  overflow-wrap: break-word;
  text-shadow:
    0 0.2mm 0.5mm rgba(0, 20, 80, 0.7),
    0 0.55mm 1.2mm rgba(0, 12, 50, 0.5);
}

.recht-eu__list {
  margin: 0;
  padding: 0;
  font-size: var(--recht-body-sm);
  font-weight: 600;
  line-height: 1.26;
  overflow: visible;
  color: #fffef9;
  text-shadow:
    0 0.2mm 0.5mm rgba(0, 20, 80, 0.72),
    0 0.55mm 1.2mm rgba(0, 12, 50, 0.52);
}

.recht-eu__list li + li {
  margin-top: 0.6mm;
}

.recht-eu__foot {
  margin: 0.8mm 0 0;
  font-size: 9.5pt;
  font-weight: 600;
  opacity: 0.92;
  text-shadow: 0 0.2mm 0.6mm rgba(0, 20, 80, 0.45);
}

.recht-eu .recht-list--taube li::before {
  content: "★";
  color: #ffcc00;
  font-size: 0.88em;
  text-shadow: 0 0.1mm 0.35mm rgba(0, 20, 80, 0.55);
}

.recht-tschg {
  position: relative;
  z-index: 2;
  flex: 0 1 auto;
  min-height: min-content;
  margin: 0;
  padding: 2.2mm 2.4mm;
  border-radius: var(--radius);
  /* S.2 Kachel 2 — Orange */
  background: linear-gradient(165deg, rgba(255, 140, 0, 0.58) 0%, rgba(255, 140, 0, 0.48) 100%);
  border: 1px solid rgba(255, 140, 0, 0.55);
  box-shadow: 0 1mm 2.5mm rgba(12, 24, 20, 0.28);
  overflow: visible;
  box-sizing: border-box;
  color: #fffef9;
}

.recht-panel {
  flex: 0 1 auto;
  margin: 0;
  padding: 2mm 2.2mm;
  border-radius: var(--radius);
  border: 1px solid rgba(26, 74, 60, 0.12);
  box-shadow: 0 1mm 2.5mm rgba(12, 24, 20, 0.2);
  min-height: min-content;
  overflow: visible;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

.recht-panel--duty {
  /* S.2 Kachel 4 — Grün */
  background: linear-gradient(165deg, rgba(0, 128, 38, 0.56) 0%, rgba(0, 128, 38, 0.46) 100%);
  border-color: rgba(0, 128, 38, 0.52);
  color: #fffef9;
}

.recht-panel--myth {
  /* S.2 Kachel 6 — Lila */
  background: linear-gradient(165deg, rgba(117, 7, 135, 0.54) 0%, rgba(117, 7, 135, 0.44) 100%);
  border-color: rgba(117, 7, 135, 0.5);
  color: #fffef9;
}

/* S.8 farbige Kästen — wie S.2 Problem-Kacheln, weiße Schrift */
.recht-tschg__title,
.recht-tschg__text,
.recht-panel--duty .recht-panel__title,
.recht-panel--duty .recht-panel__list,
.recht-panel--myth .recht-panel__title,
.recht-panel--myth .recht-panel__list {
  color: #fffef9;
  text-shadow: 0 0.15mm 0.45mm rgba(18, 24, 28, 0.42);
}

.recht-tschg__title {
  margin: 0 0 1mm;
  font-family: var(--font-display);
  font-size: 16pt;
  font-weight: 800;
  line-height: 1.1;
}

.recht-tschg__sec {
  font-size: 18pt;
}

.recht-tschg__text {
  margin: 0;
  font-size: var(--recht-body);
  font-weight: 600;
  line-height: 1.26;
  overflow-wrap: break-word;
  hyphens: manual;
  word-break: normal;
}

.recht-tschg__highlight {
  display: block;
  margin-top: 0.8mm;
  font-weight: 700;
}

.recht-panel__title {
  display: flex;
  align-items: center;
  gap: 1mm;
  margin: 0 0 0.8mm;
  flex-shrink: 0;
  font-family: var(--font-display);
  font-size: var(--recht-title-panel);
  font-weight: 800;
  line-height: 1.08;
}

.recht-panel__ico {
  font-size: 12pt;
  line-height: 1;
}

.recht-panel__list {
  margin: 0;
  padding: 0;
  flex: 0 1 auto;
  min-height: min-content;
  overflow: visible;
  font-size: 10pt;
  font-weight: 600;
  line-height: 1.24;
}

.recht-panel__list li {
  overflow-wrap: break-word;
  hyphens: manual;
  word-break: normal;
}

.recht-panel__list li + li {
  margin-top: 0.35mm;
}

.recht-eu__list li {
  overflow-wrap: break-word;
  hyphens: auto;
}

/* Listen: Tauben-Emoji als Bullet (kein Icon-Grafik) */
.recht-list--taube {
  list-style: none;
}

.recht-list--taube li {
  display: block;
  position: relative;
  padding-left: 4.4mm;
}

.recht-list--taube li::before {
  content: "🕊️";
  position: absolute;
  left: 0;
  top: 0.04em;
  width: auto;
  height: auto;
  margin: 0;
  font-size: 0.95em;
  line-height: 1.22;
  background: none;
}

.recht-foot {
  position: absolute;
  left: 5.5mm;
  right: 5.5mm;
  bottom: 4.5mm;
  z-index: 3;
  margin: 0;
  padding: 2.6mm 3.5mm 2.4mm;
  text-align: center;
  border-radius: var(--radius);
  background: linear-gradient(128deg, var(--recht-teal-soft) 0%, var(--recht-teal) 100%);
  box-shadow: 0 1mm 2.5mm rgba(12, 24, 20, 0.35);
  overflow: hidden;
  box-sizing: border-box;
}

.recht-foot__quote {
  margin: 0;
  font-family: var(--font-display);
  font-size: 11.5pt;
  font-weight: 700;
  line-height: 1.28;
  color: #fff;
  text-wrap: balance;
  overflow-wrap: break-word;
}

.recht-foot__tags {
  margin: 1mm 0 0;
  font-size: 9.5pt;
  font-weight: 600;
  line-height: 1.26;
  color: rgba(255, 255, 255, 0.92);
}

/* Legacy-Selektoren (andere Dateien / flyer-text-only) */
.sheet-body--recht {
  display: grid;
  gap: 2.5mm;
}
.recht-split {
  display: grid;
  grid-template-columns: 0.82fr 1.18fr;
  gap: var(--gap);
  min-height: 0;
}
.legal-quote {
  margin: 0;
  padding: 2.5mm 3mm;
  border-radius: var(--radius);
  border-left: 3px solid var(--green);
  background: var(--green-bg);
  font-size: var(--text-body);
  font-weight: 500;
  line-height: 1.48;
}

.flyer-text-only .print-recht,
.flyer-text-only .sheet--recht .recht-bg img,
.flyer-text-only .print-vision .vision-panel__media,
.flyer-text-only .print-vision .vision-panel__media img,
.flyer-text-only .print-abundance .abundance-panel__media,
.flyer-text-only .print-abundance .abundance-panel__media img {
  display: block !important;
}

.flyer-text-only .print-abundance,
.flyer-text-only .print-mehrwert {
  display: flex !important;
  flex-direction: column;
}

.flyer-text-only .print-mehrwert .mehrwert-cell__media,
.flyer-text-only .print-mehrwert .mehrwert-cell__media img {
  display: block !important;
}

/* Seite 6 — Mehrwert 2×2 (Bio, Futter, Federn, Dünger) */
.sheet--mehrwert {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
}

.sheet--mehrwert > .sheet-atmosphere--mehrwert {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.print-mehrwert {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  height: 297mm;
  min-height: 297mm;
  max-height: 297mm;
  padding: 3.5mm 4.5mm 3mm;
  gap: 1.6mm;
  box-sizing: border-box;
}

.print-mehrwert > .page-head--mehrwert {
  flex-shrink: 0;
  margin: 0;
  padding: 0 0 1.2mm;
  border-bottom: 0.5mm solid var(--gold-line);
}

.print-mehrwert .mehrwert-head {
  color: var(--green);
  font-size: 19.5pt;
  line-height: 1.14;
  text-wrap: balance;
}

.mehrwert-grid {
  flex: 1 1 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 2mm;
  min-height: 0;
  align-items: stretch;
}

.mehrwert-cell {
  display: flex;
  flex-direction: column;
  min-height: 0;
  border-radius: 4px;
  border: 1px solid rgba(26, 74, 60, 0.12);
  background: #fff;
  box-shadow: 0 0.8mm 2mm rgba(26, 36, 33, 0.08);
  overflow: hidden;
}

.mehrwert-cell__media {
  flex: 0 0 auto;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #f3efe6;
}

.mehrwert-cell__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center center;
}

.mehrwert-cell__media--bio img {
  object-position: center 40%;
}

.mehrwert-cell__media--feed img {
  object-position: center 45%;
}

.mehrwert-cell__media--craft img {
  object-position: center 42%;
}

.mehrwert-cell__media--duenger img {
  object-position: center 48%;
}

.mehrwert-cell__copy {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 0.8mm;
  padding: 2mm 2.2mm 2.2mm;
  min-height: 0;
}

.mehrwert-cell__title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 10.5pt;
  font-weight: 800;
  line-height: 1.2;
  color: var(--green);
}

.mehrwert-cell__text {
  margin: 0;
  font-size: 8.75pt;
  font-weight: 500;
  line-height: 1.36;
  color: var(--ink-mid);
}

.mehrwert-closing {
  flex-shrink: 0;
  margin: 0;
  padding: 1.5mm 1mm 0;
  font-size: 11.5pt;
  font-weight: 600;
  line-height: 1.4;
  color: var(--ink);
  text-align: center;
  text-wrap: balance;
}

.mehrwert-closing__highlight {
  display: block;
  margin-top: 0.8mm;
  font-family: var(--font-display);
  font-size: 12.5pt;
  font-weight: 800;
  color: var(--green);
}

.mehrwert-footnote {
  flex-shrink: 0;
  margin: 0;
  padding: 0.8mm 0 0;
  font-family: var(--font-display);
  font-size: 9pt;
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: 0.02em;
  color: var(--muted);
  text-align: center;
}

/* Seite 9 — 720° Lösung (V8: volle Fläche, hohe Bildkarten + grüne Leiste + Gold-CTA) */
.sheet--vision {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
}

.sheet--vision > .sheet-atmosphere--vision {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.print-vision {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  height: 297mm;
  min-height: 297mm;
  max-height: 297mm;
  padding: 3.5mm 4mm 3.5mm;
  gap: 1.6mm;
  box-sizing: border-box;
}

.print-vision > .page-head--vision {
  flex-shrink: 0;
  margin: 0;
  padding: 0 0 1.2mm;
  border-bottom: 0.5mm solid var(--gold-line);
}

.print-vision .page-head--vision .h-lg {
  color: var(--green);
  font-size: 34pt;
  line-height: 1.06;
  text-wrap: balance;
}

.print-vision .page-head--vision .lead {
  margin-top: 0.8mm;
  font-size: 16pt;
  font-weight: 600;
  line-height: 1.22;
  color: var(--recht-eu-blue);
}

/* V8: drei Bildsäulen — natürliches Seitenverhältnis, kein Vertikal-Stretch */
.vision-panels {
  flex: 1 1 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5mm;
  min-height: 0;
  align-items: start;
}

.vision-panel {
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: auto;
  border-radius: 4px;
  border: 1px solid rgba(26, 74, 60, 0.12);
  background: #fff;
  box-shadow: 0 0.8mm 2mm rgba(26, 36, 33, 0.08);
  overflow: hidden;
}

.vision-panel__media {
  position: relative;
  flex: 0 0 auto;
  width: 100%;
  aspect-ratio: 5 / 6;
  overflow: hidden;
  background: #f3efe6;
}

.vision-panel__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center center;
}

.vision-panel__media--sky img {
  object-position: center 38%;
}

.vision-panel__media--city img {
  object-position: center 40%;
}

.vision-panel__media--farm img {
  object-position: center 38%;
}

.vision-panel__ribbon {
  position: absolute;
  left: 1.5mm;
  bottom: 1.5mm;
  z-index: 1;
  margin: 0;
  padding: 1.4mm 2.2mm;
  max-width: 92%;
  border-radius: 4px;
  font-size: 10pt;
  font-weight: 600;
  line-height: 1.26;
  color: #fffef9;
  background: linear-gradient(128deg, #2d6b63 0%, var(--green) 100%);
  box-shadow: 0 0.5mm 1.5mm rgba(12, 24, 20, 0.32);
}

.vision-panel__ribbon strong {
  font-weight: 800;
}

/* Text direkt unter jedem Bild — ohne farbige Box */
.vision-panel__tag {
  flex-shrink: 0;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 1.8mm;
  margin: 0;
  padding: 2.8mm 1.5mm 0.5mm;
  font-size: 14.5pt;
  font-weight: 700;
  line-height: 1.32;
  color: var(--green);
  background: transparent;
  border: none;
  text-align: left;
}

.vision-panel__tag .vision-emoji {
  font-size: 1.3em;
  line-height: 1.32;
}

.vision-emoji {
  flex-shrink: 0;
  width: 1.35em;
  font-size: 1.1em;
  line-height: 1.28;
  text-align: center;
}

/* Weitere 3 Vorteile — nur Text, keine Box */
.vision-benefits {
  flex-shrink: 0;
  width: 100%;
  margin: 2mm 0 0;
  padding: 2mm 1mm 0;
  background: transparent;
  border: none;
  border-top: 0.4mm solid rgba(42, 74, 60, 0.18);
  box-shadow: none;
}

.vision-benefits__grid {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5mm;
}

.vision-benefits__grid li {
  display: flex;
  align-items: flex-start;
  gap: 1.5mm;
  font-size: 13.5pt;
  font-weight: 700;
  line-height: 1.32;
  color: var(--ink);
}

.vision-benefits .vision-emoji {
  font-size: 1.2em;
}

/* Seite 11 — Mehrwert: Bioindikatoren, Futtermittel, Kreativschätze */
.sheet--abundance {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
}

.sheet--abundance > .sheet-atmosphere--abundance {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.print-abundance {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  height: 297mm;
  min-height: 297mm;
  max-height: 297mm;
  padding: 3.5mm 4.5mm 3mm;
  gap: 1.8mm;
  box-sizing: border-box;
}

.print-abundance > .page-head--abundance {
  flex-shrink: 0;
  margin: 0;
  padding: 0 0 1.4mm;
  border-bottom: 0.5mm solid var(--gold-line);
}

.print-abundance .abundance-head {
  color: var(--green);
  font-size: 21pt;
  line-height: 1.14;
  text-wrap: balance;
}

.abundance-panels {
  flex: 1 1 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.8mm;
  min-height: 0;
  align-items: stretch;
}

.abundance-panel {
  display: flex;
  flex-direction: column;
  min-height: 0;
  border-radius: 4px;
  border: 1px solid rgba(26, 74, 60, 0.12);
  background: #fff;
  box-shadow: 0 0.8mm 2mm rgba(26, 36, 33, 0.08);
  overflow: hidden;
}

.abundance-panel__media {
  flex: 0 0 auto;
  width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #f3efe6;
}

.abundance-panel__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center center;
}

.abundance-panel__media--bio img {
  object-position: center 42%;
}

.abundance-panel__media--feed img {
  object-position: center 45%;
}

.abundance-panel__media--craft img {
  object-position: center 40%;
}

.abundance-panel__media--jam img {
  object-position: center 45%;
}

.abundance-panel__copy {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 1mm;
  padding: 2.2mm 2.4mm 2.4mm;
  min-height: 0;
}

.abundance-panel__title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 11.5pt;
  font-weight: 800;
  line-height: 1.2;
  color: var(--green);
}

.abundance-panel__text {
  margin: 0;
  font-size: 9.25pt;
  font-weight: 500;
  line-height: 1.38;
  color: var(--ink-mid);
}

.abundance-closing {
  flex-shrink: 0;
  margin: 0;
  padding: 2mm 1mm 0;
  font-size: 12.5pt;
  font-weight: 600;
  line-height: 1.42;
  color: var(--ink);
  text-align: center;
  text-wrap: balance;
}

.abundance-closing__highlight {
  display: block;
  margin-top: 1mm;
  font-family: var(--font-display);
  font-size: 13.5pt;
  font-weight: 800;
  color: var(--green);
}

.abundance-footnote {
  flex-shrink: 0;
  margin: 0;
  padding: 1mm 0 0;
  font-family: var(--font-display);
  font-size: 9.5pt;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.02em;
  color: var(--muted);
  text-align: center;
}

/* Seite 9: volle A4 · Kacheln wie S.2 · 6 gleiche Fotos */
.sheet--page9-combined {
  --page9-col-gap: 1.5mm;
  --page9-caption-fs: 12.5pt;
  --pride-red: #e40303;
  --pride-orange: #ff8c00;
  --pride-yellow: #ffed00;
  --pride-green: #008026;
  --pride-blue: #004dff;
  --pride-violet: #750787;
  display: flex;
  flex-direction: column;
  background:
    radial-gradient(ellipse 90% 60% at 100% 0%, rgba(232, 208, 120, 0.22), transparent 58%),
    radial-gradient(ellipse 75% 50% at 0% 100%, rgba(27, 94, 59, 0.14), transparent 52%),
    linear-gradient(168deg, #f7f3eb 0%, var(--paper) 48%, #ebe4d8 100%);
}

.sheet--page9-combined .print-page9 {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
  flex: 1 1 auto;
  width: 100%;
  height: 297mm;
  min-height: 297mm;
  max-height: 297mm;
  padding: 2.5mm 3mm 2.5mm;
  gap: 1.2mm;
  box-sizing: border-box;
  overflow: hidden;
}

.sheet--page9-combined .print-vision,
.sheet--page9-combined .print-abundance {
  display: flex;
  flex-direction: column;
  min-height: 0;
  width: 100%;
  height: auto;
  min-height: 0;
  max-height: none;
  padding: 0;
  gap: 0.7mm;
  box-sizing: border-box;
}

.sheet--page9-combined .print-vision {
  border-bottom: 0.35mm solid rgba(42, 74, 60, 0.14);
  padding-bottom: 1mm;
}

.sheet--page9-combined .print-vision > .page-head--vision,
.sheet--page9-combined .print-abundance > .page-head--abundance {
  flex-shrink: 0;
  margin: 0;
  padding: 0 0 0.5mm;
}

.sheet--page9-combined .print-vision .page-head--vision .h-lg {
  font-size: 34pt;
  line-height: 1.06;
}

.sheet--page9-combined .print-vision .page-head--vision .lead {
  margin-top: 0.5mm;
  font-size: 16pt;
}

.sheet--page9-combined .print-abundance > .page-head--abundance {
  border-bottom: 0.35mm solid var(--gold-line);
}

.sheet--page9-combined .print-abundance .abundance-head {
  font-size: 18pt;
  line-height: 1.1;
  color: var(--green);
}

.sheet--page9-combined .vision-panels,
.sheet--page9-combined .abundance-panels {
  flex: 1 1 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--page9-col-gap);
  min-height: 0;
  align-items: stretch;
}

.sheet--page9-combined .print-page9 {
  background: transparent;
}

.sheet--page9-combined .page9-tile {
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
  margin: 0;
  padding: 1.4mm;
  gap: 1.2mm;
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  border: 1px solid rgba(255, 255, 255, 0.35);
  print-color-adjust: exact;
}

.sheet--page9-combined .vision-panels .page9-tile:nth-child(1) {
  background: linear-gradient(165deg, var(--pride-red-tile) 0%, var(--pride-red-tile-soft) 100%);
  border-color: color-mix(in srgb, var(--pride-red) 55%, var(--pride-paper));
}

.sheet--page9-combined .vision-panels .page9-tile:nth-child(2) {
  background: linear-gradient(165deg, var(--pride-orange-tile) 0%, var(--pride-orange-tile-soft) 100%);
  border-color: color-mix(in srgb, var(--pride-orange) 55%, var(--pride-paper));
}

.sheet--page9-combined .vision-panels .page9-tile:nth-child(3) {
  background: linear-gradient(165deg, var(--pride-yellow-tile) 0%, var(--pride-yellow-tile-soft) 100%);
  border-color: color-mix(in srgb, #ffc800 55%, var(--pride-paper));
}

.sheet--page9-combined .abundance-panels .page9-tile:nth-child(1) {
  background: linear-gradient(165deg, var(--pride-green-tile) 0%, var(--pride-green-tile-soft) 100%);
  border-color: color-mix(in srgb, var(--pride-green) 52%, var(--pride-paper));
}

.sheet--page9-combined .abundance-panels .page9-tile:nth-child(2) {
  background: linear-gradient(165deg, var(--pride-blue-tile) 0%, var(--pride-blue-tile-soft) 100%);
  border-color: color-mix(in srgb, var(--pride-blue) 50%, var(--pride-paper));
}

.sheet--page9-combined .abundance-panels .page9-tile:nth-child(3) {
  background: linear-gradient(165deg, var(--pride-violet-tile) 0%, var(--pride-violet-tile-soft) 100%);
  border-color: color-mix(in srgb, var(--pride-violet) 50%, var(--pride-paper));
}

.sheet--page9-combined .vision-panel__media,
.sheet--page9-combined .abundance-panel__media {
  flex: 1 1 0;
  width: 100%;
  min-height: 0;
  height: auto;
  aspect-ratio: unset;
  overflow: hidden;
  border-radius: calc(var(--radius) - 0.8mm);
  background: rgba(18, 24, 28, 0.08);
  box-shadow: 0 0.5mm 1.5mm rgba(18, 24, 28, 0.12);
}

.sheet--page9-combined .vision-panel__media img,
.sheet--page9-combined .abundance-panel__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center center;
}

/* Beschriftung wie S.2: auf Kachelfarbe, nicht weiße Box */
.sheet--page9-combined .page9-caption {
  flex-shrink: 0;
  order: -1;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 1.4mm;
  margin: 0;
  padding: 1.2mm 1mm 0.4mm;
  font-family: var(--font-body) !important;
  font-size: var(--page9-caption-fs) !important;
  font-weight: 600 !important;
  line-height: 1.22 !important;
  color: #fffef9 !important;
  background: transparent !important;
  border-radius: 0;
  box-shadow: none;
  text-shadow: 0 0.15mm 0.45mm rgba(18, 24, 28, 0.42);
  print-color-adjust: exact;
}

.sheet--page9-combined .vision-panels .page9-tile:nth-child(3) .page9-caption,
.sheet--page9-combined .vision-panels .page9-tile:nth-child(3) .page9-caption__text {
  color: #fffef9 !important;
  text-shadow:
    0 0.2mm 0.55mm rgba(18, 24, 28, 0.72),
    0 0.45mm 1.1mm rgba(18, 24, 28, 0.48);
}

.sheet--page9-combined .page9-caption__icon {
  flex-shrink: 0;
  font-size: 1.12em;
  line-height: 1;
}

.sheet--page9-combined .page9-caption__icon--gold {
  display: inline-grid;
  place-items: center;
  width: 1.55em;
  height: 1.55em;
  font-size: 0.92em;
  line-height: 1;
  background: rgba(61, 42, 4, 0.42);
  border: 0.2mm solid rgba(255, 254, 249, 0.5);
  border-radius: 50%;
  box-shadow: 0 0.35mm 0.9mm rgba(26, 18, 6, 0.28);
  filter: drop-shadow(0 0.15mm 0.35mm rgba(255, 254, 249, 0.35));
}

.sheet--page9-combined .page9-caption__text {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
}

.sheet--page9-combined .sheet-deco {
  opacity: 0.12;
}

.vision-cta {
  flex-shrink: 0;
  width: 100%;
  margin: 0;
  padding: 3.2mm 3.5mm 3mm;
  border-radius: 4px;
  background: linear-gradient(168deg, #f5e6b8 0%, var(--gold-bg) 42%, #e8d49a 100%);
  border: 1px solid var(--gold-border);
  box-shadow: var(--shadow-card);
  text-align: center;
}

.vision-cta__title {
  margin: 0 0 1mm;
  font-family: var(--font-display);
  font-size: 19pt;
  font-weight: 800;
  line-height: 1.1;
  color: var(--ink);
}

.vision-cta__sub {
  margin: 0 0 1.2mm;
  font-size: 12.5pt;
  font-weight: 700;
  line-height: 1.28;
  color: var(--ink-mid);
}

.vision-cta__text {
  margin: 0;
  font-size: 13pt;
  font-weight: 600;
  line-height: 1.34;
  color: var(--ink-mid);
  text-wrap: balance;
}

/* Legacy */
.sheet-body--vision {
  display: grid;
  gap: 2.5mm;
}

.vision-hero {
  position: relative;
  margin: 0;
}

.vision-hero img {
  object-position: center 35%;
}

.vision-hero__caption {
  position: absolute;
  left: 2mm;
  bottom: 2mm;
  margin: 0;
  max-width: 55%;
}
.badge-offer {
  position: absolute;
  top: -2mm;
  right: 2mm;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 11mm;
  height: 11mm;
  border-radius: 50%;
  font-size: 6.5pt;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fff;
  background: linear-gradient(145deg, #2d7a5a, #1f4d3a);
  border: 0.35mm solid rgba(255, 255, 255, 0.85);
  box-shadow: 0 1mm 3mm rgba(26, 36, 33, 0.22);
}
.cta-card--donate {
  position: relative;
}
.check-item {
  display: flex;
  align-items: flex-start;
  gap: 1.5mm;
  padding: 1.8mm 2mm;
  border-radius: var(--radius);
  background: var(--green-bg);
  border: 1px solid rgba(27, 94, 59, 0.18);
  font-size: var(--text-body);
  font-weight: 600;
  line-height: 1.4;
}
.check-item__ico {
  flex-shrink: 0;
  width: 4.5mm;
  height: 4.5mm;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
  font-size: 7pt;
  font-weight: 800;
}
.banner--cta { margin-top: 0; }
.picasso-strip {
  margin: 0;
  display: grid;
  grid-template-columns: 28mm 1fr;
  gap: 2mm;
  align-items: center;
}
.picasso-strip img {
  width: 100%;
  height: 18mm;
  object-fit: cover;
  border-radius: 4px;
}
.picasso-strip figcaption {
  font-size: 7.5pt;
  color: var(--muted);
  line-height: 1.3;
}

/* Seite 10 — Finale: Vollbild Taubenhort + Text-Overlay */
.sheet--finale {
  position: relative;
  isolation: isolate;
  background: #0f1418;
  overflow: hidden;
}

.sheet--finale > .finale-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
}

.sheet--finale .finale-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 22%;
  display: block;
}

.sheet--finale .finale-bg__scrim {
  position: absolute;
  inset: 0;
  pointer-events: none;
  /* Turm oben frei sichtbar — Lesbarkeit nur unten + in den Panels */
  background: linear-gradient(
    180deg,
    rgba(8, 18, 22, 0.22) 0%,
    rgba(8, 18, 22, 0.04) 32%,
    transparent 48%,
    rgba(250, 248, 244, 0.42) 62%,
    rgba(250, 248, 244, 0.82) 78%,
    rgba(250, 248, 244, 0.94) 100%
  );
}

.sheet-frame--finale-full {
  position: relative;
  z-index: 1;
  height: 100%;
  grid-template-rows: 1fr auto;
  padding: 10mm 11mm 9mm;
  gap: 2mm;
  background: transparent;
}

.sheet--finale .mast-foot {
  background: rgba(250, 248, 244, 0.9);
  border-radius: var(--radius);
  padding-top: 1.5mm;
  font-size: var(--text-caption);
}

.finale-print {
  --finale-forest: #1f3d34;
  --finale-forest-soft: #2a5246;
  --finale-gold: #c9923f;
  min-height: 0;
  height: 100%;
  font-family: var(--font-body);
}

.finale-print--overlay {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 2mm;
  min-height: 0;
  height: 100%;
}

.finale-print__kicker {
  margin: 0;
  padding: 2mm 2.5mm;
  display: flex;
  flex-direction: column;
  gap: 0.6mm;
  align-self: flex-start;
  max-width: 72%;
  color: #fffef9;
  text-shadow: 0 0.4mm 1.4mm rgba(0, 0, 0, 0.65);
}

.finale-print__hero-brand {
  font-family: var(--font-display);
  font-size: 14pt;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.15;
}

.finale-print__hero-dek {
  font-family: var(--font-display);
  font-size: 11pt;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.3;
}

.finale-print__stack {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.5mm;
  width: 100%;
  min-height: 0;
  flex: 1 1 auto;
  margin-top: 0;
}

.sheet--finale .page-head--finale {
  align-self: flex-start;
  width: 100%;
  max-width: 92%;
  margin: 0;
  padding: 0;
  text-align: left;
}

.sheet--finale .page-head--finale .h-lg,
.sheet--finale .page-head--finale .lead {
  text-align: left;
}

.sheet--finale .finale-head__gold {
  display: block;
  white-space: nowrap;
  margin-top: 0.8mm;
}

/* S.10 — 720°: metallisches Ursprungsgold auf Foto (cool + lesbar) */
.sheet--finale .page-head--finale .finale-head__gold.gold-word {
  font-size: calc(var(--text-h-lg) * 1.06);
  letter-spacing: -0.015em;
  background-image: linear-gradient(
    112deg,
    #4a3606 0%,
    #7a5a10 14%,
    #c9a227 30%,
    #fff0c8 44%,
    #e8c96a 56%,
    #b8860b 68%,
    #f5e6b8 80%,
    #6b4e0a 100%
  );
  background-size: 180% 100%;
  background-position: 42% center;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  -webkit-text-stroke: 0.1mm rgba(10, 8, 4, 0.65);
  paint-order: stroke fill;
  filter:
    drop-shadow(0 0.3mm 0 rgba(0, 0, 0, 0.88))
    drop-shadow(0 0.7mm 1.8mm rgba(255, 252, 248, 0.42))
    drop-shadow(0 0.45mm 0.9mm rgba(200, 160, 60, 0.45));
  text-shadow: none;
}

.sheet--finale .page-head--finale .h-lg {
  text-shadow:
    0 0.4mm 1mm rgba(0, 0, 0, 0.92),
    0 1.1mm 2.8mm rgba(0, 0, 0, 0.68),
    0 0 1.5mm rgba(0, 0, 0, 0.35);
}

.sheet--finale .page-head--finale .lead {
  text-shadow:
    0 0.35mm 0.9mm rgba(0, 0, 0, 0.88),
    0 0.9mm 2.2mm rgba(0, 0, 0, 0.58);
}

.finale-panel {
  background: rgba(255, 255, 255, 0.94);
  border-radius: var(--radius);
  border: 0.35mm solid rgba(42, 74, 60, 0.14);
  box-shadow: var(--shadow-card);
  backdrop-filter: blur(4px);
}

.finale-print__intro .body {
  margin: 0 0 1.5mm;
}

.finale-print__note {
  margin: 1.5mm 0 0;
  padding-top: 0;
  border-top: none;
  font-size: var(--text-body);
  font-weight: 600;
  line-height: 1.4;
}

.finale-print__note strong {
  font-weight: 800;
  color: #f5e6a8;
}

.finale-wildtier-note {
  position: absolute;
  top: 23%;
  left: 0;
  z-index: 2;
  width: min(50%, 78mm);
  min-width: 62mm;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  box-shadow: none;
  filter: drop-shadow(0 1.2mm 3.2mm rgba(26, 36, 33, 0.28));
  container-type: inline-size;
  print-color-adjust: exact;
}

.finale-wildtier-note__plate {
  display: block;
  width: 100%;
  height: auto;
  background: transparent;
}

.finale-wildtier-note__copy {
  position: absolute;
  top: 13.4%;
  right: 4.8%;
  bottom: 16%;
  left: 2.3%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  gap: 1.4mm;
  margin: 0;
  padding: 0.9mm 0 0;
  pointer-events: none;
}

.finale-wildtier-note__title {
  margin: 0;
  width: 100%;
  font-family: var(--font-display);
  font-size: clamp(11pt, 9.6cqi, 17pt);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: 0.02em;
  color: #e8c84a;
  text-shadow:
    0 0.2mm 0.55mm rgba(0, 0, 0, 0.75),
    0 0.8mm 1.6mm rgba(0, 0, 0, 0.45);
}

.finale-wildtier-note__text {
  margin: 0;
  width: 100%;
  font-size: clamp(9pt, 6.5cqi, 12.5pt);
  font-weight: 600;
  line-height: 1.28;
  color: #fffef9;
  text-shadow:
    0 0.2mm 0.5mm rgba(0, 0, 0, 0.72),
    0 0.6mm 1.2mm rgba(0, 0, 0, 0.42);
}

.finale-print__cards {
  display: flex;
  flex-direction: column;
  gap: 2mm;
  min-height: 0;
  width: 100%;
  margin-top: auto;
  margin-bottom: 1.5mm;
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}

.sheet--finale .finale-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44mm;
  gap: 1.5mm;
  align-items: stretch;
  padding: 2.8mm 2.5mm 2.8mm 3mm;
  border-radius: 5px;
  color: #fffef9;
  background: linear-gradient(148deg, #356b5c 0%, var(--finale-forest-soft) 42%, #1a3d34 100%);
  border: 0.35mm solid rgba(255, 255, 255, 0.22);
  box-shadow: inset 0 0.6mm 0 rgba(255, 255, 255, 0.1);
}

.sheet--finale .finale-card--petition {
  border-left: 1.4mm solid rgba(255, 255, 255, 0.72);
}

.sheet--finale .finale-card--donate {
  border-left: 1.4mm solid var(--finale-gold);
  background: linear-gradient(148deg, #3a6f5f 0%, #2a5246 40%, #243d36 100%);
}

.sheet--finale .finale-card__title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 14pt;
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -0.01em;
}

.sheet--finale .finale-card__text {
  margin: 0;
  font-size: 10.25pt;
  font-weight: 500;
  line-height: 1.38;
  color: rgba(255, 255, 255, 0.92);
}

.sheet--finale .finale-card__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.4mm;
  min-width: 0;
  padding: 0.5mm 0;
}

.sheet--finale .finale-card__btn {
  display: inline-flex;
  align-self: flex-start;
  margin-top: 0.8mm;
  padding: 1.8mm 4.5mm;
  font-family: var(--font-display);
  font-size: 10.25pt;
  font-weight: 700;
  text-decoration: none;
  color: var(--finale-forest);
  background: #fff;
  border-radius: 999px;
  border: 0.25mm solid rgba(255, 255, 255, 0.65);
  box-shadow: none;
}

.sheet--finale .finale-card__btn--donate {
  color: #5c3a1a;
  background: linear-gradient(180deg, #fffef9 0%, #fff0d4 100%);
  border-color: rgba(201, 146, 63, 0.45);
}

.sheet--finale .finale-card__qr {
  /* Fixed QR box — equal size for petition + donate (not card-height dependent) */
  --finale-qr-size: 28mm;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-self: center;
  width: 100%;
  min-height: 0;
  height: auto;
  gap: 0.8mm;
  padding: 0;
  text-decoration: none;
  color: rgba(255, 255, 255, 0.95);
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
}

.sheet--finale .finale-card__qr img {
  display: block;
  width: var(--finale-qr-size);
  height: var(--finale-qr-size);
  max-width: var(--finale-qr-size);
  max-height: var(--finale-qr-size);
  aspect-ratio: 1;
  flex-shrink: 0;
  padding: 0.5mm;
  background: #fff;
  border-radius: 3px;
  object-fit: contain;
  box-shadow: 0 0.6mm 1.8mm rgba(0, 0, 0, 0.2);
}

.sheet--finale .finale-card__qr span {
  font-family: var(--font-display);
  font-size: 6.5pt;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  text-align: right;
  line-height: 1.15;
  color: rgba(255, 255, 255, 0.95);
  opacity: 0.95;
  flex-shrink: 0;
}

.sheet--finale .finale-print__foot {
  flex-shrink: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2mm;
  width: 100%;
  margin-top: 0;
  padding: 3mm 2.5mm 2.5mm;
  border-radius: 5px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.97) 0%, rgba(247, 242, 232, 0.96) 100%);
  border: 0.35mm solid rgba(42, 74, 60, 0.16);
  box-shadow: 0 1mm 3mm rgba(26, 36, 33, 0.14);
}

.sheet--finale .finale-print__brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.2mm;
  min-height: 0;
  padding: 1mm 1.5mm 0.5mm;
  text-decoration: none;
  color: var(--green);
}

.sheet--finale .finale-print__brand-icon {
  display: block;
  height: 22mm;
  width: auto;
  max-width: 52mm;
  object-fit: contain;
  filter: drop-shadow(0 0.5mm 1.2mm rgba(26, 36, 33, 0.14));
}

.sheet--finale .finale-print__brand-url {
  font-family: var(--font-display);
  font-size: 9.5pt;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  letter-spacing: -0.01em;
}

.flyer-text-only .finale-card__text {
  font-size: var(--text-body);
}

.flyer-text-only .finale-card__title {
  font-size: var(--text-h-md);
}

/* Seite 10 — CTA (Legacy-Klassen, andere Seiten) */
.sheet-body--cta {
  display: grid;
  gap: var(--gap);
  align-content: start;
}
.cta-hero {
  position: relative;
  margin: 0;
  height: 36mm;
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}
.cta-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
}
.cta-hero__cap {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 2mm 3mm;
  background: linear-gradient(0deg, rgba(22, 72, 54, 0.92) 55%, transparent);
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 0.5mm;
}
.cta-hero__brand {
  font-family: var(--font-display);
  font-size: 13pt;
  font-weight: 700;
}
.cta-row--premium {
  gap: 3mm;
}
.cta-card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2.5mm;
  align-items: center;
  padding: 2.5mm;
  border-radius: var(--radius);
  box-shadow: var(--shadow-card);
}
.cta-card--petition {
  background: var(--green-bg);
  border: 1px solid rgba(27, 94, 59, 0.25);
}
.cta-card--donate {
  background: var(--gold-bg);
  border: 1px solid rgba(201, 162, 39, 0.45);
}
.cta-card__copy p {
  margin: 0.8mm 0 0;
  font-size: var(--text-body);
  line-height: 1.45;
  font-weight: 500;
}
.cta-card__link {
  display: block;
  margin-top: 1mm;
  font-family: var(--font-display);
  font-size: var(--text-small);
  font-weight: 700;
  line-height: var(--lh-lead);
  color: var(--muted);
}
.qr--large {
  width: 28mm;
  height: 28mm;
  border: 1px solid rgba(201, 162, 39, 0.5);
  border-radius: 5px;
  background: #fff;
  padding: 1mm;
  overflow: hidden;
  text-decoration: none;
  flex-shrink: 0;
}
.qr--large img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.cta-foot-grid { margin-top: 0; }

.cta-websites {
  text-align: center;
  padding: 3mm 4mm;
}

.cta-websites__links {
  margin: 1.5mm 0 0;
  font-size: var(--text-lead);
  line-height: 1.45;
}

.cta-websites__links a {
  color: var(--green);
  text-decoration: none;
}

.cta-websites__sep {
  margin: 0 2.5mm;
  color: var(--muted);
  font-weight: 700;
}
.partner-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5mm;
}
.partner-row--large img { height: 16mm; }
.note--legal { font-size: var(--text-small); text-align: center; margin: 0; }

/* Text-only: keine Mini-Schrift in Karten / Footer */
.flyer-text-only .cell,
.flyer-text-only .cell li,
.flyer-text-only .issue-card p,
.flyer-text-only .faith-card p,
.flyer-text-only .check-item,
.flyer-text-only .ploesung-points li,
.flyer-text-only .pumzug-step__body,
.flyer-text-only .pumzug-benefits__list li,
.flyer-text-only .cta-card__copy p {
  font-size: var(--text-body);
  line-height: 1.48;
}
.flyer-text-only .cell-t,
.flyer-text-only .pumzug-head__title {
  font-size: var(--text-h-lg);
  font-weight: 800;
  line-height: var(--lh-tight);
  color: var(--ink);
}

.flyer-text-only .sheet--loesung .page-head--loesung .h-lg {
  font-size: 40.8pt;
  font-weight: 800;
  line-height: var(--lh-tight);
  color: var(--ink);
}

.flyer-text-only .ploesung-panel__label {
  font-size: var(--ploesung-title);
  font-weight: 400;
  line-height: 1.15;
  color: var(--ploesung-on-panel);
}

.flyer-text-only .sheet--loesung .ploesung-points,
.flyer-text-only .sheet--loesung .ploesung-points li {
  font-size: var(--ploesung-body);
}
.flyer-text-only .mast-foot,
.flyer-text-only .mast-foot .row {
  font-size: var(--text-caption);
}
.flyer-text-only .display {
  font-size: var(--text-display);
  line-height: var(--lh-tight);
  font-weight: 800;
}
.flyer-text-only .display-sub {
  font-size: var(--text-display-sub);
  line-height: 1.22;
}
.flyer-text-only .cover-hero-copy .display-sub {
  font-size: var(--text-cover-hero);
  line-height: 1.14;
  font-weight: 800;
}
.flyer-text-only .h-lg {
  font-size: var(--text-h-lg);
  line-height: var(--lh-tight);
}
.flyer-text-only .h-md {
  font-size: var(--text-h-md);
}
.flyer-text-only .lead,
.flyer-text-only .body,
.flyer-text-only .cell,
.flyer-text-only .cell li {
  line-height: var(--lh-body);
}
.flyer-text-only .benefit-line__label,
.flyer-text-only .benefit-line__row,
.flyer-text-only .benefit-line span {
  font-size: var(--text-lead);
  line-height: 1.2;
}

.flyer-text-only .sheet--problem .problem-fact-tile__text,
.flyer-text-only .sheet--problem .problem-fact-tile__text .caption-line,
.flyer-text-only .sheet--problem .problem-fact-tile__text strong {
  color: #fffef9;
  text-shadow: 0 0.15mm 0.45mm rgba(18, 24, 28, 0.42);
}

.flyer-text-only .sheet--problem .problem-fact-tile:nth-child(3) .problem-fact-tile__text,
.flyer-text-only .sheet--problem .problem-fact-tile:nth-child(3) .problem-fact-tile__text .caption-line,
.flyer-text-only .sheet--problem .problem-fact-tile:nth-child(3) .problem-fact-tile__text strong {
  color: #fffef9;
  text-shadow:
    0 0.2mm 0.55mm rgba(18, 24, 28, 0.72),
    0 0.45mm 1.1mm rgba(18, 24, 28, 0.48);
}

.flyer-text-only .sheet-body--spikes .spikes-panel.ploesung-panel--green {
  background: var(--ploesung-olive-solid);
  color: var(--ploesung-on-panel);
}

.flyer-text-only .sheet-body--spikes .spikes-panel--beige.ploesung-panel--light {
  background: var(--ploesung-beige-solid);
  color: var(--ink);
}

.flyer-text-only .sheet-body--spikes .spikes-panel--beige .ploesung-panel__label,
.flyer-text-only .sheet-body--spikes .spikes-panel--beige .ploesung-points,
.flyer-text-only .sheet-body--spikes .spikes-panel--beige .ploesung-points li,
.flyer-text-only .sheet-body--spikes .spikes-panel--beige .ploesung-point-text,
.flyer-text-only .sheet-body--spikes .spikes-panel--beige .ploesung-point-text strong {
  color: var(--ink);
}

/* ── Farbschema: 10 Seiten (einheitlich) ──
   Basis: Creme/Weiß · Text: Tinte · Akzent 1: Grün · Akzent 2: Gold · Alarm: Rot (nur S.2/S.4 „früher“)
*/
.sheet--cover .benefit-strip .card-benefit { background: var(--gold-bg); border-color: var(--gold-border); }

.sheet--problem .problem-fact-tile,
.sheet--problem .problem-lehrer-banner { border-color: var(--gold-border); }

.sheet--spikes .compare-card__label--before { background: var(--urgent-bg); color: var(--urgent-line); border: 1px solid var(--urgent-line); }
.sheet--spikes .compare-card__label--after { background: var(--green-bg); color: var(--green); border: 1px solid var(--green-border); }

.sheet--faith-poster .faith-poster__col {
  border-color: rgba(26, 36, 33, 0.12);
}

.sheet--stadt .cell--gold { background: var(--gold-bg); }
.sheet--stadt .banner { background: var(--gold-bg); border: 1px solid var(--gold-border); }


.sheet--recht .page-head--green .h-lg { color: var(--green); }

.sheet--vision .check-item {
  background: var(--green-bg);
  border-color: var(--green-border);
}

.sheet--vision .banner--cta {
  background: var(--gold-bg);
  border: 1px solid var(--gold-border);
}

.sheet--cta .cta-card--petition { background: var(--green-bg); border-color: var(--green-border); }
.sheet--cta .cta-card--donate { background: var(--gold-bg); border-color: var(--gold-border); }

/* S.3 + S.7: Key Visual mit Overlay (Canva-Poster-Look) */
.flyer-text-only .sheet--loesung .print-loesung,
.flyer-text-only .sheet--umzug .print-umzug {
  height: 100%;
  min-height: 297mm;
  background: transparent;
  border: none;
}

.flyer-text-only .sheet--loesung .loesung-bg img,
.flyer-text-only .sheet--umzug .umzug-bg img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.flyer-text-only .sheet--loesung .print-loesung__overlay,
.flyer-text-only .sheet--umzug .print-umzug__overlay {
  position: absolute;
  inset: 0;
  display: block;
}

.flyer-text-only .sheet--loesung .page-head--loesung,
.flyer-text-only .sheet--loesung .ploesung-panel,
.flyer-text-only .sheet--umzug .pumzug-head,
.flyer-text-only .sheet--umzug .pumzug-bubble,
.flyer-text-only .sheet--umzug .pumzug-nums,
.flyer-text-only .sheet--umzug .pumzug-num,
.flyer-text-only .sheet--umzug .pumzug-step-copy,
.flyer-text-only .sheet--umzug .pumzug-step,
.flyer-text-only .sheet--umzug .pumzug-steps,
.flyer-text-only .sheet--umzug .pumzug-benefits,
.flyer-text-only .sheet--umzug .pumzug-map-zone,
.flyer-text-only .sheet--umzug .pumzug-map-zone .pumzug-route__tag,
.flyer-text-only .sheet--umzug .pumzug-map-zone .pumzug-route__dest {
  position: absolute;
}

.flyer-text-only .sheet--loesung .print-loesung,
.flyer-text-only .sheet--umzug .print-umzug {
  display: block;
  position: relative;
}

.flyer-text-only .sheet--loesung .ploesung-panel__label,
.flyer-text-only .sheet--loesung .ploesung-brings__title,
.flyer-text-only .sheet--loesung .page-head--loesung .lead,
.flyer-text-only .sheet--loesung .ploesung-panel__sub,
.flyer-text-only .sheet--loesung .ploesung-points,
.flyer-text-only .sheet--loesung .ploesung-points li,
.flyer-text-only .sheet--loesung .ploesung-benefits,
.flyer-text-only .sheet--loesung .ploesung-benefits li {
  font-weight: 400;
}

.flyer-text-only .sheet--loesung .ploesung-panel--floor .ploesung-panel__label {
  font-weight: 800;
}

.flyer-text-only .sheet--loesung .ploesung-panel--og1 .ploesung-panel__label {
  font-weight: 800;
}

.flyer-text-only .ploesung-panel--green {
  background: var(--ploesung-olive-solid);
  color: var(--ploesung-on-panel);
  border: 1px solid var(--ploesung-olive-border);
}

.flyer-text-only .ploesung-panel--light,
.flyer-text-only .ploesung-panel--brings {
  background: var(--ploesung-beige-solid);
  color: var(--ploesung-on-panel);
  border: 1px solid var(--ploesung-beige-border);
}

.flyer-text-only .ploesung-panel--brings {
  max-width: 40%;
  min-height: 53mm;
}

.flyer-text-only .ploesung-brings__title {
  font-weight: 800;
}

.flyer-text-only .ploesung-panel--floor {
  min-width: 34mm;
  max-width: var(--ploesung-floor-w);
  min-height: 0;
  height: auto;
}

.flyer-text-only .ploesung-panel--og1.ploesung-panel--floor,
.flyer-text-only .ploesung-panel--og2.ploesung-panel--floor {
  width: var(--ploesung-floor-w);
  min-width: var(--ploesung-floor-min-w);
  max-width: var(--ploesung-floor-w);
  height: auto;
  min-height: 0;
  max-height: none;
}

.flyer-text-only .ploesung-panel--og1 {
  color: var(--ink);
}

.flyer-text-only .ploesung-panel--og2.ploesung-panel--floor .ploesung-panel__label,
.flyer-text-only .ploesung-panel--og2.ploesung-panel--floor .ploesung-points,
.flyer-text-only .ploesung-panel--og2.ploesung-panel--floor .ploesung-points li {
  color: var(--ploesung-on-panel);
}

.flyer-text-only .ploesung-panel--og2.ploesung-panel--floor .ploesung-panel__label {
  font-weight: 800;
}

.flyer-text-only .ploesung-panel--stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: var(--ploesung-stat-solid);
  border: 1px solid rgba(255, 255, 252, 0.12);
  text-transform: uppercase;
}

.flyer-text-only .ploesung-stat__num {
  color: var(--ploesung-stat-yellow);
  font-weight: 700;
}

.flyer-text-only .ploesung-stat__text {
  color: var(--ploesung-stat-text);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.flyer-text-only .ploesung-points,
.flyer-text-only .ploesung-points li,
.flyer-text-only .ploesung-panel__label,
.flyer-text-only .ploesung-panel__sub,
.flyer-text-only .ploesung-brings__title,
.flyer-text-only .ploesung-benefits,
.flyer-text-only .ploesung-benefits li {
  color: var(--ploesung-on-panel);
}

.flyer-text-only .ploesung-panel--og1 .ploesung-panel__label,
.flyer-text-only .ploesung-panel--og1 .ploesung-points,
.flyer-text-only .ploesung-panel--og1 .ploesung-points li {
  color: var(--ink);
}

.flyer-text-only .ploesung-panel--og1 .ploesung-panel__label {
  font-weight: 800;
}

.flyer-text-only .ploesung-panel__sub {
  color: var(--ploesung-on-panel-muted);
  text-transform: none;
  letter-spacing: 0;
}

.flyer-text-only .sheet--loesung .page-head--loesung {
  background: transparent;
  border: none;
  border-bottom: 0.6mm solid var(--gold-line);
  box-shadow: none;
}

.flyer-text-only .sheet--umzug .pumzug-head {
  text-align: left;
}

.flyer-text-only .sheet--umzug .pumzug-head__title {
  font-size: 40.8pt;
  font-weight: 800;
  line-height: var(--lh-tight);
  color: var(--green);
}

.flyer-text-only .sheet--umzug .pumzug-head__lead {
  font-family: var(--font-display);
  font-size: 14pt;
  font-weight: 800;
  color: var(--umzug-weinrot);
}

.flyer-text-only .sheet--umzug .pumzug-head__lead-tail {
  font-weight: 800;
}

.flyer-text-only .sheet--umzug .pumzug-step__body,
.flyer-text-only .sheet--umzug .pumzug-benefits__list li {
  font-weight: 500;
}

.flyer-text-only .sheet--umzug .pumzug-bubble p {
  font-size: 13.5pt;
  font-weight: 700;
  color: var(--umzug-weinrot);
}

.flyer-text-only .sheet--umzug .pumzug-step-copy p {
  font-weight: 600;
  color: #8f4a52;
}

.flyer-text-only .sheet--umzug .pumzug-step-copy p strong,
.flyer-text-only .sheet--umzug .pumzug-step-copy__lead {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 11.25pt;
  color: #4a1f26;
}

.flyer-text-only .sheet--umzug .pumzug-step__body strong,
.flyer-text-only .sheet--umzug .pumzug-benefits__title {
  font-weight: 800;
}

.flyer-text-only .card-benefit,
.flyer-text-only .issue-card p,
.flyer-text-only .check-item,
.flyer-text-only .faith-card p,
.flyer-text-only .compare-card .body {
  font-size: var(--text-body);
  font-weight: 500;
}

.flyer-text-only .card-benefit,
.flyer-text-only .check-item {
  font-weight: 600;
}

.flyer-text-only strong,
.flyer-text-only .cell strong {
  font-weight: 700;
}

/* S.8 — Ethische Grundlage (kompakt, ehem. eigene Faith-Seite) */
.recht-ethics-faith {
  margin-bottom: 3mm;
}

.recht-ethics-faith__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--gap);
}

.recht-ethics-faith__grid .cell p {
  margin: 1mm 0 0;
  font-size: var(--text-small);
  line-height: var(--lh-lead);
}

/* S.10 — Impressum & Dank (Vollfläche) */
.sheet--impressum {
  position: relative;
  isolation: isolate;
  background: #0f1418;
  overflow: hidden;
}

.sheet--impressum > .impressum-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.sheet--impressum .impressum-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
  display: block;
}

.sheet--impressum .impressum-bg__scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(248, 245, 240, 0.94) 0%,
    rgba(248, 245, 240, 0.55) 35%,
    rgba(248, 245, 240, 0.35) 55%,
    rgba(248, 245, 240, 0.92) 100%
  );
  pointer-events: none;
}

.sheet-frame--impressum-full {
  position: relative;
  z-index: 1;
  height: 100%;
}

.sheet-body--impressum {
  display: grid;
  gap: var(--gap);
  align-content: end;
  min-height: 0;
}

.impressum-panel {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid var(--gold-border);
  box-shadow: var(--shadow-card);
}

.impressum-thanks {
  text-align: center;
  font-weight: 600;
  margin: 0;
  padding: 0 4mm 2mm;
}

.sheet--impressum .mast-foot .row > span:first-child {
  color: var(--ink);
}

/* Browser-Vorschau: plakatartige Hero-Skala (rem), PDF-Druck bleibt in pt */
@media screen and (min-width: 768px) {
  .cover-hero-copy .display-sub {
    font-size: clamp(4.5rem, 5.8vw, 6rem);
    line-height: 1.08;
  }

  .sheet:not(.sheet--cover) .display {
    font-size: clamp(3.25rem, 4.2vw, 4.5rem);
  }

  .h-lg {
    font-size: clamp(2rem, 2.6vw, 2.75rem);
  }

  .h-md {
    font-size: clamp(1.35rem, 1.8vw, 1.65rem);
  }

  .body,
  .flyer-text-only .cell,
  .flyer-text-only .cell li {
    font-size: clamp(1.05rem, 1.15vw, 1.2rem);
  }

  .lead {
    font-size: clamp(1.15rem, 1.3vw, 1.35rem);
  }
}

@media print {
  @page {
    size: 210mm 297mm;
    margin: 0;
  }

  *,
  *::before,
  *::after {
    outline: none !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  html,
  body {
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }

  body.has-toolbar {
    padding-top: 0 !important;
  }

  .sheet {
    margin: 0 !important;
    box-shadow: none !important;
    width: 210mm !important;
    height: 297mm !important;
    overflow: hidden;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .sheet-frame--cover-full,
  .sheet-frame--loesung-full,
  .sheet-frame--umzug-full,
  .sheet-frame--faith-full {
    padding-bottom: 0 !important;
  }

  .sheet--framed .sheet-frame,
  body.flyer-wow .sheet--framed .sheet-frame,
  .sheet--inner.sheet--framed .sheet-frame,
  body.flyer-wow .sheet--inner.sheet--framed .sheet-frame {
    box-shadow: none !important;
    border: none !important;
  }

  .cover-wordmark,
  .cover-corner-badge,
  .cover-head-logo,
  .page-head--on-photo .gold-word,
  .cover-text-on-photo .gold-word {
    filter: none !important;
  }

  .cover-tagline,
  .cover-tagline__row,
  .benefit-line__label,
  .benefit-line__row,
  .benefit-strip--on-photo .benefit-line__label,
  .benefit-strip--on-photo .benefit-line__row,
  .cover-text-on-photo,
  .page-head--cover .h-lg,
  .page-head--cover .lead,
  .page-head--on-photo .h-lg,
  .page-head--on-photo .lead,
  .overlay-caption,
  .problem-fact-tile__text,
  .caption-line {
    text-shadow: none !important;
    background: transparent !important;
    background-color: transparent !important;
    box-decoration-break: clone;
  }

  .benefit-line__photo,
  body.flyer-wow .problem-fact-tile,
  body.flyer-wow .compare-hero,
  body.flyer-wow .stadt-split__photo,
  body.flyer-wow .vision-hero,
  body.flyer-wow .compare-card--visual,
  body.flyer-wow .problem-lehrer-banner,
  body.flyer-wow .overlay-stack--card,
  body.flyer-wow .cta-card,
  .finale-card__qr img,
  img {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
  }

  .sheet--finale .finale-card,
  .sheet--finale .finale-card__copy,
  .sheet--finale .finale-card__title,
  .sheet--finale .finale-card__text,
  .sheet--finale .finale-card__btn,
  .sheet--finale .finale-card__qr,
  .sheet--finale .finale-card__qr span {
    box-shadow: none !important;
    text-shadow: none !important;
    outline: none !important;
    background-color: transparent;
  }

  .sheet--finale .finale-card {
    background: linear-gradient(148deg, #356b5c 0%, var(--finale-forest-soft) 42%, #1a3d34 100%) !important;
  }

  .sheet--finale .finale-card--donate {
    background: linear-gradient(148deg, #3a6f5f 0%, #2a5246 40%, #243d36 100%) !important;
  }

  .sheet--finale .finale-card__btn {
    background: #fff !important;
  }

  .sheet--finale .finale-card__btn--donate {
    background: linear-gradient(180deg, #fffef9 0%, #fff0d4 100%) !important;
  }

  .sheet--finale .finale-card__qr img {
    background: #fff !important;
  }

  .sheet--last,
  .sheet:last-of-type {
    page-break-after: auto;
    break-after: auto;
  }

  .no-print,
  .brochure-toolbar {
    display: none !important;
  }
}

/* RTL flyer (Arabic) — toolbar + readable body text */
body.flyer-rtl {
  direction: rtl;
}
body.flyer-rtl .brochure-toolbar {
  direction: rtl;
}
body.flyer-rtl .overlay-caption--cinema,
body.flyer-rtl .pumzug-step-copy,
body.flyer-rtl .faith-poster__col {
  text-align: right;
}

/* ═══════════════════ KIRCHEN-DECKBLATT — Religiöses Premium-Cover für Kirchen ═══════════════════ */
/* Mix aus Deckblatt-Ästhetik + Seite "Die Taube als heiliges Tier" (Heiliger Geist).
   Kein technisches Konzept. Ehrfürchtig, so dass selbst der Papst umblättern würde.
   Gold, Licht, Sanftmut, hochwertige Typografie. */
.church-cover .church-scrim {
  background: linear-gradient(
    to bottom,
    rgba(20, 30, 28, 0.35) 0%,
    rgba(20, 30, 28, 0.55) 45%,
    rgba(15, 22, 20, 0.72) 100%
  );
}

.church-cover .church-title-wrap {
  margin-bottom: 6mm;
}

.church-cover .church-main-title {
  font-family: var(--font-display);
  font-size: var(--text-cover-title);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #fff;
  text-shadow: 0 1.5mm 4mm rgba(0,0,0,0.45);
  display: block;
}

.church-cover .church-tagline {
  font-size: 19pt;
  line-height: 1.25;
  color: #f4f0e6;
  text-shadow: 0 1mm 3mm rgba(0,0,0,0.4);
  margin-bottom: 8mm;
}

.church-cover .church-verse {
  margin: 0 0 8mm;
  max-width: 78%;
}

.church-cover .church-verse blockquote {
  font-family: var(--font-display);
  font-size: 15.5pt;
  line-height: 1.35;
  color: #f8f5ee;
  font-weight: 500;
  text-shadow: 0 1mm 3mm rgba(0,0,0,0.35);
  margin: 0 0 2mm;
  border: none;
}

.church-cover .church-verse figcaption {
  font-size: 11pt;
  color: rgba(248, 245, 238, 0.85);
  text-align: right;
  letter-spacing: 0.02em;
}

.church-cover .church-values .benefit-line__label {
  font-size: 13.5pt;
  color: #f4f0e6;
  text-shadow: 0 1mm 2.5mm rgba(0,0,0,0.3);
}

.church-cover .church-foot {
  margin-top: 5mm;
  text-align: center;
}

.church-cover .church-foot-note {
  font-size: 11pt;
  color: rgba(248, 245, 238, 0.92);
  text-align: center;
  letter-spacing: 0.04em;
  text-shadow: 0 1mm 2mm rgba(0,0,0,0.3);
  white-space: nowrap;
}

/* Toolbar link for church cover */
.brochure-toolbar .church-nav {
  background: var(--gold-bg);
  color: var(--gold-line);
  font-size: 15pt;
  padding: 1px 7px;
  border-radius: 3px;
  margin-right: 4px;
  text-decoration: none;
  font-weight: 600;
  border: 1px solid var(--gold-border);
}

.brochure-toolbar .church-nav:hover {
  background: var(--gold);
  color: white;
}

/* ═══════════════════ VORDERSEITE — Vier Weltreligionen als Hintergrund-Mosaik ═══════════════════ */
.faith-front {
  position: relative;
  overflow: hidden;
}

.faith-front .cover-corner-badge {
  display: none;
}

.faith-front > .sheet-frame {
  position: relative;
  z-index: 2;
  background: transparent;
}

.faith-front__mosaic {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: 1fr 1fr;
  gap: 0;
  background: #e8dfd0;
}

.faith-front__bg {
  position: relative;
  overflow: hidden;
  min-height: 0;
  border: none;
  box-sizing: border-box;
}

.faith-front__bg img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center center;
  filter: none;
}

.faith-front__bg--judaism img {
  object-position: center 35%;
}

.faith-front__bg--christianity img {
  object-position: center top;
}

.faith-front__bg--islam img {
  object-position: center 45%;
}

.faith-front__bg--buddhism img {
  object-position: center 42%;
}

.faith-front__bg--hinduism img {
  object-position: center 38%;
}

.faith-front__bg--aphrodite img {
  object-position: center 40%;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.sheet-body--faith-front {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100%;
  height: 100%;
  padding: 0;
  background: transparent;
}

.faith-front__center {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(96%, 252mm);
  margin-inline: auto;
}

.faith-front__center .cover-wordmark {
  width: min(252mm, 96%);
  max-height: 60mm;
}

.brochure-toolbar .front-nav {
  background: var(--gold-bg);
  color: var(--gold-line);
  font-size: 14pt;
  padding: 1px 7px;
  border-radius: 3px;
  margin-right: 4px;
  text-decoration: none;
  font-weight: 600;
  border: 1px solid var(--gold-border);
}

.brochure-toolbar .front-nav:hover {
  background: var(--gold);
  color: white;
}

/* ═══════════════════ KIRCHEN-DECKBLATT — Religiöses Premium-Cover für Kirchen ═══════════════════ */
/* Mix aus Deckblatt-Ästhetik + Seite "Die Taube als heiliges Tier" (Heiliger Geist).
   Kein technisches Konzept. Ehrfürchtig, so dass selbst der Papst umblättern würde.
   Gold, Licht, Sanftmut, hochwertige Typografie. */
.church-cover .church-scrim {
  background: linear-gradient(
    to bottom,
    rgba(20, 30, 28, 0.35) 0%,
    rgba(20, 30, 28, 0.55) 45%,
    rgba(15, 22, 20, 0.72) 100%
  );
}

.church-cover .church-title-wrap {
  margin-bottom: 6mm;
}

.church-cover .church-main-title {
  font-family: var(--font-display);
  font-size: var(--text-cover-title);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #fff;
  text-shadow: 0 1.5mm 4mm rgba(0,0,0,0.45);
  display: block;
}

.church-cover .church-tagline {
  font-size: 19pt;
  line-height: 1.25;
  color: #f4f0e6;
  text-shadow: 0 1mm 3mm rgba(0,0,0,0.4);
  margin-bottom: 8mm;
}

.church-cover .church-verse {
  margin: 0 0 8mm;
  max-width: 78%;
}

.church-cover .church-verse blockquote {
  font-family: var(--font-display);
  font-size: 15.5pt;
  line-height: 1.35;
  color: #f8f5ee;
  font-weight: 500;
  text-shadow: 0 1mm 3mm rgba(0,0,0,0.35);
  margin: 0 0 2mm;
  border: none;
}

.church-cover .church-verse figcaption {
  font-size: 11pt;
  color: rgba(248, 245, 238, 0.85);
  text-align: right;
  letter-spacing: 0.02em;
}

.church-cover .church-values .benefit-line__label {
  font-size: 13.5pt;
  color: #f4f0e6;
  text-shadow: 0 1mm 2.5mm rgba(0,0,0,0.3);
}

.church-cover .church-foot {
  margin-top: 5mm;
  text-align: center;
}

.church-cover .church-foot-note {
  font-size: 11pt;
  color: rgba(248, 245, 238, 0.92);
  text-align: center;
  letter-spacing: 0.04em;
  text-shadow: 0 1mm 2mm rgba(0,0,0,0.3);
  white-space: nowrap;
}

/* Toolbar link for church cover */
.brochure-toolbar .church-nav {
  background: var(--gold-bg);
  color: var(--gold-line);
  font-size: 15pt;
  padding: 1px 7px;
  border-radius: 3px;
  margin-right: 4px;
  text-decoration: none;
  font-weight: 600;
  border: 1px solid var(--gold-border);
}

.brochure-toolbar .church-nav:hover {
  background: var(--gold);
  color: white;
}