.elementor-3784 .elementor-element.elementor-element-d0a95cb{--display:flex;--margin-top:-40px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}@media(max-width:1024px){.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}}@media(max-width:767px){.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}}/* Start custom CSS for text-editor, class: .elementor-element-5c7a8aa */```css
.jf-pay-page,
.jf-pay-page *{
    box-sizing:border-box;
}

.jf-pay-page{
    position:relative;
    width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    overflow:hidden;
    padding:30px;
    font-family:"Noto Sans TC","Microsoft JhengHei",Arial,sans-serif;
    color:#32104f;
    background:
        radial-gradient(circle at 18% 10%, rgba(235,207,255,.95) 0%, rgba(255,255,255,0) 36%),
        radial-gradient(circle at 88% 18%, rgba(255,215,242,.95) 0%, rgba(255,255,255,0) 34%),
        linear-gradient(180deg,#fff 0%,#fff7ff 48%,#f7efff 100%);
}

.jf-pay-bg{
    position:absolute;
    border-radius:999px;
    pointer-events:none;
    filter:blur(8px);
    opacity:.8;
}

.jf-pay-bg-1{
    width:420px;
    height:420px;
    left:-160px;
    top:180px;
    background:rgba(204,146,255,.35);
}

.jf-pay-bg-2{
    width:520px;
    height:520px;
    right:-220px;
    bottom:120px;
    background:rgba(255,179,230,.38);
}

.jf-pay-container{
    position:relative;
    z-index:2;
    width:min(1180px,100%);
    margin:0 auto;
}

/* HERO */
.jf-pay-hero{
    position:relative;
    overflow:hidden;
    padding:58px 56px;
    border:1px solid rgba(190,130,255,.38);
    border-radius:15px;
    background:
        linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,244,252,.88)),
        radial-gradient(circle at 85% 20%,rgba(203,145,255,.45),transparent 40%);
    box-shadow:
        0 28px 80px rgba(98,36,132,.16),
        inset 0 1px 0 rgba(255,255,255,.9);
}

.jf-pay-hero:before{
    content:"";
    position:absolute;
    inset:-2px;
    background:
        radial-gradient(circle at 86% 18%,rgba(211,150,255,.55),transparent 28%),
        radial-gradient(circle at 12% 92%,rgba(255,190,235,.45),transparent 30%);
    pointer-events:none;
}

.jf-pay-kicker,
.jf-pay-section-head span,
.jf-pay-cta span{
    position:relative;
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:16px;
    padding:8px 16px;
    border-radius:15px;
    font-size:13px;
    font-weight:800;
    letter-spacing:.08em;
    color:#7b2dcc;
    background:linear-gradient(135deg,#fff,#f7e8ff);
    border:1px solid rgba(179,105,255,.35);
    box-shadow:0 8px 24px rgba(129,57,188,.12);
}

.jf-pay-hero h1{
    position:relative;
    margin:0;
    max-width:820px;
    font-size:clamp(34px,5vw,62px);
    line-height:1.14;
    font-weight:950;
    letter-spacing:-.04em;
    color:#35105a;
    text-shadow:0 8px 22px rgba(92,30,130,.12);
}

.jf-pay-hero p{
    position:relative;
    max-width:790px;
    margin:22px 0 0;
    font-size:18px;
    line-height:1.9;
    color:#67407d;
}

.jf-pay-hero-tags{
    position:relative;
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:30px;
}

.jf-pay-hero-tags span{
    display:inline-flex;
    padding:10px 16px;
    border-radius:15px;
    font-size:14px;
    font-weight:800;
    color:#4a176d;
    background:rgba(255,255,255,.74);
    border:1px solid rgba(202,145,255,.38);
    box-shadow:0 10px 24px rgba(112,46,150,.10);
}

/* CARDS */
.jf-pay-grid{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:24px;
    margin-top:28px;
}

.jf-pay-card{
    display:flex;
    gap:20px;
    padding:32px;
    border-radius:15px;
    background:rgba(255,255,255,.82);
    border:1px solid rgba(203,153,255,.38);
    box-shadow:0 22px 60px rgba(102,45,145,.12);
    backdrop-filter:blur(12px);
}

.jf-pay-card-main{
    grid-row:span 2;
    background:
        linear-gradient(145deg,rgba(255,255,255,.92),rgba(255,240,251,.88)),
        radial-gradient(circle at 90% 10%,rgba(205,148,255,.36),transparent 36%);
}

.jf-pay-icon{
    flex:0 0 56px;
    width:56px;
    height:56px;
    display:grid;
    place-items:center;
    border-radius:12px;
    font-size:26px;
    background:linear-gradient(135deg,#f3d8ff,#ffd7ef);
    box-shadow:
        0 14px 28px rgba(132,63,180,.18),
        inset 0 1px 0 rgba(255,255,255,.8);
}

.jf-pay-label{
    display:block;
    margin-bottom:8px;
    font-size:12px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#a33be0;
}

.jf-pay-card h2{
    margin:0 0 14px;
    font-size:26px;
    line-height:1.3;
    color:#35105a;
    font-weight:950;
}

.jf-pay-card p{
    margin:0;
    font-size:16px;
    line-height:1.85;
    color:#67407d;
}

.jf-pay-card ul{
    display:grid;
    gap:10px;
    margin:20px 0 0;
    padding:0;
    list-style:none;
}

.jf-pay-card li{
    position:relative;
    padding-left:26px;
    font-size:15px;
    line-height:1.65;
    color:#492066;
}

.jf-pay-card li:before{
    content:"";
    position:absolute;
    left:0;
    top:.55em;
    width:12px;
    height:12px;
    border-radius:50%;
    background:linear-gradient(135deg,#b45cff,#ff9dd8);
    box-shadow:0 0 0 5px rgba(190,112,255,.12);
}

/* SECTION */
.jf-pay-section{
    margin-top:28px;
    padding:44px;
    border-radius:15px;
    background:
        linear-gradient(135deg,rgba(255,255,255,.88),rgba(253,241,255,.9)),
        radial-gradient(circle at 10% 10%,rgba(255,205,238,.45),transparent 34%);
    border:1px solid rgba(203,153,255,.38);
    box-shadow:0 24px 70px rgba(102,45,145,.12);
}

.jf-pay-section-head h2,
.jf-pay-cta h2{
    margin:0;
    font-size:clamp(28px,4vw,44px);
    line-height:1.25;
    color:#35105a;
    font-weight:950;
    letter-spacing:-.03em;
}

.jf-pay-section-head p,
.jf-pay-cta p{
    max-width:780px;
    margin:16px 0 0;
    font-size:17px;
    line-height:1.9;
    color:#67407d;
}

.jf-pay-check-list{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
    margin-top:30px;
}

.jf-pay-check-list div{
    position:relative;
    padding:18px 18px 18px 46px;
    border-radius:12px;
    font-size:15px;
    font-weight:800;
    color:#47205f;
    background:rgba(255,255,255,.72);
    border:1px solid rgba(204,145,255,.32);
    box-shadow:0 12px 30px rgba(120,55,160,.08);
}

.jf-pay-check-list div:before{
    content:"✓";
    position:absolute;
    left:18px;
    top:17px;
    width:20px;
    height:20px;
    display:grid;
    place-items:center;
    border-radius:50%;
    font-size:13px;
    color:#fff;
    background:linear-gradient(135deg,#9b42e8,#ff91cf);
}

/* FLOW */
.jf-pay-flow{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
    margin-top:28px;
}

.jf-pay-flow-card{
    position:relative;
    overflow:hidden;
    padding:28px 24px;
    border-radius:15px;
    background:rgba(255,255,255,.82);
    border:1px solid rgba(203,153,255,.36);
    box-shadow:0 18px 46px rgba(102,45,145,.10);
}

.jf-pay-flow-card:after{
    content:"";
    position:absolute;
    right:-44px;
    top:-44px;
    width:110px;
    height:110px;
    border-radius:50%;
    background:rgba(220,170,255,.28);
}

.jf-pay-flow-card b{
    position:relative;
    z-index:2;
    display:block;
    margin-bottom:18px;
    font-size:34px;
    line-height:1;
    color:#b35cff;
    font-weight:950;
}

.jf-pay-flow-card h3{
    position:relative;
    z-index:2;
    margin:0 0 10px;
    font-size:21px;
    color:#35105a;
    font-weight:950;
}

.jf-pay-flow-card p{
    position:relative;
    z-index:2;
    margin:0;
    font-size:15px;
    line-height:1.75;
    color:#67407d;
}

/* CTA */
.jf-pay-cta{
    margin-top:28px;
    padding:54px;
    text-align:center;
    border-radius:15px;
    background:
        radial-gradient(circle at 50% 0%,rgba(255,255,255,.92),rgba(255,255,255,0) 45%),
        linear-gradient(135deg,#f3d8ff 0%,#ffe5f5 48%,#f7efff 100%);
    border:1px solid rgba(196,130,255,.45);
    box-shadow:
        0 28px 80px rgba(102,45,145,.16),
        inset 0 1px 0 rgba(255,255,255,.85);
}

.jf-pay-cta p{
    margin-left:auto;
    margin-right:auto;
}

.jf-pay-cta-btns{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:14px;
    margin-top:30px;
}

.jf-pay-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:150px;
    min-height:48px;
    padding:13px 24px;
    border-radius:15px;
    font-size:15px;
    font-weight:900;
    text-decoration:none;
    transition:.25s ease;
}

.jf-pay-btn-main{
    color:#fff;
    background:linear-gradient(135deg,#7b2dcc,#b35cff 46%,#ff8fd2);
    box-shadow:0 16px 34px rgba(132,63,180,.28);
}

.jf-pay-btn-light{
    color:#4b176d;
    background:rgba(255,255,255,.78);
    border:1px solid rgba(171,93,235,.38);
    box-shadow:0 12px 26px rgba(132,63,180,.12);
}

.jf-pay-btn:hover{
    transform:translateY(-3px);
    filter:saturate(1.08);
}

/* RWD */
@media (max-width:1024px){
    .jf-pay-grid{
        grid-template-columns:1fr;
    }

    .jf-pay-card-main{
        grid-row:auto;
    }

    .jf-pay-check-list{
        grid-template-columns:repeat(2,1fr);
    }

    .jf-pay-flow{
        grid-template-columns:repeat(2,1fr);
    }
}

@media (max-width:640px){
    .jf-pay-page{
        padding:26px 14px;
    }

    .jf-pay-hero{
        padding:34px 22px;
        border-radius:15px;
    }

    .jf-pay-hero p{
        font-size:16px;
        line-height:1.8;
    }

    .jf-pay-hero-tags{
        gap:8px;
    }

    .jf-pay-hero-tags span{
        padding:9px 12px;
        border-radius:12px;
        font-size:13px;
    }

    .jf-pay-card{
        flex-direction:column;
        padding:24px;
        border-radius:15px;
    }

    .jf-pay-card h2{
        font-size:23px;
    }

    .jf-pay-section{
        padding:28px 22px;
        border-radius:15px;
    }

    .jf-pay-check-list{
        grid-template-columns:1fr;
    }

    .jf-pay-flow{
        grid-template-columns:1fr;
    }

    .jf-pay-cta{
        padding:36px 22px;
        border-radius:15px;
    }

    .jf-pay-btn{
        width:100%;
        border-radius:15px;
    }
}
```/* End custom CSS */