/* Tambahan untuk situs UPZ baru (di atas main-style.css template lama). */
.upz-hero { position: relative; min-height: 60vh; display: flex; align-items: center; background-size: cover; background-position: center; }
.upz-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10, 45, 38, .82), rgba(10, 45, 38, .25)); }
.upz-hero .container { position: relative; }
.upz-hero .title { color: #fff; }
.upz-hero .upz-hero-pera { color: rgba(255, 255, 255, .92) !important; font-size: 1.1rem; margin: 12px 0 24px; }
.upz-hero .upz-hero-btn { display: inline-block; width: auto; padding: 12px 32px; background: #00715d; border-color: #00715d; color: #fff; }

.upz-kartu-img { aspect-ratio: 3 / 2; object-fit: cover; }
.upz-detail-img { aspect-ratio: 16 / 9; object-fit: cover; border-radius: 12px; }
.upz-isi { margin-top: 12px; line-height: 1.75; }
.upz-isi a { color: #00715d; text-decoration: underline; }
.upz-kecil { font-size: .9rem; color: #6d7d78; }
.upz-kosong { padding: 56px 24px; border: 1px dashed #c8ddd5; border-radius: 16px; text-align: center; color: #6d7d78; background: #fff; }
.upz-kosong a { color: #00715d; text-decoration: underline; }

.upz-cara { margin-top: 32px; }
.upz-langkah { display: flex; gap: 16px; margin-bottom: 28px; }
.upz-langkah-no { flex: none; width: 36px; height: 36px; border-radius: 50%; background: #00715d; color: #fff; display: grid; place-items: center; font-weight: 700; }
.upz-langkah-isi { flex: 1; min-width: 0; }
.upz-langkah-isi .upz-langkah-judul { margin: 6px 0 12px; }
.upz-rekening { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; padding: 16px 18px; border: 1px solid #dce9e4; border-radius: 14px; background: #f6faf8; }
.upz-rekening img { width: 72px; height: auto; object-fit: contain; }
.upz-rekening > div { flex: 1; min-width: 160px; }
.upz-rekening p { margin: 0; }
.upz-rek-bank { font-size: .85rem; color: #6d7d78; }
.upz-rek-nomor { font-size: 1.5rem; font-weight: 700; letter-spacing: .06em; color: #17322d; }
.upz-rek-nama { font-size: .95rem; }
.upz-salin { border: 1px solid #00715d; color: #00715d; background: #fff; border-radius: 999px; padding: 8px 16px; font-weight: 600; }
.upz-salin:hover { background: #00715d; color: #fff; }
.upz-atau { margin: 18px 0 10px; font-weight: 600; }
.upz-qris { width: 100%; max-width: 280px; height: auto; /* height:auto wajib karena <img> diberi width/height asli */ border-radius: 12px; border: 1px solid #dce9e4; }
#form-konfirmasi .submit-btn i { margin-right: 6px; }

.upz-kalkulator { padding: 28px; }
.upz-tab { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; }
.upz-tab button { border: 1px solid #dce9e4; background: #fff; border-radius: 999px; padding: 8px 18px; font-weight: 600; color: #17322d; }
.upz-tab button.active { background: #00715d; border-color: #00715d; color: #fff; }
.upz-hasil { margin-top: 24px; padding: 20px; border-radius: 14px; background: #e9f5f1; }
.upz-hasil p { margin-bottom: 6px; }
.upz-hasil-angka { font-size: 1.8rem; font-weight: 700; color: #00715d; }
.upz-hasil .donate-btn { display: inline-block; width: auto; padding-left: 28px; padding-right: 28px; }
.upz-lencana { display: inline-block; margin-bottom: 10px; padding: 3px 12px; border-radius: 999px; background: #e9f5f1; color: #00715d; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.upz-diajak { display: inline-flex; gap: 8px; align-items: center; margin-bottom: 20px; padding: 8px 14px; border-radius: 999px; background: #e9f5f1; color: #005b4b; }
.upz-jenis { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
.upz-jenis label { display: flex; gap: 8px; align-items: center; padding: 10px 18px; border: 1px solid #dce9e4; border-radius: 12px; cursor: pointer; font-weight: 600; }
.upz-jenis label:has(input:checked) { border-color: #00715d; background: #e9f5f1; color: #005b4b; }
/* Donasi per paket (mis. Berbagi Sembako): pilih jumlah paket (kelipatan harga) atau nominal bebas. */
.upz-paket-info { display: flex; align-items: flex-start; gap: 8px; margin: 12px 0 0; padding: 10px 14px; border-radius: 12px; background: #e9f5f1; color: #005b4b; font-size: .95rem; line-height: 1.5; }
.upz-paket-info i { font-size: 1.15rem; line-height: 1.3; }
.upz-paket-kartu { margin: -8px 0 16px; font-size: .9rem; color: #005b4b; }
.upz-paket-kartu i { margin-right: 4px; }
.upz-cara-isi label small { font-weight: 500; color: #6d7d78; }
.upz-paket { margin-bottom: 18px; padding: 16px 18px; border: 1px solid #dce9e4; border-radius: 14px; background: #f6faf8; }
.upz-paket-hitung { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.upz-paket-tombol { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid #00715d; border-radius: 12px; background: #fff; color: #00715d; font-size: 1.3rem; }
.upz-paket-tombol:hover { background: #00715d; color: #fff; }
.upz-paket-jumlah { width: 84px; height: 44px; text-align: center; font-size: 1.25rem; font-weight: 700; border: 1px solid #dce9e4; border-radius: 12px; background: #fff; color: #17322d; -moz-appearance: textfield; appearance: textfield; }
.upz-paket-jumlah::-webkit-outer-spin-button, .upz-paket-jumlah::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.upz-paket-satuan { font-weight: 600; color: #17322d; }
.upz-paket-pilihan { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; }
.upz-paket-pilihan button { border: 1px solid #dce9e4; background: #fff; border-radius: 999px; padding: 6px 14px; font-weight: 600; font-size: .9rem; color: #17322d; }
.upz-paket-pilihan button.active { background: #00715d; border-color: #00715d; color: #fff; }
.upz-paket-total { margin: 12px 0 0; color: #5d6d68; }
.upz-paket-total b { font-size: 1.25rem; color: #005b4b; }
.contact-input[readonly] { background: #eef4f1; color: #17322d; cursor: default; }
.upz-hak-amil { margin-bottom: 14px; padding: 12px 16px; border: 1px solid #e4c98a; border-radius: 12px; background: #fbf6ea; font-size: .92rem; line-height: 1.6; color: #4a3d1c; }
.upz-hak-amil p { margin: 0; }
.upz-hak-amil a { color: #00715d; text-decoration: underline; }
.upz-tanpa-potongan { margin-top: 4px; }
/* Program amil */
.upz-kartu-langkah { position: relative; height: 100%; padding: 26px 22px; border: 1px solid #dce9e4; border-radius: 16px; background: #fff; }
.upz-kartu-langkah i { display: block; font-size: 2rem; color: #00715d; margin-bottom: 10px; }
.upz-kartu-langkah h3 { margin-bottom: 8px; }
.upz-kartu-langkah p { margin: 0; color: #5d6d68; line-height: 1.6; }
.upz-nomor { position: absolute; top: 16px; right: 18px; font-size: 2rem; font-weight: 800; color: #e3f1ec; }
.upz-tabel-bungkus { overflow-x: auto; margin-bottom: 14px; }
.upz-tabel { width: 100%; border-collapse: collapse; }
.upz-tabel th, .upz-tabel td { padding: 10px 12px; border-bottom: 1px solid #dce9e4; text-align: left; }
.upz-tabel th { background: #f6faf8; font-size: .85rem; }
.upz-tombol-lebar { display: inline-block; width: auto; padding: 12px 36px; }
.upz-form-amil { padding: 28px; }
.upz-sembunyi { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.upz-kotak-berhasil { padding: 28px; border-radius: 16px; background: #e9f5f1; text-align: center; }
.upz-kotak-berhasil a { color: #00715d; text-decoration: underline; }
@media (max-width: 1399.98px) { .header-area .main-menu .listing .single-list { margin: 0 11px; } }
.upz-wa-tujuan { display: inline-flex; align-items: center; gap: 12px; margin: 4px 0 6px; padding: 10px 16px; border: 1px solid #cdebdc; border-radius: 12px; background: #f1faf5; }
.upz-wa-tujuan i { font-size: 1.8rem; color: #25d366; }
.upz-wa-tujuan b { display: block; color: #17322d; }
.upz-wa-tujuan span { font-size: .95rem; color: #5d6d68; letter-spacing: .03em; }
.upz-galat { margin: 10px 0; padding: 12px 16px; border-radius: 12px; background: #fdecea; color: #8a1c12; font-weight: 600; }
.upz-berhasil { margin: 10px 0; padding: 12px 16px; border-radius: 12px; background: #e9f5f1; color: #005b4b; }
.upz-berhasil a { color: #00715d; text-decoration: underline; }
.contact-input.upz-salah { border-color: #d92d20 !important; box-shadow: 0 0 0 3px rgba(217, 45, 32, .15); }

.upz-bukti { display: flex; align-items: center; gap: 12px; margin: 6px 0 10px; padding: 14px 16px; border: 1.5px dashed #b9d8cc; border-radius: 12px; background: #f8fcfa; cursor: pointer; color: #17322d; }
.upz-bukti i { font-size: 1.6rem; color: #00715d; }
.upz-bukti small { color: #6d7d78; }
.upz-atau-wa { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 14px; }
.upz-atau-wa > span { color: #8a9a95; font-size: .9rem; }
.upz-tombol-wa { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border: 1px solid #25d366; border-radius: 999px; background: #fff; color: #128c4b; font-weight: 600; font-size: .92rem; text-align: left; }
.upz-tombol-wa i { font-size: 1.15rem; }
.upz-terima-kasih { padding: 20px; border-radius: 14px; background: #e9f5f1; }
.upz-terima-kasih h5 { margin: 0 0 8px; }
.tautan-wa { border: 0; background: none; padding: 0; color: #128c4b; font-weight: 600; text-decoration: underline; cursor: pointer; }
[data-tombol-lapor]:disabled { opacity: .6; cursor: wait; }

.upz-selamat { text-align: center; }
.upz-selamat .text-start { text-align: left; }
.upz-kode-amil { display: inline-block; margin: 6px 0 14px; padding: 8px 20px; border-radius: 12px; background: #fff; font-family: ui-monospace, Consolas, monospace; font-size: 1.6rem; font-weight: 700; letter-spacing: .08em; color: #00715d; }
#qr-amil { display: inline-block; padding: 12px; background: #fff; border-radius: 14px; margin-bottom: 12px; }
#qr-amil img, #qr-amil canvas { display: block; }
.upz-salin-baris { display: flex; gap: 8px; }
.upz-tombol-grup { padding: 12px 22px; font-size: 1rem; }
.upz-catatan-sah { padding: 10px 14px; border-radius: 10px; background: #fff; }

/* Dasbor amil */
.upz-dasbor-kepala { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.upz-dasbor-kepala h2 { margin: 0; }
.upz-status { display: inline-block; padding: 2px 10px; border-radius: 999px; background: #eef2f1; color: #445; font-size: .82rem; font-weight: 600; }
.upz-status-hijau { background: #e3f4ec; color: #005b4b; }
.upz-status-kuning { background: #fff3d6; color: #6b4500; }
.upz-status-merah { background: #fdecea; color: #8a1c12; }
.upz-angka { height: 100%; padding: 20px 22px; border: 1px solid #dce9e4; border-radius: 16px; background: #fff; }
.upz-angka p { margin: 0 0 6px; color: #5d6d68; font-size: .92rem; }
.upz-angka b { display: block; font-size: 1.7rem; color: #17322d; line-height: 1.2; }
.upz-angka small { display: block; margin-top: 6px; color: #6d7d78; line-height: 1.5; }
.upz-angka-hijau { background: #f1faf6; border-color: #cfe9de; }
.upz-angka-hijau b { color: #005b4b; }
.upz-angka-kuning { background: #fffaf0; border-color: #f0dfb5; }
.upz-kotak-dasbor { margin: 6px auto 18px; padding: 16px; border-radius: 14px; background: #fff; max-width: 460px; }
.upz-kotak-dasbor p { margin-bottom: 8px; }

/* Simpan gambar QRIS (untuk donatur yang membuka situs di HP). */
.upz-simpan-qris { margin: 12px 0 0; }
.upz-simpan-qris .upz-salin { display: inline-flex; align-items: center; gap: 6px; }
.upz-simpan-qris small { display: block; margin-top: 6px; max-width: 320px; }

/* HP: nomor langkah sebaris dengan judulnya, isiannya memakai lebar penuh (tidak menjorok). */
@media (max-width: 575.98px) {
  .upz-langkah { display: grid; grid-template-columns: 30px 1fr; column-gap: 10px; }
  .upz-langkah-no { width: 30px; height: 30px; font-size: .9rem; }
  .upz-langkah-isi { display: contents; }
  .upz-langkah-isi > .upz-langkah-judul { grid-column: 2; align-self: center; margin: 0 0 14px; }
  .upz-langkah-isi > :not(.upz-langkah-judul) { grid-column: 1 / -1; }
  /* Teks kaki tidak tertutup tombol "kembali ke atas". */
  .footer-copy-right { padding-bottom: 56px; }
}

/* Payung program */
.upz-judul-payung { margin: 10px 0 18px; padding-left: 12px; border-left: 4px solid #00715d; font-weight: 700; }
.upz-payung-kecil { margin: 0 0 2px; font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #00715d; }
.upz-lencana-payung { background: #fff3d6; color: #6b4500; }

/* <img> kini membawa width/height asli (cegah lompatan tata letak); tinggi tampil tetap dari lebar
   kolom + aspect-ratio, bukan dari atribut. */
.upz-kartu-img, .upz-detail-img, .logo img { height: auto; }

/* Kunci dasbor amil (Google / PIN) */
.upz-kunci { position: relative; margin: 16px auto; padding: 18px 20px; border: 2px solid #00715d; border-radius: 14px; background: #f3faf7; max-width: 520px; text-align: left; }
.upz-kunci-judul { font-weight: 700; margin-bottom: 4px; padding-right: 28px; }
.upz-kunci-x { position: absolute; top: 8px; right: 10px; border: 0; background: none; font-size: 18px; color: #555; cursor: pointer; }
.upz-kunci-pilihan { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 10px; }
.upz-kunci-nanti { border: 0; background: none; color: #555; text-decoration: underline; cursor: pointer; }
.upz-kunci-pin { margin-top: 14px; }
.upz-kunci-status { margin: 12px 0; padding: 12px 16px; border-radius: 12px; background: #f3faf7; }
.upz-kunci-status p { margin-bottom: 6px; }
.upz-pesan { padding: 10px 14px; border-radius: 10px; margin: 10px 0; }
.upz-pesan-hijau { background: #e3f4ec; color: #0b5a45; }
.upz-pesan-salah { background: #fdecea; color: #8a1f11; }
.upz-pesan-kuning { background: #fff6dc; color: #6b5200; }
.upz-masuk-amil .upz-atau { text-align: center; color: #777; margin: 14px 0; }
.upz-tombol-penuh { display: block; width: 100%; text-align: center; }

/* Halaman sesudah daftar amil: sambutan + langkah bernomor */
.upz-mulai { max-width: 560px; margin: 0 auto; }
.upz-mulai-kepala { text-align: center; padding: 28px 22px 18px; border-radius: 20px; background: linear-gradient(160deg, #00715d, #004a3d); color: #fff; }
.upz-mulai-kepala h2 { color: #fff; margin-bottom: 4px; }
.upz-mulai-kepala p { color: rgba(255,255,255,.9); margin-bottom: 8px; }
.upz-mulai-kepala .upz-kecil { color: rgba(255,255,255,.85); margin: 14px 0 0; }
.upz-mulai-salam { font-size: .95rem; letter-spacing: .02em; }
.upz-mulai-kode { display: inline-flex; align-items: center; gap: 12px; margin-top: 8px; padding: 8px 10px 8px 16px; border-radius: 14px; background: #fff; color: #00715d; }
.upz-mulai-kode span { font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; color: #5b6b66; }
.upz-mulai-kode b { font-family: ui-monospace, Consolas, monospace; font-size: 1.45rem; letter-spacing: .06em; }
.upz-mulai-kode .upz-salin { padding: 6px 12px; }
.upz-mulai-langkah { list-style: none; margin: 18px 0 0; padding: 0; counter-reset: none; }
.upz-mulai-item { display: flex; gap: 14px; padding: 18px; margin-bottom: 14px; border-radius: 16px; background: #fff; border: 1px solid #dcebe5; box-shadow: 0 6px 18px rgba(0,63,52,.06); }
.upz-mulai-utama { border: 2px solid #00715d; }
.upz-mulai-ciut { padding: 12px 18px; box-shadow: none; background: #f6faf8; }
.upz-mulai-ciut .upz-mulai-judul { font-size: 1rem; margin-bottom: 2px; }
.upz-mulai-no { flex: none; width: 34px; height: 34px; border-radius: 50%; background: #00715d; color: #fff; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.upz-mulai-isi { flex: 1; min-width: 0; }
.upz-mulai-judul { font-size: 1.1rem; font-weight: 700; margin: 4px 0 6px; color: #12332b; }
.upz-mulai-isi p { margin-bottom: 10px; color: #4a5a55; }
.upz-mulai-tombol { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 6px 0 4px; }
.upz-mulai-tombol .upz-tombol-wa { margin: 0; }
.upz-mulai-lewati, .upz-mulai-dilewati { margin: 8px 0 0; font-size: .9rem; color: #66756f; }
.upz-mulai-lewati button, .upz-mulai-dilewati button { border: 0; background: none; padding: 0; color: #00715d; text-decoration: underline; cursor: pointer; }
.upz-mulai-kartu { display: block; width: 100%; max-width: 260px; height: auto; margin: 4px 0 12px; border-radius: 14px; box-shadow: 0 8px 22px rgba(0,63,52,.18); }
.upz-mulai-lain { margin-top: 12px; }
.upz-mulai-lain summary { cursor: pointer; color: #00715d; font-weight: 600; margin-bottom: 10px; }
.upz-mulai-kaki { text-align: center; padding: 18px; border-radius: 16px; background: #e9f5f1; }
.upz-mulai-kaki p { margin-bottom: 8px; }
.upz-mulai .donate-btn { background: #00715d; border-color: #00715d; color: #fff; text-decoration: none; }
.upz-mulai .donate-btn:hover { background: #005a4a; color: #fff; }
.upz-mulai .upz-tombol-wa { background: #1faa59; border-color: #1faa59; color: #fff; text-decoration: none; }
.upz-mulai .upz-tombol-wa:hover { background: #178a48; color: #fff; }
/* Pertanyaan "why" Pejuang GAZA: motif (form daftar) & waktu harian (halaman sambutan). */
.upz-motif { border: 0; padding: 0; min-width: 0; }
.upz-motif legend { float: none; width: auto; font-size: inherit; }
.upz-jenis-tumpuk { flex-direction: column; gap: 8px; }
.upz-jenis-tumpuk label { font-weight: 500; padding: 10px 14px; align-items: flex-start; line-height: 1.4; }
.upz-jenis-tumpuk input { margin-top: 3px; flex-shrink: 0; }
.upz-jenis label:has(input:disabled) { opacity: .45; cursor: not-allowed; }
.upz-motif-pesan { color: #c0392b; font-weight: 600; margin: 6px 0 0; }
.upz-waktu { margin: 6px 0 14px; padding: 12px 14px; border-radius: 12px; background: #f5faf8; }
.upz-waktu .upz-jenis { gap: 6px; margin-bottom: 10px; }
.upz-waktu .upz-jenis label { padding: 6px 12px; font-size: .9rem; }
.upz-mulai-isi .upz-rencana { padding: 10px 14px; border-radius: 12px; background: #e9f5f1; color: #005b4b; font-weight: 600; }
/* Dasbor amil sebagai "rumah": satu kolom, tombol utama di atas, ramah HP (ketuk >= 44px, teks >= 16px). */
.upz-dasbor-isi { max-width: 760px; margin: 0 auto; font-size: 1rem; }
.upz-dasbor .upz-kecil { font-size: 1rem; }
.upz-dasbor-kepala { display: block; margin-bottom: 16px; }
.upz-dasbor-kepala p { margin: 0; }
.upz-dasbor-bagian { margin-top: 18px; padding: 20px; border: 1px solid #dce9e4; border-radius: 16px; background: #fff; }
.upz-dasbor-bagian h3 { margin-bottom: 12px; }
.upz-dasbor .upz-salin, .upz-dasbor .upz-tombol-wa, .upz-dasbor .upz-tautan, .upz-dasbor summary, .upz-dasbor select { min-height: 44px; font-size: 1rem; }
.upz-dasbor .upz-salin, .upz-dasbor .upz-tombol-wa { display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.upz-bagikan { border-color: #00715d; background: #f5faf8; }
.upz-pilih { margin: 4px 0 12px; }
.upz-ajakan-teks { white-space: pre-line; padding: 14px; border-radius: 12px; background: #fff; border: 1px dashed #b9d6cc; color: #2c3e3a; line-height: 1.55; }
.upz-ganti { margin: 6px 0 12px; }
.upz-tautan { border: 0; background: none; padding: 0 4px; color: #00715d; font-weight: 600; }
.upz-tombol-utama { width: 100%; min-height: 52px; font-size: 1.1rem; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.upz-link-tampil { word-break: break-all; }
.upz-layar-utama { position: relative; margin-top: 18px; padding: 16px 48px 12px 16px; border-radius: 14px; background: #fff7e6; border: 1px solid #f0dfb5; }
.upz-layar-utama p { margin-bottom: 6px; }
.upz-layar-utama .upz-kunci-x { position: absolute; top: 4px; right: 4px; width: 44px; height: 44px; }
.upz-dampak { list-style: none; padding: 0; margin: 0; }
.upz-dampak li { display: flex; gap: 12px; justify-content: space-between; align-items: center; padding: 12px 0; border-bottom: 1px solid #eef2f1; }
.upz-dampak li:last-child { border-bottom: 0; }
.upz-dampak small { display: block; color: #6d7d78; font-size: .95rem; }
.upz-dampak span { font-weight: 700; color: #005b4b; white-space: nowrap; }
.upz-pekan b { font-size: 2.2rem; }
.upz-tersimpan { margin-bottom: 14px; padding: 14px; border-radius: 12px; background: #f1faf6; border: 1px solid #cfe9de; }
.upz-tersimpan p { margin-bottom: 10px; }
.upz-belum-hitung { margin: 12px 0 0; }
.upz-kalender { margin: 10px 0; padding: 12px 14px; border-radius: 12px; background: #f5faf8; }
.upz-kalender p { margin-bottom: 6px; }
.upz-dasbor-isi p, .upz-dasbor-isi small, .upz-dasbor-isi td, .upz-dasbor-isi li, .upz-dasbor-isi .upz-angka p, .upz-dasbor-isi .upz-angka small { font-size: 1rem; }
.upz-dasbor .upz-kunci-x { width: 44px; height: 44px; top: 2px; right: 2px; }
.upz-dasbor .upz-kunci-nanti { min-height: 44px; font-size: 1rem; }
.upz-pratinjau-judul { margin: 16px 0 6px; }
.upz-ajakan-teks { max-height: 11.5em; overflow-y: auto; }
.upz-dasbor .upz-tombol-utama, .upz-dasbor .upz-tombol-utama:hover, .upz-dasbor .upz-tombol-utama:focus { background: #00715d; border-color: #00715d; color: #fff; border-radius: 14px; box-shadow: 0 6px 16px rgba(0,113,93,.25); }

/* Tombol WhatsApp melayang (setelan wa_konfirmasi; tidak tampil di halaman donasi per program,
   yang sudah punya tombol WhatsApp sendiri). Di HP hanya ikon bulat. 27 Okt 2026. */
.wa-melayang { position: fixed; right: 18px; bottom: 18px; z-index: 1000; display: flex; align-items: center; gap: 8px; height: 52px; padding: 0 18px 0 14px; border-radius: 26px; background: #25d366; color: #fff !important; font-size: 15px; font-weight: 600; line-height: 1; text-decoration: none; box-shadow: 0 6px 18px rgba(0, 0, 0, .2); }
.wa-melayang i { font-size: 26px; line-height: 1; }
.wa-melayang:hover, .wa-melayang:focus { background: #1ebe5a; color: #fff !important; }
@media (max-width: 575.98px) {
  .wa-melayang { width: 54px; height: 54px; padding: 0; justify-content: center; border-radius: 50%; }
  .wa-melayang__teks { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
body:has(.wa-melayang) .progressParent { bottom: 90px !important; right: 27px !important; }

/* QRIS dinamis lewat payment gateway (tombol "Bayar dengan QRIS" di langkah 2). */
.upz-qris-otomatis { padding: 16px 18px; border: 2px solid #00715d; border-radius: 14px; background: #f6faf8; }
.upz-tombol-qris { width: 100%; margin: 0 0 8px; }
.upz-qris-otomatis > .upz-kecil { margin: 0; }
.upz-qris-otomatis [data-kotak-qris] { margin-top: 14px; text-align: center; }
.upz-qris-nominal { margin: 0 0 10px; font-size: 1.5rem; font-weight: 800; color: #00513f; }
.upz-qris-nominal small { font-size: .95rem; font-weight: 600; color: #4d5f59; }
.upz-qris-gambar { display: inline-block; padding: 12px; background: #fff; border-radius: 12px; border: 1px solid #dce9e4; line-height: 0; }
.upz-qris-gambar img, .upz-qris-gambar canvas { width: 260px; max-width: 100%; height: auto; }
.upz-qris-status { margin: 12px 0 6px; font-weight: 600; }
.upz-titik { display: inline-block; width: 10px; height: 10px; margin-right: 4px; border-radius: 50%; background: #e0a100; animation: upz-kedip 1.2s ease-in-out infinite; }
@keyframes upz-kedip { 50% { opacity: .25; } }
@media (prefers-reduced-motion: reduce) { .upz-titik { animation: none; } }
.upz-qris-uji { padding: 10px 12px; border-radius: 10px; background: #fff4d6; color: #6b4e00; font-size: .85rem; text-align: left; word-break: break-all; }
.upz-qris-otomatis .upz-terima-kasih, .upz-qris-otomatis .upz-galat { text-align: left; }
