body:has(.popUp[style*='display: block']) {
    overflow: hidden;
}
.popUp {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(var(--color-rgb-black), 0.7);
    z-index: 1030;
    display: none;
    overflow-y: hidden;
}
.popUp .popUpBox {
    background-color: var(--color-gray-15);
    box-shadow: 0px 0px 20px rgba(var(--color-rgb-black), 0.5);
    border-radius: 20px;
    width: calc(100% - 32px);
    max-height: 90vh;
    overflow-y: auto;
    padding: 32px 24px 20px;
    box-sizing: border-box;
    position: fixed;
    left: 16px;
    top: calc(50% - 240px);
}
.popUp#changePassword .popUpBox {
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
}
.popUp .popUpBox content,
.popUp .popUpBox .popUpBoxContent {
    margin-bottom: 32px;
    display: block;
    text-align: center;
}
/* 避免有的popup尚未改到，先將兩個class都保留 */
.popUp .popUpBox h1,
.popUp .popUpBox .title {
    /* font-size: 22px;
    line-height: 31px;
    margin-bottom: 20px; */
    font-weight: normal;
    font-size: 24px;
    line-height: 35px;
    margin-bottom: 16px;
    color: var(--color-white);
}
.popUp .popUpBox h2,
.popUp .popUpBox .subTitle {
    font-size: 22px;
    font-weight: normal;
    margin-bottom: 22px;
}
.popUp .popUpBox p {
    font-size: 15px;
    line-height: 23px;
    color: var(--color-white);
}
.popUp .popUpBox p > strong {
    color: var(--color-orange-1);
}
.popUp .popUpBox .socialIcon {
    text-align: center;
    margin-top: 16px;
}
.popUp .popUpBox .socialIcon a {
    display: inline-block;
    vertical-align: top;
    margin: 0 15px;
}
.popUp .popUpBox .socialIcon a img {
    width: 52px;
    display: block;
    margin-bottom: 8px;
}
.popUp .popUpBox .alignLeft {
    text-align: left;
}

.popUp .popUpBox .countDown {
    margin-top: 20px;
}

.popUp .popUpBox .countDown .counting {
    color: var(--color-gray-6);
}

.popUp .popUpBox .countDown .counting a {
    color: var(--color-orange-1);
}
/* 步驟 */
.popUp .popUpBox .stepBox {
    display: flex;
    padding: 0 12px;
    margin-top: 32px;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-justify-content: center;
    justify-content: center;
}
.popUp .popUpBox .stepBox .line {
    width: 40px;
    height: 1px;
    background-color: var(--color-white);
    margin-top: 30px;
}
.popUp .popUpBox .step {
    font-size: 14px;
}
.popUp .popUpBox .step * {
    font-size: inherit;
}
.popUp .popUpBox .step .imgWrap {
    width: 60px;
    height: 60px;
    margin: 0 auto 8px;
}
/* 步驟 end*/
.popUp .popUpBox .btnBox {
    text-align: center;
}
.popUp .popUpBox .btn {
    margin-bottom: 8px;
    text-align: center;
}

.popUp .popUpBox .btnBox.btnBoxRwd .btn {
    width: 100%;
    height: 36px;
    line-height: 36px;
    font-size: 15px;
    padding: 0 20px;
    margin: 0 auto 12px;
    min-width: auto;
}

.popUp .popUpBox .btn {
    margin-bottom: 8px;
}

.popUp .popUpBox .btn,
.btnPupUpOpen {
    cursor: pointer;
}
.popUp.static {
    position: static;
    width: auto;
    height: auto;
    background-color: transparent;
    display: block;
}
.popUp.static .popUpBox {
    box-shadow: none;
    position: static;
    margin: 70px auto;
}
.popUp .popUpBox .inputBox input {
    background: #3f3f3f;
    border: 1px solid #4a4a4a;
    box-sizing: border-box;
    border-radius: 25px;
    height: 36px;
    line-height: 36px;
    padding: 0 16px;
    color: var(--color-white);
    width: 100%;
}

.popUp .popUpBox .alignLeft .inputBlock p.notice {
    font-weight: 400;
    font-size: 12px;
    line-height: 18px;
    padding: 0 16px;
    color: var(--color-gray-6);
    margin-top: 4px;
    margin-bottom: 0;
}

.popUp .popUpBox::-webkit-scrollbar {
    width: 4px;
}

.popUp .popUpBox::-webkit-scrollbar-track {
    background: transparent;
}

.popUp .popUpBox::-webkit-scrollbar-thumb {
    background-color: var(--color-gray-4);
    border-radius: 4px;
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
input[type='number'] {
    -moz-appearance: textfield;
}
.popUp .popUpBox .inputBox input:focus {
    outline-style: none;
    border: solid 1px #5a5a5a;
}
.popUp .popUpBox .inputBox input.error {
    border: 1px solid var(--color-warning);
}
.popUp .popUpBox .inputBox .inputError {
    margin-top: 4px;
}
.popUp .popUpBox .inputBox .inputErrorIcon {
    width: 16px;
    height: 16px;
    display: inline-block;
    margin-right: 8px;
    position: relative;
    top: 2px;
    margin-left: 16px;
}
@media screen and (min-width: 768px) {
    .popUp .popUpBox h1,
    .popUp .popUpBox .title {
        font-size: 34px;
        line-height: 49px;
    }
    .popUp .popUpBox content,
    .popUp .popUpBox .popUpBoxContent {
        margin-bottom: 40px;
    }
    .popUp .popUpBox p {
        font-size: 18px;
        line-height: 36px;
    }
    .popUp .popUpBox {
        width: 614px;
        left: calc(50% - 307px);
        padding: 52px 80px; /* 52px 92px */
    }
    .popUp .popUpBox .btnBox.btnBoxRwd .btn {
        width: auto;
        height: 45px;
        font-size: 15px;
        line-height: 45px;
        padding: 0 24px;
        margin: 0 15px;
    }
    .popUp .popUpBox .socialIcon {
        margin-top: 32px;
    }
    .popUp .popUpBox .socialIcon a img {
        width: 60px;
        display: block;
    }
    .popUp .popUpBox .inputBlock h4 {
        padding: 0 16px;
    }
    .popUp .popUpBox .step {
        font-size: 15px;
    }
}
@media screen and (min-width: 1024px) {
    .popUp .popUpBox .title {
        font-size: 34px;
        line-height: 48px;
    }
    .popUp .popUpBox {
        width: 760px;
        left: calc(50% - 380px);
        padding: 56px 130px;
    }
    .popUp .popUpBox content,
    .popUp .popUpBox .popUpBoxContent {
        margin-bottom: 46px;
    }
    .popUp .popUpBox .inputBox input {
        height: 45px;
        line-height: 45px;
        padding: 0 24px;
        color: var(--color-white);
        width: 100%;
    }
    .popUp .popUpBox .inputBlock h4 {
        padding: 0 24px;
    }
    .popUp .popUpBox .alignLeft .inputBlock p.notice {
        padding: 0 24px;
    }
    .popUp .popUpBox h2,
    .popUp .popUpBox .subTitle {
        margin-bottom: 20px;
        font-size: 34px;
    }
    /* .popUp .popUpBox p {
        font-size: 18px;
        line-height: 1.4;
    }     */
    .popUp .popUpBox .btnBox.btnBoxRwd .btn {
        height: 50px;
        line-height: 50px;
        font-size: 18px;
    }
}

/* NEW PopUp */
.popUp.base .popUpBox input,
.popUp.base .popUpBox textarea {
    font-size: initial;
}
.popUp.base .popUpBox {
    width: 288px;
    padding: 32px 24px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    border-radius: 20px;
    text-align: center;
    background-color: var(--color-gray-15);
    -webkit-box-shadow: 0 0 20px rgba(var(--color-rgb-black), 0.5);
    box-shadow: 0 0 20px rgba(var(--color-rgb-black), 0.5);
}
.popUp.base .popUpBox h2,
.popUp.base .popUpBox .title {
    font-size: 24px;
    line-height: 35px;
    font-weight: normal;
    margin-bottom: 16px;
    text-align: center;
}
.popUp.base .popUpBox p {
    font-size: 15px;
    line-height: 23px;
}
.popUp.base .btnBox.orderReverse {
    display: flex;
    flex-wrap: wrap;
}
.popUp.base .btnBox.orderReverse button:first-child {
    order: 5;
}
.popUp.base .popUpBox .inputBlock {
    text-align: left;
    margin-top: 24px;
}
.popUp.base .popUpBox .inputBlock .inputName {
    color: var(--color-gray-7);
    font-weight: normal;
    font-size: 13px;
    line-height: 19px;
    text-align: left;
    padding: 0 24px;
}
.popUp.base .popUpBox .inputBox input {
    width: 100%;
    height: 37px;
    line-height: 37px;
    box-sizing: border-box;
    border-radius: 25px;
    padding: 8px 24px;
    font-size: initial;
    /* font-size: 14px; */
    line-height: 20px;
    font-weight: normal;
    background: var(--color-gray-3);
    border: 1px solid var(--color-gray-3);
    color: var(--color-white);
}
.popUp.base .popUpBox .inputBox input::placeholder {
    color: var(--color-gray-6);
    font-size: 14px;
}
.popUp.base .popUpBox .inputBox input.error {
    border: 1px solid var(--color-warning);
}
.popUp.base .popUpBox .inputBox input.error ~ .inputError {
    font-size: 0;
    padding-left: 19px;
    display: flex;
    align-items: center;
}
.popUp.base .popUpBox .inputBox input.error ~ .inputError i {
    width: 16px;
    height: 16px;
    margin-right: 4px;
    display: flex;
}
.popUp.base .popUpBox .inputBox input.error ~ .inputError i img {
    width: 100%;
    height: auto;
    display: block;
}
.popUp.base .popUpBox .inputBox input.error ~ .inputError span.inputErrorMsg {
    font-weight: normal;
    font-size: 13px;
    line-height: 19px;
    color: var(--color-white);
    display: inline;
}
.popUp.base .popUpBox .countDown {
    margin-top: 20px;
    font-weight: normal;
    font-size: 13px;
    line-height: 20px;
    text-align: center;
}
.popUp.base .popUpBox .countDown p {
    color: var(--color-white);
    font-size: 13px;
    line-height: 20px;
    display: inline;
    margin-right: 8px;
}
.popUp.base .popUpBox .countDown .counting {
    color: var(--color-gray-6);
}
.popUp.base .popUpBox .countDown .counting a {
    color: var(--color-orange-1);
    cursor: pointer;
}
.popUp.base .popUpBox .countDown .counting a:hover {
    color: var(--color-orange-2);
}
@media screen and (min-width: 768px) {
    .popUp.base .popUpBox {
        width: 614px;
        padding: 52px 80px; /* 52px 92px */
    }
    .popUp.base .popUpBox h2,
    .popUp.base .popUpBox .title {
        font-size: 34px;
        line-height: 50px;
        margin-bottom: 20px;
    }
    .popUp.base .popUpBox p {
        font-size: 18px;
        line-height: 36px;
    }
    .popUp.base .btnBox.orderReverse {
        display: block;
    }
    .popUp.base .popUpBox .inputBlock {
        margin-top: 28px;
    }
    .popUp.base .popUpBox .inputBlock .inputName {
        font-size: 15px;
        line-height: 22px;
    }
    .popUp.base .popUpBox .inputBox input {
        height: 46px;
        line-height: 46px;
        padding: 12px 24px;
        font-size: 15px;
        line-height: 22px;
    }
    .popUp.base .popUpBox .inputBox input::placeholder {
        font-size: 15px;
    }
    .popUp.base .popUpBox .inputBox input.error ~ .inputError {
        padding-left: 24px;
    }
    .popUp.base .popUpBox .countDown,
    .popUp.base .popUpBox .countDown p {
        font-size: 15px;
        line-height: 23px;
    }
}
@media screen and (min-width: 1024px) {
    .popUp.base .popUpBox {
        width: 760px;
        padding: 56px 130px;
    }
}

/* 引導頁 */
.popUp.overlay .popUpBox {
    width: 100%;
    height: 100%;
    top: auto;
    left: auto;
    padding: 0;
    position: relative;
    background: var(--color-gray-175);
    overflow-y: auto;
}
.popUp.overlay .popUpBox::before {
    content: '';
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-image: url(../../images/RWD/bg_tvChannel_overlay_s.jpg);
    filter: blur(125px);
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 0;
}
.popUp.overlay .popUpBox::after {
    content: '';
    width: 100%;
    height: 100%;
    background-color: rgba(var(--color-rgb-black), 0.5);
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1;
}
.popUp.overlay .popUpBox .kv {
    width: 100%;
    height: 50%;
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: auto 100%;
    background-image: url(../../images/RWD/bg_tvChannel_overlay_m.png);
    position: fixed;
    z-index: 2;
}
.popUp.overlay .popUpBox .content {
    width: 100%;
    height: 50%;
    box-sizing: border-box;
    position: relative;
    top: 50%;
    z-index: 2;
}
.popUp.overlay .popUpBox .content p {
    font-size: 15px;
    font-weight: 400;
    line-height: 23px;
    padding: 0 24px;
    text-align: center;
    color: var(--color-gray-7);
}
.popUp.overlay .popUpBox .content p.title,
.popUp.overlay .popUpBox .content p.alignLeft {
    font-size: 24px;
    font-weight: 700;
    line-height: 34px;
    color: var(--color-white);
}
.popUp.overlay .popUpBox .content p.title {
    margin-bottom: 8px;
}
.popUp.overlay .popUpBox .content p.alignLeft {
    max-width: 640px;
    text-align: left;
    margin: auto;
}
.popUp.overlay .popUpBox .content .btnBox {
    padding: 48px 0;
}
.popUp.overlay .popUpBox .content .btnBox .btn.size_50_45_36 {
    min-width: 120px;
    margin-bottom: 0;
}
@media screen and (min-width: 768px) {
    .popUp.overlay .popUpBox .content p {
        font-size: 18px;
        line-height: 27px;
        padding: 0 64px;
    }
    .popUp.overlay .popUpBox .content p.title,
    .popUp.overlay .popUpBox .content p.alignLeft {
        font-size: 34px;
        line-height: 48px;
    }
    .popUp.overlay .popUpBox .content .btnBox .btn.size_50_45_36 {
        min-width: 160px;
    }
}
@media screen and (max-height: 700px) and (max-width: 767px), screen and (min-width: 768px) {
    .popUp.overlay .popUpBox .kv {
        background-image: url(../../images/RWD/bg_tvChannel_overlay_l.png);
    }
}
@media screen and (max-height: 850px) and (max-width: 1919px), screen and (min-width: 1920px) {
    .popUp.overlay .popUpBox .kv {
        background-size: cover;
    }
}
@media screen and (max-width: 767px) {
    .popUp.overlay .popUpBox .content .btnBox .btn.size_50_45_36 {
        height: 40px;
    }
}

/* Payment Method */
.popUp.paymentMethod .popUpBox {
    width: calc(100% - 64px);
    max-width: 480px;
    max-height: 90vh;
    overflow-y: auto;
}
.popUp.paymentMethod .popUpBox h2 {
    font-size: 24px;
    line-height: 33.6px;
    margin-bottom: 24px;
}
.popUp.paymentMethod .popUpBox .btnBox .btn {
    margin: auto 10px;
    width: fit-content;
    min-width: 100px;
}
@media screen and (min-width: 768px) {
    .popUp.paymentMethod .popUpBox {
        padding: 40px;
    }
    .popUp.paymentMethod .popUpBox h2 {
        font-size: 34px;
        line-height: 47.6px;
        margin-bottom: 32px;
    }
    .popUp.paymentMethod .popUpBox .btnBox .btn {
        min-width: 108px;
    }
    .popUp.paymentMethod .popUpBox .popUpBoxContent {
        margin-bottom: 32px;
    }
}
@media screen and (min-width: 1200px) {
    .popUp.paymentMethod .popUpBox {
        max-width: 512px;
        padding: 56px;
    }
    .popUp.paymentMethod .popUpBox .btnBox .btn {
        width: 120px;
    }
    .popUp.paymentMethod .popUpBox .popUpBoxContent {
        margin-bottom: 48px;
    }
}

/* Login Hint Popup */
.popUp.loginHint {
    background-color: transparent;
}
.popUp.loginHint .popUpBox {
    width: calc(100% - 32px);
    max-width: 375px;
    max-height: 90vh;
    background: rgba(var(--color-rgb-white), 0.9);
    box-shadow: 20px 20px 4px 0 rgba(var(--color-rgb-black), 0.25);
    backdrop-filter: blur(10px);
    border-radius: 40px;
    padding: 40px 24px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    overflow: auto;
    margin: auto;
}
.popUp.loginHint .popUpBox .popUpBoxContent {
    margin-bottom: 24px;
}
.popUp.loginHint .popUpBox .popUpCloseBtn {
    width: 44px;
    height: 44px;
    position: absolute;
    top: 16px;
    right: 16px;
    border-radius: 50%;
    background: rgba(var(--color-rgb-black), 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.1s ease-out;
    -webkit-transition: all 0.1s ease-out;
    -moz-transition: all 0.1s ease-out;
    -ms-transition: all 0.1s ease-out;
    -o-transition: all 0.1s ease-out;
}
.popUp.loginHint .popUpBox .popUpCloseBtn:hover {
    background: rgba(var(--color-rgb-black), 0.15);
}
.popUp.loginHint .popUpBox .popUpCloseBtn svg {
    width: 24px;
    height: 24px;
    display: flex;
    flex-shrink: 0;
}
.popUp.loginHint .popUpBox .popUpImg {
    height: 120px;
}
.popUp.loginHint .popUpBox .popUpImg svg {
    width: auto;
    height: 100%;
}
.popUp.loginHint .popUpBox p {
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    margin-bottom: 12px;
    color: var(--color-black);
}
.popUp.loginHint .popUpBox .title {
    font-size: 20px;
    font-weight: 700;
    line-height: 28px;
}
.popUp.loginHint .popUpBox .checklist {
    width: fit-content;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    color: var(--color-gray-1);
    margin: auto;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.popUp.loginHint .popUpBox .checklist li {
    text-align: left;
    display: flex;
}
.popUp.loginHint .popUpBox .checklist li::before {
    content: '';
    width: 24px;
    height: 24px;
    background-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%3E%3Cpath%20d%3D%27M21.1768%207.04492L9.74121%2018.4805L2.87988%2011.6191L4.4043%2010.0947L9.74121%2015.4307L19.6514%205.52051L21.1768%207.04492Z%27%20fill%3D%27%23F57600%27/%3E%3C/svg%3E');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    margin-right: 4px;
}
.popUp.loginHint .popUpBox .btnBox {
    display: flex;
    flex-direction: row;
    gap: 12px;
}
.popUp.loginHint .popUpBox .btnBox .btn {
    width: 100%;
    margin: 0;
}
.popUp.loginHint .popUpBox .btnBox .btn.outline {
    border-radius: 50px;
    border: 1px solid var(--color-white);
    background: rgba(var(--color-rgb-gray-2), 0.6);
}
.popUp.loginHint .popUpBox .btnBox .btn.outline:hover {
    color: var(--color-white);
    background: rgba(var(--color-rgb-gray-2), 0.5);
}
@media screen and (min-width: 768px) {
    .popUp.loginHint .popUpBox {
        width: fit-content;
        max-width: 420px;
        padding: 48px 40px;
    }
    .popUp.loginHint .popUpBox .popUpBoxContent {
        margin-bottom: 40px;
    }
    .popUp.loginHint .popUpBox .popUpCloseBtn {
        right: 33px;
    }
    .popUp.loginHint .popUpBox .popUpImg {
        height: 160px;
    }
    .popUp.loginHint .popUpBox .title {
        font-size: 24px;
        line-height: 34px;
    }
    .popUp.loginHint .popUpBox p,
    .popUp.loginHint .popUpBox .checklist {
        font-size: 15px;
        line-height: 21px;
    }
}
