.participants-selector {
  user-select: none;

  @media (max-width: 650px) {
    grid-area: left;
  }

  form .error {
    outline: solid red;
  }
}

.participants-form__additional-header {
  display: flex;
  gap: 1rem;
  align-items: center;
}

.participants-form__additional-control {
  display: flex;
  gap: 0.5rem;
  margin: 1rem 0;
}

.participants-selector__trigger,
.participants-form__additional-trigger-remove,
.participants-form__additional-trigger-add {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5em;
  border-radius: 50%;
  border: 1px solid;
  border-color: var(--ocean);
  background-color: var(--white);
  cursor: pointer;

  &:not(.disabled):hover {
    background-color: var(--ocean);
    color: var(--white);
  }

  &.disabled {
    background: darkgrey;
    cursor: not-allowed;
  }
}

.participants-selector__trigger {
  width: 51px;
  height: 51px;
}

.participants-selector__trigger:after {
  content: "▼";
  position: absolute;
  top: 32%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 4rem;
  font-weight: 500;
}

.participants-form__additional-trigger-remove,
.participants-form__additional-trigger-add {
  width: 30px;
  height: 30px;
}

.participants-form__additional-trigger-add:after,
.participants-form__additional-trigger-remove:after {
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
}

.participants-form__additional-trigger-add:after {
  content: "+";
  top: 50%;
}

.participants-form__additional-trigger-remove:after {
  content: "-";
  top: 43%;
}

.participants-selector__select {
  position: absolute;
  border: 1px solid;
  border-color: var(--ocean);
  background-color: var(--white);
  border-radius: 0.5rem;
  padding: 0.75rem;

  .participants-selector__participant {
    display: grid;
    grid-template-columns: 5fr 1fr;
    gap: 1em;
  }

  .participants-selector__name {
    padding: 0.25em;
    border-radius: 0.5rem;

    &:hover {
      background-color: var(--ocean);
      color: var(--white);
    }
  }

  .participants-selector__participant-delete {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2em;

    &:hover {
      border-radius: 0.5rem;
      background-color: var(--danger);
    }
  }
}

.participants-form form:not(.hidden) .participants-form__group {
  display: grid;
  gap: 1rem;
  margin-bottom: 1rem;

  @media (max-width: 650px) {
    grid-template-areas:
      "left right"
      "bottom bottom";
    align-items: center;
    grid-template-columns: 1fr;
  }

  @media (min-width: 651px) {
    grid-template-columns: 1fr 1fr;
  }

  &.hidden {
    display: none;
  }
}

@media (max-width: 650px) {
  .participants-form__first-name {
    grid-area: right;
  }

  .participants-form__last-name {
    grid-area: bottom;
  }
}

.participants-form__additional-participants {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

.participants-form__button {
  margin-top: 1rem;
}
