/* ==========================================================================
   Abhinav Mahavidyalaya — 3.5 ADMISSIONS & FEE
   admission-forms.css  ·  FORMS, FILTERS & INTERACTIVE TOOLS
   enquiry form · search/filter boxes · refund calculator · fee estimator
   · progress checklists

   SCOPED — every rule nested under .admission-root.
   ========================================================================== */

/* ====================================================== FORM CONTROLS === */
.admission-root form.enq{
  background:#fff;border:1px solid var(--adm-border);border-top:4px solid var(--adm-gold);
  border-radius:var(--adm-radius-md);padding:26px;box-shadow:var(--adm-shadow-sm)
}
.admission-root .fgrid{
  display:grid;gap:16px 20px;grid-template-columns:repeat(auto-fit,minmax(min(240px, 100%), 1fr))
}
.admission-root .field{display:flex;flex-direction:column}
.admission-root .field.full{grid-column:1/-1}
.admission-root label{
  display:block;font-size:13px;font-weight:700;color:var(--adm-navy);margin-bottom:6px
}
.admission-root label .req{color:var(--adm-red)}
.admission-root input,
.admission-root select,
.admission-root textarea{
  width:100%;padding:10px 14px;border:1px solid var(--adm-border);
  border-radius:var(--adm-radius-sm);font-family:var(--adm-sans);font-size:14px;
  color:var(--adm-ink);background:#fff;transition:.3s
}
.admission-root textarea{resize:vertical;min-height:100px}
.admission-root input:focus,
.admission-root select:focus,
.admission-root textarea:focus{
  outline:none;border-color:var(--adm-gold);box-shadow:0 0 0 3px rgba(250,151,30,.18)
}
.admission-root input:invalid:not(:placeholder-shown){border-color:#F0A9A2}
.admission-root .checkline{
  display:flex;gap:10px;align-items:flex-start;font-size:13.5px;
  font-weight:500;color:var(--adm-text)
}
.admission-root .checkline input{width:auto;margin-top:4px;accent-color:var(--adm-navy)}

/* form feedback */
.admission-root .formmsg{display:none;margin-top:18px;padding:14px 18px;
  border-radius:var(--adm-radius-sm);font-size:14px}
.admission-root .formmsg.ok{
  display:block;background:#ECFDF5;border:1px solid var(--adm-green);
  border-left-width:4px;color:#065F46
}
.admission-root .formmsg.err{
  display:block;background:#FDECEA;border:1px solid var(--adm-red);
  border-left-width:4px;color:#8E2419
}

/* =============================================== INTERACTIVE TOOL BOX === */
.admission-root .adm-tool{
  background:var(--adm-strip);border:1px solid var(--adm-border);
  border-left:4px solid var(--adm-navy);border-radius:var(--adm-radius-md);
  padding:18px 20px;margin:0 0 18px
}
.admission-root .adm-tool h4{margin:0 0 10px;font-size:15.5px}
.admission-root .adm-tool-row{
  display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end
}
.admission-root .adm-tool-row .field{flex:1 1 200px}
.admission-root .adm-tool-out{
  margin-top:14px;padding:13px 16px;background:#fff;border-radius:var(--adm-radius-sm);
  border:1px dashed var(--adm-navy);font-size:14.5px;color:var(--adm-navy);display:none
}
.admission-root .adm-tool-out.show{display:block}
.admission-root .adm-tool-out b{font-size:19px;color:var(--adm-navy)}
.admission-root .adm-tool-out .pct{
  display:inline-block;background:var(--adm-gold);color: #fff;
  padding:2px 12px;border-radius:5px;font-weight:800
}

/* search / filter bar */
.admission-root .adm-filter{
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 16px
}
.admission-root .adm-filter input[type="search"],
.admission-root .adm-filter input[type="text"]{flex:1 1 260px;max-width:420px}
.admission-root .adm-filter .count{
  font-size:13px;color:var(--adm-muted);font-weight:600;white-space:nowrap
}

/* checklist with persistence */
.admission-root .adm-check{list-style:none;padding:0;margin:0}
.admission-root .adm-check li{
  display:flex;gap:11px;align-items:flex-start;background:#fff;
  border:1px solid var(--adm-border);border-radius:var(--adm-radius-sm);
  padding:11px 14px;margin:0 0 8px;font-size:14.5px;transition:.3s
}
.admission-root .adm-check li:hover{border-color:var(--adm-gold);background:var(--adm-cream)}
.admission-root .adm-check input{width:auto;margin-top:3px;accent-color:var(--adm-green);flex:0 0 auto}
.admission-root .adm-check li.done{background:#F3FBF6;border-color:var(--adm-green)}
.admission-root .adm-check li.done label{text-decoration:line-through;color:var(--adm-muted)}
.admission-root .adm-check label{font-weight:500;color:var(--adm-text);margin:0;cursor:pointer}
.admission-root .adm-progress{
  height:8px;background:var(--adm-border);border-radius:99px;overflow:hidden;margin:0 0 14px
}
.admission-root .adm-progress i{
  display:block;height:100%;width:0;background:var(--adm-gold);
  transition:width .45s cubic-bezier(.4,0,.2,1); color: #fff;
}

/* countdown chips */
.admission-root .adm-countdown{
  display:flex;flex-wrap:wrap;gap:12px;margin:0 0 16px
}
.admission-root .adm-cd{
  background:var(--adm-navy);color:#fff;border-radius:var(--adm-radius-sm);
  padding:12px 18px;text-align:center;min-width:88px
}
.admission-root .adm-cd b{display:block;font-size:24px;font-weight:800;color:var(--adm-gold);line-height:1.1}
.admission-root .adm-cd span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#D1D5DB}
