@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Poppins',sans-serif;
}

html{
    scroll-behavior:smooth;
}

body{
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    flex-direction:column;
    overflow-x:hidden;
    overflow-y:auto;
    position:relative;
    color:#fff;
    background:
    radial-gradient(circle at top,#3d1779 0%,#1a1040 35%,#0d1228 70%,#060915 100%);
}

/* Background */

#stars,
#meteors{
    position:fixed;
    inset:0;
    pointer-events:none;
}

#stars{
    z-index:0;
}

#meteors{
    z-index:1;
}

/* Card */

.container{
    position:relative;
    z-index:10;

    width:92%;
    max-width:430px;

    margin:40px 0;

    padding:35px 30px;

    border-radius:28px;

    background:rgba(255,255,255,.08);

    backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.12);

    box-shadow:
    0 0 40px rgba(140,90,255,.35),
    inset 0 0 30px rgba(255,255,255,.04);

    text-align:center;
}

/* Badge */

.badge{

    display:inline-block;

    padding:8px 18px;

    border-radius:999px;

    background:rgba(255,255,255,.1);

    border:1px solid rgba(255,255,255,.1);

    margin-bottom:18px;

    font-size:14px;

}

/* Title */

h1{

    font-size:34px;

    margin-bottom:12px;

    font-weight:700;

}

.subtitle{

    font-size:14px;

    line-height:1.8;

    opacity:.82;

    margin-bottom:30px;

}

/* QR */

.qris-box{

    width:240px;

    height:240px;

    margin:auto;

    padding:12px;

    background:#fff;

    border-radius:22px;

    overflow:hidden;

    box-shadow:
    0 0 30px rgba(157,108,255,.7);

}

.qris-box img{

    width:100%;

    height:100%;

    object-fit:contain;

}

.nominal{

    margin-top:18px;

    font-size:15px;

    font-weight:600;

}

/* Buttons */

.buttons{

    display:flex;

    gap:12px;

    margin-top:25px;

}

.btn{

    flex:1;

    text-decoration:none;

    padding:14px;

    border-radius:14px;

    color:white;

    font-weight:600;

    transition:.35s;

}

.primary{

    background:#8c5bff;

}

.secondary{

    background:rgba(255,255,255,.12);

}

.donate{

    display:inline-block;

    margin-top:18px;

    padding:15px 28px;

    background:linear-gradient(90deg,#ff4fa3,#8b5cff);

    border-radius:14px;

    color:white;

    text-decoration:none;

    font-weight:700;

    box-shadow:0 0 22px rgba(255,79,163,.45);

}

.btn:hover{

    transform:translateY(-4px);

    box-shadow:0 0 22px rgba(140,91,255,.6);

}

/* Info */

.info{

    margin-top:35px;

    display:flex;

    flex-direction:column;

    gap:14px;

}

.item{

    display:flex;

    align-items:center;

    gap:12px;

    padding:14px;

    border-radius:16px;

    background:rgba(255,255,255,.05);

}

.item span{

    font-size:22px;

}

.item p{

    text-align:left;

    font-size:14px;

    opacity:.85;

}

/* Donate */

.alt-donate{

    margin-top:35px;

    padding-top:25px;

    border-top:1px solid rgba(255,255,255,.12);

}

.alt-donate h2{

    font-size:20px;

    margin-bottom:10px;

}

.alt-donate p{

    opacity:.8;

    line-height:1.7;

}

/* Footer */

footer{

    margin:15px 0 35px;

    color:#c9c9c9;

    opacity:.65;

    font-size:13px;

    text-align:center;

}

/* Stars */

.star{

    position:absolute;

    border-radius:50%;

    background:white;

    animation:twinkle infinite alternate;

}

@keyframes twinkle{

    from{

        opacity:.15;

        transform:scale(.8);

    }

    to{

        opacity:1;

        transform:scale(1.5);

    }

}

/* Meteor */

.meteor{

    position:absolute;

    width:3px;

    height:140px;

    border-radius:999px;

    background:
    linear-gradient(
        to bottom,
        rgba(255,255,255,0),
        rgba(255,255,255,.3),
        #fff
    );

    filter:
    drop-shadow(0 0 8px white)
    drop-shadow(0 0 20px #8d5cff);

    transform:rotate(35deg);

    animation:meteor linear forwards;

}

@keyframes meteor{

    from{

        transform:
        translate(0,-150px)
        rotate(35deg);

        opacity:1;

    }

    to{

        transform:
        translate(-700px,1100px)
        rotate(35deg);

        opacity:0;

    }

}

/* Mobile */

@media(max-width:480px){

.container{

padding:28px 22px;

}

h1{

font-size:28px;

}

.qris-box{

width:200px;

height:200px;

}

.buttons{

flex-direction:column;

}

  }
.donate-buttons{
    display:flex;
    flex-direction:column;
    gap:12px;
    margin-top:18px;
}

.saweria{
    background:linear-gradient(90deg,#ffb347,#ff7b00);
    box-shadow:0 0 22px rgba(255,153,0,.45);
}

.saweria:hover{
    background:linear-gradient(90deg,#ffc56d,#ff8c00);
}
