.np-bottom-sheet-v2-container {
  position: relative;
  z-index: 1060;
}

.np-bottom-sheet-v2-backdrop {
  position: fixed;
  inset: 0px;
  background-color: var(--color-content-primary);
  opacity: 0.4;
  transition-property: opacity;
  transition-timing-function: ease-out;
  transition-duration: 300ms;

  &--closed {
    opacity: 0;
  }
}

.np-bottom-sheet-v2 {
  position: fixed;
  inset: 0px;
  bottom: env(keyboard-inset-height, 0px);
  margin-left: var(--size-8);
  margin-right: var(--size-8);
  margin-top: var(--size-64);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.np-bottom-sheet-v2-content {
  display: flex;
  flex-direction: column;
  overflow: auto;
  border-top-left-radius: 32px; /* TODO: Tokenize */
  border-top-right-radius: 32px; /* TODO: Tokenize */
  background-color: var(--color-background-elevated);
  box-shadow: 0 0 40px rgb(69 71 69 / 0.2);

  &:focus {
    outline: none;
  }

  @media (prefers-reduced-motion: no-preference) {
    transition-property: transform;
    transition-timing-function: ease-out;
    transition-duration: 300ms;

    &--closed {
      transform: translateY(100%);
    }
  }

  @media (prefers-reduced-motion: reduce) {
    transition-property: opacity;
    transition-timing-function: ease-out;
    transition-duration: 300ms;

    &--closed {
      opacity: 0;
    }
  }
}

.np-bottom-sheet-v2-header {
  align-self: flex-end;
  padding: var(--size-16);
}

.np-bottom-sheet-v2-content-inner {
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  row-gap: var(--size-8);
  overflow: auto;

  &--has-title {
    grid-template-rows: auto minmax(0, 1fr);
  }

  &--padding-md {
    padding: var(--size-16);
    padding-top: 0px;
  }
}

.np-bottom-sheet-v2-title {
  color: var(--color-content-primary);
}

.np-bottom-sheet-v2-body {
  color: var(--color-content-secondary);
}
