/* allprojects.css */

.projects-stack {
  max-width: 900px;
}

.project-item {
  border: 1px solid #5d5d5d;
  border-radius: 10px;
  background: #232323;
  padding: 2rem;
  transition: transform 0.2s, box-shadow 0.2s;
  cursor: pointer;
}

.project-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 0 10px rgba(253, 125, 13, 0.2);
}

.project-item:focus-visible {
  outline: 2px solid #fd7d0d;
  outline-offset: 4px;
}

.project-carousel {
  border-radius: 8px;
  overflow: hidden;
}

.project-carousel img,
.project-carousel video {
  border-radius: 8px;
  object-fit: cover;
  height: 400px;
}

.project-title {
  font-size: 1.75rem;
  font-weight: 700;
}

.project-description {
  color: #adb5bd;
}

.tech-tags .badge {
  font-size: 0.75rem;
}

.project-filters {
  text-align: center;
}

.filter-tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
}

.filter-chip {
  border: 1px solid #5d5d5d;
  background: #232323;
  color: #f8f9fa;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  font-size: 0.85rem;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.filter-chip:hover,
.filter-chip:focus-visible {
  border-color: #f8f9fa;
  color: #f8f9fa;
}

.filter-chip.active {
  background: #f8f9fa;
  color: #0d1117;
  border-color: #f8f9fa;
}

.btn-outline-light:hover {
  background: #f8f9fa;
  color: #0d1117;
}

/* Project modal layout */
.project-modal-content {
  background: #232323;
  border: 1px solid #5d5d5d;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 0 20px rgba(253, 125, 13, 0.2);
  position: relative;
}

.project-modal-content .modal-body {
  padding: 0;
}

.project-modal-body {
  display: flex;
  flex-direction: column;
}

.project-modal-media {
  background: black;
  border-bottom: 1px solid #333;
}

.project-modal-info {
  background: #161616;
  text-align: left;
}

#lightboxCarousel {
  background: black;
}

#lightboxCarousel .carousel-inner,
#lightboxCarousel .carousel-item {
  width: 100%;
}

#lightboxCarousel img,
#lightboxCarousel video {
  width: 100%;
  height: auto;
  max-height: 80vh;
  display: block;
  object-fit: contain;
  background: black;
  margin: 0;
}

#projectModalTags .badge {
  font-size: 0.75rem;
}

.project-modal-long h5 {
  letter-spacing: 0.08em;
}

.btn-close {
  filter: invert(1);
  opacity: 0.8;
}

.btn-close:hover {
  opacity: 1;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  filter: invert(1);
}

.carousel-control-prev,
.carousel-control-next {
  width: auto;
  padding: 0.5rem;
}

.modal-backdrop.show {
  opacity: 0.95;
  background-color: black;
}

.project-modal-content .carousel-control-prev,
.project-modal-content .carousel-control-next {
  background: rgba(0, 0, 0, 0.55);
  border-radius: 999px;
  width: 44px;
  height: 44px;
  top: 50%;
  transform: translateY(-50%);
  margin: 0 0.5rem;
}

.project-modal-content .carousel-control-prev:hover,
.project-modal-content .carousel-control-next:hover {
  background: rgba(0, 0, 0, 0.8);
}

.project-modal-content .carousel-control-prev-icon,
.project-modal-content .carousel-control-next-icon {
  filter: none;
  background-size: 1.25rem;
  width: 1.25rem;
  height: 1.25rem;
  margin: auto;
}
