/* FCGT Sponsors — affichage homogène des logos, quelle que soit leur taille source */
.fcgt-sponsors-carousel{width:100%;overflow:hidden;position:relative;padding:8px 0;--fcgt-gap:18px}
.fcgt-sponsors-track{display:flex;gap:var(--fcgt-gap);width:max-content;animation:fcgtSponsorsScroll var(--fcgt-speed,28s) linear infinite;will-change:transform}
.fcgt-sponsors-carousel.fcgt-pause-hover:hover .fcgt-sponsors-track{animation-play-state:paused}

.fcgt-sponsor-item{
  width:calc((min(1180px,100vw - 40px) - (var(--fcgt-desktop) - 1)*var(--fcgt-gap))/var(--fcgt-desktop));
  height:125px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;
  padding:18px;border:1px solid #e5e7eb;border-radius:22px;background:#fff;
  box-shadow:0 10px 30px rgba(15,23,42,.055);text-decoration:none!important;
  transition:transform .2s ease,box-shadow .2s ease;box-sizing:border-box;
}
.fcgt-sponsor-item:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(15,23,42,.09)}

/* Zone identique pour chaque logo : le fichier source peut être grand, petit, carré ou horizontal. */
.fcgt-sponsor-logo-frame{
  width:100%;height:82px;display:flex;align-items:center;justify-content:center;
  overflow:hidden;box-sizing:border-box;
}
.fcgt-sponsor-logo-frame img{
  display:block;width:100%;height:100%;max-width:180px;max-height:82px;
  object-fit:contain;object-position:center;margin:auto;
}
.fcgt-sponsor-name{font-weight:850;color:#061a3d;text-align:center;line-height:1.25}

.fcgt-sponsors-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.fcgt-sponsors-grid .fcgt-sponsor-item{width:auto;min-width:0}

@keyframes fcgtSponsorsScroll{from{transform:translateX(0)}to{transform:translateX(calc(-50% - (var(--fcgt-gap)/2)))}}

@media(max-width:900px){
  .fcgt-sponsor-item{width:calc((100vw - 40px - (var(--fcgt-tablet) - 1)*var(--fcgt-gap))/var(--fcgt-tablet))}
  .fcgt-sponsors-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:640px){
  .fcgt-sponsors-carousel{--fcgt-gap:10px}
  .fcgt-sponsor-item{width:calc((100vw - 28px - (var(--fcgt-mobile) - 1)*var(--fcgt-gap))/var(--fcgt-mobile));height:105px;padding:12px;border-radius:18px}
  .fcgt-sponsor-logo-frame{height:68px}
  .fcgt-sponsor-logo-frame img{max-width:145px;max-height:68px}
  .fcgt-sponsors-grid{grid-template-columns:repeat(2,1fr);gap:10px}
}
@media(prefers-reduced-motion:reduce){
  .fcgt-sponsors-track{animation:none}
  .fcgt-sponsors-carousel{overflow-x:auto;scroll-snap-type:x proximity}
  .fcgt-sponsor-item{scroll-snap-align:start}
}
