@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@700&family=Quicksand:wght@400;600&display=swap');

/* =============================================================
   HANIFA SCHOOL – ONLINE ADMISSION FORM  v3
   Outer: .online-admission-form-cp
   High-specificity + !important to defeat WP/Elementor themes
   ============================================================= */

.online-admission-form-cp {
  --oaf-primary:    #AA3186;
  --oaf-primary-lt: #f3d0ea;
  --oaf-primary-dk: #8a2670;
  --oaf-orange:     #F5A623;
  --oaf-orange-lt:  #FEF3E2;
  --oaf-white:      #ffffff;
  --oaf-text:       #1F1F1F;
  --oaf-muted:      #6B7280;
  --oaf-input-bg:   #F7F5F3;
  --oaf-input-bd:   rgba(231, 224, 218, 1);
  --oaf-shadow:     0 4px 28px rgba(0,0,0,.06);
  --oaf-gap:        24px;

  display: block !important;
  font-family: 'Quicksand', sans-serif !important;
  color: #1F1F1F !important;
  max-width: 820px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  line-height: normal !important;
}
.online-admission-form-cp *,
.online-admission-form-cp *::before,
.online-admission-form-cp *::after {
  box-sizing: border-box !important;
}

/* ─────────────────────────────────────────
   STEPPER WRAPPER
───────────────────────────────────────── */
.online-admission-form-cp .admission-form-stepper-wrap-cp {
  display: block !important;
  width: 100% !important;
  margin-bottom: 0 !important;
}

.online-admission-form-cp .admission-form-stepper-cp {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: #eeebe7 !important;
  border-radius: 50px !important;
  padding: 6px !important;        /* 6px padding between bg and buttons */
  gap: 0 !important;
  box-shadow: 0 4px 28px rgba(0,0,0,.06) !important;
  overflow-x: auto !important;
  list-style: none !important;
  margin: 0 !important;
  border: none !important;
}
.online-admission-form-cp .admission-form-stepper-cp::-webkit-scrollbar {
  display: none !important;
}

/* ── STEP BUTTONS ── */
.online-admission-form-cp .admission-form-step-btn-cp {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  /* inner padding — the outer 6px gap is on the stepper container */
  padding: 8px 16px !important;
  border-radius: 50px !important;      /* same radius as stepper */
  border: none !important;
  background: transparent !important;
  cursor: pointer !important;
  font-family: 'Quicksand', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  line-height: 20px !important;
  letter-spacing: 0 !important;
  color: #6B7280 !important;
  transition: background .22s, color .22s !important;
  white-space: nowrap !important;
  flex: 1 !important;
  justify-content: center !important;
  text-decoration: none !important;
  outline: none !important;
  box-shadow: none !important;
  text-transform: none !important;
}

/* Number badge */
.online-admission-form-cp .admission-form-step-num-cp {
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #ede9e4 !important;
  color: #6B7280 !important;
  flex-shrink: 0 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  transition: background .22s, color .22s !important;
}

/* ── ACTIVE TAB ── */
.online-admission-form-cp .admission-form-step-btn-cp.cp-active {
  background: #AA3186 !important;
  color: #ffffff !important;
}
.online-admission-form-cp .admission-form-step-btn-cp.cp-active .admission-form-step-num-cp {
  background: rgba(255,255,255,.22) !important;
  color: #ffffff !important;
}

/* ── DONE TAB ── clickable, shows check icon */
.online-admission-form-cp .admission-form-step-btn-cp.cp-done {
  color: #AA3186 !important;
  background: transparent !important;
  cursor: pointer !important;
}
.online-admission-form-cp .admission-form-step-btn-cp.cp-done .admission-form-step-num-cp {
  background: #f3d0ea !important;
  color: #AA3186 !important;
}

/* ─────────────────────────────────────────
   PROGRESS BAR  — single orange bar
───────────────────────────────────────── */
.online-admission-form-cp .admission-form-progress-wrap-cp {
  display: flex !important;
  margin: 8px 0 20px !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  background: #fbe0b7 !important;
  height: 4px !important;
}

/* All segments use the track colour by default */
.online-admission-form-cp .admission-form-progress-seg-cp {
  height: 4px !important;
  flex: 1 !important;
  background: #fbe0b7 !important;
  transition: background .32s !important;
}

/* Completed segments = primary #AA3186 */
.online-admission-form-cp .admission-form-progress-seg-cp.cp-seg-done {
  background: #AA3186 !important;
}

/* Current active segment = primary #AA3186 (moves ahead) */
.online-admission-form-cp .admission-form-progress-seg-cp.cp-seg-active {
  background: #AA3186 !important;
}

/* Remaining segments = warm peach track */
.online-admission-form-cp .admission-form-progress-seg-cp.cp-seg-remaining {
  background: #fbe0b7 !important;
}

/* ─────────────────────────────────────────
   CARD
───────────────────────────────────────── */
.online-admission-form-cp .admission-form-card-cp {
  background: #ffffff !important;
  border-radius: 20px !important;
  padding: 40px 44px !important;
  box-shadow: 0 4px 28px rgba(0,0,0,.06) !important;
  border: 1px solid rgba(231,224,218,1) !important;
}

/* ─────────────────────────────────────────
   SECTION HEADER
───────────────────────────────────────── */
.online-admission-form-cp .admission-form-section-head-cp {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 0 0 24px 0 !important;
}
.online-admission-form-cp .admission-form-section-icon-cp {
  width: 46px !important;
  height: 46px !important;
  border-radius: 50% !important;
  background: #f3d0ea !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}
.online-admission-form-cp .admission-form-section-title-cp {
  font-family: 'Nunito', sans-serif !important;
  font-weight: 700 !important;
  font-size: 24px !important;
  line-height: 32px !important;
  letter-spacing: -0.6px !important;
  color: #1F1F1F !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
}

/* ─────────────────────────────────────────
   SUB HEADINGS
───────────────────────────────────────── */
.online-admission-form-cp .admission-form-sub-heading-cp {
  font-family: 'Nunito', sans-serif !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  line-height: 28px !important;
  letter-spacing: -0.45px !important;
  color: #1F1F1F !important;
  display: block !important;
  margin: 0 0 24px 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
}

/* ─────────────────────────────────────────
   FORM GRID
───────────────────────────────────────── */
.online-admission-form-cp .admission-form-grid-cp {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  row-gap: 24px !important;
  column-gap: 24px !important;
}
.online-admission-form-cp .admission-form-field-full-cp {
  grid-column: 1 / -1 !important;
}

/* ─────────────────────────────────────────
   FIELD WRAPPER
───────────────────────────────────────── */
.online-admission-form-cp .admission-form-field-cp {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;        /* label → field gap = 8px */
  margin: 0 !important;
  padding: 0 !important;
}

/* ─────────────────────────────────────────
   LABELS
───────────────────────────────────────── */
.online-admission-form-cp .admission-form-field-cp > label {
  display: block !important;
  font-family: 'Quicksand', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  line-height: 20px !important;
  letter-spacing: 0 !important;
  color: #1F1F1F !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  width: auto !important;
}

/* Required asterisk */
.online-admission-form-cp .oaf-req {
  color: #AA3186 !important;
  font-weight: 700 !important;
  margin-left: 2px !important;
}

/* ─────────────────────────────────────────
   INPUTS / SELECTS
   border-radius: 10px (reduced, matching image 2)
───────────────────────────────────────── */
.online-admission-form-cp .admission-form-field-cp > input,
.online-admission-form-cp .admission-form-field-cp > select,
.online-admission-form-cp .admission-form-field-cp > textarea {
  display: block !important;
  width: 100% !important;
  background: #F7F5F3 !important;
  border: 1px solid rgba(231,224,218,1) !important;
  border-radius: 10px !important;    /* reduced — matches screenshot */
  padding: 10px 14px !important;
  font-family: 'Quicksand', sans-serif !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  color: #6B7280 !important;
  outline: none !important;
  transition: border-color .2s, box-shadow .2s !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  min-height: unset !important;
  height: auto !important;
  max-width: 100% !important;
}
.online-admission-form-cp .admission-form-field-cp > input::placeholder,
.online-admission-form-cp .admission-form-field-cp > textarea::placeholder {
  color: #6B7280 !important;
  opacity: 1 !important;
}
.online-admission-form-cp .admission-form-field-cp > select {
  cursor: pointer !important;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236B7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-color: #F7F5F3 !important;
  padding-right: 36px !important;
}
.online-admission-form-cp .admission-form-field-cp > select option {
  color: #1F1F1F !important;
  background: #ffffff !important;
}
.online-admission-form-cp .admission-form-field-cp > input:focus,
.online-admission-form-cp .admission-form-field-cp > select:focus,
.online-admission-form-cp .admission-form-field-cp > textarea:focus {
  border-color: #AA3186 !important;
  box-shadow: 0 0 0 3px rgba(170,49,134,.09) !important;
  background: #ffffff !important;
  color: #1F1F1F !important;
}

/* Validation error highlight */
.online-admission-form-cp .admission-form-field-cp > input.oaf-error,
.online-admission-form-cp .admission-form-field-cp > select.oaf-error {
  border-color: #e03131 !important;
  box-shadow: 0 0 0 3px rgba(224,49,49,.09) !important;
}

/* Inline error message */
.online-admission-form-cp .oaf-error-msg {
  display: block !important;
  font-family: 'Quicksand', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #e03131 !important;
  margin: 4px 0 0 4px !important;
  line-height: 1.4 !important;
}

/* ─────────────────────────────────────────
   PERMANENT ADDRESS — same-as row
───────────────────────────────────────── */
.online-admission-form-cp .oaf-perm-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-bottom: 0 !important;
}
.online-admission-form-cp .oaf-same-as-label {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: 'Quicksand', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: #AA3186 !important;
  cursor: pointer !important;
  user-select: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.online-admission-form-cp .oaf-same-as-label input[type="checkbox"] {
  width: 17px !important;
  height: 17px !important;
  accent-color: #AA3186 !important;
  cursor: pointer !important;
  border-radius: 4px !important;
  flex-shrink: 0 !important;
  border: 1.5px solid rgba(231,224,218,1) !important;
  background: #F7F5F3 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* When same-as is checked, hide perm fields */
.online-admission-form-cp #oaf-perm-fields.oaf-hidden {
  display: none !important;
}

/* ─────────────────────────────────────────
   DIVIDER
───────────────────────────────────────── */
.online-admission-form-cp .admission-form-divider-cp {
  border: none !important;
  border-top: 1px solid rgba(231,224,218,1) !important;
  margin: 24px 0 !important;
  display: block !important;
  height: 0 !important;
}

/* ─────────────────────────────────────────
   TOGGLE
───────────────────────────────────────── */
.online-admission-form-cp .admission-form-toggle-row-cp {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  background: #F7F5F3 !important;
  border: 1px solid rgba(231,224,218,1) !important;
  border-radius: 12px !important;
  padding: 16px 18px !important;
  margin-bottom: 24px !important;
}
.online-admission-form-cp .admission-form-toggle-info-cp { flex: 1 !important; }
.online-admission-form-cp .admission-form-toggle-info-cp strong {
  font-size: 15px !important; font-weight: 600 !important;
  display: block !important; margin: 0 0 3px 0 !important;
  color: #1F1F1F !important; font-family: 'Quicksand', sans-serif !important;
}
.online-admission-form-cp .admission-form-toggle-info-cp span {
  font-size: 13px !important; color: #6B7280 !important; font-family: 'Quicksand', sans-serif !important;
}
.online-admission-form-cp .admission-form-toggle-switch-cp {
  position: relative !important; width: 50px !important;
  height: 27px !important; flex-shrink: 0 !important; display: inline-block !important;
}
.online-admission-form-cp .admission-form-toggle-switch-cp > input[type="checkbox"] {
  opacity: 0 !important; width: 0 !important; height: 0 !important;
  position: absolute !important; border: none !important; background: none !important;
}
.online-admission-form-cp .admission-form-toggle-slider-cp {
  position: absolute !important; inset: 0 !important;
  background: #d1ccc7 !important; border-radius: 50px !important;
  cursor: pointer !important; transition: background .28s !important; border: none !important;
}
.online-admission-form-cp .admission-form-toggle-slider-cp::before {
  content: '' !important; position: absolute !important;
  width: 21px !important; height: 21px !important; border-radius: 50% !important;
  background: #fff !important; top: 3px !important; left: 3px !important;
  transition: transform .28s !important; box-shadow: 0 1px 5px rgba(0,0,0,.18) !important;
}
.online-admission-form-cp .admission-form-toggle-switch-cp > input[type="checkbox"]:checked + .admission-form-toggle-slider-cp {
  background: #AA3186 !important;
}
.online-admission-form-cp .admission-form-toggle-switch-cp > input[type="checkbox"]:checked + .admission-form-toggle-slider-cp::before {
  transform: translateX(23px) !important;
}
.online-admission-form-cp .admission-form-hostel-fields-cp { display: none !important; }
.online-admission-form-cp .admission-form-hostel-fields-cp.cp-show { display: block !important; }

/* ─────────────────────────────────────────
   UPLOAD BOXES
───────────────────────────────────────── */
.online-admission-form-cp .admission-form-upload-grid-cp {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 24px !important;
  margin-top: 24px !important;
}
.online-admission-form-cp .admission-form-upload-box-cp {
  border: 1px dashed rgba(231,224,218,1) !important;
  border-radius: 12px !important;
  padding: 28px 16px !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: border-color .2s, background .2s !important;
  position: relative !important;
  overflow: hidden !important;
  background: #F7F5F3 !important;
}
.online-admission-form-cp .admission-form-upload-box-cp:hover {
  border-color: #AA3186 !important; background: #f3d0ea !important;
}
.online-admission-form-cp .admission-form-upload-box-cp > input[type="file"] {
  position: absolute !important; inset: 0 !important; opacity: 0 !important;
  cursor: pointer !important; width: 100% !important; height: 100% !important;
  border: none !important; background: none !important; border-radius: 0 !important; padding: 0 !important;
}
.online-admission-form-cp .admission-form-up-icon-cp {
  font-size: 22px !important; color: #6B7280 !important; margin: 0 0 8px 0 !important; display: block !important;
}
.online-admission-form-cp .admission-form-up-name-cp {
  font-size: 14px !important; font-weight: 600 !important; color: #1F1F1F !important;
  margin: 0 0 4px 0 !important; display: block !important;
}
.online-admission-form-cp .admission-form-up-hint-cp {
  font-size: 12px !important; color: #6B7280 !important; display: block !important;
}
.online-admission-form-cp .admission-form-upload-box-cp.cp-uploaded {
  border-color: #AA3186 !important; background: #f3d0ea !important;
}
.online-admission-form-cp .admission-form-upload-box-cp.cp-uploaded .admission-form-up-icon-cp {
  color: #AA3186 !important;
}

/* ─────────────────────────────────────────
   REVIEW
───────────────────────────────────────── */
.online-admission-form-cp .admission-form-review-desc-cp {
  font-size: 14px !important; color: #6B7280 !important; margin: 0 0 24px 0 !important; display: block !important;
}
.online-admission-form-cp .admission-form-review-section-cp { margin: 0 0 24px 0 !important; }
.online-admission-form-cp .admission-form-review-section-title-cp {
  font-family: 'Nunito', sans-serif !important; font-weight: 700 !important;
  font-size: 18px !important; line-height: 28px !important; letter-spacing: -0.45px !important;
  color: #AA3186 !important; margin: 0 0 10px 0 !important; padding: 0 !important; display: block !important;
}
.online-admission-form-cp .admission-form-review-card-cp {
  background: #F7F5F3 !important;
  border: 1px solid rgba(231,224,218,1) !important;
  border-radius: 12px !important; overflow: hidden !important;
}
.online-admission-form-cp .admission-form-review-row-cp {
  display: flex !important; align-items: center !important;
  padding: 11px 16px !important; font-size: 14px !important;
  border-bottom: 1px solid rgba(231,224,218,1) !important;
}
.online-admission-form-cp .admission-form-review-row-cp:last-child { border-bottom: none !important; }
.online-admission-form-cp .admission-form-rk-cp {
  color: #6B7280 !important; font-weight: 600 !important;
  flex: 0 0 170px !important; font-size: 14px !important; font-family: 'Quicksand', sans-serif !important;
}
.online-admission-form-cp .admission-form-rv-cp {
  font-weight: 600 !important; color: #1F1F1F !important;
  font-size: 14px !important; font-family: 'Quicksand', sans-serif !important;
}

/* ─────────────────────────────────────────
   NAVIGATION ROW
───────────────────────────────────────── */
.online-admission-form-cp .admission-form-nav-row-cp {
  display: flex !important; justify-content: space-between !important; align-items: center !important;
  margin-top: 24px !important; padding-top: 24px !important;
  border-top: 1px solid rgba(231,224,218,1) !important;
}
.online-admission-form-cp .admission-form-btn-back-cp {
  display: inline-flex !important; align-items: center !important; gap: 6px !important;
  background: transparent !important; border: 1px solid rgba(231,224,218,1) !important;
  border-radius: 50px !important; padding: 10px 22px !important;
  font-family: 'Quicksand', sans-serif !important; font-weight: 600 !important;
  font-size: 14px !important; line-height: 20px !important;
  color: #6B7280 !important; cursor: pointer !important;
  transition: border-color .2s, color .2s !important;
  text-decoration: none !important; outline: none !important; box-shadow: none !important;
}
.online-admission-form-cp .admission-form-btn-back-cp:hover:not([disabled]) {
  border-color: #AA3186 !important; color: #AA3186 !important; background: transparent !important;
}
.online-admission-form-cp .admission-form-btn-back-cp[disabled] {
  opacity: .35 !important; cursor: default !important;
}
.online-admission-form-cp .admission-form-btn-next-cp {
  display: inline-flex !important; align-items: center !important; gap: 8px !important;
  background: #AA3186 !important; border: none !important; border-radius: 50px !important;
  padding: 10px 26px !important; font-family: 'Quicksand', sans-serif !important;
  font-weight: 600 !important; font-size: 14px !important; line-height: 20px !important;
  color: #ffffff !important; cursor: pointer !important;
  transition: background .2s, box-shadow .2s, transform .2s !important;
  box-shadow: 0 4px 14px rgba(170,49,134,.28) !important;
  text-decoration: none !important; outline: none !important;
}
.online-admission-form-cp .admission-form-btn-next-cp:hover {
  background: #8a2670 !important; transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(170,49,134,.36) !important;
}
.online-admission-form-cp .admission-form-btn-next-cp[disabled] {
  opacity: .6 !important; cursor: default !important; transform: none !important;
}

/* ─────────────────────────────────────────
   PANELS
───────────────────────────────────────── */
.online-admission-form-cp .admission-form-panel-cp { display: none !important; }
.online-admission-form-cp .admission-form-panel-cp.cp-active { display: block !important; }

/* ─────────────────────────────────────────
   SUCCESS
───────────────────────────────────────── */
.online-admission-form-cp .admission-form-success-cp {
  text-align: center !important; padding: 40px 0 !important;
}
.online-admission-form-cp .admission-form-success-icon-cp {
  width: 80px !important; height: 80px !important; border-radius: 50% !important;
  background: #f3d0ea !important; display: flex !important;
  align-items: center !important; justify-content: center !important;
  margin: 0 auto 22px !important;
}
.online-admission-form-cp .admission-form-success-cp p {
  color: #6B7280 !important; font-size: 15px !important;
  line-height: 1.65 !important; margin: 10px 0 0 !important; font-family: 'Quicksand', sans-serif !important;
}
.online-admission-form-cp .admission-form-app-id-cp {
  display: inline-block !important; margin-top: 20px !important;
  background: #f3d0ea !important; color: #AA3186 !important;
  font-weight: 700 !important; font-size: 14px !important;
  padding: 10px 24px !important; border-radius: 50px !important; font-family: 'Quicksand', sans-serif !important;
}

/* ─────────────────────────────────────────
   RESPONSIVE
───────────────────────────────────────── */
@media (max-width: 640px) {
  .online-admission-form-cp .admission-form-card-cp { padding: 24px 18px !important; }
  .online-admission-form-cp .admission-form-grid-cp { grid-template-columns: 1fr !important; }
  .online-admission-form-cp .admission-form-upload-grid-cp { grid-template-columns: 1fr !important; }
  .online-admission-form-cp .admission-form-step-label-cp { display: none !important; }
  .online-admission-form-cp .admission-form-rk-cp { flex: 0 0 110px !important; }
  .online-admission-form-cp .oaf-perm-header { flex-direction: column !important; align-items: flex-start !important; }
}

/* ═══════════════════════════════════════════
   CUSTOM DATE PICKER
═══════════════════════════════════════════ */

/* Wrapper */
.online-admission-form-cp .oaf-datepicker {
  position: relative !important;
  width: 100% !important;
}

/* DD / MM / YYYY row */
.online-admission-form-cp .oaf-dob-inputs {
  display: flex !important;
  align-items: center !important;
  background: #F7F5F3 !important;
  border: 1px solid rgba(231,224,218,1) !important;
  border-radius: 10px !important;
  padding: 0 12px !important;
  gap: 0 !important;
  transition: border-color .2s, box-shadow .2s !important;
  height: 42px !important;
}
.online-admission-form-cp .oaf-datepicker.oaf-dp-open .oaf-dob-inputs,
.online-admission-form-cp .oaf-dob-inputs:focus-within {
  border-color: #AA3186 !important;
  box-shadow: 0 0 0 3px rgba(170,49,134,.09) !important;
  background: #ffffff !important;
}
.online-admission-form-cp .oaf-dob-inputs.oaf-error {
  border-color: #e03131 !important;
  box-shadow: 0 0 0 3px rgba(224,49,49,.09) !important;
}

/* Part inputs */
.online-admission-form-cp .oaf-dob-part {
  border: none !important;
  background: transparent !important;
  font-family: 'Quicksand', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: #1F1F1F !important;
  text-align: center !important;
  outline: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 28px !important;
  border-radius: 0 !important;
  height: auto !important;
  min-height: unset !important;
  -moz-appearance: textfield !important;
}
.online-admission-form-cp .oaf-dob-part::-webkit-outer-spin-button,
.online-admission-form-cp .oaf-dob-part::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
}
.online-admission-form-cp .oaf-dob-part::placeholder {
  color: #b0a99f !important;
  font-weight: 400 !important;
}
.online-admission-form-cp .oaf-dob-year {
  width: 46px !important;
}
.online-admission-form-cp .oaf-dob-sep {
  color: #b0a99f !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  padding: 0 3px !important;
  user-select: none !important;
  font-family: 'Quicksand', sans-serif !important;
}
.online-admission-form-cp .oaf-dob-cal-btn {
  margin-left: auto !important;
  border: none !important;
  background: transparent !important;
  cursor: pointer !important;
  color: #AA3186 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 4px !important;
  border-radius: 6px !important;
  transition: background .18s !important;
  outline: none !important;
  box-shadow: none !important;
}
.online-admission-form-cp .oaf-dob-cal-btn:hover {
  background: #f3d0ea !important;
}

/* ── CALENDAR DROPDOWN ── */
.online-admission-form-cp .oaf-cal-dropdown {
  display: none !important;
  position: absolute !important;
  top: calc(100% + 6px) !important;
  left: 0 !important;
  z-index: 9999 !important;
  background: #ffffff !important;
  border: 1px solid rgba(231,224,218,1) !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.12) !important;
  padding: 16px !important;
  width: 300px !important;
  min-width: 100% !important;
}
.online-admission-form-cp .oaf-datepicker.oaf-dp-open .oaf-cal-dropdown {
  display: block !important;
}

/* Header: prev | Month Year | next */
.online-admission-form-cp .oaf-cal-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 12px !important;
  gap: 8px !important;
}
.online-admission-form-cp .oaf-cal-header-selects {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex: 1 !important;
  justify-content: center !important;
}
.online-admission-form-cp .oaf-cal-month-sel,
.online-admission-form-cp .oaf-cal-year-sel {
  border: 1px solid rgba(231,224,218,1) !important;
  border-radius: 8px !important;
  background: #F7F5F3 !important;
  font-family: 'Quicksand', sans-serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  color: #1F1F1F !important;
  padding: 5px 8px !important;
  outline: none !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  height: auto !important;
  min-height: unset !important;
  box-shadow: none !important;
  margin: 0 !important;
}
.online-admission-form-cp .oaf-cal-month-sel { min-width: 100px !important; }
.online-admission-form-cp .oaf-cal-year-sel  { min-width: 68px !important; }
.online-admission-form-cp .oaf-cal-month-sel:focus,
.online-admission-form-cp .oaf-cal-year-sel:focus {
  border-color: #AA3186 !important;
}

.online-admission-form-cp .oaf-cal-nav {
  width: 32px !important;
  height: 32px !important;
  border: 1px solid rgba(231,224,218,1) !important;
  border-radius: 8px !important;
  background: #F7F5F3 !important;
  cursor: pointer !important;
  font-size: 18px !important;
  color: #AA3186 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background .18s, border-color .18s !important;
  outline: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
  font-family: serif !important;
  line-height: 1 !important;
}
.online-admission-form-cp .oaf-cal-nav:hover {
  background: #f3d0ea !important;
  border-color: #AA3186 !important;
}

/* Weekday header row */
.online-admission-form-cp .oaf-cal-weekdays {
  display: grid !important;
  grid-template-columns: repeat(7, 1fr) !important;
  margin-bottom: 4px !important;
}
.online-admission-form-cp .oaf-cal-weekdays span {
  text-align: center !important;
  font-family: 'Quicksand', sans-serif !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  color: #b0a99f !important;
  padding: 4px 0 !important;
  text-transform: uppercase !important;
  letter-spacing: .5px !important;
}

/* Days grid */
.online-admission-form-cp .oaf-cal-days {
  display: grid !important;
  grid-template-columns: repeat(7, 1fr) !important;
  gap: 2px !important;
}
.online-admission-form-cp .oaf-cal-day {
  border: none !important;
  background: transparent !important;
  border-radius: 8px !important;
  font-family: 'Quicksand', sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  color: #1F1F1F !important;
  cursor: pointer !important;
  padding: 7px 2px !important;
  text-align: center !important;
  transition: background .15s, color .15s !important;
  outline: none !important;
  box-shadow: none !important;
  line-height: 1 !important;
}
.online-admission-form-cp .oaf-cal-day:hover:not(.oaf-cal-day--empty):not(.oaf-cal-day--disabled) {
  background: #f3d0ea !important;
  color: #AA3186 !important;
}
.online-admission-form-cp .oaf-cal-day--selected {
  background: #AA3186 !important;
  color: #ffffff !important;
}
.online-admission-form-cp .oaf-cal-day--selected:hover {
  background: #8a2670 !important;
  color: #ffffff !important;
}
.online-admission-form-cp .oaf-cal-day--today:not(.oaf-cal-day--selected) {
  color: #AA3186 !important;
  font-weight: 700 !important;
  position: relative !important;
}
.online-admission-form-cp .oaf-cal-day--today:not(.oaf-cal-day--selected)::after {
  content: '' !important;
  position: absolute !important;
  bottom: 3px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 4px !important;
  height: 4px !important;
  border-radius: 50% !important;
  background: #AA3186 !important;
  display: block !important;
}
.online-admission-form-cp .oaf-cal-day--disabled {
  color: #d5cfc9 !important;
  cursor: not-allowed !important;
}
.online-admission-form-cp .oaf-cal-day--empty {
  cursor: default !important;
}
