/* ==========================================================================
   Dokumen mitra pada formulir pendaftaran.
   Token diambil dari style.css; tidak ada palet baru.
   ========================================================================== */

.fi-doc {
  margin: var(--sp-5) 0 var(--sp-4);
  padding: 1.05rem 1.15rem;
  border: 1px solid var(--line);
  border-radius: var(--r-md, 10px);
  background: var(--mist);
}

.fi-doc__title { margin: 0 0 .25rem; font-size: 1rem; }
.fi-doc__lead  { margin: 0 0 .9rem; font-size: .86rem; color: var(--muted); }

.fi-doc__field { display: grid; gap: .25rem; margin: 0 0 .95rem; }
.fi-doc__field:last-child { margin-bottom: 0; }

.fi-doc__field label { font-size: .88rem; font-weight: 600; color: var(--ink); }

.fi-doc__mark { font-weight: 600; margin-left: .15rem; }
.fi-doc__mark.is-required { color: #b32d2e; }
.fi-doc__mark.is-optional { color: var(--muted); font-weight: 400; font-size: .82rem; }

/* Kolom berkas: beri bentuk yang jelas bisa diklik, dan jangan pernah melebihi kartunya
   (penyebab persis bug TT-13 pada tombol Masuk). */
.fi-doc__field input[type="file"] {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: .55rem;
  font-size: .86rem;
  background: var(--paper);
  border: 1px dashed var(--line);
  border-radius: var(--r-sm, 8px);
  cursor: pointer;
}
.fi-doc__field input[type="file"]:focus-visible {
  outline: 2px solid var(--brand-blue);
  outline-offset: 2px;
}

.fi-doc__hint   { font-size: .78rem; color: var(--muted); }
.fi-doc__for    { display: block; margin-top: .1rem; font-style: italic; }
.fi-doc__chosen { font-size: .8rem; color: var(--brand-green-deep); font-weight: 600; }
.fi-doc__error  { font-size: .8rem; color: #b32d2e; font-weight: 600; }

/* Keadaan setelah berkas dipilih / ditolak. */
.fi-doc__field.has-file  input[type="file"] { border-style: solid; border-color: var(--brand-green); }
.fi-doc__field.has-error input[type="file"] { border-style: solid; border-color: #b32d2e; }

/* Peringatan saat seluruh formulir ditolak karena terlalu besar. */
.fi-doc-toobig {
  margin: 0 0 var(--sp-4);
  padding: .8rem 1rem;
  border: 1px solid #F3CFCA;
  border-left: 4px solid #b32d2e;
  border-radius: var(--r-sm, 8px);
  background: #FBE9E7;
  color: #b32d2e;
  font-size: .9rem;
}

@media (max-width: 600px) {
  .fi-doc { padding: .9rem 1rem; }
}
