/* ==========================================================================
   Pendaftaran — pilihan tipe akun + data mitra.

   Dipakai dua formulir: "Pelanggan Baru" di halaman akun dan shortcode
   [fimart_partner_registration] di /daftar-mitra/. Semua selektor diawali
   .fi-reg / .woocommerce-form-register supaya tidak ada aturan yang bocor
   ke bagian lain situs. Token diambil dari style.css, tidak ada warna baru.
   ========================================================================== */

:root {
  /* Tinggi tetap yang dipesan untuk indikator kekuatan kata sandi + petunjuknya (audit TT-08). */
  --fi-pw-meter-h: 1.9rem;
  --fi-pw-hint-h:  3.5rem;
  --fi-pw-reserve: 5.6rem;   /* --fi-pw-meter-h + --fi-pw-hint-h + jarak */
}

/* --------------------------------------------------------------------------
   TT-08 — tombol "Buat Akun" tidak boleh bergeser.

   WooCommerce menyisipkan .woocommerce-password-strength dan
   .woocommerce-password-hint TEPAT setelah kolom kata sandi begitu pengguna
   mengetik, dan menghapusnya lagi saat kolom dikosongkan. Tanpa ruang yang
   sudah dipesan, baris itu tumbuh ~34 px dan tombol di bawahnya lompat —
   klik pertama pengguna mendarat di tempat kosong.

   Solusinya: baris kata sandi selalu menyisakan tinggi tetap, dan kedua
   elemen itu diposisikan absolut di dalam ruang tersebut sehingga munculnya
   tidak pernah menambah tinggi apa pun.
   -------------------------------------------------------------------------- */
.woocommerce-form-register .form-row:has(> input[type="password"]),
.fi-reg__row--password {
  position: relative;
  padding-bottom: var(--fi-pw-reserve);
}

.woocommerce-form-register .woocommerce-password-strength {
  position: absolute; left: 0; right: 0; bottom: var(--fi-pw-hint-h);
  margin: 0; height: var(--fi-pw-meter-h); line-height: var(--fi-pw-meter-h);
  padding: 0 .7em; border-radius: var(--radius-sm);
  font-size: .78rem; font-weight: 600; text-align: center;
  background: var(--mist-2); color: var(--muted);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.woocommerce-form-register .woocommerce-password-strength.short,
.woocommerce-form-register .woocommerce-password-strength.bad    { background: #FCF0F1; color: #8A1F11; }
.woocommerce-form-register .woocommerce-password-strength.good   { background: #FFF8E5; color: #996800; }
.woocommerce-form-register .woocommerce-password-strength.strong { background: #EDFAEF; color: var(--brand-green-deep); }

.woocommerce-form-register .woocommerce-password-hint {
  position: absolute; left: 0; right: 0; bottom: 0;
  margin: 0; height: var(--fi-pw-hint-h); overflow: hidden;
  font-size: .76rem; line-height: 1.45; color: var(--muted);
}

/* --------------------------------------------------------------------------
   Pilihan tipe akun
   -------------------------------------------------------------------------- */
.fi-reg__types {
  border: 0; margin: 0 0 var(--sp-4); padding: 0;
  display: grid; gap: var(--sp-2);
}
.fi-reg__types legend {
  padding: 0; margin-bottom: var(--sp-2);
  font-size: .85rem; font-weight: 600; color: var(--ink);
}
.fi-reg__types .required { color: var(--danger); }

.fi-reg__type {
  display: flex; align-items: flex-start; gap: .6em; cursor: pointer;
  padding: var(--sp-3); border: 1.5px solid var(--line); border-radius: var(--radius-sm);
  background: var(--paper);
  transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.fi-reg__type:hover { border-color: var(--brand-green); }
.fi-reg__type:has(input:checked) {
  border-color: var(--brand-green);
  background: var(--mist);
  box-shadow: var(--shadow-sm);
}
.fi-reg__type:has(input:focus-visible) { outline: 3px solid var(--focus); outline-offset: 2px; }
.fi-reg__type input[type="radio"] { margin: .25em 0 0; accent-color: var(--brand-green-deep); flex: 0 0 auto; }

.fi-reg__type-body { display: block; }
.fi-reg__type-label { display: block; font-weight: 600; font-size: .92rem; color: var(--ink); }
.fi-reg__type-desc  { display: block; font-size: .78rem; line-height: 1.45; color: var(--muted); margin-top: .15em; }

/* --------------------------------------------------------------------------
   Blok data mitra (tampil/sembunyi oleh registration.js)
   -------------------------------------------------------------------------- */
.fi-reg__partner {
  border: 1px solid var(--line); border-radius: var(--radius-sm);
  background: var(--mist); padding: var(--sp-4); margin: 0 0 var(--sp-4);
}
.fi-reg__partner legend {
  padding: 0 .5em; margin-left: -.5em;
  font-size: .85rem; font-weight: 600; color: var(--brand-green-deep);
}
.fi-reg__partner[hidden] { display: none; }

.fi-reg__note { font-size: .78rem; line-height: 1.5; color: var(--muted); margin: 0 0 var(--sp-3); }
.fi-reg__help { display: block; font-size: .75rem; line-height: 1.45; color: var(--muted); }

/* --------------------------------------------------------------------------
   Baris field — halaman akun sudah ditata .fi-auth; shortcode perlu dasarnya sendiri.
   -------------------------------------------------------------------------- */
.fi-reg .fi-reg__row { display: flex; flex-direction: column; gap: .35em; margin-bottom: var(--sp-3); }
.fi-reg label { font-size: .85rem; font-weight: 500; }
.fi-reg .required { color: var(--danger); }
.fi-reg .input-text,
.fi-reg textarea.input-text {
  width: 100%; padding: .6em .8em; font: inherit; font-size: .9rem;
  border: 1px solid var(--line); border-radius: var(--radius-sm);
  background: var(--paper); color: var(--ink);
}
.fi-reg .input-text:focus,
.fi-reg textarea.input-text:focus { outline: none; border-color: var(--brand-green); }
.fi-reg textarea.input-text { resize: vertical; min-height: 5.5rem; }

.fi-reg { max-width: 640px; }
.fi-reg__submit { margin: var(--sp-4) 0 var(--sp-2); }
.fi-reg__submit .fi-btn { width: 100%; }

.fi-reg--done,
.fi-reg--closed {
  background: var(--mist); border: 1px solid var(--line);
  border-radius: var(--radius-sm); padding: var(--sp-4);
}
.fi-reg--done p, .fi-reg--closed p { margin: 0; }

/* Notice WooCommerce di dalam shortcode (halaman biasa tidak menatanya). */
.fi-reg .woocommerce-message,
.fi-reg .woocommerce-info,
.fi-reg .woocommerce-error {
  list-style: none; margin: 0 0 var(--sp-4); padding: var(--sp-3) var(--sp-4);
  border-radius: var(--radius-sm); border-left: 4px solid var(--brand-green);
  background: var(--mist); font-size: .9rem;
}
.fi-reg .woocommerce-error { border-left-color: var(--danger); background: #FCF0F1; }
.fi-reg .woocommerce-error li { list-style: none; }

@media (min-width: 720px) {
  .fi-reg__types { grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); }
}
