.directorio-block{
    padding-top: 80px;
}
.directorio-tabs .tabs {
    display: flex;
    gap: 15px;
    margin-bottom: 20px;
}

/* ====================================================== */
/* Cambio 2 cristian: CONTENEDOR RELATIVO */
/* ====================================================== */
/* Antes: Solo tenía display: flex */
/* Ahora: Agregamos position: relative para que sea la referencia */
.directorio-grid-wrapper {
    position: relative; 
    display: flex;
    /* gap: 20px; -> Quitamos el gap porque usaremos anchos fijos */
    padding-top: 50px;
}
/* ====================================================== */


/* ====================================================== */
/* Cambio 2 cristian: GRILLA CON ANCHO FIJO */
/* ====================================================== */
/* Antes: flex: 4; */
/* Ahora: width: 70%; para dejar espacio a la derecha a la caja flotante */
.directorio-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    width: 70%; 
}
/* ====================================================== */

.persona-item img {
    width: 100%;
    border-radius: 10px;
    cursor: pointer;
}

/* ====================================================== */
/* Cambio 2 cristian: CAJA FLOTANTE ABSOLUTA */
/* ====================================================== */
/* Antes: flex: 1; min-height: 200px; */
/* Ahora: position: absolute; animacion transition; */
.persona-hover {
    position: absolute; /* Permite moverse con top: px */
    right: 0;           /* Pegado a la derecha */
    top: 0;             /* Posición inicial */
    width: 25%;         /* Ancho del sidebar */
    text-align: left;
    padding: 20px;
    border-radius: 10px;
    transition: top 0.3s ease-out; /* MAGIA: Hace que el movimiento sea suave */
    z-index: 10;
}
/* ====================================================== */

.persona-hover h4{
    margin: 0 0 10px 0;
    color: black;
    font-size: 1.4rem;
    font-weight: 600;
}

.persona-hover p {
    margin: 0 0 10px 0;
}

.persona-hover p span{
    width: 30px;
    background-color: blue;
}

/* Responsive */
@media(max-width:768px){
    .directorio-grid-wrapper {
        flex-direction: column;
    }
    .directorio-grid {
        grid-template-columns: repeat(2,1fr);
        width: 100%; /* En móvil recupera el ancho total */
    }

    .directorio-tabs .tabs {
        display: flex;
        justify-content: flex-start !important;
        gap: 10px;
        overflow-x: auto;
        white-space: nowrap;
        padding: 0 10px; /* agrega espacio a los lados */
        scroll-behavior: smooth; /* scroll fluido */
    }

    .directorio-tabs .tabs::-webkit-scrollbar {
        display: none; /* Chrome/Safari */
    }
    .directorio-tabs .tabs .tab {
        flex: 0 0 auto;
    }

    .directorio-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    .persona-hover {
        display: none !important; /* Ocultamos la caja flotante */
    }

    .persona-mobile-info {
        background: #ffffff;
        padding: 12px;
        border-radius: 8px;
        margin-top: 10px;
        display: none; /* se muestra con slideDown() */
        border-left: 4px solid #007bff;
    }
    .directorio-block{
        padding-top: 64px;
    }

}


/* Grayscale por defecto */
.persona-item img {
    filter: grayscale(100%);
    transition: filter 0.3s ease;
    width: 100%;
    display: block;
}

/* Color al hacer hover */
.persona-item:hover img {
    filter: grayscale(0%);
}

.persona-item:hover {
    cursor: pointer;
}


.directorio-tabs .tabs {
    display: flex;
    justify-content: center; /* centra los items horizontalmente */
    gap: 15px; /* espacio entre tabs */
    list-style: none;
    padding: 0;
    margin: 0;
}

.directorio-tabs .tabs .tab {
    cursor: pointer;
}


.directorio-tabs ul{
    list-style: none;
}

.directorio-tabs .tab.active {
    background: var(--primary-color);
    color: #fff;
}

.directorio-tabs .tab {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 50px;
    border-top-right-radius: 50px;
    padding: 10px;
    background: #a9a8a8;
    color: white;
    font-weight: 600;
    margin-left: 20px;
}

.directorio-tabs .puesto {
    position: relative; /* necesario si quieres usar ::before correctamente */
    padding-left: 30px; /* espacio para que no se sobreponga el bloque */
}

.directorio-tabs .puesto::before {
    content: ""; /* no necesita texto */
    display: inline-block;
    width: 20px;       /* ancho del bloque */
    height: 100%;      /* altura igual al texto */
    background-color: #007bff; /* color que desees */
    position: absolute;
    border-top-right-radius: 50px;
    border-bottom-right-radius: 50px;
    left: 0;
    top: 0;
}

/* ====================================================== */
/* Cambio 2 cristian: Estilo para el Cargo (Desktop) */
/* ====================================================== */
/* Antes: Estaba incompleto o no existía. */
/* Ahora: Definido completamente para resaltar. */
.persona-hover .cargo {
    font-weight: 700; 
    color: #000000; 
    margin-bottom: 5px;
}
/* ====================================================== */