/*=========================================================
  V13 ROOT-MIGRATION
  - V12-Refactoring beibehalten
  - Wiesbaden-Landingpage vom KuteGo-Controller entkoppelt
  - / und /wiesbaden/ verwenden html.wm-wiesbaden-page
  - Root erhält zusätzlich html.wm-root-landing
  =========================================================*/

/*=========================================================
   SCHWIMMSCHULE WALKMÜHLTAL – GLOBAL CSS V1
   REFACTORED / VERHALTENSIDENTISCH ZU TESTSCHRITT 18.1

   Prinzipien:
   - Reihenfolge aller CSS-Regeln bleibt erhalten
   - keine Selektoren werden umbenannt
   - keine !important-Regeln werden entfernt
   - Editor-Schutz bleibt unverändert
   - nur sicher überschriebene Deklarationen desselben Selektors entfernt
   - historische Test-/Versionskommentare durch fachliche Struktur ersetzt
   =========================================================*/
@import url("/templates/fonts/barlow_condensed_wght_600_700_800_d47a30f1514b4c711c31c9727fe4b673.css");
/*=========================================================
   1. LEGACY – BESTEHENDE, NOCH NICHT MIGRIERTE SEITEN
   =========================================================*/
@font-face{
  font-family:"Baloo Tamma 2";font-style:normal;font-weight:600;font-display:swap;src:local("Baloo Tamma 2 SemiBold"),local("BalooTamma2-SemiBold"),url(/templates/fonts/balootamma2_6ac44cfdd3af75dac3256bec14bae28d.woff2) format("woff2");unicode-range:U+964-965,U+C82-CF2,U+200C-200D,U+20B9,U+25CC;
}
@font-face{
  font-family:"Baloo Tamma 2";font-style:normal;font-weight:600;font-display:swap;src:local("Baloo Tamma 2 SemiBold"),local("BalooTamma2-SemiBold"),url(/templates/fonts/balootamma2_4449836c1de48db68961bbf38d48c702.woff2) format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+1EA0-1EF9,U+20AB;
}
@font-face{
  font-family:"Baloo Tamma 2";font-style:normal;font-weight:600;font-display:swap;src:local("Baloo Tamma 2 SemiBold"),local("BalooTamma2-SemiBold"),url(/templates/fonts/balootamma2_585e70d541444787eca78bf172353586.woff2) format("woff2");unicode-range:U+100-24F,U+259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:"Baloo Tamma 2";font-style:normal;font-weight:600;font-display:swap;src:local("Baloo Tamma 2 SemiBold"),local("BalooTamma2-SemiBold"),url(/templates/fonts/balootamma2_5086d3806806a406c598a5a0e521027b.woff2) format("woff2");unicode-range:U+0-FF,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
h1{font-family:"Baloo Tamma 2";font-size:1.8em;}
h2{font-family:"Baloo Tamma 2";font-size:1.5em;}
h3, h4{font-family:"Baloo Tamma 2";font-size:1.3em;}
p{font-family:"Open Sans";font-size:1em;}
.signatur{font:400 20px "Open Sans";color:#000;}
.header .header-navigation{font-family:"Baloo Tamma 2";font-size:1.3em;}
.pageTitle{display:none;}
body{background:linear-gradient(0deg,#d0daf0 0%,#ffffff 40%,#ffffff 60%,#ffffff 100%);}
.cubedanger{background-color:#FCE4EC;border-left:6px solid #f44336;margin-bottom:15px;padding:4px 12px;}
.cubesuccess{background-color:#DCEDC8;border-left:6px solid #4CAF50;margin-bottom:15px;padding:4px 12px;}
.cubeinfo{background-color:#E3F2FD;border-left:6px solid #2196F3;margin-bottom:15px;padding:4px 12px;}
.cubewarning{background-color:#FFFDE7;border-left:6px solid #ffeb3b;margin-bottom:15px;padding:4px 12px;}
.header-navigation ul > li.active > a{border-bottom:0 solid #ffffff;color:#3fa1bb;}
.menu-search{display:none;}
/*=========================================================
   2. GEMEINSAME DESIGN-TOKENS DER TESTSEITEN
   =========================================================*/
html.wm-migrated-page body{
  --wm-page-max:1220px; --wm-text:#152126; --wm-accent:#3fa1bb; --wm-accent-dark:#2f859b; --wm-font:"Inter",Arial,sans-serif;
}
/*=========================================================
   3. GLOBALER CUSTOM-HEADER
   =========================================================*/
.wm-global-header{display:none;}
html.wm-migrated-page body .wm-global-header{
  display:block; position:relative; z-index:50; width:100%; background:#ffffff; border-bottom:0; box-shadow:0 1px 0 rgba(21,33,38,.02);
  font-family:var(--wm-font);
}
html.wm-migrated-page body .wm-global-header,
html.wm-migrated-page body .wm-global-header *,
html.wm-migrated-page body .wm-global-header *::before,
html.wm-migrated-page body .wm-global-header *::after{
  box-sizing:border-box;
}
html.wm-migrated-page body .wm-global-header-inner{
  width:min(var(--wm-page-max),calc(100vw - 40px)); min-height:78px; position:relative; left:50%; transform:translateX(-50%); display:flex;
  align-items:center; gap:28px;
}
html.wm-migrated-page body .wm-global-brand{flex:0 0 auto;display:inline-flex;align-items:center;text-decoration:none;}
html.wm-migrated-page body .wm-global-logo{display:block;width:176px;max-width:100%;height:auto;}
html.wm-migrated-page body .wm-global-nav{
  margin-left:auto; display:flex; align-items:center; justify-content:flex-end; gap:23px; font-size:13px; font-weight:700; letter-spacing:.055em;
  text-transform:uppercase;
}
html.wm-migrated-page body .wm-global-nav > a{
  display:inline-flex; align-items:center; min-height:44px; color:#27343a; font-size:inherit; line-height:1.2; font-weight:inherit;
  letter-spacing:inherit; text-transform:inherit; text-decoration:none; white-space:nowrap;
  transition:color .18s ease,background-color .18s ease,border-color .18s ease;
}
html.wm-migrated-page body .wm-global-nav > a:hover,
html.wm-migrated-page body .wm-global-nav > a:focus{
  color:var(--wm-accent-dark); text-decoration:none;
}
html.wm-migrated-page body .wm-global-nav > .wm-global-contact{color:var(--wm-accent-dark);}
html.wm-migrated-page body .wm-global-nav > .wm-global-cta,
html.wm-migrated-page body .wm-global-mobile-nav > .wm-global-cta{
  min-height:52px; padding:0 24px; background:var(--wm-accent); border:1px solid var(--wm-accent); color:#ffffff; font-size:13px; font-weight:800;
  letter-spacing:.07em; text-transform:uppercase;
}
html.wm-migrated-page body .wm-global-nav > .wm-global-cta:hover,
html.wm-migrated-page body .wm-global-nav > .wm-global-cta:focus,
html.wm-migrated-page body .wm-global-mobile-nav > .wm-global-cta:hover,
html.wm-migrated-page body .wm-global-mobile-nav > .wm-global-cta:focus{
  background:var(--wm-accent-dark); border-color:var(--wm-accent-dark); color:#ffffff;
}
html.wm-migrated-page body .wm-global-mobile{display:none;margin-left:auto;position:relative;}
html.wm-migrated-page body .wm-global-mobile > summary{
  width:46px; height:46px; padding:10px; border:1px solid #d9e2e4; background:#ffffff; cursor:pointer; list-style:none; display:flex;
  flex-direction:column; justify-content:center; gap:5px;
}
html.wm-migrated-page body .wm-global-mobile > summary::-webkit-details-marker{display:none;}
html.wm-migrated-page body .wm-global-mobile > summary > span{display:block;width:100%;height:2px;background:var(--wm-text);}
html.wm-migrated-page body .wm-global-mobile-nav{
  position:absolute; top:calc(100% + 10px); right:0; z-index:100; width:min(310px,calc(100vw - 30px)); padding:12px; background:#ffffff;
  border:1px solid #dfe7e9; box-shadow:0 16px 36px rgba(21,33,38,.14);
}
html.wm-migrated-page body .wm-global-mobile-nav > a{
  display:flex; align-items:center; min-height:44px; padding:8px 10px; border-bottom:1px solid #edf1f2; color:#27343a; font-size:13px;
  font-weight:700; text-decoration:none;
}
html.wm-migrated-page body .wm-global-mobile-nav > a:last-child{margin-top:8px;border-bottom:0;justify-content:center;}
@media (max-width:1050px){
  html.wm-migrated-page body .wm-global-nav{gap:16px;}
}
@media (max-width:980px){
  html.wm-migrated-page body .wm-global-header-inner{width:calc(100vw - 30px);min-height:68px;}
  html.wm-migrated-page body .wm-global-nav{display:none;}
  html.wm-migrated-page body .wm-global-mobile{display:block;}
  html.wm-migrated-page body .wm-global-logo{width:150px;}
}
/*=========================================================
   4. PUBLIC SHELL / EDITOR-SCHUTZ
   =========================================================*/
html.wm-migrated-page:not(.wm-editor-mode) body > .header .logo-wrapper,
html.wm-migrated-page:not(.wm-editor-mode) body > .header .header-navigation,
html.wm-migrated-page:not(.wm-editor-mode) body > .header .mobi-toggler{
  display:none !important;
}
html.wm-migrated-page:not(.wm-editor-mode) body .main > .breadcrumbs-wrapper{display:none !important;}
/*=========================================================
   5. KURSSEITEN – 1220-PX-SEITENRASTER
   =========================================================*/
html.wm-course-page:not(.wm-editor-mode) body > .header > .container,
html.wm-course-page:not(.wm-editor-mode) body #main-content > .container,
html.wm-course-page:not(.wm-editor-mode) body #main-content > div > .container{
  width:100% !important; max-width:none !important; box-sizing:border-box !important;
}
html.wm-course-page:not(.wm-editor-mode) body > .header > .container{padding-left:0 !important;padding-right:0 !important;}
html.wm-course-page:not(.wm-editor-mode) body #main-content > .container,
html.wm-course-page:not(.wm-editor-mode) body #main-content > div > .container,
html.wm-course-page:not(.wm-editor-mode) body #main-content .course-module > .container,
html.wm-course-page:not(.wm-editor-mode) body #main-content [data-module="module"] > .container{
  width:min(var(--wm-page-max),calc(100% - 40px)) !important; max-width:var(--wm-page-max) !important; margin-left:auto !important;
  margin-right:auto !important; padding-left:0 !important; padding-right:0 !important; box-sizing:border-box !important;
}
@media (max-width:980px){
  html.wm-course-page:not(.wm-editor-mode) body #main-content > .container,
  html.wm-course-page:not(.wm-editor-mode) body #main-content > div > .container,
  html.wm-course-page:not(.wm-editor-mode) body #main-content .course-module > .container,
  html.wm-course-page:not(.wm-editor-mode) body #main-content [data-module="module"] > .container{
    width:calc(100% - 30px) !important;
  }
}
/*=========================================================
   6. WIESBADEN – KUTEGO-INTEGRATION
   =========================================================*/
html.wm-wiesbaden-page body{background:#ffffff !important;background-image:none !important;}
html.wm-wiesbaden-page:not(.wm-editor-mode) body{overflow-x:clip;}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root{
  width:100vw !important; max-width:none !important; position:relative !important; left:50% !important; transform:translateX(-50%) !important;
  margin:0 !important;
}
html.wm-wiesbaden-page.wm-editor-mode body .wm-landing-root{
  width:auto !important; max-width:100% !important; position:static !important; left:auto !important; transform:none !important; margin:0 !important;
}
/*=========================================================
   7. GLOBALER FOOTER – CUSTOM + KUTEGO
   =========================================================*/
body > .footer:has(.wm-site-footer){
  margin:0 !important; padding:0 !important; border:0 !important; background:#101a1e !important; color:#fff !important;
  font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
}
body > .footer:has(.wm-site-footer) > #footer-content{width:100% !important;max-width:none !important;margin:0 !important;padding:0 !important;background:#101a1e !important;}
body > .footer:has(.wm-site-footer) > #footer-content > .container{width:100% !important;max-width:none !important;margin:0 !important;padding:0 !important;}
.wm-site-footer{
  --wm-footer-bg:#101a1e; --wm-footer-muted:rgba(255,255,255,.66); --wm-footer-accent:#9ee1ed; width:100% !important; margin:0 !important;
  padding:44px 0 38px !important; background:var(--wm-footer-bg) !important; color:#fff !important;
  font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
}
.wm-site-footer, .wm-site-footer *{box-sizing:border-box;}
.wm-site-footer .wm-footer-container{
  width:min(1220px,calc(100% - 40px)) !important; max-width:1220px !important; margin:0 auto !important; padding:0 !important;
  position:static !important; left:auto !important; transform:none !important;
}
.wm-site-footer .wm-footer-grid{
  display:grid !important; grid-template-columns:minmax(0,1.45fr) minmax(150px,.75fr) minmax(190px,.8fr) !important; gap:72px !important;
  align-items:start !important; margin:0 !important; padding:0 !important;
}
.wm-site-footer .wm-footer-brand, .wm-site-footer .wm-footer-column{min-width:0 !important;}
.wm-site-footer .wm-footer-brand-link{display:inline-flex !important;align-items:center !important;margin:0 0 18px !important;padding:0 !important;text-decoration:none !important;}
.wm-site-footer .wm-footer-logo{
  display:block !important; width:148px !important; max-width:148px !important; height:auto !important; margin:0 !important; filter:none !important;
  opacity:1 !important;
}
.wm-site-footer .wm-footer-brand-copy{
  max-width:350px !important; margin:0 !important; padding:0 !important; color:var(--wm-footer-muted) !important; font-size:12px !important;
  line-height:1.58 !important;
}
.wm-site-footer .wm-footer-title{
  margin:0 0 14px !important; padding:0 !important; color:var(--wm-footer-accent) !important;
  font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important; font-size:11px !important;
  line-height:1.25 !important; font-weight:800 !important; letter-spacing:.12em !important; text-transform:uppercase !important;
}
.wm-site-footer .wm-footer-links{
  display:grid !important; gap:8px !important; margin:0 !important; padding:0 !important; color:rgba(255,255,255,.72) !important;
  font-size:12px !important; line-height:1.45 !important;
}
.wm-site-footer .wm-footer-links a{
  display:inline-block !important; width:max-content; max-width:100%; margin:0 !important; padding:0 !important;
  color:rgba(255,255,255,.72) !important; text-decoration:none !important;
}
.wm-site-footer .wm-footer-links a:hover, .wm-site-footer .wm-footer-links a:focus{color:#fff !important;text-decoration:none !important;}
.wm-site-footer .wm-footer-links span{color:rgba(255,255,255,.62) !important;}
body > .footer:has(.wm-site-footer) > .copyright{
  display:block !important; width:100% !important; margin:0 !important; padding:0 !important; border:0 !important;
  border-top:1px solid rgba(255,255,255,.13) !important; background:#0b1418 !important; color:rgba(255,255,255,.52) !important;
  font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important; font-size:11px !important;
  line-height:1.45 !important;
}
body > .footer:has(.wm-site-footer) > .copyright > .container{
  width:min(1220px,calc(100% - 40px)) !important; max-width:1220px !important; margin:0 auto !important; padding:15px 0 !important;
  box-sizing:border-box !important;
}
body > .footer:has(.wm-site-footer) > .copyright .row{margin-left:0 !important;margin-right:0 !important;}
body > .footer:has(.wm-site-footer) > .copyright .row > [class*="col-"]{padding-left:0 !important;padding-right:0 !important;}
body > .footer:has(.wm-site-footer) > .copyright,
body > .footer:has(.wm-site-footer) > .copyright p,
body > .footer:has(.wm-site-footer) > .copyright span,
body > .footer:has(.wm-site-footer) > .copyright div{
  color:rgba(255,255,255,.52) !important;
}
body > .footer:has(.wm-site-footer) > .copyright a{color:rgba(255,255,255,.68) !important;text-decoration:none !important;}
body > .footer:has(.wm-site-footer) > .copyright a:hover, body > .footer:has(.wm-site-footer) > .copyright a:focus{color:#fff !important;text-decoration:none !important;}
@media (max-width:800px){
  .wm-site-footer .wm-footer-grid{grid-template-columns:1fr 1fr !important;gap:34px 42px !important;}
  .wm-site-footer .wm-footer-brand{grid-column:1 / -1 !important;}
}
@media (max-width:520px){
  .wm-site-footer{padding:36px 0 30px !important;}
  .wm-site-footer .wm-footer-container, body > .footer:has(.wm-site-footer) > .copyright > .container{width:calc(100% - 28px) !important;max-width:none !important;}
  .wm-site-footer .wm-footer-grid{grid-template-columns:1fr !important;gap:28px !important;}
  .wm-site-footer .wm-footer-brand{grid-column:auto !important;}
  .wm-site-footer .wm-footer-logo{width:142px !important;max-width:142px !important;}
  .wm-site-footer .wm-footer-brand-copy, .wm-site-footer .wm-footer-links{font-size:12px !important;}
  body > .footer:has(.wm-site-footer) > .copyright{font-size:10.5px !important;}
  body > .footer:has(.wm-site-footer) > .copyright > .container{padding-top:13px !important;padding-bottom:13px !important;}
}
/*=========================================================
   8. WIESBADEN – LANDINGPAGE
   =========================================================*/
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .container::before,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .container::after{
  display:none !important; content:none !important;
}
/*--- Wiesbaden: Basis / Komponenten ---*/
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root{
  --surface:#ffffff; --surface-soft:#eef5f6; --text:#152126; --muted:#637178; --accent:#3fa1bb; --accent-dark:#2f859b; --accent-soft:rgba(63,161,187,.12); --line:rgba(21,33,38,.13); --shadow:0 18px 60px rgba(22,46,55,.10); --max:1220px; --radius:2px; --font-display:"Barlow Condensed","Arial Narrow",Arial,sans-serif; --font-body:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root img{
  max-width:100%; display:block;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root a{
  color:inherit; text-decoration:none;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root button,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root input,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root textarea,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root select{
  font:inherit;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root ::selection{
  background:var(--accent); color:white;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .eyebrow{
  margin:0 0 16px; color:var(--accent-dark); letter-spacing:.16em; text-transform:uppercase;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root h1, html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root h2{
  margin:0; font-family:var(--font-display); font-weight:800; text-transform:uppercase; letter-spacing:-.025em; line-height:.91;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root h2{
  max-width:980px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root h3{
  margin:0;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .lead{
  color:#43545b; max-width:760px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .accent{
  color:var(--accent);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .muted{
  color:var(--muted);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .btn{
  display:inline-flex; align-items:center; justify-content:center; gap:11px; min-height:52px; padding:0 24px; border:1px solid #3fa1bb !important; border-radius:var(--radius); background:#3fa1bb !important; color:#ffffff !important; font-weight:800; letter-spacing:.07em; text-transform:uppercase; box-shadow:0 2px 6px rgba(21,33,38,.08); transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .btn .arrow{
  color:inherit !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .btn:hover{
  background:#2f859b !important; border-color:#2f859b !important; color:#ffffff !important; transform:translateY(-2px);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .btn-outline{
  background:#ffffff !important; color:#152126 !important; border-color:#8fa1a8 !important; box-shadow:none;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .btn-outline:hover{
  background:#152126 !important; color:#ffffff !important; border-color:#152126 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-actions .btn{
  min-width:190px; opacity:1 !important; visibility:visible !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-actions .btn-outline{
  min-width:180px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .btn-white{
  background:white; color:var(--text);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .btn-white:hover{
  background:#edf6f7; color:var(--text);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .arrow{
  transition:transform .2s ease;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .btn:hover .arrow,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .textlink:hover .arrow{
  transform:translateX(5px);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .textlink{
  display:inline-flex; align-items:center; gap:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; border-bottom:1px solid currentColor; padding-bottom:5px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero{
  position:relative; overflow:hidden;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-grid{
  display:grid;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-copy{
  display:flex; flex-direction:column; justify-content:center; padding:64px clamp(32px,5vw,72px) 62px max(20px,calc((100vw - var(--max))/2));
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-copy .eyebrow{
  margin-bottom:16px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-copy .lead{
  margin:22px 0 0;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-actions{
  display:flex; flex-wrap:wrap; gap:12px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-points{
  display:flex; flex-wrap:wrap; margin:28px 0 0; padding:0; list-style:none; font-weight:600; color:#405158;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-points li{
  display:flex; align-items:center; gap:9px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .check{
  width:21px; height:21px; border-radius:50%; display:grid; place-items:center; background:var(--accent-soft); color:var(--accent-dark); font-weight:900;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-media{
  position:relative; overflow:hidden; background:#c8e7ee;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-media img{
  width:100%; height:100%; object-fit:cover; object-position:50% 40%;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-media::after{
  content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 52%,rgba(7,24,30,.35));
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .stats{
  background:var(--surface); border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .stat{
  padding:42px 34px; border-right:1px solid var(--line);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .stat:first-child{
  border-left:1px solid var(--line);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .stat-value{
  font-family:var(--font-display); font-weight:800; line-height:.85; color:var(--accent);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .stat-label{
  font-weight:800; letter-spacing:.115em; text-transform:uppercase; color:#506067;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .intro-grid{
  display:grid; grid-template-columns:.95fr 1.05fr; gap:clamp(55px,8vw,115px); align-items:end;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .intro-copy{
  padding-bottom:8px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .problem-grid{
  margin-top:65px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .problem-card{
  padding:42px 42px 42px 0;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .problem-card + .problem-card{
  border-left:1px solid var(--line); padding-left:42px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .problem-card .number{
  font-family:var(--font-display); font-weight:800; font-size:51.2px; color:var(--accent); line-height:1; margin-bottom:20px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .problem-card h3{
  text-transform:uppercase; font-family:var(--font-display);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .problem-card p{
  color:#58666c; margin:15px 0 0;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .section-head{
  display:flex; justify-content:space-between; align-items:flex-end;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .section-head .lead{
  margin:0;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .fair-grid{
  display:grid; align-items:start;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .fair-copy{
  position:sticky; top:135px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .fair-copy .lead{
  margin:25px 0 0; max-width:610px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .fair-list{
  border-top:1px solid var(--line);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .fair-item{
  display:grid; grid-template-columns:78px 1fr; gap:26px; border-bottom:1px solid var(--line);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .fair-num{
  font-family:var(--font-display); font-size:62.4px; font-weight:800; line-height:.82; color:rgba(63,161,187,.28);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .fair-item p{
  margin:10px 0 0; color:#5f6e74; max-width:650px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .fair-note{
  margin:22px 0 0; color:var(--muted);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .statement{
  position:relative; display:flex; align-items:center; overflow:hidden; background:#20363d; color:white;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .statement-bg{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .statement::before{
  content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,27,33,.83) 0%,rgba(8,27,33,.68) 44%,rgba(8,27,33,.13) 78%);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .statement .container{
  position:relative; z-index:2;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .statement .eyebrow{
  color:#a9e5ef;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .statement h2{
  max-width:720px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .statement .lead{
  color:rgba(255,255,255,.86); max-width:590px; margin:25px 0 32px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .reviews-head{
  display:grid; grid-template-columns:1.1fr .9fr; gap:60px; align-items:end;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .rating-block{
  justify-self:end; text-align:right;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .rating-number{
  font-family:var(--font-display); font-weight:800; line-height:.8; color:var(--accent);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .stars{
  letter-spacing:.18em; font-size:19.2px; margin-top:12px; color:#d79d20;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .reviews-grid{
  display:grid; grid-template-columns:repeat(3,1fr);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .review{
  background:var(--surface); border:1px solid rgba(21,33,38,.07); display:flex; flex-direction:column;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .quote-mark{
  font-family:Georgia,serif; color:var(--accent); font-size:72px; line-height:.5;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .review blockquote{
  margin:0; color:#42545a;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .review footer{
  margin-top:auto; padding-top:24px; font-weight:800; letter-spacing:.09em; text-transform:uppercase;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .location-grid{
  display:grid; grid-template-columns:.95fr 1.05fr; align-items:center;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .location-facts{
  display:grid; grid-template-columns:1fr 1fr; border-top:1px solid rgba(255,255,255,.18);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .location-fact{
  padding:25px 26px 25px 0; border-bottom:1px solid rgba(255,255,255,.18);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .location-fact:nth-child(even){
  padding-left:26px; border-left:1px solid rgba(255,255,255,.18);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .location-fact strong{
  display:block; font-family:var(--font-display); text-transform:uppercase;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .location-fact span{
  display:block; margin-top:3px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .map-panel{
  background:linear-gradient(135deg,#c8e1e5,#eef4f4); min-height:510px; color:var(--text); position:relative; overflow:hidden;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .map-panel::before,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .map-panel::after{
  content:""; position:absolute; border:2px solid rgba(63,161,187,.45); border-radius:50%; width:430px; height:430px; right:-110px; top:-65px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .map-panel::after{
  width:260px; height:260px; right:36px; top:58px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .map-lines{
  position:absolute; inset:0; opacity:.55; background:linear-gradient(27deg,transparent 48%,rgba(255,255,255,.9) 49%,rgba(255,255,255,.9) 51%,transparent 52%),linear-gradient(132deg,transparent 47%,rgba(255,255,255,.7) 48%,rgba(255,255,255,.7) 50%,transparent 51%);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .pin{
  position:absolute; left:48%; top:47%; width:60px; height:60px; border-radius:50% 50% 50% 0; background:var(--accent); transform:translate(-50%,-50%) rotate(-45deg); box-shadow:0 12px 30px rgba(31,76,89,.2);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .pin::after{
  content:""; position:absolute; width:22px; height:22px; border-radius:50%; background:white; left:19px; top:19px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .map-card{
  position:absolute; left:24px; bottom:24px; right:24px; background:white; padding:22px 24px; box-shadow:var(--shadow);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .map-card strong{
  font-family:var(--font-display); text-transform:uppercase;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .map-card p{
  margin:4px 0 13px; color:#617077;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .team-grid{
  align-items:start;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .team-copy .lead{
  margin:25px 0 0;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .faq-grid{
  display:grid; grid-template-columns:.82fr 1.18fr;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .faq-list{
  border-top:1px solid var(--line);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root details{
  border-bottom:1px solid var(--line);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root summary{
  list-style:none; cursor:pointer; position:relative; font-weight:700;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root summary::-webkit-details-marker{
  display:none;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root summary::after{
  content:"+"; position:absolute; right:4px; font-family:var(--font-display); font-size:28px; color:var(--accent); transition:transform .2s ease;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root details[open] summary::after{
  transform:rotate(45deg);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root details p{
  margin:-6px 0 25px; color:#5f6e74; max-width:720px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .reveal{
  opacity:1; transform:none;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .availability{
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
@media (prefers-reduced-motion:reduce){
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root, html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root *{
  scroll-behavior:auto !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .reveal{
  opacity:1; transform:none;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .btn, html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .arrow{
  transition:none;
}
}
@media (max-width:1050px){
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-grid{
  grid-template-columns:1fr 1fr;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-copy{
  padding-left:30px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .reviews-grid{
  grid-template-columns:1fr 1fr;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .review:last-child{
  grid-column:1/-1;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .location-grid,
  html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .team-grid,
  html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .faq-grid{
  gap:50px;
}
}
@media (max-width:800px){
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-grid{
  grid-template-columns:1fr; min-height:unset;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-copy{
  order:1; padding:38px 20px 40px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-media{
  order:2; min-height:260px; max-height:320px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .stats-grid{
  grid-template-columns:1fr 1fr;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .stat:nth-child(3){
  border-left:1px solid var(--line); border-top:1px solid var(--line);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .stat:nth-child(4){
  border-top:1px solid var(--line);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .intro-grid,
  html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .fair-grid,
  html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .location-grid,
  html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .team-grid,
  html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .faq-grid,
  html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .reviews-head{
  grid-template-columns:1fr;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .fair-copy{
  position:static;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .problem-grid{
  grid-template-columns:1fr;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .problem-card{
  padding:32px 0;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .problem-card + .problem-card{
  border-left:0; border-top:1px solid var(--line); padding-left:0;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .section-head{
  display:block;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .section-head .lead{
  margin-top:22px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .rating-block{
  justify-self:start; text-align:left;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .reviews-grid{
  grid-template-columns:1fr;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .review:last-child{
  grid-column:auto;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .location-facts{
  grid-template-columns:1fr;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .location-fact:nth-child(even){
  padding-left:0; border-left:0;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .map-panel{
  min-height:420px;
}
}
@media (max-width:520px){
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .container{
  width:min(var(--max),calc(100% - 28px));
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-actions{
  flex-direction:column; align-items:stretch;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-actions .btn{
  width:100%;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-points{
  display:grid; gap:9px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-media{
  min-height:220px; max-height:270px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .stats-grid{
  grid-template-columns:1fr 1fr;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .stat{
  padding:29px 18px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .stat-value{
  font-size:51.2px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .statement{
  min-height:610px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .statement::before{
  background:linear-gradient(90deg,rgba(8,27,33,.88),rgba(8,27,33,.61));
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .review{
  padding:28px 24px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .fair-item{
  grid-template-columns:54px 1fr; gap:18px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .fair-num{
  font-size:51.2px;
}
}
@media (max-width:800px){
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero h1{
  line-height:.92;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-copy .lead{
  margin-top:16px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-actions, html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-points{
  margin-top:22px;
}
}
@media (max-width:800px){
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .availability.section-tight{
  padding-top:38px; padding-bottom:38px;
}
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .eyebrow{
  margin-bottom:11px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .faq details{
  padding:19px 0;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .availability-compact-head{
  display:flex; align-items:baseline; justify-content:space-between; gap:24px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .availability-compact-head .eyebrow{
  margin:0;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .slot-list{
  border-top:1px solid var(--line);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .slot-row{
  display:grid; grid-template-columns:minmax(220px,1.6fr) .8fr .65fr auto; align-items:center; gap:24px; padding:15px 0; border-bottom:1px solid var(--line);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .slot-course{
  font-weight:700;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .slot-day{
  color:var(--muted);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .slot-hour{
  font-family:var(--font-display); font-size:23.2px; font-weight:800; color:var(--accent-dark);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .slot-row .textlink{
  justify-self:end; white-space:nowrap;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .fair-note a{
  text-decoration:underline; text-underline-offset:3px; font-weight:700; color:var(--text);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .fair-note a:hover{
  color:var(--accent-dark);
}
@media (max-width:800px){
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .section{
  padding:58px 0;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .section-tight{
  padding:40px 0;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .statement{
  min-height:500px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .slot-row{
  grid-template-columns:1.5fr .8fr .65fr; gap:10px 16px; padding:14px 0;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .slot-row .textlink{
  grid-column:1/-1; justify-self:start; margin-top:2px;
}
}
@media (max-width:520px){
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .section{
  padding:48px 0;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .section-tight{
  padding:34px 0;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-copy{
  padding-top:25px; padding-bottom:28px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .stats .stat{
  padding:23px 15px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .availability-compact-head{
  margin-bottom:9px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .slot-row{
  grid-template-columns:1fr auto; gap:4px 12px; padding:13px 0;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .slot-course{
  grid-column:1/-1;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .slot-hour{
  font-size:20.8px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .slot-row .textlink{
  grid-column:1/-1;
}
}
/*--- Wiesbaden: finales Typografie- und Layoutsystem ---*/
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root{
  --type-h1:clamp(56px, 5.2vw, 80px); --type-h2:clamp(44px, 4.2vw, 60px); --type-h3:29px; --type-lead:18px; --type-meta:12px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root, html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root *{
  box-sizing:border-box;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root{
  position:relative; overflow-x:clip; background:#fff; color:#152126; font-family:var(--font-body); line-height:1.65; -webkit-font-smoothing:antialiased;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .container{
  width:min(1220px, calc(100% - 40px)) !important; max-width:1220px !important; margin-left:auto !important; margin-right:auto !important; padding-left:0 !important; padding-right:0 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root h1,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root h2,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root h3{
  font-family:var(--font-display) !important; text-transform:uppercase; color:var(--text);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root h1{
  font-weight:800 !important; line-height:.93 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root h2{
  font-weight:800 !important; line-height:.95 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root h3{
  font-weight:700 !important; line-height:1 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root h1 span,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root h2 span,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root h3 span{
  font-family:inherit !important; font-weight:inherit !important; line-height:inherit !important; letter-spacing:inherit !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root p,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root li,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root a,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root button,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root small{
  font-family:var(--font-body);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .lead{
  line-height:1.6 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .eyebrow{
  font-family:var(--font-body) !important; font-weight:700 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .section{
  padding:82px 0 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .section-tight{
  padding:58px 0 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .section-head{
  margin-bottom:34px !important; gap:52px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .section-head .lead{
  line-height:1.55 !important; max-width:450px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-grid{
  width:min(1440px, 100%) !important; max-width:1440px !important; margin-left:auto !important; margin-right:auto !important; grid-template-columns:minmax(0, 1.10fr) minmax(390px, .90fr) !important; min-height:540px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-copy{
  min-width:0 !important; padding-top:48px !important; padding-bottom:48px !important; padding-right:clamp(36px, 3.5vw, 54px) !important; padding-left:clamp(40px, 3.5vw, 56px) !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero h1{
  width:100% !important; max-width:700px !important; overflow-wrap:normal !important; word-break:normal !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-copy .lead{
  margin-top:18px !important; max-width:620px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-actions{
  margin-top:23px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-points{
  margin-top:22px !important; gap:10px 22px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-media{
  min-height:540px !important; max-height:570px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .stats-grid{
  display:grid !important; grid-template-columns:repeat(4, minmax(0, 1fr)) !important; width:min(1220px, calc(100% - 40px)) !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .stats .stat{
  min-width:0 !important; width:auto !important; padding:28px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .stat-value{
  font-size:clamp(42px, 3.7vw, 62px) !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .stat-label{
  margin-top:7px !important; line-height:1.35 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .courses{
  background:#f7f9f9 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root #kurse{
  padding-top:62px !important; padding-bottom:70px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .course-finder-grid{
  display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:16px !important; align-items:start;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .course-finder-group{
  background:#fff !important; padding:24px 22px 20px !important; border:1px solid rgba(21, 33, 38, .08) !important; border-top:3px solid rgba(63, 161, 187, .20) !important; box-shadow:0 4px 14px rgba(21, 33, 38, .045) !important; transition:.2s ease;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .course-finder-group:hover{
  border-top-color:var(--accent) !important; transform:translateY(-2px);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .course-finder-kicker{
  display:block; margin-bottom:17px !important; color:var(--accent-dark); font-weight:700; letter-spacing:.11em; text-transform:uppercase;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .course-finder-group h3{
  margin:0 0 17px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .course-finder-links{
  border-top:1px solid var(--line);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .course-finder-links a{
  display:grid; grid-template-columns:minmax(0, 1fr) auto; gap:14px; align-items:center; padding:12px 0 !important; border-bottom:1px solid var(--line);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .course-finder-links strong,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .course-finder-links small{
  display:block;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .course-finder-links strong{
  line-height:1.35;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .course-finder-links small{
  margin-top:3px; color:var(--muted); line-height:1.35;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .course-finder-links b{
  color:var(--accent-dark); font-size:18px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .availability{
  background:#eaf4f6 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .availability.section-tight{
  padding:30px 0 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .availability-compact-head{
  margin-bottom:10px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .fair{
  background:#fff !important; padding-top:76px !important; padding-bottom:76px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .fair-grid{
  grid-template-columns:.92fr 1.08fr !important; gap:72px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .fair-copy > p:not(.eyebrow):not(.fair-note){
  line-height:1.58 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .fair-item{
  padding:14px 0 16px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .fair-item h3{
  line-height:1.02 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .fair-item p{
  line-height:1.5 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .statement{
  min-height:400px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .statement::after{
  background:linear-gradient(
        90deg,
        rgba(7,24,30,.76) 0%,
        rgba(7,24,30,.54) 42%,
        rgba(7,24,30,.12) 72%,
        rgba(7,24,30,0) 100%
    ) !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root #bewertungen{
  padding:78px 0 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .reviews-grid{
  margin-top:32px !important; gap:14px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .review{
  min-height:250px !important; padding:26px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .review p{
  line-height:1.55 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .quote-mark{
  margin-bottom:18px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .rating-number{
  font-size:82px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root #warum-wir{
  background:#f7f9f9 !important; padding:78px 0 82px !important; border-top:1px solid rgba(21,33,38,.055);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root #warum-wir .intro-grid{
  gap:64px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root #warum-wir .problem-grid{
  margin-top:44px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .team-section{
  background:#fff !important; padding:68px 0 !important; border-top:1px solid rgba(21,33,38,.055);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .team-section .section-head{
  margin-bottom:28px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .team-grid{
  display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:14px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .team-card-horizontal{
  display:grid; grid-template-columns:108px minmax(0, 1fr) !important; gap:17px !important; align-items:start; padding:20px !important; background:#eef5f6 !important; border:1px solid rgba(21,33,38,.08) !important; box-shadow:0 3px 10px rgba(21,33,38,.04) !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .team-card-horizontal .team-photo{
  width:108px !important; height:108px !important; overflow:hidden;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .team-card-horizontal .team-photo img{
  width:100% !important; height:100% !important; object-fit:cover !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .team-card-horizontal .team-copy{
  padding:0 !important; min-width:0;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .team-card-horizontal .team-role{
  margin-bottom:5px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .team-card-horizontal h3{
  margin:0 0 7px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .team-card-horizontal p{
  margin:0 !important; color:#58676d !important; line-height:1.5 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .extras{
  background:#eef5f6 !important; border-top:1px solid rgba(21,33,38,.055);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .extras.section-tight{
  padding:54px 0 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .extras .section-head{
  margin-bottom:26px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .extras-grid{
  display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .extra-card{
  min-height:205px !important; padding:27px 30px !important; background:transparent !important; display:flex; flex-direction:column;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .extra-card + .extra-card{
  border-left:1px solid var(--line);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .extra-num{
  margin-bottom:20px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .location{
  background:#152126 !important; color:#fff !important; padding:78px 0 !important; border-top-color:transparent !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .location-grid{
  gap:64px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .location h1,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .location h2,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .location h3,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .location h4,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .location strong{
  color:#fff !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .location .eyebrow{
  color:#a9e5ef !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .location .lead{
  color:rgba(255,255,255,.82) !important; margin-top:20px !important; margin-bottom:26px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .location-facts{
  margin-top:30px !important; border-top-color:rgba(255,255,255,.20) !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .location-fact{
  border-bottom-color:rgba(255,255,255,.20) !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .location-fact:nth-child(even){
  border-left-color:rgba(255,255,255,.20) !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .location-fact span{
  color:rgba(255,255,255,.76) !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .location a.btn-white{
  background:#fff !important; color:#152126 !important; border-color:#fff !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .location .map-card{
  background:#fff !important; color:#152126 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .location .map-card strong{
  color:#152126 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .location .map-card p{
  color:#617077 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .faq{
  background:#fff !important; padding:66px 0 !important; border-top-color:transparent !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .faq-grid{
  gap:54px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root summary{
  padding:15px 0 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root summary::after{
  top:13px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root details p{
  margin-bottom:16px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root #kurse,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root #freie-plaetze,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root #faire-bedingungen,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root #bewertungen,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root #warum-wir,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root #team,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root #privat,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root #gutschein,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root #standort,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root #faq{
  scroll-margin-top:82px !important;
}
@media (max-width: 1440px) and (min-width: 981px){
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-copy{
  padding-left:clamp(32px, 4vw, 56px) !important;
}
}
@media (max-width: 980px){
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-grid{
  grid-template-columns:1fr 1fr !important; min-height:500px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-media{
  min-height:500px !important; max-height:530px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .fair-grid{
  gap:48px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .team-grid,
  html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .extras-grid{
  grid-template-columns:1fr !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .extra-card + .extra-card{
  border-left:0 !important; border-top:1px solid rgba(21,33,38,.10) !important;
}
}
@media (max-width: 680px){
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root{
  --type-h1:44px; --type-h2:39px; --type-h3:26px; --type-lead:16px;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .section{
  padding:48px 0 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .section-tight{
  padding:32px 0 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .section-head{
  display:block !important; margin-bottom:24px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .section-head .lead{
  margin-top:14px !important; max-width:none !important; line-height:1.5 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .container{
  width:calc(100% - 28px) !important; max-width:none !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-grid{
  grid-template-columns:1fr !important; min-height:0 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-copy{
  padding:34px 18px 32px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero h1{
  line-height:.94 !important; max-width:none !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-copy .lead{
  margin-top:14px !important; line-height:1.5 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-actions{
  margin-top:18px !important; gap:9px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-actions .btn{
  width:100% !important; min-width:0 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-points{
  display:none !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-media{
  min-height:245px !important; max-height:285px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .stats-grid{
  grid-template-columns:1fr 1fr !important; width:calc(100% - 28px) !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .stats .stat{
  padding:20px 16px !important; min-height:96px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .stat-value{
  font-size:38px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .stat-label{
  line-height:1.3 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root #kurse{
  padding-top:46px !important; padding-bottom:48px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .course-finder-grid{
  grid-template-columns:1fr !important; gap:12px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .course-finder-group{
  padding:20px 18px 16px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .course-finder-kicker{
  margin-bottom:12px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .course-finder-group h3{
  margin-bottom:13px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .course-finder-links a{
  padding:10px 0 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .availability.section-tight{
  padding:24px 0 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .fair{
  padding:48px 0 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .fair-grid{
  grid-template-columns:1fr !important; gap:28px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .fair-copy, html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .fair-list{
  width:100% !important; max-width:none !important; min-width:0 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .fair-list{
  display:block !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .fair-item{
  position:relative !important; left:auto !important; right:auto !important; transform:none !important; width:100% !important; padding:13px 0 15px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .statement{
  min-height:340px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .statement::after{
  background:linear-gradient(
            180deg,
            rgba(7,24,30,.72) 0%,
            rgba(7,24,30,.50) 58%,
            rgba(7,24,30,.22) 100%
        ) !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .statement .lead{
  color:rgba(255,255,255,.90) !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root #bewertungen{
  padding:48px 0 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .reviews-grid{
  grid-template-columns:1fr !important; gap:10px !important; margin-top:22px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .review{
  min-height:0 !important; padding:16px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .review p{
  line-height:1.48 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .quote-mark{
  margin-bottom:9px !important; font-size:26px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .reviews-grid .review:nth-child(n/**/+3){
  display:none !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .rating-number{
  font-size:52px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root #warum-wir{
  padding:48px 0 50px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root #warum-wir h2,
  html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .team-section h2,
  html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .faq h2,
  html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .extras h2{
  line-height:.96 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root #warum-wir .intro-grid{
  grid-template-columns:1fr !important; gap:20px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root #warum-wir .problem-grid{
  grid-template-columns:1fr !important; gap:15px !important; margin-top:26px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .team-section{
  padding:46px 0 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .team-section .section-head{
  margin-bottom:20px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .team-grid{
  grid-template-columns:1fr !important; gap:10px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .team-card-horizontal{
  grid-template-columns:78px minmax(0,1fr) !important; gap:13px !important; padding:15px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .team-card-horizontal .team-photo{
  width:78px !important; height:78px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .team-card-horizontal p{
  line-height:1.45 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .extras.section-tight{
  padding:38px 0 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .extras-grid{
  grid-template-columns:1fr !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .extra-card{
  min-height:0 !important; padding:22px 0 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .extra-card + .extra-card{
  border-left:0 !important; border-top:1px solid rgba(21,33,38,.10) !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .location{
  padding:50px 0 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .location-grid{
  grid-template-columns:1fr !important; gap:28px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .location .map-card{
  min-height:260px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .faq{
  padding:48px 0 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .faq-grid{
  grid-template-columns:1fr !important; gap:24px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .faq .section-head{
  margin-bottom:20px !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root summary{
  padding:14px 30px 14px 0 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root details p{
  line-height:1.5 !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root #kurse,
  html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root #freie-plaetze,
  html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root #faire-bedingungen,
  html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root #bewertungen,
  html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root #warum-wir,
  html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root #team,
  html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root #privat,
  html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root #gutschein,
  html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root #standort,
  html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root #faq{
  scroll-margin-top:72px !important;
}
}
/*--- Wiesbaden: Hero / Trust-Feinschliff ---*/
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .stat-subline{
  display:block; margin-top:3px; color:#6c7a80; line-height:1.2; font-weight:600; letter-spacing:.02em; text-transform:none;
}
/*--- Wiesbaden: Akzent- und Kontrastregeln ---*/
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .accent,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root h1 .accent,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root h2 .accent,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root h3 .accent{
  color:#3fa1bb !important; -webkit-text-fill-color:#3fa1bb !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-points .check{
  display:inline-grid !important; place-items:center !important; flex:0 0 21px !important; width:21px !important; height:21px !important; min-width:21px !important; min-height:21px !important; padding:0 !important; margin:0 !important; border:0 !important; border-radius:999px !important; background:rgba(63, 161, 187, .12) !important; color:#2f859b !important; -webkit-text-fill-color:#2f859b !important; font-family:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important; font-size:13px !important; font-weight:900 !important; line-height:21px !important; box-shadow:none !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .stat-value,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .rating-number,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .quote-mark,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .problem-card .number{
  color:#3fa1bb !important; -webkit-text-fill-color:#3fa1bb !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .stats, html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .stats-grid{
  background:#ffffff !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .stats .stat{
  background:#ffffff !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero .btn:not(.btn-outline),
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-actions .btn:not(.btn-outline){
  background:#3fa1bb !important; border-color:#3fa1bb !important; color:#ffffff !important;
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero .btn:not(.btn-outline):hover,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-actions .btn:not(.btn-outline):hover{
  background:#2f859b !important; border-color:#2f859b !important; color:#ffffff !important;
}
/*--- Gemeinsamer Header: Full-Width-Trennlinie ---*/
html.wm-migrated-page body .wm-global-header{
  position:relative; overflow:visible;
}
html.wm-migrated-page body .wm-global-header::after{
  content:""; position:absolute; left:50%; bottom:0; width:100vw; height:1px; background:#e4eaec; transform:translateX(-50%); pointer-events:none;
}

/*---------------------------------------------------------
  WIESBADEN – VERBINDLICHES TYPOGRAFIESYSTEM

  Textstufen Desktop:
  H1 / H2 / H3 / Lead / Body / Small / Meta
  = fluid / fluid / 28 / 18 / 15 / 13 / 11 px

  Mobile:
  44 / 36 / 24 / 16 / 14 / 12 / 10.5 px

  Große Zahlen, Ratings, Uhrzeiten und Icons bleiben bewusst
  eigenständige grafische Elemente.
  ---------------------------------------------------------*/

html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root{
  --type-h1:clamp(56px,5.2vw,80px);
  --type-h2:clamp(44px,4.2vw,60px);
  --type-h3:28px;
  --type-lead:18px;
  --type-body:15px;
  --type-small:13px;
  --type-meta:11px;
  font-size:var(--type-body);
}

/* Überschriften */
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root h1{
  font-size:var(--type-h1);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root h2,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .availability h2,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root #faire-bedingungen h2{
  font-size:var(--type-h2);
}
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root h3,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .problem-card h3,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .course-finder-group h3,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .fair-item h3,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .team-card-horizontal h3{
  font-size:var(--type-h3);
}

/* Lead / Body */
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .lead,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .section-head .lead,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-copy .lead{
  font-size:var(--type-lead);
}

html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .fair-copy > p:not(.eyebrow):not(.fair-note),
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .fair-item p,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .review p,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .review blockquote,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root summary,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root details p{
  font-size:var(--type-body);
}

/* Small */
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .btn,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .textlink,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .hero-points,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .course-finder-links strong,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .location-fact span,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .map-card p,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .team-card-horizontal p,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .slot-day{
  font-size:var(--type-small);
}

/* Meta */
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .eyebrow,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .fair-note,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .review footer,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .stat-label,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .stat-subline,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .course-finder-kicker,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .course-finder-links small,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .team-card-horizontal .team-role{
  font-size:var(--type-meta);
}

/* Visuelle Untertitel: bewusst zwischen Body und H3, aber vereinheitlicht */
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .location-fact strong,
html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root .map-card strong{
  font-size:24px;
}

/* Mobile */
@media (max-width:680px){
  html.wm-wiesbaden-page:not(.wm-editor-mode) body .wm-landing-root{
    --type-h1:44px;
    --type-h2:36px;
    --type-h3:24px;
    --type-lead:16px;
    --type-body:14px;
    --type-small:12px;
    --type-meta:10.5px;
  }
}

/*=========================================================
   9. KURSSEITEN – GEMEINSAME BASIS / KLEINKIND-TABELLE
   =========================================================*/
html.wm-course-page:not(.wm-editor-mode) body{
  --wm-display:"Barlow Condensed","Arial Narrow",Arial,sans-serif; --wm-body:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:#fff !important; background-image:none !important; color:var(--wm-text); font-family:var(--wm-body); font-size:15px; line-height:1.6;
}
html.wm-course-page:not(.wm-editor-mode) body .main{background:#fff !important;padding-bottom:0 !important;}
html.wm-course-page:not(.wm-editor-mode) body #main-content{padding-top:0 !important;padding-bottom:34px !important;}
html.wm-course-page:not(.wm-editor-mode) body .course-module{color:var(--wm-text);font-family:var(--wm-body);}
html.wm-course-page:not(.wm-editor-mode) body .course-module p,
html.wm-course-page:not(.wm-editor-mode) body .course-module li,
html.wm-course-page:not(.wm-editor-mode) body .course-module a,
html.wm-course-page:not(.wm-editor-mode) body .course-module td,
html.wm-course-page:not(.wm-editor-mode) body .course-module th,
html.wm-course-page:not(.wm-editor-mode) body .course-module label,
html.wm-course-page:not(.wm-editor-mode) body .course-module input,
html.wm-course-page:not(.wm-editor-mode) body .course-module select,
html.wm-course-page:not(.wm-editor-mode) body .course-module button{
  font-family:var(--wm-body) !important;
}
html.wm-course-page:not(.wm-editor-mode) body .course-module h1,
html.wm-course-page:not(.wm-editor-mode) body .course-module h2,
html.wm-course-page:not(.wm-editor-mode) body .course-module h3,
html.wm-course-page:not(.wm-editor-mode) body .course-module h4{
  font-family:var(--wm-display) !important; color:var(--wm-text) !important; text-transform:uppercase; letter-spacing:-.02em;
}
html.wm-course-page:not(.wm-editor-mode) body .course-module h2{font-size:34px !important;line-height:1 !important;font-weight:800 !important;}
html.wm-course-page:not(.wm-editor-mode) body .course-module h3,
html.wm-course-page:not(.wm-editor-mode) body .course-module h4{
  font-size:28px !important; line-height:1.05 !important; font-weight:800 !important;
}
html.wm-course-page:not(.wm-editor-mode) body .course-module > .container > .row{margin-left:0 !important;margin-right:0 !important;}
html.wm-course-page:not(.wm-editor-mode) body .course-module > .container > .row > .tab-style-1{
  width:100% !important; padding-left:0 !important; padding-right:0 !important;
}
html.wm-course-page:not(.wm-editor-mode) body .course-module .row.col-md-12{
  float:none !important; width:100% !important; margin-left:0 !important; margin-right:0 !important; padding-left:0 !important;
  padding-right:0 !important;
}
html.wm-course-page:not(.wm-editor-mode) body .course-module{margin-top:8px !important;}
html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header{
  display:grid !important; grid-template-columns:minmax(0,42%) minmax(0,58%) !important; gap:0 !important; align-items:stretch !important;
  width:100% !important; margin:0 0 16px !important; padding:0 !important; background:#eef5f6 !important;
  border:1px solid rgba(21,33,38,.08) !important; box-shadow:0 3px 12px rgba(21,33,38,.035) !important;
}
html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header > [class*="col-"]{float:none !important;width:auto !important;padding:0 !important;}
html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header > .col-md-4{order:2;min-width:0;}
html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header > .col-md-8{
  order:1; display:flex !important; flex-direction:column; justify-content:center; min-width:0; padding:32px 34px !important;
}
html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header .front-carousel,
html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header .carousel,
html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header .carousel-inner,
html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header .carousel-inner > .item,
html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header .carousel-inner > .item > img{
  min-height:340px !important; height:340px !important;
}
html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header .carousel-inner > .item > img{
  width:100% !important; object-fit:cover !important; object-position:center center !important;
}
html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header .carousel-control{width:42px !important;opacity:0 !important;transition:opacity .2s ease;}
html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header:hover .carousel-control{opacity:.75 !important;}
html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header h2{margin:0 0 15px !important;font-size:34px !important;line-height:.96 !important;}
html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header h2 small{
  display:block !important; margin-top:6px !important; font-family:var(--wm-body) !important; font-size:10.5px !important;
  line-height:1.25 !important; font-weight:700 !important; letter-spacing:.09em; text-transform:uppercase;
}
html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header h2 small a{color:var(--wm-accent-dark) !important;}
html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header hr{
  margin:0 0 17px !important; border:0 !important; border-top:1px solid rgba(21,33,38,.11) !important;
}
html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header p{
  margin:0 0 11px !important; color:#46585f !important; font-size:14px !important; line-height:1.55 !important;
}
html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header .blog-info{
  margin:0 !important; padding:8px 0 0 !important; border-top:0 !important; font-size:11.5px !important; color:#617178 !important;
}
html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header .blog-info li i{color:var(--wm-accent) !important;}
html.wm-course-page:not(.wm-editor-mode) body .course-module .tab-style-1{margin-top:0 !important;margin-bottom:0 !important;}
html.wm-course-page:not(.wm-editor-mode) body .course-module .nav-tabs{
  display:flex !important; align-items:flex-end; gap:32px !important; margin:0 0 14px !important; padding:0 !important; border:0 !important;
  border-bottom:1px solid rgba(21,33,38,.13) !important;
}
html.wm-course-page:not(.wm-editor-mode) body .course-module .nav-tabs > li{float:none !important;margin:0 !important;}
html.wm-course-page:not(.wm-editor-mode) body .course-module .nav-tabs > li > a{
  margin:0 !important; padding:10px 0 9px !important; border:0 !important; border-bottom:3px solid transparent !important; border-radius:0 !important;
  background:transparent !important; color:#6c7b81 !important; font-family:var(--wm-body) !important; font-size:12px !important;
  line-height:1.2 !important; font-weight:800 !important; letter-spacing:.06em !important; text-transform:uppercase;
}
html.wm-course-page:not(.wm-editor-mode) body .course-module .nav-tabs > li > a:hover,
html.wm-course-page:not(.wm-editor-mode) body .course-module .nav-tabs > li > a:focus{
  background:transparent !important; color:var(--wm-text) !important; border-bottom-color:rgba(63,161,187,.35) !important;
}
html.wm-course-page:not(.wm-editor-mode) body.tabs-modern .course-module .nav-tabs > li.active > a,
html.wm-course-page:not(.wm-editor-mode) body.tabs-modern .course-module .nav-tabs > li.active > a:hover,
html.wm-course-page:not(.wm-editor-mode) body.tabs-modern .course-module .nav-tabs > li.active > a:focus{
  background:transparent !important; color:var(--wm-text) !important; border-bottom:3px solid var(--wm-accent) !important;
}
html.wm-course-page:not(.wm-editor-mode) body .course-module .courses-table{
  width:100% !important; min-height:0 !important; margin-top:0 !important; overflow:visible !important;
}
html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables,
html.wm-course-page:not(.wm-editor-mode) body .course-module .table{
  width:100% !important; margin-bottom:0 !important; border-collapse:separate !important; border-spacing:0 !important;
  font-family:var(--wm-body) !important; font-size:12px !important; color:#34464d !important;
}
html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables thead tr.heading > th{
  padding:10px !important; background:#152126 !important; color:#fff !important; border:0 !important; border-bottom:0 !important;
  font-family:var(--wm-body) !important; font-size:10.5px !important; line-height:1.25 !important; font-weight:800 !important;
  letter-spacing:.05em !important; text-transform:uppercase; vertical-align:middle !important;
}
html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables thead tr.filter > td{
  padding:7px !important; background:#eef5f6 !important; border:0 !important; border-bottom:1px solid rgba(21,33,38,.11) !important;
}
html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables .form-control,
html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables .btn-default{
  width:auto; min-height:32px !important; height:32px !important; border:1px solid rgba(21,33,38,.12) !important; border-radius:0 !important;
  background:#fff !important; color:#4d5d63 !important; box-shadow:none !important; font-size:10.5px !important;
}
html.wm-course-page:not(.wm-editor-mode) body .course-module .table > tbody > tr > td{
  padding:12px 10px !important; border-top:0 !important; border-bottom:1px solid #e5ebed !important; vertical-align:middle !important;
  font-size:12px !important; line-height:1.45 !important;
}
html.wm-course-page:not(.wm-editor-mode) body .course-module .table-striped > tbody > tr:nth-of-type(odd) > td{background:#fff !important;}
html.wm-course-page:not(.wm-editor-mode) body .course-module .table-striped > tbody > tr:nth-of-type(even) > td{background:#f8fafb !important;}
html.wm-course-page:not(.wm-editor-mode) body .course-module .table-hover > tbody > tr:hover > td{background:#eef6f7 !important;}
html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables thead th.text-center,
html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables tbody td.text-center,
html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables tbody td.details{
  text-align:center !important;
}
html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables .btn{
  min-height:31px !important; height:31px !important; padding:0 11px !important; border-radius:0 !important; box-shadow:none !important;
  font-family:var(--wm-body) !important; font-size:10.5px !important; line-height:29px !important; font-weight:800 !important;
  letter-spacing:.035em !important; text-transform:uppercase;
}
html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables .book-btn,
html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables .btn-primary{
  min-width:68px !important; padding-left:13px !important; padding-right:13px !important; background:#3fa1bb !important;
  border-color:#3fa1bb !important; color:#fff !important;
}
html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables .book-btn:hover,
html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables .btn-primary:hover,
html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables .book-btn:focus,
html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables .btn-primary:focus{
  background:#2f859b !important; border-color:#2f859b !important; color:#fff !important;
}
html.wm-course-page:not(.wm-editor-mode) body .course-module .tax-hint{
  display:inline-block; margin-top:9px !important; font-size:10.5px !important; line-height:1.35 !important; color:#839096 !important;
}
html.wm-course-page:not(.wm-editor-mode) body .course-module .quote-v1::before,
html.wm-course-page:not(.wm-editor-mode) body .course-module .quote-v1::after{
  content:none !important; display:none !important;
}
html.wm-course-page:not(.wm-editor-mode) body .course-module .quote-v1{
  display:grid !important; grid-template-columns:minmax(0,1fr) auto !important; align-items:center !important; column-gap:32px !important;
  row-gap:0 !important; margin:16px 0 0 !important; padding:19px 24px !important; min-height:78px !important; background:#152126 !important;
  color:#fff !important; border:0 !important;
}
html.wm-course-page:not(.wm-editor-mode) body .course-module .quote-v1 > [class*="col-"]{
  float:none !important; width:auto !important; max-width:none !important; min-height:0 !important; margin:0 !important; padding:0 !important;
}
html.wm-course-page:not(.wm-editor-mode) body .course-module .quote-v1 > .quote-v1-inner:first-child{
  grid-column:1 !important; display:block !important; justify-self:stretch !important; align-self:center !important; text-align:left !important;
}
html.wm-course-page:not(.wm-editor-mode) body .course-module .quote-v1 > .quote-v1-inner:last-child{
  grid-column:2 !important; display:flex !important; align-items:center !important; justify-content:flex-end !important; justify-self:end !important;
  align-self:center !important; text-align:right !important;
}
html.wm-course-page:not(.wm-editor-mode) body .course-module .quote-v1 > .quote-v1-inner:first-child > span{
  display:block !important; max-width:720px !important; margin:0 !important; padding:0 !important; color:rgba(255,255,255,.86) !important;
  font-family:var(--wm-body) !important; font-size:12px !important; line-height:1.5 !important; text-align:left !important;
}
html.wm-course-page:not(.wm-editor-mode) body .course-module .quote-v1 .btn-transparent{
  display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:0 !important; min-width:154px !important;
  width:auto !important; height:38px !important; min-height:38px !important; margin:0 !important; padding:0 17px !important;
  border:1px solid var(--wm-accent) !important; border-radius:0 !important; background:var(--wm-accent) !important; background-image:none !important;
  color:#fff !important; font-family:var(--wm-body) !important; font-size:10.5px !important; line-height:1 !important; font-weight:800 !important;
  letter-spacing:.05em; text-transform:uppercase; white-space:nowrap;
}
html.wm-course-page:not(.wm-editor-mode) body .course-module .quote-v1 .btn-transparent:hover,
html.wm-course-page:not(.wm-editor-mode) body .course-module .quote-v1 .btn-transparent:focus{
  background:#2f859b !important; border-color:#2f859b !important; color:#fff !important;
}
html.wm-course-page:not(.wm-editor-mode) body .course-module .quote-v1 .btn-transparent::before,
html.wm-course-page:not(.wm-editor-mode) body .course-module .quote-v1 .btn-transparent::after{
  content:none !important; display:none !important;
}
html.wm-course-page:not(.wm-editor-mode) body .course-module .quote-v1 .btn-transparent > i.fa,
html.wm-course-page:not(.wm-editor-mode) body .course-module .quote-v1 .btn-transparent > i.fa.fa-rocket{
  display:inline-block !important; flex:0 0 auto !important; width:auto !important; height:auto !important; margin:0 7px 0 0 !important;
  padding:0 !important; position:static !important; transform:none !important; color:#fff !important; font-family:FontAwesome !important;
  font-size:13px !important; font-style:normal !important; font-weight:normal !important; line-height:1 !important; vertical-align:middle !important;
}
/*--- Kursmodul: Tabs / Formulare ---*/
html.wm-course-page:not(.wm-editor-mode) body .course-module .tab-content{background:#fff !important;}
html.wm-course-page:not(.wm-editor-mode) body .course-module .tab-pane > h2:first-child{margin-top:12px !important;}
html.wm-course-page:not(.wm-editor-mode) body .course-module .tab-pane form{max-width:780px;}
html.wm-course-page:not(.wm-editor-mode) body .course-module .tab-pane .form-control{
  border-radius:0 !important; box-shadow:none !important; border-color:#d7e0e3 !important;
}
/*--- Kursmodul: Tablet ---*/
@media (max-width:991px) and (min-width:768px){
  html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header{grid-template-columns:minmax(0,44%) minmax(0,56%) !important;}
  html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header > .col-md-8{padding:27px 28px !important;}
  html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header h2{font-size:32px !important;}
  html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header .front-carousel,
  html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header .carousel,
  html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header .carousel-inner,
  html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header .carousel-inner > .item,
  html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header .carousel-inner > .item > img{
    min-height:320px !important; height:320px !important;
  }
  html.wm-course-page:not(.wm-editor-mode) body .course-module .quote-v1{column-gap:18px !important;padding:18px 20px !important;}
  html.wm-course-page:not(.wm-editor-mode) body .course-module .quote-v1 > .quote-v1-inner:first-child > span{font-size:12px !important;}
  html.wm-course-page:not(.wm-editor-mode) body .course-module .quote-v1 .btn-transparent{min-width:138px !important;}
}
/* Aufbaukurs-Hinweis:
   Die gemeinsame Seitenbasis, Course-Header, Tabs, Info-Agent, Formulare
   und Mobile-Karten werden geteilt. Die Desktop-Ergebnisdarstellung des
   Aufbaukurses (Wochentag-Gruppen/Karten) bleibt hier bewusst unberührt
   und erhält nach Sichtprüfung einen eigenen Komponentenblock. */
/*--- Kleinkind: Desktop-Tabelle ---*/
@media (min-width:768px){
  html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables{table-layout:auto !important;}
  html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables thead th:nth-child(1){width:17% !important;}
  html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables thead th:nth-child(2){width:9% !important;}
  html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables thead th:nth-child(3){width:22% !important;}
  html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables thead th:nth-child(4){width:15% !important;}
  html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables thead th:nth-child(5){width:7% !important;}
  html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables thead th:nth-child(6){width:8% !important;}
  html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables thead th:nth-child(7){width:7% !important;}
  html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables thead th:nth-child(8){width:6% !important;}
  html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables thead th:nth-child(9){width:9% !important;}
  html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables thead th:nth-child(n/**/+4),
  html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables tbody td:nth-child(n/**/+4){
    text-align:center !important;
  }
  html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables thead th:nth-child(5),
  html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables thead th:nth-child(6),
  html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables thead th:nth-child(7),
  html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables thead th:nth-child(8),
  html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables thead th:nth-child(9),
  html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables tbody td:nth-child(5),
  html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables tbody td:nth-child(6),
  html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables tbody td:nth-child(7),
  html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables tbody td:nth-child(8),
  html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables tbody td:nth-child(9){
    white-space:nowrap !important;
  }
  html.wm-course-page:not(.wm-editor-mode) body .course-module .table > tbody > tr > td{font-size:12px !important;}
  html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables .filter td:first-child input{min-width:145px !important;}
  html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables .filter-cancel{opacity:.62 !important;}
  html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables .filter-cancel:hover,
  html.wm-course-page:not(.wm-editor-mode) body .course-module table.datatables .filter-cancel:focus{
    opacity:1 !important;
  }
}
/*--- Kursmodul: Mobile ---*/
@media (max-width:767px){
  html.wm-course-page:not(.wm-editor-mode) body .course-module{margin-top:14px !important;}
  html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header{display:flex !important;flex-direction:column !important;margin-bottom:14px !important;}
  html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header > .col-md-4{order:1 !important;}
  html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header > .col-md-8{order:2 !important;padding:20px 18px 21px !important;}
  html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header .front-carousel,
  html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header .carousel,
  html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header .carousel-inner{
    min-height:205px !important; height:205px !important; overflow:hidden !important;
  }
  html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header .carousel-inner > .item{
    display:none !important; position:relative !important; left:auto !important; right:auto !important; min-height:205px !important;
    height:205px !important; transform:none !important; -webkit-transform:none !important; transition:none !important;
    -webkit-transition:none !important;
  }
  html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header .carousel-inner > .item.active{
    display:block !important; left:auto !important; right:auto !important; transform:none !important; -webkit-transform:none !important;
  }
  html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header .carousel-inner > .next,
  html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header .carousel-inner > .prev,
  html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header .carousel-inner > .active.left,
  html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header .carousel-inner > .active.right{
    display:none !important;
  }
  html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header .carousel-inner > .item > img{
    width:100% !important; max-width:none !important; min-height:205px !important; height:205px !important; margin:0 !important;
    object-fit:cover !important; object-position:center center !important;
  }
  html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header h2{
    display:block !important; width:100% !important; max-width:100% !important; margin:0 0 14px !important; font-size:26px !important;
    line-height:1 !important; white-space:normal !important; overflow:visible !important; overflow-wrap:normal !important;
    word-break:normal !important;
  }
  html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header h2 small{display:block !important;margin-top:6px !important;white-space:normal !important;}
  html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header p{font-size:13px !important;line-height:1.56 !important;}
  html.wm-course-page:not(.wm-editor-mode) body .course-module .course-header hr + .blog-info{border-top:0 !important;margin-top:0 !important;padding-top:0 !important;}
  html.wm-course-page:not(.wm-editor-mode) body .course-module .nav-tabs{
    display:flex !important; flex-wrap:nowrap !important; align-items:flex-end !important; gap:16px !important; width:100% !important;
    margin:0 0 16px !important; overflow-x:auto !important; overflow-y:hidden !important; white-space:nowrap !important;
    scrollbar-width:none !important; -ms-overflow-style:none !important; -webkit-overflow-scrolling:touch;
  }
  html.wm-course-page:not(.wm-editor-mode) body .course-module .nav-tabs::-webkit-scrollbar{display:none !important;}
  html.wm-course-page:not(.wm-editor-mode) body .course-module .nav-tabs > li{flex:0 0 auto !important;min-width:0 !important;margin:0 !important;}
  html.wm-course-page:not(.wm-editor-mode) body .course-module .nav-tabs > li > a{
    display:block !important; padding:10px 0 9px !important; font-size:11.5px !important; line-height:1.15 !important; letter-spacing:.03em !important;
    white-space:nowrap !important; overflow:visible !important; text-overflow:clip !important;
  }
  html.wm-course-page:not(.wm-editor-mode) body .course-module .mobile-filter{margin:0 0 14px !important;padding:0 !important;}
  html.wm-course-page:not(.wm-editor-mode) body .course-module .mobile-filter h3{
    margin:12px 0 8px !important; padding:0 !important; font-size:20px !important; line-height:1 !important;
  }
  html.wm-course-page:not(.wm-editor-mode) body .course-module .mobile-filter p{margin:0 !important;}
  html.wm-course-page:not(.wm-editor-mode) body .course-module .mobile-filter .form-control,
  html.wm-course-page:not(.wm-editor-mode) body .course-module .mobile-filter select{
    height:40px !important; min-height:40px !important; padding:0 11px !important; border:1px solid #d7e0e3 !important; border-radius:0 !important;
    background:#fff !important; box-shadow:none !important; color:#405158 !important; font-size:11.5px !important;
  }
  html.wm-course-page:not(.wm-editor-mode) body .course-module [id^="mobile_courses"]{margin-top:12px !important;}
  html.wm-course-page:not(.wm-editor-mode) body .course-module [id^="mobile_courses"] .coursedate.pricing{
    margin:0 0 18px !important; border:1px solid #e6ecee !important; border-radius:0 !important; box-shadow:none !important;
    background:#fff !important;
  }
  html.wm-course-page:not(.wm-editor-mode) body .course-module [id^="mobile_courses"] .coursedate.pricing .pricing-head h3{
    margin:0 !important; padding:8px 12px !important; min-height:0 !important; background:#3fa1bb !important; color:#ffffff !important;
    border:0 !important; font-family:var(--wm-body) !important; font-size:15.5px !important; line-height:1.2 !important; font-weight:600 !important;
    letter-spacing:.01em !important; text-transform:none !important; text-align:center !important;
  }
  html.wm-course-page:not(.wm-editor-mode) body .course-module [id^="mobile_courses"] .coursedate.pricing .pricing-head h4.price{
    margin:0 !important; padding:11px 12px 13px !important; background:#fff !important; border:0 !important; color:#152126 !important;
    text-align:center !important; font-family:var(--wm-body) !important; line-height:1 !important;
  }
  html.wm-course-page:not(.wm-editor-mode) body .course-module [id^="mobile_courses"] .coursedate.pricing .pricing-head h4.price > div[id^="m_price_"]{
    display:block !important; margin:0 !important; padding:0 !important; color:#152126 !important; font-family:var(--wm-body) !important;
    font-size:15.5px !important; line-height:1.2 !important; font-weight:600 !important; text-align:center !important;
  }
  html.wm-course-page:not(.wm-editor-mode) body .course-module [id^="mobile_courses"] .coursedate.pricing .pricing-head h4.price > div[id^="m_price_"] > span:first-child{
    display:inline !important; margin:0 !important; padding:0 !important; color:#152126 !important; font-family:var(--wm-body) !important;
    font-size:15.5px !important; line-height:1.2 !important; font-weight:600 !important;
  }
  html.wm-course-page:not(.wm-editor-mode) body .course-module [id^="mobile_courses"] .coursedate.pricing .pricing-head .hints{
    display:block !important; width:100% !important; margin:7px 0 0 !important; padding:0 !important; line-height:1.2 !important;
  }
  html.wm-course-page:not(.wm-editor-mode) body .course-module [id^="mobile_courses"] .coursedate.pricing .pricing-head .hints small{
    display:block !important; width:100% !important; margin:0 0 3px !important; padding:0 !important; color:#7a878c !important;
    font-family:var(--wm-body) !important; font-size:11.5px !important; line-height:1.25 !important; font-weight:500 !important;
    letter-spacing:0 !important; text-transform:none !important; text-align:center !important; white-space:normal !important;
  }
  html.wm-course-page:not(.wm-editor-mode) body .course-module [id^="mobile_courses"] .coursedate.pricing .pricing-head .hints .rest-price{
    margin-bottom:0 !important; color:#9aa4a8 !important; font-size:11.5px !important;
  }
  html.wm-course-page:not(.wm-editor-mode) body .course-module [id^="mobile_courses"] .coursedate.pricing .pricing-head .days{
    display:block !important; width:100% !important; margin:9px 0 0 !important; padding:0 !important; color:#52636a !important;
    font-family:var(--wm-body) !important; font-size:11.5px !important; line-height:1.25 !important; font-weight:500 !important;
    letter-spacing:0 !important; text-transform:none !important; text-align:center !important; white-space:normal !important;
  }
  html.wm-course-page:not(.wm-editor-mode) body .course-module [id^="mobile_courses"] .coursedate.pricing .pricing-content{
    margin:0 !important; padding:0 !important; border-top:1px solid #edf1f2 !important; background:#fff !important;
  }
  html.wm-course-page:not(.wm-editor-mode) body .course-module [id^="mobile_courses"] .coursedate.pricing .pricing-content li{
    min-height:34px !important; margin:0 !important; padding:8px 11px !important; border-top:0 !important; border-bottom:1px solid #edf1f2 !important;
    background:#fff !important; color:#52636a !important; font-family:var(--wm-body) !important; font-size:11.5px !important;
    line-height:1.4 !important;
  }
  html.wm-course-page:not(.wm-editor-mode) body .course-module [id^="mobile_courses"] .coursedate.pricing .pricing-content > li:nth-child(4){
    color:#34464d !important; font-weight:700 !important;
  }
  html.wm-course-page:not(.wm-editor-mode) body .course-module [id^="mobile_courses"] .coursedate.pricing .pricing-content > li:nth-child(2),
  html.wm-course-page:not(.wm-editor-mode) body .course-module [id^="mobile_courses"] .coursedate.pricing .pricing-content li:empty{
    display:none !important; min-height:0 !important; height:0 !important; margin:0 !important; padding:0 !important; border:0 !important;
  }
  html.wm-course-page:not(.wm-editor-mode) body .course-module [id^="mobile_courses"] .coursedate.pricing .pricing-content li i.fa{
    width:15px !important; margin-right:5px !important; color:#8a989d !important; font-size:10.5px !important; text-align:center !important;
  }
  html.wm-course-page:not(.wm-editor-mode) body .course-module [id^="mobile_courses"] .coursedate.pricing .pricing-content a.view-details{
    color:#52636a !important; font-weight:500 !important; text-decoration:none !important;
  }
  html.wm-course-page:not(.wm-editor-mode) body .course-module [id^="mobile_courses"] .coursedate.pricing .pricing-content .text-success{
    color:#52636a !important; font-weight:500 !important;
  }
  html.wm-course-page:not(.wm-editor-mode) body .course-module [id^="mobile_courses"] .coursedate.pricing .pricing-content .text-danger,
  html.wm-course-page:not(.wm-editor-mode) body .course-module [id^="mobile_courses"] .coursedate.pricing .pricing-content .text-danger i{
    color:#dc3545 !important;
  }
  html.wm-course-page:not(.wm-editor-mode) body .course-module [id^="mobile_courses"] .coursedate.pricing .pricing-footer{
    margin:0 !important; padding:12px 12px 13px !important; background:#fff !important; border:0 !important; text-align:center !important;
  }
  html.wm-course-page:not(.wm-editor-mode) body .course-module [id^="mobile_courses"] .coursedate.pricing .pricing-footer form{margin:0 !important;}
  html.wm-course-page:not(.wm-editor-mode) body .course-module [id^="mobile_courses"] .pricing-footer .btn,
  html.wm-course-page:not(.wm-editor-mode) body .course-module [id^="mobile_courses"] .btn.book-btn,
  html.wm-course-page:not(.wm-editor-mode) body .course-module [id^="mobile_courses"] .btn-primary,
  html.wm-course-page:not(.wm-editor-mode) body .course-module [id^="mobile_courses"] .btn-info{
    display:inline-flex !important; align-items:center !important; justify-content:center !important; min-width:116px !important;
    min-height:38px !important; height:38px !important; margin:0 auto !important; padding:0 15px !important; border-radius:0 !important;
    box-shadow:none !important; font-family:var(--wm-body) !important; font-size:15.5px !important; line-height:1.1 !important;
    font-weight:700 !important; letter-spacing:.035em !important; text-transform:uppercase !important;
  }
  html.wm-course-page:not(.wm-editor-mode) body .course-module [id^="mobile_courses"] .btn.book-btn,
  html.wm-course-page:not(.wm-editor-mode) body .course-module [id^="mobile_courses"] .btn-primary,
  html.wm-course-page:not(.wm-editor-mode) body .course-module [id^="mobile_courses"] .btn-info{
    background:#3fa1bb !important; border-color:#3fa1bb !important; color:#fff !important;
  }
  html.wm-course-page:not(.wm-editor-mode) body .course-module [id^="mobile_courses"] .btn.book-btn:hover,
  html.wm-course-page:not(.wm-editor-mode) body .course-module [id^="mobile_courses"] .btn-primary:hover,
  html.wm-course-page:not(.wm-editor-mode) body .course-module [id^="mobile_courses"] .btn-info:hover{
    background:#2f859b !important; border-color:#2f859b !important; color:#fff !important;
  }
  html.wm-course-page:not(.wm-editor-mode) body .course-module .quote-v1{grid-template-columns:1fr !important;row-gap:16px !important;padding:20px 18px !important;}
  html.wm-course-page:not(.wm-editor-mode) body .course-module .quote-v1 > .quote-v1-inner:first-child,
  html.wm-course-page:not(.wm-editor-mode) body .course-module .quote-v1 > .quote-v1-inner:last-child{
    grid-column:1 !important; justify-self:start !important; text-align:left !important;
  }
  html.wm-course-page:not(.wm-editor-mode) body .course-module .quote-v1 > .quote-v1-inner:last-child{justify-content:flex-start !important;}
  html.wm-course-page:not(.wm-editor-mode) body .course-module .quote-v1 > .quote-v1-inner:first-child > span{font-size:11.5px !important;line-height:1.5 !important;}
  html.wm-course-page:not(.wm-editor-mode) body .course-module .quote-v1 .btn-transparent{
    min-width:132px !important; padding:0 15px !important; font-size:10.5px !important;
  }
  html.wm-course-page:not(.wm-editor-mode) body .cc-revoke.cc-bottom.cc-right{
    position:fixed !important; right:10px !important; bottom:10px !important; top:auto !important; left:auto !important; width:auto !important;
    min-width:0 !important; max-width:none !important; margin:0 !important; padding:6px 8px !important; transform:none !important;
    -webkit-transform:none !important; border-radius:2px !important; font-size:10px !important; line-height:1.1 !important;
    z-index:2147483646 !important;
  }
}
@media (max-width:420px){
  html.wm-course-page:not(.wm-editor-mode) body .course-module .nav-tabs{gap:12px !important;}
  html.wm-course-page:not(.wm-editor-mode) body .course-module .nav-tabs > li > a{font-size:11.5px !important;}
  html.wm-course-page:not(.wm-editor-mode) body .course-module [id^="mobile_courses"] .coursedate.pricing .pricing-head h4.price > div[id^="m_price_"],
  html.wm-course-page:not(.wm-editor-mode) body .course-module [id^="mobile_courses"] .coursedate.pricing .pricing-head h4.price > div[id^="m_price_"] > span:first-child{
    font-size:15.5px !important;
  }
}

/*=========================================================
  10. AUFBAUKURS – DESKTOP-WOCHENTAGE + KURSKARTEN

  Exakt auf das tatsächliche Kutego-DOM abgestimmt:
  .courses-week
    .panel
      button.panel-heading
      .panel-collapse > .panel-body
        .courses-week-tiles
          .courses-week-tile

  Nur /kinderaufbau-kurs/, Public View, Desktop >= 769px.
  =========================================================*/

@media (min-width:769px){

  /* ---------- Wochentag-Gruppen ---------- */

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week{
    margin:18px 0 0 !important;
    padding:0 !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week > .panel{
    margin:0 0 14px !important;
    border:1px solid #dfe7ea !important;
    border-radius:0 !important;
    background:#fff !important;
    box-shadow:none !important;
    overflow:hidden !important;
  }

  /* panel-info (z.B. Samstag) optisch bewusst wie alle anderen Tage */
  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week > .panel.panel-info{
    border-color:#dfe7ea !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week > .panel > button.panel-heading{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    min-height:42px !important;
    margin:0 !important;
    padding:0 14px !important;
    border:0 !important;
    border-radius:0 !important;
    background:#f3f7f8 !important;
    color:#152126 !important;
    box-shadow:none !important;
    text-align:left !important;
    cursor:pointer !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week > .panel > button.panel-heading:hover,
  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week > .panel > button.panel-heading:focus{
    background:#edf4f6 !important;
    color:#152126 !important;
    outline:0 !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week > .panel > button.panel-heading strong{
    color:#152126 !important;
    font-family:var(--wm-body) !important;
    font-size:12px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    letter-spacing:.065em !important;
    text-transform:uppercase !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week > .panel > button.panel-heading i{
    margin:0 0 0 12px !important;
    color:#52636a !important;
    font-size:10.5px !important;
    line-height:1 !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week .panel-collapse > .panel-body{
    margin:0 !important;
    padding:14px !important;
    border:0 !important;
    border-top:1px solid #e7edef !important;
    background:#fff !important;
  }

  /* ---------- Kartenraster ---------- */

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tiles{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:flex-start !important;
    gap:14px !important;
    margin:0 !important;
    padding:0 !important;
  }

  /* ---------- einzelne Kurskarte ---------- */

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile{
    flex:0 0 290px !important;
    width:290px !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 0 13px !important;
    border:1px solid #dfe7ea !important;
    border-radius:0 !important;
    background:#fff !important;
    box-shadow:none !important;
    overflow:hidden !important;
    color:#52636a !important;
    font-family:var(--wm-body) !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-time{
    display:flex !important;
    align-items:center !important;
    width:100% !important;
    min-height:38px !important;
    margin:0 0 12px !important;
    padding:0 13px !important;
    border:0 !important;
    border-radius:0 !important;
    background:#3fa1bb !important;
    color:#fff !important;
    font-family:var(--wm-body) !important;
    font-size:13px !important;
    line-height:1.2 !important;
    font-weight:700 !important;
    letter-spacing:0 !important;
  }

  /* Kutego-Hilfsklasse padding-left-10 vollständig neutralisieren */
  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-name,
  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-from,
  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-teacher,
  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-price{
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:13px !important;
    padding-right:13px !important;
    font-family:var(--wm-body) !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-name{
    margin-top:0 !important;
    color:#152126 !important;
    font-size:13px !important;
    line-height:1.35 !important;
    font-weight:700 !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-from{
    margin-top:4px !important;
    color:#52636a !important;
    font-size:11.5px !important;
    line-height:1.35 !important;
    font-weight:500 !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-teacher{
    display:flex !important;
    align-items:center !important;
    margin-top:4px !important;
    color:#74848a !important;
    font-size:11.5px !important;
    line-height:1.35 !important;
    font-weight:500 !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-teacher i{
    flex:0 0 14px !important;
    width:14px !important;
    margin:0 4px 0 0 !important;
    color:#8a989d !important;
    font-size:10.5px !important;
    line-height:1 !important;
    text-align:center !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-price{
    margin-top:11px !important;
    color:#152126 !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-price strong{
    color:#152126 !important;
    font-family:var(--wm-body) !important;
    font-size:15.5px !important;
    line-height:1.2 !important;
    font-weight:600 !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-price sup{
    position:relative !important;
    top:-.15em !important;
    margin-left:2px !important;
    color:#74848a !important;
    font-size:9px !important;
    line-height:1 !important;
    font-weight:500 !important;
  }

  /* ---------- Aktionen ---------- */

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile form{
    display:flex !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:9px !important;
    margin:12px 0 0 !important;
    padding:0 13px !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile .book-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:86px !important;
    height:34px !important;
    min-height:34px !important;
    margin:0 !important;
    padding:0 13px !important;
    border:1px solid #3fa1bb !important;
    border-radius:0 !important;
    background:#3fa1bb !important;
    color:#fff !important;
    box-shadow:none !important;
    font-family:var(--wm-body) !important;
    font-size:11px !important;
    line-height:1 !important;
    font-weight:700 !important;
    letter-spacing:.025em !important;
    text-transform:uppercase !important;
    vertical-align:middle !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile .book-btn:hover,
  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile .book-btn:focus{
    border-color:#2f859b !important;
    background:#2f859b !important;
    color:#fff !important;
    outline:0 !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile .termBtn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:auto !important;
    min-height:34px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#74848a !important;
    box-shadow:none !important;
    font-family:var(--wm-body) !important;
    font-size:11px !important;
    line-height:1.2 !important;
    font-weight:500 !important;
    letter-spacing:0 !important;
    text-transform:none !important;
    vertical-align:middle !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile .termBtn:hover,
  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile .termBtn:focus{
    border:0 !important;
    background:transparent !important;
    color:#52636a !important;
    outline:0 !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile .termBtn i{
    flex:0 0 auto !important;
    margin:0 4px 0 0 !important;
    color:#8a989d !important;
    font-size:10.5px !important;
    line-height:1 !important;
  }

  /* Bootstrap-Farbklassen innerhalb der Karte neutralisieren */
  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile .text-success{
    color:#52636a !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile .text-muted{
    color:#74848a !important;
  }
}

/*=========================================================
  11. AUFBAUKURS – MOBILE FEINSCHLIFF

  Ziel:
  - mobile Wochentage/Kurskarten an das bestehende
    Walkmühltal-Designsystem angleichen
  - Legacy-Grün entfernen
  - Typografie auf zwei Kartenstufen reduzieren
  - Abstände und Achsen vereinheitlichen

  Nur /kinderaufbau-kurs/, Public View, <= 768px.
  =========================================================*/

@media (max-width:768px){

  /* ---------- Intro / oberer Seitenfluss ---------- */

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module{
    font-size:13px !important;
    line-height:1.48 !important;
  }

  /* ---------- Wochentag-Gruppen ---------- */

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week{
    margin-top:18px !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week > .panel{
    margin:0 0 12px !important;
    border:1px solid #dfe7ea !important;
    border-radius:0 !important;
    background:#fff !important;
    box-shadow:none !important;
    overflow:hidden !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week > .panel.panel-info{
    border-color:#dfe7ea !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week > .panel > button.panel-heading{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    min-height:42px !important;
    margin:0 !important;
    padding:0 12px !important;
    border:0 !important;
    border-radius:0 !important;
    background:#f3f7f8 !important;
    color:#152126 !important;
    box-shadow:none !important;
    text-align:left !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week > .panel > button.panel-heading strong{
    color:#152126 !important;
    font-family:var(--wm-body) !important;
    font-size:12px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    letter-spacing:.055em !important;
    text-transform:uppercase !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week > .panel > button.panel-heading i{
    margin:0 !important;
    color:#52636a !important;
    font-size:10.5px !important;
    line-height:1 !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week .panel-collapse > .panel-body{
    margin:0 !important;
    padding:10px !important;
    border:0 !important;
    border-top:1px solid #e7edef !important;
    background:#fff !important;
  }

  /* ---------- Mobile Karten ---------- */

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tiles{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 0 12px !important;
    border:1px solid #dfe7ea !important;
    border-radius:0 !important;
    background:#fff !important;
    box-shadow:none !important;
    overflow:hidden !important;
    font-family:var(--wm-body) !important;
  }

  /* große Kartenstufe: Zeit / Preis / CTA = 15.5px */
  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-time{
    display:flex !important;
    align-items:center !important;
    width:100% !important;
    min-height:40px !important;
    margin:0 0 12px !important;
    padding:0 12px !important;
    border:0 !important;
    border-radius:0 !important;
    background:#3fa1bb !important;
    color:#fff !important;
    font-family:var(--wm-body) !important;
    font-size:15.5px !important;
    line-height:1.2 !important;
    font-weight:600 !important;
  }

  /* kleine Kartenstufe: alle Details = 11.5px */
  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-name,
  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-from,
  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-teacher,
  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-price{
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:12px !important;
    padding-right:12px !important;
    font-family:var(--wm-body) !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-name{
    margin-top:0 !important;
    color:#34464d !important;
    font-size:11.5px !important;
    line-height:1.4 !important;
    font-weight:700 !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-from{
    margin-top:4px !important;
    color:#52636a !important;
    font-size:11.5px !important;
    line-height:1.4 !important;
    font-weight:500 !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-teacher{
    display:flex !important;
    align-items:center !important;
    margin-top:4px !important;
    color:#74848a !important;
    font-size:11.5px !important;
    line-height:1.4 !important;
    font-weight:500 !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-teacher i{
    width:14px !important;
    margin-right:4px !important;
    color:#8a989d !important;
    font-size:10.5px !important;
    text-align:center !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-price{
    margin-top:10px !important;
    color:#152126 !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-price strong{
    color:#152126 !important;
    font-family:var(--wm-body) !important;
    font-size:15.5px !important;
    line-height:1.2 !important;
    font-weight:600 !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-price sup{
    color:#74848a !important;
    font-size:9px !important;
    font-weight:500 !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile form{
    display:flex !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:9px !important;
    margin:12px 0 0 !important;
    padding:0 12px !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile .book-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:92px !important;
    height:38px !important;
    margin:0 !important;
    padding:0 13px !important;
    border:1px solid #3fa1bb !important;
    border-radius:0 !important;
    background:#3fa1bb !important;
    color:#fff !important;
    box-shadow:none !important;
    font-family:var(--wm-body) !important;
    font-size:15.5px !important;
    line-height:1 !important;
    font-weight:700 !important;
    letter-spacing:0 !important;
    text-transform:none !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile .termBtn{
    display:inline-flex !important;
    align-items:center !important;
    min-height:38px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    color:#74848a !important;
    box-shadow:none !important;
    font-family:var(--wm-body) !important;
    font-size:11.5px !important;
    line-height:1.2 !important;
    font-weight:500 !important;
    text-transform:none !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile .termBtn i{
    margin-right:4px !important;
    color:#8a989d !important;
    font-size:10.5px !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile .text-success{
    color:#52636a !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile .text-muted{
    color:#74848a !important;
  }
}

/*=========================================================
  12. AUFBAUKURS – MOBILE POLISH

  Reiner Feinschliff auf Basis V1.7:
  - kompaktere Tagesköpfe
  - weniger verschachtelte Rahmenwirkung
  - Monatsvertrag etwas kontrastreicher
  - Filter optisch an das neue System angleichen

  Nur /kinderaufbau-kurs/, Public View, <= 768px.
  =========================================================*/

@media (max-width:768px){

  /* Tagesköpfe etwas kompakter */
  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week > .panel > button.panel-heading{
    min-height:38px !important;
  }

  /* Innere Karte visuell zurücknehmen:
     Tagespanel bleibt primärer Rahmen. */
  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile{
    border-color:#e8edef !important;
  }

  /* etwas mehr Luft vor dem Preis */
  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-price{
    margin-top:12px !important;
  }

  /* Sekundäraktion lesbarer, aber klar nachrangig */
  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile .termBtn{
    color:#617178 !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile .termBtn i{
    color:#7f8d92 !important;
  }

  /* ---------- Filter ---------- */

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .filter,
  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .filters,
  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .course-filter{
    margin-top:0 !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module select.form-control{
    height:38px !important;
    min-height:38px !important;
    padding:0 34px 0 10px !important;
    border:1px solid #dfe7ea !important;
    border-radius:0 !important;
    background-color:#fff !important;
    color:#52636a !important;
    box-shadow:none !important;
    font-family:var(--wm-body) !important;
    font-size:11.5px !important;
    line-height:38px !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module select.form-control:focus{
    border-color:#3fa1bb !important;
    box-shadow:0 0 0 1px rgba(63,161,187,.12) !important;
    outline:0 !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .checkbox,
  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .checkbox label{
    color:#52636a !important;
    font-family:var(--wm-body) !important;
    font-size:11.5px !important;
    line-height:1.35 !important;
  }
}

/*=========================================================
  13. AUFBAUKURS – MOBILE ANGLEICHUNG AN KLEINKIND-KARTEN

  Ziel:
  gleiche visuelle Hierarchie wie /kleinkinderschwimmen/:
  - Kursname als türkiser Kartenkopf
  - Preis als zweite große Typostufe
  - Detailinformationen ruhig / klein
  - CTA zentral und gleichwertig
  - Tagesgruppe bleibt als zusätzliche Aufbaukurs-Struktur erhalten

  Nur /kinderaufbau-kurs/, Public View, <= 768px.
  =========================================================*/

@media (max-width:768px){

  /* Karte als geordnete vertikale Komponente */
  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile{
    display:flex !important;
    flex-direction:column !important;
    padding-bottom:0 !important;
  }

  /* 1. Kursname = Kartenkopf wie bei Kleinkind */
  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-name{
    order:1 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:40px !important;
    margin:0 !important;
    padding:8px 12px !important;
    background:#3fa1bb !important;
    color:#fff !important;
    font-family:var(--wm-body) !important;
    font-size:15.5px !important;
    line-height:1.2 !important;
    font-weight:600 !important;
    letter-spacing:.01em !important;
    text-align:center !important;
  }

  /* 2. Zeit wird zur normalen Detailzeile */
  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-time{
    order:2 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    min-height:34px !important;
    margin:0 !important;
    padding:8px 12px !important;
    border:0 !important;
    border-bottom:1px solid #edf1f2 !important;
    background:#fff !important;
    color:#34464d !important;
    font-family:var(--wm-body) !important;
    font-size:11.5px !important;
    line-height:1.4 !important;
    font-weight:700 !important;
    text-align:left !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-time::before{
    content:"\f073";
    display:inline-block !important;
    width:15px !important;
    margin-right:5px !important;
    color:#8a989d !important;
    font-family:FontAwesome !important;
    font-size:10.5px !important;
    font-weight:normal !important;
    line-height:1 !important;
    text-align:center !important;
  }

  /* 3./4. Detailzeilen wie Kleinkind */
  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-from,
  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-teacher{
    min-height:34px !important;
    margin:0 !important;
    padding:8px 12px !important;
    border-bottom:1px solid #edf1f2 !important;
    background:#fff !important;
    color:#52636a !important;
    font-size:11.5px !important;
    line-height:1.4 !important;
    font-weight:500 !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-from{
    order:3 !important;
    display:flex !important;
    align-items:center !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-from::before{
    content:"\f058";
    display:inline-block !important;
    width:15px !important;
    margin-right:5px !important;
    color:#8a989d !important;
    font-family:FontAwesome !important;
    font-size:10.5px !important;
    font-weight:normal !important;
    line-height:1 !important;
    text-align:center !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-teacher{
    order:4 !important;
  }

  /* 5. Preis wie Kleinkind: große Stufe, zentriert */
  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-price{
    order:5 !important;
    margin:0 !important;
    padding:13px 12px 12px !important;
    border-bottom:0 !important;
    background:#fff !important;
    text-align:center !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-price strong{
    font-size:15.5px !important;
    line-height:1.2 !important;
    font-weight:600 !important;
    text-align:center !important;
  }

  /* 6. CTA-Footer wie Kleinkind */
  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile form{
    order:6 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    width:100% !important;
    margin:0 !important;
    padding:0 12px 13px !important;
    background:#fff !important;
    text-align:center !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile .book-btn{
    min-width:116px !important;
    min-height:38px !important;
    height:38px !important;
    margin:0 auto !important;
    padding:0 15px !important;
    font-size:15.5px !important;
    line-height:1.1 !important;
    font-weight:700 !important;
    letter-spacing:.035em !important;
    text-transform:uppercase !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile .termBtn{
    min-height:0 !important;
    height:auto !important;
    margin:0 auto !important;
    padding:0 !important;
    color:#617178 !important;
    font-size:11.5px !important;
    line-height:1.35 !important;
  }

  /* Tagespanel etwas ruhiger, damit die Karte selbst der Fokus ist */
  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week .panel-collapse > .panel-body{
    padding:8px !important;
    background:#fafcfc !important;
  }
}

/*=========================================================
  14. AUFBAUKURS – MEHRERE KURSE PRO WOCHENTAG

  Wichtig:
  Ein Wochentag kann mehrere Kurse zu unterschiedlichen Uhrzeiten
  enthalten. Deshalb müssen einzelne .courses-week-tile innerhalb
  eines Tages immer klar voneinander getrennt und vollständig
  eigenständig lesbar bleiben.

  Nur /kinderaufbau-kurs/, Public View, <= 768px.
  =========================================================*/

@media (max-width:768px){

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tiles{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:10px !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
  }

  /* Kurskopf und Uhrzeit bleiben je Karte sichtbar:
     wichtig bei mehreren Angeboten am selben Wochentag. */
  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-name,
  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week-tile-time{
    width:100% !important;
  }

  /* Trennung mehrerer Karten zusätzlich über den Panel-Hintergrund. */
  html:not(.wm-editor-mode) body:is(.controller-kinderaufbau-kurs,.controller-anfaengerkurse,.controller-albatros,.controller-aqua-kurse)
  .course-module .courses-week .panel-collapse > .panel-body{
    background:#f7fafb !important;
  }
}

/*=========================================================
  15. KLEINKINDSCHWIMMEN – DESKTOP-TABELLENKOPF RUHIGER

  Vergleich mit /kinderaufbau-kurs/:
  Der bisher fast schwarze Tabellenkopf erzeugt eine unnötig starke
  visuelle Trennlinie. Die Tabelle soll weiterhin klar strukturiert
  bleiben, sich aber in das helle Kursseiten-System einfügen.

  Nur /kleinkinderschwimmen/, Public View, Desktop >= 769px.
  =========================================================*/

@media (min-width:769px){

  html.wm-course-page:not(.wm-editor-mode) body
  .course-module table.datatables > thead > tr:first-child > th,
  html.wm-course-page:not(.wm-editor-mode) body
  .course-module .table > thead > tr:first-child > th{
    background:#f3f7f8 !important;
    color:#152126 !important;
    border-top:1px solid #dfe7ea !important;
    border-bottom:2px solid #3fa1bb !important;
    font-family:var(--wm-body) !important;
    font-size:11px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    letter-spacing:.045em !important;
    text-transform:uppercase !important;
  }

  /* Sortier-/Statusicons im Tabellenkopf nicht mehr weiß */
  html.wm-course-page:not(.wm-editor-mode) body
  .course-module table.datatables > thead > tr:first-child > th i,
  html.wm-course-page:not(.wm-editor-mode) body
  .course-module table.datatables > thead > tr:first-child > th::before,
  html.wm-course-page:not(.wm-editor-mode) body
  .course-module table.datatables > thead > tr:first-child > th::after{
    color:#52636a !important;
  }
}

/*=========================================================
  16. KLEINKINDSCHWIMMEN – DESKTOP TABELLENHIERARCHIE

  Tage (Spalte 3), Zeitraum (Spalte 4) und Preis (Spalte 7)
  werden als zentrale Entscheidungsinformationen hervorgehoben.

  Nur /kleinkinderschwimmen/, Public View, Desktop >= 769px.
  =========================================================*/

@media (min-width:769px){

  html.wm-course-page:not(.wm-editor-mode) body
  .course-module table.datatables > tbody > tr > td:nth-child(3),
  html.wm-course-page:not(.wm-editor-mode) body
  .course-module table.datatables > tbody > tr > td:nth-child(4),
  html.wm-course-page:not(.wm-editor-mode) body
  .course-module table.datatables > tbody > tr > td:nth-child(7),
  html.wm-course-page:not(.wm-editor-mode) body
  .course-module .table > tbody > tr > td:nth-child(3),
  html.wm-course-page:not(.wm-editor-mode) body
  .course-module .table > tbody > tr > td:nth-child(4),
  html.wm-course-page:not(.wm-editor-mode) body
  .course-module .table > tbody > tr > td:nth-child(7){
    color:#34464d !important;
    font-weight:700 !important;
  }

}

/*=========================================================
  17. KLEINKINDSCHWIMMEN – MOBILE ABSTÄNDE

  Abgleich mit den mobilen Aufbau-/Anfängerkurskarten:
  Die inneren Abstände sind bereits praktisch identisch.
  Nur der Außenabstand zwischen zwei Kleinkind-Karten war mit
  18px etwas großzügiger als nötig.

  Nur /kleinkinderschwimmen/, Public View, <= 768px.
  =========================================================*/

@media (max-width:768px){

  html.wm-course-page:not(.wm-editor-mode) body
  .course-module [id^="mobile_courses"]{
    margin-top:12px !important;
  }

  html.wm-course-page:not(.wm-editor-mode) body
  .course-module [id^="mobile_courses"] .coursedate.pricing{
    margin-bottom:14px !important;
  }

  html.wm-course-page:not(.wm-editor-mode) body
  .course-module [id^="mobile_courses"] .coursedate.pricing:last-child{
    margin-bottom:0 !important;
  }
}

/*=========================================================
   18. BADMIETE – WIESBADEN-DESIGNSYSTEM (1:1-SPIEGELUNG)
   =========================================================*/
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .container::before,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .container::after{
  display:none !important; content:none !important;
}
/*--- Wiesbaden: Basis / Komponenten ---*/
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root{
  --surface:#ffffff; --surface-soft:#eef5f6; --text:#152126; --muted:#637178; --accent:#3fa1bb; --accent-dark:#2f859b; --accent-soft:rgba(63,161,187,.12); --line:rgba(21,33,38,.13); --shadow:0 18px 60px rgba(22,46,55,.10); --max:1220px; --radius:2px; --font-display:"Barlow Condensed","Arial Narrow",Arial,sans-serif; --font-body:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root img{
  max-width:100%; display:block;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root a{
  color:inherit; text-decoration:none;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root button,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root input,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root textarea,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root select{
  font:inherit;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root ::selection{
  background:var(--accent); color:white;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .eyebrow{
  margin:0 0 16px; color:var(--accent-dark); letter-spacing:.16em; text-transform:uppercase;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root h1, html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root h2{
  margin:0; font-family:var(--font-display); font-weight:800; text-transform:uppercase; letter-spacing:-.025em; line-height:.91;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root h2{
  max-width:980px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root h3{
  margin:0;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .lead{
  color:#43545b; max-width:760px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .accent{
  color:var(--accent);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .muted{
  color:var(--muted);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .btn{
  display:inline-flex; align-items:center; justify-content:center; gap:11px; min-height:52px; padding:0 24px; border:1px solid #3fa1bb !important; border-radius:var(--radius); background:#3fa1bb !important; color:#ffffff !important; font-weight:800; letter-spacing:.07em; text-transform:uppercase; box-shadow:0 2px 6px rgba(21,33,38,.08); transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .btn .arrow{
  color:inherit !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .btn:hover{
  background:#2f859b !important; border-color:#2f859b !important; color:#ffffff !important; transform:translateY(-2px);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .btn-outline{
  background:#ffffff !important; color:#152126 !important; border-color:#8fa1a8 !important; box-shadow:none;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .btn-outline:hover{
  background:#152126 !important; color:#ffffff !important; border-color:#152126 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-actions .btn{
  min-width:190px; opacity:1 !important; visibility:visible !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-actions .btn-outline{
  min-width:180px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .btn-white{
  background:white; color:var(--text);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .btn-white:hover{
  background:#edf6f7; color:var(--text);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .arrow{
  transition:transform .2s ease;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .btn:hover .arrow,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .textlink:hover .arrow{
  transform:translateX(5px);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .textlink{
  display:inline-flex; align-items:center; gap:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; border-bottom:1px solid currentColor; padding-bottom:5px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero{
  position:relative; overflow:hidden;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-grid{
  display:grid;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-copy{
  display:flex; flex-direction:column; justify-content:center; padding:64px clamp(32px,5vw,72px) 62px max(20px,calc((100vw - var(--max))/2));
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-copy .eyebrow{
  margin-bottom:16px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-copy .lead{
  margin:22px 0 0;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-actions{
  display:flex; flex-wrap:wrap; gap:12px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-points{
  display:flex; flex-wrap:wrap; margin:28px 0 0; padding:0; list-style:none; font-weight:600; color:#405158;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-points li{
  display:flex; align-items:center; gap:9px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .check{
  width:21px; height:21px; border-radius:50%; display:grid; place-items:center; background:var(--accent-soft); color:var(--accent-dark); font-weight:900;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-media{
  position:relative; overflow:hidden; background:#c8e7ee;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-media img{
  width:100%; height:100%; object-fit:cover; object-position:50% 40%;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-media::after{
  content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 52%,rgba(7,24,30,.35));
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .stats{
  background:var(--surface); border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .stat{
  padding:42px 34px; border-right:1px solid var(--line);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .stat:first-child{
  border-left:1px solid var(--line);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .stat-value{
  font-family:var(--font-display); font-weight:800; line-height:.85; color:var(--accent);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .stat-label{
  font-weight:800; letter-spacing:.115em; text-transform:uppercase; color:#506067;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .intro-grid{
  display:grid; grid-template-columns:.95fr 1.05fr; gap:clamp(55px,8vw,115px); align-items:end;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .intro-copy{
  padding-bottom:8px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .problem-grid{
  margin-top:65px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .problem-card{
  padding:42px 42px 42px 0;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .problem-card + .problem-card{
  border-left:1px solid var(--line); padding-left:42px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .problem-card .number{
  font-family:var(--font-display); font-weight:800; font-size:51.2px; color:var(--accent); line-height:1; margin-bottom:20px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .problem-card h3{
  text-transform:uppercase; font-family:var(--font-display);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .problem-card p{
  color:#58666c; margin:15px 0 0;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .section-head{
  display:flex; justify-content:space-between; align-items:flex-end;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .section-head .lead{
  margin:0;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .fair-grid{
  display:grid; align-items:start;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .fair-copy{
  position:sticky; top:135px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .fair-copy .lead{
  margin:25px 0 0; max-width:610px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .fair-list{
  border-top:1px solid var(--line);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .fair-item{
  display:grid; grid-template-columns:78px 1fr; gap:26px; border-bottom:1px solid var(--line);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .fair-num{
  font-family:var(--font-display); font-size:62.4px; font-weight:800; line-height:.82; color:rgba(63,161,187,.28);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .fair-item p{
  margin:10px 0 0; color:#5f6e74; max-width:650px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .fair-note{
  margin:22px 0 0; color:var(--muted);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .statement{
  position:relative; display:flex; align-items:center; overflow:hidden; background:#20363d; color:white;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .statement-bg{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .statement::before{
  content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,27,33,.83) 0%,rgba(8,27,33,.68) 44%,rgba(8,27,33,.13) 78%);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .statement .container{
  position:relative; z-index:2;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .statement .eyebrow{
  color:#a9e5ef;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .statement h2{
  max-width:720px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .statement .lead{
  color:rgba(255,255,255,.86); max-width:590px; margin:25px 0 32px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .reviews-head{
  display:grid; grid-template-columns:1.1fr .9fr; gap:60px; align-items:end;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .rating-block{
  justify-self:end; text-align:right;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .rating-number{
  font-family:var(--font-display); font-weight:800; line-height:.8; color:var(--accent);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .stars{
  letter-spacing:.18em; font-size:19.2px; margin-top:12px; color:#d79d20;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .reviews-grid{
  display:grid; grid-template-columns:repeat(3,1fr);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .review{
  background:var(--surface); border:1px solid rgba(21,33,38,.07); display:flex; flex-direction:column;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .quote-mark{
  font-family:Georgia,serif; color:var(--accent); font-size:72px; line-height:.5;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .review blockquote{
  margin:0; color:#42545a;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .review footer{
  margin-top:auto; padding-top:24px; font-weight:800; letter-spacing:.09em; text-transform:uppercase;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .location-grid{
  display:grid; grid-template-columns:.95fr 1.05fr; align-items:center;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .location-facts{
  display:grid; grid-template-columns:1fr 1fr; border-top:1px solid rgba(255,255,255,.18);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .location-fact{
  padding:25px 26px 25px 0; border-bottom:1px solid rgba(255,255,255,.18);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .location-fact:nth-child(even){
  padding-left:26px; border-left:1px solid rgba(255,255,255,.18);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .location-fact strong{
  display:block; font-family:var(--font-display); text-transform:uppercase;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .location-fact span{
  display:block; margin-top:3px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .map-panel{
  background:linear-gradient(135deg,#c8e1e5,#eef4f4); min-height:510px; color:var(--text); position:relative; overflow:hidden;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .map-panel::before,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .map-panel::after{
  content:""; position:absolute; border:2px solid rgba(63,161,187,.45); border-radius:50%; width:430px; height:430px; right:-110px; top:-65px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .map-panel::after{
  width:260px; height:260px; right:36px; top:58px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .map-lines{
  position:absolute; inset:0; opacity:.55; background:linear-gradient(27deg,transparent 48%,rgba(255,255,255,.9) 49%,rgba(255,255,255,.9) 51%,transparent 52%),linear-gradient(132deg,transparent 47%,rgba(255,255,255,.7) 48%,rgba(255,255,255,.7) 50%,transparent 51%);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .pin{
  position:absolute; left:48%; top:47%; width:60px; height:60px; border-radius:50% 50% 50% 0; background:var(--accent); transform:translate(-50%,-50%) rotate(-45deg); box-shadow:0 12px 30px rgba(31,76,89,.2);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .pin::after{
  content:""; position:absolute; width:22px; height:22px; border-radius:50%; background:white; left:19px; top:19px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .map-card{
  position:absolute; left:24px; bottom:24px; right:24px; background:white; padding:22px 24px; box-shadow:var(--shadow);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .map-card strong{
  font-family:var(--font-display); text-transform:uppercase;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .map-card p{
  margin:4px 0 13px; color:#617077;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .team-grid{
  align-items:start;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .team-copy .lead{
  margin:25px 0 0;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .faq-grid{
  display:grid; grid-template-columns:.82fr 1.18fr;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .faq-list{
  border-top:1px solid var(--line);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root details{
  border-bottom:1px solid var(--line);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root summary{
  list-style:none; cursor:pointer; position:relative; font-weight:700;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root summary::-webkit-details-marker{
  display:none;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root summary::after{
  content:"+"; position:absolute; right:4px; font-family:var(--font-display); font-size:28px; color:var(--accent); transition:transform .2s ease;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root details[open] summary::after{
  transform:rotate(45deg);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root details p{
  margin:-6px 0 25px; color:#5f6e74; max-width:720px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .reveal{
  opacity:1; transform:none;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .availability{
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
@media (prefers-reduced-motion:reduce){
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root, html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root *{
  scroll-behavior:auto !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .reveal{
  opacity:1; transform:none;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .btn, html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .arrow{
  transition:none;
}
}
@media (max-width:1050px){
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-grid{
  grid-template-columns:1fr 1fr;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-copy{
  padding-left:30px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .reviews-grid{
  grid-template-columns:1fr 1fr;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .review:last-child{
  grid-column:1/-1;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .location-grid,
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .team-grid,
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .faq-grid{
  gap:50px;
}
}
@media (max-width:800px){
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-grid{
  grid-template-columns:1fr; min-height:unset;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-copy{
  order:1; padding:38px 20px 40px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-media{
  order:2; min-height:260px; max-height:320px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .stats-grid{
  grid-template-columns:1fr 1fr;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .stat:nth-child(3){
  border-left:1px solid var(--line); border-top:1px solid var(--line);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .stat:nth-child(4){
  border-top:1px solid var(--line);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .intro-grid,
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .fair-grid,
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .location-grid,
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .team-grid,
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .faq-grid,
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .reviews-head{
  grid-template-columns:1fr;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .fair-copy{
  position:static;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .problem-grid{
  grid-template-columns:1fr;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .problem-card{
  padding:32px 0;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .problem-card + .problem-card{
  border-left:0; border-top:1px solid var(--line); padding-left:0;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .section-head{
  display:block;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .section-head .lead{
  margin-top:22px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .rating-block{
  justify-self:start; text-align:left;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .reviews-grid{
  grid-template-columns:1fr;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .review:last-child{
  grid-column:auto;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .location-facts{
  grid-template-columns:1fr;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .location-fact:nth-child(even){
  padding-left:0; border-left:0;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .map-panel{
  min-height:420px;
}
}
@media (max-width:520px){
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .container{
  width:min(var(--max),calc(100% - 28px));
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-actions{
  flex-direction:column; align-items:stretch;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-actions .btn{
  width:100%;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-points{
  display:grid; gap:9px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-media{
  min-height:220px; max-height:270px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .stats-grid{
  grid-template-columns:1fr 1fr;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .stat{
  padding:29px 18px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .stat-value{
  font-size:51.2px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .statement{
  min-height:610px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .statement::before{
  background:linear-gradient(90deg,rgba(8,27,33,.88),rgba(8,27,33,.61));
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .review{
  padding:28px 24px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .fair-item{
  grid-template-columns:54px 1fr; gap:18px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .fair-num{
  font-size:51.2px;
}
}
@media (max-width:800px){
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero h1{
  line-height:.92;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-copy .lead{
  margin-top:16px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-actions, html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-points{
  margin-top:22px;
}
}
@media (max-width:800px){
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .availability.section-tight{
  padding-top:38px; padding-bottom:38px;
}
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .eyebrow{
  margin-bottom:11px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .faq details{
  padding:19px 0;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .availability-compact-head{
  display:flex; align-items:baseline; justify-content:space-between; gap:24px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .availability-compact-head .eyebrow{
  margin:0;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .slot-list{
  border-top:1px solid var(--line);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .slot-row{
  display:grid; grid-template-columns:minmax(220px,1.6fr) .8fr .65fr auto; align-items:center; gap:24px; padding:15px 0; border-bottom:1px solid var(--line);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .slot-course{
  font-weight:700;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .slot-day{
  color:var(--muted);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .slot-hour{
  font-family:var(--font-display); font-size:23.2px; font-weight:800; color:var(--accent-dark);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .slot-row .textlink{
  justify-self:end; white-space:nowrap;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .fair-note a{
  text-decoration:underline; text-underline-offset:3px; font-weight:700; color:var(--text);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .fair-note a:hover{
  color:var(--accent-dark);
}
@media (max-width:800px){
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .section{
  padding:58px 0;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .section-tight{
  padding:40px 0;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .statement{
  min-height:500px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .slot-row{
  grid-template-columns:1.5fr .8fr .65fr; gap:10px 16px; padding:14px 0;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .slot-row .textlink{
  grid-column:1/-1; justify-self:start; margin-top:2px;
}
}
@media (max-width:520px){
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .section{
  padding:48px 0;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .section-tight{
  padding:34px 0;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-copy{
  padding-top:25px; padding-bottom:28px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .stats .stat{
  padding:23px 15px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .availability-compact-head{
  margin-bottom:9px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .slot-row{
  grid-template-columns:1fr auto; gap:4px 12px; padding:13px 0;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .slot-course{
  grid-column:1/-1;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .slot-hour{
  font-size:20.8px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .slot-row .textlink{
  grid-column:1/-1;
}
}
/*--- Wiesbaden: finales Typografie- und Layoutsystem ---*/
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root{
  --type-h1:clamp(56px, 5.2vw, 80px); --type-h2:clamp(44px, 4.2vw, 60px); --type-h3:29px; --type-lead:18px; --type-meta:12px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root, html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root *{
  box-sizing:border-box;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root{
  position:relative; overflow-x:clip; background:#fff; color:#152126; font-family:var(--font-body); line-height:1.65; -webkit-font-smoothing:antialiased;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .container{
  width:min(1220px, calc(100% - 40px)) !important; max-width:1220px !important; margin-left:auto !important; margin-right:auto !important; padding-left:0 !important; padding-right:0 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root h1,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root h2,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root h3{
  font-family:var(--font-display) !important; text-transform:uppercase; color:var(--text);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root h1{
  font-weight:800 !important; line-height:.93 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root h2{
  font-weight:800 !important; line-height:.95 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root h3{
  font-weight:700 !important; line-height:1 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root h1 span,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root h2 span,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root h3 span{
  font-family:inherit !important; font-weight:inherit !important; line-height:inherit !important; letter-spacing:inherit !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root p,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root li,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root a,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root button,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root small{
  font-family:var(--font-body);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .lead{
  line-height:1.6 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .eyebrow{
  font-family:var(--font-body) !important; font-weight:700 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .section{
  padding:82px 0 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .section-tight{
  padding:58px 0 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .section-head{
  margin-bottom:34px !important; gap:52px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .section-head .lead{
  line-height:1.55 !important; max-width:450px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-grid{
  width:min(1440px, 100%) !important; max-width:1440px !important; margin-left:auto !important; margin-right:auto !important; grid-template-columns:minmax(0, 1.10fr) minmax(390px, .90fr) !important; min-height:540px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-copy{
  min-width:0 !important; padding-top:48px !important; padding-bottom:48px !important; padding-right:clamp(36px, 3.5vw, 54px) !important; padding-left:clamp(40px, 3.5vw, 56px) !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero h1{
  width:100% !important; max-width:700px !important; overflow-wrap:normal !important; word-break:normal !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-copy .lead{
  margin-top:18px !important; max-width:620px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-actions{
  margin-top:23px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-points{
  margin-top:22px !important; gap:10px 22px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-media{
  min-height:540px !important; max-height:570px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .stats-grid{
  display:grid !important; grid-template-columns:repeat(4, minmax(0, 1fr)) !important; width:min(1220px, calc(100% - 40px)) !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .stats .stat{
  min-width:0 !important; width:auto !important; padding:28px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .stat-value{
  font-size:clamp(42px, 3.7vw, 62px) !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .stat-label{
  margin-top:7px !important; line-height:1.35 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .courses{
  background:#f7f9f9 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #kurse{
  padding-top:62px !important; padding-bottom:70px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .course-finder-grid{
  display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:16px !important; align-items:start;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .course-finder-group{
  background:#fff !important; padding:24px 22px 20px !important; border:1px solid rgba(21, 33, 38, .08) !important; border-top:3px solid rgba(63, 161, 187, .20) !important; box-shadow:0 4px 14px rgba(21, 33, 38, .045) !important; transition:.2s ease;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .course-finder-group:hover{
  border-top-color:var(--accent) !important; transform:translateY(-2px);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .course-finder-kicker{
  display:block; margin-bottom:17px !important; color:var(--accent-dark); font-weight:700; letter-spacing:.11em; text-transform:uppercase;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .course-finder-group h3{
  margin:0 0 17px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .course-finder-links{
  border-top:1px solid var(--line);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .course-finder-links a{
  display:grid; grid-template-columns:minmax(0, 1fr) auto; gap:14px; align-items:center; padding:12px 0 !important; border-bottom:1px solid var(--line);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .course-finder-links strong,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .course-finder-links small{
  display:block;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .course-finder-links strong{
  line-height:1.35;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .course-finder-links small{
  margin-top:3px; color:var(--muted); line-height:1.35;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .course-finder-links b{
  color:var(--accent-dark); font-size:18px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .availability{
  background:#eaf4f6 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .availability.section-tight{
  padding:30px 0 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .availability-compact-head{
  margin-bottom:10px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .fair{
  background:#fff !important; padding-top:76px !important; padding-bottom:76px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .fair-grid{
  grid-template-columns:.92fr 1.08fr !important; gap:72px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .fair-copy > p:not(.eyebrow):not(.fair-note){
  line-height:1.58 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .fair-item{
  padding:14px 0 16px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .fair-item h3{
  line-height:1.02 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .fair-item p{
  line-height:1.5 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .statement{
  min-height:400px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .statement::after{
  background:linear-gradient(
        90deg,
        rgba(7,24,30,.76) 0%,
        rgba(7,24,30,.54) 42%,
        rgba(7,24,30,.12) 72%,
        rgba(7,24,30,0) 100%
    ) !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #bewertungen{
  padding:78px 0 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .reviews-grid{
  margin-top:32px !important; gap:14px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .review{
  min-height:250px !important; padding:26px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .review p{
  line-height:1.55 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .quote-mark{
  margin-bottom:18px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .rating-number{
  font-size:82px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #warum-wir{
  background:#f7f9f9 !important; padding:78px 0 82px !important; border-top:1px solid rgba(21,33,38,.055);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #warum-wir .intro-grid{
  gap:64px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #warum-wir .problem-grid{
  margin-top:44px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .team-section{
  background:#fff !important; padding:68px 0 !important; border-top:1px solid rgba(21,33,38,.055);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .team-section .section-head{
  margin-bottom:28px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .team-grid{
  display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:14px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .team-card-horizontal{
  display:grid; grid-template-columns:108px minmax(0, 1fr) !important; gap:17px !important; align-items:start; padding:20px !important; background:#eef5f6 !important; border:1px solid rgba(21,33,38,.08) !important; box-shadow:0 3px 10px rgba(21,33,38,.04) !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .team-card-horizontal .team-photo{
  width:108px !important; height:108px !important; overflow:hidden;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .team-card-horizontal .team-photo img{
  width:100% !important; height:100% !important; object-fit:cover !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .team-card-horizontal .team-copy{
  padding:0 !important; min-width:0;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .team-card-horizontal .team-role{
  margin-bottom:5px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .team-card-horizontal h3{
  margin:0 0 7px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .team-card-horizontal p{
  margin:0 !important; color:#58676d !important; line-height:1.5 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .extras{
  background:#eef5f6 !important; border-top:1px solid rgba(21,33,38,.055);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .extras.section-tight{
  padding:54px 0 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .extras .section-head{
  margin-bottom:26px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .extras-grid{
  display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .extra-card{
  min-height:205px !important; padding:27px 30px !important; background:transparent !important; display:flex; flex-direction:column;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .extra-card + .extra-card{
  border-left:1px solid var(--line);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .extra-num{
  margin-bottom:20px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .location{
  background:#152126 !important; color:#fff !important; padding:78px 0 !important; border-top-color:transparent !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .location-grid{
  gap:64px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .location h1,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .location h2,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .location h3,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .location h4,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .location strong{
  color:#fff !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .location .eyebrow{
  color:#a9e5ef !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .location .lead{
  color:rgba(255,255,255,.82) !important; margin-top:20px !important; margin-bottom:26px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .location-facts{
  margin-top:30px !important; border-top-color:rgba(255,255,255,.20) !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .location-fact{
  border-bottom-color:rgba(255,255,255,.20) !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .location-fact:nth-child(even){
  border-left-color:rgba(255,255,255,.20) !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .location-fact span{
  color:rgba(255,255,255,.76) !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .location a.btn-white{
  background:#fff !important; color:#152126 !important; border-color:#fff !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .location .map-card{
  background:#fff !important; color:#152126 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .location .map-card strong{
  color:#152126 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .location .map-card p{
  color:#617077 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .faq{
  background:#fff !important; padding:66px 0 !important; border-top-color:transparent !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .faq-grid{
  gap:54px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root summary{
  padding:15px 0 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root summary::after{
  top:13px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root details p{
  margin-bottom:16px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #kurse,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #freie-plaetze,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #faire-bedingungen,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #bewertungen,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #warum-wir,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #team,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #privat,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #gutschein,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #standort,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #faq{
  scroll-margin-top:82px !important;
}
@media (max-width: 1440px) and (min-width: 981px){
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-copy{
  padding-left:clamp(32px, 4vw, 56px) !important;
}
}
@media (max-width: 980px){
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-grid{
  grid-template-columns:1fr 1fr !important; min-height:500px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-media{
  min-height:500px !important; max-height:530px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .fair-grid{
  gap:48px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .team-grid,
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .extras-grid{
  grid-template-columns:1fr !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .extra-card + .extra-card{
  border-left:0 !important; border-top:1px solid rgba(21,33,38,.10) !important;
}
}
@media (max-width: 680px){
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root{
  --type-h1:44px; --type-h2:39px; --type-h3:26px; --type-lead:16px;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .section{
  padding:48px 0 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .section-tight{
  padding:32px 0 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .section-head{
  display:block !important; margin-bottom:24px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .section-head .lead{
  margin-top:14px !important; max-width:none !important; line-height:1.5 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .container{
  width:calc(100% - 28px) !important; max-width:none !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-grid{
  grid-template-columns:1fr !important; min-height:0 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-copy{
  padding:34px 18px 32px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero h1{
  line-height:.94 !important; max-width:none !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-copy .lead{
  margin-top:14px !important; line-height:1.5 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-actions{
  margin-top:18px !important; gap:9px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-actions .btn{
  width:100% !important; min-width:0 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-points{
  display:none !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-media{
  min-height:245px !important; max-height:285px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .stats-grid{
  grid-template-columns:1fr 1fr !important; width:calc(100% - 28px) !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .stats .stat{
  padding:20px 16px !important; min-height:96px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .stat-value{
  font-size:38px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .stat-label{
  line-height:1.3 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #kurse{
  padding-top:46px !important; padding-bottom:48px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .course-finder-grid{
  grid-template-columns:1fr !important; gap:12px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .course-finder-group{
  padding:20px 18px 16px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .course-finder-kicker{
  margin-bottom:12px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .course-finder-group h3{
  margin-bottom:13px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .course-finder-links a{
  padding:10px 0 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .availability.section-tight{
  padding:24px 0 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .fair{
  padding:48px 0 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .fair-grid{
  grid-template-columns:1fr !important; gap:28px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .fair-copy, html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .fair-list{
  width:100% !important; max-width:none !important; min-width:0 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .fair-list{
  display:block !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .fair-item{
  position:relative !important; left:auto !important; right:auto !important; transform:none !important; width:100% !important; padding:13px 0 15px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .statement{
  min-height:340px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .statement::after{
  background:linear-gradient(
            180deg,
            rgba(7,24,30,.72) 0%,
            rgba(7,24,30,.50) 58%,
            rgba(7,24,30,.22) 100%
        ) !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .statement .lead{
  color:rgba(255,255,255,.90) !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #bewertungen{
  padding:48px 0 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .reviews-grid{
  grid-template-columns:1fr !important; gap:10px !important; margin-top:22px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .review{
  min-height:0 !important; padding:16px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .review p{
  line-height:1.48 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .quote-mark{
  margin-bottom:9px !important; font-size:26px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .reviews-grid .review:nth-child(n/**/+3){
  display:none !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .rating-number{
  font-size:52px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #warum-wir{
  padding:48px 0 50px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #warum-wir h2,
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .team-section h2,
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .faq h2,
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .extras h2{
  line-height:.96 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #warum-wir .intro-grid{
  grid-template-columns:1fr !important; gap:20px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #warum-wir .problem-grid{
  grid-template-columns:1fr !important; gap:15px !important; margin-top:26px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .team-section{
  padding:46px 0 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .team-section .section-head{
  margin-bottom:20px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .team-grid{
  grid-template-columns:1fr !important; gap:10px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .team-card-horizontal{
  grid-template-columns:78px minmax(0,1fr) !important; gap:13px !important; padding:15px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .team-card-horizontal .team-photo{
  width:78px !important; height:78px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .team-card-horizontal p{
  line-height:1.45 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .extras.section-tight{
  padding:38px 0 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .extras-grid{
  grid-template-columns:1fr !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .extra-card{
  min-height:0 !important; padding:22px 0 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .extra-card + .extra-card{
  border-left:0 !important; border-top:1px solid rgba(21,33,38,.10) !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .location{
  padding:50px 0 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .location-grid{
  grid-template-columns:1fr !important; gap:28px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .location .map-card{
  min-height:260px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .faq{
  padding:48px 0 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .faq-grid{
  grid-template-columns:1fr !important; gap:24px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .faq .section-head{
  margin-bottom:20px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root summary{
  padding:14px 30px 14px 0 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root details p{
  line-height:1.5 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #kurse,
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #freie-plaetze,
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #faire-bedingungen,
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #bewertungen,
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #warum-wir,
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #team,
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #privat,
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #gutschein,
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #standort,
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #faq{
  scroll-margin-top:72px !important;
}
}
/*--- Wiesbaden: Hero / Trust-Feinschliff ---*/
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .stat-subline{
  display:block; margin-top:3px; color:#6c7a80; line-height:1.2; font-weight:600; letter-spacing:.02em; text-transform:none;
}
/*--- Wiesbaden: Akzent- und Kontrastregeln ---*/
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .accent,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root h1 .accent,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root h2 .accent,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root h3 .accent{
  color:#3fa1bb !important; -webkit-text-fill-color:#3fa1bb !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-points .check{
  display:inline-grid !important; place-items:center !important; flex:0 0 21px !important; width:21px !important; height:21px !important; min-width:21px !important; min-height:21px !important; padding:0 !important; margin:0 !important; border:0 !important; border-radius:999px !important; background:rgba(63, 161, 187, .12) !important; color:#2f859b !important; -webkit-text-fill-color:#2f859b !important; font-family:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important; font-size:13px !important; font-weight:900 !important; line-height:21px !important; box-shadow:none !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .stat-value,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .rating-number,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .quote-mark,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .problem-card .number{
  color:#3fa1bb !important; -webkit-text-fill-color:#3fa1bb !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .stats, html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .stats-grid{
  background:#ffffff !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .stats .stat{
  background:#ffffff !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero .btn:not(.btn-outline),
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-actions .btn:not(.btn-outline){
  background:#3fa1bb !important; border-color:#3fa1bb !important; color:#ffffff !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero .btn:not(.btn-outline):hover,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-actions .btn:not(.btn-outline):hover{
  background:#2f859b !important; border-color:#2f859b !important; color:#ffffff !important;
}
/*--- Gemeinsamer Header: Full-Width-Trennlinie ---*/
html.wm-migrated-page body .wm-global-header{
  position:relative; overflow:visible;
}
html.wm-migrated-page body .wm-global-header::after{
  content:""; position:absolute; left:50%; bottom:0; width:100vw; height:1px; background:#e4eaec; transform:translateX(-50%); pointer-events:none;
}

/*---------------------------------------------------------
  WIESBADEN – VERBINDLICHES TYPOGRAFIESYSTEM

  Textstufen Desktop:
  H1 / H2 / H3 / Lead / Body / Small / Meta
  = fluid / fluid / 28 / 18 / 15 / 13 / 11 px

  Mobile:
  44 / 36 / 24 / 16 / 14 / 12 / 10.5 px

  Große Zahlen, Ratings, Uhrzeiten und Icons bleiben bewusst
  eigenständige grafische Elemente.
  ---------------------------------------------------------*/

html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root{
  --type-h1:clamp(56px,5.2vw,80px);
  --type-h2:clamp(44px,4.2vw,60px);
  --type-h3:28px;
  --type-lead:18px;
  --type-body:15px;
  --type-small:13px;
  --type-meta:11px;
  font-size:var(--type-body);
}

/* Überschriften */
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root h1{
  font-size:var(--type-h1);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root h2,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .availability h2,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #faire-bedingungen h2{
  font-size:var(--type-h2);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root h3,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .problem-card h3,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .course-finder-group h3,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .fair-item h3,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .team-card-horizontal h3{
  font-size:var(--type-h3);
}

/* Lead / Body */
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .lead,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .section-head .lead,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-copy .lead{
  font-size:var(--type-lead);
}

html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .fair-copy > p:not(.eyebrow):not(.fair-note),
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .fair-item p,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .review p,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .review blockquote,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root summary,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root details p{
  font-size:var(--type-body);
}

/* Small */
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .btn,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .textlink,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .hero-points,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .course-finder-links strong,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .location-fact span,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .map-card p,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .team-card-horizontal p,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .slot-day{
  font-size:var(--type-small);
}

/* Meta */
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .eyebrow,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .fair-note,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .review footer,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .stat-label,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .stat-subline,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .course-finder-kicker,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .course-finder-links small,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .team-card-horizontal .team-role{
  font-size:var(--type-meta);
}

/* Visuelle Untertitel: bewusst zwischen Body und H3, aber vereinheitlicht */
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .location-fact strong,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .map-card strong{
  font-size:24px;
}

/* Mobile */
@media (max-width:680px){
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root{
    --type-h1:44px;
    --type-h2:36px;
    --type-h3:24px;
    --type-lead:16px;
    --type-body:14px;
    --type-small:12px;
    --type-meta:10.5px;
  }
}

/*=========================================================
  19. BADMIETE – NUR INHALTSSPEZIFISCHE ABWEICHUNGEN
  Basis oben ist eine 1:1-Spiegelung des /wiesbaden/-Systems.
  Hier nur Layouts, die es dort in dieser Form nicht gibt.
  =========================================================*/
body.controller-badmiete{background:#ffffff !important;background-image:none !important;}
html:not(.wm-editor-mode) body.controller-badmiete{overflow-x:clip;}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root{
  width:100vw !important;max-width:none !important;position:relative !important;left:50% !important;transform:translateX(-50%) !important;margin:0 !important;
}
html.wm-editor-mode body.controller-badmiete .wm-landing-root{
  width:auto !important;max-width:100% !important;position:static !important;left:auto !important;transform:none !important;margin:0 !important;
}

/* Angebotsfinder: identische Wiesbaden-Karten, aber zwei Spalten */
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #privatangebote{
  padding-top:62px !important;padding-bottom:70px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #privatangebote .course-finder-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .private-card-copy{
  margin:0 0 16px;color:#58666c;font-size:var(--type-body);line-height:1.55;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .private-feature-list{
  border-top:1px solid var(--line);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .private-feature{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .private-feature strong{
  font-size:var(--type-small);line-height:1.35;font-weight:700;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .private-feature b{
  color:var(--accent-dark);font-size:18px;font-weight:700;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .private-card-action{margin-top:18px;}

/* Preiszeilen nutzen exakt die Wiesbaden-Fair-Komponente */
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .private-price-line{
  display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:24px;align-items:baseline;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .private-price-line h3{margin:0 !important;}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .private-price-line span{
  min-width:84px;text-align:right;font-size:var(--type-body);font-weight:800;color:var(--text);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .private-price-line small{
  display:block;margin-top:4px;color:var(--muted);font-size:var(--type-meta);font-weight:500;line-height:1.35;
}

/* Statement: gleiche Komponente wie Wiesbaden, Text passend zur Badmiete */
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .statement .accent{color:#9ee1ed !important;-webkit-text-fill-color:#9ee1ed !important;}

/* Buchungsbereich: Wiesbaden-Fläche, aber mit KuteGo-Modul */
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .private-booking-section{
  background:#eaf4f6 !important;padding:66px 0 72px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .booking-steps{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .booking-steps > div{
  min-width:0;display:flex;align-items:center;gap:10px;min-height:52px;padding:10px 14px;border-right:1px solid var(--line);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .booking-steps > div:last-child{border-right:0;}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .booking-steps strong{
  color:var(--accent-dark);font-size:var(--type-meta);letter-spacing:.10em;font-weight:800;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .booking-steps span{
  color:var(--text);font-size:var(--type-small);font-weight:700;line-height:1.25;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .booking-microcopy{
  margin:0 0 18px;color:#637178;font-size:var(--type-meta);line-height:1.45;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .appointment-booking-shell{
  padding:28px 30px 30px;background:#fff;border:1px solid rgba(21,33,38,.09);box-shadow:0 7px 24px rgba(21,33,38,.055);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .appointment-booking{margin:0 !important;}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .appointment-booking h1,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .appointment-booking h2,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .appointment-booking h3{
  font-family:var(--font-display) !important;text-transform:uppercase !important;letter-spacing:-.015em !important;color:var(--text) !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .appointment-booking h1,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .appointment-booking h2{
  font-size:32px !important;line-height:.98 !important;font-weight:800 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .appointment-booking .btn,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .appointment-booking button{
  border-radius:var(--radius) !important;background:#3fa1bb !important;border-color:#3fa1bb !important;color:#fff !important;font-family:var(--font-body) !important;font-size:var(--type-small) !important;font-weight:800 !important;letter-spacing:.07em !important;text-transform:uppercase !important;
}

/* FAQ: identische Wiesbaden-Komponente; nur Introbreite leicht begrenzen */
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .faq-intro{max-width:430px;}

@media(max-width:980px){
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #privatangebote .course-finder-grid{grid-template-columns:1fr !important;}
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .private-price-line{grid-template-columns:minmax(0,1fr) auto auto;gap:14px;}
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .booking-steps{grid-template-columns:repeat(2,minmax(0,1fr));}
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .booking-steps > div:nth-child(2){border-right:0;}
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .booking-steps > div:nth-child(-n+2){border-bottom:1px solid var(--line);}
}
@media(max-width:680px){
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #privatangebote{padding-top:46px !important;padding-bottom:48px !important;}
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .private-booking-section{padding:48px 0 52px !important;}
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .appointment-booking-shell{padding:18px 16px 20px;}
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .private-price-line{grid-template-columns:1fr auto;gap:4px 14px;}
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .private-price-line .price-with-trainer{grid-column:2;}
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .private-price-line small{grid-column:1 / -1;}
}


/*=========================================================
  20. BADMIETE – FINALER FEINSCHLIFF V6
  Korrigiert die im Live-Screenshot noch sichtbaren Abweichungen:
  - Statement-Kontrast / Hintergrundbild
  - Preis-Spaltenbeschriftung und Ausrichtung
  - nicht klickbare Merkmalszeilen ohne Link-Anmutung
  - KuteGo-Karte etwas ruhiger
  =========================================================*/

/* --- Statement: gleiche Lesbarkeit und Bildwirkung wie /wiesbaden/ --- */
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .statement{
  min-height:400px !important;
  background:#152126 !important;
  isolation:isolate;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .statement-bg{
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:68% 43% !important;
  opacity:1 !important;
  filter:saturate(.88) contrast(.96) brightness(.92);
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .statement::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  background:linear-gradient(
    90deg,
    rgba(7,24,30,.90) 0%,
    rgba(7,24,30,.72) 39%,
    rgba(7,24,30,.36) 63%,
    rgba(7,24,30,.10) 100%
  ) !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .statement::after{
  content:none !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .statement .container{
  position:relative !important;
  z-index:2 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .statement h2{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  max-width:720px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .statement h2 .accent,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .statement .accent{
  color:#9ee1ed !important;
  -webkit-text-fill-color:#9ee1ed !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .statement .eyebrow{
  color:#a9e5ef !important;
  -webkit-text-fill-color:#a9e5ef !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .statement .lead{
  color:rgba(255,255,255,.90) !important;
}

/* --- Preise: verständliche Spaltenüberschriften, Wiesbaden-Raster beibehalten --- */
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .private-price-head{
  display:grid;
  grid-template-columns:78px minmax(0,1fr) 84px 84px;
  gap:26px;
  align-items:end;
  padding:0 0 11px;
  border-bottom:1px solid var(--line);
  color:#637178;
  font-size:var(--type-meta);
  font-weight:800;
  line-height:1.25;
  letter-spacing:.11em;
  text-transform:uppercase;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .private-price-head span:nth-child(3),
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .private-price-head span:nth-child(4){
  text-align:right;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .private-price-line{
  grid-template-columns:minmax(0,1fr) 84px 84px !important;
  gap:24px !important;
  align-items:center !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .private-price-line span{
  min-width:0 !important;
  font-variant-numeric:tabular-nums;
}

/* --- Merkmalszeilen: Information statt falscher Link-Affordance --- */
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .private-feature b{
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  border-radius:50%;
  background:rgba(63,161,187,.12);
  color:var(--accent-dark) !important;
  font-family:var(--font-body);
  font-size:10px !important;
  line-height:1 !important;
  font-weight:900 !important;
}

/* --- KuteGo: als eingebettete Funktionskarte, nicht als zweite Landingpage --- */
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .appointment-booking-shell{
  max-width:1000px;
  padding:26px 28px 28px !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .appointment-booking h1,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .appointment-booking h2{
  font-size:30px !important;
  line-height:.98 !important;
}

@media(max-width:980px){
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .private-price-head{
    grid-template-columns:64px minmax(0,1fr) 76px 76px;
    gap:14px;
  }
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .private-price-line{
    grid-template-columns:minmax(0,1fr) 76px 76px !important;
    gap:14px !important;
  }
}

@media(max-width:680px){
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .statement{
    min-height:340px !important;
  }
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .statement-bg{
    object-position:62% 44% !important;
  }
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .statement::before{
    background:linear-gradient(
      180deg,
      rgba(7,24,30,.84) 0%,
      rgba(7,24,30,.64) 58%,
      rgba(7,24,30,.30) 100%
    ) !important;
  }
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .private-price-head{
    grid-template-columns:minmax(0,1fr) 70px 70px;
    gap:10px;
    padding-left:0;
  }
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .private-price-head > span:first-child{
    display:none;
  }
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .private-price-line{
    grid-template-columns:minmax(0,1fr) 70px 70px !important;
    gap:10px !important;
  }
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .private-price-line .price-with-trainer{
    grid-column:auto !important;
  }
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root .appointment-booking-shell{
    max-width:none;
    padding:18px 16px 20px !important;
  }
}

/*=========================================================
   10. BADMIETE – KUTEGO BUCHUNGSMODUL / TYPOGRAFIE V7
   Gleiche Schriftlogik wie /wiesbaden/:
   Display = Barlow Condensed, UI/Text = Inter
   =========================================================*/
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .appointment-container,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .calendar,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .appointment-times,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .appointment-booking,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .appointment-button{
  font-family:var(--font-body) !important;
  color:var(--text) !important;
}

/* Titel des Funktionsmoduls – bewusst H3-/Kartenebene, nicht Seiten-H2 */
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .appointment-container > h2{
  margin:0 0 20px !important;
  font-family:var(--font-display) !important;
  font-size:30px !important;
  line-height:.96 !important;
  font-weight:800 !important;
  letter-spacing:-.02em !important;
  text-transform:uppercase !important;
  color:var(--text) !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .appointment-container > hr{
  margin:0 0 22px !important;
  border:0 !important;
  border-top:1px solid var(--line) !important;
}

/* Kalender-Grundschrift */
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .zabuto_calendar,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .zabuto_calendar table,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .zabuto_calendar td,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .zabuto_calendar th,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .zabuto_calendar span,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .zabuto_calendar div{
  font-family:var(--font-body) !important;
}

/* Monat */
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .calendar-month-header td,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .calendar-month-header span{
  font-family:var(--font-body) !important;
  font-size:15px !important;
  line-height:1.3 !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  color:var(--text) !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .calendar-month-navigation,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .calendar-month-navigation span{
  color:var(--text) !important;
  font-size:14px !important;
}

/* Wochentage */
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .calendar-dow-header th{
  font-family:var(--font-body) !important;
  font-size:13px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  letter-spacing:.015em !important;
  color:#314047 !important;
}

/* Kalendertage */
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .zabuto_calendar .day{
  font-family:var(--font-body) !important;
  font-size:14px !important;
  line-height:1.2 !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
  color:#43545b !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .zabuto_calendar .active .day,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .zabuto_calendar .day:hover{
  color:var(--text) !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .badge-today{
  font-family:var(--font-body) !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
}

/* Legende */
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .legend,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .legend-block,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .legend-block > span{
  font-family:var(--font-body) !important;
  font-size:12px !important;
  line-height:1.35 !important;
  font-weight:500 !important;
  color:#43545b !important;
}

/* Überschrift der Terminliste */
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .appointment-times h4{
  margin:0 !important;
  font-family:var(--font-body) !important;
  font-size:15px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  color:var(--text) !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .appointment-times h4 b{
  font-family:inherit !important;
  font-size:inherit !important;
  font-weight:700 !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .appointment-times > hr{
  margin:16px 0 20px !important;
  border:0 !important;
  border-top:1px solid var(--line) !important;
}

/* Uhrzeit-Buttons */
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .appointment-times .btn.time{
  min-width:82px !important;
  min-height:48px !important;
  padding:0 18px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-family:var(--font-body) !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.035em !important;
  text-transform:none !important;
  color:#fff !important;
  background:var(--accent) !important;
  border:1px solid var(--accent) !important;
  border-radius:var(--radius) !important;
  box-shadow:0 6px 16px rgba(47,133,155,.14) !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .appointment-times .btn.time:hover,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .appointment-times .btn.time:focus{
  background:var(--accent-dark) !important;
  border-color:var(--accent-dark) !important;
  color:#fff !important;
}

/* Dynamisch nachgeladener Buchungsbereich */
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .appointment-booking,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .appointment-booking p,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .appointment-booking div,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .appointment-booking span,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .appointment-booking label,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .appointment-booking input,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .appointment-booking select,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .appointment-booking textarea,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .appointment-button,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .price-details,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .hotline-text{
  font-family:var(--font-body) !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .appointment-booking p,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .appointment-booking label,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .price-details,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .hotline-text{
  font-size:14px !important;
  line-height:1.55 !important;
  color:#43545b !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .appointment-booking label{
  font-weight:700 !important;
  color:var(--text) !important;
}
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .appointment-booking input,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .appointment-booking select,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .appointment-booking textarea{
  font-size:14px !important;
  line-height:1.4 !important;
  font-weight:500 !important;
  color:var(--text) !important;
}

/* Verbindlich-buchen-Button */
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .book-btn,
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .appointment-button .btn-secondary{
  min-height:50px !important;
  padding:0 22px !important;
  font-family:var(--font-body) !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.075em !important;
  text-transform:uppercase !important;
  color:#fff !important;
  background:var(--accent) !important;
  border:1px solid var(--accent) !important;
  border-radius:var(--radius) !important;
}

/* Font Awesome niemals durch Inter überschreiben */
html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .fa{
  font-family:FontAwesome !important;
}

@media(max-width:680px){
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .appointment-container > h2{
    font-size:26px !important;
  }
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .calendar-month-header td,
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .calendar-month-header span,
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .appointment-times h4{
    font-size:14px !important;
  }
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .calendar-dow-header th{
    font-size:12px !important;
  }
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .zabuto_calendar .day{
    font-size:13px !important;
  }
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .legend,
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .legend-block,
  html:not(.wm-editor-mode) body.controller-badmiete .wm-landing-root #appointment_calendar_8860 .legend-block > span{
    font-size:11px !important;
  }
}


/*=========================================================
  10. GUTSCHEINE – WIESBADEN-DESIGNSYSTEM + KUTEGO COUPONS
  =========================================================*/

body.controller-gutschein-kaufen{
  background:#ffffff !important;
  background-image:none !important;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen{
  overflow-x:clip;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .main{
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen #main-content{
  margin:0 !important;
  padding:0 !important;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen #main-content > [data-module="module"] > .container{
  width:min(1220px,calc(100% - 40px)) !important;
  max-width:1220px !important;
  margin:0 auto !important;
  padding:0 !important;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen #main-content .row.margin-bottom-40{
  margin:0 !important;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen #main-content .content-page{
  margin:0 !important;
  padding:0 !important;
}

/* ---------- gemeinsame Gutscheine-Tokens ---------- */
html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-root,
html:not(.wm-editor-mode) body.controller-gutschein-kaufen #main-content{
  --surface:#ffffff;
  --surface-soft:#eef5f6;
  --surface-alt:#f7fbfc;
  --text:#152126;
  --muted:#43545b;
  --accent:#3fa1bb;
  --accent-dark:#2f859b;
  --accent-soft:rgba(63,161,187,.12);
  --line:rgba(21,33,38,.13);
  --shadow:0 12px 34px rgba(22,46,55,.07);
  --max:1220px;
  --font-display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --font-body:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --type-h1:clamp(56px,5.2vw,80px);
  --type-h2:clamp(44px,4.2vw,60px);
  --type-h3:28px;
  --type-lead:18px;
  --type-body:15px;
  --type-small:13px;
  --type-meta:11px;
  color:var(--text);
  font-family:var(--font-body);
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-root,
html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-root *,
html:not(.wm-editor-mode) body.controller-gutschein-kaufen #main-content .content-page,
html:not(.wm-editor-mode) body.controller-gutschein-kaufen #main-content .content-page *{
  box-sizing:border-box;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-container{
  width:min(var(--max),calc(100% - 40px));
  max-width:var(--max);
  margin:0 auto;
}

/* ---------- Typografie ---------- */
html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-eyebrow{
  display:block;
  margin:0 0 13px;
  color:var(--accent-dark);
  font:700 var(--type-meta)/1.2 var(--font-body);
  letter-spacing:.16em;
  text-transform:uppercase;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-root h1,
html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-root h2,
html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-root h3,
html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-shop-head h2{
  margin:0;
  font-family:var(--font-display);
  text-transform:uppercase;
  color:var(--text);
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-root h1{
  font-size:var(--type-h1);
  line-height:.93;
  font-weight:800;
  letter-spacing:-.025em;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-root h2,
html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-shop-head h2{
  font-size:var(--type-h2);
  line-height:.95;
  font-weight:800;
  letter-spacing:-.025em;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-accent{
  color:var(--accent);
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-lead{
  margin:18px 0 0;
  color:var(--muted);
  font-size:var(--type-lead);
  line-height:1.62;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-copy{
  color:var(--muted);
  font-size:var(--type-body);
  line-height:1.65;
}

/* ---------- Hero ---------- */
html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-hero{
  padding:52px 0 34px;
  background:#fff;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-hero-grid{
  min-height:500px;
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);
  gap:74px;
  align-items:center;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-hero-copy{
  max-width:610px;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:28px;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:52px;
  padding:0 24px;
  border:1px solid var(--accent);
  background:var(--accent);
  color:#fff !important;
  font:800 13px/1 var(--font-body);
  letter-spacing:.07em;
  text-transform:uppercase;
  text-decoration:none !important;
  box-shadow:0 8px 20px rgba(63,161,187,.16);
  transition:transform .18s ease,background-color .18s ease,border-color .18s ease;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-btn:hover{
  transform:translateY(-1px);
  background:var(--accent-dark);
  border-color:var(--accent-dark);
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-points{
  display:flex;
  flex-wrap:wrap;
  gap:10px 22px;
  margin:24px 0 0;
  padding:0;
  list-style:none;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-points li{
  position:relative;
  padding-left:20px;
  color:#314047;
  font-size:13px;
  line-height:1.5;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-points li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:var(--accent);
  font-weight:800;
}

/* ---------- Hero-Gutschein als eigenes grafisches Element ---------- */
html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-visual{
  position:relative;
  min-height:390px;
  display:flex;
  align-items:center;
  justify-content:center;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-card{
  position:relative;
  width:min(100%,520px);
  aspect-ratio:1.55 / 1;
  padding:42px 44px;
  overflow:hidden;
  background:linear-gradient(135deg,#15323b 0%,#1d4550 100%);
  box-shadow:0 24px 55px rgba(21,33,38,.18);
  color:#fff;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-card::before{
  content:"";
  position:absolute;
  width:310px;
  height:310px;
  right:-80px;
  top:-100px;
  border:1px solid rgba(158,225,237,.30);
  border-radius:50%;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-card::after{
  content:"";
  position:absolute;
  width:205px;
  height:205px;
  right:8px;
  bottom:-94px;
  border:42px solid rgba(63,161,187,.20);
  border-radius:50%;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-card-kicker{
  position:relative;
  z-index:2;
  color:#9ee1ed;
  font:800 11px/1.2 var(--font-body);
  letter-spacing:.16em;
  text-transform:uppercase;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-card-title{
  position:relative;
  z-index:2;
  margin-top:28px;
  max-width:340px;
  font:800 clamp(42px,5vw,62px)/.9 var(--font-display);
  letter-spacing:-.025em;
  text-transform:uppercase;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-card-sub{
  position:absolute;
  z-index:2;
  left:44px;
  bottom:38px;
  color:rgba(255,255,255,.74);
  font:600 13px/1.4 var(--font-body);
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-card-badge{
  position:absolute;
  z-index:2;
  right:34px;
  bottom:30px;
  width:86px;
  height:86px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#3fa1bb;
  color:#fff;
  border-radius:50%;
  font:800 18px/1 var(--font-display);
  text-transform:uppercase;
  transform:rotate(-8deg);
}

/* ---------- Kennzahlen ---------- */
html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-stats{
  padding:0 0 22px;
  background:#fff;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-stats-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-stat{
  min-height:112px;
  padding:26px 30px;
  border-left:1px solid var(--line);
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-stat:first-child{
  border-left:0;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-stat-value{
  color:var(--accent);
  font:800 clamp(36px,3.2vw,48px)/.9 var(--font-display);
  letter-spacing:-.02em;
  text-transform:uppercase;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-stat-label{
  margin-top:9px;
  color:#65757c;
  font:800 10px/1.3 var(--font-body);
  letter-spacing:.10em;
  text-transform:uppercase;
}

/* ---------- Native KuteGo-Gutscheinbereich ---------- */
html:not(.wm-editor-mode) body.controller-gutschein-kaufen #main-content{
  background:var(--surface-soft);
  padding:66px 0 74px !important;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-shop-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);
  gap:72px;
  align-items:end;
  margin:0 0 32px;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-shop-head p{
  margin:0 0 5px;
  color:var(--muted);
  font:400 var(--type-lead)/1.6 var(--font-body);
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen #main-content .content-page > .row{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin:0 !important;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen #main-content .content-page > .row > [class*="col-"]{
  float:none !important;
  width:auto !important;
  min-width:0;
  padding:0 !important;
  margin:0 !important;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .pricing{
  height:100%;
  margin:0 !important;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#fff !important;
  border:1px solid #dce5e7 !important;
  box-shadow:none !important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .pricing:hover{
  transform:translateY(-2px);
  border-color:rgba(63,161,187,.52) !important;
  box-shadow:0 12px 30px rgba(22,46,55,.08) !important;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .pricing form{
  height:100%;
  display:flex;
  flex-direction:column;
  margin:0;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .pricing-head,
html:not(.wm-editor-mode) body.controller-gutschein-kaufen .pricing-head.pricing-head-active{
  min-height:176px;
  padding:26px 24px 22px !important;
  border:0 !important;
  border-top:3px solid var(--accent) !important;
  background:#fff !important;
  text-align:left !important;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .pricing-head h3,
html:not(.wm-editor-mode) body.controller-gutschein-kaufen .pricing-head.pricing-head-active h3{
  margin:0 0 22px !important;
  padding:0 !important;
  color:var(--text) !important;
  font:800 28px/.95 var(--font-display) !important;
  letter-spacing:-.015em !important;
  text-transform:uppercase !important;
  background:none !important;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .pricing-head h3 span{
  display:block !important;
  margin-top:9px !important;
  color:var(--accent-dark) !important;
  font:700 10px/1.35 var(--font-body) !important;
  letter-spacing:.10em !important;
  text-transform:uppercase !important;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .pricing-head h4{
  margin:0 !important;
  padding:0 !important;
  color:var(--text) !important;
  background:none !important;
  font:800 42px/.95 var(--font-display) !important;
  letter-spacing:-.02em !important;
  text-align:left !important;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .pricing-head h4 i{
  color:inherit !important;
  font-family:inherit !important;
  font-size:.58em !important;
  font-style:normal !important;
  font-weight:700 !important;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .coupon-input{
  width:112px !important;
  height:48px !important;
  margin:0 8px 0 0 !important;
  padding:7px 10px !important;
  border:1px solid #ccd8db !important;
  background:#fff !important;
  color:var(--text) !important;
  font:700 22px/1 var(--font-body) !important;
  text-align:center !important;
  box-shadow:none !important;
  border-radius:0 !important;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .coupon-input:focus{
  border-color:var(--accent) !important;
  outline:2px solid rgba(63,161,187,.13) !important;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .pricing-content{
  flex:1 1 auto;
  margin:0 !important;
  padding:0 24px !important;
  border-top:1px solid #edf1f2;
  background:#fff !important;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .pricing-content li{
  min-height:47px;
  display:flex;
  align-items:center;
  gap:9px;
  margin:0 !important;
  padding:11px 0 !important;
  border-bottom:1px solid #edf1f2 !important;
  color:#526168 !important;
  background:#fff !important;
  font:500 13px/1.45 var(--font-body) !important;
  text-align:left !important;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .pricing-content li .fa{
  width:14px;
  color:var(--accent) !important;
  font-size:11px !important;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .pricing-footer{
  margin-top:auto !important;
  padding:21px 24px 24px !important;
  background:#fff !important;
  text-align:left !important;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .pricing-footer .buy-coupon{
  min-height:48px !important;
  margin:0 !important;
  padding:0 20px !important;
  border:1px solid var(--accent) !important;
  border-radius:0 !important;
  background:var(--accent) !important;
  color:#fff !important;
  box-shadow:none !important;
  font:800 12px/1 var(--font-body) !important;
  letter-spacing:.07em !important;
  text-transform:uppercase !important;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .pricing-footer .buy-coupon:hover,
html:not(.wm-editor-mode) body.controller-gutschein-kaufen .pricing-footer .buy-coupon:focus{
  background:var(--accent-dark) !important;
  border-color:var(--accent-dark) !important;
  color:#fff !important;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .pricing-footer .buy-coupon .fa{
  margin-left:8px;
  font-size:10px;
}

/* ---------- FAQ ---------- */
html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-faq{
  padding:70px 0 78px;
  background:#fff;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-faq-grid{
  display:grid;
  grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);
  gap:86px;
  align-items:start;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-faq-list{
  border-top:1px solid var(--line);
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-faq-list details{
  margin:0;
  padding:0;
  border:0;
  border-bottom:1px solid var(--line);
  background:#fff;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-faq-list summary{
  position:relative;
  padding:18px 40px 18px 0;
  cursor:pointer;
  list-style:none;
  color:var(--text);
  font:700 14px/1.45 var(--font-body);
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-faq-list summary::-webkit-details-marker{
  display:none;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-faq-list summary::after{
  content:"+";
  position:absolute;
  right:4px;
  top:50%;
  transform:translateY(-50%);
  color:var(--accent);
  font-size:20px;
  line-height:1;
  font-weight:500;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-faq-list details[open] summary::after{
  transform:translateY(-50%) rotate(45deg);
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-faq-list details p{
  margin:0;
  padding:0 44px 20px 0;
  color:var(--muted);
  font:400 14px/1.65 var(--font-body);
}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-container{
    width:calc(100% - 30px);
  }

  html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-hero-grid{
    min-height:0;
    grid-template-columns:1fr;
    gap:36px;
  }

  html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-visual{
    min-height:0;
  }

  html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-card{
    width:100%;
    max-width:620px;
  }

  html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-shop-head,
  html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-faq-grid{
    grid-template-columns:1fr;
    gap:24px;
  }

  html:not(.wm-editor-mode) body.controller-gutschein-kaufen #main-content .content-page > .row{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:640px){
  html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-root,
  html:not(.wm-editor-mode) body.controller-gutschein-kaufen #main-content{
    --type-h1:44px;
    --type-h2:36px;
    --type-h3:24px;
    --type-lead:16px;
    --type-body:14px;
    --type-small:12px;
    --type-meta:10.5px;
  }

  html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-hero{
    padding:36px 0 24px;
  }

  html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-card{
    aspect-ratio:auto;
    min-height:300px;
    padding:30px 26px;
  }

  html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-card-sub{
    left:26px;
    bottom:28px;
  }

  html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-card-badge{
    width:72px;
    height:72px;
    right:22px;
    bottom:22px;
  }

  html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-stats-grid{
    grid-template-columns:1fr 1fr;
  }

  html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-stat{
    min-height:94px;
    padding:21px 18px;
    border-top:1px solid var(--line);
  }

  html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-stat:nth-child(odd){
    border-left:0;
  }

  html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-stat:nth-child(-n+2){
    border-top:0;
  }

  html:not(.wm-editor-mode) body.controller-gutschein-kaufen #main-content{
    padding:52px 0 58px !important;
  }

  html:not(.wm-editor-mode) body.controller-gutschein-kaufen #main-content > [data-module="module"] > .container{
    width:calc(100% - 30px) !important;
  }

  html:not(.wm-editor-mode) body.controller-gutschein-kaufen #main-content .content-page > .row{
    grid-template-columns:1fr;
    gap:14px;
  }

  html:not(.wm-editor-mode) body.controller-gutschein-kaufen .pricing-head,
  html:not(.wm-editor-mode) body.controller-gutschein-kaufen .pricing-head.pricing-head-active{
    min-height:0;
  }

  html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-faq{
    padding:54px 0 60px;
  }
}


/*=========================================================
  11. GUTSCHEINE V9 – GRID-FIX + FEINSCHLIFF
  Ursache des 3+1-Layouts: Bootstrap .row::before / ::after
  werden im CSS-Grid als zusätzliche Grid-Items behandelt.
  =========================================================*/

/* Bootstrap-Clearfix-Pseudoelemente vollständig aus dem Gutschein-Grid entfernen */
html:not(.wm-editor-mode) body.controller-gutschein-kaufen
#main-content .content-page > .row::before,
html:not(.wm-editor-mode) body.controller-gutschein-kaufen
#main-content .content-page > .row::after{
  display:none !important;
  content:none !important;
}

/* Grid vollständig von Bootstrap lösen */
html:not(.wm-editor-mode) body.controller-gutschein-kaufen
#main-content .content-page > .row{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  float:none !important;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen
#main-content .content-page > .row > .col-md-3,
html:not(.wm-editor-mode) body.controller-gutschein-kaufen
#main-content .content-page > .row > .col-sm-6,
html:not(.wm-editor-mode) body.controller-gutschein-kaufen
#main-content .content-page > .row > [class*="col-"]{
  display:block !important;
  float:none !important;
  clear:none !important;
  position:static !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  left:auto !important;
  right:auto !important;
  flex:none !important;
}

/* Jede Karte belegt exakt ihr Grid-Feld */
html:not(.wm-editor-mode) body.controller-gutschein-kaufen
#main-content .pricing{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  height:100% !important;
}

/* Kaufbereich etwas kompakter – näher am Rhythmus von /wiesbaden/ */
html:not(.wm-editor-mode) body.controller-gutschein-kaufen #main-content{
  padding:58px 0 64px !important;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-shop-head{
  margin-bottom:26px !important;
}

/* Karten etwas großzügiger, aber nicht "Shop-Template"-artig */
html:not(.wm-editor-mode) body.controller-gutschein-kaufen .pricing-head,
html:not(.wm-editor-mode) body.controller-gutschein-kaufen .pricing-head.pricing-head-active{
  min-height:168px !important;
  padding:24px 22px 20px !important;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .pricing-content{
  padding:0 22px !important;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .pricing-footer{
  padding:19px 22px 22px !important;
}

/* Wunschbetragsfeld sauber mit € ausrichten */
html:not(.wm-editor-mode) body.controller-gutschein-kaufen .pricing-head h4{
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  min-height:48px !important;
}

html:not(.wm-editor-mode) body.controller-gutschein-kaufen .pricing-head h4 .coupon-input{
  flex:0 0 112px !important;
}

/* Kennzahlen in der Hero-Zeile lesbarer */
html:not(.wm-editor-mode) body.controller-gutschein-kaufen .wm-gift-stat-value{
  font-size:clamp(32px,2.8vw,44px) !important;
}

/* Tablet bewusst 2 x 2 */
@media (max-width:980px){
  html:not(.wm-editor-mode) body.controller-gutschein-kaufen
  #main-content .content-page > .row{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* Mobil 1 x 4 */
@media (max-width:640px){
  html:not(.wm-editor-mode) body.controller-gutschein-kaufen
  #main-content .content-page > .row{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
}
/* Kursfilter hat Vorrang vor dem mobilen Layout */
#week_courses5700 .wm-slot-hide {
  display: none !important;
}