// В этом файле должны быть стили для БЭМ-блока modal, его элементов,
// модификаторов, псевдоселекторов, псевдоэлементов, @media-условий...
// Очередность: http://nicothin.github.io/idiomatic-pre-CSS/#priority

.modal {
  $block-name: &;

  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  display: none;
  width: 100%;
  height: 100%;
  overflow: hidden;
  outline: 0;

  &__dialog {
    position: relative;
    display: flex;
    align-items: center;
    width: auto;
    max-width: 480px;
    min-height: calc(
      100% - 4em
    ); // центровка, удвоенный margin, указанный чуть ниже
    margin: 2em auto;
    pointer-events: none;
  }

  &__content {
    position: relative;
    display: flex;
    flex-direction: column;
    border: 1px solid #d6dae5;
    border-radius: 4px;
    padding: 30px 15px;
    width: 100%;
    min-height: 40px;
    pointer-events: auto;
    background-color: $white;
    outline: 0;

    @media (min-width: $screen-xxl) {
    }

    @media (min-width: $screen-xl) {
      padding: 50px 80px;
    }

    @media (min-width: $screen-lg) {
      padding: 40px 60px;
    }

    .contacts__form-first {
      margin-bottom: 40px;
      text-align: center;
    }

    .contacts__form-desc {
      margin-top: 32px;
      margin-bottom: 0;
      font-size: 16px;
      line-height: 150%;
      letter-spacing: 0.05em;
      color: $color-d-blue;
    }

    .contacts__form-tilte {
    }

    .btn {
      width: 100%;
    }
  }

  &__header {
    position: relative;
    flex-shrink: 0;
    padding: 16px 40px 16px 16px;
    border-bottom: 1px solid $gray-lighten;
  }

  &__title {
    margin: 0;
    font-size: $font-size-h4;
    font-weight: 400;
  }

  &__close {
    position: absolute;
    top: 4px;
    right: 4px;
    outline: 0;
  }

  &__body {
    position: relative;
    flex: 1 1 auto;
    padding: 16px;
  }

  &__footer {
    display: flex;
    flex-wrap: wrap;
    flex-shrink: 0;
    align-items: flex-start;
    justify-content: flex-end;
    padding: 16px;
    border-top: 1px solid $gray-lighten;

    > * {
      margin-left: 8px;
    }
  }

  &--show {
    #{$block-name}__dialog {
      animation: modal-dialog 0.3s 1 ease-out forwards;
    }
  }
}

.modal-open {
  overflow: hidden;

  .modal {
    overflow-x: hidden;
    overflow-y: auto;
  }
}

.modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100vw;
  height: 100vh;
  background-color: $black;
  animation: modal-backdrop 0.3s 1 ease-out forwards;
}

@keyframes modal-backdrop {
  from {
    opacity: 0;
  }

  to {
    opacity: 0.6;
  }
}

@keyframes modal-dialog {
  from {
    transform: translate(0, -2em);
  }

  to {
    transform: translate(0, 0);
  }
}
