/* Caselle Sponsor Manager — grafica rossonera Piano Gare */
.csm,.csm *{box-sizing:border-box}
.csm{width:100%;padding:25px 0;overflow:hidden;color:#fff;background:radial-gradient(circle at center,#171717 0%,#0b0b0b 45%,#050505 100%);border-top:1px solid rgba(227,6,19,.25);border-bottom:1px solid rgba(227,6,19,.25);font-family:Arial,Helvetica,sans-serif}
.csm-title{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:22px;color:#fff;font-size:13px;font-weight:700;letter-spacing:3px;text-transform:uppercase;text-align:center}
.csm-title:before,.csm-title:after{content:"";width:70px;height:1px;flex:none;background:linear-gradient(to right,transparent,#e30613)}
.csm-title:after{background:linear-gradient(to left,transparent,#e30613)}
.csm-viewport{position:relative;width:100%;overflow:hidden;padding:10px 0 18px}
.csm-viewport:before,.csm-viewport:after{content:"";position:absolute;top:0;bottom:0;width:180px;z-index:2;pointer-events:none}
.csm-viewport:before{left:0;background:linear-gradient(to right,#050505,rgba(5,5,5,.9) 20%,transparent)}
.csm-viewport:after{right:0;background:linear-gradient(to left,#050505,rgba(5,5,5,.9) 20%,transparent)}
.csm-track{display:flex;width:max-content;animation:csm-scroll var(--csm-duration,40s) linear infinite;will-change:transform}
.csm:not(.csm-ready) .csm-track{animation:none}
.csm-set{display:flex;flex:none;gap:30px;padding-right:30px}
.csm-item{position:relative;flex:0 0 300px;width:300px;height:85px;padding:7px;border-radius:12px;background:linear-gradient(145deg,#1c1c1c,#0b0b0b);border:1px solid rgba(255,255,255,.12);box-shadow:0 8px 25px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.05);overflow:hidden;transition:border-color .3s,box-shadow .3s}
.csm-item:before{content:"";position:absolute;top:0;left:15%;width:70%;height:2px;background:#e30613;opacity:.7;box-shadow:0 0 10px rgba(227,6,19,.7);pointer-events:none}
.csm-item:hover{border-color:#e30613;box-shadow:0 10px 35px rgba(0,0,0,.8),0 0 25px rgba(227,6,19,.35)}
.csm-item a{display:flex;width:100%;height:100%;align-items:center;justify-content:center}
.csm-item img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}
.csm:hover .csm-track,.csm:focus-within .csm-track{animation-play-state:paused}
.csm-bottom-line{width:100%;height:1px;margin-top:5px;background:linear-gradient(to right,transparent,rgba(227,6,19,.7),transparent)}
@keyframes csm-scroll{to{transform:translate3d(-50%,0,0)}}
@media(max-width:1000px){.csm-item{width:260px;flex-basis:260px;height:78px}.csm-set{gap:24px;padding-right:24px}.csm-title{font-size:11px;letter-spacing:2px}.csm-viewport:before,.csm-viewport:after{width:100px}}
@media(max-width:600px){.csm{padding:18px 0}.csm-title{gap:10px;margin-bottom:15px;font-size:9px;letter-spacing:1.5px}.csm-title:before,.csm-title:after{width:35px}.csm-item{width:220px;flex-basis:220px;height:70px;padding:5px;border-radius:10px}.csm-set{gap:20px;padding-right:20px}.csm-viewport:before,.csm-viewport:after{width:60px}}
@media(prefers-reduced-motion:reduce){.csm-track{animation:none!important}.csm-viewport{overflow-x:auto}.csm-set[aria-hidden=true]{display:none}}

/* Sponsor Wall: layout statico, indipendente dal rotore */
.csm.csm-wall{background:transparent;border:0;overflow:visible;padding:18px 0}
.csm-wall .csm-wall-main{display:flex;justify-content:center;margin:0 auto 24px}
.csm-wall .csm-wall-main .csm-item{width:min(100%,520px);height:auto;aspect-ratio:3.2/1;flex:none}
.csm-wall .csm-wall-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;width:100%;align-items:stretch}
.csm-wall .csm-wall-grid .csm-item{width:100%;height:auto;aspect-ratio:3.2/1;min-width:0;flex:none;padding:4px;border-radius:5px}
.csm-wall .csm-item img{object-fit:contain}
@media(max-width:900px){.csm-wall .csm-wall-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
@media(max-width:480px){.csm-wall .csm-wall-grid{gap:7px}.csm-wall .csm-wall-grid .csm-item{padding:2px}.csm-wall .csm-wall-main .csm-item{width:min(100%,420px)}}
