.pb-bgsection-block {
  background: var(--pb-bgsection-bg);
  color: var(--pb-bgsection-text);
}

.pb-bgsection-block {
  --pb-bgsection-underlap: 200px;
}

.pb-bgsection-block__canvas {
  position: relative;
  overflow: hidden;
  min-height: 600px;
  isolation: isolate;
}

.pb-bgsection-block__container {
  position: relative;
  z-index: 2;
}

.pb-bgsection-block__content {
  min-height: 550px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(4rem, 8vw, 6rem) 0;
}

.pb-bgsection-block__custom-heading {
  margin: 0 auto;
  text-align: center;
  max-width: 100%;
}

.pb-bgsection-block__custom-heading--black {
  color: var(--pb-dark);
}

.pb-bgsection-block__custom-heading--white {
  color: var(--pb-white);
}

.pb-bgsection-block__custom-heading--narrow {
  max-width: 300px;
}

.pb-bgsection-block__content .acf-inner-blocks-container,
.pb-bgsection-block__content .acf-innerblocks-container {
  display: grid;
  gap: 1.25rem;
}

.pb-bgsection-block__content .acf-inner-blocks-container > *,
.pb-bgsection-block__content .acf-innerblocks-container > * {
  margin: 0;
}

.pb-bgsection-block__media {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.pb-bgsection-block__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--pb-bgsection-overlay);
}

.pb-bgsection-block__media-image,
.pb-bgsection-block__media-image img,
.pb-bgsection-block__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.pb-bgsection-block--normal .pb-bgsection-block__media-image,
.pb-bgsection-block--normal .pb-bgsection-block__media img {
  object-position: center center;
}

.pb-bgsection-block--arc-top .pb-bgsection-block__media,
.pb-bgsection-block--arc-bottom .pb-bgsection-block__media {
  inset: auto;
  left: 50%;
  width: min(1200px, 112vw);
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  overflow: hidden;
  transform: translateX(-50%);
}

.pb-bgsection-block--arc-top .pb-bgsection-block__media {
  top: 0;
  transform: translate(-50%, -52%);
}

.pb-bgsection-block--arc-top .pb-bgsection-block__media-image,
.pb-bgsection-block--arc-top .pb-bgsection-block__media img {
  object-position: center top;
}

.pb-bgsection-block--arc-bottom .pb-bgsection-block__media {
  bottom: 0;
  transform: translate(-50%, 52%);
}

.pb-bgsection-block--arc-bottom .pb-bgsection-block__media-image,
.pb-bgsection-block--arc-bottom .pb-bgsection-block__media img {
  object-position: center bottom;
}

.pb-bgsection-block--dark h1,
.pb-bgsection-block--dark h2,
.pb-bgsection-block--dark h3,
.pb-bgsection-block--dark h4,
.pb-bgsection-block--dark h5,
.pb-bgsection-block--dark h6,
.pb-bgsection-block--dark p,
.pb-bgsection-block--dark li,
.pb-bgsection-block--dark blockquote,
.pb-bgsection-block--dark .wp-block-heading,
.pb-bgsection-block--dark .wp-block-paragraph,
.pb-bgsection-block--dark .wp-block-list,
.pb-bgsection-block--dark .wp-block-quote,
.pb-bgsection-block--dark a {
  color: inherit;
}

.pb-bgsection-block--dark .wp-block-button__link {
  background: var(--pb-white);
  color: var(--pb-primary);
}

.pb-bgsection-block--light h1,
.pb-bgsection-block--light h2,
.pb-bgsection-block--light h3,
.pb-bgsection-block--light h4,
.pb-bgsection-block--light h5,
.pb-bgsection-block--light h6 {
  color: var(--pb-dark);
}

@media (min-width: 992px) {
  .pb-bgsection-block--underlap {
    position: relative;
    margin-top: calc(var(--pb-bgsection-underlap) * -1);
    z-index: -1;
  }

  .pb-bgsection-block--underlap .pb-bgsection-block__canvas {
    min-height: calc(550px + var(--pb-bgsection-underlap));
  }

  .pb-bgsection-block--underlap .pb-bgsection-block__content {
    min-height: calc(550px + var(--pb-bgsection-underlap));
    transform: translateY(calc(var(--pb-bgsection-underlap) / 2));
  }
}

@media (max-width: 991.98px) {
  .pb-bgsection-block__content {
    padding: 5rem 0;
  }

  .pb-bgsection-block--arc-top .pb-bgsection-block__media,
  .pb-bgsection-block--arc-bottom .pb-bgsection-block__media {
    inset: 0;
    left: auto;
    width: auto;
    aspect-ratio: auto;
    border-radius: 0;
    overflow: hidden;
    max-width: none;
    transform: none;
  }
}
