:root{--red:#d40f14;--red-dark:#ad0b10;--ink:#242424;--muted:#666;--soft:#f7f7f5;--line:#e8e6e2;--warm:#f4c84a;--white:#fff;--radius:16px;--shadow:0 10px 30px rgba(0,0,0,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.55}a{color:inherit}.mf-container{width:min(1180px,calc(100% - 40px));margin:auto}.mf-narrow{max-width:900px}.mf-header{background:#fff;border-bottom:1px solid rgba(0,0,0,.05);position:relative;z-index:10}.mf-header-inner{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}.mf-brand img,.custom-logo{display:block;width:auto;max-width:245px;max-height:58px}.mf-header-actions{display:flex;align-items:center;gap:28px}.mf-question{font-size:14px}.mf-question a{text-decoration:none;font-weight:700}.mf-btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:var(--red);color:#fff!important;text-decoration:none;border:0;border-radius:11px;padding:15px 24px;font-weight:800;line-height:1.2;cursor:pointer;transition:.18s ease;font-size:16px}.mf-btn:hover{background:var(--red-dark);transform:translateY(-1px)}.mf-btn-small{padding:13px 19px;font-size:14px}.mf-btn-full{width:100%;margin-top:8px}.mf-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.mf-hero{padding:66px 0 36px;background:linear-gradient(180deg,#fff 0%,#fff 80%,#fbfaf8 100%);overflow:hidden}.mf-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:58px;align-items:center}.mf-eyebrow,.mf-step{text-transform:uppercase;letter-spacing:.03em;color:var(--red);font-size:14px;font-weight:900;margin:0 0 12px}.mf-hero h1{font-size:clamp(42px,5vw,64px);line-height:1.02;letter-spacing:-.035em;margin:0 0 23px;max-width:700px}.mf-lead{font-size:20px;max-width:600px;color:#454545;margin:0 0 25px}.mf-checks{list-style:none;padding:0;margin:0 0 29px;display:flex;flex-wrap:wrap;gap:14px 26px}.mf-checks li{font-weight:650;font-size:15px}.mf-checks li:before{content:'✓';display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--red);color:#fff;margin-right:8px;font-size:12px}.mf-hero-media{position:relative}.mf-hero-media:before{content:'♪';position:absolute;z-index:2;left:-28px;top:-28px;color:var(--warm);font-size:65px;transform:rotate(-8deg)}.mf-hero-media img{display:block;width:100%;height:480px;object-fit:cover;border-radius:80px 18px 80px 18px;box-shadow:var(--shadow)}.mf-booking{padding:58px 0 82px;background:var(--soft)}.mf-booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}.mf-selector-panel{padding:18px 10px 0}.mf-selector-panel h2,.mf-form-card h2,.mf-benefits h2,.mf-experience h2,.mf-faq h2,.mf-final-cta h2{font-size:clamp(28px,3vw,38px);letter-spacing:-.025em;line-height:1.12;margin:0 0 15px}.mf-selector-panel>p:not(.mf-step){color:var(--muted);max-width:560px}.mf-label{display:block;margin:28px 0 8px;font-weight:800}.mf-select{appearance:none;width:100%;height:58px;padding:0 48px 0 17px;border:1.5px solid #e6a8aa;border-radius:11px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23d40f14' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center;font-size:16px}.mf-trial-card{margin-top:20px;background:#fff;border:1.5px solid #e8c865;border-radius:14px;padding:20px;display:grid;grid-template-columns:auto 1fr;gap:15px;box-shadow:0 8px 20px rgba(0,0,0,.04)}.mf-calendar-icon,.mf-line-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff4ca;color:var(--red);font-weight:900;font-size:22px}.mf-trial-card h3{margin:1px 0 2px;font-size:20px}.mf-muted{color:var(--muted);margin:0}.mf-teacher{margin:9px 0 0;font-size:14px;color:#555}.mf-teacher span{color:var(--muted)}.mf-date{margin:13px 0}.mf-mini-benefits{display:flex;flex-wrap:wrap;gap:7px 15px;font-size:12px;color:#555}.mf-mini-benefits span:before{content:'•';color:var(--red);margin-right:6px}.mf-empty{background:#fff;border:1px dashed #d9d4cc;border-radius:12px;padding:20px;margin-top:24px;color:#555}.mf-form-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:28px 30px}.mf-form-card h2{font-size:26px}.mf-form label{display:block;font-size:13px;font-weight:700;margin-bottom:13px}.mf-form label span{color:var(--red)}.mf-form input{display:block;width:100%;height:50px;border:1px solid #d8d8d8;border-radius:9px;margin-top:7px;padding:0 13px;font:inherit;background:#fff}.mf-form input:focus,.mf-select:focus{outline:3px solid rgba(212,15,20,.12);border-color:var(--red)}.mf-fields-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.mf-form-section{font-size:13px;font-weight:900;margin:19px 0 9px}.mf-selected{background:#faf9f7;border-radius:10px;padding:11px 13px;color:#666;font-size:14px;margin-bottom:16px}.mf-privacy-note{font-size:12px!important;text-align:center;color:#666!important;margin:12px 0 0}.mf-privacy-note a{text-decoration:underline}.mf-hp{position:absolute!important;left:-99999px!important;opacity:0!important}.mf-notice{padding:12px 14px;border-radius:9px;margin:0 0 14px;font-size:14px}.mf-success{background:#edf8ef;color:#205d2a}.mf-error{background:#fff0f0;color:#8d1217}.mf-benefits{padding:76px 0}.mf-benefits h2{text-align:center}.mf-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}.mf-card-grid article{border:1px solid var(--line);border-radius:14px;padding:24px;background:#fff;box-shadow:0 7px 24px rgba(0,0,0,.045)}.mf-card-grid h3{font-size:18px;margin:15px 0 7px}.mf-card-grid p{margin:0;color:#555}.mf-experience{padding:70px 0;background:#fff}.mf-experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center}.mf-experience img{width:100%;height:380px;object-fit:cover;border-radius:18px}.mf-music-list{display:grid;grid-template-columns:1fr 1fr;gap:9px 22px;list-style:none;padding:0;margin:24px 0 0}.mf-music-list li:before{content:'♫';color:var(--red);margin-right:9px}.mf-faq{padding:75px 0;background:var(--soft)}.mf-faq h2{text-align:center;margin-bottom:28px}.mf-faq details{background:#fff;border:1px solid var(--line);border-radius:10px;margin:10px 0;padding:0 18px;box-shadow:0 4px 12px rgba(0,0,0,.025)}.mf-faq summary{cursor:pointer;font-weight:750;padding:16px 0}.mf-faq details p{margin:0;padding:0 0 17px;color:#555}.mf-final-cta{background:var(--red);color:#fff;padding:38px 0;overflow:hidden;position:relative}.mf-final-cta:after{content:'♫';position:absolute;right:5%;top:-25px;font-size:150px;opacity:.09}.mf-final-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.mf-final-cta h2{margin:0 0 8px}.mf-final-cta p{margin:0;opacity:.92}.mf-btn-light{background:#fff;color:var(--red)!important}.mf-btn-light:hover{background:#fff4f4}.mf-footer{padding:45px 0 80px;background:#fff}.mf-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.mf-footer img{max-width:230px;height:auto}.mf-footer p{color:#666}.mf-footer a{text-decoration:none}.mf-basic{padding:70px 0}.mf-basic img{max-width:100%;height:auto}
@media(max-width:900px){.mf-header-inner{min-height:72px}.mf-question{display:none}.mf-brand img,.custom-logo{max-width:190px;max-height:47px}.mf-header-actions .mf-btn{display:none}.mf-hero{padding-top:38px}.mf-hero-grid,.mf-booking-grid,.mf-experience-grid{grid-template-columns:1fr}.mf-hero-grid{gap:32px}.mf-hero-media img{height:360px;border-radius:55px 16px}.mf-booking-grid{gap:28px}.mf-selector-panel{padding:0}.mf-card-grid{grid-template-columns:1fr}.mf-experience-grid{gap:30px}.mf-footer-grid{grid-template-columns:1fr 1fr}.mf-footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:600px){.mf-container{width:min(100% - 28px,1180px)}.mf-hero h1{font-size:40px}.mf-lead{font-size:18px}.mf-checks{display:grid;gap:9px}.mf-hero-media img{height:290px}.mf-booking{padding:46px 0 58px}.mf-form-card{padding:22px 18px}.mf-fields-2,.mf-music-list{grid-template-columns:1fr}.mf-card-grid{gap:13px}.mf-experience img{height:270px}.mf-final-inner{align-items:flex-start;flex-direction:column}.mf-footer-grid{grid-template-columns:1fr}.mf-footer-grid>div:first-child{grid-column:auto}.mf-btn{width:100%}.mf-hero-copy>.mf-btn{width:auto}.mf-btn-small{width:auto}}

/* v2.2 – Lehrkraft in Termin- und Formular-Zusammenfassung */
.mf-teacher[hidden]{display:none!important}
.mf-teacher:not([hidden]){display:block}
.mf-summary-teacher{display:inline-block;margin-top:4px;color:#555}

/* v2.3 – Platzstatus in Termin- und Formular-Zusammenfassung */
.mf-availability-row{margin:8px 0 0;font-size:14px;color:#555}
.mf-availability-row[hidden]{display:none!important}
.mf-availability-badge{display:inline-block;margin-left:5px;padding:3px 9px;border-radius:999px;font-size:12px;line-height:1.45;font-weight:800;background:#f1f1f1;color:#454545;vertical-align:middle}
.mf-availability-available{background:#eaf7ed;color:#236b32}
.mf-availability-limited{background:#fff4cf;color:#725600}
.mf-availability-few{background:#fff0d9;color:#934b00}
.mf-availability-full{background:#fde8e8;color:#9b1c1c}
.mf-summary-availability{display:inline-block;margin-top:6px;color:#555}
.mf-summary-availability .mf-availability-badge{margin-left:5px}

/* v2.9 – deutlicher, ablenkungsfreier Erfolgszustand */
.mf-booking-success{padding:72px 0;background:#edf8ef}
.mf-success-panel{max-width:760px;margin:0 auto;background:#f2fbf4;border:2px solid #69b977;border-radius:20px;padding:42px 38px;text-align:center;box-shadow:0 14px 35px rgba(35,116,55,.12);color:#174d25}
.mf-success-icon{width:76px;height:76px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:#24863b;color:#fff;font-size:42px;font-weight:900;line-height:1;box-shadow:0 8px 20px rgba(36,134,59,.22)}
.mf-success-kicker{margin:0 0 8px;text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:900;color:#24863b}
.mf-success-panel h2{margin:0 0 14px;font-size:clamp(30px,4vw,42px);line-height:1.1;color:#174d25}
.mf-success-lead{font-size:19px;font-weight:700;margin:0 auto 12px;max-width:620px}
.mf-success-panel>p:not(.mf-success-kicker):not(.mf-success-lead){max-width:620px;margin:0 auto;color:#315d3b}
.mf-success-note{display:inline-block;margin-top:24px;padding:12px 16px;border-radius:10px;background:#dff3e4;color:#174d25;font-weight:800}
@media(max-width:600px){.mf-booking-success{padding:48px 0}.mf-success-panel{padding:32px 20px;border-radius:16px}.mf-success-icon{width:66px;height:66px;font-size:36px}.mf-success-lead{font-size:17px}}

/* v2.14.0: Rückwege nach Anmeldung sowie auf Inhalts-/Rechtsseiten */
.mf-success-actions{margin-top:26px;display:flex;justify-content:center}
.mf-basic-header .mf-header-inner{min-height:86px}
.mf-basic{min-height:55vh;padding:58px 0 76px;background:#fff}
.mf-basic-content{background:#fff}
.mf-basic-content h1{font-size:clamp(34px,4vw,48px);line-height:1.08;letter-spacing:-.025em;margin:0 0 28px}
.mf-basic-content h2,.mf-basic-content h3{line-height:1.2;margin-top:32px}
.mf-basic-content p,.mf-basic-content li{max-width:850px}
.mf-basic-back{margin-top:42px!important}
@media(max-width:600px){.mf-basic-header .mf-header-inner{align-items:center}.mf-basic-header .mf-btn-small{width:auto;padding:11px 14px;font-size:13px}.mf-success-actions .mf-btn{width:auto}.mf-basic{padding:42px 0 58px}}

/* v2.14.2: Wartelisten-Hinweis bei ausgebuchten Schnupperstunden */
.mf-waitlist-notice{margin:0 0 18px;padding:14px 16px;border:1px solid #e8c865;border-radius:10px;background:#fff7d8;color:#5d4900;font-size:14px;font-weight:700;line-height:1.5}
.mf-waitlist-notice[hidden]{display:none!important}
