/* Layout a due colonne: colonna filtri fissa, contenuto flessibile */
.STILE_catalogo{

	article{

        display: flex;
        gap: 1rem;
        align-items: flex-start;

        .filtri{
            /* larghezza fissa per la colonna filtri */
            flex: 0 0 250px;
            width: 250px;
            max-width: 250px;
            min-height: 60svh;

            background-color: var(--colore01chiaro2);
            padding: 2rem;
            box-sizing: border-box;
            border-radius: 1rem;
            box-shadow: 0px 4px 16px -8px rgba(0, 0, 0, 0.2) inset;

            @media only screen and (max-width: 850px){
                min-height: 0;
            }

            ul{
                list-style: none;
                padding: 0;
                margin: 0;

                li{

                    letters-spacing: 0.02em;
                    transition: all 0.3s, color 0.3s;
                    cursor: pointer;

                    &.sel{  
                        color: var(--rosso);
                    }

                    &.cat-tit{
                        font-weight: bold;
                        margin-top: 1rem;
                        margin-bottom: 0.5rem;
                    }

                    a.sel{
                        color: var(--rosso);
                    }

                    &:not(.cat-tit){
                        padding-left: 1rem;
                        border-left: 1px solid var(--colore01);
                        border-radius: 0;
                        

                        &:hover, &.active{
                            border-left: 8px solid var(--nero);
                            a {
                                color: var(--nero);

                                
                            }


                        }
                    }
                }
            }

            /* Responsive: regole specifiche per .filtri */
            @media only screen and (max-width: 850px){
                flex: 0 0 auto;
                width: 100%;
                max-width: none;
                order: -1; /* opzionale: mostra il contenuto prima dei filtri */
            }
        }

        .cont-elem{
            /* riempie lo spazio rimanente */
            flex: 1 1 auto;
            min-width: 0; /* permette il corretto wrapping/ellipsis dei figli */

            display: flex;
            flex-direction: column;
            gap: 1rem;

            

            .lista-elem{

                position: relative;
                overflow: clip;
                display: block;

                display: grid;
                grid-template-columns: 200px 1fr;
                gap: .5rem;
                border-radius: 1rem;
                border: 2px solid var(--colore01chiaro2);

                @media only screen and (max-width: 1260px){
                    grid-template-columns: 160px 1fr;
                    
                }

                @media only screen and (max-width: 850px){
                    grid-template-columns: 2fr 3fr;
                    gap: 0;
                }

                @media only screen and (max-width: 380px){
                    grid-template-columns: 1fr;
                    
                }

                .immagine{
                    
                    width: 100%;
                    height: 100%;
                    min-height: 140px;

                    img{
                        display: block;
                        width: 100%;
                        height: 100%;
                        object-fit: cover;
                        
                    }
                }

                .testo{
                    display: grid;
                    grid-template-columns: 3fr 1fr 1fr min-content;

                    @media only screen and (max-width: 850px){
                        grid-template-columns: 1fr;
                    }

                    .col{
                        border-right: 2px solid var(--colore01chiaro2);
                        padding-right: .5rem;

                        display: flex;
                        flex-direction: column;
                        justify-content: center;
                        text-align: center;

                        padding: 1rem .5rem;
                        font-size: 0.9rem;

                        @media only screen and (max-width: 850px){
                            border-right: none;
                            border-bottom: 2px solid var(--colore01chiaro2);
                            text-align: left;
                            padding-left: 1rem;
                        }
                        
                        &:first-child{
                            text-align: left;
                        }

                        &:last-child{
                            border-right: none;
                            border-bottom: none;
                        }

                        &.cta-cont{

                            display: flex;
                            align-items: center;
                            justify-content: center;
                            flex-direction: column;

                            background-color: var(--grigio06);
                            .cta{
                                display: block;
                                font-size: 2.2rem;
                                padding: 3px;
                            }
                        }

                        img.logo-list{
                            width: 200px;
                            height: auto;
                            max-width: 90% !important;
                            margin: 0 auto;
                            display: block;
                        }
                        
                    }
                }
            }

            /* Responsive: regole specifiche per .cont-elem */
            @media only screen and (max-width: 850px){
                order: 1;
            }
        }

        
        @media only screen and (max-width: 850px){
            flex-direction: column;
        }
    }
}
