/* eForm publik Bank BSA (di atas styles.css NexLink + bsa.css) */
body.eform-body { background: var(--bsa-latar, #f5f7fb); min-height: 100vh; display: flex; flex-direction: column; }
body.eform-body > main, body.eform-body > form, body.eform-body > .container { flex: 1 0 auto; }
.eform-header { background: #fff; border-top: 4px solid var(--bsa-biru, #14438a); box-shadow: 0 2px 12px rgba(16,24,40,.06); }
.eform-footer { background: #111317; color: rgba(255,255,255,.7); }
.eform-footer a { color: #fff; }
.eform-logo { height: 42px; width: auto; }

.eform-steps { list-style: none; padding: 0; margin: 0 0 1.5rem; display: flex; gap: .5rem; counter-reset: s; }
.eform-steps li { flex: 1; display: flex; flex-direction: column; align-items: center; gap: .35rem; font-size: .8rem; color: var(--bs-secondary-color); text-align: center; position: relative; }
.eform-steps li::before { content: ""; position: absolute; top: 15px; left: calc(-50% + 18px); right: calc(50% + 18px); height: 2px; background: var(--bs-border-color); }
.eform-steps li:first-child::before { display: none; }
.eform-steps .nomor { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: #fff; border: 2px solid var(--bs-border-color); font-weight: 600; z-index: 1; }
.eform-steps li.active { color: var(--bs-primary); font-weight: 600; }
.eform-steps li.active .nomor { border-color: var(--bs-primary); color: var(--bs-primary); }
.eform-steps li.selesai .nomor { background: var(--bs-primary); border-color: var(--bs-primary); color: #fff; }
.eform-steps li.selesai::before, .eform-steps li.active::before { background: var(--bs-primary); }
@media (max-width: 575.98px) {
  .eform-steps .teks { display: none; }
  .eform-steps li.active .teks { display: block; position: absolute; top: 38px; white-space: nowrap; }
  .eform-steps li:first-child.active .teks { left: 0; }
  .eform-steps li:last-child.active .teks { right: 0; } /* jangan keluar layar di tepi */
  .eform-steps { margin-bottom: 2.5rem; }
}

.eform-step { border: 0; box-shadow: 0 1px 2px rgba(16, 24, 40, .06); }
.eform-step h2 { color: var(--bs-heading-color); }

/* Pilihan radio bergaya tombol, membungkus di layar kecil */
.pilihan { display: flex; flex-wrap: wrap; gap: .5rem; }
.pilihan .btn { font-weight: 500; }
.pilihan .btn-check:checked + .btn { color: #fff; }

fieldset[hidden], [data-tampil-jika][hidden] { display: none !important; }

.ringkasan dt, .ringkasan dd { margin-bottom: .35rem; }
.ringkasan dd { word-break: break-word; }

/* Select2 disamakan dengan .form-select Bootstrap */
.select2-container .select2-selection--single { height: calc(2.5rem + 2px); border: var(--bs-border-width) solid var(--bs-border-color); border-radius: var(--bs-border-radius); display: flex; align-items: center; }
.select2-container .select2-selection--single .select2-selection__rendered { padding-left: .875rem; line-height: 1.5; color: var(--bs-body-color); }
.select2-container .select2-selection--single .select2-selection__arrow { height: 100%; right: 6px; }
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single { border-color: var(--bs-primary); }
.select-cari.is-invalid + .select2-container .select2-selection--single { border-color: var(--bs-danger); }
.select2-dropdown { border-color: var(--bs-border-color); }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--bs-primary); }
