/* Character Swiper CSS Styles - Extracted from Bleach Website */

/* Core Swiper Styles */
.swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
    display: block;
}

.swiper-vertical > .swiper-wrapper {
    flex-direction: column;
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
    box-sizing: content-box;
}

.swiper-android .swiper-slide, .swiper-ios .swiper-slide, .swiper-wrapper {
    transform: translateZ(0px);
}

.swiper-horizontal {
    touch-action: pan-y;
}

.swiper-vertical {
    touch-action: pan-x;
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
    display: block;
}

.swiper-slide-invisible-blank {
    visibility: hidden;
}

.swiper-autoheight, .swiper-autoheight .swiper-slide {
    height: auto;
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
    transform: translateZ(0px);
    backface-visibility: hidden;
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d;
}

.swiper-3d {
    perspective: 1200px;
}

.swiper-3d .swiper-cube-shadow, .swiper-3d .swiper-slide {
    transform-style: preserve-3d;
}

.swiper-css-mode > .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
    display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start;
}

.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
    scroll-snap-type: x mandatory;
}

.swiper-css-mode.swiper-vertical > .swiper-wrapper {
    scroll-snap-type: y mandatory;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
    scroll-snap-type: none;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: none;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
    content: "";
    flex-shrink: 0;
    order: 9999;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: center;
    scroll-snap-stop: always;
}

/* Character-specific Swiper Styles */
#characterCol .swiper {
    width: 100%;
    overflow: visible;
}

#characterCol .swiper .swiper-wrapper {
    transition-timing-function: linear !important;
}

#characterCol .swiper .swiper-wrapper:not([style*="transition-delay"]) {
    transition-duration: 3000ms !important;
}

#characterCol #characterList {
    width: 120%;
    rotate: -7.5deg;
    translate: -10%;
}

#characterCol #characterList li {
    position: relative;
    z-index: 0;
    display: flex;
    flex: 0 0 auto;
    justify-content: center;
    align-items: center;
    flex-flow: row;
    background: rgb(255, 255, 255);
    aspect-ratio: 750 / 500;
    width: 80vw;
    height: auto;
    margin: 0vw 5.33333vw;
}

#characterCol #characterList li a {
    display: block;
    width: 100%;
}

#characterCol #characterList li a .off {
    position: absolute;
    top: 0vw;
    left: 0vw;
    z-index: 0;
    width: 100%;
    height: 100%;
}

#characterCol #characterList li p {
    position: absolute;
    bottom: 0vw;
    right: -6.66667vw;
    height: 20vw;
    translate: 0px 70%;
    filter: invert(100%) sepia(0%) saturate(7488%) hue-rotate(202deg) brightness(104%) contrast(102%);
    mix-blend-mode: difference;
}

#characterCol #characterList li p img {
    object-fit: contain;
    object-position: right center;
    width: 100%;
    height: 100%;
}

#characterCol #characterList li:has(img[src*="img_txt_comingsoon"]) {
    background: rgb(37, 37, 37);
    line-height: 1;
}

#characterCol #characterList li:has(img[src*="img_txt_comingsoon"]) span {
    width: 34.6667vw;
}

/* Animation classes */
[data-anime] {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.6s ease;
}

[data-anime].s {
    opacity: 1;
    transform: translateY(0);
}

[data-anime="imgCoverWhite"] {
    transform: scale(0.9);
}

[data-anime="imgCoverWhite"].s {
    transform: scale(1);
}

/* Swiper notification for accessibility */
.swiper-notification {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    opacity: 0;
    z-index: -1000;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    #characterCol #characterList li {
        width: 90vw;
        margin: 0vw 2.5vw;
    }
    
    #characterCol #characterList li p {
        height: 15vw;
        right: -5vw;
    }
}

@media (max-width: 480px) {
    #characterCol #characterList li {
        width: 95vw;
        margin: 0vw 1.25vw;
    }
    
    #characterCol #characterList li p {
        height: 12vw;
        right: -3vw;
    }
}

