/* ===========================
   Single Projet — Carrousel
=========================== */

.single-projet__title {
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  font-weight: normal;
  font-style: italic;
  letter-spacing: 0.03em;
}

/* ===========================
   Carrousel
=========================== */
.carousel {
  position: relative;
  width: 100%;
  overflow: hidden;   /* fond noir entre les photos */
  user-select: none;
}

/* ─── Piste ─── */
.carousel__track {
  display: flex;
  transition: transform 0.55s cubic-bezier(0.77, 0, 0.18, 1);
  will-change: transform;
}

/* ─── Slide ─── */
.carousel__slide {
  flex: 0 0 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  max-height: 90vh;
}

.carousel__image {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 90vh;
  object-fit: contain;   /* image entière visible, pas de crop */
}

/* ─── Boutons ─── */
.carousel__btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  background: none;
  border: none;
  cursor: pointer;
  color: #1C1C1C;
  padding: 16px;
  opacity: 0.6;
  transition: opacity 0.2s ease;
}

.carousel__btn:hover {
  opacity: 1;
}

.carousel__btn--prev { left: 16px; }
.carousel__btn--next { right: 16px; }

.carousel__btn svg {
  display: block;
}

/* ─── Compteur ─── */
.carousel__counter {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  font-family: var(--font-primary);
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  color: rgba(255, 255, 255, 0.7);
}

/* ─── Responsive ─── */
@media (max-width: 768px) {
  .carousel__btn {
    padding: 10px;
  }

  .single-projet__header {
    padding-block: 28px 16px;
  }
}
