:root,
:host {
    --van-popup-background: var(--van-background-2);
    --van-popup-transition: transform var(--van-duration-base);
    --van-popup-round-radius: 4.10256vw;
    --van-popup-close-icon-size: 5.64103vw;
    --van-popup-close-icon-color: var(--van-gray-5);
    --van-popup-close-icon-margin: 4.10256vw;
    --van-popup-close-icon-z-index: 1
}

.van-overflow-hidden {
    overflow: hidden !important
}

.van-popup {
    position: fixed;
    max-height: 100%;
    overflow-y: auto;
    box-sizing: border-box;
    background: var(--van-popup-background);
    transition: var(--van-popup-transition);
    -webkit-overflow-scrolling: touch
}

.van-popup--center {
    top: 50%;
    left: 0;
    right: 0;
    width: -webkit-fit-content;
    width: fit-content;
    max-width: calc(100vw - var(--van-padding-md) * 2);
    margin: 0 auto;
    transform: translateY(-50%)
}

.van-popup--center.van-popup--round {
    border-radius: var(--van-popup-round-radius)
}

.van-popup--top {
    top: 0;
    left: 0;
    width: 100%
}

.van-popup--top.van-popup--round {
    border-radius: 0 0 var(--van-popup-round-radius) var(--van-popup-round-radius)
}

.van-popup--right {
    top: 50%;
    right: 0;
    transform: translate3d(0, -50%, 0)
}

.van-popup--right.van-popup--round {
    border-radius: var(--van-popup-round-radius) 0 0 var(--van-popup-round-radius)
}

.van-popup--bottom {
    bottom: 0;
    left: 0;
    width: 100%
}

.van-popup--bottom.van-popup--round {
    border-radius: var(--van-popup-round-radius) var(--van-popup-round-radius) 0 0
}

.van-popup--left {
    top: 50%;
    left: 0;
    transform: translate3d(0, -50%, 0)
}

.van-popup--left.van-popup--round {
    border-radius: 0 var(--van-popup-round-radius) var(--van-popup-round-radius) 0
}

.van-popup-slide-top-enter-active,
.van-popup-slide-left-enter-active,
.van-popup-slide-right-enter-active,
.van-popup-slide-bottom-enter-active {
    transition-timing-function: var(--van-ease-out)
}

.van-popup-slide-top-leave-active,
.van-popup-slide-left-leave-active,
.van-popup-slide-right-leave-active,
.van-popup-slide-bottom-leave-active {
    transition-timing-function: var(--van-ease-in)
}

.van-popup-slide-top-enter-from,
.van-popup-slide-top-leave-active {
    transform: translate3d(0, -100%, 0)
}

.van-popup-slide-right-enter-from,
.van-popup-slide-right-leave-active {
    transform: translate3d(100%, -50%, 0)
}

.van-popup-slide-bottom-enter-from,
.van-popup-slide-bottom-leave-active {
    transform: translate3d(0, 100%, 0)
}

.van-popup-slide-left-enter-from,
.van-popup-slide-left-leave-active {
    transform: translate3d(-100%, -50%, 0)
}

.van-popup__close-icon {
    position: absolute;
    z-index: var(--van-popup-close-icon-z-index);
    color: var(--van-popup-close-icon-color);
    font-size: var(--van-popup-close-icon-size)
}

.van-popup__close-icon--top-left {
    top: var(--van-popup-close-icon-margin);
    left: var(--van-popup-close-icon-margin)
}

.van-popup__close-icon--top-right {
    top: var(--van-popup-close-icon-margin);
    right: var(--van-popup-close-icon-margin)
}

.van-popup__close-icon--bottom-left {
    bottom: var(--van-popup-close-icon-margin);
    left: var(--van-popup-close-icon-margin)
}

.van-popup__close-icon--bottom-right {
    right: var(--van-popup-close-icon-margin);
    bottom: var(--van-popup-close-icon-margin)
}