/* =========================================================
   NAVYUG TECHNOLOGY — FORMS
   ========================================================= */
.form__wrap { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(24px, 4vw, 48px); align-items: start; }
@media (max-width: 991px) { .form__wrap { grid-template-columns: 1fr; } .form__side { order: 2; } }

.side__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.side__list li { display: grid; gap: 2px; font-size: .95rem; color: var(--nt-text-2); }
.side__list span {
  font-family: var(--font-mono); font-size: .66rem; letter-spacing: .12em;
  text-transform: uppercase; color: var(--nt-text-3);
}
.side__steps { margin: 0; padding-left: 18px; display: grid; gap: 10px; color: var(--nt-text-2); font-size: .94rem; }

.form__main { background: #fff; border: 1px solid var(--nt-line); border-radius: var(--r-lg); padding: clamp(20px, 3vw, 34px); box-shadow: var(--sh-sm); }

.f__row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-4); }
.f__row--3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 767px) { .f__row, .f__row--3 { grid-template-columns: 1fr; } }

.f__field { margin-bottom: var(--s-4); display: grid; gap: 7px; }
.f__field label { font-size: .88rem; font-weight: 600; color: var(--nt-text); }
.f__field label b { color: var(--nt-blue); }
.f__field .hint { font-weight: 400; color: var(--nt-text-3); font-size: .8rem; }

.f__field input, .f__field select, .f__field textarea {
  width: 100%; font-family: var(--font-body); font-size: .97rem; color: var(--nt-text);
  background: #fff; border: 1px solid var(--nt-line); border-radius: var(--r-md);
  padding: 13px 15px; transition: border-color var(--tr-fast), box-shadow var(--tr-fast);
}
.f__field textarea { resize: vertical; min-height: 130px; line-height: 1.6; }
.f__field input:focus, .f__field select:focus, .f__field textarea:focus {
  outline: none; border-color: var(--nt-blue); box-shadow: 0 0 0 4px var(--nt-blue-soft);
}
.f__field input[type="file"] { padding: 11px 14px; background: var(--nt-bg-alt); cursor: pointer; }
.f__field select { appearance: none; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237C879B' stroke-width='2.5' stroke-linecap='round'><path d='M6 9l6 6 6-6'/></svg>"); background-repeat: no-repeat; background-position: right 15px center; padding-right: 40px; }

.f__submit { width: 100%; margin-top: var(--s-2); padding: 16px 26px; font-size: 1rem; }
.f__note { font-size: .82rem; color: var(--nt-text-3); text-align: center; margin: 14px 0 0; }

.alert { border-radius: var(--r-md); padding: var(--s-5); margin-bottom: var(--s-5); }
.alert--err { background: #FFF3F3; border: 1px solid #FFD4D4; color: #9B1C1C; }
.alert--err ul { margin: 8px 0 0; padding-left: 18px; }
.alert--err b { font-family: var(--font-display); }
.alert--ok { background: rgba(0,200,83,.07); border: 1px solid rgba(0,200,83,.28); padding: var(--s-6); }
.alert--ok h3 { margin-bottom: 8px; }
.alert--ok p { margin: 0; }
