/* ============================================
   NEW GLAS 2026 - OBJ Gallery CSS
   Pinterest-style masonry gallery layout
   ============================================ */

.ng-obj-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  grid-auto-rows: 10px;
  gap: 3px;
  margin: 30px 0;
  width: 100%;
}

.ng-obj-item {
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: 2px;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ng-obj-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
  z-index: 1;
}

.ng-obj-item img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

/* Grid auto-flow for masonry effect */
.ng-obj-item:nth-child(1) { grid-row-end: span 25; }
.ng-obj-item:nth-child(2) { grid-row-end: span 30; }
.ng-obj-item:nth-child(3) { grid-row-end: span 22; }
.ng-obj-item:nth-child(4) { grid-row-end: span 28; }
.ng-obj-item:nth-child(5) { grid-row-end: span 26; }
.ng-obj-item:nth-child(6) { grid-row-end: span 24; }
.ng-obj-item:nth-child(7) { grid-row-end: span 29; }
.ng-obj-item:nth-child(8) { grid-row-end: span 23; }
.ng-obj-item:nth-child(9) { grid-row-end: span 27; }
.ng-obj-item:nth-child(10) { grid-row-end: span 25; }
.ng-obj-item:nth-child(11) { grid-row-end: span 31; }
.ng-obj-item:nth-child(12) { grid-row-end: span 24; }
.ng-obj-item:nth-child(13) { grid-row-end: span 26; }
.ng-obj-item:nth-child(14) { grid-row-end: span 28; }
.ng-obj-item:nth-child(15) { grid-row-end: span 22; }
.ng-obj-item:nth-child(16) { grid-row-end: span 30; }
.ng-obj-item:nth-child(17) { grid-row-end: span 25; }
.ng-obj-item:nth-child(18) { grid-row-end: span 27; }
.ng-obj-item:nth-child(19) { grid-row-end: span 29; }
.ng-obj-item:nth-child(20) { grid-row-end: span 23; }

/* Continue pattern for more items */
.ng-obj-item:nth-child(n+21) { grid-row-end: span 26; }
.ng-obj-item:nth-child(4n+21) { grid-row-end: span 28; }
.ng-obj-item:nth-child(4n+22) { grid-row-end: span 24; }
.ng-obj-item:nth-child(4n+23) { grid-row-end: span 30; }
.ng-obj-item:nth-child(4n+24) { grid-row-end: span 22; }

/* Tablet: 2 columns */
@media (max-width: 768px) {
  .ng-obj-gallery {
    grid-template-columns: repeat(2, 1fr);
    gap: 2px;
  }
}

/* Desktop large: 4 columns */
@media (min-width: 1400px) {
  .ng-obj-gallery {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* Mobile: 2 columns smaller */
@media (max-width: 480px) {
  .ng-obj-gallery {
    grid-template-columns: repeat(2, 1fr);
    gap: 2px;
  }
}
