/* Sponsorsectie - specifiek voor de homepage, onafhankelijk van page-templates. */
.khtw-sponsors { background: #f7f7fb; }
.khtw-sponsors-inner { max-width: 1280px; }
.khtw-sponsors-heading { text-align: center; margin: 0 auto 32px; }
.khtw-sponsors-heading .eyebrow { margin-bottom: 8px; }
.khtw-sponsors-heading h2 { font-size: clamp(28px, 4vw, 46px); }
.khtw-sponsor-track {
  list-style: none; margin: 0; padding: 0; display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px;
}
.khtw-sponsor-card {
  min-width: 0; height: 132px; margin: 0;
  background: #fff; border: 1px solid #e4e5f0; border-radius: 3px;
}
.khtw-sponsor-card a, .khtw-sponsor-static {
  display: flex; align-items: center; justify-content: center;
  width: 100%; height: 100%; padding: 20px;
}
.khtw-sponsor-card a { transition: box-shadow .2s ease, border-color .2s ease; }
.khtw-sponsor-card a:hover { box-shadow: inset 0 0 0 2px var(--khn); }
.khtw-sponsor-card a:focus-visible { outline: 3px solid var(--red); outline-offset: 2px; }
body.khtw-theme .khtw-sponsor-logo {
  width: auto; height: auto; max-width: 100%; max-height: 90px;
  object-fit: contain; margin: 0;
}
.khtw-sponsor-controls { display: none; }
.khtw-sponsor-controls[hidden] { display: none !important; }
@media (min-width: 1080px) {
  .khtw-sponsor-track { grid-template-columns: repeat(var(--khtw-sponsor-cols, 5), minmax(0, 1fr)); gap: 16px; }
  .khtw-sponsor-card { height: 142px; }
}
@media (max-width: 699px) {
  .khtw-sponsors { overflow: hidden; }
  .khtw-sponsors-heading { margin-bottom: 25px; }
  .khtw-sponsor-track {
    position: relative; display: flex; flex-wrap: nowrap; gap: 12px;
    overflow-x: auto; overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory; scroll-padding-inline: 0;
    scrollbar-width: none; -webkit-overflow-scrolling: touch;
  }
  .khtw-sponsor-track::-webkit-scrollbar { display: none; }
  .khtw-sponsor-card {
    flex: 0 0 calc((100% - (var(--khtw-sponsor-visible, 2) - 1) * 12px) / var(--khtw-sponsor-visible, 2));
    height: 140px; scroll-snap-align: start;
  }
  .khtw-sponsor-card a, .khtw-sponsor-static { padding: 16px; }
  body.khtw-theme .khtw-sponsor-logo { max-height: 88px; }
  .khtw-sponsor-controls:not([hidden]) {
    display: flex; justify-content: center; align-items: center; gap: 22px; margin-top: 18px;
  }
  .khtw-sponsor-controls button {
    display: inline-flex; align-items: center; justify-content: center;
    width: 42px; height: 42px; padding: 0;
    border: 1px solid #d9daea; background: #fff; color: var(--navy);
    font: 800 24px/1 var(--sans); cursor: pointer;
  }
  .khtw-sponsor-controls button:hover { border-color: var(--khn); color: var(--khn); }
  .khtw-sponsor-counter { font-size: 13px; font-weight: 800; color: var(--navy); font-variant-numeric: tabular-nums; }
}
@media (prefers-reduced-motion: reduce) {
  .khtw-sponsor-card a { transition: none; }
  .khtw-sponsor-track { scroll-behavior: auto; }
}
@media print {
  .khtw-sponsor-track { display: grid; grid-template-columns: repeat(4, 1fr); }
  .khtw-sponsor-controls { display: none !important; }
}
