.gallery {
  display: flex;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  justify-content: center;
  align-items: center;
  z-index: 1300;
  background-color: rgb(0 0 0 / 0.5);

  &__container {
    display: flex;
    position: relative;
    background-color: #ffffff;
    border-radius: 0.25rem;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
    height: 95%;
    width: 95%;

    @media (prefers-color-scheme: dark) {
      background-color: #2c333a;
    }

    &__drag-overlay {
      display: flex;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 50;
      color: #ffffff;
      justify-content: center;
      align-items: center;
      background-color: rgb(72 146 234 / 0.8);
      font-size: 2.25rem;
      line-height: 2.5rem;

      @media (prefers-color-scheme: dark) {
        background-color: rgb(16 71 137 / 0.8);
        color: rgb(226 229 233 / 1);
      }
    }

    &__close-btn {
      position: absolute;
      top: 0;
      right: 0.5rem;
      padding: 0.5rem;
      font-size: 1.25rem;
      line-height: 1.75rem;
      cursor: pointer;

      @media (prefers-color-scheme: dark) {
        color: rgb(197 204 211 / 1);
      }
    }

    &__file-container {
      display: flex;
      flex: 1 1 0%;
      justify-content: flex-start;
      align-items: center;
      padding: 1.25rem;
      gap: 1rem;

      &--has-files {
        flex-wrap: wrap;
        align-content: flex-start;
      }

      &__empty {
        display: flex;
        padding: 2.5rem;
        font-size: 1.5rem;
        line-height: 2rem;
        text-align: center;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 100%;
        border-radius: 0.5rem;
        border-width: 4px;
        border-style: dashed;
        border-color: rgb(197 204 211 / 1);
        color: rgb(88 102 116 / 1);

        @media (prefers-color-scheme: dark) {
          border-color: rgb(139 153 167 / 1);
        }
      }
    }

    &__selected-file-panel {
      display: flex;
      padding: 1.5rem;
      flex-direction: column;
      justify-content: space-between;
      align-items: stretch;
      width: 100%;
      max-width: 20rem;
      border-top-right-radius: 0.25rem;
      border-bottom-right-radius: 0.25rem;
      gap: 1.25rem;
      background-color: rgb(241 242 244 / 1);

      @media (prefers-color-scheme: dark) {
        background-color: rgb(33 38 43 / 1);
      }

      div &__save-btn {
        padding-top: 0.375rem;
        padding-bottom: 0.375rem;
        padding-left: 1.25rem;
        padding-right: 1.25rem;
        margin-top: 1rem;
        transition-property: background-color, border-color, color, fill, stroke,
          opacity, box-shadow, transform;
        color: #ffffff;
        font-size: 0.875rem;
        line-height: 1.25rem;
        border-radius: 0.25rem;
        cursor: pointer;
        background-color: #6ca7ee;

        &:hover {
          background-color: #4892ea;
        }

        @media (prefers-color-scheme: dark) {
          background-color: #104789;
          color: #e2e5e9;

          &:hover {
            background-color: #155fb7;
          }
        }
      }

      &__select-btn {
        padding-top: 0.375rem;
        padding-bottom: 0.375rem;
        padding-left: 1.25rem;
        padding-right: 1.25rem;
        transition-property: background-color, border-color, color, fill, stroke,
          opacity, box-shadow, transform;
        color: #ffffff;
        font-size: 0.875rem;
        line-height: 1.25rem;
        align-self: flex-end;
        border-radius: 0.25rem;
        cursor: pointer;
        background-color: #6ca7ee;

        &:hover {
          background-color: #4892ea;
        }

        @media (prefers-color-scheme: dark) {
          background-color: #424c57;
          color: #e2e5e9;

          &:hover {
            background-color: #155fb7;
          }
        }
      }
    }
  }
}
