/* Carrossel 3D, automático e infinito */
.genre-controls{justify-content:center;align-items:center;margin-bottom:4px}
.autoplay-toggle{min-width:128px;height:42px;padding:0 15px;border:1px solid rgba(244,216,137,.35);border-radius:999px;background:rgba(7,11,20,.72);color:#fff;font:700 10px Inter,Arial,sans-serif;letter-spacing:.04em;cursor:pointer}
.autoplay-toggle:hover,.autoplay-toggle:focus-visible{border-color:var(--gold);outline:none}
.carousel-status{min-height:18px;margin:8px 0 0;text-align:center;color:#8895a5;font-size:10px}
.genre-track{height:510px;position:relative;overflow:hidden;padding:0;perspective:1300px;scroll-snap-type:none;touch-action:pan-y;cursor:grab}
.genre-track:active{cursor:grabbing}
.genre-card{width:min(330px,72vw);height:430px;position:absolute;top:50%;left:50%;margin:0;transform:translate(-50%,-50%) translateX(calc(var(--offset) * 67%)) translateZ(calc(var(--distance) * -80px)) rotateY(calc(var(--offset) * -7deg)) scale(calc(1 - var(--distance) * .075));opacity:calc(1 - var(--distance) * .14);filter:brightness(calc(1 - var(--distance) * .08));transition:transform .7s cubic-bezier(.2,.75,.2,1),opacity .55s ease,filter .55s ease,border-color .4s ease;will-change:transform;pointer-events:auto}
.genre-card.is-active{border-color:rgba(244,216,137,.72);box-shadow:0 35px 90px rgba(0,0,0,.58),0 0 35px rgba(22,119,255,.15);filter:none}
.genre-card:hover{transform:translate(-50%,-50%) translateX(calc(var(--offset) * 67%)) translateZ(calc(var(--distance) * -80px)) rotateY(calc(var(--offset) * -7deg)) scale(calc(1 - var(--distance) * .075));box-shadow:0 25px 65px rgba(0,0,0,.48)}
.genre-card.is-active:hover{transform:translate(-50%,-50%) scale(1.025)}
@media(max-width:700px){.genre-track{height:480px}.genre-card{width:min(310px,76vw);height:410px;transform:translate(-50%,-50%) translateX(calc(var(--offset) * 58%)) translateZ(calc(var(--distance) * -70px)) rotateY(calc(var(--offset) * -6deg)) scale(calc(1 - var(--distance) * .085))}.genre-card:hover{transform:translate(-50%,-50%) translateX(calc(var(--offset) * 58%)) translateZ(calc(var(--distance) * -70px)) rotateY(calc(var(--offset) * -6deg)) scale(calc(1 - var(--distance) * .085))}}
@media(max-width:420px){.genre-track{height:455px}.genre-card{width:78vw;height:390px}.autoplay-toggle{min-width:112px;padding:0 10px}.slider-btn{width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){.genre-card{transition:none!important}.autoplay-toggle{display:none}}
