/* ==============================
   Info Hero
============================== */
.info-hero {
  background: linear-gradient(to bottom, #f9fbff, #ffffff);
  padding: clamp(64px, 10vw, 120px) 1rem 56px;
  text-align: center;
}
.info-hero_content h1 {
  color:#1e2d64;
  font-weight:800;
  font-size:clamp(2rem, 3.8vw, 4rem);
  margin:10px 0 14px;
  letter-spacing:.2px;
}
.info-hero_content p {
  color:#3f4b63;
  font-size:clamp(1.05rem, 1.3vw, 1.45rem);
  line-height:1.75;
  max-width:980px;
  margin:0 auto;
  padding:0 .5rem;
}
@media (max-width:480px){
  .info-hero { padding:56px 1rem 44px; }
  .info-hero_content h1 { font-size:1.9rem; }
  .info-hero_content p { font-size:1rem; }
}

/* ==============================
   Tabs (anchors)
============================== */
.info-tabs { background:#f9f9f9; padding:1.25rem; }
.tabs-container{
  display:flex; justify-content:center; gap: .9rem;
  background:#f5f5f5; border-radius:14px; padding:.75rem;
  max-width:1040px; margin:0 auto; box-shadow:0 1px 3px rgba(0,0,0,.06);
}
.tabs-container .tab{
  display:inline-block; text-decoration:none; cursor:pointer;
  padding:.9rem 1.3rem;
  border-radius:10px; font-weight:700; font-size:1.02rem;
  color:#475569;
  transition: background .18s ease, box-shadow .18s ease, color .18s ease, transform .18s ease;
}
.tabs-container .tab:hover{ background:#fff; color:#c42e2e; }
.tabs-container .tab.active{
  background:#fff; color:#c42e2e;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
}

/* Optional nice smooth scroll sitewide (can live in global.css) */
html { scroll-behavior: smooth; }

/* ==============================
   Content wrapper (replaces old .info-panels/.panel)
============================== */
.content_wrap{
  max-width:1100px;
  margin:22px auto 60px;
  padding:0 1rem;
}

/* ==============================
   Admissions Section
============================== */
.admissions-section { margin-top:24px; }
.admissions-head{
  text-align:center;
  max-width:900px;
  margin:0 auto 22px;
}
.admissions-head h2{
  color:#1e2d64;
  font-weight:800;
  font-size:clamp(1.6rem, 1.1rem + 2vw, 2.2rem);
  margin-bottom:10px;
}
.admissions-head p{ color:#3f4b63; line-height:1.7; }

/* Two-card grid */
.ad-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
}
@media (max-width:900px){ .ad-grid{ grid-template-columns:1fr; } }

/* Card */
.ad-card{
  background:#fff;
  border:2.5px solid #eaeaea;
  border-radius:14px;
  padding:20px 22px;
  box-shadow:0 6px 18px rgba(0,0,0,0.06);
}

/* Card header */
.ad-title{
  display:flex; align-items:center; gap:12px; margin-bottom:12px;
}
.ad-title h3{
  margin:0; color:#0f172a; font-weight:800;
  font-size:clamp(1.1rem, 1rem + .6vw, 1.4rem);
}

/* Icon pill */
.ad-icon{
  display:grid; place-items:center;
  width:40px; height:40px; border-radius:10px;
  background:#f1f5ff; color:#3758f9; flex:0 0 auto; font-size:20px;
}
.ad-icon--red{ background:#fff4f3; color:#c42e2e; }
.ad-icon--blue{ background:#f1f5ff; color:#3758f9; }

/* Numbered steps */
.ad-steps{
  list-style:none; margin:10px 0 0; padding:0; display:grid; gap:12px;
}
.ad-steps li{
  display:grid; grid-template-columns:34px 1fr; gap:12px; align-items:start; color:#1f2937;
}
.ad-steps .num{
  display:inline-grid; place-items:center;
  background:#e43131; color:#fff; width:28px; height:28px; border-radius:6px;
  font-weight:800; font-size:.95rem; line-height:1; transform:translateY(1px);
}

/* Bulleted list */
.ad-bullets{
  list-style:none; margin:10px 0 0; padding:0;
  display:grid; gap:12px; color:#1f2937;
}
.ad-bullets li{ position:relative; padding-left:18px; }
.ad-bullets li::before{
  content:''; position:absolute; left:0; top:.65em;
  width:7px; height:7px; border-radius:50%; background:#3b82f6;
}

/* ==============================
   Application Deadlines
============================== */
.ad-deadlines{
  margin-top:28px;
  background:#edf4ff;
  border:3px solid #bcd4ff;
  border-radius:16px;
  padding:22px;
  box-shadow:0 8px 18px rgba(17, 24, 39, 0.06);
}
.ad-deadlines h3{
  color:#1e2d64; font-weight:800;
  font-size:clamp(1.15rem, .9rem + .9vw, 1.5rem);
  margin:2px 0 16px;
}
.deadline-grid{
  display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:18px;
}
@media (max-width:900px){ .deadline-grid{ grid-template-columns:1fr; } }
.deadline-card{
  background:#fff; border:1px solid #eee; border-radius:12px; text-align:center;
  padding:22px 18px; box-shadow:0 6px 16px rgba(0,0,0,.06);
  transition:transform .16s ease, box-shadow .16s ease;
}
.deadline-card:hover{ transform:translateY(-2px); box-shadow:0 10px 22px rgba(0,0,0,.08); }
.dl-icon{ color:#627cff; font-size:26px; margin-bottom:8px; }
.deadline-card h4{ color:#0f172a; font-weight:800; margin:4px 0 6px; font-size:1.05rem; }
.dl-date{ margin:0; color:#c42e2e; font-weight:700; letter-spacing:.1px; }

/* ==============================
   Campuses
============================== */
.campus-strip{ margin-top:28px; }
.campus-strip h3{
  color:#1e2d64; font-weight:800; font-size:1.9rem; margin:0 0 14px; text-align:center;
}
.campus-cards{
  display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:18px;
}
@media (max-width:1000px){ .campus-cards{ grid-template-columns:1fr; } }
.campus-item{
  background:#fff; border:1px solid #eee; border-radius:14px; overflow:hidden;
  box-shadow:0 6px 16px rgba(0,0,0,.06); transition:transform .16s ease, box-shadow .16s ease;
}
.campus-item:hover{ transform:translateY(-2px); box-shadow:0 10px 22px rgba(0,0,0,.08); }
.campus-img{ width:100%; height:180px; object-fit:cover; display:block; }
.campus-body{ padding:16px 16px 14px; }
.campus-body h4{ margin:0 0 6px; color:#0f172a; font-weight:800; font-size:1.05rem; }
.campus-meta{
  margin:6px 0; color:#334155; display:flex; gap:8px; align-items:flex-start; line-height:1.5;
}
.campus-meta i{ color:#c42e2e; margin-top:2px; }
.campus-actions{ margin-top:10px; display:flex; gap:10px; flex-wrap:wrap; }
.campus-link{
  display:inline-block; padding:.5rem .8rem; border:1px solid #e5e7eb; border-radius:8px;
  text-decoration:none; color:#1e293b; transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.campus-link:hover{ background:#f8fafc; color:#c42e2e; border-color:#e2e8f0; }

/* Utility: screen-reader-only (for the alias anchor) */
.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); white-space:nowrap; border:0;
}


/* Campus actions row: keep links on the left, Apply Now on the right */
.campus-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

/* Glowing Apply Now button */
.campus-actions .apply-now {
  margin-left: auto; /* pushes it to the right side */
  padding: 0.5rem 1.2rem;
  border-radius: 999px;
  font-weight: 600;
  text-decoration: none;
  background: linear-gradient(135deg, #16a34a, #22c55e);
  color: #ffffff;
  box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.7);
  border: none;
  position: relative;
  transition:
    transform 0.18s ease-out,
    box-shadow 0.25s ease-out,
    background 0.25s ease-out;
}

/* Subtle glow + lift on hover */
.campus-actions .apply-now:hover {
  transform: translateY(-1px) scale(1.03);
  box-shadow: 0 0 12px rgba(34, 197, 94, 0.9);
  background: linear-gradient(135deg, #16a34a, #4ade80);
}

/* Slight press effect on click */
.campus-actions .apply-now:active {
  transform: translateY(0) scale(0.99);
  box-shadow: 0 0 6px rgba(22, 163, 74, 0.7);
}

/* Optional: small glow animation to make it feel alive */
@keyframes applyPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.7);
  }
  70% {
    box-shadow: 0 0 16px 4px rgba(34, 197, 94, 0.0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.0);
  }
}

.campus-actions .apply-now {
  animation: applyPulse 2.5s ease-out infinite;
}
