.Backdrop {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.Backdrop-styleTranslucent {
  background-color: hsla(0, 0%, 0%, 0.18);
}

.Popover {
  position: relative;
}

.Popover-connectorArrow {
  --popover-arrow-size: rem(25px);
  &::before {
    background-color: white;
    content: '';
    position: absolute;
    z-index: 1;
    border-radius: var(--x-global-border-radius);
    display: block;
    transform: rotate(45deg);
    width: var(--popover-arrow-size);
    height: var(--popover-arrow-size);
  }

  & .Content {
    min-width: calc(var(--popover-arrow-size) * 2);
  }
}

.Popover-depthFar {
  &::after {
    box-shadow: 0 19px 47px rgba(0, 0, 0, 0.35);
    content: '';
    z-index: -1;
    position: absolute;
    left: 5%;
    right: 5%;
    top: 0;
    height: 100%;
    width: 90%;
    display: block;
  }
}

.Popover-placementInlineStart,
.Popover-placementInlineEnd {
  &::before {
    top: calc(50% - calc(var(--popover-arrow-size) / 2));
  }

  & .Content {
    min-height: calc(var(--popover-arrow-size) * 2);
  }
}

.Popover-placementInlineStart {
  &::before {
    right: -8px;
  }
}

.Popover-placementInlineEnd {
  &::before {
    left: -8px;
  }
}

.Popover-placementBlockStart,
.Popover-placementBlockEnd {
  &::before {
    left: calc(50% - calc(var(--popover-arrow-size) / 2));
  }
}

.Popover-placementBlockStart {
  &::before {
    bottom: -8px;
  }
}

.Popover-placementBlockEnd {
  &::before {
    top: -8px;
  }
}

.Content {
  position: relative;
  z-index: 2;
  background-color: white;
  border-radius: var(--x-global-border-radius);
}
