.driver-active .driver-overlay,
.driver-active * {
  pointer-events: none;
}

.driver-active .driver-active-element,
.driver-active .driver-active-element *,
.driver-popover,
.driver-popover * {
  pointer-events: auto;
}

@keyframes driver-fade-in {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.driver-fade .driver-overlay,
.driver-fade .driver-popover {
  animation: driver-fade-in 0.2s ease-in-out;
}

/* Theme layer over driver.css: keep its positioning/stage, strip the default popover
 * chrome (background, border, padding, shadow) so the React tour card is the only
 * visible surface. Do NOT set position/top/right here — driver.js places the popover. */
.driver-popover.prowler-theme {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  min-width: min(250px, calc(100vw - 32px));
  max-width: min(320px, calc(100vw - 32px));
  font-family: inherit;
  /* Reset driver.css's hard-coded #2d2d2d so the card text follows the app theme
   * (the card title inherits this; descriptions set their own muted token). */
  color: var(--color-text-neutral-primary);
}

.driver-popover.prowler-theme * {
  box-sizing: border-box;
  font-family: inherit;
}

/* The visible popover is our React card (mounted at [data-tour-popover-root]).
 * Keep driver.js's native chrome in the DOM (tour-popover-render reads its text and
 * progress) but force it hidden — driver.css sets display:block/flex on these, which
 * would otherwise override the `hidden` attribute and duplicate the card content. */
.driver-popover.prowler-theme .driver-popover-title,
.driver-popover.prowler-theme .driver-popover-description,
.driver-popover.prowler-theme .driver-popover-footer,
.driver-popover.prowler-theme .driver-popover-progress-text,
.driver-popover.prowler-theme .driver-popover-close-btn,
.driver-popover.prowler-theme .driver-popover-arrow {
  display: none !important;
}

:not(body):has(> .driver-active-element) {
  overflow: hidden !important;
}

.driver-no-interaction,
.driver-no-interaction * {
  pointer-events: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .driver-popover.prowler-theme {
    transition: none !important;
  }
}
