/* easyfaM public styles — every rule uses !important for Elementor compatibility */
:root {
        --ef-dark: #2c3b3c;
        --ef-green: #97c748;
        --ef-white: #ffffff;
}
.ef-btn { display:inline-block !important; padding:12px 22px !important; border-radius:4px !important; text-decoration:none !important; font-weight:600 !important; border:0 !important; cursor:pointer !important; line-height:1.2 !important; transition:opacity .2s !important; }
.ef-btn:hover { opacity:.9 !important; }
.ef-btn-primary { background:var(--ef-green) !important; color:var(--ef-white) !important; }
.ef-btn-secondary { background:var(--ef-dark) !important; color:var(--ef-white) !important; }
.ef-input, .ef-form input, .ef-form textarea, .ef-form select { width:100% !important; padding:10px 12px !important; border:1px solid #ddd !important; border-radius:4px !important; font-size:15px !important; box-sizing:border-box !important; }
.ef-form p { margin:0 0 16px !important; }
.ef-form label { display:block !important; font-weight:600 !important; color:var(--ef-dark) !important; margin-bottom:6px !important; }

.ef-grid { display:grid !important; gap:24px !important; }
.ef-cols-1 { grid-template-columns:1fr !important; }
.ef-cols-2 { grid-template-columns:repeat(2, 1fr) !important; }
.ef-cols-3 { grid-template-columns:repeat(3, 1fr) !important; }
.ef-cols-4 { grid-template-columns:repeat(4, 1fr) !important; }
@media (max-width: 768px) { .ef-cols-2,.ef-cols-3,.ef-cols-4 { grid-template-columns:1fr !important; } }

.ef-card { background:#fff !important; border:1px solid #eee !important; border-radius:8px !important; overflow:hidden !important; transition:box-shadow .2s !important; }
.ef-card:hover { box-shadow:0 4px 16px rgba(0,0,0,0.08) !important; }
.ef-card a { text-decoration:none !important; color:inherit !important; display:block !important; }
.ef-card-thumb { position:relative !important; width:100% !important; aspect-ratio: 16/9 !important; background:#f4f4f4 center/cover no-repeat !important; border-radius:8px 8px 0 0 !important; overflow:hidden !important; }
.ef-card-thumb img { width:100% !important; height:100% !important; object-fit:cover !important; }
.ef-card-thumb-empty { background:linear-gradient(135deg,#2c3b3c,#1d2829) !important; }
.ef-card-thumb-empty::before { content:'easyfaM' !important; position:absolute !important; inset:0 !important; display:flex !important; align-items:center !important; justify-content:center !important; color:#97c748 !important; font-weight:700 !important; letter-spacing:.04em !important; opacity:.85 !important; }
.ef-card-thumb .ef-lock { position:absolute !important; top:10px !important; right:10px !important; background:rgba(0,0,0,0.7) !important; color:#fff !important; padding:4px 10px !important; border-radius:4px !important; }
.ef-card-title { font-size:18px !important; margin:14px 14px 6px !important; color:var(--ef-dark) !important; }
.ef-card-excerpt { margin:0 14px 14px !important; color:#666 !important; font-size:14px !important; }
.ef-price { display:inline-block !important; margin:0 14px 14px !important; color:var(--ef-green) !important; font-weight:700 !important; }

.ef-progress { background:#eee !important; height:8px !important; border-radius:4px !important; overflow:hidden !important; margin:8px 14px !important; }
.ef-progress-bar { background:var(--ef-green) !important; height:100% !important; transition:width .3s !important; }
.ef-progress-label { display:inline-block !important; margin:0 14px 14px !important; color:#666 !important; font-size:13px !important; }

.ef-locked-content { background:#fafafa !important; padding:24px !important; border-radius:8px !important; }
.ef-locked-banner { background:var(--ef-dark) !important; color:#fff !important; padding:32px !important; text-align:center !important; border-radius:8px !important; margin-top:18px !important; }
.ef-locked-banner h3 { color:#fff !important; margin:0 0 12px !important; }
.ef-locked-banner .ef-btn { margin:8px 4px !important; }

.ef-notice { background:#fffbe6 !important; border-left:4px solid var(--ef-green) !important; padding:14px 18px !important; margin:18px 0 !important; border-radius:4px !important; }
.ef-notice.ef-success { background:#eef9e0 !important; }
.ef-notice.ef-error { background:#fdecea !important; border-left-color:#c0392b !important; color:#7a1f17 !important; }
.ef-auth-lead { color:#4a5658 !important; margin:0 0 14px 0 !important; line-height:1.5 !important; }
.ef-company-register .ef-form .ef-input { width:100% !important; max-width:380px !important; box-sizing:border-box !important; }
.ef-company-register .ef-form input[name="code"] { letter-spacing:0.08em !important; text-transform:uppercase !important; font-family:ui-monospace, SFMono-Regular, Menlo, monospace !important; }
.ef-company-register .ef-form p { margin:0 0 14px 0 !important; }
.ef-company-register .ef-form label { display:block !important; font-weight:600 !important; margin-bottom:4px !important; color:var(--ef-dark) !important; }
.ef-company-register .ef-form input[type="email"],
.ef-company-register .ef-form input[type="text"],
.ef-company-register .ef-form input[type="password"] { width:100% !important; max-width:none !important; box-sizing:border-box !important; padding:10px 12px !important; border:1px solid #d4d8d9 !important; border-radius:4px !important; }
.ef-company-register .ef-form .ef-checkbox-row { margin:6px 0 16px 0 !important; }
.ef-company-register .ef-form .ef-checkbox-label { display:flex !important; align-items:flex-start !important; gap:10px !important; font-weight:400 !important; line-height:1.5 !important; margin:0 !important; }
.ef-company-register .ef-form .ef-checkbox-label input[type="checkbox"] { width:18px !important; height:18px !important; min-width:18px !important; margin:3px 0 0 0 !important; flex:0 0 auto !important; accent-color:var(--ef-green) !important; }
.ef-company-register .ef-form .ef-checkbox-text { flex:1 1 auto !important; display:block !important; color:var(--ef-dark) !important; font-weight:400 !important; }
.ef-company-register .ef-form .ef-checkbox-text a { color:var(--ef-green) !important; text-decoration:underline !important; }

.ef-pricing-card { background:#fff !important; border:2px solid #eee !important; border-radius:10px !important; padding:30px !important; text-align:center !important; }
.ef-pricing-card h3 { margin:0 0 10px !important; color:var(--ef-dark) !important; }
.ef-price-big { font-size:36px !important; color:var(--ef-green) !important; font-weight:700 !important; margin:14px 0 !important; }
.ef-price-big small { font-size:14px !important; color:#888 !important; font-weight:400 !important; }

.ef-dashboard { display:grid !important; grid-template-columns:240px 1fr !important; gap:24px !important; }
@media (max-width: 768px) { .ef-dashboard { grid-template-columns:1fr !important; } }
.ef-sidebar { background:var(--ef-dark) !important; color:#fff !important; border-radius:8px !important; padding:18px !important; }
.ef-sidebar .ef-user { padding:10px 0 16px !important; border-bottom:1px solid rgba(255,255,255,0.15) !important; margin-bottom:10px !important; }
.ef-sidebar .ef-user small { color:rgba(255,255,255,0.7) !important; }
.ef-sidebar .ef-user .ef-user-company { display:inline-block !important; margin-top:4px !important; color:var(--ef-green) !important; font-weight:700 !important; }

/* Hinweisleiste (Notification-Bar) oben */
html.ef-has-notibar-sticky { padding-top:var(--ef-notibar-h, 0px) !important; }
.ef-notibar { position:relative !important; width:100% !important; box-sizing:border-box !important; z-index:99990 !important; margin:0 !important; }
.ef-notibar.is-sticky { position:fixed !important; top:0 !important; left:0 !important; right:0 !important; }
.ef-notibar--dark { background:var(--ef-dark) !important; color:#fff !important; }
.ef-notibar--green { background:var(--ef-green) !important; color:#fff !important; }
.ef-notibar-inner { max-width:1200px !important; margin:0 auto !important; display:flex !important; align-items:center !important; justify-content:center !important; gap:12px !important; padding:11px 44px 11px 20px !important; font-size:14px !important; line-height:1.45 !important; position:relative !important; }
.ef-notibar-icon { display:inline-flex !important; flex:0 0 auto !important; opacity:.95 !important; }
.ef-notibar-text { flex:0 1 auto !important; color:inherit !important; text-align:center !important; }
.ef-notibar-text a { color:#fff !important; text-decoration:underline !important; }
.ef-notibar-close { position:absolute !important; right:14px !important; top:50% !important; transform:translateY(-50%) !important; flex:0 0 auto !important; background:transparent !important; border:0 !important; color:inherit !important; cursor:pointer !important; padding:4px !important; line-height:0 !important; opacity:.8 !important; }
.ef-notibar-close:hover { opacity:1 !important; }
@media (max-width: 600px) { .ef-notibar-inner { padding:9px 40px 9px 14px !important; font-size:13px !important; gap:9px !important; } .ef-notibar-close { right:10px !important; } }
.ef-tab { display:block !important; color:#fff !important; padding:10px 12px !important; text-decoration:none !important; border-radius:4px !important; margin-bottom:2px !important; }
.ef-tab:hover, .ef-tab.active { background:var(--ef-green) !important; color:#fff !important; }

.ef-content { background:#fff !important; padding:24px !important; border-radius:8px !important; border:1px solid #eee !important; }
.ef-table { width:100% !important; border-collapse:collapse !important; }
.ef-table th, .ef-table td { padding:10px 12px !important; border-bottom:1px solid #eee !important; text-align:left !important; }
.ef-table thead th { background:#fafafa !important; color:var(--ef-dark) !important; }
.ef-list { list-style:none !important; padding:0 !important; margin:0 !important; }
.ef-list li { padding:12px 0 !important; border-bottom:1px solid #eee !important; }

.ef-video-wrap { position:relative !important; width:100% !important; background:#000 !important; border-radius:8px !important; overflow:hidden !important; }
.ef-video-wrap video { width:100% !important; height:auto !important; display:block !important; }
.ef-video-overlay { position:absolute !important; inset:0 !important; pointer-events:none !important; }

.ef-quiz { margin:24px 0 !important; }
.ef-quiz-q { background:#fafafa !important; padding:18px !important; border-radius:6px !important; margin:14px 0 !important; }
.ef-quiz-opt { display:block !important; margin:6px 0 !important; }
.ef-quiz-result { margin-top:18px !important; padding:14px !important; border-radius:6px !important; }
.ef-quiz-result.ef-pass { background:#eef9e0 !important; color:#3a5e16 !important; }
.ef-quiz-result.ef-fail { background:#fde8e8 !important; color:#9b1c1c !important; }

/* === Course detail / lesson list === */
.ef-course-detail { max-width:920px !important; margin:0 auto !important; }
.ef-course-hero { background:linear-gradient(135deg,#f5f8f4,#fff) !important; border:1px solid #e8ece8 !important; border-radius:18px !important; padding:24px 26px !important; margin-bottom:22px !important; }
.ef-course-hero h1 { margin:0 0 8px !important; color:#2c3b3c !important; font-size:26px !important; line-height:1.25 !important; }
.ef-course-hero p { color:#56625f !important; margin:0 0 12px !important; }
.ef-course-hero-desc { color:#56625f !important; line-height:1.6 !important; margin:0 0 6px !important; }
.ef-course-hero-desc p:first-child { margin-top:0 !important; }
.ef-course-hero-desc p:last-child { margin-bottom:0 !important; }
.ef-course-progress { margin-top:14px !important; }
.ef-course-progress-meta { display:flex !important; justify-content:space-between !important; align-items:center !important; font-size:13px !important; color:#56625f !important; margin-bottom:6px !important; }
.ef-course-progress-meta strong { color:#2c3b3c !important; font-weight:700 !important; }
.ef-course-progress-bar { background:#eef2f0 !important; height:8px !important; border-radius:8px !important; overflow:hidden !important; }
.ef-course-progress-bar > div { background:linear-gradient(90deg,#97c748,#7fb538) !important; height:100% !important; border-radius:8px !important; transition:width .4s ease !important; }
/* Kategorie-Kacheln im Kurs (Layout identisch zur Akademie-Übersicht) */
.ef-cat-grid { display:grid !important; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)) !important; gap:22px !important; margin-top:8px !important; }
.ef-course-detail .ef-app-course { background:#fff !important; border:1px solid #e8ece8 !important; border-radius:18px !important; overflow:hidden !important; text-decoration:none !important; color:inherit !important; box-shadow:0 6px 24px rgba(28,40,41,.04) !important; transition:transform .25s, box-shadow .25s !important; display:flex !important; flex-direction:column !important; }
.ef-course-detail .ef-app-course:hover { transform:translateY(-4px) !important; box-shadow:0 16px 40px rgba(28,40,41,.12) !important; }
.ef-course-detail .ef-app-course-thumb { position:relative !important; aspect-ratio:16/9 !important; background-color:#2c3b3c !important; background-image:linear-gradient(135deg,#2c3b3c,#1d2829) !important; background-size:cover !important; background-position:center !important; background-repeat:no-repeat !important; overflow:hidden !important; }
.ef-course-detail .ef-app-course-thumb::after { content:'' !important; position:absolute !important; inset:0 !important; background:linear-gradient(180deg, rgba(0,0,0,0) 50%, rgba(0,0,0,.55) 100%) !important; }
.ef-course-detail .ef-app-course-play { position:absolute !important; bottom:14px !important; right:14px !important; width:46px !important; height:46px !important; border-radius:50% !important; background:rgba(255,255,255,.95) !important; color:#2c3b3c !important; display:flex !important; align-items:center !important; justify-content:center !important; z-index:1 !important; box-shadow:0 8px 24px rgba(0,0,0,.25) !important; }
.ef-course-detail .ef-app-course-play svg { width:22px !important; height:22px !important; margin-left:3px !important; }
.ef-course-detail .ef-app-badge { position:absolute !important; top:12px !important; left:12px !important; background:#97c748 !important; color:#fff !important; font-size:11px !important; font-weight:700 !important; padding:5px 10px !important; border-radius:20px !important; text-transform:uppercase !important; letter-spacing:.5px !important; z-index:1 !important; }
.ef-course-detail .ef-app-course-body { padding:18px !important; }
.ef-course-detail .ef-app-course-body h3 { margin:0 0 10px !important; font-size:16px !important; color:#2c3b3c !important; font-weight:700 !important; line-height:1.35 !important; }
.ef-course-detail .ef-app-course-meta { color:#6b7a7b !important; font-size:12px !important; margin:6px 0 0 !important; }
.ef-course-detail .ef-app-mini-progress { background:#eef2f0 !important; height:6px !important; border-radius:6px !important; overflow:hidden !important; margin:4px 0 !important; }
.ef-course-detail .ef-app-mini-progress > div { background:linear-gradient(90deg,#97c748,#7fb538) !important; height:100% !important; transition:width .4s ease !important; border-radius:6px !important; }
.ef-cat-back { display:inline-block !important; margin:0 0 14px !important; color:#2c3b3c !important; font-weight:600 !important; font-size:14px !important; text-decoration:none !important; }
.ef-cat-back:hover { color:#7fb538 !important; }
.ef-cat-heading { margin:0 0 14px !important; color:#2c3b3c !important; font-size:20px !important; font-weight:700 !important; }
.ef-lessons { list-style:none !important; padding:0 !important; margin:0 !important; counter-reset:none !important; display:flex !important; flex-direction:column !important; gap:10px !important; }
.ef-lesson-row { display:flex !important; align-items:center !important; gap:14px !important; padding:14px 16px !important; background:#fff !important; border:1px solid #e8ece8 !important; border-radius:14px !important; box-shadow:0 2px 10px rgba(28,40,41,.03) !important; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease !important; }
.ef-lesson-row:hover { transform:translateY(-1px) !important; box-shadow:0 6px 20px rgba(28,40,41,.07) !important; border-color:#d6ddd6 !important; }
.ef-lesson-row.ef-state-done { background:#f6faf1 !important; border-color:#dceac1 !important; }
.ef-lesson-row.ef-state-locked { opacity:.7 !important; background:#fafafa !important; }
.ef-lesson-num { flex:0 0 auto !important; width:34px !important; height:34px !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; background:#f0f3ef !important; color:#7a8682 !important; border-radius:10px !important; font-weight:700 !important; font-size:13px !important; font-variant-numeric:tabular-nums !important; }
.ef-lesson-row.ef-state-done .ef-lesson-num { background:#97c748 !important; color:#fff !important; }
.ef-lesson-icon { flex:0 0 auto !important; width:34px !important; height:34px !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; border-radius:50% !important; background:#eef4e3 !important; color:#2c3b3c !important; }
.ef-lesson-row.ef-state-open .ef-lesson-icon { background:#97c748 !important; color:#fff !important; }
.ef-lesson-row.ef-state-done .ef-lesson-icon { background:#2c3b3c !important; color:#fff !important; }
.ef-lesson-row.ef-state-locked .ef-lesson-icon { background:#ececec !important; color:#9aa3a0 !important; }
.ef-lesson-body { flex:1 1 auto !important; min-width:0 !important; }
.ef-lesson-title { display:block !important; font-weight:600 !important; color:#2c3b3c !important; text-decoration:none !important; font-size:15px !important; line-height:1.3 !important; overflow:hidden !important; text-overflow:ellipsis !important; }
a.ef-lesson-title:hover { color:#7fb538 !important; }
.ef-lesson-meta { display:flex !important; flex-wrap:wrap !important; gap:10px !important; margin-top:4px !important; font-size:12px !important; color:#7a8682 !important; }
.ef-lesson-meta span { display:inline-flex !important; align-items:center !important; gap:4px !important; }
.ef-lesson-badge { background:#eaf6d4 !important; color:#5a7c1f !important; padding:2px 8px !important; border-radius:999px !important; font-weight:600 !important; }
.ef-lesson-cta { flex:0 0 auto !important; display:inline-flex !important; align-items:center !important; gap:6px !important; padding:8px 14px !important; background:#2c3b3c !important; color:#fff !important; border-radius:999px !important; text-decoration:none !important; font-size:13px !important; font-weight:600 !important; transition:background .2s ease !important; }
.ef-lesson-cta:hover { background:#97c748 !important; color:#fff !important; }
.ef-lesson-row.ef-state-done .ef-lesson-cta { background:#fff !important; color:#2c3b3c !important; border:1px solid #d6ddd6 !important; }
.ef-lesson-row.ef-state-done .ef-lesson-cta:hover { background:#2c3b3c !important; color:#fff !important; border-color:#2c3b3c !important; }
@media (max-width:600px) {
        .ef-lesson-row { flex-wrap:wrap !important; }
        .ef-lesson-cta { width:100% !important; justify-content:center !important; margin-top:6px !important; }
}

.ef-docs ul { list-style:none !important; padding:0 !important; }
.ef-docs li { padding:8px 12px !important; background:#fafafa !important; border-radius:4px !important; margin:6px 0 !important; }
.ef-notes textarea { width:100% !important; padding:10px !important; border:1px solid #ddd !important; border-radius:4px !important; }

.ef-user-menu { display:inline-flex !important; align-items:center !important; gap:6px !important; position:relative !important; margin:0 !important; padding:0 !important; line-height:0 !important; vertical-align:middle !important; font-family:inherit !important; }
.ef-user-menu .ef-um-cart { position:relative !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; width:36px !important; height:36px !important; border-radius:50% !important; color:var(--ef-green) !important; text-decoration:none !important; transition:background .15s, color .15s !important; }
.ef-user-menu .ef-um-cart:hover { background:var(--ef-dark) !important; color:var(--ef-white) !important; }
.ef-user-menu .ef-um-cart-icon { display:block !important; width:22px !important; height:22px !important; }
.ef-user-menu .ef-um-cart-count { display:none !important; position:absolute !important; top:0 !important; right:0 !important; min-width:16px !important; height:16px !important; padding:0 4px !important; border-radius:50% !important; background:#e53935 !important; color:#fff !important; font-size:10px !important; font-weight:800 !important; line-height:16px !important; text-align:center !important; box-sizing:border-box !important; box-shadow:0 0 0 2px var(--ef-white) !important; font-family:inherit !important; }
.ef-user-menu .ef-um-cart-count.is-active { display:inline-block !important; }
body.ef-scrolled .ef-user-menu .ef-um-cart { color:#fff !important; }
body.ef-scrolled .ef-user-menu .ef-um-cart:hover { background:rgba(255,255,255,.18) !important; }
body.ef-scrolled .ef-user-menu .ef-um-cart-count { box-shadow:0 0 0 2px var(--ef-dark) !important; }
.ef-user-menu .ef-um-user { position:relative !important; display:inline-flex !important; align-items:center !important; }
.ef-user-menu .ef-um-trigger { display:inline-flex !important; align-items:center !important; justify-content:center !important; width:36px !important; height:36px !important; padding:0 !important; margin:0 !important; border:0 !important; background:transparent !important; color:var(--ef-green) !important; cursor:pointer !important; border-radius:50% !important; transition:background .15s, color .15s !important; }
.ef-user-menu .ef-um-trigger:hover, .ef-user-menu .ef-um-user:hover .ef-um-trigger, .ef-user-menu .ef-um-user:focus-within .ef-um-trigger { background:var(--ef-dark) !important; color:var(--ef-white) !important; }
.ef-user-menu .ef-um-icon { display:block !important; width:22px !important; height:22px !important; }
.ef-user-menu .ef-um-dropdown { position:absolute !important; top:100% !important; right:0 !important; min-width:200px !important; background:var(--ef-white) !important; border:1px solid #e5e5e5 !important; border-radius:6px !important; box-shadow:0 6px 24px rgba(0,0,0,.12) !important; padding:6px 0 !important; margin:0 !important; line-height:1.4 !important; opacity:0 !important; visibility:hidden !important; transform:translateY(4px) !important; transition:opacity .15s, transform .15s, visibility .15s !important; z-index:9999 !important; }
.ef-user-menu .ef-um-user:hover .ef-um-dropdown, .ef-user-menu .ef-um-user:focus-within .ef-um-dropdown { opacity:1 !important; visibility:visible !important; transform:translateY(0) !important; }
.ef-user-menu .ef-um-greeting { display:block !important; padding:8px 14px !important; font-size:13px !important; color:#666 !important; border-bottom:1px solid #eee !important; margin-bottom:4px !important; }
.ef-user-menu .ef-um-link { display:block !important; padding:9px 14px !important; color:var(--ef-dark) !important; text-decoration:none !important; font-size:14px !important; font-weight:500 !important; background:transparent !important; border:0 !important; transition:background .12s, color .12s !important; }
.ef-user-menu .ef-um-link:hover, .ef-user-menu .ef-um-link:focus { background:var(--ef-green) !important; color:var(--ef-white) !important; }
.ef-user-menu .ef-um-register { color:var(--ef-green) !important; font-weight:600 !important; }
.ef-user-menu .ef-um-register:hover, .ef-user-menu .ef-um-register:focus { background:var(--ef-green) !important; color:var(--ef-white) !important; }
.ef-user-menu .ef-um-logout { border-top:1px solid #eee !important; margin-top:4px !important; padding-top:10px !important; color:#999 !important; }

/* User-Icon: beim Scrollen weiß werden (z.B. wenn Header transparent über Hero startet
   und beim Scrollen einen dunklen Hintergrund bekommt). */
body.ef-scrolled .ef-user-menu .ef-um-trigger { color:#fff !important; }
body.ef-scrolled .ef-user-menu .ef-um-trigger:hover,
body.ef-scrolled .ef-user-menu .ef-um-user:hover .ef-um-trigger,
body.ef-scrolled .ef-user-menu .ef-um-user:focus-within .ef-um-trigger { background:rgba(255,255,255,.18) !important; color:#fff !important; }

/* Sprachumschalter (WPML) rechts neben dem User-Icon. Stil an die Icon-Buttons
   angelehnt; oeffnet das Sprach-Dropdown bei Hover/Focus (kein JS noetig). */
.ef-user-menu .ef-um-lang { position:relative !important; display:inline-flex !important; align-items:center !important; }
.ef-user-menu .ef-um-lang-trigger { display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:5px !important; height:36px !important; padding:0 10px !important; margin:0 !important; border:0 !important; background:transparent !important; color:var(--ef-green) !important; cursor:pointer !important; border-radius:18px !important; font-family:inherit !important; line-height:1 !important; transition:background .15s, color .15s !important; }
.ef-user-menu .ef-um-lang-trigger:hover, .ef-user-menu .ef-um-lang:hover .ef-um-lang-trigger, .ef-user-menu .ef-um-lang:focus-within .ef-um-lang-trigger { background:var(--ef-dark) !important; color:var(--ef-white) !important; }
.ef-user-menu .ef-um-lang-icon { display:block !important; width:20px !important; height:20px !important; }
.ef-user-menu .ef-um-lang-code { font-size:13px !important; font-weight:700 !important; letter-spacing:.3px !important; }
.ef-user-menu .ef-um-lang-dropdown { position:absolute !important; top:100% !important; right:0 !important; min-width:150px !important; background:var(--ef-white) !important; border:1px solid #e5e5e5 !important; border-radius:6px !important; box-shadow:0 6px 24px rgba(0,0,0,.12) !important; padding:6px 0 !important; margin:0 !important; line-height:1.4 !important; opacity:0 !important; visibility:hidden !important; transform:translateY(4px) !important; transition:opacity .15s, transform .15s, visibility .15s !important; z-index:9999 !important; }
.ef-user-menu .ef-um-lang:hover .ef-um-lang-dropdown, .ef-user-menu .ef-um-lang:focus-within .ef-um-lang-dropdown { opacity:1 !important; visibility:visible !important; transform:translateY(0) !important; }
.ef-user-menu .ef-um-lang-link { display:block !important; padding:9px 14px !important; color:var(--ef-dark) !important; text-decoration:none !important; font-size:14px !important; font-weight:500 !important; transition:background .12s, color .12s !important; }
.ef-user-menu .ef-um-lang-link:hover, .ef-user-menu .ef-um-lang-link:focus { background:var(--ef-green) !important; color:var(--ef-white) !important; }
.ef-user-menu .ef-um-lang-link.is-active { font-weight:800 !important; color:var(--ef-green) !important; }
.ef-user-menu .ef-um-lang-link.is-active:hover, .ef-user-menu .ef-um-lang-link.is-active:focus { background:var(--ef-green) !important; color:var(--ef-white) !important; }
body.ef-scrolled .ef-user-menu .ef-um-lang-trigger { color:#fff !important; }
body.ef-scrolled .ef-user-menu .ef-um-lang-trigger:hover,
body.ef-scrolled .ef-user-menu .ef-um-lang:hover .ef-um-lang-trigger,
body.ef-scrolled .ef-user-menu .ef-um-lang:focus-within .ef-um-lang-trigger { background:rgba(255,255,255,.18) !important; color:#fff !important; }

/* === Logged-In Sticky Bar (unten) ============================================= */
.ef-loggedin-bar { position:fixed !important; left:0 !important; right:0 !important; bottom:0 !important; z-index:99990 !important; background:linear-gradient(90deg, var(--ef-green, #97c748), #aedc6a) !important; color:var(--ef-dark, #2c3b3c) !important; box-shadow:0 -6px 24px rgba(28,40,41,.18) !important; border-top:1px solid rgba(0,0,0,.06) !important; animation:efBarSlideUp .45s cubic-bezier(.2,.7,.2,1) both !important; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif !important; }
.ef-loggedin-bar-inner { max-width:1200px !important; margin:0 auto !important; padding:8px 16px !important; display:flex !important; align-items:center !important; gap:14px !important; min-height:48px !important; }
.ef-loggedin-bar-status { display:flex !important; align-items:center !important; gap:10px !important; flex:1 !important; min-width:0 !important; font-size:14px !important; color:var(--ef-dark, #2c3b3c) !important; }
.ef-loggedin-bar-dot { width:9px !important; height:9px !important; border-radius:50% !important; background:var(--ef-dark, #2c3b3c) !important; box-shadow:0 0 0 0 rgba(44,59,60,.55) !important; animation:efBarPulse 2s infinite !important; flex-shrink:0 !important; }
.ef-loggedin-bar-label { overflow:hidden !important; text-overflow:ellipsis !important; white-space:nowrap !important; color:var(--ef-dark, #2c3b3c) !important; }
.ef-loggedin-bar-label strong { color:var(--ef-dark, #2c3b3c) !important; font-weight:800 !important; }
.ef-loggedin-bar-cta { display:inline-flex !important; align-items:center !important; gap:8px !important; background:var(--ef-dark, #2c3b3c) !important; color:#fff !important; text-decoration:none !important; padding:8px 16px !important; border-radius:999px !important; font-weight:700 !important; font-size:13.5px !important; line-height:1 !important; transition:transform .15s, box-shadow .15s, background .15s !important; box-shadow:0 4px 12px rgba(28,40,41,.22) !important; white-space:nowrap !important; }
.ef-loggedin-bar-cta:hover { background:#1d2829 !important; color:#fff !important; transform:translateY(-1px) !important; box-shadow:0 6px 16px rgba(28,40,41,.3) !important; text-decoration:none !important; }
.ef-loggedin-bar-cta svg { color:var(--ef-green, #97c748) !important; }
.ef-loggedin-bar-close { background:transparent !important; border:none !important; padding:6px !important; cursor:pointer !important; color:var(--ef-dark, #2c3b3c) !important; opacity:.6 !important; transition:opacity .15s, transform .15s !important; border-radius:50% !important; display:flex !important; align-items:center !important; justify-content:center !important; }
.ef-loggedin-bar-close:hover { opacity:1 !important; transform:scale(1.1) !important; background:rgba(0,0,0,.08) !important; }
body.ef-has-loggedin-bar { padding-bottom:56px !important; }
@media (max-width:600px) {
        .ef-loggedin-bar-inner { padding:6px 10px !important; gap:8px !important; min-height:44px !important; }
        .ef-loggedin-bar-status { font-size:12.5px !important; gap:8px !important; }
        .ef-loggedin-bar-cta { padding:7px 12px !important; font-size:12.5px !important; }
        .ef-loggedin-bar-cta span { display:none !important; }
        .ef-loggedin-bar-cta svg { width:18px !important; height:18px !important; }
        body.ef-has-loggedin-bar { padding-bottom:50px !important; }
}
@keyframes efBarSlideUp { from { transform:translateY(100%); } to { transform:translateY(0); } }
@keyframes efBarPulse { 0% { box-shadow:0 0 0 0 rgba(44,59,60,.55); } 70% { box-shadow:0 0 0 8px rgba(44,59,60,0); } 100% { box-shadow:0 0 0 0 rgba(44,59,60,0); } }

/* === Login / Registrierung / Passwort vergessen ============================== */
.ef-auth-card { max-width:480px !important; margin:40px auto !important; background:#fff !important; border:1px solid #e6e9ea !important; border-radius:20px !important; padding:36px 32px !important; box-shadow:0 16px 50px rgba(28,40,41,.08) !important; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif !important; color:#2c3b3c !important; }
.ef-auth-title { font-size:26px !important; font-weight:800 !important; margin:0 0 6px !important; color:#2c3b3c !important; line-height:1.2 !important; }
.ef-auth-sub { font-size:14.5px !important; color:#5a6b6c !important; margin:0 0 22px !important; line-height:1.5 !important; }
.ef-auth-form { display:flex !important; flex-direction:column !important; gap:14px !important; }
.ef-auth-label { display:flex !important; flex-direction:column !important; gap:6px !important; font-size:13px !important; font-weight:600 !important; color:#2c3b3c !important; }
.ef-auth-grid { display:grid !important; grid-template-columns:1fr 1fr !important; gap:14px !important; }
@media (max-width:520px) { .ef-auth-grid { grid-template-columns:1fr !important; } }
.ef-auth-input { width:100% !important; padding:12px 14px !important; border:1.5px solid #d5dadb !important; border-radius:10px !important; font-size:15px !important; background:#fff !important; color:#2c3b3c !important; transition:border-color .15s, box-shadow .15s !important; box-sizing:border-box !important; font-family:inherit !important; }
.ef-auth-input:focus { outline:none !important; border-color:#97c748 !important; box-shadow:0 0 0 3px rgba(151,199,72,.2) !important; }
.ef-auth-row { display:flex !important; justify-content:space-between !important; align-items:center !important; gap:10px !important; flex-wrap:wrap !important; font-size:13px !important; }
.ef-auth-check { display:inline-flex !important; align-items:center !important; gap:8px !important; cursor:pointer !important; color:#2c3b3c !important; font-weight:500 !important; }
.ef-auth-check input { width:16px !important; height:16px !important; accent-color:#97c748 !important; cursor:pointer !important; }
.ef-auth-terms { font-size:13px !important; line-height:1.5 !important; color:#5a6b6c !important; align-items:flex-start !important; margin-top:4px !important; }
.ef-auth-terms a { color:#2c3b3c !important; font-weight:600 !important; text-decoration:underline !important; }
.ef-auth-link { color:#2c3b3c !important; font-weight:600 !important; text-decoration:none !important; font-size:13px !important; }
.ef-auth-link:hover { color:#97c748 !important; text-decoration:underline !important; }
.ef-auth-btn { display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:8px !important; padding:13px 20px !important; border-radius:10px !important; font-size:15px !important; font-weight:700 !important; text-decoration:none !important; cursor:pointer !important; border:none !important; transition:transform .15s, box-shadow .15s, background .15s !important; font-family:inherit !important; line-height:1 !important; margin-top:6px !important; }
.ef-auth-btn-primary { background:#97c748 !important; color:#2c3b3c !important; box-shadow:0 4px 14px rgba(151,199,72,.35) !important; }
.ef-auth-btn-primary:hover { background:#88b840 !important; transform:translateY(-1px) !important; box-shadow:0 6px 18px rgba(151,199,72,.45) !important; color:#2c3b3c !important; }
.ef-auth-foot { margin:22px 0 0 !important; text-align:center !important; font-size:13.5px !important; color:#5a6b6c !important; }
.ef-auth-foot a { color:#2c3b3c !important; font-weight:700 !important; text-decoration:none !important; margin-left:4px !important; }
.ef-auth-foot a:hover { color:#97c748 !important; text-decoration:underline !important; }
.ef-auth-notice { padding:12px 14px !important; border-radius:10px !important; font-size:14px !important; margin:0 0 18px !important; line-height:1.4 !important; }
.ef-auth-notice-error { background:#fdecec !important; color:#8b1d1d !important; border:1px solid #f5c6c6 !important; }
.ef-auth-notice-success { background:#eef8df !important; color:#3c5d11 !important; border:1px solid #c8e598 !important; }
.ef-auth-notice-info { background:#e8f1f3 !important; color:#1d4a52 !important; border:1px solid #b8d6dc !important; }
.ef-auth-help { margin:18px 0 0 !important; padding:12px 14px !important; background:#f4f8ec !important; border:1px solid #d7e9b6 !important; border-left:4px solid #97c748 !important; border-radius:10px !important; font-size:13px !important; line-height:1.5 !important; color:#3c5d11 !important; text-align:left !important; }
.ef-auth-help a { color:#2c3b3c !important; font-weight:700 !important; text-decoration:none !important; }
.ef-auth-help a:hover { color:#97c748 !important; text-decoration:underline !important; }
@media (max-width:520px) {
        .ef-auth-card { margin:20px 12px !important; padding:26px 20px !important; border-radius:16px !important; }
        .ef-auth-title { font-size:22px !important; }
}


/* ========================================================================
 * Lesson-Module v1.7.28 — Brand-only Farben (#2c3b3c, #97c748, weiß).
 * ====================================================================== */
.ef-mod-callout{display:flex !important;gap:14px !important;align-items:flex-start !important;padding:16px 18px !important;border-radius:10px !important;border:1px solid #97c748 !important;border-left-width:5px !important;background:#fff !important;color:#2c3b3c !important;margin:14px 0 !important}
.ef-mod-callout-label{flex:0 0 auto !important;font-weight:700 !important;color:#2c3b3c !important;background:#97c748 !important;padding:4px 10px !important;border-radius:999px !important;font-size:12px !important;letter-spacing:.3px !important}
.ef-mod-callout-title{display:block !important;margin-bottom:4px !important;color:#2c3b3c !important}
.ef-mod-callout-body{color:#2c3b3c !important;flex:1 !important}
.ef-mod-callout-tipp{background:#f5faec !important}
.ef-mod-callout-achtung{border-color:#2c3b3c !important;background:#fff !important}
.ef-mod-callout-achtung .ef-mod-callout-label{background:#2c3b3c !important;color:#fff !important}
.ef-mod-callout-wichtig{background:#2c3b3c !important;color:#fff !important;border-color:#97c748 !important}
.ef-mod-callout-wichtig .ef-mod-callout-title,.ef-mod-callout-wichtig .ef-mod-callout-body{color:#fff !important}
.ef-mod-callout-wichtig .ef-mod-callout-label{background:#97c748 !important;color:#2c3b3c !important}
.ef-mod-callout-zusammenfassung{background:#f5faec !important;border-color:#2c3b3c !important}
.ef-mod-callout-zusammenfassung .ef-mod-callout-label{background:#2c3b3c !important;color:#fff !important}

.ef-mod-cta{background:#2c3b3c !important;color:#fff !important;text-align:center !important;padding:24px !important;border-radius:12px !important;margin:14px 0 !important}
.ef-mod-cta h4{color:#fff !important;margin:0 0 8px !important}
.ef-mod-cta p{color:#fff !important;opacity:.9 !important;margin:0 0 14px !important}
.ef-mod-cta-btn{display:inline-block !important;padding:12px 28px !important;border-radius:999px !important;font-weight:700 !important;text-decoration:none !important;transition:transform .15s,background .15s,color .15s,border-color .15s !important;border:2px solid transparent !important}
.ef-mod-cta-btn-primary{background:#97c748 !important;color:#2c3b3c !important;border-color:#97c748 !important}
.ef-mod-cta-btn-primary:hover{background:#2c3b3c !important;color:#fff !important;border-color:#97c748 !important;transform:translateY(-1px) !important}
.ef-mod-cta-btn-secondary{background:#fff !important;color:#2c3b3c !important;border-color:#fff !important}
.ef-mod-cta-btn-secondary:hover{background:#97c748 !important;color:#2c3b3c !important;border-color:#97c748 !important;transform:translateY(-1px) !important}
.ef-mod-cta-btn-ghost{background:transparent !important;color:#fff !important;border-color:#fff !important}
.ef-mod-cta-btn-ghost:hover{background:#fff !important;color:#2c3b3c !important;transform:translateY(-1px) !important}
.ef-mod-cta-secondary{background:#fff !important;color:#2c3b3c !important;border:2px solid #2c3b3c !important}
.ef-mod-cta-secondary h4,.ef-mod-cta-secondary p{color:#2c3b3c !important}
.ef-mod-cta-ghost{background:#f5faec !important;color:#2c3b3c !important;border:2px dashed #97c748 !important}
.ef-mod-cta-ghost h4,.ef-mod-cta-ghost p{color:#2c3b3c !important}

.ef-mod-accordion{margin:14px 0 !important}
.ef-mod-accordion .ef-mod-acc-item{border:1px solid #97c748 !important;border-radius:8px !important;margin-bottom:8px !important;background:#fff !important}
.ef-mod-acc-item summary{cursor:pointer !important;padding:14px 16px !important;font-weight:600 !important;color:#2c3b3c !important;list-style:none !important;display:flex !important;justify-content:space-between !important;align-items:center !important}
.ef-mod-acc-item summary::-webkit-details-marker{display:none !important}
.ef-mod-acc-item summary::after{content:"+" !important;font-size:22px !important;color:#97c748 !important;line-height:1 !important;font-weight:700 !important}
.ef-mod-acc-item[open] summary::after{content:"−" !important}
.ef-mod-acc-item[open] summary{background:#f5faec !important;border-bottom:1px solid #97c748 !important}
.ef-mod-acc-body{padding:14px 16px 16px !important;color:#2c3b3c !important}

.ef-mod-embed{margin:14px 0 !important}
.ef-mod-embed-wrap{position:relative !important;width:100% !important;background:#2c3b3c !important;border-radius:8px !important;overflow:hidden !important}
.ef-mod-embed-wrap iframe{width:100% !important;aspect-ratio:16/9 !important;height:auto !important;border-radius:8px !important;border:0 !important;display:block !important}
.ef-mod-embed-wrap[style*="--ef-embed-h"] iframe{aspect-ratio:auto !important;height:var(--ef-embed-h) !important}

.ef-mod-poll{margin:14px 0 !important;padding:18px !important;background:#fff !important;border:1px solid #97c748 !important;border-radius:10px !important}
.ef-mod-poll h4{color:#2c3b3c !important;margin:0 0 6px !important}
.ef-mod-poll-q{font-weight:600 !important;color:#2c3b3c !important;margin:6px 0 12px !important}
.ef-mod-poll-opts{display:flex !important;flex-direction:column !important;gap:8px !important}
.ef-mod-poll-opt{position:relative !important;display:flex !important;align-items:center !important;justify-content:space-between !important;padding:12px 16px !important;border:1.5px solid #2c3b3c !important;background:#fff !important;border-radius:8px !important;cursor:pointer !important;text-align:left !important;font-size:15px !important;overflow:hidden !important;color:#2c3b3c !important;transition:background .15s !important}
.ef-mod-poll-opt:not([disabled]):hover{background:#f5faec !important}
.ef-mod-poll-opt[disabled]{cursor:default !important;opacity:1 !important}
.ef-mod-poll-bar{position:absolute !important;left:0 !important;top:0 !important;bottom:0 !important;background:#f5faec !important;width:0 !important;transition:width .4s ease !important;z-index:0 !important}
.ef-mod-poll-opt.is-mine .ef-mod-poll-bar{background:#97c748 !important}
.ef-mod-poll-opt.is-mine{border-color:#97c748 !important}
.ef-mod-poll-text,.ef-mod-poll-pct{position:relative !important;z-index:1 !important}
.ef-mod-poll-pct{font-size:13px !important;color:#2c3b3c !important;font-weight:700 !important}
.ef-mod-poll-total{display:block !important;margin-top:10px !important;color:#2c3b3c !important;opacity:.7 !important}

.ef-mod-task{margin:14px 0 !important;padding:18px !important;background:#fff !important;border:1px solid #97c748 !important;border-radius:10px !important}
.ef-mod-task h4{color:#2c3b3c !important;margin:0 0 8px !important}
.ef-mod-task-intro{color:#2c3b3c !important;margin:0 0 12px !important}
.ef-mod-task-list{list-style:none !important;padding:0 !important;margin:0 !important;display:flex !important;flex-direction:column !important;gap:6px !important}
.ef-mod-task-list li label{display:flex !important;align-items:flex-start !important;gap:10px !important;padding:10px 12px !important;background:#f5faec !important;border-radius:6px !important;cursor:pointer !important;color:#2c3b3c !important;transition:background .12s !important}
.ef-mod-task-list li label:hover{background:#f5faec !important;box-shadow:inset 0 0 0 1px #97c748 !important}
.ef-mod-task-cb{margin-top:3px !important;accent-color:#97c748 !important;width:18px !important;height:18px !important}
.ef-mod-task-cb:checked + span{text-decoration:line-through !important;opacity:.65 !important}
.ef-mod-task-prog{display:block !important;margin-top:10px !important;color:#2c3b3c !important;font-weight:700 !important}

.ef-mod-reflection{margin:14px 0 !important;padding:18px !important;background:#fff !important;border:1px solid #97c748 !important;border-radius:10px !important}
.ef-mod-reflection h4{color:#2c3b3c !important;margin:0 0 8px !important}
.ef-mod-refl-prompt{font-style:italic !important;color:#2c3b3c !important;margin:0 0 10px !important;padding:10px 14px !important;background:#f5faec !important;border-left:3px solid #97c748 !important;border-radius:4px !important}
.ef-mod-refl-text{width:100% !important;border:1.5px solid #2c3b3c !important;border-radius:8px !important;padding:12px !important;font-family:inherit !important;font-size:15px !important;resize:vertical !important;min-height:120px !important;color:#2c3b3c !important;background:#fff !important;box-sizing:border-box !important}
.ef-mod-refl-text:focus{outline:none !important;border-color:#97c748 !important;box-shadow:0 0 0 3px rgba(151,199,72,.25) !important}
.ef-mod-refl-meta{display:flex !important;justify-content:space-between !important;align-items:center !important;margin-top:6px !important;color:#2c3b3c !important;opacity:.85 !important;font-size:13px !important}
.ef-mod-refl-count.is-met span{color:#97c748 !important;font-weight:700 !important}
.ef-mod-refl-hint{display:block !important;margin-top:6px !important;color:#2c3b3c !important;opacity:.6 !important}

.ef-mod-iquiz{margin:14px 0 !important;padding:18px !important;background:#fff !important;border:1px solid #97c748 !important;border-radius:10px !important}
.ef-mod-iquiz h4{color:#2c3b3c !important;margin:0 0 8px !important}
.ef-mod-iquiz .ef-mod-iquiz-q{padding:14px 0 !important;border-bottom:1px solid #f5faec !important}
.ef-mod-iquiz .ef-mod-iquiz-q:last-of-type{border-bottom:0 !important}
.ef-mod-iquiz-text{color:#2c3b3c !important;margin:0 0 8px !important}
.ef-mod-iquiz-hint{color:#2c3b3c !important;opacity:.6 !important;margin-left:6px !important}
.ef-mod-iquiz-opt{display:flex !important;align-items:center !important;gap:10px !important;padding:8px 12px !important;border:1px solid #2c3b3c !important;border-radius:6px !important;margin:4px 0 !important;cursor:pointer !important;background:#fff !important;color:#2c3b3c !important}
.ef-mod-iquiz-opt:hover{background:#f5faec !important;border-color:#97c748 !important}
.ef-mod-iquiz-opt input{accent-color:#97c748 !important}
.ef-mod-iquiz-opt.is-correct{background:#97c748 !important;color:#2c3b3c !important;border-color:#97c748 !important}
.ef-mod-iquiz-opt.is-correct span{font-weight:700 !important}
.ef-mod-iquiz-opt.is-wrong{background:#fff !important;color:#2c3b3c !important;border-color:#2c3b3c !important;text-decoration:line-through !important;opacity:.7 !important}
.ef-mod-iquiz-opt.is-missed{background:#f5faec !important;color:#2c3b3c !important;border:2px dashed #97c748 !important}
.ef-mod-iquiz-feedback{margin-top:8px !important;padding:8px 12px !important;border-radius:6px !important;background:#f5faec !important;color:#2c3b3c !important;font-size:14px !important;border-left:3px solid #97c748 !important}
.ef-mod-iquiz-result{margin-top:14px !important;padding:14px !important;border-radius:8px !important;font-weight:700 !important;text-align:center !important;background:#2c3b3c !important;color:#fff !important}
.ef-mod-iquiz-result.is-pass{background:#97c748 !important;color:#2c3b3c !important}
.ef-mod-iquiz-check{margin-top:12px !important}
