/* kniff49 Akademie – Mitgliederbereich und Registrierung (Ergänzung zum Theme kniff49) */

.k49ak {
	--k49ak-navy: var(--wp--preset--color--navy, #0E1A2B);
	--k49ak-orange: var(--wp--preset--color--orange, #E36A00);
	--k49ak-orange-text: var(--wp--preset--color--orange-dark, #B35300);
	--k49ak-ground: var(--wp--preset--color--ground, #F5F6F3);
	--k49ak-slate: var(--wp--preset--color--slate, #3F4A5A);
	--k49ak-muted: var(--wp--preset--color--muted, #5A6473);
	--k49ak-line: var(--wp--preset--color--line, #E3E6E1);
	--k49ak-sage-light: var(--wp--preset--color--sage-light, #E3ECDF);
	--k49ak-sage: var(--wp--preset--color--sage, #C1D3BC);
	--k49ak-sage-mid: var(--wp--preset--color--sage-mid, #6F8D77);
	--k49ak-sage-dark: var(--wp--preset--color--sage-dark, #2F4B3C);
	--k49ak-falz: path("M0 0 V34 Q0 48 14 48 H48 Z");
	max-width: 1080px;
	margin-inline: auto;
}
.wp-block-post-content > .k49ak, .is-layout-constrained > .k49ak { max-width: 1080px !important; width: 100%; }
.k49ak h2 { font-size: clamp(26px, 2.6vw, 34px); margin: 0 0 .4em; }
.k49ak h3 { font-size: 20px; margin: 1.4em 0 .5em; }
.k49ak-klein { font-size: 14px; color: var(--k49ak-muted); }
.k49ak-optional { font-weight: 500; color: var(--k49ak-muted); }

/* Hinweise */
.k49ak-hinweis { border-radius: 10px; padding: 12px 16px; margin: 0 0 18px; font-size: 15px; }
.k49ak-hinweis--ok { background: var(--k49ak-sage-light); color: var(--k49ak-sage-dark); }
.k49ak-hinweis--fehler { background: #FEF3F2; color: #7A271A; }
.k49ak-hinweis--info { background: #fff; border: 1px solid var(--k49ak-line); color: var(--k49ak-slate); }

/* Karten */
.k49ak-karte { background: #fff; border-radius: 20px; padding: clamp(22px, 3vw, 36px); margin: 0 0 20px; }
.k49ak-karte > :last-child { margin-bottom: 0; }
.k49ak-karte--schmal { max-width: 560px; }
.k49ak-willkommen { position: relative; overflow: hidden; }
.k49ak-willkommen::after { content: ""; position: absolute; top: 0; right: 0; width: 48px; height: 48px; background: var(--k49ak-orange); clip-path: var(--k49ak-falz); }

/* Kopf mit Firmenlogo */
.k49ak-kopf { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px; padding: 0 0 20px; margin: 0 0 28px; border-bottom: 1px solid var(--k49ak-line); }
.k49ak-kopf__marke { display: flex; align-items: center; gap: 18px; min-width: 0; }
.k49ak-kopf__logo { display: block; max-height: 48px; max-width: 200px; width: auto; height: auto; object-fit: contain; }
.k49ak-kopf__firma { font-weight: 700; font-size: 18px; color: var(--k49ak-navy); padding-right: 18px; border-right: 1px solid var(--k49ak-line); }
.k49ak-kopf__logo { padding-right: 18px; border-right: 1px solid var(--k49ak-line); }
.k49ak-kopf__text p { margin: 0; }
.k49ak-kopf__kurs { font-weight: 700; font-size: 18px; color: var(--k49ak-navy); letter-spacing: -.01em; }
.k49ak-kopf__gruss { color: var(--k49ak-muted); font-size: 15px; }
.k49ak-nav { display: flex; flex-wrap: wrap; gap: 6px 22px; }
.k49ak-nav a { padding: 6px 0; text-decoration: none; font-weight: 600; color: var(--k49ak-slate); border-bottom: 2px solid transparent; }
.k49ak-nav a:hover { color: var(--k49ak-navy); border-bottom-color: var(--k49ak-line); }
.k49ak-nav a[aria-current="page"] { color: var(--k49ak-navy); border-bottom-color: var(--k49ak-orange); }

/* Auf der Seite /akademie/ übernimmt der eigene Kopf, der Seitentitel entfällt */
.k49ak-seite-bereich .k49-page-head { display: none; }
.k49ak-seite-bereich .k49-page { padding-top: clamp(32px, 5vw, 64px); }

/* Einleitung */
.k49ak-intro { max-width: 640px; margin: 0 0 36px; }
.k49ak-intro p { color: var(--k49ak-slate); }
.k49ak-intro__text { font-size: clamp(18px, 1.6vw, 21px); margin-top: 0; }
.k49ak-balken { height: 8px; border-radius: 4px; background: var(--k49ak-line); overflow: hidden; margin-top: 14px; }
.k49ak-balken span { display: block; height: 100%; background: var(--k49ak-sage-mid); border-radius: 4px; }

/* Kalender: Türchen im Stil der Bildmarke (Navy mit oranger Falzecke) */
.k49ak-kalender { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, 1fr); gap: clamp(8px, 1.2vw, 14px); }
.k49ak-kalender--advent { grid-template-columns: repeat(5, 1fr); }
.k49ak-tuer { margin: 0; padding: 0; }
.k49ak-tuer--finale { grid-column: span 2; }
.k49ak-tuer__flaeche { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; height: 100%; min-height: clamp(96px, 12vw, 148px); box-sizing: border-box; padding: clamp(12px, 1.4vw, 18px); border-radius: 18px; text-decoration: none; transition: transform .15s ease, box-shadow .15s ease; }
.k49ak-tuer__nr { font-size: clamp(32px, 4vw, 54px); font-weight: 700; line-height: .9; letter-spacing: -.04em; }
.k49ak-tuer__status { display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; line-height: 1.2; }
.k49ak-tuer__icon { width: 14px; height: 14px; flex-shrink: 0; }
a.k49ak-tuer__flaeche:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(14, 26, 43, .12); }
a.k49ak-tuer__flaeche:focus-visible { outline: 3px solid var(--k49ak-orange); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .k49ak-tuer__flaeche { transition: none; } a.k49ak-tuer__flaeche:hover { transform: none; } }

/* geschlossen: ruhig und hell, mit Schloss und Datum */
.k49ak-tuer--zu .k49ak-tuer__flaeche, .k49ak-tuer--vorschau .k49ak-tuer__flaeche { background: #EBEDE8; color: #A4ACA6; }
.k49ak-tuer--zu .k49ak-tuer__status, .k49ak-tuer--vorschau .k49ak-tuer__status { color: #7D867F; font-weight: 500; }
.k49ak-tuer--vorschau a.k49ak-tuer__flaeche:hover { background: #E3E6E1; }

/* offen: Navy mit Falzecke */
.k49ak-tuer--offen .k49ak-tuer__flaeche, .k49ak-tuer--angefangen .k49ak-tuer__flaeche, .k49ak-tuer--nochmal .k49ak-tuer__flaeche { background: var(--k49ak-navy); color: #fff; }
.k49ak-tuer--offen .k49ak-tuer__flaeche::after, .k49ak-tuer--angefangen .k49ak-tuer__flaeche::after, .k49ak-tuer--nochmal .k49ak-tuer__flaeche::after, .k49ak-tuer--erledigt .k49ak-tuer__flaeche::after { content: ""; position: absolute; top: 0; right: 0; width: clamp(28px, 3.4vw, 44px); aspect-ratio: 1; background: var(--k49ak-orange); clip-path: path("M0 0 V30 Q0 44 14 44 H44 Z"); }
.k49ak-tuer--offen .k49ak-tuer__status { color: #F5C38F; }
.k49ak-tuer--angefangen .k49ak-tuer__flaeche::after, .k49ak-tuer--nochmal .k49ak-tuer__flaeche::after { background: #F5C38F; }
.k49ak-tuer--angefangen .k49ak-tuer__status, .k49ak-tuer--nochmal .k49ak-tuer__status { color: #F5C38F; }

/* heute: hervorgehoben */
.k49ak-tuer--heute .k49ak-tuer__flaeche { box-shadow: 0 0 0 3px var(--k49ak-ground), 0 0 0 5px var(--k49ak-orange); }
.k49ak-tuer--heute .k49ak-tuer__status { color: #fff; }

/* geschafft: Salbei mit Haken */
.k49ak-tuer--erledigt .k49ak-tuer__flaeche { background: var(--k49ak-sage-light); color: var(--k49ak-sage-dark); }
.k49ak-tuer--erledigt .k49ak-tuer__flaeche::after { background: var(--k49ak-sage-mid); }
.k49ak-tuer--erledigt .k49ak-tuer__status { color: var(--k49ak-sage-dark); }
.k49ak-tuer--erledigt .k49ak-tuer__icon { color: var(--k49ak-sage-mid); }

/* Türchen 24: doppelt breit, mit Stern */
.k49ak-tuer--finale .k49ak-tuer__flaeche::before { content: ""; position: absolute; right: clamp(22px, 4vw, 56px); bottom: clamp(14px, 2vw, 22px); width: clamp(40px, 5vw, 64px); aspect-ratio: 1; background: currentColor; opacity: .14; clip-path: polygon(50% 0, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%); }
.k49ak-tuer--finale.k49ak-tuer--offen .k49ak-tuer__flaeche::before, .k49ak-tuer--finale.k49ak-tuer--heute .k49ak-tuer__flaeche::before { background: var(--k49ak-orange); opacity: 1; }

@media (max-width: 900px) { .k49ak-kalender, .k49ak-kalender--advent { grid-template-columns: repeat(4, 1fr); } .k49ak-tuer--finale { grid-column: span 1; } }
@media (max-width: 520px) {
	.k49ak-kalender, .k49ak-kalender--advent { grid-template-columns: repeat(3, 1fr); }
	.k49ak-tuer--finale { grid-column: span 1; }
	.k49ak-tuer__status { font-size: 12px; }
	.k49ak-kopf__gruss { border-left: 0; padding-left: 0; }
	.k49ak-kopf__firma, .k49ak-kopf__logo { border-right: 0; padding-right: 0; }
	.k49ak-kopf__marke { flex-wrap: wrap; gap: 6px 18px; }
}

/* Lektion */
.k49ak-lektion { max-width: 720px; }
.k49ak-lektion__zurueck { margin: 0 0 18px; font-size: 15px; }
.k49ak-lektion__kopf { display: flex; align-items: flex-start; gap: 18px; margin: 0 0 24px; }
.k49ak-lektion__nr { flex-shrink: 0; display: grid; place-items: center; width: 72px; height: 72px; border-radius: 16px; background: var(--k49ak-navy); color: #fff; font-size: 36px; font-weight: 700; letter-spacing: -.03em; position: relative; overflow: hidden; }
.k49ak-lektion__nr::after { content: ""; position: absolute; top: 0; right: 0; width: 22px; height: 22px; background: var(--k49ak-orange); clip-path: path("M0 0 V15 Q0 22 7 22 H22 Z"); }
.k49ak-lektion__tag { margin: 4px 0 2px; font-weight: 600; color: var(--k49ak-orange-text); }
.k49ak-lektion__kopf h2 { margin: 0; }
.k49ak-lektion__inhalt { font-size: 18px; line-height: 1.65; color: var(--k49ak-slate); }
.k49ak-lektion__inhalt > * { max-width: 68ch; }
.k49ak-lektion__inhalt img, .k49ak-lektion__inhalt video, .k49ak-lektion__inhalt iframe { max-width: 100%; height: auto; border-radius: 14px; }
.k49ak-lektion__weiter { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin: 32px 0 0; padding-top: 20px; border-top: 1px solid var(--k49ak-line); font-weight: 600; }

/* Quiz */
.k49ak-quiz { background: #fff; border-radius: 20px; padding: clamp(22px, 3vw, 32px); margin: 32px 0 0; border-left: 4px solid var(--k49ak-sage); }
.k49ak-quiz h3 { margin-top: 0; }
.k49ak-quiz__liste { list-style: none; counter-reset: frage; margin: 0; padding: 0; }
.k49ak-frage { counter-increment: frage; margin: 0 0 22px; }
.k49ak-frage fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.k49ak-frage__text { display: block; font-weight: 600; color: var(--k49ak-navy); margin: 0 0 10px; padding: 0; font-size: 17px; }
.k49ak-frage__text::before { content: counter(frage) ". "; color: var(--k49ak-muted); }
.k49ak-antwort { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; margin: 0 0 8px; border: 1px solid #C9CFC8; border-radius: 12px; cursor: pointer; background: var(--k49ak-ground); font-size: 16px; }
.k49ak-antwort input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--k49ak-navy); flex-shrink: 0; }
.k49ak-antwort:hover { border-color: var(--k49ak-navy); }
.k49ak-antwort:has(input:checked) { border-color: var(--k49ak-navy); background: #fff; box-shadow: inset 0 0 0 1px var(--k49ak-navy); }
.k49ak-antwort:has(input:focus-visible) { outline: 3px solid var(--k49ak-orange); outline-offset: 1px; }
.k49ak-quiz__ergebnis { font-size: 18px; font-weight: 600; color: var(--k49ak-navy); }
.k49ak-frage__antworten { list-style: none; margin: 0 0 8px; padding: 0; }
.k49ak-frage__antworten li { padding: 9px 14px; margin: 0 0 6px; border-radius: 10px; background: var(--k49ak-ground); }
.k49ak-frage__antworten li.stimmt { background: var(--k49ak-sage-light); color: var(--k49ak-sage-dark); font-weight: 600; }
.k49ak-frage__antworten li.stimmt::before { content: "✓ "; }
.k49ak-frage__antworten li.gewaehlt { background: #FEF3F2; color: #7A271A; }
.k49ak-frage__erklaerung { margin: 6px 0 0; padding-left: 14px; border-left: 3px solid var(--k49ak-sage); color: var(--k49ak-slate); font-size: 15px; }

/* Formulare (gleiche Optik wie Anfrageformular) */
.k49ak-form { position: relative; overflow: hidden; background: #fff; border-radius: 20px; padding: clamp(22px, 3vw, 32px); box-sizing: border-box; }
.k49ak-form--flach { padding: 0; border-radius: 0; background: transparent; overflow: visible; }
.k49ak-form--fertig::after, #k49ak-reg.k49ak-form::after { content: ""; position: absolute; top: 0; right: 0; width: 48px; height: 48px; background: var(--k49ak-orange); clip-path: path("M0 0 V34 Q0 48 14 48 H48 Z"); }
.k49ak-form h3 { margin-top: 0; }
.k49ak-raster { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.k49ak-raster--3 { grid-template-columns: 1fr 1fr 1.4fr; }
.k49ak-feld { display: flex; flex-direction: column; gap: 6px; margin: 0 0 14px; }
.k49ak-feld--breit { grid-column: 1 / -1; }
.k49ak-feld--kurz { max-width: 260px; }
.k49ak-feld label, .k49ak-feld > span:first-child { font-size: 15px; font-weight: 600; }
.k49ak-feld__fehler { color: #B42318; font-size: 14px; font-weight: 500; }
.k49ak input[type="text"], .k49ak input[type="email"], .k49ak input[type="tel"], .k49ak input[type="number"], .k49ak input[type="password"], .k49ak input:not([type]), .k49ak select, .k49ak textarea,
.k49ak-form input[type="text"], .k49ak-form input[type="email"], .k49ak-form input[type="tel"], .k49ak-form input[type="number"], .k49ak-form select, .k49ak-form textarea {
	width: 100%; box-sizing: border-box; font: inherit; font-size: 16px; color: inherit; background: var(--k49ak-ground, #F5F6F3); border: 1px solid #C9CFC8; border-radius: 10px; padding: 11px 13px; }
.k49ak input[type="file"] { font: inherit; font-size: 15px; }
.k49ak input:focus, .k49ak select:focus, .k49ak textarea:focus, .k49ak-form input:focus, .k49ak-form select:focus, .k49ak-form textarea:focus { outline: 3px solid var(--k49ak-orange, #E36A00); outline-offset: 1px; border-color: var(--k49ak-navy, #0E1A2B); }
.k49ak [aria-invalid="true"], .k49ak-form [aria-invalid="true"] { border-color: #B42318; }
.k49ak-check { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: start; margin: 4px 0 18px; }
.k49ak-check input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--k49ak-navy, #0E1A2B); }
.k49ak-check label { font-weight: 500; font-size: 15px; line-height: 1.5; }
.k49ak-check .k49ak-feld__fehler { grid-column: 2; }
.k49ak-aktionen { margin: 0; display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.k49ak-aktionen button, .k49ak button.wp-element-button { cursor: pointer; border: 0; }
.k49ak-knopf--zweit { background: #fff !important; box-shadow: inset 0 0 0 1px #C9CFC8; }
.k49ak-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 640px) { .k49ak-raster, .k49ak-raster--3 { grid-template-columns: 1fr; } }

/* Anmeldung */
.k49ak-login { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; }
.k49ak-login__text { grid-column: 1 / -1; max-width: 620px; }
.k49ak-login__text p { color: var(--k49ak-slate); }
.k49ak-form--leise { background: transparent; border: 1px solid var(--k49ak-line); }
@media (max-width: 760px) { .k49ak-login { grid-template-columns: 1fr; } }

/* Teamverwaltung */
.k49ak-plaetze { font-size: 18px; }
.k49ak-plaetze strong { color: var(--k49ak-navy); }
.k49ak-aufklapp { margin: 16px 0 0; }
.k49ak-aufklapp summary { cursor: pointer; font-weight: 600; color: var(--k49ak-navy); padding: 6px 0; }
.k49ak-aufklapp[open] summary { margin-bottom: 12px; }
.k49ak-staffel { border-collapse: collapse; margin: 12px 0 4px; font-size: 15px; }
.k49ak-staffel caption { text-align: left; font-weight: 600; padding-bottom: 6px; }
.k49ak-staffel th, .k49ak-staffel td { text-align: left; padding: 6px 18px 6px 0; border-bottom: 1px solid var(--k49ak-line); font-weight: 500; }
.k49ak-tabelle-wrap { overflow-x: auto; margin: 0 0 12px; }
.k49ak-tabelle { width: 100%; border-collapse: collapse; font-size: 15px; }
.k49ak-tabelle th { text-align: left; font-size: 13px; color: var(--k49ak-muted); font-weight: 600; padding: 8px 12px 8px 0; border-bottom: 1px solid var(--k49ak-line); }
.k49ak-tabelle td { padding: 12px 12px 12px 0; border-bottom: 1px solid var(--k49ak-line); vertical-align: top; }
.k49ak-tabelle__aktionen { white-space: nowrap; }
.k49ak-mini { display: inline; margin: 0; }
.k49ak-mini + .k49ak-mini::before { content: ""; display: inline-block; width: 1px; height: 12px; background: #C9CFC8; margin: 0 8px; vertical-align: middle; }
.k49ak-textknopf { background: none; border: 0; padding: 0; font: inherit; font-size: 14px; font-weight: 600; color: var(--k49ak-navy); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.k49ak-textknopf:hover { color: var(--k49ak-orange-text); }
.k49ak-logo-vorschau img { max-height: 64px; max-width: 240px; width: auto; height: auto; padding: 12px; background: var(--k49ak-ground); border-radius: 10px; }

/* Fortschrittsleiste: 24 Felder */
.k49ak-leiste { display: inline-grid; grid-template-columns: repeat(12, 9px); gap: 3px; vertical-align: middle; }
.k49ak-leiste i { display: block; width: 9px; height: 9px; border-radius: 2px; background: var(--k49ak-line, #E3E6E1); }
.k49ak-leiste i.angefangen { background: #F5C38F; }
.k49ak-leiste i.erledigt { background: var(--k49ak-sage-mid, #6F8D77); }

/* Registrierung außerhalb des Bereichs */
#k49ak-reg { --k49ak-ground: var(--wp--preset--color--ground, #F5F6F3); --k49ak-navy: var(--wp--preset--color--navy, #0E1A2B); --k49ak-orange: var(--wp--preset--color--orange, #E36A00); --k49ak-line: var(--wp--preset--color--line, #E3E6E1); --k49ak-muted: var(--wp--preset--color--muted, #5A6473); }
#k49ak-reg .k49ak-raster { padding-right: 20px; }
@media (max-width: 640px) { #k49ak-reg .k49ak-raster { padding-right: 0; } }

/* Quiz: geschafft oder noch einmal */
.k49ak-quiz__ergebnis--ok { background: var(--k49ak-sage-light); color: var(--k49ak-sage-dark); border-radius: 12px; padding: 12px 16px; }
.k49ak-quiz__ergebnis--nochmal { background: #FFF1E0; color: #6B3300; border-radius: 12px; padding: 14px 18px; font-size: 16px; font-weight: 500; }
.k49ak-quiz__ergebnis--nochmal p { margin: 0 0 10px; }
.k49ak-quiz__ergebnis--nochmal p:last-child { margin-bottom: 0; }
.k49ak-frage--falsch .k49ak-frage__text { color: #7A271A; }
.k49ak-frage__falsch { margin: 0 0 6px; padding: 9px 14px; border-radius: 10px; background: #FEF3F2; color: #7A271A; }

/* Probe-Türchen */
.k49ak-probe { margin: clamp(36px, 5vw, 56px) 0 0; padding-top: 28px; border-top: 1px solid var(--k49ak-line); }
.k49ak-probe h2 { font-size: 24px; }
.k49ak-probe > p { color: var(--k49ak-slate); max-width: 620px; }
.k49ak-probe__liste { list-style: none; margin: 16px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.k49ak-probe__karte { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 6px; padding: 18px 56px 18px 18px; border-radius: 16px; background: #fff; text-decoration: none; color: var(--k49ak-navy); box-shadow: inset 0 0 0 1px var(--k49ak-sage); }
.k49ak-probe__karte::after { content: ""; position: absolute; top: 0; right: 0; width: 40px; height: 40px; background: var(--k49ak-sage-mid); clip-path: path("M0 0 V28 Q0 40 12 40 H40 Z"); }
.k49ak-probe__karte:hover { box-shadow: inset 0 0 0 2px var(--k49ak-navy); }
.k49ak-probe__nr { font-size: 13px; font-weight: 600; color: var(--k49ak-sage-dark); }
.k49ak-probe__titel { font-weight: 700; font-size: 18px; line-height: 1.25; }
.k49ak-lektion__nr--probe { background: var(--k49ak-sage-dark); font-size: 28px; }
.k49ak-lektion__nr--probe::after { background: var(--k49ak-sage); }

/* ---------- Landingpage KI-Adventskalender ---------- */
.k49ak-seite-advent .k49-page-head h1 { max-width: 12em; }
.k49ak-hero { gap: clamp(24px, 4vw, 64px) !important; margin-top: 0 !important; }
.k49ak-hero .k49-lead { margin-top: 0; }
.k49ak-eckdaten { list-style: none; padding: 0; margin: 24px 0 28px; display: grid; gap: 10px; }
.k49ak-eckdaten li { position: relative; padding-left: 26px; font-size: 17px; color: var(--wp--preset--color--slate, #3F4A5A); }
.k49ak-eckdaten li::before { content: ""; position: absolute; left: 0; top: .32em; width: 14px; height: 14px; background: var(--wp--preset--color--orange, #E36A00); clip-path: path("M0 0 V10 Q0 14 4 14 H14 Z"); transform: rotate(90deg); }
.k49ak-eckdaten strong { color: var(--wp--preset--color--navy, #0E1A2B); }

/* Szene: Tannenbaum, Kniff mit Mütze, Türchen 24 */
.k49ak-szene { position: relative; width: min(100%, 460px); aspect-ratio: 1 / 1; margin-inline: auto; }
.k49ak-szene::before { content: ""; position: absolute; inset: 6% 0 0 4%; border-radius: 50%; background: var(--wp--preset--color--sage-light, #E3ECDF); }
.k49ak-szene::after { content: ""; position: absolute; inset: 0; background:
	radial-gradient(circle, #fff 0 3px, transparent 3.5px) 18% 22% / 100% 100% no-repeat,
	radial-gradient(circle, #fff 0 2px, transparent 2.5px) 74% 12% / 100% 100% no-repeat,
	radial-gradient(circle, #fff 0 2.5px, transparent 3px) 88% 40% / 100% 100% no-repeat,
	radial-gradient(circle, #fff 0 2px, transparent 2.5px) 30% 8% / 100% 100% no-repeat,
	radial-gradient(circle, #fff 0 3px, transparent 3.5px) 8% 52% / 100% 100% no-repeat; pointer-events: none; }
.k49ak-baum { position: absolute; left: 2%; bottom: 8%; width: 36%; height: auto; z-index: 1; }
.k49ak-fuchs { position: absolute; right: 2%; bottom: 3%; width: 72%; height: auto; z-index: 2; }
.k49ak-szene__tuer { position: absolute; z-index: 3; right: 0; top: 10%; display: grid; place-items: center; width: 74px; height: 74px; border-radius: 16px; background: var(--wp--preset--color--navy, #0E1A2B); color: #fff; font-weight: 700; font-size: 32px; letter-spacing: -.03em; overflow: hidden; transform: rotate(6deg); box-shadow: 0 14px 30px rgba(14, 26, 43, .18); }
.k49ak-szene__tuer::after { content: ""; position: absolute; top: 0; right: 0; width: 24px; height: 24px; background: var(--wp--preset--color--orange, #E36A00); clip-path: path("M0 0 V16 Q0 24 8 24 H24 Z"); }
@media (max-width: 781px) { .k49ak-hero { flex-direction: column-reverse; } .k49ak-szene { width: min(78%, 340px); } }

.k49ak-wochen { gap: 18px !important; margin-top: 28px !important; }
.k49ak-woche h3 { margin: .3em 0 .4em; }
.k49ak-woche p { margin: 0; }
.k49ak-haken { list-style: none; padding: 0; margin: 0; }
.k49ak-haken li { position: relative; padding: 0 0 12px 30px; }
.k49ak-haken li::before { content: ""; position: absolute; left: 0; top: .25em; width: 18px; height: 18px; border-radius: 50%; background: var(--wp--preset--color--sage-light, #E3ECDF) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='m5 9.5 2.6 2.5L13 6.5' fill='none' stroke='%232F4B3C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 18px no-repeat; }
.k49ak-preis-hinweis { font-size: 17px; color: var(--wp--preset--color--slate, #3F4A5A); border-left: 3px solid var(--wp--preset--color--sage, #C1D3BC); padding: 4px 0 4px 16px; }
.k49ak-staffel--gross { font-size: 17px; }
.k49ak-staffel--gross td { font-weight: 700; color: var(--wp--preset--color--navy, #0E1A2B); }
.k49ak-unternehmen { margin-top: clamp(48px, 7vw, 88px) !important; }
.k49ak-registrieren { margin-top: clamp(48px, 7vw, 88px) !important; gap: clamp(24px, 4vw, 56px) !important; }
.k49ak-registrieren h2 { margin-top: 0; }
.k49ak-probe--oben { margin: 0 0 clamp(36px, 5vw, 56px); padding: 0 0 28px; border-top: 0; border-bottom: 1px solid var(--k49ak-line); }
.k49ak-kalender__titel { font-size: 24px !important; }
.k49ak-intro .wp-element-button { display: inline-block; text-decoration: none; }

/* Kursübersicht */
.k49ak-uebersicht h2 { font-size: 24px; margin: 0 0 16px; }
.k49ak-uebersicht h2 + .k49ak-kurse { margin-bottom: 40px; }
.k49ak-kurse { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }
.k49ak-kurs { margin: 0; }
.k49ak-kurs__flaeche { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 10px; height: 100%; box-sizing: border-box; padding: 24px 24px 22px; border-radius: 20px; background: #fff; color: var(--k49ak-navy); text-decoration: none; }
a.k49ak-kurs__flaeche:hover { box-shadow: inset 0 0 0 2px var(--k49ak-navy); }
.k49ak-kurs__flaeche::after { content: ""; position: absolute; top: 0; right: 0; width: 44px; height: 44px; background: var(--k49ak-orange); clip-path: path("M0 0 V30 Q0 44 14 44 H44 Z"); }
.k49ak-kurs--geschafft .k49ak-kurs__flaeche::after { background: var(--k49ak-sage-mid); }
.k49ak-kurs--team .k49ak-kurs__flaeche::after { background: var(--k49ak-sage); }
.k49ak-kurs__titel { font-size: 21px; font-weight: 700; letter-spacing: -.01em; padding-right: 40px; }
.k49ak-kurs__text { color: var(--k49ak-slate); font-size: 15px; line-height: 1.5; }
.k49ak-kurs .k49ak-balken { margin: 6px 0 0; display: block; }
.k49ak-kurs__stand { font-size: 14px; color: var(--k49ak-muted); }
.k49ak-kurs__los { margin-top: auto; padding-top: 6px; font-weight: 700; color: var(--k49ak-orange-text); }
.k49ak-kurs__links { margin-top: auto; padding-top: 6px; display: flex; flex-wrap: wrap; gap: 6px 20px; font-weight: 700; }
.k49ak-kurs__links a { color: var(--k49ak-navy); }

/* Teamverwaltung: Kurs-Reiter und Zahlen */
.k49ak-reiter { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px; }
.k49ak-reiter a { padding: 9px 16px; border-radius: 999px; background: #fff; color: var(--k49ak-slate); text-decoration: none; font-weight: 600; font-size: 15px; box-shadow: inset 0 0 0 1px var(--k49ak-line); }
.k49ak-reiter a[aria-current="page"] { background: var(--k49ak-navy); color: #fff; box-shadow: none; }
.k49ak-zahlen { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 10px; margin: 8px 0 10px; }
.k49ak-zahlen div { background: var(--k49ak-ground); border-radius: 14px; padding: 14px 16px; }
.k49ak-zahlen dt { font-size: 13px; color: var(--k49ak-muted); font-weight: 600; }
.k49ak-zahlen dd { margin: 2px 0 0; font-size: 30px; font-weight: 700; letter-spacing: -.02em; color: var(--k49ak-navy); }

/* Abstand zum Footer auf den Akademie-Seiten */
.k49ak-seite-bereich main.k49-page, .k49ak-seite-advent main.k49-page { padding-bottom: 0 !important; }
.k49ak-seite-bereich .k49-footer, .k49ak-seite-advent .k49-footer { margin-top: clamp(48px, 6vw, 80px) !important; }
.k49ak-seite-bereich .wp-block-post-content > :last-child, .k49ak-seite-advent .wp-block-post-content > :last-child { margin-bottom: 0; }

/* Muster der Bescheinigung auf der Landingpage */
.k49ak-muster { margin-top: clamp(56px, 7vw, 96px) !important; gap: clamp(28px, 5vw, 72px) !important; }
.k49ak-muster h2 { margin-top: 0; }
.k49ak-muster__bild { margin: 0; }
.k49ak-muster__bild .k49ak-bescheinigung { display: block; width: min(100%, 440px); height: auto; margin-inline: auto; transform: rotate(-2deg); border-radius: 4px; box-shadow: 0 2px 4px rgba(14, 26, 43, .06), 0 24px 48px rgba(14, 26, 43, .14); }
.k49ak-muster__bild figcaption { text-align: center; font-size: 14px; color: var(--wp--preset--color--muted, #5A6473); margin-top: 22px; }
@media (max-width: 781px) { .k49ak-muster__bild .k49ak-bescheinigung { transform: none; } }

/* Ablauf auf der Landingpage: 2 × 2 statt vier schmaler Spalten, Silbentrennung statt Abbruch mitten im Wort */
.k49ak-seite-advent .k49-card--plain > .wp-block-columns:has(.k49-step) { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 48px !important; }
.k49ak-seite-advent .k49-card--plain > .wp-block-columns:has(.k49-step) > .wp-block-column { margin: 0 !important; }
.k49ak-seite-advent .k49-step__text { max-width: 30em; }
.k49ak-seite-advent .k49-step__text h3 { margin-top: 8px; }
.k49ak-seite-advent :is(.k49-step__text, .k49ak-woche, .k49-fact) { hyphens: auto; -webkit-hyphens: auto; overflow-wrap: normal; word-break: normal; }
@media (max-width: 700px) { .k49ak-seite-advent .k49-card--plain > .wp-block-columns:has(.k49-step) { grid-template-columns: 1fr; gap: 24px !important; } }

/* Preise */
.k49ak-preis-regel { font-size: 16px; line-height: 1.55; color: var(--wp--preset--color--slate, #3F4A5A); background: var(--wp--preset--color--sage-light, #E3ECDF); border-radius: 12px; padding: 12px 16px; margin: 16px 0 8px; max-width: 34em; }
.k49ak-preis-regel strong { color: var(--wp--preset--color--sage-dark, #2F4B3C); }
.k49ak-staffel--gross { min-width: min(100%, 340px); }
.k49ak-rechner { margin: 0 0 14px; padding: 12px 16px; border-radius: 12px; background: var(--k49ak-ground); font-weight: 600; color: var(--k49ak-navy); }

/* Foto: Menschen aus Bramsche */
.k49ak-menschen { margin-top: clamp(56px, 7vw, 96px) !important; gap: clamp(28px, 5vw, 72px) !important; }
.k49ak-menschen h2 { margin-top: 0; }
.k49ak-foto { position: relative; margin: 0; }
.k49ak-foto img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 20px; }
.k49ak-foto::after { content: ""; position: absolute; top: 0; right: 0; width: 56px; height: 56px; background: var(--wp--preset--color--orange, #E36A00); clip-path: path("M0 0 V38 Q0 56 18 56 H56 Z"); border-top-right-radius: 20px; }
.k49ak-foto figcaption { font-size: 14px; color: var(--wp--preset--color--muted, #5A6473); margin-top: 10px; }
@media (max-width: 781px) { .k49ak-muster { flex-direction: column; } }
.k49ak-pdf + .k49ak-mini::before { content: ""; display: inline-block; width: 1px; height: 12px; background: #C9CFC8; margin: 0 8px; vertical-align: middle; }
.k49ak-pdf { text-decoration: underline; }

/* Szene ganzjährig: Türchenstapel statt Tannenbaum */
.k49ak-szene__stapel { position: absolute; left: 4%; bottom: 10%; z-index: 1; display: grid; gap: 8px; }
.k49ak-szene__stapel span { display: grid; place-items: center; width: clamp(48px, 7vw, 66px); height: clamp(48px, 7vw, 66px); border-radius: 14px; background: #fff; color: var(--wp--preset--color--navy, #0E1A2B); font-weight: 700; font-size: clamp(20px, 2.4vw, 26px); box-shadow: 0 8px 18px rgba(14, 26, 43, .10); position: relative; overflow: hidden; }
.k49ak-szene__stapel span:nth-child(1) { transform: rotate(-6deg); background: var(--wp--preset--color--sage-light, #E3ECDF); color: var(--wp--preset--color--sage-dark, #2F4B3C); }
.k49ak-szene__stapel span:nth-child(2) { transform: rotate(4deg) translateX(14px); }
.k49ak-szene__stapel span:nth-child(3) { transform: rotate(-3deg); }
.k49ak-szene__stapel span::after { content: ""; position: absolute; top: 0; right: 0; width: 16px; height: 16px; background: var(--wp--preset--color--orange, #E36A00); clip-path: path("M0 0 V11 Q0 16 5 16 H16 Z"); }
.k49ak-szene--jahr .k49ak-fuchs { width: 66%; }

/* ---------- Lektionen (ab 0.9.0) ---------- */
.k49ak-lektion__inhalt .k49ak-einstieg { font-size: 20px; line-height: 1.55; color: var(--k49ak-navy); font-weight: 500; }
.k49ak-lektion__inhalt ul { padding-left: 1.2em; }
.k49ak-lektion__inhalt li { margin: 0 0 .5em; }
.k49ak-lektion__inhalt li::marker { color: var(--k49ak-orange); }
.k49ak-probieren { border-left: 3px solid var(--k49ak-sage-mid); padding: 4px 0 4px 20px; margin: 32px 0 0; }
.k49ak-probieren h3 { margin-top: 0; font-size: 17px; color: var(--k49ak-sage-dark); }
.k49ak-probieren p { margin-bottom: 0; }

/* Kniff mit Sprechblase, Platzhalter fürs Video */
.k49ak-kniff { display: flex; align-items: flex-end; gap: 4px; margin: 0 0 32px; max-width: 640px; }
.k49ak-kniff__bild { flex: 0 0 112px; }
.k49ak-kniff__bild svg, .k49ak-kniff .k49ak-fuchs { position: static; display: block; width: 112px; height: auto; }
.k49ak-kniff--ohne-muetze .muetze { display: none; }
.k49ak-kniff__blase { position: relative; flex: 1; background: #fff; border: 1px solid var(--k49ak-line); border-radius: 18px 18px 18px 4px; padding: 16px 20px; margin-bottom: 52px; }
.k49ak-kniff__blase::before { content: ""; position: absolute; left: -9px; bottom: 10px; width: 16px; height: 16px; background: #fff; border-left: 1px solid var(--k49ak-line); border-bottom: 1px solid var(--k49ak-line); transform: rotate(45deg); }
.k49ak-kniff__label { display: block; font-size: 14px; font-weight: 600; color: var(--k49ak-orange-text); margin: 0 0 4px; }
.k49ak-kniff__satz { display: block; font-size: 19px; line-height: 1.45; font-weight: 600; color: var(--k49ak-navy); }
.k49ak-video { margin: 0 0 32px; }
.k49ak-video video { display: block; width: 100%; max-width: 720px; border-radius: 16px; background: var(--k49ak-navy); }
.k49ak-merksatz { background: #fff; border-radius: 16px; padding: 18px 22px; margin: 28px 0 0; max-width: 68ch; border: 1px solid var(--k49ak-line); }
.k49ak-merksatz p { margin: 0; font-size: 19px; font-weight: 600; color: var(--k49ak-navy); }
@media (max-width: 520px) {
	.k49ak-kniff__bild { flex-basis: 76px; }
	.k49ak-kniff__bild svg, .k49ak-kniff .k49ak-fuchs { width: 76px; }
	.k49ak-kniff__blase { margin-bottom: 34px; padding: 14px 16px; }
	.k49ak-kniff__satz { font-size: 17px; }
}

/* Ablauf: „Bevor es losgeht“ und „So funktioniert’s“ */
.k49ak-ablauf--voll { max-width: 760px; position: relative; overflow: hidden; }
.k49ak-ablauf--voll::after { content: ""; position: absolute; top: 0; right: 0; width: 48px; height: 48px; background: var(--k49ak-orange); clip-path: var(--k49ak-falz); }
.k49ak-ablauf__countdown { display: inline-block; margin: 0 0 10px; padding: 4px 12px; border-radius: 999px; background: var(--k49ak-sage-light); color: var(--k49ak-sage-dark); font-weight: 600; font-size: 15px; }
.k49ak-ablauf h3 { font-size: 18px; }
.k49ak-bloecke { list-style: none; padding: 0; margin: 0 0 24px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.k49ak-bloecke li { background: var(--k49ak-ground); border-radius: 12px; padding: 12px 14px; }
.k49ak-bloecke__nr { display: block; font-size: 13px; font-weight: 600; color: var(--k49ak-orange-text); }
.k49ak-bloecke__titel { display: block; font-weight: 600; color: var(--k49ak-navy); line-height: 1.3; margin-top: 2px; }
.k49ak-ablauf__liste { margin: 0 0 16px; display: grid; gap: 14px; }
.k49ak-ablauf__liste dt { font-weight: 700; color: var(--k49ak-navy); }
.k49ak-ablauf__liste dd { margin: 2px 0 0; color: var(--k49ak-slate); }
.k49ak-intro .k49ak-ablauf { max-width: 640px; }
@media (max-width: 760px) { .k49ak-bloecke { grid-template-columns: repeat(2, 1fr); } }
.k49ak-reiter__zahl { display: inline-block; min-width: 1.5em; margin-left: 6px; padding: 1px 7px; border-radius: 999px; background: var(--k49ak-ground); color: var(--k49ak-slate); font-size: 13px; text-align: center; }
.k49ak-reiter a[aria-current="page"] .k49ak-reiter__zahl { background: rgba(255,255,255,.18); color: #fff; }
.k49ak-tempo { display: inline-flex; align-items: center; gap: 6px; }
.k49ak-tempo select { font: inherit; font-size: 14px; padding: 3px 6px; border: 1px solid var(--k49ak-line); border-radius: 8px; background: #fff; }
