/* wichtelzipfel.de – Aquarellpapier, rote Tinte, Tannengrün. Schriften liegen auf dem eigenen Server. */
@font-face{font-family:Caveat;font-weight:500;font-display:swap;src:url(../fonts/caveat-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:Caveat;font-weight:700;font-display:swap;src:url(../fonts/caveat-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:Literata;font-weight:400;font-display:swap;src:url(../fonts/literata-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:Literata;font-weight:400;font-style:italic;font-display:swap;src:url(../fonts/literata-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:Literata;font-weight:600;font-display:swap;src:url(../fonts/literata-latin-600-normal.woff2) format('woff2')}

:root{
  --papier:#f6efe6; --karte:#fffaf3; --tinte:#3a2a26; --leise:#7a6660; --rot:#b8203a; --rot-dunkel:#8c1a2c;
  --tanne:#2f6a46; --gold:#d99a12; --linie:#e2d6c9;
  --hand:Caveat,'Segoe Print','Comic Sans MS',cursive; --text:Literata,Georgia,'Times New Roman',serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Hintergrund liegt auf html, damit die Bilder mit mix-blend-mode:multiply direkt auf dem Papier liegen (keine eigenen Ebenen mit z-index) */
html{background:var(--papier) url(../b/papier.webp) center top/1200px auto}
body{margin:0;color:var(--tinte);font-family:var(--text);font-size:1.05rem;line-height:1.6;background:transparent;-webkit-font-smoothing:antialiased}
#schnee{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1}
a{color:var(--rot)}
a:hover{color:var(--rot-dunkel)}
:focus-visible{outline:3px solid var(--tanne);outline-offset:3px;border-radius:4px}
img{max-width:100%;height:auto;display:block}
[hidden]{display:none!important}
/* Bilder mit eigenem Papiergrund laufen am Rand weich aus */
.weich{-webkit-mask-image:radial-gradient(closest-side,#000 70%,transparent 100%);mask-image:radial-gradient(closest-side,#000 70%,transparent 100%)}
h1,h2,h3{font-family:var(--hand);font-weight:700;line-height:1.05;margin:0;color:var(--rot);text-wrap:balance}
h1{font-size:clamp(2.8rem,8vw,4.6rem)}
h2{font-size:clamp(2.2rem,5.5vw,3.1rem)}
h3{font-size:1.9rem;color:var(--tanne)}
p{margin:0}

/* Kopf */
.kopf{max-width:1120px;margin:0 auto;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.logo{font-family:var(--hand);font-weight:700;font-size:2.1rem;color:var(--rot);text-decoration:none;line-height:1}
.logo::before{content:"★ ";color:var(--gold);font-size:1.4rem;vertical-align:.25em}
.kopf nav{display:flex;gap:18px;flex-wrap:wrap}
.kopf nav a{color:var(--tinte);text-decoration:none;font-size:.95rem}
.kopf nav a:hover{color:var(--rot)}

/* Abschnitte */
.band{max-width:1120px;margin:0 auto;padding:48px 20px}
.schmal{max-width:720px;margin-inline:auto}
.leise{color:var(--leise)}
.klein{font-size:.9rem}
.mitte{text-align:center}

/* Startbild */
.held{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:40px;align-items:center;padding-top:24px}
.held .text{display:flex;flex-direction:column;gap:20px}
.held .unter{font-size:1.2rem;max-width:34em}
.held figure{margin:0}
.held img{mix-blend-mode:multiply;width:100%;max-width:520px;margin-inline:auto}
@media (max-width:820px){.held{grid-template-columns:1fr;gap:12px}.held figure{order:-1}.held img{max-width:340px}}

.knoepfe{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.knopf{display:inline-flex;align-items:center;gap:8px;font:600 1rem/1.2 var(--text);padding:13px 22px;border-radius:999px;border:2px solid var(--rot);
  background:var(--rot);color:#fff;text-decoration:none;cursor:pointer;box-shadow:0 3px 0 var(--rot-dunkel)}
.knopf:hover{background:var(--rot-dunkel);border-color:var(--rot-dunkel);color:#fff}
.knopf:active{transform:translateY(2px);box-shadow:0 1px 0 var(--rot-dunkel)}
.knopf.hell{background:var(--karte);color:var(--rot);box-shadow:0 3px 0 rgba(140,26,44,.35)}
.knopf.hell:hover{background:#fff;color:var(--rot-dunkel)}
.knopf[disabled],.knopf.aus{opacity:.6;cursor:default;pointer-events:none}
.preis{font-family:var(--hand);font-size:1.7rem;color:var(--tanne);font-weight:700}

/* So geht's: drei Schritte */
.schritte{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:28px}
.schritt{display:flex;flex-direction:column;gap:10px;text-align:center;align-items:center}
.schritt img{mix-blend-mode:multiply;width:220px;max-width:80%}
.schritt .nr{font-family:var(--hand);font-weight:700;font-size:1.3rem;color:var(--gold)}
@media (max-width:820px){.schritte{grid-template-columns:1fr;gap:36px}}

/* Kartenflächen */
.blatt{background:var(--karte);border-radius:6px;padding:28px clamp(18px,4vw,40px);box-shadow:0 1px 0 var(--linie),0 14px 34px -18px rgba(70,40,30,.35)}
.liste{list-style:none;padding:0;margin:18px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px}
.liste li{padding-left:30px;position:relative}
.liste li::before{content:"★";position:absolute;left:0;top:-.05em;color:var(--gold);font-size:1.15rem}
@media (max-width:640px){.liste{grid-template-columns:1fr}}

.zwei{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:32px;align-items:center}
.zwei img{mix-blend-mode:multiply}
@media (max-width:720px){.zwei{grid-template-columns:1fr}.zwei img{max-width:220px;margin:0 auto}}

/* Formulare */
.feld{display:flex;flex-direction:column;gap:6px}
.feld label{font-size:.85rem;color:var(--leise);letter-spacing:.04em;text-transform:uppercase}
input[type=text]{font:inherit;font-size:1.1rem;padding:12px 14px;border:2px solid var(--linie);border-radius:10px;background:#fff;color:var(--tinte);width:100%;max-width:340px}
input[type=text]:focus{border-color:var(--tanne);outline:none}
.code-form{display:flex;gap:10px;flex-wrap:wrap;align-items:end}
.hinweis{background:#fff6e8;border-left:4px solid var(--gold);padding:12px 16px;border-radius:4px}
.fehler{background:#fdeef0;border-left:4px solid var(--rot);padding:12px 16px;border-radius:4px}

/* Familien-Seite */
.downloads{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-top:16px}
.download{display:flex;flex-direction:column;gap:8px;padding:16px;border:2px solid var(--linie);border-radius:10px;background:#fff}
.download b{font-family:var(--hand);font-size:1.6rem;color:var(--tanne);line-height:1}
.download .knopf{align-self:flex-start;padding:9px 16px;font-size:.92rem}
.tage-gitter{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;margin-top:14px}
.tage-gitter a{font-family:var(--hand);font-weight:700;font-size:1.5rem;text-align:center;padding:6px 0;border:2px solid var(--linie);border-radius:8px;background:#fff;color:var(--tinte);text-decoration:none}
.tage-gitter a:hover{border-color:var(--rot);color:var(--rot)}
@media (max-width:520px){.tage-gitter{grid-template-columns:repeat(6,minmax(0,1fr))}}
.anleitung{width:100%;border-collapse:collapse;margin-top:14px;font-size:.95rem}
.anleitung th,.anleitung td{text-align:left;vertical-align:top;padding:10px 8px;border-bottom:1px solid var(--linie)}
.anleitung th{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--leise);font-weight:600}
.anleitung td:first-child{font-family:var(--hand);font-weight:700;font-size:1.5rem;color:var(--rot);width:3ch}
.anleitung .titel{font-weight:600;display:block}
.anleitung .zeit{color:var(--leise);white-space:nowrap}
@media (max-width:640px){
  .anleitung thead{display:none}
  .anleitung tr{display:grid;grid-template-columns:3ch 1fr;column-gap:10px;padding:12px 0;border-bottom:1px solid var(--linie)}
  .anleitung td{border:0;padding:2px 0}
  .anleitung td:first-child{grid-row:span 3}
}

/* Tagebuch-Seite */

.buehne{max-width:460px;margin:0 auto;padding:6px 16px 32px;display:flex;flex-direction:column;gap:14px}
.rahmen{position:relative;width:100%;aspect-ratio:9/16;border-radius:8px;overflow:hidden;box-shadow:0 14px 34px -10px rgba(60,30,20,.4);background:#f3f0ea}
.rahmen canvas{display:block;width:100%;height:100%}
.start{position:absolute;inset:0;display:grid;place-items:center;background:rgba(246,239,230,.35);border:0;cursor:pointer;padding:0}
.start span{width:96px;height:96px;border-radius:50%;background:var(--rot);display:grid;place-items:center;box-shadow:0 6px 18px rgba(140,26,44,.45)}
.start[hidden]{display:none}
.namen-frage{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.namen-frage[hidden]{display:none}
.unter-video{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}

/* Beispiel auf der Startseite */
.beispiel{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:40px;align-items:start;margin-top:26px}
.beispiel .buehne{padding:0;max-width:380px;width:100%}
.muster-gitter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.muster-gitter a{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--tinte);font-size:.9rem}
.muster-gitter img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:top;border-radius:4px;box-shadow:0 8px 20px -10px rgba(70,40,30,.45);background:#fff}
.muster-gitter a:hover img{outline:2px solid var(--rot)}
@media (max-width:820px){.beispiel{grid-template-columns:1fr}.beispiel .buehne{margin:0 auto}}

.knopf.ton{padding:8px 14px;font-size:.88rem;box-shadow:none}
.beispiel .buehne .knopf{align-self:flex-start}

/* Rechtstexte */
.rechtstext h2{font-size:2.1rem;margin:30px 0 8px}
.rechtstext h3{font-size:1.5rem;margin:20px 0 6px}
.rechtstext p,.rechtstext li{margin-bottom:10px}

/* Fuß */
.fuss{max-width:1120px;margin:20px auto 0;padding:26px 20px 40px;border-top:2px dashed var(--linie);text-align:center;font-size:.92rem;display:flex;flex-direction:column;gap:6px}
.fuss a{color:var(--tinte)}
