/* ============================================================
   RIDACLE — Animations Stylesheet
   ============================================================ */

/* ---------- Fade Up ---------- */
.fade-up {
  opacity: 0;
  transform: translateY(40px);
}

.fade-up.is-visible {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1),
              transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ---------- Fade In ---------- */
.fade-in {
  opacity: 0;
}

.fade-in.is-visible {
  opacity: 1;
  transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ---------- Scale In ---------- */
.scale-in {
  opacity: 0;
  transform: scale(0.9);
}

.scale-in.is-visible {
  opacity: 1;
  transform: scale(1);
  transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1),
              transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ---------- Slide Left ---------- */
.slide-left {
  opacity: 0;
  transform: translateX(-60px);
}

.slide-left.is-visible {
  opacity: 1;
  transform: translateX(0);
  transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1),
              transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ---------- Slide Right ---------- */
.slide-right {
  opacity: 0;
  transform: translateX(60px);
}

.slide-right.is-visible {
  opacity: 1;
  transform: translateX(0);
  transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1),
              transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ---------- Stagger Delays ---------- */
.delay-1 { transition-delay: 0.1s; }
.delay-2 { transition-delay: 0.2s; }
.delay-3 { transition-delay: 0.3s; }
.delay-4 { transition-delay: 0.4s; }
.delay-5 { transition-delay: 0.5s; }
.delay-6 { transition-delay: 0.6s; }

/* ---------- Image Reveal ---------- */
.img-reveal {
  clip-path: inset(0 100% 0 0);
  transition: clip-path 1s cubic-bezier(0.4, 0, 0.2, 1);
}

.img-reveal.is-visible {
  clip-path: inset(0 0 0 0);
}

/* ---------- Magnetic Button ---------- */
.magnetic {
  transition: transform 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
}

/* ---------- Smooth Section Transitions ---------- */
[data-scroll] {
  will-change: transform, opacity;
}

/* ---------- Loading Shimmer ---------- */
@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

/* ---------- Pulse ---------- */
@keyframes pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.05); }
}

/* ---------- Float ---------- */
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

/* ---------- Lightbox Custom ---------- */

/* ---------- Swiper Custom ---------- */
.swiper-button-next,
.swiper-button-prev {
  color: var(--accent-rose) !important;
}

.swiper-pagination-bullet-active {
  background: var(--accent-rose) !important;
}

/* ---------- Smooth Scroll Offset ---------- */
html.lenis {
  height: auto;
}

/* ---------- Print Styles ---------- */
@media print {
  .nav,
  .cursor,
  .cursor-follower,
  .scroll-progress,
  .loader,
  .back-to-top { display: none !important; }
}