.visual-carousel,.movie-carousel { position:relative; width:100%!important; max-width:1180px!important; margin-inline:auto!important; padding:34px 54px!important; box-sizing:border-box; overflow:hidden!important; cursor:grab; touch-action:pan-y; user-select:none; }
.visual-carousel.is-dragging,.movie-carousel.is-dragging { cursor:grabbing; }
.visual-carousel-track,.movie-carousel-track { display:flex!important; flex-flow:row nowrap!important; align-items:stretch!important; gap:18px!important; width:100%!important; max-width:none!important; margin:0!important; padding:0!important; transform:translate3d(0,0,0); transition:transform .9s cubic-bezier(.22,1,.36,1); will-change:transform; }
.visual-carousel-track>* ,.movie-carousel-track>* { flex:0 0 calc((100% - 36px)/3)!important; width:calc((100% - 36px)/3)!important; min-width:calc((100% - 36px)/3)!important; max-width:calc((100% - 36px)/3)!important; box-sizing:border-box!important; margin:0!important; padding:0!important; }
.visual-carousel-track figure { width:100%!important; margin:0!important; }
.visual-carousel-track a,.movie-carousel-track a { display:block!important; width:100%!important; height:100%!important; color:inherit; text-decoration:none; }
.visual-carousel-track img,.movie-carousel-track img { display:block!important; width:100%!important; height:auto!important; aspect-ratio:16/9; object-fit:cover; margin:0!important; background:#fff; -webkit-user-drag:none; user-select:none; transition:transform .4s,opacity .4s; }
.watamono-carousel-contain .visual-carousel-track img { object-fit:contain; }
.carousel-prev,.carousel-next { position:absolute; top:34px; bottom:34px; z-index:30; width:38px; margin:0; padding:0; border:0; background:transparent; font-size:0; cursor:pointer; opacity:.34; transition:opacity .25s,transform .25s; }
.carousel-prev{left:8px}.carousel-next{right:8px}
.carousel-prev::before,.carousel-prev::after,.carousel-next::before,.carousel-next::after { content:""; position:absolute; left:50%; width:4px; height:52%; border-radius:999px; transform-origin:center; }
.carousel-prev::before,.carousel-next::before { top:0; background:linear-gradient(to top,#111 0%,rgba(17,17,17,.95) 35%,rgba(17,17,17,.65) 70%,rgba(17,17,17,.08) 100%); clip-path:polygon(30% 0,70% 0,100% 100%,0 100%); }
.carousel-prev::after,.carousel-next::after { bottom:0; background:linear-gradient(to bottom,#111 0%,rgba(17,17,17,.95) 35%,rgba(17,17,17,.65) 70%,rgba(17,17,17,.08) 100%); clip-path:polygon(0 0,100% 0,70% 100%,30% 100%); }
.carousel-prev::before{transform:translateX(-50%) rotate(10deg)}.carousel-prev::after{transform:translateX(-50%) rotate(-10deg)}
.carousel-next::before{transform:translateX(-50%) rotate(-10deg)}.carousel-next::after{transform:translateX(-50%) rotate(10deg)}
.carousel-prev:hover,.carousel-next:hover{opacity:.9}.carousel-prev:hover{transform:translateX(-2px)}.carousel-next:hover{transform:translateX(2px)}
@media (hover:hover) and (pointer:fine){.visual-carousel-track a:hover img,.movie-carousel-track a:hover img{transform:scale(1.012);opacity:.92}}

@media (max-width: 1024px) {
    .visual-carousel,.movie-carousel { max-width:900px!important; padding:28px 48px!important; }
    .visual-carousel-track,.movie-carousel-track { gap:16px!important; }
    .visual-carousel-track>*,.movie-carousel-track>* { flex-basis:calc((100% - 16px)/2)!important; width:calc((100% - 16px)/2)!important; min-width:calc((100% - 16px)/2)!important; max-width:calc((100% - 16px)/2)!important; }
    .carousel-prev,.carousel-next { top:28px; bottom:28px; width:32px; }
}

@media (max-width: 767px) {
    .visual-carousel,.movie-carousel { max-width:none!important; padding:22px!important; }
    .visual-carousel-track,.movie-carousel-track { gap:12px!important; }
    .visual-carousel-track>*,.movie-carousel-track>* { flex-basis:82%!important; width:82%!important; min-width:82%!important; max-width:82%!important; }
    .carousel-prev,.carousel-next { display:none; }
}
