/* Elementor owns content; the existing theme owns the approved page geometry. */
.ipsc-elementor-page > .elementor,
.ipsc-elementor-page > .elementor > .elementor-element,
.ipsc-elementor-page > .elementor > .elementor-element > .elementor-widget-container {
  display: contents;
}
.ipsc-elementor-page .elementor-element { --widgets-spacing: 0px; --widgets-spacing-row: 0px; }
/* Keep the widget selection handles usable inside the visual editor. */
.elementor-editor-active .ipsc-elementor-page > .elementor > .elementor-element {
  display: block;
  margin: 0;
  padding: 0;
}
/* Background images fill their cards, overriding Elementor's generic img rule. */
.ipsc-elementor-page .destaque-bg,
.ipsc-elementor-page .dialogos-bg { height: 100%; }

/* Video playback opens over the page; the original thumbnail geometry stays intact. */
.ipsc-video-dialog {
  position: fixed; inset: 0; margin: auto; padding: 40px 0 0;
  width: min(1000px, 94vw); max-width: 94vw; max-height: 94dvh;
  border: 0; border-radius: 14px; background: #08081d; color: #fff;
}
.ipsc-video-dialog::backdrop { background: rgba(0, 0, 20, .82); }
.ipsc-video-close {
  position: absolute; right: 6px; top: 0; width: 40px; height: 40px;
  border: 0; background: transparent; color: #fff; font-size: 32px; cursor: pointer;
}
.ipsc-video-stage { width: 100%; }
.ipsc-video-stage iframe, .ipsc-video-stage video {
  display: block; width: 100%; aspect-ratio: 16 / 9; border: 0;
  max-height: calc(94dvh - 40px); background: #000;
}
