.elementor-763 .elementor-element.elementor-element-5300b53{--display:flex;}/* Start custom CSS for html, class: .elementor-element-acb9a1b *//* =========================
   GALLERY SECTION ONLY
========================= */

.jsl-gallery-section{
  padding-top:60px;
}

.jsl-gallery-head{
  margin-bottom:20px;
}

/* =========================
   FILTER BUTTONS (UPDATED)
========================= */

.jsl-gallery-filters{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:20px;
}

.jsl-filter-btn{
  padding:10px 16px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.15);
  background:#ffffff;          /* White background */
  color:#000000;               /* Black text */
  cursor:pointer;
  font-weight:700;
  transition:
    background .25s ease,
    color .25s ease,
    border-color .25s ease,
    transform .2s ease,
    box-shadow .25s ease;
  box-shadow:0 6px 14px rgba(0,0,0,.05);
}

.jsl-filter-btn:hover{
  background:#2E7D32;          /* Green on hover */
  border-color:#2E7D32;
  color:#ffffff;               /* White text on hover */
  transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(0,0,0,.12);
}

.jsl-filter-btn.is-active{
  background:#2E7D32;
  border-color:#2E7D32;
  color:#ffffff;
  box-shadow:0 12px 24px rgba(0,0,0,.14);
}

/* =========================
   GRID
========================= */

.jsl-gallery-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:14px;
}

@media (max-width: 980px){
  .jsl-gallery-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px){
  .jsl-gallery-grid{ grid-template-columns: 1fr; }
}

/* =========================
   GALLERY ITEMS
========================= */

.jsl-gallery-item{
  border:none;
  padding:0;
  border-radius:18px;
  overflow:hidden;
  cursor:pointer;
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 10px 22px rgba(0,0,0,.08);
  transition:
    transform .25s ease,
    box-shadow .25s ease;
  position:relative;
}

.jsl-gallery-item:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 34px rgba(0,0,0,.14);
}

.jsl-gallery-item img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  display:block;
  transition: transform .5s ease;
}

.jsl-gallery-item:hover img{
  transform:scale(1.04);
}

/* Badge */
.jsl-gallery-badge{
  position:absolute;
  bottom:12px;
  left:12px;
  background:rgba(0,0,0,.65);
  color:#fff;
  padding:6px 10px;
  border-radius:999px;
  font-size:.8rem;
  font-weight:700;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

/* =========================
   LIGHTBOX
========================= */

.jsl-lightbox{
  position:fixed;
  inset:0;
  display:none;
  z-index:9999;
}

.jsl-lightbox.is-open{
  display:block;
}

.jsl-lightbox-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.75);
}

.jsl-lightbox-panel{
  position:relative;
  max-width:900px;
  width:calc(100% - 28px);
  margin:6vh auto 0;
  background:#111;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,.45);
}

.jsl-lightbox-close{
  position:absolute;
  top:10px;
  right:10px;
  background:rgba(255,255,255,.12);
  border:none;
  color:#fff;
  width:42px;
  height:42px;
  border-radius:12px;
  font-size:20px;
  cursor:pointer;
  transition:background .2s ease;
}

.jsl-lightbox-close:hover{
  background:rgba(255,255,255,.22);
}

.jsl-lightbox-img{
  width:100%;
  max-height:70vh;
  object-fit:contain;
  background:#111;
}

.jsl-lightbox-caption{
  padding:12px;
  color:#fff;
  background:#111;
  border-top:1px solid rgba(255,255,255,.1);
}/* End custom CSS */