.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
}
