/* Ocultar contenido real del contenedor inicialmente y prepararlo para la estructura */
.seccion-scroll {
    position: relative;
}

.seccion-scroll:not(.tv-ready-2821de9f) > * {
    opacity: 0;
    pointer-events: none;
}

.seccion-scroll.tv-ready-2821de9f > * {
    opacity: 1;
    pointer-events: auto;
}

/* Única capa de estor para el efecto de izquierda a derecha */
.tv-blind-left-2821de9f {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #ffffff; /* Color del estor */
    z-index: 9999;
    pointer-events: none;
    opacity: 1;
    /* Estado inicial: cortina cerrada, borde derecho recto */
    clip-path: polygon(0 0, 100% 0, 100% 50%, 100% 100%, 0 100%);
    transform: translateX(0);
}

/* 
 * Animación asimétrica extrema:
 * La parte superior se adelanta mucho más, y la parte central se hunde para un borde más cóncavo.
 * La parte inferior se resiste a moverse hasta el final.
 */
.seccion-scroll.tv-loaded-2821de9f .tv-blind-left-2821de9f {
    animation: slide-hooked-2821de9f 0.5s cubic-bezier(0.55, 0.055, 0.675, 0.19) forwards;
}

@keyframes slide-hooked-2821de9f {
    0% {
        clip-path: polygon(0 0, 100% 0, 100% 50%, 100% 100%, 0 100%);
        transform: translateX(0);
    }
    30% {
        /* Superior avanza rápido, centro se retrasa mucho (cóncavo), inferior casi no se mueve */
        clip-path: polygon(0 0, 130% 0, calc(100% - 60px) 50%, 101% 100%, 0 100%);
        transform: translateX(5%);
    }
    60% {
        /* Superior casi fuera, centro muy cóncavo, inferior empieza a moverse */
        clip-path: polygon(0 0, 160% 0, calc(105% - 80px) 50%, 105% 100%, 0 100%);
        transform: translateX(25%);
    }
    80% {
        clip-path: polygon(0 0, 200% 0, calc(120% - 60px) 50%, 115% 100%, 0 100%);
        transform: translateX(60%);
    }
    100% {
        /* Todo fuera */
        clip-path: polygon(0 0, 100% 0, 100% 50%, 100% 100%, 0 100%);
        transform: translateX(100%);
    }
}

/* Ocultar la persiana después de la animación para no interferir con clicks */
.seccion-scroll.tv-finished-2821de9f .tv-blind-left-2821de9f {
    display: none;
}