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

body{
    background:
        radial-gradient(circle at top,#14233f 0%,#0f1115 45%);
    color:#fff;
}

/* ==========================
   NAVBAR
========================== */
.navbar{
    height:70px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:0 20px;
    background:#171a21;
    border-bottom:1px solid #2c2f36;
    position:sticky;

    top:0;

    backdrop-filter:blur(15px);

    z-index:100;
}

.logo{
    display:flex;
    align-items:center;
    gap:12px;
}

.logo img{
    width:80px;
    height:80px;
    object-fit:contain;
}

.logo-text h2{
    font-size:22px;
    margin:0;
    color:#fff;
}

.logo-text span{
    font-size:11px;
    color:#8a95a5;
    letter-spacing:1px;
}

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

.hero{
    min-height:70vh;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    padding:20px;
}

.hero h1{
    font-size:34px;
    margin-bottom:15px;
    text-shadow:0 0 25px rgba(0,217,255,.3);
}

.hero p{
    color:#c7c7c7;
    margin-bottom:30px;
}

.hero-btn{
    padding:15px 35px;
    border:none;
    border-radius:12px;
    background:#00d9ff;
    color:#111;
    font-size:18px;
    font-weight:bold;
    cursor:pointer;
    transition:.3s;
    box-shadow:0 0 20px rgba(0,217,255,.35);
}

.hero-btn:hover{
    transform:scale(1.05);
}

.hero-btn:disabled{
    opacity:.45;
    cursor:not-allowed;
}

/* ==========================
   ACCOUNT SECTION
========================== */

.account-section{
    width:90%;
    max-width:500px;
    margin:40px auto;
}

.section-title{
    display:flex;
    align-items:center;
    margin-bottom:15px;
    background:#1a1d24;
    border-radius:12px 12px 0 0;
}

.step-number{
    width:55px;
    height:55px;
    background:#00d9ff;
    color:#111;
    font-weight:bold;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    border-radius:12px 0 0 0;
}

.section-title h2{
    margin-left:15px;
    font-size:20px;
}

.account-card{
    background:#171a21;
    padding:20px;
    border-radius:0 0 12px 12px;
    border:1px solid #2c2f36;
}

.input-group{
    margin-bottom:20px;
}

.input-group label{
    display:block;
    margin-bottom:8px;
    font-size:15px;
}

.input-group input{
    width:100%;
    padding:14px;
    border:none;
    border-radius:10px;
    background:#0f1115;
    color:#fff;
    border:1px solid #333;
}

.info-box{
    background:#1d2735;
    border-left:4px solid #00d9ff;
    padding:15px;
    border-radius:8px;
    color:#b8c7d9;
    font-size:14px;
}

/* ==========================
   VOUCHER
========================== */

.voucher-section{
    width:90%;
    max-width:500px;
    margin:40px auto;
}

.voucher-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:15px;
}

.voucher-card{
    background:#171a21;
    border:1px solid #2c2f36;
    border-radius:16px;
    padding:18px;
    cursor:pointer;
    transition:.25s;
}

.voucher-card:hover{
    border:1px solid #00d9ff;
    transform:translateY(-4px);
}

.voucher-card h3{
    font-size:18px;
    margin-bottom:10px;
}

.voucher-card p{
    color:#999;
    margin-bottom:15px;
}

.voucher-card span{

    color:#00d9ff;

    font-weight:bold;

    font-size:18px;
}

.voucher-card.active{

    border:2px solid #00d9ff;

    background:#1a2233;

    box-shadow:0 0 20px rgba(0,217,255,.35);

}

.voucher-card:active{

    transform:scale(.96);

}

/* ==========================
   PAYMENT
========================== */
.payment-section{
    width:90%;
    max-width:500px;
    margin:40px auto;
}

.payment-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:15px;
}

.payment-card{
    background:#171a21;
    border:1px solid #2c2f36;
    border-radius:14px;
    padding:18px;
    text-align:center;
    cursor:pointer;
    transition:.3s;
    font-weight:600;
}

.payment-card:hover{
    border:1px solid #00d9ff;
    transform:translateY(-3px);
}

.payment-card.active{
    border:2px solid #00d9ff;
    background:#1a2233;
    box-shadow:0 0 20px rgba(0,217,255,.35);
}

/* ==========================
   CHECKOUT
========================== */

.checkout-bar{
    position:fixed;
    bottom:0;
    left:0;
    width:100%;
    background:#171a21;
    padding:15px 20px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    border-top:1px solid #2c2f36;
}

.checkout-bar button{
    background:#00d9ff;
    color:#111;
    border:none;
    padding:14px 22px;
    border-radius:12px;
    font-weight:bold;
}

/* ==========================
   ORDER SUMMARY
========================== */

.summary-section{
    width:90%;
    max-width:500px;
    margin:40px auto 120px;
}

.summary-card{
    background:#171a21;
    border:1px solid #2c2f36;
    border-radius:16px;
    padding:20px;
}

.summary-row{
    display:flex;
    justify-content:space-between;
    padding:12px 0;
    border-bottom:1px solid #2c2f36;
}

.summary-row:last-child{
    border-bottom:none;
}

.total{
    font-size:20px;
    font-weight:bold;
    color:#00d9ff;
}

.checkout-bar button:disabled{

    opacity:.4;

    cursor:not-allowed;

}

/* ==========================
   MODAL
========================== */

.modal{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.7);
    display:none;
    justify-content:center;
    align-items:center;
    z-index:999;
}

.modal.active{
    display:flex;
}

.modal-content{
    width:90%;
    max-width:420px;
    background:#171a21;
    border-radius:18px;
    padding:24px;
    border:1px solid #2c2f36;
}

.modal-row{
    display:flex;
    justify-content:space-between;
    padding:12px 0;
    border-bottom:1px solid #2c2f36;
}

.modal-buttons{
    display:flex;
    gap:12px;
    margin-top:20px;
}

.modal-buttons button{
    flex:1;
    padding:14px;
    border:none;
    border-radius:12px;
    cursor:pointer;
}

#continueBtn{
    background:#00d9ff;
    color:#111;
    font-weight:bold;
}

/* STEP SECTION */

.steps-section{
    width:90%;
    max-width:900px;
    margin:50px auto;
    text-align:center;
}

.steps-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:20px;
    margin-top:25px;
}

.step-card{
    background:#171a21;
    border:1px solid #2c2f36;
    border-radius:16px;
    padding:25px;
    transition:.3s;
}

.step-card:hover{
    transform:translateY(-5px);
    border-color:#00d9ff;
}

.step-icon{
    font-size:42px;
    margin-bottom:15px;
}

/* ==========================
   TOAST
========================== */
.toast{
    position:fixed;
    top:20px;
    left:50%;
    transform:translateX(-50%) translateY(-30px);
    background:#171a21;
    color:#fff;
    padding:14px 22px;
    border-radius:12px;
    border:1px solid #00d9ff;
    opacity:0;
    pointer-events:none;
    transition:.3s;
    z-index:1000;
    box-shadow:0 8px 20px rgba(0,0,0,.35);
}

.toast.show{
    opacity:1;
    transform:translateX(-50%) translateY(0);
}

/* INVOICE */

.invoice-page{

width:90%;

max-width:500px;

margin:60px auto;

}

.invoice-card{

background:#171a21;

border:1px solid #2c2f36;

border-radius:18px;

padding:24px;

}

.invoice-card button{

width:100%;

margin-top:25px;

}

.payment-status{
    margin:20px 0;
    padding:14px;
    border-radius:12px;
    text-align:center;
    font-weight:bold;
}

.waiting{
    background:#3a2d00;
    color:#ffd54f;
}

.invoice-page h1{

    text-align:center;

    margin-bottom:30px;

}

#countdown{

    font-size:42px;

    text-align:center;

    color:#00d9ff;

    margin:10px 0 25px;

}

#copyOrder{

    width:100%;

    padding:14px;

    margin-top:15px;

    border:none;

    border-radius:12px;

    background:#252932;

    color:white;

    cursor:pointer;

}

.pending{
    color:#f59e0b;
    font-weight:600;
}

.paid{
    color:#22c55e;
    font-weight:600;
}

.expired{
    color:#ef4444;
    font-weight:600;
}