/* Meine Unterrichtswerkstatt – Stationen-Laufzettel */
@font-face{font-family:'Andika';font-style:normal;font-weight:400;font-display:swap;src:url(/schrift/andika-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Andika';font-style:normal;font-weight:700;font-display:swap;src:url(/schrift/andika-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Playpen Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/schrift/playpen-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Playpen Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/schrift/playpen-sans-latin-600-normal.woff2) format('woff2')}

:root{
  --tisch:#E7EBE4; --papier:#FFFFFF; --graphit:#22252A; --linie:#2A2E35; --grau:#565B66; --grau2:#3D424B;
  --tinte:#1F3C9E; --tinte-dunkel:#152B75; --stempel:#C2362B; --marker:#FFE45C; --hell:#F6F7F9; --zart:#C9CDD4;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scrollbar-color:#9AA39A var(--tisch);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--tisch);color:var(--graphit);font-family:'Andika',system-ui,sans-serif;font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased}
::selection{background:var(--marker);color:var(--graphit)}
img,video,svg{max-width:100%}
a{color:var(--tinte);text-underline-offset:3px;text-decoration-thickness:1.5px}
a:hover{color:var(--tinte-dunkel)}
:focus-visible{outline:3px solid var(--tinte);outline-offset:3px;border-radius:6px}
h1,h2,h3{text-wrap:balance;line-height:1.1}
p{text-wrap:pretty}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;background:var(--tinte);color:#fff;padding:10px 16px;border-radius:8px;z-index:10}
.skip:focus{top:12px;color:#fff}

.tisch{padding:clamp(12px,3vw,40px) clamp(10px,3vw,40px) 0}
.blatt{position:relative;max-width:1240px;margin:0 auto;background:var(--papier);border-radius:6px 6px 0 0;box-shadow:0 1px 2px rgba(20,30,40,.06),0 18px 40px -18px rgba(20,30,40,.25);padding:0 clamp(18px,5vw,76px) 0 clamp(18px,6vw,92px)}
.blatt.schmal{max-width:1000px;padding:0 clamp(18px,6vw,80px) clamp(48px,6vw,80px)}
.loecher{position:absolute;left:22px;top:0;bottom:0;display:flex;flex-direction:column;justify-content:space-around;pointer-events:none}
.loecher span{width:18px;height:18px;border-radius:50%;background:var(--tisch);box-shadow:inset 0 2px 3px rgba(0,0,0,.18)}

.kopf{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 28px;padding:26px 0 22px;border-bottom:1.5px solid var(--linie)}
.marke{display:inline-flex;align-items:center;gap:12px;color:var(--graphit);text-decoration:none}
.marke span{font-weight:700;font-size:1.1875rem;letter-spacing:-.01em;line-height:1.1}
.kopf nav{display:flex;flex-wrap:wrap;align-items:center;gap:6px 22px}
.kopf nav a.n{color:var(--graphit)}

.hand{font-family:'Playpen Sans',cursive;color:var(--tinte)}
.mark{background:linear-gradient(transparent 52%,var(--marker) 52%,var(--marker) 92%,transparent 92%);padding:0 2px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:12px;font:inherit;font-weight:700;font-size:1.0625rem;text-decoration:none;cursor:pointer;border:0;transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s cubic-bezier(.16,1,.3,1),background-color .18s}
.btn-tinte{background:var(--tinte);color:#fff;box-shadow:0 1px 0 var(--tinte-dunkel),0 6px 16px -6px rgba(31,60,158,.55)}
.btn-tinte:hover{background:#18318A;color:#fff;transform:translateY(-1px)}
.btn-rand{background:transparent;color:var(--tinte);border:1.5px solid var(--tinte)}
.btn-rand:hover{background:#EEF2FC;color:var(--tinte-dunkel)}
.btn-rand[aria-pressed=true]{background:#EEF2FC}
.btn-klein{min-height:44px;padding:0 18px;font-size:1rem}

.hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(440px,100%),1fr));gap:48px 64px;align-items:center;padding:clamp(40px,6vw,84px) 0 clamp(40px,5vw,72px)}
.hero h1{margin:0;font-size:clamp(2.5rem,5.2vw,4.4rem);line-height:1.04;letter-spacing:-.025em}
.lead{margin:0;font-size:clamp(1.125rem,1.6vw,1.3125rem);line-height:1.6;color:var(--grau2);max-width:34em}
.reihe{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.haken{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 26px;font-size:1rem;color:var(--grau2)}
.haken li{display:flex;gap:8px;align-items:center}
.tafel{margin:0;position:relative;padding:0 0 84px}
.tafel .rahmen{background:var(--linie);border-radius:14px;padding:12px 12px 22px;box-shadow:0 2px 4px rgba(20,30,40,.12),0 28px 50px -24px rgba(20,30,40,.45)}
.tafel img{display:block;width:100%;height:auto;border-radius:4px}
.tafel .ablage{height:6px;width:36%;margin:10px auto 0;background:var(--grau2);border-radius:3px}
.tafel figcaption{position:absolute;right:4px;bottom:0;display:flex;align-items:flex-end;gap:8px;font-size:1.0625rem;line-height:1.3;max-width:330px;text-align:right}

.kasten{border:2px solid var(--linie);border-radius:4px}
.lz{padding:0 0 clamp(48px,6vw,88px)}
.lz-kopf{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px 40px;padding:22px 24px 18px;border-bottom:2px solid var(--linie)}
.lz-kopf h2{margin:0;font-size:clamp(1.75rem,2.6vw,2.25rem);letter-spacing:-.015em}
.lz-kopf p{margin:4px 0 0;color:var(--grau);font-size:1rem}
.feldzeile{display:flex;flex-wrap:wrap;gap:10px 30px;font-size:1rem;color:var(--grau)}
.feldzeile .hand{border-bottom:1.5px solid var(--linie);padding:0 6px 2px;font-size:1.25rem;min-width:80px;display:inline-block}
.lz ol{list-style:none;margin:0;padding:0}
.lz-zeile{display:grid;grid-template-columns:56px minmax(0,1fr) auto 56px 72px;align-items:center;gap:0 14px;padding:10px 14px 10px 18px;border-bottom:1px solid var(--zart);min-height:76px}
.kreis{width:40px;height:40px;border:2px solid var(--linie);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:1.125rem}
.lz-zeile a{color:var(--graphit);text-decoration:none;display:flex;flex-direction:column;gap:2px;min-width:0;padding:6px 0}
.lz-zeile a:hover{color:var(--tinte)}
.lz-zeile a:hover b{text-decoration:underline}
.lz-zeile b{font-size:1.1875rem;line-height:1.25}
.lz-zeile small{color:var(--grau);font-size:.975rem;line-height:1.4}
.check{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;cursor:pointer;padding:0;border-radius:8px}
.check:hover rect{fill:#FFF7C2}
.check .h{display:none}
.check[aria-pressed=true] .h{display:inline}
.stempelfeld{width:64px;height:64px;border:1.5px dashed #9AA0AA;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}
.stempel{display:none}
.an .stempel{display:block;animation:druck .42s cubic-bezier(.16,1,.3,1) both}
@keyframes druck{0%{opacity:0;transform:scale(1.7) rotate(-4deg)}60%{opacity:1}100%{opacity:1;transform:scale(1) rotate(-12deg)}}
.lz-fuss{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 32px;padding:20px 24px;background:var(--hell)}

.station{padding:clamp(40px,5vw,72px) 0;border-top:1.5px solid var(--linie)}
.st-kopf{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 32px}
.st-kopf>div{display:flex;align-items:center;gap:16px}
.st-kopf .kreis{width:52px;height:52px;font-size:1.375rem;flex:none}
.st-kopf h2{margin:0;font-size:clamp(1.875rem,3.2vw,2.75rem);letter-spacing:-.02em}
.st-kopf .stempel{width:64px;height:64px;flex:none}
.einleitung{margin:-18px 0 40px 68px;font-size:1.125rem;color:var(--grau2);max-width:40em}
.zwei{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:48px 56px}
.liste{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.liste li{display:flex;gap:12px}
.liste svg{flex:none;margin-top:3px}
.bild{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border:1.5px solid var(--linie);border-radius:6px;background:#FFF8EE}
.galerie{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:24px}
.galerie figure{margin:0;display:flex;flex-direction:column;gap:10px}
.galerie figcaption{font-size:1rem;line-height:1.4}
.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.chips li{padding:9px 16px;border:1.5px solid var(--linie);border-radius:999px}
.chips li.mehr{border-style:dashed;border-color:#9AA0AA;color:var(--grau)}
.video{background:var(--linie);border-radius:14px;padding:12px;box-shadow:0 2px 4px rgba(20,30,40,.12),0 24px 44px -24px rgba(20,30,40,.4)}
.video video{display:block;width:100%;height:auto;border-radius:4px;background:#FFF8ED}
.etappen{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr))}
.etappen li{position:relative;padding:28px 26px 30px;border-right:1.5px solid var(--linie)}
.etappen li:last-child{border-right:0}
.etappen .buchst{margin:0 0 6px;font-weight:700;font-size:2.5rem;line-height:1;color:var(--tinte)}
.etappen h3{margin:0 0 10px;font-size:1.375rem}
.zitat{margin:0;padding:22px 24px;background:var(--hell);border:1.5px solid var(--linie);border-radius:4px;font-size:1.125rem}
.auszug{position:relative;padding:26px 30px 28px 64px;background:#fff;border:1.5px solid var(--linie);border-radius:4px;box-shadow:0 1px 2px rgba(20,30,40,.06),0 14px 30px -18px rgba(20,30,40,.3);max-width:820px}
.auszug::before{content:"";position:absolute;left:40px;top:0;bottom:0;width:1.5px;background:#E7A5A0}
.gelb{padding:14px 18px;background:#FFFBE0;border:1.5px solid var(--linie);border-radius:4px}
details{border-top:1.5px solid var(--linie)}
details:last-of-type{border-bottom:1.5px solid var(--linie)}
summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 4px;font-weight:700;font-size:1.1875rem;min-height:44px}
summary::-webkit-details-marker{display:none}
summary:hover{color:var(--tinte)}
summary svg{flex:none;transition:transform .25s cubic-bezier(.16,1,.3,1)}
details[open] summary svg{transform:rotate(45deg)}
details p{margin:0 0 22px;padding:0 4px;line-height:1.65;max-width:44em}

.preisbox{background:#fff;box-shadow:0 2px 4px rgba(20,30,40,.08),0 22px 40px -22px rgba(20,30,40,.35)}
.preisbox .oben{padding:26px 28px 22px;border-bottom:1.5px solid var(--linie);display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 20px}
.preis{font-weight:700;font-size:2.5rem;letter-spacing:-.02em;color:var(--tinte)}
.zustimmung{display:flex;gap:12px;align-items:flex-start;font-size:.975rem;line-height:1.5;cursor:pointer}
.zustimmung input{width:22px;height:22px;margin:1px 0 0;flex:none;accent-color:var(--tinte)}
#paypal-knoepfe{min-height:52px}
.gesperrt{display:flex;align-items:center;justify-content:center;min-height:52px;border-radius:12px;background:#E3E6EC;color:var(--grau);font-weight:700;text-align:center;padding:0 16px}
.meldung{margin:0;font-size:.9375rem;line-height:1.5;color:var(--grau);text-align:center}
.fehler{color:#B3261E;font-weight:700}
.fertig-stempel{display:none;margin-top:8px}
.alle .fertig-stempel{display:block;animation:druck2 .55s cubic-bezier(.16,1,.3,1) both}
@keyframes druck2{0%{opacity:0;transform:scale(1.9) rotate(2deg)}55%{opacity:1}100%{opacity:1;transform:scale(1) rotate(-9deg)}}

.fuss{max-width:1240px;margin:0 auto;padding:32px clamp(18px,5vw,76px) 44px clamp(18px,6vw,92px);display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px 40px;font-size:.975rem;color:var(--grau2)}
.fuss.schmal{max-width:1000px;padding:24px clamp(18px,6vw,80px) 40px}
.fuss nav{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center}
.fuss nav a{color:var(--graphit)}
.fuss nav a.wichtig{font-weight:700}

.recht{max-width:720px;padding-top:clamp(32px,5vw,56px)}
.recht h1{margin:0 0 12px;font-size:clamp(2rem,4vw,2.75rem);letter-spacing:-.02em}
.recht h2{margin:36px 0 10px;font-size:1.3125rem}
.recht p{margin:0 0 12px}
.recht ol,.recht ul{margin:0 0 12px;padding:0 0 0 1.3em;display:flex;flex-direction:column;gap:8px}
.feld{display:flex;flex-direction:column;gap:6px}
.feld label{font-weight:700}
.feld input{font:inherit;min-height:48px;padding:10px 14px;border:1.5px solid var(--linie);border-radius:8px;background:#fff;color:var(--graphit)}

@media (max-width:720px){
  .loecher,.weg-klein{display:none!important}
  .lz-zeile{grid-template-columns:44px minmax(0,1fr) 48px;padding-left:12px}
  .einleitung{margin-left:0}
  .etappen li{border-right:0;border-bottom:1.5px solid var(--linie)}
  .etappen li:last-child{border-bottom:0}
  .tafel figcaption{position:static;justify-content:flex-end;margin-top:10px;max-width:none}
  .tafel{padding-bottom:0}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .an .stempel,.alle .fertig-stempel{animation:none;transform:rotate(-12deg)}
  .btn{transition:none}
}
