.dialog {
  background-color: var(--color-bg);
  border-radius: var(--rounded-lg);
  border-width: var(--border);
  box-shadow: var(--shadow-lg);
  color: var(--color-text);
  inline-size: var(--size-full);
  margin: auto;
  max-inline-size: var(--dialog-size, var(--max-i-lg));
  opacity: 0;
  transform: var(--scale-95);

  /* Setup transition */
  transition-behavior: allow-discrete;
  transition-duration: var(--time-200);
  transition-property: display, overlay, opacity, transform;

  &::backdrop {
    background-color: rgb(0 0 0 / 80%);
    opacity: 0;
    transition-behavior: allow-discrete;
    transition-duration: var(--time-150);
    transition-property: display, overlay, opacity;
  }

  /* On stage */
  &[open] {
    opacity: 1;
    transform: var(--scale-100);
  }

  &[open]::backdrop {
    opacity: 1;
  }

  /* Enter stage from */
  @starting-style {
    &[open] {
      opacity: 0;
      transform: var(--scale-95);
    }

    &[open]::backdrop {
      opacity: 0;
    }
  }

  /* Drawer component on mobile  */
  @media (width < 40rem) {
    border-end-end-radius: 0;
    border-end-start-radius: 0;
    margin-block-end: 0;
    max-inline-size: none;
  }
}

.dialog__content {
  padding: var(--size-6);
}

.dialog__close {
  inset-block-start: var(--size-3);
  inset-inline-end: var(--size-3);
  position: absolute;
}
