/* Aidem Hero Background Video widget
   Forces this widget's own Elementor wrapper to fill its parent
   Section/Container completely and sit behind everything else. The
   parent Section/Container itself still needs position: relative
   (set in its own Advanced tab) for this to anchor correctly. */
.elementor-widget-aidem_hero_bg_video {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none !important;
}

.elementor-widget-aidem_hero_bg_video > .elementor-widget-container {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.aidem-hero-bg-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
}

.aidem-hero-bg-video__frame {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.aidem-hero-bg-video__frame iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: 0;
  pointer-events: none;
}

/* Self-hosted video: no player chrome to hide and no JS sizing math -
   object-fit: cover fills the frame and crops cleanly on its own. */
.aidem-hero-bg-video__frame video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}

.aidem-hero-bg-video__overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
