/* =====================================================================
   Good Mom Bad Mom – Mitgliederbereich (Vorschau)
   Nutzt dieselben Fonts/Farben wie die Hauptseite (src/css/style.css)
   ===================================================================== */

@font-face{font-family:'Poppins';src:url('../assets/fonts/Poppins/Poppins-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Poppins';src:url('../assets/fonts/Poppins/Poppins-Medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:'Poppins';src:url('../assets/fonts/Poppins/Poppins-SemiBold.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:'Poppins';src:url('../assets/fonts/Poppins/Poppins-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:'Poppins';src:url('../assets/fonts/Poppins/Poppins-ExtraBold.ttf') format('truetype');font-weight:800;font-display:swap}
@font-face{font-family:'Poppins';src:url('../assets/fonts/Poppins/Poppins-Black.ttf') format('truetype');font-weight:900;font-display:swap}
@font-face{font-family:'Birthstone';src:url('../assets/fonts/Birthstone/Birthstone-Regular.ttf') format('truetype');font-weight:400;font-display:swap}

:root{
  --rose:#DBA19C; --rose-soft:#FCF0EF; --red:#BA504B; --cream:#FFFAF7;
  --ink:#191416; --muted:#6F6265; --line:#ecd2ce;
  --shadow:0 18px 45px rgba(70,35,45,.10);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Poppins',sans-serif;background:var(--cream);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.script{font-family:'Birthstone',cursive;color:var(--red);font-weight:400}

/* ---------- Top-Banner (Mitgliederbereich) ---------- */
.member-banner{background:linear-gradient(115deg,var(--rose) 0%,var(--red) 100%);color:#fff;text-align:center;padding:11px 20px;font-size:.85rem;font-weight:500;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}
.member-banner a{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.5);padding:6px 16px;border-radius:999px;text-decoration:none;font-weight:600;font-size:.8rem;white-space:nowrap}
.member-banner a:hover{background:rgba(255,255,255,.28)}

/* ---------- Mitglieder-Header ---------- */
.member-header{position:sticky;top:0;z-index:100;background:rgba(255,250,247,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.member-header-inner{max-width:1160px;margin:0 auto;padding:.85rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.member-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none}
.member-logo img{height:50px;width:auto;mix-blend-mode:multiply}
.member-nav{display:flex;align-items:center;gap:.3rem;list-style:none;flex-wrap:wrap}
.member-nav a{position:relative;display:inline-block;padding:.5rem .85rem;text-decoration:none;color:var(--muted);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;border-radius:999px;transition:background .2s ease,color .2s ease}
.member-nav a:hover{color:var(--ink);background:var(--rose-soft)}
.member-nav a.active{color:#fff;background:var(--red)}
.member-user{position:relative}
.member-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--rose),var(--red));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;cursor:pointer;box-shadow:0 6px 16px rgba(186,80,75,.28);border:2px solid #fff}
.member-dropdown{position:absolute;right:0;top:calc(100% + 10px);background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);min-width:200px;padding:10px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:all .18s ease;z-index:50}
.member-user:hover .member-dropdown,.member-user:focus-within .member-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.member-dropdown .who{padding:8px 12px 10px;border-bottom:1px solid var(--rose-soft);margin-bottom:6px}
.member-dropdown .who strong{display:block;font-size:.9rem}
.member-dropdown .who span{font-size:.76rem;color:var(--muted)}
.member-dropdown a{display:block;padding:9px 12px;border-radius:10px;font-size:.85rem;text-decoration:none;color:var(--ink);font-weight:500}
.member-dropdown a:hover{background:var(--rose-soft);color:var(--red)}
.member-dropdown a.logout{color:var(--red)}

/* ---------- Hero (Meine Kurse) ---------- */
.member-hero{position:relative;overflow:hidden;background:linear-gradient(120deg,var(--rose) 0%,#c9776f 45%,var(--red) 100%);color:#fff;padding:64px 24px}
.member-hero::before{content:"";position:absolute;top:-120px;right:-100px;width:340px;height:340px;border-radius:50%;background:rgba(255,255,255,.12)}
.member-hero::after{content:"";position:absolute;bottom:-160px;left:-90px;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,.08)}
.member-hero-inner{position:relative;z-index:1;max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:2rem}
.member-hero h1{font-size:clamp(2rem,4.5vw,3rem);font-weight:800;margin-bottom:.4rem}
.member-hero .script{color:#fff;font-size:clamp(1.6rem,3.5vw,2.3rem);display:block;margin-bottom:.6rem;opacity:.95}
.member-hero p{color:rgba(255,255,255,.9);font-size:1.02rem;max-width:34rem}
.member-hero-figure{justify-self:center;position:relative;max-width:260px;width:100%}
.member-hero-figure img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:50% 16px 16px 16px/40% 16px 16px 16px;filter:grayscale(.25) brightness(1.05);opacity:.9;box-shadow:0 30px 60px rgba(0,0,0,.2)}

/* ---------- Weiter-Karte ---------- */
.continue-wrap{max-width:1160px;margin:-42px auto 0;padding:0 24px;position:relative;z-index:2}
.continue-card{background:#fff;border:1.5px solid var(--rose);border-radius:22px;box-shadow:var(--shadow);padding:22px 26px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.continue-card .eyebrow{display:block;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin-bottom:6px}
.continue-card .txt{flex:1;min-width:200px}
.continue-card .txt h3{font-size:1.05rem;font-weight:700;margin-bottom:2px}
.continue-card .txt p{font-size:.86rem;color:var(--muted)}
.continue-card .thumb{width:74px;height:56px;border-radius:12px;flex:none;background:linear-gradient(135deg,var(--rose),var(--red));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:.7rem;text-align:center;line-height:1.2;padding:4px}
.continue-card .btn-small{flex:none;display:inline-block;background:var(--ink);color:#fff;font-weight:600;font-size:.85rem;padding:11px 22px;border-radius:999px;text-decoration:none;transition:background .2s ease}
.continue-card .btn-small:hover{background:#000}

/* ---------- Kurs-Grid ---------- */
.courses-section{max-width:1160px;margin:0 auto;padding:64px 24px 110px}
.courses-section h2{font-size:1.6rem;font-weight:800;margin-bottom:28px}
.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:26px}
.course-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease;text-decoration:none;color:inherit}
.course-card:hover{transform:translateY(-6px);box-shadow:0 26px 60px rgba(70,35,45,.16)}
.course-thumb{aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;text-align:center;padding:22px;color:#fff;font-weight:800;font-size:1.1rem;line-height:1.25;letter-spacing:.01em;position:relative}
.course-thumb.rose{background:linear-gradient(135deg,var(--rose) 0%,var(--red) 100%)}
.course-thumb.ink{background:linear-gradient(135deg,#3a2f31 0%,var(--ink) 100%)}
.course-thumb span{position:relative;z-index:1}
.course-thumb .hashtag{display:block;font-size:.75rem;font-weight:700;letter-spacing:.14em;opacity:.85;margin-bottom:4px}
.course-body{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1}
.course-body h3{font-size:1.05rem;font-weight:700;margin-bottom:8px;line-height:1.35}
.course-body p{font-size:.86rem;color:var(--muted);line-height:1.6;flex:1;margin-bottom:16px}
.course-progress{margin-bottom:16px}
.progress-track{width:100%;height:7px;border-radius:999px;background:var(--rose-soft);overflow:hidden}
.progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--rose),var(--red))}
.progress-label{font-size:.74rem;color:var(--muted);margin-top:6px;display:block}
.course-btn{display:inline-block;text-align:center;background:var(--red);color:#fff;font-weight:600;font-size:.88rem;padding:12px 20px;border-radius:999px;text-decoration:none;transition:background .2s ease}
.course-btn:hover{background:#a2423e}

/* ---------- Gesperrte Kurse ---------- */
.locked-banner{border-color:var(--line);background:var(--rose-soft)}
.locked-thumb{background:linear-gradient(135deg,#cfc3c4,#a79a9b);font-size:1.5rem}
.course-card.locked{cursor:default}
.course-card.locked:hover{transform:none;box-shadow:var(--shadow)}
.course-card.locked .course-thumb{filter:grayscale(.35)}
.lock-overlay{position:absolute;inset:0;background:rgba(25,20,22,.42);display:flex;align-items:center;justify-content:center;z-index:2}
.lock-icon{font-size:2.1rem;filter:drop-shadow(0 4px 10px rgba(0,0,0,.35))}
.locked-badge{display:inline-block;align-self:flex-start;background:#fff;border:1px solid var(--line);color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.03em;padding:5px 12px;border-radius:999px;margin-bottom:12px}
.course-price{font-size:.95rem;font-weight:700;margin-bottom:16px}
.course-price s{color:var(--muted);font-weight:500;margin-right:8px}
.course-price strong{color:var(--red);font-size:1.05rem}
.course-btn.unlock{background:linear-gradient(115deg,var(--rose) 0%,var(--red) 100%);box-shadow:0 10px 24px rgba(186,80,75,.28)}
.course-btn.unlock:hover{background:linear-gradient(115deg,var(--rose) 0%,var(--red) 100%);transform:translateY(-2px)}

/* ---------- Login-Seite ---------- */
.auth-page{min-height:100vh;display:flex;flex-direction:column}
.auth-wrap{flex:1;display:flex;align-items:center;justify-content:center;padding:48px 20px;background:radial-gradient(900px 480px at 15% -10%,var(--rose-soft) 0%,rgba(252,240,239,0) 60%),radial-gradient(800px 440px at 100% 110%,var(--rose-soft) 0%,rgba(252,240,239,0) 60%),var(--cream)}
.auth-card{width:100%;max-width:420px;background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);padding:44px 38px}
.auth-logo{display:flex;justify-content:center;margin-bottom:22px}
.auth-logo img{height:52px;mix-blend-mode:multiply}
.auth-eyebrow{display:block;text-align:center;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin-bottom:10px}
.auth-card h1{font-size:1.55rem;font-weight:800;text-align:center;margin-bottom:8px;line-height:1.3}
.auth-card .sub{text-align:center;color:var(--muted);font-size:.9rem;margin-bottom:30px;line-height:1.6}
.form-field{margin-bottom:18px}
.form-field label{display:block;font-size:.78rem;font-weight:600;color:var(--ink);margin-bottom:7px}
.form-field input{width:100%;padding:13px 15px;border:1.5px solid var(--line);border-radius:12px;font-family:'Poppins',sans-serif;font-size:.92rem;color:var(--ink);background:#fff;transition:border-color .2s ease}
.form-field input:focus{outline:none;border-color:var(--rose)}
.form-forgot{display:block;text-align:right;font-size:.8rem;color:var(--red);text-decoration:none;margin:-8px 0 22px;font-weight:500}
.form-forgot:hover{text-decoration:underline}
.btn-auth{display:block;width:100%;text-align:center;padding:14px;border-radius:999px;background:linear-gradient(115deg,var(--rose) 0%,var(--red) 100%);color:#fff;font-weight:700;font-size:.98rem;text-decoration:none;box-shadow:0 12px 30px rgba(186,80,75,.32);transition:transform .2s ease,box-shadow .2s ease;border:none;cursor:pointer;font-family:'Poppins',sans-serif}
.btn-auth:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(186,80,75,.4)}
.btn-auth:disabled{opacity:.7;cursor:default;transform:none}

/* ---------- Status-Meldungen ---------- */
.error-text{background:#fdecea;border:1px solid #e8b4ae;color:#9a2f27;font-size:.85rem;padding:12px 14px;border-radius:12px;margin-bottom:18px;line-height:1.5}
.success-text{background:var(--rose-soft);border:1px solid var(--rose);color:var(--ink);font-size:.85rem;padding:12px 14px;border-radius:12px;margin-bottom:18px;line-height:1.5}
.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:gmbm-spin .7s linear infinite;vertical-align:-3px;margin-right:8px}
@keyframes gmbm-spin{to{transform:rotate(360deg)}}
.auth-note{margin-top:26px;background:var(--rose-soft);border:1px dashed var(--rose);border-radius:16px;padding:16px 18px;font-size:.82rem;color:var(--muted);line-height:1.65}
.auth-note strong{color:var(--ink)}
.auth-switch{text-align:center;margin-top:22px;font-size:.85rem;color:var(--muted)}
.auth-switch a{color:var(--red);font-weight:600;text-decoration:none}
.auth-switch a:hover{text-decoration:underline}
.req-list{list-style:none;margin:10px 0 0;display:flex;flex-direction:column;gap:6px}
.req-list li{font-size:.8rem;color:var(--muted);display:flex;align-items:center;gap:8px}
.req-list li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--rose);flex:none}

/* ---------- Kurs-Detailseite ---------- */
.course-hero{position:relative;overflow:hidden;background:linear-gradient(120deg,var(--rose) 0%,#c9776f 45%,var(--red) 100%);color:#fff;padding:56px 24px}
.course-hero-inner{max-width:1160px;margin:0 auto;text-align:center}
.course-hero .crumb{display:block;font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;opacity:.85;margin-bottom:14px}
.course-hero .crumb a{color:#fff;text-decoration:none}
.course-hero .crumb a:hover{text-decoration:underline}
.course-hero h1{font-size:clamp(1.7rem,4vw,2.5rem);font-weight:800;margin-bottom:22px}
.course-hero .btn-cta-dark{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:#fff;font-weight:700;font-size:.92rem;padding:15px 28px;border-radius:999px;text-decoration:none;box-shadow:0 14px 30px rgba(0,0,0,.28);transition:transform .2s ease}
.course-hero .btn-cta-dark:hover{transform:translateY(-2px);background:#000}

.detail-layout{max-width:1160px;margin:0 auto;padding:56px 24px 110px;display:grid;grid-template-columns:1fr 320px;gap:36px;align-items:start}
.module-group{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:26px 28px;margin-bottom:24px}
.module-group h2{font-size:1.02rem;font-weight:700;margin-bottom:18px;display:flex;align-items:center;gap:10px}
.module-group h2::before{content:"»";color:var(--red)}
.lesson-item{display:flex;gap:16px;align-items:flex-start;padding:16px 0;border-top:1px dashed var(--line)}
.lesson-item:first-of-type{border-top:none;padding-top:0}
.lesson-thumb{flex:none;width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,var(--rose),var(--red));display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.3rem}
.lesson-thumb.locked{background:linear-gradient(135deg,#cfc3c4,#a79a9b)}
.lesson-txt{flex:1;min-width:0}
.lesson-txt strong{display:block;font-size:.95rem;font-weight:700;margin-bottom:3px}
.lesson-txt p{font-size:.84rem;color:var(--muted);line-height:1.6}

.lesson-script{margin-top:12px}
.lesson-script summary{cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600;color:var(--red);background:var(--rose-soft);border:1px solid var(--rose);border-radius:999px;padding:7px 16px;list-style:none;transition:background .2s ease}
.lesson-script summary::-webkit-details-marker{display:none}
.lesson-script summary:hover{background:var(--rose)}
.lesson-script .script-body{margin-top:14px;background:var(--rose-soft);border:1px dashed var(--rose);border-radius:16px;padding:20px 22px;font-size:.86rem;color:var(--ink);line-height:1.75}
.lesson-script .script-body h4{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--red);margin:16px 0 6px}
.lesson-script .script-body h4:first-child{margin-top:0}
.lesson-script .script-body p{margin-bottom:10px}
.lesson-script .script-body ol{margin:0 0 10px 20px}
.lesson-script .script-body li{margin-bottom:6px}
.lesson-script .script-body table{width:100%;border-collapse:collapse;margin:10px 0;font-size:.8rem}
.lesson-script .script-body th,.lesson-script .script-body td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.lesson-script .script-body th{background:#fff;font-weight:700}
.lesson-script .script-body tr.example-row td{color:var(--muted);font-style:italic;font-size:.78rem;background:#fff}
.lesson-script .script-body .ws-question{font-weight:600;font-size:.82rem;color:var(--ink);margin-bottom:6px}
.lesson-script .script-body textarea.ws-field{width:100%;min-width:110px;border:1.5px solid var(--line);border-radius:10px;padding:8px 10px;font-family:'Poppins',sans-serif;font-size:.8rem;color:var(--ink);line-height:1.5;resize:none;overflow:hidden;background:#fff;transition:border-color .2s ease}
.lesson-script .script-body textarea.ws-field:focus{outline:none;border-color:var(--rose)}
.lesson-script .script-body > textarea.ws-field{margin-bottom:14px}

.sidebar-card{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);overflow:hidden;position:sticky;top:90px}
.sidebar-thumb{aspect-ratio:16/10;background:linear-gradient(135deg,var(--rose),var(--red));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;text-align:center;padding:20px}
.sidebar-body{padding:22px 22px 26px}
.sidebar-progress-label{display:flex;justify-content:space-between;font-size:.8rem;color:var(--muted);margin-bottom:8px}
.mentor{margin-top:24px;padding-top:22px;border-top:1px solid var(--rose-soft);text-align:center}
.mentor .kicker{display:block;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:14px}
.mentor img{width:76px;height:76px;border-radius:50%;object-fit:cover;margin:0 auto 12px;border:3px solid #fff;box-shadow:var(--shadow)}
.mentor strong{display:block;font-size:.98rem}
.mentor p{font-size:.83rem;color:var(--muted);margin-top:8px;line-height:1.6}

/* ---------- Footer ---------- */
.member-footer{background:linear-gradient(180deg,var(--rose-soft),#fff);border-top:1px solid var(--line);color:var(--ink);padding:48px 24px 0;margin-top:auto}
.member-footer-inner{max-width:1140px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;padding-bottom:32px}
.member-footer img{height:40px;mix-blend-mode:multiply}
.member-footer nav{display:flex;gap:18px;flex-wrap:wrap}
.member-footer a{color:#4b4042;text-decoration:none;font-size:.86rem}
.member-footer a:hover{color:var(--red)}
.footer-bottom{border-top:1px solid var(--line);padding:16px 0;text-align:center}
.footer-bottom p{font-size:.8rem;color:var(--muted)}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .member-hero-inner{grid-template-columns:1fr;text-align:center}
  .member-hero-figure{display:none}
  .detail-layout{grid-template-columns:1fr}
  .sidebar-card{position:static}
}
@media (max-width:640px){
  .member-header-inner{flex-wrap:wrap;gap:.6rem}
  .member-nav{gap:0;font-size:.7rem}
  .member-nav a{padding:.45rem .6rem;font-size:.68rem}
  .continue-card{padding:18px}
  .auth-card{padding:34px 26px}
}
