/* ─── max-w-site utility (Tailwind v4 doesn't auto-generate max-width from --width-site) ─── */
.max-w-site { max-width: 1280px; }

/* ─── Animations ─── */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.animate-fadeIn { animation: fadeIn 0.3s ease forwards; }
.marquee-track  { animation: marquee 30s linear infinite; }
.marquee-track:hover { animation-play-state: paused; }

/* ─── Lightbox ─── */
.lightbox-overlay {
  position: fixed; inset: 0;
  background: rgba(0,0,0,0.92);
  z-index: 9999;
  display: flex; align-items: center; justify-content: center;
}
.lightbox-overlay img {
  max-width: 90vw;
  max-height: 85vh;
  object-fit: contain;
  border-radius: 4px;
}
.lightbox-overlay .lightbox-close {
  position: absolute;
  top: 1rem; right: 1.5rem;
  color: #fff;
  font-size: 2.5rem;
  cursor: pointer;
  line-height: 1;
  z-index: 10000;
  background: none;
  border: none;
}
.lightbox-overlay .lightbox-nav {
  position: absolute;
  top: 50%; transform: translateY(-50%);
  color: #fff;
  font-size: 2.5rem;
  cursor: pointer;
  background: rgba(0,0,0,0.5);
  border: none;
  padding: 0.5rem 1rem;
  border-radius: 4px;
  z-index: 10000;
}
.lightbox-overlay .lightbox-prev { left: 1rem; }
.lightbox-overlay .lightbox-next { right: 1rem; }

.filter-section input[type="range"] {
  accent-color: #f97316;
}
