/* Almer Putra Angkasa v4.3.23 — jarak teks & kartu yang konsisten.
   File override ini dimuat TERAKHIR di portal rumah, teknisi, voucher,
   dan layout admin/publik agar tidak memerlukan rebuild asset Vite. */

/* Rincian nomor invoice, keterangan pelanggan, dan nominal. */
body .invoice-heading { column-gap:12px; row-gap:7px; }
body .invoice-heading h2 { margin:0; line-height:1.28; }
body .invoice-heading p { margin:3px 0 0; line-height:1.42; }
body .invoice-heading .invoice-amount { line-height:1.27; }

/* Kartu yang menggunakan .stack: tidak menumpuk margin default paragraf
   dengan margin dari selector .stack > * + *. */
body .card.stack > h1,
body .card.stack > h2,
body .card.stack > h3 { margin-top:0; margin-bottom:0; line-height:1.34; }
body .card.stack > p { margin-top:0; margin-bottom:0; line-height:1.53; }
body:not(.mobile-app) .card.stack > * + * { margin-top:12px; }

/* Portal pelanggan, teknisi, pembeli voucher, termasuk checkout PG.
   .stack memakai flex gap, maka margin antaranak harus dinolkan. */
body.mobile-app .card.stack { row-gap:11px; }
body.mobile-app .card.stack > * + * { margin-top:0; }
body.mobile-app .card.stack .stack { row-gap:12px; }
body.mobile-app .card.stack .stack > * + * { margin-top:0; }
body.mobile-app .card.stack > p,
body.mobile-app .card.stack > .small { line-height:1.5; }

/* Kotak petunjuk teknisi tidak menyisakan margin 24px sebelum checkout. */
body .checkout-assist-note { margin-bottom:15px; }

/* Daftar ringkasan checkout: label dan nilainya lebih dekat. */
body .checkout-flow dl.stack { margin-top:0; margin-bottom:0; }
body .checkout-flow dl.stack dt { line-height:1.4; }
body .checkout-flow dl.stack dd { margin:2px 0 0; line-height:1.46; overflow-wrap:anywhere; }

/* Spasi antarkartu pada halaman checkout / invoice / voucher. */
body:not(.mobile-app) .checkout-flow.stack > * + *,
body:not(.mobile-app) .invoice-list.stack > * + *,
body:not(.mobile-app) .voucher-list.stack > * + * { margin-top:15px; }
body.mobile-app .checkout-flow.stack,
body.mobile-app .invoice-list.stack,
body.mobile-app .voucher-list.stack { row-gap:16px; }
body.mobile-app .checkout-flow.stack > * + *,
body.mobile-app .invoice-list.stack > * + *,
body.mobile-app .voucher-list.stack > * + * { margin-top:0; }

/* Tetap menjaga ruang ketuk tombol dan form serta peringatan penting. */
body.mobile-app .card.stack form.stack { row-gap:14px; }
body .card.stack .alert { line-height:1.52; }
@media (max-width:700px) {
  body .invoice-heading { row-gap:6px; }
  body .invoice-heading h2 { line-height:1.26; }
}
