/* SmartFactory Academy - Kursbaukasten | v4 */
.sfa-kb{--cream:#FFFFFF;--cream2:#F7F7F7;--ink:#0E1F2C;--teal:#32B9B4;--teal-br:#3FE0CB;--magenta:#E8368F;--line:#E1E1E1;--muted:#5D6A72;--r:14px;
background:var(--cream);color:var(--ink);font-family:'Roboto',system-ui,-apple-system,sans-serif;font-size:17px;line-height:1.6;margin:0 calc(50% - 50vw);padding:0;width:100vw;box-sizing:border-box;-webkit-font-smoothing:antialiased}
.sfa-kb *,.sfa-kb *::before,.sfa-kb *::after{box-sizing:border-box}
.sfa-kb .wrap{max-width:1240px;margin:0 auto;padding:0 28px}
.sfa-kb h1,.sfa-kb h2,.sfa-kb h3,.sfa-kb h4{font-family:'Fira Sans','Roboto',system-ui,sans-serif;font-weight:600;line-height:1.2;margin:0;color:var(--ink)}
.sfa-kb h1,.sfa-kb h2{font-style:italic;font-weight:500;letter-spacing:-.005em}
.sfa-kb p{margin:0}
.sfa-kb .eyebrow{display:block;color:var(--magenta);font-family:'Fira Sans','Roboto',sans-serif;font-style:italic;font-weight:500;font-size:17px;margin:0 0 18px}
.sfa-kb .eyebrow.on-dark{color:var(--teal-br)}
.sfa-kb .hero .eyebrow{color:var(--teal);font-style:normal;font-weight:400;font-size:18px;margin-bottom:14px}
.sfa-kb section.band{padding:56px 0}
.sfa-kb section.band.alt{background:var(--cream2)}
.sfa-kb .secintro{margin-top:14px;font-size:17px;color:var(--muted)}
.sfa-kb .secintro strong{color:var(--ink);font-weight:600}

/* Buttons */
.sfa-kb .btn{border-radius:8px;padding:12px 26px;font:600 15.5px 'Fira Sans','Roboto',sans-serif;cursor:pointer;border:1px solid transparent;transition:.14s;text-decoration:none;display:inline-block;text-align:center}
.sfa-kb .btn.dark{background:var(--ink);color:#fff}
.sfa-kb .btn.dark:hover{background:#1B3242;color:#fff}
.sfa-kb .btn.line{background:none;border-color:var(--ink);color:var(--ink)}
.sfa-kb .btn.line:hover{background:var(--ink);color:#fff}
.sfa-kb .btn.prim{background:var(--teal-br);color:var(--ink)}
.sfa-kb .btn.prim:hover{background:#fff;color:var(--ink)}
.sfa-kb .btn.ghost{background:none;border-color:rgba(255,255,255,.4);color:#fff}
.sfa-kb .btn.ghost:hover{border-color:#fff;color:#fff}
.sfa-kb .btn.sm{padding:9px 18px;font-size:14.5px;width:100%}
.sfa-kb .btn[disabled]{opacity:.4;cursor:not-allowed}

/* HERO */
.sfa-kb .hero{position:relative;padding:56px 0 60px;border-bottom:1px solid var(--line);background:#eaf7f7 url('https://smartfactory-academy.de/wp-content/uploads/2020/11/top_bg_003.jpg') center center/cover no-repeat}
.sfa-kb .claim{text-align:center;font-family:'Fira Sans','Roboto',sans-serif;font-weight:400;font-size:clamp(28px,4vw,46px);line-height:1.2;color:#222;margin:0 0 42px}
.sfa-kb .claim .hl{position:relative;color:var(--teal);white-space:nowrap;padding:0 .12em}
.sfa-kb .claim .hl::after{content:'';position:absolute;left:-.06em;right:-.06em;top:-.14em;bottom:-.14em;border:2px solid var(--teal);border-radius:50%;transform:rotate(-1.5deg)}

.sfa-kb .hero h1{font-size:clamp(32px,4.2vw,52px);text-wrap:balance;hyphens:manual;overflow-wrap:break-word}
.sfa-kb .hero .lead{margin-top:20px;font-size:18.5px;color:var(--muted)}
.sfa-kb .herobtns{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.sfa-kb .stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.sfa-kb .stat{background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.9);border-radius:999px;padding:8px 18px;font-size:14.5px;font-weight:500;backdrop-filter:blur(2px)}
.sfa-kb .stat b{color:var(--teal);font-weight:600}

/* THEMENKACHELN */
.sfa-kb .tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px}
.sfa-kb .tile{display:flex;flex-direction:column;text-align:left;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:0;cursor:pointer;overflow:hidden;transition:.16s;font:inherit;color:inherit}
.sfa-kb .tile:hover{border-color:var(--teal);transform:translateY(-3px);box-shadow:0 8px 22px rgba(14,31,44,.08)}
.sfa-kb .tile .pic{aspect-ratio:16/9;background:linear-gradient(135deg,#12303f,#0b1a24);display:flex;align-items:center;justify-content:center;overflow:hidden}
.sfa-kb .tile .pic img{width:100%;height:100%;object-fit:cover;display:block}
.sfa-kb .tile .pic .ph{font-size:34px;color:var(--teal-br);opacity:.6}
.sfa-kb .tile .body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:7px;flex:1}
.sfa-kb .tile h3{font-size:17.5px;line-height:1.28}
.sfa-kb .tile p{font-size:14.5px;color:var(--muted);line-height:1.5}
.sfa-kb .tile .n{margin-top:auto;padding-top:8px;font-size:13.5px;font-weight:600;color:var(--teal)}

/* BAUKASTEN: Sidebar + Karten */
.sfa-kb .bk{display:grid;grid-template-columns:270px 1fr;gap:32px;align-items:start;margin-top:28px}
.sfa-kb .bkside{position:sticky;top:20px;display:flex;flex-direction:column;gap:14px}
.sfa-kb .sbbox{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}
.sfa-kb .sblabel{display:block;font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:9px}
.sfa-kb .sbbox .sblabel+.fchips{margin-bottom:16px}
.sfa-kb .sbbox .fchips:last-of-type{margin-bottom:8px}
.sfa-kb .fchips{display:flex;flex-wrap:wrap;gap:6px}
.sfa-kb .chip{border:1px solid var(--line);background:var(--cream);border-radius:999px;padding:5px 12px;font:500 13.5px 'Roboto',sans-serif;color:var(--ink);cursor:pointer;transition:.14s}
.sfa-kb .chip:hover{border-color:var(--teal)}
.sfa-kb .chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.sfa-kb .freset{background:none;border:0;padding:0;color:var(--magenta);font:500 13.5px 'Roboto',sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.sfa-kb .tnav{display:flex;flex-direction:column;gap:2px}
.sfa-kb .tnav button{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:0;border-radius:8px;padding:8px 10px;cursor:pointer;font:500 14.5px 'Roboto',sans-serif;color:var(--ink);transition:.12s}
.sfa-kb .tnav button:hover{background:var(--cream)}
.sfa-kb .tnav button[aria-selected="true"]{background:var(--teal-br);font-weight:600}
.sfa-kb .tnav .cnt{margin-left:auto;font-size:13px;color:var(--muted)}
.sfa-kb .tnav button[aria-selected="true"] .cnt{color:var(--ink)}
.sfa-kb .sbcart{background:var(--ink);border-radius:var(--r);padding:16px 18px;color:#fff}
.sfa-kb .sbcart .sblabel{color:rgba(255,255,255,.6)}
.sfa-kb .sbsum{font-size:16px;margin-bottom:12px}
.sfa-kb .sbsum b{color:var(--teal-br);font-weight:600}
.sfa-kb .bkmain .hint{font-size:14.5px;color:var(--muted);margin-bottom:14px}

/* MODULKARTEN */
.sfa-kb .mods{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.sfa-kb .mod{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px;display:flex;flex-direction:column;gap:11px;transition:.16s}
.sfa-kb .mod:hover{border-color:var(--teal)}
.sfa-kb .mod.picked{border-color:var(--teal);box-shadow:0 0 0 2px rgba(50,185,180,.28)}
.sfa-kb .mod .top{display:flex;align-items:flex-start;gap:11px}
.sfa-kb .mod .code{font-size:11.5px;font-weight:600;letter-spacing:.1em;color:var(--magenta);flex:none;padding-top:3px}
.sfa-kb .mod h4{font-size:18px;line-height:1.28}
.sfa-kb .mod .desc{font-size:14.5px;color:var(--muted)}
.sfa-kb .mod .req{font-size:13px;color:var(--muted);opacity:.85;border-left:2px solid var(--line);padding-left:10px}
.sfa-kb .meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:auto;padding-top:4px}
.sfa-kb .badge{font-size:12px;font-weight:500;border-radius:5px;padding:3px 8px;border:1px solid var(--line);background:var(--cream);color:var(--muted)}
.sfa-kb .badge.lvl-basis{border-color:#BFE7E5;background:#EAF8F7;color:#1C6F6C}
.sfa-kb .badge.lvl-vertiefung{border-color:#F6C9DF;background:#FDEEF5;color:#A81E62}
.sfa-kb .badge.lvl-expert{border-color:#C9C2F5;background:#EFECFD;color:#4B3AB0}
.sfa-kb .badge.hands{border-color:var(--ink);background:var(--ink);color:#fff}
.sfa-kb .addbtn{margin-top:12px;width:100%;border:1px solid var(--ink);background:none;color:var(--ink);border-radius:9px;padding:9px;font:600 14.5px 'Fira Sans','Roboto',sans-serif;cursor:pointer;transition:.14s}
.sfa-kb .addbtn:hover{background:var(--ink);color:#fff}
.sfa-kb .mod.picked .addbtn{background:var(--teal);border-color:var(--teal);color:#fff}
.sfa-kb .empty,.sfa-kb .loading{padding:40px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:var(--r);grid-column:1/-1}

/* MERKLISTE */
.sfa-kb .cart{background:var(--ink);color:#fff;border-radius:18px;margin-top:40px;overflow:hidden;scroll-margin-top:20px}
.sfa-kb .cartbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:20px 26px}
.sfa-kb .cartbar .sum{font-size:16.5px;font-weight:500}
.sfa-kb .cartbar .sum b{color:var(--teal-br)}
.sfa-kb .cartbar .spacer{flex:1}
.sfa-kb .cartlist{padding:4px 26px 24px;border-top:1px solid rgba(255,255,255,.14)}
.sfa-kb .cartrow{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.09);font-size:15px}
.sfa-kb .cartrow .t{flex:1}
.sfa-kb .cartrow .d{color:var(--teal-br);font-weight:500;flex:none}
.sfa-kb .cartrow button{background:none;border:0;color:rgba(255,255,255,.6);cursor:pointer;font-size:19px;line-height:1;padding:0 4px}
.sfa-kb .cartrow button:hover{color:var(--magenta)}
.sfa-kb .cartempty{padding:12px 0 2px;font-size:15px;color:rgba(255,255,255,.62)}
.sfa-kb .cartnote{margin-top:14px;font-size:14px;color:rgba(255,255,255,.6)}

/* CTA */
.sfa-kb .cta{background:var(--ink);border-radius:18px;padding:46px;display:grid;grid-template-columns:1.4fr 1fr;gap:34px;align-items:center;color:#fff}
.sfa-kb .cta h2{color:#fff;font-size:clamp(25px,3vw,34px)}
.sfa-kb .cta p{color:rgba(255,255,255,.74);margin-top:14px;font-size:16.5px;line-height:1.62}
.sfa-kb .cta .acts{display:flex;flex-direction:column;gap:11px}

/* GESAMTUEBERSICHT */
.sfa-kb .ovintro{color:var(--muted);font-size:16.5px;margin-top:12px}
.sfa-kb .ovlist{margin-top:26px;border-top:1px solid var(--line)}
.sfa-kb .ovtopic{border-bottom:1px solid var(--line)}
.sfa-kb .ovtopic>summary{list-style:none;cursor:pointer;padding:14px 40px 14px 0;position:relative;display:flex;align-items:center;gap:16px}
.sfa-kb .ovthumb{width:96px;height:64px;object-fit:cover;border-radius:8px;flex:none;display:block}
.sfa-kb .ovhead{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 4px}
.sfa-kb .ovtopic>summary::-webkit-details-marker{display:none}
.sfa-kb .ovtopic>summary::after{content:'+';position:absolute;right:8px;top:12px;font-size:24px;color:var(--teal);line-height:1}
.sfa-kb .ovtopic[open]>summary::after{content:'–'}
.sfa-kb .ovtopic h3{font-size:19px;font-weight:600;display:inline;font-family:'Fira Sans','Roboto',sans-serif}
.sfa-kb .ovtopic .cnt{font-size:14px;color:var(--muted);font-weight:400;margin-left:8px}
.sfa-kb .ovdesc{color:var(--muted);font-size:15.5px;margin:0 0 14px}
.sfa-kb .ovtable{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;font-size:14.5px;margin-bottom:22px}
.sfa-kb .ovtable th,.sfa-kb .ovtable td{text-align:left;padding:11px 15px;border-bottom:1px solid var(--line);vertical-align:top;font-weight:400}
.sfa-kb .ovtable thead th{background:var(--cream);font-family:'Fira Sans','Roboto',sans-serif;font-weight:600;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.sfa-kb .ovtable tbody th{font-family:'Fira Sans','Roboto',sans-serif;font-weight:600;color:var(--ink);width:24%}
.sfa-kb .ovtable td{color:var(--muted)}
.sfa-kb .ovtable tr:last-child th,.sfa-kb .ovtable tr:last-child td{border-bottom:0}
.sfa-kb .ovcode{display:block;font-size:11.5px;font-weight:600;letter-spacing:.1em;color:var(--magenta)}
.sfa-kb .ovreq{display:block;margin-top:7px;font-size:13px;font-style:italic;opacity:.8}
.sfa-kb .ovtable .nw{white-space:nowrap}

/* FAQ */
.sfa-kb .faqlist{margin-top:26px;border-top:1px solid var(--line)}
.sfa-kb .faq{border-bottom:1px solid var(--line)}
.sfa-kb .faq summary{list-style:none;cursor:pointer;padding:16px 40px 16px 0;position:relative}
.sfa-kb .faq summary::-webkit-details-marker{display:none}
.sfa-kb .faq summary h3{font-size:18px;font-weight:600;display:inline;font-family:'Fira Sans','Roboto',sans-serif}
.sfa-kb .faq summary::after{content:'+';position:absolute;right:8px;top:12px;font-size:24px;color:var(--teal);line-height:1}
.sfa-kb .faq[open] summary::after{content:'–'}
.sfa-kb .faq p{padding:0 40px 18px 0;color:var(--muted);font-size:15.5px}

@media(max-width:1100px){.sfa-kb .tiles{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){
  .sfa-kb .bk{grid-template-columns:1fr}
  .sfa-kb .bkside{position:static}
  .sfa-kb .tnav{flex-direction:row;flex-wrap:wrap}
  .sfa-kb .tnav button{width:auto;border:1px solid var(--line)}
  .sfa-kb .tnav .cnt{margin-left:6px}
  .sfa-kb .cta{grid-template-columns:1fr;padding:32px}
}
@media(max-width:700px){.sfa-kb .tiles{grid-template-columns:repeat(2,1fr)}.sfa-kb .wrap{padding:0 18px}.sfa-kb .mods{grid-template-columns:1fr}
  .sfa-kb .ovtable,.sfa-kb .ovtable tbody,.sfa-kb .ovtable tr,.sfa-kb .ovtable th,.sfa-kb .ovtable td{display:block;width:auto}
  .sfa-kb .ovtable thead{display:none}
  .sfa-kb .ovtable tr{border-bottom:1px solid var(--line);padding:6px 0}
  .sfa-kb .ovtable tr:last-child{border-bottom:0}
  .sfa-kb .ovtable th,.sfa-kb .ovtable td{border:0;padding:5px 15px}
  .sfa-kb .ovtable .nw{display:inline-block;margin-right:10px;font-size:13px;color:var(--muted)}
}
@media(max-width:460px){.sfa-kb .tiles{grid-template-columns:1fr}}
