.rsfb{--blue:#086df1;--navy:#101e42;--muted:#60718d;--pale:#eff7ff;font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--navy);background:#fff;width:min(100%,620px);margin:0 auto;scroll-margin-top:75px}.rsfb *{box-sizing:border-box}.rsfb [hidden]{display:none!important}.rsfb h2,.rsfb p{margin:0}.rsfb h2{font-size:clamp(24px,5vw,35px);line-height:1.14;letter-spacing:-.75px;font-weight:800}.rsfb button,.rsfb input{font:inherit}.rsfb button{cursor:pointer}.rsfb .rsfb-landing{padding:20px;background:linear-gradient(130deg,#edf7ff,#fff 60%);border:1px solid #e7effb;border-radius:18px;box-shadow:0 10px 26px #1434530d}.rsfb-intro p{color:#3f526f;margin:10px 0 16px;max-width:40ch}.rsfb-team{display:block;width:100%;height:200px;object-fit:cover;object-position:50% 36%;border-radius:13px;margin-bottom:14px}.rsfb-meeting{display:flex;gap:13px;align-items:center;background:#fff;border:1px solid #dbeaf9;border-radius:13px;padding:13px;margin-bottom:13px}.rsfb-meeting strong{display:block;font-size:17px}.rsfb-meeting small{font-size:12px;color:var(--muted)}.rsfb-icon{display:inline-grid;place-items:center;width:43px;height:43px;border-radius:50%;background:#e1f1ff;color:var(--blue);font-size:23px;flex-shrink:0}.rsfb-primary{border:0;border-radius:9px;padding:14px 18px;min-height:48px;background:#0870f6;color:#fff!important;font-weight:700;display:flex;justify-content:center;align-items:center;gap:9px;box-shadow:0 7px 18px #0570f31a}.rsfb-primary:hover{background:#045bcf}.rsfb-landing>.rsfb-primary,.rsfb-step>.rsfb-primary,.rsfb-success>.rsfb-primary{width:100%}.rsfb-flow,.rsfb-success{padding:22px;background:#fff;border-radius:18px;border:1px solid #e4edf7;box-shadow:0 10px 28px #1434530b}.rsfb-progress{display:flex;justify-content:space-between;position:relative;margin:0 5px 33px;gap:4px}.rsfb-progress:before{content:"";position:absolute;top:16px;left:7%;right:7%;height:2px;background:#dce6f5}.rsfb-progress>span{z-index:1;text-align:center;background:#9caac1;border-radius:50%;width:33px;height:33px;padding-top:4px;font-size:16px;color:#fff;font-weight:750}.rsfb-progress>span.active{background:var(--blue)}.rsfb-progress small{display:block;position:relative;left:50%;transform:translateX(-50%);width:72px;color:#5b6c84;font-weight:550;font-size:10px;line-height:1.2;margin-top:8px}.rsfb-step h2{display:flex;align-items:center;gap:10px;font-size:25px}.rsfb-step h2 .rsfb-icon{font-size:23px}.rsfb-muted{color:var(--muted);font-size:14px;margin:9px 0 20px!important}.rsfb-choices{display:grid;gap:12px;margin:20px 0}.rsfb-choice{display:flex;align-items:center;gap:10px;border:1px solid #dce7f3;border-radius:12px;padding:15px 12px;min-height:80px;cursor:pointer}.rsfb-choice.selected{border:2px solid var(--blue);background:#f5faff}.rsfb-choice input{accent-color:var(--blue);width:18px;height:18px;margin:0}.rsfb-choice>span:nth-child(2){flex:1}.rsfb-choice strong,.rsfb-choice small{display:block}.rsfb-choice small{color:var(--muted);font-size:12px}.rsfb-amount{text-align:right;white-space:nowrap}.rsfb-amount b{color:var(--blue);font-size:20px}.rsfb-amount small{text-decoration:line-through}.rsfb-info{background:#f0f7fe;border-radius:11px;padding:14px;margin:12px 0;color:#283c5e;font-size:14px}.rsfb-info strong{font-size:15px;display:block;color:#152849}.rsfb-info small{display:block;color:#60718d;margin-top:7px}.rsfb-sale{background:#fff0f1}.rsfb-sale strong{color:#d21b33}.rsfb-step>.rsfb-primary{margin-top:20px}.rsfb-nav{display:flex;gap:9px;margin-top:23px}.rsfb-nav>.rsfb-primary{flex:1}.rsfb-secondary{border:1px solid #d5e0f0;background:#f7f9fc;color:#243b5e;border-radius:9px;padding:12px 13px}.rsfb-month{display:flex;align-items:center;justify-content:space-between;padding:10px 0}.rsfb-month button{border:1px solid #dde6f2;background:#fff;border-radius:50%;width:35px;height:35px;color:#27405c;font-size:25px;line-height:1}.rsfb-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;border:1px solid #e5edf7;padding:10px 5px;border-radius:13px}.rsfb-calendar .weekday{text-align:center;font-size:11px;color:#64758b;padding:7px 0}.rsfb-calendar button{aspect-ratio:1;border:0;background:#eaf5ff;color:#075cce;border-radius:50%;padding:0;min-width:0;font-size:13px;font-weight:650}.rsfb-calendar button.selected,.rsfb-times button.selected{background:var(--blue);color:#fff;border-color:var(--blue)}.rsfb-calendar button:disabled{background:transparent;color:#b9c3d0;cursor:default}.rsfb-times{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.rsfb-times button{background:#fff;border:1px solid #dce7f2;border-radius:8px;padding:11px 6px;color:#294365}.rsfb-status{font-size:13px;color:#a34515;margin:8px 0!important;min-height:20px}.rsfb-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rsfb-fields label{font-size:13px;font-weight:650;color:#233453}.rsfb-fields label.wide{grid-column:span 2}.rsfb-fields input{display:block;width:100%;margin-top:5px;border-radius:8px;border:1px solid #d3dfed;background:white;padding:10px 12px;min-height:45px;color:#122749}.rsfb-fields input:focus{outline:2px solid #87bfff;outline-offset:1px}.rsfb-consent{display:flex;align-items:start;gap:9px;font-size:13px;margin-top:18px}.rsfb-consent input{margin-top:3px;accent-color:var(--blue)}.rsfb-total{font-size:23px;color:var(--blue);font-weight:800}.rsfb-info [data-review-person]{white-space:pre-line}.rsfb-success{text-align:center}.rsfb-success-mark{margin:15px auto 20px;background:#e0f8ed;color:#0ba77d;display:grid;place-items:center;width:82px;height:82px;border-radius:50%;font-size:47px}.rsfb-success>.rsfb-info{text-align:left;margin:24px 0}.rsfb-success>p{color:var(--muted);margin:10px 0 18px}.rsfb button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:440px){.rsfb{font-size:14px}.rsfb .rsfb-landing,.rsfb .rsfb-flow{padding:15px}.rsfb-team{height:165px}.rsfb-step h2{font-size:22px}.rsfb-choice{padding:11px 8px}.rsfb-amount b{font-size:17px}.rsfb-nav .rsfb-primary,.rsfb-nav .rsfb-secondary{font-size:12px;padding:11px 7px}.rsfb-fields{gap:9px}.rsfb-calendar{gap:2px;padding:6px 3px}}

/* Road School 0.9.1 – kompakter Startscreen nach freigegebener Bildvorlage. */
.rsfb .rsfb-landing{position:relative;overflow:hidden;padding:0;border:1px solid #dae8f5;border-radius:21px;background:#e8f5ff;box-shadow:0 14px 45px #1736571a;isolation:isolate}
.rsfb .rsfb-landing-brand{height:74px;display:flex;align-items:center;padding:17px 22px;position:relative;z-index:2;background:linear-gradient(180deg,#fff 80%,#ffffffc9);}
.rsfb .rsfb-landing-brand img{display:block;width:min(215px,70%);max-height:54px;object-fit:contain;object-position:left center}
.rsfb .rsfb-intro{position:relative;z-index:2;padding:24px 23px 0;background:linear-gradient(180deg,#f8fcff 30%,#f6fbffe0 78%,#f5faff00);}
.rsfb .rsfb-intro h2{font-size:clamp(31px,6vw,43px);font-weight:850;letter-spacing:-1.1px;line-height:1.09;color:#0b1838}
.rsfb .rsfb-intro p{font-size:clamp(14px,2.4vw,17px);line-height:1.52;max-width:32ch;margin:13px 0 0;color:#213651;padding-bottom:18px}
.rsfb .rsfb-hero-photo{height:clamp(185px,49vw,310px);position:relative;z-index:1;margin-top:-6px;overflow:hidden;background:#e6eced}
.rsfb .rsfb-team{width:100%;height:100%;margin:0;border-radius:0;object-fit:cover;object-position:center 38%;}
.rsfb .rsfb-hero-photo:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#f3faff72,transparent 37%);pointer-events:none}
.rsfb .rsfb-meeting-panel{position:relative;z-index:2;margin:-8px 14px 14px;padding:14px 15px;background:#fff;border:1px solid #eff2f8;border-radius:19px;box-shadow:0 6px 20px #15324d16}
.rsfb .rsfb-meeting{display:flex;align-items:center;gap:13px;padding:3px 0 16px;margin:0 0 15px;border:0;border-radius:0;border-bottom:1px solid #e5ebf4;background:transparent;color:#172b4d}
.rsfb .rsfb-meeting strong{font-size:19px;color:#111f3e;line-height:1.2;margin-bottom:4px}
.rsfb .rsfb-meeting>div{font-size:15px;line-height:1.45}
.rsfb .rsfb-meeting .rsfb-icon{width:61px;height:61px;background:#e1f1ff;color:#056eee;flex:0 0 61px}
.rsfb .rsfb-meeting-panel>.rsfb-primary{width:100%;min-height:54px;font-weight:750;font-size:16px;border-radius:10px;display:flex;justify-content:center;gap:18px}
.rsfb .rsfb-landing [data-go="1"] span{font-size:22px;line-height:1}
@media(max-width:440px){.rsfb .rsfb-landing-brand{height:57px;padding:11px 15px}.rsfb .rsfb-landing-brand img{width:170px;max-height:40px}.rsfb .rsfb-intro{padding:17px 17px 0}.rsfb .rsfb-intro h2{font-size:33px}.rsfb .rsfb-intro p{font-size:14px;margin-top:9px;padding-bottom:10px}.rsfb .rsfb-hero-photo{height:190px}.rsfb .rsfb-meeting-panel{margin:-5px 9px 9px;padding:10px 12px}.rsfb .rsfb-meeting{gap:11px;padding-bottom:12px;margin-bottom:11px}.rsfb .rsfb-meeting .rsfb-icon{width:50px;height:50px;flex-basis:50px}.rsfb .rsfb-meeting strong{font-size:17px}.rsfb .rsfb-meeting>div{font-size:14px}.rsfb .rsfb-meeting-panel>.rsfb-primary{min-height:48px;font-size:14px}}

/* 0.9.2: Teamfoto mit dezent weichgezeichnetem Hintergrund, ohne Buchungslogikänderung. */

/* 0.9.3 – Startbild enthält bereits Titel und Text; keine doppelten Überschriften oder Logos. */
.rsfb .rsfb-landing{padding:0!important;overflow:hidden;background:#f7fbff;border:1px solid #e8eff8;border-radius:18px}
.rsfb .rsfb-banner{width:100%;overflow:hidden;background:#f5faff;line-height:0}
.rsfb .rsfb-banner img{display:block;width:100%;height:auto;max-width:none;object-fit:contain}
.rsfb .rsfb-meeting-panel{margin:-5px 14px 15px;padding:15px 15px 13px}
@media(max-width:440px){.rsfb .rsfb-meeting-panel{margin:-2px 10px 11px;padding:12px}.rsfb .rsfb-meeting .rsfb-icon{width:46px;height:46px;flex-basis:46px}.rsfb .rsfb-meeting{padding-bottom:10px;margin-bottom:10px}}


/* 0.9.4 – Aktionspreis hervorgehoben auf der Startseite */
.rsfb .rsfb-promo-highlight{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:12px 14px;border:1px solid #d8e8ff;border-radius:14px;background:linear-gradient(135deg,#eef6ff,#f8fbff 72%);box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
.rsfb .rsfb-promo-badge{display:inline-flex;align-items:center;justify-content:center;min-width:68px;height:32px;padding:0 12px;border-radius:999px;background:linear-gradient(135deg,#0d6efd,#3b8cff);color:#fff;font-size:12px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}
.rsfb .rsfb-promo-copy{display:flex;flex-direction:column;gap:3px;line-height:1.25;color:#14315c}
.rsfb .rsfb-promo-copy strong{font-size:16px;color:#0f2b54}
.rsfb .rsfb-promo-copy small{font-size:13px;color:#4c6a93}
@media(max-width:440px){.rsfb .rsfb-promo-highlight{gap:10px;margin:0 0 11px;padding:10px 11px}.rsfb .rsfb-promo-badge{min-width:62px;height:28px;padding:0 10px;font-size:11px}.rsfb .rsfb-promo-copy strong{font-size:14px}.rsfb .rsfb-promo-copy small{font-size:12px}}

/* 0.9.5: Aktion im Startbild integriert, separater Aktionsbalken entfernt. */

/* v0.9.8: Kartenlinks am Treffpunkt */
.rsfb-map-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:10px}.rsfb-map-links a{display:inline-flex;align-items:center;gap:4px;border:1px solid #d6dee4;border-radius:10px;padding:8px 12px;background:#fff;color:#155281;text-decoration:none;font-weight:600;font-size:14px}.rsfb-map-links a:hover,.rsfb-map-links a:focus{background:#eff7ff;text-decoration:underline}

/* v0.9.9: ein Button öffnet Auswahl für Apple Karten oder Google Maps */
.rsfb .rsfb-map-picker{margin-top:10px;max-width:310px;position:relative}
.rsfb .rsfb-map-picker summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;border:1px solid #c8def9;border-radius:10px;background:#eef6ff;color:#075fcb;font-size:14px;font-weight:700;padding:10px 12px;line-height:1.4}
.rsfb .rsfb-map-picker summary::-webkit-details-marker{display:none}
.rsfb .rsfb-map-picker summary:hover,.rsfb .rsfb-map-picker summary:focus-visible{background:#dfeeff;outline-offset:2px}
.rsfb .rsfb-map-picker[open] summary{border-radius:10px 10px 0 0}
.rsfb .rsfb-map-picker[open] summary span{transform:rotate(180deg)}
.rsfb .rsfb-map-picker .rsfb-map-links{display:flex;flex-direction:column;gap:5px;margin:0;padding:8px;border:1px solid #c8def9;border-top:0;border-radius:0 0 10px 10px;background:#fff}
.rsfb .rsfb-map-picker .rsfb-map-links a{width:100%;padding:10px 12px;font-size:14px}

/* v0.9.10: Adresse selbst öffnet die Auswahl; kein zusätzlicher Standort-Button. */
.rsfb .rsfb-map-picker{margin-top:2px;max-width:100%;display:inline-block;vertical-align:top}
.rsfb .rsfb-map-picker summary{display:inline-flex;justify-content:flex-start;gap:5px;padding:2px 0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;font-weight:600;line-height:1.5;text-align:left;text-decoration:none}
.rsfb .rsfb-map-picker summary:hover,.rsfb .rsfb-map-picker summary:focus-visible{background:transparent;color:#075fcb;text-decoration:underline}
.rsfb .rsfb-map-picker summary .rsfb-clickable-address{border-bottom:1px dashed currentColor}
.rsfb .rsfb-map-picker summary .rsfb-chevron{color:#075fcb;transition:transform .15s ease}
.rsfb .rsfb-map-picker[open] summary{border-radius:0}
.rsfb .rsfb-map-picker .rsfb-map-links{margin-top:6px;max-width:310px;border:1px solid #c8def9;border-radius:10px;box-shadow:0 5px 14px rgba(0,0,0,.07)}

/* 0.9.12 – gesamte Treffpunkt-Fläche öffnet direkt Google Maps. */
.rsfb .rsfb-map-area{position:relative;cursor:pointer;transition:background-color .15s ease}
.rsfb .rsfb-map-direct{color:inherit;font:inherit;font-weight:600;text-decoration:none;display:inline-block;line-height:1.5}
.rsfb .rsfb-map-direct::after{content:"";position:absolute;inset:0;z-index:1}
.rsfb .rsfb-map-direct:hover,.rsfb .rsfb-map-area:hover .rsfb-map-direct{color:#075fcb;text-decoration:underline}
.rsfb .rsfb-map-area:focus-within{outline:2px solid #075fcb;outline-offset:2px}
.rsfb .rsfb-map-area.rsfb-info:hover{background:#eaf4ff}
.rsfb .rsfb-meeting.rsfb-map-area:hover{background:#f0f8ff}

/* v0.9.13: Kalender-Navigation auf Mobilgeraeten fixieren und blaue Pfeile. */
.rsfb .rsfb-month{display:grid!important;grid-template-columns:42px minmax(0,1fr) 42px!important;align-items:center!important;column-gap:12px!important;width:100%;padding:12px 0;margin:0;min-height:66px;}
.rsfb .rsfb-month strong[data-month-title]{grid-column:2;text-align:center;min-width:0;line-height:1.3;font-size:clamp(17px,4.8vw,23px);white-space:nowrap;}
.rsfb .rsfb-month button[data-month]{appearance:none;-webkit-appearance:none;display:inline-flex!important;align-items:center!important;justify-content:center!important;place-self:center;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;max-width:42px!important;max-height:42px!important;padding:0!important;margin:0!important;border:0!important;border-radius:50%!important;background:#086df1!important;color:#fff!important;box-shadow:none!important;line-height:1!important;vertical-align:middle;transform:none!important;}
.rsfb .rsfb-month button[data-month]:first-child{grid-column:1;grid-row:1;}
.rsfb .rsfb-month button[data-month]:last-child{grid-column:3;grid-row:1;}
.rsfb .rsfb-month button[data-month] svg{display:block!important;width:22px!important;height:22px!important;max-width:none;flex:0 0 auto;position:static!important;margin:0!important;transform:none!important;}
.rsfb .rsfb-month button[data-month]:hover{background:#0559d2!important;}
.rsfb .rsfb-month button[data-month]:focus-visible{outline:3px solid #9bcaff;outline-offset:3px;}
.rsfb .rsfb-calendar-icon svg{display:block;width:25px;height:25px;}
@media(max-width:440px){.rsfb .rsfb-month{grid-template-columns:40px minmax(0,1fr) 40px!important;column-gap:5px!important}.rsfb .rsfb-month button[data-month]{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;max-width:40px!important;max-height:40px!important}}

/* v0.9.14: stabiles Personen-SVG anstatt Schriftzeichen in Schritt 3. */
.rsfb .rsfb-person-icon svg{display:block;width:25px;height:25px;flex:0 0 25px}

.rsfb .rsfb-consent{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.55;margin-top:18px;color:#253c5e}.rsfb .rsfb-consent input[type="checkbox"]{flex:0 0 auto;margin-top:5px;accent-color:var(--blue);width:18px;height:18px}.rsfb .rsfb-consent label{display:inline;font-weight:400}.rsfb .rsfb-consent a{color:var(--blue);text-decoration:underline;text-underline-offset:2px;font-weight:650}.rsfb .rsfb-consent a:focus-visible{outline:2px solid var(--blue);outline-offset:2px}

/* 0.9.19: kompakte Lektionsauswahl – auch bei Theme-Styles auf Mobilgeraeten. */
.rsfb .rsfb-choices{gap:10px}
.rsfb .rsfb-choice{display:grid!important;grid-template-columns:20px minmax(0,1fr) auto;align-items:center!important;column-gap:12px;min-height:0!important;padding:14px 15px!important;line-height:1.25!important}
.rsfb .rsfb-choice input[type="radio"]{grid-column:1;margin:0!important;width:20px;height:20px;align-self:center}
.rsfb .rsfb-choice>span:nth-child(2){grid-column:2;display:flex!important;flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;min-width:0}
.rsfb .rsfb-choice .rsfb-amount{grid-column:3;display:flex!important;flex-direction:column;justify-content:center;align-items:flex-end;gap:3px;text-align:right}
.rsfb .rsfb-choice strong,.rsfb .rsfb-choice small,.rsfb .rsfb-choice b{display:block!important;margin:0!important;padding:0!important;line-height:1.3!important}
.rsfb .rsfb-choice .rsfb-amount small{margin-top:0!important}
@media(max-width:440px){.rsfb .rsfb-choice{padding:12px 10px!important;column-gap:9px}.rsfb .rsfb-choice .rsfb-amount b{font-size:17px!important}}

/* 0.9.20: Kompakte AGB-Zeile und kuerzerer Abschluss-Button. */
.rsfb .rsfb-consent{display:flex!important;align-items:flex-start!important;gap:9px!important;margin:12px 0 8px!important;padding:0!important;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;font-size:14px!important;line-height:1.45!important;letter-spacing:normal!important}
.rsfb .rsfb-consent input[type="checkbox"]{flex:0 0 19px!important;width:19px!important;height:19px!important;margin:1px 0 0!important;padding:0!important;align-self:flex-start!important}
.rsfb .rsfb-consent label{display:block!important;flex:1 1 auto!important;min-width:0!important;margin:0!important;padding:0!important;font-family:inherit!important;font-size:inherit!important;line-height:inherit!important;font-weight:400!important;letter-spacing:normal!important;text-transform:none!important}
.rsfb .rsfb-consent a{display:inline!important;font:inherit!important;font-weight:650!important;line-height:inherit!important;letter-spacing:normal!important;text-transform:none!important;white-space:normal!important}
.rsfb .rsfb-step[data-step="4"] .rsfb-nav{margin-top:12px!important;align-items:stretch}
.rsfb .rsfb-step[data-step="4"] .rsfb-nav [data-submit]{white-space:nowrap;font-size:clamp(13px,3.6vw,16px)!important;letter-spacing:normal!important;padding:11px 12px!important}
@media(max-width:440px){.rsfb .rsfb-consent{font-size:13px!important;gap:8px!important}.rsfb .rsfb-step[data-step="4"] .rsfb-nav [data-submit]{font-size:14px!important}}

/* v0.9.23: Aktionssymbol als stabiles SVG statt rautenfoermigem Unicode-Zeichen. */
.rsfb .rsfb-sale strong{display:inline-flex;align-items:center;gap:7px;flex-wrap:wrap}
.rsfb .rsfb-sale-icon{display:inline-block;flex:0 0 19px;width:19px;height:19px;color:#0871ef;vertical-align:middle}

/* Fahrzeugwahl Schwyz */
.rsfb-transmission-options{display:flex;flex-wrap:wrap;gap:12px 42px;margin-top:10px}.rsfb-transmission-options label{display:inline-flex;align-items:center;gap:7px;cursor:pointer;font-weight:500}.rsfb-transmission-options input{accent-color:#1463c6}

/* 2.6: Aufbau-Vorlagen Fahrstunden */
.rsfb.msw-lay-tiles .rsfb-choices{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.rsfb.msw-lay-tiles .rsfb-choice{flex-direction:column!important;align-items:flex-start!important;gap:6px!important;padding:16px!important}
.rsfb.msw-lay-tiles .rsfb-choice .rsfb-amount{align-self:flex-start!important;text-align:left!important}
.rsfb.msw-lay-simple .rsfb-progress{display:none!important}
.rsfb.msw-lay-simple .rsfb-choices{gap:4px!important}
.rsfb.msw-lay-simple .rsfb-choice{padding:9px 12px!important;border-radius:8px!important;box-shadow:none!important;min-height:0!important}
.rsfb.msw-lay-simple .rsfb-step h2 .rsfb-icon,.rsfb.msw-lay-simple .rsfb-choice small{display:none!important}
@media(max-width:420px){.rsfb.msw-lay-tiles .rsfb-choices{grid-template-columns:minmax(0,1fr)!important}}

/* Fahrlehrer-Auswahl mit Foto */
.rsfb.rsfb .rsfb-choice.rsfb-teacher{display:flex!important;flex-direction:row!important;justify-content:flex-start!important;gap:14px!important;align-items:center!important;text-align:left!important}
.rsfb.rsfb .rsfb-choice.rsfb-teacher>span:last-child{display:grid;gap:2px;min-width:0}
.rsfb .rsfb-tphoto{flex:none;width:52px;height:52px;border-radius:50%;object-fit:cover;display:inline-grid;place-items:center;background:#e8eef7;color:#33465f;font-weight:700;font-size:17px;border:2px solid #fff;box-shadow:0 1px 4px rgba(16,38,66,.15)}
.rsfb .rsfb-tany{background:#eaf3ff;color:#1677e8;font-size:20px}
.rsfb .rsfb-choice.rsfb-teacher>input{position:absolute;opacity:0;width:1px;height:1px}
.rsfb .rsfb-choice.rsfb-teacher{position:relative}
.rsfb.rsfb .rsfb-choice .rsfb-tphoto{width:52px!important;height:52px!important;min-width:52px!important;flex:0 0 52px!important;padding:0!important;margin:0!important;display:inline-grid!important;place-items:center!important;line-height:1!important}

/* Startbild als Grafik (ohne Foto) */
.rsfb .rsfb-banner.rsfb-banner-graphic{line-height:1.35;background:none}
.msw-gb{position:relative;overflow:hidden;min-height:210px;padding:28px 24px;box-sizing:border-box;display:flex;align-items:center;background:linear-gradient(135deg,var(--msw-gb1,#0870f6),var(--msw-gb2,#06338a));color:#fff;line-height:1.35;text-align:left}
.msw-gb .msw-gb-road{position:absolute;inset:0;width:100%;height:100%}
.msw-gb-in{position:relative;z-index:1;max-width:min(62%,460px)}
.msw-gb-chip{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:4px 11px;font-size:12px;font-weight:700;letter-spacing:.02em}
.msw-gb-chip::before{content:"";width:7px;height:7px;border-radius:50%;background:#5ee39b;box-shadow:0 0 0 3px rgba(94,227,155,.25)}
.msw-gb h3{margin:12px 0 8px!important;font-size:clamp(22px,4.2vw,32px)!important;line-height:1.15!important;color:#fff!important;font-weight:800!important}
.msw-gb p{margin:0!important;font-size:15px!important;opacity:.92;color:#fff!important}
.msw-gb-car{position:absolute;z-index:1;right:9%;bottom:18%;width:74px;height:74px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 10px 28px rgba(0,0,0,.25)}
.msw-gb-car svg{width:38px;height:38px}
.msw-gb-pin{position:absolute;z-index:1;right:6%;top:14%;display:inline-flex;align-items:center;gap:6px;background:#fff;color:#102642;border-radius:999px;padding:6px 12px 6px 8px;font-size:13px;font-weight:700;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.msw-gb-pin svg{width:16px;height:16px}
@media(max-width:560px){.msw-gb{min-height:240px;align-items:flex-start;padding:22px 18px}.msw-gb-in{max-width:100%}.msw-gb-car{width:58px;height:58px;right:7%;bottom:9%}.msw-gb-car svg{width:30px;height:30px}.msw-gb-pin{top:auto;bottom:12%;right:auto;left:18px}}
/* Grafik-Startbild: weitere ruhige Varianten (Farbe über --gb, Schrift über --gbt) */
.rsfb .msw-gbs{position:relative;overflow:hidden;min-height:190px;box-sizing:border-box;display:flex;align-items:center;line-height:1.35;text-align:left;--gb:#2b2f36;--gbt:#fff;--gbs:rgba(255,255,255,.7)}
.rsfb .msw-gbs .msw-gbs-in{position:relative;z-index:1;max-width:min(66%,480px)}
.rsfb .msw-gbs h3{margin:10px 0 8px!important;font-size:clamp(22px,4vw,30px)!important;line-height:1.15!important;font-weight:800!important;letter-spacing:-.4px;color:inherit!important}
.rsfb .msw-gbs p{margin:0!important;font-size:15px!important;color:inherit!important;opacity:.85}
.rsfb .msw-gbs-chip{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;opacity:.8}
.rsfb .msw-gbs-tag{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:13px;font-weight:700;opacity:.9}
.rsfb .msw-gbs-tag svg{width:15px;height:15px}
.rsfb .msw-gbs-ico{position:absolute;z-index:1;right:7%;top:50%;transform:translateY(-50%);width:84px;height:84px;display:grid;place-items:center;border-radius:50%}
.rsfb .msw-gbs-ico svg{width:42px;height:42px}
/* Schlicht hell: helle Fläche, farbiger Balken links */
.rsfb .msw-gbs-clean{background:color-mix(in srgb,var(--gb) 7%,#fff);color:#17202b;padding:28px 26px 28px 34px;border-bottom:1px solid color-mix(in srgb,var(--gb) 18%,#fff)}
.rsfb .msw-gbs-clean::before{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;background:var(--gb)}
.rsfb .msw-gbs-clean .msw-gbs-chip,.rsfb .msw-gbs-clean .msw-gbs-tag{color:var(--gb);opacity:1}
.rsfb .msw-gbs-clean .msw-gbs-ico{border:2px solid color-mix(in srgb,var(--gb) 30%,#fff);color:var(--gb)}
/* Dunkel: einfarbige dunkle Fläche mit feinem Raster */
.rsfb .msw-gbs-dark{background:var(--gb);color:var(--gbt);padding:30px 26px;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:28px 28px}
.rsfb .msw-gbs-dark .msw-gbs-ico{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);color:var(--gbt)}
/* Geteilt: Farbblock links mit Symbol, Text rechts */
.rsfb .msw-gbs-split{background:#fff;color:#17202b;padding:0}
.rsfb .msw-gbs-split .msw-gbs-side{align-self:stretch;flex:0 0 34%;background:var(--gb);color:var(--gbt);display:grid;place-items:center;min-height:190px}
.rsfb .msw-gbs-split .msw-gbs-side svg{width:64px;height:64px}
.rsfb .msw-gbs-split .msw-gbs-in{padding:24px 24px;max-width:none}
.rsfb .msw-gbs-split .msw-gbs-chip,.rsfb .msw-gbs-split .msw-gbs-tag{color:var(--gb);opacity:1}
/* Linien: weiss, nur feine Linien, sehr zurückhaltend */
.rsfb .msw-gbs-lines{background:#fff;color:#17202b;padding:30px 26px;border-top:3px solid var(--gb);border-bottom:1px solid #e6e9ee}
.rsfb .msw-gbs-lines h3{font-weight:700!important}
.rsfb .msw-gbs-lines .msw-gbs-chip{color:#6b7280;opacity:1}
.rsfb .msw-gbs-lines .msw-gbs-tag{color:var(--gb);opacity:1}
.rsfb .msw-gbs-lines .msw-gbs-ico{color:var(--gb);width:70px;height:70px}
/* Bewegt: langsam wandernder Farbverlauf und fahrende Mittellinie */
.rsfb .msw-gbs-motion{color:var(--gbt);padding:30px 26px;background:linear-gradient(120deg,var(--gb),color-mix(in srgb,var(--gb) 70%,#000),var(--gb));background-size:220% 220%;animation:mswGbFlow 12s ease-in-out infinite}
.rsfb .msw-gbs-motion .msw-gbs-lane{position:absolute;left:0;right:0;bottom:22px;height:3px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.55) 0 26px,transparent 26px 50px);background-size:50px 3px;animation:mswGbLane 1.6s linear infinite;opacity:.7}
.rsfb .msw-gbs-motion .msw-gbs-ico{background:rgba(255,255,255,.12);color:var(--gbt);animation:mswGbBob 3.2s ease-in-out infinite}
@keyframes mswGbFlow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes mswGbLane{from{background-position:0 0}to{background-position:-50px 0}}
@keyframes mswGbBob{0%,100%{transform:translateY(-50%)}50%{transform:translateY(calc(-50% - 5px))}}
@media (prefers-reduced-motion:reduce){.rsfb .msw-gbs-motion,.rsfb .msw-gbs-motion .msw-gbs-lane,.rsfb .msw-gbs-motion .msw-gbs-ico{animation:none}}
@media(max-width:520px){.rsfb .msw-gbs{min-height:170px}.rsfb .msw-gbs .msw-gbs-in{max-width:100%}.rsfb .msw-gbs-ico{display:none}.rsfb .msw-gbs-split .msw-gbs-side{flex-basis:26%}.rsfb .msw-gbs-split .msw-gbs-side svg{width:40px;height:40px}}
.rsfb .rsfb-icon,.rsfb .rsfb-meeting .rsfb-icon{color:var(--blue)!important;background:color-mix(in srgb,var(--blue) 12%,#fff)!important}
/* Moderne, bewegte Varianten */
.rsfb .msw-gbs-aurora,.rsfb .msw-gbs-glass,.rsfb .msw-gbs-speed{color:#fff;padding:32px 28px;min-height:220px;background:color-mix(in srgb,var(--gb) 35%,#05070c);isolation:isolate}
.rsfb .msw-gbs-aurora h3,.rsfb .msw-gbs-glass h3,.rsfb .msw-gbs-speed h3{font-size:clamp(26px,4.6vw,38px)!important;letter-spacing:-.8px;line-height:1.05!important}
.rsfb .msw-gbs-blob{position:absolute;z-index:0;border-radius:50%;filter:blur(38px);opacity:.85;pointer-events:none}
.rsfb .msw-gbs-blob.b1{width:62%;height:120%;left:-12%;top:-30%;background:var(--gb);animation:mswBlob1 14s ease-in-out infinite}
.rsfb .msw-gbs-blob.b2{width:48%;height:95%;right:-8%;top:-20%;background:color-mix(in srgb,var(--gb) 45%,#22d3ee);animation:mswBlob2 17s ease-in-out infinite}
.rsfb .msw-gbs-blob.b3{width:44%;height:90%;left:35%;bottom:-45%;background:color-mix(in srgb,var(--gb) 45%,#a78bfa);animation:mswBlob3 19s ease-in-out infinite}
@keyframes mswBlob1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(18%,12%) scale(1.15)}}
@keyframes mswBlob2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-22%,18%) scale(.9)}}
@keyframes mswBlob3{0%,100%{transform:translate(0,0)}50%{transform:translate(-25%,-20%) scale(1.2)}}
.rsfb .msw-gbs-aurora .msw-gbs-chip,.rsfb .msw-gbs-glass .msw-gbs-chip,.rsfb .msw-gbs-speed .msw-gbs-chip{opacity:1;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:5px 12px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.rsfb .msw-gbs-aurora .msw-gbs-ico,.rsfb .msw-gbs-glass .msw-gbs-ico,.rsfb .msw-gbs-speed .msw-gbs-ico{width:96px;height:96px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 18px 50px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.35);animation:mswFloat 5s ease-in-out infinite}
.rsfb .msw-gbs-aurora .msw-gbs-ico svg,.rsfb .msw-gbs-glass .msw-gbs-ico svg,.rsfb .msw-gbs-speed .msw-gbs-ico svg{width:56px;height:56px}
@keyframes mswFloat{0%,100%{transform:translateY(-50%)}50%{transform:translateY(calc(-50% - 8px))}}
/* Glas: Text auf einer milchigen Glasfläche */
.rsfb .msw-gbs-glass .msw-gbs-in{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);border-radius:20px;padding:22px 22px 20px;backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);box-shadow:0 20px 50px rgba(0,0,0,.25)}
/* Tempo: perspektivische Strasse mit fahrenden Linien */
.rsfb .msw-gbs-speed{background:linear-gradient(180deg,color-mix(in srgb,var(--gb) 55%,#04060a) 0%,#05070c 100%)}
.rsfb .msw-gbs-road{position:absolute;z-index:0;left:50%;bottom:-2px;width:150%;height:62%;transform:translateX(-30%) perspective(320px) rotateX(58deg);transform-origin:50% 100%;background:linear-gradient(90deg,transparent 0 33%,rgba(255,255,255,.07) 33% 67%,transparent 67%);overflow:hidden;pointer-events:none}
.rsfb .msw-gbs-road i{position:absolute;left:50%;top:-100%;width:3%;height:300%;transform:translateX(-50%);background:repeating-linear-gradient(180deg,rgba(255,255,255,.85) 0 34px,transparent 34px 80px);animation:mswRoad .9s linear infinite}
.rsfb .msw-gbs-road::before,.rsfb .msw-gbs-road::after{content:"";position:absolute;top:0;bottom:0;width:1.5%;background:color-mix(in srgb,var(--gb) 60%,#fff);box-shadow:0 0 18px color-mix(in srgb,var(--gb) 70%,#fff)}
.rsfb .msw-gbs-road::before{left:33%}.rsfb .msw-gbs-road::after{left:65.5%}
@keyframes mswRoad{from{transform:translate(-50%,0)}to{transform:translate(-50%,80px)}}
.rsfb .msw-gbs-streaks{position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent) 0 30%/40% 1px no-repeat,linear-gradient(90deg,transparent,color-mix(in srgb,var(--gb) 40%,#fff),transparent) 0 55%/30% 2px no-repeat,linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent) 0 18%/25% 1px no-repeat;animation:mswStreak 2.6s cubic-bezier(.6,0,.4,1) infinite}
@keyframes mswStreak{from{background-position:-60% 30%,-50% 55%,-40% 18%}to{background-position:160% 30%,170% 55%,150% 18%}}
.rsfb .msw-gbs-speed .msw-gbs-ico{box-shadow:0 0 0 6px rgba(255,255,255,.05),0 0 40px color-mix(in srgb,var(--gb) 70%,#fff)}
@media (prefers-reduced-motion:reduce){.rsfb .msw-gbs-blob,.rsfb .msw-gbs-road i,.rsfb .msw-gbs-streaks,.rsfb .msw-gbs-aurora .msw-gbs-ico,.rsfb .msw-gbs-glass .msw-gbs-ico,.rsfb .msw-gbs-speed .msw-gbs-ico{animation:none}}
@media(max-width:520px){.rsfb .msw-gbs-aurora,.rsfb .msw-gbs-glass,.rsfb .msw-gbs-speed{min-height:200px;padding:24px 18px}}
/* Breite Fahrzeug-Symbole (Anhänger, Lastwagen, Bus) */
.rsfb .msw-gbs-ico svg.wide,.rsfb .msw-gb-car svg.wide{width:64px!important}
.rsfb .msw-gbs-split .msw-gbs-side svg.wide{width:84px}

.rsfb .rsfb-paynote{background:#f3f8ff;border:1px solid #d6e6fb;border-radius:12px;padding:10px 12px;font-size:14px;margin:10px 0}

/* 2.22.3: Farbschema überall (Kalendertage, Zeiten, Auswahlknöpfe) aus der Buttonfarbe */
.rsfb .rsfb-calendar button:not(:disabled):not(.selected){background:color-mix(in srgb,var(--blue) 12%,#fff);color:color-mix(in srgb,var(--blue) 85%,#000)}
.rsfb .rsfb-times button:not(.selected):hover,.rsfb .rsfb-calendar button:not(:disabled):not(.selected):hover{background:color-mix(in srgb,var(--blue) 22%,#fff)}
.rsfb input[type="radio"],.rsfb input[type="checkbox"]{accent-color:var(--blue)}
.rsfb .rsfb-choice.selected{border-color:var(--blue)!important;background:color-mix(in srgb,var(--blue) 6%,#fff)}
/* Wochenansicht (Design-Option «Kalender: Wochenansicht») */
.rsfb.msw-cal-week .rsfb-month{grid-template-columns:50px minmax(0,1fr) 50px!important;padding:6px 0 12px!important;min-height:0!important}
.rsfb.msw-cal-week .rsfb-month button[data-month]{width:50px!important;height:50px!important;min-width:50px!important;max-width:50px!important;min-height:50px!important;max-height:50px!important;border-radius:16px!important;background:#fff!important;color:var(--blue)!important;box-shadow:0 4px 16px rgba(16,30,66,.09)!important}
.rsfb.msw-cal-week .rsfb-month button[data-month]:disabled{opacity:.35;cursor:default}
.rsfb.msw-cal-week .rsfb-month strong[data-month-title]{font-size:clamp(16px,4.6vw,21px)!important;font-weight:800}
.rsfb.msw-cal-week .rsfb-calendar{display:grid!important;grid-template-columns:repeat(var(--wd,6),minmax(0,1fr))!important;gap:7px!important;border:0!important;padding:0!important;margin:0 0 6px!important}
.rsfb.msw-cal-week .rsfb-calendar button.rsfb-wday{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;aspect-ratio:auto;min-height:66px;padding:9px 0;border:0;border-radius:16px;background:#fff;color:var(--navy);box-shadow:0 4px 16px rgba(16,30,66,.08);font:inherit;cursor:pointer;line-height:1.1}
.rsfb.msw-cal-week .rsfb-calendar button.rsfb-wday small{font-size:14px;font-weight:600}
.rsfb.msw-cal-week .rsfb-calendar button.rsfb-wday b{font-size:clamp(19px,5.4vw,24px);font-weight:800}
.rsfb.msw-cal-week .rsfb-calendar button.rsfb-wday:not(:disabled):not(.selected){background:#fff;color:var(--navy)}
.rsfb.msw-cal-week .rsfb-calendar button.rsfb-wday.selected{background:linear-gradient(135deg,var(--blue),color-mix(in srgb,var(--blue) 45%,#8a4dff));color:#fff;box-shadow:0 8px 20px color-mix(in srgb,var(--blue) 30%,transparent)}
.rsfb.msw-cal-week .rsfb-calendar button.rsfb-wday:disabled{background:#e9eef5;color:#a6b1c2;box-shadow:none;cursor:default}
.rsfb.msw-cal-week [data-date-title]{display:none}
.rsfb.msw-cal-week .rsfb-times{display:block!important}
.rsfb.msw-cal-week .rsfb-tgroup{margin:16px 0 8px!important;font-size:15px;font-weight:700;color:var(--muted)}
.rsfb.msw-cal-week .rsfb-tgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.rsfb.msw-cal-week .rsfb-tgrid button{width:100%;margin:0;border:1px solid #e2e8f2;background:#fff;border-radius:14px;padding:12px 0;font:inherit;font-size:16px;font-weight:700;color:var(--navy);cursor:pointer}
.rsfb.msw-cal-week .rsfb-tgrid button.selected{background:linear-gradient(135deg,var(--blue),color-mix(in srgb,var(--blue) 45%,#8a4dff));border-color:transparent;color:#fff}
@media(max-width:380px){.rsfb.msw-cal-week .rsfb-tgrid{grid-template-columns:repeat(3,minmax(0,1fr))}.rsfb.msw-cal-week .rsfb-calendar{gap:5px!important}.rsfb.msw-cal-week .rsfb-calendar button.rsfb-wday{min-height:58px;border-radius:13px}}
