/* Kooperationspartner / Verbände – scoped page styles only. */
.skb-content-page .partner-page,
.partner-page {
  --partner-blue: #2f4356;
  --partner-red: #e43730;
  --partner-ink: #071f26;
  --partner-muted: #36585f;
  --partner-line: #e5e9e7;
  --partner-soft: #f7f8f8;
  --partner-card-width: 240px;
  color: var(--partner-ink);
  background: #fff;
  font-family: "Noto Sans SKB", "Noto Sans", sans-serif;
  overflow-x: hidden;
}

.skb-content-page .partner-page *,
.partner-page * {
  box-sizing: border-box;
}

.skb-content-page .partner-page :is(h1, h2, h3, p, a, button, span, small),
.partner-page :is(h1, h2, h3, p, a, button, span, small) {
  font-family: "Noto Sans SKB", "Noto Sans", sans-serif;
}

.skb-content-page .partner-page .partner-shell,
.partner-page .partner-shell {
  width: min(calc(100% - 112px), 1270px);
  margin-right: auto;
  margin-left: auto;
}

.skb-content-page .partner-page .partner-hero,
.partner-page .partner-hero {
  position: relative;
  display: grid;
  min-height: 260px;
  overflow: hidden;
  isolation: isolate;
  background-color: var(--partner-blue);
  background-image:
    linear-gradient(90deg, rgba(7, 31, 38, .70) 0%, rgba(7, 31, 38, .42) 48%, rgba(7, 31, 38, .18) 100%),
    var(--partner-hero-image, none);
  background-position: center;
  background-size: cover;
}

.skb-content-page .partner-page .partner-hero::after,
.partner-page .partner-hero::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(0deg, rgba(7, 31, 38, .16), transparent 52%);
  content: "";
  pointer-events: none;
}

.skb-content-page .partner-page .partner-hero .partner-shell,
.partner-page .partner-hero .partner-shell {
  display: flex;
  min-height: 260px;
  align-items: center;
  padding: 32px 0;
}

.skb-content-page .partner-page .partner-hero h1,
.partner-page .partner-hero h1 {
  max-width: 20ch;
  margin: 0;
  color: #fff;
  font-size: clamp(1.9rem, 3vw, 3rem);
  font-weight: 650;
  letter-spacing: -.055em;
  line-height: 1.08;
  text-wrap: balance;
}

.skb-content-page .partner-page .partner-hero .partner-kicker,
.partner-page .partner-hero .partner-kicker {
  margin: 0 0 9px;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .11em;
  line-height: 1.2;
  text-transform: uppercase;
}

.skb-content-page .partner-page .partner-thanks,
.partner-page .partner-thanks {
  width: min(calc(100% - 112px), 1270px);
  margin: 0 auto;
  padding: 14px 0 11px;
  color: var(--partner-muted);
  font-size: 1rem !important;
  line-height: 1.5 !important;
}

.skb-content-page .partner-page .partner-thanks p,
.partner-page .partner-thanks p {
  margin: 0;
}

.skb-content-page .partner-page .partner-featured,
.partner-page .partner-featured {
  display: grid;
  width: min(calc(100% - 112px), 1270px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 0 auto;
  padding: 0 0 24px;
}

.skb-content-page .partner-page .partner-featured figure,
.partner-page .partner-featured figure {
  display: grid;
  min-width: 0;
  height: 138px;
  margin: 0;
  padding: 16px 20px;
  place-items: center;
  border: 1px solid var(--partner-line);
  border-radius: 8px;
  background: #fff;
}

.skb-content-page .partner-page .partner-featured img,
.partner-page .partner-featured img {
  display: block;
  width: auto;
  max-width: 85%;
  height: auto;
  max-height: 70px;
  object-fit: contain;
}

.skb-content-page .partner-page .partner-featured figcaption,
.partner-page .partner-featured figcaption {
  margin-top: 5px;
  color: var(--partner-muted);
  font-size: 11px;
  line-height: 1.25;
  text-align: center;
}

.skb-content-page .partner-page .partner-directory,
.partner-page .partner-directory {
  padding: 34px 0 42px;
  background: var(--partner-soft);
  overflow: hidden;
}

.skb-content-page .partner-page .partner-directory .partner-shell,
.partner-page .partner-directory .partner-shell {
  min-width: 0;
}

.skb-content-page .partner-page .partner-title-row,
.partner-page .partner-title-row {
  display: flex;
  gap: 18px;
  align-items: end;
  justify-content: space-between;
}

.skb-content-page .partner-page .partner-title-row h2,
.partner-page .partner-title-row h2 {
  margin: 0;
  color: var(--partner-ink);
  font-size: clamp(1.4rem, 1.8vw, 1.8rem);
  font-weight: 700;
  letter-spacing: -.048em;
  line-height: 1.1;
}

.skb-content-page .partner-page .partner-directory > .partner-shell > p,
.partner-page .partner-directory > .partner-shell > .partner-lead,
.partner-page .partner-directory .partner-title-row + p,
.partner-page .partner-directory .partner-title-row + .partner-lead {
  max-width: 64ch;
  margin: 10px 0 23px;
  color: var(--partner-muted) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

.skb-content-page .partner-page .partner-motion-toggle,
.partner-page .partner-motion-toggle {
  display: none;
  min-height: 34px;
  padding: 7px 10px;
  border: 1px solid var(--partner-blue);
  border-radius: 8px;
  color: var(--partner-blue);
  background: #fff;
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
}

.skb-content-page .partner-page.is-enhanced .partner-motion-toggle:not([hidden]),
.partner-page.is-enhanced .partner-motion-toggle:not([hidden]),
.skb-content-page .partner-page .is-enhanced .partner-motion-toggle:not([hidden]),
.partner-page .is-enhanced .partner-motion-toggle:not([hidden]) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.skb-content-page .partner-page .partner-motion-toggle:hover,
.skb-content-page .partner-page .partner-motion-toggle:focus-visible,
.partner-page .partner-motion-toggle:hover,
.partner-page .partner-motion-toggle:focus-visible {
  border-color: var(--partner-red);
  color: var(--partner-red);
  outline: 2px solid transparent;
  outline-offset: 3px;
}

.skb-content-page .partner-page .partner-motion-toggle:focus-visible,
.partner-page .partner-motion-toggle:focus-visible {
  outline-color: var(--partner-red);
}

.skb-content-page .partner-page .partner-row,
.partner-page .partner-row {
  width: 100%;
  margin-top: 13px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  touch-action: auto;
}

.skb-content-page .partner-page .partner-row::-webkit-scrollbar,
.partner-page .partner-row::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.skb-content-page .partner-page .partner-track,
.partner-page .partner-track {
  display: flex;
  width: max-content;
  min-width: 100%;
  transform: translate3d(0, 0, 0);
}

.skb-content-page .partner-page .partner-group,
.partner-page .partner-group {
  display: flex;
  width: max-content;
  flex: 0 0 auto;
  gap: 16px;
  padding-right: 16px;
}

.skb-content-page .partner-page .partner-card,
.partner-page .partner-card {
  display: flex;
  width: var(--partner-card-width, 240px);
  min-width: var(--partner-card-width, 240px);
  height: 124px;
  flex: 0 0 var(--partner-card-width, 240px);
  align-items: center;
  justify-content: center;
  padding: 14px;
  border: 1px solid var(--partner-line);
  border-radius: 8px;
  color: var(--partner-ink);
  background: #fff;
  text-decoration: none;
}

.skb-content-page .partner-page a.partner-card,
.partner-page a.partner-card {
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease;
}

.skb-content-page .partner-page a.partner-card:hover,
.skb-content-page .partner-page a.partner-card:focus-visible,
.partner-page a.partner-card:hover,
.partner-page a.partner-card:focus-visible {
  border-color: var(--partner-blue);
  box-shadow: 0 3px 10px rgba(7, 31, 38, .06);
  outline: 0;
}

.skb-content-page .partner-page a.partner-card:focus-visible,
.partner-page a.partner-card:focus-visible {
  box-shadow: 0 0 0 3px rgba(47, 67, 86, .20);
}

.skb-content-page .partner-page .partner-card > img,
.skb-content-page .partner-page .partner-card picture,
.partner-page .partner-card > img,
.partner-page .partner-card picture {
  display: block;
  width: auto;
  max-width: 85%;
  height: auto;
  max-height: 70px;
  object-fit: contain;
}

.skb-content-page .partner-page .partner-card picture img,
.partner-page .partner-card picture img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 70px;
  object-fit: contain;
}

.skb-content-page .partner-page .partner-card:has(.partner-card-label),
.partner-page .partner-card:has(.partner-card-action) {
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 7px;
}

.skb-content-page .partner-page .partner-card-label,
.partner-page .partner-card-label {
  max-width: 100%;
  overflow: hidden;
  color: var(--partner-muted);
  font-size: 12px !important;
  font-weight: 400;
  line-height: 1.2 !important;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.skb-content-page .partner-page .partner-card-action,
.partner-page .partner-card-action {
  color: var(--partner-blue);
  font-size: 12px !important;
  font-weight: 700;
  line-height: 1.2 !important;
}

.skb-content-page .partner-page.is-enhanced .partner-row,
.partner-page.is-enhanced .partner-row,
.skb-content-page .partner-page .is-enhanced .partner-row,
.partner-page .is-enhanced .partner-row {
  overflow-x: hidden;
}

.skb-content-page .partner-page.is-enhanced .partner-track,
.partner-page.is-enhanced .partner-track,
.skb-content-page .partner-page .is-enhanced .partner-track,
.partner-page .is-enhanced .partner-track {
  animation: partner-logo-marquee var(--partner-travel-duration, 40s) linear infinite;
  animation-play-state: paused;
  will-change: transform;
}

.skb-content-page .partner-page.is-enhanced[data-motion="playing"] .partner-track,
.partner-page.is-enhanced[data-motion="playing"] .partner-track,
.skb-content-page .partner-page[data-motion="playing"] .is-enhanced .partner-track,
.partner-page[data-motion="playing"] .is-enhanced .partner-track {
  animation-play-state: running;
}

.skb-content-page .partner-page.is-enhanced[data-motion="paused"] .partner-track,
.partner-page.is-enhanced[data-motion="paused"] .partner-track,
.skb-content-page .partner-page[data-motion="paused"] .is-enhanced .partner-track,
.partner-page[data-motion="paused"] .is-enhanced .partner-track {
  animation-play-state: paused;
}

.skb-content-page .partner-page .partner-row[data-direction="right"] .partner-track,
.partner-page .partner-row[data-direction="right"] .partner-track {
  animation-direction: reverse;
}

.skb-content-page .partner-page .partner-row:is(:hover, :focus-within) .partner-track,
.partner-page .partner-row:is(:hover, :focus-within) .partner-track {
  animation-play-state: paused;
}

.skb-content-page .partner-page .partner-row.is-keyboard,
.partner-page .partner-row.is-keyboard {
  overflow-x: auto;
}

.skb-content-page .partner-page .partner-row.is-keyboard .partner-group[aria-hidden="true"],
.partner-page .partner-row.is-keyboard .partner-group[aria-hidden="true"],
.skb-content-page .partner-page:not(.is-enhanced) .partner-group[aria-hidden="true"],
.partner-page:not(.is-enhanced) .partner-group[aria-hidden="true"] {
  display: none;
}

.skb-content-page .partner-page .partner-row.is-keyboard .partner-track,
.partner-page .partner-row.is-keyboard .partner-track {
  animation: none;
  transform: none;
  will-change: auto;
}

.skb-content-page .partner-page .partner-followups,
.partner-page .partner-followups {
  padding: 32px 0 38px;
  background: #fff;
}

.skb-content-page .partner-page .partner-followups .partner-shell,
.partner-page .partner-followups .partner-shell {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.skb-content-page .partner-page .partner-report,
.skb-content-page .partner-page .partner-contact,
.partner-page .partner-report,
.partner-page .partner-contact {
  display: grid;
  min-width: 0;
  min-height: 184px;
  grid-template-columns: minmax(0, 1fr) minmax(104px, .54fr);
  gap: 16px;
  align-items: center;
  padding: 18px;
  border: 1px solid var(--partner-line);
  border-radius: 8px;
  background: var(--partner-soft);
}

.skb-content-page .partner-page .partner-report .partner-copy,
.skb-content-page .partner-page .partner-contact .partner-copy,
.partner-page .partner-report .partner-copy,
.partner-page .partner-contact .partner-copy {
  min-width: 0;
}

.skb-content-page .partner-page .partner-copy :is(h2, h3),
.partner-page .partner-copy :is(h2, h3) {
  margin: 0 0 7px;
  color: var(--partner-ink);
  font-size: clamp(1.05rem, 1.35vw, 1.22rem);
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: 1.15;
}

.skb-content-page .partner-page .partner-copy p,
.partner-page .partner-copy p {
  margin: 0;
  color: var(--partner-muted) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

.skb-content-page .partner-page .partner-copy .partner-button,
.skb-content-page .partner-page .partner-report > .partner-button,
.skb-content-page .partner-page .partner-contact > .partner-button,
.partner-page .partner-copy .partner-button,
.partner-page .partner-report > .partner-button,
.partner-page .partner-contact > .partner-button {
  display: inline-flex;
  min-height: 36px;
  margin-top: 13px;
  padding: 8px 12px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--partner-blue);
  border-radius: 8px;
  color: #fff;
  background: var(--partner-blue);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, outline-color .18s ease;
}

.skb-content-page .partner-page .partner-button:hover,
.skb-content-page .partner-page .partner-button:focus-visible,
.partner-page .partner-button:hover,
.partner-page .partner-button:focus-visible {
  border-color: var(--partner-red);
  color: #fff;
  background: var(--partner-red);
  outline: 2px solid transparent;
  outline-offset: 3px;
}

.skb-content-page .partner-page .partner-button:focus-visible,
.partner-page .partner-button:focus-visible {
  outline-color: var(--partner-red);
}

.skb-content-page .partner-page .partner-report img,
.skb-content-page .partner-page .partner-contact img,
.partner-page .partner-report img,
.partner-page .partner-contact img {
  display: block;
  width: 100%;
  height: 150px;
  border-radius: 6px;
  object-fit: cover;
}

@keyframes partner-logo-marquee {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}

@media (max-width: 680px) {
  .skb-content-page .partner-page .partner-shell,
  .partner-page .partner-shell,
  .skb-content-page .partner-page .partner-thanks,
  .partner-page .partner-thanks,
  .skb-content-page .partner-page .partner-featured,
  .partner-page .partner-featured {
    width: min(calc(100% - 34px), 620px);
  }

  .skb-content-page .partner-page .partner-hero,
  .partner-page .partner-hero,
  .skb-content-page .partner-page .partner-hero .partner-shell,
  .partner-page .partner-hero .partner-shell {
    min-height: 210px;
  }

  .skb-content-page .partner-page .partner-hero .partner-shell,
  .partner-page .partner-hero .partner-shell {
    padding: 28px 0;
  }

  .skb-content-page .partner-page .partner-hero h1,
  .partner-page .partner-hero h1 {
    max-width: 17ch;
  }

  .skb-content-page .partner-page .partner-thanks,
  .partner-page .partner-thanks {
    padding: 12px 0 10px;
    font-size: .94rem !important;
  }

  .skb-content-page .partner-page .partner-featured,
  .partner-page .partner-featured {
    gap: 8px;
    padding-bottom: 18px;
  }

  .skb-content-page .partner-page .partner-featured figure,
  .partner-page .partner-featured figure {
    height: 90px;
    padding: 10px;
  }

  .skb-content-page .partner-page .partner-featured img,
  .partner-page .partner-featured img {
    max-width: 90%;
    max-height: 48px;
  }

  .skb-content-page .partner-page .partner-featured figcaption,
  .partner-page .partner-featured figcaption {
    display: none;
  }

  .skb-content-page .partner-page .partner-directory,
  .partner-page .partner-directory {
    padding: 28px 0 32px;
  }

  .skb-content-page .partner-page .partner-title-row,
  .partner-page .partner-title-row {
    gap: 12px;
    align-items: flex-start;
  }

  .skb-content-page .partner-page .partner-motion-toggle,
  .partner-page .partner-motion-toggle {
    flex: 0 0 auto;
  }

  .skb-content-page .partner-page .partner-directory > .partner-shell > p,
  .skb-content-page .partner-page .partner-directory > .partner-shell > .partner-lead,
  .skb-content-page .partner-page .partner-directory .partner-title-row + p,
  .skb-content-page .partner-page .partner-directory .partner-title-row + .partner-lead,
  .partner-page .partner-directory > .partner-shell > p,
  .partner-page .partner-directory > .partner-shell > .partner-lead,
  .partner-page .partner-directory .partner-title-row + p,
  .partner-page .partner-directory .partner-title-row + .partner-lead {
    margin-bottom: 18px;
  }

  .skb-content-page .partner-page,
  .partner-page {
    --partner-card-width: 150px;
  }

  .skb-content-page .partner-page .partner-row,
  .partner-page .partner-row {
    margin-top: 10px;
  }

  .skb-content-page .partner-page .partner-group,
  .partner-page .partner-group {
    gap: 10px;
    padding-right: 10px;
  }

  .skb-content-page .partner-page .partner-card,
  .partner-page .partner-card {
    height: 102px;
    padding: 10px;
  }

  .skb-content-page .partner-page .partner-card > img,
  .skb-content-page .partner-page .partner-card picture,
  .skb-content-page .partner-page .partner-card picture img,
  .partner-page .partner-card > img,
  .partner-page .partner-card picture,
  .partner-page .partner-card picture img {
    max-height: 52px;
  }

  .skb-content-page .partner-page .partner-card-label,
  .skb-content-page .partner-page .partner-card-action,
  .partner-page .partner-card-label,
  .partner-page .partner-card-action {
    font-size: 11px !important;
  }

  .skb-content-page .partner-page .partner-followups,
  .partner-page .partner-followups {
    padding: 24px 0 30px;
  }

  .skb-content-page .partner-page .partner-followups .partner-shell,
  .partner-page .partner-followups .partner-shell {
    grid-template-columns: 1fr;
  }

  .skb-content-page .partner-page .partner-report,
  .skb-content-page .partner-page .partner-contact,
  .partner-page .partner-report,
  .partner-page .partner-contact {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr) 104px;
    gap: 12px;
    padding: 15px;
  }

  .skb-content-page .partner-page .partner-report img,
  .skb-content-page .partner-page .partner-contact img,
  .partner-page .partner-report img,
  .partner-page .partner-contact img {
    height: 118px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .skb-content-page .partner-page .partner-row,
  .partner-page .partner-row {
    overflow-x: auto !important;
  }

  .skb-content-page .partner-page .partner-track,
  .partner-page .partner-track {
    animation: none !important;
    transform: none !important;
    will-change: auto;
  }

  .skb-content-page .partner-page .partner-group[aria-hidden="true"],
  .partner-page .partner-group[aria-hidden="true"] {
    display: none;
  }
}

/* Final original-layout integration: one shell, legible panorama and full logos. */
.skb-content-page .partner-page .partner-shell > .partner-thanks,
.skb-content-page .partner-page .partner-shell > .partner-featured {
  width: 100%;
}
.skb-content-page .partner-page .partner-hero {
  background-image: linear-gradient(rgba(7, 31, 38, .26), rgba(7, 31, 38, .26)), var(--partner-hero-image, none);
}
.skb-content-page .partner-page .partner-hero .partner-shell {
  justify-content: center;
}
.skb-content-page .partner-page .partner-hero h1 {
  max-width: none;
  text-align: center;
}
.skb-content-page .partner-page .partner-card > img {
  width: 100%;
  height: 50px;
  max-height: 50px;
  object-fit: contain;
}
.skb-content-page .partner-page .partner-report > img {
  grid-column: 2;
  grid-row: 1;
  object-fit: contain;
}
.skb-content-page .partner-page .partner-report > .partner-copy {
  grid-column: 1;
  grid-row: 1;
}
