/* Wave: organische CI-Wellen mit ruhigerer Hero-Typografie */
html[data-theme="wave"] .hero{position:relative;isolation:isolate}
html[data-theme="wave"] .hero::before,html[data-theme="wave"] .hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:clamp(75px,11vw,165px);pointer-events:none;background-repeat:no-repeat;z-index:2;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%}
html[data-theme="wave"] .hero::before{background:var(--yellow,var(--primary,#2DAEFB));-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 170' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0 52 C220 -22 380 92 650 125 S1090 128 1220 89 S1390 78 1440 90 L1440 170 H0Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 170' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0 52 C220 -22 380 92 650 125 S1090 128 1220 89 S1390 78 1440 90 L1440 170 H0Z'/%3E%3C/svg%3E")}
html[data-theme="wave"] .hero::after{background:var(--paper,#fffcf0);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 170' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0 90 C220 19 395 123 675 145 S1080 148 1220 119 S1390 116 1440 127 L1440 170 H0Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 170' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0 90 C220 19 395 123 675 145 S1080 148 1220 119 S1390 116 1440 127 L1440 170 H0Z'/%3E%3C/svg%3E")}
html[data-theme="wave"] .hero-content{position:relative;z-index:3;padding-top:clamp(140px,14vh,190px);padding-bottom:clamp(110px,12vw,175px);box-sizing:border-box}
html[data-theme="wave"] .hero-copy{transform:translateY(26px)}
html[data-theme="wave"] .hero-usps{margin-top:clamp(12px,2vw,24px)}
html[data-theme="wave"] .quickbar{position:relative;z-index:4}
html[data-theme="wave"] .btn,html[data-theme="wave"] button,html[data-theme="wave"] .button,html[data-theme="wave"] input[type="submit"]{border-radius:999px}
html[data-theme="wave"] .card,html[data-theme="wave"] .class-card,html[data-theme="wave"] .news-card,html[data-theme="wave"] .quickgrid>a{border-radius:20px}
/* Subtile Wellen bei Angebotsbereich und Footer, nur im Wave-Theme */
html[data-theme="wave"] .home-tiles{position:relative;padding-top:clamp(85px,8vw,130px)}
html[data-theme="wave"] .home-tiles::before{content:"";position:absolute;top:-1px;left:0;right:0;height:clamp(48px,6vw,90px);background:var(--paper,#fffcf0);clip-path:none;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 90' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0 0H1440V30 C1120 92 850 12 560 48 S160 90 0 50Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 90' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0 0H1440V30 C1120 92 850 12 560 48 S160 90 0 50Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;pointer-events:none}
html[data-theme="wave"] .site-footer{position:relative;margin-top:clamp(40px,6vw,85px);padding-top:clamp(95px,9vw,140px)}
html[data-theme="wave"] .site-footer::before{content:"";position:absolute;left:0;right:0;top:-1px;height:clamp(65px,7vw,110px);background:var(--paper,#fffcf0);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 110' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0 0H1440V62 C1150 10 980 103 720 65 S270 18 0 85Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 110' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0 0H1440V62 C1150 10 980 103 720 65 S270 18 0 85Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;pointer-events:none}
@media(max-width:760px){html[data-theme="wave"] .hero{min-height:680px;height:auto}html[data-theme="wave"] .hero-content{min-height:680px;padding-top:150px;padding-bottom:125px}html[data-theme="wave"] .hero-copy{transform:translateY(0)}html[data-theme="wave"] .hero::before,html[data-theme="wave"] .hero::after{height:75px}}

/* 4.3.63: sehr dezente, einzelne Header-Welle; keine Wellen in der Galerie */
html[data-theme="wave"] .site-header{position:absolute;background:transparent}

/* Galerie: ausschließlich abgerundete Fotos, keine Wellen-Overlays */
html[data-theme="wave"] .gallery::before,html[data-theme="wave"] .gallery::after,html[data-theme="wave"] .gallery-grid::before,html[data-theme="wave"] .gallery-grid::after,html[data-theme="wave"] .gallery-item::before,html[data-theme="wave"] .gallery-item::after{content:none!important;display:none!important}
html[data-theme="wave"] .gallery img,html[data-theme="wave"] .gallery-grid img{border-radius:20px}
/* News: keine angeschnittene kreisförmige Welle */
html[data-theme="wave"] .news-hero::before,html[data-theme="wave"] .news-hero::after{content:none!important;display:none!important}

/* Wave: Classic-Navigation, dezente einzelne Welle am unteren Header-Rand */
html[data-theme="wave"] .site-header{position:absolute;background:transparent;border-bottom:1px solid rgba(255,255,255,.18)}
html[data-theme="wave"] .inner-page .site-header{position:relative;background:#101113;border-bottom:1px solid #2b2b2b}
html[data-theme="wave"] .site-header::after{content:"";position:absolute;left:0;right:0;bottom:-12px;height:13px;z-index:1;pointer-events:none;background:var(--primary,var(--yellow,#2DAEFB));-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 16' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0 0 H1440 V6 C1160 15 920 4 720 9 S250 15 0 5 Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 16' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0 0 H1440 V6 C1160 15 920 4 720 9 S250 15 0 5 Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}
html[data-theme="wave"] .news-hero::before,html[data-theme="wave"] .news-hero::after{content:none!important;display:none!important}
html[data-theme="wave"] .gallery::before,html[data-theme="wave"] .gallery::after{content:none!important;display:none!important}

/* 4.3.63: Navbar bleibt wie Classic – KEINE separate Welle unter der Navigation */
html[data-theme="wave"] .site-header::before,
html[data-theme="wave"] .site-header::after{content:none!important;display:none!important}
html[data-theme="wave"] .site-header{border-bottom:0!important}
html[data-theme="wave"] .inner-page .site-header{background:#101113}
html[data-theme="wave"] .news-hero,
html[data-theme="wave"] .page-hero{position:relative;isolation:isolate;overflow:hidden}
/* Auf Unterseiten die runde Dekoration durch den unteren Wellenabschluss ersetzen */
html[data-theme="wave"] .news-hero::before,
html[data-theme="wave"] .page-hero::before{content:none!important;display:none!important}
html[data-theme="wave"] .news-hero::after,
html[data-theme="wave"] .page-hero::after{
 content:""!important;display:block!important;position:absolute;left:0;right:0;bottom:-1px;
 height:clamp(55px,8vw,110px);pointer-events:none;z-index:2;
 background:var(--paper,#fffcf0);
 -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 110' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0 38 C235 -10 365 93 675 74 S1130 16 1440 52 L1440 110 H0 Z'/%3E%3C/svg%3E") center bottom/100% 100% no-repeat;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 110' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0 38 C235 -10 365 93 675 74 S1130 16 1440 52 L1440 110 H0 Z'/%3E%3C/svg%3E") center bottom/100% 100% no-repeat
}
html[data-theme="wave"] .gallery::before,html[data-theme="wave"] .gallery::after,
html[data-theme="wave"] .gallery-grid::before,html[data-theme="wave"] .gallery-grid::after{content:none!important;display:none!important}


/* 4.3.63: Tatsächlicher Seitenheader ist .page-intro (nicht .page-hero).
   Einzige Welle am unteren Ende des dunklen Inhaltsbereichs. */
html[data-theme="wave"] .inner-page .page-intro{
 position:relative;isolation:isolate;overflow:hidden;
 padding-bottom:clamp(80px,8vw,112px);
}
html[data-theme="wave"] .inner-page .page-intro::before{
 content:none!important;display:none!important;
}
html[data-theme="wave"] .inner-page .page-intro::after{
 content:""!important;display:block!important;
 position:absolute!important;left:0!important;right:0!important;top:auto!important;bottom:-1px!important;
 width:100%!important;height:clamp(38px,5vw,68px)!important;
 border-radius:0!important;pointer-events:none;z-index:1;
 background:var(--paper,#fffcf0)!important;
 -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 110' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0 24 C460 22 900 62 1440 54 L1440 110 H0Z'/%3E%3C/svg%3E") center bottom/100% 100% no-repeat!important;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 110' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0 24 C460 22 900 62 1440 54 L1440 110 H0Z'/%3E%3C/svg%3E") center bottom/100% 100% no-repeat!important;
}
html[data-theme="wave"] .inner-page .page-intro>.container{position:relative;z-index:2}

/* 4.3.63 – CI-farbiges Band mit ungleichmäßiger Stärke statt weißer Einzelwelle.
   Beide Kanten sind sanfte, einmalige Bögen ohne wiederholte Wasserwellen. */
html[data-theme="wave"] .inner-page .page-intro{position:relative;isolation:isolate;overflow:hidden;padding-bottom:clamp(115px,12vw,175px)}
html[data-theme="wave"] .inner-page .page-intro::before,html[data-theme="wave"] .inner-page .page-intro::after{content:""!important;display:block!important;position:absolute!important;left:0!important;right:0!important;top:auto!important;bottom:-1px!important;width:100%!important;height:clamp(100px,13vw,190px)!important;border-radius:0!important;pointer-events:none!important;background-repeat:no-repeat!important;-webkit-mask-size:100% 100%!important;mask-size:100% 100%!important;z-index:1!important}
html[data-theme="wave"] .inner-page .page-intro::before{background:var(--primary,var(--yellow,#2DAEFB))!important;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 190' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0%2043%20C170%208%20315%2031%20520%2072%20C825%20130%201130%20147%201440%20117%20L1440%20190%20H0%20Z'/%3E%3C/svg%3E") center bottom/100% 100% no-repeat!important;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 190' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0%2043%20C170%208%20315%2031%20520%2072%20C825%20130%201130%20147%201440%20117%20L1440%20190%20H0%20Z'/%3E%3C/svg%3E") center bottom/100% 100% no-repeat!important}
html[data-theme="wave"] .inner-page .page-intro::after{background:var(--paper,#fffcf0)!important;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 190' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0%20108%20C180%2064%20305%2094%20525%20128%20C835%20172%201140%20174%201440%20135%20L1440%20190%20H0%20Z'/%3E%3C/svg%3E") center bottom/100% 100% no-repeat!important;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 190' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0%20108%20C180%2064%20305%2094%20525%20128%20C835%20172%201140%20174%201440%20135%20L1440%20190%20H0%20Z'/%3E%3C/svg%3E") center bottom/100% 100% no-repeat!important;z-index:2!important}
html[data-theme="wave"] .inner-page .page-intro>.container{position:relative;z-index:3}


/* 4.3.63 – Wellenuntergrund entspricht dem direkt folgenden Abschnitt. */
html[data-theme="wave"] .hero::after,
html[data-theme="wave"] .inner-page .page-intro::after {
 background:var(--wave-next-background,var(--paper,#fffcf0))!important;
}
/* Footer wie Classic: gerader Abschluss, keine Welle, kein Wellenabstand. */
html[data-theme="wave"] .site-footer {
 margin-top:0!important;
 padding-top:48px!important;
}
html[data-theme="wave"] .site-footer::before,
html[data-theme="wave"] .site-footer::after {
 content:none!important;
 display:none!important;
}

/* 4.3.63: Startseiten-Hero nutzt exakt die beiden Kurven des Seitenheaders. */
html[data-theme="wave"] .hero::before,html[data-theme="wave"] .hero::after{height:clamp(100px,13vw,190px)!important;left:0!important;right:0!important;bottom:-1px!important;display:block!important;content:""!important;background-repeat:no-repeat!important;-webkit-mask-size:100% 100%!important;mask-size:100% 100%!important}
html[data-theme="wave"] .hero::before{background:var(--primary,var(--yellow,#2DAEFB))!important;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 190' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0%2043%20C170%208%20315%2031%20520%2072%20C825%20130%201130%20147%201440%20117%20L1440%20190%20H0%20Z'/%3E%3C/svg%3E") center bottom/100% 100% no-repeat!important;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 190' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0%2043%20C170%208%20315%2031%20520%2072%20C825%20130%201130%20147%201440%20117%20L1440%20190%20H0%20Z'/%3E%3C/svg%3E") center bottom/100% 100% no-repeat!important}
html[data-theme="wave"] .hero::after{background:var(--paper,#fffcf0)!important;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 190' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0%20108%20C180%2064%20305%2094%20525%20128%20C835%20172%201140%20174%201440%20135%20L1440%20190%20H0%20Z'/%3E%3C/svg%3E") center bottom/100% 100% no-repeat!important;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 190' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0%20108%20C180%2064%20305%2094%20525%20128%20C835%20172%201140%20174%201440%20135%20L1440%20190%20H0%20Z'/%3E%3C/svg%3E") center bottom/100% 100% no-repeat!important;z-index:2!important}


/* 4.3.63: Muss NACH den 4.3.63-Regeln stehen: die spätere
   --paper-Deklaration hatte die dynamische Farbe mit !important überstimmt. */
html[data-theme="wave"] .hero::after,
html[data-theme="wave"] .inner-page .page-intro::after {
 background-color:var(--wave-next-background,var(--paper,#fffcf0))!important;
 background:var(--wave-next-background,var(--paper,#fffcf0))!important;
}
/* Ohne JS direkt den unmittelbar folgenden dunklen News-Abschnitt berücksichtigen. */
html[data-theme="wave"] .hero:has(+ .home-news-feature)::after {
 background:var(--ink,#101113)!important;
}

/* bm CORE 4.3.63 – Footer-Zertifizierungslogos */
html[data-theme] .site-footer .footer-logo-strip img{max-width:100px!important;max-height:100px!important;width:auto!important;height:auto!important;object-fit:contain!important}


/* 4.3.63: Anzahl der Angebotskacheln steuert die volle verfügbare Breite. */
html[data-theme="wave"] .home-tiles .class-grid {
 grid-template-columns:repeat(var(--bm-tile-count,4),minmax(0,1fr));
 width:100%;
}
html[data-theme="wave"] .home-tiles .class-grid > .class-card {min-width:0;width:100%;}
@media(max-width:800px){html[data-theme="wave"] .home-tiles .class-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:540px){html[data-theme="wave"] .home-tiles .class-grid{grid-template-columns:minmax(0,1fr);}}
/* 4.3.63: sichtbarer Hover für jeden Eintrag des echten Bootstrap-Dropdowns. */
html[data-theme="wave"] .site-header .dropdown-menu > li > a,
html[data-theme="wave"] .site-header .dropdown-menu > li > a:link,
html[data-theme="wave"] .site-header .dropdown-menu > li > a:visited {
 display:block;color:#111;background-color:transparent;
 transition:background-color .18s ease,color .18s ease;
}
html[data-theme="wave"] .site-header .dropdown-menu > li:hover > a,
html[data-theme="wave"] .site-header .dropdown-menu > li > a:hover,
html[data-theme="wave"] .site-header .dropdown-menu > li > a:focus-visible,
html[data-theme="wave"] .site-header .dropdown-menu > li > a:active {
 background-color:var(--primary,var(--yellow,#2DAEFB))!important;
 color:#111!important;
}

/* 4.4.7: Terminliste wie abgestimmte Referenz, unabhängig vom Wave-Theme. */
html body .bm-public-calendar .bm-calendar-year { margin: 0 0 42px; }
html body .bm-public-calendar .bm-calendar-year > h2 { font-size:clamp(2rem,3.5vw,2.8rem);font-weight:800;margin:0 0 44px;color:var(--ink,#091e28); }
html body .bm-public-calendar .bm-calendar-month {margin:0 0 42px}
html body .bm-public-calendar .bm-calendar-month > h3 {display:table!important;width:auto!important;background:#111!important;color:#fff!important;border:0!important;padding:12px 20px!important;margin:0 0 16px!important;font-size:clamp(1.4rem,2.5vw,2rem)!important;font-weight:800!important;line-height:1.2!important}
html body .bm-public-calendar .bm-calendar-items,
html body .bm-public-calendar .bm-calendar-list,
html body .bm-public-calendar .bm-calendar-cards {display:flex!important;flex-direction:column!important;gap:30px!important;grid-template-columns:none!important}
html body .bm-public-calendar .bm-calendar-entry {background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;margin:0!important;min-width:0!important;color:var(--ink,#091e28)}
html body .bm-public-calendar .bm-calendar-entry-heading {display:flex!important;align-items:baseline!important;flex-wrap:wrap!important;column-gap:14px!important;row-gap:3px!important;line-height:1.35}
html body .bm-public-calendar .bm-calendar-entry-heading > time {display:inline!important;white-space:nowrap!important;font-size:1.05rem!important;font-weight:400!important;color:var(--ink,#091e28)!important}
html body .bm-public-calendar .bm-calendar-entry-heading > h4 {display:inline!important;margin:0!important;font-size:1.05rem!important;font-weight:750!important;color:#666!important;line-height:1.35!important}
html body .bm-public-calendar .bm-calendar-session-list {display:flex!important;flex-direction:column!important;gap:5px!important;border:0!important;margin:10px 0 0 34px!important;padding:0!important}
html body .bm-public-calendar .bm-calendar-session {display:grid!important;grid-template-columns:max-content minmax(0,1fr)!important;align-items:baseline!important;column-gap:12px!important;row-gap:0!important;padding:0!important;border:0!important;line-height:1.4!important;font-size:1.03rem!important}
html body .bm-public-calendar .bm-calendar-session > time {display:block!important;white-space:nowrap!important;font-size:inherit!important;font-weight:400!important;color:var(--ink,#091e28)!important}
html body .bm-public-calendar .bm-calendar-session > span {display:block!important;min-width:0!important;font-size:inherit!important;overflow-wrap:break-word!important}
html body .bm-public-calendar .bm-calendar-description {margin-top:10px!important}
@media(max-width:600px){html body .bm-public-calendar .bm-calendar-session-list{margin-left:16px!important}html body .bm-public-calendar .bm-calendar-session{grid-template-columns:1fr!important;row-gap:0!important}html body .bm-public-calendar .bm-calendar-entry-heading{flex-direction:column!important;gap:2px!important}}

/* 4.4.9: Galerie-Kacheln sind Bilder, keine pillenförmigen Buttons. */
html[data-theme="wave"] .page-gallery .gallery-grid .gallery-tile,
html[data-theme="wave"] .page-gallery .gallery-grid button.gallery-tile,
html[data-theme="wave"] .page-gallery .gallery-grid .gallery-tile-featured,
html[data-theme="wave"] .page-gallery .gallery-grid .gallery-tile img,
html[data-theme="wave"] .page-gallery .gallery-grid .gallery-tile picture {
  border-radius:0!important;
  clip-path:none!important;
}
html[data-theme="wave"] .page-gallery .gallery-grid .gallery-tile {overflow:hidden!important;}
