.gcs-gallery{
    display:grid;
    grid-gap:10px;
    grid-template-columns:repeat(2,1fr);
}

@media(min-width:600px){
    .gcs-gallery{grid-template-columns:repeat(2,1fr);}
}
@media(min-width:800px){
    .gcs-gallery{grid-template-columns:repeat(4,1fr);}
}
@media(min-width:1200px){
    .gcs-gallery{grid-template-columns:repeat(6,1fr);}
}

.gcs-gallery-item{
    overflow:hidden;
}
.gcs-gallery-item img{
    width:100%;
    aspect-ratio:1/1;
    height:auto;
    display:block;
    object-fit:cover;
    transition:transform 0.3s ease;
}
.gcs-gallery-item img:hover{
    transform:scale(1.03);
}

.gcs-gallery-wrapper{
    width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
}

.gcs-download-all{
    display:inline-block;
    margin:0 0 1rem 1rem;
    padding:0.5rem 1rem;
    background:#ec4899;
    color:#fff;
    text-decoration:none;
    border-radius:4px;
}

.gcs-modal{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,0.8);
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:9999;
}
.gcs-modal.hidden{display:none;}
.gcs-modal-content{
    position:relative;
    width:100vw;
    height:100vh;
    max-width:100vw;
    max-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
}
.gcs-modal-image{
    max-width:100%;
    max-height:100%;
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
}
.gcs-modal-close,
.gcs-modal-prev,
.gcs-modal-next{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    background:rgba(0,0,0,0.5);
    color:#fff;
    border:none;
    padding:0.5rem;
    cursor:pointer;
}
.gcs-modal-close{top:10px;right:10px;transform:none;}
.gcs-modal-prev{left:-40px;}
.gcs-modal-next{right:-40px;}
.gcs-modal-download{
    position:absolute;
    top:0;
    left:0;
    margin:0;
    background:rgba(0,0,0,0.6);
    color:#fff;
    padding:0.5rem 1rem;
    text-decoration:none;
    border-radius:0;
}
