.Root {
  position: relative;
  display: flex;
  flex-direction: column;
  background-color: var(--theme-color-bg-4);

  /* Modern rounded corners */
  border-radius: var(--radius-lg);

  /* Border for definition */
  border: 1px solid var(--theme-color-border-subtle);

  /* Elevated shadow */
  box-shadow: var(--shadow-popup);

  max-width: 810px;
  max-height: 90vh;
  width: 80vw;
  overflow: hidden;

  &::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -50px;
    right: 0;
    height: 50px;
    border-radius: 50%;
    box-shadow: 0 0 25px 10px var(--theme-color-bg-4);
  }
}

.CloseButtonContainer {
  position: absolute;
  top: var(--spacing-2);
  right: var(--spacing-2);
}

.Header {
  padding: var(--spacing-5) var(--spacing-10) var(--spacing-4);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;

  &.has-divider {
    border-bottom: 1px solid var(--theme-color-border-subtle);
  }
}

.Footer {
  padding: var(--spacing-5) var(--spacing-10) var(--spacing-4);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;

  &.has-divider {
    border-top: 1px solid var(--theme-color-border-subtle);
  }
}

.TitleWrapper {
  padding-top: var(--spacing-5);
  padding-right: var(--spacing-10);
}

.Content {
  padding: 0 var(--spacing-10) var(--spacing-10);
  padding-top: var(--spacing-4);
  overflow-x: hidden;
  overflow-y: overlay;

  /* Custom scrollbar styling */
  &::-webkit-scrollbar {
    width: 8px;
  }

  &::-webkit-scrollbar-track {
    background: var(--theme-color-bg-3);
  }

  &::-webkit-scrollbar-thumb {
    background: var(--theme-color-bg-5);
    border-radius: var(--radius-full);

    &:hover {
      background: var(--theme-color-fg-muted);
    }
  }
}
