.wsr-native-form { position: relative; }
.wsr-honeypot { position: absolute !important; left: -99999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }
.wsr-progress { display: grid; grid-template-columns: repeat(3, 1fr); gap: .45rem; margin-bottom: 2rem; }
.wsr-progress span { padding: .65rem .45rem; border-bottom: 4px solid #d8e2e8; color: #5c6b7a; font-size: .77rem; font-weight: 800; text-align: center; }
.wsr-progress span.is-active { border-color: #e85d2a; color: #10233d; }
.wsr-step { padding: 0; margin: 0; border: 0; }
.wsr-step[hidden] { display: none; }
.wsr-step legend { width: 100%; margin-bottom: 1.3rem; color: #10233d; font-size: clamp(1.35rem, 3vw, 1.8rem); font-weight: 900; }
.wsr-fields { display: grid; gap: 1rem; }
.wsr-fields--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.wsr-field { display: grid; gap: .35rem; margin-bottom: 1rem; }
.wsr-field--full { grid-column: 1 / -1; }
.wsr-field label { color: #10233d; font-weight: 800; }
.wsr-field label span, .wsr-check strong { color: #b42318; }
.wsr-field small { color: #5c6b7a; font-size: .78rem; }
.wsr-field input:focus, .wsr-field textarea:focus, .wsr-field select:focus { border-color: #087f79; box-shadow: 0 0 0 3px rgba(8,127,121,.12); outline: 0; }
.wsr-field [aria-invalid="true"] { border-color: #b42318 !important; background: #fff8f7; }
.wsr-field input[type="file"] { padding: .8rem; border: 1px dashed #8ca0af; border-radius: .65rem; background: #f7fafb; }
.wsr-file-list { color: #087f79; font-size: .82rem; font-weight: 750; }
.wsr-step-actions { display: flex; justify-content: flex-end; gap: .65rem; padding-top: 1rem; margin-top: 1rem; border-top: 1px solid #d8e2e8; }
.wsr-check { display: grid; grid-template-columns: auto 1fr; gap: .75rem; align-items: start; padding: .9rem; margin-bottom: .8rem; border: 1px solid #d8e2e8; border-radius: .7rem; background: #f7fafb; cursor: pointer; }
.wsr-check input { width: 21px; height: 21px; margin-top: .2rem; accent-color: #087f79; }
.wsr-check span { font-size: .9rem; }
.wsr-form-note { padding: .9rem; border-radius: .7rem; color: #714c00; background: #fff4df; font-size: .86rem; }
.wsr-form-error { padding: 1rem; margin-bottom: 1rem; border-inline-start: 5px solid #b42318; border-radius: .5rem; color: #7a1d14; background: #fff3f2; font-weight: 750; }
.wsr-catalog-filter { display: grid; grid-template-columns: 1fr 1fr auto; gap: .75rem; align-items: end; padding: 1rem; margin-bottom: 1.5rem; border: 1px solid #d8e2e8; border-radius: 1rem; background: #f2f7fa; }
.wsr-catalog-filter label { display: grid; gap: .25rem; font-size: .82rem; font-weight: 800; }
.wsr-catalog-filter input, .wsr-catalog-filter select { min-height: 48px; padding: .65rem .8rem; border: 1px solid #b8c6d0; border-radius: .55rem; background: #fff; }
.wsr-catalog-note { padding: 1rem; margin-bottom: 1.2rem; border-radius: .7rem; background: #fff4df; }

@media (max-width: 700px) {
  .wsr-fields--two, .wsr-catalog-filter { grid-template-columns: 1fr; }
  .wsr-step-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .wsr-step-actions .button:only-child { grid-column: 1 / -1; }
}
