/**
 * Layout parity when sections are wrapped in #site-content (AI-built pages).
 * Mirrors style.bundle.css rules that target body > header/section/footer.
 */
#site-content {
  display: block;
  margin: 0;
  padding: 0;
}

#site-content > section,
#site-content > header,
#site-content > footer,
#site-content > nav {
  position: relative;
}

#site-content > section .background-container,
#site-content > section .overlay,
#site-content > footer .background-container,
#site-content > footer .overlay,
#site-content > header .background-container,
#site-content > header .overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

#site-content > section .background-container img,
#site-content > section .background-container video,
#site-content > section .overlay img,
#site-content > section .overlay video,
#site-content > footer .background-container img,
#site-content > footer .background-container video,
#site-content > footer .overlay img,
#site-content > footer .overlay video,
#site-content > header .background-container img,
#site-content > header .background-container video,
#site-content > header .overlay img,
#site-content > header .overlay video {
  width: auto;
  height: auto;
  top: 0;
  left: 0;
  max-width: 100%;
  min-height: 100%;
  min-width: 100%;
  object-fit: cover;
}

#site-content > section .background-container img,
#site-content > section .overlay img,
#site-content > footer .background-container img,
#site-content > footer .overlay img,
#site-content > header .background-container img,
#site-content > header .overlay img {
  position: absolute;
  left: 50%;
  top: 50%;
  height: 100%;
  width: auto;
  transform: translate(-50%, -50%);
}

#site-content > section .overlay,
#site-content > footer .overlay,
#site-content > header .overlay {
  z-index: -1;
  background: var(--bs-black);
  opacity: 0.6;
}

#site-content > section .separator,
#site-content > footer .separator,
#site-content > header .separator {
  z-index: 2;
  position: absolute;
  width: 100%;
  color: #fff;
}

#site-content > section .separator > img,
#site-content > footer .separator > img,
#site-content > header .separator > img {
  width: 100%;
  height: 100%;
}

#site-content > section .separator.bottom,
#site-content > footer .separator.bottom,
#site-content > header .separator.bottom {
  bottom: 0;
}

#site-content > section .separator.top,
#site-content > footer .separator.top,
#site-content > header .separator.top {
  top: 0;
}

/* Prevent nav/footer spacing issues inside AI wrapper */
#site-content > nav.navigation-4,
#site-content > nav.navigation-1,
#site-content > nav.navigation-3 {
  margin-bottom: 0;
}

body.home #site-content > nav.navigation-4:after,
body.home #site-content > nav.navigation-1:after {
  display: none;
}

/* hero-1: empty overlay/background layers are decorative only */
header.hero-1 > .overlay:empty,
header.hero-1 > .background-container:empty {
  display: none;
}
