/* RBFund — Frontend styles (lightweight, responsive, no dependencies) */
:root {
	--rbfund-primary: #16a34a;
	--rbfund-primary-dark: #15803d;
	--rbfund-progress: #16a34a;
	--rbfund-btn: #16a34a;
	--rbfund-btn-shortcode: #16a34a;
	--rbfund-bg: #ffffff;
	--rbfund-muted: #6b7280;
	--rbfund-border: #e5e7eb;
	--rbfund-radius: 12px;

	/* Design tokens tambahan (dipakai komponen baru; tidak mengubah yg lama) */
	--rbfund-primary-soft: rgba(22, 163, 74, .08);
	--rbfund-text: #1f2937;
	--rbfund-text-soft: #4b5563;
	--rbfund-bg-soft: #f8fafc;
	--rbfund-border-soft: #eef2f6;
	--rbfund-radius-sm: 8px;
	--rbfund-radius-lg: 16px;
	--rbfund-radius-pill: 999px;
	--rbfund-shadow-sm: 0 1px 2px rgba(16, 24, 40, .04), 0 1px 3px rgba(16, 24, 40, .06);
	--rbfund-shadow-md: 0 4px 12px rgba(16, 24, 40, .06), 0 2px 4px rgba(16, 24, 40, .04);
	--rbfund-shadow-lg: 0 12px 28px rgba(16, 24, 40, .10), 0 4px 8px rgba(16, 24, 40, .05);
	--rbfund-space-xs: 6px;
	--rbfund-space-sm: 10px;
	--rbfund-space-md: 16px;
	--rbfund-space-lg: 24px;
	--rbfund-transition: .18s cubic-bezier(.4, 0, .2, 1);
	--rbfund-page-width: 500px;
}

.rbfund-campaign-card,
.rbfund-single,
.rbfund-single-form,
.rbfund-form {
	box-sizing: border-box;
}
.rbfund-campaign-card *,
.rbfund-form * { box-sizing: border-box; }

/* Progress bar */
.rbfund-progress {
	background: var(--rbfund-border);
	border-radius: 999px;
	height: 12px;
	overflow: hidden;
	margin: 12px 0;
}
.rbfund-progress-bar {
	background: linear-gradient(90deg, var(--rbfund-progress, var(--rbfund-primary)), var(--rbfund-progress, var(--rbfund-primary-dark)));
	height: 100%;
	border-radius: 999px;
	transition: width .6s ease;
	min-width: 2px;
}

/* Stats */
.rbfund-stats {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	margin: 12px 0 16px;
}
.rbfund-stat { display: flex; flex-direction: column; }
.rbfund-stat-value { font-size: 1.15rem; font-weight: 700; color: #111827; }
.rbfund-stat-label { font-size: .8rem; color: var(--rbfund-muted); }

/* Campaign card */
.rbfund-campaign-card {
	border: 1px solid var(--rbfund-border);
	border-radius: var(--rbfund-radius);
	overflow: hidden;
	background: var(--rbfund-bg);
	max-width: 640px;
}
.rbfund-campaign-thumb img { width: 100%; height: auto; display: block; }
.rbfund-campaign-body { padding: 20px; }
.rbfund-campaign-title { margin: 0 0 8px; font-size: 1.35rem; }

/* Form */
.rbfund-form { margin-top: 16px; }
.rbfund-field { margin-bottom: 14px; }
.rbfund-field label { display: block; font-weight: 600; margin-bottom: 6px; font-size: .9rem; }
.rbfund-field input,
.rbfund-field select,
.rbfund-field textarea {
	width: 100%;
	padding: 11px 12px;
	border: 1px solid var(--rbfund-border);
	border-radius: 8px;
	font-size: 1rem;
	font-family: inherit;
}
.rbfund-field input:focus,
.rbfund-field select:focus,
.rbfund-field textarea:focus {
	outline: none;
	border-color: var(--rbfund-primary);
	box-shadow: 0 0 0 3px rgba(22,163,74,.15);
}
.rbfund-row { display: flex; gap: 12px; }
.rbfund-row .rbfund-field { flex: 1; }

.rbfund-presets { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; }
.rbfund-preset {
	border: 1px solid var(--rbfund-border);
	background: #f9fafb;
	border-radius: 8px;
	padding: 8px 12px;
	cursor: pointer;
	font-size: .9rem;
	transition: all .15s ease;
}
.rbfund-preset:hover { border-color: var(--rbfund-primary); }
.rbfund-preset.active {
	background: var(--rbfund-primary);
	color: #fff;
	border-color: var(--rbfund-primary);
}

.rbfund-check { display: flex; align-items: center; gap: 8px; font-size: .9rem; margin-bottom: 14px; }
.rbfund-check input { width: auto; }

.rbfund-submit {
	width: 100%;
	background: var(--rbfund-btn, var(--rbfund-primary));
	color: #fff;
	border: none;
	border-radius: 10px;
	padding: 14px;
	font-size: 1.05rem;
	font-weight: 700;
	cursor: pointer;
	transition: background .15s ease;
}
.rbfund-submit:hover { background: var(--rbfund-primary-dark); }
.rbfund-submit:disabled { opacity: .6; cursor: not-allowed; }

.rbfund-form-message {
	margin-top: 14px;
	padding: 14px;
	border-radius: 10px;
	background: #f0fdf4;
	border: 1px solid #bbf7d0;
	font-size: .92rem;
}
.rbfund-form-message.error { background: #fef2f2; border-color: #fecaca; }
.rbfund-form-message .rbfund-bank { margin: 8px 0; padding-left: 18px; }
.rbfund-form-message .rbfund-note { color: var(--rbfund-muted); font-size: .85rem; margin-top: 8px; }
.rbfund-qris { max-width: 220px; height: auto; margin: 8px 0; }

/* Grid */
.rbfund-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 20px;
}
.rbfund-grid-item {
	border: 1px solid var(--rbfund-border);
	border-radius: var(--rbfund-radius);
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	background: var(--rbfund-bg);
	transition: transform .15s ease, box-shadow .15s ease;
}
.rbfund-grid-item:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(0,0,0,.08); }
.rbfund-grid-thumb img {
	width: 100%;
	height: auto;
	max-width: 100%;
	display: block;
	vertical-align: middle;
}
.rbfund-grid-body { padding: 14px; }
.rbfund-grid-body h4 { margin: 0 0 6px; font-size: 1rem; line-height: 1.3; }
.rbfund-grid-meta { display: flex; justify-content: space-between; font-size: .85rem; color: var(--rbfund-muted); }

/* Sticky button */
.rbfund-sticky-btn {
	position: fixed;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--rbfund-btn, var(--rbfund-primary));
	color: #fff !important;
	padding: 14px 32px;
	border-radius: 999px;
	font-weight: 700;
	text-decoration: none;
	box-shadow: 0 6px 20px rgba(22,163,74,.4);
	z-index: 9999;
}
.rbfund-sticky-btn:hover { background: var(--rbfund-primary-dark); }

.rbfund-progress-mini small { color: var(--rbfund-muted); }

/* Responsive */
@media (max-width: 560px) {
	.rbfund-row { flex-direction: column; gap: 0; }
	.rbfund-stats { gap: 12px; }
	.rbfund-campaign-body { padding: 16px; }
}

/* ============ Kabar & Doa ============ */
.rbfund-section { margin: 28px 0; }
.rbfund-section-title {
	font-size: 1.15rem;
	font-weight: 700;
	margin: 0 0 14px;
	padding-bottom: 8px;
	border-bottom: 2px solid var(--rbfund-primary, #16a34a);
	display: inline-block;
}

/* Timeline kabar */
.rbfund-timeline { border-left: 2px solid #e6ebef; padding-left: 18px; }
.rbfund-update { position: relative; margin-bottom: 22px; }
.rbfund-update::before {
	content: "";
	position: absolute;
	left: -25px;
	top: 4px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--rbfund-primary, #16a34a);
	box-shadow: 0 0 0 3px #fff;
}
.rbfund-update-date { font-size: .8rem; color: #8a97a3; margin-bottom: 3px; }
.rbfund-update-title { margin: 0 0 8px; font-size: 1rem; }
.rbfund-update-img { width: 100%; border-radius: 10px; margin: 6px 0 10px; display: block; }
.rbfund-update-content { color: #47555f; line-height: 1.6; font-size: .95rem; }
.rbfund-update-content p { margin: 0 0 8px; }

/* Dinding doa */
.rbfund-doa-list { display: flex; flex-direction: column; gap: 14px; }
.rbfund-doa-item { display: flex; gap: 12px; align-items: flex-start; }
.rbfund-doa-avatar {
	flex: none;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--rbfund-primary, #16a34a);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 1rem;
}
.rbfund-doa-body {
	background: #f6f8fa;
	border-radius: 12px;
	padding: 12px 14px;
	flex: 1;
	min-width: 0;
}
.rbfund-doa-head { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 4px; margin-bottom: 4px; }
.rbfund-doa-name { font-weight: 600; }
.rbfund-doa-meta { font-size: .78rem; color: #8a97a3; }
.rbfund-doa-message { margin: 0 0 8px; color: #3c4a54; line-height: 1.55; font-size: .95rem; }

.rbfund-aamiin-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #fff;
	border: 1px solid #d7dee4;
	border-radius: 999px;
	padding: 5px 13px;
	font-size: .82rem;
	color: #4b5a66;
	cursor: pointer;
	transition: all .15s;
}
.rbfund-aamiin-btn:hover { border-color: var(--rbfund-primary, #16a34a); color: var(--rbfund-primary, #16a34a); }
.rbfund-aamiin-btn.amiined {
	background: var(--rbfund-primary, #16a34a);
	border-color: var(--rbfund-primary, #16a34a);
	color: #fff;
	cursor: default;
}
.rbfund-aamiin-count {
	background: rgba(0, 0, 0, .08);
	border-radius: 999px;
	padding: 1px 8px;
	font-weight: 700;
	font-size: .78rem;
}
.rbfund-aamiin-btn.amiined .rbfund-aamiin-count { background: rgba(255, 255, 255, .25); }

@media (max-width: 600px) {
	.rbfund-doa-avatar { width: 36px; height: 36px; }
}

/* ============ Fundraiser + Referral ============ */
.rbfund-ref-note {
	background: #eef7ff;
	border: 1px solid #cfe6fb;
	color: #1e6fa8;
	border-radius: 10px;
	padding: 10px 14px;
	margin-bottom: 14px;
	font-size: .92rem;
}
.rbfund-ref-ic { margin-right: 4px; }

.rbfund-fr-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	margin-bottom: 16px;
}
.rbfund-fr-card {
	display: flex;
	gap: 10px;
	align-items: center;
	background: #f6f8fa;
	border-radius: 10px;
	padding: 10px 12px;
}
.rbfund-fr-avatar {
	width: 38px; height: 38px; flex: none;
	border-radius: 50%;
	background: var(--rbfund-primary, #16a34a);
	color: #fff; font-weight: 700;
	display: flex; align-items: center; justify-content: center;
}
.rbfund-fr-info { min-width: 0; }
.rbfund-fr-info strong { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rbfund-fr-sub { font-size: .78rem; color: #7a8893; }

.rbfund-fr-cta { text-align: center; margin-top: 6px; }
.rbfund-fr-toggle {
	background: transparent;
	border: 2px dashed var(--rbfund-primary, #16a34a);
	color: var(--rbfund-primary, #16a34a);
	border-radius: 999px;
	padding: 10px 20px;
	font-weight: 600;
	cursor: pointer;
	font-size: .92rem;
}
.rbfund-fr-toggle:hover { background: var(--rbfund-primary, #16a34a); color: #fff; }
.rbfund-fr-collapse { margin-top: 14px; text-align: left; }

/* Form daftar fundraiser */
.rbfund-fr-intro { color: #556572; font-size: .92rem; margin: 0 0 10px; }
.rbfund-fr-fields { display: flex; flex-direction: column; gap: 8px; margin-bottom: 10px; }
.rbfund-fr-fields input {
	padding: 10px 12px;
	border: 1px solid #d5dde4;
	border-radius: 8px;
	font-size: .95rem;
}
.rbfund-fr-submit {
	background: var(--rbfund-primary, #16a34a);
	color: #fff; border: none;
	border-radius: 8px;
	padding: 10px 18px;
	font-weight: 600; cursor: pointer;
}
.rbfund-fr-msg { margin-top: 8px; font-size: .88rem; }

/* Dashboard fundraiser */
.rbfund-fr-panel {
	background: #f6faf7;
	border: 1px solid #d8ebde;
	border-radius: 12px;
	padding: 16px;
}
.rbfund-fr-hello { margin: 0 0 10px; }
.rbfund-fr-linkrow { display: flex; gap: 8px; margin-bottom: 12px; }
.rbfund-fr-link {
	flex: 1; min-width: 0;
	padding: 9px 11px;
	border: 1px solid #cdd7de;
	border-radius: 8px;
	background: #fff;
	font-size: .85rem;
}
.rbfund-fr-copy {
	background: var(--rbfund-primary, #16a34a);
	color: #fff; border: none;
	border-radius: 8px; padding: 0 16px;
	font-weight: 600; cursor: pointer; flex: none;
}
.rbfund-fr-stats { display: flex; gap: 10px; margin-bottom: 12px; }
.rbfund-fr-stat {
	flex: 1; background: #fff;
	border: 1px solid #e4ece7;
	border-radius: 10px;
	padding: 10px; text-align: center;
}
.rbfund-fr-num { display: block; font-weight: 700; color: var(--rbfund-primary, #16a34a); }
.rbfund-fr-lbl { font-size: .74rem; color: #7a8893; }
.rbfund-fr-sharelabel { margin: 0 0 6px; font-size: .82rem; color: #566; }
.rbfund-fr-share { display: flex; flex-wrap: wrap; gap: 8px; }
.rbfund-share {
	color: #fff; text-decoration: none;
	padding: 8px 14px; border-radius: 8px;
	font-size: .85rem; font-weight: 600;
}
.rbfund-share.wa { background: #25d366; }
.rbfund-share.fb { background: #1877f2; }
.rbfund-share.tw { background: #0f1419; }
.rbfund-share.tg { background: #229ed9; }
.rbfund-share:hover { opacity: .9; }

@media (max-width: 600px) {
	.rbfund-fr-list { grid-template-columns: 1fr; }
}

/* ============ Form style variants & lokasi ============ */
.rbfund-presets--list { display: flex; flex-direction: column; gap: 8px; }
.rbfund-presets--list .rbfund-preset { width: 100%; text-align: left; }

.rbfund-campaign-loc {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: 10px;
	font-size: .9rem;
	color: #5c6b76;
}
.rbfund-loc-map {
	color: var(--rbfund-primary, #16a34a);
	text-decoration: none;
	font-weight: 600;
}
.rbfund-loc-map:hover { text-decoration: underline; }

/* ==================================================================
   HALAMAN CAMPAIGN (single template)
   ================================================================== */
.rbfund-campaign-page {
	max-width: 1140px;
	margin: 24px auto;
	padding: 0 16px;
	color: #26333d;
}
.rbfund-cp-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 24px;
	align-items: start;
}
/* Desktop (Wide): rapikan sidebar kanan agar mengikuti scroll & jarak seragam. */
.rbfund-cp-side {
	position: sticky;
	top: 78px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.rbfund-cp-main {
	display: flex;
	flex-direction: column;
	gap: 16px;
	min-width: 0;
}
/* Judul & lokasi ikut alur flex (gap), tanpa margin dobel. */
.rbfund-cp-main > .rbfund-cp-title,
.rbfund-cp-main > .rbfund-cp-loc,
.rbfund-cp-main > .rbfund-cp-cover,
.rbfund-cp-main > .rbfund-cp-video { margin: 0; }
/* Pakai gap dari flex; hilangkan margin-bottom kartu agar jarak tidak dobel. */
.rbfund-cp-main > .rbfund-cp-card,
.rbfund-cp-side > .rbfund-cp-card { margin-bottom: 0; }

/* Cover — rasio konsisten agar tidak terlalu besar di desktop */
.rbfund-cp-cover { position: relative; border-radius: 16px; overflow: hidden; background: #eef1f5; }
/* Banner tampil UTUH mengikuti rasio aslinya (tidak di-crop), responsif
   menyesuaikan lebar layar. Tinggi otomatis mengikuti proporsi gambar. */
.rbfund-cp-cover img { width: 100%; height: auto; display: block; }
.rbfund-cp-cover-ph {
	background: linear-gradient(135deg, #1f2b6b, #16a34a);
	aspect-ratio: 20 / 11;
	display: flex; align-items: center; justify-content: center;
}
.rbfund-cp-cover-ph .dashicons { color: rgba(255,255,255,.6); font-size: 60px; width: 60px; height: 60px; }
.rbfund-cp-cover-actions {
	position: absolute;
	right: 14px; bottom: 14px;
	display: flex; gap: 10px;
}
.rbfund-cp-btn {
	display: inline-flex; align-items: center; gap: 6px;
	background: #fff; color: var(--rbfund-primary, #16a34a);
	border: 1px solid rgba(0,0,0,.06);
	border-radius: 999px;
	padding: 8px 16px;
	font-weight: 600; font-size: .85rem;
	text-decoration: none; cursor: pointer;
	box-shadow: 0 2px 8px rgba(0,0,0,.15);
}
.rbfund-cp-btn .dashicons { font-size: 16px; width: 16px; height: 16px; }

.rbfund-cp-title { font-size: 1.4rem; font-weight: 800; margin: 0; line-height: 1.3; }
.rbfund-cp-loc { display: flex; align-items: center; gap: 5px; color: #8a97a3; font-size: .92rem; margin: 0; }
.rbfund-cp-loc .dashicons { font-size: 17px; width: 17px; height: 17px; }
.rbfund-cp-loc a { color: var(--rbfund-primary, #16a34a); text-decoration: none; }

/* Tabs */
.rbfund-tabs {
	display: flex;
	gap: 0;
	border-bottom: 2px solid #eef2f5;
	margin-bottom: 20px;
	overflow-x: auto;
}
.rbfund-tab {
	background: transparent;
	border: none;
	padding: 14px 22px;
	font-size: .98rem;
	font-weight: 600;
	color: #6b7280;
	cursor: pointer;
	white-space: nowrap;
	border-bottom: 3px solid transparent;
	margin-bottom: -2px;
	transition: color .15s, border-color .15s;
}
.rbfund-tab:hover { color: var(--rbfund-primary, #16a34a); }
.rbfund-tab.active {
	color: var(--rbfund-primary, #16a34a);
	border-bottom-color: var(--rbfund-primary, #16a34a);
	background: transparent;
}
/* tabpane display is controlled in polish section below */

/* Konten + read more */
.rbfund-content-collapse { position: relative; max-height: 340px; overflow: hidden; transition: max-height .3s ease; }
.rbfund-content-collapse.expanded { max-height: none; }
.rbfund-content-inner img { max-width: 100%; height: auto; border-radius: 10px; }
.rbfund-content-fade {
	position: absolute; left: 0; right: 0; bottom: 0; height: 90px;
	background: linear-gradient(to bottom, rgba(255,255,255,0), #fff);
	pointer-events: none;
}
.rbfund-content-collapse.expanded .rbfund-content-fade { display: none; }
/* Collapse generik (kabar, donatur, dll.) — sama gaya dgn Keterangan. */
.rbfund-collapse { position: relative; max-height: 420px; overflow: hidden; transition: max-height .3s ease; }
.rbfund-collapse.expanded { max-height: none; }
.rbfund-collapse-fade {
	position: absolute; left: 0; right: 0; bottom: 0; height: 90px;
	background: linear-gradient(to bottom, rgba(255,255,255,0), #fff);
	pointer-events: none;
}
.rbfund-collapse.expanded .rbfund-collapse-fade { display: none; }
.rbfund-readmore {
	display: block;
	margin: 14px auto 0;
	background: #fff;
	border: 1px solid var(--rbfund-primary, #16a34a);
	color: var(--rbfund-primary, #16a34a);
	border-radius: 999px;
	padding: 9px 26px;
	font-weight: 600;
	cursor: pointer;
}

.rbfund-empty { color: #8a97a3; font-style: italic; padding: 12px 0; }

/* Donatur rows */
.rbfund-donor-rows { display: flex; flex-direction: column; }
.rbfund-donor-row { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid #f0f3f5; }
.rbfund-donor-ava {
	width: 40px; height: 40px; border-radius: 50%; flex: none;
	background: var(--rbfund-primary, #16a34a); color: #fff;
	display: flex; align-items: center; justify-content: center; font-weight: 700;
}
.rbfund-donor-meta { flex: 1; min-width: 0; }
.rbfund-donor-meta strong { display: block; }
.rbfund-donor-meta span { font-size: .8rem; color: #8a97a3; }
.rbfund-donor-amt { font-weight: 700; color: var(--rbfund-primary, #16a34a); }

/* ============ Sidebar ============ */
.rbfund-cp-card {
	background: #fff;
	border: 1px solid #edf1f4;
	border-radius: 14px;
	padding: 20px;
	margin-bottom: 18px;
	box-shadow: 0 2px 12px rgba(20,40,60,.04);
}
.rbfund-cp-card-title { margin: 0 0 14px; font-size: 1.1rem; font-weight: 700; }

/* Donate card */
.rbfund-cp-donatecard {
	background: #fff;
	border: 1px solid #edf1f4;
	border-radius: 14px;
	padding: 22px;
	margin-bottom: 18px;
	box-shadow: 0 2px 12px rgba(20,40,60,.04);
}
.rbfund-cp-donatecard--mobile { display: none; }
.rbfund-dc-amounts { margin-bottom: 12px; }
.rbfund-dc-raised { display: block; font-size: 1.5rem; font-weight: 800; color: #1f2b33; }
.rbfund-dc-target { font-size: .85rem; color: #8a97a3; }
.rbfund-dc-bar { height: 8px; background: #eef2f5; border-radius: 999px; overflow: hidden; margin-bottom: 12px; }
.rbfund-dc-bar span { display: block; height: 100%; background: var(--rbfund-primary, #16a34a); border-radius: 999px; }
.rbfund-dc-meta { display: flex; justify-content: space-between; font-size: .88rem; color: #59666f; margin-bottom: 16px; }
.rbfund-dc-btn {
	width: 100%;
	background: var(--rbfund-primary, #16a34a);
	color: #fff; border: none;
	border-radius: 10px;
	padding: 14px;
	font-size: 1rem;
	font-weight: 700;
	cursor: pointer;
}
.rbfund-dc-btn:hover { filter: brightness(.95); }

/* Organizer */
.rbfund-org { display: flex; align-items: center; gap: 12px; }
.rbfund-org-logo {
	width: 48px; height: 48px; border-radius: 12px; flex: none;
	background: #1f2b6b; color: #fff;
	display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 1.2rem;
	overflow: hidden;
}
.rbfund-org-logo--img { background: #fff; border: 1px solid #e5e7eb; }
.rbfund-org-logo--img img { width: 100%; height: 100%; object-fit: contain; display: block; }
.rbfund-org-info strong { display: block; color: #1d4ed8; }
.rbfund-org-badge { font-size: .78rem; color: #16a34a; display: inline-flex; align-items: center; gap: 3px; }
.rbfund-org-badge .dashicons { font-size: 14px; width: 14px; height: 14px; }

/* Sidebar doa */
.rbfund-sidedoa {
	border: 1px solid #eef2f5;
	border-radius: 12px;
	padding: 14px;
	margin-bottom: 12px;
}
.rbfund-hidden-extra { display: none; }
.rbfund-sidedoa-list.expanded .rbfund-hidden-extra { display: block; }
.rbfund-sidedoa-head { display: flex; justify-content: space-between; gap: 6px; margin-bottom: 6px; }
.rbfund-sidedoa-name { font-weight: 700; }
.rbfund-sidedoa-time { font-size: .76rem; color: #9aa5b1; white-space: nowrap; }
.rbfund-sidedoa-msg { margin: 0 0 10px; color: #47555f; font-size: .92rem; line-height: 1.5; }

.rbfund-loadmore {
	display: block; margin: 4px auto 0;
	background: #fff; border: 1px solid #d7dee4;
	border-radius: 999px; padding: 8px 22px;
	color: #59666f; cursor: pointer; font-weight: 600;
}

/* Sidebar fundraiser */
.rbfund-sidefr {
	border: 1px solid #eef2f5;
	border-radius: 12px;
	padding: 12px 14px;
	margin-bottom: 10px;
}
.rbfund-sidefr-name { display: block; color: var(--rbfund-primary, #16a34a); }
.rbfund-sidefr-sub { display: block; font-size: .84rem; color: #59666f; margin: 2px 0 4px; }
.rbfund-sidefr-amt { font-weight: 700; }
.rbfund-frcta { text-align: center; margin-top: 14px; padding-top: 14px; border-top: 1px solid #f0f3f5; }
.rbfund-frcta-text { font-size: .88rem; color: #59666f; margin: 0 0 12px; }
.rbfund-frcta-btn {
	width: 100%;
	background: var(--rbfund-primary, #16a34a);
	color: #fff; border: none; border-radius: 10px;
	padding: 12px; font-weight: 700; cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center; gap: 6px;
}

/* Modal */
.rbfund-modal { position: fixed; inset: 0; z-index: 99999; display: none; }
.rbfund-modal.open { display: block; }
.rbfund-modal-overlay { position: absolute; inset: 0; background: rgba(15,23,32,.55); }
.rbfund-modal-box {
	position: relative;
	max-width: 460px;
	margin: 5vh auto;
	background: #fff;
	border-radius: 16px;
	padding: 26px;
	max-height: 90vh;
	overflow-y: auto;
	box-shadow: 0 20px 60px rgba(0,0,0,.3);
}
.rbfund-modal-x {
	position: absolute; right: 16px; top: 12px;
	background: none; border: none; font-size: 26px; line-height: 1;
	color: #9aa5b1; cursor: pointer;
}
.rbfund-modal-title { margin: 0 0 16px; font-size: 1.25rem; }

/* Responsive */
@media (max-width: 900px) {
	.rbfund-cp-grid { grid-template-columns: 1fr; }
	.rbfund-cp-donatecard--desktop { display: none; }
	.rbfund-cp-donatecard--mobile { display: block; }
	.rbfund-cp-side { position: static; }
}

/* ============ Shortcode varian ============ */
.rbfund-info-box { border: 1px solid #edf1f4; border-radius: 12px; padding: 16px; }
.rbfund-info-title { margin: 0 0 4px; font-size: 1.05rem; }
.rbfund-info-loc { color: #8a97a3; font-size: .85rem; margin-bottom: 10px; }
.rbfund-info-stats { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 10px; font-size: .9rem; color: #566; }
.rbfund-info-stats strong { color: var(--rbfund-primary, #16a34a); }
.rbfund-sc-raised, .rbfund-sc-count { font-weight: 700; color: var(--rbfund-primary, #16a34a); }

.rbfund-listcard {
	display: flex; gap: 14px; align-items: center;
	text-decoration: none; color: inherit;
	border: 1px solid #edf1f4; border-radius: 12px; padding: 12px;
	max-width: 520px;
}
.rbfund-listcard-thumb {
	width: 90px; height: 64px; flex: none; border-radius: 8px;
	background-size: cover; background-position: center; background-color: #eef1f6;
}
.rbfund-listcard-body { flex: 1; min-width: 0; }
.rbfund-listcard-body strong { display: block; margin-bottom: 6px; }
.rbfund-listcard-meta { font-size: .85rem; color: #8a97a3; }
.rbfund-form-compact .rbfund-field { margin-bottom: 8px; }

/* ============ Tombol WhatsApp mengambang ============ */
.rbfund-wa-float {
	position: fixed; right: 18px; bottom: 18px; z-index: 9999;
	display: flex; align-items: center; gap: 10px;
	text-decoration: none;
}
.rbfund-wa-bubble {
	background: #fff; color: #222; padding: 8px 12px; border-radius: 10px;
	box-shadow: 0 6px 20px rgba(0,0,0,.15); font-size: .85rem; max-width: 190px;
}
.rbfund-wa-ic {
	width: 56px; height: 56px; border-radius: 50%;
	background: #25d366; color: #fff; font-size: 30px;
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 6px 20px rgba(37,211,102,.5); flex: none;
}
@media (max-width: 600px) { .rbfund-wa-bubble { display: none; } }

.rbfund-fr-desc { color: var(--rbfund-muted); font-size: .9rem; margin: 0 0 12px; }

/* ============ Kalkulator Zakat ============ */
.rbfund-zakat { border: 1px solid var(--rbfund-border); border-radius: 12px; padding: 16px; margin-bottom: 16px; background: #fbfdfc; }
.rbfund-z-info { display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: .82rem; color: var(--rbfund-muted); margin-bottom: 12px; }
.rbfund-z-info strong { color: var(--rbfund-primary); }
.rbfund-z-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.rbfund-z-tab { background: #fff; border: 1px solid var(--rbfund-border); border-radius: 8px; padding: 6px 12px; cursor: pointer; font-size: .85rem; font-weight: 600; color: #555; }
.rbfund-z-tab.active { background: var(--rbfund-primary); border-color: var(--rbfund-primary); color: #fff; }
.rbfund-z-panel { display: none; }
.rbfund-z-panel.active { display: block; }
.rbfund-z-panel label { display: block; font-size: .82rem; font-weight: 600; margin: 8px 0 4px; color: #444; }
.rbfund-z-panel input,
.rbfund-z-panel select {
	width: 100%; padding: 9px 12px; border: 1px solid var(--rbfund-border);
	border-radius: 8px; box-sizing: border-box; background-color: #fff;
	color: #26333d; font-size: .95rem; line-height: 1.4; min-height: 42px;
}
/* Select butuh panah kustom + warna teks eksplisit agar pilihan terlihat. */
.rbfund-z-panel select {
	-webkit-appearance: none; -moz-appearance: none; appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23667085' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 12px center;
	padding-right: 34px; cursor: pointer;
}
.rbfund-z-panel select option { color: #26333d; background: #fff; }
.rbfund-z-hint { font-size: .78rem; color: var(--rbfund-muted); margin: 8px 0 0; }
.rbfund-z-result { background: #fff; border: 1px dashed var(--rbfund-primary); border-radius: 10px; padding: 12px; margin: 14px 0; text-align: center; }
.rbfund-z-reslabel { font-size: .82rem; color: var(--rbfund-muted); }
.rbfund-z-amount { display: block; font-size: 1.5rem; font-weight: 800; color: var(--rbfund-primary); margin: 4px 0; }
.rbfund-z-note { font-size: .8rem; color: var(--rbfund-muted); margin: 4px 0 0; }
.rbfund-z-pay { width: 100%; }

/* ============ Mode tampilan campaign (setting Themes > Campaign Style) ============ */
/* Desktop (default) = 2 kolom. Mobile = 1 kolom rapi (meski di layar lebar). */
.rbfund-view-mobile .rbfund-cp-grid {
	grid-template-columns: 1fr;
	max-width: 620px;
	margin-left: auto;
	margin-right: auto;
}
.rbfund-view-mobile .rbfund-cp-donatecard--desktop { display: none; }
.rbfund-view-mobile .rbfund-cp-donatecard--mobile { display: block; }

/* ===== Form paket (package / package2 / qurban) ===== */
.rbfund-pkg-select { background: #f6f8fa; border-radius: 10px; padding: 12px; }
.rbfund-pkg-choice { width: 100%; padding: 10px; border: 1px solid var(--rbfund-border); border-radius: 8px; margin-bottom: 10px; }
.rbfund-pkg-qty label { display: block; font-size: .82rem; font-weight: 600; margin-bottom: 4px; }
.rbfund-pkg-qtyinput { width: 100%; padding: 9px 12px; border: 1px solid var(--rbfund-border); border-radius: 8px; box-sizing: border-box; }
.rbfund-pkg-total { margin-top: 10px; font-size: .95rem; }
.rbfund-pkg-total strong { color: var(--rbfund-primary); }
.rbfund-amount[readonly] { background: #f1f5f9; color: #475569; }

/* ===== Halaman campaign standalone (tanpa header/footer tema) ===== */
body.rbfund-standalone {
	margin: 0;
	background: #eef1f5;
	color: #1f2937;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	-webkit-font-smoothing: antialiased;
}
body.rbfund-standalone .rbfund-campaign-page { background: transparent; }
/* Kartu Penggalang Dana di atas tab */
.rbfund-cp-organizer { margin-bottom: 18px; }
.rbfund-view-mobile .rbfund-cp-organizer,
.rbfund-cp-main .rbfund-cp-organizer {
	background: #fff;
	border: 1px solid var(--rbfund-border);
	border-radius: 14px;
	padding: 18px 20px;
	box-shadow: 0 2px 10px rgba(20,40,60,.05);
}

/* ============ Sticky topbar (judul + home) ============ */
.rbfund-topbar {
	position: fixed; top: 0; left: 50%; z-index: 9000;
	width: 100%; max-width: 1140px; box-sizing: border-box;
	display: flex; align-items: center; gap: 12px;
	background: #fff; padding: 12px 16px;
	box-shadow: 0 2px 12px rgba(0,0,0,.08);
	transform: translateX(-50%) translateY(-110%); transition: transform .25s ease;
}
.rbfund-topbar.show { transform: translateX(-50%) translateY(0); }
.rbfund-topbar-home { color: #26333d; text-decoration: none; display: flex; }
.rbfund-topbar-home .dashicons { font-size: 24px; width: 24px; height: 24px; }
.rbfund-topbar-title { font-weight: 700; color: #1f2937; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ============ Bottom action bar ============ */
body.rbfund-standalone { padding-bottom: 72px; }

/* ============ Halaman Donasi ============ */
.rbfund-donatepage { max-width: var(--rbfund-page-width); margin: 0 auto; background: #fff; min-height: 100vh; }
.rbfund-dp-top { display: flex; align-items: center; gap: 12px; padding: 14px 18px; border-bottom: 1px solid #eef1f5; position: sticky; top: 0; background: #fff; z-index: 10; }
.rbfund-dp-back { color: #26333d; display: flex; }
.rbfund-dp-back .dashicons { font-size: 24px; width: 24px; height: 24px; }
.rbfund-dp-toptitle { font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rbfund-dp-head { display: flex; gap: 14px; align-items: center; padding: 18px; border-bottom: 1px solid #eef1f5; }
.rbfund-dp-thumb { width: 120px; height: 78px; border-radius: 10px; background-size: cover; background-position: center; flex: none; }
.rbfund-dp-headlabel { display: block; color: #9aa5b1; font-size: .85rem; margin-bottom: 4px; }
.rbfund-dp-headinfo strong { font-size: 1.05rem; }
.rbfund-dp-form { padding: 18px 18px 96px; }
.rbfund-dp-secttitle { margin: 4px 0 14px; }
.rbfund-dp-noms { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 14px; }
.rbfund-dp-nom {
	background: #fff; border: 1px solid #e6ebf0; border-radius: 12px; padding: 18px 8px;
	text-align: center; cursor: pointer; box-shadow: 0 2px 8px rgba(20,40,60,.05);
}
.rbfund-dp-nom.active { border-color: var(--rbfund-primary); box-shadow: 0 0 0 2px var(--rbfund-primary) inset; }
.rbfund-dp-nomval { display: block; font-weight: 700; }
.rbfund-dp-nomtag { display: block; font-size: .72rem; color: #9aa5b1; margin-top: 2px; }
.rbfund-dp-amount { width: 100%; padding: 12px; border: 1px solid #e6ebf0; border-radius: 10px; box-sizing: border-box; margin-bottom: 16px; }
.rbfund-dp-pay { display: flex; align-items: center; gap: 12px; background: #eef6ff; border-radius: 12px; padding: 14px; margin-bottom: 16px; }
.rbfund-dp-pay-ic { color: #2563eb; font-size: 24px; width: 24px; height: 24px; }
.rbfund-dp-pay-label { flex: 1; font-weight: 600; }
.rbfund-paymethod { padding: 8px 12px; border: 1px solid #b9d3f2; border-radius: 8px; color: #2563eb; background: #fff; }
.rbfund-dp-sapaan { margin-bottom: 16px; }
.rbfund-dp-sapaan-opts { display: flex; flex-wrap: wrap; gap: 8px; }
.rbfund-sapaan-opt {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	background: #fff;
	border: 1.5px solid #e2e8f0;
	border-radius: 999px;
	padding: 9px 16px 9px 13px;
	cursor: pointer;
	font-weight: 600;
	font-size: 14px;
	color: #475569;
	line-height: 1.2;
}
.rbfund-sapaan-opt:hover { border-color: #cbd5e1; background: #f8fafc; }
.rbfund-sapaan-check {
	width: 16px;
	height: 16px;
	flex: 0 0 auto;
	border: 1.5px solid #cbd5e1;
	border-radius: 50%;
	background: #fff;
	position: relative;
	transition: border-color .15s, background .15s;
}
.rbfund-sapaan-opt.active {
	border-color: var(--rbfund-btn, var(--rbfund-primary));
	background: var(--rbfund-primary-soft, rgba(22,163,74,.1));
	color: var(--rbfund-btn, var(--rbfund-primary));
}
.rbfund-sapaan-opt.active .rbfund-sapaan-check { border-color: var(--rbfund-btn, var(--rbfund-primary)); background: var(--rbfund-btn, var(--rbfund-primary)); }
.rbfund-sapaan-opt.active .rbfund-sapaan-check::after {
	content: "";
	position: absolute;
	left: 4.5px;
	top: 1.5px;
	width: 4px;
	height: 8px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
.rbfund-name-preview.is-live { color: var(--rbfund-btn, var(--rbfund-primary)); font-weight: 600; }
.rbfund-dp-anon { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 4px 0 16px; }
.rbfund-switch { position: relative; display: inline-block; width: 52px; height: 30px; flex: none; }
.rbfund-switch input { display: none; }
.rbfund-switch-slider { position: absolute; inset: 0; background: #cbd5e1; border-radius: 30px; transition: .2s; }
.rbfund-switch-slider:before { content: ""; position: absolute; width: 24px; height: 24px; left: 3px; top: 3px; background: #fff; border-radius: 50%; transition: .2s; }
.rbfund-switch input:checked + .rbfund-switch-slider { background: var(--rbfund-primary); }
.rbfund-switch input:checked + .rbfund-switch-slider:before { transform: translateX(22px); }
.rbfund-dp-form .rbfund-field input, .rbfund-dp-form .rbfund-field textarea { width: 100%; padding: 12px; border: 1px solid #e6ebf0; border-radius: 10px; box-sizing: border-box; }
.rbfund-dp-submitbar { position: fixed; left: 0; right: 0; bottom: 0; padding: 12px 18px; background: #fff; box-shadow: 0 -2px 14px rgba(0,0,0,.08); max-width: var(--rbfund-page-width); margin: 0 auto; }
.rbfund-dp-submit { width: 100%; padding: 14px; font-size: 1.05rem; font-weight: 800; background: var(--rbfund-btn, var(--rbfund-primary)); }
@media (max-width: 600px) { .rbfund-dp-noms { grid-template-columns: repeat(2, 1fr); } }

/* ============ Halaman Invoice ============ */
.rbfund-invoice { max-width: 560px; margin: 0 auto; padding: 24px 16px 60px; }
.rbfund-inv-box { background: #fff; border-radius: 18px; padding: 28px 24px; box-shadow: 0 8px 30px rgba(20,40,60,.08); text-align: center; }
.rbfund-inv-logo { text-align: center; }
.rbfund-inv-logo img { max-height: 60px; margin: 0 auto 8px; display: inline-block; }
.rbfund-inv-thanks { color: #556; margin: 8px 0 4px; }
.rbfund-inv-title { font-size: 1.2rem; margin: 4px 0 20px; }
.rbfund-inv-card { display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid #eef1f5; border-radius: 14px; padding: 16px; margin-bottom: 14px; text-align: left; }
.rbfund-inv-bankinfo { display: flex; flex-direction: column; }
.rbfund-inv-bankname { font-size: .8rem; color: #8a97a3; }
.rbfund-inv-bankno { font-size: 1.15rem; font-weight: 800; letter-spacing: .5px; }
.rbfund-inv-bankholder { font-size: .85rem; color: #556; }
.rbfund-inv-amount { justify-content: space-between; }
.rbfund-inv-amt { font-size: 1.5rem; font-weight: 800; }
.rbfund-inv-code { color: #ec4899; }
.rbfund-inv-copy { display: inline-flex; align-items: center; gap: 4px; background: none; border: none; color: #64748b; cursor: pointer; font-weight: 600; }
.rbfund-inv-copy .dashicons { font-size: 18px; width: 18px; height: 18px; }
.rbfund-inv-qris { flex-direction: column; align-items: center; }
.rbfund-inv-qris img { max-width: 220px; }
.rbfund-inv-note { font-size: .9rem; color: #64748b; margin: 8px 0 18px; }
.rbfund-inv-confirm { display: flex; align-items: center; justify-content: center; gap: 8px; background: #22c55e; color: #fff; text-decoration: none; border-radius: 12px; padding: 14px; font-weight: 800; margin-bottom: 16px; }
.rbfund-inv-deadline { display: flex; align-items: center; gap: 10px; background: #fff7e6; border-radius: 12px; padding: 12px 14px; color: #92710f; text-align: left; }
.rbfund-inv-deadline .dashicons { color: #d97706; }
.rbfund-inv-account { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 16px 0 4px; padding: 14px 16px; background: #f6faf8; border: 1px solid #e3efe8; border-radius: 12px; text-align: left; }
.rbfund-inv-account > .dashicons { color: var(--rbfund-primary); flex: 0 0 auto; }
.rbfund-inv-account-txt { flex: 1 1 60%; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.rbfund-inv-account-txt strong { font-size: 13.5px; color: #0f2417; }
.rbfund-inv-account-txt span { font-size: 12px; color: #64748b; line-height: 1.5; }
.rbfund-inv-account-btn { flex: 0 0 auto; padding: 8px 16px; border: 1.5px solid var(--rbfund-primary); border-radius: 8px; color: var(--rbfund-primary); font-size: 13px; font-weight: 700; text-decoration: none; }
.rbfund-inv-account-btn:hover { background: var(--rbfund-primary); color: #fff; }
@media (max-width: 420px) { .rbfund-inv-account { flex-wrap: wrap; } .rbfund-inv-account-btn { width: 100%; text-align: center; } }
.rbfund-inv-back { margin-top: 16px; }
.rbfund-inv-back a { color: #2563eb; text-decoration: none; }

/* Home icon di pojok kiri atas cover */
.rbfund-cp-cover { position: relative; }
.rbfund-cp-home {
	position: absolute; top: 14px; left: 14px; z-index: 5;
	width: 42px; height: 42px; border-radius: 50%;
	background: rgba(255,255,255,.92); color: #26333d;
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 2px 10px rgba(0,0,0,.18); text-decoration: none;
}
.rbfund-cp-home .dashicons { font-size: 22px; width: 22px; height: 22px; }
.rbfund-cp-home:hover { background: #fff; }

/* ============ Halaman Sukses / Terima Kasih ============ */
.rbfund-success { max-width: 640px; margin: 0 auto; padding: 40px 16px 60px; text-align: center; }
.rbfund-succ-box {
	background: #fff; border-radius: 24px; padding: 40px 28px 48px;
	box-shadow: 0 10px 40px rgba(20,40,60,.08); overflow: hidden;
	background-image: radial-gradient(circle at 15% 12%, #ffffff 0 40%, transparent 41%), radial-gradient(circle at 90% 90%, #f3eefc 0 30%, transparent 31%);
}
.rbfund-succ-check { margin-bottom: 24px; }
.rbfund-succ-text { font-size: 1.15rem; color: #33475b; line-height: 1.7; margin: 0; }
.rbfund-succ-text strong { color: #1f2937; }
.rbfund-succ-more { margin-top: 26px; color: #9aa5b1; }
.rbfund-succ-more a { display: block; margin-top: 4px; color: #2563eb; font-weight: 700; text-decoration: none; }

/* ===== Pemilih rekening gaya topup ===== */
.rbfund-pay-trigger {
	background: #fff; border: 1px solid #b9d3f2; border-radius: 8px;
	color: #2563eb; padding: 8px 14px; font-weight: 700; cursor: pointer;
	display: inline-flex; align-items: center; gap: 4px;
}
.rbfund-pay-panel {
	border: 1px solid #e6ebf0; border-radius: 12px; margin: 0 0 16px;
	overflow: hidden auto; max-height: 340px; box-shadow: 0 6px 20px rgba(20,40,60,.08);
}
.rbfund-pay-group {
	background: #eef4fb; color: #3b556e; font-weight: 700; font-size: .82rem;
	padding: 8px 14px; border-bottom: 1px solid #e0e8f0; position: sticky; top: 0;
}
.rbfund-pay-opt {
	display: flex; align-items: center; gap: 12px; width: 100%;
	background: #fff; border: none; border-bottom: 1px solid #f0f3f6;
	padding: 12px 14px; cursor: pointer; text-align: left;
}
.rbfund-pay-opt:last-child { border-bottom: none; }
.rbfund-pay-opt:hover { background: #f6f9ff; }
.rbfund-pay-opt.active { background: #eef6ff; }
.rbfund-pay-logo {
	width: 40px; height: 40px; border-radius: 8px; flex: none;
	display: flex; align-items: center; justify-content: center;
	color: #fff; font-weight: 800; font-size: .8rem;
}
.rbfund-pay-logo .dashicons { color: #fff; }
/* Logo bank berbasis SVG: kartu putih dengan bingkai tipis, lebih lebar. */
.rbfund-pay-logo-img {
	width: 64px; height: 40px; border-radius: 6px; background: #fff;
	border: 1px solid #e6ebf0; padding: 3px; overflow: hidden;
}
.rbfund-pay-logo-img svg { width: 100%; height: 100%; display: block; }
.rbfund-pay-optname { display: flex; flex-direction: column; font-weight: 700; color: #26333d; }
.rbfund-pay-optname small { font-weight: 500; color: #8a97a3; font-size: .78rem; }

/* Countdown invoice */
.rbfund-inv-countdown { font-weight: 800; color: #b45309; }
.rbfund-inv-countdown.expired { color: #b32d2e; }

/* ===== Qurban khusus ===== */
.rbfund-dp-fieldlabel { display: block; font-weight: 700; margin: 0 0 8px; color: #33475b; }
.rbfund-dp-hint { font-size: .82rem; color: #8a97a3; margin: 6px 0 0; }
.rbfund-qurban-names { margin-top: 14px; }
.rbfund-qurban-names textarea { width: 100%; padding: 12px; border: 1px solid #e6ebf0; border-radius: 10px; box-sizing: border-box; }
.rbfund-inv-qurban { background: #f6f9ff; border-radius: 10px; padding: 10px 14px; margin-bottom: 16px; text-align: left; }
.rbfund-inv-qurban-label { display: block; font-size: .8rem; color: #8a97a3; }
.rbfund-succ-qurban { margin-top: 10px; color: #33475b; }

/* ===== Patungan (progress slot) ===== */
.rbfund-patungan { background: #f6f9ff; border: 1px solid #e3ecfa; border-radius: 12px; padding: 12px 14px; margin: 10px 0 4px; }
.rbfund-patungan-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 8px; }
.rbfund-patungan-remain { font-size: .85rem; font-weight: 700; color: #b45309; }
.rbfund-patungan-bar { height: 10px; border-radius: 6px; background: #e2e8f0; overflow: hidden; }
.rbfund-patungan-bar span { display: block; height: 100%; background: linear-gradient(90deg, #16a34a, #22c55e); border-radius: 6px; transition: width .3s; }
.rbfund-patungan-done { margin-top: 6px; font-size: .82rem; color: #16a34a; font-weight: 600; }

/* Kartu gateway di invoice */
.rbfund-inv-gateway { align-items: center; gap: 14px; }
.rbfund-inv-gw-ic { font-size: 28px; width: 28px; height: 28px; color: #1b8a5a; }
.rbfund-inv-gw-status { font-size: .85rem; color: #b45309; }

/* =====================================================================
   UI POLISH v1.26 — konsistensi token, input, tombol, kartu (ringan)
   ===================================================================== */
:root {
	--rbfund-ink: #1f2937;
	--rbfund-muted: #6b7280;
	--rbfund-border: #e6e9ee;
	--rbfund-surface: #ffffff;
	--rbfund-bg-soft: #f4f6f9;
	--rbfund-radius: 12px;
	--rbfund-radius-lg: 16px;
	--rbfund-shadow: 0 2px 10px rgba(20,40,60,.06);
	--rbfund-shadow-lg: 0 12px 34px rgba(20,40,60,.10);
	--rbfund-ring: 0 0 0 3px rgba(22,163,74,.18);
}

/* Reset ringan untuk area donor */
.rbfund-donatepage *, .rbfund-invoice *, .rbfund-success *, .rbfund-campaign-page * { box-sizing: border-box; }

/* Input seragam */
.rbfund-donatepage input, .rbfund-donatepage select, .rbfund-donatepage textarea,
.rbfund-form input, .rbfund-form select, .rbfund-form textarea {
	font-family: inherit;
	font-size: .95rem;
	color: var(--rbfund-ink);
	border: 1px solid var(--rbfund-border);
	border-radius: 10px;
	padding: 11px 13px;
	background: #fff;
	transition: border-color .15s ease, box-shadow .15s ease;
	box-sizing: border-box;
}
.rbfund-donatepage input:focus, .rbfund-donatepage select:focus, .rbfund-donatepage textarea:focus,
.rbfund-form input:focus, .rbfund-form select:focus, .rbfund-form textarea:focus {
	outline: none;
	border-color: var(--rbfund-primary);
	box-shadow: var(--rbfund-ring);
}
.rbfund-donatepage input::placeholder, .rbfund-donatepage textarea::placeholder { color: #9aa5b1; }

/* Tombol utama seragam + fokus aksesibel */
.rbfund-submit, .rbfund-dp-submit, .rbfund-bb-donate, .rbfund-inv-confirm, .rbfund-dc-btn {
	border-radius: var(--rbfund-radius);
	font-weight: 800;
	letter-spacing: .2px;
	transition: transform .12s ease, box-shadow .15s ease, background .15s ease, filter .15s ease;
}
.rbfund-submit:hover, .rbfund-dp-submit:hover, .rbfund-bb-donate:hover, .rbfund-inv-confirm:hover, .rbfund-dc-btn:hover { filter: brightness( .97 ); }
.rbfund-submit:active, .rbfund-dp-submit:active, .rbfund-bb-donate:active, .rbfund-dc-btn:active { transform: translateY( 1px ); }
.rbfund-submit:focus-visible, .rbfund-dp-submit:focus-visible, .rbfund-bb-donate:focus-visible,
.rbfund-inv-confirm:focus-visible, .rbfund-dc-btn:focus-visible, .rbfund-preset:focus-visible,
.rbfund-sapaan-opt:focus-visible, .rbfund-pay-opt:focus-visible, .rbfund-dp-nom:focus-visible { outline: none; box-shadow: var(--rbfund-ring); }

/* Kartu konsisten */
.rbfund-cp-card, .rbfund-inv-card, .rbfund-patungan, .rbfund-pkg-select, .rbfund-dp-pay {
	box-shadow: var(--rbfund-shadow);
}
.rbfund-inv-box, .rbfund-succ-box { box-shadow: var(--rbfund-shadow-lg); }

/* Bar melayang: sudut atas membulat & bayangan halus */
.rbfund-topbar { border-radius: 0 0 var(--rbfund-radius) var(--rbfund-radius); }
.rbfund-bottombar { border-radius: var(--rbfund-radius) var(--rbfund-radius) 0 0; }

/* Judul & teks lebih rapi */
.rbfund-cp-card-title, .rbfund-dp-secttitle, .rbfund-dp-fieldlabel { letter-spacing: .1px; }

/* Nominal card & preset: transisi halus */
.rbfund-preset, .rbfund-dp-nom, .rbfund-pay-opt, .rbfund-sapaan-opt { transition: border-color .15s ease, background .15s ease, box-shadow .15s ease; }

/* ===== Form: atas nama, terms, tombol proporsional (v1.27) ===== */
.rbfund-onbehalf-toggle { margin-top: 4px; }
.rbfund-onbehalf-field { margin-top: 10px; }
.rbfund-onbehalf-field textarea { width: 100%; }
.rbfund-charcount { text-align: right; font-size: .78rem; color: #9aa5b1; margin-top: 4px; }

.rbfund-dp-terms {
	display: flex; align-items: flex-start; gap: 10px;
	margin: 6px 0 4px; font-size: .95rem; color: #33475b; line-height: 1.5;
}
.rbfund-dp-terms input[type=checkbox] {
	width: 20px; height: 20px; margin: 1px 0 0; flex: none;
	accent-color: var(--rbfund-primary);
}
.rbfund-dp-terms a { color: var(--rbfund-primary); text-decoration: none; }
.rbfund-dp-terms a:hover { text-decoration: underline; }

/* Tombol donasi lebih proporsional (tidak terlalu tinggi/lebar) */
.rbfund-dp-submit {
	display: block;
	width: 100%;
	max-width: 460px;
	margin: 0 auto;
	padding: 13px 22px;
	font-size: 1.02rem;
	border-radius: 12px;
}
.rbfund-dp-submitbar { padding: 12px 18px calc(12px + env(safe-area-inset-bottom, 0px)); }

/* =====================================================================
   CAMPAIGN PAGE POLISH v1.38 — responsive, CTA, tabs, floating bar
   ===================================================================== */

/* Bottombar: muncul saat scroll, hidden awal, sesuai lebar campaign */
.rbfund-bottombar {
	position: fixed; bottom: 0; left: 50%; transform: translateX(-50%);
	width: 100%; max-width: var(--rbfund-page-width); box-sizing: border-box;
	display: flex; align-items: center; gap: 10px;
	padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
	background: #fff; box-shadow: 0 -4px 20px rgba(0,0,0,.10);
	border-radius: 16px 16px 0 0;
	z-index: 999;
	transition: transform .3s ease, opacity .3s ease;
}
.rbfund-bb-hidden { transform: translateX(-50%) translateY(100%); opacity: 0; pointer-events: none; }

/* Share button (kiri) */
.rbfund-bb-share {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 10px 18px; border-radius: 12px;
	border: 1.5px solid var(--rbfund-primary, #16a34a);
	background: #fff; color: var(--rbfund-primary, #16a34a);
	font-weight: 700; font-size: .95rem;
	cursor: pointer; text-decoration: none; white-space: nowrap;
}
.rbfund-bb-share .dashicons { font-size: 18px; width: 18px; height: 18px; }

/* Donasi CTA (kanan, full-width) */
.rbfund-bb-donate {
	flex: 1; text-align: center; text-decoration: none !important;
	padding: 13px 18px; border-radius: 12px;
	background: var(--rbfund-btn, var(--rbfund-primary, #16a34a));
	color: #fff !important; font-weight: 800; font-size: 1.05rem;
	display: block;
}
.rbfund-bb-donate:hover, .rbfund-bb-donate:focus { text-decoration: none !important; filter: brightness(.96); }

/* Donasi Sekarang inside card — full width, no underline */
.rbfund-dc-btn {
	display: block; width: 100%; text-align: center;
	padding: 13px 18px; border-radius: 12px; box-sizing: border-box;
	background: var(--rbfund-btn, var(--rbfund-primary, #16a34a));
	color: #fff !important; font-weight: 800; font-size: 1rem;
	text-decoration: none !important; border: none; cursor: pointer;
}
.rbfund-dc-btn:hover { text-decoration: none !important; }

/* ===== Tabs ===== */
.rbfund-tabs {
	display: flex; gap: 0; border-bottom: 2px solid #e6e9ee;
	margin-bottom: 20px; overflow-x: auto; -webkit-overflow-scrolling: touch;
}
.rbfund-tab {
	flex: none; padding: 10px 18px; border: none; background: none;
	font-weight: 600; color: #6b7280; cursor: pointer; font-size: .95rem;
	white-space: nowrap; border-bottom: 3px solid transparent;
	transition: color .15s, border-color .15s;
}
.rbfund-tab:hover { color: var(--rbfund-primary, #16a34a); }
.rbfund-tab.active {
	color: var(--rbfund-primary, #16a34a);
	border-bottom-color: var(--rbfund-primary, #16a34a);
}

/* ===== Campaign page: responsive ===== */
.rbfund-view-mobile.rbfund-campaign-page {
	width: 100%; max-width: var(--rbfund-page-width); margin: 0 auto;
	padding: 0 16px; box-sizing: border-box;
}
.rbfund-cp-cover {
	width: 100%; margin-left: 0;
	border-radius: 16px; position: relative;
	overflow: hidden; background: #eef1f5;
}
/* Banner tampil utuh mengikuti lebar container (tidak melebar keluar). */
.rbfund-cp-cover img { width: 100%; height: auto; display: block; }
.rbfund-cp-home {
	position: absolute; top: 14px; left: 14px;
	width: 38px; height: 38px; border-radius: 50%;
	background: rgba(255,255,255,.85); display: flex; align-items: center; justify-content: center;
	text-decoration: none; color: #26333d;
	box-shadow: 0 2px 8px rgba(0,0,0,.12);
}
.rbfund-cp-title { font-size: 1.25rem; font-weight: 800; margin: 18px 0 6px; color: #1f2937; line-height: 1.3; }
.rbfund-cp-loc { font-size: .9rem; color: #6b7280; margin-bottom: 18px; }
.rbfund-cp-loc a { color: var(--rbfund-primary, #16a34a); text-decoration: none; }

/* Card progress */
.rbfund-cp-card {
	background: #fff; border-radius: 16px; padding: 20px;
	box-shadow: 0 2px 12px rgba(20,40,60,.06);
	margin-bottom: 20px;
}

/* Share & Edit buttons on cover */
.rbfund-cp-cover-actions {
	position: absolute; bottom: 14px; right: 14px;
	display: flex; gap: 8px;
}
.rbfund-cp-cover-actions a, .rbfund-cp-cover-actions button {
	display: inline-flex; align-items: center; gap: 5px;
	padding: 7px 14px; border-radius: 999px;
	background: rgba(255,255,255,.92); color: #26333d;
	font-weight: 600; font-size: .85rem; text-decoration: none; border: none; cursor: pointer;
	box-shadow: 0 2px 8px rgba(0,0,0,.12);
}

/* Topbar: match campaign width */
.rbfund-topbar {
	max-width: var(--rbfund-page-width); border-radius: 0 0 12px 12px;
}

/* Content area under tabs — kartu putih seperti Penggalang Dana */
.rbfund-tabpane {
	background: #fff; border-radius: 16px; padding: 20px;
	box-shadow: 0 2px 12px rgba(20,40,60,.06);
	margin-bottom: 20px;
}
.rbfund-tabpane { display: none; }
.rbfund-tabpane.active { display: block; }
.rbfund-tabpane .rbfund-cp-content { line-height: 1.7; color: #33475b; }
.rbfund-tabpane .rbfund-cp-content img { max-width: 100%; height: auto; border-radius: 10px; }

/* Update/kabar items */
.rbfund-update { border-bottom: 1px solid #f0f3f6; padding-bottom: 16px; margin-bottom: 16px; }
.rbfund-update:last-child { border-bottom: none; }
.rbfund-update-title { font-weight: 700; margin: 6px 0 8px; }
.rbfund-update-img { width: 100%; border-radius: 10px; margin-bottom: 8px; }
.rbfund-update-content { color: #33475b; line-height: 1.7; }

/* Donatur list in tab */
.rbfund-doawall { display: flex; flex-direction: column; gap: 10px; }

/* Mobile responsive */
@media (max-width: 720px) {
	.rbfund-campaign-page { padding: 0 10px; }
	.rbfund-cp-cover { width: 100%; margin-left: 0; }
	.rbfund-cp-title { font-size: 1.1rem; }
	.rbfund-bottombar { max-width: 100%; border-radius: 0; padding: 8px 12px calc(8px + env(safe-area-inset-bottom, 0px)); }
	.rbfund-topbar { max-width: 100%; border-radius: 0; }
	.rbfund-cp-card { padding: 16px; }
	.rbfund-tabs { gap: 0; }
	.rbfund-tab { padding: 9px 14px; font-size: .88rem; }
	.rbfund-bb-share { padding: 9px 14px; font-size: .88rem; }
	.rbfund-bb-donate { padding: 12px 14px; font-size: .98rem; }
}

/* Spacer bottom agar konten tidak tertutup bar melayang */
.rbfund-campaign-page { padding-bottom: 110px; }

/* CTA disabled (campaign berakhir) */
.rbfund-dc-btn-off {
	background: #9ca3af !important; cursor: not-allowed; pointer-events: none; opacity: .7;
}
.rbfund-bb-donate-off {
	background: #9ca3af !important; cursor: not-allowed; pointer-events: none; opacity: .7;
}

/* Video embed responsive 16:9 */
.rbfund-cp-video {
	position: relative; width: 100%; padding-bottom: 56.25%; margin-bottom: 18px;
	border-radius: 12px; overflow: hidden; background: #000;
}
.rbfund-cp-video iframe {
	position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;
}

/* ==================================================================
   HALAMAN /campaign/ (arsip) & /profile/  — v1.47.0
   Mengikuti wrapper .rbfund-campaign-page (max-width 1140px).
   ================================================================== */

/* Topbar statis (selalu tampak) untuk halaman list & profile */
.rbfund-topbar-static {
	position: static !important;
	transform: none !important;
	max-width: 1140px;
	margin: 0 auto;
	box-shadow: 0 1px 4px rgba(0,0,0,.06);
	border-radius: 0 0 12px 12px;
}
body.rbfund-archive-body,
body.rbfund-profile-body {
	background: #eef1f5;
	margin: 0;
}
/* Panel putih di belakang daftar campaign (arsip) */
.rbfund-archive-body .rbfund-cardgrid--list {
	background: #fff; border-radius: 16px; padding: 8px 18px;
	box-shadow: 0 1px 3px rgba(16,40,30,.05);
}
/* Sembunyikan nama lembaga di kartu arsip bila diatur */
body.rbfund-hide-arch-org .rbfund-listrow-org { display: none !important; }

/* Header halaman list */
.rbfund-listpage .rbfund-listhead {
	text-align: center;
	padding: 24px 8px 8px;
}
.rbfund-listhead-title {
	font-size: 1.6rem;
	font-weight: 800;
	margin: 0 0 6px;
	color: #1f2937;
}
.rbfund-listhead-sub {
	color: #64748b;
	font-size: .95rem;
	margin: 0 auto;
	max-width: 640px;
	line-height: 1.55;
}

/* Toolbar filter/sort */
.rbfund-listbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 20px 0 18px;
	padding: 12px 14px;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 1px 4px rgba(20,40,60,.05);
}
.rbfund-listbar-cats {
	display: flex; flex-wrap: wrap; gap: 6px;
}
.rbfund-listbar-chip {
	display: inline-block;
	padding: 6px 14px;
	border-radius: 999px;
	background: #f1f5f9;
	color: #334155;
	font-size: .85rem;
	font-weight: 600;
	text-decoration: none;
	border: 1px solid transparent;
	transition: all .15s ease;
}
.rbfund-listbar-chip:hover {
	background: #e2e8f0;
	color: #1e293b;
}
.rbfund-listbar-chip.active {
	background: var(--rbfund-primary, #16a34a);
	color: #fff;
}
.rbfund-listbar-sort {
	display: flex; align-items: center; gap: 8px;
	font-size: .9rem; color: #475569;
}
.rbfund-listbar-sort select {
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	padding: 9px 34px 9px 12px;
	font-size: .9rem;
	line-height: 1.4;
	height: auto;
	min-height: 40px;
	background: #fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;
	color: #1e293b;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	cursor: pointer;
}

/* Grid kartu campaign */
.rbfund-cardgrid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.rbfund-cardgrid--compact {
	grid-template-columns: repeat(2, 1fr);
	gap: 14px;
}

.rbfund-listcard-v2 {
	background: #fff;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 1px 6px rgba(20,40,60,.06);
	display: flex;
	flex-direction: column;
	transition: transform .18s ease, box-shadow .18s ease;
	text-decoration: none;
	color: inherit;
}
.rbfund-listcard-v2:hover {
	transform: translateY(-3px);
	box-shadow: 0 6px 20px rgba(20,40,60,.1);
}
.rbfund-listcard-v2.is-ended { opacity: .78; }

.rbfund-listcard-v2-cover {
	position: relative;
	aspect-ratio: 16 / 10;
	background: #f1f5f9;
	overflow: hidden;
	display: block;
}
.rbfund-listcard-v2-cover img {
	width: 100%; height: 100%; object-fit: cover; display: block;
}
.rbfund-listcard-v2-cover-ph {
	position: absolute; inset: 0;
	display: flex; align-items: center; justify-content: center;
	background: linear-gradient(135deg, #1f2b6b, #16a34a);
}
.rbfund-listcard-v2-cover-ph .dashicons {
	font-size: 46px; width: 46px; height: 46px;
	color: rgba(255,255,255,.65);
}
.rbfund-listcard-v2-badge {
	position: absolute;
	top: 10px; left: 10px;
	padding: 4px 10px;
	font-size: .72rem;
	font-weight: 700;
	color: #fff;
	border-radius: 999px;
	backdrop-filter: blur(6px);
}
.rbfund-listcard-v2-badge--ended { background: rgba(107,114,128,.9); }
.rbfund-listcard-v2-badge--urgent { background: rgba(220,38,38,.92); }

.rbfund-listcard-v2-body {
	padding: 14px 16px 16px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1;
}
.rbfund-listcard-v2-title {
	font-size: 1rem;
	font-weight: 700;
	color: #111827;
	margin: 0;
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.7em;
}
.rbfund-listcard-v2-title a {
	color: inherit; text-decoration: none;
}
.rbfund-listcard-v2-title a:hover { color: var(--rbfund-primary, #16a34a); }

.rbfund-listcard-v2 .rbfund-progress {
	height: 6px;
	background: #eef2f7;
	border-radius: 999px;
	overflow: hidden;
	position: relative;
}
.rbfund-listcard-v2 .rbfund-progress-bar {
	display: block;
	height: 100%;
	background: var(--rbfund-progress, var(--rbfund-primary, #16a34a));
	border-radius: 999px;
}

.rbfund-listcard-v2-meta { display: flex; flex-direction: column; gap: 4px; }
.rbfund-listcard-v2-meta-row {
	display: flex; justify-content: space-between; align-items: center;
}
.rbfund-listcard-v2-raised {
	font-weight: 800; color: #0f172a; font-size: 1rem;
}
.rbfund-listcard-v2-pct {
	font-weight: 700; color: var(--rbfund-primary, #16a34a);
	font-size: .9rem;
}
.rbfund-listcard-v2-meta-sub {
	font-size: .82rem; color: #64748b;
}
.rbfund-listcard-v2-donors { display: inline-flex; align-items: center; gap: 4px; }
.rbfund-listcard-v2-donors .dashicons {
	font-size: 15px; width: 15px; height: 15px;
}

.rbfund-listcard-v2-cta {
	margin-top: 4px;
	display: block;
	text-align: center;
	padding: 10px 12px;
	background: var(--rbfund-btn, var(--rbfund-primary, #16a34a));
	color: #fff !important;
	border-radius: 10px;
	font-weight: 700;
	text-decoration: none;
	font-size: .92rem;
}
.rbfund-listcard-v2-cta:hover { filter: brightness(.94); }
.rbfund-listcard-v2-cta--off {
	background: #e5e7eb; color: #9ca3af !important;
	cursor: not-allowed;
}

/* Compact mini card (di sidebar/profile) */
.rbfund-listcard-v2--mini { border-radius: 12px; }
.rbfund-listcard-v2--mini .rbfund-listcard-v2-title {
	font-size: .92rem; min-height: 0;
}
.rbfund-listcard-v2--mini .rbfund-listcard-v2-body { padding: 10px 12px 12px; gap: 8px; }
.rbfund-listcard-v2--mini .rbfund-listcard-v2-raised { font-size: .9rem; }

/* Pagination */
.rbfund-pagination {
	display: flex; flex-wrap: wrap; justify-content: center; gap: 6px;
	margin: 28px 0 12px;
}
.rbfund-pagination-item .page-numbers,
.rbfund-pagination-item a,
.rbfund-pagination-item span {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 36px; height: 36px;
	padding: 0 10px;
	border-radius: 8px;
	background: #fff;
	color: #334155;
	text-decoration: none;
	font-weight: 600;
	box-shadow: 0 1px 3px rgba(20,40,60,.05);
}
.rbfund-pagination-item .current {
	background: var(--rbfund-primary, #16a34a);
	color: #fff;
}
.rbfund-pagination-item a:hover { background: #f1f5f9; }

/* Empty state */
.rbfund-empty-state {
	text-align: center; padding: 60px 20px;
	color: #64748b;
}
.rbfund-empty-state .dashicons {
	font-size: 48px; width: 48px; height: 48px;
	color: #cbd5e1;
	margin-bottom: 12px;
}
.rbfund-empty-state h2 {
	color: #334155; margin: 8px 0 6px;
}

/* Footer halaman list/profile */
.rbfund-listfoot {
	text-align: center; padding: 24px 8px 32px;
	color: #94a3b8; font-size: .82rem;
}

/* ============ /profile/ ============ */
.rbfund-profilepage { padding-bottom: 20px; }
.rbfund-profile-hero {
	background: #fff;
	border-radius: 16px;
	padding: 26px;
	display: flex;
	align-items: center;
	gap: 22px;
	margin: 20px 0 16px;
	box-shadow: 0 1px 6px rgba(20,40,60,.06);
}
.rbfund-profile-hero-logo {
	flex: 0 0 96px;
	width: 96px; height: 96px;
	border-radius: 20px;
	background: linear-gradient(135deg, #1f2b6b, var(--rbfund-primary, #16a34a));
	display: flex; align-items: center; justify-content: center;
	overflow: hidden;
	color: #fff; font-weight: 800; font-size: 2.4rem;
}
.rbfund-profile-hero-logo img {
	width: 100%; height: 100%; object-fit: contain; background: #fff;
}
.rbfund-profile-hero-info { flex: 1; min-width: 0; }
.rbfund-profile-hero-name {
	margin: 0 0 4px;
	font-size: 1.5rem;
	font-weight: 800;
	color: #0f172a;
	display: flex; align-items: center; gap: 8px;
	flex-wrap: wrap;
}
.rbfund-profile-verified {
	display: inline-flex; align-items: center; justify-content: center;
	width: 22px; height: 22px;
	border-radius: 50%;
	background: var(--rbfund-primary, #16a34a);
	color: #fff;
}
.rbfund-profile-verified .dashicons {
	font-size: 14px; width: 14px; height: 14px;
}
.rbfund-profile-hero-tagline {
	color: #475569; margin: 0 0 6px; font-size: .98rem;
}

/* Legalitas lembaga: daftar nomor izin berurutan rapi */
.rbfund-profile-legal {
	line-height: 1.7;
	color: #374151;
	counter-reset: rbfund-legal;
}
.rbfund-profile-legal p {
	position: relative;
	margin: 0;
	padding: 10px 12px 10px 40px;
	border-bottom: 1px solid #eef2f7;
}
.rbfund-profile-legal p:last-child { border-bottom: 0; }
.rbfund-profile-legal p::before {
	counter-increment: rbfund-legal;
	content: counter(rbfund-legal);
	position: absolute;
	left: 10px;
	top: 10px;
	width: 22px; height: 22px;
	display: flex; align-items: center; justify-content: center;
	background: var(--rbfund-primary, #16a34a);
	color: #fff;
	font-size: .75rem;
	font-weight: 700;
	border-radius: 50%;
}

/* Card head with "more" link */
.rbfund-cp-card-head {
	display: flex; align-items: center; justify-content: space-between;
	margin-bottom: 12px;
	gap: 10px;
}
.rbfund-cp-card-head .rbfund-cp-card-title { margin: 0; }
.rbfund-cp-card-more {
	color: var(--rbfund-primary, #16a34a);
	font-size: .88rem; font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}
.rbfund-cp-card-more:hover { text-decoration: underline; }

/* About text */
.rbfund-profile-about {
	line-height: 1.7;
	color: #374151;
}
.rbfund-profile-about p { margin: 0 0 12px; }
.rbfund-profile-about p:last-child { margin-bottom: 0; }

/* Contact list */
.rbfund-profile-contact {
	list-style: none; margin: 0 0 12px; padding: 0;
	display: flex; flex-direction: column; gap: 12px;
}
.rbfund-profile-contact li {
	display: flex; align-items: flex-start; gap: 10px;
	font-size: .92rem;
	color: #334155;
	line-height: 1.5;
}
.rbfund-profile-contact li .dashicons {
	flex: 0 0 20px;
	color: var(--rbfund-primary, #16a34a);
	font-size: 20px; width: 20px; height: 20px;
	margin-top: 1px;
}
.rbfund-profile-contact li a {
	color: #1e293b; text-decoration: none;
}
.rbfund-profile-contact li a:hover {
	color: var(--rbfund-primary, #16a34a);
	text-decoration: underline;
}
.rbfund-profile-contact li a[href^="http"]:not([href*="wa.me"]) { color: var(--rbfund-primary, #16a34a); }

/* Social buttons */
.rbfund-profile-social {
	display: flex; flex-wrap: wrap; gap: 8px;
	padding-top: 12px;
	border-top: 1px solid #eef2f7;
}
.rbfund-social-btn {
	width: 36px; height: 36px;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 50%;
	background: #f1f5f9;
	color: #334155;
	text-decoration: none;
	transition: all .15s ease;
}
.rbfund-social-btn svg { display: block; }
.rbfund-social-btn:hover { transform: translateY(-2px); box-shadow: 0 3px 10px rgba(0,0,0,.12); }
.rbfund-social-instagram { background: linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); color: #fff; }
.rbfund-social-facebook  { background: #1877f2; color: #fff; }
.rbfund-social-youtube   { background: #ff0000; color: #fff; }
.rbfund-social-tiktok    { background: #000;    color: #fff; }
.rbfund-social-twitter   { background: #1da1f2; color: #fff; }

/* CTA card */
.rbfund-profile-cta { text-align: center; }
.rbfund-profile-cta p { color: #64748b; font-size: .92rem; margin: 0 0 14px; }
.rbfund-profile-cta-btn {
	display: inline-block; width: 100%;
	background: var(--rbfund-btn, var(--rbfund-primary, #16a34a));
	color: #fff !important;
	padding: 12px 16px;
	border-radius: 10px;
	font-weight: 700;
	text-decoration: none;
	font-size: .95rem;
	box-sizing: border-box;
}
.rbfund-profile-cta-btn:hover { filter: brightness(.94); }

/* Responsive */
@media (max-width: 900px) {
	.rbfund-cardgrid { grid-template-columns: repeat(2, 1fr); }
	.rbfund-cardgrid--compact { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
	.rbfund-cardgrid { grid-template-columns: 1fr; gap: 14px; }
	.rbfund-cardgrid--compact { grid-template-columns: 1fr; }
	.rbfund-listhead-title { font-size: 1.35rem; }
	.rbfund-listbar { flex-direction: column; align-items: stretch; }
	.rbfund-listbar-sort { justify-content: space-between; }
	.rbfund-profile-hero {
		flex-direction: column; text-align: center; padding: 20px;
	}
	.rbfund-profile-hero-name { justify-content: center; }
}

/* ============ Popup Syarat & Ketentuan (form donasi) ============ */
.rbfund-terms-link { cursor: pointer; }
.rbfund-terms-modal {
	position: fixed; inset: 0; z-index: 100000;
	display: none;
	align-items: center; justify-content: center;
	padding: 16px;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}
.rbfund-terms-modal.show { display: flex; }
.rbfund-terms-overlay {
	position: fixed; inset: 0;
	background: rgba(15, 23, 42, .55);
	backdrop-filter: blur(2px);
}
.rbfund-terms-box {
	position: relative;
	background: #fff;
	width: 100%; max-width: 520px;
	max-height: 88vh; margin: auto;
	border-radius: 16px;
	display: flex; flex-direction: column;
	box-shadow: 0 20px 60px rgba(0,0,0,.3);
	overflow: hidden;
	animation: rbfund-terms-in .2s ease;
}
@keyframes rbfund-terms-in {
	from { transform: translateY(16px); opacity: 0; }
	to { transform: translateY(0); opacity: 1; }
}
.rbfund-terms-head {
	display: flex; align-items: center; justify-content: space-between;
	padding: 16px 20px;
	border-bottom: 1px solid #eef2f7;
	flex: 0 0 auto;
}
.rbfund-terms-head h3 {
	margin: 0; font-size: 1.1rem; font-weight: 800; color: #0f172a;
}
.rbfund-terms-x {
	background: none; border: 0; cursor: pointer;
	font-size: 1.7rem; line-height: 1; color: #94a3b8;
	padding: 0 4px;
}
.rbfund-terms-x:hover { color: #475569; }
.rbfund-terms-content {
	padding: 18px 20px;
	overflow-y: auto;
	flex: 1 1 auto;
	line-height: 1.7;
	color: #374151;
	font-size: .95rem;
}
.rbfund-terms-content p { margin: 0 0 12px; }
.rbfund-terms-content p:last-child { margin-bottom: 0; }
.rbfund-terms-content ul,
.rbfund-terms-content ol { margin: 0 0 12px; padding-left: 20px; }
.rbfund-terms-content h1,
.rbfund-terms-content h2,
.rbfund-terms-content h3,
.rbfund-terms-content h4 { margin: 16px 0 8px; color: #1e293b; }
.rbfund-terms-foot {
	padding: 14px 20px;
	border-top: 1px solid #eef2f7;
	flex: 0 0 auto;
}
.rbfund-terms-agree {
	width: 100%;
	background: var(--rbfund-btn, var(--rbfund-primary, #16a34a));
	color: #fff;
	border: 0;
	border-radius: 10px;
	padding: 12px 16px;
	font-weight: 700;
	font-size: .95rem;
	cursor: pointer;
}
.rbfund-terms-agree:hover { filter: brightness(.94); }

/* ============ Shortcode statistik [rbfund] ============ */
.rbfund-stat { font-weight: 800; }
.rbfund-stat-error { color: #b91c1c; font-size: .9rem; }
.rbfund-stat-donorlist { margin: 0; }

/* ============ Blok campaign [rbfund_campaign_block] (List/Grid/Slider) ============ */
.rbfund-scblock { position: relative; margin: 20px 0; }
.rbfund-scblock-track { display: grid; gap: 18px; }

/* GRID */
.rbfund-scblock--grid .rbfund-scblock-track {
	grid-template-columns: repeat(3, 1fr);
}

/* LIST */
.rbfund-scblock--list .rbfund-scblock-track {
	grid-template-columns: 1fr;
	gap: 18px;
}
.rbfund-scblock--list .rbfund-sccard {
	padding: 0; border: none; background: transparent; box-shadow: none;
}
.rbfund-scblock--list .rbfund-sccard-link {
	display: grid;
	grid-template-columns: 140px 1fr;
	gap: 18px;
	align-items: start;
	text-decoration: none;
	color: inherit;
}
.rbfund-scblock--list .rbfund-sccard-cover {
	display: block;
	aspect-ratio: 1 / 1;
	border-radius: 14px;
	overflow: hidden;
	background: var(--rbfund-bg-soft, #f1f5f9);
}
.rbfund-scblock--list .rbfund-sccard-cover img {
	width: 100%; height: 100%; object-fit: contain; display: block;
}
.rbfund-scblock--list .rbfund-sccard-cover-ph {
	width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: #c3ccd6;
}
.rbfund-scblock--list .rbfund-sccard-body {
	display: flex; flex-direction: column; gap: 2px; min-width: 0;
}
.rbfund-scblock--list .rbfund-sccard-title {
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
	font-size: .92rem; font-weight: 800; line-height: 1.3; color: var(--rbfund-text, #1e293b);
	margin-bottom: 4px;
}
.rbfund-scblock--list .rbfund-sccard-org {
	display: flex; align-items: center; gap: 6px; margin-bottom: 8px;
}
.rbfund-scblock--list .rbfund-sccard-org-logo {
	width: 18px; height: 18px; border-radius: 50%; object-fit: cover; flex: 0 0 auto;
}
.rbfund-scblock--list .rbfund-sccard-org-name {
	font-size: .82rem; color: #94a3b8; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.rbfund-scblock--list .rbfund-sccard-collected {
	display: block; font-size: .72rem; font-weight: 700; color: var(--rbfund-primary, #16a34a); margin-bottom: 2px;
}
.rbfund-scblock--list .rbfund-sccard-amountrow {
	display: flex; align-items: baseline; justify-content: space-between; gap: 8px;
}
.rbfund-scblock--list .rbfund-sccard-raised {
	font-size: .98rem; font-weight: 800; color: var(--rbfund-text, #1e293b);
}
.rbfund-scblock--list .rbfund-sccard-pct {
	font-size: .88rem; font-weight: 800; color: var(--rbfund-primary, #16a34a);
}
.rbfund-scblock--list .rbfund-progress {
	display: block; margin-top: 10px; height: 7px; border-radius: 999px; background: #eef2f6; overflow: hidden;
}
.rbfund-scblock--list .rbfund-progress-bar {
	display: block; height: 100%; min-width: 3px; border-radius: 999px; background: var(--rbfund-primary, #16a34a);
}
.rbfund-scblock--list .rbfund-sccard-body { display: flex; flex-direction: column; }
.rbfund-scblock--list .rbfund-sccard-collected { display: block; }
.rbfund-scblock--list .rbfund-sccard-amountrow { display: flex; }
.rbfund-scblock--list .rbfund-sccard-org { display: flex; }
@media (max-width: 480px) {
	.rbfund-scblock--list .rbfund-sccard-link { grid-template-columns: 110px 1fr; gap: 12px; }
	.rbfund-scblock--list .rbfund-sccard-title { font-size: .86rem; }
	.rbfund-scblock--list .rbfund-sccard-raised { font-size: .92rem; }
	.rbfund-scblock--list .rbfund-sccard-pct { font-size: .82rem; }
}

/* SLIDER */
.rbfund-scblock--slider { overflow: hidden; }
.rbfund-scblock--slider .rbfund-scblock-track {
	display: flex;
	gap: 18px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 6px;
}
.rbfund-scblock--slider .rbfund-scblock-track::-webkit-scrollbar { height: 6px; }
.rbfund-scblock--slider .rbfund-scblock-track::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 999px; }
.rbfund-scblock--slider .rbfund-sccard {
	flex: 0 0 300px;
	max-width: 300px;
	scroll-snap-align: start;
}
.rbfund-scblock-nav {
	position: absolute; top: 38%;
	width: 40px; height: 40px;
	border-radius: 50%;
	border: 0;
	background: #fff;
	box-shadow: 0 2px 10px rgba(0,0,0,.15);
	cursor: pointer;
	font-size: 1.5rem; line-height: 1; color: #334155;
	display: flex; align-items: center; justify-content: center;
	z-index: 2;
}
.rbfund-scblock-prev { left: -6px; }
.rbfund-scblock-next { right: -6px; }
.rbfund-scblock-nav:hover { background: #f1f5f9; }

/* Kartu shortcode */
.rbfund-sccard {
	background: #fff;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 1px 6px rgba(20,40,60,.07);
	display: flex; flex-direction: column;
	transition: transform .18s ease, box-shadow .18s ease;
}
.rbfund-sccard:hover { transform: translateY(-3px); box-shadow: 0 8px 22px rgba(20,40,60,.1); }
.rbfund-sccard-cover {
	position: relative;
	aspect-ratio: 16 / 10;
	background: #f1f5f9;
	display: block; overflow: hidden;
}
.rbfund-sccard-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rbfund-sccard-cover-ph {
	position: absolute; inset: 0;
	display: flex; align-items: center; justify-content: center;
	background: linear-gradient(135deg, #1f2b6b, #16a34a);
}
.rbfund-sccard-cover-ph .dashicons { font-size: 42px; width: 42px; height: 42px; color: rgba(255,255,255,.6); }
.rbfund-sccard-body { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 9px; flex: 1; }
.rbfund-sccard-title {
	margin: 0; font-size: 1rem; font-weight: 700; line-height: 1.35;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.rbfund-sccard-title a { color: #111827; text-decoration: none; }
.rbfund-sccard-title a:hover { color: var(--rbfund-primary, #16a34a); }
.rbfund-sccard .rbfund-progress { height: 6px; background: #eef2f7; border-radius: 999px; overflow: hidden; }
.rbfund-sccard .rbfund-progress-bar { height: 100%; background: var(--rbfund-progress, var(--rbfund-primary, #16a34a)); border-radius: 999px; }
.rbfund-sccard-meta { display: flex; justify-content: space-between; align-items: center; }
.rbfund-sccard-raised { font-weight: 800; color: #0f172a; }
.rbfund-sccard-pct { font-weight: 700; color: var(--rbfund-primary, #16a34a); font-size: .9rem; }
.rbfund-sccard-sub { display: flex; justify-content: space-between; align-items: center; font-size: .82rem; color: #64748b; }
.rbfund-sccard-donors { display: inline-flex; align-items: center; gap: 4px; }
.rbfund-sccard-donors .dashicons { font-size: 15px; width: 15px; height: 15px; }
.rbfund-sccard-cta {
	margin-top: 4px;
	display: block; text-align: center;
	padding: 10px 12px;
	background: var(--rbfund-btn, var(--rbfund-primary, #16a34a));
	color: #fff !important;
	border-radius: 10px; font-weight: 700; text-decoration: none; font-size: .92rem;
}
.rbfund-sccard-cta:hover { filter: brightness(.94); }

@media (max-width: 900px) {
	.rbfund-scblock--grid .rbfund-scblock-track { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.rbfund-scblock--grid .rbfund-scblock-track { grid-template-columns: 1fr; }
	.rbfund-scblock--slider .rbfund-sccard { flex-basis: 82%; max-width: 82%; }
}

/* ==================================================================
   Halaman /campaign/ ala amalsholeh — header (logo), footer, float btn
   ================================================================== */

body.rbfund-has-appbar { background: #f4f6f9; }

/* ---- Header / App bar ---- */
.rbfund-appbar {
	position: sticky; top: 0; z-index: 1000;
	background: #fff;
	box-shadow: 0 1px 8px rgba(20,40,60,.06);
}
.rbfund-appbar-inner {
	max-width: 1140px; margin: 0 auto;
	display: flex; align-items: center; justify-content: space-between;
	gap: 16px;
	padding: 10px 20px;
}
.rbfund-appbar-brand { display: inline-flex; align-items: center; text-decoration: none; }
.rbfund-appbar-logo { max-height: 46px; max-width: 180px; width: auto; object-fit: contain; display: block; }
.rbfund-appbar-logo-txt { font-size: 1.15rem; font-weight: 800; color: var(--rbfund-primary, #16a34a); }
.rbfund-appbar-nav { display: flex; align-items: center; gap: 6px; }
.rbfund-appbar-nav a {
	padding: 8px 14px; border-radius: 999px;
	color: #475569; text-decoration: none; font-weight: 600; font-size: .92rem;
	transition: all .15s ease;
}
.rbfund-appbar-nav a:hover { background: #f1f5f9; color: #1e293b; }
.rbfund-appbar-nav a.active { background: var(--rbfund-primary, #16a34a); color: #fff; }

/* ---- Footer ---- */
.rbfund-appfooter {
	margin-top: 40px;
	background: var(--rbfund-footer-bg, #0f172a);
	color: var(--rbfund-footer-text, #cbd5e1);
}
.rbfund-appfooter-inner {
	max-width: 1140px; margin: 0 auto;
	display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between;
	gap: 24px;
	padding: 36px 20px 24px;
}
.rbfund-appfooter-brand { flex: 1 1 260px; min-width: 220px; }
.rbfund-appfooter-logo { max-height: 52px; max-width: 190px; object-fit: contain; background: #fff; padding: 6px 10px; border-radius: 8px; display: block; margin-bottom: 12px; }
.rbfund-appfooter-name { display: block; font-size: 1.2rem; color: inherit; margin-bottom: 8px; }
.rbfund-appfooter-tagline { color: inherit; opacity: .75; font-size: .9rem; line-height: 1.6; margin: 0; max-width: 340px; }
.rbfund-appfooter-links { display: flex; flex-direction: column; gap: 10px; flex: 0 0 auto; }
.rbfund-appfooter-links a { color: inherit; opacity: .9; text-decoration: none; font-size: .92rem; }
.rbfund-appfooter-links a:hover { opacity: 1; text-decoration: underline; }
.rbfund-appfooter-social { display: flex; gap: 8px; flex: 0 0 auto; }
.rbfund-appfooter .rbfund-social-btn {
	width: 38px; height: 38px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	background: rgba(255,255,255,.1); color: #fff;
	text-decoration: none; transition: all .15s ease;
}
.rbfund-appfooter .rbfund-social-btn svg { display: block; }
.rbfund-appfooter .rbfund-social-btn:hover { transform: translateY(-2px); }
.rbfund-appfooter .rbfund-social-instagram:hover { background: #dc2743; }
.rbfund-appfooter .rbfund-social-facebook:hover { background: #1877f2; }
.rbfund-appfooter .rbfund-social-youtube:hover { background: #ff0000; }
.rbfund-appfooter .rbfund-social-tiktok:hover { background: #000; }
.rbfund-appfooter .rbfund-social-twitter:hover { background: #1da1f2; }
.rbfund-appfooter-copy {
	border-top: 1px solid rgba(255,255,255,.08);
	padding: 16px 20px;
	max-width: 1140px; margin: 0 auto;
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px;
	font-size: .82rem; color: inherit; opacity: .7;
}

/* ---- Tombol melayang (float) ---- */
.rbfund-floatbtns {
	position: fixed; right: 18px; bottom: 18px; z-index: 1200;
	display: flex; flex-direction: column; gap: 12px;
	padding-bottom: env(safe-area-inset-bottom, 0px);
}
/* Bila ada bottombar donasi (single campaign), naikkan tombol melayang. */
body.rbfund-standalone:not(.rbfund-has-appbar) .rbfund-floatbtns { bottom: 84px; }
.rbfund-float-wa, .rbfund-float-top {
	width: 52px; height: 52px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 4px 16px rgba(0,0,0,.22);
	cursor: pointer; border: 0;
	transition: transform .15s ease, opacity .25s ease;
}
.rbfund-float-wa { background: #25d366; color: #fff; text-decoration: none; }
.rbfund-float-wa:hover { transform: scale(1.06); }
.rbfund-float-wa svg { display: block; }
.rbfund-float-top { background: #fff; color: #334155; }
.rbfund-float-top:hover { transform: scale(1.06); background: #f1f5f9; }
.rbfund-float-top svg { display: block; }
/* Tombol "ke atas" muncul saat scroll; default samar tapi tetap terpasang.
   Bila JS tak sempat jalan, .rbfund-floatbtns tetap menampilkan WA. */
.rbfund-float-top { opacity: 0; pointer-events: none; }
.rbfund-float-top.show { opacity: 1; pointer-events: auto; }

@media (max-width: 640px) {
	.rbfund-appbar-inner { padding: 8px 14px; }
	.rbfund-appbar-logo { max-height: 38px; max-width: 140px; }
	.rbfund-appbar-nav a { padding: 7px 10px; font-size: .82rem; }
	.rbfund-appfooter-inner { flex-direction: column; gap: 20px; padding: 28px 16px 20px; }
	.rbfund-floatbtns { right: 14px; bottom: 14px; }
	.rbfund-float-wa, .rbfund-float-top { width: 46px; height: 46px; }
}

/* ==================================================================
   Halaman pencarian /search/
   ================================================================== */
.rbfund-searchform { max-width: 640px; margin: 0 auto 22px; }
.rbfund-searchform-box {
	display: flex; align-items: center; gap: 8px;
	background: #fff; border: 1px solid #e2e8f0; border-radius: 999px;
	padding: 6px 6px 6px 16px;
	box-shadow: 0 2px 10px rgba(20,40,60,.05);
}
.rbfund-searchform-icon { color: #94a3b8; display: inline-flex; }
.rbfund-searchform-box input[type="search"] {
	flex: 1; border: 0; outline: 0; background: transparent;
	font-size: 1rem; padding: 10px 4px; color: #1e293b; min-width: 0;
}
.rbfund-searchform-btn {
	flex: 0 0 auto; border: 0; cursor: pointer;
	background: var(--rbfund-btn, var(--rbfund-primary, #16a34a)); color: #fff;
	font-weight: 700; padding: 11px 22px; border-radius: 999px; font-size: .95rem;
}
.rbfund-searchform-btn:hover { filter: brightness(.95); }
.rbfund-search-count { color: #64748b; font-size: .92rem; margin: 0 0 16px; }
.rbfund-empty-cta {
	display: inline-block; margin-top: 14px;
	background: var(--rbfund-btn, var(--rbfund-primary, #16a34a)); color: #fff !important;
	padding: 10px 20px; border-radius: 10px; font-weight: 700; text-decoration: none;
}
.rbfund-appbar-search {
	display: inline-flex !important; align-items: center; justify-content: center;
	width: 38px; height: 38px; padding: 0 !important; border-radius: 50% !important;
}
.rbfund-appbar-login {
	background: var(--rbfund-btn, var(--rbfund-primary, #16a34a)); color: #fff !important;
	padding: 8px 18px !important; border-radius: 999px !important; font-weight: 700;
}
.rbfund-appbar-login:hover { filter: brightness(.95); background: var(--rbfund-btn, var(--rbfund-primary, #16a34a)) !important; color: #fff !important; }

/* ==================================================================
   Halaman login /login/
   ================================================================== */
body.rbfund-login-body {
	margin: 0;
	min-height: 100vh;
	background: linear-gradient(160deg, #f4f6f9 0%, #eef2f7 100%);
}
.rbfund-login-wrap {
	min-height: 100vh;
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	padding: 24px 16px;
	box-sizing: border-box;
}
.rbfund-login-card {
	width: 100%; max-width: 400px;
	background: #fff;
	border-radius: 18px;
	box-shadow: 0 10px 40px rgba(20,40,60,.10);
	padding: 32px 28px;
	box-sizing: border-box;
	text-align: center;
}
.rbfund-login-logo { display: inline-flex; margin-bottom: 18px; text-decoration: none; }
.rbfund-login-logo img { max-height: 56px; max-width: 180px; object-fit: contain; display: block; }
.rbfund-login-logo-txt { font-size: 1.3rem; font-weight: 800; color: var(--rbfund-primary, #16a34a); }
.rbfund-login-title { font-size: 1.5rem; font-weight: 800; margin: 0 0 6px; color: #1e293b; }
.rbfund-login-sub { color: #64748b; font-size: .95rem; margin: 0 0 22px; }
.rbfund-login-alert {
	background: #fef2f2; color: #b91c1c;
	border: 1px solid #fecaca; border-radius: 10px;
	padding: 10px 14px; font-size: .9rem; margin-bottom: 16px; text-align: left;
}
.rbfund-login-form { text-align: left; }
.rbfund-login-field { margin-bottom: 16px; }
.rbfund-login-field label { display: block; font-size: .88rem; font-weight: 600; color: #334155; margin-bottom: 6px; }
.rbfund-login-field input[type="text"],
.rbfund-login-field input[type="password"] {
	width: 100%; box-sizing: border-box;
	border: 1px solid #d7dee6; border-radius: 10px;
	padding: 12px 14px; font-size: 1rem; color: #1e293b;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.rbfund-login-field input:focus {
	outline: 0; border-color: var(--rbfund-primary, #16a34a);
	box-shadow: 0 0 0 3px rgba(22,163,74,.12);
}
.rbfund-login-passwrap { position: relative; }
.rbfund-login-passwrap input { padding-right: 44px !important; }
.rbfund-login-eye {
	position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
	background: none; border: 0; cursor: pointer; color: #94a3b8;
	padding: 6px; display: inline-flex; border-radius: 8px;
}
.rbfund-login-eye:hover { color: #475569; }
.rbfund-login-eye svg { display: block; }
.rbfund-login-row {
	display: flex; align-items: center; justify-content: space-between;
	margin-bottom: 20px; font-size: .88rem;
}
.rbfund-login-remember { color: #475569; display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.rbfund-login-forgot { color: var(--rbfund-primary, #16a34a); text-decoration: none; font-weight: 600; }
.rbfund-login-forgot:hover { text-decoration: underline; }
.rbfund-login-btn {
	display: inline-block; width: 100%; box-sizing: border-box;
	text-align: center; text-decoration: none;
	background: var(--rbfund-btn, var(--rbfund-primary, #16a34a)); color: #fff !important;
	border: 0; cursor: pointer;
	padding: 13px 18px; border-radius: 10px;
	font-size: 1rem; font-weight: 700;
	transition: filter .15s ease;
}
.rbfund-login-btn:hover { filter: brightness(.95); }
.rbfund-login-btn--ghost {
	background: #fff !important; color: #334155 !important;
	border: 1px solid #d7dee6; margin-top: 10px;
}
.rbfund-login-actions { margin-top: 8px; }
.rbfund-login-alt { margin: -4px 0 18px; padding: 10px 12px; background: #f2f9f5; border-radius: 8px; font-size: 12.5px; color: #475569; line-height: 1.55; text-align: center; }
.rbfund-login-alt a { color: var(--rbfund-primary); font-weight: 600; }
.rbfund-login-foot { margin: 20px 0 0; font-size: .9rem; color: #64748b; text-align: center; }
.rbfund-login-foot a { color: var(--rbfund-primary, #16a34a); font-weight: 600; text-decoration: none; }
.rbfund-login-foot a:hover { text-decoration: underline; }
.rbfund-login-back { margin-top: 20px; color: #64748b; text-decoration: none; font-size: .9rem; }
.rbfund-login-back:hover { color: #334155; }

@media (max-width: 440px) {
	.rbfund-login-card { padding: 26px 20px; border-radius: 14px; }
	.rbfund-login-title { font-size: 1.3rem; }
}

/* ==================================================================
   Halaman Kalkulator Zakat /kalkulator-zakat/
   ================================================================== */
.rbfund-zakatpage-box {
	max-width: 640px; margin: 0 auto;
	background: #fff; border-radius: 16px;
	box-shadow: 0 2px 14px rgba(20,40,60,.06);
	padding: 22px;
}
.rbfund-zakat-ref {
	max-width: 640px; margin: 16px auto 0;
	text-align: center; color: #64748b; font-size: .86rem; line-height: 1.6;
}
@media (max-width: 640px) {
	.rbfund-zakatpage-box { padding: 16px; border-radius: 12px; }
}

/* ==================================================================
   Dashboard Fundraiser Saya /fundraiser/  ([rbfund_my_fundraiser])
   ================================================================== */
.rbfund-myfrpage-box { max-width: 860px; margin: 0 auto; }
.rbfund-myfr { color: #1f2937; }
.rbfund-myfr-gate {
	max-width: 460px; margin: 0 auto; text-align: center;
	background: #fff; border-radius: 16px; padding: 30px 22px;
	box-shadow: 0 2px 14px rgba(20,40,60,.06);
}
.rbfund-myfr-gate .button, .rbfund-myfr-loginbtn { margin-top: 8px; }
.rbfund-myfr-head { margin-bottom: 18px; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.rbfund-myfr-hi { display: flex; align-items: center; gap: 14px; }
.rbfund-myfr-ava {
	width: 52px; height: 52px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background: #16a34a; color: #fff; font-size: 1.4rem; font-weight: 700;
	overflow: hidden; flex: none;
}
.rbfund-myfr-ava-img { background: #eef4fb; }
.rbfund-myfr-ava-img img { width: 100%; height: 100%; object-fit: cover; }
.rbfund-myfr-accountlink {
	display: inline-flex; align-items: center; gap: 6px; text-decoration: none;
	background: #f1f5f9; border: 1px solid #e2e8f0; border-radius: 999px;
	padding: 7px 16px; font-size: .85rem; font-weight: 600; color: #334155;
}
.rbfund-myfr-accountlink:hover { background: #e6ebf0; color: #1b8a5a; }
.rbfund-myfr-accountlink .dashicons { font-size: 16px; width: 16px; height: 16px; }
.rbfund-myfr-name { margin: 0; font-size: 1.25rem; }
.rbfund-myfr-role { margin: 2px 0 0; color: #64748b; font-size: .88rem; }
.rbfund-myfr-stats {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px;
	margin-bottom: 26px;
}
.rbfund-myfr-stat {
	background: #fff; border-radius: 14px; padding: 16px 14px; text-align: center;
	box-shadow: 0 2px 12px rgba(20,40,60,.05);
}
.rbfund-myfr-num { display: block; font-size: 1.15rem; font-weight: 700; color: #0f172a; }
.rbfund-myfr-lbl { display: block; margin-top: 4px; color: #64748b; font-size: .78rem; }
.rbfund-myfr-sectitle { font-size: 1.05rem; margin: 22px 0 12px; }
.rbfund-myfr-empty, .rbfund-myfr-empty-sm {
	background: #fff; border-radius: 14px; padding: 20px; color: #64748b;
	box-shadow: 0 2px 12px rgba(20,40,60,.05);
}
.rbfund-myfr-empty .button { margin-top: 10px; }
.rbfund-myfr-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.rbfund-myfr-card {
	background: #fff; border-radius: 14px; padding: 16px;
	box-shadow: 0 2px 12px rgba(20,40,60,.05);
	display: flex; flex-direction: column; gap: 10px;
}
.rbfund-myfr-card-title { font-weight: 700; color: #0f172a; text-decoration: none; }
.rbfund-myfr-card-title:hover { color: #16a34a; }
.rbfund-myfr-card-stats { display: flex; gap: 16px; font-size: .85rem; color: #475569; }
.rbfund-myfr-card-linkrow { display: flex; gap: 6px; }
.rbfund-myfr-link {
	flex: 1; min-width: 0; padding: 7px 9px; font-size: .8rem;
	border: 1px solid #e2e8f0; border-radius: 8px; background: #f8fafc; color: #334155;
}
.rbfund-myfr-copy { white-space: nowrap; }
.rbfund-myfr-card-share { display: flex; gap: 8px; flex-wrap: wrap; }
.rbfund-myfr-card-share .rbfund-share {
	font-size: .78rem; padding: 5px 10px; border-radius: 999px; text-decoration: none; color: #fff;
}
.rbfund-myfr-card-share .wa { background: #22c55e; }
.rbfund-myfr-card-share .fb { background: #1877f2; }
.rbfund-myfr-card-share .tg { background: #229ed9; }
.rbfund-myfr-recent {
	background: #fff; border-radius: 14px; padding: 8px 4px;
	box-shadow: 0 2px 12px rgba(20,40,60,.05);
}
.rbfund-myfr-recent-row {
	display: flex; align-items: center; gap: 12px; padding: 10px 14px;
	border-bottom: 1px solid #f1f5f9;
}
.rbfund-myfr-recent-row:last-child { border-bottom: 0; }
.rbfund-myfr-recent-ava {
	width: 38px; height: 38px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background: #ecfdf5; color: #16a34a; font-weight: 700;
}
.rbfund-myfr-recent-meta { flex: 1; min-width: 0; }
.rbfund-myfr-recent-meta strong { display: block; }
.rbfund-myfr-recent-meta span { color: #64748b; font-size: .8rem; }
.rbfund-myfr-recent-amt { font-weight: 700; color: #16a34a; white-space: nowrap; }
.rbfund-fr-dashlink { margin-top: 14px; text-align: center; }
.rbfund-fr-dashlink a { color: #16a34a; font-weight: 600; text-decoration: none; }
@media (max-width: 720px) {
	.rbfund-myfr-stats { grid-template-columns: repeat(2, 1fr); }
	.rbfund-myfr-cards { grid-template-columns: 1fr; }
}

/* ==================================================================
   Halaman Registrasi /register/  (meniru gaya aksiqu.com)
   ================================================================== */
.rbfund-register-body { background: #fff; }
.rbfund-register-body .rbfund-login-wrap {
	min-height: 100vh; display: flex; align-items: flex-start; justify-content: center;
	padding: 0; background: #fff;
}
.rbfund-register-body .rbfund-login-card {
	width: 100%; max-width: 620px; margin: 0 auto;
	background: #fff; box-shadow: none; border: 0; border-radius: 0;
	padding: 40px 24px 60px;
}
/* Logo di tengah */
.rbfund-register-body .rbfund-login-logo {
	display: block; text-align: center; margin: 8px auto 30px;
}
.rbfund-register-body .rbfund-login-logo img { max-height: 82px; width: auto; display: inline-block; }
/* Judul & subjudul rata kiri seperti screenshot */
.rbfund-register-body .rbfund-login-title {
	font-size: 2rem; font-weight: 800; color: #1f2b3a; margin: 0 0 6px; text-align: left;
}
.rbfund-register-body .rbfund-login-sub {
	color: #8a97a5; font-size: 1.05rem; margin: 0 0 26px; text-align: left;
}
/* Field: placeholder di dalam, border tipis, radius sedang, padding lega */
.rbfund-reg-field { position: relative; margin-bottom: 18px; }
.rbfund-reg-field input {
	width: 100%; box-sizing: border-box;
	padding: 18px 18px; font-size: 1rem;
	border: 1px solid #e2e8ef; border-radius: 10px; background: #fff; color: #1f2b3a;
	transition: border-color .15s, box-shadow .15s;
}
.rbfund-reg-field input::placeholder { color: #aab4c0; }
.rbfund-reg-field input:focus {
	outline: none; border-color: #3aa856; box-shadow: 0 0 0 3px rgba(58,168,86,.12);
}
/* Password + tombol mata */
.rbfund-reg-passwrap input { padding-right: 54px; }
.rbfund-reg-passwrap .rbfund-login-eye {
	position: absolute; right: 14px; top: 50%; transform: translateY(-50%);
	background: none; border: 0; cursor: pointer; color: #64748b; padding: 4px; line-height: 0;
}
.rbfund-reg-passwrap .rbfund-login-eye:hover { color: #334155; }
.rbfund-login-eye .rbfund-eye-off { display: none; }
.rbfund-login-eye.is-on .rbfund-eye-on { display: none; }
.rbfund-login-eye.is-on .rbfund-eye-off { display: block; }
/* Boks aturan password (krem) */
.rbfund-reg-rules {
	list-style: none; margin: 4px 0 20px; padding: 16px 18px 16px 34px;
	background: #fbf1e8; border-radius: 10px;
	font-size: .95rem; color: #5b6470; line-height: 1.7;
}
.rbfund-reg-rules li { position: relative; }
.rbfund-reg-rules li::before {
	content: "•"; position: absolute; left: -18px; color: #9aa4b0; font-size: 1.1em;
}
.rbfund-reg-rules li.ok { color: #2e7d3f; }
.rbfund-reg-rules li.ok::before { content: "✓"; color: #2e7d3f; font-weight: 700; }
/* Checkbox persetujuan */
.rbfund-reg-agree {
	display: flex; gap: 12px; align-items: flex-start;
	font-size: 1rem; color: #5b6470; line-height: 1.5; margin: 4px 0 30px; cursor: pointer;
}
.rbfund-reg-agree input {
	width: 20px; height: 20px; margin: 2px 0 0; flex-shrink: 0; accent-color: #3aa856; cursor: pointer;
}
/* Tombol Register hijau penuh */
.rbfund-reg-submit {
	display: block; width: 100%; box-sizing: border-box;
	padding: 18px 20px; font-size: 1.1rem; font-weight: 700; color: #fff;
	background: #3f9b2f; border: 0; border-radius: 10px; cursor: pointer;
	box-shadow: 0 6px 16px rgba(63,155,47,.28); transition: background .15s, transform .05s;
}
.rbfund-reg-submit:hover { background: #37891f; }
.rbfund-reg-submit:active { transform: translateY(1px); }
/* Footer link */
.rbfund-register-body .rbfund-login-foot {
	text-align: center; margin: 30px 0 0; color: #8a97a5; font-size: 1rem;
}
.rbfund-register-body .rbfund-login-foot a { color: #3f9b2f; font-weight: 600; text-decoration: none; }
.rbfund-register-body .rbfund-login-foot a:hover { text-decoration: underline; }
/* Alert error */
.rbfund-register-body .rbfund-login-alert {
	background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;
	padding: 12px 14px; border-radius: 10px; font-size: .92rem; margin-bottom: 18px;
}
/* Honeypot (anti-spam) — kelas khusus, jangan pakai .rbfund-hp (bentrok homepage). */
.rbfund-hpot { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
/* Dekorasi blob lembut di sudut (opsional, meniru aksiqu) */
.rbfund-register-body::before {
	content: ""; position: fixed; top: -80px; left: -80px; width: 280px; height: 280px;
	background: radial-gradient(circle at 30% 30%, #fde7f0 0%, rgba(253,231,240,0) 70%);
	z-index: -1; pointer-events: none;
}
.rbfund-register-body::after {
	content: ""; position: fixed; top: -60px; right: -60px; width: 260px; height: 260px;
	background: radial-gradient(circle at 70% 30%, #e6f7ef 0%, rgba(230,247,239,0) 70%);
	z-index: -1; pointer-events: none;
}
@media (max-width: 600px) {
	.rbfund-register-body .rbfund-login-card { padding: 28px 18px 48px; }
	.rbfund-register-body .rbfund-login-title { font-size: 1.6rem; }
	.rbfund-register-body .rbfund-login-sub { font-size: .98rem; }
	.rbfund-reg-field input { padding: 15px 15px; }
}

/* Verifikasi email: layar sukses & varian alert */
.rbfund-reg-done { text-align: center; padding: 10px 0 4px; }
.rbfund-reg-done-icon {
	width: 76px; height: 76px; margin: 0 auto 18px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background: #eafaf0; color: #3aa856;
}
.rbfund-reg-done .rbfund-login-title { text-align: center; }
.rbfund-reg-done .rbfund-login-sub { text-align: center; }
.rbfund-login-alert.is-ok {
	background: #eafaf0; color: #1c7a41; border: 1px solid #bfe8cf;
}
.rbfund-login-alert.is-error {
	background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;
}
.rbfund-login-alert a { color: inherit; font-weight: 600; text-decoration: underline; }

/* ============================================================
   Halaman Akun Saya (/akun/)
   ============================================================ */
.rbfund-accountpage { max-width: 720px; margin: 0 auto; }
.rbfund-acc-hero {
	display: flex; align-items: center; gap: 18px;
	background: linear-gradient(135deg, #1b8a5a 0%, #147a4d 100%);
	color: #fff; border-radius: 16px; padding: 24px; margin: 16px 0;
}
.rbfund-acc-avatar {
	width: 84px; height: 84px; border-radius: 50%; overflow: hidden; flex: none;
	background: rgba(255,255,255,.2); display: flex; align-items: center; justify-content: center;
	border: 3px solid rgba(255,255,255,.5);
}
.rbfund-acc-avatar img { width: 100%; height: 100%; object-fit: cover; }
.rbfund-acc-avatar-ini { font-size: 2.2rem; font-weight: 800; color: #fff; }
.rbfund-acc-identity { min-width: 0; }
.rbfund-acc-name { font-size: 1.5rem; font-weight: 800; margin: 0 0 2px; color: #fff; }
.rbfund-acc-email { font-size: .9rem; opacity: .9; margin: 0 0 8px; word-break: break-all; }
.rbfund-acc-badges { display: flex; flex-wrap: wrap; gap: 6px; }
.rbfund-acc-badge {
	display: inline-flex; align-items: center; gap: 4px;
	background: rgba(255,255,255,.2); border-radius: 999px;
	padding: 3px 10px; font-size: .78rem; font-weight: 600;
}
.rbfund-acc-badge .dashicons { font-size: 15px; width: 15px; height: 15px; }

.rbfund-acc-stats {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 16px;
}
.rbfund-acc-stat {
	background: #fff; border: 1px solid #e6ebf0; border-radius: 12px;
	padding: 16px 12px; text-align: center;
}
.rbfund-acc-stat-val { display: block; font-size: 1.15rem; font-weight: 800; color: #1b8a5a; }
.rbfund-acc-stat-lbl { display: block; font-size: .78rem; color: #64748b; margin-top: 2px; }

.rbfund-acc-actions {
	display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-bottom: 20px;
}
.rbfund-acc-action {
	display: flex; align-items: center; gap: 10px; text-decoration: none;
	background: #fff; border: 1px solid #e6ebf0; border-radius: 12px;
	padding: 14px 16px; color: #26333d; font-weight: 600; transition: all .15s ease;
}
.rbfund-acc-action:hover { border-color: #1b8a5a; background: #f6fbf8; }
.rbfund-acc-action .dashicons { color: #1b8a5a; }
.rbfund-acc-action.is-primary { background: #1b8a5a; color: #fff; border-color: #1b8a5a; }
.rbfund-acc-action.is-primary .dashicons { color: #fff; }
.rbfund-acc-action.is-primary:hover { background: #147a4d; }
.rbfund-acc-action.is-ghost { color: #b91c1c; }
.rbfund-acc-action.is-ghost .dashicons { color: #b91c1c; }

.rbfund-acc-panel {
	background: #fff; border: 1px solid #e6ebf0; border-radius: 14px;
	padding: 20px; margin-bottom: 16px;
}
.rbfund-acc-panel-title { font-size: 1.05rem; font-weight: 800; color: #26333d; margin: 0 0 14px; }
.rbfund-acc-info { list-style: none; margin: 0; padding: 0; }
.rbfund-acc-info li {
	display: flex; justify-content: space-between; gap: 12px;
	padding: 10px 0; border-bottom: 1px solid #f0f3f6;
}
.rbfund-acc-info li:last-child { border-bottom: none; }
.rbfund-acc-info-k { color: #64748b; font-size: .9rem; }
.rbfund-acc-info-v { color: #26333d; font-weight: 600; text-align: right; word-break: break-word; }

.rbfund-acc-empty { color: #64748b; text-align: center; padding: 20px 0; margin: 0; }
.rbfund-acc-history { display: flex; flex-direction: column; }
.rbfund-acc-hitem {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	padding: 12px 0; border-bottom: 1px solid #f0f3f6;
}
.rbfund-acc-hitem:last-child { border-bottom: none; }
.rbfund-acc-hmain { min-width: 0; }
.rbfund-acc-hcamp { display: block; font-weight: 700; color: #26333d; font-size: .95rem; }
.rbfund-acc-hdate { display: block; font-size: .78rem; color: #8a97a3; margin-top: 2px; }
.rbfund-acc-hside { text-align: right; flex: none; }
.rbfund-acc-hamt { display: block; font-weight: 800; color: #26333d; font-size: .95rem; }
.rbfund-acc-hstat {
	display: inline-block; font-size: .72rem; font-weight: 600; margin-top: 3px;
	padding: 1px 8px; border-radius: 999px;
}
.rbfund-acc-hstat.is-paid { background: #dcfce7; color: #166534; }
.rbfund-acc-hstat.is-pending { background: #fef9c3; color: #854d0e; }
.rbfund-acc-hstat.is-expired, .rbfund-acc-hstat.is-cancelled, .rbfund-acc-hstat.is-failed { background: #fee2e2; color: #991b1b; }

@media (max-width: 560px) {
	.rbfund-acc-hero { flex-direction: column; text-align: center; }
	.rbfund-acc-badges { justify-content: center; }
	.rbfund-acc-actions { grid-template-columns: 1fr; }
	.rbfund-acc-name { font-size: 1.3rem; }
}

/* Edit profil di halaman Akun */
.rbfund-acc-hero { position: relative; }
.rbfund-acc-editbtn {
	position: absolute; top: 16px; right: 16px;
	display: inline-flex; align-items: center; gap: 5px;
	background: rgba(255,255,255,.22); color: #fff; border: 1px solid rgba(255,255,255,.4);
	border-radius: 999px; padding: 6px 14px; font-size: .85rem; font-weight: 600; cursor: pointer;
	transition: background .15s ease;
}
.rbfund-acc-editbtn:hover { background: rgba(255,255,255,.35); }
.rbfund-acc-editbtn .dashicons { font-size: 16px; width: 16px; height: 16px; }

.rbfund-acc-modal {
	position: fixed; inset: 0; z-index: 9999; background: rgba(15,23,42,.55);
	display: flex; align-items: center; justify-content: center; padding: 16px;
}
.rbfund-acc-modal[hidden] { display: none; }
.rbfund-acc-modal-box {
	background: #fff; border-radius: 16px; width: 100%; max-width: 440px;
	max-height: 92vh; overflow: auto; box-shadow: 0 20px 60px rgba(0,0,0,.3);
}
.rbfund-acc-modal-head {
	display: flex; align-items: center; justify-content: space-between;
	padding: 18px 20px; border-bottom: 1px solid #eef2f6;
}
.rbfund-acc-modal-head h2 { margin: 0; font-size: 1.15rem; font-weight: 800; color: #26333d; }
.rbfund-acc-modal-x { background: none; border: none; font-size: 1.8rem; line-height: 1; color: #94a3b8; cursor: pointer; }
.rbfund-acc-modal-x:hover { color: #475569; }
.rbfund-acc-modal-body { padding: 20px; }
.rbfund-acc-photo-edit { text-align: center; margin-bottom: 18px; }
.rbfund-acc-photo-prev {
	width: 96px; height: 96px; border-radius: 50%; margin: 0 auto 10px; overflow: hidden;
	background: #eef4fb; display: flex; align-items: center; justify-content: center;
	border: 2px solid #e2e8f0;
}
.rbfund-acc-photo-prev img { width: 100%; height: 100%; object-fit: cover; }
.rbfund-acc-photo-prev span { font-size: 2rem; font-weight: 800; color: #64748b; }
.rbfund-acc-photo-btn {
	display: inline-flex; align-items: center; gap: 6px; cursor: pointer;
	background: #f1f5f9; border: 1px solid #e2e8f0; border-radius: 8px;
	padding: 7px 14px; font-size: .85rem; font-weight: 600; color: #334155;
}
.rbfund-acc-photo-btn:hover { background: #e6ebf0; }
.rbfund-acc-photo-btn .dashicons { font-size: 16px; width: 16px; height: 16px; }
.rbfund-acc-photo-hint { font-size: .75rem; color: #94a3b8; margin: 6px 0 0; }
.rbfund-acc-field { margin-bottom: 14px; }
.rbfund-acc-field label { display: block; font-size: .85rem; font-weight: 600; color: #475569; margin-bottom: 5px; }
.rbfund-acc-field input {
	width: 100%; box-sizing: border-box; padding: 10px 12px;
	border: 1px solid #d8e0e8; border-radius: 8px; font-size: .95rem;
}
.rbfund-acc-field input:focus { outline: none; border-color: #1b8a5a; box-shadow: 0 0 0 3px rgba(27,138,90,.12); }
.rbfund-acc-field input:disabled { background: #f1f5f9; color: #94a3b8; }
.rbfund-acc-field-note { display: block; font-size: .75rem; color: #94a3b8; margin-top: 4px; }
.rbfund-acc-modal-msg { font-size: .85rem; min-height: 20px; margin-top: 4px; }
.rbfund-acc-modal-msg.is-ok { color: #166534; }
.rbfund-acc-modal-msg.is-error { color: #b91c1c; }
.rbfund-acc-modal-foot {
	display: flex; justify-content: flex-end; gap: 10px;
	padding: 16px 20px; border-top: 1px solid #eef2f6;
}
.rbfund-acc-btn-ghost {
	background: #fff; border: 1px solid #d8e0e8; border-radius: 8px;
	padding: 9px 18px; font-weight: 600; color: #475569; cursor: pointer;
}
.rbfund-acc-btn-ghost:hover { background: #f6f9fb; }
.rbfund-acc-btn-save {
	background: #1b8a5a; border: 1px solid #1b8a5a; border-radius: 8px;
	padding: 9px 18px; font-weight: 700; color: #fff; cursor: pointer;
}
.rbfund-acc-btn-save:hover { background: #147a4d; }
.rbfund-acc-btn-save:disabled { opacity: .6; cursor: default; }

/* Tautan pembayaran QRIS/e-wallet (Flip: halaman payment_url) */
.rbfund-inv-paylink { text-align: center; padding: 10px 6px; }
.rbfund-inv-paylink-ic { font-size: 46px; width: 46px; height: 46px; color: #1b8a5a; }
.rbfund-inv-paylink-title { font-size: 1.1rem; font-weight: 800; color: #26333d; margin: 8px 0 4px; }
.rbfund-inv-paylink-desc { font-size: .88rem; color: #64748b; margin: 0 0 16px; line-height: 1.5; }
.rbfund-inv-paylink-btn {
	display: inline-flex; align-items: center; gap: 8px; text-decoration: none;
	background: #1b8a5a; color: #fff; font-weight: 700; font-size: 1rem;
	padding: 13px 28px; border-radius: 12px; transition: background .15s ease;
}
.rbfund-inv-paylink-btn:hover { background: #147a4d; color: #fff; }
.rbfund-inv-paylink-btn .dashicons { font-size: 18px; width: 18px; height: 18px; }

/* ============================================================
   Gaya Form Donasi: List & Typing (selain Card)
   ============================================================ */
/* LIST: nominal sebagai daftar vertikal dengan radio */
.rbfund-dp-list { display: flex; flex-direction: column; gap: 10px; margin-bottom: 14px; }
.rbfund-dp-listitem {
	display: flex; align-items: center; gap: 12px; width: 100%;
	background: #fff; border: 1.5px solid #e6ebf0; border-radius: 12px;
	padding: 14px 16px; cursor: pointer; text-align: left; transition: all .15s ease;
}
.rbfund-dp-listitem:hover { border-color: #1b8a5a; background: #f6fbf8; }
.rbfund-dp-listitem.active { border-color: #1b8a5a; background: #f0f9f4; }
.rbfund-dp-listradio {
	width: 20px; height: 20px; border-radius: 50%; border: 2px solid #cbd5e1;
	flex: none; position: relative; transition: all .15s ease;
}
.rbfund-dp-listitem.active .rbfund-dp-listradio { border-color: #1b8a5a; }
.rbfund-dp-listitem.active .rbfund-dp-listradio::after {
	content: ''; position: absolute; inset: 3px; border-radius: 50%; background: #1b8a5a;
}
.rbfund-dp-listval { font-weight: 700; color: #26333d; font-size: 1rem; flex: 1; }
.rbfund-dp-listtag {
	font-size: .72rem; font-weight: 600; color: #1b8a5a;
	background: #dcfce7; padding: 2px 8px; border-radius: 999px;
}

/* TYPING: input nominal besar + saran cepat */
.rbfund-dp-typing { margin-bottom: 14px; }
.rbfund-dp-typewrap {
	display: flex; align-items: center; gap: 8px;
	background: #fff; border: 2px solid #e6ebf0; border-radius: 12px;
	padding: 6px 16px; transition: border-color .15s ease;
}
.rbfund-dp-typewrap:focus-within { border-color: #1b8a5a; }
.rbfund-dp-typecur { font-size: 1.3rem; font-weight: 800; color: #64748b; }
.rbfund-dp-typeinput {
	border: none !important; outline: none !important; box-shadow: none !important;
	font-size: 1.6rem !important; font-weight: 800 !important; color: #26333d !important;
	width: 100%; padding: 8px 0 !important; background: transparent !important;
}
.rbfund-dp-suggest { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.rbfund-dp-suggestbtn {
	background: #f1f5f9; border: 1px solid #e2e8f0; border-radius: 999px;
	padding: 7px 14px; font-size: .85rem; font-weight: 600; color: #334155; cursor: pointer;
	transition: all .15s ease;
}
.rbfund-dp-suggestbtn:hover { background: #1b8a5a; color: #fff; border-color: #1b8a5a; }

/* ============================================================
   Sort Donatur (tab Terbaru/Terlama/Terbesar/Terkecil)
   ============================================================ */
.rbfund-donorsort { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.rbfund-donorsort-btn {
	background: #fff; border: 1.5px solid var(--rbfund-primary, #16a34a);
	color: var(--rbfund-primary, #16a34a); border-radius: 10px;
	padding: 8px 18px; font-weight: 700; font-size: .9rem; cursor: pointer;
	transition: all .15s ease;
}
.rbfund-donorsort-btn:hover { background: #fbeaea; }
.rbfund-donorsort-btn.is-active { background: var(--rbfund-primary, #16a34a); color: #fff; }

/* ============================================================
   Dinding Doa Orang Baik (shortcode rbfund_doa_wall)
   ============================================================ */
.rbfund-doawall { max-width: 760px; margin: 0 auto; padding: 8px 0; }
.rbfund-doawall-title { font-size: 1.05rem; font-weight: 800; color: #26333d; margin: 0 0 10px; text-align: center; }
.rbfund-doawall-tabs { display: flex; gap: 6px; margin-bottom: 12px; justify-content: center; }
.rbfund-doawall-tab {
	background: #fff; border: 1px solid var(--rbfund-primary, #16a34a);
	color: var(--rbfund-primary, #16a34a); border-radius: 999px;
	padding: 4px 12px; font-weight: 600; font-size: .72rem; cursor: pointer;
	transition: all .15s ease;
}
.rbfund-doawall-tabs { display: flex; gap: 8px; margin-bottom: 18px; justify-content: center; }
.rbfund-doawall-tab:hover { background: #f0f9f4; }
.rbfund-doawall-tab.is-active { background: var(--rbfund-primary, #16a34a); color: #fff; }
.rbfund-doawall-item {
	display: flex; gap: 14px; background: #fff;
	border: 1px solid #e6ebf0; border-radius: 14px; padding: 16px;
}
.rbfund-doawall-ava {
	width: 46px; height: 46px; border-radius: 50%; flex: none;
	display: flex; align-items: center; justify-content: center;
	background: linear-gradient(135deg, #1b8a5a, #147a4d); color: #fff;
	font-weight: 800; font-size: 1.2rem;
}
.rbfund-doawall-body { flex: 1; min-width: 0; }
.rbfund-doawall-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.rbfund-doawall-name { font-weight: 800; color: #26333d; font-size: 1rem; }
.rbfund-doawall-when { font-size: .78rem; color: #94a3b8; }
.rbfund-doawall-msg { margin: 8px 0 10px; color: #374151; line-height: 1.6; font-size: .95rem; }
.rbfund-doawall-foot { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.rbfund-doawall-camp {
	display: inline-flex; align-items: center; gap: 5px; text-decoration: none;
	font-size: .82rem; font-weight: 600; color: #1b8a5a;
}
.rbfund-doawall-camp:hover { text-decoration: underline; }
.rbfund-doawall-camp .dashicons { font-size: 15px; width: 15px; height: 15px; }
.rbfund-doawall-aamiin { font-size: .82rem; font-weight: 700; color: #c2410c; }
.rbfund-doawall-empty, .rbfund-doawall-none { text-align: center; color: #64748b; padding: 24px 0; }
@media (max-width: 560px) {
	.rbfund-doawall-tabs, .rbfund-donorsort { overflow-x: auto; }
	.rbfund-doawall-tab, .rbfund-donorsort-btn { white-space: nowrap; }
}

/* ============================================================
   Kartu Pilihan Hewan Qurban (dengan foto)
   ============================================================ */
.rbfund-qurban-cards { display: grid; grid-template-columns: 1fr; gap: 10px; margin-bottom: 14px; }
@media (min-width: 480px) { .rbfund-qurban-cards { grid-template-columns: 1fr 1fr; } }
.rbfund-qurban-card {
	position: relative; display: flex; align-items: center; gap: 12px;
	background: #fff; border: 2px solid #e6ebf0; border-radius: 14px;
	padding: 10px; cursor: pointer; text-align: left; transition: all .15s ease; width: 100%;
}
.rbfund-qurban-card:hover { border-color: #1b8a5a; }
.rbfund-qurban-card.is-active { border-color: #1b8a5a; background: #f0f9f4; }
.rbfund-qurban-card-img {
	width: 68px; height: 68px; border-radius: 10px; flex: none;
	background: #eef2f7 center/cover no-repeat;
	display: flex; align-items: center; justify-content: center;
}
.rbfund-qurban-card-noimg .dashicons { color: #94a3b8; font-size: 30px; width: 30px; height: 30px; }
.rbfund-qurban-card-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.rbfund-qurban-card-title { font-weight: 800; color: #26333d; font-size: .98rem; line-height: 1.3; }
.rbfund-qurban-card-price { color: #1b8a5a; font-weight: 700; font-size: .9rem; }
.rbfund-qurban-card-check {
	position: absolute; top: 10px; right: 10px; color: #1b8a5a;
	font-size: 20px; width: 20px; height: 20px; opacity: 0; transition: opacity .15s ease;
}
.rbfund-qurban-card.is-active .rbfund-qurban-card-check { opacity: 1; }

/* ===== Komisi & Pencairan (dashboard fundraiser) ===== */
.rbfund-myfr-commission { margin-bottom: 28px; }
.rbfund-comm-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin-bottom: 18px; }
.rbfund-comm-box { background: #fff; border: 1px solid #e6ebf1; border-radius: 12px; padding: 14px 16px; }
.rbfund-comm-box--avail { background: linear-gradient(135deg,#f0fdf4,#dcfce7); border-color: #bbf7d0; }
.rbfund-comm-lbl { display: block; font-size: 12px; color: #6b7280; margin-bottom: 4px; }
.rbfund-comm-num { display: block; font-size: 20px; font-weight: 800; color: #16324f; }
.rbfund-comm-box--avail .rbfund-comm-num { color: #15803d; }
.rbfund-comm-payout { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 18px; }
@media (max-width: 640px){ .rbfund-comm-payout { grid-template-columns: 1fr; } }
.rbfund-comm-bank, .rbfund-comm-request { background: #fff; border: 1px solid #e6ebf1; border-radius: 12px; padding: 16px; }
.rbfund-comm-bank h4, .rbfund-comm-request h4 { margin: 0 0 10px; font-size: 14px; color: #16324f; }
.rbfund-comm-bankinfo { font-size: 13px; line-height: 1.6; color: #334155; background: #f8fafc; padding: 10px 12px; border-radius: 8px; margin: 0 0 10px; }
.rbfund-comm-nobank, .rbfund-comm-empty2, .rbfund-comm-min { font-size: 12px; color: #94a3b8; margin: 0 0 10px; }
.rbfund-comm-bankform input, .rbfund-comm-reqform input, .rbfund-comm-reqform textarea { width: 100%; padding: 9px 12px; border: 1px solid #d8e0e8; border-radius: 8px; margin-bottom: 8px; font-size: 13px; box-sizing: border-box; }
.rbfund-comm-btn { background: #16a34a; color: #fff; border: 0; border-radius: 8px; padding: 10px 16px; font-weight: 600; cursor: pointer; font-size: 13px; }
.rbfund-comm-btn:hover { background: #15803d; }
.rbfund-comm-btn:disabled { opacity: .5; cursor: not-allowed; }
.rbfund-comm-btn--sec { background: #2563eb; }
.rbfund-comm-btn--sec:hover { background: #1d4ed8; }
.rbfund-comm-hint { display: block; margin-top: 6px; font-size: 11px; color: #f59e0b; }
.rbfund-comm-msg { display: block; margin-top: 8px; font-size: 12px; }
.rbfund-comm-msg.is-ok { color: #16a34a; }
.rbfund-comm-msg.is-err { color: #dc2626; }
.rbfund-comm-histtitle { font-size: 14px; color: #16324f; margin: 4px 0 8px; }
.rbfund-comm-hist table { width: 100%; border-collapse: collapse; font-size: 13px; }
.rbfund-comm-hist th, .rbfund-comm-hist td { text-align: left; padding: 8px 10px; border-bottom: 1px solid #eef1f5; }
.rbfund-comm-hist th { color: #6b7280; font-weight: 600; }
.rbfund-po-status { display: inline-block; padding: 2px 10px; border-radius: 20px; font-size: 11px; font-weight: 700; }
.rbfund-po-pending { background: #fef3c7; color: #92400e; }
.rbfund-po-approved { background: #dbeafe; color: #1e40af; }
.rbfund-po-paid { background: #dcfce7; color: #166534; }
.rbfund-po-rejected { background: #fee2e2; color: #991b1b; }

/* ============================================================
   HOMEPAGE (shortcode [rbfund_homepage]) — gaya platform donasi
   ============================================================ */
.rbfund-hp { --rbhp-primary: #16a34a; --rbhp-dark: #0f2e1d; --rbhp-ink: #1f2937; --rbhp-muted: #6b7280; --rbhp-line: #e8edf1; --rbhp-bg: #f6f9f7; font-family: inherit; color: var(--rbhp-ink); line-height: 1.6; }
.rbfund-hp * { box-sizing: border-box; }
.rbfund-hp h1, .rbfund-hp h2, .rbfund-hp h3 { margin: 0; line-height: 1.2; }

/* Section shell */
.rbfund-hp > section { max-width: 1160px; margin: 0 auto; padding: 56px 20px; }
.rbfund-hp-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 28px; flex-wrap: wrap; }
.rbfund-hp-section-head h2 { font-size: clamp(22px, 3vw, 30px); font-weight: 800; color: var(--rbhp-dark); }
.rbfund-hp-section-head--center { justify-content: center; text-align: center; }
.rbfund-hp-seeall { color: var(--rbhp-primary); font-weight: 700; text-decoration: none; font-size: 14px; white-space: nowrap; }
.rbfund-hp-seeall:hover { text-decoration: underline; }

/* Buttons */
.rbfund-hp-btn { display: inline-block; padding: 13px 28px; border-radius: 999px; font-weight: 700; text-decoration: none; font-size: 15px; transition: transform .12s ease, box-shadow .12s ease, background .15s ease; cursor: pointer; border: 0; }
.rbfund-hp-btn:hover { transform: translateY(-1px); }
.rbfund-hp-btn--primary { background: var(--rbhp-primary); color: #fff; box-shadow: 0 6px 18px rgba(22,163,74,.28); }
.rbfund-hp-btn--primary:hover { box-shadow: 0 10px 24px rgba(22,163,74,.36); }
.rbfund-hp-btn--ghost { background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,.55); }
.rbfund-hp-btn--ghost:hover { background: rgba(255,255,255,.12); }
.rbfund-hp-btn--light { background: #fff; color: var(--rbhp-primary); }

/* HERO */
.rbfund-hp-hero { max-width: none; padding: 0; background: radial-gradient(120% 140% at 15% 10%, #1c7a48 0%, var(--rbhp-dark) 60%); color: #fff; }
.rbfund-hp-hero-inner { max-width: 1160px; margin: 0 auto; padding: 72px 20px; display: grid; grid-template-columns: 1.3fr .9fr; gap: 48px; align-items: center; }
.rbfund-hp-eyebrow { display: inline-block; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #9ae6b8; margin-bottom: 14px; }
.rbfund-hp-title { font-size: clamp(30px, 5vw, 50px); font-weight: 800; letter-spacing: -.02em; margin-bottom: 16px; }
.rbfund-hp-sub { font-size: clamp(15px, 2vw, 18px); color: rgba(255,255,255,.86); max-width: 560px; margin: 0 0 28px; }
.rbfund-hp-hero-cta { display: flex; gap: 12px; flex-wrap: wrap; }
.rbfund-hp-hero-stats { display: grid; gap: 14px; }
.rbfund-hp-stat { background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.14); border-radius: 16px; padding: 18px 22px; backdrop-filter: blur(4px); }
.rbfund-hp-stat-num { display: block; font-size: clamp(22px, 3vw, 30px); font-weight: 800; }
.rbfund-hp-stat-lbl { display: block; font-size: 13px; color: rgba(255,255,255,.75); margin-top: 2px; }

/* KATEGORI */
.rbfund-hp-cats { background: var(--rbhp-bg); max-width: none; }
.rbfund-hp-cats > * { max-width: 1160px; margin-left: auto; margin-right: auto; }
.rbfund-hp-cat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.rbfund-hp-cat { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; padding: 24px 14px; background: #fff; border: 1px solid var(--rbhp-line); border-radius: 16px; text-decoration: none; color: var(--rbhp-ink); transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease; }
.rbfund-hp-cat:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(15,46,29,.10); border-color: transparent; }
.rbfund-hp-cat-ic { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 50%; background: color-mix(in srgb, var(--rbhp-primary) 12%, #fff); color: var(--rbhp-primary); }
.rbfund-hp-cat-ic .dashicons { font-size: 28px; width: 28px; height: 28px; }
.rbfund-hp-cat-name { font-weight: 700; font-size: 15px; }
.rbfund-hp-cat-count { font-size: 12px; color: var(--rbhp-muted); }

/* CARDS (program) */
.rbfund-hp-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.rbfund-hp-card { background: #fff; border: 1px solid var(--rbhp-line); border-radius: 18px; overflow: hidden; display: flex; flex-direction: column; transition: transform .14s ease, box-shadow .14s ease; }
.rbfund-hp-card:hover { transform: translateY(-4px); box-shadow: 0 16px 36px rgba(15,46,29,.12); }
.rbfund-hp-card-cover { position: relative; display: block; aspect-ratio: 16 / 10; background: #eef2f0; overflow: hidden; }
.rbfund-hp-card-cover img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s ease; }
.rbfund-hp-card:hover .rbfund-hp-card-cover img { transform: scale(1.05); }
.rbfund-hp-card-ph { position: absolute; inset: 0; display: grid; place-items: center; color: #cbd5d1; }
.rbfund-hp-card-ph .dashicons { font-size: 46px; width: 46px; height: 46px; }
.rbfund-hp-card-cat { position: absolute; top: 12px; left: 12px; background: rgba(255,255,255,.94); color: var(--rbhp-dark); font-size: 11px; font-weight: 700; padding: 5px 11px; border-radius: 999px; }
.rbfund-hp-card-body { padding: 16px 18px 18px; display: flex; flex-direction: column; flex: 1; }
.rbfund-hp-card-title { font-size: 16px; font-weight: 700; margin-bottom: 12px; line-height: 1.35; }
.rbfund-hp-card-title a { color: var(--rbhp-dark); text-decoration: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.rbfund-hp-card-title a:hover { color: var(--rbhp-primary); }
.rbfund-hp-card-prog { height: 8px; background: #eef2f0; border-radius: 999px; overflow: hidden; margin-bottom: 10px; }
.rbfund-hp-card-progbar { height: 100%; background: var(--rbhp-primary); border-radius: 999px; }
.rbfund-hp-card-meta { display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; margin-bottom: 14px; }
.rbfund-hp-card-raised { display: block; font-weight: 800; color: var(--rbhp-dark); font-size: 16px; }
.rbfund-hp-card-sub { font-size: 12px; color: var(--rbhp-muted); }
.rbfund-hp-card-pct { font-weight: 800; color: var(--rbhp-primary); font-size: 15px; }
.rbfund-hp-card-btn { margin-top: auto; display: block; text-align: center; padding: 11px; background: color-mix(in srgb, var(--rbhp-primary) 10%, #fff); color: var(--rbhp-primary); font-weight: 700; border-radius: 10px; text-decoration: none; transition: background .15s ease, color .15s ease; }
.rbfund-hp-card-btn:hover { background: var(--rbhp-primary); color: #fff; }

/* ZAKAT */
.rbfund-hp-zakat { max-width: none; background: var(--rbhp-bg); }
.rbfund-hp-zakat-inner { max-width: 1160px; margin: 0 auto; background: linear-gradient(120deg, var(--rbhp-primary), #0d7a41); border-radius: 24px; padding: 44px; display: flex; align-items: center; justify-content: space-between; gap: 28px; color: #fff; }
.rbfund-hp-zakat-text h2 { font-size: clamp(22px, 3vw, 30px); font-weight: 800; margin-bottom: 10px; }
.rbfund-hp-zakat-text p { color: rgba(255,255,255,.9); max-width: 560px; margin: 0 0 20px; }
.rbfund-hp-zakat-ic { flex-shrink: 0; opacity: .35; }
.rbfund-hp-zakat-ic .dashicons { font-size: 120px; width: 120px; height: 120px; }

/* CARA / STEPS */
.rbfund-hp-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.rbfund-hp-step { text-align: center; padding: 28px 20px; background: #fff; border: 1px solid var(--rbhp-line); border-radius: 18px; }
.rbfund-hp-step-no { display: inline-grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--rbhp-primary); color: #fff; font-weight: 800; font-size: 20px; margin-bottom: 14px; }
.rbfund-hp-step h3 { font-size: 18px; font-weight: 700; color: var(--rbhp-dark); margin-bottom: 6px; }
.rbfund-hp-step p { color: var(--rbhp-muted); font-size: 14px; margin: 0; }

/* NEWS */
.rbfund-hp-newsgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.rbfund-hp-newscard { background: #fff; border: 1px solid var(--rbhp-line); border-radius: 16px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .14s ease, box-shadow .14s ease; }
.rbfund-hp-newscard:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(15,46,29,.10); }
.rbfund-hp-newsthumb { aspect-ratio: 16 / 9; background: #eef2f0; overflow: hidden; }
.rbfund-hp-newsthumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rbfund-hp-newsthumb--ph { display: grid; place-items: center; color: #cbd5d1; }
.rbfund-hp-newsthumb--ph .dashicons { font-size: 40px; width: 40px; height: 40px; }
.rbfund-hp-newsbody { padding: 16px 18px; }
.rbfund-hp-newsdate { font-size: 12px; color: var(--rbhp-muted); }
.rbfund-hp-newsbody h3 { font-size: 16px; font-weight: 700; color: var(--rbhp-dark); margin-top: 4px; line-height: 1.35; }

/* FINAL CTA */
.rbfund-hp-final { max-width: none; text-align: center; background: radial-gradient(120% 160% at 50% 0%, #1c7a48, var(--rbhp-dark)); color: #fff; padding: 64px 20px; }
.rbfund-hp-final h2 { font-size: clamp(24px, 3.5vw, 34px); font-weight: 800; margin-bottom: 10px; }
.rbfund-hp-final p { color: rgba(255,255,255,.85); max-width: 540px; margin: 0 auto 24px; }

/* Responsive */
@media (max-width: 900px) {
	.rbfund-hp-hero-inner { grid-template-columns: 1fr; gap: 32px; }
	.rbfund-hp-hero-stats { grid-template-columns: repeat(3, 1fr); }
	.rbfund-hp-cards, .rbfund-hp-steps, .rbfund-hp-newsgrid { grid-template-columns: repeat(2, 1fr); }
	.rbfund-hp-cat-grid { grid-template-columns: repeat(3, 1fr); }
	.rbfund-hp-zakat-inner { flex-direction: column; text-align: center; }
	.rbfund-hp-zakat-ic { display: none; }
}
@media (max-width: 560px) {
	.rbfund-hp > section { padding: 40px 16px; }
	.rbfund-hp-hero-inner { padding: 48px 16px; }
	.rbfund-hp-hero-stats { grid-template-columns: 1fr; }
	.rbfund-hp-cards, .rbfund-hp-steps, .rbfund-hp-newsgrid { grid-template-columns: 1fr; }
	.rbfund-hp-cat-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ============================================================
   DASHBOARD ADMIN FRONTEND (/kelola/)
   ============================================================ */
.rbfund-kelola-body { margin: 0; background: #f1f5f4; }
.rbfund-kelola { font-family: inherit; color: #1f2937; min-height: 100vh; }
.rbfund-kelola * { box-sizing: border-box; }

/* Top bar */
.rbfund-kelola-top { background: #0f2e1d; color: #fff; }
.rbfund-kelola-top-inner { max-width: 1160px; margin: 0 auto; padding: 14px 20px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.rbfund-kelola-brand { display: flex; align-items: center; gap: 12px; }
.rbfund-kelola-logo { width: 40px; height: 40px; border-radius: 10px; background: rgba(255,255,255,.12); display: grid; place-items: center; }
.rbfund-kelola-logo .dashicons { color: #6ee7a8; }
.rbfund-kelola-brand strong { display: block; font-size: 15px; }
.rbfund-kelola-brand small { color: rgba(255,255,255,.7); font-size: 12px; }
.rbfund-kelola-user { display: flex; align-items: center; gap: 8px; font-size: 14px; }
.rbfund-kelola-user .dashicons { color: rgba(255,255,255,.7); }
.rbfund-kelola-logout { color: #fca5a5; text-decoration: none; margin-left: 8px; font-size: 13px; }
.rbfund-kelola-logout:hover { text-decoration: underline; }

/* Tabs */
.rbfund-kelola-tabs { background: #fff; border-bottom: 1px solid #e5eae8; position: sticky; top: 0; z-index: 10; }
.rbfund-kelola-tabs-inner { max-width: 1160px; margin: 0 auto; padding: 0 20px; display: flex; gap: 4px; overflow-x: auto; }
.rbfund-kelola-tabs a { padding: 14px 16px; text-decoration: none; color: #64748b; font-weight: 600; font-size: 14px; border-bottom: 3px solid transparent; white-space: nowrap; display: inline-flex; align-items: center; gap: 6px; }
.rbfund-kelola-tabs a:hover { color: #16a34a; }
.rbfund-kelola-tabs a.active { color: #16a34a; border-bottom-color: #16a34a; }
.rbfund-kelola-tabs .dashicons { font-size: 17px; width: 17px; height: 17px; }
.rbfund-kelola-wpadmin { margin-left: auto; color: #94a3b8 !important; }

/* Main */
.rbfund-kelola-main { max-width: 1160px; margin: 0 auto; padding: 28px 20px 60px; }

/* Cards */
.rbfund-kelola-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 24px; }
.rbfund-kelola-card { background: #fff; border-radius: 16px; padding: 20px; border-left: 4px solid #cbd5e1; }
.rbfund-kelola-card--green { border-left-color: #16a34a; }
.rbfund-kelola-card--blue { border-left-color: #0ea5e9; }
.rbfund-kelola-card--amber { border-left-color: #f59e0b; }
.rbfund-kelola-card--purple { border-left-color: #8b5cf6; }
.rbfund-kelola-card-lbl { display: block; font-size: 12px; color: #6b7280; margin-bottom: 6px; }
.rbfund-kelola-card-num { display: block; font-size: 22px; font-weight: 800; color: #0f2e1d; }
.rbfund-kelola-card-sub { display: block; font-size: 12px; color: #94a3b8; margin-top: 2px; }

/* Panel */
.rbfund-kelola-panel { background: #fff; border-radius: 16px; padding: 22px; margin-bottom: 20px; }
.rbfund-kelola-panel h2 { margin: 0 0 16px; font-size: 18px; font-weight: 800; color: #0f2e1d; }
.rbfund-kelola-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.rbfund-kelola-panel-head h2 { margin: 0; }

/* Table */
.rbfund-kelola-tablewrap { overflow-x: auto; }
.rbfund-kelola-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.rbfund-kelola-table th { text-align: left; padding: 10px 12px; color: #6b7280; font-weight: 600; font-size: 12px; text-transform: uppercase; letter-spacing: .03em; border-bottom: 2px solid #eef2f0; }
.rbfund-kelola-table td { padding: 12px; border-bottom: 1px solid #f0f4f2; vertical-align: middle; }
.rbfund-kelola-table code { font-size: 12px; color: #475569; }
.rbfund-kelola-table small { color: #94a3b8; }

/* Badges */
.rbfund-kelola-badge { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 11px; font-weight: 700; text-transform: capitalize; }
.rbfund-kelola-badge.is-paid, .rbfund-kelola-badge.is-publish { background: #dcfce7; color: #166534; }
.rbfund-kelola-badge.is-pending { background: #fef3c7; color: #92400e; }
.rbfund-kelola-badge.is-failed, .rbfund-kelola-badge.is-expired { background: #fee2e2; color: #991b1b; }
.rbfund-kelola-badge.is-draft { background: #e2e8f0; color: #475569; }

/* Filter */
.rbfund-kelola-filter { display: flex; gap: 10px; margin-bottom: 18px; flex-wrap: wrap; }
.rbfund-kelola-filter input, .rbfund-kelola-filter select { padding: 9px 12px; border: 1px solid #d8e0e8; border-radius: 8px; font-size: 14px; }
.rbfund-kelola-filter input[type="search"] { flex: 1; min-width: 200px; }

/* Buttons */
.rbfund-kelola-btn { padding: 9px 16px; border: 1px solid #d8e0e8; background: #fff; border-radius: 8px; font-weight: 600; font-size: 14px; cursor: pointer; color: #334155; display: inline-flex; align-items: center; gap: 6px; }
.rbfund-kelola-btn:hover { background: #f8fafc; }
.rbfund-kelola-btn--primary { background: #16a34a; border-color: #16a34a; color: #fff; }
.rbfund-kelola-btn--primary:hover { background: #15803d; }
.rbfund-kelola-btn .dashicons { font-size: 16px; width: 16px; height: 16px; }
.rbfund-kelola-status-select { padding: 6px 8px; border: 1px solid #d8e0e8; border-radius: 6px; font-size: 13px; }
.rbfund-kelola-link { color: #16a34a; text-decoration: none; font-size: 13px; margin-right: 8px; }
.rbfund-kelola-link:hover { text-decoration: underline; }

/* Progress in table */
.rbfund-kelola-prog { height: 6px; background: #eef2f0; border-radius: 999px; overflow: hidden; width: 90px; display: inline-block; vertical-align: middle; }
.rbfund-kelola-prog span { display: block; height: 100%; background: #16a34a; }

/* Campaign form */
.rbfund-kelola-campform { background: #f8fafc; border: 1px solid #e5eae8; border-radius: 12px; padding: 20px; margin-bottom: 20px; }
.rbfund-kelola-campform h3 { margin: 0 0 14px; font-size: 16px; color: #0f2e1d; }
.rbfund-kelola-campform label { display: block; margin-bottom: 12px; font-size: 13px; font-weight: 600; color: #475569; }
.rbfund-kelola-campform input, .rbfund-kelola-campform textarea, .rbfund-kelola-campform select { width: 100%; padding: 10px 12px; border: 1px solid #d8e0e8; border-radius: 8px; font-size: 14px; margin-top: 5px; font-weight: 400; box-sizing: border-box; }
.rbfund-kelola-campform-actions { display: flex; align-items: center; gap: 10px; }
.rbfund-kelola-msg { font-size: 13px; }
.rbfund-kelola-msg.is-ok { color: #16a34a; }
.rbfund-kelola-msg.is-err { color: #dc2626; }

.rbfund-kelola-empty { color: #94a3b8; text-align: center; padding: 30px; }
.rbfund-kelola-more { margin: 14px 0 0; }
.rbfund-kelola-more a { color: #16a34a; text-decoration: none; font-weight: 600; font-size: 14px; }

@media (max-width: 900px) {
	.rbfund-kelola-cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	.rbfund-kelola-cards { grid-template-columns: 1fr; }
}

/* =====================================================================
   RBFund UI Refinement v2.16 — polish tampilan (hanya visual, aman)
   Mengikuti gaya DonasiAja tapi lebih rapi & modern. Tidak mengubah
   struktur HTML, alur, atau perilaku JS. Semua berbasis design token.
   ===================================================================== */

/* --- Kartu campaign (grid) --- */
.rbfund-grid { gap: var(--rbfund-space-lg); }
.rbfund-grid-item {
	border: 1px solid var(--rbfund-border-soft);
	border-radius: var(--rbfund-radius-lg);
	box-shadow: var(--rbfund-shadow-sm);
	transition: transform var(--rbfund-transition), box-shadow var(--rbfund-transition);
}
.rbfund-grid-item:hover {
	transform: translateY(-4px);
	box-shadow: var(--rbfund-shadow-lg);
}
.rbfund-grid-body { padding: var(--rbfund-space-md); }
.rbfund-grid-body h4 {
	font-weight: 700;
	color: var(--rbfund-text);
	letter-spacing: -.01em;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.6em;
}
.rbfund-grid-meta { margin-top: 10px; align-items: baseline; }
.rbfund-grid-meta strong { color: var(--rbfund-text); font-size: .95rem; }

/* --- Progress bar lebih halus --- */
.rbfund-progress {
	border-radius: var(--rbfund-radius-pill);
	overflow: hidden;
	height: 8px;
	background: #eef2f6;
}
.rbfund-progress-bar {
	border-radius: var(--rbfund-radius-pill);
	transition: width .6s cubic-bezier(.4, 0, .2, 1);
}

/* --- Tombol utama & submit --- */
.rbfund-submit,
.rbfund-sticky-btn,
.rbfund-cta-btn {
	border-radius: var(--rbfund-radius-pill);
	box-shadow: var(--rbfund-shadow-md);
	letter-spacing: .01em;
	transition: transform var(--rbfund-transition), box-shadow var(--rbfund-transition), background var(--rbfund-transition);
}
.rbfund-submit:hover,
.rbfund-cta-btn:hover {
	transform: translateY(-1px);
	box-shadow: var(--rbfund-shadow-lg);
}
.rbfund-submit:active { transform: translateY(0); }

/* --- Field form lebih modern --- */
.rbfund-input,
.rbfund-field input,
.rbfund-field select,
.rbfund-field textarea {
	border-radius: var(--rbfund-radius-sm);
	border: 1px solid var(--rbfund-border);
	transition: border-color var(--rbfund-transition), box-shadow var(--rbfund-transition);
}
.rbfund-input:focus,
.rbfund-field input:focus,
.rbfund-field select:focus,
.rbfund-field textarea:focus {
	border-color: var(--rbfund-primary);
	box-shadow: 0 0 0 3px var(--rbfund-primary-soft);
	outline: none;
}

/* --- Preset nominal (pilihan cepat) --- */
.rbfund-preset {
	border-radius: var(--rbfund-radius-sm);
	transition: all var(--rbfund-transition);
}
.rbfund-preset:hover { transform: translateY(-1px); box-shadow: var(--rbfund-shadow-sm); }

/* --- Kartu statistik --- */
.rbfund-stat {
	border-radius: var(--rbfund-radius-lg);
	box-shadow: var(--rbfund-shadow-sm);
}

/* --- Tab detail campaign (Keterangan/Kabar/Donatur) --- */
.rbfund-tab {
	transition: color var(--rbfund-transition), border-color var(--rbfund-transition);
	font-weight: 600;
}
.rbfund-tabs { gap: 4px; }

/* --- Aksesibilitas: area sentuh minimal 44px di perangkat sentuh --- */
@media (hover: none) and (pointer: coarse) {
	.rbfund-submit,
	.rbfund-sticky-btn,
	.rbfund-cta-btn,
	.rbfund-tab { min-height: 44px; }
}

/* =====================================================================
   RBFund UI Refinement v2.16.1 — Navigasi (appbar atas + bottombar donasi)
   Hanya visual. Tidak mengubah link, struktur, atau perilaku.
   ===================================================================== */

/* --- Appbar atas: lebih halus & modern --- */
.rbfund-appbar {
	backdrop-filter: saturate(180%) blur(8px);
	background: rgba(255, 255, 255, .92);
	box-shadow: var(--rbfund-shadow-sm);
	border-bottom: 1px solid var(--rbfund-border-soft);
}
.rbfund-appbar-nav a {
	transition: background var(--rbfund-transition), color var(--rbfund-transition), transform var(--rbfund-transition);
}
.rbfund-appbar-nav a:active { transform: scale(.96); }
.rbfund-appbar-nav a.active { box-shadow: var(--rbfund-shadow-sm); }

/* --- Bottombar donasi: bayangan & sudut lebih rapi --- */
.rbfund-bottombar {
	box-shadow: 0 -4px 20px rgba(16, 24, 40, .10);
	border-top: 1px solid var(--rbfund-border-soft);
	background: rgba(255, 255, 255, .96);
	backdrop-filter: saturate(180%) blur(8px);
}
.rbfund-bottombar .rbfund-cta-btn,
.rbfund-bottombar a[class*="donasi"],
.rbfund-bottombar button {
	border-radius: var(--rbfund-radius-pill);
	transition: transform var(--rbfund-transition), box-shadow var(--rbfund-transition);
}
.rbfund-bottombar .rbfund-cta-btn:active,
.rbfund-bottombar button:active { transform: scale(.98); }

/* --- Ramah sentuh untuk navigasi di perangkat sentuh --- */
@media (hover: none) and (pointer: coarse) {
	.rbfund-appbar-nav a { min-height: 40px; display: inline-flex; align-items: center; }
	.rbfund-bottombar button,
	.rbfund-bottombar .rbfund-cta-btn { min-height: 48px; }
}

/* --- Aman untuk perangkat dengan notch (safe area) --- */
.rbfund-bottombar {
	padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px));
}

/* =====================================================================
   RBFund UI Refinement v2.16.2 — Konsistensi lebar halaman (680px)
   Semua halaman utama (campaign detail, form donasi, profil) dibuat
   selebar --rbfund-page-width dan terpusat. Hanya visual/tata letak.
   ===================================================================== */

/* Container utama tiap halaman → lebar seragam & terpusat.
   Halaman campaign HANYA dipaksa sempit saat mode Mobile dipilih;
   mode Desktop (rbfund-view-desktop) memakai lebar penuh (lihat aturan di bawah). */
.rbfund-view-mobile.rbfund-campaign-page,
.rbfund-donatepage,
.rbfund-topbar,
.rbfund-topbar-static,
.rbfund-bottombar,
.rbfund-dp-submitbar,
.rbfund-appbar-inner,
.rbfund-appfooter-inner,
.rbfund-appfooter-copy {
	max-width: var(--rbfund-page-width) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Halaman profil/arsip & campaign mode Mobile: satu kolom menumpuk rapi */
.rbfund-profile-body .rbfund-cp-grid,
.rbfund-archive-body .rbfund-cp-grid,
.rbfund-view-mobile .rbfund-cp-grid {
	max-width: var(--rbfund-page-width);
	margin: 0 auto;
	grid-template-columns: 1fr;
	gap: 16px;
}
.rbfund-profile-body .rbfund-cp-side,
.rbfund-archive-body .rbfund-cp-side,
.rbfund-view-mobile .rbfund-cp-side {
	position: static;
	width: 100%;
}

/* ===== Mode Desktop (Wide): lebar penuh + 2 kolom ===== */
.rbfund-view-desktop.rbfund-campaign-page {
	max-width: 1140px !important;
}
.rbfund-view-desktop .rbfund-cp-grid {
	max-width: 1140px;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 24px;
}
.rbfund-view-desktop .rbfund-cp-side {
	position: sticky;
	top: 24px;
	width: auto;
}
/* Di layar kecil, mode desktop tetap menumpuk agar tidak berdesakan */
@media ( max-width: 860px ) {
	.rbfund-view-desktop.rbfund-campaign-page { max-width: 100% !important; }
	.rbfund-view-desktop .rbfund-cp-grid { grid-template-columns: 1fr; gap: 16px; }
	.rbfund-view-desktop .rbfund-cp-side { position: static; width: 100%; }
}

/* Hero profil & konten ikut terpusat dalam lebar sama */
.rbfund-profile-hero,
.rbfund-profile-body .rbfund-cp-main,
.rbfund-archive-body .rbfund-cp-main {
	max-width: var(--rbfund-page-width);
	margin-left: auto;
	margin-right: auto;
}

/* =====================================================================
   RBFund v2.16.5 — Header/Footer konsisten & responsif di semua halaman
   Appbar (header) & appfooter mengikuti lebar halaman (680px), dengan
   padding aman di layar kecil agar tidak menempel tepi. Hanya visual.
   ===================================================================== */

/* Padding samping aman di semua ukuran untuk header & footer */
.rbfund-appbar-inner,
.rbfund-appfooter-inner,
.rbfund-appfooter-copy {
	padding-left: 16px;
	padding-right: 16px;
	box-sizing: border-box;
	width: 100%;
}

/* Di layar sempit (HP), lebar penuh dengan sedikit jarak tepi */
@media (max-width: 700px) {
	.rbfund-appbar-inner,
	.rbfund-appfooter-inner,
	.rbfund-appfooter-copy {
		max-width: 100% !important;
	}
	.rbfund-appbar-logo { max-height: 40px; max-width: 150px; }
	.rbfund-appbar-nav { gap: 4px; }
	.rbfund-appbar-nav a { padding: 6px 10px; font-size: .9rem; }
}

/* Sangat kecil: rapatkan agar muat */
@media (max-width: 380px) {
	.rbfund-appbar-inner,
	.rbfund-appfooter-inner { padding-left: 12px; padding-right: 12px; }
	.rbfund-appbar-logo { max-height: 34px; max-width: 120px; }
	.rbfund-appbar-nav a { padding: 5px 8px; font-size: .85rem; }
}

/* Separator seksi di modal edit profil (rekening/lembaga) */
.rbfund-acc-section-sep {
	font-size: 13px; font-weight: 700; color: var(--rbfund-primary, #16a34a);
	margin: 18px 0 10px; padding-top: 14px; border-top: 1px solid #eef2f6;
}

/* ===== Feed kabar lintas campaign ===== */
.rbfund-updates-feed .rbfund-update-campaign {
	display: inline-flex; align-items: center; gap: 6px;
	font-size: .85rem; font-weight: 700; margin-bottom: 4px;
}
.rbfund-updates-feed .rbfund-update-campaign .dashicons { font-size: 15px; width: 15px; height: 15px; color: var(--rbfund-primary, #16a34a); }
.rbfund-updates-feed .rbfund-update-campaign a { color: var(--rbfund-primary, #16a34a); text-decoration: none; }
.rbfund-updates-feed .rbfund-update-campaign a:hover { text-decoration: underline; }
.rbfund-updates-feed .rbfund-update-more {
	display: inline-block; margin-top: 8px; font-size: .85rem; font-weight: 600;
	color: var(--rbfund-primary, #16a34a); text-decoration: none;
}
.rbfund-updates-feed .rbfund-update-more:hover { text-decoration: underline; }

/* ===== Feed: filter kategori & paginasi ===== */
.rbfund-feed-filter {
	display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px;
}
.rbfund-feed-cat {
	display: inline-block; padding: 6px 14px; border-radius: var(--rbfund-radius-pill, 999px);
	background: var(--rbfund-bg-soft, #f1f5f9); color: var(--rbfund-text, #334155);
	font-size: .85rem; font-weight: 600; text-decoration: none;
	transition: background var(--rbfund-transition, .18s), color var(--rbfund-transition, .18s);
}
.rbfund-feed-cat:hover { background: var(--rbfund-primary-soft, #dcfce7); }
.rbfund-feed-cat.is-active { background: var(--rbfund-primary, #16a34a); color: #fff; }
.rbfund-feed-empty { color: #64748b; text-align: center; padding: 24px 0; }
.rbfund-feed-loadmore-wrap {
	display: flex; justify-content: center; margin-top: 24px;
}
.rbfund-feed-loadmore {
	display: inline-block; padding: 11px 28px; border-radius: var(--rbfund-radius-pill, 999px);
	background: var(--rbfund-primary, #16a34a) !important;
	color: #fff !important; text-decoration: none !important;
	font-size: .92rem; font-weight: 700; border: none; cursor: pointer;
	box-shadow: 0 4px 14px rgba(22,163,74,.28);
	transition: filter .18s, transform .18s, box-shadow .18s;
}
.rbfund-feed-loadmore:hover {
	filter: brightness(.96); transform: translateY(-1px);
	box-shadow: 0 8px 20px rgba(22,163,74,.35);
	color: #fff !important;
}
.rbfund-feed-loadmore:active { transform: translateY(0); }
.rbfund-feed-loadmore.is-loading { opacity: .7; pointer-events: none; }

/* ===== Feed kabar gaya blog (thumbnail kecil + judul) ===== */
.rbfund-feed-list { display: flex; flex-direction: column; gap: 4px; }
.rbfund-feed-item {
	display: flex; gap: 14px; align-items: flex-start;
	padding: 14px 0; border-bottom: 1px solid var(--rbfund-border-soft, #eef2f6);
}
.rbfund-feed-item:last-child { border-bottom: none; }
.rbfund-feed-thumb {
	flex: 0 0 auto; width: 84px; height: 84px; border-radius: 12px;
	overflow: hidden; display: block; background: var(--rbfund-bg-soft, #f1f5f9);
}
.rbfund-feed-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rbfund-feed-thumb-fallback {
	width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;
	color: #b6c2cf;
}
.rbfund-feed-thumb-fallback .dashicons { font-size: 30px; width: 30px; height: 30px; }
.rbfund-feed-body { flex: 1 1 auto; min-width: 0; }
.rbfund-feed-meta {
	display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
	font-size: .78rem; color: #94a3b8; margin-bottom: 4px;
}
.rbfund-feed-date { font-weight: 600; }
.rbfund-feed-sep { color: #cbd5e1; }
.rbfund-feed-campaign { color: var(--rbfund-primary, #16a34a); text-decoration: none; font-weight: 600; }
.rbfund-feed-campaign:hover { text-decoration: underline; }
.rbfund-feed-title {
	font-size: 1rem; line-height: 1.35; margin: 0 0 4px; font-weight: 700;
}
.rbfund-feed-title a { color: var(--rbfund-text, #1e293b); text-decoration: none; }
.rbfund-feed-title a:hover { color: var(--rbfund-primary, #16a34a); }
.rbfund-feed-excerpt {
	margin: 0; font-size: .88rem; color: #64748b; line-height: 1.5;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
@media (max-width: 480px) {
	.rbfund-feed-thumb { width: 64px; height: 64px; border-radius: 10px; }
	.rbfund-feed-title { font-size: .95rem; }
	.rbfund-feed-excerpt { -webkit-line-clamp: 2; }
}

/* ===== Doa Wall — model kartu (gaya DonasiAja), carousel ===== */
.rbfund-doawall-carousel { position: relative; }
.rbfund-doawall-list {
	display: flex; flex-direction: row; gap: 14px; overflow-x: auto; padding: 4px 2px 12px;
	scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;
	scroll-behavior: smooth;
}
.rbfund-doawall-list::-webkit-scrollbar { height: 6px; }
.rbfund-doawall-list::-webkit-scrollbar-thumb { background: #d7dee6; border-radius: 999px; }
.rbfund-doawall-list::-webkit-scrollbar-track { background: transparent; }
.rbfund-doawall-card {
	position: relative; flex: 0 0 300px; max-width: 300px; scroll-snap-align: start;
	background: #fff; border: 1px solid var(--rbfund-border-soft, #eef2f6);
	border-radius: 16px; padding: 18px 18px 16px; box-sizing: border-box;
	display: flex; flex-direction: column; gap: 12px;
	box-shadow: var(--rbfund-shadow-sm, 0 1px 3px rgba(16,24,40,.06));
	transition: transform .18s, box-shadow .18s;
}
/* Tombol navigasi carousel */
.rbfund-doawall-nav {
	position: absolute; top: 40%; transform: translateY(-50%); z-index: 3;
	width: 40px; height: 40px; border-radius: 50%; border: none; cursor: pointer;
	background: #fff; color: var(--rbfund-primary, #16a34a);
	box-shadow: 0 3px 12px rgba(16,24,40,.16);
	display: flex; align-items: center; justify-content: center;
	transition: background .18s, color .18s, opacity .18s;
}
.rbfund-doawall-nav:hover { background: var(--rbfund-primary, #16a34a); color: #fff; }
.rbfund-doawall-nav .dashicons { font-size: 22px; width: 22px; height: 22px; }
.rbfund-doawall-prev { left: -6px; }
.rbfund-doawall-next { right: -6px; }
.rbfund-doawall-nav.is-hidden { opacity: 0; pointer-events: none; }
@media (max-width: 600px) {
	.rbfund-doawall-card { flex-basis: 82vw; max-width: 82vw; }
	.rbfund-doawall-nav { display: none; } /* di HP cukup geser jari */
}
.rbfund-doawall-card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(16,24,40,.10); }
/* Overlay link menutupi seluruh kartu (kecuali tombol amiinkan) */
.rbfund-doawall-cardlink {
	position: absolute; inset: 0; z-index: 1; border-radius: 16px;
	text-indent: -9999px; overflow: hidden;
}
.rbfund-doawall-card-head { display: flex; align-items: center; gap: 12px; position: relative; z-index: 0; }
.rbfund-doawall-ava {
	width: 46px; height: 46px; border-radius: 50%; flex: 0 0 auto;
	display: flex; align-items: center; justify-content: center;
	background: var(--rbfund-primary-soft, #dcfce7); color: var(--rbfund-primary, #16a34a);
	font-weight: 800; font-size: 1.1rem; border: 2px solid var(--rbfund-primary, #16a34a);
}
.rbfund-doawall-meta { display: flex; flex-direction: column; min-width: 0; }
.rbfund-doawall-name { font-weight: 700; color: var(--rbfund-text, #1e293b); font-size: .95rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rbfund-doawall-when { font-size: .78rem; color: #94a3b8; }
.rbfund-doawall-msg {
	margin: 0; font-size: .9rem; line-height: 1.55; color: #475569; position: relative; z-index: 0;
	display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; min-height: 3em;
}
.rbfund-doawall-count { font-size: .8rem; color: #64748b; position: relative; z-index: 0; }
.rbfund-doawall-count strong { color: var(--rbfund-primary, #16a34a); }
/* Tombol Amiinkan — di atas overlay link (z-index lebih tinggi) */
.rbfund-doawall-amiin {
	position: relative; z-index: 2; margin-top: auto;
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	width: 100%; padding: 10px 16px; border: none; cursor: pointer;
	background: var(--rbfund-bg-soft, #f1f5f9); color: var(--rbfund-text, #334155);
	border-radius: var(--rbfund-radius-pill, 999px); font-weight: 700; font-size: .9rem;
	transition: background .18s, color .18s;
}
.rbfund-doawall-amiin:hover { background: var(--rbfund-primary, #16a34a); color: #fff; }
.rbfund-doawall-amiin .dashicons { font-size: 17px; width: 17px; height: 17px; }
.rbfund-doawall-amiin.amiined {
	animation: rbfundAmiinPulse .5s ease;
}
@keyframes rbfundAmiinPulse {
	0% { transform: scale(1); }
	40% { transform: scale(1.08); background: var(--rbfund-primary, #16a34a); color: #fff; }
	100% { transform: scale(1); }
}

/* Sorotan sesaat saat loncat ke kabar tertentu dari feed */
.rbfund-update-highlight {
	animation: rbfundUpdateHi 2.2s ease;
	scroll-margin-top: 80px;
}
@keyframes rbfundUpdateHi {
	0%, 100% { background: transparent; }
	15%, 60% { background: rgba(22,163,74,.10); }
}
.rbfund-update { scroll-margin-top: 80px; }

/* ===== Arsip campaign — model list (baris) ===== */
.rbfund-cardgrid--list {
	display: flex; flex-direction: column; gap: 0;
}
.rbfund-listrow { position: relative; border-bottom: 1px solid #eef2f6; padding: 16px 0; }
.rbfund-listrow:last-child { border-bottom: none; }
.rbfund-listrow-link {
	display: grid; grid-template-columns: 200px 1fr; gap: 16px; align-items: center;
	text-decoration: none; color: inherit;
}
.rbfund-listrow-cover {
	position: relative; display: block; aspect-ratio: 16 / 9;
	border-radius: 12px; overflow: hidden; background: var(--rbfund-bg-soft, #f1f5f9); align-self: center;
}
.rbfund-listrow-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rbfund-listrow-cover-ph {
	width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: #c3ccd6;
}
.rbfund-listrow-badge {
	position: absolute; top: 8px; left: 8px; z-index: 2;
	font-size: .64rem; font-weight: 700; padding: 3px 8px; border-radius: 999px; color: #fff;
}
.rbfund-listrow-badge--ended { background: #64748b; }
.rbfund-listrow-badge--urgent { background: #dc2626; }
.rbfund-listrow-body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.rbfund-listrow-title {
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
	font-size: .95rem; font-weight: 700; line-height: 1.3; color: var(--rbfund-text, #1e293b); margin: 0 0 3px;
}
.rbfund-listrow-org { display: flex; align-items: center; gap: 7px; margin: 0 0 3px; }
.rbfund-listrow-orgav { width: 20px; height: 20px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; }
.rbfund-listrow-orgname { font-size: .78rem; color: #64748b; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rbfund-listrow-collected {
	display: block; font-size: .64rem; font-weight: 600; color: #94a3b8; margin: 0;
}
.rbfund-listrow-amountrow {
	display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin: 0;
}
.rbfund-listrow-raised { font-size: .88rem; font-weight: 800; color: var(--rbfund-text, #1e293b); }
.rbfund-listrow-pct { font-size: .78rem; font-weight: 800; color: var(--rbfund-primary, #16a34a); }
.rbfund-listrow .rbfund-progress {
	display: block; margin-top: 6px; height: 5px; border-radius: 999px; background: #eef2f6; overflow: hidden;
}
.rbfund-listrow .rbfund-progress-bar {
	display: block; height: 100%; min-width: 3px; border-radius: 999px; background: var(--rbfund-primary, #16a34a);
}
.rbfund-listrow.is-ended { opacity: .7; }
@media (max-width: 480px) {
	.rbfund-listrow-link { grid-template-columns: 130px 1fr; gap: 12px; }
	.rbfund-listrow-title { font-size: .84rem; }
	.rbfund-listrow-raised { font-size: .82rem; }
	.rbfund-listrow-pct { font-size: .74rem; }
	.rbfund-listrow-org { display: none; }
}

/* ===== Appbar hamburger (mobile) ===== */
.rbfund-appbar-toggle {
	display: none; /* desktop: sembunyi */
	flex-direction: column; justify-content: center; gap: 5px;
	width: 42px; height: 42px; padding: 0; border: none; cursor: pointer;
	background: transparent; border-radius: 10px; flex: 0 0 auto;
}
.rbfund-appbar-toggle-bar {
	display: block; width: 22px; height: 2px; border-radius: 2px;
	background: var(--rbfund-text, #1e293b); margin: 0 auto;
	transition: transform .22s ease, opacity .22s ease;
}
/* Ikon berubah jadi tanda "close" (X) saat menu terbuka */
.rbfund-appbar-toggle.is-open .rbfund-appbar-toggle-bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.rbfund-appbar-toggle.is-open .rbfund-appbar-toggle-bar:nth-child(2) { opacity: 0; }
.rbfund-appbar-toggle.is-open .rbfund-appbar-toggle-bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 640px) {
	.rbfund-appbar-toggle { display: flex; }
	.rbfund-appbar-inner { position: relative; flex-wrap: wrap; }
	/* Nav jadi panel dropdown yang tersembunyi secara default */
	.rbfund-appbar-nav {
		display: none;
		position: absolute; top: 100%; left: 0; right: 0; z-index: 60;
		flex-direction: column; align-items: stretch; gap: 2px;
		background: #fff; border-radius: 0 0 16px 16px;
		box-shadow: 0 12px 28px rgba(16,24,40,.14);
		padding: 8px; margin-top: 6px;
	}
	.rbfund-appbar-nav.is-open { display: flex; }
	.rbfund-appbar-nav a {
		width: 100%; box-sizing: border-box; padding: 12px 14px;
		font-size: .95rem; border-radius: 10px; text-align: left;
	}
	.rbfund-appbar-nav .rbfund-appbar-search {
		justify-content: flex-start; gap: 8px;
	}
	.rbfund-appbar-nav .rbfund-appbar-search::after {
		content: "Cari"; font-size: .95rem;
	}
}

/* ===== Form donasi: teks privasi + info penting ===== */
.rbfund-dp-privacy {
	display: flex; align-items: flex-start; gap: 5px;
	margin: 8px 0 0; font-size: .78rem; line-height: 1.5; color: #64748b;
}
.rbfund-dp-privacy .dashicons {
	font-size: 15px; width: 15px; height: 15px; margin-top: 1px; color: #16a34a; flex: 0 0 auto;
}
.rbfund-dp-privacy em { font-style: italic; }

.rbfund-dp-notice {
	margin: 14px 0 4px; padding: 12px 14px;
	background: #fff8e1; border-left: 4px solid #f59e0b; border-radius: 8px;
}
.rbfund-dp-notice-title {
	font-size: .74rem; font-weight: 800; letter-spacing: .04em; color: #b45309; margin-bottom: 4px;
}
.rbfund-dp-notice-body {
	font-size: .82rem; line-height: 1.6; color: #78500a;
}

/* ===== Mode embed (di dalam iframe web lain) ===== */
.rbfund-embed-frame { background: transparent; }
/* Sembunyikan navigasi yang mengarah keluar iframe / tumpang tindih */
.rbfund-embed-frame .rbfund-topbar,
.rbfund-embed-frame .rbfund-cp-home,
.rbfund-embed-frame .rbfund-appbar,
.rbfund-embed-frame .rbfund-appfooter,
.rbfund-embed-frame .rbfund-floatbtns,
.rbfund-embed-frame .rbfund-bottombar { display: none !important; }
/* Beri sedikit ruang & pastikan lebar pas */
.rbfund-embed-frame .rbfund-campaign-page,
.rbfund-embed-frame .rbfund-donatepage { padding-top: 0 !important; }

/* ===== Landing Page Builder (kustom) ===== */
.rbfund-lp-custom { width: 100%; max-width: 100%; margin: 0 auto; }
.rbfund-lp-custom img { max-width: 100%; height: auto; }

/* ===== Login wall di halaman donasi ===== */
.rbfund-dp-loginwall { text-align: center; padding: 40px 24px 60px; max-width: var(--rbfund-page-width); margin: 0 auto; }
.rbfund-dp-loginicon { font-size: 44px; width: 44px; height: 44px; color: var(--rbfund-primary, #16a34a); background: #eaf6ef; border-radius: 50%; padding: 14px; box-sizing: content-box; }
.rbfund-dp-loginwall h3 { margin: 18px 0 8px; font-size: 1.25rem; color: #0f2417; }
.rbfund-dp-loginwall p { color: #64748b; font-size: .95rem; max-width: 24em; margin: 0 auto 22px; line-height: 1.6; }
.rbfund-dp-loginbtn { display: inline-flex; align-items: center; gap: 8px; background: linear-gradient(180deg, var(--rbfund-primary, #16a34a), #0c5e40); color: #fff; text-decoration: none; font-weight: 700; font-size: 1rem; padding: 13px 30px; border-radius: 12px; box-shadow: 0 8px 24px rgba(12,60,40,.15); }
.rbfund-dp-loginbtn:hover { filter: brightness(1.06); color: #fff; }
.rbfund-dp-loginbtn .dashicons { font-size: 18px; width: 18px; height: 18px; }
.rbfund-dp-registerlink { display: block; margin-top: 16px; color: var(--rbfund-primary, #16a34a); font-size: .9rem; text-decoration: none; font-weight: 600; }
.rbfund-dp-registerlink:hover { text-decoration: underline; }

/* ===== Homepage: Blok Daftar Campaign (multi-style) ===== */
.rbfund-hp-cl-wrap { display:grid; gap:18px; }
.rbfund-hp-cl--grid .rbfund-hp-cl-wrap { grid-template-columns: repeat(3, 1fr); }
.rbfund-hp-cl--grid2 .rbfund-hp-cl-wrap { grid-template-columns: repeat(2, 1fr); }
.rbfund-hp-cl--list .rbfund-hp-cl-wrap { grid-template-columns: 1fr; }
.rbfund-hp-cl--compact .rbfund-hp-cl-wrap { grid-template-columns: 1fr; gap:10px; }
.rbfund-hp-cl--carousel .rbfund-hp-cl-wrap { grid-auto-flow: column; grid-auto-columns: minmax(260px, 300px); overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:10px; }
.rbfund-hp-cl--carousel .rbfund-hp-card { scroll-snap-align:start; }
@media (max-width: 900px) {
	.rbfund-hp-cl--grid .rbfund-hp-cl-wrap { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.rbfund-hp-cl--grid .rbfund-hp-cl-wrap,
	.rbfund-hp-cl--grid2 .rbfund-hp-cl-wrap { grid-template-columns: 1fr; }
}
/* Layout LIST: gambar kiri, teks kanan */
/* ===== Layout LIST & RINGKAS: gaya ASAR (borderless, garis pemisah) ===== */
.rbfund-hp-cl--list .rbfund-hp-cl-wrap,
.rbfund-hp-cl--compact .rbfund-hp-cl-wrap { gap:0; }
.rbfund-hp-card--list, .rbfund-hp-card--compact {
	display:grid; grid-template-columns: 200px 1fr; gap:16px; align-items:center;
	background:transparent !important; border:none !important; border-radius:0 !important;
	box-shadow:none !important; overflow:visible; padding:16px 0;
	border-bottom:1px solid #eef2f6 !important; transition:none;
}
.rbfund-hp-card--list:hover, .rbfund-hp-card--compact:hover { transform:none; box-shadow:none !important; }
.rbfund-hp-cl-wrap > .rbfund-hp-card--list:last-child,
.rbfund-hp-cl-wrap > .rbfund-hp-card--compact:last-child { border-bottom:none !important; }
/* Gambar kiri: rounded, cover UTUH (contain = seluruh gambar tampil, tidak terpotong) */
.rbfund-hp-card--list .rbfund-hp-card-cover,
.rbfund-hp-card--compact .rbfund-hp-card-cover {
	aspect-ratio:16/9 !important; width:100%; height:auto !important; min-height:0; max-height:none;
	border-radius:12px !important; overflow:hidden; background:#f1f5f9; align-self:center;
}
.rbfund-hp-card--list .rbfund-hp-card-cover img,
.rbfund-hp-card--compact .rbfund-hp-card-cover img { width:100%; height:100%; object-fit:contain !important; display:block; }
/* Konten kanan */
.rbfund-hp-card--list .rbfund-hp-card-body,
.rbfund-hp-card--compact .rbfund-hp-card-body { padding:0; gap:3px; min-width:0; justify-content:center; }
.rbfund-hp-card--list .rbfund-hp-card-title,
.rbfund-hp-card--compact .rbfund-hp-card-title { font-size:clamp(14px,1.6vw,16px); font-weight:700; -webkit-line-clamp:2; line-height:1.3; margin:0 0 3px; }
/* Penggalang */
.rbfund-hp-card--list .rbfund-hp-card-org,
.rbfund-hp-card--compact .rbfund-hp-card-org { margin:0 0 3px; }
.rbfund-hp-card--list .rbfund-hp-card-orgav,
.rbfund-hp-card--compact .rbfund-hp-card-orgav { width:20px; height:20px; }
.rbfund-hp-card--list .rbfund-hp-card-orgname,
.rbfund-hp-card--compact .rbfund-hp-card-orgname { font-size:12.5px; color:#64748b; font-weight:600; }
/* Label "Donasi Terkumpul" */
.rbfund-hp-card--list .rbfund-hp-card-collect,
.rbfund-hp-card--compact .rbfund-hp-card-collect { font-size:10px; color:#94a3b8; font-weight:600; margin:0; line-height:1.2; }
/* Nominal + persen */
.rbfund-hp-card--list .rbfund-hp-card-meta,
.rbfund-hp-card--compact .rbfund-hp-card-meta { align-items:baseline; margin:0; }
.rbfund-hp-card--list .rbfund-hp-card-raised strong,
.rbfund-hp-card--compact .rbfund-hp-card-raised strong { font-size:13.5px; color:var(--rbhp-dark,#0f2417); font-weight:800; line-height:1.2; }
.rbfund-hp-card--list .rbfund-hp-card-meta em,
.rbfund-hp-card--compact .rbfund-hp-card-meta em { font-size:12px; font-weight:800; }
/* Progress bar tipis di bawah */
.rbfund-hp-card--list .rbfund-hp-card-bar,
.rbfund-hp-card--compact .rbfund-hp-card-bar { height:5px; order:5; margin:5px 0 0; }
/* Footer donatur/hari */
.rbfund-hp-card--list .rbfund-hp-card-foot,
.rbfund-hp-card--compact .rbfund-hp-card-foot { border-top:none; padding-top:0; margin:5px 0 0; font-size:11.5px; }

@media (max-width: 640px){
	.rbfund-hp-card--list, .rbfund-hp-card--compact { grid-template-columns:130px 1fr; gap:14px; padding:16px 0; }
	.rbfund-hp-card--list .rbfund-hp-card-title,
	.rbfund-hp-card--compact .rbfund-hp-card-title { font-size:14.5px; }
	.rbfund-hp-card--list .rbfund-hp-card-raised strong,
	.rbfund-hp-card--compact .rbfund-hp-card-raised strong { font-size:16px; }
	.rbfund-hp-card--list .rbfund-hp-card-org,
	.rbfund-hp-card--compact .rbfund-hp-card-org { display:flex; }
	.rbfund-hp-card--list .rbfund-hp-card-orgname,
	.rbfund-hp-card--compact .rbfund-hp-card-orgname { font-size:12px; }
}
/* Layout COMPACT: baris kecil */
.rbfund-hp-card--compact { display:grid; grid-template-columns: 84px 1fr; gap:0; align-items:stretch; }
.rbfund-hp-card--compact .rbfund-hp-card-cover { min-height:84px; }
.rbfund-hp-card--compact .rbfund-hp-card-body { padding:10px 14px; }
.rbfund-hp-card--compact .rbfund-hp-card-title { font-size:.92rem; -webkit-line-clamp:1; }

/* ===== Homepage: variabel style dari builder ===== */
.rbfund-hp { background: var(--rbhp-bg, #fff); }
.rbfund-hp > section { max-width: var(--rbhp-width, 1160px); padding-top: var(--rbhp-space, 56px); padding-bottom: var(--rbhp-space, 56px); }
.rbfund-hp .rbfund-hp-card, .rbfund-hp .rbfund-hp-catchip, .rbfund-hp-btn, .rbfund-hp-card-cover { border-radius: var(--rbhp-radius, 16px); }
.rbfund-hp-btn--primary { background: var(--rbhp-primary, #16a34a); }
.rbfund-hp-btn--primary:hover { filter: brightness(1.06); }

/* ===== Homepage Header ===== */
.rbfund-hp-header { background:#fff; border-bottom:1px solid #eef1f4; }
.rbfund-hp-header.is-sticky { position:sticky; top:0; z-index:50; box-shadow:0 2px 12px rgba(16,40,30,.05); }
.rbfund-hp-header-inner { max-width: var(--rbhp-width,1160px); margin:0 auto; display:flex; align-items:center; gap:20px; padding:12px 20px; }
.rbfund-hp-brand { display:flex; align-items:center; text-decoration:none; }
.rbfund-hp-brand img { max-height:44px; width:auto; display:block; }
.rbfund-hp-brand-txt { font-weight:800; font-size:18px; color:var(--rbhp-primary,#16a34a); }
.rbfund-hp-nav { display:flex; gap:22px; margin-left:auto; }
.rbfund-hp-nav a { color:#334155; text-decoration:none; font-weight:600; font-size:14.5px; }
.rbfund-hp-nav a:hover { color:var(--rbhp-primary,#16a34a); }
.rbfund-hp-headcta { padding:9px 20px; color:#fff !important; text-decoration:none; font-weight:700; font-size:14px; }
.rbfund-hp-burger { display:none; flex-direction:column; gap:4px; background:none; border:none; cursor:pointer; padding:8px; margin-left:auto; }
.rbfund-hp-burger span { width:22px; height:2px; background:#334155; border-radius:2px; }
.rbfund-hp-mobilenav { display:none; flex-direction:column; padding:8px 20px 16px; border-top:1px solid #eef1f4; }
.rbfund-hp-mobilenav a { padding:10px 0; color:#334155; text-decoration:none; font-weight:600; border-bottom:1px solid #f4f6f8; }
.rbfund-hp-mobilenav.open { display:flex; }
@media (max-width: 860px) {
	.rbfund-hp-nav, .rbfund-hp-headcta { display:none; }
	.rbfund-hp-burger { display:flex; }
}

/* ===== Homepage Footer ===== */
.rbfund-hp-footer { background:var(--rbhp-dark,#0f2e1d); color:#cbd5cf; margin-top:32px; font-weight:400; }
.rbfund-hp-footer-inner { max-width: var(--rbhp-width,1160px); margin:0 auto; display:grid; grid-template-columns:2fr 1fr 1fr; gap:20px; padding:28px 20px; }
/* Stack lebih awal (di bawah 900px) agar tidak sempit di tablet */
@media (max-width: 900px) {
	.rbfund-hp-footer-inner { grid-template-columns:1fr; gap:12px; text-align:center; padding:24px 20px; }
	.rbfund-hp-footer-brand { display:flex; flex-direction:column; align-items:center; }
	.rbfund-hp-footer-logo, .rbfund-hp-footer-name, .rbfund-hp-footer-about { margin-left:auto; margin-right:auto; }
	.rbfund-hp-footer-about { margin-top:6px; }
	.rbfund-hp-footer-col { display:flex; flex-direction:column; align-items:center; }
	.rbfund-hp-footer-col p { margin:0 0 3px; }
	.rbfund-hp-footer-col a, .rbfund-hp-footer-col p { text-align:center; }
	.rbfund-hp-footer-menu-links { display:flex; flex-wrap:wrap; justify-content:center; gap:2px 6px; }
	.rbfund-hp-footer-menu-links a { padding:3px 10px; font-size:12px; }
}
.rbfund-hp-footer p, .rbfund-hp-footer a, .rbfund-hp-footer-about, .rbfund-hp-footer-copy,
.rbfund-hp-footer-col p, .rbfund-hp-footer-col a, .rbfund-hp-footer-menu-links a { font-weight:400 !important; }
.rbfund-hp-footer-name { font-weight:700 !important; }
.rbfund-hp-footer-col h4 { font-weight:600 !important; }
.rbfund-hp-footer-logo { max-height:48px; width:auto; background:#fff; padding:6px 10px; border-radius:8px; }
.rbfund-hp-footer-name { color:#fff; font-size:20px; }
.rbfund-hp-footer-about { margin:12px 0 0; font-size:13.5px; line-height:1.7; color:#9db3a8; max-width:34em; }
.rbfund-hp-footer-col h4 { color:#fff; font-size:14px; margin:0 0 12px; }
.rbfund-hp-footer-col a { display:block; color:#9db3a8; text-decoration:none; font-size:13.5px; padding:5px 0; }
.rbfund-hp-footer-col a:hover { color:#fff; }
.rbfund-hp-footer-col p { margin:0 0 8px; font-size:13.5px; color:#9db3a8; line-height:1.6; }
.rbfund-hp-footer-copy { border-top:1px solid rgba(255,255,255,.1); text-align:center; padding:14px 20px; font-size:12.5px; color:#7d9488; }
@media (max-width: 760px) {
	.rbfund-hp-footer-inner { grid-template-columns:1fr; gap:14px; text-align:center; padding:28px 20px; }
	.rbfund-hp-footer-brand { display:flex; flex-direction:column; align-items:center; }
	.rbfund-hp-footer-logo, .rbfund-hp-footer-name { margin-left:auto; margin-right:auto; }
	.rbfund-hp-footer-about { margin:8px auto 0; }
	.rbfund-hp-footer-col a, .rbfund-hp-footer-col p { text-align:center; }
	/* Menu footer: memanjang mendatar (wrap), ukuran lebih kecil */
	.rbfund-hp-footer-col h4 { margin-bottom:6px; }
	.rbfund-hp-footer-col { display:flex; flex-direction:column; align-items:center; }
	.rbfund-hp-footer-col p { margin:0 0 4px; }
	.rbfund-hp-footer-col a {
		display:inline-flex; padding:3px 10px; font-size:12px;
	}
	.rbfund-hp-footer-inner .rbfund-hp-footer-col:has(a) {
		flex-direction:row; flex-wrap:wrap; justify-content:center; gap:2px 4px;
	}
	/* Fallback untuk browser tanpa :has — bungkus link menu jadi baris */
	.rbfund-hp-footer-menu-links { display:flex; flex-wrap:wrap; justify-content:center; gap:2px 6px; }
	.rbfund-hp-footer-menu-links a { padding:3px 10px; font-size:12px; }
}
body.rbfund-viewmode-mobile .rbfund-hp-footer-inner { text-align:center; }
body.rbfund-viewmode-mobile .rbfund-hp-footer-brand { align-items:center; }
body.rbfund-viewmode-mobile .rbfund-hp-footer-logo,
body.rbfund-viewmode-mobile .rbfund-hp-footer-name,
body.rbfund-viewmode-mobile .rbfund-hp-footer-about { margin-left:auto; margin-right:auto; }
body.rbfund-viewmode-mobile .rbfund-hp-footer-menu-links { display:flex; flex-wrap:wrap; justify-content:center; gap:2px 6px; }
body.rbfund-viewmode-mobile .rbfund-hp-footer-menu-links a { padding:4px 10px; font-size:12px; }

/* ===== Homepage: Slider Banner ===== */
.rbfund-hp-slider { position:relative; max-width:var(--rbhp-width,1160px); margin:0 auto; overflow:hidden; border-radius:var(--rbhp-radius,16px); padding-top:16px !important; padding-bottom:16px !important; }
.rbfund-hp-slider.is-full { padding-left:0 !important; padding-right:0 !important; }
.rbfund-hp-slider.is-full { max-width:100%; border-radius:0; }
.rbfund-hp-slider-track { position:relative; }
.rbfund-hp-slider-track { position:relative; }
.rbfund-hp-slide { position:absolute; inset:0; opacity:0; transition: opacity .8s ease-in-out; pointer-events:none; }
.rbfund-hp-slide.is-active { position:relative; opacity:1; pointer-events:auto; }
/* Slide non-aktif ditumpuk absolut; yang aktif menentukan tinggi track (position:relative) */
.rbfund-hp-slider--auto .rbfund-hp-slide { position:absolute; }
.rbfund-hp-slider--auto .rbfund-hp-slide.is-active { position:relative; }
.rbfund-hp-slide img { width:100%; height:100%; object-fit:cover; display:block; }
.rbfund-hp-slider--short .rbfund-hp-slide { height:240px; }
.rbfund-hp-slider--med .rbfund-hp-slide { height:360px; }
.rbfund-hp-slider--tall .rbfund-hp-slide { height:480px; }
.rbfund-hp-slider--auto .rbfund-hp-slide img { height:auto; }
.rbfund-hp-slider-nav { position:absolute; top:50%; transform:translateY(-50%); background:rgba(0,0,0,.35); color:#fff; border:none; width:42px; height:42px; border-radius:50%; cursor:pointer; font-size:18px; z-index:2; display:flex; align-items:center; justify-content:center; transition:background .15s; }
.rbfund-hp-slider-nav:hover { background:rgba(0,0,0,.6); }
.rbfund-hp-slider-nav.prev { left:14px; }
.rbfund-hp-slider-nav.next { right:14px; }
.rbfund-hp-slider-dots { position:absolute; bottom:14px; left:0; right:0; display:flex; justify-content:center; gap:8px; z-index:2; }
.rbfund-hp-slider-dot { width:9px; height:9px; border-radius:50%; border:none; background:rgba(255,255,255,.55); cursor:pointer; padding:0; }
.rbfund-hp-slider-dot.is-active { background:#fff; width:22px; border-radius:5px; }
@media (max-width:600px){
	.rbfund-hp-slider--short .rbfund-hp-slide { height:160px; }
	.rbfund-hp-slider--med .rbfund-hp-slide { height:200px; }
	.rbfund-hp-slider--tall .rbfund-hp-slide { height:260px; }
	.rbfund-hp-slider-nav { width:34px; height:34px; font-size:15px; }
}

/* ===== Homepage: warna footer ikut Theme + responsif mobile/desktop ===== */
.rbfund-hp-footer { background: var(--rbhp-footer-bg, #0f172a); color: var(--rbhp-footer-txt, #cbd5e1); }
.rbfund-hp-footer-name, .rbfund-hp-footer-col h4 { color: #fff; }
.rbfund-hp-footer-about, .rbfund-hp-footer-col a, .rbfund-hp-footer-col p { color: var(--rbhp-footer-txt, #9db3a8); }
.rbfund-hp-footer-col a:hover { color:#fff; }
.rbfund-hp-header .rbfund-hp-brand-txt { color: var(--rbhp-primary, #16a34a); }

/* Hero & tombol pakai warna tema */
.rbfund-hp-hero { background: linear-gradient(135deg, var(--rbhp-primary,#16a34a), var(--rbhp-dark,#0f2e1d)); }
.rbfund-hp-btn--primary { background: var(--rbhp-primary,#16a34a); color:#fff; }
.rbfund-hp-card-bar > span, .rbfund-hp-stepnum { background: var(--rbhp-primary,#16a34a); }
.rbfund-hp-catchip span, .rbfund-hp-card-meta em, .rbfund-hp-seeall { color: var(--rbhp-primary,#16a34a); }

/* ===== Responsif menyeluruh (mobile ⇄ desktop) ===== */
.rbfund-hp-hero-inner { display:grid; grid-template-columns: 1.1fr .9fr; gap:32px; align-items:center; max-width:var(--rbhp-width,1160px); margin:0 auto; padding:0 20px; }
.rbfund-hp-title { font-size: clamp(1.6rem, 4.2vw, 2.6rem); }
.rbfund-hp-sub { font-size: clamp(.95rem, 2vw, 1.1rem); }
.rbfund-hp-catgrid { display:grid; grid-template-columns: repeat(4, 1fr); gap:14px; }
.rbfund-hp-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap:18px; }
.rbfund-hp-steps { display:grid; grid-template-columns: repeat(3, 1fr); gap:18px; }

@media (max-width: 980px) {
	.rbfund-hp-hero-inner { grid-template-columns: 1fr; text-align:center; }
	.rbfund-hp-hero-cta { justify-content:center; }
	.rbfund-hp-grid { grid-template-columns: repeat(2, 1fr); }
	.rbfund-hp-catgrid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 640px) {
	.rbfund-hp > section { padding-left:16px; padding-right:16px; padding-top: calc(var(--rbhp-space,56px) * .7); padding-bottom: calc(var(--rbhp-space,56px) * .7); }
	.rbfund-hp-grid { grid-template-columns: 1fr; }
	.rbfund-hp-catgrid { grid-template-columns: repeat(2, 1fr); }
	.rbfund-hp-steps { grid-template-columns: 1fr; }
	.rbfund-hp-hero-stats { flex-wrap:wrap; justify-content:center; gap:14px; }
	.rbfund-hp-title { font-size: clamp(1.5rem, 7vw, 2rem); }
}

/* ===== Hero dengan gambar latar ===== */
.rbfund-hp-hero--img { position: relative; }
.rbfund-hp-hero--img .rbfund-hp-hero-inner { position: relative; z-index: 2; grid-template-columns: 1fr; min-height: 360px; align-content: center; }
/* Warna teks hero mengikuti pilihan (var di-set inline) */
.rbfund-hp-hero .rbfund-hp-title { color: var(--rbhp-hero-txt, #fff); }
.rbfund-hp-hero .rbfund-hp-sub { color: var(--rbhp-hero-sub, rgba(255,255,255,.92)); }
.rbfund-hp-hero .rbfund-hp-eyebrow { color: var(--rbhp-hero-eye, rgba(255,255,255,.85)); }

/* ===== Blok Shortcode ===== */
.rbfund-hp-shortcode.is-narrow .rbfund-hp-shortcode-body { max-width: 820px; margin: 0 auto; }
.rbfund-hp-shortcode-body { width: 100%; }

/* ===== Mode Tampilan MOBILE global (semua halaman RBFund selebar mobile) ===== */
body.rbfund-viewmode-mobile {
	--rbfund-vm-width: 480px;
}
/* Wrapper utama tiap halaman → dibatasi selebar mobile & terpusat */
body.rbfund-viewmode-mobile .rbfund-campaign-page,
body.rbfund-viewmode-mobile .rbfund-donatepage,
body.rbfund-viewmode-mobile .rbfund-profile-body,
body.rbfund-viewmode-mobile .rbfund-archive-body,
body.rbfund-viewmode-mobile .rbfund-invoice,
body.rbfund-viewmode-mobile .rbfund-success,
body.rbfund-viewmode-mobile .rbfund-hp,
body.rbfund-viewmode-mobile .rbfund-hp > section,
body.rbfund-viewmode-mobile .rbfund-hp-header-inner,
body.rbfund-viewmode-mobile .rbfund-hp-footer-inner,
body.rbfund-viewmode-mobile .rbfund-hp-hero-inner,
body.rbfund-viewmode-mobile .rbfund-hp-slider {
	max-width: var(--rbfund-vm-width) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
/* Campaign: paksa 1 kolom (kartu donasi menumpuk) */
body.rbfund-viewmode-mobile .rbfund-cp-grid { grid-template-columns: 1fr !important; }
body.rbfund-viewmode-mobile .rbfund-cp-side { position: static !important; width: 100% !important; }
body.rbfund-viewmode-mobile .rbfund-cp-donatecard--desktop { display: none !important; }
body.rbfund-viewmode-mobile .rbfund-cp-donatecard--mobile { display: block !important; }
/* Homepage: hero 1 kolom, grid 1 kolom, kategori 2 kolom */
body.rbfund-viewmode-mobile .rbfund-hp-hero-inner { grid-template-columns: 1fr !important; text-align: center; }
body.rbfund-viewmode-mobile .rbfund-hp-hero-cta { justify-content: center; }
body.rbfund-viewmode-mobile .rbfund-hp-grid,
body.rbfund-viewmode-mobile .rbfund-hp-cl--grid .rbfund-hp-cl-wrap,
body.rbfund-viewmode-mobile .rbfund-hp-cl--grid2 .rbfund-hp-cl-wrap { grid-template-columns: 1fr !important; }
body.rbfund-viewmode-mobile .rbfund-hp-catgrid { grid-template-columns: repeat(2,1fr) !important; }
body.rbfund-viewmode-mobile .rbfund-hp-steps { grid-template-columns: 1fr !important; }
body.rbfund-viewmode-mobile .rbfund-hp-footer-inner { grid-template-columns: 1fr !important; gap:14px !important; padding:26px 20px !important; text-align:center; }
body.rbfund-viewmode-mobile .rbfund-hp-footer-brand { align-items:center; }
body.rbfund-viewmode-mobile .rbfund-hp-footer-col { display:flex; flex-direction:column; align-items:center; }
body.rbfund-viewmode-mobile .rbfund-hp-footer-col p { margin:0 0 4px; }
body.rbfund-viewmode-mobile .rbfund-hp-footer-about { margin:8px auto 0; }
body.rbfund-viewmode-mobile .rbfund-hp-footer-menu-links { display:flex; flex-wrap:wrap; justify-content:center; gap:2px 6px; }
body.rbfund-viewmode-mobile .rbfund-hp-footer-menu-links a { padding:3px 10px; font-size:12px; }
/* Header: tampilkan hamburger seperti mobile */
body.rbfund-viewmode-mobile .rbfund-hp-nav,
body.rbfund-viewmode-mobile .rbfund-hp-headcta { display: none !important; }
body.rbfund-viewmode-mobile .rbfund-hp-burger { display: flex !important; }
/* Beri latar abu di luar kolom mobile agar terlihat seperti "layar HP" */
body.rbfund-viewmode-mobile { background: #eef1f5; }

/* ===== Header/Footer seragam di semua halaman (bukan homepage) ===== */
.rbfund-hp--appbar, .rbfund-hp--appfooter { background: transparent; }
.rbfund-hp--appbar .rbfund-hp-header { margin: 0; }
.rbfund-hp--appfooter .rbfund-hp-footer { margin-top: 0; }
/* Di mode mobile global, header/footer seragam ikut lebar mobile */
body.rbfund-viewmode-mobile .rbfund-hp--appbar .rbfund-hp-header-inner,
body.rbfund-viewmode-mobile .rbfund-hp--appfooter .rbfund-hp-footer-inner {
	max-width: var(--rbfund-vm-width, 480px) !important; margin-left:auto !important; margin-right:auto !important;
}

/* ===== Homepage: Blok Blog/Artikel ===== */
.rbfund-hp-blog-wrap { display:grid; gap:20px; }
.rbfund-hp-blog--grid .rbfund-hp-blog-wrap { grid-template-columns: repeat(3, 1fr); }
.rbfund-hp-blog--list .rbfund-hp-blog-wrap { grid-template-columns: 1fr; }
.rbfund-hp-blog-card { display:block; background:#fff; border:1px solid var(--rbhp-line,#e8edf1); border-radius: var(--rbhp-radius,16px); overflow:hidden; text-decoration:none; color:inherit; transition: box-shadow .18s, transform .18s; }
.rbfund-hp-blog-card:hover { box-shadow:0 10px 30px rgba(16,40,30,.10); transform:translateY(-2px); }
.rbfund-hp-blog--list .rbfund-hp-blog-card { display:grid; grid-template-columns: 240px 1fr; }
.rbfund-hp-blog-cover { display:block; aspect-ratio:16/9; background:#f1f5f9; overflow:hidden; }
.rbfund-hp-blog--list .rbfund-hp-blog-cover { aspect-ratio:auto; height:100%; min-height:150px; }
.rbfund-hp-blog-cover img { width:100%; height:100%; object-fit:cover; display:block; }
.rbfund-hp-blog-body { display:block; padding:16px 18px; }
.rbfund-hp-blog-date { display:block; font-size:12px; color:#94a3b8; margin-bottom:6px; }
.rbfund-hp-blog-title { display:block; font-size:1.02rem; font-weight:800; color:#0f2417; line-height:1.35; margin-bottom:8px; }
.rbfund-hp-blog-excerpt { display:block; font-size:13.5px; color:#64748b; line-height:1.6; }
@media (max-width: 900px) { .rbfund-hp-blog--grid .rbfund-hp-blog-wrap { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) {
	.rbfund-hp-blog--grid .rbfund-hp-blog-wrap { grid-template-columns: 1fr; }
	.rbfund-hp-blog--list .rbfund-hp-blog-card { grid-template-columns: 110px 1fr; }
}
body.rbfund-viewmode-mobile .rbfund-hp-blog--grid .rbfund-hp-blog-wrap { grid-template-columns: 1fr !important; }

/* ===================================================================
   Homepage UI/UX polish v2.20.9 — konsistensi heading, kartu, spacing
   =================================================================== */
/* Heading section seragam */
.rbfund-hp-h2 {
	font-family: 'Plus Jakarta Sans', -apple-system, sans-serif;
	font-size: clamp(16px, 2.2vw, 20px); font-weight: 700; color: var(--rbhp-dark, #0f2e1d);
	margin: 0 0 18px; position: relative; padding-bottom: 10px;
}
.rbfund-hp-h2::after {
	content: ""; position: absolute; left: 0; bottom: 0; width: 36px; height: 3px;
	background: var(--rbhp-primary, #16a34a); border-radius: 999px;
}
.rbfund-hp-section { max-width: var(--rbhp-width, 1160px); margin: 0 auto; }

/* Kategori chip — badge jumlah lebih halus */
.rbfund-hp-catchip {
	display: flex; align-items: center; justify-content: center; gap: 8px;
	background: #fff; border: 1px solid var(--rbhp-line, #e8edf1); border-radius: 14px;
	padding: 18px 16px; text-align: center; text-decoration: none; color: var(--rbhp-dark, #0f2417);
	font-weight: 700; font-size: 14.5px; transition: border-color .15s, box-shadow .15s, transform .15s;
}
.rbfund-hp-catchip:hover { border-color: var(--rbhp-primary, #16a34a); box-shadow: 0 6px 18px rgba(16,40,30,.08); transform: translateY(-2px); }
.rbfund-hp-catchip span {
	background: #eef4f0; color: var(--rbhp-primary, #16a34a); font-size: 12px; font-weight: 800;
	min-width: 22px; height: 22px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; padding: 0 7px;
}

/* Kartu campaign — konsisten & rapi */
.rbfund-hp-card { border-radius: var(--rbhp-radius, 16px); box-shadow: 0 1px 3px rgba(16,40,30,.05); }
.rbfund-hp-card:hover { transform: translateY(-3px); box-shadow: 0 14px 34px rgba(16,40,30,.12); }
.rbfund-hp-card-cover { aspect-ratio: 16/9; background: #eef2f6; overflow: hidden; display:block; }
.rbfund-hp-card-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rbfund-hp-card-body { padding: 16px 18px; display: flex; flex-direction: column; gap: 8px; }
.rbfund-hp-card-title { font-size: 15px; font-weight: 700; line-height: 1.4; color: #0f2417; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.7em; }
.rbfund-hp-card-bar { height: 8px; background: #eef2f6; border-radius: 999px; overflow: hidden; }
.rbfund-hp-card-bar > span { display: block; height: 100%; border-radius: 999px; background: var(--rbhp-primary, #16a34a); }
.rbfund-hp-card-meta { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.rbfund-hp-card-meta strong { font-size: 15px; color: var(--rbhp-dark, #0f2417); }
.rbfund-hp-card-meta em { font-style: normal; font-weight: 800; font-size: 13px; color: var(--rbhp-primary, #16a34a); }

/* Tombol "Lihat Semua" — di tengah, rapi */
.rbfund-hp-more { text-align: center; margin-top: 18px; }
.rbfund-hp-btn--ghost {
	display: inline-block; padding: 6px 16px; border-radius: 10px; text-decoration: none; font-weight: 600; font-size: 12px;
	color: var(--rbhp-primary, #16a34a); border: 1px solid var(--rbhp-primary, #16a34a); background: #fff; transition: background .15s, color .15s;
}
.rbfund-hp-btn--ghost:hover { background: var(--rbhp-primary, #16a34a); color: #fff; }

/* Blok CTA — lebih menonjol & terpusat */
.rbfund-hp-cta { background: linear-gradient(135deg, var(--rbhp-primary,#16a34a), var(--rbhp-dark,#0f2e1d)); border-radius: 0; }
.rbfund-hp-cta-inner { max-width: 720px; margin: 0 auto; text-align: center; color: #fff; }
.rbfund-hp-cta-inner h2 { font-size: clamp(22px, 3.5vw, 32px); font-weight: 800; margin: 0 0 10px; color: #fff; }
.rbfund-hp-cta-inner p { font-size: 1.05rem; opacity: .92; margin: 0 0 24px; }
.rbfund-hp-cta .rbfund-hp-btn--primary { background: #fff; color: var(--rbhp-primary, #16a34a); padding: 13px 30px; font-weight: 800; }

/* Cara donasi / steps */
.rbfund-hp-step { text-align: center; padding: 24px 18px; background:#fff; border:1px solid var(--rbhp-line,#e8edf1); border-radius: var(--rbhp-radius,16px); }
.rbfund-hp-stepnum { width: 44px; height: 44px; border-radius: 50%; background: var(--rbhp-primary,#16a34a); color:#fff; font-weight: 800; font-size: 18px; display: inline-flex; align-items:center; justify-content:center; margin-bottom: 12px; }

/* Jarak vertikal antar section konsisten */
.rbfund-hp > section + section { border-top: 1px solid #f2f5f7; }

/* ===== Homepage: Blok Video (YouTube) ===== */
.rbfund-hp-video { max-width: var(--rbhp-width,1160px); margin:0 auto; }
.rbfund-hp-video-frame { position:relative; width:100%; max-width:900px; margin:0 auto; aspect-ratio:16/9; border-radius: var(--rbhp-radius,16px); overflow:hidden; box-shadow:0 10px 30px rgba(16,40,30,.12); background:#000; }
.rbfund-hp-video-frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.rbfund-hp-video-caption { text-align:center; color:#64748b; font-size:14px; margin:14px auto 0; max-width:640px; }

/* ===== Homepage: Galeri Gambar ===== */
.rbfund-hp-gallery-grid { display:grid; gap:12px; }
.rbfund-hp-gallery--2 .rbfund-hp-gallery-grid { grid-template-columns:repeat(2,1fr); }
.rbfund-hp-gallery--3 .rbfund-hp-gallery-grid { grid-template-columns:repeat(3,1fr); }
.rbfund-hp-gallery--4 .rbfund-hp-gallery-grid { grid-template-columns:repeat(4,1fr); }
.rbfund-hp-gallery-item { display:block; aspect-ratio:1/1; border-radius: var(--rbhp-radius,16px); overflow:hidden; background:#eef2f6; }
.rbfund-hp-gallery-item img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s; }
.rbfund-hp-gallery-item:hover img { transform:scale(1.05); }
@media (max-width:760px){
	.rbfund-hp-gallery--3 .rbfund-hp-gallery-grid, .rbfund-hp-gallery--4 .rbfund-hp-gallery-grid { grid-template-columns:repeat(2,1fr); }
}
body.rbfund-viewmode-mobile .rbfund-hp-gallery--3 .rbfund-hp-gallery-grid,
body.rbfund-viewmode-mobile .rbfund-hp-gallery--4 .rbfund-hp-gallery-grid { grid-template-columns:repeat(2,1fr) !important; }

/* ===== Homepage: Media Sosial (ikon bulat kecil) ===== */
.rbfund-hp-social { text-align:center; }
.rbfund-hp-social-row { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; }
.rbfund-hp-social-btn {
	display:inline-flex; align-items:center; justify-content:center;
	width:44px; height:44px; border-radius:50%;
	background:#fff; border:1px solid var(--rbhp-line,#e8edf1); text-decoration:none;
	transition:background .15s, border-color .15s, transform .15s, box-shadow .15s;
}
.rbfund-hp-social-btn .dashicons { color: var(--sc, #16a34a); font-size:20px; width:20px; height:20px; }
.rbfund-hp-social-lbl { display:none; } /* ikon saja */
.rbfund-hp-social-btn:hover { background: var(--sc, #16a34a); border-color: var(--sc, #16a34a); transform:translateY(-2px); box-shadow:0 6px 16px rgba(16,40,30,.14); }
.rbfund-hp-social-btn:hover .dashicons { color:#fff; }

/* ===== Transisi halus antar halaman (fade-in saat load) ===== */
@media (prefers-reduced-motion: no-preference) {
	.rbfund-hp, .rbfund-campaign-page, .rbfund-donatepage, .rbfund-profile-body, .rbfund-archive-body {
		animation: rbfund-fadein .45s ease both;
	}
	@keyframes rbfund-fadein {
		from { opacity: 0; transform: translateY(8px); }
		to { opacity: 1; transform: translateY(0); }
	}
	/* Fade-out singkat saat klik link internal (diberi kelas oleh JS) */
	body.rbfund-leaving { opacity: 0; transition: opacity .18s ease; }
}

/* ===== Homepage: Hero Campaign (sorot 1 program) ===== */
.rbfund-hp-herocamp { position:relative; padding:0 !important; border-radius:var(--rbhp-radius,16px); overflow:hidden; min-height:420px; display:flex; align-items:flex-end; max-width:var(--rbhp-width,1160px); margin:0 auto; }
.rbfund-hp-herocamp-inner { position:relative; z-index:2; width:100%; padding:32px 34px; color:#fff; }
.rbfund-hp-herocamp-title { display:block; font-family:'Plus Jakarta Sans',sans-serif; font-size:clamp(22px,3.5vw,34px); font-weight:800; color:#fff; text-decoration:none; line-height:1.25; margin:0 0 10px; max-width:20ch; text-shadow:0 2px 10px rgba(0,0,0,.4); }
.rbfund-hp-herocamp-title:hover { color:#fff; text-decoration:underline; }
.rbfund-hp-herocamp-desc { font-size:15px; color:rgba(255,255,255,.9); margin:0 0 18px; max-width:52ch; line-height:1.6; text-shadow:0 1px 6px rgba(0,0,0,.4); }
.rbfund-hp-herocamp-progress { max-width:520px; margin:0 0 20px; }
.rbfund-hp-herocamp-bar { height:9px; background:rgba(255,255,255,.28); border-radius:999px; overflow:hidden; }
.rbfund-hp-herocamp-bar > span { display:block; height:100%; border-radius:999px; background:#fff; }
.rbfund-hp-herocamp-meta { display:flex; justify-content:space-between; gap:12px; margin-top:10px; font-size:13.5px; color:rgba(255,255,255,.92); flex-wrap:wrap; }
.rbfund-hp-herocamp-meta strong { font-size:16px; color:#fff; }
.rbfund-hp-herocamp-cta { display:inline-block; padding:13px 30px; font-weight:800; font-size:15px; border-radius:12px; }
@media (max-width:640px){
	.rbfund-hp-herocamp { min-height:340px; }
	.rbfund-hp-herocamp-inner { padding:24px 20px; }
}

/* ===== Hero Campaign: mode UTUH (gambar penuh tanpa dipotong) ===== */
.rbfund-hp-herocamp--full { display:block; min-height:0; padding:0 !important; background:transparent; }
.rbfund-hp-herocamp-fullimg { display:block; }
.rbfund-hp-herocamp-fullimg img { width:100%; height:auto; display:block; border-radius:var(--rbhp-radius,16px); }
.rbfund-hp-herocamp-below { padding:20px 24px 4px; text-align:left; }
.rbfund-hp-herocamp-title2 { display:block; font-family:'Plus Jakarta Sans',sans-serif; font-size:clamp(18px,2.6vw,24px); font-weight:800; color:var(--rbhp-dark,#0f2417); text-decoration:none; line-height:1.3; margin:0 0 8px; }
.rbfund-hp-herocamp-title2:hover { color:var(--rbhp-primary,#16a34a); }
.rbfund-hp-herocamp-desc2 { font-size:14px; color:#64748b; line-height:1.6; margin:0 0 14px; }
.rbfund-hp-herocamp-progress2 { margin:0 0 16px; }
.rbfund-hp-herocamp-bar2 { height:9px; background:#eef2f6; border-radius:999px; overflow:hidden; }
.rbfund-hp-herocamp-bar2 > span { display:block; height:100%; border-radius:999px; background:var(--rbhp-primary,#16a34a); }
.rbfund-hp-herocamp-meta2 { display:flex; justify-content:space-between; gap:12px; margin-top:8px; font-size:13px; color:#64748b; flex-wrap:wrap; }
.rbfund-hp-herocamp-meta2 strong { font-size:15px; color:var(--rbhp-dark,#0f2417); }

/* Link penuh saat semua teks disembunyikan (mode cover) */
.rbfund-hp-herocamp-fulllink { position:absolute; inset:0; z-index:3; }
/* Tombol donasi di atas gambar (pojok kiri bawah) — mode utuh */
.rbfund-hp-herocamp-fullwrap { position:relative; }
.rbfund-hp-herocamp-onimg {
	position:absolute; left:20px; bottom:20px; z-index:4;
	padding:13px 30px; font-weight:800; font-size:15px; border-radius:12px;
	box-shadow:0 8px 24px rgba(0,0,0,.28);
}
@media (max-width:640px){
	.rbfund-hp-herocamp-onimg { left:14px; bottom:14px; padding:11px 22px; font-size:14px; }
}

/* ===================================================================
   Homepage card ASAR-style: penggalang + donatur + sisa hari
   =================================================================== */
.rbfund-hp-card-org { display:flex; align-items:center; gap:7px; margin:2px 0 4px; }
.rbfund-hp-card-orgav { width:20px; height:20px; border-radius:50%; object-fit:cover; flex:0 0 auto; }
.rbfund-hp-card-orgname { font-size:12px; color:#64748b; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rbfund-hp-card-raised strong { font-size:15px; color:var(--rbhp-dark,#0f2417); }
.rbfund-hp-card-foot { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:8px; padding-top:8px; border-top:1px solid #f1f5f7; font-size:11.5px; color:#94a3b8; }
.rbfund-hp-card-donors { display:inline-flex; align-items:center; gap:4px; }
.rbfund-hp-card-donors .dashicons { font-size:14px; width:14px; height:14px; color:var(--rbhp-primary,#16a34a); }
.rbfund-hp-card-days { font-weight:600; }

/* Kategori scroll mendatar (ASAR-style) */
.rbfund-hp-cats .rbfund-hp-catgrid { display:flex; gap:10px; overflow-x:auto; padding-bottom:8px; scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch; grid-template-columns:none; }
.rbfund-hp-cats .rbfund-hp-catgrid::-webkit-scrollbar { height:6px; }
.rbfund-hp-cats .rbfund-hp-catgrid::-webkit-scrollbar-thumb { background:#d5dce4; border-radius:999px; }
.rbfund-hp-cats .rbfund-hp-catchip { flex:0 0 auto; scroll-snap-align:start; padding:10px 18px; border-radius:999px; }
body.rbfund-viewmode-mobile .rbfund-hp-cats .rbfund-hp-catgrid { grid-template-columns:none !important; }

/* ===== Homepage: Kategori Ikon (kustom) — slider otomatis tanpa scrollbar ===== */
.rbfund-hp-caticons { padding-top:18px !important; padding-bottom:18px !important; }
.rbfund-hp-caticons .rbfund-hp-h2 { margin-bottom:14px; }
.rbfund-hp-caticons-grid {
	display:flex; flex-wrap:nowrap; gap:16px; overflow-x:auto;
	scroll-behavior:smooth; -webkit-overflow-scrolling:touch;
	scrollbar-width:none; -ms-overflow-style:none;
	scroll-snap-type:x mandatory;
}
.rbfund-hp-caticons-grid::-webkit-scrollbar { display:none; height:0; width:0; }
.rbfund-hp-caticon {
	flex:0 0 calc((100% - (var(--rbcat-cols,4) - 1) * 16px) / var(--rbcat-cols,4));
	display:flex; flex-direction:column; align-items:center; gap:8px;
	text-decoration:none; color:#334155; text-align:center; scroll-snap-align:start;
}
.rbfund-hp-caticon-ico { display:flex; align-items:center; justify-content:center; width:64px; height:64px; overflow:hidden; flex:0 0 auto; }
.rbfund-hp-caticon-ico img { width:100%; height:100%; object-fit:cover; display:block; }
.rbfund-hp-caticon-lbl { font-size:13px; font-weight:600; line-height:1.3; }
.rbfund-hp-caticon:hover .rbfund-hp-caticon-lbl { color:var(--rbhp-primary,#16a34a); }
/* Bentuk: bulat */
.rbfund-hp-caticons--circle .rbfund-hp-caticon-ico { border-radius:50%; background:#f4faf6; border:1px solid var(--rbhp-line,#e8edf1); }
.rbfund-hp-caticons--circle .rbfund-hp-caticon:hover .rbfund-hp-caticon-ico { border-color:var(--rbhp-primary,#16a34a); }
/* Bentuk: kotak membulat */
.rbfund-hp-caticons--round .rbfund-hp-caticon-ico { border-radius:16px; background:#f4faf6; border:1px solid var(--rbhp-line,#e8edf1); }
.rbfund-hp-caticons--round .rbfund-hp-caticon:hover .rbfund-hp-caticon-ico { border-color:var(--rbhp-primary,#16a34a); }
/* Bentuk: polos */
.rbfund-hp-caticons--plain .rbfund-hp-caticon-ico { width:56px; height:56px; }
@media (max-width:640px){
	.rbfund-hp-caticons-grid { gap:12px; }
	.rbfund-hp-caticon { flex-basis: calc((100% - 3 * 12px) / 4.3); }
	.rbfund-hp-caticon-ico { width:52px; height:52px; }
	.rbfund-hp-caticon-lbl { font-size:11.5px; }
}

/* ===== Hero Campaign Slider (beberapa campaign) ===== */
.rbfund-hp-hcslider { position:relative; max-width:var(--rbhp-width,1160px); margin:0 auto; }
.rbfund-hp-hcslider-track { position:relative; }
.rbfund-hp-hcslide { display:none; }
.rbfund-hp-hcslide.is-active { display:block; animation:rbfund-fadein .5s ease; }
.rbfund-hp-hcslide .rbfund-hp-herocamp { max-width:none; }
.rbfund-hp-hcslider-nav { position:absolute; top:50%; transform:translateY(-50%); background:rgba(0,0,0,.35); color:#fff; border:none; width:40px; height:40px; border-radius:50%; cursor:pointer; font-size:16px; z-index:5; display:flex; align-items:center; justify-content:center; transition:background .15s; }
.rbfund-hp-hcslider-nav:hover { background:rgba(0,0,0,.6); }
.rbfund-hp-hcslider-nav.prev { left:12px; }
.rbfund-hp-hcslider-nav.next { right:12px; }
.rbfund-hp-hcslider-dots { position:absolute; bottom:14px; left:0; right:0; display:flex; justify-content:center; gap:7px; z-index:5; }
.rbfund-hp-hcslider-dot { width:8px; height:8px; border-radius:50%; border:none; background:rgba(255,255,255,.55); cursor:pointer; padding:0; box-shadow:0 1px 3px rgba(0,0,0,.3); }
.rbfund-hp-hcslider-dot.is-active { background:#fff; width:20px; border-radius:5px; }
@media (max-width:640px){ .rbfund-hp-hcslider-nav { width:32px; height:32px; font-size:14px; } }

/* Admin: daftar multi-campaign */

/* ===== Hapus semua underline saat hover pada link (global RBFund) ===== */
.rbfund-hp a:hover,
.rbfund-campaign-page a:hover,
.rbfund-donatepage a:hover,
.rbfund-profile-body a:hover,
.rbfund-archive-body a:hover,
.rbfund-hp-footer a:hover,
.rbfund-hp-header a:hover,
.rbfund-dp-form a:hover,
.rbfund-form a:hover,
.rbfund-doawall a:hover,
.rbfund-listrow a:hover,
.rbfund-hp--appbar a:hover,
.rbfund-hp--appfooter a:hover,
.rbfund-appfooter a:hover,
.rbfund-login-foot a:hover,
.rbfund-login-forgot:hover,
.rbfund-cp-card-more:hover,
.rbfund-loc-map:hover,
.rbfund-doawall-camp:hover {
	text-decoration: none !important;
}

/* ===== Homepage: Gambar Tunggal ===== */
.rbfund-hp-imgsingle { max-width: var(--rbhp-width,1160px); margin:0 auto; text-align:center; }
.rbfund-hp-imgsingle--narrow { max-width: 720px; }
.rbfund-hp-imgsingle--full { max-width: 100%; padding-left:0 !important; padding-right:0 !important; }
.rbfund-hp-imgsingle-wrap { display:block; }
.rbfund-hp-imgsingle-wrap img { width:100%; height:auto; display:block; }
.rbfund-hp-imgsingle.is-rounded .rbfund-hp-imgsingle-wrap img { border-radius: var(--rbhp-radius,16px); }
.rbfund-hp-imgsingle--full.is-rounded .rbfund-hp-imgsingle-wrap img { border-radius:0; }
.rbfund-hp-imgsingle-cap { margin:12px auto 0; font-size:14px; color:#64748b; max-width:640px; }

/* ===== Homepage block: WhatsApp Melayang ===== */
.rbfund-hp-wafloat {
	position: fixed; bottom: 20px; z-index: 998;
	display: inline-flex; align-items: center; gap: 10px;
	background: #25d366; color: #fff; text-decoration: none;
	border-radius: 999px; padding: 12px 16px;
	box-shadow: 0 6px 20px rgba(37,211,102,.4);
	transition: transform .15s;
}
.rbfund-hp-wafloat--right { right: 20px; }
.rbfund-hp-wafloat--left { left: 20px; }
.rbfund-hp-wafloat--center { left: 50%; transform: translateX(-50%); }
.rbfund-hp-wafloat--center:hover { transform: translateX(-50%) translateY(-2px); }

/* ===== WA menyatu di alur (stay) ===== */
.rbfund-hp-wastay { max-width: var(--rbhp-width,1160px); margin:0 auto; display:flex; }
.rbfund-hp-wastay--left { justify-content:flex-start; }
.rbfund-hp-wastay--center { justify-content:center; }
.rbfund-hp-wastay--right { justify-content:flex-end; }
.rbfund-hp-wabtn {
	display:inline-flex; align-items:center; gap:10px; background:#25d366; color:#fff;
	text-decoration:none; border-radius:999px; padding:12px 22px; font-weight:700; font-size:15px;
	box-shadow:0 6px 20px rgba(37,211,102,.35); transition:transform .15s;
}
.rbfund-hp-wabtn:hover { transform:translateY(-2px); color:#fff; }
.rbfund-hp-wabtn-ic { display:inline-flex; }
.rbfund-hp-wabtn-txt { white-space:nowrap; }
.rbfund-hp-wafloat:hover { transform: translateY(-2px); color: #fff; }
.rbfund-hp-wafloat-ic { display: inline-flex; }
.rbfund-hp-wafloat-bubble { font-size: 13.5px; font-weight: 600; white-space: nowrap; }
@media (max-width: 600px) {
	.rbfund-hp-wafloat { bottom: 76px; padding: 12px; }
	.rbfund-hp-wafloat-bubble { display: none; }
}
/* Kredit Powered by di footer */
.rbfund-hp-footer-credit { display: block; margin-top: 4px; font-size: 11.5px; opacity: .75; }
.rbfund-hp-footer-credit a { color: inherit; font-weight: 600; }

/* ===== Tipe menu Detail Campaign (mobile): Tab vs List ===== */
/* Mode LIST: di layar HP, tab jadi daftar tombol menumpuk (mudah disentuh) */
@media (max-width: 720px) {
	.rbfund-tabs--list { flex-direction: column; gap: 6px; border-bottom: none; overflow: visible; }
	.rbfund-tabs--list .rbfund-tab {
		width: 100%; text-align: left; border: 1px solid #e6ebf0; border-radius: 10px;
		padding: 13px 16px; margin: 0; background: #fff;
	}
	.rbfund-tabs--list .rbfund-tab.active {
		border-color: var(--rbfund-primary, #16a34a);
		background: #f4faf6;
		color: var(--rbfund-primary, #16a34a);
	}
	/* Mode TAB: tetap tab horizontal yang bisa digeser (default lama) */
	.rbfund-tabs--tab { flex-direction: row; }
}

/* ===== Homepage: Blok Teks ===== */
.rbfund-hp-text { max-width: var(--rbhp-width,1160px); margin:0 auto; }
.rbfund-hp-text.is-narrow .rbfund-hp-text-body { max-width: 720px; margin:0 auto; }
.rbfund-hp-text-body p { margin: 0 0 12px; }
.rbfund-hp-text-body p:last-child { margin-bottom: 0; }
.rbfund-hp-text-body a { color: var(--rbhp-primary,#16a34a); }

/* ===================================================================
   UI/UX polish — Kalkulator Zakat & Dashboard Fundraiser
   =================================================================== */
/* Header halaman lebih rapi & terpusat */
.rbfund-zakatpage .rbfund-listhead,
.rbfund-myfrpage .rbfund-listhead {
	text-align: center; max-width: 640px; margin: 0 auto; padding: 28px 16px 20px;
}
.rbfund-zakatpage .rbfund-listhead-title,
.rbfund-myfrpage .rbfund-listhead-title {
	font-family: 'Plus Jakarta Sans', -apple-system, sans-serif;
	font-size: clamp(22px, 4vw, 30px); font-weight: 800; color: var(--rbfund-text, #0f2417);
	margin: 0 0 8px; line-height: 1.2;
}
.rbfund-zakatpage .rbfund-listhead-sub,
.rbfund-myfrpage .rbfund-listhead-sub {
	font-size: 14.5px; color: #64748b; line-height: 1.6; margin: 0;
}
/* Kartu isi lebih lembut & konsisten */
.rbfund-zakatpage-box {
	box-shadow: 0 4px 24px rgba(16,40,30,.07); border: 1px solid #eef2f6;
}
.rbfund-myfrpage-box {
	background: #fff; border: 1px solid #eef2f6; border-radius: 16px;
	box-shadow: 0 4px 24px rgba(16,40,30,.07); padding: 22px;
}
@media (max-width: 640px) {
	.rbfund-myfrpage-box { padding: 16px; border-radius: 12px; }
	.rbfund-zakatpage .rbfund-listhead,
	.rbfund-myfrpage .rbfund-listhead { padding: 20px 14px 14px; }
}
/* Rapikan tab kalkulator zakat */
.rbfund-zakatpage-box .rbfund-tabs { margin-bottom: 16px; }

/* ===== Header: kolom pencarian ===== */
.rbfund-hp-search { display:flex; align-items:center; background:#f1f5f9; border:1px solid var(--rbhp-line,#e8edf1); border-radius:999px; overflow:hidden; height:38px; }
.rbfund-hp-search input[type="search"] { border:none; background:transparent; padding:0 12px; font-size:13.5px; outline:none; width:150px; color:#334155; }
.rbfund-hp-search input[type="search"]::-webkit-search-cancel-button { -webkit-appearance:none; }
.rbfund-hp-search button { border:none; background:transparent; cursor:pointer; width:38px; height:38px; display:flex; align-items:center; justify-content:center; color:#64748b; }
.rbfund-hp-search button:hover { color:var(--rbhp-primary,#16a34a); }
.rbfund-hp-search:focus-within { border-color:var(--rbhp-primary,#16a34a); }
/* Desktop: search sebelum tombol donasi */
.rbfund-hp-header .rbfund-hp-search { margin-left:8px; }
.rbfund-hp-search--mobile { display:none; }
/* Di HP: search desktop sembunyi, versi mobilenav tampil */
@media (max-width: 860px) {
	.rbfund-hp-header-inner .rbfund-hp-search:not(.rbfund-hp-search--mobile) { display:none; }
	.rbfund-hp-search--mobile { display:flex; width:100%; margin-bottom:8px; }
	.rbfund-hp-search--mobile input[type="search"] { width:100%; }
}

/* Social block: ikon SVG (Threads dll) — samakan dengan dashicons */
.rbfund-hp-social-svg { display:inline-flex; align-items:center; justify-content:center; color:var(--sc,#16a34a); }
.rbfund-hp-social-svg svg { width:20px; height:20px; display:block; }
.rbfund-hp-social-btn:hover .rbfund-hp-social-svg { color:#fff; }

/* ===== Form donasi: catatan email elegan ===== */
.rbfund-email-hint {
	display: flex; align-items: flex-start; gap: 7px;
	margin: 7px 2px 0; font-size: 12.5px; line-height: 1.55; color: #64748b;
	transition: color .2s;
}
.rbfund-email-hint .dashicons { font-size: 15px; width: 15px; height: 15px; color: var(--rbfund-primary, #16a34a); flex: 0 0 auto; margin-top: 1px; }
/* Saat email wajib tapi kosong & disorot (via JS) */
.rbfund-field--email.is-highlight input[type="email"] { border-color: #f59e0b; box-shadow: 0 0 0 3px rgba(245,158,11,.15); }
.rbfund-field--email.is-highlight .rbfund-email-hint { color: #b45309; font-weight: 500; }
.rbfund-field--email.is-highlight .rbfund-email-hint .dashicons { color: #f59e0b; }
@keyframes rbfund-email-nudge { 0%,100%{transform:translateX(0)} 25%{transform:translateX(-3px)} 75%{transform:translateX(3px)} }
.rbfund-field--email.is-nudge input[type="email"] { animation: rbfund-email-nudge .3s ease; }

/* ===== Fundraiser: reveal form saat dibuka ===== */
.rbfund-fr-collapse { animation: rbfund-fr-reveal .3s ease; }
@keyframes rbfund-fr-reveal { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: translateY(0); } }
/* Petunjuk arah panah pada tombol saat terbuka */
.rbfund-frcta-btn.is-open { opacity: .9; }
.rbfund-frcta-btn.is-open::after { content: " ▲"; font-size: .75em; }
.rbfund-frcta-btn:not(.is-open)::after { content: " ▼"; font-size: .75em; opacity: .6; }

/* ===== Doa Wall: ikon orang di avatar (ganti inisial) ===== */
.rbfund-doawall-ava .dashicons,
.rbfund-doa-avatar .dashicons {
	font-size: 22px; width: 22px; height: 22px; line-height: 1;
	display: flex; align-items: center; justify-content: center;
}
.rbfund-doawall-ava, .rbfund-doa-avatar { display: flex; align-items: center; justify-content: center; }

/* ===== Invoice: upload bukti transfer ===== */
.rbfund-inv-proof { margin: 14px 0; padding: 16px; border: 1px dashed #cbd5e1; border-radius: 12px; background: #f8fafc; }
.rbfund-inv-proof-label { display: block; font-weight: 700; font-size: 14px; color: #1e293b; margin-bottom: 10px; }
.rbfund-inv-proof-drop { position: relative; border: 1px solid #e2e8f0; border-radius: 10px; background: #fff; padding: 14px; text-align: center; cursor: pointer; margin-bottom: 10px; }
.rbfund-inv-proof-drop input[type="file"] { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%; }
.rbfund-inv-proof-hint { color: #64748b; font-size: 13px; display: inline-flex; align-items: center; gap: 6px; }
.rbfund-inv-proof-hint .dashicons { color: var(--rbfund-primary, #16a34a); }
.rbfund-inv-proof-btn { width: 100%; background: var(--rbfund-primary, #16a34a); color: #fff; border: 0; padding: 12px; border-radius: 10px; font-weight: 700; cursor: pointer; font-size: 14px; }
.rbfund-inv-proof-btn:disabled { opacity: .6; cursor: default; }
.rbfund-inv-proof-msg { margin-top: 10px; font-size: 13px; padding: 8px 12px; border-radius: 8px; }
.rbfund-inv-proof-msg.is-error { background: #fef2f2; color: #b91c1c; }
.rbfund-inv-proof-msg.is-ok { background: #f0fdf4; color: #15803d; }
.rbfund-inv-proof-done { display: flex; align-items: center; gap: 8px; color: #15803d; font-weight: 600; font-size: 14px; background: #f0fdf4; padding: 12px 14px; border-radius: 10px; }

/* ===== Balasan Doa AI ===== */
.rbfund-doawall-reply {
	margin-top: 10px; padding: 10px 12px; border-radius: 10px;
	background: #f0faf4; border: 1px solid #d7f0e1;
	display: flex; flex-direction: column; gap: 4px;
}
.rbfund-doawall-reply-badge {
	display: inline-flex; align-items: center; gap: 5px;
	font-size: 11px; font-weight: 700; color: var(--rbfund-primary, #16a34a);
}
.rbfund-doawall-reply-badge .dashicons { font-size: 13px; width: 13px; height: 13px; }
.rbfund-doawall-reply-text { font-size: 12.5px; color: #3a5c49; line-height: 1.5; font-style: italic; }

/* ===================================================================
   Chatbot Donatur AI
   =================================================================== */
.rbfund-chat--float { position: fixed; bottom: 20px; z-index: 9990; }
.rbfund-chat--float.rbfund-chat--right { right: 20px; }
.rbfund-chat--float.rbfund-chat--left { left: 20px; }
.rbfund-chat-toggle {
	width: 56px; height: 56px; border-radius: 50%; border: none; cursor: pointer;
	background: var(--rbfund-primary, #16a34a); color: #fff;
	box-shadow: 0 8px 24px rgba(16,40,30,.28); display: flex; align-items: center; justify-content: center;
	position: relative; transition: transform .15s;
}
.rbfund-chat-toggle:hover { transform: scale(1.06); }
.rbfund-chat-toggle .dashicons { font-size: 26px; width: 26px; height: 26px; }
.rbfund-chat-toggle-close { display: none; }
.rbfund-chat.is-open .rbfund-chat-toggle-ic { display: none; }
.rbfund-chat.is-open .rbfund-chat-toggle-close { display: inline-flex; }

.rbfund-chat-box {
	width: 360px; max-width: calc(100vw - 40px); height: 500px; max-height: calc(100vh - 120px);
	background: #fff; border-radius: 18px; overflow: hidden; display: flex; flex-direction: column;
	box-shadow: 0 20px 60px rgba(16,40,30,.28); border: 1px solid #e6ebf1;
}
.rbfund-chat-box[hidden] { display: none !important; }
.rbfund-chat--float .rbfund-chat-box { position: absolute; bottom: 68px; animation: rbfund-chat-pop .18s ease; transform-origin: bottom right; }
@keyframes rbfund-chat-pop { from { opacity: 0; transform: translateY(10px) scale(.96); } to { opacity: 1; transform: translateY(0) scale(1); } }
/* Link dalam balasan bot */
.rbfund-chat-msg--bot .rbfund-chat-bubble a { color: var(--rbfund-primary, #16a34a); font-weight: 600; text-decoration: underline; word-break: break-all; }
.rbfund-chat-msg--bot .rbfund-chat-bubble a:hover { opacity: .85; }
.rbfund-chat--float.rbfund-chat--right .rbfund-chat-box { right: 0; }
.rbfund-chat--float.rbfund-chat--left .rbfund-chat-box { left: 0; }
.rbfund-chat--inline .rbfund-chat-box { height: 480px; max-width: 480px; margin: 0 auto; }

.rbfund-chat-head { display: flex; align-items: center; gap: 10px; padding: 14px 16px; background: linear-gradient(135deg, var(--rbfund-primary, #16a34a), var(--rbfund-primary-dark, #0f2e1d)); color: #fff; }
.rbfund-chat-head-ava { width: 38px; height: 38px; border-radius: 50%; background: rgba(255,255,255,.2); display: flex; align-items: center; justify-content: center; }
.rbfund-chat-head-ava .dashicons { font-size: 22px; width: 22px; height: 22px; }
.rbfund-chat-head-info { display: flex; flex-direction: column; line-height: 1.2; }
.rbfund-chat-head-name { font-weight: 700; font-size: 15px; }
.rbfund-chat-head-org { font-size: 11.5px; opacity: .85; }

.rbfund-chat-body { flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 10px; background: #f6f8fa; }
.rbfund-chat-msg { display: flex; max-width: 85%; }
.rbfund-chat-msg--bot { align-self: flex-start; }
.rbfund-chat-msg--user { align-self: flex-end; }
.rbfund-chat-bubble { padding: 10px 13px; border-radius: 14px; font-size: 13.5px; line-height: 1.55; white-space: pre-wrap; word-break: break-word; }
.rbfund-chat-msg--bot .rbfund-chat-bubble { background: #fff; color: #334155; border: 1px solid #eef2f6; border-bottom-left-radius: 4px; }
.rbfund-chat-msg--user .rbfund-chat-bubble { background: var(--rbfund-primary, #16a34a); color: #fff; border-bottom-right-radius: 4px; }
.rbfund-chat-typing .rbfund-chat-bubble { display: inline-flex; gap: 4px; }
.rbfund-chat-typing span { width: 7px; height: 7px; border-radius: 50%; background: #cbd5e1; animation: rbfund-chat-blink 1.2s infinite; }
.rbfund-chat-typing span:nth-child(2) { animation-delay: .2s; }
.rbfund-chat-typing span:nth-child(3) { animation-delay: .4s; }
@keyframes rbfund-chat-blink { 0%,60%,100%{opacity:.3} 30%{opacity:1} }

.rbfund-chat-quick { display: flex; gap: 6px; flex-wrap: wrap; padding: 8px 12px 0; }
.rbfund-chat-q { border: 1px solid var(--rbfund-primary, #16a34a); color: var(--rbfund-primary, #16a34a); background: #fff; border-radius: 999px; padding: 5px 12px; font-size: 12px; cursor: pointer; }
.rbfund-chat-q:hover { background: var(--rbfund-primary, #16a34a); color: #fff; }

.rbfund-chat-input { display: flex; gap: 8px; padding: 12px; border-top: 1px solid #eef2f6; background: #fff; }
.rbfund-chat-field { flex: 1; border: 1px solid #d5dce4; border-radius: 999px; padding: 10px 14px; font-size: 13.5px; outline: none; }
.rbfund-chat-field:focus { border-color: var(--rbfund-primary, #16a34a); }
.rbfund-chat-send { width: 40px; height: 40px; border-radius: 50%; border: none; background: var(--rbfund-primary, #16a34a); color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.rbfund-chat-send .dashicons { font-size: 20px; width: 20px; height: 20px; }
.rbfund-chat-foot { text-align: center; font-size: 10.5px; color: #94a3b8; padding: 0 12px 10px; background: #fff; }

@media (max-width: 480px) {
	/* Panel chat menempel ke viewport (bukan ke bubble) & pakai dynamic viewport
	   height (dvh) agar menyusut saat keyboard muncul — input tetap terlihat. */
	.rbfund-chat--float .rbfund-chat-box {
		position: fixed;
		left: 8px;
		right: 8px;
		bottom: 8px;
		top: auto;
		width: auto;
		max-width: none;
		height: 80dvh;
		max-height: 80dvh;
		border-radius: 16px;
	}
	.rbfund-chat--float.rbfund-chat--right .rbfund-chat-box,
	.rbfund-chat--float.rbfund-chat--left .rbfund-chat-box { left: 8px; right: 8px; }
	/* Saat terbuka, sembunyikan tombol bubble agar tidak menutupi input. */
	.rbfund-chat.is-open .rbfund-chat-toggle { opacity: 0; pointer-events: none; }
	.rbfund-chat--float { bottom: 14px; }
	.rbfund-chat--float.rbfund-chat--right { right: 14px; }
	.rbfund-chat--float.rbfund-chat--left { left: 14px; }
	/* Body chat bisa di-scroll, input & header tetap. */
	.rbfund-chat-body { -webkit-overflow-scrolling: touch; }
	/* Cegah zoom iOS saat fokus input (font >=16px). */
	.rbfund-chat-field { font-size: 16px; }
}

/* Tombol tutup di header (khusus mobile) untuk menutup chat dengan mudah. */
.rbfund-chat-head-close { display: none; }
@media (max-width: 480px) {
	.rbfund-chat-head { position: relative; }
	.rbfund-chat-head-close {
		display: inline-flex; align-items: center; justify-content: center;
		position: absolute; top: 10px; right: 12px;
		width: 30px; height: 30px; border-radius: 50%;
		background: rgba(255,255,255,.2); color: #fff; border: none; cursor: pointer;
	}
	.rbfund-chat-head-close .dashicons { font-size: 18px; width: 18px; height: 18px; }
}

/* ===== Login Donatur & Akun ===== */
.rbfund-auth-box { max-width: 420px; margin: 0 auto; background: #fff; border: 1px solid #e6ebf1; border-radius: 16px; padding: 26px; box-shadow: 0 4px 20px rgba(16,40,30,.06); text-align: center; }
.rbfund-auth-title { font-size: 17px; margin: 0 0 4px; color: #0f2417; }
.rbfund-auth-sub { font-size: 13px; color: #64748b; margin: 0 0 18px; }
.rbfund-auth-msg { background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412; padding: 9px 12px; border-radius: 10px; font-size: 13px; margin-bottom: 14px; }
.rbfund-auth-google { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; padding: 12px; border: 1px solid #dadce0; border-radius: 10px; background: #fff; color: #3c4043; font-weight: 600; font-size: 14px; text-decoration: none; transition: background .15s, box-shadow .15s; }
.rbfund-auth-google:hover { background: #f8faff; box-shadow: 0 1px 4px rgba(60,64,67,.15); }
.rbfund-g-ic { display: inline-flex; }
.rbfund-auth-or { display: flex; align-items: center; gap: 10px; color: #94a3b8; font-size: 12px; margin: 16px 0; }
.rbfund-auth-or::before, .rbfund-auth-or::after { content: ""; flex: 1; height: 1px; background: #e6ebf1; }
.rbfund-magic { display: flex; flex-direction: column; gap: 8px; }
.rbfund-magic-email { width: 100%; padding: 11px 13px; border: 1px solid #d5dce4; border-radius: 10px; font-size: 14px; }
.rbfund-magic-email:focus { outline: none; border-color: #16a34a; box-shadow: 0 0 0 3px rgba(22,163,74,.12); }
.rbfund-auth-btn { display: inline-block; padding: 11px 18px; border: none; border-radius: 10px; background: linear-gradient(180deg,#16a34a,#0c5e40); color: #fff; font-weight: 600; font-size: 14px; cursor: pointer; text-decoration: none; text-align: center; }
.rbfund-auth-btn:hover { filter: brightness(1.05); }
.rbfund-auth-btn.ghost { background: #fff; color: #0c5e40; border: 1px solid #cbd5e1; }
.rbfund-magic-note { font-size: 12.5px; margin-top: 4px; padding: 8px 10px; border-radius: 8px; }
.rbfund-magic-note.ok { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.rbfund-magic-note.err { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.rbfund-auth-logout { color: #64748b; font-size: 13px; text-decoration: underline; }
.rbfund-auth-in p { font-size: 14px; color: #334155; margin: 0 0 12px; }

.rbfund-account { max-width: 760px; margin: 0 auto; }
.rbfund-acc-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.rbfund-acc-hi { font-size: 20px; margin: 0 0 2px; color: #0f2417; }
.rbfund-acc-email { font-size: 13px; color: #64748b; margin: 0; }
.rbfund-acc-headmain { min-width: 0; }
.rbfund-acc-seg { display: inline-flex; align-items: center; gap: 5px; margin-top: 8px; padding: 3px 11px 3px 8px; border-radius: 999px; font-size: 11.5px; font-weight: 700; background: #e8f5ee; color: #0c5e40; text-transform: capitalize; }
.rbfund-acc-seg .dashicons { width: 14px; height: 14px; font-size: 14px; }
.rbfund-acc-seg.is-vip { background: #fef3c7; color: #92400e; }
.rbfund-acc-seg.is-loyal { background: #dbeafe; color: #1e40af; }

.rbfund-acc-alert { display: flex; align-items: flex-start; gap: 9px; background: #fffbeb; border: 1px solid #fde68a; color: #854d0e; padding: 12px 14px; border-radius: 12px; font-size: 13px; line-height: 1.55; margin-bottom: 18px; }
.rbfund-acc-alert .dashicons { flex: 0 0 auto; width: 17px; height: 17px; font-size: 17px; margin-top: 1px; }

.rbfund-acc-kpis { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-bottom: 20px; }
.rbfund-acc-kpi { background: #fff; border: 1px solid #e6ebf1; border-radius: 14px; padding: 15px; display: flex; flex-direction: column; gap: 3px; }
.rbfund-acc-kpi .k-ic { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 9px; background: #e8f5ee; color: #0c5e40; margin-bottom: 6px; }
.rbfund-acc-kpi .k-ic .dashicons { width: 17px; height: 17px; font-size: 17px; }
.rbfund-acc-kpi .k-lbl { font-size: 10.5px; text-transform: uppercase; letter-spacing: .04em; color: #6b7f70; font-weight: 600; }
.rbfund-acc-kpi .k-val { font-size: 18.5px; font-weight: 800; color: #0c5e40; line-height: 1.25; word-break: break-word; }

/* ---- Chart dasbor donatur (SVG inline, tanpa library) ---- */
.rbfund-acc-charts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 14px; }
.rbfund-accc { background: #fff; border: 1px solid #e6ebf1; border-radius: 14px; padding: 16px; min-width: 0; }
.rbfund-accc-title { font-size: 12.5px; font-weight: 700; color: #0f2417; margin: 0 0 12px; }
.rbfund-accc-svg { width: 100%; height: 132px; display: block; overflow: visible; }
.rbfund-accc-axis { stroke: #e6ebf1; stroke-width: .6; vector-effect: non-scaling-stroke; }
.rbfund-accc-bar.is-on { fill: var(--rbfund-primary, #16a34a); }
.rbfund-accc-bar.is-off { fill: #eef2f6; }
.rbfund-accc-xlbl { font-size: 8px; fill: #94a3b8; font-weight: 600; }
.rbfund-accc-note { font-size: 11px; color: #64748b; margin: 8px 0 0; }
.rbfund-accc-bars { list-style: none; margin: 0; padding: 0; }
.rbfund-accc-bars li { margin-bottom: 11px; position: relative; }
.rbfund-accc-bars li:last-child { margin-bottom: 0; }
.rbfund-accc-row { display: flex; justify-content: space-between; gap: 10px; font-size: 12px; margin-bottom: 4px; }
.rbfund-accc-name { color: #334155; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rbfund-accc-val { color: #0c5e40; font-weight: 700; flex: 0 0 auto; }
.rbfund-accc-track { height: 7px; background: #f1f5f9; border-radius: 999px; overflow: hidden; }
.rbfund-accc-fill { display: block; height: 100%; background: var(--rbfund-primary, #16a34a); border-radius: 999px; }
.rbfund-accc-pct { font-size: 10.5px; color: #94a3b8; margin-top: 2px; display: inline-block; }
.rbfund-acc-last { font-size: 12.5px; color: #64748b; display: flex; align-items: center; gap: 6px; margin: 0 0 22px; }
.rbfund-acc-last .dashicons { width: 15px; height: 15px; font-size: 15px; }
.rbfund-acc-invlink { color: #0c5e40; font-weight: 600; text-decoration: none; }
.rbfund-acc-invlink:hover { text-decoration: underline; }
.rbfund-acc-invlink.is-pay { display: inline-block; background: var(--rbfund-btn, #16a34a); color: #fff; padding: 4px 11px; border-radius: 999px; font-size: 12px; }
.rbfund-acc-invlink.is-pay:hover { text-decoration: none; opacity: .92; }
.rbfund-acc-table td.is-num { font-variant-numeric: tabular-nums; font-weight: 600; }
.rbfund-acc-sub { font-size: 15px; color: #0f2417; margin: 0 0 12px; }
.rbfund-acc-empty { color: #64748b; font-size: 14px; background: #f8fafc; border: 1px dashed #cbd5e1; padding: 20px; border-radius: 12px; text-align: center; }
.rbfund-acc-tablewrap { overflow-x: auto; border: 1px solid #e6ebf1; border-radius: 14px; }
.rbfund-acc-table { width: 100%; border-collapse: collapse; font-size: 13.5px; background: #fff; }
.rbfund-acc-table th, .rbfund-acc-table td { padding: 11px 14px; text-align: left; border-bottom: 1px solid #eef2f6; white-space: nowrap; }
.rbfund-acc-table thead th { background: #f1f5f9; font-weight: 700; color: #0f2417; }
.rbfund-acc-table tbody tr:last-child td { border-bottom: none; }
.rbfund-acc-badge { font-size: 11.5px; font-weight: 700; padding: 3px 9px; border-radius: 999px; }
.rbfund-acc-badge.is-paid { background: #dcfce7; color: #166534; }
.rbfund-acc-badge.is-pending { background: #fef9c3; color: #854d0e; }
.rbfund-acc-badge.is-expired, .rbfund-acc-badge.is-failed, .rbfund-acc-badge.is-canceled { background: #fee2e2; color: #991b1b; }
@media (max-width: 900px) { .rbfund-acc-charts { grid-template-columns: 1fr; } }
@media (max-width: 560px) {
	.rbfund-acc-kpis { grid-template-columns: repeat(2,1fr); gap: 9px; }
	.rbfund-acc-kpi { padding: 12px; }
	.rbfund-acc-kpi .k-val { font-size: 16px; }
	.rbfund-acc-kpi .k-ic { width: 26px; height: 26px; margin-bottom: 4px; }
	/* Tabel riwayat jadi kartu bertumpuk agar tidak perlu digeser ke samping. */
	.rbfund-acc-tablewrap { border: none; }
	.rbfund-acc-table thead { display: none; }
	.rbfund-acc-table, .rbfund-acc-table tbody, .rbfund-acc-table tr, .rbfund-acc-table td { display: block; width: 100%; box-sizing: border-box; }
	.rbfund-acc-table tr { border: 1px solid #e6ebf1; border-radius: 12px; margin-bottom: 10px; background: #fff; overflow: hidden; }
	/* Grid (bukan flex) supaya kolom nilai boleh menyusut & teks panjang membungkus. */
	.rbfund-acc-table td { display: grid; grid-template-columns: max-content minmax(0,1fr); align-items: center; gap: 12px; white-space: normal; text-align: right; padding: 9px 13px; overflow-wrap: anywhere; }
	.rbfund-acc-table td:before { content: attr(data-l); color: #64748b; font-size: 11.5px; font-weight: 600; text-align: left; }
	/* Badge & tombol menempel kanan, tidak melar selebar kolom. */
	.rbfund-acc-table td > * { justify-self: end; }
	.rbfund-acc-table tbody tr:last-child td:last-child { border-bottom: none; }
}

/* ===== Login opsional di form donasi ===== */
.rbfund-dp-loginprompt { margin: 4px 0 14px; }
.rbfund-dp-login-toggle { display: flex; align-items: center; gap: 8px; width: 100%; text-align: left; background: #f6faf7; border: 1px dashed #a7d3ba; color: #0c5e40; padding: 11px 14px; border-radius: 10px; font-size: 13px; font-weight: 600; cursor: pointer; transition: background .15s; }
.rbfund-dp-login-toggle:hover { background: #ecfdf3; }
.rbfund-dp-login-toggle .dashicons { flex: 0 0 auto; }
.rbfund-dp-loginpanel { margin-top: 12px; }
.rbfund-dp-loginpanel .rbfund-auth-box { margin: 0; max-width: none; }
.rbfund-dp-loggedin { display: flex; align-items: center; gap: 9px; background: #ecfdf3; border: 1px solid #a7f3d0; color: #065f46; padding: 11px 14px; border-radius: 10px; font-size: 13px; margin: 4px 0 14px; }
.rbfund-dp-loggedin .dashicons { color: #16a34a; flex: 0 0 auto; }

/* Panel login tampil langsung di form donasi (tanpa toggle). */
.rbfund-dp-loginwrap { margin: 4px 0 20px; }
.rbfund-dp-loginwrap .rbfund-auth-box { margin: 0; max-width: none; padding: 20px 18px; border-radius: 14px; box-shadow: none; }
.rbfund-dp-loginwrap .rbfund-auth-title { font-size: 15.5px; font-weight: 700; }
.rbfund-dp-loginwrap .rbfund-auth-sub { margin-bottom: 14px; }

/* ===== Data donatur: judul bagian & field berlabel ===== */
.rbfund-dp-datahead { margin: 22px 0 14px; padding-top: 18px; border-top: 1px solid #eef2f6; }
.rbfund-dp-datatitle { margin: 0 0 4px; font-size: 15.5px; font-weight: 700; color: #0f2417; }
.rbfund-dp-datasub { margin: 0; font-size: 12.5px; color: #64748b; line-height: 1.55; }
.rbfund-req { color: #dc2626; font-weight: 700; }
.rbfund-opt { color: #94a3b8; font-weight: 500; font-size: .86em; }

.rbfund-inputicon { position: relative; display: block; }
.rbfund-inputicon > .dashicons {
	position: absolute;
	left: 12px;
	top: 50%;
	transform: translateY(-50%);
	color: #94a3b8;
	font-size: 19px;
	width: 19px;
	height: 19px;
	line-height: 19px;
	pointer-events: none;
	transition: color .15s;
}
.rbfund-field .rbfund-inputicon input { padding-left: 40px; }
.rbfund-inputicon:focus-within > .dashicons { color: var(--rbfund-primary); }
.rbfund-field--name .rbfund-inputicon input { font-size: 1.02rem; font-weight: 500; }

/* ===== Ajakan program lain di dashboard donatur ===== */
.rbfund-acc-suggest { margin-top: 36px; padding-top: 28px; border-top: 1px solid #eef2f6; }
.rbfund-acc-suggest-lead { font-size: 13.5px; color: #64748b; margin: 0 0 18px; max-width: 46em; line-height: 1.6; }
.rbfund-acc-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.rbfund-acc-card { display: flex; flex-direction: column; background: #fff; border: 1px solid #e6ebf1; border-radius: 14px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .2s, box-shadow .2s; }
.rbfund-acc-card:hover { transform: translateY(-3px); box-shadow: 0 10px 26px rgba(16,40,30,.1); }
.rbfund-acc-card-img { aspect-ratio: 16/9; background-size: cover; background-position: center; background-color: #e8f5ee; }
.rbfund-acc-card-body { padding: 14px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.rbfund-acc-card-title { font-size: 14px; font-weight: 700; margin: 0; color: #0f2417; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.rbfund-acc-card-track { height: 6px; background: #eef2ee; border-radius: 999px; overflow: hidden; }
.rbfund-acc-card-track span { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg,#16a34a,#c8912f); }
.rbfund-acc-card-meta { display: flex; justify-content: space-between; align-items: center; font-size: 12px; color: #3d5645; font-weight: 600; }
.rbfund-acc-card-pct { color: #12855a; }
.rbfund-acc-card-cta { font-size: 12.5px; font-weight: 700; color: #0c5e40; margin-top: auto; }
.rbfund-acc-suggest-foot { text-align: center; font-size: 13px; color: #64748b; margin: 22px 0 0; font-style: italic; }
@media (max-width: 720px) { .rbfund-acc-cards { grid-template-columns: 1fr; } }

/* ===== Link akun donatur di appbar & ajakan di halaman sukses ===== */
.rbfund-appbar-donatur { font-weight: 600; }
.rbfund-succ-account { display: flex; align-items: center; gap: 14px; background: #f6faf7; border: 1px solid #cdebd9; border-radius: 14px; padding: 16px 18px; margin: 18px auto 0; max-width: 460px; text-align: left; }
.rbfund-succ-account .dashicons { font-size: 26px; width: 26px; height: 26px; color: #16a34a; flex: 0 0 auto; }
.rbfund-succ-account strong { display: block; font-size: 14px; color: #0f2417; margin-bottom: 2px; }
.rbfund-succ-account p { font-size: 12.5px; color: #64748b; margin: 0; line-height: 1.5; }
.rbfund-succ-account-btn { flex: 0 0 auto; margin-left: auto; background: linear-gradient(180deg,#16a34a,#0c5e40); color: #fff; font-weight: 600; font-size: 13px; padding: 9px 15px; border-radius: 10px; text-decoration: none; white-space: nowrap; }
.rbfund-succ-account-btn:hover { filter: brightness(1.05); }
@media (max-width: 520px) { .rbfund-succ-account { flex-direction: column; text-align: center; } .rbfund-succ-account-btn { margin-left: 0; } }

/* ==========================================================================
   Dasbor donatur ([rbfund_account]) — gaya kartu ala aplikasi.
   Prefix rbfund-dash-* sengaja dipisah dari rbfund-acc-* milik halaman
   profil /akun/, agar keduanya tidak saling menimpa.
   ========================================================================== */
.rbfund-account { max-width: 640px; margin: 0 auto; }

/* Sapaan */
.rbfund-dash-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.rbfund-dash-who { display: flex; align-items: center; gap: 11px; min-width: 0; }
.rbfund-dash-avatar {
	width: 42px; height: 42px; flex: 0 0 auto; border-radius: 50%;
	background: var(--rbfund-primary); color: #fff;
	display: flex; align-items: center; justify-content: center;
	font-size: 17px; font-weight: 800;
}
.rbfund-dash-whotxt { display: flex; flex-direction: column; min-width: 0; }
.rbfund-dash-salam { font-size: 11.5px; color: #64748b; }
.rbfund-dash-nama { font-size: 15px; color: #0f2417; line-height: 1.25; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rbfund-dash-out { flex: 0 0 auto; font-size: 12.5px; font-weight: 600; color: #64748b; text-decoration: none; padding: 6px 12px; border: 1px solid #e2e8f0; border-radius: 999px; }
.rbfund-dash-out:hover { color: #b91c1c; border-color: #fecaca; }

/* Kartu utama */
.rbfund-dash-hero {
	position: relative; overflow: hidden; border-radius: 20px; padding: 20px;
	background: linear-gradient(135deg, var(--rbfund-primary), var(--rbfund-primary-dark, #0f7a3d));
	color: #fff; margin-bottom: 16px;
	box-shadow: 0 10px 26px rgba(16, 122, 61, .22);
}
.rbfund-dash-hero-deco { position: absolute; right: -30px; top: -30px; width: 130px; height: 130px; border-radius: 50%; background: rgba(255,255,255,.10); }
.rbfund-dash-hero-in { position: relative; z-index: 1; }
.rbfund-dash-hero-lbl { display: block; font-size: 11.5px; opacity: .88; margin-bottom: 4px; }
.rbfund-dash-hero-val { display: block; font-size: 28px; font-weight: 800; letter-spacing: -.5px; line-height: 1.15; }
.rbfund-dash-hero-foot { display: flex; justify-content: space-between; gap: 12px; margin-top: 16px; padding-top: 13px; border-top: 1px solid rgba(255,255,255,.22); }
.rbfund-dash-hero-foot .is-right { text-align: right; }
.rbfund-dash-hero-k { display: block; font-size: 9.5px; letter-spacing: .8px; text-transform: uppercase; opacity: .8; }
.rbfund-dash-hero-v { display: block; font-size: 13.5px; font-weight: 700; margin-top: 2px; }
.rbfund-dash-hero-v .dashicons { width: 15px; height: 15px; font-size: 15px; color: #fde68a; vertical-align: -3px; }

/* Peringatan donasi tertunda */
.rbfund-dash-alert {
	display: flex; align-items: center; gap: 11px; margin-bottom: 16px;
	padding: 13px 15px; background: #fffbeb; border: 1px solid #fde68a; border-radius: 14px;
}
.rbfund-dash-alert > .dashicons { color: #b45309; flex: 0 0 auto; }
.rbfund-dash-alert-txt { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.rbfund-dash-alert-txt strong { font-size: 13px; color: #78350f; }
.rbfund-dash-alert-txt span { font-size: 12px; color: #92400e; }
.rbfund-dash-alert-btn { flex: 0 0 auto; padding: 8px 16px; background: #b45309; color: #fff; border-radius: 8px; font-size: 12.5px; font-weight: 700; text-decoration: none; }
.rbfund-dash-alert-btn:hover { background: #92400e; color: #fff; }

/* Pintasan kategori */
.rbfund-dash-quick { display: flex; gap: 8px; margin-bottom: 16px; padding: 14px 10px; background: #fff; border: 1px solid #eef2f6; border-radius: 18px; }
.rbfund-dash-qa { flex: 1 1 0; display: flex; flex-direction: column; align-items: center; gap: 7px; text-decoration: none; min-width: 0; }
.rbfund-dash-qa-ic { width: 46px; height: 46px; border-radius: 14px; display: flex; align-items: center; justify-content: center; }
.rbfund-dash-qa-ic .dashicons { width: 20px; height: 20px; font-size: 20px; }
.rbfund-dash-qa-ic.i0 { background: #ecfdf5; color: #059669; }
.rbfund-dash-qa-ic.i1 { background: #eff6ff; color: #2563eb; }
.rbfund-dash-qa-ic.i2 { background: #fff7ed; color: #ea580c; }
.rbfund-dash-qa-ic.i3 { background: #f5f3ff; color: #7c3aed; }
.rbfund-dash-qa-lbl { font-size: 10.5px; font-weight: 600; color: #475569; text-align: center; line-height: 1.25; max-width: 100%; word-break: break-word; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.rbfund-dash-qa:hover .rbfund-dash-qa-lbl { color: var(--rbfund-primary); }

/* Kartu panel */
.rbfund-dash-panel { background: #fff; border: 1px solid #eef2f6; border-radius: 18px; padding: 16px 18px; margin-bottom: 16px; }
.rbfund-dash-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.rbfund-dash-panel-head h4 { margin: 0; font-size: 13.5px; font-weight: 700; color: #0f2417; }
.rbfund-dash-pill { font-size: 10px; font-weight: 600; color: #64748b; background: #f1f5f9; padding: 4px 10px; border-radius: 999px; }

/* Grafik area */
.rbfund-accc-area svg { width: 100%; height: 130px; display: block; overflow: visible; }
.rbfund-accc-grid { stroke: #eef2f6; stroke-width: 1; }
.rbfund-accc-fill { fill: var(--rbfund-primary); opacity: .13; }
.rbfund-accc-line { fill: none; stroke: var(--rbfund-primary); stroke-width: 2.2; stroke-linejoin: round; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.rbfund-accc-dot { fill: #fff; stroke: var(--rbfund-primary); stroke-width: 2.2; }

/* Riwayat sebagai daftar */
.rbfund-dash-list { list-style: none; margin: 0; padding: 0; }
.rbfund-dash-item { display: flex; align-items: center; gap: 11px; padding: 11px 0; border-bottom: 1px solid #f1f5f9; }
.rbfund-dash-item:last-child { border-bottom: none; }
.rbfund-dash-item[hidden] { display: none !important; }
.rbfund-dash-item-ic { width: 36px; height: 36px; flex: 0 0 auto; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #f1f5f9; color: #64748b; }
.rbfund-dash-item-ic .dashicons { width: 17px; height: 17px; font-size: 17px; }
.rbfund-dash-item.is-paid .rbfund-dash-item-ic { background: #ecfdf5; color: #059669; }
.rbfund-dash-item.is-pending .rbfund-dash-item-ic { background: #fffbeb; color: #b45309; }
.rbfund-dash-item-main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.rbfund-dash-item-main strong { font-size: 12.8px; color: #0f2417; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rbfund-dash-item-main span { font-size: 10.8px; color: #94a3b8; }
.rbfund-dash-item-end { flex: 0 0 auto; text-align: right; display: flex; flex-direction: column; align-items: flex-end; gap: 3px; }
.rbfund-dash-item-amt { font-size: 13px; font-weight: 800; color: #0f2417; }
.rbfund-dash-item.is-paid .rbfund-dash-item-amt { color: var(--rbfund-primary); }
.rbfund-dash-item-pay { font-size: 10.5px; font-weight: 700; color: #fff; background: #b45309; padding: 3px 10px; border-radius: 999px; text-decoration: none; }
.rbfund-dash-item-inv { font-size: 10.5px; color: #94a3b8; text-decoration: none; }
.rbfund-dash-item-inv:hover { color: var(--rbfund-primary); }
.rbfund-dash-showall { display: block; width: 100%; margin-top: 12px; padding: 10px; background: #f8fafc; border: none; border-radius: 12px; font-size: 12.5px; font-weight: 600; color: #64748b; cursor: pointer; }
.rbfund-dash-showall:hover { background: #f1f5f9; color: var(--rbfund-primary); }

@media (max-width: 400px) {
	.rbfund-dash-hero-val { font-size: 24px; }
	.rbfund-dash-qa-ic { width: 42px; height: 42px; }
}
.rbfund-account .rbfund-accc { border-radius: 18px; border-color: #eef2f6; }

/* Pilihan jenis donasi: sekali vs rutin (komitmen berkala). */
.rbfund-dp-mode { margin-bottom: 18px; }
.rbfund-dp-modeopts { display: flex; gap: 10px; }
.rbfund-dp-mode-opt {
	flex: 1 1 0; display: flex; flex-direction: column; gap: 2px; align-items: flex-start;
	padding: 12px 14px; background: #fff; border: 1.5px solid #e2e8f0; border-radius: 12px;
	cursor: pointer; text-align: left; min-width: 0;
}
.rbfund-dp-mode-opt:hover { border-color: #cbd5e1; }
.rbfund-dp-mode-opt.active { border-color: var(--rbfund-primary); background: var(--rbfund-primary-soft, rgba(22,163,74,.08)); }
.rbfund-dp-mode-t { font-size: 13.5px; font-weight: 700; color: #0f2417; }
.rbfund-dp-mode-opt.active .rbfund-dp-mode-t { color: var(--rbfund-primary); }
.rbfund-dp-mode-s { font-size: 11px; color: #64748b; }
.rbfund-dp-pledgebox { margin-top: 12px; padding: 14px; background: #f8fafc; border: 1px solid #eef2f6; border-radius: 12px; }
.rbfund-dp-pledgebox[hidden] { display: none !important; }
.rbfund-dp-pledgebox .rbfund-field { margin-bottom: 12px; }
.rbfund-dp-pledgebox .rbfund-field:last-of-type { margin-bottom: 8px; }
.rbfund-dp-pledgebox select { width: 100%; padding: 11px 12px; border: 1px solid #e2e8f0; border-radius: 10px; background: #fff; font-size: 14px; }

/* Donasi rutin di dasbor donatur + penanda RUTIN di CRM. */
.rbfund-dash-stop { margin-top: 2px; padding: 4px 12px; background: #fff; border: 1px solid #e2e8f0; border-radius: 999px; font-size: 10.5px; font-weight: 700; color: #64748b; cursor: pointer; }
.rbfund-dash-stop:hover { border-color: #fecaca; color: #b91c1c; }
.rbfund-dash-stop[disabled] { opacity: .5; cursor: default; }
.rbfund-dash-pledge .rbfund-dash-item-ic { background: #eff6ff; color: #2563eb; }
.rbfund-dash-stopnote { margin: 10px 0 0; font-size: 11.5px; color: #94a3b8; line-height: 1.5; }
.rbfund-dash-stopnote.is-done { color: var(--rbfund-primary); font-weight: 600; }

/* Tabungan Kurban — form donatur. */
.rbfund-qs { margin-bottom: 18px; }
.rbfund-qs-pkgs { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }
.rbfund-qs-pkg { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 13px 15px; background: #fff; border: 1.5px solid #e2e8f0; border-radius: 12px; cursor: pointer; text-align: left; }
.rbfund-qs-pkg.has-img { flex-direction: row; align-items: center; gap: 12px; padding: 10px 12px; }
.rbfund-qs-pkg-img { flex: 0 0 auto; width: 62px; height: 62px; border-radius: 10px; background-size: cover; background-position: center; background-color: #f1f5f9; }
.rbfund-qs-pkg-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rbfund-qs-pkg:hover { border-color: #cbd5e1; }
.rbfund-qs-pkg.active { border-color: var(--rbfund-primary); background: var(--rbfund-primary-soft, rgba(22,163,74,.08)); }
.rbfund-qs-pkg-t { font-size: 14px; font-weight: 700; color: #0f2417; }
.rbfund-qs-pkg-p { font-size: 13.5px; font-weight: 800; color: var(--rbfund-primary); }
.rbfund-qs-pkg-s { font-size: 11px; color: #64748b; }
.rbfund-qs-names { margin-bottom: 16px; }
.rbfund-qs-namebox { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 8px 10px; border: 1px solid #e2e8f0; border-radius: 10px; background: #fff; }
.rbfund-qs-namebox:focus-within { border-color: var(--rbfund-primary); }
.rbfund-qs-namelist { display: contents; }
.rbfund-qs-tag { display: inline-flex; align-items: center; gap: 5px; padding: 4px 6px 4px 10px; background: var(--rbfund-primary-soft, rgba(22,163,74,.1)); color: var(--rbfund-primary); border-radius: 999px; font-size: 12.5px; font-weight: 600; }
.rbfund-qs-tag-x { border: none; background: transparent; color: inherit; font-size: 15px; line-height: 1; cursor: pointer; padding: 0 2px; opacity: .65; }
.rbfund-qs-tag-x:hover { opacity: 1; }
.rbfund-qs-nameinput { flex: 1 1 140px; min-width: 120px; border: none; outline: none; padding: 6px 2px; font-size: 14px; background: transparent; }
.rbfund-qs-namecount { display: block; font-weight: 600; color: var(--rbfund-primary); }
.rbfund-qs-mode { margin-bottom: 16px; }
.rbfund-qs-progress { margin: 0 0 12px; padding: 10px 12px; background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 10px; }
.rbfund-qs-prog-txt { font-size: 12.5px; font-weight: 600; color: #1d4ed8; }
.rbfund-qs-terms { margin-top: 14px; padding: 13px 15px; background: #fffbeb; border: 1px solid #fde68a; border-radius: 12px; }
.rbfund-qs-terms strong { display: block; font-size: 12.5px; color: #78350f; margin-bottom: 5px; }
.rbfund-qs-terms p { margin: 0 0 8px; font-size: 12px; color: #92400e; line-height: 1.55; }
.rbfund-qs-dl { font-weight: 700; }
.rbfund-qs-agree { display: flex; align-items: flex-start; gap: 8px; font-size: 12px; color: #78350f; cursor: pointer; }
.rbfund-qs-agree input { margin-top: 2px; flex: 0 0 auto; }

/* Tabungan kurban di dasbor donatur. */
.rbfund-dash-qs { padding: 13px 0; border-bottom: 1px solid #f1f5f9; }
.rbfund-dash-qs:last-of-type { border-bottom: none; }
.rbfund-dash-qs-top { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; margin-bottom: 8px; }
.rbfund-dash-qs-top strong { display: block; font-size: 13px; color: #0f2417; }
.rbfund-dash-qs-top span { font-size: 11.5px; color: #64748b; }
.rbfund-dash-qs-status { flex: 0 0 auto; font-size: 10px; font-weight: 700; padding: 3px 9px; border-radius: 999px; background: #f1f5f9; color: #64748b; }
.rbfund-dash-qs-status.is-saving { background: #eff6ff; color: #1d4ed8; }
.rbfund-dash-qs-status.is-completed { background: #ecfdf5; color: #059669; }
.rbfund-dash-qs-bar { height: 7px; background: #eef2f6; border-radius: 999px; overflow: hidden; margin-bottom: 6px; }
.rbfund-dash-qs-bar span { display: block; height: 7px; background: var(--rbfund-primary); border-radius: 999px; }
.rbfund-dash-qs-num { display: flex; justify-content: space-between; gap: 8px; font-size: 11.5px; color: #475569; }
.rbfund-dash-qs-sisa { color: #b45309; font-weight: 600; }
.rbfund-dash-qs-act { display: flex; align-items: center; gap: 10px; margin-top: 9px; flex-wrap: wrap; }
.rbfund-dash-qs-dl { flex: 1 1 auto; font-size: 11px; color: #94a3b8; }
.rbfund-dash-qs-add { font-size: 11.5px; font-weight: 700; color: #fff; background: var(--rbfund-primary); padding: 5px 14px; border-radius: 999px; text-decoration: none; }
.rbfund-dash-qs-cancel { font-size: 11px; font-weight: 700; color: #64748b; background: #fff; border: 1px solid #e2e8f0; padding: 5px 12px; border-radius: 999px; cursor: pointer; }
.rbfund-dash-qs-cancel:hover { border-color: #fecaca; color: #b91c1c; }

/* Setoran lanjutan ke tabungan kurban yang sudah berjalan. */
.rbfund-qs-topbox { padding: 14px 15px; margin-bottom: 16px; background: #f8fafc; border: 1px solid #eef2f6; border-radius: 12px; }
.rbfund-qs-topbox strong { display: block; font-size: 14px; color: #0f2417; }
.rbfund-qs-topbox > span { display: block; font-size: 11.5px; color: #64748b; margin-bottom: 9px; }
.rbfund-dp-amount.is-locked { background: #f8fafc; color: #0f2417; font-weight: 700; }

/* Pilihan jadwal cicilan tabungan kurban. */
.rbfund-qs-cicilan { margin-top: 12px; padding: 13px 14px; background: #f8fafc; border: 1px solid #eef2f6; border-radius: 12px; }
.rbfund-qs-cicilan[hidden] { display: none !important; }
.rbfund-qs-cicilan .rbfund-field { margin-bottom: 10px; }
.rbfund-qs-cicilan select { width: 100%; padding: 11px 12px; border: 1px solid #e2e8f0; border-radius: 10px; background: #fff; font-size: 14px; }
.rbfund-qs-saran { margin: 4px 0 0; padding: 9px 11px; background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 9px; font-size: 12px; font-weight: 600; color: #1d4ed8; line-height: 1.5; }
.rbfund-qs-saran.is-warn { background: #fffbeb; border-color: #fde68a; color: #92400e; }
.rbfund-qs-saran[hidden] { display: none !important; }

/* Tombol cek status manual di halaman invoice. */
.rbfund-inv-check { margin: 16px 0 4px; text-align: center; }
.rbfund-inv-checknow { padding: 10px 20px; background: #fff; border: 1.5px solid var(--rbfund-primary); border-radius: 999px; color: var(--rbfund-primary); font-size: 13.5px; font-weight: 700; cursor: pointer; }
.rbfund-inv-checknow:hover { background: var(--rbfund-primary); color: #fff; }
.rbfund-inv-checknow[disabled] { opacity: .55; cursor: default; }
.rbfund-inv-checkmsg { margin: 8px 0 0; font-size: 11.5px; color: #94a3b8; line-height: 1.5; }

/* ============================================================
   BLOK HOMEPAGE BARU (app_menu, quote, faq, cta_button)
   dan NAVIGASI BAWAH gaya aplikasi.
   Ditaruh di stylesheet utama karena rbfund-public.css dimuat di
   SEMUA halaman — navigasi bawah memang harus tampil di mana pun,
   bukan hanya di homepage.
   ============================================================ */

/* ============================================================
   Menu kotak gaya aplikasi (blok app_menu)
   ============================================================ */
.rbfund-hp-appmenu .rbfund-appmenu-grid{
	display:grid;
	grid-template-columns:repeat(var(--rb-appmenu-kolom,4),minmax(0,1fr));
	gap:12px;
}
.rbfund-appmenu-item{
	display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
	gap:8px;padding:14px 6px;text-decoration:none;text-align:center;
	color:inherit;border-radius:14px;transition:transform .15s ease,box-shadow .15s ease;
}
.rbfund-appmenu-item:hover{transform:translateY(-2px)}
.rbfund-appmenu-ic{
	display:flex;align-items:center;justify-content:center;
	width:52px;height:52px;border-radius:16px;overflow:hidden;
}
.rbfund-appmenu-ic img{width:100%;height:100%;object-fit:cover}
.rbfund-appmenu-ic .dashicons{font-size:26px;width:26px;height:26px}
.rbfund-appmenu-lb{
	font-size:12.5px;font-weight:600;line-height:1.3;
	/* Label panjang dipotong dua baris agar tinggi kotak tetap rata */
	display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
/* Gaya: lembut */
.rbfund-hp-appmenu.is-soft .rbfund-appmenu-ic{background:var(--rbfund-soft,#e8f5ee);color:var(--rbfund-primary,#0b6b43)}
/* Gaya: kartu */
.rbfund-hp-appmenu.is-card .rbfund-appmenu-item{background:#fff;border:1px solid #e5e7eb;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.rbfund-hp-appmenu.is-card .rbfund-appmenu-item:hover{box-shadow:0 6px 16px rgba(0,0,0,.09)}
.rbfund-hp-appmenu.is-card .rbfund-appmenu-ic{background:var(--rbfund-soft,#e8f5ee);color:var(--rbfund-primary,#0b6b43)}
/* Gaya: bulat */
.rbfund-hp-appmenu.is-circle .rbfund-appmenu-ic{border-radius:50%;background:var(--rbfund-soft,#e8f5ee);color:var(--rbfund-primary,#0b6b43)}
@media(max-width:480px){
	.rbfund-appmenu-ic{width:46px;height:46px;border-radius:14px}
	.rbfund-appmenu-lb{font-size:11.5px}
	.rbfund-hp-appmenu .rbfund-appmenu-grid{gap:8px}
}

/* ============================================================
   Kutipan (blok quote)
   ============================================================ */
.rbfund-hp-quote .rbfund-quote-box{margin:0;padding:0;border:0}
.rbfund-hp-quote p{font-size:19px;line-height:1.7;margin:0 0 10px;font-style:italic}
.rbfund-hp-quote cite{display:block;font-size:13.5px;font-style:normal;opacity:.75;font-weight:600}
.rbfund-hp-quote.ta-center .rbfund-quote-box{text-align:center;max-width:720px;margin:0 auto}
.rbfund-hp-quote.ta-left .rbfund-quote-box{text-align:left}
.rbfund-hp-quote.is-plain.ta-left .rbfund-quote-box{border-left:4px solid var(--rbfund-primary,#0b6b43);padding-left:18px}
.rbfund-hp-quote.is-card .rbfund-quote-box{background:var(--rbfund-soft,#e8f5ee);border-radius:16px;padding:28px 26px}
.rbfund-hp-quote.is-dark .rbfund-quote-box{background:var(--rbfund-primary-dark,#0b4a2f);color:#fff;border-radius:16px;padding:30px 26px}
.rbfund-hp-quote.is-dark cite{color:#bfe6d0;opacity:1}
@media(max-width:600px){.rbfund-hp-quote p{font-size:16.5px}}

/* ============================================================
   Tanya jawab (blok faq)
   ============================================================ */
.rbfund-faq-list{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:10px}
.rbfund-faq-item{border:1px solid #e5e7eb;border-radius:12px;background:#fff;overflow:hidden}
.rbfund-faq-q{
	width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;
	padding:15px 18px;background:none;border:0;cursor:pointer;text-align:left;
	font-size:15px;font-weight:700;color:inherit;font-family:inherit;line-height:1.45;
}
.rbfund-faq-q span{
	flex:0 0 auto;width:18px;height:18px;position:relative;transition:transform .25s ease;
}
.rbfund-faq-q span::before,.rbfund-faq-q span::after{
	content:"";position:absolute;background:var(--rbfund-primary,#0b6b43);border-radius:2px;
}
.rbfund-faq-q span::before{left:0;top:8px;width:18px;height:2px}
.rbfund-faq-q span::after{left:8px;top:0;width:2px;height:18px;transition:opacity .2s ease}
.rbfund-faq-item.is-open .rbfund-faq-q span::after{opacity:0}
/* Animasi buka-tutup pakai grid-template-rows agar tingginya tidak perlu
   dihitung JavaScript dan tetap halus untuk jawaban sepanjang apa pun. */
.rbfund-faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}
.rbfund-faq-item.is-open .rbfund-faq-a{grid-template-rows:1fr}
.rbfund-faq-a>div{overflow:hidden}
.rbfund-faq-a p{margin:0 18px 15px;font-size:14px;line-height:1.65;opacity:.85}

/* ============================================================
   Tombol CTA kustom (blok cta_button)
   ============================================================ */
.rbfund-hp-ctabtn{text-align:center}
.rbfund-ctabtn-sub{max-width:640px;margin:0 auto 18px;opacity:.8;line-height:1.6}
.rbfund-ctabtn-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.rbfund-ctabtn{
	display:inline-block;padding:13px 28px;border-radius:10px;font-weight:700;
	font-size:15px;text-decoration:none;transition:transform .15s ease,opacity .15s ease;
}
.rbfund-ctabtn:hover{transform:translateY(-2px)}
.rbfund-ctabtn-1{background:var(--rbfund-primary,#0b6b43);color:#fff}
.rbfund-ctabtn-2{background:transparent;color:var(--rbfund-primary,#0b6b43);border:2px solid currentColor}
@media(max-width:480px){
	.rbfund-ctabtn-row{flex-direction:column}
	.rbfund-ctabtn{width:100%}
}

/* ============================================================
   Navigasi bawah gaya aplikasi (blok bottom_nav)
   Muncul di semua halaman, menempel di dasar layar.
   ============================================================ */
.rbfund-botnav{
	position:fixed;left:0;right:0;bottom:0;z-index:9990;
	display:flex;align-items:stretch;justify-content:space-around;
	background:#fff;border-top:1px solid #e9ecef;
	box-shadow:0 -2px 16px rgba(0,0,0,.07);
	/* Aman dari area gestur iPhone */
	padding-bottom:env(safe-area-inset-bottom,0);
}
.rbfund-botnav-item{
	flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;
	gap:4px;padding:9px 4px 8px;text-decoration:none;
	color:#8a94a6;font-size:11.5px;font-weight:600;line-height:1.2;
	transition:color .15s ease;min-width:0;
}
.rbfund-botnav-item:hover,.rbfund-botnav-item:focus{color:var(--rbfund-primary,#0b6b43)}
.rbfund-botnav-item.is-active{color:var(--rbfund-primary,#0b6b43)}
/* Wadah ikon dipisah dari ikonnya sendiri: ikon memakai CSS mask, jadi bila
   latar dipasang di elemen yang sama, latarnya ikut terpotong bentuk ikon. */
.rbfund-botnav-ic{display:grid;place-items:center;flex:0 0 auto;width:24px;height:24px}
.rbfund-botnav-ic .dashicons{width:24px;height:24px;font-size:24px}
.rbfund-botnav-lb{
	max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.rbfund-botnav.no-labels .rbfund-botnav-lb{display:none}
.rbfund-botnav.no-labels .rbfund-botnav-item{padding:14px 4px}

/* Tombol tengah yang ditonjolkan — lingkaran terangkat */
.rbfund-botnav-item.is-center{position:relative;color:var(--rbfund-primary,#0b6b43)}
.rbfund-botnav-item.is-center .rbfund-botnav-ic{
	width:56px;height:56px;border-radius:50%;
	background:var(--rbfund-primary,#0b6b43);
	/* Terangkat melewati bilah, seperti tombol utama aplikasi */
	margin-top:-30px;
	box-shadow:0 6px 18px rgba(0,0,0,.22);
	border:4px solid #fff;
}
.rbfund-botnav-item.is-center .rbfund-botnav-ic .dashicons{width:28px;height:28px;font-size:28px;color:#fff}
.rbfund-botnav-item.is-center .rbfund-botnav-lb{margin-top:-2px;font-weight:700}

/* Beri ruang di dasar halaman agar isi terakhir tidak tertutup bilah */
body.rbfund-has-botnav{padding-bottom:72px}

/* Bawaan: hanya di layar sempit. Bisa dinyalakan untuk desktop lewat sakelar. */
@media(min-width:901px){
	.rbfund-botnav:not(.show-desktop){display:none}
	body.rbfund-has-botnav{padding-bottom:0}
	.rbfund-botnav.show-desktop{max-width:520px;margin:0 auto;border-radius:18px 18px 0 0;border:1px solid #e9ecef;border-bottom:0}
}

/* ------------------------------------------------------------
   Navigasi bawah vs tombol yang juga menempel di dasar layar.
   Bila keduanya tampil di halaman yang sama, tombol CTA diangkat
   ke ATAS bilah navigasi — bukan tertimpa. Tinggi bilah ±62px
   ditambah area gestur perangkat.
   ------------------------------------------------------------ */
body.rbfund-has-botnav .rbfund-bottombar,
body.rbfund-has-botnav .rbfund-dp-submitbar{
	bottom:calc(92px + env(safe-area-inset-bottom,0px));
	/* Bayangan dikurangi agar dua bilah bertumpuk tidak terlihat berat */
	box-shadow:0 -2px 10px rgba(0,0,0,.07);
}
/* Ruang bawah halaman ditambah supaya isi terakhir tidak tertutup
   oleh DUA bilah sekaligus. */
body.rbfund-has-botnav.rbfund-has-cta{padding-bottom:168px}

@media(min-width:901px){
	/* Di desktop bilah navigasi bawaan disembunyikan, jadi tombol CTA
	   kembali ke posisi semula. */
	body.rbfund-has-botnav:not(.rbfund-botnav-desktop) .rbfund-bottombar,
	body.rbfund-has-botnav:not(.rbfund-botnav-desktop) .rbfund-dp-submitbar{
		bottom:0;
	}
	body.rbfund-has-botnav.rbfund-has-cta{padding-bottom:0}
}

/* ============================================================
   Laporan pemotongan kurban di halaman akun pekurban
   ============================================================ */
.rbfund-qs-report{
	margin-top:12px;padding:14px 16px;border-radius:12px;
	background:#f0fdf4;border:1px solid #bbf7d0;
}
.rbfund-qs-report.is-scheduled{background:#fffbeb;border-color:#fde68a}
.rbfund-qs-report-head{display:flex;align-items:center;gap:9px;margin-bottom:10px}
.rbfund-qs-report-ic{
	flex:0 0 auto;width:26px;height:26px;border-radius:50%;
	display:grid;place-items:center;font-size:14px;color:#fff;background:#16a34a;
}
.rbfund-qs-report.is-scheduled .rbfund-qs-report-ic{background:#d97706}
.rbfund-qs-report-head strong{font-size:14px;color:#14532d}
.rbfund-qs-report.is-scheduled .rbfund-qs-report-head strong{color:#78350f}
.rbfund-qs-report-list{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.rbfund-qs-report-list li{display:flex;justify-content:space-between;gap:12px;font-size:13px}
.rbfund-qs-report-list span{color:#4b5563}
.rbfund-qs-report-list b{color:#111827;text-align:right}
.rbfund-qs-report-note{
	margin:10px 0 0;padding-top:10px;border-top:1px dashed rgba(0,0,0,.12);
	font-size:13px;line-height:1.6;color:#374151;
}
/* Foto dokumentasi: ukuran seragam agar potret dan lanskap tidak
   membuat barisnya naik-turun. */
.rbfund-qs-report-fotos{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px}
.rbfund-qs-report-fotos a{display:block;line-height:0;border-radius:8px;overflow:hidden}
.rbfund-qs-report-fotos img{width:76px;height:76px;object-fit:cover;display:block}
@media(max-width:480px){
	.rbfund-qs-report-fotos img{width:64px;height:64px}
}

/* ============================================================
   Penampil foto dokumentasi kurban
   Sengaja BUKAN layar penuh: panelnya menyisakan ruang di tepi
   agar pekurban tetap merasa berada di halamannya sendiri, dan
   jelas bahwa menutup penampil akan mengembalikannya ke sana.
   ============================================================ */
.rbfund-foto-viewer{
	position:fixed;inset:0;z-index:99999;display:none;
	align-items:center;justify-content:center;padding:24px;
	background:rgba(15,23,42,.72);
	-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
}
.rbfund-foto-viewer.is-open{display:flex}
.rbfund-fv-panel{
	position:relative;background:#fff;border-radius:16px;padding:14px;
	max-width:min(560px,92vw);
	box-shadow:0 24px 60px rgba(0,0,0,.35);
}
.rbfund-fv-panel img{
	display:block;border-radius:10px;background:#f3f4f6;
	max-width:100%;max-height:60vh;width:auto;height:auto;margin:0 auto;
	object-fit:contain;
}
.rbfund-fv-close{
	position:absolute;top:-14px;right:-14px;
	width:36px;height:36px;border:0;border-radius:50%;cursor:pointer;
	background:#fff;color:#111827;font-size:22px;line-height:1;
	display:grid;place-items:center;
	box-shadow:0 4px 14px rgba(0,0,0,.28);
}
.rbfund-fv-close:hover{background:#f3f4f6}
.rbfund-fv-nav{
	display:flex;align-items:center;justify-content:center;gap:16px;
	margin-top:12px;
}
.rbfund-fv-nav button{
	width:34px;height:34px;border:1px solid #e5e7eb;border-radius:50%;
	background:#fff;cursor:pointer;font-size:19px;line-height:1;color:#374151;
}
.rbfund-fv-nav button:hover{background:#f3f4f6;border-color:#d1d5db}
.rbfund-fv-count{font-size:13px;color:#6b7280;min-width:52px;text-align:center}
@media(max-width:480px){
	.rbfund-foto-viewer{padding:16px}
	.rbfund-fv-panel{padding:10px}
	.rbfund-fv-panel img{max-height:55vh}
	.rbfund-fv-close{top:-12px;right:-12px;width:32px;height:32px}
}

/* QRISLY: nominal wajib & catatan di halaman invoice */
.rbfund-inv-qrisly-amt {
	margin-top: 10px; padding: 9px 14px; border-radius: 10px;
	background: #ecfdf5; color: #065f46; font-size: 14px;
}
.rbfund-inv-qrisly-amt strong { font-size: 18px; display: block; margin-top: 2px; }
.rbfund-inv-qrisly-note {
	margin: 10px auto 0; max-width: 340px;
	font-size: 12px; line-height: 1.6; color: #6b7280; text-align: center;
}

/* ============================================================
   Blok Blog — ukuran kartu & proporsi
   Lebar kolom gambar sebelumnya dipatok piksel tetap (240px),
   sedangkan media query mengikuti lebar LAYAR, bukan lebar wadah.
   Pada mode tampilan sempit, wadahnya kecil tetapi layarnya lebar,
   sehingga aturan penyempitannya tidak pernah aktif dan gambar
   memakan hampir separuh kartu.

   Diganti persentase dengan batas minmax: proporsinya ikut lebar
   wadah, berapa pun lebar layarnya.
   ============================================================ */
.rbfund-hp-blog--list .rbfund-hp-blog-card {
	grid-template-columns: minmax(96px, 32%) 1fr;
	align-items: stretch;
}

/* Judul & ringkasan ikut menyesuaikan lebar wadah, dengan batas
   atas-bawah supaya tetap terbaca di layar kecil maupun besar. */
.rbfund-hp-blog-title { font-size: clamp( 0.9rem, 2.2vw, 1.02rem ); }
.rbfund-hp-blog-excerpt { font-size: clamp( 12px, 1.8vw, 13.5px ); }

/* Ringkasan dibatasi beberapa baris agar tinggi kartu seragam —
   tanpa ini, satu artikel berparagraf panjang membuat kartunya
   jauh lebih tinggi daripada tetangganya. */
.rbfund-hp-blog-excerpt {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* --- Kecil (ringkas) --- */
.rbfund-hp-blog--sz-kecil .rbfund-hp-blog-body { padding: 11px 13px; }
.rbfund-hp-blog--sz-kecil .rbfund-hp-blog-title { font-size: clamp( 0.84rem, 1.9vw, 0.94rem ); margin-bottom: 5px; }
.rbfund-hp-blog--sz-kecil .rbfund-hp-blog-excerpt { font-size: 12px; -webkit-line-clamp: 2; }
.rbfund-hp-blog--sz-kecil .rbfund-hp-blog-date { font-size: 11px; margin-bottom: 4px; }
.rbfund-hp-blog--sz-kecil.rbfund-hp-blog--list .rbfund-hp-blog-card { grid-template-columns: minmax(80px, 26%) 1fr; }
.rbfund-hp-blog--sz-kecil .rbfund-hp-blog-wrap { gap: 12px; }
.rbfund-hp-blog--sz-kecil.rbfund-hp-blog--grid .rbfund-hp-blog-wrap { grid-template-columns: repeat(4, 1fr); }

/* --- Besar --- */
.rbfund-hp-blog--sz-besar .rbfund-hp-blog-body { padding: 20px 22px; }
.rbfund-hp-blog--sz-besar .rbfund-hp-blog-title { font-size: clamp( 1rem, 2.6vw, 1.22rem ); }
.rbfund-hp-blog--sz-besar .rbfund-hp-blog-excerpt { -webkit-line-clamp: 4; }
.rbfund-hp-blog--sz-besar.rbfund-hp-blog--grid .rbfund-hp-blog-wrap { grid-template-columns: repeat(2, 1fr); }

@media ( max-width: 900px ) {
	.rbfund-hp-blog--sz-kecil.rbfund-hp-blog--grid .rbfund-hp-blog-wrap { grid-template-columns: repeat(2, 1fr); }
}
@media ( max-width: 600px ) {
	.rbfund-hp-blog--sz-kecil.rbfund-hp-blog--grid .rbfund-hp-blog-wrap,
	.rbfund-hp-blog--sz-besar.rbfund-hp-blog--grid .rbfund-hp-blog-wrap { grid-template-columns: 1fr; }
}

/* ============================================================
   Blok Blog — ukuran kartu pada gaya GRID
   Pada mode tampilan "Mobile bergaya aplikasi", grid dipaksa satu
   kolom dengan !important, sehingga perbedaan jumlah kolom antar
   ukuran tidak pernah terlihat. Karena itu ukuran juga mengubah
   BENTUK kartunya — terutama tinggi gambar, yang paling menentukan
   besar-kecilnya kartu di tata letak satu kolom.
   ============================================================ */
.rbfund-hp-blog--sz-kecil.rbfund-hp-blog--grid .rbfund-hp-blog-cover { aspect-ratio: 21 / 9; }
.rbfund-hp-blog--sz-sedang.rbfund-hp-blog--grid .rbfund-hp-blog-cover { aspect-ratio: 16 / 9; }
.rbfund-hp-blog--sz-besar.rbfund-hp-blog--grid .rbfund-hp-blog-cover { aspect-ratio: 4 / 3; }

/* Ukuran Kecil tetap dua kolom di mode mobile — kartunya memang
   dirancang ringkas, jadi masih nyaman dibaca berdampingan. */
body.rbfund-viewmode-mobile .rbfund-hp-blog--sz-kecil.rbfund-hp-blog--grid .rbfund-hp-blog-wrap {
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 10px;
}
body.rbfund-viewmode-mobile .rbfund-hp-blog--sz-kecil .rbfund-hp-blog-body { padding: 9px 10px; }
body.rbfund-viewmode-mobile .rbfund-hp-blog--sz-kecil .rbfund-hp-blog-title { font-size: 12.5px; }
body.rbfund-viewmode-mobile .rbfund-hp-blog--sz-kecil .rbfund-hp-blog-excerpt { display: none; }

/* Layar benar-benar sempit: kembali satu kolom agar judul tidak
   terpotong menjadi banyak baris pendek. */
@media ( max-width: 430px ) {
	body.rbfund-viewmode-mobile .rbfund-hp-blog--sz-kecil.rbfund-hp-blog--grid .rbfund-hp-blog-wrap {
		grid-template-columns: 1fr !important;
	}
	body.rbfund-viewmode-mobile .rbfund-hp-blog--sz-kecil .rbfund-hp-blog-excerpt { display: -webkit-box; }
}

/* ============================================================
   Halaman campaign — tombol pada cover
   Judul campaign DITULIS KE DALAM gambar cover (bagian bawah,
   itulah ruang kosong yang disiapkan pada rasio 650x350).
   Tombol Share/Edit yang juga di bawah menimpanya, sehingga
   judul terpotong di tengah. Dipindah ke kanan atas — sejajar
   tombol beranda di kiri atas, dan tidak ada yang tertutup.
   ============================================================ */
.rbfund-cp-cover-actions {
	top: 14px !important;
	bottom: auto !important;
	right: 14px !important;
}

/* Latar tombol dipertegas agar tetap terbaca di atas foto terang. */
.rbfund-cp-cover-actions .rbfund-cp-btn {
	background: rgba( 255, 255, 255, .94 );
	box-shadow: 0 2px 10px rgba( 0, 0, 0, .18 );
	backdrop-filter: blur( 4px );
}

/* Layar sempit: tombol dikecilkan supaya tidak menutupi foto. */
@media ( max-width: 520px ) {
	.rbfund-cp-cover-actions { gap: 6px !important; }
	.rbfund-cp-cover-actions .rbfund-cp-btn {
		padding: 6px 11px;
		font-size: 12.5px;
	}
}

/* Bantuan konfirmasi pada pembayaran gateway (opsional) */
.rbfund-inv-gwhelp {
	margin-top: 16px; padding: 14px 16px;
	background: #fffbeb; border: 1px solid #fde68a;
	border-radius: 12px; text-align: center;
}
.rbfund-inv-gwhelp p {
	margin: 0 0 10px; font-size: 13.5px; color: #78350f; line-height: 1.6;
}
/* Nadanya dibedakan dari tombol konfirmasi utama: ini jalan keluar bila
   ada yang tidak beres, bukan langkah wajib dalam alur pembayaran. */
.rbfund-inv-confirm--alt {
	background: #fff !important;
	color: #92400e !important;
	border: 1px solid #f59e0b !important;
}

/* ============================================================
   Halaman campaign — gaya MENYATU (satu kartu mengalir)
   Bagian-bagian tetap dipisah secara markup, tetapi tampil
   sebagai satu lembar putih. Donatur membaca satu kolom tanpa
   terputus bingkai — pola yang dipakai platform donasi besar
   karena mengurangi keraguan saat menggulir menuju tombol donasi.
   ============================================================ */

/* Cover menempel ke kartu: sudut bawahnya diratakan. */
body.rbfund-cp-flat .rbfund-cp-cover {
	border-radius: 0 0 0 0;
	margin-bottom: 0;
}
@media ( min-width: 781px ) {
	body.rbfund-cp-flat .rbfund-cp-cover { border-radius: 16px 16px 0 0; }
}

/* Kolom utama jadi SATU lembar putih. */
body.rbfund-cp-flat .rbfund-cp-main {
	gap: 0;
	background: #fff;
	border-radius: 0 0 16px 16px;
	box-shadow: 0 2px 14px rgba( 20, 40, 60, .07 );
	overflow: hidden;
}

/* Kartu di dalamnya kehilangan bingkai & bayangannya sendiri,
   berubah menjadi bagian yang dipisah garis tipis. */
body.rbfund-cp-flat .rbfund-cp-main .rbfund-cp-card,
body.rbfund-cp-flat .rbfund-cp-main .rbfund-cp-organizer,
body.rbfund-cp-flat .rbfund-cp-main .rbfund-cp-donatecard {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	margin: 0 !important;
	padding: 20px !important;
	border-top: 1px solid #f1f5f9 !important;
}

/* Bagian pertama tidak perlu garis di atasnya. */
body.rbfund-cp-flat .rbfund-cp-main > *:first-child,
body.rbfund-cp-flat .rbfund-cp-main > .rbfund-cp-cover + * {
	border-top: 0 !important;
}

/* Judul & lokasi ikut masuk ke dalam lembar. */
body.rbfund-cp-flat .rbfund-cp-title {
	padding: 20px 20px 0;
	margin: 0 0 6px;
}
body.rbfund-cp-flat .rbfund-cp-loc { padding: 0 20px; margin-bottom: 4px; }

/* Tab dibuat menyatu, bukan melayang di antara kartu. */
body.rbfund-cp-flat .rbfund-cp-tabs {
	margin: 0 !important;
	padding: 0 20px !important;
	border-top: 1px solid #f1f5f9;
	background: #fff;
}

/* Video menempel penuh tanpa jarak. */
body.rbfund-cp-flat .rbfund-cp-video { margin: 0 !important; border-radius: 0 !important; }

@media ( max-width: 780px ) {
	body.rbfund-cp-flat .rbfund-cp-main { border-radius: 0; }
	body.rbfund-cp-flat .rbfund-cp-main .rbfund-cp-card,
	body.rbfund-cp-flat .rbfund-cp-main .rbfund-cp-organizer,
	body.rbfund-cp-flat .rbfund-cp-main .rbfund-cp-donatecard { padding: 16px !important; }
	body.rbfund-cp-flat .rbfund-cp-title { padding: 16px 16px 0; }
	body.rbfund-cp-flat .rbfund-cp-loc { padding: 0 16px; }
	body.rbfund-cp-flat .rbfund-cp-tabs { padding: 0 16px !important; }
}

/* ============================================================
   Daftar donatur & tombol urutan — ukuran dikecilkan
   Sebelumnya tombol urutan sebesar tombol aksi utama sehingga
   sampai turun ke baris kedua, dan nama serta nominal donatur
   hampir sebesar judul. Daftar ini bacaan sekunder: donatur
   datang untuk programnya, bukan untuk daftar nama.
   ============================================================ */
.rbfund-donorsort-btn {
	padding: 6px 12px;
	font-size: .78rem;
	border-width: 1px;
	border-radius: 8px;
}

/* Keempat tombol muat satu baris di ponsel. */
.rbfund-donorsort {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

/* Baris donatur dirapatkan & hurufnya diturunkan. */
.rbfund-donor-row { padding: 9px 0; gap: 10px; }
.rbfund-donor-ava { width: 32px; height: 32px; font-size: .8rem; }
.rbfund-donor-meta strong { font-size: .88rem; font-weight: 600; }
.rbfund-donor-meta span { font-size: .74rem; }
.rbfund-donor-amt { font-size: .88rem; }

@media ( max-width: 430px ) {
	.rbfund-donorsort-btn { padding: 5px 10px; font-size: .74rem; }
	.rbfund-donor-meta strong,
	.rbfund-donor-amt { font-size: .84rem; }
}

/* ============================================================
   Social Proof — gelembung donasi terbaru
   Dibuat kecil dan tidak menutupi tombol donasi: tujuannya
   meyakinkan, bukan menghalangi orang yang sudah siap berdonasi.
   ============================================================ */
.rbfund-sp {
	position: fixed;
	z-index: 9998;              /* di bawah tombol donasi melayang */
	display: flex; align-items: center; gap: 11px;
	max-width: 330px;
	padding: 11px 34px 11px 12px;
	background: #fff;
	border: 1px solid #e8edf1;
	border-radius: 14px;
	box-shadow: 0 8px 28px rgba( 20, 40, 60, .16 );
	font-size: 13px;
	opacity: 0;
	transform: translateY( 10px );
	transition: opacity .35s ease, transform .35s ease;
	pointer-events: auto;
}
.rbfund-sp.is-on { opacity: 1; transform: translateY( 0 ); }
.rbfund-sp--kiri-bawah { left: 16px; bottom: 16px; }
.rbfund-sp--kanan-bawah { right: 16px; bottom: 16px; }

.rbfund-sp-ava {
	flex: none; width: 34px; height: 34px; border-radius: 50%;
	background: var( --rbfund-primary, #16a34a ); color: #fff;
	display: flex; align-items: center; justify-content: center;
	font-weight: 700; font-size: 14px;
}
.rbfund-sp-body { min-width: 0; }
.rbfund-sp-line1 {
	font-weight: 700; color: #1f2937; font-size: 13px;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.rbfund-sp-line2 {
	color: #64748b; font-size: 12px; margin-top: 1px;
	display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden;
}
.rbfund-sp-time { color: #9aa5b1; font-size: 11px; margin-top: 2px; }

.rbfund-sp-close {
	position: absolute; top: 6px; right: 8px;
	border: 0; background: none; cursor: pointer;
	color: #b6c0ca; font-size: 17px; line-height: 1;
	padding: 2px 4px;
}
.rbfund-sp-close:hover { color: #64748b; }

/* Ponsel: disempitkan & dinaikkan agar tidak menutupi tombol
   donasi melayang yang menempel di bawah layar. */
@media ( max-width: 520px ) {
	.rbfund-sp {
		left: 10px; right: 10px; max-width: none;
		bottom: 78px;
	}
	.rbfund-sp--kanan-bawah { right: 10px; }
}

/* Hormati preferensi pengguna yang meminimalkan animasi. */
@media ( prefers-reduced-motion: reduce ) {
	.rbfund-sp { transition: none; transform: none; }
}

/* ============================================================
   Tombol Share & Edit pada cover — ukuran & posisi
   Sebelumnya sebesar tombol aksi biasa sehingga memakan ruang
   dan menutupi isi gambar. Diperkecil menjadi tombol sekunder:
   fungsinya membantu, bukan mengajak donasi.
   ============================================================ */
.rbfund-cp-cover-actions { gap: 7px !important; }

.rbfund-cp-cover-actions .rbfund-cp-btn,
.rbfund-cp-cover-actions a,
.rbfund-cp-cover-actions button {
	padding: 5px 11px !important;
	font-size: 12px !important;
	font-weight: 600;
	border-radius: 999px;
	line-height: 1.3;
}
.rbfund-cp-cover-actions .dashicons {
	font-size: 14px !important;
	width: 14px !important;
	height: 14px !important;
}

/* Posisi mengikuti pilihan pengelola. */
body.rbfund-cp-act-atas .rbfund-cp-cover-actions {
	top: 12px !important;
	bottom: auto !important;
	right: 12px !important;
}
body.rbfund-cp-act-bawah .rbfund-cp-cover-actions {
	top: auto !important;
	bottom: 12px !important;
	right: 12px !important;
}

@media ( max-width: 520px ) {
	.rbfund-cp-cover-actions .rbfund-cp-btn,
	.rbfund-cp-cover-actions a,
	.rbfund-cp-cover-actions button {
		padding: 4px 9px !important;
		font-size: 11.5px !important;
	}
	.rbfund-cp-cover-actions .dashicons {
		font-size: 13px !important; width: 13px !important; height: 13px !important;
	}
}

/* ============================================================
   Sembunyikan nama lembaga/penggalang di daftar campaign
   Nama lembaga muncul dalam beberapa bentuk markup: kartu arsip,
   kartu shortcode, dan kartu Penyusun Homepage. Sebelumnya hanya
   satu yang disembunyikan, sehingga pengaturan tampak tidak
   berfungsi di halaman lain.
   ============================================================ */
body.rbfund-hide-arch-org .rbfund-listrow-org,
body.rbfund-hide-arch-org .rbfund-sccard-org,
body.rbfund-hide-arch-org .rbfund-hp-card-org,
body.rbfund-hide-arch-org .rbfund-listcard-v2-org {
	display: none !important;
}

/* Sembunyikan kartu "Penggalang Dana" di halaman detail campaign.
   Komponen ini terpisah dari daftar campaign, jadi penandanya sendiri. */
body.rbfund-hide-cp-org .rbfund-cp-organizer,
body.rbfund-hide-cp-org .rbfund-cp-card.rbfund-cp-organizer {
	display: none !important;
}

/* ============================================================
   Ikon chat mengambang — posisi & tombol singkirkan
   Di situs bermenu bawah, ikon chat menimpa menu terakhir
   ("Akun" pada tangkapan layar) sehingga tidak bisa ditekan.
   Dinaikkan di atas menu, dan diberi tombol X tersendiri.
   ============================================================ */
.rbfund-chat-launch { position: relative; display: inline-block; }

/* Tombol X kecil di pojok ikon. */
.rbfund-chat-dismiss {
	position: absolute;
	top: -4px; right: -4px;
	width: 22px; height: 22px;
	border: 1px solid #e2e8f0;
	border-radius: 50%;
	background: #fff;
	color: #64748b;
	font-size: 15px;
	line-height: 1;
	cursor: pointer;
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 2px 8px rgba( 0, 0, 0, .18 );
	padding: 0;
}
.rbfund-chat-dismiss:hover { color: #b91c1c; border-color: #fecaca; }

/* Saat jendela chat terbuka, tombol singkirkan tidak relevan. */
.rbfund-chat.is-open .rbfund-chat-dismiss { display: none; }

/* Dinaikkan bila ada menu bawah atau bilah donasi melayang. */
body.rbfund-has-botnav .rbfund-chat--float { bottom: 88px; }
body.rbfund-has-botnav.rbfund-has-cta .rbfund-chat--float { bottom: 152px; }
body.rbfund-standalone:not(.rbfund-has-botnav) .rbfund-chat--float { bottom: 84px; }

@media ( max-width: 480px ) {
	body.rbfund-has-botnav .rbfund-chat--float { bottom: 84px; }
	body.rbfund-has-botnav.rbfund-has-cta .rbfund-chat--float { bottom: 146px; }
}

/* Jendela chat ikut naik agar tidak tertutup menu bawah. */
body.rbfund-has-botnav .rbfund-chat--float .rbfund-chat-box { bottom: 68px; }
@media ( max-width: 480px ) {
	body.rbfund-has-botnav .rbfund-chat--float .rbfund-chat-box {
		bottom: 80px;
		height: 72dvh;
		max-height: 72dvh;
	}
}
