/* Halaman /tawar saja. Tambahan di atas site.css: kartu langkah 1 per mode, galat isian, bilah tempel di ponsel. */

/* Kartu aset: paket atau sewa memimpin, aset induk satu baris di bawahnya */
.tw-utama { display: grid; grid-template-columns: 1fr; gap: 6px; }
.tw-utama .tw-judul { font-size: var(--step-1); }
.tw-induk { margin: 10px 0 0; padding-top: 10px; border-top: 1px solid var(--line); font-size: var(--step--1); color: var(--ink-2); }
.tw-induk a { color: var(--ink); font-weight: 700; }
.tw-kv { display: grid; grid-template-columns: auto 1fr; gap: 4px 14px; margin: 6px 0 0; font-size: 0.95rem; }
.tw-kv dt { color: var(--ink-3); }
.tw-kv dd { margin: 0; font-weight: 600; }
.tw-biaya { margin: 12px 0 0; padding: 10px 12px; border: 1px dashed var(--line); border-radius: var(--radius-field); font-size: 0.9rem; color: var(--ink-2); }
.tw-tidak-ada { padding: 14px 16px; border: 1px solid var(--line); border-left: 4px solid #c98a1b; border-radius: var(--radius-field); margin-bottom: 14px; }
.tw-wajib { margin: 0 0 14px; font-size: 0.9rem; color: var(--ink-2); }

/* Galat isian: satu baris di bawah isian, ringkasan di atas tombol kirim */
.field.invalid input, .field.invalid textarea, .field.invalid .radio-cards label { border-color: #a8231a; }
.field-error { margin: 6px 0 0; font-size: 0.88rem; color: #a8231a; font-weight: 600; }
@media (prefers-color-scheme: dark) { .field-error { color: #f3a39b; } .field.invalid input, .field.invalid textarea, .field.invalid .radio-cards label { border-color: #f3a39b; } }
.tw-errors { margin: 0 0 14px; padding: 14px 16px; border-radius: var(--radius-card); background: #f6dcda; color: #6b1510; }
.tw-errors[hidden] { display: none; }
.tw-errors ul { margin: 6px 0 0 18px; padding: 0; }
.tw-errors a { color: inherit; }
@media (prefers-color-scheme: dark) { .tw-errors { background: #3d1a18; color: #f3c9c5; } }

/* Meter: keadaan sebagian (angka masuk, kelayakan aset belum diperiksa) tidak hijau penuh */
.tw-cek.angka-masuk { color: #e9e4d4; }
.tw-bar.netral span { background: #c9d3cc; }

/* Sewa: perkiraan pasangan angka */
.tw-perkiraan { margin: 4px 0 0; font-size: 0.9rem; color: var(--ink-2); }

/* Target sentuh paling kecil 44px */
.tawar .linkish { min-height: 44px; display: inline-flex; align-items: center; padding: 0; background: none; border: 0; color: var(--green); font: inherit; font-weight: 700; text-decoration: underline; cursor: pointer; }
.tawar .radio-cards label { min-height: 44px; }
.tawar .consent { min-height: 44px; }
.tawar .consent input { width: 20px; height: 20px; }

/* Bilah tempel di ponsel: tombol kirim (dan WhatsApp) selalu terjangkau. Formulir diberi ruang bawah setinggi bilah
   supaya ringkasan galat dan isian tidak tertutup. */
.tw-sticky { display: none; }
@media (max-width: 760px) {
  .tawar { --tw-bar-h: 0px; }
  .tawar #form-tawar { padding-bottom: var(--tw-bar-h); }
  .tw-sticky { display: flex; gap: 10px; position: sticky; bottom: 0; z-index: 6; margin: 0 calc(-1 * var(--gutter)); padding: 10px var(--gutter) calc(10px + env(safe-area-inset-bottom)); background: var(--paper); border-top: 1px solid var(--line); }
  .tw-sticky[hidden] { display: none; }
  .tw-sticky .btn { flex: 1; min-height: 48px; padding: 10px 14px; }
  .tw-sticky .btn.ghost { flex: 0 0 auto; }
  .tawar #form-tawar .form-actions { display: none; }
  /* Di ponsel ringkasan ikut alur halaman: bila menempel, tingginya menutup isian kontak dan kotak setuju. */
  .tw-ringkas { position: static; }
  .tawar .row-2 { grid-template-columns: 1fr; }
  .tawar .radio-cards { grid-template-columns: 1fr !important; }
}
.tawar, .tawar * { min-width: 0; }
.tawar img { max-width: 100%; }
