.so-cm{max-width:820px;margin:30px auto 10px;background:#fff;border:1px solid #eee;border-radius:8px;padding:26px;box-shadow:0 2px 14px rgba(0,0,0,.06);text-align:left}
.so-cm-title{color:#f40103;font-size:24px;line-height:30px;margin:0 0 6px;font-weight:700}
.so-cm-intro{color:#555;margin:0 0 20px;font-size:15px}
.so-cm fieldset{border:0;padding:0;margin:0 0 18px;min-width:0}
.so-cm legend{font-size:17px;font-weight:600;color:#222;margin:0 0 14px;border-bottom:2px solid #f40103;padding-bottom:6px;width:100%}
.so-cm label{display:block;font-weight:600;font-size:14px;margin:0 0 5px;color:#333}
.so-cm .form-control{width:100%;min-height:44px;font-size:15px;border:1px solid #d6d6d6;border-radius:4px;padding:8px 12px;background:#fff}
.so-cm textarea.form-control{min-height:100px}
.so-cm .form-control:focus{border-color:#f40103;outline:0;box-shadow:0 0 0 2px rgba(244,1,3,.15)}
.so-cm-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.so-cm-grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:0 14px}
.so-cm-field{margin-bottom:14px}
.so-cm small,.so-cm-help{display:block;color:#777;font-size:13px;margin:4px 0 14px}
.so-cm-unit{position:relative}
.so-cm-unit:after{content:"cm";position:absolute;right:30px;top:12px;color:#999;font-size:14px;pointer-events:none}
.so-cm-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.so-cm-check{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important}
.so-cm-check input{margin-top:4px;width:18px;height:18px;flex:0 0 18px}
.so-cm-check a{color:#f40103;text-decoration:underline}
.so-cm-legal{font-size:12px;color:#888;line-height:17px;margin:8px 0 16px}
.so-cm-btn{display:block;width:100%;background:#f40103!important;border:0!important;color:#fff!important;font-size:17px;font-weight:600;padding:14px 30px;border-radius:4px;cursor:pointer}
.so-cm-btn:hover{background:#c90002!important}
.so-cm-btn[disabled]{opacity:.7;cursor:wait}
.so-cm-msg:empty{display:none}
.so-cm-msg{padding:12px 14px;border-radius:4px;margin-bottom:14px;font-size:14px}
.so-cm-msg.is-err{background:#fdecea;color:#a30000;border:1px solid #f5c2c0}
.so-cm-done{text-align:center;padding:30px 10px}
.so-cm-done h2{color:#f40103;font-size:26px;margin:10px 0}
.so-cm-icon{width:64px;height:64px;line-height:64px;border-radius:50%;background:#f40103;color:#fff;font-size:34px;margin:0 auto}
@media (max-width:575px){.so-cm{padding:18px 14px;margin-top:20px}.so-cm-grid3,.so-cm-grid2{grid-template-columns:1fr;gap:0}}

.so-cm h2.so-cm-title{font-size:30px!important;line-height:1.3!important;margin-bottom:10px!important}
@media (max-width:575px){.so-cm h2.so-cm-title{font-size:24px!important}}
.so-cm p.so-cm-help{font-size:13px!important;line-height:19px!important;color:#777!important}
.so-cm-done h2{line-height:1.3!important}
