/* Professional gallery + slider (generic) */

.mps-gallery-pro {
  background: linear-gradient(160deg,#f0f7f3 0%,#e8f4ee 50%,#f5f9f7 100%);
  padding: 90px 0;
  position: relative;
  overflow: hidden;
}
.mps-gallery-pro::before {
  content:'';
  position:absolute;
  top:0; left:0; right:0;
  height:4px;
  background: linear-gradient(to right,#0a5c38,#f0a500,#1b3a5c,#f0a500,#0a5c38);
}
.mps-gallery-pro .mps-section {
  text-align:center;
  margin-bottom:48px;
}
.mps-gallery-pro .mps-chip {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 7px 16px;
  border-radius:30px;
  background: linear-gradient(135deg,#e8f5ee,#d0eddf);
  border:1px solid #b8dfc8;
  color:#0a5c38;
  font-size:12px;
  font-weight:700;
  letter-spacing:1.5px;
  text-transform:uppercase;
}
.mps-gallery-pro .mps-section h2{
  color:#1b3a5c;
  font-size:38px;
  font-weight:800;
  margin: 0;
}
.mps-gallery-pro .mps-section h2 span{ color:#0a5c38; }
.mps-gallery-pro .mps-divider{
  width:50px;
  height:3px;
  background: linear-gradient(to right,#0a5c38,#f0a500);
  border-radius:2px;
  margin: 12px auto 14px;
}
.mps-gallery-pro .mps-sub{
  color:#666;
  font-size:17px;
  max-width:580px;
  margin:0 auto;
  line-height: 1.8;
}

/* Slider */
.gal-slider-wrap-pro{
  position: relative;
  padding: 0 52px;
}
.gal-slider-pro{
  overflow:hidden;
  border-radius:14px;
}
.gal-track-pro{
  display:flex;
  align-items:stretch;
  transition:transform .5s cubic-bezier(.4,0,.2,1);
}
.gal-slide-pro{
  flex:0 0 25%;
  max-width:25%;
  padding: 0 7px;
  box-sizing:border-box;
}
.gal-img-wrap-pro{
  border-radius:12px;
  overflow:hidden;
  position:relative;
  cursor:pointer;
  display:block;
  box-shadow:0 4px 18px rgba(0,0,0,.1);
}
.gal-img-wrap-pro img{
  width:100%;
  height:240px;
  object-fit:cover;
  display:block;
  transition:transform .5s ease, filter .5s ease;
}
.gal-img-wrap-pro:hover img{
  transform:scale(1.07);
  filter:brightness(.65);
}
.gal-overlay-pro{
  position:absolute;
  inset:0;
  background: linear-gradient(to top, rgba(10,92,56,.82) 0%, transparent 55%);
  opacity:0;
  transition:opacity .35s ease;
  display:flex;
  align-items:center;
  justify-content:center;
}
.gal-img-wrap-pro:hover .gal-overlay-pro{ opacity:1; }
.gal-zoom-pro{
  width:54px;
  height:54px;
  border-radius:50%;
  border:2px solid #fff;
  background: rgba(0,0,0,.35);
  display:flex;
  align-items:center;
  justify-content:center;
  transform: scale(.5) rotate(-10deg);
  opacity:0;
  transition: transform .38s cubic-bezier(.34,1.56,.64,1), opacity .28s;
}
.gal-img-wrap-pro:hover .gal-zoom-pro{
  transform: scale(1) rotate(0);
  opacity:1;
}
.gal-zoom-pro i{ color:#fff; font-size:18px; }

.gal-btn-pro{
  position:absolute;
  top:50%;
  transform: translateY(-50%);
  width:44px;
  height:44px;
  border-radius:50%;
  background:#fff;
  border:2px solid #d0eddf;
  color:#0a5c38;
  font-size:17px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 4px 16px rgba(0,0,0,.12);
  transition:all .25s;
  z-index:10;
  outline:none;
}
.gal-btn-pro:hover{
  background:#0a5c38;
  border-color:#0a5c38;
  color:#fff;
  transform: translateY(-50%) scale(1.1);
}
.gal-btn-pro-prev{ left:0; }
.gal-btn-pro-next{ right:0; }

.gal-dots-pro{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:28px;
}
.gal-dot-pro{
  width:9px;
  height:9px;
  border-radius:50%;
  background:#b8dfc8;
  cursor:pointer;
  transition:background .3s, transform .3s;
  border:none;
  outline:none;
  padding:0;
}
.gal-dot-pro.active{ background:#0a5c38; transform:scale(1.4); }

.gallery-view-btn-pro{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:13px 34px;
  border-radius:50px;
  background:linear-gradient(135deg,#0a5c38,#1a8a52);
  color:#fff;
  font-size:15px;
  font-weight:700;
  text-decoration:none;
  letter-spacing:.3px;
  box-shadow:0 6px 22px rgba(10,92,56,.3);
  transition:all .3s ease;
  margin-top:36px;
  position:relative;
  z-index:1;
}
.gallery-view-btn-pro:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 30px rgba(10,92,56,.4);
  color:#fff;
  text-decoration:none;
}
.gallery-view-btn-pro i{ transition:transform .3s; }
.gallery-view-btn-pro:hover i{ transform:translateX(5px); }

@media(max-width:991px){
  .gal-slide-pro{ flex:0 0 33.3333%; max-width:33.3333%; }
  .gal-slider-wrap-pro{ padding:0 38px; }
}
@media(max-width:767px){
  .gal-slider-wrap-pro{ padding:0 36px; }
  .gal-slide-pro{ flex:0 0 50%; max-width:50%; }
  .gal-img-wrap-pro img{ height:185px; }
}
@media(max-width:479px){
  .gal-slide-pro{ flex:0 0 100%; max-width:100%; }
  .gal-slider-wrap-pro{ padding:0 28px; }
}

