@use '../colors';
@use '../breakpoints';

.root {
  --max-width: 464px;
  --min-width: 304px;
  --min-height: 56px;
  background: colors.$basic-gray76;
  border-radius: 10px;
  padding: 12px;
  display: flex;
  max-width: var(--max-width);
  min-width: var(--min-width);
  min-height: var(--min-height);
  position: fixed;
  bottom: var(--snackbar-bottom-gap, 12px);
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.12);
  // частично иммитируем поведение layout
  margin: 0 auto;
  @include breakpoints.gte('xs') {
    width: fit-content;
    bottom: var(--snackbar-bottom-gap, 40px);
  }
  @include breakpoints.lt('ms') {
    left: var(--snackbar-position-left, 8px);
    margin-right: 8px;
    width: calc(100% - (var(--snackbar-position-left, 8px) + 8px));
  }
  @include breakpoints.gte('ms') {
    @include breakpoints.lt('xs') {
      left: var(--snackbar-position-left, 50%);
      margin-left: calc(-1 * (var(--max-width) / 2));
      width: 100%;
    }
  }
  @include breakpoints.gte('xs') {
    @include breakpoints.lt('l') {
      left: var(--snackbar-position-left, 56px);
    }
  }
  @include breakpoints.gte('l') {
    @include breakpoints.lt('xl') {
      // 1472 - максимальная ширина контейнера Layout на данном разрешении.
      left: var(--snackbar-position-left, calc(((100% - 1472px) / 2) - 8px));
    }
  }
  @include breakpoints.gte('xl') {
    // 1504 - максимальная ширина контейнера Layout на данном разрешении.
    left: var(--snackbar-position-left, calc(((100% - 1504px) / 2) - 8px));
  }
  .icon:last-child,
  .button:last-child {
    padding-left: 12px;
    padding-right: 12px;
    margin-right: -12px;
  }
  .button {
    padding-left: 12px;
  }
}

.image + .content,
.icon + .content {
  margin-left: 8px;
}

.content {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  .title,
  .subtitle {
    display: -webkit-box;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 14px;
    line-height: 20px;
  }
}

.button {
  display: flex;
  align-items: center;
  margin-top: -12px;
  margin-bottom: -12px;
}

.image {
  display: flex;
  align-items: center;
  img {
    border-radius: 4px;
    height: 40px;
  }
}

.icon {
  display: flex;
  align-items: center;
  margin-top: -12px;
  margin-bottom: -12px;
}

.title {
  color: colors.$basic-white;
}

.subtitle {
  color: colors.$basic-gray38;
}
