/* ===== BKPSDM Hando base ===== */
html{scroll-behavior:smooth}
:target{scroll-margin-top:90px}

/* Kartu fitur (home) */
.feature-card{
  border-radius:1.25rem;
  box-shadow:0 .5rem 1rem rgba(0,0,0,.06);
  transition:transform .25s ease, box-shadow .25s ease, filter .25s ease;
  border:1px solid rgba(0,0,0,.04);
  will-change: transform, box-shadow;
}
.feature-card:hover{
  transform:translateY(-4px) scale(1.02);
  box-shadow:0 .9rem 1.8rem rgba(0,0,0,.10);
  filter:saturate(1.05);
}
.icon-badge{
  width:56px;height:56px;border-radius:999px;margin:0 auto;
  display:grid;place-items:center;background:rgba(13,110,253,.08);
}

/* Search pill besar */
.search-lg .form-control{padding:1rem 1.25rem;border-top-left-radius:999px;border-bottom-left-radius:999px}
.search-lg .btn{border-top-right-radius:999px;border-bottom-right-radius:999px;padding:.75rem 1.25rem}

/* Kartu Berita (index) */
.card-post .ratio{background:#f6f8fb}
.card-post img{object-fit:cover;width:100%;height:100%}
.line-clamp-2{
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden
}
.line-clamp-3{
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden
}

/* Konten detail */
.content{font-size:1.05rem;line-height:1.8}
.content p{margin-bottom:1rem}
.content h2,.content h3,.content h4{margin-top:1.5rem;margin-bottom:.75rem;font-weight:700}
.content img{max-width:100%;height:auto;border-radius:.5rem;margin:1rem 0}
.content blockquote{padding:1rem 1.25rem;border-left:4px solid #0d6efd;background:#f8fbff;border-radius:.5rem;margin:1rem 0}
.content table{width:100%;border-collapse:collapse;margin:1rem 0}
.content th,.content td{border:1px solid rgba(0,0,0,.1);padding:.5rem .75rem}

/* --- OrgChart CSS --- */
.orgchart { --line:#c7d3e4; --bg:#fff; --radius:12px; --shadow:0 .25rem .75rem rgba(0,0,0,.06); font-size:14px; }
.orgchart .scroll-x{ overflow-x:auto; padding-bottom:8px; }
.orgchart ul{ padding-top:20px; position:relative; }
.orgchart li{ float:left; list-style:none; text-align:center; position:relative; padding:20px 10px 0 10px; }

/* garis horizontal antar-saudara & vertikal ke parent */
.orgchart li::before, .orgchart li::after{
  content:""; position:absolute; top:0; right:50%;
  border-top:1px solid var(--line); width:50%; height:20px;
}
.orgchart li::after{ right:auto; left:50%; border-left:1px solid var(--line); }
.orgchart li:only-child::before, .orgchart li:only-child::after{ display:none; }
.orgchart li:first-child::before{ border:0; }
.orgchart li:last-child::after{ border:0; }
.orgchart ul ul::before{
  content:""; position:absolute; top:0; left:50%;
  border-left:1px solid var(--line); width:0; height:20px;
}

/* kotak jabatan */
.orgchart .node{
  display:inline-block; min-width:170px;
  padding:12px 14px; background:var(--bg);
  border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow);
}
.orgchart .node .role{ display:block; margin-top:4px; font-size:12px; color:#6c757d; }

/* node 'penghubung' tak terlihat (hanya untuk membagi ke 4 bidang) */
.orgchart .ghost{ background:transparent; border:0; box-shadow:none; min-width:0; padding:0; }

/* rapikan pada layar kecil (scroll mendatar) */
@media (max-width: 768px){
  .orgchart .node{ min-width:150px; }
}
