@charset "utf-8";
/* CSS Document */
    .gallery {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 12px;
    }

    /* Gallery item wrapper */
    .item {
      position: relative;
      overflow: hidden;
      border-radius: 10px;
      cursor: pointer;
    }

    .item img {
      width: 100%;
      height: 100%;
      display: block;
      transition: transform 0.4s ease, filter 0.4s ease;
    }

    /* Caption overlay */
    .caption {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      padding: 15px;
      background: rgba(0, 0, 0, 0.6);
      color: #fff;
      font-size: 14px;
      opacity: 0;
      transform: translateY(100%);
      transition: all 0.4s ease;
    }

    /* Hover effects */
    .item:hover img {
      transform: scale(1.1);
      filter: brightness(70%);
    }

    .item:hover .caption {
      opacity: 1;
      transform: translateY(0);
    }

    /* 2 columns on screens 769px or smaller */
    @media only screen and (max-width: 769px) {
      .gallery {
        grid-template-columns: repeat(2, 1fr);
      }
    }

