/* Naisu Store - produk bersegmen di halaman pemesanan (melengkapi order.css) */
.grp { margin-bottom: 24px; }
.grp:last-child { margin-bottom: 0; }
.grp-head { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; padding-bottom: 10px; border-bottom: 1px solid rgba(255, 255, 255, 0.08); }
.grp-ico { display: grid; place-items: center; width: 28px; height: 28px; color: var(--primary); background: rgba(245, 182, 19, 0.12); border-radius: 8px; flex-shrink: 0; }
.grp-ico svg { width: 16px; height: 16px; }
.grp-head h3 { margin: 0; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #fff; }
.grp-count { margin-left: auto; font-size: 11px; color: var(--text-soft); }

.opt-grid.prod-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
.prod-grid .opt-body { gap: 3px; min-height: 96px; padding: 14px; }
.prod-grid .opt-body b { font-size: 14px; line-height: 1.3; }
.p-sub { font-size: 11px; color: var(--text-soft); }
.prod-grid .opt-body em { margin-top: auto; padding-top: 10px; font-size: 14px; font-weight: 700; }
.prod-grid .opt-body s { display: block; margin: 0; font-size: 11px; font-weight: 400; color: #ef4444; }
.prod-grid .flash-tag { margin-top: 4px; }

/* Data akun: WhatsApp & persetujuan */
.order-fields .full { grid-column: 1 / -1; }
.order-terms { display: flex; align-items: center; gap: 10px; margin-top: 16px; padding: 12px 14px; font-size: 13px; color: #ddd; background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 8px; cursor: pointer; }
.order-terms input { flex-shrink: 0; width: 16px; height: 16px; accent-color: var(--primary); }
.order-terms a { color: var(--primary); text-decoration: none; }
.order-terms a:hover { text-decoration: underline; }

/* Nomor langkah berbentuk kotak membulat */
.order-step h2 span { border-radius: 8px; }

/* Kartu bantuan */
.order-help { display: flex; align-items: center; gap: 14px; padding: 16px 20px; background: rgba(25, 26, 27, 0.85); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 12px; }
.order-help .help-ico { flex-shrink: 0; display: grid; place-items: center; width: 36px; height: 36px; font-size: 16px; font-weight: 700; color: var(--primary); background: rgba(245, 182, 19, 0.12); border: 1px solid rgba(245, 182, 19, 0.35); border-radius: 8px; }
.order-help b { display: block; font-size: 14px; color: #fff; }
.order-help p { margin: 2px 0 0; font-size: 12px; line-height: 1.5; color: var(--text-soft); }
.order-help > div { flex: 1; min-width: 0; }
.help-btn { flex-shrink: 0; display: inline-flex; align-items: center; height: 38px; padding: 0 18px; font-size: 13px; font-weight: 600; color: var(--primary); text-decoration: none; border: 1px solid var(--primary); border-radius: 8px; transition: all .2s ease; }
.help-btn:hover { color: #191a1b; background: var(--primary); }
@media (max-width: 480px) {
  .order-help { flex-wrap: wrap; }
  .help-btn { width: 100%; justify-content: center; }
}

/* Header langkah: nomor di kiri, judul + keterangan kecil di sampingnya */
.step-head { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; }
.step-head .step-num { flex-shrink: 0; display: grid; place-items: center; width: 36px; height: 36px; font-size: 14px; font-weight: 700; color: #191a1b; background: var(--primary); border-radius: 8px; }
.step-head h2 { display: block; margin: 0; font-size: 16px; line-height: 1.3; color: #fff; }
.step-head small { display: block; margin-top: 2px; font-size: 12px; line-height: 1.4; color: var(--text-soft); }

/* Tombol & popup "Bingung cara order?" */
.order-hero { flex-wrap: wrap; }
.how-btn { flex: 0 0 100%; display: flex; align-items: center; gap: 12px; width: 100%; padding: 10px 12px; font: inherit; text-align: left; color: #fff; background: rgba(245, 182, 19, 0.08); border: 1px solid rgba(245, 182, 19, 0.35); border-radius: 10px; cursor: pointer; transition: all .2s ease; }
.how-btn:hover { background: rgba(245, 182, 19, 0.14); border-color: var(--primary); }
.how-ico { flex-shrink: 0; display: grid; place-items: center; width: 30px; height: 30px; font-size: 15px; font-weight: 700; color: #191a1b; background: var(--primary); border-radius: 8px; }
.how-text { flex: 1; min-width: 0; }
.how-text b { display: block; font-size: 13px; }
.how-text small { display: block; margin-top: 1px; font-size: 11px; color: var(--text-soft); }
.how-arrow { width: 18px; height: 18px; color: var(--primary); flex-shrink: 0; }

.hw-steps { list-style: none; margin: 0; padding: 0; }
.hw-steps li { display: flex; gap: 14px; padding: 12px 0; }
.hw-num { flex-shrink: 0; display: grid; place-items: center; width: 26px; height: 26px; font-size: 12px; font-weight: 700; color: #fff; background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 7px; }
.hw-steps b { display: block; font-size: 14px; color: #fff; }
.hw-steps p { margin: 3px 0 0; font-size: 12px; line-height: 1.55; color: #9aa3b2; }
.hw-note { margin: 6px 0 0; padding-top: 14px; font-size: 12px; color: #9aa3b2; border-top: 1px solid #232a36; }
.hw-foot { display: block; }
.hw-ok { width: 100%; padding: 12px; font: inherit; font-size: 14px; font-weight: 600; color: #fff; background: #141a23; border: 1px solid #2c3544; border-radius: 12px; cursor: pointer; transition: all .2s ease; }
.hw-ok:hover { color: var(--primary); border-color: var(--primary); }

/* Gambar produk di atas nama */
.p-img { display: block; width: 36px; height: 36px; margin-bottom: 8px; object-fit: contain; }

#paySection { scroll-margin-top: 150px; }

.cm-unique-note { margin: 12px 0 0; padding: 10px 12px; font-size: 12px; line-height: 1.5; color: #c9a64a; background: rgba(245, 182, 19, 0.06); border: 1px dashed rgba(245, 182, 19, 0.35); border-radius: 10px; }

/* Popup: sembunyikan scrollbar (tetap bisa digulir dengan mouse/jari) */
.cm-box { scrollbar-width: none; -ms-overflow-style: none; }
.cm-box::-webkit-scrollbar { display: none; width: 0; height: 0; }

/* Saat popup terbuka, kunci scroll halaman di belakangnya tanpa menggeser tata letak */
html { scrollbar-gutter: stable; }
html:has(.cm-overlay.show) { overflow: hidden; }