/* ============================================================
   AIC APID Registration
   ============================================================ */
.apid{ --apid-navy:#0A1830; --apid-accent:#4FC3F7; --apid-accent2:#7C4DFF;
  max-width:860px; margin:0 auto; font-family:inherit; color:#1a2536; }
.apid *{ box-sizing:border-box; }

.apid-step-head{ display:flex; align-items:center; gap:10px; margin:26px 0 12px;
  font-size:18px; font-weight:800; color:var(--apid-navy); }
.apid-step-head small{ font-weight:500; font-size:13px; color:#6b7a8d; }
.apid-badge{ display:inline-grid; place-items:center; width:28px; height:28px; border-radius:50%;
  background:linear-gradient(135deg,var(--apid-accent),var(--apid-accent2)); color:#fff; font-size:14px; font-weight:800; }

.apid-card{ background:#fff; border:1px solid #e6ebf1; border-radius:16px; padding:22px;
  box-shadow:0 10px 30px -22px rgba(10,24,48,.5); }
.apid-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px 20px; }
.apid-field{ display:flex; flex-direction:column; gap:6px; }
.apid-col2{ grid-column:1 / -1; }
.apid-field label{ font-size:13.5px; font-weight:600; color:#33414f; }
.apid-req{ color:#e5484d; }
.apid-field input[type=text],.apid-field input[type=email],.apid-field input[type=number]{
  width:100%; padding:11px 13px; border:1px solid #cdd6e0; border-radius:10px; font-size:15px; outline:none;
  transition:border-color .15s, box-shadow .15s; background:#fff; }
.apid-field input:focus{ border-color:var(--apid-accent); box-shadow:0 0 0 3px rgba(79,195,247,.18); }
.apid-field input[type=file]{ font-size:13px; padding:8px 0; }
.apid-radios{ display:flex; gap:22px; padding-top:4px; }
.apid-radio{ display:inline-flex; align-items:center; gap:8px; font-weight:500; font-size:15px; cursor:pointer; }

.apid-upload{ border:1px dashed #cdd6e0; border-radius:10px; padding:12px 14px; }
.apid-upload label{ font-size:13px; }

.apid-actions{ margin:24px 0; text-align:right; }
.apid-btn{ display:inline-flex; align-items:center; gap:8px; cursor:pointer; border:0;
  padding:13px 26px; border-radius:999px; font-size:15px; font-weight:700; color:#04121f;
  background:linear-gradient(135deg,var(--apid-accent),#42A5F5); transition:transform .15s, filter .15s; }
.apid-btn:hover{ filter:brightness(1.05); transform:translateY(-1px); }
.apid-btn:active{ transform:scale(.98); }

.apid-alert{ padding:14px 18px; border-radius:12px; margin-bottom:16px; font-size:14px; }
.apid-err{ background:#fdecec; border:1px solid #f5b5b7; color:#a3282c; }
.apid-alert ul{ margin:8px 0 0 18px; }

/* pembayaran */
.apid-sum{ font-size:15px; color:#33414f; margin:0 0 4px; }
.apid-amt{ font-size:20px; color:var(--apid-navy); margin:0 0 16px; }
.apid-amt strong{ color:var(--apid-accent2); }
.apid-pay-methods{ display:flex; flex-direction:column; gap:12px; }
.apid-pay{ border:1px solid #e6ebf1; border-radius:12px; overflow:hidden; }
.apid-pay summary{ cursor:pointer; list-style:none; padding:15px 18px; font-weight:700; color:var(--apid-navy);
  display:flex; align-items:center; gap:10px; background:#f7f9fc; }
.apid-pay summary::-webkit-details-marker{ display:none; }
.apid-pay-ic{ font-size:18px; }
.apid-pay-body{ padding:16px 18px; border-top:1px solid #eef2f6; }
.apid-bank{ background:#f7f9fc; border-radius:10px; padding:12px 14px; margin-bottom:14px; font-size:14px; }
.apid-note{ font-size:12.5px; color:#6b7a8d; margin-top:8px; }

.apid-done{ text-align:center; padding:40px 24px; }
.apid-check{ width:64px; height:64px; margin:0 auto 16px; border-radius:50%; display:grid; place-items:center;
  font-size:32px; color:#fff; background:linear-gradient(135deg,#22c55e,#16a34a); }
.apid-done p{ font-size:16px; color:#33414f; max-width:520px; margin:0 auto; }

@media (max-width:640px){
  .apid-grid{ grid-template-columns:1fr; }
  .apid-actions{ text-align:stretch; } .apid-btn{ width:100%; justify-content:center; }
}

/* ---------- penyesuaian agar menyatu dengan tema ---------- */
.apid{ --apid-radius:16px; }
.apid-step-head{ font-family:"Playfair Display",Georgia,serif; letter-spacing:.2px; }
/* biar mengikuti lebar kolom Elementor, jangan paksa max-width bila di dalam widget */
.elementor-widget-apid_registration .apid{ max-width:none; }
/* kartu sedikit lebih lembut & konsisten */
.apid-card{ box-shadow:0 12px 34px -24px rgba(10,24,48,.45); }
.apid-field input[type=file]{ width:100%; }
.apid-upload{ background:#fbfcfe; }
/* radio lebih rapi */
.apid-radios{ gap:26px; }
.apid-radio input{ width:16px; height:16px; accent-color:var(--apid-accent2); }

/* ============================================================
   Penyempurnaan susunan + DARK MODE
   ============================================================ */
/* radio (Gender) sejajar rapi dengan input di baris yang sama */
.apid-field--radio{ justify-content:flex-start; }
.apid-field--radio .apid-radios{ min-height:46px; align-items:center; }
/* kartu tetap terlihat di latar putih */
.apid-card{ background:#fff; border:1px solid #e3e9f0; }

/* ---- DARK MODE (tema memakai [data-theme="dark"]) ---- */
[data-theme="dark"] .apid{ color:#d7e0ea; }
[data-theme="dark"] .apid-step-head{ color:#eaf1fb; }
[data-theme="dark"] .apid-step-head small{ color:#9fb0c4; }
[data-theme="dark"] .apid-field label{ color:#eaf1fb; }
[data-theme="dark"] .apid-radio{ color:#dbe4ee; }

[data-theme="dark"] .apid-card{ background:rgba(255,255,255,.045); border-color:rgba(255,255,255,.14); }
[data-theme="dark"] .apid-upload{ background:rgba(255,255,255,.03); border-color:rgba(255,255,255,.20); }

[data-theme="dark"] .apid-field input[type=text],
[data-theme="dark"] .apid-field input[type=email],
[data-theme="dark"] .apid-field input[type=number]{
  background:#0e1a2b; border-color:rgba(255,255,255,.20); color:#eef4fb;
}
[data-theme="dark"] .apid-field input::placeholder{ color:#8194a8; }
[data-theme="dark"] .apid-field input[type=file]{ color:#cdd8e4; }

/* pembayaran & lain-lain di dark mode */
[data-theme="dark"] .apid-sum,
[data-theme="dark"] .apid-amt{ color:#eaf1fb; }
[data-theme="dark"] .apid-pay{ border-color:rgba(255,255,255,.14); }
[data-theme="dark"] .apid-pay summary{ background:rgba(255,255,255,.05); color:#eaf1fb; }
[data-theme="dark"] .apid-pay-body{ border-color:rgba(255,255,255,.10); }
[data-theme="dark"] .apid-bank{ background:rgba(255,255,255,.05); }
[data-theme="dark"] .apid-note{ color:#9fb0c4; }
[data-theme="dark"] .apid-done p{ color:#d7e0ea; }
