/* ════════════════════════════════════════════════════════════════
   Register / Daftar Akun Warga
   File: /assets/css/warga/warga-register.css
   Dipakai oleh: register.php
   ════════════════════════════════════════════════════════════════ */

.ktp-upload-area{border:2px dashed #c7d2fe;border-radius:10px;padding:22px;text-align:center;background:#f8faff;position:relative;margin-top:4px;min-height:130px;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:border-color .2s,background .2s}
.ktp-upload-area.has-preview{padding:8px;background:#fff;border-color:#a5b4fc}
.ktp-placeholder{pointer-events:auto}
.ktp-icon{font-size:2rem;color:#6366f1;display:block;margin-bottom:8px}
.ktp-upload-label{font-weight:700;color:#4338ca;margin-bottom:10px}
.ktp-upload-sub{font-size:.82rem;color:#6b7280;margin-top:8px}
#ktp-preview{max-width:100%;max-height:220px;border-radius:7px;display:none;object-fit:contain}
.ktp-change-hint{font-size:.78rem;color:#6366f1;margin-top:8px;font-weight:700;display:none;gap:8px;justify-content:center;flex-wrap:wrap}
.ktp-btn-src{background:#eef2ff;color:#4338ca;border:1.5px solid #c7d2fe;border-radius:8px;padding:7px 14px;font-size:.84rem;font-weight:700;font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s;display:inline-flex;align-items:center;gap:5px}
.ktp-btn-src:hover{background:#e0e7ff;border-color:#a5b4fc}
.ktp-btn-sm{padding:5px 11px;font-size:.8rem}
.errors a{color:#fff;font-weight:700;text-decoration:underline}
@media(max-width:480px){
  .ktp-upload-area{padding:16px}
  .ktp-btn-src{width:100%;justify-content:center}
}

/* ── From assets/register.css ────────────────────────────────── */

/* register.css - Halaman Daftar Akun */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:'Nunito',sans-serif;min-height:100vh;
  background:linear-gradient(135deg,#1d4ed8 0%,#2563eb 40%,#0ea5e9 100%);
  padding:24px 20px;display:flex;flex-direction:column;align-items:center;
}
.card{background:#fff;border-radius:20px;overflow:hidden;width:100%;max-width:560px;box-shadow:0 24px 64px rgba(0,0,0,.25);margin-bottom:16px;}
.card-header{background:linear-gradient(135deg,#1d4ed8,#0ea5e9);padding:28px 36px 22px;color:#fff;display:flex;align-items:center;gap:16px;}
.header-icon{width:52px;height:52px;background:rgba(255,255,255,.2);border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.header-icon i{font-size:26px;color:#fff;}
.card-header h1{font-size:19px;font-weight:900;margin-bottom:2px}
.card-header p{font-size:12px;opacity:.85}
.card-body{padding:28px 36px}
.section-label{font-size:11px;font-weight:900;color:#2563eb;text-transform:uppercase;letter-spacing:.8px;margin:20px 0 14px;padding-bottom:6px;border-bottom:2px solid #dbeafe;}
.section-label:first-child{margin-top:0}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fg{margin-bottom:14px}
label{font-size:12px;font-weight:800;color:#1e293b;display:block;margin-bottom:5px;text-transform:uppercase;letter-spacing:.3px;}
.required::after{content:' *';color:#ef4444}
input,select,textarea{width:100%;padding:12px 14px;border:2px solid #dbeafe;border-radius:10px;font-family:'Nunito',sans-serif;font-size:14px;transition:border-color .2s;outline:none;color:#1e293b;background:#fff;}
input:focus,select:focus,textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}
textarea{resize:vertical;min-height:80px}
.hint{font-size:11px;color:#94a3b8;margin-top:4px;font-weight:600}
.btn-submit{width:100%;padding:14px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:10px;font-family:'Nunito',sans-serif;font-size:15px;font-weight:800;cursor:pointer;transition:all .2s;margin-top:8px;box-shadow:0 4px 16px rgba(37,99,235,.3);display:flex;align-items:center;justify-content:center;gap:8px;}
.btn-submit:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(37,99,235,.4)}
.errors{background:#fff1f2;border:1px solid #fecdd3;border-radius:10px;padding:14px 16px;margin-bottom:20px;}
.errors ul{list-style:none;padding:0}
.errors li{font-size:13px;color:#be123c;font-weight:600;padding:2px 0;display:flex;align-items:center;gap:6px;}
.errors li i{font-size:13px;flex-shrink:0;}
.footer-links{text-align:center;margin-top:8px}
.footer-links a{color:rgba(255,255,255,.8);font-size:13px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:5px;}
.footer-links a:hover{color:#fff}

@media(max-width:600px){
  body{padding:12px;align-items:flex-start;padding-top:16px}
  .form-row{grid-template-columns:1fr}
  .card-body{padding:20px 16px}
  .card-header{padding:20px 16px}
  .card-header h1{font-size:17px}
}
@media(max-width:480px){
  .card{border-radius:14px}
}

