/* Card bianche uniformi dietro i loghi sponsor (molti file nascono su fondo nero) */
.cella-sponsor > a.w-inline-block {
  background: #fff;
  border-radius: 12px;
  padding: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 120px;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.08);
}
.sponsor-slider .w-layout-cell,
.slider-3 .div-block-7 {
  background: #fff;
  border-radius: 12px;
  padding: 14px;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.08);
}
.sponsor-slider .w-layout-cell img,
.slider-3 .div-block-7 img,
.cella-sponsor img {
  max-height: 120px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}

/* Riserva: mostra subito gli elementi lasciati a opacity 0 dalle animazioni Webflow */
@keyframes wf-reveal { from { opacity: 0; } to { opacity: 1; } }
[style*="opacity:0"], [style*="opacity: 0"] {
  animation: wf-reveal 0.4s ease-out 0.05s forwards;
}

/* Su tablet/telefono le schede dei gironi sono più alte dello schermo: niente effetto "a pila" che copre i pulsanti */
@media (max-width: 991px) {
  .service-feature.background-color-purple,
  .service-feature.background-color-dark { position: relative; }
}

/* ===== Animazione di apertura: tenda bianca che entra da sinistra e si chiude verso destra ===== */
.loading-animate {
  display: block !important;
  position: fixed;
  z-index: 9999;
  inset: 0;
  width: 100%;
  height: 100vh;
  background-color: var(--white);
  transform-origin: 100% 50%;
  animation:
    wf-load-in 0.53s cubic-bezier(0.645, 0.045, 0.355, 1) forwards,
    wf-load-out 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.53s forwards;
}
@keyframes wf-load-in {
  from { transform: translateX(-100%); }
  to { transform: translateX(0); }
}
@keyframes wf-load-out {
  from { transform: scaleX(1); }
  to { transform: scaleX(0); }
}

/* ===== Fascia sponsor: scorrimento automatico continuo ===== */
.images-brand-infinite-move.wf-marquee {
  margin-left: 0 !important;
  will-change: transform;
  animation: wf-marquee var(--wf-dur, 60s) linear infinite;
}
.images-brand-infinite-move.wf-marquee.opposite {
  animation-name: wf-marquee-opposite;
}
@keyframes wf-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(calc(var(--wf-shift, 0px) * -1)); }
}
@keyframes wf-marquee-opposite {
  from { transform: translateX(calc(var(--wf-shift, 0px) * -1)); }
  to { transform: translateX(0); }
}

/* Chi preferisce meno movimento: niente tenda, niente scorrimento */
@media (prefers-reduced-motion: reduce) {
  .loading-animate { display: none !important; animation: none !important; }
  .images-brand-infinite-move.wf-marquee { animation: none !important; }
}
