.popups-host,
.popups-host__overlay {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.popups-host {
  position: fixed;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  overflow: auto;
  transition: opacity .3s
}

.popups-host_shown {
  z-index: 101;
  visibility: visible;
  opacity: 1
}

.popups-host_shown:not(.popups-host_fullscreen)~.messenger-button {
  z-index: 100;
  transition: .3s .7s, z-index
}

.popups-host.popups-host_fullscreen .popups-host__content {
  flex-grow: 1;
  width: 100%
}

.popups-host.popups-host_fullscreen .popups-host__close-button_transparent.sb-round-icon {
  background-color: rgba(17, 17, 17, .04)
}

.popups-host.popups-host_fullscreen .popups-host__close-button_transparent.sb-round-icon:hover {
  background-color: rgba(17, 17, 17, .16)
}

.popups-host.popups-host_fullscreen~.s-cart {
  z-index: 101
}

.popups-host .popups-host__close-button.sb-round-icon {
  position: fixed;
  z-index: 3;
  border-radius: 50%;
  background-color: #fff
}

.popups-host .popups-host__close-button.sb-round-icon:hover {
  background-color: hsla(0, 0%, 100%, .8)
}

@media screen and (max-width:959px) {
  .popups-host .popups-host__close-button.sb-round-icon {
    top: 16px;
    right: 16px
  }
}

.popups-host__container {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 100%
}

.popups-host__content {
  position: relative;
  z-index: 2;
  display: flex;
  min-height: 0
}

@media screen and (max-width:639px) {
  .popups-host__content {
    flex-grow: 1
  }

  .popup-info_payment {
    padding: 28px 16px
  }
}

.popups-host__overlay {
  position: absolute;
  z-index: 1;
  background-color: rgba(17, 17, 17, .56)
}

.popup-error,
.popup-info {
  position: relative;
  box-sizing: border-box;
  background-color: #fff;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .16)
}

.popup-info {
  display: flex;
  flex-direction: column
}

.popup-info_payment {
  align-items: center
}

@media screen and (min-width:640px) {
  .popup-info_payment {
    padding: 64px 28px
  }
}

@media screen and (max-width:639px) {
  .popup-info_with-button {
    justify-content: center;
    align-items: center;
    padding: 28px 16px
  }

  .popup-info_small {
    width: 100vw
  }
}

@media screen and (min-width:640px) {
  .popup-info_with-button {
    align-items: flex-start;
    padding: 28px
  }

  .popup-info_small {
    width: 484px
  }
}

.popup-info_fullscreen {
  justify-content: center;
  align-items: center;
  height: 100vh
}

.popup-info__icon {
  margin-bottom: 32px
}

.popup-info__button {
  margin-top: 32px
}

@media screen and (max-width:639px) {
  .popup-error {
    width: 100vw;
    min-height: 100%
  }
}

@media screen and (min-width:640px) {
  .popup-error {
    width: 496px
  }
}

@media screen and (min-width:960px) {
  .popups-host:not(.popups-host_fullscreen) .popups-host__content {
    padding: 60px 0
  }

  .popups-host .popups-host__close-button.sb-round-icon {
    top: 20px;
    right: 20px
  }

  .popup-error {
    display: flex;
    align-items: flex-start;
    justify-content: center
  }
}

@media (min-width:960px) and (max-width:1359px) {
  .popup-error {
    padding: 0 20px
  }
}

@media screen and (min-width:1360px) {
  .popup-error {
    padding: 0 24px
  }
}

.popup-error__container {
  padding: 72px 0
}
