/* Additional custom styles if needed */

/* Smooth transitions */
* {
  transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

/* Loading state */
.loading {
  opacity: 0.6;
  pointer-events: none;
}

/* Fade in animation */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.fade-in {
  animation: fadeIn 0.3s ease-in;
}

/* Portfolio grid transition */
#portfolio-grid {
  transition: opacity 0.3s ease-in-out;
}

/* Line clamp for descriptions */
.line-clamp-3 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

/* Ensure consistent image sizing in portfolio cards */
.portfolio-card img {
  object-fit: cover;
  object-position: center;
  min-height: 100%;
  min-width: 100%;
}
