/* ==========================================================================
   CONTOC — gemeinsames Stylesheet
   Fuehrt die frueher ueber die Einzelseiten verstreuten <style>-Bloecke
   an einer Stelle zusammen. Grundlage bleibt das Betheme-Layout.

   Leitmaße:
     --ctc-wrap  1220px  Inhaltsbreite (.section_wrapper)
     --ctc-read    50rem Lesebreite fuer Fliesstext
     --ctc-accent #be1622 Akzentrot
   ========================================================================== */

:root{
  --ctc-wrap:1220px;
  --ctc-read:50rem;
  --ctc-accent:#be1622;
  --ctc-accent-dark:#9d121c;
  --ctc-ink:#1d1d1b;
  --ctc-ink-soft:#55554f;
  --ctc-muted:#6b6b6b;
  --ctc-rule:#e6e6e2;
  --ctc-rule-soft:#ededed;
}

/* --------------------------------------------------------------------------
   1. Einheitliche Inhaltsbreite
   Die Ergebnis- und Textseiten steckten in einem vc_col-sm-8-Raster mit zwei
   leeren vc_col-sm-2-Randspalten und waren dadurch rund 370px schmaler als
   /aktuelles/. Die Randspalten sind entfernt; alle Seitentypen teilen sich
   jetzt dieselbe .section_wrapper-Breite.
   -------------------------------------------------------------------------- */
#Content .section_wrapper{max-width:var(--ctc-wrap)}

/* Die vc_row des Page Builders traegt seitlich -15px Rand, der frueher von
   den Randspalten aufgefangen wurde. Ohne sie ragte die Zeile 2x15px ueber
   den Inhaltsbereich hinaus und erzeugte auf mittleren Breiten einen
   waagerechten Scrollbalken. Der Innenabstand sitzt ohnehin in
   .vc_column-inner, deshalb entfaellt der negative Rand. */
#Content .wpb-content-wrapper > .vc_row.vc_row-fluid{margin-left:0;margin-right:0}

/* Fliesstext bekommt eine ruhige Lesebreite — konsequent auf allen Textseiten,
   nicht nur auf einer. Ueberschriften, Trennlinien und Listen richten sich
   an derselben Kante aus. */
.ctc-prose{max-width:var(--ctc-read)}
.ctc-prose-center{margin-left:auto;margin-right:auto}

/* --------------------------------------------------------------------------
   2. Seitenkopf: zentrierte Ueberschrift + kurze rote Trennlinie
   Das wiederkehrende Motiv der Website.
   -------------------------------------------------------------------------- */
.ctc-pagehead{margin:0 0 6px;text-align:center}
.ctc-pagehead h1{margin:0;line-height:1.16}
.ctc-pagehead .ctc-pagehead-sub{margin:10px 0 0;font-size:22px;line-height:1.4;
  font-weight:300;color:var(--ctc-ink-soft)}
.ctc-rule{width:60px;height:0;margin:22px auto 30px;
  border-top:2px solid var(--ctc-accent)}
.ctc-intro{margin:0 auto 40px;max-width:var(--ctc-read);text-align:center;
  font-size:17px;line-height:1.72;color:var(--ctc-ink-soft)}
.ctc-intro a{color:var(--ctc-accent);text-decoration:none}
.ctc-intro a:hover{text-decoration:underline}
.ctc-intro-note{display:block;margin-top:14px;font-size:14.5px;
  color:var(--ctc-muted)}
.ctc-intro-note a{font-weight:600}
@media (max-width:767px){
  .ctc-pagehead h1{font-size:31px;line-height:1.22}
  .ctc-rule{margin:18px auto 24px}
  .ctc-intro{font-size:16px;margin-bottom:30px}
}

/* --------------------------------------------------------------------------
   2b. Logo
   Betheme skaliert das Logo sonst per JavaScript auf die in #logo
   hinterlegte data-height (60px). Im statischen Spiegel laeuft dieses
   Skript nicht zuverlaessig, dadurch erschien das Logo in Originalgroesse
   (514x172px). Die Hoehe wird deshalb direkt in CSS gesetzt.
   -------------------------------------------------------------------------- */
#Top_bar #logo{height:60px;line-height:60px}
#Top_bar #logo img{height:60px;width:auto;max-height:60px}
#Top_bar.is-sticky #logo,#Top_bar.is-sticky #logo img{height:50px;max-height:50px}
#Top_bar.is-sticky #logo{line-height:50px}
@media (max-width:767px){
  #Top_bar #logo,#Top_bar #logo img{height:46px;max-height:46px}
  #Top_bar #logo{line-height:46px}
}

/* --------------------------------------------------------------------------
   3. Sprachumschalter (DE / EN / FR)
   -------------------------------------------------------------------------- */
.ctc-langswitch{display:inline-flex;align-items:center;gap:2px;margin-left:14px;
  vertical-align:middle;font-family:"Cabin",sans-serif}
.ctc-langswitch .ctc-lang-item{display:inline-block;padding:3px 8px;font-size:12px;
  font-weight:600;letter-spacing:.06em;line-height:1.6;text-decoration:none;
  border-radius:3px;color:var(--ctc-muted);
  transition:color .15s,background-color .15s}
.ctc-langswitch a.ctc-lang-item:hover{color:var(--ctc-accent);
  background:rgba(190,22,34,.08)}
.ctc-langswitch .ctc-lang-active{color:#fff;background:var(--ctc-accent)}
#Top_bar .ctc-langswitch{margin-left:10px}
@media (max-width:767px){
  .ctc-langswitch{margin-left:6px}
  .ctc-langswitch .ctc-lang-item{padding:3px 6px;font-size:11px}
}

/* --------------------------------------------------------------------------
   4. Ergebnis-Uebersicht — ruhige Liste, kein Kachel-Raster
   -------------------------------------------------------------------------- */
/* Die Lesespalte steht mittig unter der zentrierten Seitenueberschrift,
   damit die Seite nicht einseitig wirkt. */
.ctc-lead{font-size:18px;line-height:1.75;color:#3d3d3d;
  max-width:var(--ctc-read);margin:0 auto 34px}
h2.ctc-erg-group{font-size:15px;letter-spacing:.09em;text-transform:uppercase;
  color:var(--ctc-accent);font-weight:600;margin:38px auto 0;padding-bottom:10px;
  border-bottom:1px solid #e4e4e4;max-width:var(--ctc-read)}
h2.ctc-erg-group:first-of-type{margin-top:0}
ul.ctc-erg-list{list-style:none;margin:0 auto;padding:0;max-width:var(--ctc-read)}
ul.ctc-erg-list li{padding:20px 0;border-bottom:1px solid var(--ctc-rule-soft)}
ul.ctc-erg-list li:last-child{border-bottom:0}
a.ctc-erg-title{display:block;font-size:19px;line-height:1.4;color:#2e2e2e;
  text-decoration:none;font-weight:500}
a.ctc-erg-title:hover{color:var(--ctc-accent)}
.ctc-erg-desc{display:block;margin-top:5px;font-size:15px;line-height:1.65;
  color:var(--ctc-muted)}
@media (max-width:640px){
  .ctc-lead{font-size:16.5px}
  ul.ctc-erg-list li{padding:17px 0}
  a.ctc-erg-title{font-size:17.5px}
}

/* --------------------------------------------------------------------------
   5. Aktuelles / News — schlichte chronologische Liste
   -------------------------------------------------------------------------- */
.ctc-news{margin:0 auto;padding:0;list-style:none;max-width:var(--ctc-read)}

.ctc-news li:first-child{padding-top:4px}
.ctc-news li:last-child{border-bottom:0}
.ctc-news .ctc-news-date{display:block;margin:0 0 7px;font-size:12px;
  letter-spacing:.09em;text-transform:uppercase;color:#8d8d86}
.ctc-news .ctc-news-title{margin:0 0 9px;font-size:22px;line-height:1.32;
  font-weight:600}
.ctc-news .ctc-news-title a{color:var(--ctc-ink);text-decoration:none}
.ctc-news .ctc-news-title a:hover{color:var(--ctc-accent)}
.ctc-news .ctc-news-text{margin:0 0 8px;font-size:15.5px;line-height:1.68;
  color:var(--ctc-ink-soft)}
.ctc-news .ctc-news-more{font-size:14px;font-weight:600;color:var(--ctc-accent);
  text-decoration:none}
.ctc-news .ctc-news-more:hover{text-decoration:underline}
@media (max-width:640px){
  .ctc-news li{padding:20px 0}
  .ctc-news .ctc-news-title{font-size:19px}
}

/* --------------------------------------------------------------------------
   6. Forschungsgruppe — Personenraster
   -------------------------------------------------------------------------- */
.eplus-team{text-align:center;margin-bottom:34px;height:100%;
  display:flex;flex-direction:column;align-items:center}
.eplus-team .eplus-team-info{flex:1 1 auto;display:flex;flex-direction:column;
  align-items:center;width:100%;text-align:center}
.wpb_column .wpb_wrapper:has(>.eplus-team){height:100%}
/* Reihen mit Personenkarten strecken: alle Kacheln gleich hoch */
.vc_row:has(.eplus-team){display:flex;flex-wrap:wrap;align-items:stretch;
  row-gap:34px}
.vc_row:has(.eplus-team) > .wpb_column{float:none;display:flex}
.vc_row:has(.eplus-team) .vc_column-inner{display:flex;width:100%}
.vc_row:has(.eplus-team) .vc_column-inner > .wpb_wrapper{display:flex;
  flex-direction:column;width:100%}
.eplus-team{margin-bottom:0}
/* Bild fuellt die Karte als Cover bis an die Raender, kein weisser Rahmen */
.eplus-team{overflow:hidden}
.eplus-team .eplus-team-img{margin:0;max-width:none;width:100%}
.eplus-team .eplus-team-img img{width:100%;height:280px;object-fit:cover;
  display:block;border-radius:6px 6px 0 0;
  opacity:1!important;visibility:visible!important}
.eplus-team .eplus-team-title{margin:0 0 4px;font-size:19px;line-height:1.35}
.eplus-team .eplus-team-designation{display:block;font-size:14px;line-height:1.5;
  color:var(--ctc-muted)}
.ctc-team-contact{margin-top:8px;font-size:13px;line-height:1.7}
.ctc-team-contact a{color:var(--ctc-accent);text-decoration:none;
  word-break:break-word}
.ctc-team-contact a:hover{text-decoration:underline}
.ctc-team-contact span{display:block}
/* leere Kontakt-Container des Plugins zeichnen sonst einen Strichrest */
.eplus-team .eplus-team-contact:not(:has(*)){display:none}
/* grauer Deko-Strich des Plugins unter der Beschreibung entfaellt */
.eplus-team .eplus-team-title-wrap::before{content:none}

/* --------------------------------------------------------------------------
   7. Aufgeraeumte Beitragsenden
   -------------------------------------------------------------------------- */
.section-post-footer:empty,.section-post-about:empty{display:none}
.post-pager:empty{display:none}

/* --------------------------------------------------------------------------
   8. Zurueck nach oben
   -------------------------------------------------------------------------- */
#ctc-top{position:fixed;right:22px;bottom:22px;width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;border:0;cursor:pointer;
  border-radius:50%;background:var(--ctc-accent);color:#fff;opacity:0;
  visibility:hidden;transform:translateY(8px);
  transition:opacity .2s,visibility .2s,transform .2s;
  z-index:9100;padding:0;box-shadow:0 2px 10px rgba(0,0,0,.22)}
#ctc-top.ctc-visible{opacity:.92;visibility:visible;transform:translateY(0)}
#ctc-top:hover{opacity:1}
#ctc-top:focus-visible{outline:2px solid #fff;outline-offset:2px}
#ctc-top svg{width:18px;height:18px;display:block}
@media (max-width:767px){
  #ctc-top{right:14px;bottom:14px;width:40px;height:40px}
}

@media print{#ctc-top,.ctc-langswitch{display:none}}

/* --- Studien-Block auf der Startseite --- */
.ctc-study{margin:46px 0 8px;padding:40px 0;background:#f4f4f1;
  border-top:1px solid var(--ctc-rule);border-bottom:1px solid var(--ctc-rule)}
.ctc-study-inner{max-width:var(--ctc-wrap);margin:0 auto;padding:0 24px;
  display:flex;gap:44px;align-items:center;flex-wrap:wrap}
.ctc-study-cover{flex:0 0 208px;max-width:208px;display:block;line-height:0;
  transform:rotate(-1.4deg);transition:transform .25s ease,box-shadow .25s ease;
  box-shadow:0 8px 26px rgba(0,0,0,.18)}
.ctc-study-cover:hover{transform:rotate(0) translateY(-4px);
  box-shadow:0 14px 34px rgba(0,0,0,.24)}
.ctc-study-cover img{width:100%;height:auto;display:block}
.ctc-study-text{flex:1 1 320px;min-width:0}
.ctc-study-kicker{margin:0 0 9px;font-size:12px;letter-spacing:.11em;
  text-transform:uppercase;color:var(--ctc-accent);font-weight:700}
.ctc-study-title{margin:0 0 14px;font-size:25px;line-height:1.3;font-weight:600;
  color:var(--ctc-ink)}
.ctc-study-lead{margin:0 0 20px;font-size:16px;line-height:1.65;
  color:var(--ctc-muted);max-width:54ch}
.ctc-study-actions{margin:0;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.ctc-study-cta{display:inline-block;padding:11px 22px;background:var(--ctc-accent);
  color:#fff;font-size:15px;font-weight:600;text-decoration:none;border-radius:3px;
  transition:background .15s}
.ctc-study-cta:hover{background:#9d121c;color:#fff}
.ctc-study-more{font-size:15px;font-weight:600;color:var(--ctc-accent);
  text-decoration:none}
.ctc-study-more:hover{text-decoration:underline}
@media (max-width:780px){
  .ctc-study{margin:34px 0 4px;padding:30px 0}
  .ctc-study-inner{gap:24px;justify-content:center}
  .ctc-study-cover{flex:0 0 150px;max-width:150px;transform:none}
  .ctc-study-text{flex:1 1 100%;text-align:center}
  .ctc-study-lead{margin-left:auto;margin-right:auto}
  .ctc-study-actions{justify-content:center}
  .ctc-study-title{font-size:21px}
}

/* --- Listeneintraege: ganze Zeile reagiert --- */
.ctc-news li{position:relative;padding:24px 64px 24px 20px;margin:0 -20px;
  border-bottom:1px solid var(--ctc-rule);border-radius:4px;
  transition:transform .22s cubic-bezier(.2,.7,.3,1),
             box-shadow .22s ease, background-color .22s ease}
.ctc-news li:hover{transform:scale(1.012) translateY(-2px);
  background:#fafaf8;box-shadow:0 6px 22px rgba(0,0,0,.09);
  border-bottom-color:transparent}
.ctc-news li:focus-within{background:#fafaf8;
  box-shadow:0 0 0 2px var(--ctc-accent)}

/* Ganze Zeile klickbar: Titel-Link ueberdeckt den Eintrag */
.ctc-news .ctc-news-title a::after{content:"";position:absolute;inset:0;
  border-radius:4px}

/* Pfeil-Kasten, wischt von hinten herein */
.ctc-news li .ctc-news-go{position:absolute;top:50%;right:16px;
  width:38px;height:38px;margin-top:-19px;display:flex;align-items:center;
  justify-content:center;background:var(--ctc-accent);border-radius:4px;
  opacity:0;transform:translateX(14px);pointer-events:none;
  transition:opacity .22s ease, transform .22s cubic-bezier(.2,.7,.3,1)}
.ctc-news li:hover .ctc-news-go,
.ctc-news li:focus-within .ctc-news-go{opacity:1;transform:translateX(0)}
.ctc-news li .ctc-news-go svg{width:17px;height:17px;stroke:#fff;
  stroke-width:2.6;fill:none;stroke-linecap:round;stroke-linejoin:round}

@media (max-width:640px){
  .ctc-news li{padding:20px 16px;margin:0}
  .ctc-news li .ctc-news-go{display:none}
  .ctc-news li:hover{transform:none;box-shadow:none}
}
@media (prefers-reduced-motion:reduce){
  .ctc-news li,.ctc-news li .ctc-news-go{transition:none}
  .ctc-news li:hover{transform:none}
}

/* --- Bilder im Fliesstext: einheitliche Abstaende --- */
.wpb_single_image,.vc_single_image-wrapper,
.the_content_wrapper .image_frame{margin:0 0 28px}
.wpb_single_image{margin-top:28px}
.wpb_single_image:first-child,
.the_content_wrapper .image_frame:first-child{margin-top:0}
.wpb_single_image img,.vc_single_image-wrapper img,
.the_content_wrapper .image_frame img{max-width:100%;height:auto;display:block}
.wpb_single_image.vc_align_center,.wpb_single_image.vc_align_center img{
  margin-left:auto;margin-right:auto}
.the_content_wrapper p + .wpb_single_image{margin-top:28px}


/* --- Partnerlogos: durchlaufendes Band --- */
.ctc-partners{padding:24px 0 26px;border-bottom:1px solid var(--ctc-rule);
  overflow:hidden}
.ctc-partners-viewport{max-width:var(--ctc-wrap);margin:0 auto;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ctc-partners-track{display:flex;align-items:center;gap:64px;margin:0;padding:0;
  list-style:none;width:max-content;animation:ctc-marquee 42s linear infinite}
.ctc-partners:hover .ctc-partners-track{animation-play-state:paused}
.ctc-partners-track li{flex:0 0 auto;display:flex;align-items:center;
  justify-content:center;width:150px;height:76px}
.ctc-partners-track img{max-width:100%;max-height:100%;width:auto;height:auto;
  object-fit:contain;display:block;filter:grayscale(1);opacity:.7;
  transition:filter .2s ease,opacity .2s ease}
.ctc-partners-track img:hover{filter:grayscale(0);opacity:1}
@keyframes ctc-marquee{from{transform:translateX(0)}
  to{transform:translateX(calc(-50% - 32px))}}
@media (max-width:640px){
  .ctc-partners{padding:18px 0 20px}
  .ctc-partners-track{gap:38px}
  .ctc-partners-track li{width:104px;height:54px}
}
@media (prefers-reduced-motion:reduce){
  .ctc-partners-track{animation:none;flex-wrap:wrap;justify-content:center;
    width:auto;gap:28px 40px}
}

/* --- Hero: volle Breite, direkt unter der Navigation ---
   Der Hero steckt im .section_wrapper (max-width 1220px). Damit er ueber die
   ganze Browserbreite geht, bricht er per Viewport-Breite aus dem Container
   aus. 100vw statt 100% wegen der Scrollbar-Differenz. */
.ctc-study{margin:0 calc(50% - 50vw);padding:0;width:100vw;max-width:100vw;
  background:#f4f4f1;border:0;border-bottom:1px solid var(--ctc-rule)}
.ctc-study-inner{max-width:none;margin:0;padding:56px 6vw;
  display:flex;gap:clamp(32px,5vw,72px);align-items:center;
  justify-content:center;flex-wrap:wrap}
.ctc-study-cover{flex:0 0 clamp(180px,17vw,250px);
  max-width:clamp(180px,17vw,250px);display:block;line-height:0;
  transform:rotate(-1.4deg);transition:transform .3s ease,box-shadow .3s ease;
  box-shadow:0 10px 30px rgba(0,0,0,.2)}
.ctc-study-cover:hover{transform:rotate(0) translateY(-5px);
  box-shadow:0 16px 40px rgba(0,0,0,.26)}
.ctc-study-cover img{width:100%;height:auto;display:block}
.ctc-study-text{flex:0 1 620px;min-width:0}
.ctc-study-title{font-size:clamp(23px,2.3vw,31px)}
@media (max-width:780px){
  .ctc-study-inner{padding:34px 22px;gap:24px;justify-content:center}
  .ctc-study-cover{flex:0 0 156px;max-width:156px;transform:none;margin:0 auto}
  .ctc-study-text{flex:1 1 100%;text-align:center}
  .ctc-study-lead{margin-left:auto;margin-right:auto}
  .ctc-study-actions{justify-content:center}
}

/* --- Logos: in Farbe, ebenfalls ueber die volle Breite --- */
.ctc-partners{margin:0 calc(50% - 50vw);width:100vw;max-width:100vw}
.ctc-partners-track img{filter:none;opacity:1}
.ctc-partners-track img:hover{filter:none;opacity:1;transform:scale(1.04)}

/* --- Seitenkopf unter den Logos --- */
.ctc-pagehead{margin:0;text-align:center}
.ctc-pagehead + .ctc-rule{margin:14px auto 18px}
.ctc-intro{text-align:center;max-width:62ch;margin-left:auto;margin-right:auto}

/* --- Hero schliesst buendig an die Navigation an --- */
#Content{padding-top:0 !important}
.ctc-study{margin-top:0}

/* --- Seitenkopf: alles untereinander, zentriert --- */
.ctc-study + .ctc-partners + .the_content .wpb_row,
.ctc-pagehead-block{display:block}
.ctc-pagehead{margin:0 auto;text-align:center;max-width:var(--ctc-read);
  float:none;width:auto}
.ctc-pagehead h1{margin:0 0 6px}
.ctc-pagehead-sub{margin:0;font-weight:400;color:var(--ctc-muted)}
.ctc-rule{width:96px;height:3px;background:var(--ctc-accent);border:0;
  margin:20px auto 22px;border-radius:2px}
.ctc-intro{text-align:center;max-width:64ch;margin:0 auto 10px;float:none;
  width:auto}
.ctc-intro-note{display:block;margin-top:14px}

/* Theme-Spalten im Kopfbereich aufheben, damit nichts nebeneinander sitzt */
.ctc-headwrap,.ctc-headwrap .wpb_column,.ctc-headwrap .vc_column-inner,
.ctc-headwrap .wpb_wrapper{width:100% !important;float:none !important;
  max-width:none !important;padding-left:0 !important;padding-right:0 !important}

/* --- Hero: sanftes Erscheinen --- */
@keyframes ctc-rise{from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:none}}
@keyframes ctc-rise-cover{from{opacity:0;transform:translateY(22px) rotate(-4deg)}
  to{opacity:1;transform:rotate(-1.4deg)}}
.ctc-study-cover{animation:ctc-rise-cover .7s cubic-bezier(.2,.7,.3,1) both}
.ctc-study-kicker{animation:ctc-rise .6s .10s cubic-bezier(.2,.7,.3,1) both}
.ctc-study-title{animation:ctc-rise .6s .18s cubic-bezier(.2,.7,.3,1) both}
.ctc-study-lead{animation:ctc-rise .6s .26s cubic-bezier(.2,.7,.3,1) both}
.ctc-study-actions{animation:ctc-rise .6s .34s cubic-bezier(.2,.7,.3,1) both}
@media (prefers-reduced-motion:reduce){
  .ctc-study-cover,.ctc-study-kicker,.ctc-study-title,
  .ctc-study-lead,.ctc-study-actions{animation:none}
}

/* --- Kopfbereich: alles untereinander ---
   Der .section_wrapper des Themes steht auf display:flex, dadurch standen
   Titel und Einfuehrungstext nebeneinander. Im Inhaltsbereich soll er
   normal stapeln. */
#Content .the_content > .section_wrapper{display:block}
.ctc-pagehead,.ctc-rule,.ctc-intro{width:auto;max-width:var(--ctc-read);
  margin-left:auto;margin-right:auto;float:none}
.ctc-pagehead{margin-top:0;text-align:center}
.ctc-intro{text-align:center;margin-bottom:34px}


/* --- Trenner: sichtbar statt Haarlinie ---
   Auto-Seitenraender: schmale Varianten (60%) sassen sonst linksbuendig
   unter zentrierten Ueberschriften. */
.vc_separator{margin:44px auto !important;overflow:visible}
.vc_separator .vc_sep_holder{position:relative;height:3px;flex:1 1 auto}
.vc_separator .vc_sep_line{border:0 !important;height:3px;border-radius:2px;
  background:var(--ctc-accent);box-shadow:none !important;
  transform:scaleX(0);transform-origin:center;
  transition:transform .7s cubic-bezier(.2,.7,.3,1)}
.vc_separator.ctc-seen .vc_sep_line,
.vc_separator:not(.ctc-observed) .vc_sep_line{transform:scaleX(1)}
.vc_separator.vc_sep_width_60 .vc_sep_holder{max-width:none}

/* schmale, mittige Variante des Seitenkopfs bleibt kurz */
.ctc-rule{width:96px !important;max-width:96px !important;height:3px;
  background:var(--ctc-accent);border:0;margin:20px auto 24px;
  border-radius:2px;box-shadow:none}

@media (prefers-reduced-motion:reduce){
  .vc_separator .vc_sep_line{transition:none;transform:scaleX(1)}
}

/* Trennerhoehe gegen die Theme-Regel durchsetzen */
.vc_separator .vc_sep_line{height:3px !important;min-height:3px;
  border:0 !important;background:var(--ctc-accent) !important;
  box-shadow:none !important;border-radius:2px;display:block}
.vc_separator .vc_sep_holder{height:3px !important}

/* --- Statements der Beteiligten --- */
.ctc-quotes{max-width:var(--ctc-read);margin:12px auto 34px;padding:0;
  list-style:none;display:grid;gap:26px}
.ctc-quotes li{margin:0;padding:22px 24px;background:#f7f7f5;
  border-left:3px solid var(--ctc-accent);border-radius:3px}
.ctc-quotes blockquote{margin:0;font-size:16px;line-height:1.7;
  color:var(--ctc-ink)}
.ctc-quotes figcaption,.ctc-quotes .ctc-quote-by{display:block;margin-top:12px;
  font-size:14px;color:var(--ctc-muted);font-style:normal}
@media (max-width:640px){.ctc-quotes li{padding:18px}}


/* --- Bildbanner: Tiefe durch Schatten und weichen Verlauf --- */
.ctc-banner{position:relative;width:100vw;max-width:100vw;
  margin:60px calc(50% - 50vw);height:260px;
  background-size:cover;background-position:center;
  background-repeat:no-repeat;background-attachment:fixed;
  box-shadow:inset 0 14px 26px -14px rgba(0,0,0,.55),
             inset 0 -14px 26px -14px rgba(0,0,0,.55),
             0 2px 0 rgba(255,255,255,.6)}
/* leichter Verlauf statt flacher Grauschleier: oben und unten dunkler,
   Mitte klar - das gibt dem Bild Tiefe, ohne es zuzudecken */
.ctc-banner::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,
    rgba(0,0,0,.26) 0%, rgba(0,0,0,.06) 32%,
    rgba(0,0,0,.06) 68%, rgba(0,0,0,.26) 100%)}
/* schmale Akzentlinie als Abschluss - greift die Trennerfarbe auf */
.ctc-banner::before{content:"";position:absolute;left:0;right:0;bottom:0;
  height:3px;background:var(--ctc-accent);z-index:1}
@media (max-width:900px){
  .ctc-banner{background-attachment:scroll;height:200px;
    margin:44px calc(50% - 50vw)}
}
@media (hover:none){.ctc-banner{background-attachment:scroll}}

/* --- Feinschliff: Tiefe und ruhige Uebergaenge --- */
/* Hero bekommt eine dezente Abgrenzung nach unten */
.ctc-study{box-shadow:inset 0 -1px 0 var(--ctc-rule)}
.ctc-study-cover{box-shadow:0 12px 34px rgba(0,0,0,.22),
                            0 2px 6px rgba(0,0,0,.12)}
.ctc-study-cover:hover{box-shadow:0 20px 46px rgba(0,0,0,.28),
                                   0 3px 8px rgba(0,0,0,.14)}

/* Logoband: leichter Absatz zum Hero */
.ctc-partners{background:#fff}

/* Zitate: etwas mehr Tiefe */
.ctc-quotes li{box-shadow:0 1px 3px rgba(0,0,0,.06)}

/* Ueberschriften im Fliesstext ruhiger setzen */
.the_content h2{margin-top:8px;margin-bottom:14px;line-height:1.3}

/* Bilder im Text mit derselben Tiefe wie die Banner */
.the_content_wrapper .image_frame img,
.wpb_single_image img{border-radius:2px;
  box-shadow:0 3px 14px rgba(0,0,0,.13)}

/* ==========================================================================
   9. Hauptnavigation — Untermenue und Platzbedarf
   Die Beschriftungen liefen auf mittleren Breiten in den Sprachwaehler.
   Kuerzere Labels im Markup, hier die Feinjustierung des Abstands und ein
   ruhig aufklappendes Untermenue (Hover UND Tastatur).
   ========================================================================== */
#Top_bar #menu > ul.menu-main > li > a{padding-left:0;padding-right:0}
#Top_bar #menu > ul.menu-main > li{margin-right:clamp(12px,1.7vw,26px)}
#Top_bar #menu > ul.menu-main > li:last-child{margin-right:0}
#Top_bar #menu ul.menu-main > li > a > span{white-space:nowrap}
#Top_bar .menu_wrapper{max-width:calc(100% - 60px)}

/* Aufklapp-Pfeil */
.ctc-has-sub > a{position:relative}
.ctc-sub-caret{display:inline-block;width:0;height:0;margin-left:6px;
  vertical-align:middle;border-left:4px solid transparent;
  border-right:4px solid transparent;border-top:4px solid currentColor;
  opacity:.55;transition:transform .2s ease,opacity .2s ease}
.ctc-has-sub:hover > a .ctc-sub-caret,
.ctc-has-sub:focus-within > a .ctc-sub-caret{opacity:1;transform:rotate(180deg)}

/* Untermenue: klare Karte, ruhiges Aufklappen, grosse Trefferflaechen */
#Top_bar #menu ul.menu-main li.ctc-has-sub{position:relative}
#Top_bar #menu ul.menu-main li.ctc-has-sub > ul.sub-menu{
  display:block;position:absolute;left:0;top:100%;min-width:216px;margin:0;
  padding:6px 0;list-style:none;background:#fff;border:0;border-radius:4px;
  border-top:3px solid var(--ctc-accent);
  box-shadow:0 10px 28px rgba(0,0,0,.14),0 2px 6px rgba(0,0,0,.08);
  opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .18s ease,transform .18s cubic-bezier(.2,.7,.3,1),
             visibility .18s;
  z-index:400}
#Top_bar #menu ul.menu-main li.ctc-has-sub:hover > ul.sub-menu,
#Top_bar #menu ul.menu-main li.ctc-has-sub:focus-within > ul.sub-menu{
  opacity:1;visibility:visible;transform:translateY(0)}
/* unsichtbare Bruecke, damit der Zeiger den Spalt nicht verliert */
#Top_bar #menu ul.menu-main li.ctc-has-sub > ul.sub-menu::before{
  content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
#Top_bar #menu ul.menu-main li.ctc-has-sub > ul.sub-menu > li{
  margin:0;padding:0;float:none;width:auto;border:0}
#Top_bar #menu ul.menu-main li.ctc-has-sub > ul.sub-menu > li + li{
  border-top:1px solid var(--ctc-rule-soft)}
#Top_bar #menu ul.menu-main li.ctc-has-sub > ul.sub-menu > li > a{
  display:block;padding:11px 18px;line-height:1.4;font-size:14px;
  color:var(--ctc-ink);text-decoration:none;background:none;
  transition:color .15s,background-color .15s}
#Top_bar #menu ul.menu-main li.ctc-has-sub > ul.sub-menu > li > a > span{
  border:0;padding:0;background:none;white-space:nowrap}
#Top_bar #menu ul.menu-main li.ctc-has-sub > ul.sub-menu > li > a:hover,
#Top_bar #menu ul.menu-main li.ctc-has-sub > ul.sub-menu > li > a:focus-visible{
  background:#f6f6f3;color:var(--ctc-accent)}
#Top_bar #menu ul.menu-main li.ctc-has-sub > ul.sub-menu > li > a:focus-visible{
  outline:2px solid var(--ctc-accent);outline-offset:-2px}
/* letzter Punkt darf nicht ueber den rechten Rand hinauslaufen */
#Top_bar #menu ul.menu-main > li.ctc-has-sub:last-child > ul.sub-menu{
  left:auto;right:0}

@media (max-width:1240px){
  #Top_bar #menu > ul.menu-main > li{margin-right:clamp(9px,1.3vw,18px)}
  #Top_bar #menu ul.menu-main > li > a > span{font-size:13px}
}
@media (max-width:1080px){
  #Top_bar #menu ul.menu-main > li > a > span{font-size:12.5px;
    letter-spacing:0}
  #Top_bar #menu > ul.menu-main > li{margin-right:9px}
}
/* Ab hier zeigt das Theme das Burger-Menue. Dort steht das Untermenue offen
   untereinander statt als schwebende Karte. */
@media (max-width:1239px){
  #Top_bar #menu ul.menu-main li.ctc-has-sub > ul.sub-menu{
    position:static;opacity:1;visibility:visible;
    transform:none;min-width:0;box-shadow:none;border-top:0;
    border-left:3px solid var(--ctc-accent);
    border-radius:0;padding:0;margin:0 0 4px 14px}
  #Top_bar #menu ul.menu-main li.ctc-has-sub > ul.sub-menu::before{content:none}
  .ctc-sub-caret{display:none}
  #Top_bar .menu_wrapper{max-width:none}
}
/* Das Theme spiegelt die Navigation in das Ausklapp-Panel #Side_slide und
   klappt die Untermenues dort selbst auf. Nur die Optik angleichen. */
#Side_slide #menu ul li ul.sub-menu{margin-left:12px;
  border-left:2px solid var(--ctc-accent)}
#Side_slide #menu ul li ul.sub-menu > li > a{padding-top:11px;
  padding-bottom:11px}
#Side_slide .ctc-sub-caret{display:none}
@media (prefers-reduced-motion:reduce){
  #Top_bar #menu ul.menu-main li.ctc-has-sub > ul.sub-menu{transition:none}
  .ctc-sub-caret{transition:none}
}

/* ==========================================================================
   10. Beitragsdetailseiten (Aktuelles / News / Ergebnisse)
   Komplett neu aufgebautes, einheitliches Layout: Rueckweg, Bild, Datum,
   Titel in Akzentfarbe, zentrierter Strich, Lesespalte.
   ========================================================================== */
.ctc-back{display:inline-flex;align-items:center;gap:8px;
  margin:0 auto 26px;padding:8px 14px 8px 11px;border-radius:4px;
  font-size:14px;font-weight:600;line-height:1.3;text-decoration:none;
  color:var(--ctc-accent);background:#f6f6f3;
  border:1px solid var(--ctc-rule);
  transition:background-color .18s ease,color .18s ease,transform .18s ease}
.ctc-back:hover{background:var(--ctc-accent);color:#fff;
  border-color:var(--ctc-accent);transform:translateX(-2px)}
.ctc-back:focus-visible{outline:2px solid var(--ctc-accent);outline-offset:2px}
.ctc-back svg{width:15px;height:15px;flex:0 0 auto;stroke:currentColor;
  stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ctc-backwrap{max-width:var(--ctc-read);margin:0 auto 4px !important;
  width:auto;float:none;padding:0}

.ctc-postpage{max-width:var(--ctc-wrap);margin:0 auto;
  padding:0 20px 70px}

/* Einheitlicher Abstand zwischen Navigation und Seitenanfang.
   Ausnahme Startseite: dort liegt der Hero direkt an der Navigation. */
#Content{padding-top:52px}
#Content:has(.ctc-study){padding-top:0}
/* erste Ueberschrift ohne eigenen Zusatzabstand, sonst springt das Layout */
#Content .the_content .wpb_text_column:first-child h1:first-child,
#Content .the_content > .section_wrapper > h1:first-child{margin-top:0}
/* Theme-Padding der ersten Spalte schluckt sonst 10px extra */
#Content .vc_row:first-child > .wpb_column{padding-top:0}

/* Beitragsbild oben in der Lesespalte, ohne Verzerrung */
.ctc-post-hero{max-width:var(--ctc-read);margin:8px auto 30px}
.ctc-post-hero img{display:block;max-width:100%;max-height:520px;
  width:auto;margin:0 auto;border-radius:4px;
  box-shadow:0 6px 24px rgba(0,0,0,.16)}

/* Datum klein darueber, Titel in Rot, kurzer Strich darunter */
.ctc-post-head{max-width:var(--ctc-read);margin:0 auto;text-align:center}
.ctc-post-date{margin:0 0 12px;font-size:13px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ctc-muted);text-align:center}
.ctc-post-title{margin:0 auto;font-size:clamp(26px,3vw,36px);
  line-height:1.24;font-weight:600;color:var(--ctc-accent)}
.ctc-post-rule{display:block;width:96px;height:3px;border-radius:2px;
  background:var(--ctc-accent);margin:24px auto 0}

/* Lesespalte: ruhige Typografie, klar gestylte Links */
.ctc-post-body{max-width:var(--ctc-read);margin:34px auto 0}
.ctc-post-body p{margin:0 0 18px;font-size:16px;line-height:1.75;
  color:var(--ctc-ink)}
.ctc-post-body h2{margin:36px 0 14px;font-size:24px;line-height:1.3;
  font-weight:600;color:var(--ctc-ink)}
.ctc-post-body h3{margin:28px 0 12px;font-size:19px;line-height:1.35;
  font-weight:600;color:var(--ctc-ink)}
.ctc-post-body h4{margin:24px 0 10px;font-size:17px;font-weight:600}
.ctc-post-body a{color:var(--ctc-accent);text-decoration:underline;
  text-decoration-thickness:1px;text-underline-offset:3px;
  transition:color .15s ease}
.ctc-post-body a:hover{color:#8f1119}
.ctc-post-body ul,.ctc-post-body ol{margin:0 0 18px;padding-left:24px;
  font-size:16px;line-height:1.75;color:var(--ctc-ink)}
.ctc-post-body li{margin-bottom:6px}
.ctc-post-body li::marker{color:var(--ctc-accent)}
.ctc-post-body blockquote{margin:26px 0;padding:20px 24px;
  background:#f7f7f5;border-left:3px solid var(--ctc-accent);
  border-radius:3px;font-size:16px;line-height:1.7}
.ctc-post-body blockquote p:last-child{margin-bottom:0}

/* Bilder im Text: zentriert, gleiche Tiefe wie das Beitragsbild */
.ctc-fig{margin:30px 0}
.ctc-fig img{display:block;max-width:100%;height:auto;margin:0 auto;
  border-radius:4px;box-shadow:0 6px 24px rgba(0,0,0,.16)}
.ctc-caption{text-align:center;font-size:14px !important;
  color:var(--ctc-muted) !important;margin:-18px 0 26px !important}
.ctc-fig figcaption,.ctc-post-hero figcaption{margin-top:10px;
  text-align:center;font-size:14px;line-height:1.5;color:var(--ctc-muted)}

/* Quellen-Link als Schaltflaeche */
.ctc-btn{display:inline-flex;align-items:center;gap:8px;
  padding:10px 18px;border-radius:4px;font-size:15px;font-weight:600;
  color:#fff !important;background:var(--ctc-accent);
  text-decoration:none !important;
  transition:background-color .18s ease,transform .18s ease}
.ctc-btn:hover{background:#8f1119;transform:translateY(-1px)}
.ctc-post-source{text-align:center;margin-top:26px}

/* Video- und Karten-Einbettungen im Lesefluss */
.ctc-embed{position:relative;margin:30px 0;aspect-ratio:16/9;
  border-radius:4px;overflow:hidden;box-shadow:0 6px 24px rgba(0,0,0,.16)}
.ctc-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Tabellen scrollen in der Spalte statt sie zu sprengen */
.ctc-table-scroll{overflow-x:auto;margin:0 0 18px}
.ctc-table-scroll table{border-collapse:collapse;width:100%;font-size:15px}
.ctc-table-scroll td,.ctc-table-scroll th{padding:8px 12px;
  border-bottom:1px solid var(--ctc-rule);text-align:left}

@media (max-width:640px){
  .ctc-post-title{font-size:24px}
  .ctc-postpage{padding-top:22px}
  .ctc-post-hero{margin-bottom:24px}
}

/* ==========================================================================
   11. Ergebnis-Uebersicht im Fluss der Aktuelles-Liste
   Gleiche Klassen wie /aktuelles/ (ul.ctc-news), damit beide Uebersichten
   sich identisch anfuehlen. Die Gruppentitel bleiben als Gliederung.
   ========================================================================== */
h2.ctc-erg-group + ul.ctc-news{margin-top:2px}
ul.ctc-news + h2.ctc-erg-group{margin-top:34px}
/* Das Theme setzt Aufzaehlungspunkte auf Listen im Inhaltsbereich —
   die Uebersichtsliste traegt ihre Struktur selbst. */
.the_content_wrapper ul.ctc-news,.the_content_wrapper ul.ctc-news > li{
  list-style:none}
.the_content_wrapper ul.ctc-news > li::before,
.the_content_wrapper ul.ctc-news > li::marker{content:none;display:none}
/* Die Zeile ragt links/rechts 20px ueber die Lesespalte hinaus (Hover-Flaeche).
   Damit die Titel dennoch buendig unter Ueberschrift und Anrisstext stehen,
   bleibt die Liste selbst mittig in der Lesespalte. */
.the_content_wrapper ul.ctc-news{padding-left:0;margin-left:auto;
  margin-right:auto}

/* ==========================================================================
   ERGEBNISSEITE - Abschnitte und Diagramme
   Fliesstext in der Lesespalte, Diagramme mittig in angenehmer Groesse.
   Die Diagramme sind bewusst ohne Fremdbibliothek gebaut: reines CSS/SVG,
   alle Zahlen stehen zusaetzlich als Text in der Tabelle darunter.
   ========================================================================== */
.ctc-erg-section{max-width:var(--ctc-read);margin:0 auto}
.ctc-erg-section h2{margin:0 0 18px;font-size:27px;line-height:1.28;
  color:var(--ctc-ink)}
.ctc-erg-section p{margin:0 0 18px;font-size:17px;line-height:1.75;
  color:var(--ctc-ink-soft)}
.ctc-erg-section p:last-child{margin-bottom:0}
@media (max-width:700px){
  .ctc-erg-section h2{font-size:23px}
  .ctc-erg-section p{font-size:16px;line-height:1.7}
}

/* --- Diagramm-Rahmen ---------------------------------------------------- */
.ctc-chart{max-width:720px;margin:0 auto;padding:26px 26px 22px;
  background:#fff;border:1px solid var(--ctc-rule);border-radius:4px;
  box-shadow:0 3px 14px rgba(0,0,0,.13)}
.ctc-chart-head{margin:0 0 4px;font-size:22px;line-height:1.3;
  text-align:center;color:var(--ctc-ink)}
.ctc-chart-note{margin:0 0 20px;font-size:14px;text-align:center;
  color:var(--ctc-muted)}
@media (max-width:700px){
  .ctc-chart{padding:20px 16px 18px}
  .ctc-chart-head{font-size:19px}
}

/* --- Kreisdiagramm (Donut / Torte) -------------------------------------- */
.ctc-chart-circle{display:flex;flex-wrap:wrap;align-items:center;
  justify-content:center;gap:26px 34px}
.ctc-chart-circle svg{flex:0 0 auto;width:210px;height:210px;
  transform:rotate(-90deg)}
.ctc-chart-circle .ctc-slice{fill:none;stroke-width:26}
.ctc-chart-circle .ctc-slice-pie{stroke-width:52}

/* --- Legende ------------------------------------------------------------ */
.ctc-legend{flex:1 1 240px;min-width:0;margin:0;padding:0;list-style:none}
.ctc-legend li{display:flex;align-items:baseline;gap:9px;
  padding:5px 0;font-size:15px;line-height:1.4;color:var(--ctc-ink)}
.ctc-legend .ctc-key{flex:0 0 auto;width:11px;height:11px;border-radius:2px;
  transform:translateY(1px)}
.ctc-legend .ctc-legend-label{flex:1 1 auto;min-width:0}
.ctc-legend .ctc-legend-val{flex:0 0 auto;font-variant-numeric:tabular-nums;
  font-weight:600;color:var(--ctc-ink)}
.ctc-legend .ctc-legend-pct{flex:0 0 auto;font-variant-numeric:tabular-nums;
  font-size:13px;color:var(--ctc-muted);min-width:44px;text-align:right}

/* --- Balkendiagramm ----------------------------------------------------- */
.ctc-bars{margin:0;padding:0;list-style:none}
.ctc-bars li{display:grid;
  grid-template-columns:minmax(96px,150px) 1fr auto;
  align-items:center;gap:12px;padding:4px 0;font-size:14px}
.ctc-bars .ctc-bar-label{min-width:0;overflow-wrap:break-word;
  color:var(--ctc-ink)}
.ctc-bars .ctc-bar-track{height:14px;background:#f0f0ec;border-radius:2px;
  overflow:hidden}
.ctc-bars .ctc-bar-fill{display:block;height:100%;border-radius:2px;
  background:var(--ctc-accent);min-width:2px}
.ctc-bars .ctc-bar-val{font-variant-numeric:tabular-nums;font-weight:600;
  min-width:34px;text-align:right;color:var(--ctc-ink)}
@media (max-width:560px){
  .ctc-bars li{grid-template-columns:1fr auto;gap:4px 10px}
  .ctc-bars .ctc-bar-label{grid-column:1}
  .ctc-bars .ctc-bar-val{grid-column:2}
  .ctc-bars .ctc-bar-track{grid-column:1 / -1}
}

/* --- Summenzeile -------------------------------------------------------- */
.ctc-chart-total{margin:18px 0 0;padding-top:12px;
  border-top:1px solid var(--ctc-rule-soft);
  font-size:14px;color:var(--ctc-muted);text-align:center}
.ctc-chart-total strong{color:var(--ctc-ink);font-variant-numeric:tabular-nums}

/* nur fuer Screenreader */
.ctc-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* --- Suche entfernt (funktionslos im statischen Archiv) --- */
#search_button,.search_button,#Top_bar .search_wrapper,
.mfn-live-search-box,#Top_bar .top-bar-right-icon-search{display:none !important}

/* --- Mobile Navi: nur das Plus, kein zusaetzlicher Pfeil ---
   Im Ausklapp-Panel liefert das Theme bereits einen eigenen Aufklapp-Schalter.
   Am Schreibtisch bleibt der Pfeil dagegen sichtbar — er ist dort der einzige
   Hinweis darauf, dass sich hinter dem Punkt ein Untermenue verbirgt. */
@media (max-width:1240px){
  #Top_bar .menu li.submenu > a > span:not(.description)::after,
  #Top_bar .menu li.menu-item-has-children > a .ctc-sub-caret{display:none !important}
}
#Side_slide .ctc-sub-caret{display:none !important}
