/*
Theme Name: Educarium
Theme URI: https://educarium.de
Author: educarium
Description: Schlichtes, helles Theme für educarium.de mit Ballon-Schriftzug, Serifen-Navigation und Newsfeed auf der Startseite.
Version: 1.4
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: educarium
*/

:root{
  --bg:#F4F2EE;--ink:#15181C;--muted:#6B7177;--line:#DCD8D0;--card:#FBFAF8;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box}
html{scroll-padding-top:env(safe-area-inset-top,0px);scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font:400 17px/1.7 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
img{max-width:100%;height:auto}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.wrap{max-width:720px;margin:0 auto;padding:0 20px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* ---------- Kopf: Ballon-Schriftzug ---------- */
.hero{padding:clamp(48px,11vh,120px) 0 clamp(26px,4vh,46px);text-align:center}
.hero a{text-decoration:none;display:block}
.logo{display:block;width:100%;height:auto;max-width:600px;margin:0 auto;overflow:visible}
.logo text{
  font:800 100px/1 ui-rounded,"SF Pro Rounded","Arial Rounded MT Bold","Hiragino Maru Gothic ProN",Quicksand,Nunito,Verdana,system-ui,sans-serif;
  letter-spacing:.015em;
  fill:#F4F2EE;
  stroke:#000000;stroke-width:3.4;stroke-linejoin:round;stroke-linecap:round;
  paint-order:stroke fill;
}
.hero.small{padding:34px 0 24px}
.hero.small .logo{max-width:300px}
.hero.small .logo text{stroke-width:4.2}

/* ---------- Reiter ---------- */
nav.tabs{display:flex;justify-content:center;gap:40px;flex-wrap:wrap;
padding-bottom:clamp(28px,4vh,46px);border-bottom:1px solid var(--line)}
nav.tabs a{text-decoration:none;color:var(--ink);
font:400 19px/1 "Times New Roman",Times,Georgia,serif;letter-spacing:.03em;
padding:4px 2px;border-bottom:1px solid transparent}
nav.tabs a:hover,nav.tabs a:focus-visible,nav.tabs .current-menu-item>a{border-bottom-color:var(--ink)}
nav.tabs ul{list-style:none;display:flex;justify-content:center;gap:40px;flex-wrap:wrap;margin:0;padding:0}

/* ---------- Newsfeed ---------- */
.feed{padding:clamp(30px,4vh,50px) 0 70px}
.feed-title{font:400 13px/1 "Times New Roman",Times,Georgia,serif;letter-spacing:.22em;
text-transform:uppercase;color:var(--muted);margin:0 0 26px}
.post-item{padding:26px 0;border-bottom:1px solid var(--line)}
.post-item:last-of-type{border-bottom:0}
.post-item time,.meta{display:block;font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}
.post-item h2{font:400 23px/1.3 "Times New Roman",Times,Georgia,serif;margin:6px 0 8px}
.post-item h2 a{text-decoration:none}
.post-item h2 a:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.post-item p{margin:0;color:var(--muted);font-size:16px}
.cat{display:inline-block;font:400 13px/1 ui-sans-serif,system-ui,sans-serif;letter-spacing:.06em;
text-transform:uppercase;color:var(--muted);margin-left:10px;vertical-align:3px;text-decoration:none}

/* ---------- Einzelner Beitrag / Seite ---------- */
.single{padding:clamp(24px,4vh,42px) 0 60px}
.single h1,.entry h1{font:400 clamp(28px,5vw,40px)/1.2 "Times New Roman",Times,Georgia,serif;margin:8px 0 10px}
.entry h2{font:400 26px/1.3 "Times New Roman",Times,Georgia,serif;margin:34px 0 10px}
.entry h3{font:600 19px/1.4 ui-sans-serif,system-ui,sans-serif;margin:24px 0 6px}
.entry p{margin:0 0 16px}
.entry ul,.entry ol{margin:0 0 16px;padding-left:22px}
.entry li{margin-bottom:6px}
.entry blockquote{margin:20px 0;padding:4px 0 4px 18px;border-left:2px solid var(--line);color:var(--muted)}
.entry img{border-radius:8px}
.entry a{text-underline-offset:3px}

/* ---------- Kommentare ---------- */
.comments{margin-top:54px;padding-top:30px;border-top:1px solid var(--line)}
.comments h2{font:400 13px/1 "Times New Roman",Times,Georgia,serif;letter-spacing:.22em;
text-transform:uppercase;color:var(--muted);margin:0 0 22px}
.comment-rules{background:var(--card);border:1px solid var(--line);border-radius:10px;
padding:14px 18px;font-size:15px;color:var(--muted);margin-bottom:26px}
.comment-list{list-style:none;margin:0 0 34px;padding:0}
.comment-list ol.children{list-style:none;margin:14px 0 0 22px;padding:0;border-left:1px solid var(--line);padding-left:18px}
.comment-list li{padding:16px 0;border-bottom:1px solid var(--line)}
.comment-list li:last-child{border-bottom:0}
.comment-author{font-weight:600;font-size:16px}
.comment-meta{font-size:13px;color:var(--muted);margin-bottom:6px}
.comment-body p{margin:0 0 8px;font-size:16px}
.comment-awaiting-moderation{font-size:14px;color:var(--muted);font-style:italic}
.comment-reply-link{font-size:14px;color:var(--muted);text-decoration:none}
.comment-reply-link:hover{color:var(--ink)}

.comment-respond{margin-top:10px}
.comment-respond label{display:block;font-weight:600;font-size:15px;margin:14px 0 4px}
.comment-respond input[type=text],.comment-respond input[type=email],
.comment-respond input[type=url],.comment-respond textarea{
  font:inherit;color:var(--ink);background:#fff;border:1px solid var(--line);
  border-radius:8px;padding:10px 12px;width:100%}
.comment-respond input:focus,.comment-respond textarea:focus{border-color:var(--ink);outline:none}
.comment-respond .submit,.btn{
  font:600 16px ui-sans-serif,system-ui,sans-serif;background:var(--ink);color:var(--bg);
  border:0;border-radius:8px;padding:11px 24px;cursor:pointer;margin-top:14px;
  display:inline-block;text-decoration:none}
.comment-notes,.logged-in-as,.comment-form-cookies-consent label{font-size:14px;color:var(--muted);font-weight:400}
.comment-form-cookies-consent{display:flex;gap:8px;align-items:flex-start;margin-top:14px}
.comment-form-cookies-consent input{margin-top:4px;flex:none}
.login-hint{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px 18px}

/* ---------- Seitennavigation ---------- */
.pagination{margin-top:36px;display:flex;gap:14px;flex-wrap:wrap;font-size:16px}
.pagination a,.pagination span{text-decoration:none;color:var(--muted)}
.pagination a:hover,.pagination .current{color:var(--ink)}

footer.site{border-top:1px solid var(--line);padding:26px 0 46px;text-align:center;
color:var(--muted);font-size:14px}
footer.site a{text-decoration:none;margin:0 10px}
footer.site a:hover{color:var(--ink)}

@media (max-width:560px){nav.tabs,nav.tabs ul{gap:24px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ---------- Kontoleiste oben ---------- */
.accountbar{border-bottom:1px solid var(--line);background:var(--card)}
.accountbar .wrap{display:flex;justify-content:flex-end;align-items:center;gap:20px;
padding-top:9px;padding-bottom:9px}
.accountbar a{text-decoration:none;color:var(--muted);font-size:14px;
display:inline-flex;align-items:center;gap:7px}
.accountbar a:hover,.accountbar a:focus-visible{color:var(--ink)}
.accountbar img{border-radius:50%;display:block}
.accountbar .account-name span{font-weight:600;color:var(--ink)}
.accountbar .account-reg{border:1px solid var(--line);border-radius:999px;padding:4px 14px;background:#fff}
.accountbar .account-reg:hover{border-color:var(--ink)}

/* ---------- Profilseite ---------- */
.profil-kopf{display:flex;align-items:center;gap:16px;margin:18px 0 28px;
padding-bottom:22px;border-bottom:1px solid var(--line)}
.profil-kopf img{border-radius:50%}
.profil-kopf strong{display:block;font-size:19px}
.profil-kopf .meta{font-size:14px;color:var(--muted)}

.profil-form label{display:block;font-weight:600;font-size:15px;margin:20px 0 5px}
.profil-form input[type=text],.profil-form input[type=email],
.profil-form input[type=password],.profil-form textarea{
  font:inherit;color:var(--ink);background:#fff;border:1px solid var(--line);
  border-radius:8px;padding:10px 12px;width:100%}
.profil-form input:focus,.profil-form textarea:focus{border-color:var(--ink);outline:none}
.profil-form .feldhinweis{font-size:14px;color:var(--muted);margin:5px 0 0}
.profil-form h2{font:400 22px/1.3 "Times New Roman",Times,Georgia,serif;
margin:34px 0 0;padding-top:22px;border-top:1px solid var(--line)}

.hinweis{border-radius:10px;padding:13px 17px;font-size:15px;margin:0 0 22px}
.hinweis.gut{background:#E8F1E8;border:1px solid #BBD4BB;color:#1F4426}
.hinweis.schlecht{background:#F8EAEA;border:1px solid #DFBDBD;color:#6B2222}
.hinweis ul{margin:0;padding-left:20px}

/* ---------- Reiter: aktiver Zustand ---------- */
nav.tabs a.aktiv{border-bottom-color:var(--ink);font-weight:400}

/* ---------- Suche ---------- */
.suche{display:flex;gap:8px;max-width:420px;margin:22px auto 0}
.suche input[type=search]{flex:1;font:inherit;font-size:15px;color:var(--ink);background:#fff;
border:1px solid var(--line);border-radius:999px;padding:8px 16px;min-width:0}
.suche input[type=search]:focus{border-color:var(--ink);outline:none}
.suche button{font:400 15px/1 "Times New Roman",Times,Georgia,serif;letter-spacing:.03em;
background:none;border:1px solid var(--line);border-radius:999px;padding:9px 18px;
cursor:pointer;color:var(--ink);white-space:nowrap}
.suche button:hover{border-color:var(--ink)}

/* ---------- Avatare ---------- */
.avatar{display:block;flex:none}
.comment-kopf{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.comment-kopf .comment-meta{margin:0}
.gast-tag{display:inline-block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;
color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:1px 8px;margin-left:7px}

/* ---------- Avatar-Baukasten ---------- */
.avatar-baukasten{display:grid;grid-template-columns:200px 1fr;gap:28px;align-items:start;
margin:18px 0 10px;padding:20px;background:var(--card);border:1px solid var(--line);border-radius:12px}
.avatar-vorschau{text-align:center}
.avatar-vorschau .avatar{margin:0 auto}
.avatar-vorschau .btn{margin-top:12px;font-size:14px;padding:7px 16px}
.btn.ghost{background:none;color:var(--ink);border:1px solid var(--line)}
.btn.ghost:hover{border-color:var(--ink)}
.avatar-gruppe{border:0;padding:0;margin:0 0 16px}
.avatar-gruppe legend{font-weight:600;font-size:14px;padding:0;margin-bottom:7px}
.avatar-optionen{display:flex;flex-wrap:wrap;gap:6px}
.avatar-optionen input{position:absolute;opacity:0;width:1px;height:1px}
.avatar-optionen label{display:inline-block;font-size:14px;font-weight:400;margin:0;
border:1px solid var(--line);border-radius:999px;padding:5px 13px;cursor:pointer;background:#fff}
.avatar-optionen label:hover{border-color:var(--muted)}
.avatar-optionen input:checked+label{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.avatar-optionen input:focus-visible+label{outline:2px solid var(--ink);outline-offset:2px}
.avatar-optionen.farben label{width:30px;height:30px;border-radius:50%;padding:0;
background:var(--farbe);border:2px solid var(--line)}
.avatar-optionen.farben input:checked+label{border-color:var(--ink);box-shadow:0 0 0 2px var(--bg) inset}
.avatar-gross{flex:none}

/* ---------- Gast-Hinweis und Ausblick ---------- */
.gast-hinweis{background:var(--card);border:1px solid var(--line);border-radius:10px;
padding:15px 18px;margin-bottom:22px;font-size:15px}
.gast-hinweis p{margin:0 0 7px}
.gast-hinweis p:last-child{margin:0}
.ausblick{margin-top:46px;padding:18px 20px;border:1px dashed var(--line);border-radius:12px;
font-size:15px;color:var(--muted)}
.ausblick strong{display:block;color:var(--ink);font-size:16px;margin-bottom:5px}
.ausblick p{margin:0}
.leer{color:var(--muted)}
.komm-zahl{margin-top:7px!important;font-size:14px}
.komm-zahl a{color:var(--muted);text-decoration:none}
.komm-zahl a:hover{color:var(--ink)}

@media (max-width:640px){
	.avatar-baukasten{grid-template-columns:1fr;gap:18px}
	.avatar-vorschau .avatar{width:130px;height:130px}
}

/* ---------- Level: Zahl mit Strich ---------- */
.schmal{max-width:520px;margin:0 auto}
.level-anzeige{display:flex;align-items:center;gap:10px;margin:4px 0 5px;color:var(--ink)}
.level-zahl{font:400 19px/1 "Times New Roman",Times,Georgia,serif;font-variant-numeric:tabular-nums}
.level-strich{display:block;overflow:visible}

/* ---------- Anmeldeseite ---------- */
.anmelde-reiter{display:flex;gap:26px;margin-bottom:26px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.anmelde-reiter a{text-decoration:none;color:var(--muted);
font:400 18px/1 "Times New Roman",Times,Georgia,serif;letter-spacing:.03em;
padding-bottom:12px;margin-bottom:-13px;border-bottom:1px solid transparent}
.anmelde-reiter a:hover{color:var(--ink)}
.anmelde-reiter a.aktiv{color:var(--ink);border-bottom-color:var(--ink)}
.lead-klein{color:var(--muted);font-size:16px;margin-bottom:6px}
.kasten{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important;
font-size:15px;margin-top:20px!important;background:var(--card);border:1px solid var(--line);
border-radius:10px;padding:13px 15px}
.kasten.schlicht{background:none;border:0;padding:0;font-size:15px}
.kasten input{margin-top:3px;flex:none;accent-color:var(--ink)}
.hp-feld{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}


/* ---------- Strichmännchen als Schmuck ---------- */
.deko-figur{display:block}
.deko-figur .avatar{margin:0 auto;opacity:.85}

.leer{text-align:center;color:var(--muted);padding:40px 0 10px}
.leer p{margin:14px 0 0}
.leer .deko-figur{margin-bottom:4px}
.leer.klein{padding:22px 0 8px}
.leer a{color:var(--ink);text-underline-offset:3px}

.leer-seite{text-align:center}
.leer-seite h1{margin-top:10px}

.ausblick{position:relative;text-align:left}
.ausblick .deko-figur{position:absolute;top:-26px;right:18px;opacity:.6}
.ausblick .deko-figur .avatar{opacity:1}

footer.site .deko-figur{margin-bottom:14px;opacity:.5}

.anmelde-figur{margin-bottom:6px}
.single.schmal .deko-figur{margin-bottom:10px}

/* ---------- Level neben Kommentaren ---------- */
.level-tag{display:inline-block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;
color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:1px 8px;margin-left:7px;
font-variant-numeric:tabular-nums}

/* ---------- Kleine Verfeinerungen ---------- */
.post-item{transition:opacity .15s}
.post-item h2 a{text-decoration-color:transparent;text-decoration-line:underline;
text-underline-offset:4px;text-decoration-thickness:1px;transition:text-decoration-color .15s}
.post-item h2 a:hover{text-decoration-color:currentColor}
.cat{transition:color .15s}
.cat:hover{color:var(--ink)}
.btn{transition:opacity .15s}
.btn:hover{opacity:.85}
::selection{background:var(--ink);color:var(--bg)}
.entry a{text-decoration-thickness:1px;text-underline-offset:3px}
hr{border:0;border-top:1px solid var(--line);margin:34px 0}

/* ---------- Fußzeile ---------- */
.fuss-links{display:flex;justify-content:center;gap:0;flex-wrap:wrap;align-items:center}
.fuss-links a{text-decoration:none;margin:0;padding:0 14px;color:var(--muted);
border-right:1px solid var(--line);line-height:1.2}
.fuss-links a:last-child{border-right:0}
.fuss-links a:hover{color:var(--ink)}
.fuss-zeile{margin:12px 0 0;font-size:14px;color:var(--muted)}
footer.site a{margin:0}
