@keyframes slideInUp {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}

@keyframes slideOutDown {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(100%);
  }
}

.cookie-banner.show {
  animation: slideInUp 0.5s forwards;
}

.cookie-banner.hide {
  animation: slideOutDown 0.5s forwards;
  transform: translateY(100%);
  opacity: 0;
}
.cookie-accordion .accordion-header.active svg {
  transform: rotate(180deg);
}

.custom-scrollbar::-webkit-scrollbar {
  width: 8px;
}
.custom-scrollbar::-webkit-scrollbar-track {
  background: transparent;
}
.custom-scrollbar::-webkit-scrollbar-thumb {
  background-color: rgba(156, 163, 175, 0.4);
  border-radius: 4px;
  border: 2px solid transparent;
  background-clip: content-box;
}
.custom-scrollbar::-webkit-scrollbar-thumb:hover {
  background-color: rgba(156, 163, 175, 0.6);
}

/* ── Mobile nav drawer ─────────────────────────────────────────────────── */
/* On mobile: always rendered as flex but slid fully off-screen to the left */
@media (max-width: 1023px) {
  #mobile-nav-aside {
    display: flex;
    top: 0;
    height: 100%;
    transform: translateX(-100%);
    transition: transform 0.3s ease-in-out;
    z-index: 40;
  }
  #mobile-nav-aside.mobile-nav-open {
    transform: translateX(0);
  }
}

/* Backdrop – hidden by default, visible when drawer is open */
#mobile-nav-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 30;
  background-color: rgba(0, 0, 0, 0.4);
}
#mobile-nav-backdrop.backdrop-visible {
  display: block;
}
@media (min-width: 1024px) {
  #mobile-nav-backdrop {
    display: none !important;
  }
}

/* FAB – three-dot button, bottom-right, mobile only */
#mobile-nav-fab {
  display: flex;
  position: fixed;
  right: 1.5rem;
  bottom: calc(1.5rem + env(safe-area-inset-bottom, 0px));
  z-index: 50;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 9999px;
  background-color: rgb(23, 23, 23);
  color: #fff;
  box-shadow: 0 10px 15px -3px rgba(0,0,0,.2), 0 4px 6px -4px rgba(0,0,0,.15);
  border: none;
  cursor: pointer;
}
.dark #mobile-nav-fab {
  background-color: rgb(245, 245, 245);
  color: rgb(23, 23, 23);
}
@media (min-width: 1024px) {
  #mobile-nav-fab {
    display: none;
  }
}

/* Prevent body scroll when drawer is open */
body.mobile-nav-scroll-lock {
  overflow: hidden;
}