.properties-field {
  & > .setting-item-info {
    flex: 0;
    margin: 0;
    padding: var(--size-4-1) var(--size-4-2);

    border: var(--input-border-width) solid var(--background-modifier-border);
    border-radius: var(--input-radius) 0 0 var(--input-radius);
  }

  & > .setting-item-control > input {
    width: 100%;

    border-radius: 0 var(--input-radius) var(--input-radius) 0;
  }
}

.ac-settings-heading {  
  border-bottom: 1px solid var(--color-accent);

  &:not(:first-child) {
    margin-top: var(--size-4-10) !important;
  }

  &:has(.checkbox-container:not(.is-enabled)) {
    border-bottom-color: var(--background-modifier-border-hover);
  }

  .setting-item-description {
    margin-inline-end: 20px;
  }
}

.settings-header-children {
  transform-origin: top center;

  transform: scaleY(1);
  transition: transform 0.2s ease-in-out;

  details {
    flex-direction: column;
    align-items: initial;
  }
}

.ac-settings-heading:has(.checkbox-container:not(.is-enabled)) + .settings-header-children {
  opacity: 0.5;
  pointer-events: none;

  height: 0;
  transform: scaleY(0);
}

details.setting-item {
  &[open] > summary {
    margin-bottom: 0.75em;
  }

  & > *:not(summary) {
    padding-left: 1em;
    border-left: 1px solid var(--color-accent);
  }
}

.kofi-banner {
  position: relative;
  display: flex;
  flex-direction: column;

  padding: var(--size-4-3);

  background-color: var(--background-secondary);

  border: 1px solid var(--divider-color);
  border-radius: var(--radius-s);

  h1 {
    margin: 0;
    margin-bottom: 10px;

    font-size: var(--font-ui-large);
    font-weight: 600;
  }

  .progress-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-items: center;

    progress {
      background: transparent;

      &::-webkit-progress-bar {
        background-color: var(--background-modifier-border);
        border-radius: var(--input-radius);
      }

      &::-webkit-progress-value {
        background-color: var(--color-accent);
        border-radius: var(--input-radius);
      }
    }

    .hourly-rate {
      margin-left: 10px;

      font-weight: 600;
    }
  }

  .ac-kofi-button {
    align-self: flex-end;

    width: min-content;
    height: min-content;

    line-height: 0;

    img {
      min-width: 100px;
      width: 25%;
      max-width: 200px;
    }
  }
}