/* Gaya bersama halaman publik APSI (beranda baru & detail lembaga). Memakai variabel tema Frest. */
:root{
  --ap-primary:#006030; --ap-primary-dark:#004d26;
  --ap-ink:#3d4d63; --ap-text:#55657a; --ap-line:#e3e8ef; --ap-bg:#f4f6fb;
  --ap-yayasan-soft:#e8effd; --ap-yayasan-ink:#2f5fc4;
  --ap-ponpes:#1fa971; --ap-ponpes-soft:#e3f6ee; --ap-ponpes-ink:#12744d;
  --ap-lain-soft:#eef0f4; --ap-lain-ink:#505a6b;
  --ap-radius:14px; --ap-shadow:0 1px 2px rgba(31,45,90,.06),0 8px 24px rgba(31,45,90,.08);
  --ap-head:Rubik,var(--bs-font-sans-serif,sans-serif);
}
html{scroll-behavior:smooth;scroll-padding-top:84px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
[hidden]{display:none!important}
.light-style body{margin:0;background:var(--ap-bg);color:var(--ap-text);-webkit-font-smoothing:antialiased}
.ap-wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 20px}
.ap-skip{position:absolute;left:-999px;top:8px;z-index:100;background:#fff;color:var(--ap-primary-dark);padding:8px 14px;border-radius:8px;font-weight:600}
.ap-skip:focus{left:8px}
:focus-visible{outline:2px solid var(--ap-primary);outline-offset:2px}

.ap-preview{background:#25324b;color:#dfe6f3;font-size:13px;text-align:center;padding:8px 16px}
.ap-preview a{color:#fff;text-decoration:underline;font-weight:500}

.ap-nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--ap-line)}
.ap-nav .ap-wrap{display:flex;align-items:center;gap:20px;height:64px}
.ap-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ap-ink)}
.ap-brand img{width:40px;height:40px;object-fit:contain}
.ap-brand b{display:block;font-family:var(--ap-head);font-size:18px;letter-spacing:.3px;line-height:1.1}
.ap-brand small{display:block;font-size:11px;font-weight:400;color:var(--ap-text)}
.ap-links{display:flex;gap:4px;margin-left:auto;align-items:center}
.ap-links .ap-link{color:var(--ap-ink);text-decoration:none;padding:8px 12px;border-radius:8px;font-weight:500;font-size:14.5px}
.ap-links .ap-link:hover{background:#e6f2ec;color:var(--ap-primary-dark)}
.ap-links .btn{margin-left:4px}
.ap-burger{display:none;margin-left:auto;background:none;border:0;font-size:26px;line-height:1;color:var(--ap-ink);padding:6px 8px;border-radius:8px;cursor:pointer}
@media(max-width:860px){
  .ap-burger{display:block}
  .ap-links{display:none;position:absolute;left:0;right:0;top:64px;background:#fff;border-bottom:1px solid var(--ap-line);flex-direction:column;align-items:stretch;padding:12px 20px 16px;margin:0;gap:2px;box-shadow:0 12px 24px rgba(31,45,90,.1)}
  .ap-links.open{display:flex}
  .ap-links .btn{margin:6px 0 0}
}

.ap-hero{position:relative;overflow:hidden;color:#fff;padding:56px 0 112px;background:linear-gradient(135deg,#004d26 0%,#006030 55%,#2b7d52 100%)}
.ap-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 88% 18%,rgba(255,255,255,.16),transparent 42%),radial-gradient(circle at 8% 92%,rgba(255,255,255,.09),transparent 38%)}
.ap-hero .ap-wrap{position:relative}
.ap-eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);padding:6px 14px;border-radius:999px;font-size:13px;margin-bottom:18px}
.ap-hero h1{color:#fff;font-family:var(--ap-head);font-weight:600;font-size:clamp(28px,4.6vw,44px);line-height:1.15;margin:0 0 12px;max-width:780px}
.ap-hero .lead{font-size:clamp(15px,2vw,18px);line-height:1.6;color:#eaf0ff;max-width:660px;margin:0 0 26px}
.ap-search{display:flex;gap:8px;background:#fff;border-radius:14px;padding:8px;max-width:660px;box-shadow:0 14px 34px rgba(10,25,70,.3)}
.ap-search .wrap{position:relative;flex:1;min-width:0}
.ap-search .wrap i{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:20px;color:#7a8aa3;pointer-events:none}
.ap-search input{width:100%;border:0;outline:0;height:46px;padding:0 14px 0 44px;font-size:16px;color:var(--ap-ink);background:transparent;border-radius:10px}
.ap-search input:focus-visible{box-shadow:0 0 0 2px var(--ap-primary) inset}
.ap-search .btn{height:46px;padding:0 22px;flex:none}
.ap-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.ap-chip{border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.1);color:#fff;border-radius:999px;padding:6px 15px;font-size:13.5px;cursor:pointer;font-family:inherit}
.ap-chip:hover{background:rgba(255,255,255,.22)}
.ap-chip[aria-pressed=true]{background:#fff;color:#006030;border-color:#fff;font-weight:600}

.ap-stats{margin-top:-64px;position:relative;z-index:2}
.ap-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media(max-width:900px){.ap-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.ap-stat-grid{gap:10px}.ap-stat{padding:14px;gap:10px}.ap-stat .n{font-size:24px}}
.ap-stat{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--ap-line);border-radius:var(--ap-radius);box-shadow:var(--ap-shadow);padding:18px}
.ap-stat .ic{flex:none;width:48px;height:48px;border-radius:12px;display:grid;place-items:center;font-size:24px}
.ap-stat .n{font-family:var(--ap-head);font-size:28px;font-weight:600;color:var(--ap-ink);line-height:1}
.ap-stat .l{font-size:13px;margin-top:5px}
.ic--a{background:#e6f2ec;color:#006030}.ic--b{background:#e3f6ee;color:#12744d}.ic--c{background:#eef0f4;color:#3d4d63}.ic--d{background:#fff1dc;color:#a35a00}

.ap-sec{padding-top:56px}
.ap-sec h2{font-family:var(--ap-head);font-size:24px;font-weight:600;color:var(--ap-ink);margin:0 0 6px}
.ap-sec .sub{margin:0 0 20px}
.ap-panel{background:#fff;border:1px solid var(--ap-line);border-radius:var(--ap-radius);box-shadow:var(--ap-shadow);padding:20px}

.ap-bars{display:grid;gap:4px;margin:0;padding:0;list-style:none}
.ap-bar{display:grid;grid-template-columns:minmax(0,210px) minmax(0,1fr) 40px;gap:14px;align-items:center;width:100%;background:none;border:0;padding:9px 10px;border-radius:10px;cursor:pointer;text-align:left;font:inherit;color:var(--ap-ink)}
.ap-bar:hover{background:#f0f4fd}
.ap-bar .track{height:10px;background:#eaf0fb;border-radius:999px;overflow:hidden}
.ap-bar .fill{display:block;height:100%;width:var(--w);border-radius:999px;background:linear-gradient(90deg,#006030,#4aa77a)}
.ap-bar .num{text-align:right;font-weight:600}
@media(max-width:560px){.ap-bar{grid-template-columns:minmax(0,1fr) 40px;gap:6px 10px}.ap-bar .track{grid-column:1/-1;order:3}}
.ap-toggle{display:none;margin-top:12px}
.js .ap-toggle{display:inline-flex}
.js .ap-bars:not(.open) .is-extra{display:none}

#ap-map{height:440px;border-radius:12px;background:#dfe6f1;z-index:0}
.ap-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px;font-size:13px}
.ap-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}
.ap-pop strong{display:block;color:var(--ap-ink);margin-bottom:2px}
.ap-pop a{font-weight:600}

.ap-filter{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:end}
@media(max-width:960px){.ap-filter{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ap-filter .grow{grid-column:1/-1}}
@media(max-width:520px){.ap-filter{grid-template-columns:minmax(0,1fr)}}
.ap-filter label,.ap-flabel{display:block;font-size:12.5px;font-weight:600;color:var(--ap-ink);margin-bottom:6px}
.ap-seg{display:inline-flex;flex-wrap:wrap;background:#eef2f9;border-radius:10px;padding:3px}
.ap-seg button{border:0;background:transparent;padding:7px 14px;border-radius:8px;font:inherit;font-size:13.5px;color:var(--ap-ink);cursor:pointer}
.ap-seg button[aria-pressed=true]{background:#fff;box-shadow:0 1px 3px rgba(20,30,60,.16);color:var(--ap-primary-dark);font-weight:600}
.ap-filter-foot{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;margin-top:14px}
.ap-count{margin:18px 2px 12px;font-size:14px}

.ap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media(max-width:1000px){.ap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.ap-grid{grid-template-columns:minmax(0,1fr)}}
.ap-card{display:flex;flex-direction:column;gap:12px;background:#fff;border:1px solid var(--ap-line);border-radius:var(--ap-radius);padding:18px;box-shadow:0 1px 2px rgba(31,45,90,.04);transition:transform .18s,box-shadow .18s,border-color .18s}
.ap-card:hover{transform:translateY(-3px);box-shadow:var(--ap-shadow);border-color:#cfd9ec}
.ap-card[hidden]{display:none}
.ap-card__top{display:flex;gap:14px;align-items:flex-start}
.ap-card__top>div:last-child{min-width:0}
.ap-avatar{position:relative;flex:none;width:56px;height:56px;border-radius:14px;overflow:hidden;background:var(--av,#3c6fd8);color:#fff;display:grid;place-items:center;font-family:var(--ap-head);font-weight:600;font-size:18px}
.ap-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff;padding:4px}
.ap-card h3{font-size:16px;line-height:1.35;margin:0 0 7px;color:var(--ap-ink);font-weight:600;overflow-wrap:anywhere}
.ap-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600}
.ap-badge--yayasan{background:var(--ap-yayasan-soft);color:var(--ap-yayasan-ink)}
.ap-badge--ponpes{background:var(--ap-ponpes-soft);color:var(--ap-ponpes-ink)}
.ap-badge--lainnya{background:var(--ap-lain-soft);color:var(--ap-lain-ink)}
.ap-meta{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:13.5px}
.ap-meta li{display:flex;gap:8px;align-items:center}
.ap-meta i{font-size:17px;color:#7d8ca6;flex:none}
.ap-card__act{display:flex;gap:8px;margin-top:auto;padding-top:4px}
.ap-card__act .btn{flex:1}
.ap-card__act .ap-web{flex:none;width:40px;padding:0;display:grid;place-items:center}
.ap-more{display:flex;justify-content:center;margin-top:24px}
.ap-empty{text-align:center;padding:44px 16px}
.ap-empty i{font-size:40px;color:#9aa9c2}

.ap-footer{margin-top:72px;background:#1f2a44;color:#c5cee0;padding:40px 0 28px;font-size:14px}
.ap-footer a{color:#e8eeff;text-decoration:none}.ap-footer a:hover{text-decoration:underline}
.ap-foot-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:28px}
@media(max-width:700px){.ap-foot-grid{grid-template-columns:minmax(0,1fr)}}
.ap-foot-brand{display:flex;gap:12px;align-items:center;color:#fff;margin-bottom:10px}
.ap-foot-brand img{width:44px;height:44px;object-fit:contain;background:#fff;border-radius:10px;padding:3px}
.ap-foot-links{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ap-copy{border-top:1px solid rgba(255,255,255,.12);margin-top:26px;padding-top:16px;font-size:13px;color:#98a5bf}

/* ---------- Halaman detail lembaga ---------- */
.ap-dband{position:relative;overflow:hidden;color:#fff;padding:22px 0 92px;background:linear-gradient(135deg,#004d26 0%,#006030 55%,#2b7d52 100%)}
.ap-dband::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 90% 10%,rgba(255,255,255,.16),transparent 40%)}
.ap-dband .ap-wrap{position:relative}
.ap-crumb{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13.5px;color:#dbe6ff;margin:0;padding:0;list-style:none}
.ap-crumb a{color:#fff;text-decoration:none}.ap-crumb a:hover{text-decoration:underline}
.ap-crumb li+li::before{content:"\203A";margin-right:6px;opacity:.7}
.ap-crumb [aria-current]{color:#fff;font-weight:500;overflow-wrap:anywhere}
.ap-dtop{margin-top:-64px;position:relative;z-index:2}
.ap-idcard{display:flex;gap:22px;align-items:flex-start;background:#fff;border:1px solid var(--ap-line);border-radius:var(--ap-radius);box-shadow:var(--ap-shadow);padding:24px}
.ap-idcard .ap-avatar{width:96px;height:96px;border-radius:20px;font-size:30px}
.ap-idcard .ap-idbody{min-width:0;flex:1}
.ap-idcard h1{font-family:var(--ap-head);font-size:clamp(22px,3.4vw,30px);line-height:1.2;color:var(--ap-ink);margin:0 0 12px;font-weight:600;overflow-wrap:anywhere}
.ap-chiprow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ap-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;font-size:13px;background:#eef2f9;color:var(--ap-ink)}
.ap-pill i{font-size:16px;color:#6f7f99}
.ap-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
@media(max-width:640px){.ap-idcard{flex-direction:column;padding:18px}.ap-idcard .ap-avatar{width:80px;height:80px;font-size:26px}}
.ap-dgrid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;margin-top:20px;align-items:start}
@media(max-width:960px){.ap-dgrid{grid-template-columns:minmax(0,1fr)}}
.ap-dmain,.ap-dside{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;min-width:0}
.ap-panel{min-width:0}
.ap-panel h2.ap-h{font-family:var(--ap-head);font-size:18px;font-weight:600;color:var(--ap-ink);margin:0 0 14px;display:flex;gap:8px;align-items:center}
.ap-panel h2.ap-h i{font-size:22px;color:var(--ap-primary)}
.ap-prose{margin:0;line-height:1.7;overflow-wrap:anywhere}
.ap-minis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(130px,100%),1fr));gap:12px}
.ap-mini{background:#f6f8fd;border:1px solid var(--ap-line);border-radius:12px;padding:14px}
.ap-mini .n{font-family:var(--ap-head);font-size:24px;font-weight:600;color:var(--ap-ink);line-height:1.1}
.ap-mini .l{font-size:12.5px;margin-top:4px}
.ap-tablewrap{max-width:100%;overflow-x:auto;margin-top:14px;border:1px solid var(--ap-line);border-radius:12px}
.ap-table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:0}
.ap-table th,.ap-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--ap-line)}
.ap-table th{background:#f6f8fd;color:var(--ap-ink);font-weight:600;font-size:12.5px}
.ap-table tr:last-child th,.ap-table tr:last-child td{border-bottom:0}
.ap-table .r{text-align:right;font-variant-numeric:tabular-nums}
.ap-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.ap-list li{display:flex;gap:10px;align-items:flex-start;overflow-wrap:anywhere}
.ap-list li i{color:var(--ap-ponpes);font-size:18px;margin-top:2px;flex:none}
.ap-kv{margin:0;display:grid;gap:16px}
.ap-kv dt{font-size:12.5px;font-weight:600;color:var(--ap-ink);margin-bottom:4px}
.ap-kv dd{margin:0;overflow-wrap:anywhere}
.ap-sidelinks{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ap-sidelinks a{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--ap-line);border-radius:10px;text-decoration:none;color:var(--ap-ink);font-weight:500;overflow-wrap:anywhere}
.ap-sidelinks a:hover{background:#f0f4fd;border-color:#cfd9ec}
.ap-sidelinks i{font-size:20px;color:var(--ap-primary);flex:none}
#ap-map-detail{height:240px;border-radius:12px;background:#dfe6f1;margin-bottom:12px;z-index:0}
.ap-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.ap-gal a{display:block;border-radius:10px;overflow:hidden;border:1px solid var(--ap-line);aspect-ratio:4/3;background:#eef2f9}
.ap-gal img{width:100%;height:100%;object-fit:cover;display:block}
.ap-video{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#000}
.ap-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ap-soft{background:#f6f8fd;border:1px solid var(--ap-line);border-radius:12px;padding:14px 16px;font-size:14px}
.ap-empty-profile{text-align:center;padding:34px 18px}
.ap-empty-profile i{font-size:38px;color:#9aa9c2}
.ap-rel{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:12px}
.ap-rel a{display:flex;gap:12px;align-items:center;padding:12px;background:#fff;border:1px solid var(--ap-line);border-radius:12px;text-decoration:none;color:var(--ap-ink)}
.ap-rel a:hover{border-color:#cfd9ec;box-shadow:var(--ap-shadow)}
.ap-rel .ap-avatar{width:44px;height:44px;border-radius:12px;font-size:15px}
.ap-rel b{display:block;font-size:14px;line-height:1.3;overflow-wrap:anywhere}
.ap-rel small{color:var(--ap-text)}
.ap-notfound{text-align:center;padding:72px 0 24px}
.ap-notfound i{font-size:52px;color:#9aa9c2}
.ap-notfound h1{font-family:var(--ap-head);font-size:26px;color:var(--ap-ink);margin:12px 0 8px;font-weight:600}
.ap-table tbody th{background:transparent;font-size:14px;font-weight:600;color:var(--ap-ink)}
.ap-sub{display:block;margin-top:2px;font-size:12.5px;font-weight:400;color:var(--ap-text);overflow-wrap:anywhere}

/* Aksen hijau logo PULDAPII: menimpa warna primer bawaan Frest pada halaman publik & portal */
:root{--bs-primary:#006030;--bs-primary-rgb:0,96,48;--bs-link-color:#006030;--bs-link-hover-color:#004d26}
a{color:#006030}a:hover{color:#004d26}
.btn-primary{background-color:#006030;border-color:#006030;color:#fff;box-shadow:0 2px 4px rgba(0,96,48,.25)}
.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-check:checked+.btn-primary{background-color:#004d26!important;border-color:#004d26!important;color:#fff!important;box-shadow:none}
.btn-outline-primary{color:#006030;border-color:#006030;background:transparent}
.btn-outline-primary:hover,.btn-outline-primary:focus,.btn-outline-primary:active{background-color:#006030!important;border-color:#006030!important;color:#fff!important}
.form-control:focus,.form-select:focus{border-color:#006030;box-shadow:0 0 0 .15rem rgba(0,96,48,.18)}
.form-check-input:checked{background-color:#006030;border-color:#006030}

/* Jelajahi per jenjang + lencana jenjang pada kartu */
.ap-jgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:12px}
.ap-jtile{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;align-items:center;text-align:left;background:#fff;border:1px solid var(--ap-line);border-radius:var(--ap-radius);padding:14px;font:inherit;color:var(--ap-ink);cursor:pointer;box-shadow:0 1px 2px rgba(0,60,30,.05);transition:transform .18s,box-shadow .18s,border-color .18s}
.ap-jtile .ic{grid-row:1 / span 2;width:42px;height:42px;border-radius:12px;background:#e6f2ec;color:#006030;display:grid;place-items:center;font-size:22px}
.ap-jtile b{font-family:var(--ap-head);font-size:16px;line-height:1.2;overflow-wrap:break-word;word-break:normal}
.ap-jtile small{font-size:12.5px;color:var(--ap-text)}
.ap-jtile:hover{transform:translateY(-2px);border-color:#9ccab4;box-shadow:var(--ap-shadow)}
.ap-jtile[aria-pressed=true]{background:#006030;border-color:#006030;color:#fff}
.ap-jtile[aria-pressed=true] small{color:rgba(255,255,255,.85)}
.ap-jtile[aria-pressed=true] .ic{background:rgba(255,255,255,.18);color:#fff}
.ap-jj{display:flex;flex-wrap:wrap;gap:6px}
.ap-jj span{font-size:11.5px;font-weight:600;line-height:1;padding:5px 8px;border-radius:999px;background:#e6f2ec;color:#004d26}

/* Sorotan lembaga + lencana PSB */
.ap-two{align-items:start;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ap-h3{display:flex;align-items:center;gap:8px;font-family:var(--ap-head);font-size:16px;font-weight:600;color:var(--ap-ink);margin:0 0 12px}
.ap-h3 i{color:#006030;font-size:20px}
.ap-rlist{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.ap-rlist a{display:flex;align-items:center;gap:12px;padding:8px;border-radius:10px;text-decoration:none;color:var(--ap-ink)}
.ap-rlist a:hover{background:#e6f2ec}
.ap-rlist .ap-avatar{width:44px;height:44px;border-radius:12px;font-size:15px}
.ap-rlist b{display:block;font-size:14.5px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}
.ap-rlist small{display:block;font-size:12.5px;color:var(--ap-text);margin-top:2px}
.ap-jj .ap-jj-psb{background:#fff1dc;color:#8a4b00}.ap-jj-psb i{margin-right:3px;vertical-align:-1px}
@media (max-width:767px){.ap-two{grid-template-columns:minmax(0,1fr)}}
