/* Schulmeister Kurse – Frontend */
.sk{--sk-primary:#2f6fdf;--sk-accent:#ffb703;--sk-text:#1f2430;--sk-muted:#6b7280;--sk-line:#e5e7eb;--sk-bg:#f7f8fb;--sk-ok:#2a9d5c;--sk-bad:#d64545;--sk-radius:12px;color:var(--sk-text);line-height:1.6;box-sizing:border-box}
.sk *,.sk *::before,.sk *::after{box-sizing:border-box}
.sk a{color:var(--sk-primary)}
.sk-muted{color:var(--sk-muted)}
.sk-small{font-size:.875em}
.sk-h{margin:2rem 0 .75rem}

/* Buttons */
.sk-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;background:var(--sk-primary);color:#fff!important;border:0;border-radius:999px;padding:.7em 1.4em;font:inherit;font-weight:700;line-height:1.2;text-decoration:none!important;cursor:pointer;transition:transform .12s,box-shadow .12s,opacity .12s;box-shadow:0 2px 0 rgba(0,0,0,.12)}
.sk-btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(0,0,0,.12)}
.sk-btn:disabled,.sk-btn.is-busy{opacity:.6;cursor:wait;transform:none}
.sk-btn-sm{padding:.45em 1em;font-size:.9em}
.sk-btn-accent{background:var(--sk-accent);color:#1f2430!important}
.sk-btn-ghost{background:transparent;color:var(--sk-primary)!important;box-shadow:inset 0 0 0 2px var(--sk-primary)}

/* Karten, Hinweise */
.sk-card{background:#fff;border:1px solid var(--sk-line);border-radius:var(--sk-radius);padding:1.25rem 1.4rem;margin:0 0 1.25rem;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.sk-notice{border-radius:var(--sk-radius);padding:.9rem 1.1rem;margin:0 0 1.25rem;background:var(--sk-bg);border-left:5px solid var(--sk-primary)}
.sk-notice-success{background:#eaf7ef;border-color:var(--sk-ok)}
.sk-badge{display:inline-block;font-size:.72em;font-weight:700;text-transform:uppercase;letter-spacing:.03em;background:var(--sk-accent);color:#1f2430;border-radius:999px;padding:.1em .6em;vertical-align:middle}
.sk-badge-ok{background:#eaf7ef;color:var(--sk-ok)}

/* Fortschritt */
.sk-progress{height:12px;background:var(--sk-line);border-radius:999px;overflow:hidden}
.sk-progress-bar{height:100%;background:linear-gradient(90deg,var(--sk-primary),var(--sk-accent));border-radius:999px;transition:width .6s ease}
.sk-progress-label{font-size:.85em;color:var(--sk-muted);margin:.35rem 0 .9rem}

/* Kurs-Seite */
.sk-course-status .sk-btn{margin-top:.25rem}
.sk-buy{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem}
.sk-price{font-size:2rem;font-weight:800;line-height:1}
.sk-consent{display:flex;gap:.6em;align-items:flex-start;font-size:.85em;max-width:44em;padding:.5em .6em;border-radius:8px;cursor:pointer}
.sk-consent input{margin-top:.3em;flex:none}
.sk-consent.is-missing{background:#fdecec;outline:2px solid var(--sk-bad)}
.sk-buy p{margin:0}

/* Lehrplan */
.sk-curriculum{display:flex;flex-direction:column;gap:1rem}
.sk-module-title{margin:0 0 .4rem;font-size:.95em;text-transform:uppercase;letter-spacing:.04em;color:var(--sk-muted)}
.sk-lessons{list-style:none;margin:0;padding:0;border:1px solid var(--sk-line);border-radius:var(--sk-radius);overflow:hidden;background:#fff}
.sk-lesson-item + .sk-lesson-item{border-top:1px solid var(--sk-line)}
.sk-lesson-item > a,.sk-lesson-item > span{display:flex;align-items:center;gap:.8rem;padding:.7rem .9rem;color:inherit!important;text-decoration:none!important}
.sk-lesson-item > a:hover{background:var(--sk-bg)}
.sk-lesson-item.is-current > a{background:var(--sk-bg);box-shadow:inset 4px 0 0 var(--sk-primary)}
.sk-lesson-item.is-locked{color:var(--sk-muted)}
.sk-lesson-status{flex:none;width:1.9em;height:1.9em;border-radius:50%;display:grid;place-items:center;font-size:.8em;font-weight:700;background:var(--sk-bg);border:2px solid var(--sk-line)}
.sk-lesson-item.is-done .sk-lesson-status{background:var(--sk-ok);border-color:var(--sk-ok);color:#fff}
.sk-lesson-title{flex:1}
.sk-icons{display:flex;gap:.2rem;font-size:.85em;opacity:.75}

/* Lektion */
.sk-crumbs{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;font-size:.9em;margin-bottom:1rem}
.sk-crumbs span{color:var(--sk-muted)}
.sk-lesson{container-type:inline-size}
.sk-lesson-grid{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:2rem;align-items:start}
.sk-sidebar{position:sticky;top:1.5rem;font-size:.92em}
.sk-sidebar .sk-lesson-item > a,.sk-sidebar .sk-lesson-item > span{padding:.5rem .7rem}
.sk-sidebar .sk-icons{display:none}
.sk-main{min-width:0}
.sk-video{position:relative;margin:0 0 1.5rem;border-radius:var(--sk-radius);overflow:hidden;background:#000}
.sk-video iframe{display:block;width:100%!important;aspect-ratio:16/9;height:auto!important;border:0}
.sk-video .wp-video{width:100%!important}
.sk-downloads{background:var(--sk-bg);border-radius:var(--sk-radius);padding:1rem 1.2rem;margin:1.5rem 0}
.sk-downloads h4{margin:0 0 .5rem}
.sk-downloads ul{list-style:none;margin:0;padding:0}
.sk-downloads li{padding:.3rem 0}
.sk-downloads a{font-weight:600}
.sk-dl-icon{margin-right:.4em}
.sk-complete-box{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin:2rem 0 1rem;padding:1.1rem 1.3rem;border:2px dashed var(--sk-line);border-radius:var(--sk-radius)}
.sk-complete-box.is-done{border-style:solid;border-color:var(--sk-ok);background:#f2fbf5}
.sk-done-label{font-weight:800;color:var(--sk-ok)}
.sk-course-done{width:100%}
.sk-course-done p{margin:0 0 .6rem}
.sk-pager{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem}
.sk-locked{text-align:center;padding:2.5rem 1.5rem}
.sk-locked .sk-buy{align-items:center}
.sk-lock-icon{font-size:2.5rem}

/* Quiz */
.sk-quiz{margin:2rem 0;padding:1.3rem 1.4rem;border-radius:var(--sk-radius);background:var(--sk-bg)}
.sk-quiz-title{margin-top:0}
.sk-ok{color:var(--sk-ok)}
.sk-question{border:2px solid transparent;background:#fff;border-radius:var(--sk-radius);padding:1rem 1.1rem;margin:0 0 1rem;transition:border-color .2s}
.sk-question legend{font-weight:700;padding:0;float:left;width:100%;margin-bottom:.6rem}
.sk-question.is-missing{border-color:var(--sk-accent)}
.sk-question.is-right{border-color:var(--sk-ok)}
.sk-question.is-wrong{border-color:var(--sk-bad)}
.sk-qnum{display:inline-grid;place-items:center;width:1.7em;height:1.7em;border-radius:50%;background:var(--sk-primary);color:#fff;font-size:.85em;margin-right:.3em}
.sk-answers{clear:both;display:flex;flex-direction:column;gap:.4rem}
.sk-answer{display:flex;gap:.6em;align-items:center;padding:.55em .8em;border:1px solid var(--sk-line);border-radius:10px;cursor:pointer}
.sk-answer:hover{background:var(--sk-bg)}
.sk-answer:has(input:checked){border-color:var(--sk-primary);background:#eef3fd}
.sk-feedback{margin-top:.6rem;font-size:.92em}
.sk-question.is-right .sk-feedback{color:var(--sk-ok)}
.sk-question.is-wrong .sk-feedback{color:var(--sk-bad)}
.sk-quiz-result{font-weight:700;padding:.8rem 1rem;border-radius:10px;margin:0 0 1rem}
.sk-quiz-result.is-passed{background:#eaf7ef;color:var(--sk-ok)}
.sk-quiz-result.is-failed{background:#fdecec;color:var(--sk-bad)}

/* Profile */
.sk-who{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;background:var(--sk-bg);border-radius:var(--sk-radius);padding:.7rem 1rem;margin:0 0 1.25rem}
.sk-who-label{font-weight:700}
.sk-who-list{display:flex;flex-wrap:wrap;gap:.5rem}
.sk-who-wrap{position:relative;display:inline-flex}
.sk-who-btn{display:inline-flex;align-items:center;gap:.4em;font:inherit;background:#fff;border:2px solid var(--sk-line);border-radius:999px;padding:.35em .9em .35em .4em;cursor:pointer;color:var(--sk-text)}
.sk-who-btn.is-active{border-color:var(--sk-primary);background:#eef3fd;font-weight:700}
.sk-avatar{font-size:1.35em;line-height:1}
.sk-del-profile{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;border:0;background:var(--sk-bad);color:#fff;font-size:13px;line-height:20px;padding:0;cursor:pointer;opacity:0;transition:opacity .15s}
.sk-who-wrap:hover .sk-del-profile,.sk-del-profile:focus{opacity:1}
.sk-add-profile{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-top:1rem}
.sk-add-profile input[type=text]{padding:.5em .8em;border:1px solid var(--sk-line);border-radius:999px;font:inherit;min-width:12em}
.sk-avatar-pick{display:flex;flex-wrap:wrap;gap:.2rem}
.sk-avatar-pick input{position:absolute;opacity:0;pointer-events:none}
.sk-avatar-pick span{display:grid;place-items:center;width:2.1em;height:2.1em;font-size:1.15em;border-radius:50%;cursor:pointer;border:2px solid transparent}
.sk-avatar-pick input:checked + span{border-color:var(--sk-primary);background:#eef3fd}

/* Kurs-Kacheln */
.sk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.4rem}
.sk-course-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--sk-line);border-radius:var(--sk-radius);overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.sk-card-media{display:block;aspect-ratio:16/10;background:var(--sk-bg);overflow:hidden}
.sk-card-img{width:100%;height:100%;object-fit:cover;display:block}
.sk-card-placeholder{display:grid;place-items:center;height:100%;font-size:3rem}
.sk-card-body{display:flex;flex-direction:column;flex:1;padding:1rem 1.1rem}
.sk-card-body h3{margin:0 0 .5rem;font-size:1.1em}
.sk-card-body h3 a{color:inherit!important;text-decoration:none}
.sk-excerpt{color:var(--sk-muted);font-size:.92em;margin:0 0 .8rem}
.sk-card-foot{margin-top:auto;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;align-items:center}
.sk-price-sm{font-weight:800}
.sk-mini-progress{list-style:none;margin:0 0 .8rem;padding:0;font-size:.85em}
.sk-mini-progress li{display:flex;justify-content:space-between;border-bottom:1px dotted var(--sk-line);padding:.15rem 0}

/* Lernbereich */
.sk-dash-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1rem}
.sk-dash-head h2{margin:0}
.sk-profiles h3{margin-top:0}
.sk-login{max-width:420px}
.sk-login input[type=text],.sk-login input[type=password]{width:100%;padding:.6em .8em;border:1px solid var(--sk-line);border-radius:8px;font:inherit}
.sk-login .button{background:var(--sk-primary);color:#fff;border:0;border-radius:999px;padding:.6em 1.4em;font:inherit;font-weight:700;cursor:pointer}

/* Kindgerechter Modus */
.sk-kid{--sk-radius:20px;font-size:1.12em}
.sk-kid .sk-btn{padding:.85em 1.7em;font-size:1.05em;box-shadow:0 4px 0 rgba(0,0,0,.18)}
.sk-kid .sk-btn:active{transform:translateY(3px);box-shadow:0 1px 0 rgba(0,0,0,.18)}
.sk-kid .sk-progress{height:18px}
.sk-kid .sk-lessons{border-width:2px;border-style:dashed}
.sk-kid .sk-lesson-status{width:2.3em;height:2.3em;font-size:.95em}
.sk-kid .sk-lesson-item.is-done .sk-lesson-status{background:var(--sk-accent);border-color:var(--sk-accent);color:#1f2430}
.sk-kid .sk-question{border-width:3px}
.sk-kid .sk-answer{padding:.8em 1em;font-size:1.05em;border-width:2px}
.sk-kid .sk-complete-box{justify-content:center;text-align:center}
.sk-kid .sk-complete{font-size:1.3em}
.sk-kid .sk-who{background:#fff7e0;border:2px dashed var(--sk-accent)}
.sk-kid .sk-who-btn{font-size:1.05em}
.sk-course-card.is-kid{border:2px dashed var(--sk-accent)}

/* Teilen & Empfehlungen */
.sk-share-box{margin:2rem 0 0;padding:1.1rem 1.3rem;border:2px dashed var(--sk-line);border-radius:var(--sk-radius)}
.sk-share-box h4{margin:0 0 .4rem}
.sk-share-buttons{display:flex;flex-wrap:wrap;gap:.5rem;margin:.6rem 0}
.sk-share-btn{--c:var(--sk-primary);display:inline-flex;align-items:center;gap:.35em;font:inherit;font-size:.9em;font-weight:700;padding:.45em 1em;border-radius:999px;border:2px solid var(--c);color:var(--c)!important;background:#fff;text-decoration:none!important;cursor:pointer;line-height:1.2}
.sk-share-btn:hover{background:var(--c);color:#fff!important}
.sk-share-native{--c:#1f2430}
.sk-share-copy{--c:#5f6b7a}
.sk-ref-notice{background:#fff7e0;border:2px dashed var(--sk-accent);border-radius:10px;padding:.5em .8em;font-size:.92em}
.sk-referral h3{margin-top:0}
.sk-ref-link{display:flex;gap:.5rem;margin:.6rem 0}
.sk-ref-link input{flex:1;min-width:0;padding:.5em .8em;border:1px solid var(--sk-line);border-radius:999px;font:inherit;font-size:.9em;background:var(--sk-bg)}
.sk-ref-stats{margin:.4rem 0 0}
.sk-achievement-banner{display:flex;gap:1rem;align-items:center;background:#fff7e0;border:2px dashed var(--sk-accent);border-radius:var(--sk-radius);padding:1rem 1.2rem;margin:0 0 1.25rem}
.sk-medal{font-size:2.6rem;line-height:1}
.sk-modal{position:fixed;inset:0;background:rgba(20,24,33,.55);z-index:99990;display:grid;place-items:center;padding:1rem}
.sk-modal-box{position:relative;background:#fff;border-radius:18px;max-width:560px;width:100%;max-height:92vh;overflow:auto;padding:1.4rem 1.5rem;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.sk-modal-box h3{margin:0 0 .8rem}
.sk-modal-close{position:absolute;top:.6rem;right:.8rem;border:0;background:none;font-size:1.8rem;line-height:1;cursor:pointer;color:var(--sk-muted)}
.sk-achievement-img{width:100%;height:auto;border-radius:12px;border:1px solid var(--sk-line);display:block;margin-bottom:.7rem;transition:opacity .2s}
.sk-name-opt{display:flex;gap:.5em;align-items:center;font-weight:600;margin:.2rem 0 .4rem}
.sk-toast-ok{background:#2a9d5c}

/* Toast & Konfetti */
.sk-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;background:#1f2430;color:#fff;padding:.8em 1.2em;border-radius:10px;z-index:99999;transition:all .25s;max-width:90vw;font-size:.95rem}
.sk-toast.is-in{opacity:1;transform:translate(-50%,0)}
.sk-toast-error{background:#b32d2e}
.sk-confetti{position:fixed;inset:0;pointer-events:none;z-index:99998;overflow:hidden}
.sk-confetti i{position:absolute;top:-12px;width:9px;height:14px;border-radius:2px;animation:sk-fall linear forwards}
@keyframes sk-fall{to{top:105vh;transform:rotate(720deg) translateX(40px)}}

@container (max-width:760px){
	.sk-lesson-grid{grid-template-columns:1fr}
	.sk-sidebar{position:static;order:2}
	.sk-main{order:1}
}
@media (max-width:800px){
	.sk-lesson-grid{grid-template-columns:1fr}
	.sk-sidebar{position:static;order:2}
	.sk-main{order:1}
}
.sk-pager .sk-btn{white-space:nowrap}
