#lucrari{

padding:70px 0;

background:#fff;

}

.gallery-title{

text-align:center;

margin-bottom:60px;

}

.gallery-title h1{

font-size:44px;

margin-bottom:15px;

color:#123c67;

}

.gallery-title p{

max-width:700px;

margin:auto;

font-size:18px;

line-height:1.7;

color:#666;

}

#gallery-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:25px;

}

.gallery-item{

overflow:hidden;

border-radius:12px;

cursor:pointer;

box-shadow:0 8px 25px rgba(0,0,0,.08);

transition:.3s;

background:#fff;

}

.gallery-item:hover{

transform:translateY(-6px);

}

.gallery-item img{

display:block;

width:100%;

height:260px;

object-fit:cover;

transition:.4s;

}

.gallery-item:hover img{

transform:scale(1.08);

}

.gallery-button{

margin:50px 0;

text-align:center;

}

.gallery-button button{

padding:15px 30px;

font-size:17px;

border:none;

border-radius:50px;

background:#1e40af;

color:#fff;

cursor:pointer;

}

.gallery-button button:hover{

background:#16368e;

}

@media(max-width:900px){

#gallery-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:600px){

#gallery-grid{

grid-template-columns:1fr;

}

.gallery-title h1{

font-size:34px;

}

.gallery-item img{

height:220px;

}

}
/* ===========================
   LIGHTBOX
=========================== */

.lightbox{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.92);

    display:none;

    justify-content:center;

    align-items:center;

    z-index:99999;

}

.lightbox.active{

    display:flex;

}

.lightbox img{

    max-width:90vw;

    max-height:88vh;

    border-radius:12px;

    box-shadow:0 15px 45px rgba(0,0,0,.45);

}

.lb-close{

    position:absolute;

    top:20px;

    right:30px;

    font-size:42px;

    color:white;

    background:none;

    border:none;

    cursor:pointer;

}

.lb-arrow{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:55px;

    height:55px;

    border-radius:50%;

    border:none;

    cursor:pointer;

    background:rgba(255,255,255,.15);

    color:white;

    font-size:28px;

    transition:.25s;

}

.lb-arrow:hover{

    background:#1e40af;

}

.lb-prev{

    left:30px;

}

.lb-next{

    right:30px;

}

.lb-counter{

    position:absolute;

    bottom:25px;

    color:white;

    font-size:18px;

    font-weight:600;

}

@media(max-width:768px){

.lb-arrow{

width:45px;

height:45px;

font-size:22px;

}

.lb-prev{

left:10px;

}

.lb-next{

right:10px;

}

.lb-close{

right:15px;

top:10px;

}

}
/* ==========================
   MOBILE OPTIMIZATION
========================== */

@media (max-width: 768px){

    .gallery-hero{

        padding:35px 15px 20px;

    }

    .gallery-hero h1{

        font-size:32px;
        line-height:1.2;
        margin-bottom:12px;

    }

    .gallery-hero p{

        font-size:16px;
        line-height:1.6;
        max-width:100%;

    }

    .gallery{

        padding:0 15px 40px;

    }

    #gallery-grid{

        display:grid;
        grid-template-columns:1fr;
        gap:18px;

    }

    .gallery-item{

        border-radius:14px;

    }

    .gallery-item img{

        width:100%;
        height:auto;
        aspect-ratio:4/3;
        object-fit:cover;
        display:block;

    }

    .gallery-info{

        margin-bottom:25px;

    }

    .gallery-info p{

        font-size:15px;
        line-height:1.7;
        text-align:left;

    }

    .gallery-note{

        margin-top:25px;
        text-align:center;

    }

    .gallery-note p{

        font-size:14px;

    }

    /* Lightbox */

    .lightbox img{

        max-width:96vw;
        max-height:75vh;

    }

    .lb-arrow{

        width:42px;
        height:42px;
        font-size:20px;

    }

    .lb-prev{

        left:8px;

    }

    .lb-next{

        right:8px;

    }

    .lb-close{

        top:10px;
        right:15px;
        font-size:36px;

    }

    .lb-counter{

        bottom:12px;
        font-size:15px;

    }

}