.gug-upload,
.gug-gallery {
  box-sizing: border-box;
}

.gug-upload *,
.gug-gallery * {
  box-sizing: border-box;
}

.gug-upload {
  width: 100%;
  max-width: 760px;
  margin: 0 auto 2rem;
}

.gug-upload__headline {
  margin: 0 0 0.75rem;
}

.gug-upload__intro {
  margin-bottom: 1.25rem;
}

.gug-field {
  margin-bottom: 1rem;
}

.gug-label {
  display: block;
  margin-bottom: 0.35rem;
  font-weight: 600;
}

.gug-input--pin,
.gug-input--files {
  width: 100%;
  max-width: 100%;
}

.gug-hint,
.gug-upload__legal {
  font-size: 0.92rem;
  opacity: 0.78;
}

.gug-button {
  cursor: pointer;
}

.gug-button[disabled],
.gug-input[disabled] {
  cursor: wait;
  opacity: 0.7;
}

.gug-progress {
  margin-top: 1rem;
}

.gug-progress__bar {
  width: 100%;
}

.gug-progress__label,
.gug-status,
.gug-results {
  margin-top: 0.5rem;
}

.gug-status--success,
.gug-results__item--success {
  color: #0a7a28;
}

.gug-status--error,
.gug-results__item--error {
  color: #b32d2e;
}

.gug-results {
  padding-left: 1.2rem;
}

.gug-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 1rem;
  width: 100%;
}

.gug-gallery__item {
  margin: 0;
}

.gug-gallery__link {
  display: block;
}

.gug-gallery__image {
  display: block;
  width: 100%;
  height: auto;
}

.gug-access,
.gug-access-required {
  box-sizing: border-box;
  width: 100%;
  max-width: 620px;
  margin: 0 auto 2rem;
}

.gug-access *,
.gug-access-required * {
  box-sizing: border-box;
}

.gug-access__form {
  display: grid;
  gap: 0.75rem;
}

.gug-access__form .gug-input--pin {
  width: 100%;
}

.gug-access__button,
.gug-access-required__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.gug-access__error {
  color: #b32d2e;
  font-weight: 600;
}
