/* =========================================================
   Halaman formulir pendaftaran — melengkapi style.css
   ========================================================= */
.pg-daftar{background:var(--tint)}
.daftar__back{margin-left:auto; flex:none}
.pg-daftar .brand{min-width:0}
.pg-daftar .brand__txt{white-space:nowrap}
@media(max-width:440px){
  .daftar__back{width:42px; padding:0}
  .daftar__backtxt{display:none}
}

.dhero__in{padding:48px 0 96px}
.dhero__h1{font-size:clamp(32px,5vw,48px); color:#fff; letter-spacing:-.035em; margin-bottom:14px}
.dhero .hero__sub{margin-bottom:0}

.dform{padding:0 0 72px; margin-top:-64px; position:relative; z-index:2}
.dnote{background:var(--orange-soft); border:1px solid #F7CFAE; color:#6B3A12; border-radius:var(--r); padding:14px 18px; font-size:14.5px; line-height:1.6; margin-bottom:16px}
.dnote strong{color:#5A2E0B}

.dcard{background:#fff; border:1px solid var(--line); border-radius:var(--r-xl); box-shadow:var(--sh); padding:28px}
@media(max-width:560px){.dcard{padding:20px 16px; border-radius:var(--r-lg)}}
.dstate{text-align:center; padding:48px 28px}
.dstate h2{font-size:26px; margin-bottom:10px}

/* langkah */
.stepper{list-style:none; display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin:0 0 28px; counter-reset:s}
.stepper li{display:flex; flex-direction:column; align-items:center; gap:7px; text-align:center; position:relative; color:var(--muted)}
.stepper li::after{content:""; position:absolute; top:17px; left:calc(50% + 22px); right:calc(-50% + 22px); height:2px; background:var(--line); border-radius:2px}
.stepper li:last-child::after{display:none}
.stepper span{display:grid; place-items:center; width:36px; height:36px; border-radius:50%; font:800 15px/1 var(--sans);
  background:var(--tint); border:2px solid var(--line); color:var(--muted); transition:all var(--dur) var(--ease)}
.stepper b{font-size:13px; font-weight:700}
.stepper li.is-on{color:var(--ink)}
.stepper li.is-on span{background:var(--green); border-color:var(--green); color:#fff; box-shadow:0 0 0 5px rgba(17,100,63,.12)}
.stepper li.is-done span{background:var(--mint-soft); border-color:var(--green-300); color:var(--green)}
.stepper li.is-done::after{background:var(--green-300)}
@media(max-width:480px){.stepper b{font-size:11.5px}}

.step{border:0; margin:0; padding:0; min-width:0}
.step__h{font:800 22px/1.25 var(--sans); color:var(--ink); letter-spacing:-.02em; margin-bottom:18px; padding:0}
.step__sub{font-size:15.5px; margin:22px 0 14px}

.frow{display:grid; gap:0 16px}
@media(min-width:640px){.frow{grid-template-columns:1fr 1fr}}
.field label em,.flabel em{font-style:normal; font-weight:500; color:var(--muted); font-size:13px; margin-left:4px}
.flabel{display:block; font:700 14.5px/1 var(--sans); color:var(--ink); margin-bottom:9px}
.field select{width:100%; font:500 16px/1.5 var(--sans); color:var(--ink); background:var(--tint); border:1.5px solid var(--line); border-radius:var(--r);
  padding:14px 40px 14px 16px; min-height:54px; appearance:none; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2366766E' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 16px center}
.field select:focus{outline:none; background-color:#fff; border-color:var(--green); box-shadow:0 0 0 5px rgba(17,100,63,.1)}
.field.is-bad select{border-color:#C0392B}
.hint{margin:7px 0 0; font-size:13.5px; color:var(--muted); line-height:1.5}
.hint--warn{color:#9A4A0B}

/* kartu jenjang */
.units{display:grid; gap:12px; margin-bottom:6px}
@media(min-width:700px){.units{grid-template-columns:repeat(3,1fr)}}
.ucard{position:relative; display:block; cursor:pointer; border:1.5px solid var(--line); border-radius:var(--r-lg); padding:18px 18px 16px; background:#fff;
  transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease)}
.ucard:hover{border-color:var(--green-300); transform:translateY(-2px)}
.ucard input{position:absolute; opacity:0; pointer-events:none}
.ucard b{display:block; font:800 17px/1.25 var(--sans); color:var(--ink); padding-right:28px}
.ucard small{display:block; color:var(--muted); font-size:13.5px; margin-top:4px}
.ucard::after{content:""; position:absolute; top:16px; right:16px; width:20px; height:20px; border-radius:50%; border:2px solid var(--line); background:#fff;
  transition:all var(--dur) var(--ease)}
.ucard:has(input:checked){border-color:var(--green); box-shadow:0 0 0 4px rgba(17,100,63,.1); background:var(--tint)}
.ucard:has(input:checked)::after{border-color:var(--green); background:var(--green); box-shadow:inset 0 0 0 4px #fff}
.ucard:has(input:focus-visible){outline:3px solid var(--teal); outline-offset:3px}

.radios{display:flex; gap:10px}
.field .radio{flex:1; display:flex; align-items:center; gap:10px; cursor:pointer; border:1.5px solid var(--line); border-radius:var(--r); padding:0 16px; min-height:54px; margin:0;
  background:var(--tint); font:600 16px/1.3 var(--sans); color:var(--body)}
.radio input{width:18px; height:18px; accent-color:var(--green); margin:0}
.radio:has(input:checked){border-color:var(--green); background:#fff; color:var(--green)}

.biaya{margin-top:8px; border:1px dashed #BFD3C6; border-radius:var(--r); padding:16px 18px; background:var(--tint); font-size:15px}
.biaya h3{font:800 13px/1 var(--sans); letter-spacing:.08em; text-transform:uppercase; color:var(--green); margin-bottom:10px}
.biaya table td{padding:4px 0; font-variant-numeric:tabular-nums}
.biaya table td:last-child{text-align:right; font-weight:700; color:var(--ink)}
.biaya tfoot td{border-top:1px solid var(--line); padding-top:8px}

/* pembayaran & berkas */
.paybox{background:var(--tint); border-radius:var(--r); padding:16px 18px}
.paybox p{margin:0 0 12px}
.paybox .rek{margin:0; background:#fff}
.files{display:grid; gap:12px}
.fup{position:relative; display:flex; align-items:center; gap:14px; border:1.5px dashed #C9D9CF; border-radius:var(--r); padding:14px 16px; background:#fff; cursor:pointer;
  transition:border-color var(--dur) var(--ease), background-color var(--dur) var(--ease)}
.fup:hover{border-color:var(--green-300); background:var(--tint)}
.fup input{position:absolute; inset:0; opacity:0; cursor:pointer; width:100%}
.fup:has(input:focus-visible){outline:3px solid var(--teal); outline-offset:3px}
.fup__ic{flex:none; display:grid; place-items:center; width:42px; height:42px; border-radius:12px; background:var(--tint-2); color:var(--green)}
.fup__txt{min-width:0; flex:1}
.fup__txt b{display:block; font-size:15px; color:var(--ink); line-height:1.35}
.fup__txt small{display:block; font-size:13px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.fup__act{flex:none; font:700 13px/1 var(--sans); color:var(--green); background:var(--mint-soft); border-radius:var(--r-pill); padding:8px 12px}
.fup.is-ok{border-style:solid; border-color:var(--green-300); background:#FBFEFC}
.fup.is-ok .fup__ic{background:var(--green); color:#fff}
.fup.is-bad{border-color:#C0392B}
.fwrap .err{margin-top:6px}

.check{display:flex; gap:12px; align-items:flex-start; margin:22px 0 4px; font-size:14.5px; line-height:1.55; cursor:pointer}
.check input{flex:none; width:20px; height:20px; margin-top:2px; accent-color:var(--green)}
.ts{margin-top:18px; min-height:65px}

.dnav{display:flex; justify-content:space-between; gap:12px; margin-top:26px; padding-top:20px; border-top:1px solid var(--line-soft)}
.dnav .btn{min-width:140px}
.dnav #btnLanjut,.dnav #btnKirim{margin-left:auto}
@media(max-width:480px){.dnav .btn{min-width:0; flex:1}}
.dform__msg{margin:18px 0 0; padding:12px 16px; border-radius:var(--r-sm); background:#FDECEA; color:#8E2A1F; font-size:14.5px; font-weight:500}
.dform__save{margin:14px 0 0; font-size:12.5px; color:var(--muted); text-align:center}
.btn[disabled]{opacity:.65; pointer-events:none}
.pg-daftar [hidden]{display:none !important}

/* selesai */
.done{text-align:center; outline:none}
.done__ic{display:grid; place-items:center; width:72px; height:72px; margin:0 auto 18px; border-radius:50%; background:var(--green); color:#fff; box-shadow:0 0 0 10px var(--mint-soft)}
.done h2{font-size:clamp(24px,3.6vw,30px); margin-bottom:8px}
.done h3{font-size:17px; margin:26px 0 10px; text-align:left}
.done__kode{display:inline-block; font:800 clamp(26px,5vw,34px)/1 var(--sans); letter-spacing:.08em; color:var(--green); background:var(--tint);
  border:2px dashed var(--green-300); border-radius:var(--r); padding:16px 22px; margin:6px 0 18px; font-variant-numeric:tabular-nums}
.done__ring{display:grid; grid-template-columns:auto 1fr; gap:6px 16px; text-align:left; background:var(--tint); border-radius:var(--r); padding:16px 18px; margin:0; font-size:15px}
.done__ring dt{color:var(--muted)}
.done__ring dd{margin:0; font-weight:600; color:var(--ink)}
.done__next{text-align:left; padding-left:20px; margin:0; font-size:15px}
.done__next li{padding:3px 0}
.done__cta{display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:26px}

.foot--mini{padding-top:0}
.foot--mini .foot__bar{border-top:0}

@media print{
  .topbar,.dhero,.dnote,.foot,.done__cta,.toast{display:none !important}
  .dform{margin:0; padding:0}
  .dcard{box-shadow:none; border:0}
  .pg-daftar{background:#fff}
}

/* halaman teks panjang (kebijakan privasi) */
.prose{font-size:16px; line-height:1.75}
.prose h2{font-size:20px; margin:32px 0 10px; letter-spacing:-.015em}
.prose h3{font-size:16px; margin:20px 0 6px}
.prose p{margin:0 0 12px}
.prose ul{margin:0 0 14px; padding-left:20px}
.prose li{margin:4px 0}
.prose__lead{font-size:17px; color:var(--ink); background:var(--tint); border-left:4px solid var(--green); border-radius:0 var(--r) var(--r) 0; padding:14px 18px; margin-bottom:8px !important}
.prose > h2:first-of-type{margin-top:24px}
.foot__small a{color:inherit}
