.form{display:flex;flex-direction:column;gap:16px;margin-top:20px}.form-row{display:grid;grid-gap:16px;gap:16px}.form-row.cols-2{grid-template-columns:1fr 1fr}.form-row.cols-3{grid-template-columns:1fr 1fr 1fr}@media (max-width:640px){.form-row.cols-2,.form-row.cols-3{grid-template-columns:1fr}}.form-field{display:flex;flex-direction:column}.form-label{display:block;font-size:13px;font-weight:600;color:var(--navy);margin-bottom:6px;text-transform:uppercase;letter-spacing:.8px}.form-label .req{color:#c0392b;margin-left:3px;font-weight:700}.form-input,.form-select,.form-textarea{width:100%;padding:11px 14px;border:1px solid var(--gray-300);border-radius:4px;font-family:var(--font-body);font-size:15px;color:var(--navy);background:#fff;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.form-input::placeholder,.form-textarea::placeholder{color:#9aa3ad}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:#a8a8a8}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(245,162,0,.18)}.form-textarea{resize:vertical;min-height:110px}.form-input.has-error,.form-select.has-error,.form-textarea.has-error{border-color:#d32f2f}.form-input.has-error:focus,.form-select.has-error:focus,.form-textarea.has-error:focus{box-shadow:0 0 0 3px rgba(211,47,47,.18)}.form-error{color:#d32f2f;font-size:12px;margin-top:4px;font-weight:500}.form-submit-error{color:#d32f2f;font-size:14px;background:#fdecea;border:1px solid #f5c2c0;border-radius:4px;padding:10px 14px}.form-success{background:#e8f5e9;border:1px solid #4caf50;border-radius:6px;padding:20px;margin-top:20px;color:#1b5e20}.form-checkbox-label{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--gray-700);line-height:1.5;cursor:pointer}.form-checkbox-label input[type=checkbox]{margin-top:3px;width:16px;height:16px;accent-color:var(--gold);cursor:pointer}.form-section-divider{border:none;border-top:1px solid var(--gray-100,#eee);margin:8px 0}.form-section-label{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--navy);margin:0}.form-disclaimer{color:var(--gray-500,#888);font-size:12px;font-style:italic}.custom-select{position:relative;width:100%}.custom-select__toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:11px 14px;background:#fff;border:1px solid var(--gray-300);border-radius:4px;font-family:var(--font-body);font-size:15px;color:var(--navy);cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.custom-select__toggle:hover{border-color:#a8a8a8}.custom-select.is-open .custom-select__toggle{border-color:var(--gold);box-shadow:0 0 0 3px rgba(245,162,0,.18)}.custom-select__toggle.placeholder{color:#9aa3ad}.custom-select__chevron{width:16px;height:16px;color:var(--gold);transition:transform .2s ease}.custom-select.is-open .custom-select__chevron{transform:rotate(180deg)}.custom-select__menu{position:absolute;top:calc(100% + 4px);left:0;width:100%;background:var(--navy);border:1px solid var(--gold);border-radius:6px;box-shadow:0 10px 40px rgba(0,0,0,.35);z-index:1000;max-height:280px;overflow-y:auto;padding:6px 0;animation:dropdownIn .2s ease-out}.custom-select__option{padding:11px 16px;font-size:14px;color:var(--white);cursor:pointer;transition:background .15s ease,color .15s ease;font-weight:500}.custom-select__option:hover{background:var(--gold);color:var(--navy)}.custom-select__option.is-selected{background:var(--navy-light);color:var(--gold)}.custom-select__option.is-selected:hover{background:var(--gold);color:var(--navy)}@keyframes dropdownIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.custom-select__menu::-webkit-scrollbar{width:6px}.custom-select__menu::-webkit-scrollbar-track{background:var(--navy-dark)}.custom-select__menu::-webkit-scrollbar-thumb{background:var(--gray-700);border-radius:10px}.custom-select__menu::-webkit-scrollbar-thumb:hover{background:var(--gold)}.equipment-sort-select{min-width:200px}@media (max-width:640px){.equipment-sort-select{width:100%}}