/* project-masonary-by-post – Elementor masonry grid */

.pmbp-container {
  column-count: 4;
  column-gap: 24px;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
}

.pmbp-item {
  --pmbp-radius: 12px;
  position: relative;
  display: block;
  margin-bottom: 24px;
  border-radius: var(--pmbp-radius);
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  overflow: hidden;
  clip-path: inset(0 round var(--pmbp-radius));
  break-inside: avoid;
  background-color: transparent !important;
  line-height: 0;
  padding: 0 !important;
  -webkit-appearance: none;
  appearance: none;
  isolation: isolate;
  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-mask-image: -webkit-radial-gradient(white, black);
}

.pmbp-item img,
.pmbp-item .pmbp-img,
.elementor .pmbp-img {
  width: 100%;
  height: auto;
  max-width: 100%;
  display: block;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  border-radius: inherit;
  vertical-align: middle;
  transition: transform 0.3s ease;
  transform: scale(1.01) translateZ(0);
  transform-origin: center center;
  clip-path: inset(1px round calc(var(--pmbp-radius) - 1px));
  backface-visibility: hidden;
}

.pmbp-item--image:hover img,
.pmbp-item--image:hover .pmbp-img {
  transform: scale(1.06) translateZ(0);
}

.pmbp-item video,
.pmbp-item .pmbp-video,
.elementor .pmbp-video {
  width: 100%;
  height: auto;
  max-width: 100%;
  display: block;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  border-radius: inherit;
  vertical-align: middle;
  transform: none;
  clip-path: inset(1px round calc(var(--pmbp-radius) - 1px));
  backface-visibility: hidden;
}

.pmbp-item--video:hover video,
.pmbp-item--video:hover .pmbp-video {
  transform: none;
}

.pmbp-item::after {
  content: none !important;
  display: none !important;
}

.pmbp-notice {
  margin: 0;
  padding: 12px 16px;
  font-size: 14px;
  line-height: 1.5;
  color: #646464;
  background: #f5f5f5;
  border-radius: 4px;
}

@media (max-width: 1024px) {
  .pmbp-container {
    column-count: 3;
    column-gap: 14px;
  }

  .pmbp-item {
    margin-bottom: 14px;
    --pmbp-radius: 8px;
  }
}

@media (max-width: 786px) {
  .pmbp-container {
    column-count: 2;
    column-gap: 8px;
  }

  .pmbp-item {
    margin-bottom: 8px;
    --pmbp-radius: 8px;
  }

  /* iOS Safari: clip-path/mask pada item bisa bikin video tidak render */
  .pmbp-item--video {
    clip-path: none;
    -webkit-mask-image: none;
  }

  .pmbp-item--video .pmbp-video {
    clip-path: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pmbp-item--image img,
  .pmbp-item--image .pmbp-img {
    transition-duration: 0.1s !important;
  }
}

@media (max-width: 767px) {
  .pmbp-item {
    --pmbp-radius: 4.67px;
  }
}
