.soagain-video-test,
.soagain-video-test * { box-sizing: border-box; }

.soagain-video-test {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0 auto;
  padding: 16px;
  border: 0;
  border-radius: 0;
  background: #fff;
  color: #17263C;
  overflow-wrap: anywhere;
}

.soagain-video-test h2 {
  margin: 0 0 12px;
  color: #17263C;
  font-size: clamp(22px, 5vw, 29px);
  line-height: 1.22;
}

.soagain-video-test p { margin: 0 0 16px; line-height: 1.5; }
.soagain-video-test .soagain-video-intro { color: #475468; }
.soagain-video-test .soagain-video-label {
  display: block;
  margin-bottom: 9px;
  font-weight: 700;
  color: #17263C;
}
.soagain-video-test .soagain-video-optional { color: #697286; font-weight: 400; }
.soagain-video-test input[type="text"]#soagain-test-contributor {
  display: block;
  width: 100%;
  max-width: 100%;
  min-height: 45px;
  padding: 10px 12px;
  margin: 0 0 20px;
  border: 1px solid #e3ccd4;
  border-radius: 8px;
  background: #fff;
  color: #17263C;
  font: inherit;
}
.soagain-video-test input[type="file"] {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  font: inherit;
  color: #17263C;
}
.soagain-video-test input[type="file"]::file-selector-button {
  max-width: 100%;
  margin-right: 10px;
  padding: 9px 12px;
  border: 1px solid #C45779;
  border-radius: 7px;
  background: #fff;
  color: #17263C;
  font: inherit;
  cursor: pointer;
}
.soagain-video-test .soagain-video-hint {
  margin: 10px 0 18px;
  color: #626a75;
  font-size: 13px;
}
.soagain-video-test button#soagain-test-send {
  display: block;
  width: 100%;
  min-height: 48px;
  padding: 12px 16px;
  border: 0;
  border-radius: 9px;
  background: #C45779;
  color: #fff;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.soagain-video-test button#soagain-test-send:disabled { opacity: .65; cursor: wait; }
.soagain-video-test button#soagain-test-send:focus-visible,
.soagain-video-test input[type="text"]#soagain-test-contributor:focus-visible,
.soagain-video-test input[type="file"]:focus-visible { outline: 3px solid #17263C; outline-offset: 3px; }
.soagain-video-test .soagain-video-feedback { margin-top: 18px; }
.soagain-video-test progress {
  display: block;
  width: 100%;
  height: 14px;
  margin: 0 0 12px;
  border: none;
  border-radius: 99px;
  overflow: hidden;
  accent-color: #C45779;
}
.soagain-video-test progress::-webkit-progress-bar { background: #f0e9ec; border-radius: 99px; }
.soagain-video-test progress::-webkit-progress-value { background: #C45779; border-radius: 99px; }
.soagain-video-test progress::-moz-progress-bar { background: #C45779; border-radius: 99px; }
.soagain-video-test #soagain-test-status { margin: 0 0 10px; font-size: 14px; }
.soagain-video-test #soagain-test-results p { margin: 8px 0; font-size: 14px; }

@media (max-width: 600px) {
  .soagain-video-test { padding: 10px 12px; }
  .soagain-video-test h2 { font-size: 23px; }
  .soagain-video-test .soagain-video-intro { font-size: 14px; }
  .soagain-video-test input[type="file"] { font-size: 13px; }
}
