/* Elementor canvas overrides — keep RYDCAST full-bleed layout inside Elementor */

body.rydcast-elementor-page {
  background: var(--midnight, #07121e);
}

body.rydcast-elementor-page .elementor-location-header,
body.rydcast-elementor-page .elementor-location-footer {
  display: none;
}

/* Fixed header section — full viewport width (Elementor containers clip position:fixed) */
body.rydcast-elementor-page .rydcast-section--header.elementor-element {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  height: var(--header-h, 72px) !important;
  min-height: var(--header-h, 72px) !important;
  max-height: var(--header-h, 72px) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: center !important;
  z-index: 200;
  overflow: hidden !important;
  pointer-events: none;
  transform: none !important;
  --widgets-spacing: 0 !important;
  --widgets-spacing-row: 0 !important;
  --widgets-spacing-column: 0 !important;
  --kit-widget-spacing: 0 !important;
}

body.rydcast-elementor-page .rydcast-section--header > .e-con-inner,
body.rydcast-elementor-page .rydcast-section--header > .elementor-element,
body.rydcast-elementor-page .rydcast-section--header .elementor-widget-html,
body.rydcast-elementor-page .rydcast-section--header .elementor-widget-container {
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  align-self: stretch !important;
  flex: 1 1 auto !important;
}

body.rydcast-elementor-page .rydcast-section--header .site-header {
  position: relative !important;
  inset: auto !important;
  top: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: var(--header-h, 72px) !important;
  min-height: var(--header-h, 72px) !important;
  max-height: var(--header-h, 72px) !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  pointer-events: auto;
}

body.rydcast-elementor-page .rydcast-section--header .site-header__inner {
  width: min(var(--page-max, 1320px), 100%) !important;
  max-width: min(var(--page-max, 1320px), 100%) !important;
  margin-inline: auto !important;
  position: relative !important;
}

/* Mobile nav lives inside the fixed header — unlock clipping when open */
@media (max-width: 900px) {
  body.rydcast-elementor-page.nav-open .rydcast-section--header.elementor-element,
  body.rydcast-elementor-page .rydcast-section--header.elementor-element:has(.site-nav.is-open) {
    overflow: visible !important;
    z-index: 300 !important;
  }

  body.rydcast-elementor-page .rydcast-section--header .site-header,
  body.rydcast-elementor-page .rydcast-section--header .site-header__inner,
  body.rydcast-elementor-page .rydcast-section--header .nav-toggle {
    pointer-events: auto !important;
  }
}

/* Hero copy must clear the fixed header; background bleeds to top */
body.rydcast-elementor-page .rydcast-section--hero .explainer-hero {
  padding-top: 0;
  margin-top: 0;
}

body.rydcast-elementor-page .rydcast-section--footer.elementor-element,
body.rydcast-elementor-page .rydcast-section--footer > .e-con-inner {
  --border-radius: 0;
  background: var(--midnight, #07121e) !important;
  border-radius: 0 !important;
}

/* Remove Elementor default section padding so our sections control spacing */
body.rydcast-elementor-page .rydcast-section > .e-con-inner,
body.rydcast-elementor-page .rydcast-section.elementor-element {
  --padding-top: 0;
  --padding-bottom: 0;
  --padding-left: 0;
  --padding-right: 0;
  max-width: none !important;
  width: 100% !important;
}

body.rydcast-elementor-page .rydcast-section .elementor-widget-html {
  width: 100%;
}

body.rydcast-elementor-page .rydcast-section .elementor-widget-container {
  padding: 0;
  margin: 0;
}

/* Elementor editor: show section labels */
.elementor-editor-active .rydcast-section--hero::before {
  content: "Hero";
}

.elementor-editor-active .rydcast-section::before {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 9999;
  padding: 4px 8px;
  border-radius: 6px;
  background: rgba(22, 224, 214, 0.9);
  color: #041018;
  font: 700 10px/1 Inter, sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  pointer-events: none;
}

.elementor-editor-active .rydcast-section {
  position: relative;
}

.elementor-editor-active .rydcast-section--overview::before { content: "Overview"; }
.elementor-editor-active .rydcast-section--step-1::before { content: "Step 1 — Target"; }
.elementor-editor-active .rydcast-section--step-2::before { content: "Step 2 — Run"; }
.elementor-editor-active .rydcast-section--step-3::before { content: "Step 3 — Convert"; }
.elementor-editor-active .rydcast-section--step-4::before { content: "Step 4 — Confirm"; }
.elementor-editor-active .rydcast-section--step-5::before { content: "Step 5 — Report"; }
.elementor-editor-active .rydcast-section--step-6::before { content: "Step 6 — Reconcile"; }
.elementor-editor-active .rydcast-section--privacy::before { content: "Privacy"; }
.elementor-editor-active .rydcast-section--pillars::before { content: "Pillars"; }
.elementor-editor-active .rydcast-section--book-a-call::before { content: "Book a call"; }
.elementor-editor-active .rydcast-section--header::before { content: "Header"; }
.elementor-editor-active .rydcast-section--footer::before { content: "Footer"; }

/* Beat Hello Elementor default link/button hover (#c36) */
body.rydcast-elementor-page a.site-nav__cta:hover,
body.rydcast-elementor-page a.site-nav__cta:focus-visible,
body.rydcast-elementor-page a.site-nav__cta:active,
body.rydcast-elementor-page a.btn-primary:hover,
body.rydcast-elementor-page a.btn-primary:focus-visible,
body.rydcast-elementor-page a.btn-primary:active {
  color: #fff;
}

body.rydcast-legal-page .legal-index a:hover,
body.rydcast-legal-page .legal-index a:focus-visible {
  color: #fff;
}
