/* padding on the parent, not margin on the card: a top margin collapses
   through .inner_container and moves the page instead of clearing the header */
.sc_container { padding-top: 120px; }

.sc_wrap {
  max-width: 820px;
  margin: 0 auto 70px;
  background: #fff;
  border-radius: 10px;
  padding: 34px 30px 40px;
}

.sc_wrap h1 { font-size: 1.9em; line-height: 1.25; margin: 0 0 14px; }
.sc_lead { color: #444; line-height: 1.55; margin: 0 0 26px; }

.sc_row { display: flex; gap: 10px; flex-wrap: wrap; }

.sc_input {
  flex: 1 1 260px;
  min-width: 0;
  padding: 13px 14px;
  font-size: 1em;
  font-family: inherit;
  border: 1px solid #c9c9c9;
  border-radius: 6px;
}
.sc_input:focus { outline: 2px solid #6fbf4a; outline-offset: 1px; border-color: #6fbf4a; }

.sc_btn {
  padding: 13px 22px;
  font-size: 1em;
  font-family: inherit;
  color: #fff;
  background: #6fbf4a;
  border: 0;
  border-radius: 6px;
  cursor: pointer;
}
.sc_btn:hover { background: #61a840; }
.sc_btn[disabled] { background: #b3b3b3; cursor: default; }

.sc_err { color: #c22; margin: 10px 0 0; }

.sc_box { border: 1px solid #e2e2e2; border-radius: 8px; padding: 14px 16px 16px; margin: 24px 0 0; }
.sc_box legend { padding: 0 6px; font-weight: 600; color: #333; }

/* auto-fit rather than a fixed column count: the labels are long in pt and ru */
.sc_checks { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 8px 18px; }
.sc_checks label { display: flex; align-items: flex-start; gap: 8px; cursor: pointer; line-height: 1.4; }
.sc_checks input { margin-top: 3px; flex: none; }

.sc_progress { margin: 28px 0 0; }
.sc_bar { height: 8px; background: #ececec; border-radius: 4px; overflow: hidden; }
.sc_bar_fill { height: 100%; width: 0; background: #6fbf4a; transition: width .35s ease; }
.sc_step { margin: 9px 0 0; color: #555; font-size: .93em; }

.sc_result { margin: 30px 0 0; border-top: 1px solid #e2e2e2; padding-top: 24px; }
.sc_result h2 { font-size: 1.35em; margin: 0 0 14px; }

.sc_findings { list-style: none; padding: 0; margin: 0 0 20px; }
.sc_findings li { padding: 11px 0; border-bottom: 1px solid #f0f0f0; line-height: 1.5; }
.sc_findings .sc_label { color: #666; display: block; font-size: .86em; text-transform: uppercase; letter-spacing: .04em; }
.sc_findings .sc_value { font-weight: 600; }
.sc_findings .sc_evidence { font-size: .87em; word-break: break-all; }
.sc_findings .sc_unknown { color: #888; font-weight: 400; font-style: italic; }

.sc_verdict { background: #f6faf3; border-left: 4px solid #6fbf4a; padding: 15px 17px; line-height: 1.55; border-radius: 0 6px 6px 0; }
.sc_verdict p { margin: 0 0 9px; }
.sc_verdict p:last-child { margin: 0; }

.sc_email { margin: 26px 0 0; }
.sc_email p { color: #444; line-height: 1.5; margin: 0 0 12px; }
.sc_note { margin: 10px 0 0; color: #3a7d22; }

.sc_faq { margin: 42px 0 0; border-top: 1px solid #e2e2e2; padding-top: 24px; }
.sc_faq h2 { font-size: 1.35em; margin: 0 0 16px; }
.sc_faq h3 { font-size: 1.02em; margin: 20px 0 6px; }
.sc_faq p { color: #444; line-height: 1.55; margin: 0; }

@media (max-width: 600px) {
  .sc_container { padding-top: 90px; }
  .sc_wrap { margin: 0 12px 40px; padding: 24px 18px 30px; }
  .sc_wrap h1 { font-size: 1.5em; }
  .sc_btn { width: 100%; }
}
