/* ==========================================================================
   Abhinav Mahavidyalaya — 3.5 ADMISSIONS & FEE
   admission.css  ·  CORE (tokens, hero, layout, typography, buttons, cards)

   SCOPED STYLESHEET — every rule is nested under .admission-root.
   No global body / html / * selectors, so nothing leaks into the host site.
   Palette per design.md §1: Navy #012555 + Gold #FA971E core pairing.
   ========================================================================== */

.admission-root{
  /* ---- brand tokens (design.md §1.2) ---- */
  --adm-navy:   #012555;
  --adm-navy2:  #023878;
  --adm-dark:   #011736;
  --adm-gold:   #FA971E;
  --adm-gold2:  #FBAC4B;
  --adm-gold-text:#AF6A15;
  --adm-cream:  #FFF9EC;
  --adm-green:  #19733A;
  --adm-orange: #FA971E;
  --adm-red:    #E52B20;
  --adm-ink:    #231F20;

  /* ---- neutrals ---- */
  --adm-strip:  #EEF1F6;
  --adm-muted:  #6B7280;
  --adm-text:   #374151;
  --adm-border: #E3E7EE;
  --adm-surface:#F7F8FB;

  /* ---- shape & depth ---- */
  --adm-radius-sm: 8px;
  --adm-radius-md: 12px;
  --adm-shadow-sm: 0 4px 15px rgba(1, 23, 54,.06);
  --adm-shadow-lg: 0 18px 38px rgba(1, 23, 54,.14);

  --adm-serif:"Plus Jakarta Sans", system-ui, sans-serif;
  --adm-sans:'Plus Jakarta Sans','Inter','Segoe UI',Roboto,'Noto Sans Devanagari',Arial,sans-serif;

  font-family:var(--adm-sans);
  color:var(--adm-ink);
  background:var(--adm-surface);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

/* zero-specificity resets — the host site's CSS always wins on conflicts */
.admission-root :where(*){box-sizing:border-box}
.admission-root :where(p,ul,ol,h1,h2,h3,h4,h5,figure){margin:0}
.admission-root :where(img){max-width:100%;height:auto;display:block}
.admission-root :where(a){color:var(--adm-navy);text-decoration:none;transition:.3s}
.admission-root :where(a:hover){color:var(--adm-navy2)}

/* ============================================================== HERO ==== */
.admission-root .admission-hero{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,var(--adm-dark) 0%,var(--adm-navy) 55%,var(--adm-navy2) 100%);
  color:#fff;padding:34px 0 40px;border-bottom:4px solid var(--adm-gold)
}
.admission-root .admission-abs-field{position:absolute;inset:0;pointer-events:none}
.admission-root .admission-abs-ring{
  position:absolute;border:2px solid rgba(250,151,30,.32);border-radius:50%
}
.admission-root .admission-abs-dots{
  position:absolute;
  background-image:radial-gradient(rgba(250,151,30,.45) 1.5px,transparent 1.6px);
  background-size:14px 14px
}
.admission-root .admission-hero h1{
  font-family:var(--adm-serif);font-size:34px;font-weight:800;line-height:1.16;
  color:#fff;margin:10px 0 8px
}
.admission-root .admission-hero .lead-in{
  font-size:15.5px;color:#D1D5DB;max-width:880px;line-height:1.65
}
.admission-root .admission-hero .sec-no{
  display:inline-block;background:var(--adm-gold);color: #fff;
  font-size:12px;font-weight:800;letter-spacing:.06em;
  padding:4px 12px;border-radius:5px;text-transform:uppercase
}

/* breadcrumb */
.admission-root .breadcrumb{
  list-style:none;padding:0;margin:0 0 6px;display:flex;flex-wrap:wrap;
  align-items:center;gap:8px;font-size:13px;font-weight:600
}
.admission-root .breadcrumb a{color:var(--adm-gold)}
.admission-root .breadcrumb a:hover{color:var(--adm-gold2);text-decoration:underline}
.admission-root .breadcrumb .separator{color:rgba(255,255,255,.4)}
.admission-root .breadcrumb .active{color:#fff}

/* ============================================================ LAYOUT ==== */
.admission-root .adm-section{margin-bottom:34px}
.admission-root .adm-eyebrow{
  font-size:11.5px;font-weight:700;text-transform:uppercase;
  color:var(--adm-gold-text);letter-spacing:.08em
}

.admission-root .grid{display:grid;gap:20px}
.admission-root .g2{grid-template-columns:repeat(auto-fit,minmax(min(320px, 100%), 1fr))}
.admission-root .g3{grid-template-columns:repeat(auto-fit,minmax(min(280px, 100%), 1fr))}
.admission-root .g4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}

/* ======================================================== TYPOGRAPHY ==== */
.admission-root h3{
  font-family:var(--adm-serif);font-size:20px;font-weight:800;color:var(--adm-navy);
  line-height:1.3;margin:26px 0 12px;padding-bottom:9px;position:relative
}
.admission-root h3::after{
  content:'';position:absolute;left:0;bottom:0;width:48px;height:3px;
  background:var(--adm-gold);border-radius:2px; color: #fff;
}
.admission-root h4{
  font-family:var(--adm-serif);font-size:16.5px;font-weight:800;
  color:var(--adm-navy);margin:20px 0 8px
}
.admission-root p{margin:0 0 13px;font-size:15px;color:var(--adm-text)}
.admission-root ul,.admission-root ol{margin:0 0 13px;padding-left:22px}
.admission-root li{margin:6px 0;font-size:15px;color:var(--adm-text)}
.admission-root li::marker{color:var(--adm-navy)}
.admission-root strong{color:var(--adm-navy)}
.admission-root .hint{font-size:13px;color:var(--adm-muted);margin-top:5px}
.admission-root code{
  background:var(--adm-strip);color:var(--adm-navy);
  padding:1px 6px;border-radius:4px;font-size:.9em
}

/* ============================================================= CARDS ==== */
.admission-root .card{
  background:#fff;border:1px solid var(--adm-border);border-radius:var(--adm-radius-md);
  padding:24px 26px;margin:0 0 22px;box-shadow:var(--adm-shadow-sm)
}
.admission-root .card > h3:first-child{margin-top:0}

/* gateway tiles */
.admission-root .tile{
  display:block;background:#fff;border:1px solid var(--adm-border);
  border-top:4px solid var(--adm-gold);border-radius:var(--adm-radius-md);
  padding:20px 22px;height:100%;transition:.35s ease;box-shadow:var(--adm-shadow-sm)
}
.admission-root .tile:hover{
  transform:translateY(-4px);box-shadow:var(--adm-shadow-lg);
  border-top-color:var(--adm-navy);background:var(--adm-cream)
}
.admission-root .tile .t-ico{font-size:22px;line-height:1}
.admission-root .tile h4{margin:10px 0 6px;font-size:16.5px}
.admission-root .tile p{margin:0;font-size:13.5px;color:var(--adm-muted);line-height:1.6}
.admission-root .tile .t-go{
  font-size:13px;font-weight:700;color:var(--adm-gold-text);margin-top:14px;display:block
}

/* stat strip */
.admission-root .adm-stat-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:18px;margin-bottom:30px
}
.admission-root .stat{
  background:#fff;border:1px solid var(--adm-border);border-bottom:4px solid var(--adm-gold);
  border-radius:var(--adm-radius-md);padding:18px;text-align:center;box-shadow:var(--adm-shadow-sm)
}
.admission-root .stat .val,.admission-root .stat b{
  display:block;font-family:var(--adm-serif);font-size:25px;font-weight:800;
  color:var(--adm-navy);line-height:1.2
}
.admission-root .stat .lbl,.admission-root .stat span{
  display:block;font-size:12px;color:var(--adm-muted);
  text-transform:uppercase;letter-spacing:.07em;font-weight:700;margin-top:3px
}
.admission-root .stat .sub{
  font-size:11px;color:var(--adm-gold-text);font-weight:700;margin-top:4px
}

/* =========================================== BUTTONS (Stadum .th-btn) ==== */
.admission-root .btn{
  position:relative;z-index:1;overflow:hidden;display:inline-block;
  background:var(--adm-navy);color:#fff;padding:11px 24px;border-radius:var(--adm-radius-sm);
  font-family:var(--adm-sans);font-size:14.5px;font-weight:700;line-height:1.5;
  border:1px solid transparent;cursor:pointer;text-align:center;transition:.5s
}
.admission-root .btn::before{
  content:'';position:absolute;top:0;left:0;z-index:-1;width:0;height:100%;
  background:var(--adm-gold);transition:.7s; color: #fff;
}
.admission-root .btn:hover{color:var(--adm-navy);border-color:var(--adm-gold)}
.admission-root .btn:hover::before{width:100%}

/* primary CTA — orange base, white text (text on orange is always white) */
.admission-root .btn.o{background:var(--adm-gold);color: #fff}
.admission-root .btn.o::before{background:var(--adm-navy)}
.admission-root .btn.o:hover{color:#fff;border-color:var(--adm-navy)}

/* outline */
.admission-root .btn.ghost{
  background:transparent;color:var(--adm-navy);border:1.5px solid var(--adm-navy)
}
.admission-root .btn.ghost::before{background:var(--adm-gold); color: #fff;}
.admission-root .btn.ghost:hover{color:var(--adm-navy);border-color:var(--adm-gold)}

.admission-root .btn-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}

/* ======================================================= SCROLL CUES ==== */
/* Content is only hidden once admission-common.js is running (it adds .adm-js
   to <html>). If the script fails to load, everything simply stays visible. */
.adm-js .admission-root [data-adm-cue]{opacity:0;transform:translateY(26px);
  transition:opacity .8s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.4,0,.2,1)}
.adm-js .admission-root [data-adm-cue="slideInLeft"]{transform:translateX(-26px)}
.adm-js .admission-root [data-adm-cue="slideInRight"]{transform:translateX(26px)}
.admission-root .adm-cue-show{opacity:1 !important;transform:none !important}

/* ========================================================== RESPONSIVE == */
@media (max-width:900px){
  .admission-root .admission-hero h1{font-size:26px}
  .admission-root h3{font-size:18px}
}
@media (max-width:640px){
  .admission-root .admission-hero{padding:24px 0 30px}
  .admission-root .admission-hero h1{font-size:21px}
  .admission-root .card{padding:18px}
}
@media print{
  .admission-root .admission-hero{background:#fff;color:#000;border-bottom:2px solid #000}
  .admission-root .admission-hero h1,.admission-root .admission-hero .lead-in{color:#000}
  .admission-root .card{break-inside:avoid;box-shadow:none}
  .admission-root .breadcrumb,.admission-root .adm-tool{display:none}
}
