/* =========================================================
   VERSI 18 - PEMBARUAN MENU PENDAFTARAN
   ========================================================= */

.pendaftaran-hero-v18{
  padding-bottom:34px !important;
}

.pendaftaran-hero-v18 h1{
  margin-bottom:0 !important;
}

.pendaftaran-form-wide-v18{
  display:grid !important;
  grid-template-columns:1fr !important;
  max-width:1280px !important;
}

.pendaftaran-panel-v18{
  width:100% !important;
}

.pendaftaran-panel-v18 .grid-3{
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
}

.pendaftaran-panel-v18 .grid-2{
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
}

.section-title-row-v18{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
}

.section-title-row-v18 h3{
  margin-bottom:6px !important;
}

.limit-badge-v18{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:10px;
  background:rgba(37,99,235,.10);
  color:#2563eb;
  font-weight:800;
  font-size:13px;
}

.gender-empty-v18{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:18px;
  border-radius:18px;
  border:1px solid rgba(37,99,235,.16);
  background:linear-gradient(135deg, rgba(239,246,255,.85), rgba(255,255,255,.96));
  color:#0b2f6f;
}

.gender-empty-v18 svg{
  flex:0 0 auto;
  width:24px;
  height:24px;
  color:#2563eb;
  margin-top:2px;
}

.gender-empty-v18 b{
  display:block;
  margin-bottom:4px;
  font-weight:800;
}

.gender-empty-v18 p{
  margin:0;
  color:#64748b;
  line-height:1.55;
}

.choice-grid-hidden-v18{
  display:none !important;
}

.is-hidden-v18{
  display:none !important;
}

.ekskul-choice-v18{
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.ekskul-choice-v18:hover{
  transform:translateY(-2px);
}

.terms-row-v18{
  align-items:flex-start !important;
  gap:12px !important;
  margin-top:22px !important;
}

.terms-row-v18 input{
  margin-top:3px !important;
}

.terms-link-v18{
  appearance:none;
  border:0;
  background:transparent;
  color:#2563eb;
  font:inherit;
  font-weight:800;
  padding:0;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:3px;
}

.submit-row-v18{
  margin-top:24px !important;
}

.submit-row-v18 .btn{
  min-width:260px;
}

.terms-modal-v18{
  position:fixed;
  inset:0;
  z-index:100000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:22px;
}

.terms-modal-v18.open{
  display:flex;
}

.terms-backdrop-v18{
  position:absolute;
  inset:0;
  background:rgba(2, 12, 32, .58);
  backdrop-filter:blur(10px);
}

.terms-dialog-v18{
  position:relative;
  z-index:1;
  width:min(760px, 100%);
  max-height:min(82vh, 760px);
  overflow:auto;
  border-radius:24px;
  background:#ffffff;
  box-shadow:0 30px 90px rgba(2, 12, 32, .32);
  border:1px solid rgba(226,232,240,.9);
  padding:30px;
}

.terms-dialog-v18 h2{
  margin:14px 0 16px;
  color:#0b2f6f;
  font-size:30px;
  line-height:1.16;
}

.terms-close-v18{
  position:absolute;
  right:18px;
  top:16px;
  width:38px;
  height:38px;
  border-radius:12px;
  border:1px solid rgba(148,163,184,.32);
  background:#ffffff;
  color:#0f172a;
  font-size:26px;
  line-height:1;
  cursor:pointer;
}

.terms-content-v18{
  padding:18px;
  border-radius:18px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
}

.terms-content-v18 ol{
  margin:0;
  padding-left:22px;
}

.terms-content-v18 li{
  margin:0 0 12px;
  line-height:1.65;
  color:#334155;
}

.terms-content-v18 li:last-child{
  margin-bottom:0;
}

.terms-actions-v18{
  display:flex;
  justify-content:flex-end;
  gap:12px;
  margin-top:20px;
}

body.no-scroll{
  overflow:hidden;
}

@media (max-width:900px){
  .pendaftaran-form-wide-v18{
    max-width:100% !important;
  }

  .pendaftaran-panel-v18{
    padding-left:18px !important;
    padding-right:18px !important;
  }

  .pendaftaran-panel-v18 .grid-3,
  .pendaftaran-panel-v18 .grid-2{
    grid-template-columns:1fr !important;
  }

  .section-title-row-v18{
    flex-direction:column;
    gap:10px;
  }

  .limit-badge-v18{
    align-self:flex-start;
  }

  .submit-row-v18 .btn{
    width:100%;
    min-width:0;
  }

  .terms-dialog-v18{
    padding:22px;
    border-radius:20px;
    max-height:86vh;
  }

  .terms-dialog-v18 h2{
    font-size:24px;
    padding-right:32px;
  }

  .terms-actions-v18{
    flex-direction:column-reverse;
  }

  .terms-actions-v18 .btn{
    width:100%;
  }
}


/* V236 — perbaikan kartu pilihan ekskul pada form pendaftaran (mobile) */
.ekskul-section-v18,
#choiceGrid,
.ekskul-choice-v18,
.ekskul-choice-v18 .quota-choice-main-v59{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}

.ekskul-choice-v18 .quota-choice-main-v59 > *,
.ekskul-choice-v18 .price-choice-semester-v47,
.ekskul-choice-v18 .schedule-small-v59,
.ekskul-choice-v18 .quota-small-v59,
.ekskul-choice-v18 .v105-registration-minimum{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.ekskul-choice-v18 .v105-registration-minimum,
.ekskul-choice-v18 .quota-small-v59{
  display:inline-flex;
  width:fit-content;
}

@media (max-width:760px){
  #choiceGrid{
    width:100%;
    max-width:100%;
    overflow:hidden;
  }

  .ekskul-choice-v18{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 26px;
    align-items:start !important;
    gap:12px;
    width:100%;
    max-width:100%;
    padding:18px;
    overflow:hidden;
  }

  .ekskul-choice-v18 .quota-choice-main-v59{
    grid-column:1;
  }

  .ekskul-choice-v18 input[type="checkbox"]{
    grid-column:2;
    align-self:start;
    justify-self:end;
    width:22px;
    height:22px;
    min-width:22px;
    max-width:22px;
    margin:1px 0 0;
    padding:0;
    flex:0 0 auto;
  }

  .ekskul-choice-v18 .v105-registration-minimum,
  .ekskul-choice-v18 .quota-small-v59{
    width:100%;
  }
}

@media (max-width:420px){
  .ekskul-choice-v18{
    grid-template-columns:minmax(0,1fr) 24px;
    gap:10px;
    padding:16px;
    border-radius:16px;
  }

  .ekskul-choice-v18 input[type="checkbox"]{
    width:21px;
    height:21px;
    min-width:21px;
    max-width:21px;
  }

  .ekskul-choice-v18 .quota-choice-main-v59 > b{
    font-size:16px;
    line-height:1.35;
  }
}


/* V237 — stabilitas tombol pendaftaran pada browser mobile */
#submitRegistrationBtnV76{
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
#submitRegistrationBtnV76[aria-busy="true"]{
  opacity:.72;
  cursor:wait;
}
@media(max-width:640px){
  .submit-row-v18{
    position:relative;
    z-index:3;
    padding-bottom:8px;
  }
  #submitRegistrationBtnV76{
    min-height:54px;
  }
}


/* V241 — kartu ekskul yang tidak sesuai gender harus benar-benar hilang. */
.ekskul-choice-v18.is-hidden-v18,
.ekskul-choice-v18[hidden]{
  display:none !important;
}
