/* assets/css/fakten-partners.css */
/* NUR: Partners-Scroller + Fakten-Kacheln (ohne Ersparnis/Modal) */

/* =========================
   PARTNER-LOGOS (Scroller)
   ========================= */
.partners{
  max-width:1200px;
  margin:0 auto;
  padding:2rem 1rem;
  text-align:center;
}

.partners-title{ margin:0 0 1rem; }

.partners-viewport{
  position:relative;
  max-width:100%;
  width:min(100%, 1100px);
  margin:0 auto;
  overflow:hidden;
}

@supports (mask-image:linear-gradient(black,white)) or (-webkit-mask-image:linear-gradient(black,white)){
  .partners-viewport{
    --fade:40px;
    mask-image:linear-gradient(to right,transparent 0,black var(--fade),black calc(100% - var(--fade)),transparent 100%);
    -webkit-mask-image:linear-gradient(to right,transparent 0,black var(--fade),black calc(100% - var(--fade)),transparent 100%);
  }
}

@supports not (mask-image:linear-gradient(black,white)){
  .partners-viewport::before,
  .partners-viewport::after{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    width:46px;
    pointer-events:none;
    z-index:2;
  }
  .partners-viewport::before{
    left:0;
    background:linear-gradient(to right,var(--bg,#fff),#fff0);
  }
  .partners-viewport::after{
    right:0;
    background:linear-gradient(to left,var(--bg,#fff),#fff0);
  }
}

.partners-track{
  display:flex;
  align-items:center;
  gap:clamp(10px, 1.8vw, 22px);
  will-change:transform;
  transform:translateX(0);
  cursor:grab;
}
.partners-track.is-dragging{ cursor:grabbing; }

.partner-item{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
}

.partner-item img{
  height:clamp(26px, 4.2vw, 50px);
  width:auto;
  filter:grayscale(1) contrast(1.05) brightness(1);
  opacity:.9;
  transition:opacity 160ms ease,filter 160ms ease;
}
.partner-item img:hover{
  transform:none;
  opacity:1;
  filter:grayscale(.2) contrast(1.1) brightness(1.05);
}

body.consent-declined .partner-item img{
  filter:grayscale(1) contrast(1.05) brightness(1) invert(1);
}

.partners-viewport,
.partners-track,
.partner-item,
.partner-item img{
  pointer-events:auto;
}

/* =========================
   FAKTEN (Kacheln)
   ========================= */
#fakten .facts-grid{
  display:flex;
  flex-wrap:wrap;
  gap:24px;
  justify-content:center;
}

#fakten .facts-grid .fact-col{ width:calc(25% - 18px); }
@media (max-width:820px){
  #fakten .facts-grid .fact-col{ width:calc(50% - 12px); }
}
@media (max-width:420px){
  #fakten .facts-grid .fact-col{ width:100%; }
}

#fakten .fact-box{
  height:100%;
  min-height:190px;
  padding:1.5rem;
  border: 1px solid var(--line, #e5e7eb);
  border-radius: 12px;
  box-shadow: 0 8px 20px rgb(0 0 0 / .06);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
  transition:transform .25s ease,box-shadow .25s ease;
}

#fakten .fact-head{
  font-size:2.2rem;
  font-weight:800;
  line-height:1.05;
  min-height:2.6rem;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  margin:0 0 .55rem 0;
}

#fakten .fact-text{
  color: var(--muted, #6b7280);
  line-height:1.45;
  min-height:3.6rem;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  text-wrap:balance;
}

@media (max-width:820px){
  #fakten .fact-box{
    min-height:auto;
    justify-content:center;
    padding:1.25rem;
  }
  #fakten .fact-head{ font-size:2rem; min-height:auto; }
  #fakten .fact-text{ min-height:auto; }
}

/* Akzentfarben */
#fakten .fact-accent--1{ color:#2563EB; }
#fakten .fact-accent--2{ color:#1E40AF; }
#fakten .fact-accent--3{ color:#0369A1; }
#fakten .fact-accent--4{ color:#4F46E5; }

/* Theme hell */
#fakten.style1 .fact-box--1{ background:#E0F2FE; }
#fakten.style1 .fact-box--2{ background:#EFF6FF; }
#fakten.style1 .fact-box--3{ background:#F0F9FF; }
#fakten.style1 .fact-box--4{ background:#EEF2FF; }
#fakten.style1 em{ color:#64748B; }

/* Theme dunkel (passt zu deinem site.css) */
#fakten.style2 .fact-box{
  border-color: rgb(255 255 255 / .18);
  background:#fff0;
  color: #E5E7EB;
}
#fakten.style2 .fact-text{ color:#E2E8F0; }
#fakten.style2 em{ color:#CBD5E1; }

#fakten.style2 .fact-box--1{ background:rgb(37 99 235 / .12); }
#fakten.style2 .fact-box--2{ background:rgb(30 64 175 / .12); }
#fakten.style2 .fact-box--3{ background:rgb(3 105 161 / .12); }
#fakten.style2 .fact-box--4{ background:rgb(79 70 229 / .12); }

#fakten.style2 .fact-accent--1{ color:#60A5FA; }
#fakten.style2 .fact-accent--2{ color:#60A5FA; }
#fakten.style2 .fact-accent--3{ color:#38BDF8; }
#fakten.style2 .fact-accent--4{ color:#F3BFFB; }

#fakten.style2 header.major p,
#fakten.style2 > .container > p{
  color:#E5E7EB!important;
}

#fakten .fact-box:hover{
  transform:scale(1.04);
  box-shadow:0 12px 26px rgb(0 0 0 / .12);
}
@media (min-width:821px){
  #fakten .fact-box:hover{
    transform:scale(1.04);
    box-shadow:0 12px 26px rgb(0 0 0 / .12);
  }
}
