.trees-card-skeleton,
.trees-media-card-skeleton,
.trees-table-skeleton,
.trees-course-skeleton,
.trees-timeline-skeleton {
    pointer-events: none;
}

.trees-card-skeleton__imagen,
.trees-card-skeleton__linea,
.trees-media-card-skeleton__imagen,
.trees-media-card-skeleton__linea,
.trees-table-skeleton__linea,
.trees-course-skeleton__imagen,
.trees-course-skeleton__linea,
.trees-timeline-skeleton__linea {
    position: relative;
    overflow: hidden;
    background-color: #c7c7c7;
}

.trees-card-skeleton__imagen::after,
.trees-card-skeleton__linea::after,
.trees-media-card-skeleton__imagen::after,
.trees-media-card-skeleton__linea::after,
.trees-table-skeleton__linea::after,
.trees-course-skeleton__imagen::after,
.trees-course-skeleton__linea::after,
.trees-timeline-skeleton__linea::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        105deg,
        transparent 28%,
        rgba(255, 255, 255, .68) 48%,
        transparent 68%
    );
    transform: translateX(-100%);
    animation: trees-content-skeleton-shimmer 1.35s ease-in-out infinite;
}

/* Cards de investigaciones y recursos. */
.tarjeta.trees-card-skeleton {
    flex: 0 1 300px;
    width: 300px;
    max-width: 100%;
    height: 532px;
    min-height: 532px;
    box-sizing: border-box;
    background-color: #e3e3e3;
}

.trees-card-skeleton__imagen {
    flex: 0 0 150px;
    width: 100%;
    background-color: #bdbdbd;
}

.trees-card-skeleton__contenido {
    flex: 1 1 auto;
    padding: 20px;
    display: grid;
    gap: 12px;
    background-color: #e3e3e3;
}

.trees-card-skeleton__linea {
    display: block;
    height: 12px;
    border-radius: 999px;
}

.trees-card-skeleton__linea--titulo {
    width: 88%;
    height: 18px;
}

.trees-card-skeleton__linea--media {
    width: 72%;
}

.trees-card-skeleton__linea--corta {
    width: 48%;
}

.trees-card-skeleton__linea--boton {
    width: 112px;
    height: 36px;
    margin: 22px auto 0;
    border-radius: 10px;
}

.contenedor-tarjetas.is-content-ready > .tarjeta:not(.trees-card-skeleton),
.trees-medios__listado.is-content-ready > .trees-medios__elemento:not(.trees-media-card-skeleton),
tbody.is-content-ready > tr:not(.trees-table-skeleton),
.cursos__grid.is-content-ready > .cursos__elemento:not(.trees-course-skeleton),
.quienes-somos__panel--lin.is-content-ready > .quienes-somos-lin__columnas {
    animation: trees-content-skeleton-enter 420ms cubic-bezier(.2, .8, .2, 1) both;
}

/* Cursos TREES. */
.trees-course-skeleton {
    min-height: 250px;
}

.trees-course-skeleton__imagen {
    flex: 1 1 0;
    min-width: 0;
    aspect-ratio: 1 / 1;
    background-color: #bdbdbd;
}

.trees-course-skeleton__contenido {
    flex: 2 1 0;
    display: grid;
    align-content: start;
    gap: 14px;
    min-width: 0;
    padding-top: 8px;
}

.trees-course-skeleton__linea {
    display: block;
    width: 100%;
    height: 13px;
    border-radius: 999px;
}

.trees-course-skeleton__linea--titulo {
    width: 72%;
    height: 22px;
}

.trees-course-skeleton__linea--media {
    width: 84%;
}

.trees-course-skeleton__linea--corta {
    width: 52%;
}

.trees-course-skeleton__linea--boton {
    width: 105px;
    height: 35px;
    margin-top: 20px;
    border-radius: 5px;
}

/* Línea del tiempo mientras JavaScript distribuye los hitos. */
.trees-timeline-skeleton {
    position: absolute;
    inset: 30px;
    z-index: 2;
    display: flex;
    gap: var(--lin-columna-gap, 30px);
    width: auto;
    height: auto;
    padding: 8px 0;
    box-sizing: border-box;
}

.trees-timeline-skeleton__columna {
    flex: 0 0 var(--lin-columna-ancho, 300px);
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.trees-timeline-skeleton__linea {
    display: block;
    width: 100%;
    height: 68px;
    border-radius: 8px;
}

.trees-timeline-skeleton__linea--anio {
    width: 76px;
    height: 34px;
    border-radius: 999px;
}

.trees-timeline-skeleton__linea--mes {
    width: 58%;
    height: 20px;
}

.quienes-somos__panel--lin {
    position: relative;
}

.quienes-somos__panel--lin.is-loading > .quienes-somos-lin__columnas,
.quienes-somos__panel--lin.is-loading > .quienes-somos-lin__desplazamiento {
    visibility: hidden;
}

.quienes-somos__panel--lin:not(.is-loading) > .trees-timeline-skeleton {
    display: none;
}

/* Cards de TREES en medios. */
.trees-media-card-skeleton__imagen {
    width: 100%;
    height: var(--trees-medios-image-height, 125px);
}

.trees-media-card-skeleton__linea {
    display: block;
    width: 100%;
    height: 13px;
    border-radius: 999px;
}

.trees-media-card-skeleton__linea--fecha {
    width: 54%;
    height: 30px;
    margin-top: 10px;
    border-radius: 2px;
}

.trees-media-card-skeleton__linea--titulo {
    height: 18px;
}

.trees-media-card-skeleton__linea--corta {
    width: 64%;
}

/* Filas de repositorios. */
.trees-table-skeleton > td {
    box-sizing: border-box;
    width: 100%;
    padding: 18px 16px !important;
}

.trees-table-skeleton__contenido {
    display: grid;
    width: 100%;
    grid-template-columns: .7fr 2.2fr 1.1fr 1fr .45fr;
    align-items: center;
    gap: clamp(12px, 2vw, 28px);
    min-height: 72px;
}

.trees-table-skeleton__linea {
    display: block;
    width: 100%;
    height: 14px;
    border-radius: 999px;
}

.trees-table-skeleton__linea:nth-child(2) {
    height: 38px;
    border-radius: 6px;
}

.trees-table-skeleton__linea:nth-child(4) {
    width: 72%;
}

.trees-table-skeleton__linea:nth-child(5) {
    width: 28px;
    height: 28px;
    justify-self: end;
}

@keyframes trees-content-skeleton-shimmer {
    to {
        transform: translateX(100%);
    }
}

@keyframes trees-content-skeleton-enter {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

@media (max-width: 760px) {
    .trees-course-skeleton {
        flex-direction: column;
    }

    .trees-course-skeleton__imagen {
        flex: none;
        width: 100%;
    }

    .trees-course-skeleton__contenido {
        width: 100%;
    }

    .trees-timeline-skeleton__columna {
        flex-basis: min(100%, var(--lin-columna-ancho, 300px));
    }

    .trees-timeline-skeleton {
        inset: 24px 16px;
    }

    .trees-table-skeleton > td {
        display: block !important;
        width: auto !important;
    }

    .trees-table-skeleton__contenido {
        grid-template-columns: 1fr;
        gap: 12px;
        min-height: 210px;
    }

    .trees-table-skeleton__linea,
    .trees-table-skeleton__linea:nth-child(2),
    .trees-table-skeleton__linea:nth-child(4) {
        width: 100%;
    }

    .trees-table-skeleton__linea:nth-child(3) {
        width: 76%;
    }

    .trees-table-skeleton__linea:nth-child(4) {
        width: 58%;
    }

    .trees-table-skeleton__linea:nth-child(5) {
        justify-self: start;
    }
}

@media (prefers-reduced-motion: reduce) {
    .trees-card-skeleton__imagen::after,
    .trees-card-skeleton__linea::after,
    .trees-media-card-skeleton__imagen::after,
    .trees-media-card-skeleton__linea::after,
    .trees-table-skeleton__linea::after,
    .trees-course-skeleton__imagen::after,
    .trees-course-skeleton__linea::after,
    .trees-timeline-skeleton__linea::after,
    .contenedor-tarjetas.is-content-ready > .tarjeta,
    .trees-medios__listado.is-content-ready > .trees-medios__elemento,
    tbody.is-content-ready > tr,
    .cursos__grid.is-content-ready > .cursos__elemento,
    .quienes-somos__panel--lin.is-content-ready > .quienes-somos-lin__columnas {
        animation: none !important;
    }
}
