.wp-carousel { position: relative; max-width: 100%; margin: 0 auto; }
.wp-carousel__track {
  display: grid; grid-auto-flow: column;
  grid-auto-columns: min(78%, 520px); gap: 14px;
  overflow-x: auto; overflow-y: hidden;
  scroll-snap-type: x mandatory; scroll-behavior: smooth;
  padding: 10px 44px; -webkit-overflow-scrolling: touch;
}
.wp-carousel__slide {
  scroll-snap-align: center; border-radius: 14px;
  overflow: hidden; height: 500px;
  display: flex; align-items: center; justify-content: center;
}
.wp-carousel__slide img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center; display: block;
}
.wp-carousel__btn {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 36px; height: 36px; border-radius: 999px;
  border: 1px solid rgba(0,0,0,.15); background: rgba(255,255,255,.9);
  cursor: pointer; display: grid; place-items: center; z-index: 2;
}
.wp-carousel__btn--prev { left: 6px; }
.wp-carousel__btn--next { right: 6px; }
@media (max-width: 600px) {
  .wp-carousel__track { grid-auto-columns: 86%; padding: 10px 40px; }
  .wp-carousel__slide { height: 360px; }
}
.wp-lightbox {
  position: fixed; inset: 0; background: rgba(0,0,0,.85);
  display: none; align-items: center; justify-content: center;
  padding: 24px; z-index: 99999;
}
.wp-lightbox.is-open { display: flex; }
.wp-lightbox__img {
  max-width: min(1100px, 92vw); max-height: 88vh;
  width: auto; height: auto; display: block;
  border-radius: 10px; cursor: zoom-out;
}
.wp-lightbox__close {
  position: absolute; top: 12px; right: 12px;
  width: 40px; height: 40px; border-radius: 999px;
  border: 1px solid rgba(255,255,255,.25); background: rgba(0,0,0,.4);
  color: #fff; font-size: 22px; cursor: pointer;
}

