/**
 * 東方淨水 - 滿版視差滾動效果
 */

/* Wrapper */
.parallax-wrapper {
    position: relative;
    height: 300vh;
}

/* Container */
.parallax-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    background-color: #ffffff;
}

.parallax-container.is-fixed {
    position: fixed;
    top: 0;
}

.parallax-container.is-bottom {
    position: absolute;
    top: auto;
    bottom: 0;
}

.parallax-container.is-mobile {
    height: 50vh;
}

.parallax-wrapper:has(.is-mobile) {
    height: 50vh;
}

/* Content Scaler */
.parallax-content-scaler {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform-origin: center top;
    z-index: 10;
    pointer-events: none;
}

.parallax-content-scaler>* {
    pointer-events: auto;
}

/* Background */
.parallax-bg1,
.parallax-bg2 {
    position: absolute;
    left: 0;
    width: 100%;
    will-change: opacity, transform;
}

.parallax-bg1 {
    top: 0;
    opacity: 1;
    z-index: 1;
}

.parallax-bg1 img {
    width: 100%;
    height: auto;
    display: block;
    min-height: 100vh;
    object-fit: cover;
}

.parallax-bg2 {
    top: 0;
    opacity: 0;
    z-index: 2;
}

.parallax-bg2 img {
    width: 100%;
    height: auto;
    display: block;
    min-height: 100vh;
    object-fit: cover;
}

.parallax-container.is-mobile .parallax-bg1 img,
.parallax-container.is-mobile .parallax-bg2 img {
    min-height: 50vh;
}

/* Cup */
.parallax-cup {
    position: absolute;
    left: 18vw;
    bottom: 10vh;
    width: 25vw;
    opacity: 1;
    transform-origin: 30px 100%;
    transform: scale(0.18);
    will-change: transform;
    z-index: 5;
}

.parallax-cup img {
    width: 100%;
    height: auto;
    display: block;
}

/* Word1 */
.parallax-word1 {
    position: absolute;
    top: 15%;
    right: 8vw;
    width: 35vw;
    opacity: 0;
    transform: translateX(120px);
    will-change: opacity, transform;
    z-index: 20;
}

.parallax-word1 img {
    width: 100%;
    height: auto;
    display: block;
}

/* Product */
.parallax-product {
    position: absolute;
    right: 8vw;
    bottom: 5%;
    width: 33vw;
    opacity: 0;
    transform: translateX(120px);
    will-change: opacity, transform;
    z-index: 20;
}

.parallax-product img {
    width: 100%;
    height: auto;
    display: block;
}

/* Word2 */
.parallax-word2 {
    position: absolute;
    top: 42%;
    right: 8vw;
    width: 32vw;
    opacity: 0;
    transform: translateX(120px);
    will-change: opacity, transform;
    z-index: 20;
}

.parallax-word2 img {
    width: 100%;
    height: auto;
    display: block;
}

/* Tablet */
@media screen and (max-width: 1024px) {
    .parallax-cup {
        left: 15vw;
        bottom: 8vh;
        width: 32vw;
        transform: scale(0.16);
    }

    .parallax-word1 {
        top: 12%;
        right: 5vw;
        width: 42vw;
    }

    .parallax-product {
        right: 5vw;
        bottom: 8%;
        width: 28vw;
    }

    .parallax-word2 {
        top: 40%;
        right: 5vw;
        width: 22vw;
    }
}

/* Mobile Landscape */
@media screen and (max-width: 768px) {
    .parallax-cup {
        left: 10vw;
        bottom: 6vh;
        width: 29vw;
        transform: scale(0.15);
    }

    .parallax-word1 {
        top: 10%;
        right: 4vw;
        width: 48vw;
    }

    .parallax-product {
        right: 4vw;
        bottom: 10%;
        width: 37vw;
    }

    .parallax-word2 {
        top: 38%;
        right: 4vw;
        width: 26vw;
    }
}

/* Mobile Portrait */
@media screen and (max-width: 480px) {
    .parallax-cup {
        left: 5vw;
        bottom: 7vh;
        width: 35vw;
        transform: scale(0.14);
    }

    .parallax-word1 {
        top: 12%;
        right: 5vw;
        width: 55vw;
    }

    .parallax-product {
        right: 2vw;
        bottom: 5%;
        width: 52vw;
    }

    .parallax-word2 {
        top: 40%;
        right: 3vw;
        width: 60vw;
    }
}

/* Animation Complete */
.parallax-container.animation-complete .parallax-bg1 {
    opacity: 0;
}

.parallax-container.animation-complete .parallax-bg2 {
    opacity: 1;
}

.parallax-container.animation-complete .parallax-cup {
    transform: scale(0.8);
}

.parallax-container.animation-complete .parallax-word1,
.parallax-container.animation-complete .parallax-product,
.parallax-container.animation-complete .parallax-word2 {
    opacity: 1;
    transform: translateX(0);
}

/* No JS Fallback */
.no-js .parallax-wrapper {
    height: auto;
}

.no-js .parallax-container {
    position: relative;
}

.no-js .parallax-container .parallax-bg1 {
    opacity: 0;
}

.no-js .parallax-container .parallax-bg2 {
    opacity: 1;
}

.no-js .parallax-container .parallax-cup {
    transform: scale(0.8);
}

.no-js .parallax-container .parallax-word1,
.no-js .parallax-container .parallax-product,
.no-js .parallax-container .parallax-word2 {
    opacity: 1;
    transform: none;
}