
.plj-carousel {
  overflow: hidden;
  width: 100%;
  position: relative;
}

.plj-track {
  display: flex;
  gap: 24px;
  transition: transform 0.6s ease;
}

.plj-card {
  flex: 0 0 320px;
  background: #fff;
  border-radius: 14px;
  padding: 20px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
  text-align: center;
}

.plj-photo img {
  display: block;
  margin: 0 auto 16px auto;
  max-width: 180px;
  border-radius: 10px;
}

.plj-text {
  font-size: 0.95rem;
  line-height: 1.5;
  margin-bottom: 14px;
  text-align: left;
}

.plj-meta {
  font-weight: 600;
  text-align: left;
}


/* Lightbox zoom */
.plj-photo img{ cursor: zoom-in; }
.plj-lightbox-overlay{
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.78);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 999999;
    padding: 24px;
}
.plj-lightbox-overlay.active{ display:flex; }
.plj-lightbox-overlay img{
    max-width: 90vw;
    max-height: 90vh;
    width: auto;
    height: auto;
    border-radius: 14px;
    box-shadow: 0 14px 40px rgba(0,0,0,0.35);
    cursor: zoom-out;
}


/* Lightbox (full testimonial card) */
.plj-lightbox-overlay{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.75);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 99999;
  padding: 20px;
}
.plj-lightbox-overlay.active{ display:flex; }

.plj-lightbox-modal{
  width: min(760px, 92vw);
  max-height: 92vh;
  overflow: auto;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 16px 48px rgba(0,0,0,.35);
  padding: 22px;
}

.plj-lightbox-modal .plj-photo img,
.plj-lightbox-modal .plj-photo .plj-photo-fallback{
  width: 260px;
  height: 260px;
  margin-bottom: 18px;
}
.plj-lightbox-close{
  position: sticky;
  top: 0;
  display: flex;
  justify-content: flex-end;
  margin: -10px -10px 10px -10px;
}
.plj-lightbox-close button{
  border: 0;
  background: rgba(0,0,0,.06);
  border-radius: 999px;
  width: 38px;
  height: 38px;
  cursor: pointer;
  font-size: 20px;
  line-height: 38px;
}
.plj-photo img{ cursor: zoom-in; }


/* Lightbox image: preserve original aspect ratio (portrait) */
.plj-lightbox-modal .plj-photo{
  margin: 0 auto 18px auto;
  text-align: center;
}
.plj-lightbox-modal .plj-photo img{
  width: auto !important;
  height: auto !important;
  max-width: min(360px, 90%) !important;
  max-height: 60vh !important;
  object-fit: contain !important;
  border-radius: 12px !important;
}
.plj-lightbox-modal .plj-photo .plj-photo-fallback{
  width: 220px !important;
  height: 220px !important;
  border-radius: 12px !important;
}


/* Carousel controls */
.plj-carousel{ position:relative; }
.plj-carousel:hover{ cursor:grab; }
.plj-carousel.is-paused{ cursor:default; }

.plj-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  background:rgba(0,0,0,.45);
  color:#fff;
  border:0;
  width:36px;height:36px;
  border-radius:50%;
  cursor:pointer;
  z-index:10;
}
.plj-arrow.prev{ left:6px; }
.plj-arrow.next{ right:6px; }

.plj-dots{
  display:flex;
  gap:6px;
  justify-content:center;
  margin-top:10px;
}
.plj-dot{
  width:8px;height:8px;
  border-radius:50%;
  background:rgba(0,0,0,.25);
}
.plj-dot.active{ background:rgba(0,0,0,.7); }


/* Carousel controls + viewport */
.plj-carousel{ position:relative; }
.plj-viewport{ overflow:hidden; width:100%; }
.plj-track{ cursor: grab; user-select:none; touch-action: pan-y; }
.plj-track.is-dragging{ cursor: grabbing; }

.plj-nav{
  position:absolute;
  top: 50%;
  transform: translateY(-50%);
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  box-shadow:0 10px 24px rgba(0,0,0,.12);
  cursor:pointer;
  z-index:10;
  display:grid;
  place-items:center;
  font-size:28px;
  line-height:44px;
}
.plj-prev{ left:-10px; }
.plj-next{ right:-10px; }

@media (max-width: 980px){
  .plj-nav{ display:none; }
}

.plj-dots{
  display:flex;
  gap:10px;
  justify-content:center;
  margin-top:14px;
}
.plj-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  border:0;
  background: rgba(0,0,0,.18);
  cursor:pointer;
}
.plj-dot.active{
  background: rgba(0,0,0,.55);
}
