/*=========================================
      UPLOAD BUKTI PEMBAYARAN
      PART 1
==========================================*/

.section{
    padding:60px 20px;
    background:#f4f7fb;
    min-height:100vh;
}

.container{
    max-width:900px;
    margin:auto;
}

/*========================*/

.upload-card{

    background:#fff;

    border-radius:22px;

    padding:40px;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

    border:1px solid #ececec;

    transition:.35s;

}

.upload-card:hover{

    transform:translateY(-4px);

    box-shadow:0 25px 50px rgba(0,0,0,.12);

}

/*========================*/

.upload-card h2{

    display:flex;

    align-items:center;

    gap:12px;

    color:#2563eb;

    font-size:30px;

    margin-bottom:20px;

}

.upload-card h2 i{

    font-size:34px;

}

.upload-card hr{

    border:none;

    border-top:1px solid #ececec;

    margin:25px 0;

}

/*========================*/

.invoice-info{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:20px;

    margin-bottom:30px;

}

.invoice-info div{

    background:#fafafa;

    border:1px solid #eee;

    border-radius:15px;

    padding:20px;

    transition:.3s;

}

.invoice-info div:hover{

    background:#f3f8ff;

    border-color:#2563eb;

}

.invoice-info label{

    display:block;

    color:#777;

    font-size:13px;

    margin-bottom:8px;

    text-transform:uppercase;

    letter-spacing:.5px;

}

.invoice-info h3{

    color:#2563eb;

    font-size:24px;

}

.invoice-info h4{

    font-size:18px;

    color:#222;

}

/*========================*/

.payment-box{

    background:linear-gradient(135deg,#2563eb,#1d4ed8);

    color:#fff;

    text-align:center;

    padding:35px;

    border-radius:18px;

    margin-bottom:35px;

    position:relative;

    overflow:hidden;

}

.payment-box::before{

    content:"";

    position:absolute;

    width:220px;

    height:220px;

    border-radius:50%;

    background:rgba(255,255,255,.08);

    right:-90px;

    top:-90px;

}

.payment-box img{

    width:140px;

    margin:auto;

    margin-bottom:18px;

    display:block;

    background:#fff;

    border-radius:14px;

    padding:10px;

}

.payment-box h3{

    font-size:28px;

    letter-spacing:1px;

    margin-bottom:10px;

}

.payment-box p{

    font-size:16px;

    opacity:.95;

}

/*========================*/

.copy-btn{

    margin-top:20px;

    border:none;

    background:#fff;

    color:#2563eb;

    padding:13px 25px;

    border-radius:12px;

    cursor:pointer;

    font-weight:700;

    transition:.3s;

}

.copy-btn:hover{

    transform:translateY(-3px);

    box-shadow:0 12px 30px rgba(0,0,0,.18);

}

/*========================*/

.upload-area{

    border:3px dashed #2563eb;

    border-radius:20px;

    padding:50px 30px;

    text-align:center;

    cursor:pointer;

    transition:.35s;

    background:#fbfdff;

    position:relative;

}

.upload-area:hover{

    background:#eef5ff;

}

.upload-area input{

    display:none;

}

.upload-area label{

    cursor:pointer;

    display:block;

}

.upload-area i{

    font-size:70px;

    color:#2563eb;

    margin-bottom:15px;

}

.upload-area h3{

    color:#222;

    margin-bottom:8px;

    font-size:25px;

}

.upload-area p{

    color:#777;

    font-size:15px;

}

/*=========================================
      UPLOAD BUKTI PEMBAYARAN
      PART 2
==========================================*/

/* PREVIEW */

.preview-img{

    display:block;

    width:100%;

    max-width:420px;

    margin:30px auto;

    border-radius:18px;

    border:4px solid #fff;

    box-shadow:0 15px 35px rgba(0,0,0,.15);

    transition:.35s;

    object-fit:cover;

}

.preview-img:hover{

    transform:scale(1.03);

}

/*========================*/

.button-group{

    display:flex;

    justify-content:flex-end;

    gap:15px;

    margin-top:35px;

}

/*========================*/

.btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    text-decoration:none;

    border:none;

    padding:14px 28px;

    border-radius:12px;

    font-size:15px;

    font-weight:600;

    cursor:pointer;

    transition:.3s;

    position:relative;

    overflow:hidden;

}

/*========================*/

.btn::after{

    content:"";

    position:absolute;

    left:-120%;

    top:0;

    width:100%;

    height:100%;

    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.35),
        transparent
    );

    transition:.6s;

}

.btn:hover::after{

    left:120%;

}

/*========================*/

.btn-success{

    background:linear-gradient(
        135deg,
        #10b981,
        #059669
    );

    color:#fff;

}

.btn-success:hover{

    transform:translateY(-3px);

    box-shadow:0 15px 30px rgba(16,185,129,.30);

}

/*========================*/

.btn-secondary{

    background:#f3f4f6;

    color:#444;

}

.btn-secondary:hover{

    background:#e5e7eb;

    transform:translateY(-3px);

}

/*========================*/

input[type=file]{

    display:none;

}

/*========================*/

.upload-area.active{

    border-color:#10b981;

    background:#ecfdf5;

}

/*========================*/

.upload-area i{

    transition:.35s;

}

.upload-area:hover i{

    transform:translateY(-5px);

}

/*========================*/

.upload-area h3{

    transition:.3s;

}

.upload-area:hover h3{

    color:#2563eb;

}

/*========================*/

.copy-btn{

    position:relative;

    overflow:hidden;

}

.copy-btn::after{

    content:"";

    position:absolute;

    left:-120%;

    top:0;

    width:100%;

    height:100%;

    background:linear-gradient(
        90deg,
        transparent,
        rgba(37,99,235,.15),
        transparent
    );

    transition:.6s;

}

.copy-btn:hover::after{

    left:120%;

}

/*========================*/

.upload-card{

    animation:fadeUpload .45s ease;

}

@keyframes fadeUpload{

    from{

        opacity:0;

        transform:translateY(25px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/*========================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-thumb{

    background:#2563eb;

    border-radius:20px;

}

::-webkit-scrollbar-track{

    background:#f3f3f3;

}

/*========================*/

::selection{

    background:#2563eb;

    color:#fff;

}

/*========================*/

@media(max-width:992px){

.invoice-info{

grid-template-columns:1fr;

}

.button-group{

justify-content:center;

}

}

/*========================*/

@media(max-width:768px){

.section{

padding:25px 12px;

}

.upload-card{

padding:25px;

}

.upload-card h2{

font-size:24px;

}

.payment-box{

padding:25px;

}

.payment-box h3{

font-size:22px;

}

.payment-box img{

width:110px;

}

.upload-area{

padding:35px 20px;

}

.upload-area i{

font-size:55px;

}

.upload-area h3{

font-size:20px;

}

.button-group{

flex-direction:column;

}

.btn{

width:100%;

}

}

/*========================*/

@media(max-width:480px){

.invoice-info div{

padding:15px;

}

.invoice-info h3{

font-size:20px;

}

.invoice-info h4{

font-size:16px;

}

.copy-btn{

width:100%;

}

.preview-img{

max-width:100%;

}

}

/*=========================================
      UPLOAD BUKTI PEMBAYARAN
      PART 3 (FINAL)
==========================================*/

/* GLASS EFFECT */

.upload-card{

    position:relative;

    overflow:hidden;

    backdrop-filter:blur(10px);

}

/*========================*/

.upload-card::before{

    content:"";

    position:absolute;

    width:260px;

    height:260px;

    border-radius:50%;

    background:rgba(37,99,235,.05);

    top:-120px;

    right:-120px;

}

.upload-card::after{

    content:"";

    position:absolute;

    width:220px;

    height:220px;

    border-radius:50%;

    background:rgba(16,185,129,.05);

    bottom:-110px;

    left:-110px;

}

/*========================*/

.upload-card>*{

    position:relative;

    z-index:2;

}

/*========================*/

.invoice-info div{

    border:1px solid transparent;

}

.invoice-info div:hover{

    transform:translateY(-4px);

    box-shadow:0 12px 28px rgba(37,99,235,.12);

}

/*========================*/

.payment-box{

    transition:.35s;

}

.payment-box:hover{

    transform:translateY(-4px);

    box-shadow:0 20px 40px rgba(37,99,235,.30);

}

/*========================*/

.payment-box img{

    transition:.35s;

}

.payment-box img:hover{

    transform:scale(1.08);

}

/*========================*/

.copy-btn{

    font-size:15px;

    font-weight:700;

}

.copy-btn:hover{

    background:#eff6ff;

}

/*========================*/

.upload-area{

    position:relative;

}

.upload-area::before{

    content:"";

    position:absolute;

    inset:0;

    border-radius:18px;

    background:linear-gradient(
        135deg,
        rgba(37,99,235,.03),
        rgba(16,185,129,.03)
    );

    opacity:0;

    transition:.35s;

}

.upload-area:hover::before{

    opacity:1;

}

.upload-area>*{

    position:relative;

    z-index:2;

}

/*========================*/

.preview-img{

    background:#fff;

    padding:6px;

}

/*========================*/

.button-group{

    align-items:center;

}

/*========================*/

.btn{

    min-width:170px;

    letter-spacing:.3px;

}

.btn:active{

    transform:scale(.98);

}

/*========================*/

.btn-success{

    box-shadow:0 10px 25px rgba(16,185,129,.20);

}

.btn-secondary{

    box-shadow:0 10px 25px rgba(0,0,0,.08);

}

/*========================*/

.upload-area.dragover{

    border-color:#10b981;

    background:#ecfdf5;

}

/*========================*/

.upload-area.dragover i{

    color:#10b981;

}

/*========================*/

.payment-box h3{

    word-break:break-all;

}

/*========================*/

.invoice-info h3{

    word-break:break-word;

}

/*========================*/

@media(max-width:768px){

.payment-box{

padding:22px;

}

.payment-box h3{

font-size:20px;

}

.payment-box p{

font-size:14px;

}

.upload-card{

border-radius:18px;

}

}

/*========================*/

@media(max-width:480px){

.upload-card{

padding:18px;

}

.upload-card h2{

font-size:22px;

}

.upload-card h2 i{

font-size:28px;

}

.payment-box img{

width:90px;

}

.upload-area{

padding:28px 15px;

}

.upload-area h3{

font-size:18px;

}

.upload-area p{

font-size:13px;

}

.btn{

width:100%;

min-width:unset;

}

}

/*========================*/
/* PRINT */
/*========================*/

@media print{

body{

background:#fff;

}

.upload-card{

box-shadow:none;

border:1px solid #ddd;

}

.upload-card::before,
.upload-card::after{

display:none;

}

.upload-area,
.button-group{

display:none;

}

.preview-img{

display:none !important;

}

.payment-box{

background:#fff !important;

color:#000 !important;

border:2px solid #000;

box-shadow:none;

}

.payment-box h3,
.payment-box p{

color:#000;

}

}

/*========================*/

img{

max-width:100%;

display:block;

}

*{

box-sizing:border-box;

}

/*========================*/
/* END */
/*========================*/