/* Ocultar barra de scroll nativa */
.proyectos-scroll::-webkit-scrollbar { display: none; }
.proyectos-scroll { -ms-overflow-style: none; scrollbar-width: none; }

/* Estado activo del proyecto (sin blur, opacidad 100%, texto blanco) - Escritorio (A partir de 1025px) */
@media (min-width: 1025px) {
    html, body {
        overflow: hidden !important;
        height: 100vh !important;
        height: 100svh !important;
    }

    #project-list {
        scroll-snap-type: none !important;
    }

    .project-item {
        padding: 6vh 0; /* Aumentamos mucho el padding para que cada proyecto ocupe más espacio de scroll */
        scroll-snap-align: none !important;
        scroll-snap-stop: normal !important;
        transition: all 0.8s ease-in-out;
        opacity: 0.55;
        filter: blur(1.5px);
    }

    .project-item h2 { 
        color: rgba(255, 255, 255, 0.45); 
        transition: color 0.8s ease-in-out, transform 0.8s ease-in-out;
    }

    .project-item.active { 
        opacity: 1 !important; 
        filter: blur(0) !important; 
    }

    .project-item.active h2 { 
        color: #ffffff; 
        transform: scale(1.05); /* Un ligero aumento para resaltar el activo */
    }

    @media (prefers-reduced-motion: reduce) {
        .project-item {
            opacity: 0.7 !important;
            filter: none !important;
            transition: none !important;
        }
        .project-item h2 {
            color: rgba(255, 255, 255, 0.65) !important;
            transition: none !important;
            transform: none !important;
        }
        .project-item.active {
            opacity: 1 !important;
            filter: none !important;
        }
        .project-item.active h2 {
            color: #ffffff !important;
            transform: none !important;
        }
    }
    
    .proyectos-scroll {
        /* Ajuste de velocidad de scroll si fuera necesario, aunque scroll-snap ya lo controla */
        scroll-padding-top: 10vh;
        scroll-padding-bottom: 10vh;
        mask-image: linear-gradient(to bottom, transparent 0%, #000 15%, #000 85%, transparent 100%);
        -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 15%, #000 85%, transparent 100%);
    }

    /* Contenedor del proyecto con scroll interno premium */
    #project-details {
        min-height: 0 !important;
        max-height: 100% !important;
        overflow-y: auto !important;
        margin: 3rem 0 3rem 0;
        scrollbar-width: thin;
        --scrollbar-thumb-color: rgba(155, 89, 182, 0.25);
        scrollbar-color: var(--scrollbar-thumb-color) transparent;
        transition: scrollbar-color 0.4s ease;
    }

    #project-details:hover {
        --scrollbar-thumb-color: rgba(155, 89, 182, 0.85);
    }

    #project-details.hide-scrollbar {
        --scrollbar-thumb-color: transparent !important;
        scrollbar-color: transparent transparent !important;
    }

    #project-details::-webkit-scrollbar {
        width: 6px;
    }

    #project-details::-webkit-scrollbar-thumb {
        background-color: var(--scrollbar-thumb-color);
        border-radius: 10px;
        transition: background-color 0.4s ease;
    }

    #project-details::-webkit-scrollbar-track {
        background-color: transparent;
        border-radius: 10px;
    }
}

/* Ajustes para pantallas de escritorio con altura reducida (< 850px) */
@media (min-width: 1025px) and (max-height: 850px) {
    main {
        margin-top: 110px !important;
        height: calc(100vh - 110px) !important;
    }

    .project-item {
        padding: 4vh 0 !important;
        opacity: 0.55 !important; /* Más visible para que se note la lista */
        filter: blur(3px) !important; /* Menos blur para legibilidad */
    }

    .project-item.active {
        opacity: 1 !important;
        filter: blur(0) !important;
    }

    .project-spacer {
        height: 15vh !important; /* Espaciador más corto para revelar el siguiente proyecto */
    }
}

/* Animación del indicador de scroll */
@keyframes scrollLine {
    0% { transform: translateY(-100%); }
    70% { transform: translateY(300%); }
    100% { transform: translateY(300%); }
}

.animate-scroll-line {
    animation: scrollLine 2s infinite cubic-bezier(0.16, 1, 0.3, 1);
}

/* Estilos para el efecto Deslizable / Carrusel en Móvil (Hasta 1024px inclusive) */
@media (max-width: 1024px) {
    html, body {
        overflow: hidden !important;
        height: 100vh !important;
        height: 100svh !important;
    }

    :root {
        --header-height-mobile: 90px;
    }

    #project-list {
        display: flex !important;
        flex-direction: row !important;
        width: 100%;
        height: calc(100vh - var(--header-height-mobile)) !important;
        height: calc(100svh - var(--header-height-mobile)) !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory !important;
        scroll-behavior: smooth !important;
        -webkit-overflow-scrolling: touch;
        align-items: center !important;
        padding: 0 8vw 35px 8vw !important;
        gap: 20px !important;
    }

    .project-item {
        position: relative !important;
        flex-shrink: 0 !important;
        width: 84vw !important;
        max-width: none !important;
        height: calc(100vh - var(--header-height-mobile) - 75px) !important;
        height: calc(100svh - var(--header-height-mobile) - 75px) !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        background-color: #010101 !important; 
        padding: 24px 20px !important;
        box-shadow: 0 10px 30px rgba(0,0,0,0.5) !important; 
        border: 1px solid rgba(155, 89, 182, 0.2) !important;
        border-radius: 16px !important;
        scroll-snap-align: center !important;
        transition: transform 0.3s ease, border-color 0.3s ease !important;
        will-change: transform, border-color;
        opacity: 1 !important;
        filter: none !important;
    }

    .project-item h2 {
        font-size: 2.2rem !important;
        padding-left: 0 !important;
        margin-bottom: 12px !important;
        line-height: 1.1 !important;
        width: 100% !important;
        text-align: left !important;
        color: #ffffff !important;
        transform: none !important;
    }

    .project-item.active {
        border-color: rgba(155, 89, 182, 0.8) !important;
        transform: scale(1.02) !important;
    }
    
    .project-details-container {
        margin-top: 15px !important;
        flex-grow: 1 !important;
        max-height: calc(100% - 60px) !important;
        overflow-y: auto !important;
        padding-right: 8px !important;
        scrollbar-width: thin;
        --mobile-scrollbar-color: rgba(155, 89, 182, 0.35);
        scrollbar-color: var(--mobile-scrollbar-color) transparent;
        transition: scrollbar-color 0.3s ease;

        article{
            border-left: none !important;
            padding: 2px !important;
        }
    }

    .project-details-container:hover {
        --mobile-scrollbar-color: rgba(155, 89, 182, 0.85);
    }

    .project-details-container::-webkit-scrollbar {
        width: 4px;
    }
    .project-details-container::-webkit-scrollbar-thumb {
        background-color: var(--mobile-scrollbar-color);
        border-radius: 10px;
        transition: background-color 0.3s ease;
    }

    /* Animación horizontal para el chevron móvil */
    @keyframes bounceHorizontal {
        0%, 100% { transform: translateX(0); }
        50% { transform: translateX(4px); }
    }

    .animate-bounce-horizontal {
        animation: bounceHorizontal 1.5s infinite ease-in-out;
    }
}
