/* ==========================================
WTW PAYMENT PORTAL
========================================== */

*{
    box-sizing:border-box;
}

/* ==========================================
PAGE
========================================== */

.wtw-payment-page{
    background:#f8fafc;
    min-height:100vh;
}

/* ==========================================
HERO
========================================== */

.wtw-payment-hero{

    position:relative;

    text-align:center;

    padding:100px 20px 120px;

    background:linear-gradient(
        180deg,
        #f8f4ff 0%,
        #ffffff 100%
    );

    overflow:hidden;
}

/* Decorative circles */

.wtw-payment-hero::before{

    content:'';

    position:absolute;

    width:350px;
    height:350px;

    border-radius:50%;

    background:rgba(127,53,178,.05);

    top:-120px;
    right:-120px;
}

.wtw-payment-hero::after{

    content:'';

    position:absolute;

    width:280px;
    height:280px;

    border-radius:50%;

    background:rgba(127,53,178,.05);

    bottom:-140px;
    left:-140px;
}

.wtw-payment-hero img{

    width:320px;
    max-width:80%;

    margin-bottom:40px;

    position:relative;
    z-index:2;
}

.wtw-payment-hero h1{

    font-size:64px;

    font-weight:700;

    color:#0f172a;

    margin:0 0 25px;

    position:relative;
    z-index:2;
}

.wtw-payment-hero p{

    font-size:22px;

    line-height:1.8;

    color:#64748b;

    max-width:700px;

    margin:0 auto;

    position:relative;
    z-index:2;
}

/* ==========================================
FEATURE ROW
========================================== */

.wtw-feature-row{

    margin-top:60px;

    display:flex;

    justify-content:center;

    flex-wrap:wrap;

    gap:50px;

    position:relative;
    z-index:2;
}

.wtw-feature-item{

    display:flex;

    align-items:center;

    gap:10px;

    color:#64748b;

    font-size:15px;

    font-weight:500;
}

/* ==========================================
PAYMENT CARD
========================================== */

.wtw-payment-card{

    max-width:1100px;

    margin:-70px auto 60px;

    position:relative;
    z-index:5;

    background:#fff;

    border-radius:24px;

    padding:50px;

    box-shadow:
        0 20px 60px rgba(15,23,42,.08);
}

/* ==========================================
HEADER
========================================== */

.wtw-payment-header{
    margin-bottom:40px;
}

.wtw-payment-header h2{
    margin:0 0 10px;
    font-size:48px;
    color:#0f172a;
}

.wtw-payment-header p{
    color:#64748b;
    margin:0;
}

/* ==========================================
FORM GRID
========================================== */

.wtw-payment-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:50px;

    align-items:start;
}

.wtw-payment-grid > div:first-child{

    padding-right:40px;

    border-right:1px solid #e5e7eb;
}

/* ==========================================
FORM GROUPS
========================================== */

.wtw-form-group{
    margin-bottom:22px;
}

.wtw-form-group label{

    display:block;

    margin-bottom:8px;

    font-size:14px;

    font-weight:600;

    color:#334155;
}

.wtw-form-group input,
.wtw-form-group select{

    width:100%;

    padding:15px 18px;

    border:1px solid #dbe2ea;

    border-radius:12px;

    background:#fff;

    font-size:15px;

    transition:.2s ease;
}

.wtw-form-group input:focus,
.wtw-form-group select:focus{

    outline:none;

    border-color:#7f35b2;

    box-shadow:
        0 0 0 4px rgba(127,53,178,.12);
}

/* ==========================================
SECURITY MESSAGE
========================================== */

.wtw-payment-security{

    margin:25px 0;

    padding:18px;

    border-radius:12px;

    background:#f8fafc;

    border:1px solid #e2e8f0;

    color:#64748b;

    font-size:14px;
}

/* ==========================================
BUTTON
========================================== */

.wtw-payment-card button{

    width:100%;

    padding:18px;

    border:none;

    border-radius:12px;

    background:linear-gradient(
        90deg,
        #7f35b2,
        #9345d0
    );

    color:#fff;

    font-size:16px;

    font-weight:700;

    cursor:pointer;

    transition:.25s ease;
}

.wtw-payment-card button:hover{

    transform:translateY(-2px);

    box-shadow:
        0 12px 30px rgba(127,53,178,.25);
}

/* ==========================================
SECURITY BOX
========================================== */

.wtw-security-box{

    max-width:1100px;

    margin:0 auto 60px;

    background:#faf7ff;

    border:1px solid #e9d9f7;

    border-radius:20px;

    padding:30px 40px;
}

.wtw-security-box h3{

    margin:0 0 10px;

    color:#5e2590;
}

.wtw-security-box p{

    margin:0;

    color:#64748b;

    line-height:1.8;
}

.wtw-security-content{

    text-align:center;

}

/* ==========================================
FOOTER
========================================== */

.wtw-footer{

    text-align:center;

    padding:50px 20px;

    border-top:1px solid #e5e7eb;
}

.wtw-footer img{

    width:160px !important;

    max-width:160px !important;

    height:auto;
}

.wtw-footer p{

    color:#64748b;

    margin:0;
}

/* ==========================================
MOBILE
========================================== */

@media (max-width: 768px){

    .wtw-payment-hero{
        padding:60px 20px;
    }

    .wtw-payment-hero h1{
        font-size:36px;
    }

    .wtw-payment-hero p{
        font-size:16px;
    }

    .wtw-payment-card{
        margin:20px;
        padding:30px;
    }

    .wtw-payment-grid{
        grid-template-columns:1fr;
        gap:20px;
    }

    .wtw-payment-header h2{
        font-size:32px;
    }

    .wtw-security-box{
        margin:20px;
        padding:25px;
    }
}