* { box-sizing: border-box; font-family: 'Poppins', sans-serif; }

/* BACKGROUND BIRU DONGKER (NAVY) */
body { 
    background: #0f172a; 
    background-image: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    margin: 0; padding: 20px; min-height: 100vh; 
    display: flex; align-items: center; justify-content: center; 
    color: #fff;
}

/* KOTAK FORM PUTIH DENGAN AKSEN EMAS */
.container { 
    max-width: 480px; width: 100%; background: #ffffff; padding: 35px 30px; 
    border-radius: 15px; box-shadow: 0 15px 35px rgba(0,0,0,0.4), 0 0 0 3px #d4af37; 
    color: #333; position: relative; z-index: 2;
}

h2 { text-align: center; color: #0f172a; margin-top: 0; font-weight: 700; letter-spacing: 0.5px; }

/* ==========================================
   TOMBOL PROVIDER 3D PREMIUM
   ========================================== */
.providers { 
    display: grid; 
    grid-template-columns: repeat(2, 1fr); 
    gap: 15px; 
    margin-bottom: 20px; 
}

.provider { 
    border: 2px solid #e2e8f0; 
    padding: 10px; 
    border-radius: 12px; 
    cursor: pointer; 
    text-align: center; 
    background: linear-gradient(180deg, #ffffff 0%, #f1f5f9 100%);
    /* Efek 3D: Bayangan tebal di bawah */
    box-shadow: 0 6px 0 #cbd5e1, 0 8px 15px rgba(0,0,0,0.1); 
    transition: all 0.1s ease; 
    display: flex; 
    flex-direction: column; 
    align-items: center; 
    justify-content: center; 
    height: 80px; 
    position: relative;
    top: 0;
}

/* Efek saat kursor diarahkan */
.provider:hover { 
    border-color: #d4af37; 
    background: linear-gradient(180deg, #ffffff 0%, #fef3c7 100%);
}

/* Efek saat tombol ditekan (masuk ke dalam) */
.provider:active { 
    box-shadow: 0 2px 0 #cbd5e1, 0 4px 10px rgba(0,0,0,0.1); 
    top: 4px; 
}

/* Efek saat provider dipilih (Emas 3D) */
.provider.active { 
    border-color: #d4af37; 
    background: linear-gradient(180deg, #fef3c7 0%, #fde68a 100%); 
    box-shadow: 0 6px 0 #b45309, 0 8px 15px rgba(212, 175, 55, 0.4); 
    top: 0;
}

.provider.active:active {
    box-shadow: 0 2px 0 #b45309, 0 4px 10px rgba(212, 175, 55, 0.4); 
    top: 4px;
}

.provider img { 
    max-width: 100%; 
    max-height: 100%; 
    object-fit: contain; 
    filter: drop-shadow(0px 2px 2px rgba(0,0,0,0.1)); 
    transition: transform 0.2s;
}

.provider:hover img {
    transform: scale(1.05); 
}

/* ==========================================
   FORM & INPUT
   ========================================== */
label { font-size: 14px; font-weight: 600; color: #1e293b; display: block; margin-bottom: 5px; }
select, input[type="text"] { width: 100%; padding: 14px; margin-bottom: 15px; border: 2px solid #cbd5e1; border-radius: 8px; font-size: 15px; outline: none; transition: all 0.3s; background: #fff; color: #333; }
select:focus, input[type="text"]:focus { border-color: #d4af37; box-shadow: 0 0 10px rgba(212, 175, 55, 0.2); }

/* TOMBOL EMAS UTAMA */
button { width: 100%; padding: 15px; background: linear-gradient(135deg, #d4af37 0%, #f3c623 100%); color: #0f172a; border: none; border-radius: 8px; font-size: 16px; font-weight: 700; cursor: pointer; transition: all 0.3s; display: flex; justify-content: center; align-items: center; gap: 10px; text-transform: uppercase; letter-spacing: 1px; box-shadow: 0 4px 15px rgba(212, 175, 55, 0.4); }
button:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(212, 175, 55, 0.6); }
button:disabled { background: #e2e8f0; color: #94a3b8; cursor: not-allowed; box-shadow: none; transform: none; }

.spinner { width: 18px; height: 18px; border: 3px solid rgba(15, 23, 42, 0.3); border-radius: 50%; border-top-color: #0f172a; animation: spin 1s ease-in-out infinite; display: none; }
@keyframes spin { to { transform: rotate(360deg); } }

.hidden { display: none; }
.step-box { margin-top: 10px; text-align: center; }
.step-box h3 { color: #0f172a; margin-bottom: 10px; }
.step-box p { font-size: 14px; color: #64748b; margin-bottom: 20px; line-height: 1.5; }

.box-info { background: #f8fafc; border: 1px solid #e2e8f0; padding: 15px; border-radius: 8px; margin-bottom: 20px; text-align: left; font-size: 14px; color: #334155; border-left: 4px solid #d4af37; }
.box-info span { font-weight: 600; color: #0f172a; }

.btn-cancel { background: #ef4444; color: white; box-shadow: 0 4px 15px rgba(239, 68, 68, 0.3); margin-top: 10px; font-size: 14px; padding: 10px; text-transform: none; letter-spacing: 0; }
.btn-cancel:hover { background: #dc2626; box-shadow: 0 6px 20px rgba(239, 68, 68, 0.5); }
.btn-refresh { background: #3b82f6; color: white; box-shadow: 0 4px 15px rgba(59, 130, 246, 0.3); text-transform: none; letter-spacing: 0; }
.btn-refresh:hover { background: #2563eb; box-shadow: 0 6px 20px rgba(59, 130, 246, 0.5); }

.btn-cs { background: #25D366; color: white; box-shadow: 0 4px 15px rgba(37, 211, 102, 0.3); text-transform: none; letter-spacing: 0; margin-top: 10px; text-decoration: none; font-size: 14px; padding: 12px; border-radius: 8px; font-weight: 600; display: flex; justify-content: center; align-items: center; gap: 8px; }
.btn-cs:hover { background: #128C7E; color: white; }

.syarat-link { text-align: center; font-size: 12px; color: #64748b; margin-bottom: 15px; margin-top: -5px; line-height: 1.8; }
.syarat-link a { color: #b45309; text-decoration: none; font-weight: 600; }
.syarat-link a:hover { text-decoration: underline; }

#timer-text { font-size: 18px; font-weight: bold; color: #ef4444; margin-bottom: 15px; display: block; }

.g-recaptcha { transform: scale(0.85); transform-origin: 0 0; margin-bottom: 10px; }
@media (max-width: 400px) { .g-recaptcha { transform: scale(0.75); transform-origin: 0 0; } }

/* NOTIFIKASI RANDOM (KANAN BAWAH) */
#notif-container { position: fixed; bottom: 90px; left: 20px; z-index: 9999; display: flex; flex-direction: column; gap: 10px; }
.notif-popup { background: rgba(255, 255, 255, 0.98); color: #333; padding: 12px 18px; border-radius: 12px; box-shadow: 0 10px 30px rgba(0,0,0,0.15); display: flex; align-items: center; gap: 12px; font-size: 13px; animation: slideUp 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards; border-left: 4px solid #d4af37; min-width: 300px; max-width: 350px; }
.notif-popup img { width: 35px; height: 35px; object-fit: contain; }
.notif-popup .notif-text { display: flex; flex-direction: column; line-height: 1.4; }
.notif-popup .notif-text strong { font-size: 14px; color: #0f172a; }
.notif-popup .notif-text span { font-size: 11px; color: #64748b; }
.notif-popup.fadeOut { animation: fadeOutDown 0.5s ease forwards; }
@keyframes slideUp { from { transform: translateY(100%); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@keyframes fadeOutDown { from { transform: translateY(0); opacity: 1; } to { transform: translateY(100%); opacity: 0; } }

/* TOMBOL CS MELAYANG (FLOATING) */
.floating-cs { position: fixed; bottom: 30px; right: 30px; background-color: #25D366; color: white; border-radius: 50px; padding: 12px 20px; display: flex; align-items: center; gap: 10px; font-weight: 600; font-size: 15px; text-decoration: none; box-shadow: 0 4px 15px rgba(37, 211, 102, 0.4); z-index: 9999; transition: all 0.3s ease; }
.floating-cs:hover { background-color: #128C7E; transform: translateY(-3px); box-shadow: 0 6px 20px rgba(37, 211, 102, 0.6); color: white; }
.floating-cs svg { width: 24px; height: 24px; fill: currentColor; }

/* RESPONSIF HP */
@media (max-width: 768px) {
    .floating-cs { bottom: 20px; right: 20px; padding: 12px; border-radius: 50%; } 
    .floating-cs span { display: none; }
    #notif-container { left: 10px; bottom: 80px; right: 10px; }
    .notif-popup { min-width: unset; width: 100%; padding: 10px 15px; }
}