/* =========================================================
   COEIG — VIDRIERA DE PROYECTOS
   Público · Estático · Solo lectura
========================================================= */


/* =========================================================
   MODAL / FONDO
========================================================= */

.projects-showcase{

    position:fixed;

    inset:0;

    z-index:9500;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:20px;

    background:rgba(0,10,22,.72);

    backdrop-filter:blur(8px);

    opacity:0;
    visibility:hidden;
    pointer-events:none;

    transition:
        opacity .25s ease,
        visibility .25s ease;
}


.projects-showcase.is-open{

    opacity:1;

    visibility:visible;

    pointer-events:auto;
}


/* =========================================================
   VENTANA
========================================================= */

.projects-showcase-box{

    position:relative;

    width:min(520px,94vw);

    max-height:min(650px,88vh);

    display:flex;
    flex-direction:column;

    padding:24px;

    border:1px solid rgba(25,194,255,.25);

    border-radius:22px;

    background:
        linear-gradient(
            145deg,
            rgba(12,34,60,.97),
            rgba(5,20,38,.98)
        );

    box-shadow:
        0 25px 70px rgba(0,0,0,.65),
        0 0 35px rgba(25,194,255,.08);

    transform:
        translateY(15px)
        scale(.97);

    transition:
        transform .25s ease;

    overflow:hidden;
}


.projects-showcase.is-open
.projects-showcase-box{

    transform:
        translateY(0)
        scale(1);
}


/* =========================================================
   CERRAR
   MISMO ESTILO QUE SLEVIA
========================================================= */

.projects-showcase-close{

    position:absolute;

    top:12px;
    right:15px;

    z-index:5;

    width:30px;
    height:30px;

    display:flex;
    align-items:center;
    justify-content:center;

    /*
    ---------------------------------------------------------
    IMPORTANTE:
    SIN BORDE
    SIN FONDO
    SIN CÍRCULO
    ---------------------------------------------------------
    */

    border:0;

    border-radius:0;

    background:transparent;

    color:#6f9daf;

    font-size:25px;

    line-height:1;

    cursor:pointer;

    transition:
        color .2s ease,
        transform .2s ease;
}


.projects-showcase-close:hover{

    color:#fff;

    transform:
        rotate(90deg)
        scale(1.1);
}


.projects-showcase-close:focus{

    outline:none;
}


.projects-showcase-close:focus-visible{

    outline:2px solid #19c2ff;

    outline-offset:3px;
}


/* =========================================================
   CABECERA
========================================================= */

.projects-showcase-label{

    margin-bottom:6px;

    color:#19c2ff;

    font-size:10px;

    font-weight:800;

    letter-spacing:2px;
}


.projects-showcase-box h2{

    margin:0;

    color:#f1f8ff;

    font-size:25px;

    font-weight:700;
}


.projects-showcase-intro{

    margin:7px 35px 18px 0;

    color:rgba(229,245,255,.72);

    font-size:13px;

    line-height:1.5;
}


/* =========================================================
   LISTA CON SCROLL
========================================================= */

.projects-showcase-list{

    flex:1;

    min-height:0;

    max-height:470px;

    overflow-y:auto;

    overflow-x:hidden;

    padding-right:7px;
}


/* =========================================================
   SCROLLBAR
========================================================= */

.projects-showcase-list::-webkit-scrollbar{

    width:6px;
}


.projects-showcase-list::-webkit-scrollbar-track{

    background:rgba(255,255,255,.04);

    border-radius:10px;
}


.projects-showcase-list::-webkit-scrollbar-thumb{

    background:rgba(25,194,255,.35);

    border-radius:10px;
}


.projects-showcase-list::-webkit-scrollbar-thumb:hover{

    background:rgba(25,194,255,.55);
}


/* =========================================================
   TARJETA
========================================================= */

.showcase-project{

    display:flex;

    gap:14px;

    margin-bottom:12px;

    padding:12px;

    border:1px solid rgba(255,255,255,.08);

    border-radius:15px;

    background:rgba(255,255,255,.055);

    user-select:none;

    transition:
        border-color .2s ease,
        background .2s ease,
        transform .2s ease;
}


.showcase-project:hover{

    border-color:rgba(25,194,255,.20);

    background:rgba(255,255,255,.075);

    transform:translateY(-1px);
}


.showcase-project:last-child{

    margin-bottom:0;
}


/* =========================================================
   IMAGEN
========================================================= */

.showcase-project-image{

    width:78px;
    height:78px;

    flex:0 0 78px;

    object-fit:cover;

    border-radius:12px;

    background:rgba(255,255,255,.06);

    box-shadow:
        0 5px 15px rgba(0,0,0,.3);
}


.showcase-project-no-image{

    width:78px;
    height:78px;

    flex:0 0 78px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:12px;

    background:rgba(25,194,255,.08);

    color:#19c2ff;

    font-size:25px;

    font-weight:800;
}


/* =========================================================
   INFORMACIÓN
========================================================= */

.showcase-project-content{

    min-width:0;

    flex:1;
}


.showcase-project-title{

    margin:2px 0 6px;

    color:#f0f7ff;

    font-size:15px;

    font-weight:700;

    white-space:nowrap;

    overflow:hidden;

    text-overflow:ellipsis;
}


.showcase-project-description{

    margin:0;

    color:rgba(229,245,255,.72);

    font-size:12px;

    line-height:1.45;

    display:-webkit-box;

    -webkit-line-clamp:3;

    -webkit-box-orient:vertical;

    overflow:hidden;
}


.showcase-project-status{

    display:inline-block;

    margin-top:8px;

    padding:4px 7px;

    border-radius:7px;

    background:rgba(25,194,255,.09);

    border:1px solid rgba(25,194,255,.15);

    color:#8cddff;

    font-size:9px;

    font-weight:800;

    letter-spacing:.8px;
}


/* =========================================================
   ESTADOS
========================================================= */

.projects-loading,
.projects-empty,
.projects-error{

    padding:35px 15px;

    text-align:center;

    color:rgba(229,245,255,.65);

    font-size:13px;
}


.projects-error{

    color:#ffb4b4;
}


/* =========================================================
   REDONDITO DE PROYECTOS
========================================================= */

#openProjectsShowcase{

    cursor:pointer;
}


#openProjectsShowcase:focus-visible{

    outline:2px solid #19c2ff;

    outline-offset:4px;
}


/* =========================================================
   MÓVIL
========================================================= */

@media(max-width:650px){

    .projects-showcase{

        padding:12px;
    }


    .projects-showcase-box{

        width:100%;

        max-height:90vh;

        padding:20px;

        border-radius:19px;
    }


    .projects-showcase-box h2{

        font-size:21px;
    }


    .projects-showcase-list{

        max-height:65vh;
    }


    .showcase-project-image,
    .showcase-project-no-image{

        width:65px;

        height:65px;

        flex-basis:65px;
    }


    /*
    ---------------------------------------------------------
    CIERRE EN MÓVIL
    ---------------------------------------------------------
    */

    .projects-showcase-close{

        top:11px;

        right:13px;

        width:30px;

        height:30px;

        border:0;

        border-radius:0;

        background:transparent;

        font-size:24px;
    }

}