:root{
  --blue:#1B5FB8;
  --blue-deep:#123F7E;
  --blue-dark:#0B2C5C;
  --blue-light:#EAF2FC;
  --bg:#F7F9FC;
  --grey:#64707F;
  --line:#E3E9F2;
}
body{font-family:'Inter',sans-serif;color:#1C2531;background:var(--bg);}
h1,h2,h3,h4,.font-heading{font-family:'Poppins',sans-serif;}

.brand-logo {
  height: 60px;
  width: auto;
  object-fit: contain;
  display: block;
}

/* Optional: shrink on mobile */
@media (max-width: 576px) {
  .brand-logo {
    height: 36px;
  }
}

/* Utility + nav */
.utility-bar{background:var(--blue-dark);color:#C7D6EC;font-size:.99rem;}
.utility-bar a{color:#C7D6EC;text-decoration:none;}
.utility-bar a:hover{color:#fff;}
.navbar-brand-mark{width:40px;height:40px;background:var(--blue);border-radius:8px;color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-family:'Poppins',sans-serif;}
.brand-sub{font-size:.68rem;color:var(--grey);display:block;}
.btn-college-primary{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600;}
.btn-college-primary:hover{background:var(--blue-deep);border-color:var(--blue-deep);color:#fff;}
.btn-college-outline{border:1px solid var(--blue);color:var(--blue);font-weight:600;}
.btn-college-outline:hover{background:var(--blue-light);color:var(--blue);}
.navbar-brand {
  padding-top: 0;
  padding-bottom: 0;
}
/* Hero */
.hero-section{
  min-height:500px;color:#fff;display:flex;align-items:center;position:relative;
  background:linear-gradient(100deg, rgba(11,44,92,.93) 32%, rgba(11,44,92,.5)), linear-gradient(135deg,#2C6FC2,#123F7E 65%,#0B2C5C);
}
.hero-slide{
  position:absolute;inset:0;background-size:cover;background-position:center;
  opacity:0;transition:opacity 1s ease;z-index:0;
}
.hero-slide.active{opacity:1;}
.hero-section::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(100deg, rgba(11,44,92,.86) 32%, rgba(11,44,92,.15));
  z-index:1;
}
.hero-section .accent{color:#8FC1FF;}
.hero-dots span{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.4);display:inline-block;margin:0 4px;cursor:pointer;}
.hero-dots span.active{background:#fff;}

/* Feature strip */
.feature-strip{background:var(--blue-deep);}
.feature-strip .feature-icon{width:38px;height:38px;border-radius:8px;background:rgba(255,255,255,.14);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.05rem;}
.feature-strip h4{color:#fff;font-size:.92rem;}
.feature-strip p{color:#B9CBE6;font-size:.8rem;margin:0;}

/* Section titles */
.section-title h2{font-weight:700;color:var(--blue-dark);}
.section-title .underline{width:56px;height:3px;background:#F0A73D;margin:10px auto 0;border-radius:2px;}

#courses,
#about,
section[id] {
  scroll-margin-top: 70px;  /* height of your sticky navbar + a little breathing room */
}
/* Course cards (2-column photo+content) */
.course-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 8px 24px rgba(20,40,80,.07);border:1px solid var(--line);}
.course-photo{position:relative;min-height:220px;background-size:cover;background-position:center;background-color:var(--blue-deep);}
.course-icon-badge{position:absolute;top:16px;left:16px;width:44px;height:44px;border-radius:10px;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.15rem;box-shadow:0 6px 14px rgba(11,44,92,.3);}
.course-code{font-weight:700;font-size:1.5rem;color:var(--blue);font-family:'Poppins',sans-serif;}

/* Gallery preview */
.gallery-preview{background:var(--blue-light);}
.gp-item{position:relative;border-radius:10px;overflow:hidden;min-height:150px;background-size:cover;background-position:center;background-color:var(--blue-deep);}
.gp-item .cap{position:absolute;left:0;bottom:0;right:0;padding:.5rem .75rem;font-size:.78rem;color:#fff;background:linear-gradient(0deg,rgba(11,44,92,.75),transparent);}

.about-img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  display: block;
}
/* Course detail page */
.page-hero{background:linear-gradient(100deg, rgba(10,20,45,.94) 40%, rgba(10,20,45,.55)), linear-gradient(135deg,#2C4A82,#0B2C5C);color:#fff;}
.breadcrumb-light a{color:#AEB8CE;text-decoration:none;}
.breadcrumb-light a:hover{color:#fff;}
.info-box-strip{margin-top:-2.2rem;position:relative;z-index:5;}
.info-box{background:#fff;border-radius:12px;box-shadow:0 10px 30px rgba(20,30,60,.08);border:1px solid var(--line);padding:1.4rem;height:100%;}
.info-box .icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1rem;margin-bottom:.75rem;}
.icon-blue{background:#E7F0FE;color:#2B7FD1;}
.icon-orange{background:#FDECD8;color:#D68C10;}
.icon-green{background:#E3F6EA;color:#2E9E5B;}
.icon-pink{background:#FCE8EF;color:#D1367F;}

/* Admission process stepper (genuine sequence -> numbered) */
.step-item{display:flex;gap:1rem;align-items:flex-start;padding:.9rem 0;border-bottom:1px solid var(--line);}
.step-num{width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:700;flex-shrink:0;}

/* CTA + footer */
.cta-band{background:linear-gradient(120deg,var(--blue-dark),var(--blue-deep));color:#fff;}
footer.site-footer{background:#0A2247;color:#9AAEC9;}
footer.site-footer h5{color:#fff;font-family:'Poppins',sans-serif;font-size:.92rem;}
footer.site-footer a{color:#9AAEC9;text-decoration:none;}
footer.site-footer a:hover{color:#fff;}

/* Admin */
.admin-sidebar{background:var(--blue-dark);min-height:100vh;color:#C7D6EC;}
.admin-sidebar a{color:#C7D6EC;text-decoration:none;display:block;padding:.6rem 1rem;border-radius:6px;}
.admin-sidebar a:hover,.admin-sidebar a.active{background:var(--blue-deep);color:#fff;}
.dropzone-area{border:2px dashed var(--line);border-radius:10px;padding:2.5rem;text-align:center;color:var(--grey);background:#fff;cursor:pointer;}
.dropzone-area.dragover{border-color:var(--blue);background:var(--blue-light);}

/* Gallery admin — uniform horizontal (landscape) thumbnail grid */
.gallery-thumb-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;
}
.gallery-thumb-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;cursor:grab;transition:box-shadow .15s;}
.gallery-thumb-card:hover{box-shadow:0 6px 18px rgba(20,40,80,.1);}
.gallery-thumb-frame{position:relative;aspect-ratio:16/10;background:#EEF1F6;overflow:hidden;}
.gallery-thumb-frame img{width:100%;height:100%;object-fit:cover;display:block;}
.thumb-icon-btn{
  position:absolute;top:8px;width:28px;height:28px;border-radius:50%;border:none;
  display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;
  opacity:0;transition:opacity .15s;box-shadow:0 2px 6px rgba(0,0,0,.25);
}
.gallery-thumb-frame:hover .thumb-icon-btn{opacity:1;}
.thumb-delete-btn{right:8px;background:#E13B3B;color:#fff;}
.thumb-delete-btn:hover{background:#C22F2F;}
.thumb-replace-btn{right:44px;background:#fff;color:var(--blue-dark);}
.thumb-replace-btn:hover{background:var(--blue-light);}
.gallery-thumb-caption{border:none;font-size:.8rem;padding:.5rem .6rem;width:100%;color:#334;}
.gallery-thumb-caption:focus{outline:none;background:var(--blue-light);}
