/* ============================================================
   College Management Software — page-specific CSS
   Common controls (headings, banner, sectionsub) from style.css.
   Only unique components here.
   ============================================================ */
:root{
  --nv:#022b63; --cream:#efede7; --amber:#f9a825;
  --ink:#111827; --muted:#5b6472; --line:#e7e4dc; --soft:#f7f6f2; --radius:16px;
}

/* two-col */
.cms-two{ display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:center; }
.cms-two.rev{ direction:rtl; } .cms-two.rev > *{ direction:ltr; }
.cms-two p{ color:var(--muted); line-height:1.8; font-size:15.5px; margin-bottom:16px; }
.cms-media{ background:linear-gradient(135deg,#f7f6f2,#efede7); border:1px solid var(--line); border-radius:var(--radius); min-height:360px; display:flex; align-items:center; justify-content:center; color:#aab1bd; font-size:14px; position:relative; overflow:hidden; box-shadow:0 16px 40px rgba(2,43,99,.05); }
.cms-media::before{ content:''; position:absolute; inset:0; background-image:radial-gradient(rgba(2,43,99,.05) 1px,transparent 1px); background-size:18px 18px; opacity:.6; }
.cms-media span{ position:relative; z-index:2; }

/* feature cards (best-in-class 4) */
.cms-grid2{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.cms-fcard{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:30px 28px; transition:.35s; }
.cms-fcard:hover{ transform:translateY(-5px); box-shadow:0 18px 40px rgba(2,43,99,.08); border-color:#cfd6e2; }
.cms-fcard .ic{ width:54px; height:54px; border-radius:14px; background:var(--cream); color:var(--nv); display:inline-flex; align-items:center; justify-content:center; font-size:25px; margin-bottom:18px; transition:.35s; }
.cms-fcard:hover .ic{ background:var(--nv); color:#fff; }
.cms-fcard h4{ font-family:'DMSans-SemiBold'; font-size:18px; color:var(--ink); margin-bottom:10px; }
.cms-fcard p{ color:var(--muted); font-size:14.5px; line-height:1.7; margin:0; }

/* highlight 3 cards */
.cms-grid3{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.cms-hcard{ background:var(--soft); border:1px solid var(--line); border-radius:var(--radius); padding:34px 30px; transition:.35s; }
.cms-hcard:hover{ background:#fff; transform:translateY(-6px); box-shadow:0 20px 44px rgba(2,43,99,.08); }
.cms-hcard .ic{ width:56px; height:56px; border-radius:15px; background:#fff; border:1px solid var(--line); color:var(--nv); display:inline-flex; align-items:center; justify-content:center; font-size:26px; margin-bottom:20px; transition:.35s; }
.cms-hcard:hover .ic{ background:var(--nv); color:#fff; }
.cms-hcard h4{ font-family:'DMSans-SemiBold'; font-size:18px; color:var(--ink); margin-bottom:12px; }
.cms-hcard p{ color:var(--muted); font-size:14.5px; line-height:1.7; margin:0 0 14px; }
.cms-hcard a{ color:var(--nv); font-family:'DMSans-Medium'; font-size:14px; display:inline-flex; align-items:center; gap:6px; }

/* benefit tabs */
.cms-tabs{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-bottom:34px; }
.cms-tab{ border:1px solid var(--line); background:#fff; color:var(--ink); padding:12px 28px; border-radius:12px; cursor:pointer; font-family:'DMSans-Medium'; font-size:15px; transition:.3s; }
.cms-tab.active{ background:var(--nv); color:#fff; border-color:var(--nv); }
.cms-tabpanel{ display:none; }
.cms-tabpanel.active{ display:block; }
.cms-tabcard{ background:var(--soft); border:1px solid var(--line); border-radius:20px; padding:44px; }
.cms-tabcard h4{ font-family:'DMSans-SemiBold'; font-size:18px; color:var(--nv); margin-bottom:22px; }
.cms-benlist{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.cms-benlist .it{ display:flex; gap:14px; align-items:flex-start; color:var(--ink); font-size:15px; line-height:1.5; }
.cms-benlist .it i{ flex:0 0 24px; width:24px; height:24px; border-radius:50%; background:var(--cream); color:var(--nv); display:inline-flex; align-items:center; justify-content:center; font-size:14px; margin-top:1px; }

/* FAQ accordion */
.cms-faqwrap{ max-width:900px; margin:0 auto; }
.cms-faq{ background:#fff; border:1px solid var(--line); border-radius:14px; margin-bottom:14px; overflow:hidden; transition:.3s; }
.cms-faq.open{ border-color:#cfd6e2; box-shadow:0 14px 34px rgba(2,43,99,.07); }
.cms-faqq{ display:flex; justify-content:space-between; align-items:center; gap:16px; padding:22px 26px; cursor:pointer; font-family:'DMSans-SemiBold'; font-size:16px; color:var(--ink); }
.cms-faqq i{ flex:0 0 auto; width:30px; height:30px; border-radius:50%; background:var(--cream); color:var(--nv); display:inline-flex; align-items:center; justify-content:center; font-size:18px; transition:.35s; }
.cms-faq.open .cms-faqq i{ background:var(--nv); color:#fff; transform:rotate(45deg); }
.cms-faqa{ max-height:0; overflow:hidden; transition:max-height .4s ease, padding .3s ease; padding:0 26px; }
.cms-faq.open .cms-faqa{ max-height:400px; padding:0 26px 24px; }
.cms-faqa p{ color:var(--muted); font-size:15px; line-height:1.75; margin:0; }

/* specs list */
.cms-specs{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; max-width:1000px; margin:0 auto; }
.cms-spec{ display:flex; gap:14px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:12px; padding:18px 20px; font-size:15px; color:var(--ink); transition:.3s; }
.cms-spec:hover{ border-color:#cfd6e2; box-shadow:0 10px 24px rgba(2,43,99,.06); }
.cms-spec i{ flex:0 0 26px; width:26px; height:26px; border-radius:50%; background:var(--cream); color:var(--nv); display:inline-flex; align-items:center; justify-content:center; font-size:15px; }

/* responsive */
@media(max-width:991px){
    .cms-two,.cms-two.rev,.cms-grid2,.cms-grid3,.cms-benlist,.cms-specs{ grid-template-columns:1fr; gap:22px; }
  .cms-two.rev{ direction:ltr; }
  .cms-tabcard{ padding:30px; }
}
@media(max-width:767px){ .cms-specs{ grid-template-columns:1fr; } }

/* AOS fallback */
