/**
 * connectors.css
 * Modul ini bertanggungjawab untuk melukis dan menggayakan semua
 * garisan penyambung dalam carta organisasi.
 */

/* Garisan menegak yang turun dari KOTAK INDUK ke garisan mendatar di bawahnya */
.org-chart .org-node-wrapper > ul::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    /* DITEBALKAN DAN DIGELAPKAN */
    border-left: 3px solid #6b7280; 
    width: 0;
    height: 20px;
}

/**
 * PEMBETULAN UTAMA: Garisan mendatar kini dilukis pada bekas 'ul' itu sendiri.
 * Ini memastikan ia sentiasa merentangi SEMUA anak di dalamnya.
 */
.org-chart ul::after {
    content: '';
    position: absolute;
    top: 20px; 
    left: 50%;
    transform: translateX(-50%);
    /* DITEBALKAN DAN DIGELAPKAN */
    border-top: 3px solid #6b7280;
    /* Lebar garisan dikira berdasarkan padding pada 'li' */
    width: calc(100% - 10px); 
}


/* Garisan menegak yang naik dari SETIAP ANAK ke garisan mendatar di atasnya */
.org-chart li .org-node-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    /* DITEBALKAN DAN DIGELAPKAN */
    border-left: 3px solid #6b7280;
    width: 0;
    height: 20px;
}

/* === PERATURAN KHAS UNTUK MEMBERSIHKAN GARISAN === */

/* Buang garisan menegak di atas nod akar (paling atas) */
.org-chart > li:first-child > .org-node-wrapper::before {
    display: none;
}

/* Buang garisan mendatar jika hanya ada SATU anak */
.org-chart ul > li:only-child {
    padding-top: 0;
}
.org-chart ul:has(> li:only-child)::after {
   display: none;
}

/* Sembunyikan ::after pada nod yang tidak lagi digunakan untuk melukis garisan */
.org-chart li .org-node-wrapper::after {
    content: none;
}
