@keyframes float {
  0%,
  100% {
    transform: translateY(0px);
  }

  50% {
    transform: translateY(-20px);
  }
}

.animate-float {
  animation: float 6s ease-in-out infinite;
}

.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s ease-out;
}

.reveal.active {
  opacity: 1;
  transform: translateY(0);
}

.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* Kustomisasi Pagination Swiper agar lebih modern */
.swiper-pagination-bullet {
  width: 24px !important;
  height: 4px !important;
  border-radius: 2px !important;
  background: rgba(255, 255, 255, 0.5) !important;
  opacity: 1 !important;
  transition: all 0.3s ease;
}

.swiper-pagination-bullet-active {
  background: #fff !important;
  width: 40px !important;
}

/* EFFECTS */
.grayscale {
  filter: grayscale(100%);
}

.contrast {
  filter: contrast(150%);
}

.invert {
  filter: invert(100%);
}

.light-bg {
  background: #fff !important;
  color: #000 !important;
}

.underline-links a {
  text-decoration: underline !important;
}

.readable-font {
  font-family: Arial, Helvetica, sans-serif !important;
}
/* ==========================================
         Aksesibilitas (A11y) Override Styles
         ========================================== */
body.a11y-large-text * {
  font-size: 110% !important;
  line-height: 1.6 !important;
}

body.a11y-small-text * {
  font-size: 90% !important;
  line-height: 1.4 !important;
}

body.a11y-high-contrast,
body.a11y-high-contrast nav,
body.a11y-high-contrast footer,
body.a11y-high-contrast div.pt-28 {
  background-color: #000000 !important;
  color: #ffff00 !important;
  border-color: #ffff00 !important;
}

body.a11y-high-contrast a,
body.a11y-high-contrast h1,
body.a11y-high-contrast h2,
body.a11y-high-contrast h3,
body.a11y-high-contrast h4,
body.a11y-high-contrast p,
body.a11y-high-contrast span,
body.a11y-high-contrast li,
body.a11y-high-contrast i {
  color: #ffff00 !important;
}

/* Hanya berikan grayscale pada konten utama agar tombol mengambang tidak hilang */
body.a11y-grayscale nav,
body.a11y-grayscale footer,
body.a11y-grayscale div.pt-28 {
  filter: grayscale(100%) !important;
}

body.a11y-highlight-links a {
  text-decoration: underline !important;
  text-decoration-color: #ff0000 !important;
  text-decoration-thickness: 3px !important;
  background-color: #ffff00 !important;
  color: #000 !important;
}

body.a11y-readable-font * {
  font-family: Arial, Helvetica, sans-serif !important;
  letter-spacing: 0.5px !important;
}
