:root {
  /* Fallbacks — werden von Base.astro aus der Config überschrieben */
  --accent: #16a34a;
  --accent-dark: #15803d;
  --ink: #14241a;
  --muted: #5b6b61;
  --bg: #ffffff;
  --soft: #f3f8f4;
  --radius: 14px;
  --font-heading: Georgia, serif;
  --font-body: system-ui, sans-serif;
  --border: #e6ebe7;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }
body {
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--bg);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, .brand { font-family: var(--font-heading); letter-spacing: -0.015em; }

.container { max-width: 1100px; margin: 0 auto; padding: 0 1.5rem; }
.narrow { max-width: 760px; }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
  background: var(--accent); color: #fff; font-weight: 700; font-size: 1.05rem;
  font-family: var(--font-body);
  padding: 1rem 2.2rem; border: none; border-radius: var(--radius);
  cursor: pointer; text-decoration: none;
  transition: transform 0.15s ease, filter 0.15s ease, box-shadow 0.15s ease;
  box-shadow: 0 10px 28px color-mix(in srgb, var(--accent) 32%, transparent);
}
.btn:hover { transform: translateY(-2px); background: var(--accent-dark); }
.btn:disabled { opacity: 0.6; cursor: wait; transform: none; }
.btn--ghost {
  background: transparent; color: var(--accent);
  border: 2px solid var(--accent); box-shadow: none;
}
.btn--ghost:hover { background: var(--accent); color: #fff; }

/* ---------- Badges & chips ---------- */
.badge {
  display: inline-block; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.03em;
  text-transform: uppercase; color: var(--accent-dark);
  background: color-mix(in srgb, var(--accent) 14%, transparent);
  padding: 0.35rem 0.8rem; border-radius: 999px;
}
.trustrow {
  display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; color: var(--muted);
  font-size: 0.92rem; margin-top: 1rem;
}
.trustrow span { display: flex; align-items: center; gap: 0.4rem; }
.trustrow span::before { content: "✓"; color: var(--accent); font-weight: 800; }

/* ---------- NAV ---------- */
.nav {
  position: sticky; top: 0; z-index: 50;
  background: color-mix(in srgb, var(--bg) 88%, transparent);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--border);
}
.nav__inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.9rem 1.5rem; max-width: 1100px; margin: 0 auto; }
.brand { font-weight: 800; font-size: 1.35rem; display: flex; align-items: center; gap: 0.4rem; }
.nav__links { display: flex; gap: 1.6rem; }
.nav__links a { color: var(--ink); text-decoration: none; font-size: 0.95rem; font-weight: 500; opacity: 0.8; }
.nav__links a:hover { opacity: 1; color: var(--accent); }
.nav .btn { padding: 0.6rem 1.2rem; font-size: 0.95rem; }

/* ---------- Sections ---------- */
.section { padding: 5rem 0; }
.section.soft { background: var(--soft); }
.section h2 { font-size: clamp(1.8rem, 3vw, 2.4rem); text-align: center; margin-bottom: 0.6rem; }
.section .lead { text-align: center; color: var(--muted); max-width: 640px; margin: 0 auto 3rem; font-size: 1.1rem; }

/* ---------- HERO ---------- */
.hero-section { position: relative; overflow: hidden; }
.hero-bg {
  position: absolute; inset: 0; z-index: 0;
  background-size: cover; background-position: center;
}
.hero-overlay {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(90deg,
    color-mix(in srgb, var(--bg) 93%, transparent) 0%,
    color-mix(in srgb, var(--bg) 80%, transparent) 48%,
    color-mix(in srgb, var(--bg) 55%, transparent) 100%);
}
.hero-section .hero { position: relative; z-index: 2; }
.hero { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 3.5rem; align-items: center; padding: 4.5rem 0; }
.hero h1 { font-size: clamp(2.2rem, 5vw, 3.4rem); line-height: 1.08; font-weight: 800; }
.hero .sub { font-size: 1.25rem; color: var(--muted); margin-top: 1.1rem; }
.hero .problem { font-weight: 600; margin-top: 1rem; }
.hero .stat { background: var(--soft); border-left: 4px solid var(--accent); padding: 0.9rem 1.1rem; border-radius: 8px; margin: 1.4rem 0; font-size: 0.98rem; }
.price { font-size: 1.5rem; font-weight: 800; margin: 1.4rem 0 0.4rem; }
.price small { color: var(--muted); font-weight: 400; font-size: 1rem; vertical-align: middle; margin-left: 0.7rem; }
.price-old { text-decoration: line-through; color: var(--muted); font-weight: 400; margin: 0 0.15rem 0 0.7rem; opacity: 0.7; vertical-align: middle; }
.bigprice .price-old { font-size: 1.4rem; }
.socialproof { color: var(--muted); font-size: 0.92rem; margin-top: 1.2rem; }
.socialproof strong { color: var(--ink); }

ul.bullets { list-style: none; margin: 1.4rem 0; display: grid; gap: 0.55rem; }
ul.bullets li { display: flex; gap: 0.6rem; align-items: flex-start; }
ul.bullets li::before { content: "✓"; color: var(--accent); font-weight: 800; }

/* ---------- 3D Book Mockup ---------- */
.book-scene { perspective: 2000px; display: flex; justify-content: center; padding: 2rem 0; }
.book {
  position: relative; width: 260px; aspect-ratio: 1 / 1.5;
  transform-style: preserve-3d; transform: rotateY(-28deg) rotateX(4deg);
  transition: transform 0.6s ease;
}
.book:hover { transform: rotateY(-12deg) rotateX(2deg); }
.book__cover {
  position: absolute; inset: 0; border-radius: 0; overflow: hidden;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35); transform: translateZ(15px);
}
.book__cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.book__cover::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(105deg, rgba(255,255,255,0.28) 0%, rgba(255,255,255,0) 35%, rgba(255,255,255,0) 100%);
}
/* Buchrücken (linke Kante, gebunden) — 30px Dicke, an die Cover-Kante gesetzt */
.book__spine {
  position: absolute; left: 0; top: 0; width: 30px; height: 100%;
  background: linear-gradient(90deg, #00000066, #00000022);
  transform: translateX(-15px) rotateY(90deg);
  border-radius: 0;
}
/* Seitenblock (rechte Kante / Fore-Edge) */
.book__pages {
  position: absolute; right: 0; top: 0; width: 30px; height: 100%;
  background: repeating-linear-gradient(90deg, #e6e6e6, #e6e6e6 1px, #fbfbfb 1px, #fbfbfb 3px);
  transform: translateX(15px) rotateY(90deg);
  border-radius: 0;
}

/* ---------- Pain ---------- */
.pain-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.pain-card { background: var(--bg); border: 1px solid var(--border); border-radius: var(--radius); padding: 1.8rem; }
.pain-card h3 { font-size: 1.1rem; margin-bottom: 0.5rem; color: var(--accent-dark); }
.pain-card p { color: var(--muted); font-size: 0.97rem; }
.pullquote { text-align: center; font-family: var(--font-heading); font-size: 1.4rem; font-style: italic; max-width: 720px; margin: 3rem auto 0; color: var(--ink); }

/* ---------- Overview grid ---------- */
.grid3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.card { background: #fff; border: 1px solid var(--border); border-radius: var(--radius); padding: 1.8rem; }
.card .ico { font-size: 2rem; display: block; margin-bottom: 0.7rem; }
.card-img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 10px; margin-bottom: 0.9rem; }
.card--photo { padding: 0; overflow: hidden; }
.card-photo { aspect-ratio: 4/3; background-size: cover; background-position: center; display: flex; align-items: flex-end; padding: 1.2rem; position: relative; }
.card-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.6), rgba(0,0,0,0) 55%); }
.card-photo h3 { position: relative; z-index: 1; color: #fff; margin: 0; text-shadow: 0 1px 6px rgba(0,0,0,.5); }
.card--photo > p { padding: 1.3rem 1.5rem 1.6rem; color: var(--muted); }
.avatar { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.tcard .who { display: flex; align-items: center; gap: 0.7rem; }
.card h3 { font-size: 1.15rem; margin-bottom: 0.4rem; }
.card p { color: var(--muted); font-size: 0.97rem; }

/* ---------- Syllabus ---------- */
.modules { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.15rem; }
.module { border: 1px solid var(--border); border-radius: var(--radius); padding: 1.35rem 1.4rem; background: #fff; position: relative; }
.module__num { position: absolute; top: -14px; left: 1.6rem; width: 34px; height: 34px; border-radius: 50%; background: var(--accent); color: #fff; display: grid; place-items: center; font-weight: 800; font-family: var(--font-body); }
.module h3 { font-size: 1.2rem; margin: 0.5rem 0 0.9rem; }
.module ul { list-style: none; display: grid; gap: 0.4rem; }
.module li { display: flex; gap: 0.5rem; font-size: 0.95rem; color: var(--muted); }
.module li::before { content: "—"; color: var(--accent); }

/* ---------- Gallery / Leseprobe ---------- */
.gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.2rem; }
.gitem { margin: 0; cursor: zoom-in; }
.gitem .frame {
  position: relative; border-radius: var(--radius); overflow: hidden;
  border: 1px solid var(--border); background: #fff;
  box-shadow: 0 10px 30px rgba(0,0,0,0.07);
  aspect-ratio: 1240 / 1754; transition: transform 0.2s ease;
}
.gitem:hover .frame { transform: translateY(-4px); }
.gitem img, .gitem video { width: 100%; height: 100%; object-fit: cover; display: block; }
.gitem .play {
  position: absolute; inset: 0; display: grid; place-items: center;
  background: rgba(0,0,0,0.25); color: #fff; font-size: 2.5rem;
}
.gitem figcaption { text-align: center; margin-top: 0.7rem; font-size: 0.9rem; color: var(--muted); }

/* Lightbox */
.lightbox {
  position: fixed; inset: 0; z-index: 100; display: none;
  align-items: center; justify-content: center; padding: 2rem;
  background: rgba(0,0,0,0.85); backdrop-filter: blur(4px);
}
.lightbox.open { display: flex; }
.lightbox img, .lightbox video { max-width: 92vw; max-height: 88vh; border-radius: 8px; box-shadow: 0 20px 60px rgba(0,0,0,0.5); }
.lightbox .close { position: absolute; top: 1.2rem; right: 1.6rem; color: #fff; font-size: 2.5rem; cursor: pointer; line-height: 1; background: none; border: none; }

/* ---------- Bonus ---------- */
.bonus-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; max-width: 820px; margin: 0 auto; }
.bonus-card { background: #fff; border: 2px dashed var(--accent); border-radius: var(--radius); padding: 1.8rem; position: relative; }
/* WERT-Badge im Button-Look (gefuellter Accent, weisse Schrift, Schatten) — wie die Kauf-Buttons */
.bonus-card .value {
  position: absolute; top: 1rem; right: 1rem;
  background: var(--accent); color: #fff;
  font-weight: 800; font-size: 0.82rem; letter-spacing: 0.02em;
  padding: 0.5rem 1rem; border-radius: 999px;
  box-shadow: 0 8px 22px color-mix(in srgb, var(--accent) 40%, transparent);
}
.bonus-card h3 { margin-bottom: 0.5rem; padding-right: 4rem; }
.bonus-card p { color: var(--muted); font-size: 0.95rem; }
.bonus-total { text-align: center; margin-top: 2.5rem; font-size: 1.2rem; }
.bonus-total strong { color: var(--accent-dark); }

/* ---------- Learnings ---------- */
.learn { columns: 2; column-gap: 2.5rem; max-width: 820px; margin: 0 auto; }
.learn li { break-inside: avoid; list-style: none; display: flex; gap: 0.6rem; margin-bottom: 0.9rem; }
.learn li::before { content: "✓"; color: var(--accent); font-weight: 800; }

/* ---------- Testimonials (shared style — both engines) ---------- */
.tgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 330px)); gap: 1.4rem; justify-content: center; }
.tcard { background: #faf7f2; border: 1px solid var(--border); border-radius: var(--radius); padding: 2.1rem 1.7rem; text-align: center; display: flex; flex-direction: column; align-items: center; }
.tc-avatar { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; }
.tc-quote { font-style: italic; line-height: 1.65; margin-bottom: 1.1rem; color: var(--ink); }
.tc-who { display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 0.7rem; }
.tc-who-tx { display: flex; flex-direction: column; align-items: flex-start; gap: 0.15rem; }
.tc-who strong { font-weight: 700; color: var(--ink); }
.tc-meta { color: var(--muted); font-size: 0.9rem; }
.rating { text-align: center; margin-top: 2rem; font-weight: 600; color: var(--muted); }

/* ---------- Fit ---------- */
.fit-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.fit-card { text-align: center; padding: 1.8rem; }
.fit-card h3 { color: var(--accent-dark); margin-bottom: 0.5rem; }
.fit-card p { color: var(--muted); }

/* ---------- Author ---------- */
.author-box { display: flex; gap: 1.8rem; align-items: center; }
.author-avatar { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; flex-shrink: 0; box-shadow: 0 10px 30px rgba(0,0,0,.12); }
.author-eyebrow { text-transform: uppercase; letter-spacing: .08em; font-size: .78rem; font-weight: 700; color: var(--accent); }
.author-name { font-size: 1.4rem; margin: .2rem 0 .6rem; }
.author-name span { color: var(--muted); font-weight: 400; font-size: 1rem; }
.author-box p { color: var(--muted); }

/* ---------- Offer box ---------- */
.offer-box { max-width: 620px; margin: 0 auto; background: #fff; border: 1px solid var(--border); border-radius: 20px; padding: 2.5rem; box-shadow: 0 24px 60px rgba(0,0,0,0.08); text-align: center; }
.offer-box ul { list-style: none; text-align: left; display: grid; gap: 0.7rem; margin: 1.5rem 0; }
.offer-box li { display: flex; gap: 0.6rem; }
.offer-box li::before { content: "✓"; color: var(--accent); font-weight: 800; }
.offer-box .oldval { color: var(--muted); }
.offer-box .bigprice { font-size: 2.4rem; font-weight: 800; font-family: var(--font-heading); margin: 0.3rem 0; }
.offer-box .fine { color: var(--muted); font-size: 0.85rem; margin-bottom: 1.5rem; }

/* ---------- FAQ ---------- */
.faq details { border-bottom: 1px solid var(--border); padding: 1.2rem 0; }
.faq summary { font-weight: 600; cursor: pointer; font-size: 1.05rem; list-style: none; display: flex; justify-content: space-between; }
.faq summary::after { content: "+"; color: var(--accent); font-weight: 800; }
.faq details[open] summary::after { content: "–"; }
.faq p { color: var(--muted); margin-top: 0.7rem; }

/* ---------- Final CTA ---------- */
.cta { text-align: center; padding: 5.5rem 0; }
.cta h2 { font-size: clamp(1.8rem,3vw,2.4rem); margin-bottom: 1.5rem; }
.cta .tagline { color: var(--muted); margin-top: 1.2rem; }

/* ---------- Sticky Buy Bar ---------- */
.sticky-buy {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
  background: color-mix(in srgb, var(--bg) 95%, transparent);
  backdrop-filter: blur(12px); border-top: 1px solid var(--border);
  box-shadow: 0 -6px 24px rgba(0,0,0,.08);
  transform: translateY(110%); transition: transform .28s ease;
}
.sticky-buy.visible { transform: translateY(0); }
.sticky-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .7rem 1.5rem; }
.sticky-info { display: flex; flex-direction: column; line-height: 1.25; }
.sticky-info strong { font-size: .95rem; }
.sticky-price { font-size: .95rem; font-weight: 800; }
.sticky-buy .btn { padding: .75rem 1.6rem; white-space: nowrap; }
@media (max-width: 600px) {
  .sticky-info strong { display: none; }
  .sticky-inner { padding: .55rem .9rem; }
  .sticky-buy .btn { flex: 1; }
}

/* ---------- Footer ---------- */
footer { background: var(--ink); color: #fff; padding: 3rem 0; }
footer .container { display: grid; gap: 0.6rem; text-align: center; font-size: 0.9rem; opacity: 0.85; }
footer a { color: #fff; text-decoration: underline; opacity: 0.8; }
footer .flinks { display: flex; gap: 1.2rem; justify-content: center; flex-wrap: wrap; margin: 0.5rem 0; }

/* ---------- Responsive ---------- */
@media (max-width: 880px) {
  .hero { grid-template-columns: 1fr; text-align: center; }
  .hero .stat { text-align: left; }
  ul.bullets, .trustrow { justify-content: center; }
  .pain-grid, .grid3, .modules, .bonus-grid, .tgrid, .fit-grid { grid-template-columns: 1fr; }
  .learn { columns: 1; }
  .nav__links { display: none; }
}

/* ============ Mehr Farbe ============ */
/* Hero bekommt einen sanften Marken-Verlauf, auch ohne Hintergrundbild */
.hero-section:not(.has-bg) {
  background:
    radial-gradient(1100px 520px at 85% -8%, color-mix(in srgb, var(--accent) 20%, transparent), transparent 60%),
    radial-gradient(900px 520px at -10% 115%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 55%),
    linear-gradient(180deg, var(--soft), var(--bg) 72%);
}
/* Akzent-Unterstrich unter jeder Section-Überschrift */
.section h2, .cta h2 { position: relative; }
.section h2::after, .cta h2::after {
  content: ""; display: block; width: 56px; height: 4px; border-radius: 3px; margin: .85rem auto 0;
  background: linear-gradient(90deg, var(--accent), var(--accent-dark));
}
/* Marke + Pullquote farbig */
.brand { color: var(--accent-dark); }
.pullquote { color: var(--accent-dark); }
/* Karten: Akzent-Hover (Rand + farbiger Schatten + leichtes Anheben) */
.card, .pain-card, .module, .tcard, .fit-card, .bonus-card { transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.card:hover, .pain-card:hover, .module:hover, .tcard:hover, .fit-card:hover {
  border-color: color-mix(in srgb, var(--accent) 45%, var(--border));
  box-shadow: 0 14px 34px color-mix(in srgb, var(--accent) 16%, transparent);
  transform: translateY(-3px);
}
/* Offer-Box & Hero-Stat kräftiger */
.offer-box { border-top: 5px solid var(--accent); }
.hero .stat { background: color-mix(in srgb, var(--accent) 9%, var(--bg)); }
.badge { background: color-mix(in srgb, var(--accent) 16%, transparent); }
/* Final-CTA: kräftiger Marken-Verlauf, weißer Text + weißer Button */
.cta.soft { background: linear-gradient(135deg, var(--accent), var(--accent-dark)); color: #fff; }
.cta.soft h2 { color: #fff; }
.cta.soft h2::after { background: rgba(255,255,255,.85); }
.cta.soft .tagline { color: rgba(255,255,255,.88); }
.cta.soft .btn { background: #fff; color: var(--accent-dark); box-shadow: 0 12px 30px rgba(0,0,0,.20); }
.cta.soft .btn:hover { background: #fff; filter: brightness(.95); }

/* === Redesign: visueller Bonus + Autor 2-spaltig (Text links / Hochkant-Foto rechts) === */
.bonus-card.has-img { padding-top: 0; overflow: hidden; }
.bonus-card .bonus-img { margin: 0 -1.8rem 1.2rem; aspect-ratio: 16 / 10; overflow: hidden; background: color-mix(in srgb, var(--accent) 8%, var(--bg)); }
.bonus-card .bonus-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bonus-card.has-img .value { top: 0.8rem; right: 0.8rem; }
.bonus-cta .btn { min-width: 280px; }

.author-box { display: grid; grid-template-columns: 1.4fr 1fr; gap: 2.6rem; align-items: center; }
.author-photo img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: var(--radius); display: block; box-shadow: 0 18px 44px rgba(0,0,0,.16); }
@media (max-width: 760px) {
  .author-box { grid-template-columns: 1fr; }
  .author-photo { max-width: 320px; margin: 0 auto; }
}

/* === Finaler Kauf-CTA: groesser ziehen (hoeher + laenger) === */
.cta .btn { padding: 1.4rem 4rem; font-size: 1.2rem; min-width: 360px; }
@media (max-width: 560px) { .cta .btn { min-width: 0; width: 100%; padding: 1.3rem 1.5rem; } }

/* === Dark Mode (pro Shop im Builder schaltbar: theme.darkDefault -> <html data-theme="dark">; gilt fuer ALLE Besucher, kein Toggle) === */
/* :root[...] -> hoehere Spezifitaet als die Inline-<style>:root{themeVars} (sonst gewinnt #fff per Reihenfolge) */
:root[data-theme="dark"] {
  --ink: #e8edf1;
  --muted: #9aa6b0;
  --bg: #0f1217;
  --soft: #171c23;
  --border: #2a313b;
}
[data-theme="dark"] body { color: var(--ink); background: var(--bg); }
[data-theme="dark"] .card,
[data-theme="dark"] .module,
[data-theme="dark"] .bonus-card,
[data-theme="dark"] .tcard,
[data-theme="dark"] .offer-box,
[data-theme="dark"] .gitem { background: var(--soft); }
[data-theme="dark"] .offer-box { box-shadow: 0 24px 60px rgba(0,0,0,0.5); }
[data-theme="dark"] footer { background: #090b0e; }

/* === Custom-Logo (generiertes Icon) im Markentitel — ersetzt das Standard-Emoji === */
.brand-logo { height: 1.5em; width: 1.5em; object-fit: contain; vertical-align: -0.34em; margin-right: 0.12em; border-radius: 7px; }
.tagline .brand-logo { height: 1.3em; width: 1.3em; vertical-align: -0.28em; }

/* ── Zwei-Tier-Angebot (Standard / Premium) ── */
.tiers{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:920px;margin:2.5rem auto 0;align-items:stretch}
@media(max-width:760px){.tiers{grid-template-columns:1fr}}
.tier{position:relative;display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:1.9rem 1.7rem;min-width:0;overflow-wrap:anywhere}
.tier--premium{border:2px solid var(--accent);box-shadow:0 12px 44px rgba(0,0,0,.20)}
.tier-badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--accent);color:#fff;font-size:.72rem;font-weight:800;padding:.32rem .95rem;border-radius:999px;white-space:nowrap;text-transform:uppercase;letter-spacing:.03em}
.tier-name{font-family:var(--font-heading);font-size:1.15rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--accent)}
.tier-price{font-size:2.05rem;font-weight:800;margin:.45rem 0 1.1rem;line-height:1.1}
.tier-price small{font-size:.78rem;font-weight:400;color:var(--muted);display:block;margin-top:.2rem}
.tier ul{list-style:none;padding:0;margin:0 0 1.3rem;flex:1}
.tier li{padding:.42rem 0 .42rem 1.7rem;position:relative;font-size:.97rem;line-height:1.4}
.tier li::before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:800}
.tier--premium li::before{content:"◆"}
.addaudio{display:flex;align-items:center;gap:.55rem;font-size:.9rem;background:var(--soft);border:1px dashed var(--border);border-radius:9px;padding:.65rem .8rem;margin-bottom:1rem;cursor:pointer}
.addaudio strong{margin-left:auto;color:var(--accent);white-space:nowrap}
.tier-btn{margin-top:auto}

/* ==== Premium-Bundle-Tiers mit Buch (breiter, Premium klar dominanter) ==== */
.wide-offer{max-width:1180px}
.tiers--book{grid-template-columns:1fr 1.32fr;max-width:1180px;gap:1.8rem;align-items:start;margin-top:3rem}
@media(max-width:760px){.tiers--book{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;gap:.9rem;padding:.4rem 1.2rem 1rem;margin-left:-1.2rem;margin-right:-1.2rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tiers--book::-webkit-scrollbar{display:none}.tiers--book>.tier{flex:0 0 84%;scroll-snap-align:center;min-width:0}.tiers--book>.tier--premium{margin-top:0}}
.tiers--book .tier{padding:1.7rem 1.6rem}
.tier-book{display:flex;justify-content:center}
.tier-book .book-scene{padding:.2rem 0 1.1rem;perspective:1400px}
.tier-book .book{width:150px}
.tiers--book .tier--premium .tier-book .book{width:150px}
.tier-head{text-align:center;margin-bottom:.2rem}
.tiers--book .tier-name{font-family:var(--font-heading);font-size:1.5rem;text-transform:none;letter-spacing:0;color:var(--ink);font-weight:800;line-height:1.15}
.tiers--book .tier--premium .tier-name{color:var(--accent-dark,var(--accent))}
.tier-tag{font-style:italic;color:var(--muted);font-size:.95rem;margin:.35rem 0 0;line-height:1.35}
.tier-priceblock{text-align:center;margin:1rem 0 1.1rem}
.tier-priceline{display:flex;align-items:baseline;justify-content:center;gap:.5rem}
.tiers--book .tier-price{font-size:2.4rem;font-weight:800;margin:0;line-height:1}
.tiers--book .tier--premium .tier-price{font-size:3rem}
.tier-oldprice{text-decoration:line-through;color:var(--muted);font-size:1.15rem;font-weight:600}
.tier-save{color:var(--accent);font-weight:800;font-size:.82rem;letter-spacing:.03em;text-transform:uppercase;margin-top:.35rem}
.tier-feat{list-style:none;padding:0;margin:0 0 1.2rem}
.tier-allin{text-align:center;font-weight:700;font-size:.95rem;color:var(--ink);background:color-mix(in srgb,var(--accent) 12%,transparent);border-radius:10px;padding:.6rem;margin:0 0 .7rem}
.tier-audio{text-align:center;font-weight:600;font-size:.92rem;color:var(--ink);background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:10px;padding:.55rem;margin:0 0 1rem}
.tier-audio strong{color:var(--accent-dark,var(--accent))}
.tier-bonuses{border:1px dashed color-mix(in srgb,var(--accent) 55%,transparent);border-radius:12px;padding:1rem 1.1rem;margin:0 0 1.3rem;background:color-mix(in srgb,var(--accent) 6%,transparent)}
.tier-bonuses-h{text-align:center;font-weight:800;text-transform:uppercase;font-size:.78rem;letter-spacing:.05em;color:var(--accent-dark,var(--accent));margin-bottom:.7rem}
.tbonus{display:grid;grid-template-columns:auto 1fr auto;gap:.6rem;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border)}
.tbonus:last-child{border-bottom:0}
.tbonus-tag{background:var(--accent);color:#fff;font-size:.6rem;font-weight:800;padding:.22rem .5rem;border-radius:5px;text-transform:uppercase;white-space:nowrap;letter-spacing:.03em}
.tbonus-title{font-size:.92rem;line-height:1.3}
.tbonus-val{font-style:italic;color:var(--accent-dark,var(--accent));font-size:.82rem;white-space:nowrap;font-weight:600}
.tier-secure{text-align:center;font-size:.7rem;color:var(--muted);margin-top:.85rem;text-transform:uppercase;letter-spacing:.04em}
.tiers--book .tier--premium{padding-top:0;overflow:hidden;border-width:2px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 9%,var(--bg)),var(--bg) 62%);box-shadow:0 22px 60px rgba(0,0,0,.22)}
.tier-ribbon{margin:0 -1.6rem 1.2rem;padding:.62rem 1rem;background:linear-gradient(90deg,var(--accent-dark,var(--accent)),var(--accent));color:#fff;text-align:center;font-weight:800;text-transform:uppercase;font-size:.76rem;letter-spacing:.05em}
.tr-stars{margin-right:.35rem}
.tiers--book .tier--premium .tier-btn.primary{padding:1.05rem}

/* Hero: kompaktes Zwei-Paket-Angebot (beide Optionen in der ersten Frame) */
.hero-offer2{display:grid;grid-template-columns:1fr 1.12fr;gap:.7rem;margin:1.4rem 0 .3rem;max-width:540px}
@media(max-width:560px){.hero-offer2{grid-template-columns:1fr}}
.hoc{position:relative;display:flex;flex-direction:column;gap:.12rem;text-align:left;background:var(--bg);border:1.5px solid var(--border);border-radius:14px;padding:.95rem 1rem;cursor:pointer;font-family:inherit;transition:transform .15s ease,box-shadow .15s ease}
.hoc:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.13)}
.hoc--prem{border-color:var(--accent);border-width:2px;background:color-mix(in srgb,var(--accent) 8%,var(--bg));box-shadow:0 12px 34px color-mix(in srgb,var(--accent) 20%,transparent);padding-top:1.35rem}
.hoc-badge{position:absolute;top:-11px;left:.9rem;background:var(--accent);color:#fff;font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;padding:.22rem .55rem;border-radius:999px;white-space:nowrap}
.hoc-name{font-family:var(--font-heading);font-weight:800;font-size:1rem;color:var(--ink)}
.hoc-price{font-weight:800;font-size:1.4rem;color:var(--ink);line-height:1.1}
.hoc--prem .hoc-price{font-size:1.65rem;color:var(--accent-dark,var(--accent))}
.hoc-price s{font-size:.82rem;color:var(--muted);font-weight:600}
.hoc-line{font-size:.76rem;color:var(--muted)}
.hoc-btn{margin-top:.6rem;text-align:center;background:var(--soft);color:var(--ink);font-weight:800;font-size:.82rem;padding:.6rem;border-radius:10px}
.hoc-btn.primary{background:var(--accent);color:#fff}
.hero-offer2-note{font-size:.78rem;color:var(--muted);margin:.2rem 0 0}

/* Audiobook-Upsell-Popup */
.audio-upsell{position:fixed;inset:0;z-index:9998;display:flex;align-items:center;justify-content:center;padding:1.2rem;background:rgba(15,20,25,.55);opacity:0;pointer-events:none;transition:opacity .2s}
.audio-upsell.open{opacity:1;pointer-events:auto}
.audio-upsell .au-card{background:var(--bg);border-radius:var(--radius);max-width:420px;width:100%;padding:2rem 1.8rem;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.3);transform:translateY(10px);transition:transform .2s}
.audio-upsell.open .au-card{transform:none}
.audio-upsell .au-ic{font-size:2.2rem;margin-bottom:.3rem}
.audio-upsell h3{font-family:var(--font-heading);font-size:1.4rem;margin:0 0 .6rem;color:var(--ink)}
.audio-upsell p{color:var(--muted);line-height:1.55;margin:0 0 1.4rem;font-size:.98rem}
.audio-upsell .au-yes{display:block;width:100%;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);padding:1rem;font-size:1rem;font-weight:700;cursor:pointer;margin-bottom:.55rem}
.audio-upsell .au-yes:hover{opacity:.92}
.audio-upsell .au-no{display:block;width:100%;background:none;border:none;color:var(--muted);padding:.55rem;font-size:.9rem;cursor:pointer}
.audio-upsell .au-no:hover{color:var(--ink)}


/* ── Dual-Angebot als Vollbild-Hintergrund-Hero mit Glas-Tiers (Option 2) ── */
.offer-hero { padding: 3rem 0 3.6rem; text-align: center; }
.offer-hero .hero-overlay { background: color-mix(in srgb, var(--bg) 74%, transparent); }
.offer-hero > .container { position: relative; z-index: 2; }
.offer-hero .badge { display: inline-block; margin-bottom: .35rem; }
.offer-hero-title { font-family: var(--font-heading); font-weight: 800; font-size: clamp(2rem, 5vw, 3.2rem); line-height: 1.1; margin: .5rem 0 .45rem; }
.offer-hero-sub { color: var(--muted); font-size: 1.1rem; max-width: 640px; margin: 0 auto 1rem; }
.offer-hero .tiers--book { margin-top: 2.2rem; text-align: left; }
.offer-hero-fine { text-align: center; margin-top: 1.3rem; }
.offer-hero-sp { text-align: center; margin-top: 1rem; }
/* Frosted-Glass-Karten auf dem Foto */
.tiers--glass .tier { background: color-mix(in srgb, var(--bg) 58%, transparent); -webkit-backdrop-filter: blur(16px) saturate(1.15); backdrop-filter: blur(16px) saturate(1.15); border: 1px solid color-mix(in srgb, #ffffff 45%, transparent); box-shadow: 0 24px 70px rgba(0,0,0,.22); }
.tiers--glass .tier--premium { background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 20%, color-mix(in srgb, var(--bg) 50%, transparent)), color-mix(in srgb, var(--bg) 62%, transparent)); border-color: color-mix(in srgb, var(--accent) 55%, transparent); }
@media (max-width: 760px) { .offer-hero .tiers--book { margin-left: -1.2rem; margin-right: -1.2rem; } }


/* Hero-Buch dezent groesser (Single/Story-Hero) */
.hero .book{width:300px}
@media(max-width:820px){.hero .book{width:220px}}


/* === Bonus-Karten Redesign: cleane Karten, Icon + Wert-Pill (kein Strichrand, kein Overlap) === */
.bonus-grid{grid-template-columns:repeat(auto-fit,minmax(240px,330px));justify-content:center;gap:1.3rem;max-width:1060px}
.bonus-card2{display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);padding:1.5rem 1.5rem 1.6rem;box-shadow:0 10px 30px rgba(0,0,0,.06);transition:transform .15s ease,box-shadow .15s ease;overflow:hidden}
.bonus-card2:hover{transform:translateY(-3px);box-shadow:0 20px 46px rgba(0,0,0,.11)}
.bonus-card2-top{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:1.05rem}
.bonus-card2-ico{width:46px;height:46px;flex:0 0 auto;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;background:color-mix(in srgb,var(--accent) 14%,transparent)}
.bonus-card2-val{background:var(--accent);color:#fff;font-weight:800;font-size:.76rem;letter-spacing:.02em;padding:.42rem .82rem;border-radius:999px;white-space:nowrap;box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 32%,transparent)}
.bonus-card2-body h3{font-size:1.1rem;line-height:1.3;margin:0 0 .5rem}
.bonus-card2-body p{color:var(--muted);font-size:.94rem;line-height:1.5;margin:0}
.bonus-card2.has-img{padding:0}
.bonus-card2-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:color-mix(in srgb,var(--accent) 8%,var(--bg))}
.bonus-card2-img img{width:100%;height:100%;object-fit:cover;display:block}
.bonus-card2-val.on-img{position:absolute;top:.8rem;right:.8rem}
.bonus-card2.has-img .bonus-card2-body{padding:1.4rem 1.5rem 1.6rem}
[data-theme="dark"] .bonus-card2{background:var(--soft)}

/* === Untere Angebots-Karte (Single): 2-Spalten, Buch + Preis, hochwertig === */
.offer-final{display:grid;grid-template-columns:auto 1fr;gap:2.6rem;align-items:center;max-width:880px;margin:2.5rem auto 0;background:var(--bg);border:1px solid var(--border);border-radius:calc(var(--radius) + 6px);padding:2.6rem 2.8rem;box-shadow:0 26px 74px rgba(0,0,0,.12)}
[data-theme="dark"] .offer-final{background:var(--soft)}
.offer-final-book{display:flex;justify-content:center}
.offer-final-book .book{width:255px}
.offer-final-main .badge{margin-bottom:.5rem}
.offer-final-tag{font-style:italic;color:var(--muted);margin:.1rem 0 1.1rem;font-size:1.02rem}
.offer-final-feat{list-style:none;padding:0;margin:0 0 1.1rem}
.offer-final-feat li{padding:.42rem 0 .42rem 1.8rem;position:relative;font-size:1rem;line-height:1.4}
.offer-final-feat li::before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:800}
.offer-final-oldval{color:var(--muted);font-size:.95rem;margin:0 0 .35rem}
.offer-final-priceline{display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap}
.offer-final-price{font-family:var(--font-heading);font-size:2.35rem;font-weight:800;line-height:1.04}
.offer-final-old{text-decoration:line-through;color:var(--muted);font-size:1.25rem;font-weight:600}
.offer-final-save{color:var(--accent);font-weight:800;font-size:.85rem;letter-spacing:.03em;text-transform:uppercase;margin:.4rem 0 .1rem}
.offer-final-btn{width:100%;margin-top:1.1rem;padding:1rem}
.offer-final-fine{margin-top:.9rem}
@media(max-width:820px){.offer-final{grid-template-columns:1fr;text-align:center;padding:2rem 1.5rem;gap:1.6rem}.offer-final-book .book{width:200px}.offer-final-feat{text-align:left;display:inline-block;margin:0 auto 1.1rem}.offer-final-priceline{justify-content:center}}
@media(max-width:900px){.bonus-grid{grid-template-columns:1fr;max-width:520px}}

/* Fine-Print der Angebots-Karte einzeilig (Mobil darf umbrechen) */
.offer-final-fine{font-size:.8rem;white-space:normal;letter-spacing:0;overflow-wrap:anywhere;max-width:640px;margin-left:auto;margin-right:auto;line-height:1.5}
@media(max-width:820px){.offer-final-fine{white-space:normal;font-size:.76rem}}

/* Fine-Print mittig unter dem Button */
.offer-final-fine{text-align:center}

/* Untere Angebots-Sektion mit Hero-Hintergrund wie oben */
.offer-final-sec{position:relative;overflow:hidden}
.offer-final-sec>.container{position:relative;z-index:2}
.offer-final-sec .hero-overlay{background:color-mix(in srgb,var(--bg) 78%,transparent)}

/* Buch in Angebots-Karte groesser */
.offer-final{gap:2.9rem}

/* Bonus-Gesamtwert: alter Wert normal + rot durchgestrichen, Preis fett */
.bonus-total .bonus-old{font-weight:400;color:var(--ink);opacity:1;text-decoration:line-through;text-decoration-color:#e11d1d;text-decoration-thickness:1.5px}

/* rollezeile 21.09: Autor-Rolle als eigene Zeile (nur Shops mit author.rolleZeile) */
.author-role{color:var(--muted);font-size:1rem;margin:-.35rem 0 .9rem;white-space:nowrap}
@media (max-width:640px){.author-role{white-space:normal}}

/* === Opt-in Handy-Layouts (cfg.mobil_layout = "a" | "b" | "c" -> <div class="mv mv-x">) ===
   Greift NUR unter .mv-a/.mv-b/.mv-c UND nur bis 760px Breite. Ohne Feld: keine Aenderung. */
.mv-menu { display: none; }
@media (max-width: 760px) {
  /* --- gemeinsame Korrekturen (A, B, C) --- */
  .mv .container.hero { padding: 2.2rem 1.25rem 2.4rem; gap: 1.2rem; }
  .mv .hero .sub { font-size: 1.08rem; line-height: 1.55; }
  .mv ul.bullets { justify-items: start; text-align: left; max-width: 30rem; margin-left: auto; margin-right: auto; }
  .mv ul.bullets li { gap: .55rem; }
  .mv .nav__inner { padding: .6rem 1rem; gap: .6rem; }
  .mv .brand { font-size: 1.08rem; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .mv .brand .brand-logo { flex: none; }
  .mv .nav .btn { padding: .5rem .85rem; font-size: .85rem; white-space: nowrap; flex: none; }
  .mv .faq summary { gap: 1rem; align-items: flex-start; }
  .mv .faq summary::after { flex: none; width: 1.2rem; text-align: center; }
  .mv .section { padding: 3.6rem 0; }
  .mv .container { padding-left: 1.25rem; padding-right: 1.25rem; }

  /* --- A: aufgeraeumt (gleiche Reihenfolge, ruhiger) --- */
  .mv-a .hero h1, .mv-b .hero h1 { font-size: 2rem; }
  .mv-a .hero .book-scene { padding: .6rem 0 0; }
  .mv-a .hero .book { width: 185px; }
  .mv-a .hero .trustrow { gap: .5rem 1rem; font-size: .86rem; }
  .mv-a .hero .price { margin-top: 1rem; }

  /* --- B: Cover zuerst + feste Kaufleiste unten --- */
  .mv-b .container.hero { padding-top: 1.2rem; }
  .mv-b .hero .book-scene { order: -1; padding: .4rem 0 0; }
  .mv-b .hero .book { width: 150px; }
  .mv-b .hero > div > .price, .mv-b .hero > div > .btn { display: none; }
  .mv-b .hero .trustrow { gap: .5rem 1rem; font-size: .86rem; }
  .mv-b .nav .btn { display: none; }
  .mv-b .sticky-buy { transform: translateY(0); }
  .mv-b footer { padding-bottom: 6.5rem; }

  /* --- C: kompakt / Karten + Menue-Button --- */
  .mv-c .nav__inner { gap: .45rem; }
  .mv-c .nav .btn { display: none; }
  .mv-c .sticky-buy { transform: translateY(0); }
  .mv-c footer { padding-bottom: 6.5rem; }
  .mv-c .brand { margin-right: auto; }
  .mv-c .mv-menu { display: block; position: relative; flex: none; }
  .mv-c .mv-menu summary { list-style: none; cursor: pointer; width: 2.4rem; height: 2.4rem; display: grid; place-items: center; border: 1px solid var(--border); border-radius: 10px; font-size: 1.2rem; color: var(--ink); background: var(--bg); }
  .mv-c .mv-menu summary::-webkit-details-marker { display: none; }
  .mv-c .mv-menu__panel { position: absolute; right: 0; top: calc(100% + .5rem); min-width: 200px; background: var(--bg); border: 1px solid var(--border); border-radius: 12px; box-shadow: 0 16px 40px rgba(0,0,0,.18); padding: .4rem; display: grid; z-index: 70; }
  .mv-c .mv-menu__panel a { padding: .7rem .9rem; color: var(--ink); text-decoration: none; font-weight: 600; border-radius: 8px; }
  .mv-c .mv-menu__panel a:active, .mv-c .mv-menu__panel a:hover { background: var(--soft); color: var(--accent-dark); }
  .mv-c .hero { text-align: left; }
  .mv-c .hero h1 { font-size: 2rem; }
  .mv-c .hero .badge { margin-bottom: .2rem; }
  .mv-c ul.bullets { margin: 1.1rem 0; padding: 1rem 1.1rem; background: color-mix(in srgb, var(--bg) 90%, transparent); border: 1px solid var(--border); border-radius: var(--radius); font-size: .95rem; max-width: none; }
  .mv-c .hero .price { margin-top: .6rem; }
  .mv-c .hero > div > .btn { width: 100%; }
  .mv-c .hero .trustrow { justify-content: flex-start; gap: .4rem .9rem; font-size: .84rem; }
  .mv-c .hero .book-scene { padding: .2rem 0 0; }
  .mv-c .hero .book { width: 160px; }
  .mv-c .section { padding: 2.8rem 0; }
  .mv-c .section h2, .mv-c .cta h2 { font-size: 1.6rem; }
  .mv-c .modules, .mv-c .grid3, .mv-c .pain-grid, .mv-c .tgrid, .mv-c .bonus-grid, .mv-c .fit-grid { gap: .8rem; margin-top: 1.6rem !important; }
  .mv-c .card, .mv-c .pain-card, .mv-c .bonus-card, .mv-c .fit-card { padding: 1.2rem; }
  .mv-c .module { padding: 1.1rem 1.1rem; }
  .mv-c .tcard { padding: 1.3rem 1.1rem; }
  .mv-c .card-photo { aspect-ratio: 16/9; }
  .mv-c .card--photo > p { padding: .9rem 1.1rem 1.1rem; }
  .mv-c .bonus-card.has-img { padding-top: 0; }
  .mv-c .bonus-card .bonus-img { margin: 0 -1.2rem 1rem; }
  .mv-c .faq details { background: var(--bg); border: 1px solid var(--border); border-radius: 12px; padding: .95rem 1rem; margin-bottom: .6rem; }
  .mv-c .faq summary { font-size: .98rem; }
}

/* mva 21.09 (Tobias): Layout A am Handy - Einleitungstext weg, Cover + 2 Boni zwischen Punkten und Preis */
.mva-bonus { display: none; }
@media (max-width: 760px) {
  .mv-a .hero .sub { display: none; }
  .mv-a .container.hero { display: flex; flex-direction: column; align-items: stretch; }
  .mv-a .container.hero > div:first-child { display: contents; }
  .mv-a .container.hero > div:first-child > * { order: 1; }
  .mv-a .container.hero > .book-scene { order: 2; padding: .4rem 0 0; }
  .mv-a .container.hero > div:first-child > .mva-bonus { order: 3; }
  .mv-a .container.hero > div:first-child > .price,
  .mv-a .container.hero > div:first-child > .price ~ * { order: 4; }
  .mv-a .mva-bonus { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }
  .mv-a .mva-bonus__item { display: flex; flex-direction: column; gap: .25rem; background: var(--bg); border: 1px solid var(--border); border-radius: 12px; padding: .55rem; text-align: left; font-size: .84rem; line-height: 1.3; color: var(--ink); }
  .mv-a .mva-bonus__item img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 8px; }
  .mv-a .mva-bonus__tag { font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--accent-dark, var(--accent)); }
  .mv-a .mva-bonus__val { color: var(--muted); font-size: .78rem; }
}

/* heutenur 21.09: "Heute nur <Preis>" bleibt zusammen; am Handy (Layouts A/B/C) eigene Zeile */
.bonus-total .bt-heute { white-space: nowrap; }
@media (max-width: 760px) { .mv .bonus-total .bt-strich { display: none; } .mv .bonus-total .bt-heute { display: block; margin-top: .25rem; } }

/* coveroben 21.09 (Tobias): Layout A am Handy - Cover ueber den Punkten und groesser */
@media (max-width: 760px) {
  .mv-a .container.hero > div:first-child > ul.bullets,
  .mv-a .container.hero > div:first-child > ul.bullets ~ * { order: 3; }
  .mv-a .container.hero > .book-scene { order: 2; padding: .2rem 0 .4rem; }
  .mv-a .hero .book { width: 250px; }
}

/* === tablet 29.09 (Tobias): Opt-in Tablet-Layouts (cfg.tablet_layout = "a" | "b" | "c" -> <div class="tv tv-x">) ===
   Greift NUR unter .tv-a/.tv-b/.tv-c UND nur 761-1180px Breite. Ohne Feld: keine Aenderung. */
@media (min-width: 761px) and (max-width: 1180px) {
  /* --- gemeinsame Korrekturen (A, B, C) --- */
  .tv .container { padding-left: 2rem; padding-right: 2rem; }
  .tv .nav__inner { padding-left: 2rem; padding-right: 2rem; }
  .tv .nav .btn { min-height: 44px; }
  .tv .btn { min-height: 50px; }
  .tv .badge { font-size: .85rem; }
  .tv .author-eyebrow { font-size: .85rem; }
  .tv .offer-final-fine { font-size: .86rem; }
  .tv .author-role { white-space: normal; }
  .tv .offer-final-main .badge { display: table; margin: 0 0 .7rem; }
  .tv .offer-final-feat { display: block; }
  .tv .hero .stat { text-align: left; }

  /* ================= A: zweispaltig kompakt ================= */
  .tv-a .container.hero { grid-template-columns: 1.2fr .8fr; gap: 2rem; text-align: left; align-items: center; padding: 3rem 2rem 3.2rem; }
  .tv-a .hero h1 { font-size: clamp(2rem, 4.3vw, 3rem); }
  .tv-a .hero .sub { font-size: 1.12rem; }
  .tv-a ul.bullets, .tv-a .hero .trustrow { justify-content: flex-start; }
  .tv-a .hero .trustrow { gap: .5rem 1.1rem; }
  .tv-a .hero .book-scene { padding: 1rem 0; }
  .tv-a .hero .book { width: clamp(190px, 24vw, 280px); }
  .tv-a .section { padding: 3.4rem 0; }
  .tv-a .cta { padding: 4rem 0; }
  .tv-a .modules, .tv-a .grid3, .tv-a .tgrid { grid-template-columns: 1fr 1fr; gap: 1rem; }
  .tv-a .modules { row-gap: 1.5rem; }
  .tv-a .pain-grid, .tv-a .fit-grid { grid-template-columns: repeat(3, 1fr); gap: 1rem; }
  .tv-a .bonus-grid { grid-template-columns: 1fr 1fr; max-width: none; }
  .tv-a .card, .tv-a .pain-card { padding: 1.3rem 1.2rem; }
  .tv-a .fit-card { padding: 1rem .5rem; }
  .tv-a .modules, .tv-a .grid3, .tv-a .pain-grid, .tv-a .fit-grid, .tv-a .tgrid, .tv-a .bonus-grid { margin-top: 1.8rem !important; }
  .tv-a .learn { columns: 2; column-gap: 2rem; }
  .tv-a .author-box { grid-template-columns: 1.6fr 1fr; gap: 2rem; }
  .tv-a .author-photo { max-width: none; margin: 0; }
  .tv-a .offer-final { grid-template-columns: auto 1fr; text-align: left; padding: 2rem 2.2rem; gap: 2rem; }
  .tv-a .offer-final-book .book { width: 190px; }
  .tv-a .offer-final-feat { text-align: left; margin: 0 0 1rem; }
  .tv-a .offer-final-priceline { justify-content: flex-start; }
  .tv-a .offer-final-fine { text-align: left; margin-left: 0; }
  .tv-a .offer-final-sec .trustrow { justify-content: flex-start !important; }

  /* ================= B: eine Spalte, grosse Schrift (60+) ================= */
  html:has(.tv-b) { font-size: 112.5%; }
  .tv-b { --muted: color-mix(in srgb, var(--ink) 74%, var(--bg)); }
  .tv-b .container { max-width: 760px; }
  .tv-b .nav__inner { max-width: 760px; }
  .tv-b .nav__links { display: none; }
  .tv-b .container.hero { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 0; padding: 2.6rem 2rem 3rem; }
  .tv-b .container.hero > div:first-child { display: contents; }
  .tv-b .container.hero > div:first-child > * { order: 1; }
  .tv-b .container.hero > .book-scene { order: 2; padding: 1.6rem 0 .8rem; }
  .tv-b .container.hero > div:first-child > .price,
  .tv-b .container.hero > div:first-child > .btn,
  .tv-b .container.hero > div:first-child > .trustrow { order: 3; }
  .tv-b .container.hero > div:first-child > .stat,
  .tv-b .container.hero > div:first-child > ul.bullets { order: 4; margin-top: 1.8rem; }
  .tv-b .container.hero > div:first-child > .socialproof { order: 5; }
  .tv-b .hero .book { width: 210px; }
  .tv-b .hero .price { margin-top: .6rem; }
  .tv-b .hero h1 { font-size: clamp(2.2rem, 4.6vw, 2.9rem); line-height: 1.14; }
  .tv-b .hero .sub { font-size: 1.2rem; line-height: 1.55; max-width: 34em; }
  .tv-b .hero ul.bullets { width: 100%; justify-items: start; text-align: left; font-size: 1.05rem; background: color-mix(in srgb, var(--bg) 86%, transparent); border: 1px solid var(--border); border-radius: var(--radius); padding: 1.1rem 1.3rem; gap: .7rem; }
  .tv-b .hero .price { font-size: 1.8rem; }
  .tv-b .hero .trustrow { justify-content: center; font-size: .98rem; }
  .tv-b .container.hero > div:first-child > .btn, .tv-b .offer-final-btn, .tv-b .cta .btn, .tv-b .bonus-cta .btn { width: 100%; max-width: 560px; min-width: 0; min-height: 62px; font-size: 1.15rem; white-space: normal; }
  .tv-b .section { padding: 3.6rem 0; }
  .tv-b .section h2, .tv-b .cta h2 { font-size: 2rem; line-height: 1.2; }
  .tv-b .modules, .tv-b .grid3, .tv-b .pain-grid, .tv-b .fit-grid, .tv-b .tgrid, .tv-b .bonus-grid { grid-template-columns: 1fr; gap: 1.1rem; max-width: none; }
  .tv-b .modules { gap: 1.6rem; }
  .tv-b .module li, .tv-b .card p, .tv-b .pain-card p, .tv-b .fit-card p, .tv-b .bonus-card2-body p { font-size: 1rem; }
  .tv-b .card:not(.card--photo) { display: grid; grid-template-columns: auto 1fr; column-gap: 1.1rem; align-items: start; padding: 1.4rem 1.5rem; }
  .tv-b .card:not(.card--photo) .ico { grid-row: span 2; margin: 0; font-size: 2.2rem; line-height: 1; }
  .tv-b .card--photo .card-photo { aspect-ratio: 16 / 9; }
  .tv-b .fit-card { background: var(--bg); border: 1px solid var(--border); border-radius: var(--radius); padding: 1.4rem 1.5rem; }
  .tv-b .learn { columns: 1; }
  .tv-b .learn li { font-size: 1.05rem; margin-bottom: 1rem; }
  .tv-b .author-box { grid-template-columns: 1fr; text-align: center; gap: 1.6rem; }
  .tv-b .author-photo { order: -1; max-width: 280px; margin: 0 auto; }
  .tv-b .offer-final { grid-template-columns: 1fr; text-align: center; padding: 2.2rem 2rem; gap: 1.4rem; }
  .tv-b .offer-final-book .book { width: 210px; }
  .tv-b .offer-final-main .badge { margin: 0 auto .7rem; }
  .tv-b .offer-final-feat { display: inline-block; text-align: left; margin: 0 auto 1.1rem; }
  .tv-b .offer-final-feat li { font-size: 1.05rem; }
  .tv-b .offer-final-priceline { justify-content: center; }
  .tv-b .faq summary { font-size: 1.1rem; gap: 1rem; align-items: flex-start; }
  .tv-b .faq summary::after { flex: none; }
  .tv-b .faq p { font-size: 1.02rem; }
  .tv-b .sticky-buy .btn { min-height: 54px; font-size: 1.05rem; }

  /* ================= C: Magazin / Karten + feste Kaufleiste ================= */
  .tv-c .nav .btn { display: none; }
  .tv-c .sticky-buy { transform: translateY(0); }
  .tv-c .sticky-inner { max-width: 1000px; padding: .75rem 2rem; }
  .tv-c .sticky-info strong { font-size: 1rem; }
  .tv-c .sticky-price { font-size: 1.05rem; }
  .tv-c .sticky-buy .btn { min-height: 54px; padding: .8rem 2.2rem; font-size: 1.05rem; }
  .tv-c footer { padding-bottom: 7rem; }
  .tv-c .hero-section { padding: 2.6rem 0 3rem; }
  .tv-c .container.hero { display: grid; grid-template-columns: clamp(150px, 16vw, 190px) 1fr; grid-template-rows: auto auto 1fr; column-gap: 2rem; row-gap: 0; align-items: start; text-align: left;
    max-width: 940px; margin: 0 2rem; padding: 2.2rem 2.4rem 2.4rem; border-radius: 24px;
    background: color-mix(in srgb, var(--bg) 84%, transparent); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
    border: 1px solid color-mix(in srgb, #ffffff 55%, var(--border)); box-shadow: 0 30px 80px rgba(0,0,0,.16); }
  .tv-c .container.hero > div:first-child { display: contents; }
  .tv-c .container.hero > .book-scene { grid-column: 1; grid-row: 1 / span 3; padding: 0; align-self: center; perspective: 1400px; }
  .tv-c .container.hero > div:first-child > h1 { margin-top: .6rem !important; }
  .tv-c .hero .book { width: 100%; }
  .tv-c .container.hero > div:first-child > * { grid-column: 1 / -1; }
  .tv-c .container.hero > div:first-child > .badge,
  .tv-c .container.hero > div:first-child > h1,
  .tv-c .container.hero > div:first-child > .sub { grid-column: 2; }
  .tv-c .container.hero > div:first-child > .badge { justify-self: start; }
  .tv-c .hero h1 { font-size: clamp(1.9rem, 3.9vw, 2.7rem); }
  .tv-c .hero .sub { font-size: 1.1rem; margin-top: .8rem; }
  .tv-c .hero ul.bullets { margin: 1.8rem 0 .4rem; padding: 1.1rem 1.3rem; background: color-mix(in srgb, var(--accent) 7%, var(--bg)); border-radius: 14px; }
  .tv-c .hero .price { margin-top: 1rem; }
  .tv-c .container.hero > div:first-child > .btn { width: 100%; }
  .tv-c .hero .trustrow { justify-content: flex-start; gap: .5rem 1.2rem; }
  .tv-c .section { padding: 3.2rem 0; }
  .tv-c .cta { padding: 4rem 0; }
  .tv-c .section .container:not(.narrow) > h2 { text-align: left; }
  .tv-c .section .container:not(.narrow) > h2::after { margin-left: 0; }
  .tv-c .modules, .tv-c .grid3, .tv-c .pain-grid, .tv-c .fit-grid, .tv-c .tgrid, .tv-c .bonus-grid { grid-template-columns: 1fr 1fr; gap: 1.1rem; max-width: none; margin-top: 1.8rem !important; }
  .tv-c .modules { row-gap: 1.6rem; }
  .tv-c :is(.modules, .grid3, .pain-grid, .fit-grid, .tgrid, .bonus-grid) > :last-child:nth-child(odd) { grid-column: 1 / -1; }
  .tv-c .card, .tv-c .pain-card, .tv-c .module, .tv-c .fit-card, .tv-c .tcard { background: var(--bg); border: 1px solid var(--border); border-radius: 18px; box-shadow: 0 10px 28px rgba(0,0,0,.06); }
  .tv-c .card, .tv-c .pain-card { padding: 1.4rem 1.4rem; }
  .tv-c .fit-card { text-align: left; padding: 1.4rem; border-top: 4px solid var(--accent); }
  .tv-c .card--photo { padding: 0; }
  .tv-c .card-photo { aspect-ratio: 16 / 9; }
  .tv-c .learn { columns: auto; display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; max-width: none; }
  .tv-c .learn li { margin: 0; background: var(--bg); border: 1px solid var(--border); border-radius: 12px; padding: .85rem 1rem; }
  .tv-c .author-box { grid-template-columns: 1.6fr 1fr; gap: 2rem; background: var(--bg); border: 1px solid var(--border); border-radius: 20px; padding: 2rem; box-shadow: 0 10px 28px rgba(0,0,0,.06); }
  .tv-c .author-photo { max-width: none; margin: 0; }
  .tv-c .offer-final { grid-template-columns: auto 1fr; text-align: left; padding: 2rem 2.2rem; gap: 2rem; border-radius: 22px; }
  .tv-c .offer-final-book .book { width: 190px; }
  .tv-c .offer-final-feat { text-align: left; margin: 0 0 1rem; }
  .tv-c .offer-final-priceline { justify-content: flex-start; }
  .tv-c .offer-final-fine { text-align: left; margin-left: 0; }
  .tv-c .offer-final-sec .trustrow { justify-content: flex-start !important; }
  .tv-c .faq details { background: var(--bg); border: 1px solid var(--border); border-radius: 14px; padding: 1rem 1.2rem; margin-bottom: .7rem; }
  .tv-c .faq summary { gap: 1rem; align-items: flex-start; }
  .tv-c .faq summary::after { flex: none; }
}
@media (min-width: 1020px) and (max-width: 1180px) { .tv-c .container.hero { margin: 0 auto; } }
/* tablet 29.09: B im Querformat (iPad quer ~1180x820) - Kauf-Button noch im ersten Bildschirm */
@media (min-width: 1000px) and (max-width: 1180px) and (orientation: landscape) {
  .tv-b .container.hero { padding-top: 1.8rem; }
  .tv-b .hero h1 { font-size: 2.4rem; }
  .tv-b .hero .sub { font-size: 1.1rem; margin-top: .6rem; }
  .tv-b .container.hero > .book-scene { padding: 1rem 0 .4rem; }
  .tv-b .hero .book { width: 165px; }
}

/* preisstil 29.09 (Tobias): Opt-in Preisblock-Varianten .ps-a..e (nur mit cfg.price_style) */
.ps{margin:1rem 0 1.15rem;font-family:var(--font-body)}
.offer-final-main .ps{margin-left:auto;margin-right:auto}
.ps strong{font-family:var(--font-heading);color:var(--ink);line-height:1}
.ps-a__tag{display:inline-flex;align-items:baseline;gap:.65rem;background:var(--accent);color:#fff;padding:.6rem 1.2rem .6rem 1.6rem;border-radius:.55rem 999px 999px .55rem;box-shadow:0 10px 24px -12px var(--accent);position:relative}
.ps-a__tag::before{content:"";position:absolute;left:.6rem;top:50%;width:.45rem;height:.45rem;border-radius:50%;background:#fff;transform:translateY(-50%);opacity:.9}
.ps-a__lbl{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;opacity:.92}
.ps-a__tag strong{color:#fff;font-size:2.2rem}
.ps-a__note{margin-top:.6rem;font-size:.9rem;color:var(--muted)}
.ps-b__price{font-size:2.7rem;display:block}
.ps-b__chips{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.65rem}
.offer-final-main .ps-b__chips{justify-content:center}
.ps-b__chips span{background:var(--soft);border:1px solid var(--border);border-radius:999px;padding:.32rem .8rem;font-size:.86rem;color:var(--ink)}
.ps-c{background:#fff;border:1px dashed var(--border);border-radius:.8rem;padding:1rem 1.2rem;max-width:27rem;box-shadow:0 12px 30px -20px rgba(0,0,0,.4);text-align:left}
.ps-c ul{list-style:none;margin:0;padding:0}
.ps-c li{display:flex;justify-content:space-between;gap:1rem;padding:.34rem 0;font-size:.92rem;color:var(--ink);border-bottom:1px dotted var(--border)}
.ps-c li::before{content:none}
.ps-c li span:last-child{color:var(--accent);font-weight:700}
.ps-c__sum{display:flex;justify-content:space-between;align-items:baseline;margin-top:.75rem;font-weight:700;color:var(--ink)}
.ps-c__sum strong{font-size:2rem;color:var(--accent-dark)}
.ps-c__foot{margin-top:.35rem;font-size:.8rem;color:var(--muted);text-align:right}
.ps-d{display:flex;align-items:center;gap:1.1rem}
.offer-final-main .ps-d{justify-content:center;text-align:left}
.ps-d__seal{flex:0 0 auto;width:4.8rem;height:4.8rem;border-radius:50%;border:2px dashed var(--accent);display:grid;place-items:center;transform:rotate(-12deg);background:var(--soft)}
.ps-d__seal span{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--accent-dark);text-align:center;line-height:1.15;padding:0 .35rem}
.ps-d__price{font-size:2.7rem;display:block}
.ps-d__sub{font-size:.95rem;color:var(--muted);margin-top:.3rem;font-style:italic}
.ps-e{position:relative;border:2px solid var(--accent);border-radius:1rem;padding:1.5rem 1.3rem 1.05rem;max-width:25rem;text-align:center;background:#fff;margin-top:1.5rem}
.ps-e__ribbon{position:absolute;top:-.85rem;left:50%;transform:translateX(-50%);background:var(--accent);color:#fff;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.28rem 1rem;border-radius:999px;white-space:nowrap}
.ps-e__price{font-size:2.7rem;display:block}
.ps-e__row{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem .95rem;margin-top:.65rem;font-size:.87rem;color:var(--ink)}

/* preisstil-e 29.09 (Tobias): Varianten im Stil von E (.ps-e1..e5) */
.ps-e1{box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 7px var(--accent);padding-top:1.9rem}
.ps-e1__band{position:absolute;top:-.95rem;left:50%;transform:translateX(-50%);z-index:1}
.ps-e1__band span{display:block;position:relative;background:var(--accent);color:#fff;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.38rem 1.5rem;white-space:nowrap}
.ps-e1__band::before,.ps-e1__band::after{content:"";position:absolute;top:.4rem;border:.9rem solid var(--accent-dark);z-index:-1}
.ps-e1__band::before{left:-1.1rem;border-left-color:transparent}
.ps-e1__band::after{right:-1.1rem;border-right-color:transparent}
.ps-e1__foot{margin-top:.55rem;font-size:.78rem;color:var(--muted);letter-spacing:.03em}
.ps-e2{background:var(--accent);border-color:var(--accent);box-shadow:0 16px 32px -18px var(--accent)}
.ps-e2 .ps-e__ribbon{background:#fff;color:var(--accent-dark);box-shadow:0 4px 12px -4px rgba(0,0,0,.35)}
.ps-e2 strong{color:#fff}
.ps-e2 .ps-e__row{color:#fff;opacity:.95}
.ps-e3{border:2px solid var(--accent);border-radius:1rem;overflow:hidden;max-width:26rem;background:#fff;text-align:left}
.ps-e3__head{background:var(--accent);color:#fff;text-align:center;font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;padding:.45rem}
.ps-e3__body{display:flex;flex-wrap:wrap;align-items:center;gap:1.1rem;padding:1rem 1.2rem}
.ps-e3__body strong{font-size:2.5rem;white-space:nowrap}
.ps-e3__body ul{list-style:none;margin:0;padding:0 0 0 1.1rem;border-left:1px solid var(--border);font-size:.86rem;color:var(--ink)}
.ps-e3__body li{padding:.12rem 0}
.ps-e3__body li::before{content:none}
.ps-e4{overflow:hidden;padding-top:1.25rem}
.ps-e4__sash{position:absolute;top:1.15rem;right:-2.9rem;transform:rotate(45deg);background:var(--accent);color:#fff;font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:.28rem 3.1rem;box-shadow:0 3px 8px -3px rgba(0,0,0,.35)}
.ps-e4__lbl{display:block;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-dark);margin-bottom:.35rem}
.ps-e5__tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(6.5rem,1fr));gap:.5rem;margin-top:.8rem}
.ps-e5__tiles div{background:var(--soft);border-radius:.6rem;padding:.6rem .45rem;display:flex;flex-direction:column;align-items:center;gap:.15rem;font-size:.8rem;color:var(--ink);line-height:1.2}
.ps-e5__tiles b{font-size:1.25rem}
.ps-e5__tiles small{color:var(--muted);font-size:.72rem}
.ps-e5__foot{margin-top:.6rem;font-size:.78rem;color:var(--muted)}

/* heropreis 29.09 (Tobias): dezente Preiszeilen im Hero (.hp1..hp10, nur mit cfg.hero_price_style) */
.hp{margin:1rem 0 1rem;font-family:var(--font-body);color:var(--muted);font-size:.92rem}
.hp strong{font-family:var(--font-heading);color:var(--ink);line-height:1}
.hp1{display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap}.hp1 strong{font-size:1.9rem;color:var(--accent-dark)}
.hp2 strong{display:inline-block;font-size:2rem;background:linear-gradient(transparent 62%,color-mix(in srgb,var(--accent) 28%,transparent) 62%);padding:0 .15rem}.hp2 span{display:block;margin-top:.3rem;font-style:italic}
.hp3 span{display:inline-block;border:1px solid var(--accent);color:var(--accent-dark);border-radius:999px;padding:.3rem .9rem;font-weight:600;font-size:.95rem}
.hp4 span{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-dark);margin-bottom:.2rem}.hp4 strong{font-size:2rem}
.hp5{display:flex;flex-wrap:wrap;gap:.3rem 1rem;font-size:.9rem;color:var(--ink)}
.hp6{display:flex;align-items:center;gap:1rem}.hp6 strong{font-size:2rem}.hp6 div{display:flex;flex-direction:column;border-left:3px solid var(--accent);padding-left:.8rem;font-size:.84rem;line-height:1.45}
.hp7{display:inline-flex;align-items:baseline;gap:.8rem;flex-wrap:wrap;background:var(--soft);border-radius:.7rem;padding:.55rem 1rem}.hp7 strong{font-size:1.7rem}.hp7 span{font-size:.86rem}
.hp9{display:flex;align-items:center;gap:.6rem}.hp9 strong{font-size:1.5rem;background:var(--accent);color:#fff;padding:.3rem .7rem;border-radius:.45rem}.hp9 span{font-size:.85rem;text-transform:uppercase;letter-spacing:.06em}
.hp10{display:flex;flex-wrap:wrap;gap:.4rem}.hp10 span{font-size:.8rem;color:var(--accent-dark);background:color-mix(in srgb,var(--accent) 10%,#fff);border-radius:.4rem;padding:.25rem .6rem}

/* eurhinweis 30.09 (Tobias): ungefaehrer Euro-Betrag unter Fremdwaehrungs-Preisen */
.eur-hint{display:block;margin-top:.3rem;font-size:.86rem;color:var(--muted);font-family:var(--font-body);font-weight:400}
.hp4 .eur-hint{margin:.25rem 0 0;text-transform:none;letter-spacing:0;font-size:.86rem;font-weight:400;color:var(--muted)}

/* kachelmitte 30.09 (Tobias): E5-Kacheln zentriert umbrechen - eine einzelne Kachel in der letzten Zeile sitzt mittig */
.ps-e5__tiles{display:flex;flex-wrap:wrap;justify-content:center}
.ps-e5__tiles div{flex:1 1 6.5rem;max-width:calc(50% - .25rem);box-sizing:border-box}

/* fusszeile 30.09 (Tobias): "einmalig · kein Abo" unter den E5-Kacheln immer in EINER Zeile; auf schmalen Handys minimal kleiner statt Umbruch */
.ps-e5__foot,.ps-e1__foot{white-space:nowrap;font-size:clamp(.66rem,3.3vw,.78rem)}

/* knopfstil 30.09: Preis neben dem Knopf (Hero) / Preis als Feld im Knopf (Angebot) */
.cta-side{display:flex;align-items:center;gap:1.1rem;margin:1.2rem 0 .2rem}
.cta-side .btn{flex:0 0 auto;margin:0}
.cta-side__p{display:flex;flex-direction:column;line-height:1.2;text-align:left;min-width:0}
.cta-side__p strong{font-family:var(--font-heading);font-size:1.65rem;color:var(--ink);white-space:nowrap}
.cta-side__p small{font-size:.8rem;color:var(--muted)}
@media(max-width:600px){.cta-side{gap:.8rem}.cta-side .btn{flex:1 1 auto;min-width:0;padding-left:1rem;padding-right:1rem;white-space:normal}.cta-side__p strong{font-size:1.4rem}.cta-side__p small{font-size:.72rem}}
.btn.cta-split{display:flex;align-items:stretch;padding:0;overflow:hidden}
.cta-split__l{flex:1 1 auto;padding:1rem 1.2rem;display:flex;align-items:center;justify-content:center}
.cta-split__r{flex:0 0 auto;padding:1rem 1.2rem;display:flex;align-items:center;background:rgba(255,255,255,.17);border-left:1px solid rgba(255,255,255,.38);white-space:nowrap}

/* blickinsbuch 30.09: Seitenreihe zum Durchblaettern */
.bib-c h2{text-align:center}
.bib-c .bib-lead{max-width:40rem;margin:.7rem auto 2.2rem;text-align:center;color:var(--muted);font-size:1.02rem}
.bib-row{display:flex;gap:1.1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.6rem .3rem 1.2rem}
.bib-row figure{margin:0;flex:0 0 calc((100% - 4.4rem)/5);scroll-snap-align:center}
.bib-row img{display:block;width:100%;height:auto;aspect-ratio:148/210;background:#fff;border-radius:6px;box-shadow:0 18px 34px -20px rgba(0,0,0,.5),0 1px 5px rgba(0,0,0,.14)}
.bib-row figcaption{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;font-size:.86rem;color:var(--ink)}
.bib-row figcaption b{flex:0 0 auto;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--accent);color:#fff;font-size:.74rem;display:grid;place-items:center}
.bib-wisch{display:none;text-align:center;color:var(--muted);font-size:.8rem;margin:.2rem 0 0}
@media(max-width:760px){.bib-row figure{flex:0 0 62%}.bib-wisch{display:block}}

/* bibgross 30.09: Seite aus Blick ins Buch gross anzeigen */
.bib-row img{cursor:zoom-in}
.bib-lb{position:fixed;inset:0;z-index:2147483600;background:rgba(12,12,12,.9);display:flex;align-items:center;justify-content:center;padding:4.2rem 1rem 1rem;box-sizing:border-box;cursor:zoom-out;outline:none}
.bib-lb[hidden]{display:none}
.bib-lb img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;background:#fff;border-radius:6px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.bib-lb__x{position:fixed;top:.8rem;right:.8rem;width:2.9rem;height:2.9rem;padding:0;border:2px solid #fff;border-radius:6px;background:rgba(0,0,0,.6);color:#fff;font:400 1.9rem/1 Arial,sans-serif;display:grid;place-items:center;cursor:pointer}
