/* qedatajem — custom layer: SVG motion, JS toggles only */

@keyframes qe-drift {
  0%, 100% { transform: translate(0, 0) rotate(0deg); }
  50% { transform: translate(-12px, 8px) rotate(1deg); }
}

@keyframes qe-wave {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(-24px); }
}

@keyframes qe-pulse-ring {
  0%, 100% { opacity: 0.35; transform: scale(1); }
  50% { opacity: 0.55; transform: scale(1.04); }
}

.qe-deco-drift {
  animation: qe-drift 18s ease-in-out infinite;
}

.qe-deco-wave {
  animation: qe-wave 14s ease-in-out infinite;
}

.qe-deco-pulse {
  animation: qe-pulse-ring 8s ease-in-out infinite;
}

html {
  scroll-behavior: smooth;
}

#qe-mobile-nav.is-open {
  display: flex;
}

.qe-acc-panel[hidden] {
  display: none;
}

.qe-acc-item.is-open .qe-acc-chevron {
  transform: rotate(180deg);
}

.qe-acc-chevron {
  transition: transform 0.25s ease;
}

#qe-cookie-bar {
  transform: translateY(110%);
  transition: transform 0.35s ease;
}

#qe-cookie-bar.is-visible {
  transform: translateY(0);
}

#qe-cookie-settings[hidden] {
  display: none;
}

.qe-input-invalid {
  border-color: #e53e3e !important;
}

#qe-form-success[hidden] {
  display: none;
}

.qe-toggle {
  position: relative;
  width: 44px;
  height: 24px;
  flex-shrink: 0;
}

.qe-toggle input {
  opacity: 0;
  width: 0;
  height: 0;
}

.qe-toggle-track {
  position: absolute;
  inset: 0;
  background: #cbd5e0;
  border-radius: 24px;
  cursor: pointer;
  transition: background 0.2s;
}

.qe-toggle-track::before {
  content: "";
  position: absolute;
  height: 18px;
  width: 18px;
  left: 3px;
  bottom: 3px;
  background: #fff;
  border-radius: 50%;
  transition: transform 0.2s;
}

.qe-toggle input:checked + .qe-toggle-track {
  background: #16c79a;
}

.qe-toggle input:checked + .qe-toggle-track::before {
  transform: translateX(20px);
}

.qe-toggle input:disabled + .qe-toggle-track {
  opacity: 0.6;
  cursor: not-allowed;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .qe-deco-drift,
  .qe-deco-wave,
  .qe-deco-pulse {
    animation: none;
  }
}
