.presentacion-objetivos{
    width: 100%;
    height: 40vh;

    background-color: var(--color-fondo);

    display: flex;
    align-items: center;
    justify-content: center;
}

.contenido-presentacion-objetivos{
    width: 50%;

    display: flex;
    flex-direction: column;


    gap: 2vh;
}

.contenido-presentacion-objetivos p{
    max-width: 80%;
}

.lugar-objetivos{
    width: 100%;
    min-height: 100vh;

    padding-bottom: 4vh;

    background-color: var(--color-fondo);

    display: flex;
    align-items: start;
    justify-content: center;
}

.contenido-lugar-objetivos{
    width: 50%;
    height: 90%;

    display: flex;
    flex-direction: column;

    gap: 2vh;
}

.trayectoria{
    position: relative;
    padding-left: 80px;
}

.fase{
    width: 100%;
    display: flex;
    flex-direction: column;

    gap: 2vh;
}

.trayectoria::before{
    content: "";
    position: absolute;

    left: 25px;
    top: 32px;
    bottom: 0;

    width: 1px;

    background: linear-gradient(180deg, var(--color-gris-apagado) 70%, var(--color-fondo));
}

.titulo-fase{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.titulo-fase p{
    min-width: max-content;
}

.linea-titulo-fase{
    width: 100%;
    margin-left: 1vh;
    margin-right: 1vh;
    border: 1px solid var(--color-gris-apagado);
}

.objetivo{
    position: relative;
    margin-bottom: 28px;
}

.objetivo-nodo{
    position: absolute;

    left: -80px;
    top: 8px;

    width: 48px;
    height: 48px;

    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    background-color: var(--color-oscuro);
    border: 2px solid var(--color-gris-propio);

    color: white;

    z-index: 2;
}

.objetivo-nodo img{
    width: 50%;
    filter: invert(1);
}

.carta-objetivo{
    height: 10vh;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    padding: 2.5vh;

    border: 1px solid var(--color-gris-propio);
    border-radius: 6px;

    background: var(--color-oscuro);
}

.parte-superior-objetivo{
    display: flex;
    gap: 5vh;
}

.numero-objetivo{
    color: white;
}

/* Objetivo completado */

.objetivo.completado .objetivo-nodo{
    border: 2px solid var(--color-gris-apagado);
    color: var(--color-gris-apagado);
}

.objetivo.completado .carta-objetivo{
    border: 1px solid var(--color-gris);
}

/* Objetivo actual */
.objetivo.actual .objetivo-nodo{
    box-shadow: 0 0 15px var(--color-principal);
    border: 2px solid var(--color-principal);
    color: white;
}

.objetivo.actual .carta-objetivo{
    border: 1px solid var(--color-principal);
    box-shadow: 0 0 15px var(--color-principal);
}

/* ============================================= */
/* RESPONSIVE - TABLET Y MÓVIL                    */
/* ============================================= */
 
/* Tablet */
@media (max-width: 1024px){
    .presentacion-objetivos{
        height: auto;
        padding: 6vh 0;
    }
 
    .contenido-presentacion-objetivos{
        width: 85%;
    }
 
    .contenido-presentacion-objetivos p{
        max-width: 100%;
    }
 
    .lugar-objetivos{
        padding: 4vh 0;
    }
 
    .contenido-lugar-objetivos{
        width: 85%;
        height: auto;
    }
 
    .trayectoria{
        padding-left: 60px;
    }
 
    .objetivo-nodo{
        left: -60px;
        width: 40px;
        height: 40px;
    }
 
    .titulo-fase{
        flex-wrap: wrap;
        gap: 1vh;
    }
 
    .carta-objetivo{
        height: auto;
        min-height: 10vh;
    }
}
 
/* Móvil */
@media (max-width: 600px){
    .contenido-presentacion-objetivos{
        width: 90%;
    }
 
    .contenido-lugar-objetivos{
        width: 90%;
    }
 
    .trayectoria{
        padding-left: 45px;
    }
 
    .objetivo-nodo{
        left: -45px;
        top: 4px;
        width: 32px;
        height: 32px;
    }
 
    .trayectoria::before{
        left: 15px;
        top: 24px;
    }
 
    .titulo-fase{
        flex-direction: column;
        align-items: flex-start;
        gap: 1vh;
    }
 
    .linea-titulo-fase{
        display: none;
    }
 
    .parte-superior-objetivo{
        gap: 2vh;
        flex-wrap: wrap;
    }
}