/* Familienarbeit auf Augenhöhe – Typenquiz "Welcher Mama-Typ bist du?"
   Markenstil von Maria Lier. Schriften liegen self-hosted in /fonts,
   damit nichts von fremden Servern nachgeladen wird. */

@font-face{font-family:'Raleway';src:url('/fonts/raleway-800.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap;}
@font-face{font-family:'Raleway';src:url('/fonts/raleway-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:'Lora';src:url('/fonts/lora-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Lora';src:url('/fonts/lora-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:'Great Vibes';src:url('/fonts/great-vibes-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}

:root{
	--tanne:#3C5553;
	--mint:#CFDDDC;
	--beere:#B83E6A;
	--beere-dunkel:#9A3159;
	--creme:#F9F5F2;
	--aprikot:#E8A98F;
	--maxw:720px;
	--radius:22px;
	--schatten:0 18px 44px rgba(60,85,83,.10);
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}

body{
	margin:0;
	background:var(--creme);
	color:var(--tanne);
	font-family:'Lora',Georgia,'Times New Roman',serif;
	font-size:18px;
	line-height:1.7;
	display:flex;
	flex-direction:column;
	min-height:100vh;
	-webkit-font-smoothing:antialiased;
}

a{color:var(--beere);text-decoration:none;border-bottom:1px solid rgba(184,62,106,.35);}
a:hover{color:var(--beere-dunkel);border-bottom-color:var(--beere);}

main{flex:1 0 auto;width:100%;}
.huelle{max-width:var(--maxw);margin:0 auto;padding:0 22px;}

/* ---------- Kopf mit Logo ---------- */
.marken-kopf{text-align:center;padding:34px 22px 4px;}
.marken-kopf img{width:min(300px,70vw);height:auto;display:inline-block;}

/* ---------- Bildschirme ---------- */
.bildschirm{display:none;}
.bildschirm.aktiv{display:block;animation:sanft-rein .28s ease;}
@keyframes sanft-rein{from{opacity:0;transform:translateY(9px);}to{opacity:1;transform:none;}}

.eyebrow{
	text-align:center;
	font-family:'Raleway',system-ui,sans-serif;
	font-weight:600;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;
	color:var(--beere);margin:16px 0 12px;
}

h1.headline{
	font-family:'Raleway',system-ui,sans-serif;font-weight:800;
	font-size:clamp(1.75rem,5vw,2.7rem);line-height:1.16;letter-spacing:-.015em;
	text-align:center;color:var(--tanne);margin:0 auto;max-width:19ch;text-wrap:balance;
}
h1.headline .akzent{color:var(--beere);}

/* Die drei Sätze stehen je auf einer eigenen Zeile (die <br> im HTML).
   Deshalb muss der Block breit genug sein, damit der längste Satz nicht
   von selbst noch einmal umbricht. */
.subheadline{
	text-align:center;max-width:62ch;margin:20px auto 0;
	font-size:clamp(1rem,1.9vw,1.12rem);line-height:1.65;color:rgba(60,85,83,.9);text-wrap:pretty;
}

.zierlinie{width:70px;height:2px;border-radius:2px;background:var(--mint);margin:26px auto 0;}

/* ---------- Knöpfe ---------- */
.knopf{
	display:inline-block;width:min(560px,100%);
	background:var(--beere);color:#fff;border:none;border-bottom:none;border-radius:16px;
	padding:20px 28px;
	font-family:'Raleway',system-ui,sans-serif;font-weight:800;
	font-size:clamp(1rem,2.1vw,1.16rem);line-height:1.35;letter-spacing:.01em;
	cursor:pointer;box-shadow:0 14px 30px rgba(184,62,106,.26);
	transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.knopf:hover{background:var(--beere-dunkel);color:#fff;transform:translateY(-2px);}
.knopf:active{transform:translateY(0);}
.knopf[disabled]{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none;}
.knopf-block{text-align:center;margin:34px auto 0;}
.knopf-unterzeile{margin:14px auto 0;font-size:.92rem;color:rgba(60,85,83,.72);max-width:46ch;}

/* ---------- Fortschritt ---------- */
.fortschritt{margin:26px auto 0;}
.fortschritt .balken{height:9px;border-radius:9px;background:var(--mint);overflow:hidden;}
.fortschritt .fuellung{height:100%;width:0;background:var(--beere);border-radius:9px;transition:width .4s ease;}
.fortschritt .zeile{
	margin-top:11px;display:flex;justify-content:space-between;align-items:center;gap:12px;
	font-family:'Raleway',system-ui,sans-serif;font-weight:600;font-size:.78rem;
	letter-spacing:.12em;text-transform:uppercase;color:rgba(60,85,83,.62);
}

/* ---------- Frage-Karte ---------- */
.karte{
	background:#fff;border-radius:var(--radius);box-shadow:var(--schatten);
	padding:34px 30px;margin:22px auto 0;
}

.szene{
	margin:0 0 10px;
	font-family:'Raleway',system-ui,sans-serif;font-weight:600;
	font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--beere);
}

.frage-text{
	font-family:'Raleway',system-ui,sans-serif;font-weight:800;
	font-size:clamp(1.15rem,2.7vw,1.42rem);line-height:1.36;margin:0 0 22px;
	color:var(--tanne);text-wrap:pretty;
}

.antworten{display:flex;flex-direction:column;gap:11px;}
.antwort{
	display:flex;gap:14px;align-items:flex-start;width:100%;text-align:left;
	background:var(--creme);border:1.5px solid rgba(60,85,83,.16);border-radius:14px;
	padding:15px 17px;cursor:pointer;
	font-family:'Lora',Georgia,serif;font-size:1rem;line-height:1.5;color:var(--tanne);
	transition:border-color .15s ease, background .15s ease, transform .1s ease;
}
.antwort:hover{border-color:rgba(184,62,106,.45);}
.antwort:active{transform:scale(.995);}
.antwort .zeichen{
	flex:0 0 auto;width:24px;height:24px;border-radius:50%;
	background:#fff;border:1.5px solid rgba(60,85,83,.22);
	display:flex;align-items:center;justify-content:center;margin-top:1px;
	transition:background .15s ease, border-color .15s ease;
}
.antwort .zeichen i{
	display:block;width:10px;height:10px;border-radius:50%;background:transparent;
	transition:background .15s ease;
}

/* Nach dem Antippen kurz sichtbar machen, was gewählt wurde. Es gibt hier
   bewusst kein Richtig und kein Falsch, deshalb nur eine ruhige Markierung. */
.antworten.gesperrt .antwort{cursor:default;}
.antworten.gesperrt .antwort:hover{border-color:rgba(60,85,83,.16);}
.antworten.gesperrt .antwort.blass{opacity:.45;}
.antwort.gewaehlt{border-color:var(--beere);background:#fff;box-shadow:0 0 0 2px rgba(184,62,106,.10);}
.antwort.gewaehlt .zeichen{background:var(--mint);border-color:var(--beere);}
.antwort.gewaehlt .zeichen i{background:var(--beere);}

/* ---------- Eine Frage zurück ---------- */
.zurueck-zeile{text-align:center;margin:20px 0 0;}
.zurueck{
	background:none;border:none;padding:4px 6px;cursor:pointer;
	font-family:'Raleway',system-ui,sans-serif;font-weight:600;font-size:.82rem;
	letter-spacing:.06em;color:rgba(60,85,83,.62);
	border-bottom:1px solid rgba(60,85,83,.28);
}
.zurueck:hover{color:var(--beere);border-bottom-color:var(--beere);}
.zurueck[hidden]{display:none;}

/* ---------- Ergebnis-Vorschau ---------- */
.typ-name{
	text-align:center;font-family:'Great Vibes',cursive;
	font-size:clamp(2.6rem,8vw,4rem);color:var(--beere);line-height:1.15;
	margin:6px 0 0;text-wrap:balance;
}
.typ-vorschau{
	text-align:center;max-width:52ch;margin:16px auto 0;
	font-size:clamp(1.02rem,2vw,1.14rem);line-height:1.68;text-wrap:pretty;
}

.neugier{
	background:var(--mint);border-radius:16px;padding:20px 22px;margin:30px auto 0;
	font-size:.99rem;line-height:1.62;text-align:center;
}
.neugier strong{font-family:'Raleway',system-ui,sans-serif;font-weight:800;}

/* ---------- Formular ---------- */
.formular-titel{
	font-family:'Raleway',system-ui,sans-serif;font-weight:800;
	font-size:clamp(1.15rem,2.6vw,1.35rem);line-height:1.32;margin:0 0 18px;text-align:center;
}
.feld{margin:0 0 16px;}
.feld label.beschriftung{
	display:block;font-family:'Raleway',system-ui,sans-serif;font-weight:600;
	font-size:.88rem;letter-spacing:.02em;margin:0 0 7px;color:var(--tanne);
}
.feld input[type=text],.feld input[type=email]{
	width:100%;font-family:'Lora',Georgia,serif;font-size:1rem;color:var(--tanne);
	background:var(--creme);border:1.5px solid rgba(60,85,83,.18);border-radius:12px;
	padding:13px 15px;line-height:1.5;
	transition:border-color .15s ease, box-shadow .15s ease;
}
.feld input:focus{outline:none;border-color:var(--beere);box-shadow:0 0 0 3px rgba(184,62,106,.14);}

.datenschutz-block{
	background:var(--creme);border:1.5px solid rgba(60,85,83,.16);border-radius:14px;
	padding:19px 19px 17px;margin:6px 0 16px;
}
.datenschutz-block h3{
	font-family:'Raleway',system-ui,sans-serif;font-weight:800;font-size:.98rem;margin:0 0 8px;color:var(--tanne);
}
.datenschutz-block p{margin:0;font-size:.92rem;line-height:1.62;color:rgba(60,85,83,.88);}

.zustimmung{
	display:flex;gap:13px;align-items:flex-start;font-size:.99rem;line-height:1.55;cursor:pointer;
	background:#fff;border:1.5px solid rgba(60,85,83,.2);border-radius:14px;padding:15px 16px;
}
.zustimmung input{flex:0 0 auto;width:22px;height:22px;margin:1px 0 0;accent-color:var(--beere);cursor:pointer;}
.zustimmung:has(input:checked){border-color:var(--beere);}
.pflicht{color:var(--beere);font-weight:700;}

.fehler{
	margin:14px 0 0;color:var(--beere-dunkel);font-size:.95rem;
	background:rgba(184,62,106,.08);border-radius:12px;padding:12px 15px;display:none;
}
.fehler.sichtbar{display:block;}

/* ---------- Danke ---------- */
.danke{text-align:center;padding:14px 0 0;}
.danke .siegel{
	width:84px;height:84px;border-radius:50%;background:var(--mint);
	display:flex;align-items:center;justify-content:center;margin:22px auto 24px;
	box-shadow:0 10px 26px rgba(60,85,83,.14);
}
.danke .siegel svg{width:38px;height:38px;}
.danke h2{
	font-family:'Raleway',system-ui,sans-serif;font-weight:800;
	font-size:clamp(1.6rem,4.2vw,2.3rem);line-height:1.2;margin:0 0 16px;text-wrap:balance;
}
.danke h2 .akzent{color:var(--beere);}
.danke .gross{font-size:1.05rem;line-height:1.7;max-width:44ch;margin:0 auto;}
.danke .kleiner{margin:20px auto 0;font-size:.93rem;color:rgba(60,85,83,.7);max-width:44ch;}
.danke .schreibschrift{
	font-family:'Great Vibes',cursive;font-size:clamp(1.8rem,4.2vw,2.4rem);
	color:var(--beere);line-height:1.3;margin:28px 0 0;
}

.abstand-unten{padding-bottom:70px;}

/* ---------- Footer ---------- */
.site-footer{flex:0 0 auto;background:var(--mint);border-top:1px solid rgba(60,85,83,.15);margin-top:60px;}
.site-footer .inner{
	max-width:var(--maxw);margin:0 auto;padding:24px 22px;
	display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;justify-content:space-between;font-size:.9rem;
}
.site-footer .fname{font-family:'Raleway',system-ui,sans-serif;font-weight:800;color:var(--tanne);}
.site-footer nav{display:flex;flex-wrap:wrap;gap:6px 18px;}
.site-footer a{color:var(--tanne);border-bottom:1px solid rgba(60,85,83,.3);}
.site-footer a:hover{color:var(--beere);border-bottom-color:var(--beere);}
.site-footer .copy{width:100%;color:rgba(60,85,83,.72);font-size:.85rem;}

/* ---------- Handy ---------- */
@media (max-width:600px){
	body{font-size:17px;}
	.karte{padding:26px 20px;}
	.marken-kopf{padding-top:26px;}
	.marken-kopf img{width:min(250px,68vw);}
	.knopf{width:100%;padding:19px 22px;}
	.antwort{padding:14px 15px;font-size:.98rem;gap:12px;}
	.fortschritt .zeile{font-size:.72rem;letter-spacing:.09em;}
	.site-footer .inner{flex-direction:column;align-items:flex-start;}
}
