/* ============================================
   GALLERY.CSS - Gallery Section
   ============================================ */

#JL_details_gallery,
#JL_details_gallery_mob {
  padding: 50px 0;
  background: #f9f9f9;
}

.JL-details-gallery-title {
  margin-bottom: 20px;
  align-items: flex-end;
}
.JL-details-gallery-title h2 {
  font-size: 1.9rem;
  font-weight: 800;
  color: #1a1a2e;
  margin-bottom: 4px;
}
.JL-details-gallery-title p {
  font-size: 0.9rem;
  color: #6c757d;
  margin: 0;
}
.JL-details-gallery-title #button1,
.JL-details-gallery-title #mob-button1 {
  display: flex;
  gap: 10px;
}
.JL-details-gallery-title .bi-arrow-left-square-fill,
.JL-details-gallery-title .bi-arrow-right-square-fill {
  font-size: 2rem;
  color: #FF6D12;
  cursor: pointer;
  transition: color 0.2s, transform 0.2s;
}
.JL-details-gallery-title .bi-arrow-left-square-fill:hover,
.JL-details-gallery-title .bi-arrow-right-square-fill:hover {
  color: #cc5500;
  transform: scale(1.1);
}

/* Gallery Tab Buttons */
.JL-details-gallery-carousel-tab-btn,
.JL-details-gallery-carousel-tab-btn-mob {
  background: transparent;
  border: 2px solid #FF6D12;
  color: #FF6D12;
  padding: 7px 22px;
  border-radius: 6px;
  font-size: 0.88rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}
.JL-details-gallery-carousel-tab-btn.active,
.JL-details-gallery-carousel-tab-btn-mob.active,
.JL-details-gallery-carousel-tab-btn:hover {
  background: #FF6D12;
  color: #fff;
}

/* Gallery grid: exactly 2 rows × 4 columns (8 images) per slide */
.JL-details-gallery-carousel .JL-gallery-slide-grid {
  --jl-gallery-gap: 18px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, auto);
  gap: var(--jl-gallery-gap);
  margin: 0;
}
.JL-details-gallery-carousel .JL-gallery-slide-grid > .JL-gallery-stack {
  display: flex;
  flex-direction: column;
  gap: var(--jl-gallery-gap);
  margin: 0;
  min-width: 0;
}

/* Gallery Images */
.JL-details-gallery-carousel img,
.JL-details-gallery-carousel-mob img {
  border-radius: 10px;
  object-fit: cover;
  width: 100%;
  height: 180px;
  transition: transform 0.25s;
}
.JL-details-gallery-carousel .JL-gallery-slide-grid img {
  display: block;
  margin: 0;
}
.JL-details-gallery-carousel img:hover,
.JL-details-gallery-carousel-mob img:hover {
  transform: scale(1.03);
}

/* Mobile gallery: 2 rows × 2 columns per slide */
.JL-details-gallery-carousel-mob .JL-gallery-mob-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, auto);
  gap: 14px;
}
.JL-details-gallery-carousel-mob .JL-gallery-mob-grid img {
  height: 140px;
}

/* Lab / Foreigner Slider */
.container > #imageCarousel {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 6px 24px rgba(0,0,0,0.12);
}
.container > #imageCarousel img {
  height: 300px;
  object-fit: cover;
}

@media (max-width: 767px) {
  #JL_details_gallery { padding: 30px 0; }
  .JL-details-gallery-title h2 { font-size: 1.5rem; }
  .JL-details-gallery-carousel img { height: 140px; }
  .container > #imageCarousel img { height: 200px; }
}
