/* ==========================
   GENERAL
========================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:Arial, Helvetica, sans-serif;
    background:#f5f5f5;
    color:#333;
    
}

/* ==========================
   HEADER
========================== */

header{
    background:#111;
    color:#fff;
    text-align:center;
    padding:20px 20px;
}

header h1{
    font-size:42px;
    margin-bottom:10px;
    letter-spacing:2px;
}

header p{
    color:#ccc;
    font-size:18px;
}

/* ==========================
   GALLERY
========================== */

.gallery{

    max-width:1200px;

    margin:30px auto;

    padding:20px;

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:10px;

}

/* ==========================
   ART CARD
========================== */

.art-card{

    background:#fff;

    border-radius:12px;

    overflow:hidden;

    box-shadow:0 8px 25px rgba(0,0,0,.12);

    transition:.35s;

}

.art-card:hover{

    transform:translateY(-8px);

    box-shadow:0 18px 35px rgba(0,0,0,.18);

}

/* ==========================
   IMAGE
========================== */

.art-card img{

    width:100%;
    height:280px;
    object-fit:cover;
    cursor:pointer;
    transition:.4s;

}

.art-card img:hover{

    transform:scale(1.08);

}

/* ==========================
   DETAILS
========================== */

.details{

    padding:20px;

}

.details h3{

    font-size:24px;

    margin-bottom:15px;

}

.details p{

    margin-bottom:10px;

    color:#555;

    line-height:1;

}

/* ==========================
   BUTTON
========================== */

.details button{

    margin-top:15px;

    width:100%;

    border:none;

    background:#000;

    color:#fff;

    padding:14px;

    border-radius:6px;

    cursor:pointer;

    font-size:16px;

    transition:.3s;

}

.details button:hover{

    background:#d4af37;

    color:#000;

}

/* ==========================
   LIGHTBOX
========================== */

.lightbox{

    position:fixed;
    left:0;
    top:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,.92);
    display:none;
    justify-content:center;
    align-items:center;
    z-index:9999;
}

.lightbox img{

    max-width:60%;
    max-height:60%;
    border-radius:10px;
    box-shadow:0 0 25px rgba(255,255,255,.25);
    animation:zoom .35s;

}

.close{

    position:absolute;

    top:25px;

    right:40px;

    font-size:55px;

    color:white;

    cursor:pointer;

    transition:.3s;

}

.close:hover{

    color:#d4af37;

}

/* ==========================
   ANIMATION
========================== */

@keyframes zoom{

    from{

        transform:scale(.6);

        opacity:0;

    }

    to{

        transform:scale(1);

        opacity:1;

    }

}

/* ==========================
   TABLET
========================== */

@media(max-width:992px){

.gallery{

grid-template-columns:repeat(2,1fr);

}

}

/* ==========================
   MOBILE
========================== */

@media(max-width:600px){

header h1{

font-size:30px;

}

.gallery{

grid-template-columns:1fr;

padding:15px;

}

.art-card img{

height:260px;

}

.details h3{

font-size:20px;

}

}


/* Previous Button */

.prev,
.next{

position:absolute;

top:50%;

transform:translateY(-50%);

font-size:60px;

color:#fff;

cursor:pointer;

padding:20px;

user-select:none;

transition:.3s;

}

.prev{

left:30px;

}

.next{

right:30px;

}

.prev:hover,
.next:hover{

color:#d4af37;

}


/* ---------- Lightbox Content ---------- */

.lightbox-content{

    display:flex;
    align-items:center;
    justify-content:center;
    gap:60px;          /* Increase or decrease */
    width:90%;
    max-width:1200px;
    

}

#lightboxImage{

    width:500px;
    max-width:45%;
    height:auto;
    border-radius:10px;

}




.lightbox-details{

    width:350px;
    color:#fff;

}

.lightbox-details h2{

    font-size:30px;
    margin-bottom:10px;

}

.lightbox-details p{

    margin:4px 0;
    font-size:17px;
    line-height:1.3;

}





#counter{

margin-top:30px;

font-size:20px;

font-weight:bold;

color:#d4af37;

}

@media (max-width: 900px){

    .lightbox-content{

        flex-direction:column;

        align-items:center;

        gap:25px;

    }

    #lightboxImage{

        width:65%;
        max-width:500px;
        max-height:60vh;
        object-fit:contain;

    }

    .lightbox-details{

        width:90%;
        max-width:320px;
        text-align:left;

    }

    .lightbox-details h2{

        font-size:24px;

    }

    .lightbox-details p{

        font-size:15px;

        margin:8px 0;

    }

}


/*=========================================
            FOOTER
==========================================*/

footer{

    margin-top:50px;
    background:#222;
    color:#fff;
    text-align:center;
    padding:30px;

}
