﻿:root{--ink-900:#0A0A0F;--ink-700:#1C1C28;--ink-500:#4B4B63;--ink-300:#8E8EA8;--ink-100:#E8E8F0;--ink-050:#F4F4F8;--white:#FFFFFF;--violet:#4F3EF5;--violet-lt:#EEECFF;--amber:#D97A28;--amber-lt:#FDF1E7;--sage:#1B7B4B;--sage-lt:#EAF4EF;--s1:0 1px 3px rgba(10,10,15,.06);--s2:0 3px 12px rgba(10,10,15,.08);--max:680px;--r-s:10px;--r-m:16px;--r-l:20px;--r-xl:26px}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{font-family:'Inter',system-ui,sans-serif;background:var(--ink-050);color:var(--ink-700);-webkit-font-smoothing:antialiased;font-size:15px}
body{min-height:100dvh;padding-bottom:96px}
a{text-decoration:none;color:inherit}
button{font-family:inherit;cursor:pointer;border:none;background:none}
.ico{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.page{max-width:var(--max);margin:0 auto;padding:0 18px}
.ap{opacity:0;transform:translateY(12px);transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1)}
.ap.in{opacity:1;transform:none}
/* TOPBAR */
.topbar{position:sticky;top:0;z-index:50;background:rgba(250,250,252,.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--ink-100)}
.tb{max-width:var(--max);margin:0 auto;padding:12px 18px;display:flex;align-items:center;gap:10px}
.back-btn{width:34px;height:34px;border-radius:10px;border:1px solid var(--ink-100);background:var(--white);display:flex;align-items:center;justify-content:center;color:var(--ink-500);flex-shrink:0;box-shadow:var(--s1);transition:all .18s}
.back-btn:hover{border-color:var(--violet);color:var(--violet)}
.tb-title{font-size:14px;font-weight:700;color:var(--ink-900);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.share-btn{width:34px;height:34px;border-radius:10px;border:1px solid var(--ink-100);background:var(--white);display:flex;align-items:center;justify-content:center;color:var(--ink-500);flex-shrink:0;box-shadow:var(--s1);transition:all .18s;cursor:pointer}
.share-btn:hover{border-color:var(--violet);color:var(--violet)}
main{padding-top:20px}
section{margin-bottom:22px}
.cc{background:var(--white);border:1px solid var(--ink-100);border-radius:var(--r-l);padding:18px;box-shadow:var(--s1)}
/* GALLERY */
.gal-hero{position:relative;border-radius:var(--r-xl);overflow:hidden;height:220px;cursor:pointer}
.gal-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.gal-hero:hover .gal-img{transform:scale(1.03)}
.gal-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,15,.6),transparent 55%)}
.gal-badge{position:absolute;top:12px;left:12px;padding:4px 10px;border-radius:20px;font-size:10px;font-weight:700;background:var(--amber);color:white;text-transform:uppercase;letter-spacing:.4px}
.gal-thumbs{display:flex;gap:8px;margin-top:8px;overflow-x:auto}
.gal-thumbs::-webkit-scrollbar{display:none}
.gal-thumb{width:72px;height:52px;border-radius:var(--r-s);overflow:hidden;flex-shrink:0;border:2px solid transparent;transition:border-color .18s;cursor:pointer}
.gal-thumb.on{border-color:var(--sage)}
.gal-thumb img{width:100%;height:100%;object-fit:cover}
/* STATS */
.stats-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.stat-c{background:var(--white);border:1px solid var(--ink-100);border-radius:var(--r-m);padding:12px;text-align:center;box-shadow:var(--s1)}
.stat-n{font-size:18px;font-weight:700;letter-spacing:-.5px;line-height:1;margin-bottom:3px}
.stat-l{font-size:10px;color:var(--ink-300);font-weight:500}
/* PROGRESS */
.prog-info{display:flex;justify-content:space-between;font-size:12px;margin-bottom:7px}
.prog-pct{font-weight:700;color:var(--sage)}
.prog-tgt{color:var(--ink-300)}
.prog-track{height:7px;background:var(--ink-100);border-radius:99px;overflow:hidden;margin-bottom:10px}
.prog-fill{height:100%;background:linear-gradient(90deg,var(--sage),#34C76B);border-radius:99px;width:0;transition:width 1.4s cubic-bezier(.22,1,.36,1)}
.prog-collected{font-size:18px;font-weight:700;color:var(--sage);letter-spacing:-.5px;margin-bottom:2px}
.prog-label{font-size:11px;color:var(--ink-300)}
/* TABS */
.tab-nav{display:flex;border-bottom:2px solid var(--ink-100);margin-bottom:16px}
.tab-btn{flex:1;padding:10px 0;font-size:13px;font-weight:500;color:var(--ink-300);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .18s;background:none;cursor:pointer;font-family:inherit}
.tab-btn.on{color:var(--sage);border-bottom-color:var(--sage);font-weight:600}
.tab-pane{display:none}.tab-pane.on{display:block}
/* DESCRIPTION */
.desc-text{font-size:13px;color:var(--ink-500);line-height:1.75}
.desc-text p{margin-bottom:10px}
.desc-text strong{color:var(--ink-700)}
/* PENERIMA */
.penerima-list{display:flex;flex-direction:column;gap:10px}
.penerima-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--ink-050);border-radius:var(--r-m);border:1px solid var(--ink-100)}
.pen-ico{width:36px;height:36px;border-radius:10px;background:var(--sage-lt);display:flex;align-items:center;justify-content:center;color:var(--sage);flex-shrink:0}
.pen-loc{font-size:13px;font-weight:600;color:var(--ink-700)}
.pen-n{font-size:11px;color:var(--ink-300);margin-top:2px}
/* DOA DONATUR */
.doa-list{display:flex;flex-direction:column;gap:10px}
.doa-item{background:var(--ink-050);border:1px solid var(--ink-100);border-radius:var(--r-m);padding:12px}
.doa-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.doa-av{width:30px;height:30px;border-radius:50%;background:var(--violet-lt);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--violet);flex-shrink:0}
.doa-name{font-size:12px;font-weight:700;color:var(--ink-700);flex:1}
.doa-time{font-size:10px;color:var(--ink-300)}
.doa-nominal{font-size:11px;font-weight:600;color:var(--sage)}
.doa-msg{font-size:12px;color:var(--ink-500);line-height:1.55;margin-top:6px;font-style:italic}
/* STICKY CTA */
.sticky-cta{position:fixed;bottom:0;left:0;right:0;z-index:90;padding:12px 18px;background:rgba(250,250,252,.95);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--ink-100)}
.sticky-inner{max-width:var(--max);margin:0 auto;display:flex;align-items:center;gap:10px}
.cta-info{flex:1;min-width:0}
.cta-collected{font-size:13px;font-weight:700;color:var(--sage)}
.cta-pct{font-size:11px;color:var(--ink-300)}
.cta-btn{padding:12px 22px;background:var(--sage);color:white;font-size:13px;font-weight:600;border-radius:var(--r-l);border:none;cursor:pointer;font-family:inherit;transition:all .18s;display:flex;align-items:center;gap:7px;flex-shrink:0}
.cta-btn:hover{background:var(--ink-900);transform:translateY(-1px)}