/* ===== Portfolio grid (Masonry-free) ===== */
:root { --gap: 24px; }

*, *::before, *::after { box-sizing: border-box; }

.projects {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr)); /* tablet & mobile: 2 cols */
  gap: var(--gap);
  margin: 0 auto;
  margin-bottom: 30px;
}

/* Large screens: 3 columns */
@media (min-width: 1024px) {
  .projects {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Card */
.project-item {
  position: relative;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  padding: 1px;
    background: linear-gradient(45deg, #ffffff1a 10%, #ffffff00 35%, #ffffff00 80%, #ffffff26 100%);
    border-radius: 19px;
    box-shadow: 0 0 20px #00000069;

    &:hover {
        transform: scale(1.05);
        .project-view-btn {
            opacity: 1;
        }
    }
  .project-view-btn {
      position: absolute;
      z-index: 10;
      top: -1px;
      right: -1px;
      bottom: -1px;
      left: -1px;
      background: #0000008a;
      display: flex;
      align-items: center;
      justify-content: center;
      backdrop-filter: blur(8px);
      border-radius: 10px;
      text-transform: uppercase;
      font-size: 12px;
      letter-spacing: 2px;
      opacity: 0;
      transition: opacity 300ms ease;
  }

  .project-thumb-wrapper {
      position: relative;
  }
}


.project-inner {
    padding: 19px;
    background: #151515;
    border-radius: 19px;
}

.project-item.ready {
  opacity: 1;
  transform: none;
}

/* Clickable overlay */
.project-url {
  position: absolute;
  inset: 0;
  z-index: 20;
}

/* Media */
.project-thumb {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 10px;
  aspect-ratio: 808 / 632;
    object-fit: cover;
    object-position: top;
}

.project-title {
  margin: .6rem 0 0;
    font-size: 16px;
    line-height: 1.3em;
    font-variation-settings: 'opsz' 0, 'wght' 300;
    color: #ffffffad;
}

/* Load More button */
.loadmore {
  display: inline-block;
  margin: 16px auto 0;
  padding: 10px 16px;
  border: 1px solid #ddd;
  background: transparent;
  border-radius: 8px;
  cursor: pointer;
  color: #fff;
  &:hover{
    background-color: #ffffff0d;
  }
}
.loadmore[disabled],
.loadmore[aria-disabled="true"] {
  opacity: .6;
  cursor: not-allowed;
}
