/* ── Selbst gehostete Schriften (DSGVO-konform, kein Google-Request) ── */
@font-face{font-family:'Fraunces';font-style:normal;font-weight:100 900;font-display:swap;src:url('../fonts/fraunces-latin-wght-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:100 900;font-display:swap;src:url('../fonts/fraunces-latin-ext-wght-normal.woff2') format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:100 900;font-display:swap;src:url('../fonts/fraunces-latin-wght-italic.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122,U+FEFF,U+FFFD}
@font-face{font-family:'Nunito';font-style:normal;font-weight:100 900;font-display:swap;src:url('../fonts/nunito-latin-wght-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Nunito';font-style:normal;font-weight:100 900;font-display:swap;src:url('../fonts/nunito-latin-ext-wght-normal.woff2') format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Baloo 2';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/baloo-2-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Baloo 2';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/baloo-2-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Baloo 2';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/baloo-2-latin-700-normal.woff2') format('woff2')}
:root{
  --paper:#FBF6EC; --paper2:#F4EAD7; --card:#FFFFFF;
  --ink:#26302A; --ink-soft:#5C6A60;
  --forest:#2E7D52; --forest-deep:#1C4632; --leaf:#7BB661;
  --honey:#F4A93C; --honey-deep:#E0912A;
  --berry:#E4674F; --sky:#3E9CC9; --violet:#7A4FB5; --teal:#149a90;
  --radius:22px; --radius-sm:14px;
  --shadow:0 18px 40px -18px rgba(28,70,50,.35);
  --shadow-sm:0 8px 22px -12px rgba(28,70,50,.35);
  --maxw:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Nunito",system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:"Fraunces",Georgia,serif;line-height:1.12;margin:0 0 .4em;font-weight:600;letter-spacing:-.01em}
h1{font-size:clamp(2.1rem,4.8vw,3.7rem)}
h2{font-size:clamp(1.7rem,3.4vw,2.6rem)}
h3{font-size:1.28rem}
p{margin:0 0 1em}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.eyebrow{font-family:"Baloo 2",sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;color:var(--forest)}
.section{padding:88px 0}
.center{text-align:center}
.lead{font-size:1.12rem;color:var(--ink-soft);max-width:56ch}
.center .lead{margin-left:auto;margin-right:auto}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.5em;font-family:"Nunito";font-weight:800;font-size:1rem;padding:.85em 1.5em;border-radius:999px;border:2px solid transparent;cursor:pointer;transition:.2s transform,.2s box-shadow,.2s background;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--honey);color:#3a2a08;box-shadow:0 10px 22px -8px rgba(224,145,42,.7)}
.btn-primary:hover{background:var(--honey-deep)}
.btn-berry{background:var(--berry);color:#fff;box-shadow:0 10px 22px -8px rgba(228,103,79,.6)}
.btn-ghost{background:transparent;border-color:var(--forest);color:var(--forest-deep)}
.btn-ghost:hover{background:rgba(46,125,82,.08)}
.btn-white{background:#fff;color:var(--forest-deep)}
.btn-sm{padding:.6em 1.1em;font-size:.92rem}

/* Header */
.topbar{background:var(--forest-deep);color:#e8f3ea;font-size:.86rem}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:40px;gap:14px;flex-wrap:wrap}
.topbar a{color:#fff;font-weight:700}
header.site{position:sticky;top:0;z-index:60;background:rgba(251,246,236,.92);backdrop-filter:blur(10px);border-bottom:1px solid rgba(46,125,82,.14)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}
.brand{display:flex;align-items:center;gap:10px}
.brand img{height:46px;width:auto}
.menu{display:flex;align-items:center;gap:26px;font-weight:700;font-size:1rem}
.menu a{padding:.3em 0;position:relative;color:var(--ink)}
.menu a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:2px;background:var(--honey);transition:right .25s}
.menu a:hover::after{right:0}
.nav-cta{display:flex;align-items:center;gap:12px}
.hamburger{display:none;background:none;border:0;cursor:pointer;padding:8px}
.hamburger span{display:block;width:26px;height:3px;background:var(--forest-deep);border-radius:3px;margin:5px 0}

/* Hero */
.hero{position:relative;overflow:hidden;background:
  radial-gradient(1100px 520px at 82% -8%,rgba(122,79,181,.16),transparent 60%),
  radial-gradient(900px 500px at 8% 12%,rgba(244,169,60,.16),transparent 55%),
  linear-gradient(180deg,#FDFBF4 0%,var(--paper) 60%)}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center;padding-top:64px;padding-bottom:76px}
.hero-chip{display:inline-flex;align-items:center;gap:.5em;background:#fff;border:1px solid rgba(46,125,82,.2);color:var(--forest-deep);font-weight:700;font-size:.85rem;padding:.45em .95em;border-radius:999px;box-shadow:var(--shadow-sm);margin-bottom:18px}
.hero h1 .hl{color:var(--forest);position:relative}
.hero h1 .hl::after{content:"";position:absolute;left:0;right:0;bottom:.06em;height:.28em;background:rgba(244,169,60,.4);z-index:-1;border-radius:4px}
.hero .lead{margin-top:8px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin:26px 0 18px}
.hero-note{font-size:.92rem;color:var(--ink-soft);display:flex;align-items:center;gap:8px}
.hero-visual{position:relative}
.hero-frame{border-radius:28px;overflow:hidden;box-shadow:var(--shadow);border:6px solid #fff;transform:rotate(-1.4deg)}
.hero-badge{position:absolute;left:-18px;bottom:26px;background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:12px 16px;display:flex;align-items:center;gap:10px;transform:rotate(-3deg)}
.hero-badge b{font-family:"Fraunces";font-size:1.5rem;color:var(--forest);display:block;line-height:1}
.hero-badge small{color:var(--ink-soft);font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}
.hero-cover{position:absolute;right:-14px;top:-18px;width:118px;border-radius:10px;box-shadow:var(--shadow);transform:rotate(6deg);border:3px solid #fff}
.spark{position:absolute;border-radius:50%;background:radial-gradient(circle,#fff,rgba(244,169,60,.6));filter:blur(.3px);opacity:.9}

/* Trust strip */
.trust{background:var(--forest-deep);color:#eaf4ec}
.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:26px 24px}
.trust-item{display:flex;gap:12px;align-items:flex-start}
.trust-item .ic{font-size:1.5rem;line-height:1}
.trust-item b{display:block;font-size:1rem}
.trust-item span{font-size:.86rem;color:#bcd6c2}

/* Worlds */
.worlds-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:40px}
.world-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;transition:.25s transform,.25s box-shadow;display:flex;flex-direction:column;border:1px solid rgba(0,0,0,.04)}
.world-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.world-cover{aspect-ratio:1/1.16;overflow:hidden;background:var(--paper2);position:relative}
.world-cover img{width:100%;height:100%;object-fit:cover}
.world-tag{position:absolute;top:12px;left:12px;font-family:"Baloo 2";font-weight:600;font-size:.72rem;color:#fff;padding:.3em .7em;border-radius:999px;backdrop-filter:blur(2px)}
.world-body{padding:18px 18px 22px}
.world-body h3{margin-bottom:.15em}
.world-body p{font-size:.92rem;color:var(--ink-soft);margin-bottom:.8em}
.world-link{font-weight:800;color:var(--forest);font-size:.92rem}

/* Lesungen band */
.lesungen{background:
  radial-gradient(700px 400px at 90% 10%,rgba(122,79,181,.12),transparent 60%),
  linear-gradient(180deg,#F2EAD9,#EFE6D2)}
.lesungen .grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:52px;align-items:center}
.les-photo{border-radius:24px;overflow:hidden;box-shadow:var(--shadow);border:6px solid #fff;transform:rotate(1.2deg)}
.checklist{list-style:none;padding:0;margin:18px 0 22px;display:grid;gap:11px}
.checklist li{display:flex;gap:12px;align-items:flex-start;font-weight:600}
.checklist .tick{flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:var(--forest);color:#fff;display:grid;place-items:center;font-size:.85rem;margin-top:1px}
.grade-chips{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px}
.grade-chip{background:#fff;border:2px solid rgba(46,125,82,.25);border-radius:16px;padding:10px 16px;font-weight:700;font-size:.92rem}
.grade-chip b{color:var(--forest-deep);font-family:"Baloo 2"}
.grade-chip span{display:block;font-size:.78rem;color:var(--ink-soft);font-weight:600}

/* Books strip */
.books-row{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;margin-top:36px}
.book{position:relative;border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm);transition:.25s transform}
.book:hover{transform:translateY(-6px) rotate(-1deg)}
.book img{width:100%;aspect-ratio:1/1.24;object-fit:cover}
.book .age{position:absolute;bottom:8px;right:8px;background:var(--honey);color:#3a2a08;font-weight:800;font-size:.72rem;padding:.2em .55em;border-radius:8px}

/* Lernwelt */
.lernwelt{background:linear-gradient(160deg,#2B2450,#3A2E63 55%,#4a3a72);color:#f2ecff;position:relative;overflow:hidden}
.lernwelt::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 12% 20%,rgba(244,169,60,.22),transparent 60%),radial-gradient(500px 320px at 88% 90%,rgba(123,182,97,.2),transparent 60%)}
.lernwelt .grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.lernwelt .eyebrow{color:#ffd79a}
.lernwelt h2{color:#fff}
.lernwelt .lead{color:#d9d0f0}
.lw-tags{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 24px}
.lw-tag{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:.4em .9em;font-weight:700;font-size:.85rem}
.lw-visual{position:relative;display:flex;justify-content:center}
.worksheet{background:#fff;color:var(--ink);border-radius:16px;box-shadow:0 30px 60px -20px rgba(0,0,0,.5);padding:22px;width:100%;max-width:340px;transform:rotate(-2deg)}
.worksheet .ws-h{display:flex;justify-content:space-between;align-items:center;border-bottom:2px dashed #d9c9a6;padding-bottom:8px;margin-bottom:12px}
.worksheet .ws-h b{font-family:"Baloo 2";color:var(--forest)}
.worksheet .ws-h span{font-size:.7rem;background:var(--paper2);padding:.2em .6em;border-radius:8px;font-weight:700}
.ws-line{height:12px;border-radius:6px;background:var(--paper2);margin:9px 0}
.ws-line.s{width:70%}.ws-line.m{width:88%}
.ws-boxes{display:flex;gap:8px;margin-top:14px}
.ws-box{flex:1;height:34px;border:2px solid var(--leaf);border-radius:8px;background:rgba(123,182,97,.1)}
.lw-duo{position:absolute;right:-10px;bottom:-30px;width:150px;filter:drop-shadow(0 12px 18px rgba(0,0,0,.4))}

/* About */
.about .grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:52px;align-items:center}
.about-photo{border-radius:24px;overflow:hidden;box-shadow:var(--shadow);border:6px solid #fff;max-width:360px}
.press{display:flex;gap:22px;flex-wrap:wrap;align-items:center;margin-top:20px;color:var(--ink-soft);font-weight:700;font-size:.9rem}
.press span{opacity:.75}

/* Final CTA */
.final-cta{background:linear-gradient(135deg,var(--forest),var(--forest-deep));color:#fff;text-align:center;border-radius:32px;padding:56px 28px;box-shadow:var(--shadow)}
.final-cta h2{color:#fff}
.final-cta .lead{color:#d8ecdd;margin:0 auto 22px}
.final-cta .btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* Footer */
footer.site{background:var(--forest-deep);color:#cfe0d4;padding:56px 0 28px;font-size:.94rem}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1.1fr;gap:32px}
footer .brand img{height:42px;filter:brightness(0) invert(1);opacity:.95}
footer h4{color:#fff;font-family:"Nunito";font-weight:800;font-size:1rem;margin-bottom:.8em}
footer a{color:#cfe0d4}footer a:hover{color:#fff}
footer ul{list-style:none;padding:0;margin:0;display:grid;gap:.5em}
.foot-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:34px;padding-top:18px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:.84rem;color:#9db8a4}

/* reveal */
.reveal{opacity:0;transform:translateY(22px);transition:.7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}

/* Mockup ribbon */
.ribbon{position:fixed;z-index:100;top:16px;right:-52px;transform:rotate(45deg);background:var(--berry);color:#fff;font-weight:800;font-size:.72rem;letter-spacing:.12em;padding:6px 60px;box-shadow:var(--shadow-sm);text-transform:uppercase}

@media(max-width:960px){
  .hero .wrap,.lesungen .grid,.lernwelt .grid,.about .grid{grid-template-columns:1fr}
  .hero-visual{order:-1}
  .worlds-grid{grid-template-columns:repeat(2,1fr)}
  .trust .wrap{grid-template-columns:repeat(2,1fr)}
  .books-row{grid-template-columns:repeat(3,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr}
  .menu,.nav-cta .btn{display:none}
  .hamburger{display:block}
  .about-photo{max-width:100%}
  .lw-duo{display:none}
}
@media(max-width:560px){
  .section{padding:60px 0}
  .worlds-grid,.books-row,.trust .wrap,.foot-grid{grid-template-columns:1fr 1fr}
  .hero-cover{display:none}
}

/* --- Mobile Dropdown-Menü (PHP-Version) --- */
@media(max-width:960px){
  .menu.open{display:flex;position:absolute;top:76px;left:0;right:0;flex-direction:column;
    align-items:flex-start;gap:16px;background:var(--paper);
    border-bottom:1px solid rgba(46,125,82,.14);padding:18px 24px 24px;box-shadow:var(--shadow-sm)}
  .menu.open a{font-size:1.1rem}
}

/* ============ Subpages ============ */
.page-head{background:
  radial-gradient(800px 380px at 85% -20%,rgba(122,79,181,.14),transparent 60%),
  radial-gradient(700px 360px at 5% 0%,rgba(244,169,60,.14),transparent 55%),
  linear-gradient(180deg,#FDFBF4,var(--paper));padding:54px 0 40px;border-bottom:1px solid rgba(46,125,82,.12)}
.page-head .crumbs{font-size:.86rem;color:var(--ink-soft);margin-bottom:10px;font-weight:600}
.page-head .crumbs a{color:var(--forest)}
.page-head h1{font-size:clamp(2rem,4vw,3rem);margin-bottom:.2em}
.page-head p{color:var(--ink-soft);max-width:64ch;font-size:1.1rem;margin:0}
.prose{max-width:70ch}
.prose p{font-size:1.06rem}
.prose h2,.prose h3{margin-top:1.4em}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start}

/* Cards / boxes */
.info-card{background:#fff;border:1px solid rgba(0,0,0,.05);border-radius:18px;padding:24px;box-shadow:var(--shadow-sm)}
.facts{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.facts li{display:flex;gap:12px;align-items:flex-start}
.facts .k{font-weight:800;color:var(--forest-deep);min-width:120px}
.chips{display:flex;gap:10px;flex-wrap:wrap}
.chip-tag{background:#fff;border:1px solid rgba(46,125,82,.2);border-radius:999px;padding:.4em .9em;font-weight:700;font-size:.86rem;color:var(--forest-deep)}

/* FAQ */
.faq{max-width:760px;margin-top:8px}
.faq details{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:14px;margin-bottom:12px;box-shadow:var(--shadow-sm);overflow:hidden}
.faq summary{cursor:pointer;padding:16px 20px;font-weight:800;font-family:"Nunito";list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--forest);font-size:1.3rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq .a{padding:0 20px 18px;color:var(--ink-soft)}

/* Buch-Detail */
.book-detail{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start}
.book-detail .cover{border-radius:16px;overflow:hidden;box-shadow:var(--shadow);border:6px solid #fff;display:block;line-height:0;max-width:420px}
.book-detail .cover img{display:block;width:100%;height:auto}
.badge-row{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 16px}
.badge{background:var(--paper2);border-radius:999px;padding:.35em .85em;font-weight:800;font-size:.82rem;color:var(--forest-deep)}

/* Termine */
.termine{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:12px}
.termine li{display:flex;gap:16px;align-items:center;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:14px;padding:14px 18px;box-shadow:var(--shadow-sm)}
.termine .date{background:var(--forest);color:#fff;border-radius:10px;padding:8px 12px;text-align:center;font-weight:800;min-width:64px;line-height:1.1}
.termine .date small{display:block;font-size:.7rem;font-weight:700;text-transform:uppercase}

/* ============ Forms ============ */
.form{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:20px;padding:28px;box-shadow:var(--shadow-sm)}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{margin-bottom:16px;display:flex;flex-direction:column;gap:6px}
.field label{font-weight:700;font-size:.92rem;color:var(--forest-deep)}
.field .req{color:var(--berry)}
.field input,.field select,.field textarea{font-family:"Nunito";font-size:1rem;padding:.7em .9em;border:2px solid #e4dcc9;border-radius:12px;background:#fdfbf6;color:var(--ink);transition:.15s border}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--forest)}
.field textarea{min-height:120px;resize:vertical}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;color:var(--ink-soft)}
.consent input{width:20px;height:20px;margin-top:2px}

/* Freiwilliges Angebot im Bestellformular. Bewusst abgesetzt und mit
   konkretem Nutzen statt im Kleingedruckten - und bewusst NICHT
   vorausgewaehlt: eine vorausgewaehlte Einwilligung ist keine. */
.opt-in{display:flex;gap:12px;align-items:flex-start;cursor:pointer;
  background:#FFF8E8;border:2px solid var(--honey,#E0912A);border-radius:14px;
  padding:14px 16px;margin:4px 0 16px;font-size:.95rem;line-height:1.5;
  transition:border-color .15s,background .15s}
.opt-in:hover{background:#FFF3D9}
.opt-in:focus-within{outline:2px solid var(--honey,#E0912A);outline-offset:2px}
.opt-in input{width:22px;height:22px;margin:1px 0 0;flex:0 0 auto;accent-color:var(--honey,#E0912A)}
.opt-in b{color:#8a6712}
.opt-in .opt-klein{display:block;margin-top:5px;font-size:.86rem;color:var(--ink-soft)}
.opt-in .opt-bild{flex:0 0 auto;width:120px;height:auto;border-radius:8px;
  border:1px solid rgba(0,0,0,.08);box-shadow:0 2px 8px -4px rgba(0,0,0,.3);align-self:center}

/* Zweite Chance nach der Bestellung: gleiche Optik, aber kein Formularfeld -
   die Adresse ist ja schon bekannt, es braucht nur noch einen Klick. */
.opt-in-danach{margin-top:18px;cursor:default;align-items:center}
.opt-in-danach:hover{background:#FFF8E8}
.opt-in-danach b{font-size:1.02rem}
.opt-in-danach .opt-bild{width:150px}

@media (max-width:620px){
  /* Nur das Vorschaubild rutscht in eine eigene Zeile. Haekchen und Text
     muessen zusammenbleiben, sonst steht die Checkbox verloren darueber. */
  .opt-in{flex-wrap:wrap}
  .opt-in > input{order:1}
  .opt-in > span,
  .opt-in > div{order:2;flex:1 1 calc(100% - 40px);min-width:0}
  .opt-in .opt-bild{order:3;width:100%;max-width:300px;margin:6px auto 0}
}
@media (max-width:520px){ .opt-in{padding:12px 13px} }
.form-note{font-size:.84rem;color:var(--ink-soft);margin-top:10px}
.alert{border-radius:14px;padding:16px 20px;margin-bottom:20px;font-weight:600}
.alert-ok{background:#eaf6ee;border:1px solid #b9e0c6;color:#1c4632}
.alert-err{background:#fdecea;border:1px solid #f3c0b8;color:#a5352a}

@media(max-width:820px){
  .two-col,.book-detail{grid-template-columns:1fr}
  .form .row{grid-template-columns:1fr}
}

/* Grid- und Flex-Kinder duerfen schrumpfen. Ohne min-width:0 behalten sie ihre
   Inhaltsbreite und sprengen auf schmalen Displays die Spalte - genau das hat
   /lesungen, /kontakt und /fuer-schulen waagrecht scrollen lassen. */
.two-col > *,
.book-detail > *,
.form .row > *,
.form .field,
.checklist li,
.checklist li > *,
.facts li,
.facts li > *{min-width:0}
.checklist li,
.facts li{overflow-wrap:anywhere}

/* ============ Admin ============ */
.admin-body{background:#eef2ee}
.admin-wrap{max-width:820px;margin:0 auto;padding:30px 22px}
.admin-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.admin-card{background:#fff;border:1px solid #dfe6df;border-radius:16px;padding:22px;margin-bottom:18px;box-shadow:0 6px 18px -12px rgba(0,0,0,.3)}
.admin-card h2{font-size:1.3rem;margin-top:0}
.admin-list{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:8px}
.admin-list li{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#f7faf7;border:1px solid #e6ede6;border-radius:10px;padding:10px 14px}
.admin-list .del{color:#a5352a;font-weight:800;text-decoration:none;border:0;background:none;cursor:pointer;font-size:.9rem}
.login-box{max-width:380px;margin:8vh auto;background:#fff;border-radius:18px;padding:30px;box-shadow:var(--shadow)}
.menu a.active{color:var(--forest)}
.menu a.active::after{right:0}
@media(max-width:820px){ .lw-samples{grid-template-columns:1fr !important} }

/* Admin dashboard tiles */
.admin-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.admin-tile{display:flex;flex-direction:column;gap:2px;background:#fff;border:1px solid #dfe6df;border-radius:14px;padding:18px;box-shadow:0 6px 18px -14px rgba(0,0,0,.3);transition:.15s transform,.15s box-shadow;color:var(--ink)}
.admin-tile:hover{transform:translateY(-3px);box-shadow:0 12px 24px -14px rgba(0,0,0,.35)}
.admin-tile .ico{font-size:1.7rem}
.admin-tile b{font-size:1.05rem;color:var(--forest-deep)}
.admin-tile .cnt{font-size:.86rem;color:#77857b}
.admin-matrix{width:100%;border-collapse:collapse;margin:10px 0 4px}
.admin-matrix th,.admin-matrix td{border:1px solid #e2e8e2;padding:8px 10px;text-align:center;font-size:.9rem}
.admin-matrix th{background:#f2f6f2;color:var(--forest-deep)}
.admin-matrix td.lbl{text-align:left;font-weight:700;background:#f7faf7}
@media(max-width:720px){.admin-grid3{grid-template-columns:1fr}}

/* ── Welt-Detailseiten (SEO-reich) ───────────────────────── */
.section-tint{background:linear-gradient(180deg,#fff 0%,var(--paper) 100%)}
.wt-intro p{font-size:1.08rem}
.char-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}
.char-card{background:#fff;border:1px solid rgba(0,0,0,.05);border-radius:16px;padding:18px 20px;box-shadow:var(--shadow-sm)}
.char-card .cn{font-family:"Baloo 2",sans-serif;font-weight:700;font-size:1.12rem;color:var(--forest-deep);margin:0}
.char-card .cr{font-size:.82rem;font-weight:700;color:var(--berry);text-transform:uppercase;letter-spacing:.05em;margin:.1em 0 .5em}
.char-card .cd{color:var(--ink-soft);margin:0;font-size:.96rem}
.place-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:22px}
.place-card{background:#fff;border:1px solid rgba(0,0,0,.05);border-radius:14px;padding:16px 20px;box-shadow:var(--shadow-sm)}
.place-card b{color:var(--forest-deep);font-family:"Baloo 2",sans-serif}
.place-card p{margin:.25em 0 0;color:var(--ink-soft);font-size:.96rem}
.wt-sec{padding:56px 0}
.wt-sec.tint{background:var(--paper2)}
@media(max-width:820px){.char-grid{grid-template-columns:1fr}.place-grid{grid-template-columns:1fr}}

/* ── Vergleichstabelle (Sammlungsseiten, GEO-freundlich) ──── */
table.cmp{width:100%;border-collapse:collapse;margin:10px 0 4px;font-size:.96rem;background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm)}
table.cmp th,table.cmp td{padding:11px 14px;text-align:left;border-bottom:1px solid #eef0ea}
table.cmp thead th{background:var(--forest-deep);color:#fff;font-family:"Baloo 2",sans-serif;font-weight:600;font-size:.9rem}
table.cmp tbody tr:last-child td{border-bottom:0}
table.cmp tbody tr:nth-child(even) td{background:#f7faf7}
table.cmp a{color:var(--forest);font-weight:800}
@media(max-width:560px){table.cmp th,table.cmp td{padding:8px 10px;font-size:.88rem}}

/* ── Ratgeber-Karten ─────────────────────────────────────── */
.ratgeber-card{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(0,0,0,.05);border-top:4px solid var(--honey);border-radius:16px;padding:18px 20px;box-shadow:var(--shadow-sm);transition:.18s;color:var(--ink);overflow:hidden}
.ratgeber-card .rc-img{display:block;margin:-18px -20px 14px;background:var(--paper2)}
.ratgeber-card .rc-img img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.ratgeber-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.ratgeber-card .world-link{margin-top:auto}

/* ── Newsletter-Box ──────────────────────────────────────── */
.nl-box{background:linear-gradient(135deg,#2E7D52,#1C4632);border-radius:20px;padding:26px 28px;display:grid;grid-template-columns:1.1fr 1fr;gap:26px;align-items:center;box-shadow:var(--shadow)}
.nl-box .nl-text h2{font-size:1.5rem}
.nl-inline .nl-row{display:flex;gap:10px;margin-bottom:10px}
.nl-inline input[type=email]{flex:1;min-width:0;padding:12px 14px;border-radius:10px;border:0;font-family:"Nunito";font-size:1rem}
.nl-inline .btn{white-space:nowrap}
.nl-consent{display:flex;gap:8px;align-items:flex-start;font-size:.8rem;color:#eaf3ec}
.nl-consent a{color:#ffe1ad;text-decoration:underline}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
@media(max-width:760px){.nl-box{grid-template-columns:1fr;padding:22px}}

/* ── Gratis-Material / Download ──────────────────────────── */
.dl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-top:20px}
.dl-card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:16px;padding:18px 20px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:6px}
.dl-card .ico{font-size:1.8rem}
.dl-card h3{font-size:1.05rem;margin:0}
.dl-card p{font-size:.9rem;color:var(--ink-soft);margin:0 0 8px}
.dl-card .btn{margin-top:auto;align-self:flex-start}

/* ── Ratgeber-/Artikel-Layout (umfangreiche Inhalte) ─────── */
.byline{font-size:.86rem;color:var(--ink-soft);margin-top:6px}
.byline a{color:var(--forest);font-weight:700}
.art-intro{display:grid;grid-template-columns:1.35fr .95fr;gap:34px;align-items:start}
.art-intro .prose{max-width:none}
.art-hero{margin:0;border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}
.art-hero img{width:100%;height:100%;object-fit:cover;display:block}
.art-hero figcaption{font-size:.8rem;color:var(--ink-soft);padding:8px 12px;background:#fff;text-align:center}
.tldr{background:var(--paper2);border:1px solid rgba(224,145,42,.3);border-left:5px solid var(--honey);border-radius:0 14px 14px 0;padding:18px 22px;margin:30px 0 6px}
.tldr h2{font-size:1.15rem;margin:0 0 .5em;color:var(--forest-deep)}
.tldr ul{margin:0;padding-left:1.2em} .tldr li{margin-bottom:.4em;font-weight:600;color:var(--ink)}
.art-body{max-width:none;margin-top:10px}
.art-sec{margin-top:30px;max-width:78ch}
.art-sec h2{font-size:1.5rem}
.art-sec p{font-size:1.03rem;margin:0 0 .75em}
.art-sec .rich-list{margin:.4em 0 1em;padding-left:1.2em}
.art-sec .rich-list li{margin-bottom:.5em;font-size:1.01rem}
.fig-side{float:right;width:38%;max-width:320px;margin:4px 0 16px 24px;border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm)}
.fig-side img{width:100%;display:block}
.fig-side figcaption{font-size:.78rem;color:var(--ink-soft);padding:7px 10px;background:#fff;text-align:center}
.tip-box{clear:both;background:#eef6f0;border-left:4px solid var(--forest);border-radius:0 12px 12px 0;padding:14px 18px;margin:14px 0 4px;font-size:.98rem}
.tip-box strong{color:var(--forest-deep)}
@media(max-width:820px){
  .art-intro{grid-template-columns:1fr;gap:20px}
  .art-hero{order:-1}
  .fig-side{float:none;width:100%;max-width:none;margin:8px 0 16px}
}

/* ── Figuren-Steckbrief ──────────────────────────────────── */
.steckbrief{background:var(--paper2);border:1px solid rgba(28,70,50,.15);border-radius:16px;padding:18px 22px;margin:26px 0 6px;max-width:520px}
.steckbrief h2{font-size:1.15rem;margin:0 0 .5em;color:var(--forest-deep)}
.steckbrief table{width:100%;border-collapse:collapse;font-size:.98rem}
.steckbrief th{text-align:left;vertical-align:top;padding:6px 12px 6px 0;color:var(--forest-deep);font-family:"Baloo 2",sans-serif;font-weight:600;white-space:nowrap;width:38%}
.steckbrief td{padding:6px 0;border-bottom:1px solid rgba(0,0,0,.06)}
.steckbrief tr:last-child td,.steckbrief tr:last-child th{border-bottom:0}
.char-card a,.char-card{color:inherit}
a.char-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);transition:.18s}

/* TL;DR ganz oben – zentrales GEO-Element für AI-Zitate */
.tldr.tldr-top{margin:0 0 26px;background:#eef6f0;border-left:5px solid var(--forest)}
.tldr.tldr-top h2{color:var(--forest-deep)}

/* ── Content-Layout mit Sidebar (volle Breite nutzen) ────── */
.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:46px;align-items:start;margin-top:8px}
.content-main{min-width:0;max-width:none}
.content-main .art-sec{max-width:none;margin-top:26px}
.content-main .intro-prose{max-width:none}
.content-main .intro-prose p{font-size:1.08rem}
.hero-full{margin:0 0 22px;border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}
.hero-full img{width:100%;aspect-ratio:3/2;max-height:530px;object-fit:cover;display:block}
.hero-full figcaption{font-size:.82rem;color:var(--ink-soft);padding:9px 14px;background:#fff;text-align:center}
.hero-full figcaption .bildnachweis{display:block;margin-top:3px;font-size:.69rem;letter-spacing:.03em;opacity:.62}
.content-side{position:sticky;top:88px;display:flex;flex-direction:column;gap:16px}
.side-card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:16px;padding:16px 18px;box-shadow:var(--shadow-sm)}
.side-card h3{font-size:.82rem;font-family:"Baloo 2",sans-serif;color:var(--forest-deep);margin:0 0 .6em;text-transform:uppercase;letter-spacing:.06em}
.toc{list-style:none;margin:0;padding:0}
.toc li{margin-bottom:.15em}
.toc a{color:var(--ink-soft);font-size:.92rem;text-decoration:none;display:block;border-left:2px solid #e3ece3;padding:5px 0 5px 12px;line-height:1.3}
.toc a:hover{color:var(--forest);border-left-color:var(--honey)}
.side-cta{background:linear-gradient(135deg,#2E7D52,#1C4632);color:#fff;border-radius:16px;padding:18px 20px}
.side-cta h3{color:#ffe1ad}
.side-cta p{font-size:.86rem;opacity:.95;margin:.2em 0 .8em;color:#eaf3ec}
.side-cta .btn{width:100%;justify-content:center;text-align:center}
.side-dl{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px}
.side-dl li{margin:0}
.side-dl a{display:flex;gap:10px;align-items:flex-start;text-decoration:none;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:9px 11px;line-height:1.25;transition:background .15s ease}
.side-dl a:hover{background:rgba(255,255,255,.22)}
.side-dl .sd-i{font-size:1.25rem;line-height:1;flex:none}
.side-dl strong{font-size:.9rem;font-weight:700}
.side-dl .sd-s{font-size:.78rem;color:#d9eade}
.side-books{display:flex;flex-direction:column;gap:10px}
.side-books a{display:flex;gap:10px;align-items:center;color:var(--ink);text-decoration:none}
.side-books img{width:44px;height:56px;object-fit:cover;border-radius:6px;box-shadow:var(--shadow-sm);flex:none}
.side-books .sb-t{font-size:.86rem;font-weight:700;color:var(--forest-deep);line-height:1.2}
.side-books .sb-s{font-size:.74rem;color:var(--ink-soft)}
.content-side .steckbrief{max-width:none;margin:0}
@media(max-width:900px){
  .content-grid{grid-template-columns:1fr;gap:24px}
  .content-side{position:static;top:auto}
}

/* ── Buch-Finder-Quiz ────────────────────────────────────── */
.quiz-box{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:20px;box-shadow:var(--shadow);padding:34px;max-width:820px;margin:0 auto}
.quiz-q{font-family:"Fraunces",serif;font-size:1.5rem;color:var(--forest-deep);margin:0 0 20px;text-align:center}
.quiz-opts{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.quiz-opt{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;background:var(--paper);border:2px solid rgba(46,125,82,.2);border-radius:14px;padding:16px 18px;font-family:"Nunito";font-weight:800;font-size:1.02rem;color:var(--forest-deep);cursor:pointer;transition:.15s}
.quiz-opt small{font-weight:600;color:var(--ink-soft);font-size:.82rem}
.quiz-opt:hover{border-color:var(--forest);background:#fff;transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.quiz-back{margin-top:18px;background:none;border:0;color:var(--ink-soft);font-weight:700;cursor:pointer;font-family:"Nunito"}
.quiz-rec{display:grid;grid-template-columns:180px 1fr;gap:26px;align-items:center}
.quiz-cover img{width:100%;border-radius:12px;box-shadow:var(--shadow)}
.quiz-rec-body h3{font-size:1.6rem;margin:.15em 0 .1em;color:var(--forest-deep)}
.quiz-series{color:var(--berry);font-weight:800;font-size:.9rem;margin:0 0 .5em}
.quiz-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}
@media(max-width:640px){.quiz-opts{grid-template-columns:1fr}.quiz-rec{grid-template-columns:1fr;text-align:center}.quiz-cover{max-width:180px;margin:0 auto}.quiz-actions{justify-content:center}}

/* ── Interaktive Smaragdwald-Karte ──────────────────────── */
.map-wrap{background:linear-gradient(180deg,#eaf5ec,#dff0e4);border-radius:20px;box-shadow:var(--shadow);overflow:hidden;position:relative;border:1px solid rgba(28,70,50,.1)}
.map-wrap svg{display:block;width:100%;height:auto}
.map-hot{cursor:pointer}
.map-hot circle,.map-hot .pin{transition:.15s}
.map-hot:hover circle{r:15}
.map-label{font-family:"Baloo 2",sans-serif;font-weight:700;fill:#1C4632;font-size:15px;pointer-events:none}
.map-info{background:#fff;border-radius:14px;box-shadow:var(--shadow);padding:16px 20px;margin-top:16px;border-left:4px solid var(--forest);min-height:70px}
.map-info h3{margin:0 0 .2em;color:var(--forest-deep);font-size:1.15rem}
.map-info p{margin:0;color:var(--ink-soft)}
.map-info .btn{margin-top:8px}
.map-legend{font-size:.82rem;color:var(--ink-soft);text-align:center;margin-top:10px}

/* ── Hörprobe-Player (aktiv, sobald Audio hinterlegt) ────── */
.hoerprobe{display:flex;gap:20px;align-items:center;background:linear-gradient(135deg,#eef6f0,#e2f1ef);border:1px solid rgba(28,70,50,.12);border-radius:18px;padding:22px 26px;box-shadow:var(--shadow-sm)}
.hoerprobe .hp-ico{font-size:2.6rem;flex:none}
.hoerprobe audio{margin-top:4px}
@media(max-width:560px){.hoerprobe{flex-direction:column;text-align:center}}

/* ── Barrierefreiheit (a11y) ─────────────────────────────── */
.skip-link{position:absolute;left:-999px;top:0;z-index:2000;background:var(--forest-deep);color:#fff;padding:10px 16px;border-radius:0 0 10px 0;font-weight:800;text-decoration:none}
.skip-link:focus{left:0}
#inhalt{position:relative;scroll-margin-top:90px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--honey);outline-offset:2px;border-radius:4px}
.map-hot:focus-visible circle{stroke:var(--honey);stroke-width:4}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
  .reveal{opacity:1 !important;transform:none !important}
}

/* ── Mobile Overflow-Schutz (H3) ─────────────────────────── */
@media(max-width:560px){
  h1{overflow-wrap:break-word;word-break:break-word}
  .nl-box h2{font-size:1.35rem}
  .nl-row{flex-wrap:wrap}
  .nl-row input{min-width:0;width:100%}
  .nl-row .btn{width:100%;justify-content:center}
  .grade-chips{flex-wrap:wrap}
  .final-cta .btns{flex-wrap:wrap}
  .final-cta .btns .btn{width:100%;justify-content:center}
}

/* ── Saison-Slot (Modul F) ───────────────────────────────── */
.season-band{background:linear-gradient(180deg,#fff7e8,#fdeecb);border-top:1px solid rgba(224,145,42,.25);border-bottom:1px solid rgba(224,145,42,.25)}
.season-inner{display:flex;align-items:center;justify-content:space-between;gap:26px;padding:26px 0;flex-wrap:wrap}
.season-inner h2{margin:.1em 0 .25em;color:var(--forest-deep);font-size:1.5rem}
.season-inner p{margin:0;color:var(--ink-soft);max-width:60ch}
.season-cta{display:flex;gap:12px;flex-wrap:wrap;flex:none}
@media(max-width:640px){.season-cta{width:100%}.season-cta .btn{flex:1;justify-content:center;text-align:center}}

/* ── Lesungs-Bestellung (Modul B) ────────────────────────── */
.order-list{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.order-row{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid rgba(0,0,0,.07);border-radius:12px;padding:10px 14px}
.order-row img{width:42px;height:54px;object-fit:cover;border-radius:6px;box-shadow:var(--shadow-sm);flex:none}
.order-row .or-info{flex:1;min-width:0}
.order-row .or-info b{display:block;color:var(--forest-deep);font-size:.98rem;line-height:1.2}
.order-row .or-info span{font-size:.82rem;color:var(--ink-soft)}
/* Mengen-Stepper „− 0 +" */
.qty-stepper{display:inline-flex;align-items:center;border:1px solid rgba(46,125,82,.35);border-radius:10px;overflow:hidden;flex:none;background:#fff}
.qty-btn{width:40px;height:42px;border:0;background:#eef6f0;color:var(--forest-deep);font-size:1.35rem;line-height:1;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.12s;font-family:inherit}
.qty-btn:hover{background:var(--forest);color:#fff}
.qty-btn:active{transform:scale(.93)}
.qty-val{width:46px;height:42px;border:0;border-left:1px solid rgba(46,125,82,.2);border-right:1px solid rgba(46,125,82,.2);text-align:center;font-family:inherit;font-weight:800;color:var(--forest-deep);font-size:1.05rem;background:#fff;-moz-appearance:textfield}
.qty-val::-webkit-outer-spin-button,.qty-val::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* ── Live-Bestellsumme (Modul B) ─────────────────────────── */
.order-sum{position:sticky;bottom:12px;z-index:5;margin:18px 0 6px;background:linear-gradient(135deg,#2E7D52,#1C4632);color:#fff;border-radius:16px;padding:16px 20px;box-shadow:var(--shadow)}
.order-sum .os-row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;font-size:1rem;padding:2px 0}
.order-sum .os-rab{color:#ffe1ad}
.order-sum .os-total{border-top:1px solid rgba(255,255,255,.28);margin-top:6px;padding-top:8px;font-family:"Fraunces",serif;font-size:1.35rem;font-weight:700}
.order-sum .os-total span:last-child{font-size:1.5rem}
.order-sum .os-hint{margin:8px 0 0;font-size:.8rem;opacity:.85}
.order-sum.is-active{outline:2px solid var(--honey);outline-offset:2px}
@media(max-width:560px){.order-sum .os-total{font-size:1.2rem}.order-sum .os-total span:last-child{font-size:1.3rem}}

/* ── Bestell-Item mit Info-Ausklapper (Modul B) ──────────── */
.order-item{border:1px solid rgba(0,0,0,.08);border-radius:12px;background:#fff;overflow:hidden}
.order-item .order-row{border:0;border-radius:0;background:transparent}
.order-more{border-top:1px solid #eef1ee}
.order-more>summary{cursor:pointer;padding:9px 14px;font-size:.85rem;color:var(--forest);font-weight:700;list-style:none;user-select:none}
.order-more>summary::-webkit-details-marker{display:none}
.order-more>summary::before{content:"ℹ️ "}
.order-more[open]>summary{color:var(--forest-deep)}
.om-body{padding:2px 16px 16px}
.om-body p{font-size:.95rem;line-height:1.55;color:var(--ink);margin:.2em 0 .8em}
.om-body .facts{margin:0 0 .7em}

/* ── Buch-Info-Panel schön (Modul B) ─────────────────────── */
.om-h{font-family:"Baloo 2",sans-serif;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--forest-deep);margin:14px 0 8px;padding-bottom:5px;border-bottom:2px solid rgba(224,145,42,.45)}
.om-body>.om-h:first-child{margin-top:2px}
.om-body p{font-size:.95rem;line-height:1.55;color:var(--ink);margin:.1em 0 .4em}
.om-specs{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
.om-specs>div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dotted #dbe6dc;padding:6px 0}
.om-specs dt{color:var(--ink-soft);font-size:.85rem;margin:0}
.om-specs dd{margin:0;font-weight:700;color:var(--forest-deep);font-size:.85rem;text-align:right}
.om-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px;padding-top:10px;border-top:1px solid #eef1ee}
.om-price{font-family:"Fraunces",serif;font-size:1.15rem;font-weight:700;color:var(--forest-deep)}
.om-price small{font-family:"Nunito",sans-serif;font-size:.72rem;font-weight:600;color:var(--ink-soft)}
.om-link{font-weight:700;color:var(--forest);text-decoration:none;white-space:nowrap}
.om-link:hover{color:var(--honey)}
@media(max-width:560px){.om-specs{grid-template-columns:1fr}}

/* Essenz-Satz im Buch-Info-Panel */
.om-essence{font-style:italic;color:var(--forest-deep);background:#f4faf6;border-left:3px solid var(--honey);border-radius:0 8px 8px 0;padding:8px 14px;margin:.5em 0 .2em;font-size:.95rem}

/* ============================================================
   Geschichtenwelt (Vorlesegeschichten)
   ============================================================ */
.wrap-narrow{max-width:720px}
.chip-tag.chip-active{background:var(--forest);color:#fff;border-color:var(--forest)}

/* Grid der Geschichten-Karten */
.story-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.story-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid rgba(46,125,82,.12);border-radius:18px;padding:24px 22px 20px;box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease}
.story-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.story-card .sc-badge{align-self:flex-start;background:rgba(244,169,60,.16);color:var(--honey-deep);font-weight:800;font-size:.74rem;padding:.28em .8em;border-radius:999px;margin-bottom:12px}
.story-card h2,.story-card h3{font-size:1.18rem;line-height:1.25;margin:0 0 .4em;color:var(--forest-deep)}
.story-card p{font-size:.94rem;color:var(--ink-soft);margin:0 0 1em;flex:1}
.story-card .sc-foot{display:flex;justify-content:space-between;align-items:center;gap:10px}
.story-card .sc-time{font-size:.82rem;color:var(--ink-soft)}

/* Einzelseite */
.story-head .story-lead{font-size:1.14rem;color:var(--ink-soft);max-width:640px;margin:.2em 0 0}
.story-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.story-meta .sm-pill{background:#fff;border:1px solid rgba(46,125,82,.16);border-radius:999px;padding:.4em .95em;font-size:.86rem;font-weight:700;color:var(--forest-deep)}
.story-meta .sm-link:hover{background:rgba(46,125,82,.07)}

.story-text{font-family:"Fraunces",Georgia,serif;font-size:1.24rem;line-height:1.72;color:var(--ink)}
.story-text p{margin:0 0 1.05em}
.story-text .story-first::first-letter{font-size:3.1rem;font-weight:700;float:left;line-height:.86;padding:.06em .12em 0 0;color:var(--honey-deep)}
.story-byline{margin-top:26px;font-size:.92rem;color:var(--ink-soft);font-style:italic}
.story-hero{margin:0;border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--shadow-sm);background:var(--paper2)}
.story-hero img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.story-card.has-img{padding-top:0;overflow:hidden}
.story-card .sc-img{display:block;margin:0 0 14px;background:var(--paper2)}
.story-card .sc-img img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.story-card.has-img .sc-badge{top:12px;left:12px}
.story-dl{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:16px}
.story-dl-note{font-size:.84rem;color:var(--ink-soft)}
.story-dl-box{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;margin-top:26px;padding:20px 22px;background:var(--paper2);border-radius:var(--radius-sm)}
.story-dl-box .sdb-ico{font-size:1.9rem;line-height:1}
.story-dl-box b{display:block;font-family:"Fraunces",Georgia,serif;font-size:1.06rem;color:var(--forest-deep)}
.story-dl-box p{margin:.3em 0 0;font-size:.92rem;line-height:1.5;color:var(--ink-soft)}
@media(max-width:700px){.story-dl-box{grid-template-columns:auto minmax(0,1fr);gap:12px}.story-dl-box .btn{grid-column:1/-1;justify-self:start}}

/* Buch-Brücke */
.story-book{display:flex;gap:26px;align-items:center;background:linear-gradient(135deg,rgba(46,125,82,.06),rgba(244,169,60,.08));border:1px solid rgba(46,125,82,.14);border-radius:20px;padding:24px 26px;margin-top:34px}
.story-book .sb-cover{flex:0 0 120px}
.story-book .sb-cover img{width:120px;border-radius:8px;box-shadow:var(--shadow-md);display:block}
.story-book .sb-txt h2{font-size:1.3rem;margin:.15em 0 .35em;color:var(--forest-deep)}
.story-book .sb-txt p{font-size:.96rem;color:var(--ink-soft);margin:0 0 1em}
.story-book .sb-actions{display:flex;gap:10px;flex-wrap:wrap}

/* Intro-Box am Hub-Ende */
.story-intro-box{margin-top:34px;background:#fff;border:1px solid rgba(46,125,82,.12);border-left:4px solid var(--honey);border-radius:14px;padding:22px 26px;max-width:820px}
.story-intro-box h2{font-size:1.24rem;margin:0 0 .4em;color:var(--forest-deep)}
.story-intro-box p{margin:0;color:var(--ink-soft)}

@media(max-width:640px){
  .story-text{font-size:1.14rem}
  .story-book{flex-direction:column;text-align:center}
  .story-book .sb-actions{justify-content:center}
}

/* ============================================================
   Lexikon der Igebitz-Welten
   ============================================================ */
.lex-tagline{font-size:1.14rem;color:var(--ink-soft);max-width:660px;margin:.2em 0 0}
.lex-group{margin-bottom:38px}
.lex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
.lex-card{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(46,125,82,.12);border-radius:16px;padding:20px 20px 18px;box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease}
.lex-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.lex-card .lex-kat{align-self:flex-start;background:rgba(46,125,82,.09);color:var(--forest-deep);font-weight:800;font-size:.72rem;padding:.26em .7em;border-radius:999px;margin-bottom:11px;letter-spacing:.02em}
.lex-card h3{font-size:1.12rem;line-height:1.22;margin:0 0 .32em;color:var(--forest-deep)}
.lex-card p{font-size:.9rem;color:var(--ink-soft);margin:0 0 1em;flex:1}

/* Steckbrief-Box (dl) */
.lex-steckbrief .facts{display:grid;gap:10px}
.lex-steckbrief .facts>div{display:flex;gap:12px;align-items:flex-start}
.lex-steckbrief .facts dt.k{font-weight:800;color:var(--forest-deep);min-width:104px;margin:0}
.lex-steckbrief .facts dd{margin:0;color:var(--ink)}

/* Figur-Link in Sidebar */
.side-figlink{display:flex;gap:12px;align-items:center;text-decoration:none}
.side-figlink img{width:56px;height:56px;border-radius:50%;object-fit:cover;box-shadow:var(--shadow-sm)}
.side-figlink .sb-t{font-weight:800;color:var(--forest-deep)}
.side-figlink .sb-s{font-size:.86rem;color:var(--forest)}

/* ── Beweis-Schicht auf Buchseiten ────────────────────────
   Leseprobe, Innenseiten, Autoren-Notiz, Stimmen.
   Alle Blöcke erscheinen nur, wenn im Backend Inhalte hinterlegt sind. */
.leseprobe{background:var(--card);border:1px solid rgba(28,70,50,.12);border-radius:var(--radius);
  padding:34px 38px;box-shadow:var(--shadow-sm);max-width:72ch;margin:0 auto;position:relative}
.leseprobe::before{content:"„";position:absolute;top:-6px;left:16px;font-family:"Fraunces",Georgia,serif;
  font-size:6rem;line-height:1;color:var(--honey);opacity:.28;pointer-events:none}
.leseprobe .lp-quelle{font-size:.88rem;color:var(--ink-soft);margin:0 0 1.1em;font-style:italic}
.lp-text{font-size:1.06rem;line-height:1.85}
.lp-text p{margin:0 0 1.05em;text-align:justify;hyphens:auto}
.lp-text p.lp-first::first-letter{font-family:"Fraunces",Georgia,serif;font-size:3.1rem;line-height:.86;
  float:left;padding:6px 10px 0 0;color:var(--forest-deep)}
.lp-foot{margin-top:26px;padding-top:20px;border-top:1px dashed rgba(28,70,50,.22);
  display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.lp-foot p{margin:0;font-weight:700;color:var(--forest-deep)}
@media(max-width:560px){.leseprobe{padding:26px 20px}.lp-text p{text-align:left}}

.innen-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px;margin-top:20px}
.innen-fig{margin:0}
.innen-fig img{width:100%;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);background:var(--card)}
.innen-fig figcaption{font-size:.86rem;color:var(--ink-soft);margin-top:8px;line-height:1.45}

.autorennotiz{display:flex;gap:26px;align-items:flex-start;background:linear-gradient(135deg,#fdf6e8,#f8efdd);
  border:1px solid rgba(224,145,42,.28);border-radius:var(--radius);padding:28px 32px;box-shadow:var(--shadow-sm)}
.autorennotiz .an-foto{width:120px;height:120px;border-radius:50%;object-fit:cover;flex:none;box-shadow:var(--shadow-sm)}
.autorennotiz .an-sig{margin:.6em 0 0;font-size:.9rem;color:var(--ink-soft)}
.autorennotiz .an-sig a{color:var(--forest);font-weight:700;text-decoration:underline}
@media(max-width:640px){.autorennotiz{flex-direction:column;align-items:center;text-align:center;padding:24px 20px}}

.stimmen-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;margin-top:20px}
.stimme{margin:0;background:var(--card);border:1px solid rgba(28,70,50,.12);border-radius:var(--radius-sm);
  padding:24px 26px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:10px}
.stimme .st-sterne{color:var(--honey-deep);letter-spacing:.12em;font-size:1.05rem}
.stimme blockquote{margin:0;font-size:1.02rem;line-height:1.7;quotes:"„" "“";flex:1}
.stimme blockquote::before{content:open-quote}
.stimme blockquote::after{content:close-quote}
.stimme figcaption{font-size:.9rem;color:var(--ink-soft);display:flex;flex-direction:column}
.stimme figcaption b{color:var(--forest-deep)}

/* ── Backend: Inhalts-Editoren ────────────────────────────
   Formularbausteine für Bücher, Ratgeber, Geschichten und Downloads. */
.admin-wrap.wide{max-width:1000px}
.admin-card .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.admin-card .row.row3{grid-template-columns:1fr 1fr 1fr}
@media(max-width:720px){.admin-card .row,.admin-card .row.row3{grid-template-columns:1fr}}
.admin-card .del{color:#a5352a;font-weight:800;border:0;background:none;cursor:pointer;font-size:.88rem;padding:0;text-align:left}
.admin-card .del:hover{text-decoration:underline}
.admin-hint{background:#fffaf0;border:1px solid #f0dcae;border-radius:14px;padding:16px 20px;margin-bottom:20px;
  font-size:.94rem;line-height:1.6;color:#5b4a26}
.admin-hint b{color:#3f3315}
.admin-actions{display:flex;gap:12px;align-items:center;margin-top:22px;padding-top:18px;border-top:1px solid #e6ede6}
.fhint{font-size:.83rem;color:#77857b;line-height:1.5}
.fhint code{background:#eef2ee;padding:1px 5px;border-radius:4px;font-size:.92em}
.fhint-block{margin:0 0 14px}
.fgroup{border:1px solid #e2e8e2;border-radius:12px;margin-bottom:14px;background:#fbfdfb}
.fgroup>summary{cursor:pointer;padding:13px 18px;font-weight:800;color:var(--forest-deep);font-size:1rem;
  list-style:none;display:flex;align-items:center;gap:8px;border-radius:12px}
.fgroup>summary::-webkit-details-marker{display:none}
.fgroup>summary::before{content:"▸";color:var(--forest);transition:.15s transform;display:inline-block}
.fgroup[open]>summary::before{transform:rotate(90deg)}
.fgroup>summary:hover{background:#f2f7f2}
.fgroup-body{padding:4px 18px 18px}
.rep-row{border:1px dashed #d5ded5;border-radius:10px;padding:14px 16px 6px;margin-bottom:12px;background:#fff}
.rep-row .field{margin-bottom:12px}
.book-row{display:flex;gap:18px;align-items:flex-start}
.br-cover{width:64px;flex:none;border-radius:8px;box-shadow:0 4px 10px -6px rgba(0,0,0,.4)}
.br-main{flex:1;min-width:0}
.br-title{font-family:"Fraunces",Georgia,serif;font-size:1.2rem;font-weight:600;color:var(--forest-deep)}
.br-title:hover{text-decoration:underline}
.br-sub{font-size:.88rem;color:#77857b;margin-bottom:9px}
.br-flags{display:flex;flex-wrap:wrap;gap:6px}
.flag{font-size:.76rem;font-weight:700;border-radius:999px;padding:3px 10px;white-space:nowrap}
.flag-ok{background:#eaf6ee;color:#1c4632;border:1px solid #b9e0c6}
.flag-off{background:#f2f4f2;color:#8b968d;border:1px solid #e2e8e2}
.br-act{display:flex;flex-direction:column;gap:8px;align-items:flex-end;flex:none}
.br-act .world-link{font-size:.82rem}
@media(max-width:640px){.book-row{flex-wrap:wrap}.br-act{flex-direction:row;width:100%}}
.flag-mid{background:#fff6e3;color:#7a5a12;border:1px solid #f0dcae}
.flag-hub{background:#e8effa;color:#274a86;border:1px solid #c3d3ee;font-size:.7rem}
.rat-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 0;border-top:1px solid #eef2ee}
.rat-row:first-of-type{border-top:0}
.rr-main{flex:1;min-width:200px}
.rr-title{font-weight:800;color:var(--forest-deep)}
.rr-title:hover{text-decoration:underline}
.rr-sub{font-size:.8rem;color:#8b968d}

/* ── Checkbox-Raster (Themen, Mehrfachauswahl) ───────────── */
.chk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin-top:6px}
.chk{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #E7DFCE;
     border-radius:var(--radius-sm);padding:9px 12px;font-size:.94rem;cursor:pointer;transition:.15s}
.chk:hover{border-color:var(--leaf);background:#FCFAF4}
.chk input{width:auto;margin:0;accent-color:var(--forest)}
.chk:has(input:checked){border-color:var(--forest);background:#F1F8F3;font-weight:600}

/* ── Gratis-Material: Anforderungsseite (E-Mail-Gate) ────── */
.gate{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:start}
.gate-info{background:var(--paper2);border-radius:var(--radius);padding:26px 28px}
.gate-ico{font-size:2.4rem;line-height:1;margin-bottom:8px}
.gate-list{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:8px}
.gate-list li{position:relative;padding-left:26px;font-size:.96rem}
.gate-list li::before{content:"✓";position:absolute;left:0;top:0;color:var(--forest);font-weight:800}
.gate-meta{margin-top:16px;font-size:.85rem;color:var(--ink-soft)}
.gate-form{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:var(--radius);
           padding:26px 28px;box-shadow:var(--shadow-sm)}
.gate-form .nl-consent{display:flex;gap:10px;align-items:flex-start;margin-top:12px;font-size:.9rem}
.gate-form .nl-consent input{width:auto;margin-top:3px;accent-color:var(--forest)}
.dl-card .dl-meta{font-size:.8rem;color:var(--ink-soft);margin:0 0 10px}
@media (max-width:820px){ .gate{grid-template-columns:1fr} }

/* ── Tabelle im Backend (Anfragen, Listen) ──────────────── */
.admin-table{width:100%;border-collapse:collapse;font-size:.92rem;background:#fff;
             border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--shadow-sm)}
.admin-table th,.admin-table td{padding:9px 12px;text-align:left;border-bottom:1px solid #EFE7D8;white-space:nowrap}
.admin-table th{background:var(--paper2);font-family:'Nunito',sans-serif;font-weight:800;font-size:.82rem;
                text-transform:uppercase;letter-spacing:.03em;color:var(--ink-soft)}
.admin-table tr:last-child td{border-bottom:0}
.admin-table tbody tr:hover{background:#FCFAF4}

/* ---------- Autoren-Box (Ratgeber-Artikel, E-E-A-T) ---------- */
.author-box{display:flex;gap:20px;align-items:flex-start;background:var(--paper2);
            border:1px solid rgba(46,125,82,.18);border-radius:16px;padding:22px 24px;margin:0}
.author-box-photo{flex:0 0 96px}
.author-box-photo img{width:96px;height:96px;border-radius:50%;object-fit:cover;display:block;
                      border:3px solid #fff;box-shadow:0 2px 10px rgba(0,0,0,.10)}
.author-box-text{flex:1 1 auto;min-width:0}
.author-box-text h2{font-size:1.2rem;margin:.15em 0 .45em;color:var(--forest-deep)}
.author-box-text h2 a{color:inherit;text-decoration:none}
.author-box-text h2 a:hover{text-decoration:underline}
.author-box-text p{margin:0 0 .5em;font-size:.95rem;color:var(--ink)}
.author-box-meta{font-size:.84rem;color:var(--ink-soft);margin-bottom:0!important}
@media (max-width:620px){
  .author-box{flex-direction:column;align-items:center;text-align:center;padding:20px 18px}
  .author-box-photo{flex:0 0 auto}
}

/* ---------- Quellen-Box (externe Belege, E-E-A-T/GEO) ---------- */
.quellen-box{background:var(--paper2);border:1px solid rgba(46,125,82,.18);border-radius:16px;padding:22px 26px}
.quellen-box h2{font-size:1.2rem;margin:.15em 0 .5em;color:var(--forest-deep)}
.quellen-intro{font-size:.93rem;color:var(--ink-soft);margin:0 0 1em}
.quellen-list{margin:0;padding-left:1.35em}
.quellen-list li{font-size:.9rem;line-height:1.55;color:var(--ink);margin-bottom:.7em;word-break:break-word}
.quellen-list li:last-child{margin-bottom:0}
.quellen-hg{font-weight:600;color:var(--forest-deep)}
.quellen-list a{color:var(--forest-deep);text-decoration:underline;text-underline-offset:2px}
.quellen-list a:hover{color:var(--ink)}
.quellen-jahr{color:var(--ink-soft)}
.quellen-note{display:block;font-size:.84rem;color:var(--ink-soft);margin-top:.15em}
@media (max-width:620px){.quellen-box{padding:20px 18px}}

/* ---------- Figurenbilder (freigestellte Illustrationen) ---------- */
.figur-intro{display:grid;grid-template-columns:290px minmax(0,1fr);gap:30px;align-items:start;margin:0 0 26px}
.figur-portrait{margin:0;background:var(--paper2);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm)}
.figur-portrait img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;padding:10px 6px}
.figur-portrait figcaption{font-size:.79rem;line-height:1.45;color:var(--ink-soft);padding:9px 12px;background:#fff;text-align:center}
.figur-intro .intro-prose{margin:0}
.figur-intro .intro-prose p:first-child{margin-top:0}
@media(max-width:820px){
  .figur-intro{grid-template-columns:1fr;gap:18px}
  .figur-portrait{max-width:300px;margin-inline:auto}
}
.char-card .cc-img{display:block;background:var(--paper2);border-radius:12px;margin:-4px 0 12px;overflow:hidden}
.char-card .cc-img img{display:block;width:100%;height:200px;object-fit:contain;padding:8px 0}
@media(max-width:820px){.char-card .cc-img img{height:230px}}

/* --- Bereich Kinder & Familie ------------------------------------------- */
/* Erfahrungsblock: der persoenliche Teil eines Artikels, optisch abgesetzt. */
.erfahrung{background:var(--paper2,#F4EFE4);border-left:4px solid var(--forest,#2E7D52);
  border-radius:0 12px 12px 0;padding:20px 24px;margin:26px 0}
.erfahrung .eyebrow{display:block;margin-bottom:8px}
.erfahrung p{margin:0 0 .7em}
.erfahrung p:last-of-type{margin-bottom:0}
.erfahrung .erf-sig{margin-top:12px;font-size:.84rem;color:var(--ink-soft,#5A6553);font-style:italic}
/* Pruefstand bei Artikeln mit Betraegen, Fristen oder App-Einstellungen. */
.stand-hinweis{font-size:.86rem;color:var(--ink-soft,#5A6553);margin:18px 0 0;
  padding-top:10px;border-top:1px solid var(--line,#E2D9C9)}
/* Verweisblock von einem Ratgeberbereich in den anderen. */
.cross-bereich{border-top:1px solid var(--line,#E2D9C9)}
@media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}}

/* ─────────────────────────────────────────────────────────────
   Bereichs-Index kompakt: Suche, Themenkacheln, Situationen, A–Z
   ───────────────────────────────────────────────────────────── */
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Sofortsuche */
.bx-suche{position:relative;max-width:640px;margin:22px 0 0}
.bx-suchfeld{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid rgba(46,125,82,.22);
  border-radius:999px;padding:.55em 1.1em;box-shadow:var(--shadow-sm);transition:.16s}
.bx-suchfeld:focus-within{border-color:var(--forest);box-shadow:0 0 0 3px rgba(46,125,82,.15),var(--shadow-sm)}
.bx-lupe{display:flex;color:var(--forest);flex:0 0 auto}
.bx-suche input{flex:1;border:0;outline:0;background:transparent;font:inherit;font-size:1rem;color:var(--ink);
  padding:.25em 0;min-width:0}
.bx-suche input::-webkit-search-cancel-button{cursor:pointer}
.bx-hint{margin:.5em 0 0;font-size:.86rem;color:var(--ink-soft)}
.bx-treffer{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:40;background:#fff;
  border:1px solid rgba(46,125,82,.18);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
.bx-treffer-item{display:flex;justify-content:space-between;align-items:baseline;gap:14px;
  padding:.72em 1.1em;border-bottom:1px solid rgba(0,0,0,.05)}
.bx-treffer-item:last-child{border-bottom:0}
.bx-treffer-item:hover,.bx-treffer-item.aktiv{background:var(--paper)}
.bx-t-titel{font-weight:700;color:var(--forest-deep)}
.bx-t-hub{font-size:.8rem;color:var(--ink-soft);flex:0 0 auto}
.bx-leer{margin:0;padding:.9em 1.1em;font-size:.92rem;color:var(--ink-soft)}

/* Klebende Themenleiste unter dem Kopf */
.bx-sticky{position:sticky;top:var(--kopfh,66px);z-index:50;
  background:linear-gradient(180deg,#F7F0E1 0%,var(--paper2) 100%);
  border-top:1px solid rgba(46,125,82,.16);
  border-bottom:1px solid rgba(46,125,82,.22);
  box-shadow:0 6px 16px -12px rgba(28,70,50,.45)}
.bx-sticky .wrap{display:flex;align-items:center;gap:12px;min-height:54px}
.bx-sticky-label{flex:0 0 auto;display:inline-flex;align-items:center;gap:.5em;
  font-family:"Baloo 2",sans-serif;font-weight:600;font-size:.78rem;letter-spacing:.06em;
  color:var(--forest-deep);background:#fff;border:1px solid rgba(46,125,82,.22);
  border-radius:999px;padding:.34em .82em .34em .62em;box-shadow:var(--shadow-sm);transition:.14s}
.bx-sticky-label::before{content:"";width:15px;height:11px;flex:0 0 auto;
  background:currentColor;opacity:.75;
  -webkit-mask:linear-gradient(#000,#000) top/100% 2px no-repeat,linear-gradient(#000,#000) center/100% 2px no-repeat,linear-gradient(#000,#000) bottom/100% 2px no-repeat;
  mask:linear-gradient(#000,#000) top/100% 2px no-repeat,linear-gradient(#000,#000) center/100% 2px no-repeat,linear-gradient(#000,#000) bottom/100% 2px no-repeat}
a.bx-sticky-label:hover{border-color:var(--forest);color:var(--forest)}
.bx-sticky-trenner{flex:0 0 auto;width:1px;height:22px;background:rgba(46,125,82,.22)}
.bx-sticky-links{position:relative;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.bx-sticky-links::-webkit-scrollbar{display:none}
.bx-sticky-links a{flex:0 0 auto;padding:.38em .82em;border-radius:999px;font-size:.89rem;font-weight:700;
  color:var(--forest-deep);white-space:nowrap;border:1px solid transparent;transition:.14s}
.bx-sticky-links a:hover{background:#fff;border-color:rgba(46,125,82,.28);box-shadow:var(--shadow-sm)}
.bx-sticky-links a.hier{background:var(--forest);border-color:var(--forest);color:#fff;
  box-shadow:0 6px 14px -8px rgba(46,125,82,.8)}
.bx-sticky-links a.hier:hover{background:var(--forest-deep);border-color:var(--forest-deep)}

/* Themenkacheln */
.bx-h2{margin-bottom:.15em}
.themen-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:22px}
.thema-kachel{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(0,0,0,.05);
  border-radius:16px;overflow:hidden;box-shadow:var(--shadow-sm);transition:.18s;color:var(--ink)}
.thema-kachel:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.thema-kachel .tk-img{display:block;background:var(--paper2)}
.thema-kachel .tk-img img{width:100%;aspect-ratio:3/2;object-fit:cover}
.tk-body{display:flex;flex-direction:column;gap:.3em;padding:14px 16px 16px}
.tk-kopf{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.tk-kopf h3{font-size:1.06rem;margin:0}
.tk-zahl{flex:0 0 auto;font-family:"Baloo 2",sans-serif;font-weight:600;font-size:.76rem;
  color:var(--forest-deep);background:var(--paper2);border-radius:999px;padding:.12em .62em}
.tk-lead{font-size:.9rem;color:var(--ink-soft);line-height:1.5}

/* Situationseinstiege */
.bx-lagen{background:var(--paper2);border-top:1px solid rgba(46,125,82,.12);
  border-bottom:1px solid rgba(46,125,82,.12);padding:44px 0}
.lage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:22px}
.lage-karte{background:#fff;border-radius:16px;border:1px solid rgba(0,0,0,.05);
  border-left:4px solid var(--honey);padding:18px 20px;box-shadow:var(--shadow-sm)}
.lage-karte h3{font-size:1.12rem;margin:.15em 0 .55em}
.lage-karte ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.34em}
.lage-karte li a{font-size:.94rem;color:var(--forest-deep);font-weight:600;
  border-bottom:1px solid transparent;transition:.14s}
.lage-karte li a:hover{border-bottom-color:var(--forest)}
.lage-karte li::before{content:"→ ";color:var(--honey-deep);font-weight:700}

/* Vollstaendige Liste, ausklappbar */
.az-block{background:#fff;border:1px solid rgba(46,125,82,.16);border-radius:16px;padding:0 20px;
  box-shadow:var(--shadow-sm)}
.az-block>summary{cursor:pointer;list-style:none;padding:16px 0;font-family:"Fraunces",Georgia,serif;
  font-size:1.12rem;color:var(--forest-deep);display:flex;align-items:center;gap:.6em}
.az-block>summary::-webkit-details-marker{display:none}
.az-block>summary::before{content:"+";font-family:"Baloo 2",sans-serif;font-size:1.3rem;line-height:1;
  color:var(--honey-deep);transition:.18s}
.az-block[open]>summary::before{content:"–"}
.az-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;padding:4px 0 22px;
  border-top:1px solid rgba(0,0,0,.06)}
.az-gruppe h3{font-size:.94rem;margin:14px 0 .5em;color:var(--forest)}
.az-gruppe ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3em}
.az-gruppe a{font-size:.9rem;color:var(--ink-soft)}
.az-gruppe a:hover{color:var(--forest-deep);text-decoration:underline}
.bx-altlink{margin:16px 0 0;font-size:.86rem}
.bx-altlink a{color:var(--ink-soft);text-decoration:underline}

/* Hub-Seiten: einheitliche Beitragsliste am Fuss des Ueberblicks */
.hub-zahl{font-family:"Baloo 2",sans-serif;font-size:.8rem;font-weight:600;color:var(--forest-deep);
  background:var(--paper2);border-radius:999px;padding:.1em .6em;vertical-align:middle}
.hub-liste{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 26px}
.hub-liste li{border-top:1px solid rgba(0,0,0,.07)}
.hub-liste a{display:flex;flex-direction:column;gap:.1em;padding:.7em 0;transition:.14s}
.hub-liste a:hover .hl-titel{color:var(--forest)}
.hl-titel{font-weight:700;color:var(--forest-deep);font-size:.98rem}
.hl-lead{font-size:.86rem;color:var(--ink-soft);line-height:1.45}

@media(max-width:1000px){
  .bx-sticky-links{mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent);-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent)}
  .themen-grid{grid-template-columns:repeat(2,1fr)}
  .lage-grid{grid-template-columns:repeat(2,1fr)}
  .az-inner{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .themen-grid{grid-template-columns:1fr 1fr;gap:14px}
  .thema-kachel .tk-img{display:none}
  .tk-body{padding:13px 14px}
  .tk-kopf h3{font-size:.98rem}
  .lage-grid{grid-template-columns:1fr}
  .az-inner{grid-template-columns:1fr}
  .hub-liste{grid-template-columns:1fr}
  .bx-sticky .wrap{padding-right:0}
  .bx-sticky-label span{display:none}
  .bx-sticky-label{padding:.34em .5em}
  .bx-sticky .wrap{gap:8px;min-height:50px}
  .bx-suche{margin-top:18px}
}

/* Grid-Blowout: Rasterkinder duerfen schmaler werden als ihr laengstes Wort.
   Ohne das schob der Footer auf schmalen Handys die ganze Seite quer. */
.foot-grid>*,.worlds-grid>*,.themen-grid>*,.lage-grid>*,.az-inner>*,.trust .wrap>*,.trust-item>*,.hub-liste>*{min-width:0}
.foot-grid a,.foot-grid p,.az-gruppe a,.lage-karte a{overflow-wrap:anywhere}

/* Sprungziele nicht unter Kopf + Themenleiste verstecken. */
:target,[id^="sec-"],.content h2,.content h3{scroll-margin-top:calc(var(--kopfh,66px) + 58px)}

/* ─── Hub-Seiten: Themen-Index ganz oben ─────────────────────────────── */
.thema-index{background:var(--paper2);border-top:1px solid rgba(46,125,82,.12);
  border-bottom:1px solid rgba(46,125,82,.12);padding:26px 0 22px}
.thema-index h2{font-size:1.24rem;margin:0 0 .7em}
.ti-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 22px}
.ti-item{display:flex;align-items:center;gap:11px;padding:7px 10px 7px 7px;border-radius:12px;
  background:#fff;border:1px solid rgba(0,0,0,.05);transition:.14s;min-width:0}
.ti-item:hover{border-color:rgba(46,125,82,.35);box-shadow:var(--shadow-sm);transform:translateX(2px)}
.ti-img{flex:0 0 auto;width:58px;border-radius:8px;overflow:hidden;background:var(--paper2)}
.ti-img img{width:58px;aspect-ratio:3/2;object-fit:cover}
.ti-leer{height:39px;border:1px dashed rgba(46,125,82,.25)}
.ti-titel{font-size:.93rem;font-weight:700;color:var(--forest-deep);line-height:1.3;min-width:0}
.ti-item:hover .ti-titel{color:var(--forest)}
.ti-fuss{margin:14px 0 0;font-size:.84rem;color:var(--ink-soft)}
.toc .toc-top{font-weight:700;color:var(--forest-deep)}
@media(max-width:1000px){.ti-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){
  .ti-grid{grid-template-columns:1fr;gap:6px}
  .thema-index h2{font-size:1.1rem}
  .ti-img{width:48px}.ti-img img{width:48px}
}

/* ─────────────────────────────────────────────────────────────
   Hauptmenue mit Untermenues
   ───────────────────────────────────────────────────────────── */
.menu{gap:20px}
.nav-item.has-sub{position:relative;display:flex;align-items:center;gap:3px}
.nav-item.has-sub>a{padding:.3em 0}
.sub-toggle{display:inline-flex;align-items:center;justify-content:center;background:none;border:0;
  cursor:pointer;color:var(--ink-soft);padding:6px 2px;line-height:0;transition:.16s}
.nav-item.has-sub:hover .sub-toggle,.nav-item.has-sub:focus-within .sub-toggle,
.nav-item.has-sub.offen .sub-toggle{color:var(--forest);transform:rotate(180deg)}
.submenu{position:absolute;top:100%;left:-18px;z-index:70;padding-top:12px;
  opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .16s,transform .16s,visibility .16s}
.nav-item.has-sub:hover .submenu,.nav-item.has-sub:focus-within .submenu,
.nav-item.has-sub.offen .submenu{opacity:1;visibility:visible;transform:translateY(0)}
.submenu-inner{min-width:340px;background:#fff;border:1px solid rgba(46,125,82,.16);border-radius:16px;
  box-shadow:var(--shadow);padding:8px;display:flex;flex-direction:column;gap:2px}
.submenu-inner a{display:flex;flex-direction:column;gap:.1em;padding:.6em .8em;border-radius:11px;
  font-weight:700;color:var(--ink);transition:.14s}
.submenu-inner a::after{display:none}
.submenu-inner a:hover{background:var(--paper)}
.submenu-inner a.hier{background:var(--paper2)}
.sm-titel{font-size:.98rem;color:var(--forest-deep);line-height:1.25}
.submenu-inner a:hover .sm-titel{color:var(--forest)}
.sm-text{font-size:.82rem;font-weight:400;color:var(--ink-soft);line-height:1.4}

@media(max-width:960px){
  /* Im aufgeklappten Hamburger-Menue stehen die Unterpunkte offen darunter –
     kein Hover, kein zweites Antippen. */
  .menu.open .nav-item.has-sub{display:block;width:100%}
  .menu.open .sub-toggle{display:none}
  .menu.open .submenu{position:static;opacity:1;visibility:visible;transform:none;padding-top:8px}
  .menu.open .submenu-inner{min-width:0;border:0;box-shadow:none;background:transparent;padding:0 0 0 14px;
    border-left:2px solid rgba(46,125,82,.22);gap:0}
  .menu.open .submenu-inner a{padding:.4em 0}
  .menu.open .sm-titel{font-size:.98rem}
  .menu.open .sm-text{display:none}
}
