/* Panduan Bank Sampah — dokumen panduan interaktif (tema terang) */
.pd-narrow{max-width:1080px;margin:0 auto}

/* ---------- cover / hero ---------- */
.pd-hero{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:30px 30px 26px;box-shadow:var(--shadow-sm)}
.pd-hero::before{content:'';position:absolute;inset:0 0 auto 0;height:6px;background:linear-gradient(90deg,#0f7d45,#3aa068 45%,#7ec242)}
.pd-hero::after{content:'';position:absolute;right:-70px;top:-90px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#e9f5ee,#f7fbf8 70%);z-index:0}
.pd-hero>*{position:relative;z-index:1}
.pd-eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--green-700);background:var(--green-050);border:1px solid var(--green-100);padding:6px 11px;border-radius:99px}
.pd-hero h1{font-size:clamp(24px,3.4vw,36px);line-height:1.12;margin:14px 0 8px;letter-spacing:-.035em;max-width:760px}
.pd-hero h1 em{font-style:normal;color:var(--green)}
.pd-lead{font-size:14.5px;color:var(--ink-2);max-width:700px;line-height:1.65}
.pd-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.pd-meta span{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--muted);background:#f7faf8;border:1px solid var(--line);padding:6px 10px;border-radius:8px}
.pd-meta b{color:var(--ink)}
.pd-hero-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px;padding-top:18px;border-top:1px dashed var(--line)}
.pd-hero-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:20px}
.pd-hs{background:#f8fbf9;border:1px solid var(--line);border-radius:14px;padding:12px 13px}
.pd-hs b{display:block;font-size:19px;letter-spacing:-.03em;color:var(--green-700);line-height:1.15}
.pd-hs span{display:block;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:4px}

/* ---------- daftar isi ---------- */
.pd-toc{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0 0}
.pd-toc a,.pd-toc-btn{font-size:11.8px;font-weight:700;color:var(--ink-2);background:#fff;border:1px solid var(--line);padding:7px 11px;border-radius:99px;transition:.15s;font-family:inherit;cursor:pointer}
.pd-toc a:hover,.pd-toc-btn:hover{border-color:var(--green);color:var(--green-700);background:var(--green-050)}
.status-pill{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:800;padding:2px 7px;border-radius:6px;white-space:nowrap}
.status-pill.ok{background:#d9f7e9;color:#047857}
.status-pill.wait{background:#fdf0d7;color:#95610a}
.status-pill.bad{background:#fde8ea;color:#b23b46}

/* ---------- section ---------- */
.pd-sec{margin-top:26px;scroll-margin-top:84px}
.pd-sec-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}
.pd-num{flex:0 0 auto;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--green-050);color:var(--green-700);font-weight:800;font-size:13px;border:1px solid var(--green-100)}
.pd-sec-head h2{font-size:19px;letter-spacing:-.03em}
.pd-sec-head p{font-size:12.5px;color:var(--muted);margin-top:3px;line-height:1.55}
.pd-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;box-shadow:var(--shadow-sm)}
.pd-card+.pd-card{margin-top:12px}
.pd-h3{font-size:13.5px;font-weight:800;letter-spacing:-.01em;display:flex;align-items:center;gap:8px}
.pd-sub{font-size:12.2px;color:var(--muted);line-height:1.6}
.pd-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pd-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pd-grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pd-pilar{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}
.pd-pilar .ic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--green-050);color:var(--green-700);margin-bottom:10px}
.pd-pilar > b{display:block;font-size:13px;margin-bottom:4px}
.pd-pilar p{font-size:12px;color:var(--muted);line-height:1.6}

/* ---------- peran ---------- */
.pd-role{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:800;letter-spacing:.03em;padding:3px 8px;border-radius:99px;white-space:nowrap}
.pd-role.warga{background:var(--blue-050);color:#2258b8}
.pd-role.petugas{background:var(--green-050);color:var(--green-700)}
.pd-role.pengurus{background:#f3f0fd;color:#5845b8}
.pd-role.rw{background:var(--amber-050);color:#9a6708}

/* ---------- timeline alur ---------- */
.pd-flow{position:relative;margin:4px 0 0;padding-left:0}
.pd-step{position:relative;display:flex;gap:13px;padding:0 0 16px 0}
.pd-step:last-child{padding-bottom:0}
.pd-step::before{content:'';position:absolute;left:15px;top:34px;bottom:2px;width:2px;background:linear-gradient(#d5ebdf,#eef4f0)}
.pd-step:last-child::before{display:none}
.pd-step-n{flex:0 0 auto;width:32px;height:32px;border-radius:50%;background:#fff;border:2px solid var(--green-100);color:var(--green-700);display:grid;place-items:center;font-weight:800;font-size:12px;z-index:1}
.pd-step.done .pd-step-n{background:var(--green);border-color:var(--green);color:#fff}
.pd-step-body{flex:1;min-width:0;padding-top:1px}
.pd-step-body > b{font-size:13.2px;display:block;margin-bottom:2px}
.pd-step-body p{font-size:12.4px;color:var(--ink-2);line-height:1.62}
.pd-step-body .pd-who{margin-top:5px;display:flex;gap:6px;flex-wrap:wrap}
.pd-step-body code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.4px;background:#f2f7f4;border:1px solid var(--line);padding:1px 5px;border-radius:5px;color:var(--green-800)}

/* ---------- status flow ---------- */
.pd-status{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap}
.pd-st{flex:1;min-width:150px;border-radius:13px;padding:12px 13px;border:1px solid var(--line);background:#fff}
.pd-st b{display:flex;align-items:center;gap:6px;font-size:12.3px}
.pd-st span{display:block;font-size:11.3px;color:var(--muted);margin-top:3px;line-height:1.5}
.pd-st.wait{background:#fffaf0;border-color:#f6e2bd}
.pd-st.wait b{color:#9a6708}
.pd-st.ok{background:#f2fbf6;border-color:#cfe9db}
.pd-st.ok b{color:var(--green-700)}
.pd-st.bad{background:#fff5f6;border-color:#f6d5d9}
.pd-st.bad b{color:#b23b46}
.pd-arrow{align-self:center;color:var(--muted-2);font-weight:800;font-size:14px}

/* ---------- formula & contoh ---------- */
.pd-formula{background:#0f231b;border-radius:16px;padding:18px;color:#eafff3}
.pd-formula .lbl{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#8fd3ac;margin-bottom:9px}
.pd-formula code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.9;color:#fff;display:block;white-space:pre-wrap}
.pd-formula .cmt{color:#9fb8ab}
.pd-formula .hl{color:#b9f2c9;font-weight:700}
.pd-ex{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.pd-ex>div{border:1px solid var(--line);border-radius:13px;padding:13px;background:#fbfdfc}
.pd-ex b{display:block;font-size:12.4px;margin-bottom:6px}
.pd-ex .row{display:flex;justify-content:space-between;gap:8px;font-size:11.6px;color:var(--muted);padding:3px 0}
.pd-ex .row b{font-size:11.8px;color:var(--ink);margin:0}
.pd-ex .tot{border-top:1px dashed var(--line);margin-top:6px;padding-top:6px}
.pd-ex .tot b{color:var(--green-700);font-size:13px}

/* ---------- tabel ---------- */
.pd-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px}
.pd-table{width:100%;border-collapse:collapse;font-size:12.2px;min-width:620px}
.pd-table th{background:#f7faf8;text-align:left;font-size:10.6px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line);font-weight:800}
.pd-table td{padding:10px 12px;border-bottom:1px solid var(--line-2);vertical-align:top;color:var(--ink-2);line-height:1.55}
.pd-table tr:last-child td{border-bottom:0}
.pd-table td b{color:var(--ink)}
.pd-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}

/* ---------- tier ---------- */
.pd-tier{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pd-t{border-radius:14px;padding:14px;border:1px solid var(--line);background:#fff;position:relative;overflow:hidden}
.pd-t::after{content:'';position:absolute;inset:0 auto 0 0;width:4px;background:var(--c)}
.pd-t .nm{font-size:12.5px;font-weight:800;color:var(--c)}
.pd-t .rg{font-size:11.3px;color:var(--muted);margin-top:2px}
.pd-t .ds{font-size:11.4px;color:var(--ink-2);line-height:1.55;margin-top:8px}
.pd-t.bronze{--c:#b07a3a}.pd-t.silver{--c:#6f7d8b}.pd-t.gold{--c:#c9960f}.pd-t.platinum{--c:#2f6fed}

/* ---------- catatan ---------- */
.pd-note{display:flex;gap:10px;padding:12px 14px;border-radius:12px;font-size:12.3px;line-height:1.62;border:1px solid}
.pd-note svg{flex:0 0 auto;margin-top:2px}
.pd-note.info{background:#f2f7ff;border-color:#d6e4fb;color:#234677}
.pd-note.warn{background:#fffaf0;border-color:#f6e2bd;color:#7c5806}
.pd-note.tip{background:var(--green-050);border-color:var(--green-100);color:var(--green-800)}
.pd-note.danger{background:#fff5f6;border-color:#f6d5d9;color:#8f2f38}
.pd-note b{font-weight:800}

/* ---------- FAQ ---------- */
.pd-faq details{border:1px solid var(--line);border-radius:12px;background:#fff;padding:0;margin-bottom:8px;overflow:hidden}
.pd-faq details[open]{border-color:var(--green-100);box-shadow:var(--shadow-sm)}
.pd-faq summary{list-style:none;cursor:pointer;padding:12px 14px;font-size:12.8px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:9px}
.pd-faq summary::-webkit-details-marker{display:none}
.pd-faq summary::after{content:'+';margin-left:auto;font-size:16px;color:var(--green);font-weight:800}
.pd-faq details[open] summary::after{content:'–'}
.pd-faq .ans{padding:0 14px 13px 40px;font-size:12.2px;color:var(--ink-2);line-height:1.65}

/* ---------- SOP checklist ---------- */
.pd-check{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}
.pd-check label{display:flex;gap:9px;align-items:flex-start;font-size:12.3px;color:var(--ink-2);line-height:1.55;padding:7px 0;border-bottom:1px dashed var(--line-2)}
.pd-check .bx{flex:0 0 auto;width:16px;height:16px;border:1.6px solid #b9cbc1;border-radius:4px;margin-top:2px;display:grid;place-items:center;color:#fff}
.pd-check .bx svg{opacity:0}

/* ---------- footer dokumen ---------- */
.pd-foot{margin:26px 0 6px;padding:16px 18px;border-radius:14px;background:#f7faf8;border:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:11.4px;color:var(--muted)}

/* ---------- keterangan pemakaian (hanya tercetak) ---------- */
.pd-cover-note{display:none}
@media print{
  .pd-cover-note{display:block;margin-top:26px;padding-top:16px;border-top:1px solid #e6ece9}
  .pd-cover-note > b{display:block;font-size:12.5px;margin-bottom:10px;color:#0f231b}
  .pd-cover-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
  .pd-cover-cols > div{font-size:11.2px;line-height:1.55;color:#41544b}
  .pd-cover-cols span{display:block;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#0f7d45;margin-bottom:3px}
}

/* ---------- responsive ---------- */
@media (max-width:1000px){
  .pd-hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pd-grid4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pd-tier{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pd-ex{grid-template-columns:1fr}
}
@media (max-width:760px){
  .pd-hero{padding:22px 18px}
  .pd-card{padding:16px}
  .pd-grid2,.pd-grid3{grid-template-columns:1fr}
  .pd-check{grid-template-columns:1fr}
  .pd-status{flex-direction:column}
  .pd-arrow{transform:rotate(90deg);align-self:flex-start;margin-left:16px}
  .pd-hero-stats{grid-template-columns:1fr 1fr}
  .pd-sec-head h2{font-size:17px}
}

/* ---------- cetak / simpan PDF ---------- */
@media print{
  @page{size:A4;margin:14mm}
  html,body{background:#fff}
  body{font-size:12px;line-height:1.55}
  .main::before,.main::after{display:none !important}
  .main,.content{background:#fff !important;padding:0 !important}
  .pd-narrow{max-width:none}

  /* sampul: hero + daftar isi di halaman 1 */
  .pd-hero{border:0;box-shadow:none;padding:0 0 14px;border-radius:0;border-bottom:2px solid #0f7d45}
  .pd-hero::before,.pd-hero::after{display:none}
  .pd-hero h1{font-size:26px;margin-top:18px}
  .pd-hero-stats{grid-template-columns:repeat(4,1fr);margin-top:22px}
  .pd-lead{font-size:13px}
  .pd-meta span{font-size:11px}

  /* daftar isi tercetak (2 kolom) */
  .pd-toc{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;margin-top:22px;border-top:1px solid #e6ece9;padding-top:14px}
  .pd-toc::before{content:'Isi panduan';grid-column:1 / -1;font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#0f7d45;margin-bottom:6px}
  .pd-toc-btn{border:0;background:none;padding:6px 0;border-radius:0;font-size:11.8px;font-weight:600;color:#14231c;text-align:left;border-bottom:1px solid #edf1ef;justify-self:stretch}
  #hitung .pd-grid2{grid-template-columns:1fr;break-inside:auto}

  /* isi mengalir, kartu boleh terpotong antar halaman */
  .pd-card{box-shadow:none;border:1px solid #dde6e1;break-inside:auto}
  .pd-pilar,.pd-t,.pd-ex>div,.pd-table-wrap,.pd-note,.pd-formula,.pd-status,.pd-hs{box-shadow:none;break-inside:avoid}
  .pd-sec{break-inside:auto;margin-top:16px}
  .pd-grid2,.pd-grid3,.pd-grid4,.pd-ex{break-inside:avoid}
  #ringkasan{break-before:page}
  .pd-sec-head{break-after:avoid;break-inside:avoid}
  .pd-h3{break-after:avoid}
  .pd-step{break-inside:avoid}
  .pd-step-body p{font-size:12.2px;line-height:1.62}
  .pd-sub{font-size:12px}
  .pd-table{font-size:11.8px}
  .pd-table thead{display:table-header-group}
  .pd-table tr{break-inside:avoid}
  .pd-faq details{border:1px solid #dde6e1;break-inside:avoid}
  .pd-faq details .ans{display:block}
  .pd-faq summary{font-size:12.2px}
  .pd-faq summary::after{display:none}
  #sop{break-before:page}
  .pd-check{break-inside:avoid}
  .pd-noprint{display:none !important}
  .pd-formula{background:#0f231b !important;-webkit-print-color-adjust:exact;print-color-adjust:exact;break-inside:avoid}
  .pd-foot{break-inside:avoid;margin-top:18px}
  a{text-decoration:none;color:inherit}
}
