/* =========================
   CCBB - custom.css (MERGED + HOME GAP FIX v2)
   Desktop ok + Mobile Burger (links) + Logo (mitte) + Drawer (smooth)
   + Berichte ohne Dropdown
   + Hero-Slider FULLWIDTH (bis Rand) + konstante Bewegung + Hero-Card
   + Schrift konsistent
   + FIX: weisser Spalt zwischen Nav und Home-Hero weg (HOME: #section_1000142)
   ========================= */

:root{
  --ccbb-font: system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", "Liberation Sans", sans-serif;
  --ccbb-text: rgba(51,4,30,1);
  --ccbb-accent: rgba(136,0,93,1);
  --ccbb-border: #e6e6e6;
  --ccbb-bg: #ffffff;
  --ccbb-soft: #f6f6f6;
  --ccbb-img-radius: 10px;
}

/* ===== Schrift überall konsistent ===== */
html, body,
.cd-content, .content-wrapper, .columns,
.cd-navigation-bar-container, .cd-mobile-menu-bar-fixed,
.cd-singledropdownmenu, .cd-mobile-menu,
.cd-singledropdownmenu a, .cd-mobile-menu a,
h1,h2,h3,h4,h5,h6, p, a, button, input{
  font-family: var(--ccbb-font) !important;
}

/* ---------- DESKTOP NAV BAR ---------- */
.cd-navigation-bar-container{
  position: fixed;
  top: 0; left: 0;
  width: 100%;
  z-index: 30010;
  background: var(--ccbb-bg);
  border-bottom: 1px solid var(--ccbb-border);
}
.cd-navigation-bar-content{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px clamp(16px, 3vw, 32px);
  margin: 0 !important;
}
.cd-navigation-bar-content .cd-filler{ display:none !important; }

/* Logo links */
.cd-logo-and-name-desktop{
  position: absolute;
  left: clamp(16px, 3vw, 32px);
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex !important;
  align-items: center;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 2;
}
.cd-logo-and-name-desktop .cd-club-name{ display:none !important; }
.cd-logo-and-name-desktop .cd-club-logo{
  height: 44px; width: auto;
  display:block;
  margin:0 !important;
}

/* Login rechts */
.cd-login-link-desktop{
  position: absolute;
  right: clamp(16px, 3vw, 32px);
  top: 50%;
  transform: translateY(-50%);
  margin: 0 !important;
  z-index: 2;
}
.cd-login-link-desktop a.cd-link-login{
  margin:0 !important;
  padding: 8px 12px;
  border-radius: 10px;
  display: inline-flex;
  align-items:center;
  gap: 8px;
  color: #111 !important;
  text-decoration:none;
  border: 1px solid transparent;
}
.cd-login-link-desktop a.cd-link-login:hover{
  background: var(--ccbb-soft);
  border-color: var(--ccbb-border);
  opacity: 1 !important;
}
a.cd-link-login:hover{ opacity: 1 !important; }

/* Menü mittig */
.cd-singledropdownmenu{
  display:flex;
  justify-content:center;
  width:100%;
  max-width:1100px;
}
.cd-singledropdownmenu .cd-menu-level-1 > ul{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:nowrap;
  list-style:none;
  margin:0 !important;
  padding:0 !important;
  gap: clamp(14px, 2vw, 26px);
}
.cd-singledropdownmenu .cd-menu-level-1 > ul > li{ position:relative; }

.cd-singledropdownmenu .cd-menu-item{
  display:inline-flex;
  align-items:center;
  height:44px;
  padding:0 6px;
  margin:0 !important;
  white-space:nowrap;
}
.cd-singledropdownmenu .cd-menu-level-1 a{
  font-size: clamp(14px, 1.6vw, 18px);
  font-weight: 400;
  color: var(--ccbb-text);
  text-decoration:none;
}
.cd-singledropdownmenu .cd-menu-level-1 a:hover{ opacity:.7; }

.cd-singledropdownmenu .cd-menu-level-1 a.cd-menu-active,
.cd-singledropdownmenu .cd-menu-level-1 a.cd-menu-selected{
  color: var(--ccbb-accent);
  font-weight: 700;
}

/* ---------- DROPDOWN (DESKTOP) ---------- */
.cd-singledropdownmenu .cd-menu-level-2{
  position:absolute;
  top:100%;
  left:0;
  display:block;
  padding-top:8px;
  min-width:280px;
  max-height:75vh;
  overflow-y:auto;
  background: var(--ccbb-bg);
  border:1px solid var(--ccbb-border);
  border-radius:12px;
  box-shadow: 0 10px 25px rgba(0,0,0,.12);
  z-index: 99999;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(8px) scale(.98);
  transform-origin: top left;
  transition: opacity .2s ease, transform .2s ease, visibility 0s linear .2s;
}
.cd-singledropdownmenu .cd-menu-level-2 ul{
  list-style:none;
  margin:0 !important;
  padding:10px !important;
}
.cd-singledropdownmenu .cd-menu-level-2 a{
  display:block;
  padding:10px 12px;
  border-radius:10px;
  font-size:16px;
  font-weight:400;
  color: var(--ccbb-text);
  text-decoration:none;
}
.cd-singledropdownmenu .cd-menu-level-2 a:hover{
  background: var(--ccbb-soft);
  opacity:1;
}
.cd-singledropdownmenu .cd-menu-level-1 > ul > li:hover > .cd-menu-level-2,
.cd-singledropdownmenu .cd-menu-level-1 > ul > li:focus-within > .cd-menu-level-2{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) scale(1);
  transition-delay: 0s;
}
.cd-singledropdownmenu .cd-menu-expander{ pointer-events:none !important; }

/* ---------- BERICHTE: KEIN DROPDOWN (Desktop) ---------- */
.cd-singledropdownmenu a[data-id="_1"] .cd-menu-expander{ display:none !important; }
.cd-singledropdownmenu a[data-id="_1"] + .cd-menu-level-2{ display:none !important; }
.cd-singledropdownmenu .cd-menu-level-1 > ul > li:hover > a[data-id="_1"] + .cd-menu-level-2{ display:none !important; }

/* ---------- PAGE OFFSET (Standard-Seiten) ---------- */
/*@media (min-width: 993px){
  .cd-header-empty .cd-content .cd-section:first-of-type{ padding-top: 150px; }
}
@media (max-width: 992px){
  .cd-header-empty .cd-content .cd-section:first-of-type{ padding-top: 120px; }
}*/

/* =========================================================
   FIX: HOME / HERO direkt unter NAV (kein weisser Spalt)
   Idee: Standard-Top-Padding der ersten Sektion wird für HOME
   effektiv "zurückgezogen", egal ob ClubDesk noch Wrapper davor hat.
   ========================================================= */
#section_1000142{
  padding-top: 0 !important;
  margin-top: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* Negativer Margin zieht die HOME-Hero-Sektion nach oben
   (Desktop = 150px, Mobile/Tablet = 120px) */
@media (min-width: 993px){
  #section_1000142{ margin-top: -150px !important; }
}
@media (max-width: 992px){
  #section_1000142{ margin-top: -120px !important; }
}

/* Innenabstände in der HOME-Sektion komplett killen */
#section_1000142 .cd-section-inner,
#section_1000142 .cd-row,
#section_1000142 .columns,
#section_1000142 .content-wrapper{
  padding-top: 0 !important;
  margin-top: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* ---------- WIDE SCREEN: CONTENT BEREICH SCHMALER ---------- */
@media (min-width: 1400px){
  .main .columns-wrapper{
    max-width: 1480px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 28px;
    padding-right: 28px;
  }

  .main .columns{
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
  }

  .main > .content-wrapper{
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 28px;
    padding-right: 28px;
  }
}

/* ---------- CONTENT FEINSCHLIFF ---------- */
/*.main{ background: #ececec; }*/

.main > footer{
  background: #2f3136;
  color: #f2f2f2;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.main > footer a{
  color: #f2f2f2 !important;
  text-decoration-color: rgba(242,242,242,.45);
}
.main > footer a:hover{
  color: #ffffff !important;
  text-decoration-color: #ffffff;
  opacity: 1 !important;
}
.main > footer :is(.cd-section, .cd-section-inner, .cd-row, .content-wrapper){
  background: transparent !important;
}
.main > footer .cd-section-inner{
  border: 0 !important;
  box-shadow: none !important;
}

.cd-content .cd-section + .cd-section{ margin-top: clamp(22px, 2.4vw, 36px); }

.cd-content h1,
.cd-content h2,
.cd-content h3{
  line-height: 1.2;
  letter-spacing: -0.01em;
}
.cd-content p,
.cd-content li{ line-height: 1.62; }

.cd-content img{
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: var(--ccbb-img-radius);
}
@media (min-width: 1400px){
  .cd-content p,
  .cd-content li{ font-size: 17px; }
}

/* ---------- AUSNAHME: DIESE SEKTIONEN BLEIBEN FULLWIDTH ---------- */

:is(
  #section_1000148,
){
  max-width: 100vw !important;
  max-height: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
:is(
  #section_1000105,
  #section_1000141,
  #section_1000143,
  #section_1000140,
  #section_1000139,
  #section_1000118,
  #section_1000120,
  #section_1000123,
  #section_1000129,
  #section_1000130,
  #section_1000131,
  #section_1000132,
  #section_1000133
){
  max-width: 3440px !important;
  max-height: 1440px !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}
#section_1000118 :is(
  #block_1000429
){
  margin-top: 20% !important;
}

#section_1000120 :is(
  #block_1000440
){
  margin-top: 20% !important;
}

#section_1000123 :is(
  #block_1000456
){
  margin-top: 20% !important;
}

#section_1000129 :is(
  #block_1000479
){
  margin-top: 20% !important;
}

#section_1000130 :is(
  #block_1000483
){
  margin-top: 20% !important;
}

#section_1000131 :is(
  #block_1000487
){
  margin-top: 20% !important;
}

#section_1000132 :is(
  #block_1000491
){
  margin-top: 20% !important;
}

#section_1000133 :is(
  #block_1000495
){
  margin-top: 20% !important;
}



:is(
  #section_1000107
){ 
  margin-top: 15% !important;
}

#section_1000142 :is(
  #block_1000580
){
  margin-top: 20% !important;
}

#section_1000105 :is(
  #block_1000419
){
  margin-top: 60% !important;
  margin-right: 10% !important;
}

#section_1000141 :is(
  #block_1000570
){
  margin-top: 60% !important;
  margin-right: 10% !important;
}

#section_1000143 :is(
  #block_1000656
){
  margin-top: 60% !important;
  margin-right: 10% !important;
}

#section_1000140 :is(
  #block_1000628
){
  margin-top: 60% !important;
  margin-right: 10% !important;
}

#section_1000139 :is(
  #block_1000544
){
  margin-top: 60% !important;
  margin-right: 10% !important;
}
:is(
  #section_1000148,
  #section_1000105,
  #section_1000118,
  #section_1000120,
  #section_1000123,
  #section_1000129,
  #section_1000130,
  #section_1000131,
  #section_1000132,
  #section_1000133,
  #section_1000141,
  #section_1000143,
  #section_1000140,
  #section_1000139
) :is(.cd-section-inner, .cd-row, .columns, .content-wrapper){
  max-width: none !important;
  width: 100% !important;
}
:is(
  #section_1000148,
  #section_1000105,
  #section_1000118,
  #section_1000120,
  #section_1000123,
  #section_1000129,
  #section_1000130,
  #section_1000131,
  #section_1000132,
  #section_1000133,
  #section_1000141,
  #section_1000143,
  #section_1000140,
  #section_1000139
) :is(.cd-section-inner, .cd-row){
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ---------- FULLWIDTH: Hintergrundbilder sichtbar ---------- */
:is(
  #section_1000105,
  #section_1000118,
  #section_1000120,
  #section_1000123,
  #section_1000129,
  #section_1000130,
  #section_1000131,
  #section_1000132,
  #section_1000133,
  #section_1000141,
  #section_1000143,
  #section_1000140,
  #section_1000139
){
  background-color: transparent !important;
}
:is(
  #section_1000105,
  #section_1000118,
  #section_1000120,
  #section_1000123,
  #section_1000129,
  #section_1000130,
  #section_1000131,
  #section_1000132,
  #section_1000133,
  #section_1000141,
  #section_1000143,
  #section_1000140,
  #section_1000139
) :is(.cd-section-inner, .cd-row, .columns, .content-wrapper){
  background-color: transparent !important;
}

/* 1000148: Block/Inhalt explizit auf volle Breite strecken */
#section_1000148 [id^="block_"]{
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
#section_1000148 img{
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  display: block;
}

/* =========================================================
   SECTION 1000142: sauber (Bilder+Captions zusammen, Buttons schlicht)
   + FIX: weissen Rahmen/Innen-Padding bei Bildern entfernen
   ========================================================= */
#section_1000142{
  --ccbb-s142-body: rgba(47,35,48,.94);
  --ccbb-s142-title: #2f2330;
  --ccbb-s142-cap: rgba(0,0,0,.70);
  background: transparent !important;
}
#section_1000142 .cd-section-inner{
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* Typo */
#section_1000142 :is(h1,h2,h3,h4){ color: var(--ccbb-s142-title); }
#section_1000142 p{ color: var(--ccbb-s142-body); line-height: 1.7; }

/* ------- BILDER: neutral, ohne Rand/Shadow ------- */
#section_1000142 :is(
  #block_1000582,#block_1000583,#block_1000589,#block_1000590,
  #block_1000595,#block_1000598,
  #block_1000601,#block_1000602,#block_1000603
){
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

/* auch innere Wrapper neutralisieren */
#section_1000142 :is(
  #block_1000582,#block_1000583,#block_1000589,#block_1000590,
  #block_1000595,#block_1000598,
  #block_1000601,#block_1000602,#block_1000603
) :is(.cd-content, .content-wrapper, .columns, .cd-section-inner, .cd-row, div){
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

#section_1000142 :is(
  #block_1000582,#block_1000583,#block_1000589,#block_1000590,
  #block_1000595,#block_1000598,
  #block_1000601,#block_1000602,#block_1000603
) img{
  width: 100% !important;
  height: auto !important;
  display: block !important;
  object-fit: contain !important;
  aspect-ratio: auto !important;
  border-radius: var(--ccbb-img-radius) !important;
  border: 0 !important;
  outline: 0 !important;
  padding: 4px !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Captions */
#section_1000142 :is(
  #block_1000622,#block_1000621,#block_1000623,#block_1000624,
  #block_1000604,#block_1000605,#block_1000606,
  #block_1000596,#block_1000599
){
  margin: 8px 0 0 !important;
  padding: 0 !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-style: normal !important;
  color: var(--ccbb-s142-cap) !important;
  text-align: center !important;
}
#section_1000142 :is(
  #block_1000622,#block_1000621,#block_1000623,#block_1000624,
  #block_1000604,#block_1000605,#block_1000606,
  #block_1000596,#block_1000599
) p{ margin:0 !important; }
#section_1000142 :is(
  #block_1000622,#block_1000621,#block_1000623,#block_1000624,
  #block_1000604,#block_1000605,#block_1000606,
  #block_1000596,#block_1000599
) a{
  color: inherit !important;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

/* Buttons in 142: schlicht (weiss/grau/schwarz) */
#section_1000142 :is([id$="1000591"], [id$="1000594"]){ margin: 12px 0 18px; }
#section_1000142 :is([id$="1000591"], [id$="1000594"]) a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.22);
  background: #fff;
  color: #111 !important;
  text-decoration: none !important;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  box-shadow: none;
}

#section_1000116 :is([id$="1000427"], [id$="1000438"], [id$="1000454"], [id$="1000454"], [id$="1000465"], [id$="1000438"], [id$="1000468"], [id$="1000471"], [id$="1000474"], [id$="1000477"]){ margin: 12px 0 18px; }
#section_1000116 :is([id$="1000427"], [id$="1000438"], [id$="1000454"], [id$="1000454"], [id$="1000465"], [id$="1000438"], [id$="1000468"], [id$="1000471"], [id$="1000474"], [id$="1000477"]) a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.22);
  background: #fff;
  color: #111 !important;
  text-decoration: none !important;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  box-shadow: none;
}

#section_1000144 :is([id$="1000616"]){ margin: 12px 0 18px; }
#section_1000144 :is([id$="1000616"]) a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.22);
  background: #fff;
  color: #111 !important;
  text-decoration: none !important;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  box-shadow: none;
}

#section_1000117 :is([id$="1000435"]){ margin: 12px 0 18px; }
#section_1000117 :is([id$="1000435"]) a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.22);
  background: #fff;
  color: #111 !important;
  text-decoration: none !important;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  box-shadow: none;
}

#section_1000119 :is([id$="1000451"]){ margin: 12px 0 18px; }
#section_1000119 :is([id$="1000451"]) a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.22);
  background: #fff;
  color: #111 !important;
  text-decoration: none !important;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  box-shadow: none;
}

#section_1000122 :is([id$="1000462"]){ margin: 12px 0 18px; }
#section_1000122 :is([id$="1000462"]) a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.22);
  background: #fff;
  color: #111 !important;
  text-decoration: none !important;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  box-shadow: none;
}

#section_1000134 :is([id$="1000506"]){ margin: 12px 0 18px; }
#section_1000134 :is([id$="1000506"]) a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.22);
  background: #fff;
  color: #111 !important;
  text-decoration: none !important;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  box-shadow: none;
}

#section_1000135 :is([id$="1000515"]){ margin: 12px 0 18px; }
#section_1000135 :is([id$="1000515"]) a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.22);
  background: #fff;
  color: #111 !important;
  text-decoration: none !important;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  box-shadow: none;
}

#section_1000136 :is([id$="1000524"]){ margin: 12px 0 18px; }
#section_1000136 :is([id$="1000524"]) a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.22);
  background: #fff;
  color: #111 !important;
  text-decoration: none !important;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  box-shadow: none;
}

#section_1000137 :is([id$="1000533"]){ margin: 12px 0 18px; }
#section_1000137 :is([id$="1000533"]) a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.22);
  background: #fff;
  color: #111 !important;
  text-decoration: none !important;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  box-shadow: none;
}

#section_1000138 :is([id$="1000542"]){ margin: 12px 0 18px; }
#section_1000138 :is([id$="1000542"]) a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.22);
  background: #fff;
  color: #111 !important;
  text-decoration: none !important;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  box-shadow: none;
}

#section_1000142 :is([id$="1000591"], [id$="1000594"]) a:hover{
  background: #f2f2f2;
  border-color: rgba(0,0,0,.30);
}
#section_1000116 :is([id$="1000427"], [id$="1000438"], [id$="1000454"], [id$="1000454"], [id$="1000465"], [id$="1000438"], [id$="1000468"], [id$="1000471"], [id$="1000474"], [id$="1000477"]) a:hover{
  background: #f2f2f2;
  border-color: rgba(0,0,0,.30);
}
#section_1000144 :is([id$="1000616"]) a:hover{ background: #f2f2f2; border-color: rgba(0,0,0,.30); }
#section_1000117 :is([id$="1000435"]) a:hover{ background: #f2f2f2; border-color: rgba(0,0,0,.30); }
#section_1000119 :is([id$="1000451"]) a:hover{ background: #f2f2f2; border-color: rgba(0,0,0,.30); }
#section_1000122 :is([id$="1000462"]) a:hover{ background: #f2f2f2; border-color: rgba(0,0,0,.30); }
#section_1000134 :is([id$="1000506"]) a:hover{ background: #f2f2f2; border-color: rgba(0,0,0,.30); }
#section_1000135 :is([id$="1000515"]) a:hover{ background: #f2f2f2; border-color: rgba(0,0,0,.30); }
#section_1000136 :is([id$="1000524"]) a:hover{ background: #f2f2f2; border-color: rgba(0,0,0,.30); }
#section_1000137 :is([id$="1000533"]) a:hover{ background: #f2f2f2; border-color: rgba(0,0,0,.30); }
#section_1000138 :is([id$="1000542"]) a:hover{ background: #f2f2f2; border-color: rgba(0,0,0,.30); }

/* ========================= HERO SLIDER FULLWIDTH (block_1000631) ========================= */
#block_1000631{
  max-width: none !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
#block_1000631 > *{ max-width: none !important; }

#section_1000142 #block_1000631{
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
#section_1000142 .ccbb-hero.ccbb-hero--full{ width: 100% !important; }

.ccbb-hero.ccbb-hero--full{
  position: relative;
  width: 100vw;
  height: 100svh;
  height: 100vh;
  min-height: 560px;
  margin: 0 !important;
  border-radius: 0 !important;
  overflow: hidden;
  background: hsl(0, 0%, 87%);
}
.ccbb-hero-slides{ position:absolute; inset:0; }
.ccbb-hero-slide{
  position:absolute;
  inset:0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transform: translate3d(0,0,0) scale(1.06);
  transition: opacity 2.4s ease-in-out;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
  will-change: opacity, transform;
  backface-visibility: hidden;
}
.ccbb-hero-slide.is-active{ opacity: 1; }

@keyframes ccbb-kenburns-a{
  0%   { transform: translate3d(0%, 0%, 0) scale(1.06); }
  50%  { transform: translate3d(-4%, -3%, 0) scale(1.14); }
  100% { transform: translate3d(0%, 0%, 0) scale(1.06); }
}
@keyframes ccbb-kenburns-b{
  0%   { transform: translate3d(2%, -1%, 0) scale(1.12); }
  50%  { transform: translate3d(-3.5%, 3%, 0) scale(1.03); }
  100% { transform: translate3d(2%, -1%, 0) scale(1.12); }
}
@keyframes ccbb-kenburns-c{
  0%   { transform: translate3d(2%, 1%, 0) scale(1.08); }
  50%  { transform: translate3d(-4%, -3%, 0) scale(1.16); }
  100% { transform: translate3d(2%, 1%, 0) scale(1.08); }
}
.ccbb-hero-slide:nth-child(1){ animation-name: ccbb-kenburns-a; animation-duration: 22s; animation-delay: -6s; }
.ccbb-hero-slide:nth-child(2){ animation-name: ccbb-kenburns-b; animation-duration: 24s; animation-delay: -11s; }
.ccbb-hero-slide:nth-child(3){ animation-name: ccbb-kenburns-c; animation-duration: 26s; animation-delay: -15s; }

.ccbb-hero-dim{
  position:absolute;
  inset:0;
  background: linear-gradient(90deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.18) 55%, rgba(0,0,0,.35) 100%);
  pointer-events:none;
}
.ccbb-hero-card{
  position: absolute;
  right: clamp(16px, 2.4vw, 32px);
  bottom: clamp(16px, 2.4vw, 32px);
  width: min(440px, calc(100% - 32px));
  background: linear-gradient(180deg, rgba(35,37,43,.96) 0%, rgba(26,28,33,.96) 100%);
  color: #f7f7f7;
  border-radius: 6px;
  padding: 26px 28px 24px;
  border: 1px solid rgba(255,255,255,.06);
  box-shadow: 0 16px 34px rgba(0,0,0,.38);
  text-shadow: 0 1px 2px rgba(0,0,0,.3);
  backdrop-filter: blur(8px);
}
.ccbb-hero-card[data-slide]{
  opacity: 0;
  transform: translateY(4px);
  pointer-events: none;
  transition: opacity .22s ease, transform .22s ease;
}
.ccbb-hero-card[data-slide].is-active{
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.ccbb-hero-eyebrow{
  margin: 0 0 12px 0;
  font-size: 10px;
  letter-spacing: .24em;
  text-transform: uppercase;
  font-weight: 600;
  opacity: .9;
  color: #d9d9d9 !important;
  line-height: 1.2;
}
.ccbb-hero-card h2{
  margin: 6px 0 14px 0;
  font-family: "Georgia", "Times New Roman", serif;
  font-weight: 600;
  font-size: clamp(22px, 2.2vw, 32px);
  color: #e8e8e8;
  line-height: 1.15;
  letter-spacing: 0.2px;
}
.ccbb-hero-card p{
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
  color: rgba(255,255,255,.88);
  max-width: 42ch;
}
.ccbb-hero-card p + p{ margin-top: 10px; }
.ccbb-hero-card .eyebrow{ display:none; }

@media (min-width: 993px){ .ccbb-hero.ccbb-hero--full{ min-height: 600px; } }
@media (max-width: 992px){ .ccbb-hero.ccbb-hero--full{ min-height: 460px; } }
@media (max-width: 768px){
  .ccbb-hero-card{ right: 14px; bottom: 14px; padding: 16px 18px; width: min(520px, calc(100% - 28px)); }
}
@media (prefers-reduced-motion: reduce){
  .ccbb-hero-slide{ transition: none; animation: none; }
  .ccbb-hero-card[data-slide]{ transition: none; transform: none; }
}

/* =========================================================
   HERO SLIDER: Mobile Fix (Desktop bleibt unverändert)
   ========================================================= */
@media (max-width: 768px){

  /* Hero kompakt + Card hat Luft (kein Abschneiden) */
  .ccbb-hero.ccbb-hero--full{
    height: 50svh !important;
    height: 50vh !important;
    min-height: 320px !important;
    max-height: 460px !important;

    /* FIX: Card wird unten nicht abgeschnitten */
    overflow: visible !important;
    padding-bottom: 40px !important;
  }

  /* Bildausschnitt angenehmer auf Mobile */
  .ccbb-hero-slide{
    background-position: center top !important;
    transform: translate3d(0,0,0) scale(1.02) !important;
  }

  /* Dim ruhiger */
  .ccbb-hero-dim{
    background: linear-gradient(180deg,
      rgba(0,0,0,.10) 0%,
      rgba(0,0,0,.22) 55%,
      rgba(0,0,0,.34) 100%
    ) !important;
  }

  /* Card: voll breit + höher gesetzt + nicht überlaufen */
  .ccbb-hero-card{
    left: 12px !important;
    right: 12px !important;
    bottom: 80px !important;
    width: auto !important;
    max-width: none !important;
    padding: 14px 14px !important;
    border-radius: 14px !important;

    max-height: calc(100% - 48px) !important;
    overflow: hidden !important;
  }

  .ccbb-hero-card h2{
    font-size: 18px !important;
    margin: 4px 0 8px !important;
  }

  .ccbb-hero-card p{
    font-size: 12px !important;
    line-height: 1.45 !important;
    max-width: none !important;
  }

  /* Abstand zum nächsten Block */
  .ccbb-hero.ccbb-hero--full + .cd-section{
    margin-top: 24px !important;
  }

  /* Sicherheit: kein Überlappen */
  .ccbb-hero{
    position: relative;
    z-index: 1;
  }
}

/* ganz kleine Phones */
@media (max-width: 390px){
  .ccbb-hero.ccbb-hero--full{
    height: 52svh !important;
    min-height: 320px !important;
    max-height: 420px !important;
  }
}

/* ========================= PDF Block Styling ========================= */
.ccbb-pdf-wrap{
  width: 100%;
  max-width: 1100px;
  margin: 24px auto;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 25px rgba(0,0,0,.12);
  display:flex;
  justify-content:center;
}
.ccbb-pdf{
  width: 100%;
  height: 85vh;
  border: 0;
  display:block;
  background:#fff;
}
@media (max-width: 768px){
  .ccbb-pdf{ height: 70vh; }
}

/* Suchfeld Navbar (falls genutzt) */
.cd-search{ margin-left: 12px; }
.cd-search input{
  height: 32px;
  padding: 0 10px;
  border-radius: 20px;
  border: 1px solid #ccc;
  font-size: 14px;
}

/* =========================================================
   VORSTAND CCBB (HTML Block: #block_1000643)
   NUR: Bilder grösser + Text mittig unter Bild
   ========================================================= */
#block_1000675,
#block_1000675 > *,
#block_1000675 .cd-content,
#block_1000675 .content-wrapper,
#block_1000675 .columns{
  max-width: none !important;
  width: 100% !important;
  float: none !important;
}

#block_1000675 .ccbb-board{
  max-width:1100px;
  margin:0 auto;
  padding:40px 20px;
}

#block_1000675 .ccbb-board h2{
  font-size:28px;
  margin:0 0 28px;
  font-weight:600;
  color: var(--ccbb-text);
}

#block_1000675 .ccbb-board-grid{
  display:grid !important;
  gap:60px !important;
}

/* 3 oben */
#block_1000675 .ccbb-board-grid.top{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  margin-bottom:50px !important;
}

#block_1000675 .ccbb-person{
  text-align:center !important;
}

/* Mobile */
@media (max-width:1200px){
  #block_1000675 .ccbb-avatar{
    width:280px !important;
    height:280px !important;
  }
}
@media (max-width:900px){
  #block_1000675 .ccbb-board-grid.top,
  #block_1000675 .ccbb-board-grid.bottom{
    grid-template-columns:1fr !important;
    max-width:none !important;
  }
  #block_1000675 .ccbb-avatar{
    width:400px !important;
    height:600px !important;
  }
}


#block_1000676,
#block_1000676 > *,
#block_1000676 .cd-content,
#block_1000676 .content-wrapper,
#block_1000676 .columns{
  max-width: none !important;
  width: 100% !important;
  float: none !important;
}

#block_1000676 .ccbb-board{
  max-width:1100px;
  margin:0 auto;
  padding:40px 20px;
}

#block_1000676 .ccbb-board h2{
  font-size:28px;
  margin:0 0 28px;
  font-weight:600;
  color: var(--ccbb-text);
}

#block_1000676 .ccbb-board-grid{
  display:grid !important;
  gap:60px !important;
}

/* 3 oben */
#block_1000676 .ccbb-board-grid.top{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  margin-bottom:50px !important;
}

#block_1000676 .ccbb-person{
  text-align:center !important;
}

/* Mobile */
@media (max-width:1200px){
  #block_1000676 .ccbb-avatar{
    width:280px !important;
    height:280px !important;
  }
}
@media (max-width:900px){
  #block_1000676 .ccbb-board-grid.top,
  #block_1000676 .ccbb-board-grid.bottom{
    grid-template-columns:1fr !important;
    max-width:none !important;
  }
  #block_1000676 .ccbb-avatar{
    width:400px !important;
    height:600px !important;
  }
}


#block_1000643,
#block_1000643 > *,
#block_1000643 .cd-content,
#block_1000643 .content-wrapper,
#block_1000643 .columns{
  max-width: none !important;
  width: 100% !important;
  float: none !important;
}

#block_1000643 .ccbb-board{
  max-width:1100px;
  margin:0 auto;
  padding:40px 20px;
}

#block_1000643 .ccbb-board h2{
  font-size:28px;
  margin:0 0 28px;
  font-weight:600;
  color: var(--ccbb-text);
}

#block_1000643 .ccbb-board-grid{
  display:grid !important;
  gap:60px !important;
}

/* 3 oben */
#block_1000643 .ccbb-board-grid.top{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  margin-bottom:50px !important;
}

/* 2 unten zentriert */
#block_1000643 .ccbb-board-grid.bottom{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  max-width:760px;
  margin:0 auto !important;
}

#block_1000643 .ccbb-person{
  text-align:center !important;
}

/* rund + grösser */
#block_1000643 .ccbb-avatar{
  width:320px !important;
  height:320px !important;
  border-radius:9999px !important;
  overflow:hidden !important;
  margin:0 auto 18px !important;
  background:#e9e9e9 !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}

#block_1000643 .ccbb-avatar img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block !important;
  border-radius:0 !important;
}

#block_1000643 :is(.ccbb-role, .ccbb-name, .ccbb-mail){
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Mobile */
@media (max-width:1200px){
  #block_1000643 .ccbb-avatar{
    width:280px !important;
    height:280px !important;
  }
}
@media (max-width:900px){
  #block_1000643 .ccbb-board-grid.top,
  #block_1000643 .ccbb-board-grid.bottom{
    grid-template-columns:1fr !important;
    max-width:none !important;
  }
  #block_1000643 .ccbb-avatar{
    width:240px !important;
    height:240px !important;
  }
}

/* =========================================================
   MOBILE BURGER MENU FIX (CSS ONLY)
   - Burger links, Logo mitte, Login rechts
   - Drawer wie “Side-Card” (clean, shadow, radius)
   - Overlay smooth
   - Submenus: sauber einrücken + chevron ausrichten
   ========================================================= */
@media (max-width: 992px){

  /* Desktop-Menü weg */
  .cd-navigation-bar-container .cd-singledropdownmenu{ display:none !important; }

  /* Mobile-Bar */
  .cd-mobile-menu-bar-fixed{
    display:flex !important;
    position:fixed;
    top:0; left:0;
    width:100%;
    height:64px;
    background:#fff;
    z-index:30020;
    align-items:center;
    justify-content:center;
    border-bottom:1px solid var(--ccbb-border);
  }

  /* Center Logo wrapper aus deinem HTML */
  .ccbb-mobile-logo-center{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    pointer-events:auto;
  }
  .ccbb-mobile-logo-center img{
    height:40px;
    width:auto;
    display:block;
  }

  /* Login rechts */
  .cd-mobile-menu-bar-fixed .cd-login-link-mobile{
    position:absolute;
    right:16px;
    top:50%;
    transform:translateY(-50%);
    z-index:2;
  }
  .cd-mobile-menu-bar-fixed .cd-login-link-mobile a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:36px;
    width:44px;
    border-radius:999px;
    border:1px solid rgba(0,0,0,.18);
    background:#fff;
    color:#111 !important;
    text-decoration:none;
  }
  .cd-mobile-menu-bar-fixed .cd-login-link-mobile a:hover{ background:#f2f2f2; }

  /* Burger links (dein Button .ccbb-burger) */
  .ccbb-burger{
    position:absolute;
    left:10px;
    top:50%;
    transform:translateY(-50%);
    width:44px;
    height:44px;
    border-radius:12px;
    background:transparent;
    border:1px solid transparent;
    padding:0;
    cursor:pointer;
    z-index:2;
  }
  .ccbb-burger:hover{ background:#f2f2f2; border-color: rgba(0,0,0,.08); }

  /* deine Struktur: <span class="ccbb-burger-lines"><span/><span/><span/></span> */
  .ccbb-burger .ccbb-burger-lines{
    position:relative;
    display:block;
    width:20px;
    height:14px;
    margin:0 auto;
  }
  .ccbb-burger .ccbb-burger-lines > span{
    position:absolute;
    left:0;
    width:100%;
    height:2px;
    background:#111;
    border-radius:2px;
    transition:transform .25s ease, opacity .2s ease;
  }
  .ccbb-burger .ccbb-burger-lines > span:nth-child(1){ top:0; }
  .ccbb-burger .ccbb-burger-lines > span:nth-child(2){ top:6px; }
  .ccbb-burger .ccbb-burger-lines > span:nth-child(3){ top:12px; }

  /* Burger -> X wenn open (Body Klasse kommt aus deinem JS) */
  body.cd-mobile-menu-open .ccbb-burger .ccbb-burger-lines > span:nth-child(1){
    transform:translateY(6px) rotate(45deg);
  }
  body.cd-mobile-menu-open .ccbb-burger .ccbb-burger-lines > span:nth-child(2){
    opacity:0;
  }
  body.cd-mobile-menu-open .ccbb-burger .ccbb-burger-lines > span:nth-child(3){
    transform:translateY(-6px) rotate(-45deg);
  }

  /* Overlay */
  .ccbb-mobile-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.42);
    opacity:0;
    pointer-events:none;
    transition:opacity .28s ease;
    z-index:30025;
  }
  body.cd-mobile-menu-open .ccbb-mobile-overlay{
    opacity:1;
    pointer-events:auto;
  }

  /* Drawer = Side-Card */
  .ccbb-mobile-drawer{
    position:fixed;
    top:10px;
    left:10px;
    height:calc(100vh - 20px);
    width:min(320px, calc(100vw - 20px));
    background:#fff;
    z-index:30030;

    transform:translateX(calc(-100% - 14px));
    transition:transform .32s ease;

    overflow:auto;
    padding:14px 14px 18px;
    border-radius:16px;
    box-shadow:0 24px 60px rgba(0,0,0,.22);
    border:1px solid rgba(0,0,0,.08);
  }
  body.cd-mobile-menu-open .ccbb-mobile-drawer{ transform:translateX(0); }

  /* Menü-Liste spacing */
  .ccbb-mobile-drawer .cd-mobile-menu-level-1 > ul{
    list-style:none;
    margin:52px 0 0 !important; /* Platz für Close-Button */
    padding:0 !important;
  }
  .ccbb-mobile-drawer li{ list-style:none; }

  /* Close Button (wird per JS als .ccbb-mobile-close eingefügt) */
  .ccbb-mobile-close{
    position:sticky;
    top:0;
    height:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    width:40px;
    margin-left:auto;
    border-radius:12px;
    border:1px solid rgba(0,0,0,.12);
    background:#fff;
    color:#111;
    cursor:pointer;
    user-select:none;
    box-shadow:0 10px 24px rgba(0,0,0,.10);
  }
  .ccbb-mobile-close:hover{ background:#f2f2f2; }

  /* Links */
  .ccbb-mobile-drawer a.cd-menu-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:12px 12px;
    border-radius:12px;
    color:var(--ccbb-text) !important;
    text-decoration:none !important;
    font-size:16px;
    line-height:1.2;
  }
  .ccbb-mobile-drawer a.cd-menu-item:hover{ background:var(--ccbb-soft); }
  .ccbb-mobile-drawer a.cd-menu-active,
  .ccbb-mobile-drawer a.cd-menu-selected{
    color:var(--ccbb-accent) !important;
    font-weight:700;
  }

  /* Chevron sauber */
  .ccbb-mobile-drawer .cd-menu-expander{
    margin-left:auto;
    opacity:.7;
    transition:transform .22s ease, opacity .22s ease;
  }
  .ccbb-mobile-drawer li.active > a .cd-menu-expander{ transform:rotate(180deg); opacity:1; }

  /* Submenus */
  .ccbb-mobile-drawer .cd-mobile-menu-level-2,
  .ccbb-mobile-drawer .cd-mobile-menu-level-3{
    display:none;
    margin:6px 0 8px 0;
    padding-left:10px;
    border-left:1px solid rgba(0,0,0,.10);
  }
  .ccbb-mobile-drawer li.active > .cd-mobile-menu-level-2,
  .ccbb-mobile-drawer li.active > .cd-mobile-menu-level-3{
    display:block;
  }
  .ccbb-mobile-drawer .cd-mobile-menu-level-2 a.cd-menu-item,
  .ccbb-mobile-drawer .cd-mobile-menu-level-3 a.cd-menu-item{
    padding:10px 10px;
    font-size:15px;
    border-radius:10px;
  }
}