/* Organigrama*/
.orgchart .node {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.orgchart .node .title {
    background-color: #004fcd;
}

.orgchart .node .content {
    background-color: #eeeeee;
    color: #023671;
    border: 1px solid #023671;
}

.orgchart .node .content,
.orgchart .node .title {
    text-wrap: wrap;
    text-align: center;
    height: fit-content;
    padding: 4px;
    font-size: large;
    min-width: 20rem;
}

.edge {
    display: none;
}

.oci.oci-menu.parentNodeSymbol {
    display: none;
}

/* Zoom Controls */
.zoom-controls {
    position: fixed;
    bottom: 20px;
    right: 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    z-index: 1000;
}

.zoom-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #004fcd;
    color: white;
    border: none;
    font-size: 20px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    transition: background-color 0.3s;
}

.zoom-btn:hover {
    background-color: #50a2ff;
}

.zoom-btn:active {
    transform: scale(0.95);
}

@media (min-width: 768px) {
    .orgchart .node .content,
    .orgchart .node .title {
        min-width: 15vw;
    }
}

.orgchart {
    background-image: none;
}


/* Lines and borders */
.orgchart .nodes .topLine,
.orgchart .nodes .rightLine,
.orgchart .nodes .leftLine,
.orgchart .nodes>td::before,
.orgchart .nodes ul>li::before,
.orgchart .nodes ul>li::after {
    border-color: white;
}

/* Background elements */
.orgchart .nodes .downLine,
.orgchart > ul > li > ul li > .node:not(.outsider)::before,
.orgchart .hierarchy:not(.couple) > .node:has(+ .nodes)::after {
    background-color: white;
}

.orgchart .hierarchy::before {
    border-top: 2px solid white;
    box-sizing: border-box;
}