/* Site dialogs in the green theme: the Permintaan Fitur button and form (footer.php) and the donation dialog
   (donate_modal.php). Loaded by the footer and by the editor page. */
/* Accent colours follow the page theme: green by default; the checker pages set --fb-accent* (style-text.css red,
   style-file.css blue, style-website.css purple). */
:root{--fb-accent:#0a9440;--fb-accent-dark:#087a35;--fb-accent-soft:#e3f5ea;--fb-ring:rgba(18,169,77,.2);--fb-shadow:rgba(4,70,31,.3)}
.donation-sticky{position:fixed;left:16px;bottom:16px;z-index:1030;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:0;border-radius:999px;background:var(--fb-accent);color:#fff;font-family:inherit;font-weight:600;font-size:14px;line-height:1.2;box-shadow:0 6px 20px var(--fb-shadow);cursor:pointer;transition:background .15s,box-shadow .15s}
.donation-sticky:hover{background:var(--fb-accent-dark);box-shadow:0 8px 24px var(--fb-shadow)}
.donation-sticky:focus-visible{outline:3px solid var(--fb-ring);outline-offset:2px}
.donation-sticky .fa{font-size:16px}
@media (max-width:600px){.donation-sticky{left:12px;bottom:12px;width:48px;height:48px;min-height:0;padding:0;justify-content:center;gap:0;border-radius:50%}.donation-sticky span{display:none}.donation-sticky .fa{font-size:20px}}
.fb-modal .modal-dialog{width:520px !important;max-width:calc(100% - 24px) !important;margin:60px auto}
.fb-modal .is-done .fb-head{display:none}
.fb-modal .modal-content{position:relative;border:0;border-radius:18px;box-shadow:0 24px 64px rgba(0,0,0,.25);overflow:hidden;font-family:inherit;color:#17241c}
.fb-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:#5b6b61;font-size:16px;cursor:pointer;transition:background .15s}
.fb-close:hover{background:#eef3f0;color:#17241c}
.fb-head{display:flex;gap:14px;align-items:flex-start;padding:24px 56px 8px 24px}
.fb-icon,.fb-done-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--fb-accent-soft);color:var(--fb-accent);font-size:22px}
.fb-title{margin:2px 0 4px;font-size:19px;font-weight:800;color:#17241c;letter-spacing:-.01em}
.fb-sub{margin:0;color:#5b6b61;font-size:14px;line-height:1.5}
.fb-body{padding:14px 24px 4px}
.fb-row{display:flex;gap:12px}.fb-row .fb-field{flex:1;min-width:0}
.fb-field{margin-bottom:14px}
.fb-field label{display:block;margin:0 0 6px;font-size:13px;font-weight:700;color:#2a3a30}
.fb-req{color:#d93838}.fb-opt{font-weight:400;color:#7a8a80}
.fb-field input,.fb-field textarea{display:block;width:100%;padding:10px 12px;border:1px solid #d5e0d9;border-radius:10px;background:#fff;color:#17241c;font-family:inherit;font-size:15px;line-height:1.4;transition:border-color .15s,box-shadow .15s;resize:vertical}
.fb-field input::placeholder,.fb-field textarea::placeholder{color:#9aa8a0}
.fb-field input:focus,.fb-field textarea:focus{outline:0;border-color:var(--fb-accent);box-shadow:0 0 0 3px var(--fb-ring)}
.fb-field .fb-invalid{border-color:#d93838}.fb-field .fb-invalid:focus{box-shadow:0 0 0 3px rgba(217,56,56,.15)}
.fb-count{margin-top:4px;text-align:right;font-size:12px;color:#7a8a80}
.fb-alert{margin:0 0 12px;padding:10px 12px;border-radius:10px;background:#fdecec;color:#a12626;font-size:14px}
.fb-foot{display:flex;justify-content:flex-end;gap:10px;padding:12px 24px 22px}
.fb-btn{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:110px;height:42px;padding:0 18px;border-radius:10px;border:1px solid transparent;font-family:inherit;font-weight:700;font-size:14px;line-height:1;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s}
.fb-btn,.fb-btn:hover,.fb-btn:focus,.fb-btn:active{text-decoration:none}
.fb-btn-primary{background:var(--fb-accent);color:#fff}.fb-btn-primary:hover,.fb-btn-primary:focus{background:var(--fb-accent-dark);color:#fff}
.fb-btn-primary[disabled]{opacity:.7;cursor:progress}
.fb-btn-ghost{background:#fff;border-color:#d5e0d9;color:#2a3a30}.fb-btn-ghost:hover{background:#f2f6f4}
.fb-done{padding:36px 28px 28px;text-align:center}
.fb-done .fb-done-icon{width:56px;height:56px;border-radius:50%;font-size:26px;margin-bottom:12px}
.fb-done .fb-sub{margin:4px auto 20px;max-width:360px}
@media (max-width:520px){.fb-row{display:block}.fb-head{padding:20px 52px 6px 18px}.fb-body{padding:12px 18px 2px}.fb-foot{padding:10px 18px 18px}.fb-btn{flex:1}}

/* ---- donation dialog (donate_modal.php) ---- */
.dn-points{list-style:none;margin:14px 0 4px;padding:0}
.dn-points li{display:flex;gap:10px;align-items:flex-start;margin:0 0 10px;color:#2a3a30;font-size:14px;line-height:1.5}
.dn-points .fa{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:var(--fb-accent-soft);color:var(--fb-accent);display:inline-flex;align-items:center;justify-content:center;font-size:12px;margin-top:1px}
.dn-note{margin:8px 0 0;font-size:12px;color:#7a8a80}
.dn-modal .fb-btn-primary .fa{font-size:15px}
