/* Normal */

.normal {
  display: flex;
  align-items: flex-start;
}

.content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
}

.body {
  position: relative;
  padding: 12px 18px;
  max-width: 70%;

  background-color: var(--chat-message-bg-color);
  color: var(--chat-message-text-color);
  border-radius: 4px;

  overflow-wrap: break-word;
  white-space: pre-wrap;
}

.body-with-arrow {
  composes: body;

  &::before {
    content: '';
    position: absolute;
    top: 10px;
    left: -4px;

    width: 0;
    height: 0;

    border-right: 4px solid var(--chat-message-bg-color);
    border-top: 3px solid transparent;
    border-bottom: 3px solid transparent;
  }
}

.timestamp {
  composes: f5 from '../../../styles/utilities.css';

  margin-top: 4px;

  color: var(--chat-secondary-text-color);
}

.avatar {
  margin-right: 10px;
  flex-shrink: 0;
}

/* Own */

.own {
  composes: normal;

  .avatar {
    order: 1;
    margin-left: 10px;
  }

  .content {
    align-items: flex-end;
  }

  .body {
    background-color: var(--chat-my-message-bg-color);
    color: var(--chat-my-message-text-color);
    border: 1px solid var(--chat-primary-border-color);
  }

  .body-with-arrow {
    composes: body;

    &::before {
      left: unset;
      right: -6px;

      border-right: unset;
      border-left: 6px solid var(--chat-primary-border-color);
      border-top-width: 5px;
      border-bottom-width: 5px;
    }

    &::after {
      content: '';
      position: absolute;
      top: 12px;
      right: -4px;

      width: 0;
      height: 0;

      border-left: 4px solid var(--chat-my-message-bg-color);
      border-top: 3px solid transparent;
      border-bottom: 3px solid transparent;
    }
  }
}
