body {
  background-color: #000000;
  color: #FAFAFA;
}

.ts-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  font-weight: 500;
  padding: 0.75rem 1.5rem;
  transition: all 0.3s ease;
  white-space: nowrap;
}
.ts-btn-lg {
  height: 3.5rem;
  padding: 0 2rem;
  font-size: 1rem;
}
.ts-btn-primary {
  background-color: #ffffff;
  color: #000000;
}
.ts-btn-primary:hover {
  background-color: #e4e4e7;
}

.ts-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

::-webkit-scrollbar {
  width: 10px;
}
::-webkit-scrollbar-track {
  background: #000000;
}
::-webkit-scrollbar-thumb {
  background: #27272A;
  border-radius: 9999px;
}

/* --- Modale de contact --- */
.ts-modal {
  display: none;
}
.ts-modal.ts-open {
  display: flex;
}
.ts-modal-panel {
  transform: scale(0.95) translateY(20px);
  opacity: 0;
  transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.ts-modal.ts-open .ts-modal-panel {
  transform: scale(1) translateY(0);
  opacity: 1;
}

/* --- Verrou anti-thème : évite toute couleur d'accent externe sur nos boutons/champs --- */
.ts-filter-btn,
.ts-btn,
.ts-modal button[type="submit"],
.ts-modal input,
.ts-modal textarea {
  -webkit-appearance: none;
  appearance: none;
  outline: none !important;
  box-shadow: none !important;
}
.ts-filter-btn:focus,
.ts-btn:focus,
.ts-modal input:focus,
.ts-modal textarea:focus {
  outline: none !important;
  box-shadow: none !important;
}
#ts-contact-close,
#ts-contact-close:hover,
#ts-contact-close:focus {
  outline: none !important;
  box-shadow: none !important;
  border-color: #27272A !important;
}

/* --- Slider de témoignages (page À propos) --- */
.ts-testimonial-slide {
  display: none;
}
.ts-testimonial-slide.ts-active {
  display: block;
  animation: ts-testimonial-in 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes ts-testimonial-in {
  from { opacity: 0; transform: translateX(20px); }
  to { opacity: 1; transform: translateX(0); }
}
.ts-testimonial-dot,
.ts-testimonial-dot:hover,
.ts-testimonial-dot:focus,
.ts-testimonial-dot:active {
  outline: none !important;
  box-shadow: none !important;
  border: none !important;
  background-color: #27272A;
}
.ts-testimonial-dot:hover {
  background-color: #3f3f46;
}
.ts-testimonial-dot.bg-white,
.ts-testimonial-dot.bg-white:hover,
.ts-testimonial-dot.bg-white:focus,
.ts-testimonial-dot.bg-white:active {
  background-color: #ffffff;
}

/* --- Mobile : image mise en couleur pendant le défilement (remplace le hover, absent au toucher) --- */
.ts-mobile-active.ts-card-img {
  mix-blend-mode: normal !important;
}
