/* Halaman publik "Cek Pesanan" -- redesign 2026-08-29 (item 6 roadmap restyle,
   lihat includes/cek-pesanan.php buat konteks lengkap + project memory
   project_zenos_header_footer_cekpesanan_restyle). Self-contained (nggak
   gantung ke assets/dashboard.css, yang cuma dimuat di halaman dashboard
   seller). Warna coklat/krem SENGAJA disamakan sama token yang dipakai di
   Cart & Header/Footer restyle (--zsd-jr-coklat / --zsd-jr-krem-muda) biar
   storefront kerasa satu sistem visual. */

/* FULL-WIDTH BACKGROUND SECTION (2026-08-29, item 6 roadmap restyle --
 * project_zenos_header_footer_cekpesanan_restyle): sebelumnya section ini
 * cuma kotak krem KECIL, nggak full-width -- kepotong max-width:1275px dari
 * `.container.content-wrapper` bawaan tema Botiga (terverifikasi lewat live
 * DOM inspect: wrap ini lebar penuh SECARA CSS, tapi ancestor tema-nya yang
 * mepetin). Diubah jadi FULL-BLEED (nempel tepi kiri-kanan viewport) pakai
 * teknik umum "breakout dari container ter-max-width": width:100vw + margin
 * kiri/kanan negatif setengah lebar viewport, dipasang di posisi
 * relative+left/right:50% (bukan cuma margin, biar konsisten dgn breakout
 * pattern yg sudah dites).
 *
 * CATATAN overflow-x: 100vw itu ukuran viewport TERMASUK area scrollbar,
 * jadi kalau ada scrollbar vertikal, 100vw sedikit LEBIH LEBAR dari area
 * konten asli (bedanya = lebar scrollbar) -- dites live di staging: TANPA
 * guard ini scrollWidth > clientWidth (ada overflow horizontal beberapa px).
 * Fixnya: `overflow-x: hidden` di <html>, tapi DI-SCOPE cuma ke halaman ini
 * (lewat body class `zsd-halaman-cek-pesanan` dari
 * zsd_body_class_cek_pesanan() + selector :has(), BUKAN dipasang global ke
 * semua halaman) supaya nggak ada resiko sama sekali ke halaman lain.
 * Re-verified sesudah dipasang: scrollWidth === clientWidth, guard bekerja.
 *
 * Latar (gambar preset ATAU warna solid) dibaca dari custom property
 * --zsd-cp-bg-image / --zsd-cp-bg-color, yang dipasang inline lewat style=
 * di kedua wrap div (form & hasil) oleh zsd_cek_pesanan_gaya_latar_inline()
 * -- lihat arsitektur preset lengkap (BAGIAN 1B) di includes/cek-pesanan.php.
 * Base warna krem tetap dipertahankan sebagai fallback (preset 'polos'/warna
 * solid, atau kalau var custom property belum sempat ke-render). */
html:has(body.zsd-halaman-cek-pesanan) {
	overflow-x: hidden;
}

/* FIX (2026-08-29, laporan Ferdian: "atas & bawah background masih ada
 * space, belum bener2 full"): breakout full-bleed di atas cuma ngatasi
 * lebar (horizontal) -- ternyata VERTIKAL section ini masih kejauhan dari
 * header & footer gara2 2 penyebab beda, DIVERIFIKASI lewat live DOM
 * measurement di staging (bukan tebakan):
 * 1) `.container.content-wrapper` (wrapper konten bawaan tema Botiga, jadi
 *    parent langsung wrap ini) punya margin-top:80px + margin-bottom:120px
 *    default -- margin ini di LUAR wrap kita, jadi breakout horizontal
 *    nggak ngaruh ke situ sama sekali. Di-nolkan KHUSUS di halaman ini.
 * 2) Tema Botiga otomatis nyisipin `<header class="page-header"><h1
 *    class="page-title"></h1></header>` KOSONG (nggak ada judul, karena
 *    endpoint /cek-pesanan/ custom bukan WP page beneran) tepat sebelum
 *    content-wrapper -- elemen ini nggak ada isinya sama sekali tapi masih
 *    makan tinggi ~80px, jadi disembunyikan total di halaman ini.
 * Dua-duanya di-scope ke body.zsd-halaman-cek-pesanan doang (BUKAN
 * global) -- nggak nyentuh spacing/page-title di halaman lain sama
 * sekali. Sudah dites live: section sekarang nempel pas ke bawah header
 * & pas ke atas footer, tanpa celah putih. */
body.zsd-halaman-cek-pesanan .container.content-wrapper {
	margin-top: 0;
	margin-bottom: 0;
}
body.zsd-halaman-cek-pesanan .page-header {
	display: none;
}

.zsd-cek-pesanan-wrap {
	--zsd-cp-coklat: var(--zsd-jr-coklat, #6b5744);
	--zsd-cp-krem: var(--zsd-jr-krem-muda, #f8f2e9);
	--zsd-cp-krem-lebih-muda: #fbf7f0;
	--zsd-cp-garis: #ece4d8;
	--zsd-cp-teks: #2b2622;
	--zsd-cp-teks-muted: #7a7168;

	position: relative;
	left: 50%;
	right: 50%;
	width: 100vw;
	margin-left: -50vw;
	margin-right: -50vw;

	background-color: var(--zsd-cp-bg-color, var(--zsd-cp-krem-lebih-muda));
	background-image: var(--zsd-cp-bg-image, none);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	padding: 72px 24px;
	display: flex;
	justify-content: center;
}

.zsd-cek-pesanan-form-kolom {
	width: 100%;
	max-width: 460px;
	box-sizing: border-box;
	text-align: center;

	/* Kartu translucent di atas foto latar -- jaga eyebrow/heading/copy/label
	   form tetap kebaca jelas TANPA nutup foto sepenuhnya (masih keliatan di
	   sekeliling kartu). Preset 'polos' (warna solid) juga otomatis kena
	   efek kartu ini -- tetap konsisten, tidak masalah. */
	background: rgba(255, 255, 255, 0.92);
	border-radius: 20px;
	padding: 40px 36px;
	box-shadow: 0 10px 40px rgba(43, 38, 34, 0.10);
}

.zsd-cek-pesanan-eyebrow {
	margin: 0 0 10px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--zsd-cp-coklat);
}

.zsd-cek-pesanan-form-kolom h1 {
	margin: 0 0 14px;
	font-size: 30px;
	line-height: 1.25;
	font-weight: 600;
	color: var(--zsd-cp-teks);
}

.zsd-cek-pesanan-sub {
	margin: 0 0 28px;
	font-size: 14.5px;
	color: var(--zsd-cp-teks-muted);
	line-height: 1.6;
}

#zsdCekPesananForm {
	text-align: left;
}

#zsdCekPesananForm label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: var(--zsd-cp-teks);
	margin: 16px 0 6px;
}

#zsdCekPesananForm input {
	width: 100%;
	box-sizing: border-box;
	padding: 12px 14px;
	border: 1px solid var(--zsd-cp-garis);
	border-radius: 10px;
	font-size: 14.5px;
	background: #fff;
}

#zsdCekPesananForm input:focus {
	outline: none;
	border-color: var(--zsd-cp-coklat);
	box-shadow: 0 0 0 1px var(--zsd-cp-coklat);
}

#zsdCekPesananSubmit {
	margin-top: 24px;
	width: 100%;
	background: #773b19; /* warna tombol sesuai spec locked -- khusus tombol ini, bukan var(--zsd-cp-coklat) */
	color: #fff;
	border: none;
	border-radius: 15px; /* sengaja BUKAN pill (999px) -- sesuai spec locked */
	padding: 13px 16px;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.15s ease;
}

#zsdCekPesananSubmit:hover:not(:disabled) {
	background: #5f2f14;
}

#zsdCekPesananSubmit:focus-visible {
	outline: 2px solid #773b19;
	outline-offset: 2px;
}

#zsdCekPesananSubmit:disabled {
	opacity: 0.6;
	cursor: default;
}

.zsd-cek-pesanan-catatan {
	margin: 18px 0 0;
	font-size: 12.5px;
	color: var(--zsd-cp-teks-muted);
	line-height: 1.6;
}

.zsd-cek-pesanan-pesan {
	margin-top: 16px;
	padding: 10px 12px;
	border-radius: 10px;
	font-size: 13.5px;
	text-align: left;
	background: #fbe9e6;
	color: #a13f2f;
	border: 1px solid #f0cec5;
}

/* =====================================================================
 * HASIL LACAK -- ganti tampilan form dengan panel hasil (bukan di bawahnya)
 * ===================================================================== */

.zsd-cek-pesanan-hasil-wrap {
	/* FULL-BLEED + preset latar -- pola & alasan SAMA PERSIS dgn
	   .zsd-cek-pesanan-wrap di atas file ini (breakout 100vw, custom
	   property preset, guard overflow-x lewat html:has() yg sama). */
	position: relative;
	left: 50%;
	right: 50%;
	width: 100vw;
	margin-left: -50vw;
	margin-right: -50vw;

	background-color: var(--zsd-cp-bg-color, var(--zsd-cp-krem-lebih-muda, #fbf7f0));
	background-image: var(--zsd-cp-bg-image, none);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	padding: 0 24px 72px;
	display: flex;
	justify-content: center;
}

.zsd-cek-pesanan-hasil-inner {
	width: 100%;
	max-width: 640px;
}

/* FIX (2026-08-29, laporan Ferdian: tombol "Kembali" kerasa nempel ke
 * Header) -- sejak fix full-bleed vertikal (section sekarang nempel pas ke
 * bawah Header, .zsd-cek-pesanan-hasil-wrap padding-top:0), tombol ini jadi
 * elemen PALING ATAS section tanpa jarak sama sekali dari batas Header.
 * HANYA margin-top yang ditambah -- posisi horizontal, ukuran, warna,
 * radius, dan typography tombol TIDAK diubah; card/hasil layout & tinggi/
 * background section TIDAK disentuh (section otomatis nambah tinggi
 * sedikit karena spacing baru ini, itu memang tujuannya). Nilai 24px
 * dipilih biar proporsional sama rhythm spacing yang sudah dipakai di
 * desain ini (sama besar dgn padding horizontal wrap), bukan margin besar
 * yang bikin section kerasa kosong. */
.zsd-cek-pesanan-kembali {
	background: rgba(255, 255, 255, 0.85);
	border: none;
	padding: 8px 14px;
	border-radius: 999px;
	margin-top: 24px;
	margin-bottom: 16px;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--zsd-jr-coklat, #6b5744);
	cursor: pointer;
}

.zsd-cek-pesanan-panel {
	background: #fff;
	border: 1px solid var(--zsd-jr-krem-muda, #ece4d8);
	border-radius: 16px;
	padding: 24px 26px;
	margin-bottom: 16px;
}

.zsd-cek-pesanan-panel-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 4px;
}

.zsd-cek-pesanan-panel h2 {
	margin: 0;
	font-size: 19px;
	font-weight: 600;
	color: #2b2622;
}

.zsd-cek-pesanan-meta {
	margin: 6px 0 0;
	font-size: 13px;
	color: #7a7168;
}

.zsd-badge {
	display: inline-block;
	padding: 4px 11px;
	border-radius: 999px;
	font-size: 11.5px;
	font-weight: 600;
	white-space: nowrap;
}
.zsd-badge-hijau { background: #e6f4ea; color: #1e7a34; }
.zsd-badge-merah { background: #fde9e5; color: #b3261e; }
.zsd-badge-kuning { background: #fdf2e3; color: #8a5a00; }
.zsd-badge-netral { background: #eceae4; color: #5a5850; }

/* Stepper -- 4 langkah alur reguler, dibangun dari bucket status pesanan
   (reuse mapping yang sama semangatnya dengan zsd_bucket_status_pesanan()
   di admin, lihat cek-pesanan.js). Kalau bucket dibatalkan/direfund, stepper
   digantikan badge status biasa (bukan dipaksa masuk 4 langkah). */
.zsd-cp-stepper {
	display: flex;
	margin: 22px 0 4px;
}
.zsd-cp-step {
	flex: 1;
	text-align: center;
	position: relative;
}
.zsd-cp-step-lingkaran {
	width: 28px;
	height: 28px;
	margin: 0 auto 8px;
	border-radius: 50%;
	background: #eceae4;
	color: #7a7168;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: 700;
	position: relative;
	z-index: 1;
}
.zsd-cp-step::before {
	content: '';
	position: absolute;
	top: 14px;
	left: -50%;
	width: 100%;
	height: 2px;
	background: #eceae4;
	z-index: 0;
}
.zsd-cp-step:first-child::before { display: none; }
.zsd-cp-step.zsd-cp-step-selesai .zsd-cp-step-lingkaran {
	background: var(--zsd-jr-coklat, #6b5744);
	color: #fff;
}
.zsd-cp-step.zsd-cp-step-selesai::before { background: var(--zsd-jr-coklat, #6b5744); }
.zsd-cp-step.zsd-cp-step-aktif .zsd-cp-step-lingkaran {
	background: #fff;
	border: 2px solid var(--zsd-jr-coklat, #6b5744);
	color: var(--zsd-jr-coklat, #6b5744);
}
.zsd-cp-step-label {
	font-size: 12px;
	font-weight: 600;
	color: #2b2622;
}
.zsd-cp-step-tanggal {
	font-size: 11px;
	color: #7a7168;
	margin-top: 2px;
}

.zsd-cek-pesanan-panel-dua-kolom {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}
@media (max-width: 640px) {
	.zsd-cek-pesanan-panel-dua-kolom { grid-template-columns: 1fr; }
}

.zsd-cek-pesanan-panel h3 {
	margin: 0 0 10px;
	font-size: 13px;
	font-weight: 700;
	color: #2b2622;
}

.zsd-cp-alamat p {
	margin: 0 0 4px;
	font-size: 13.5px;
	color: #4a453e;
	line-height: 1.5;
}

.zsd-cp-item-baris {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 8px 0;
	border-bottom: 1px solid #f1ede4;
	font-size: 13.5px;
}
.zsd-cp-item-baris:last-child { border-bottom: none; }
.zsd-cp-item-nama { color: #2b2622; }
.zsd-cp-item-qty { color: #7a7168; font-size: 12.5px; }
.zsd-cp-item-harga { color: #2b2622; white-space: nowrap; }

.zsd-cp-ringkasan-baris {
	display: flex;
	justify-content: space-between;
	font-size: 13.5px;
	padding: 6px 0;
	color: #4a453e;
}
.zsd-cp-ringkasan-baris.zsd-cp-total {
	font-weight: 700;
	color: #2b2622;
	border-top: 1px solid #f1ede4;
	margin-top: 4px;
	padding-top: 10px;
}

.zsd-cek-pesanan-bantuan {
	text-align: center;
	font-size: 13px;
	color: #7a7168;
	margin-top: 8px;
}
.zsd-cek-pesanan-bantuan a {
	color: var(--zsd-jr-coklat, #6b5744);
}
