/* =========================================================
   Goals Soccer — standard team carousel
   Native horizontal scrolling + scroll snap.
   ========================================================= */
.team-carousel{width:calc(100% - 2rem);max-width:var(--carousel-max-width,1200px);margin:3rem auto;box-sizing:border-box}.team-carousel*,.team-carousel *::before,.team-carousel *::after{box-sizing:border-box}.team-carousel ol,.team-carousel li{list-style:none;margin:0;padding:0}
.team-carousel__header{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:1.5rem}.team-carousel__header-copy{min-width:0;max-width:760px}.team-carousel__heading{margin:0}.team-carousel__intro{margin-top:.55rem;color:#444;line-height:1.55}.team-carousel__intro>:first-child{margin-top:0}.team-carousel__intro>:last-child{margin-bottom:0}
.team-carousel__controls{flex:0 0 auto;display:flex;align-items:center;gap:.55rem}.team-carousel__button{appearance:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid #2f65bf;border-radius:50%;background:#fff;color:#2f65bf;font:inherit;font-size:1.05rem;font-weight:700;line-height:1;cursor:pointer;transition:background-color .18s ease,color .18s ease,border-color .18s ease,opacity .18s ease,transform .18s ease}.team-carousel__button:hover:not(:disabled){background:#2f65bf;border-color:#2f65bf;color:#fff;transform:translateY(-1px)}.team-carousel__button:focus-visible{outline:3px solid rgba(47,101,191,.25);outline-offset:2px}.team-carousel__button:disabled{opacity:.3;cursor:default;transform:none}
.team-carousel__viewport{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.team-carousel__viewport::-webkit-scrollbar{display:none}.team-carousel__viewport:focus-visible{outline:3px solid rgba(47,101,191,.2);outline-offset:4px;border-radius:14px}.team-carousel__track{display:flex;align-items:stretch;gap:1.25rem}.team-carousel__slide{flex:0 0 calc((100% - 2.5rem)/3);min-width:0;scroll-snap-align:start;scroll-snap-stop:normal}
.team-carousel-card{display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden;border:1px solid #dedede;border-radius:14px;background:#fff;box-shadow:0 6px 22px rgba(0,0,0,.035)}.team-carousel-card__image-link{display:block;overflow:hidden;background:#eee}.team-carousel-card__image{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .2s ease}.team-carousel-card__image-link:hover .team-carousel-card__image{transform:scale(1.015)}
.team-carousel-card__footer{display:block;flex:1 1 auto;padding:1rem 1.1rem 0.3rem}.team-carousel-card__name{width:100%;margin:0 0 .8rem;font-size:1rem;line-height:1.25}.team-carousel-card__name a{display:block;color:#222;text-decoration:none}.team-carousel-card__name a:hover{color:#2f65bf;text-decoration:underline;text-underline-offset:.15em}.team-carousel-card__lower{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.team-carousel-card__copy{flex:1 1 auto;min-width:0}
.team-carousel-card__details{display:grid;gap:.55rem;margin:0}.team-carousel-card__detail{display:block;color:#444;font-size:.9rem;line-height:1.35}.team-carousel-card__detail-label{display:block;margin-bottom:.12rem;color:#333;font-weight:700}.team-carousel-card__detail-value{display:block;color:#111}
.team-carousel-card__sponsors{display:grid;gap:.55rem;margin-top:.8rem}.team-carousel-card__sponsor{display:block}.team-carousel-card__sponsor-label{display:block;color:#333;font-size:.62rem;font-weight:700;line-height:1.2;text-transform:uppercase;letter-spacing:.04em}.team-carousel-card__sponsor-name{display:block;margin-top:.1rem;color:#111;font-size:.84rem;line-height:1.3}
.team-carousel-card__sponsor-logos{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:.65rem;width:84px}.team-carousel-card__sponsor-logo-link{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:82px;height:82px;padding:.5rem;overflow:hidden;}.team-carousel-card__sponsor-logo-link:hover{transform:translateY(-1px);border-color:#ddd;box-shadow:0 5px 14px rgba(0,0,0,.07)}.team-carousel-card__sponsor-logo{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.team-carousel__footer{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;margin-top:1rem}.team-carousel__dots{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:12px}.team-carousel__dot{appearance:none;flex:0 0 auto;width:9px;height:9px;padding:0;margin:0;border:0;border-radius:50%;background:#d5d8dd;cursor:pointer;transition:width .18s ease,height .18s ease,background-color .18s ease,transform .18s ease}.team-carousel__dot:hover{background:#9dacbf;transform:scale(1.12)}.team-carousel__dot.is-active{width:11px;height:11px;background:#2f65bf}.team-carousel__dot:focus-visible{outline:3px solid rgba(47,101,191,.25);outline-offset:3px}.team-carousel__sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.team-carousel__empty{margin:1rem 0 0}
@media(max-width:900px){.team-carousel__slide{flex-basis:calc((100% - 1.25rem)/2)}}
@media(max-width:600px){.team-carousel{width:calc(100% - 2rem);margin:2.25rem auto}.team-carousel__header{align-items:flex-start;flex-wrap:wrap;gap:1rem}.team-carousel__header-copy{flex:1 1 100%}.team-carousel__controls{width:100%;justify-content:flex-end}.team-carousel__slide{flex-basis:100%}}
@media(max-width:430px){.team-carousel__button{width:40px;height:40px}.team-carousel-card__footer{padding:.9rem}.team-carousel-card__lower{gap:.7rem}.team-carousel-card__sponsor-logos{width:74px;gap:.5rem}.team-carousel-card__sponsor-logo-link{width:72px;height:72px;padding:.4rem}}
@media(max-width:360px){.team-carousel-card__lower{gap:.55rem}.team-carousel-card__sponsor-logos{width:66px}.team-carousel-card__sponsor-logo-link{width:64px;height:64px}}
@media(prefers-reduced-motion:reduce){.team-carousel__viewport{scroll-behavior:auto}.team-carousel-card__image,.team-carousel-card__sponsor-logo-link{transition:none}}
