.cth-submit-form { max-width: 640px; margin: 0 auto; display: flex; flex-direction: column; gap: 16px; font-family: 'Roboto', system-ui, sans-serif; }
.cth-submit-form label { display: flex; flex-direction: column; gap: 6px; font: 500 14px 'Roboto'; color: #2b2f36; }
.cth-submit-form .req { color: #e8342a; }
.cth-submit-form input[type=text], .cth-submit-form input[type=email], .cth-submit-form input[type=url], .cth-submit-form select, .cth-submit-form textarea {
  font: 400 15px 'Roboto'; padding: 11px 13px; border: 1px solid #dfe3e8; border-radius: 6px; color: #2b2f36; background: #fff;
}
.cth-submit-form input[type=file] { font: 400 14px 'Roboto'; padding: 8px 0; }
.cth-submit-form input:focus, .cth-submit-form select:focus, .cth-submit-form textarea:focus { outline: none; border-color: #164079; }
.cth-submit-row { display: flex; gap: 16px; flex-wrap: wrap; }
.cth-submit-row label { flex: 1; min-width: 200px; }
.cth-submit-divider { border: none; border-top: 1px solid #e8eaee; margin: 4px 0; }
.cth-submit-btn { align-self: flex-start; background: #16305c; color: #fff; border: none; border-radius: 6px; padding: 13px 26px; font: 500 15px 'Roboto'; cursor: pointer; }
.cth-submit-btn:hover { background: #0f2547; }
.cth-submit-notice { padding: 16px 18px; border-radius: 8px; font: 400 15px/1.5 'Roboto'; margin-bottom: 8px; }
.cth-submit-success { background: #eef7f0; border: 1px solid #b8dfc0; color: #1e5c2e; }
.cth-submit-error { background: #fcf0f1; border: 1px solid #f0b9bc; color: #8a1f24; }
