.ppid-rg{font-family:'Plus Jakarta Sans',sans-serif;max-width:1100px;margin:0 auto;padding-bottom:32px;color:#0b1220}.ppid-rg,.ppid-rg *{box-sizing:border-box}.ppid-rg-hero{border-radius:24px;padding:40px 44px 36px;border:1px solid #94a3b838;background:radial-gradient(ellipse at 15% 15%,#23497412,transparent 58%),radial-gradient(ellipse at 88% 80%,#4aac9024,transparent 55%),#fff;position:relative;overflow:hidden;margin-bottom:20px}.ppid-rg-hero:before{content:'';position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#234974,#359D9E 45%,#4AAC90 75%,transparent)}.ppid-rg-kicker{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:#64748b;margin-bottom:14px}.ppid-rg-hero h1{font-size:28px;font-weight:800;line-height:1.2;margin:0 0 12px}.ppid-rg-hero p{font-size:13.5px;line-height:1.9;color:#64748b;max-width:780px;margin:0}.ppid-rg-line{height:1px;margin-top:24px;background:linear-gradient(90deg,#2349744d,#4aac9066,transparent)}.ppid-rg-group{border:1px solid #e2e8f0;border-radius:12px;margin:0 0 12px;overflow:hidden;background:#fff}.ppid-rg-group>summary{list-style:none;cursor:pointer;background:#234974;color:#fff;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-weight:700;font-size:15px;line-height:1.5}.ppid-rg-group>summary::-webkit-details-marker{display:none}.ppid-rg-group>summary:focus-visible,.ppid-rg-card a:focus-visible{outline:3px solid #4AAC90;outline-offset:-3px}.ppid-rg-chevron{width:9px;height:9px;border-right:2px solid;border-bottom:2px solid;transform:rotate(45deg);flex-shrink:0}.ppid-rg-group[open] .ppid-rg-chevron{transform:rotate(225deg)}.ppid-rg-content{padding:20px}.ppid-rg-description{font-size:13px;line-height:1.8;color:#475569;background:#f8fafc;border-radius:10px;padding:12px 16px;margin-bottom:16px}.ppid-rg-description p{margin:0 0 8px}.ppid-rg-description p:last-child{margin-bottom:0}.ppid-rg-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.ppid-rg-card{min-width:0;border:1px solid #e2e8f0;border-radius:14px;padding:18px;display:flex;flex-direction:column;background:#fff}.ppid-rg-card h2{font-size:14px;line-height:1.7;font-weight:700;margin:0 0 12px;overflow-wrap:anywhere}.ppid-rg-year{font-size:12px;color:#64748b;margin:0 0 16px}.ppid-rg-card-foot{margin-top:auto;display:flex;align-items:flex-start;flex-direction:column;gap:10px}.ppid-rg-card a{display:inline-flex;background:#234974;color:#fff;text-decoration:none;border-radius:7px;padding:8px 12px;font-size:12px;font-weight:700;gap:6px}.ppid-rg-card a:hover{background:#234974}.ppid-rg-count,.ppid-rg-unavailable,.ppid-rg-empty{font-size:12px;line-height:1.7;color:#64748b}.ppid-rg-empty{margin:0;padding:12px 0}@media(max-width:1024px){.ppid-rg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.ppid-rg-hero{padding:28px 24px 26px}.ppid-rg-hero h1{font-size:22px}}@media(max-width:560px){.ppid-rg-grid{grid-template-columns:1fr}.ppid-rg-content{padding:16px}.ppid-rg-group>summary{padding:16px;font-size:14px}}

/* Identitas RSUD, terbatas pada shortcode Regulasi. */
.ppid-rg-group[open]>summary{background:linear-gradient(135deg,#234974,#359D9E)}
.ppid-rg-group>summary:hover{background:#2c657b}
.ppid-rg-card{background:linear-gradient(135deg,#fff,#f7faf8);border-color:#D2DFCD;box-shadow:0 4px 16px rgba(35,73,116,.04);transition:transform .18s ease,box-shadow .18s ease}
.ppid-rg-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(35,73,116,.09)}
.ppid-rg-card a{background:#234974;border:1px solid #234974}
.ppid-rg-card a:hover{background:#285b76;border-color:#359D9E}
.ppid-rg-description{background:#F0F0F0;border-left:3px solid #4AAC90}
.ppid-rg-hero h1{color:#234974}
@media(prefers-reduced-motion:reduce){.ppid-rg-card{transition:none}.ppid-rg-card:hover{transform:none}}


/* Daftar kotak horizontal: tahun di bawah judul. */
.ppid-rg .ppid-rg-grid{display:flex;flex-direction:column;gap:16px}
.ppid-rg .ppid-rg-content{padding:18px 0;border:0}
.ppid-rg .ppid-rg-group{border:0;background:transparent;overflow:visible}
.ppid-rg .ppid-rg-group>summary{border-radius:14px}
.ppid-rg .ppid-rg-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:24px;row-gap:8px;align-items:center;min-height:124px;padding:28px 32px;border:1px solid #D2DFCD;border-radius:20px;background:radial-gradient(ellipse at 5% 10%,rgba(35,73,116,.05),transparent 60%),radial-gradient(ellipse at 95% 85%,rgba(74,172,144,.08),transparent 55%),#fff;position:relative;overflow:hidden;box-shadow:0 6px 24px rgba(35,73,116,.05)}
.ppid-rg .ppid-rg-card:before{content:'';position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,#234974,#359D9E,#4AAC90,transparent)}
.ppid-rg .ppid-rg-card h2{grid-column:1;grid-row:1;margin:0;font-size:14px;line-height:1.7}
.ppid-rg .ppid-rg-year{grid-column:1;grid-row:2;margin:0;font-size:12px}
.ppid-rg .ppid-rg-card-foot{grid-column:2;grid-row:1/3;display:flex;flex-direction:row;align-items:center;gap:12px;margin:0}
.ppid-rg .ppid-rg-count{background:#edf4f2;border:1px solid #D2DFCD;border-radius:999px;padding:3px 8px;font-size:11px;white-space:nowrap}
.ppid-rg .ppid-rg-card a{padding:12px 20px;border-radius:10px;white-space:nowrap}
.ppid-rg .ppid-rg-kicker{line-height:1.6;padding:2px 0}
@media(max-width:700px){.ppid-rg .ppid-rg-card{grid-template-columns:minmax(0,1fr);padding:22px;gap:10px}.ppid-rg .ppid-rg-card-foot{grid-column:1;grid-row:3;flex-wrap:wrap}.ppid-rg .ppid-rg-card h2{font-size:14px}}

/* SOP satu kategori langsung tampil, mengikuti lebar hero. */
.ppid-rg .ppid-rg-sop-direct{width:100%;min-width:0}
.ppid-rg .ppid-rg-sop-heading{font-size:17px;font-weight:700;line-height:1.5;color:#234974;margin:0 0 14px}
.ppid-rg .ppid-rg-sop-direct>.ppid-rg-content{padding:0}

/* Bar kategori SOP tetap jelas tanpa tombol buka/tutup. */
.ppid-rg .ppid-rg-sop-heading{display:block;background:#234974;color:#fff;border-radius:14px;padding:18px 22px;margin:0 0 18px;font-size:15px;font-weight:700;line-height:1.5}
@media(max-width:560px){.ppid-rg .ppid-rg-sop-heading{padding:16px;font-size:14px}}
