.projects-carousel {
  width: 100%;
  position: relative;
  overflow-x: auto; 
  scroll-snap-type: x mandatory; 
  -webkit-overflow-scrolling: touch; 
  touch-action: pan-x pan-y; 
  padding-bottom: 15px; 
}
.projects-carousel::-webkit-scrollbar {
  display: none; 
}
.projects-carousel {
  -ms-overflow-style: none;  
  scrollbar-width: none;  
}
.carousel-container {
  display: flex;
  width: max-content; 
}
.carousel-slide {
  width: 85vw; 
  max-width: 450px; 
  flex-shrink: 0; 
  padding: 0 10px; 
  box-sizing: border-box;
  display: flex; 
  justify-content: center;
  align-items: stretch; 
  scroll-snap-align: center; 
}
.carousel-slide .project-card {
    width: 100%;
    display: flex;
    flex-direction: column;
    height: 100%; 
}
@media screen and (max-width: 768px) {
  .projects-grid {
    display: none; 
  }
  .projects-carousel {
    display: block; 
  }
  .carousel-slide {
     width: 90vw; 
     padding: 0 8px;
  }
}
@media screen and (min-width: 769px) {
  .projects-carousel {
    display: none; 
  }
  .projects-grid {
    display: grid; 
  }
}
.swipe-indicator {
  text-align: center;
  margin-top: 15px; 
  font-size: 1em; 
  font-weight: 500; 
  color: var(--text-color-secondary); 
  opacity: 0.85; 
  animation: swipe-animation 2.5s infinite ease-in-out;
  display: none; 
  letter-spacing: 0.5px; 
  user-select: none; 
  -webkit-user-select: none; 
  -moz-user-select: none; 
  -ms-user-select: none; 
}
.projects-carousel + .swipe-indicator {
    display: block; 
}
@keyframes swipe-animation {
  0%, 100% {
    transform: translateX(-8px); 
    opacity: 0.7; 
  }
  50% {
    transform: translateX(8px); 
    opacity: 0.85; 
  }
}
@media screen and (min-width: 993px) {
  .swipe-indicator {
    display: none !important; 
  }
}
