/* Gemeinsame Stile der Kita-Pusteblume-Website (Start + Unterseiten).
   Aus index.html ausgelagert, damit alle Seiten dieselben Stile nutzen. */

  :root{
    --gelb:#FFCC3E;
    --gelb-hell:#FFF3CF;
    --gruen:#7FB539;
    --gruen-dunkel:#5E9022;
    --himmel:#54C0EC;
    --himmel-hell:#E4F6FD;
    --rosa:#FF8A6B;
    --creme:#FFFBF2;
    --text:#3C4033;
    --grau:#6B7060;
    --weiss:#ffffff;
    --schatten:0 10px 30px rgba(94,144,34,.12);
    --radius:26px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:'Nunito',system-ui,sans-serif;
    color:var(--text);
    background:var(--creme);
    line-height:1.7;
    overflow-x:hidden;
  }
  h1,h2,h3,.logo,.btn{font-family:'Baloo 2','Nunito',sans-serif;line-height:1.2}
  a{color:inherit;text-decoration:none}
  .wrap{max-width:1120px;margin:0 auto;padding:0 22px}
  section{padding:88px 0}
  .eyebrow{
    display:inline-block;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
    font-size:.78rem;color:var(--gruen-dunkel);background:var(--gelb-hell);
    padding:7px 16px;border-radius:999px;margin-bottom:18px;
  }
  h2{font-size:clamp(1.9rem,4vw,2.7rem);font-weight:800;margin-bottom:14px;color:#2f3327}
  .lead{font-size:1.12rem;color:var(--grau);max-width:640px}

  /* ---------- NAV ---------- */
  header{
    position:sticky;top:0;z-index:50;
    background:rgba(255,251,242,.92);backdrop-filter:blur(10px);
    border-bottom:2px solid #f0ead9;
  }
  .nav{display:flex;align-items:center;justify-content:space-between;height:76px}
  .logo{display:flex;align-items:center;gap:12px;font-weight:800;font-size:1.4rem;color:var(--gruen-dunkel)}
  .logo small{display:block;font-family:'Nunito';font-weight:600;font-size:.72rem;color:var(--grau);letter-spacing:.02em}
  .navlinks{display:flex;gap:6px;align-items:center}
  .navlinks a{padding:9px 15px;border-radius:999px;font-weight:700;font-size:.95rem;transition:.2s;color:var(--text)}
  .navlinks a:hover{background:var(--himmel-hell);color:var(--gruen-dunkel)}
  .navlinks .btn{background:var(--gruen);color:#fff}
  .navlinks .btn:hover{background:var(--gruen-dunkel);color:#fff}
  .burger{display:none;background:none;border:0;cursor:pointer;padding:8px}
  .burger span{display:block;width:26px;height:3px;background:var(--gruen-dunkel);border-radius:3px;margin:5px 0;transition:.3s}

  /* ---------- HERO ---------- */
  .hero{position:relative;padding:70px 0 90px;overflow:hidden}
  .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}
  .hero h1{font-size:clamp(2.3rem,5.4vw,3.9rem);font-weight:800;color:#2f3327;margin-bottom:22px}
  .hero h1 .hl{color:var(--gruen-dunkel);position:relative;white-space:nowrap}
  .hero h1 .hl::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:12px;background:var(--gelb);opacity:.55;border-radius:8px;z-index:-1}
  .motto{
    background:var(--weiss);border-radius:var(--radius);box-shadow:var(--schatten);
    padding:26px 28px;margin:26px 0 30px;border-left:7px solid var(--gelb);
    font-family:'Baloo 2';font-size:1.22rem;color:#454b3a;font-weight:600;
  }
  .motto span{display:block;margin-top:8px;font-family:'Nunito';font-size:.9rem;color:var(--grau);font-weight:600}
  .cta-row{display:flex;gap:14px;flex-wrap:wrap}
  .btn{display:inline-flex;align-items:center;gap:9px;padding:15px 28px;border-radius:999px;font-weight:700;font-size:1.02rem;cursor:pointer;transition:.2s;border:0}
  .btn-primary{background:var(--gelb);color:#4a3c00}
  .btn-primary:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(255,204,62,.4)}
  .btn-ghost{background:#fff;color:var(--gruen-dunkel);box-shadow:var(--schatten)}
  .btn-ghost:hover{transform:translateY(-3px)}
  .hero-card{
    position:relative;background:linear-gradient(155deg,var(--himmel-hell),#fff);
    border-radius:34px;padding:34px;box-shadow:var(--schatten);
  }
  .hero-badges{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .badge{background:#fff;border-radius:20px;padding:20px;text-align:center;box-shadow:0 6px 16px rgba(0,0,0,.05)}
  .badge b{display:block;font-family:'Baloo 2';font-size:1.9rem;color:var(--gruen-dunkel);line-height:1}
  .badge small{color:var(--grau);font-weight:700;font-size:.86rem}
  .badge .ic{font-size:1.7rem;margin-bottom:6px;display:block}
  .blob{position:absolute;border-radius:50%;filter:blur(10px);opacity:.5;z-index:-1}
  .blob.b1{width:260px;height:260px;background:var(--gelb);top:-90px;right:-80px}
  .blob.b2{width:200px;height:200px;background:var(--himmel);bottom:-70px;left:-70px;opacity:.35}

  /* dandelion float */
  .seed{position:absolute;opacity:.5;animation:float 9s ease-in-out infinite}
  @keyframes float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-18px) rotate(12deg)}}

  /* ---------- WILLKOMMEN ---------- */
  .willkommen{background:var(--weiss)}
  .info-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
  .icard{background:var(--creme);border-radius:var(--radius);padding:30px;transition:.25s;border:2px solid transparent}
  .icard:hover{transform:translateY(-6px);border-color:var(--gelb);box-shadow:var(--schatten)}
  .icard .ic{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;margin-bottom:16px}
  .icard h3{font-size:1.25rem;margin-bottom:8px;color:#2f3327}
  .icard p{color:var(--grau);font-size:.98rem}

  /* ---------- KONZEPT ---------- */
  .konzept{background:linear-gradient(180deg,var(--gelb-hell),var(--creme))}
  .kgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:44px}
  .kcard{display:flex;gap:18px;background:#fff;border-radius:var(--radius);padding:26px;box-shadow:0 6px 18px rgba(0,0,0,.04)}
  .kcard .num{flex:none;width:52px;height:52px;border-radius:16px;background:var(--himmel-hell);display:grid;place-items:center;font-size:1.7rem}
  .kcard h3{font-size:1.18rem;margin-bottom:6px}
  .kcard p{color:var(--grau);font-size:.97rem}

  /* ---------- TEAM ---------- */
  .team-head{text-align:center;max-width:680px;margin:0 auto}
  .team-head .lead{margin:0 auto}
  .group-photo{margin:40px auto 10px;max-width:760px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--schatten);background:var(--himmel-hell)}
  .group-photo img{width:100%;display:block}
  .team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:46px}
  /* Vorstand: 5 Karten als 3 oben + 2 unten (zentriert) */
  .vorstand-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:24px}
  .vorstand-grid .member{flex:0 1 300px;max-width:300px}
  .member{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:0 6px 18px rgba(0,0,0,.05);transition:.25s;text-align:center}
  .member:hover{transform:translateY(-6px);box-shadow:var(--schatten)}
  .member .ph{aspect-ratio:1/1;background:var(--himmel-hell);overflow:hidden}
  .member .ph img{width:100%;height:100%;object-fit:cover;display:block}
  .member .ph-leer{display:grid;place-items:center;background:linear-gradient(150deg,var(--himmel-hell),var(--gelb-hell))}
  .member .ph-leer svg{width:44%;height:44%;opacity:.85}
  .member .body{padding:18px 14px 22px}
  .member h3{font-size:1.22rem;margin-bottom:3px;color:#2f3327}
  .member .role{display:inline-block;font-size:.82rem;font-weight:700;color:var(--gruen-dunkel);background:var(--gelb-hell);padding:4px 12px;border-radius:999px}
  .team-note{text-align:center;margin-top:34px;color:var(--grau);max-width:720px;margin-left:auto;margin-right:auto}

  /* ---------- INITIATIVE ---------- */
  .initiative{background:var(--gruen);color:#fff;border-radius:0}
  .initiative h2{color:#fff}
  .init-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}
  .initiative .lead{color:#eaf5da}
  .init-list{list-style:none;margin-top:26px;display:grid;gap:14px}
  .init-list li{display:flex;gap:13px;align-items:flex-start;font-weight:600}
  .init-list .chk{flex:none;width:26px;height:26px;border-radius:50%;background:var(--gelb);color:#4a3c00;display:grid;place-items:center;font-weight:800;font-size:.9rem}
  .init-quote{background:rgba(255,255,255,.12);border-radius:var(--radius);padding:32px;font-family:'Baloo 2';font-size:1.3rem;line-height:1.5}
  .init-quote small{display:block;margin-top:14px;font-family:'Nunito';font-size:.9rem;color:#eaf5da;font-weight:600}

  /* ---------- ÖFFNUNGSZEITEN ---------- */
  .zeiten{background:var(--himmel-hell)}
  .zeiten-wrap{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}
  .zeit-card{background:#fff;border-radius:var(--radius);padding:12px 10px;box-shadow:var(--schatten)}
  .zeit-row{display:flex;justify-content:space-between;align-items:center;padding:15px 22px;border-bottom:2px dashed #eef1e6}
  .zeit-row:last-child{border-bottom:0}
  .zeit-row b{font-family:'Baloo 2';font-size:1.1rem}
  .zeit-row span{font-weight:700;color:var(--gruen-dunkel);background:var(--gelb-hell);padding:4px 14px;border-radius:999px}

  /* ---------- KONTAKT ---------- */
  .kontakt{background:var(--weiss)}
  .k-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:44px}
  .k-card{background:var(--creme);border-radius:var(--radius);padding:34px}
  .k-item{display:flex;gap:16px;align-items:flex-start;margin-bottom:22px}
  .k-item:last-child{margin-bottom:0}
  .k-item .ic{flex:none;width:50px;height:50px;border-radius:15px;background:#fff;display:grid;place-items:center;box-shadow:0 4px 12px rgba(0,0,0,.06)}
  .k-item b{display:block;font-family:'Baloo 2';font-size:1.05rem;margin-bottom:2px}
  .k-item a,.k-item p{color:var(--grau);font-weight:600}
  .k-item a:hover{color:var(--gruen-dunkel)}
  .map-card{border-radius:var(--radius);overflow:hidden;box-shadow:var(--schatten);min-height:340px}
  .map-card iframe{width:100%;height:100%;min-height:340px;border:0;display:block}

  /* ---------- FOOTER ---------- */
  footer{background:#2f3327;color:#d7dccb;padding:56px 0 28px}
  .f-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px;margin-bottom:34px}
  footer .logo{color:#fff}
  footer .logo small{color:#a9b096}
  footer h4{font-family:'Baloo 2';color:#fff;margin-bottom:14px;font-size:1.05rem}
  footer a{color:#c7cdb8;display:block;padding:4px 0;font-weight:600}
  footer a:hover{color:var(--gelb)}
  .f-bottom{border-top:1px solid #464b3b;padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.88rem;color:#a9b096}

  /* ---------- RESPONSIVE ---------- */
  @media(max-width:900px){
    .hero-grid,.init-grid,.zeiten-wrap,.k-grid{grid-template-columns:1fr}
    .info-cards,.kgrid{grid-template-columns:1fr 1fr}
    .team-grid{grid-template-columns:repeat(3,1fr)}
    .f-grid{grid-template-columns:1fr 1fr}
    .navlinks{
      position:fixed;top:76px;right:0;left:0;flex-direction:column;align-items:stretch;
      background:var(--creme);padding:16px 22px;gap:4px;box-shadow:var(--schatten);
      transform:translateY(-140%);transition:.35s;border-bottom:2px solid #f0ead9;
    }
    .navlinks.open{transform:translateY(0)}
    .navlinks a{padding:13px 16px}
    .burger{display:block}
  }
  @media(max-width:560px){
    section{padding:60px 0}
    .info-cards,.kgrid,.team-grid,.f-grid{grid-template-columns:1fr}
    .team-grid{grid-template-columns:1fr 1fr}
    .hero-badges{grid-template-columns:1fr 1fr}
  }

  /* ===== Deko-Symbole aus dem Logo ===== */
  section{position:relative}
  .wrap{position:relative;z-index:1}
  .deko{position:absolute;z-index:0;pointer-events:none;user-select:none;opacity:.9;
    filter:drop-shadow(0 3px 5px rgba(0,0,0,.06));animation:drift 7s ease-in-out infinite}
  .deko.slow{animation-duration:11s}
  .deko.rev{animation-direction:alternate-reverse}
  @keyframes drift{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-14px) rotate(8deg)}}

  /* Verspielter Cursor auf Klick-Elementen (kleiner Pusteblumensamen) */
  a,button,.btn,summary,[role=button],label.check{cursor:url('assets/icons/cursor-seed.png') 4 4, pointer}

  /* Button-Hover mit kleinem Zwinkern */
  .btn{transition:transform .2s, box-shadow .2s, filter .2s}
  .btn-primary:hover{animation:wiggle .55s ease}
  @keyframes wiggle{0%,100%{transform:translateY(-3px) rotate(0)}30%{transform:translateY(-3px) rotate(-4deg)}65%{transform:translateY(-3px) rotate(4deg)}}
  .btn-ghost:hover{filter:brightness(1.02)}

  /* Deko auf kleinen Screens ausblenden, damit es luftig bleibt */
  @media(max-width:640px){.deko{display:none}}

  /* Icons in Karten/Badges */
  .icard .ic{display:grid;place-items:center}
  .icard .ic svg{width:32px;height:32px}
  .kcard .num{display:grid;place-items:center}
  .kcard .num svg{width:30px;height:30px}
  .badge .ic svg{width:34px;height:34px;display:block;margin:0 auto}

  /* Bewegungs-Varianten für Deko */
  .deko.fly{animation:flutter 6s ease-in-out infinite}
  .deko.bob{animation:bobbing 5s ease-in-out infinite}
  .deko.sway{animation:sway 8s ease-in-out infinite}
  @keyframes flutter{0%,100%{transform:translateY(0) rotate(-7deg)}50%{transform:translateY(-18px) rotate(7deg)}}
  @keyframes bobbing{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
  @keyframes sway{0%,100%{transform:translate(0,0) rotate(-4deg)}50%{transform:translate(10px,-8px) rotate(4deg)}}
  @media(prefers-reduced-motion:reduce){.deko{animation:none!important}}

  /* Wiesen-Szene über dem Footer */
  .szene{position:relative;height:150px;background:linear-gradient(180deg,var(--himmel-hell),var(--creme));overflow:hidden}
  .szene svg{position:absolute}
  .szene .hügel{left:0;right:0;bottom:0;width:100%;height:70px}
  @media(max-width:640px){.szene{height:110px}.szene .only-lg{display:none}}

  /* Animierte Pusteblumen-Szene (wächst & lässt Samen fliegen) */
  .pb-scene{background:var(--creme);padding:16px 0 6px;text-align:center}
  .pb-scene img{width:min(360px,82vw);height:auto;display:inline-block}
  .pb-scene .pb-still{display:none}
  .pb-scene .caption{font-family:'Baloo 2';color:var(--gruen-dunkel);font-size:1.15rem;margin-top:2px}
  @media(prefers-reduced-motion:reduce){
    .pb-scene .pb-anim{display:none}
    .pb-scene .pb-still{display:inline-block}
  }

  /* Laufendes Strichmännchen (Beine animiert), geht am unteren Rand durchs Bild */
  .pb-walker{position:fixed;bottom:6px;left:0;width:60px;height:66px;z-index:4;pointer-events:none;
    animation:walkacross 24s linear infinite}
  @keyframes walkacross{
    0%{transform:translateX(-100px) scaleX(1)}
    49.9%{transform:translateX(calc(100vw + 60px)) scaleX(1)}
    50%{transform:translateX(calc(100vw + 60px)) scaleX(-1)}   /* umdrehen und zurücklaufen */
    99.9%{transform:translateX(-100px) scaleX(-1)}
    100%{transform:translateX(-100px) scaleX(1)}
  }
  @media(max-width:640px){.pb-walker{width:48px;height:54px}}
  @media(prefers-reduced-motion:reduce){.pb-walker{display:none}}

  /* Gruppe spielender Strichkinder im linken Seitenrand (nur auf breiten Screens) */
  .pb-playgroup{position:fixed;left:18px;bottom:12px;z-index:0;pointer-events:none;display:none;align-items:flex-end}
  .pb-playgroup svg{width:46px;height:62px;overflow:visible}
  .pb-playgroup .ground{position:absolute;left:-6px;right:-6px;bottom:3px;height:8px;background:#27964A;border-radius:7px}
  @media(min-width:1400px){.pb-playgroup{display:flex}}
  @media(prefers-reduced-motion:reduce){.pb-playgroup{display:none}}

  /* ===== Pustbare Pusteblume ===== */
  .pust{background:linear-gradient(180deg,var(--himmel-hell),var(--creme));text-align:center;overflow:hidden}
  .pust h2{font-size:clamp(1.6rem,4vw,2.3rem)}
  .pust .buehne{position:relative;max-width:520px;margin:20px auto 0;height:360px}
  #pusteSvg{width:100%;height:100%;cursor:pointer;touch-action:manipulation}
  .pust .seedword{position:absolute;font-family:'Baloo 2';font-weight:700;color:var(--gruen-dunkel);
    background:#fff;padding:4px 12px;border-radius:999px;box-shadow:var(--schatten);white-space:nowrap;
    pointer-events:none;opacity:0;font-size:.9rem}
  .pust .hint{margin-top:8px;color:var(--grau);font-weight:700}
  .pust .micbtn{margin-top:14px;display:inline-flex;align-items:center;gap:8px;background:#fff;border:2px solid #ece6d6;
    color:var(--gruen-dunkel);padding:10px 18px;border-radius:999px;font-family:'Baloo 2';font-weight:700;cursor:pointer}
  .pust .micbtn:hover{border-color:var(--gelb);background:var(--gelb-hell)}

  /* ===== Aus Kindermund ===== */
  .kindermund{background:var(--gruen);color:#fff;text-align:center}
  .kindermund h2{color:#fff}
  .km-card{max-width:760px;margin:26px auto 0;min-height:150px;position:relative}
  .km-quote{font-family:'Baloo 2';font-size:clamp(1.3rem,3.4vw,2rem);line-height:1.4;transition:opacity .5s, transform .5s;opacity:0;transform:translateY(10px)}
  .km-quote.show{opacity:1;transform:none}
  .km-kind{display:block;margin-top:14px;font-family:'Nunito';font-weight:700;color:#eaf5da;font-size:1rem}
  .km-mark{font-size:3rem;line-height:0;opacity:.35;font-family:'Baloo 2'}

  /* ===== Scroll-Story Wurzeln & Flügel ===== */
  .story{background:var(--creme);text-align:center;overflow:hidden}
  .story .stage{max-width:520px;margin:24px auto 0}
  .story svg .grow{stroke-dasharray:var(--len,300);stroke-dashoffset:var(--len,300);transition:stroke-dashoffset 1.6s ease}
  .story.play svg .grow{stroke-dashoffset:0}
  .story .fadein{opacity:0;transform:scale(.6);transition:opacity .7s ease, transform .7s ease;transform-box:fill-box;transform-origin:center}
  .story.play .fadein{opacity:1;transform:scale(1)}
  .story .fly{opacity:0}
  .story.play .fly{animation:storyfly 2.4s ease-in forwards}
  @keyframes storyfly{0%{opacity:0;transform:translate(0,0) rotate(0)}20%{opacity:1}100%{opacity:0;transform:translate(160px,-120px) rotate(40deg)}}
  .story .cap{font-family:'Baloo 2';color:var(--gruen-dunkel);font-size:1.15rem;margin-top:10px;min-height:1.4em}

  /* ===== Pflanz einen Samen ===== */
  .mitmach{background:linear-gradient(180deg,var(--creme),var(--himmel-hell));text-align:center}
  .wiese-feld{position:relative;max-width:1000px;height:230px;margin:22px auto 0;border-radius:var(--radius);
    background:linear-gradient(180deg,#eaf6ff 0%,#eaf6ff 55%,#7FB539 55%,#5E9022 100%);overflow:hidden;cursor:pointer;
    box-shadow:var(--schatten)}
  .wiese-feld .tipp{position:absolute;inset:0;display:grid;place-items:center;color:#3c4033;font-weight:700;
    font-family:'Baloo 2';font-size:1.1rem;pointer-events:none;opacity:.8}
  .wiese-feld svg.pflanze{position:absolute;bottom:0;transform-origin:bottom center;animation:wachsen .7s cubic-bezier(.2,1.4,.4,1) both}
  @keyframes wachsen{from{transform:scaleY(0) scaleX(.4)}to{transform:scaleY(1) scaleX(1)}}
  .mitmach .zaehler{margin-top:14px;color:var(--grau);font-weight:700}
  .mitmach .reset{margin-left:10px;background:none;border:0;color:var(--gruen-dunkel);font-weight:700;cursor:pointer;text-decoration:underline}
  @media(prefers-reduced-motion:reduce){.wiese-feld svg.pflanze{animation:none}}
