.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.contact-form label{display:flex;flex-direction:column;gap:7px}
.contact-form label.full,.contact-form .form-error,.contact-form .form-success,.contact-form button{grid-column:1/-1}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid var(--line,#cfdbde);background:#fff;color:var(--ink,#08151b);padding:13px 14px;font:inherit;border-radius:0}
.contact-form input[type=file]{padding:10px;background:var(--ice,#ecf4f5)}
@media(max-width:640px){.contact-form{grid-template-columns:1fr}}

.contact-form .phone-number-group{display:flex;min-width:0;gap:8px}.contact-form .phone-number-group select{width:42%;min-width:0;padding-left:8px;padding-right:4px}.contact-form .phone-number-group input[type=tel]{flex:1;width:0;min-width:0}
.contact-form,.contact-form label{min-width:0}
.contact-form textarea{resize:vertical;min-height:150px}
@media(max-width:740px){
  .contact-form{grid-template-columns:minmax(0,1fr);gap:20px}
  .contact-form input,.contact-form select,.contact-form textarea{font-size:16px;min-height:48px;max-width:100%}
  .contact-form .phone-number-group{flex-wrap:wrap}
  .contact-form .phone-number-group select{width:100%;flex:1 0 100%;padding:12px}
  .contact-form .phone-number-group input[type=tel]{width:100%;flex:1 0 100%}
  .contact-form input[type=file]{font-size:14px;overflow:hidden}
  .contact-form button{min-height:48px;width:100%}
}
