/* Tambahan di atas gaya desain: penyesuaian untuk isi asli WordPress. */

.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}
[hidden]{display:none!important;}
textarea{font-family:inherit;font-size:inherit;color:inherit;}

/* Menu HP: tautan tambahan */
.mobile-menu-extra{border-top:6px solid rgba(27,67,50,0.06);}
.topbar .tk-link a[aria-current="page"]{opacity:1;font-weight:700;}
nav.main-nav ul{flex-wrap:nowrap;}

/* Gambar slot (foto pembuka tiap halaman, peta, profil) */
.has-slot{position:relative;overflow:hidden;}
.slot-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.has-slot.slot-isi .pattern{display:none;}
.has-slot .caption{position:relative;z-index:2;}
.slot-petunjuk{z-index:3;max-width:calc(100% - 32px);}
.page-header-photo:empty{display:none;}

/* Kartu campaign & berita: foto asli */
a.campaign-photo,a.news-photo{display:block;}
.campaign-photo.has-img{height:auto;aspect-ratio:720/385;background:var(--sand);}
.news-photo.has-img{height:auto;aspect-ratio:16/10;background:var(--sand);}
.campaign-photo.has-img img,.news-photo.has-img img,.featured-photo.has-img img{width:100%;height:100%;object-fit:cover;display:block;}
.featured-photo.has-img{background:var(--sand);overflow:hidden;}
.campaign-card h3 a:hover,.news-card h3 a:hover{color:var(--forest-text);}
.progress-track.tanpa-target{visibility:hidden;}
.campaign-photo-hero.has-img{position:relative;overflow:hidden;}

/* Foto utama tulisan */
.article-photo.has-img{height:auto;aspect-ratio:16/9;background:var(--sand);}
.article-photo.has-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}

/* Isi tulisan dari penyunting WordPress */
.article-body,.campaign-desc{overflow-wrap:anywhere;}
.article-body img,.campaign-desc img{height:auto;border-radius:14px;margin:8px auto;}
.article-body figure,.campaign-desc figure{margin:28px 0;max-width:100%;}
.article-body figcaption,.campaign-desc figcaption,.wp-caption-text{font-size:12.5px;color:var(--ink-soft);font-style:italic;margin-top:8px;text-align:center;}
.article-body .wp-caption,.campaign-desc .wp-caption{max-width:100%;}
.article-body h3,.campaign-desc h3{font-family:var(--font-display);font-size:19px;color:var(--forest-dark);margin:26px 0 12px;line-height:1.3;}
.article-body h4,.campaign-desc h4{font-size:16px;color:var(--forest-dark);margin:22px 0 10px;}
.article-body ul,.campaign-desc ul{list-style:disc;padding-left:22px;margin-bottom:20px;}
.article-body ol,.campaign-desc ol{list-style:decimal;padding-left:22px;margin-bottom:20px;}
.article-body li,.campaign-desc li{margin-bottom:6px;}
.article-body a,.campaign-desc a{color:var(--forest-text);text-decoration:underline;text-underline-offset:2px;}
.article-body iframe,.campaign-desc iframe,.article-body video,.campaign-desc video{max-width:100%;border-radius:14px;}
.article-body .wp-block-embed__wrapper iframe,.article-body iframe[src*="youtube"],.campaign-desc iframe[src*="youtube"]{width:100%;aspect-ratio:16/9;height:auto;}
.article-body table,.campaign-desc table{width:100%;border-collapse:collapse;margin-bottom:20px;font-size:14px;display:block;overflow-x:auto;}
.article-body th,.article-body td,.campaign-desc th,.campaign-desc td{border:1px solid rgba(27,67,50,0.15);padding:8px 10px;text-align:left;}
.article-body .alignleft{float:left;margin:6px 20px 12px 0;max-width:50%;}
.article-body .alignright{float:right;margin:6px 0 12px 20px;max-width:50%;}
.article-body .aligncenter{margin-left:auto;margin-right:auto;}
.article-body::after{content:"";display:block;clear:both;}
.article-body .gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-bottom:20px;}
.article-body .gallery br{display:none;}
.campaign-desc p{margin-bottom:16px;}

/* Tombol kategori & halaman sebagai tautan */
a.chip,a.page-btn,span.page-btn,a.tag-pill{display:inline-flex;align-items:center;justify-content:center;}
a.tag-pill:hover{border-color:var(--forest-text);color:var(--forest-text);}
.pagination .page-btn.dots{border-color:transparent;background:none;}
form.filter-tools{margin:0;}
button.share-btn{cursor:pointer;font-family:inherit;}

/* Keadaan kosong & catatan */
.tab-kosong,.ledger-kosong{padding:18px 4px;color:var(--ink-soft);font-size:14px;}
.pulse .ledger-kosong{color:rgba(251,246,235,0.8);}
.ledger-text a{text-decoration:underline;text-underline-offset:2px;text-decoration-color:rgba(251,246,235,0.35);}
.ledger-text a:hover{text-decoration-color:currentColor;}
.muat-lagi{display:flex;justify-content:center;margin-top:28px;}
.ddb-catatan{margin:0 0 12px;padding:12px 14px;border-radius:12px;background:rgba(192,136,41,0.12);border:1px solid rgba(192,136,41,0.4);color:var(--ink);font-size:13px;line-height:1.5;}
.ddb-catatan.salah{background:rgba(122,46,29,0.08);border-color:rgba(122,46,29,0.35);color:var(--maroon);}
.text-field.salah{border-color:var(--maroon)!important;}

/* Laman biasa, hasil cari, 404 */
.laman-umum{padding-bottom:52px;}
.laman-umum .article-header h1{max-width:none;}
.laman-404{text-align:center;padding:56px 0 64px;}
.laman-404 .kode{font-family:var(--font-display);font-size:clamp(64px,16vw,120px);line-height:1;color:var(--forest-text);}
.laman-404 h1{font-family:var(--font-display);font-size:clamp(22px,4vw,30px);color:var(--forest-dark);margin:12px 0 10px;}
.laman-404 p{color:var(--ink-soft);max-width:48ch;margin:0 auto 22px;}
.laman-404 .aksi{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.cari-besar{display:flex;gap:8px;max-width:520px;margin:18px 0 0;}
.cari-besar input{flex:1;min-width:0;padding:12px 16px;border-radius:999px;border:1.5px solid rgba(27,67,50,0.2);background:var(--white);font-family:inherit;font-size:14.5px;}
.laman-404 .cari-besar{margin:0 auto 22px;}

/* Hubungi Kami */
.kontak-row .txt a{color:var(--forest-text);text-decoration:underline;text-underline-offset:2px;}
.hubungi-aksi{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}
.map-photo iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

/* Kaki halaman tanpa kolom media sosial */
@media (min-width:720px){.footer-grid.tiga{grid-template-columns:1.4fr 1fr 1fr;}}

/* Kotak peta: tautan ke Google Maps */
.peta-tautan{position:absolute;left:14px;bottom:12px;z-index:2;background:var(--white);color:var(--forest-dark);font-size:12.5px;font-weight:700;padding:8px 14px;border-radius:999px;box-shadow:0 4px 14px rgba(23,36,28,0.18);}
.peta-tautan:hover{background:var(--forest);color:var(--ivory);}
.map-photo .slot-petunjuk{top:12px;bottom:auto;}

/* Tombol Hubungi Kami di kepala halaman: tampil bila layar cukup lebar */
@media (min-width:1200px){.header-actions .hubungi-btn{display:inline-flex;}}

/* Foto kartu selalu memenuhi bingkainya, apa pun ukuran aslinya */
.campaign-photo.has-img,.news-photo.has-img,.featured-photo.has-img{position:relative;overflow:hidden;}
.campaign-photo.has-img img,.news-photo.has-img img,.featured-photo.has-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
@media (max-width:719px){.featured-photo.has-img{aspect-ratio:16/10;height:auto;}}

/* Kabar terbaru campaign: isi panjang dari penyunting */
.update-item .update-isi{margin-top:8px;font-size:14.5px;}
.update-item .update-isi p{margin-bottom:12px;}
.news-cat:empty,.article-cat:empty{display:none;}

/* Foto pembuka halaman (Zakat, Sedekah, Wakaf, Kurban) bila sudah diisi: proporsi sama dengan beranda */
.hero-photo.has-slot.slot-isi{min-height:0;aspect-ratio:4/3;background:var(--sand);}
.profil-photo.has-slot.slot-isi{background:var(--sand);}

/* Kolom harga emas di kalkulator zakat */
.emas-acuan{margin-bottom:20px;padding:16px 16px 4px;border-radius:14px;background:rgba(192,136,41,0.10);border:1px solid rgba(192,136,41,0.35);}
.emas-acuan .field{margin-bottom:12px;}
.emas-acuan .field-currency{background:var(--white);}
.emas-acuan .emas-nisab{color:var(--ink);font-size:12.5px;}
.emas-acuan .emas-nisab.salah{color:var(--maroon);font-weight:700;}
.emas-acuan .field-currency.salah{outline:2px solid var(--maroon);outline-offset:1px;}
.emas-acuan[hidden]{display:none;}

/* Form donasi: cara bayar yang belum aktif & pilihan bank tujuan */
.pm-chip.nonaktif{opacity:.45;cursor:not-allowed;}
.pm-chip.nonaktif::after{content:" · segera";font-weight:500;font-size:.86em;}
.pay-tujuan{margin-top:12px;}
.pay-tujuan .field-label{display:block;margin-bottom:8px;}
.pay-tujuan[hidden],.ddb-catatan[hidden]{display:none;}
.donate-cta .btn[disabled]{opacity:.7;cursor:progress;}

/* ===== Bilah atas: Kalkulator Zakat & Jemput Zakat ===== */
.topbar .tk-link{flex-wrap:wrap;row-gap:4px;}
.topbar .tk-link a.tk-penting{opacity:1;font-weight:700;}
.topbar .tk-link a.tk-penting::before{content:"●";color:var(--gold);font-size:8px;margin-right:6px;vertical-align:2px;}
@media (max-width:559px){.topbar .tk-link{gap:12px;}.topbar .tk-link > span{display:none;}}

/* ===== Beranda: kalkulator zakat ringkas ===== */
.hz{padding:0 0 44px;scroll-margin-top:90px;}
.hz-grid{display:grid;gap:18px;}
.hz-kartu{position:relative;overflow:hidden;background:var(--white);border:1px solid rgba(27,67,50,0.12);border-radius:22px;padding:24px 20px 22px;box-shadow:0 20px 50px rgba(23,36,28,0.07);}
.hz-kartu::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--forest),var(--gold));}
.hz-label{display:inline-block;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--maroon);}
.hz-kepala h2{font-family:var(--font-display);font-weight:600;font-size:clamp(23px,3.6vw,30px);line-height:1.18;color:var(--forest-text);margin-top:6px;}
.hz-kepala p{font-size:14px;color:var(--ink-soft);margin-top:6px;max-width:52ch;}
.hz-tab{display:inline-flex;gap:4px;padding:4px;margin:18px 0 16px;background:var(--sand);border-radius:999px;}
.hz-tab button{border:0;background:transparent;padding:8px 20px;border-radius:999px;font-weight:700;font-size:13.5px;color:var(--ink-soft);}
.hz-tab button.aktif{background:var(--white);color:var(--forest-text);box-shadow:0 2px 8px rgba(23,36,28,0.12);}
.hz-panel{display:grid;gap:14px;}
.hz-isian label,.hz-emas label{display:block;font-size:13px;font-weight:700;color:var(--ink);margin-bottom:7px;}
.hz-uang{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1.5px solid rgba(27,67,50,0.18);border-radius:12px;background:var(--ivory);}
.hz-uang:focus-within{border-color:var(--forest);}
.hz-uang span{font-family:var(--font-mono);font-size:14px;color:var(--ink-soft);}
.hz-uang input{width:100%;min-width:0;border:0;background:none;outline:none;font-family:inherit;font-size:15px;font-weight:600;color:var(--ink);}
.hz-uang-besar{padding:12px 16px;}
.hz-uang-besar input{font-family:var(--font-mono);font-size:21px;font-weight:500;}
.hz-emas{padding:12px 14px 10px;border-radius:14px;background:rgba(192,136,41,0.10);border:1px solid rgba(192,136,41,0.35);}
.hz-emas .hz-uang{background:var(--white);padding:8px 12px;}
.hz-emas.salah .hz-uang{outline:2px solid var(--maroon);outline-offset:1px;}
.hz-catatan{margin-top:6px;font-size:12px;color:var(--ink-soft);}
.hz-jiwa{display:inline-flex;align-items:center;border:1.5px solid rgba(27,67,50,0.18);border-radius:12px;background:var(--ivory);overflow:hidden;}
.hz-jiwa input{width:76px;padding:10px 0;border:0;background:none;text-align:center;font-family:var(--font-mono);font-size:21px;color:var(--ink);-moz-appearance:textfield;appearance:textfield;}
.hz-jiwa input::-webkit-inner-spin-button,.hz-jiwa input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}
.hz-langkah{width:48px;height:50px;border:0;background:transparent;font-size:22px;line-height:1;color:var(--forest-text);}
.hz-langkah:hover{background:rgba(61,122,91,0.08);}
.hz-hasil{display:flex;flex-direction:column;gap:4px;margin-top:18px;padding:16px 18px;border-radius:16px;background:var(--forest-dark);color:var(--ivory);}
.hz-hasil-label{font-size:12.5px;color:rgba(251,246,235,0.72);}
.hz-hasil-angka{font-family:var(--font-mono);font-size:clamp(25px,5vw,34px);font-weight:500;line-height:1.2;color:var(--white);}
.hz-hasil.hz-bawah .hz-hasil-angka{font-family:var(--font-body);font-size:clamp(18px,4vw,22px);font-weight:700;color:var(--gold);}
.hz-hasil-ket{font-size:12.5px;color:rgba(251,246,235,0.8);}
.hz-hasil-ket strong{color:var(--white);}
.hz-sedekah{margin-top:6px;font-size:13px;font-weight:700;color:var(--gold);text-decoration:underline;text-underline-offset:3px;}
.hz-aksi{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:16px;}
.hz-aksi .hz-lengkap{font-size:13.5px;font-weight:700;color:var(--forest-text);text-decoration:underline;text-underline-offset:3px;}
.hz-jemput{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:10px;padding:24px 20px 22px;border-radius:22px;background:var(--forest);color:var(--ivory);}
.hz-jemput::after{content:"";position:absolute;right:-50px;bottom:-50px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(192,136,41,0.38),transparent 70%);pointer-events:none;}
.hz-jemput .hz-label{color:var(--gold);}
.hz-jemput h3{font-family:var(--font-display);font-size:clamp(21px,3vw,25px);font-weight:600;line-height:1.22;}
.hz-jemput p{font-size:14px;color:rgba(251,246,235,0.86);}
.hz-fakta{display:grid;gap:8px;margin:4px 0 8px;}
.hz-fakta li{display:grid;grid-template-columns:70px 1fr;gap:8px;font-size:13.5px;line-height:1.45;}
.hz-fakta li span{padding-top:2px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);}
.hz-jemput-tombol{position:relative;z-index:1;align-self:flex-start;margin-top:auto;background:var(--ivory);color:var(--forest-dark);}
.hz-jemput-tombol:hover{background:var(--white);color:var(--forest-dark);transform:translateY(-1px);}
.hz-isi{display:grid;gap:14px;}
@media (max-width:479px){.hz-tab button{padding:8px 14px;}.hz-tab-depan{display:none;}}
@media (min-width:640px){
  .hz-kartu,.hz-jemput{padding:28px 28px 26px;}
  .hz-isi.dengan-emas{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;}
}
@media (min-width:920px){.hz-grid{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);align-items:stretch;}}

/* ===== Halaman Jemput Zakat ===== */
.jz-hero h1 em{font-style:normal;color:var(--maroon);}
.jz-fakta{display:grid;gap:8px;max-width:540px;margin-top:20px;}
.jz-fakta li{display:grid;grid-template-columns:96px 1fr;gap:10px;padding:10px 14px;border-radius:12px;background:var(--white);border:1px solid rgba(27,67,50,0.1);font-size:14px;color:var(--ink);}
.jz-fakta li span{padding-top:2px;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--maroon);}
.jz-langkah-kartu{padding:24px 22px;border-radius:22px;background:var(--forest-dark);color:var(--ivory);}
.jz-langkah-kartu h2{margin-bottom:16px;font-family:var(--font-display);font-size:22px;font-weight:600;color:var(--ivory);}
.jz-langkah{display:grid;gap:16px;counter-reset:jz;}
.jz-langkah li{display:grid;grid-template-columns:34px 1fr;gap:2px 12px;counter-increment:jz;}
.jz-langkah li::before{content:counter(jz);grid-row:span 2;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--gold);color:var(--forest-dark);font-family:var(--font-display);font-weight:700;}
.jz-langkah strong{font-size:15px;}
.jz-langkah span{font-size:13px;color:rgba(251,246,235,0.8);}
.jz-bagian{padding:8px 0 56px;scroll-margin-top:90px;}
.jz-grid{display:grid;gap:22px;}
.pay-card.jz-kartu{margin-top:0;}
.jz-waktu{display:grid;gap:8px;}
.jz-pilih{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1.5px solid rgba(27,67,50,0.18);border-radius:10px;cursor:pointer;font-size:13.5px;}
.jz-pilih input{width:16px;height:16px;accent-color:var(--forest);}
.jz-pilih:has(input:checked){border-color:var(--forest);background:rgba(61,122,91,0.08);}
.jz-waktu.salah .jz-pilih{border-color:var(--maroon);}
.pay-card textarea.text-field{resize:vertical;font-family:inherit;line-height:1.45;}
.pay-card .select-field.salah,.pay-card .field-currency.salah{border-color:var(--maroon)!important;}
.jz-kirim{margin-top:22px;}
.jz-kirim .ddb-catatan{margin-bottom:12px;}
.jz-kirim .btn{width:100%;padding:14px 20px;font-size:15px;}
.jz-kirim .btn[disabled]{opacity:.7;cursor:progress;}
.jz-privasi{margin-top:10px;text-align:center;font-size:11.5px;color:var(--ink-soft);}
.jz-berhasil{padding:8px 0 4px;text-align:center;outline:none;}
.jz-centang{display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin:0 auto 12px;border-radius:50%;background:var(--forest);color:var(--ivory);font-size:28px;}
.jz-berhasil h3{font-family:var(--font-display);font-size:24px;color:var(--forest-dark);}
.jz-kode{margin-top:6px;color:var(--ink-soft);}
.jz-kode strong{font-family:var(--font-mono);font-size:16px;letter-spacing:.03em;color:var(--ink);}
.jz-berhasil #jzUlang{max-width:520px;margin:12px auto 0;}
.jz-ringkas{display:grid;grid-template-columns:120px 1fr;gap:8px 12px;max-width:540px;margin:16px auto;padding:14px 16px;border-radius:14px;background:var(--ivory);text-align:left;font-size:13.5px;}
.jz-ringkas dt{color:var(--ink-soft);}
.jz-ringkas dd{margin:0;color:var(--ink);overflow-wrap:anywhere;}
.jz-langkah-akhir{max-width:46ch;margin:0 auto 14px;font-size:14px;}
.jz-berhasil .field-hint{max-width:46ch;margin:10px auto 16px;}
.jz-samping{display:grid;gap:14px;}
.jz-info{padding:16px 18px;border-radius:16px;background:var(--white);border:1px solid rgba(27,67,50,0.1);}
.jz-info h3{margin-bottom:4px;font-size:15px;color:var(--forest-text);}
.jz-info p{font-size:13px;color:var(--ink-soft);}
.jz-info a{display:inline-block;margin-top:8px;font-size:13px;font-weight:700;color:var(--forest-text);text-decoration:underline;text-underline-offset:3px;}
.jz-tutup-aksi{margin-top:16px;}
.pay-card .field-hint a{color:var(--forest-text);text-decoration:underline;text-underline-offset:2px;}
@media (min-width:980px){.jz-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start;}}
@media (max-width:559px){.jz-ringkas{grid-template-columns:1fr;gap:2px;}.jz-ringkas dd{margin-bottom:8px;}.jz-fakta li{grid-template-columns:84px 1fr;}}

/* Ajakan Jemput Zakat di halaman Zakat */
.jz-ajak{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 18px;margin-top:16px;padding:16px 18px;border-radius:16px;background:rgba(192,136,41,0.10);border:1px solid rgba(192,136,41,0.4);}
.jz-ajak-teks{flex:1 1 320px;}
.jz-ajak-teks strong{display:block;font-size:15px;color:var(--forest-dark);}
.jz-ajak-teks span{display:block;margin-top:3px;font-size:13px;color:var(--ink-soft);}
