/* ═══════════════════════════════════════════════════
   IMR Group of Institutions — Main Stylesheet
   ═══════════════════════════════════════════════════ */

/* ── CSS Variables ──────────────────────────────── */
:root {
  /* Custom IMS Variables */
  --primary:       #041c30; /* IMS Deep Navy Blue */
  --primary-dark:  #020f1a; /* Darker Navy for hovers */
  --gold:          #fcb000; /* IMS Yellow Accent */
  --text:          #333;
  --text-light:    #666;
  --white:         #fff;
  --bg-light:      #f8f8f8;
  --orange:        #e65100;
  --purple:        #6a1b9a;
  --pink:          #d81b60;
  --darkblue:      #1a237e;
  --brown:         #5d4037;
  --font-main:     'Poppins', 'Open Sans', sans-serif;
  --font-heading:  'Montserrat', sans-serif;
  --transition:    all 0.3s ease;
  --shadow:        0 4px 20px rgba(0,0,0,.08);
  --shadow-lg:     0 8px 40px rgba(0,0,0,.14);

  /* Bootstrap Standards - Restored to Pure Defaults */
  --bs-blue:#0d6efd;
  --bs-indigo:#6610f2;
  --bs-purple:#6f42c1;
  --bs-pink:#d63384;
  --bs-red:#dc3545;
  --bs-orange:#fd7e14;
  --bs-yellow:#ffc107;
  --bs-green:#198754;
  --bs-teal:#20c997;
  --bs-cyan:#0dcaf0;
  --bs-white:#fff;
  --bs-gray:#6c757d;
  --bs-gray-dark:#343a40;
  --bs-primary:#0d6efd;
  --bs-secondary:#6c757d;
  --bs-success:#198754;
  --bs-info:#0dcaf0;
  --bs-warning:#ffc107;
  --bs-danger:#dc3545;
  --bs-light:#f8f9fa;
  --bs-dark:#212529;
  --bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
  --bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
  --bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
}

/* ── Base ───────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: var(--font-main); color: var(--text); font-size: 15px; line-height: 1.7; overflow-x: hidden; background: #fff; }
h1,h2,h3,h4,h5,h6 { font-family: var(--font-heading); font-weight: 700; line-height: 1.3; color: #222; }
a { color: var(--primary); text-decoration: none; transition: var(--transition); }
a:hover { color: var(--primary-dark); }
img { max-width: 100%; height: auto; }
.page-wraper { overflow: hidden; }

/* ── Custom Colors ──────────────────────────────── */
.bg-orange { background-color: var(--orange) !important; }
.bg-purple { background-color: var(--purple) !important; }
.bg-pink { background-color: var(--pink) !important; }
.bg-darkblue { background-color: var(--darkblue) !important; }
.bg-brown { background-color: var(--brown) !important; }
.text-warning { color: var(--gold) !important; }

/* ── Mosaic Grid ────────────────────────────────── */
.mosaic-grid .mosaic-box {
    height: 250px;
    width: 100%;
}
.mosaic-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ── Bento Grid ─────────────────────────────────── */
.bento-box {
    height: 500px;
    overflow: hidden;
}
.bento-box.bento-sm {
    height: 250px;
}
.grayscale {
    filter: grayscale(100%);
    transition: filter 0.3s ease;
}
.bento-box:hover .grayscale {
    filter: grayscale(0%);
}

/* ── Celebrities Neon Borders ───────────────────── */
.celeb-card {
    height: 150px;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 10px;
    border: 2px solid transparent;
}
.neon-border-red { box-shadow: 0 0 15px rgba(255,0,0,0.8), inset 0 0 10px rgba(255,0,0,0.5); border-color: rgba(255,0,0,0.8); }
.neon-border-blue { box-shadow: 0 0 15px rgba(0,0,255,0.8), inset 0 0 10px rgba(0,0,255,0.5); border-color: rgba(0,0,255,0.8); }
.neon-border-purple { box-shadow: 0 0 15px rgba(128,0,128,0.8), inset 0 0 10px rgba(128,0,128,0.5); border-color: rgba(128,0,128,0.8); }
.neon-border-yellow { box-shadow: 0 0 15px rgba(255,255,0,0.8), inset 0 0 10px rgba(255,255,0,0.5); border-color: rgba(255,255,0,0.8); }
.neon-border-green { box-shadow: 0 0 15px rgba(0,255,0,0.8), inset 0 0 10px rgba(0,255,0,0.5); border-color: rgba(0,255,0,0.8); }

/* ── Alumni Testimonials ────────────────────────── */
.alumni-block {
    background-color: var(--primary);
    border-radius: 12px;
    padding: 30px 40px 30px 100px;
    position: relative;
    margin-left: 60px;
}
.alumni-img {
    position: absolute;
    left: -60px;
    top: 50%;
    transform: translateY(-50%);
    width: 120px;
    height: 120px;
    border-radius: 5px;
    border: 3px solid #fff;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
    object-fit: cover;
}
@media (max-width: 767px) {
    .alumni-block {
        margin-left: 0;
        padding: 80px 20px 30px 20px;
        text-align: center !important;
    }
    .alumni-img {
        left: 50%;
        top: -60px;
        transform: translateX(-50%);
    }
    .alumni-text {
        text-align: center;
    }
}

/* ── Utilities ──────────────────────────────────── */
.text-primary  { color: var(--primary) !important; }
.bg-primary    { background-color: var(--primary) !important; }
.m-b20 { margin-bottom:20px; } .m-b10 { margin-bottom:10px; }
.m-t30 { margin-top:30px; }   .m-a0  { margin:0; }
.p-a30 { padding:30px; }      .font-weight-300 { font-weight:300; }
.radius-no { border-radius:0; } .radius-xl { border-radius:30px; }

/* ── Buttons ─────────────────────────────────────── */
.site-button {
  display:inline-block; padding:10px 24px;
  background:var(--primary); color:#fff;
  border:2px solid var(--primary); font-weight:600;
  font-size:14px; letter-spacing:.4px; text-transform:uppercase;
  cursor:pointer; transition:var(--transition); border-radius:4px; line-height:1.4;
}
.site-button:hover                { background:var(--primary-dark); border-color:var(--primary-dark); color:#fff; }
.site-button.outline              { background:transparent; color:var(--primary); }
.site-button.outline:hover        { background:var(--primary); color:#fff; }
.site-button.outline-2            { border-width:2px; }
.site-button.white                { background:transparent; color:#fff; border-color:#fff; }
/* ── Buttons ─────────────────────────────────────── */
.site-button {
  display:inline-block; padding:10px 24px;
  background:var(--primary); color:#fff;
  border:2px solid var(--primary); font-weight:600;
  font-size:14px; letter-spacing:.4px; text-transform:uppercase;
  cursor:pointer; transition:var(--transition); border-radius:4px; line-height:1.4;
}
.site-button:hover                { background:var(--primary-dark); border-color:var(--primary-dark); color:#fff; }
.site-button.outline              { background:transparent; color:var(--primary); }
.site-button.outline:hover        { background:var(--primary); color:#fff; }
.site-button.outline-2            { border-width:2px; }
.site-button.white                { background:transparent; color:#fff; border-color:#fff; }
.site-button.white:hover          { background:#fff; color:var(--primary); }
.site-button.btn-sm               { padding:6px 16px; font-size:12px; }
.site-button.facebook             { background:#3b5998; border-color:#3b5998; }
.site-button.instagram            { background:#e1306c; border-color:#e1306c; }
.site-button.youtube              { background:#ff0000; border-color:#ff0000; }
.site-button.sharp                { border-radius:0; padding:8px 12px; }
.btnhover13:hover                 { background:var(--gold); border-color:var(--gold); color:#fff; }

/* ── Section Headings ──────────────────────────── */
.section-head { margin-bottom:30px; }
.section-head .title { font-size:2rem; font-weight:800; position:relative; padding-bottom:16px; }
.section-head .title::after { content:''; position:absolute; bottom:0; left:0; width:60px; height:3px; background:var(--primary); }
.section-head.text-center .title::after { left:50%; transform:translateX(-50%); }

/* ════════════════════════════════════════════════════
   HEADER / TOP BAR
   ════════════════════════════════════════════════════ */
.site-header   { position:relative; z-index:999; background:#fff; box-shadow:0 2px 10px rgba(0,0,0,.08); }
.top-bar       { background:#FFBA00; padding:6px 0; }
.topbar-inner { display:flex; align-items:center; justify-content:space-between; flex-wrap:nowrap; width:100%; }
.dlab-topbar-left  { flex:1 1 auto; min-width:0; }
.dlab-topbar-right { flex:0 0 auto; margin-left:auto; display:flex; gap:8px; align-items:center; }
.topbar-links  { list-style:none; display:flex; flex-wrap:wrap; gap:0; margin:0; padding:0; }
.topbar-links li a { color:#01152C; font-size:11px; padding:2px 8px; border-right:1px solid rgba(1, 21, 44, 0.2); display:block; white-space:nowrap; font-weight: 700; }
.topbar-links li:last-child a { border-right:none; }
.topbar-links li a:hover { color:#fff; }
.dlab-topbar-right .site-button { padding:4px 12px; font-size:11px; }

/* Flash animation */
.flash-bg { animation:flashBg 1.5s infinite; }
@keyframes flashBg { 0%,30%{background:var(--gold);color:#fff;} 31%,70%{background:#1a1a1a;color:#fff;} 71%,100%{background:var(--primary);color:#fff;} }

/* ── Marquee ─────────────────────────────────────── */
.marquee-background { background:linear-gradient(to right,#000,var(--primary),#000); overflow:hidden; padding:4px 0; }
.marquee-wrap  { width:100%; overflow:hidden; }
.marquee-inner { display:flex; white-space:nowrap; width:max-content; animation:marqueeScroll 35s linear infinite; }
.marquee-inner:hover { animation-play-state:paused; }
.marquee-list  { list-style:none; display:inline-flex; margin:0; padding:0; }
.marquee-list li a { color:#fff; font-size:12px; padding:2px 20px; border-right:1px solid rgba(255,255,255,.25); }
.marquee-list li a:hover { color:var(--gold); }
@keyframes marqueeScroll { 0%{transform:translateX(0);} 100%{transform:translateX(-50%);} }

/* ── Main Nav ─────────────────────────────────────── */
.sticky-header { position:sticky; top:0; z-index:1000; background:#01152C; }
.main-bar { box-shadow:0 2px 15px rgba(0,0,0,.07); }
.logo-header { display:flex; align-items:center; }
.logo-header img { max-height:70px; width:auto; height:70px; object-fit:contain; }
.nav.navbar-nav { display:flex; align-items:center; gap:0; }
.nav.navbar-nav > li > a { display:block; padding:18px 12px; font-size:13px; font-weight:600; color:#fff; text-transform:uppercase; letter-spacing:.3px; white-space:nowrap; position:relative; transition:var(--transition); }
.nav.navbar-nav > li > a i.fas { font-size:10px; margin-left:3px; }
.nav.navbar-nav > li > a::after { content:''; position:absolute; bottom:12px; left:12px; right:12px; height:2px; background:var(--gold); transform:scaleX(0); transition:var(--transition); }
.nav.navbar-nav > li:hover > a::after, .nav.navbar-nav > li.active > a::after { transform:scaleX(1); }
.nav.navbar-nav > li.active > a, .nav.navbar-nav > li:hover > a { color:var(--gold); }

/* Dropdown */
.has-mega-menu { position:relative; }
.sub-menu { position:absolute; top:100%; left:0; min-width:230px; background:#fff; border-top:3px solid var(--primary); box-shadow:0 8px 30px rgba(0,0,0,.12); list-style:none; padding:8px 0; margin:0; opacity:0; visibility:hidden; transform:translateY(10px); transition:var(--transition); z-index:9999; }
.has-mega-menu:hover .sub-menu { opacity:1; visibility:visible; transform:translateY(0); }
.sub-menu li a { display:block; padding:8px 18px; font-size:13px; color:#444; font-weight:500; border-bottom:1px solid #f4f4f4; }
.sub-menu li:last-child a { border-bottom:none; }
.sub-menu li a:hover { background:#fff5f5; color:var(--primary); padding-left:24px; }

/* Mobile toggle */
.navbar-toggler { background:none; border:2px solid var(--gold); padding:6px 10px; border-radius:4px; cursor:pointer; display:none; }
.navbar-toggler span { display:block; width:22px; height:2px; background:var(--gold); margin:4px 0; }

/* ════════════════════════════════════════════════════
   HERO BANNER
   ════════════════════════════════════════════════════ */
.owl-home-banner .item img { width:100%; max-height:560px; object-fit:cover; }
.owl-nav .owl-prev, .owl-nav .owl-next { position:absolute; top:50%; transform:translateY(-50%); background:rgba(37,79,117,.8)!important; color:#fff!important; width:46px; height:46px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:16px; transition:var(--transition); border:none; }
.owl-nav .owl-prev { left:15px; } .owl-nav .owl-next { right:15px; }
.owl-nav .owl-prev:hover, .owl-nav .owl-next:hover { background:var(--primary-dark)!important; }
.icon-cell:hover { transform:translateY(-3px); color:var(--gold)!important; }
.icon-cell { transition:var(--transition); }

/* ════════════════════════════════════════════════════
   INNER PAGE LAYOUT
   ════════════════════════════════════════════════════ */
.dlab-bnr-inr { background-size:cover; background-position:center; background-attachment:fixed; position:relative; }
.overlay-black-middle::before { content:''; position:absolute; inset:0; background:rgba(0,0,0,.62); z-index:0; }
.dlab-bnr-inr-entry { position:relative; z-index:1; }
.breadcrumb-list { display:flex; flex-wrap:wrap; align-items:center; gap:4px; list-style:none; padding:0; margin:4px 0 0; }
.breadcrumb-list li+li::before { content:'/'; margin-right:4px; color:rgba(255,255,255,.5); }
.breadcrumb-list li.text-white-50 { color:rgba(255,255,255,.6)!important; font-size:13px; }

/* ── Sidebar ───────────────────────────────────── */
.sidebar { position:sticky; top:100px; }
.sticky-sidebar { position:sticky; top:100px; }
.widget { background:#fff; border-radius:6px; overflow:hidden; box-shadow:var(--shadow); }
.widget-title { background:var(--primary); color:#fff; padding:12px 16px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; margin:0; }
.list-group-item { font-size:13px; border-color:#f0f0f0!important; }
.list-group-item a { color:#444; display:block; transition:var(--transition); }
.list-group-item a:hover { color:var(--primary); padding-left:4px; }
.list-group-item.active { background:#fff5f5; }
.list-group-item.active a { color:var(--primary); font-weight:600; }

/* ── Inner content ─────────────────────────────── */
.inner-page-content p  { line-height:1.85; margin-bottom:1rem; }
.inner-page-content h3 { color:#fff; margin-bottom:.8rem; }
.inner-page-content h4 { color:var(--primary); margin-top:2rem; margin-bottom:.8rem; }
.inner-page-content ul li, .inner-page-content ol li { margin-bottom:.4rem; }
.inner-page-content .table td, .inner-page-content .table th { font-size:14px; }

/* ── Inner Page Content Image (floated beside text) ─────────────────── */
.ipc-img-wrap {
    float: right;
    margin: 4px 0 20px 28px;
    width: 42%;
    max-width: 400px;
    /* No fixed height or aspect-ratio — image shows at its natural proportions */
}
.ipc-img {
    width: 100%;
    height: auto;         /* Never crop — always show full image */
    display: block;
    object-fit: unset;    /* Override any inherited object-fit */
    border-radius: 10px;
    box-shadow: 0 6px 24px rgba(0,0,0,0.12);
}
/* Tablet */
@media (max-width: 991px) {
    .ipc-img-wrap {
        width: 44%;
        max-width: 320px;
        margin: 4px 0 16px 20px;
    }
}
/* Mobile: float off, full width, image above text */
@media (max-width: 767px) {
    .ipc-img-wrap {
        float: none;
        width: 100%;
        max-width: 100%;
        margin: 0 0 20px 0;
    }
    .ipc-img {
        width: 100%;
        height: auto;     /* Still no cropping on mobile */
        border-radius: 8px;
    }
}
.prose-content h4 { color:var(--primary); margin-top:1.5rem; }
.section-title-1 { font-size:1.7rem; }
.person-card { border:1px solid #eee; border-radius:8px; overflow:hidden; }

/* ── Blog & Event content ─────────────────────── */
.blog-content p, .event-content p { line-height:1.9; margin-bottom:1.2rem; }
.blog-content img, .event-content img { max-width:100%; border-radius:6px; margin:1rem 0; }

/* ════════════════════════════════════════════════════
   CARDS
   ════════════════════════════════════════════════════ */
.card { border-radius:8px; transition:var(--transition); }
.card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg)!important; }
.event-card:hover img { transform:scale(1.04); }

/* ════════════════════════════════════════════════════
   FOOTER
   ════════════════════════════════════════════════════ */
.site-footer { background:#01152C !important; color:#ccc; }
.footer-top  { padding:50px 0 30px; }
.footer-top h6 { color:#fff; font-size:12px; letter-spacing:1px; text-transform:uppercase; border-bottom:1px solid rgba(255,255,255,.2); padding-bottom:10px; margin-bottom:14px; }

/* Override .widget white-box style inside footer only */
.site-footer .widget { background:transparent !important; border-radius:0 !important; box-shadow:none !important; }

.list-2 { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:1fr 1fr; gap:4px 10px; }
.list-2 li a { color:#ccc; font-size:13px; transition:var(--transition); }
.list-2 li a::before { content:'» '; color:var(--gold); }
.list-2 li a:hover { color:var(--gold); padding-left:4px; }
.footer-contact-list { list-style:none; padding:0; margin:0; }
.footer-contact-list li { font-size:13px; color:#ccc; margin-bottom:6px; }
.footer-contact-list li a { color:#ccc; }
.footer-contact-list li a:hover { color:var(--gold); }
.subscribe-form .form-control { border-radius:0; border:none; font-size:13px; }
.subscribe-form .site-button  { border-radius:0; padding:8px 16px; font-size:12px; background:var(--gold); border-color:var(--gold); }
.br-col-w1 { border:1px solid rgba(255,255,255,.15); }
.bg-tpw1   { background:rgba(255,255,255,.06); }
.icon-bx-wraper p a { color:var(--gold); }
.icon-bx-wraper p a:hover { color:#fff; }
.footer-bottom { background:#010e1f !important; padding:14px 0; border-top:1px solid rgba(255,255,255,.1); font-size:13px; }
.footer-bottom span { color:#bbb; }
.footer-bottom a { color:var(--gold); }
.footer-bottom a:hover { color:#fff; }

/* widget-link ul inside footer bottom */
.widget-link ul {
    list-style:none;
    display:flex;
    flex-wrap:nowrap;
    gap:0;
    margin:0;
    padding:0;
    align-items:center;
    justify-content:flex-end;
}
.widget-link ul li a {
    color:var(--gold);
    font-size:13px;
    padding:0 10px;
    border-right:1px solid rgba(255,255,255,.2);
    white-space:nowrap;
}
.widget-link ul li:last-child a { border-right:none; }

.scroltop { position:fixed; bottom:20px; right:20px; z-index:9999; background:var(--primary); color:#fff; width:44px; height:44px; border:none; border-radius:50%; font-size:16px; cursor:pointer; opacity:0; visibility:hidden; transition:var(--transition); display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow); }
.scroltop.show { opacity:1; visibility:visible; }
.scroltop:hover { background:var(--primary-dark); }

/* ════════════════════════════════════════════════════
   TESTIMONIALS CAROUSEL
   ════════════════════════════════════════════════════ */
.testimonial-card { min-height:220px; }

/* ════════════════════════════════════════════════════
   MISC
   ════════════════════════════════════════════════════ */
.counter { font-family:var(--font-heading); }
.checklist-card:hover { border-color:var(--primary)!important; }
.news-card:hover { transform:translateY(-3px); }
.brochure-card:hover { box-shadow:var(--shadow-lg)!important; }
.initiative-card:hover { border-color:var(--primary)!important; }
.campus-card:hover .card-img-top i { transform:scale(1.2); transition:.3s; }
.prose-content h4 { border-left:4px solid var(--primary); padding-left:10px; }

/* ════════════════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════════════════ */
@media (max-width:991px) {
  /* Show the hamburger toggler */
  .navbar-toggler { display:block; }

  /* Mobile nav panel — let Bootstrap collapse control visibility */
  .header-nav {
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:#fff;
    box-shadow:var(--shadow-lg);
    padding:10px 20px;
    max-height:75vh;
    overflow-y:auto;
    z-index:9998;
    /* Do NOT set display:none here — Bootstrap collapse handles show/hide */
  }

  /* Nav items stacked vertically */
  .nav.navbar-nav { flex-direction:column; align-items:flex-start; gap:0; width:100%; }
  .nav.navbar-nav > li { width:100%; border-bottom:1px solid #eee; }

  /* Fix link color: background is white on mobile, so use dark text */
  .nav.navbar-nav > li > a {
    padding:12px 8px;
    color:#01152C !important;
  }
  .nav.navbar-nav > li > a:hover,
  .nav.navbar-nav > li.active > a { color:var(--gold) !important; }

  /* Remove underline pseudo-element on mobile */
  .nav.navbar-nav > li > a::after { display:none; }

  /* Sub-menus: static positioning, hidden by default, shown when .open */
  .sub-menu {
    position:static;
    opacity:1;
    visibility:visible;
    transform:none;
    box-shadow:none;
    border-top:1px solid #eee;
    display:none;
    padding-left:14px;
    background:#f9f9f9;
  }
  .has-mega-menu.open .sub-menu { display:block; }
  
  /* ── Mobile topbar: single horizontal scrollable line ── */
  .top-bar { padding:4px 0; }
  .top-bar .container-fluid { padding:0; }
  .topbar-inner { flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .topbar-inner::-webkit-scrollbar { display:none; }
  .dlab-topbar-left { flex:1 1 auto; min-width:0; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .dlab-topbar-left::-webkit-scrollbar { display:none; }
  .topbar-links { flex-wrap:nowrap; gap:0; padding:0; justify-content:flex-start; }
  .topbar-links li a { font-size:11px; padding:2px 8px; white-space:nowrap; border-right:1px solid rgba(1,21,44,.2); }
  .topbar-links li:last-child a { border-right:none; }
  /* Hide CTA buttons on mobile — accessible via navbar instead */
  .dlab-topbar-right { display:none !important; }
  .widget-link-list { justify-content:flex-start; margin-top:8px; }
}
@media (max-width:767px) {
  .owl-home-banner .item img { max-height:280px; }
  .section-head .title { font-size:1.5rem; }
  .footer-top { padding:30px 0 20px; }
  .dlab-bnr-inr { background-attachment:scroll; }
  .sidebar { position:static; }
  .mosaic-grid .mosaic-box, .bento-box.bento-sm { height: auto; padding: 20px 0; }
  .bento-box { height: auto; }
  
  /* Footer Mobile alignment */
  .footer-bottom { text-align: center; padding-bottom: 70px; }
  .footer-bottom .row > div { flex: 0 0 100%; max-width: 100%; text-align: center !important; }
  .footer-bottom .text-left, .footer-bottom .text-right { text-align: center !important; }
  .footer-bottom .widget-link ul { justify-content: center; margin-top: 10px; padding: 0; }
}
/* =======================================================
   CENTRALIZED CSS EXTRACTED FROM PAGES
   ======================================================= */

/* --- Extracted from pages/admission-procedure.php --- */

        /* =========================================
           Mobile Layout (Vertical Timeline)
           Default for mobile devices
           ========================================= */
        .admission-steps {
            position: relative;
        }
        
        /* The vertical line connecting the steps */
        .admission-steps::before {
            content: '';
            position: absolute;
            left: 20px; /* Aligns with the center of the 40px circle */
            top: 20px;
            bottom: 20px;
            width: 2px;
            background: #e5e7eb;
            z-index: 0;
        }
        
        .admission-steps .step-item {
            position: relative;
            z-index: 1;
            transition: all 0.3s ease;
        }
        
        /* Add a white shadow to the circle to cut out the line behind it */
        .admission-steps .step-item .flex-shrink-0 > div {
            box-shadow: 0 0 0 4px #fff;
            position: relative;
            z-index: 2;
            transition: transform 0.2s ease, background-color 0.2s ease;
        }

        /* Hover effect */
        .admission-steps .step-item:hover .flex-shrink-0 > div {
            transform: scale(1.05);
            background: #6a0001 !important; /* Slightly darker primary color on hover */
        }
        
        /* Remove bottom border from the last step */
        .admission-steps .step-item:last-child .flex-grow-1 {
            border-bottom: none !important;
            padding-bottom: 0 !important;
        }

        /* Smaller Mobile Adjustments */
        @media (max-width: 767px) {
            .admission-steps::before {
                left: 17px; /* Adjust line position for smaller circle */
            }
            .admission-steps .step-item .flex-shrink-0 > div {
                width: 34px !important;
                height: 34px !important;
                font-size: 14px !important;
            }
            .admission-steps .step-item {
                gap: 0.75rem !important; /* Reduce gap to save horizontal space */
            }
            .admission-steps .step-item .flex-grow-1 h5 {
                font-size: 1rem;
            }
            .admission-steps .step-item .flex-grow-1 p {
                font-size: 0.875rem;
                line-height: 1.5;
            }
        }

        /* =========================================
           Desktop Layout (Compact Horizontal Grid)
           Fixes excessive vertical spacing
           ========================================= */
        @media (min-width: 768px) {
            .admission-steps {
                display: grid;
                grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
                gap: 20px;
            }
            
            /* Hide the vertical connecting line on desktop */
            .admission-steps::before {
                display: none;
            }
            
            /* Compact horizontal card layout */
            .admission-steps .step-item {
                align-items: center; /* Keep icon and text side-by-side */
                background: #fff;
                padding: 1.25rem 1.5rem;
                border-radius: 12px;
                border: 1px solid #f3f4f6;
                box-shadow: 0 4px 15px rgba(0,0,0,0.03);
                margin-bottom: 0 !important; /* Remove the bottom margin from row layout */
                gap: 15px !important;
            }

            .admission-steps .step-item:hover {
                transform: translateY(-4px);
                box-shadow: 0 10px 25px rgba(136, 0, 1, 0.08);
                border-color: rgba(136, 0, 1, 0.15);
            }

            /* Remove the separating borders for desktop cards */
            .admission-steps .step-item .flex-grow-1 {
                border-bottom: none !important;
                padding-bottom: 0 !important;
            }
            
            /* Tighten up typography for compact look */
            .admission-steps .step-item h5 {
                font-size: 1.1rem;
                margin-bottom: 4px !important;
            }
            
            .admission-steps .step-item p {
                font-size: 0.85rem;
                margin-bottom: 0;
            }
        }
    

/* --- Extracted from pages/blog-detail.php --- */

    .article-title-link:hover { color: var(--primary) !important; }
    .blog-content img { max-width:100%; height:auto; border-radius:8px; margin:15px 0; display:block; }
    .blog-content a { color: var(--primary); text-decoration:none; }
    .blog-content a:hover { text-decoration:underline; }


/* --- Extracted from pages/college-tours.php --- */

/* ══ COLLEGE TOURS LISTING PAGE ══ */

/* Category filter pills */
.tour-filter-bar {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 32px;
    align-items: center;
}
.tour-filter-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 18px;
    border-radius: 30px;
    border: 2px solid #ddd;
    background: #fff;
    color: #555;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
    cursor: pointer;
}
.tour-filter-pill:hover {
    border-color: #01152C;
    color: #01152C;
    background: #fff5f5;
}
.tour-filter-pill.active {
    background: #01152C;
    border-color: #01152C;
    color: #fff;
}
.tour-filter-pill .pill-count {
    background: rgba(255,255,255,0.25);
    color: inherit;
    font-size: 11px;
    font-weight: 700;
    padding: 1px 7px;
    border-radius: 10px;
    line-height: 1.6;
}
.tour-filter-pill.active .pill-count {
    background: rgba(255,255,255,0.3);
}

/* Tour card */
.tour-card {
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    transition: transform 0.3s, box-shadow 0.3s;
    display: flex;
    flex-direction: column;
    height: 100%;
    cursor: pointer;
}
.tour-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 35px rgba(0,0,0,0.13) !important;
}

/* 16:9 thumbnail wrapper */
.tour-thumb-wrap {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    overflow: hidden;
    background: #1a1a1a;
    flex-shrink: 0;
}
.tour-thumb-wrap img {
    position: absolute;
    inset: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}
.tour-card:hover .tour-thumb-wrap img { transform: scale(1.05); }

/* Play overlay */
.tour-play-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,0.22);
    transition: background 0.25s;
}
.tour-card:hover .tour-play-overlay { background: rgba(0,0,0,0.10); }

.tour-play-btn {
    width: 56px; height: 56px;
    background: rgba(255,0,0,0.85);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 20px rgba(255,0,0,0.45);
    transition: transform 0.25s, background 0.25s;
}
.tour-card:hover .tour-play-btn {
    transform: scale(1.15);
    background: #ff0000;
}
.tour-play-btn i { color: #fff; font-size: 20px; margin-left: 4px; }

/* Badges */
.tour-cat-badge {
    position: absolute;
    top: 10px; left: 10px;
    background: #01152C;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    padding: 3px 9px;
    border-radius: 20px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}
.tour-duration-badge {
    position: absolute;
    bottom: 8px; right: 8px;
    background: rgba(0,0,0,0.80);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 4px;
    letter-spacing: 0.5px;
}
.tour-featured-ribbon {
    position: absolute;
    top: 10px; right: 10px;
    background: #f9b91b;
    color: #333;
    font-size: 9px;
    font-weight: 800;
    padding: 3px 8px;
    border-radius: 20px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

/* Card body */
.tour-card-body {
    padding: 16px 18px 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.tour-card-title {
    font-size: 15px;
    font-weight: 700;
    color: #222;
    margin: 0 0 8px;
    line-height: 1.45;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.tour-card-desc {
    font-size: 13px;
    color: #666;
    line-height: 1.5;
    margin-bottom: 14px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex: 1;
}
.tour-card-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.tour-card-type {
    font-size: 11px;
    font-weight: 700;
    color: #e53935;
    display: flex;
    align-items: center;
    gap: 4px;
}
.tour-watch-btn {
    margin-left: auto;
    background: #01152C;
    color: #fff;
    border: none;
    border-radius: 20px;
    padding: 5px 16px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.tour-watch-btn:hover { background: #01152C; color: #fff; }

/* No-results state */
.tour-empty {
    text-align: center;
    padding: 60px 20px;
    color: #888;
}
.tour-empty i { font-size: 3rem; margin-bottom: 16px; display: block; opacity: 0.35; }

/* ══ YouTube Lightbox ══ */
.imr-yt-lightbox {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.92);
    z-index: 99999;
    align-items: center;
    justify-content: center;
    padding: 16px;
}
.imr-yt-lightbox.open {
    display: flex;
    animation: imrFadeIn 0.2s ease;
}
@keyframes imrFadeIn { from{opacity:0} to{opacity:1} }

.imr-yt-inner {
    position: relative;
    width: 100%;
    max-width: 920px;
    background: #000;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 30px 80px rgba(0,0,0,0.8);
}
.imr-yt-ratio {
    position: relative;
    padding-top: 56.25%;
}
.imr-yt-ratio iframe {
    position: absolute;
    inset: 0;
    width: 100%; height: 100%;
    border: none;
}
.imr-yt-close {
    position: absolute;
    top: -44px; right: 0;
    background: none; border: none;
    color: #fff; font-size: 32px;
    cursor: pointer; line-height: 1;
    padding: 4px;
    transition: transform 0.2s, opacity 0.2s;
    opacity: 0.85;
}
.imr-yt-close:hover { transform: rotate(90deg); opacity: 1; }
.imr-yt-title {
    background: #111;
    color: #fff;
    padding: 12px 20px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.3px;
}


/* --- Extracted from pages/contact-us.php --- */

/* ══════════════════════════════════════════════
   CONTACT PAGE — STYLES
══════════════════════════════════════════════ */

/* Info cards (top row) */
.cinfo-card {
    border: none;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 2px 14px rgba(0,0,0,0.07);
    padding: 24px 20px;
    display: flex;
    flex-direction: column; /* Stacked: icon up, info down */
    align-items: center; /* Center aligned perfectly */
    text-align: center; /* Ensure text is centered */
    gap: 16px; /* Space between icon and text */
    height: 100%;
    transition: box-shadow 0.2s;
}
.cinfo-card:hover { box-shadow: 0 4px 22px rgba(0,0,0,0.12); }

.cinfo-icon {
    width: 50px; height: 50px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    font-size: 18px;
}

/* Now spans full width of the card */
.cinfo-content {
    flex: 1;
    width: 100%;
}

.cinfo-card h6 {
    font-size: 11px; font-weight: 700; color: #9ca3af;
    text-transform: uppercase; letter-spacing: 0.6px; margin: 0 0 10px;
}
.cinfo-card p,
.cinfo-card address {
    font-size: 13.5px; color: #1f2937; margin: 0; line-height: 1.65;
}
.cinfo-card a { 
    color: #1f2937; 
    text-decoration: none; 
    display: inline-block;
    word-break: break-word; /* Safe fallback, but full width mostly prevents breaks */
}
.cinfo-card a:hover { color: #01152C; }

/* Form cards */
.imr-form-card {
    border: none;
    border-radius: 14px;
    box-shadow: 0 4px 28px rgba(0,0,0,0.09);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
}
.imr-form-card-head {
    padding: 18px 22px;
}
.imr-form-card-head h4 {
    margin: 0; font-size: 1rem; font-weight: 700;
    display: flex; align-items: center; gap: 10px; color: #fff;
}
.imr-form-card-body {
    padding: 22px; background: #fff; flex: 1;
}

/* Inputs */
.imr-form-card .form-control,
.imr-form-card .form-select {
    border-radius: 8px;
    border: 1.5px solid #e2e8f0;
    font-size: 13.5px;
    padding: 9px 13px;
    color: #1f2937;
    background-color: #fdfdfd;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.imr-form-card .form-control:focus,
.imr-form-card .form-select:focus {
    border-color: #01152C;
    box-shadow: 0 0 0 3px rgba(136,0,1,0.07);
    outline: none;
    background: #fff;
}
.imr-form-card .form-control::placeholder { color: #c4c9d4; }
.imr-form-card label {
    font-size: 12.5px; font-weight: 600;
    color: #374151; margin-bottom: 4px; display: block;
}

/* Submit buttons */
.btn-send-msg {
    background: linear-gradient(135deg, #1565c0, #0d47a1);
    color: #fff; border: none; border-radius: 8px;
    padding: 11px 20px; font-size: 13.5px; font-weight: 700;
    width: 100%; cursor: pointer;
    transition: opacity 0.2s, transform 0.15s;
}
.btn-send-msg:hover { opacity: 0.9; transform: translateY(-1px); color: #fff; }

.btn-send-enquiry {
    background: linear-gradient(135deg, #01152C, #01152C);
    color: #fff; border: none; border-radius: 8px;
    padding: 11px 20px; font-size: 13.5px; font-weight: 700;
    width: 100%; cursor: pointer;
    transition: opacity 0.2s, transform 0.15s;
}
.btn-send-enquiry:hover { opacity: 0.9; transform: translateY(-1px); color: #fff; }

/* Card header colours */
.head-blue { background: linear-gradient(135deg, #1565c0, #0d47a1); }
.head-red  { background: linear-gradient(135deg, #01152C, #01152C); }

/* Map card */
.imr-map-card {
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 4px 28px rgba(0,0,0,0.09);
    display: flex;
    flex-direction: column;
    height: 100%;
}
.imr-map-card iframe {
    flex: 1;
    min-height: 400px;
    border: none;
    display: block;
    width: 100%;
}
.imr-map-directions {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    padding: 14px; background: #f9fafb;
    border-top: 1px solid #e5e7eb;
    font-size: 13.5px; font-weight: 700;
    color: #1f2937; text-decoration: none;
    transition: background 0.2s, color 0.2s;
}
.imr-map-directions:hover { background: #eff6ff; color: #1565c0; }

@media (max-width: 767px) {
    .imr-form-card-body { padding: 16px; }
    .imr-map-card iframe { min-height: 280px; }
}


/* --- Extracted from pages/creative-at-imr.php --- */

/* CSS Masonry Layout for Dynamic Image Sizes */
.gallery-masonry {
    column-count: 1;
    column-gap: 1.5rem;
}
@media (min-width: 768px) {
    .gallery-masonry { column-count: 2; }
}
@media (min-width: 992px) {
    .gallery-masonry { column-count: 3; }
}
.gallery-masonry .gallery-item {
    break-inside: avoid;
    margin-bottom: 1.5rem;
    display: inline-block;
    width: 100%;
}


/* --- Extracted from pages/event-detail.php --- */

/* ── Event detail content styles — scoped, won't affect layout ── */

/* Featured image: full natural size, zero cropping */
.evd-img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
    margin-bottom: 20px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.10);
}

/* Meta pills row */
.evd-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
}
.evd-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 14px;
    border-radius: 30px;
    background: #f4f6fb;
    font-size: 12px;
    font-weight: 600;
    color: #444;
}
.evd-pill i { color: #01152C; font-size: 11px; }
.evd-pill.upcoming { background: #e8f5e9; color: #2e7d32; }
.evd-pill.upcoming i { color: #2e7d32; }

/* Excerpt highlight */
.evd-excerpt {
    font-size: 15px;
    line-height: 1.75;
    color: #555;
    border-left: 4px solid #01152C;
    padding: 12px 16px;
    background: #fff8f8;
    border-radius: 0 8px 8px 0;
    margin-bottom: 22px;
}

/* Body content */
.evd-body {
    font-size: 15px;
    line-height: 1.85;
    color: #333;
    word-break: break-word;
    overflow-wrap: break-word;
}
.evd-body img   { max-width: 100% !important; height: auto !important; border-radius: 6px; display: block; }
.evd-body table { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.evd-body iframe { max-width: 100%; }

/* Action bar */
.evd-action {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
    margin-top: 28px;
    padding-top: 20px;
    border-top: 1px solid #eee;
}
.evd-back {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 22px;
    border-radius: 30px;
    background: #01152C;
    color: #fff !important;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
    transition: background .2s;
    white-space: nowrap;
}
.evd-back:hover { background: #660000; }

/* Share buttons */
.evd-share {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}
.evd-share span { font-size: 13px; font-weight: 600; color: #666; }
.evd-sbtn {
    width: 34px; height: 34px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 13px;
    text-decoration: none;
    transition: transform .2s, opacity .2s;
    flex-shrink: 0;
}
.evd-sbtn:hover { transform: scale(1.12); opacity: .85; }
.s-wa { background:#25d366; color:#fff; }
.s-fb { background:#1877f2; color:#fff; }
.s-tw { background:#1da1f2; color:#fff; }
.s-li { background:#0a66c2; color:#fff; }

/* Other events widget — inside sidebar injected by layout */
.evd-other-item {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 10px 0;
    border-bottom: 1px solid #f0f0f0;
    text-decoration: none !important;
}
.evd-other-item:last-child { border-bottom: none; padding-bottom: 0; }
.evd-othumb {
    width: 60px;
    min-width: 60px;
    border-radius: 5px;
    background: #f5f5f5;
}
.evd-othumb img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 5px;
}
.evd-oinfo { flex: 1; min-width: 0; }
.evd-ottl {
    font-size: 12.5px;
    font-weight: 600;
    color: #222;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 3px;
    transition: color .2s;
}
.evd-other-item:hover .evd-ottl { color: #01152C; }
.evd-odate { font-size: 11px; color: #999; }

@media (max-width: 575px) {
    .evd-excerpt { font-size: 13px; padding: 10px 12px; }
    .evd-body    { font-size: 14px; }
    .evd-action  { flex-direction: column; align-items: flex-start; }
}


/* --- Extracted from pages/events.php --- */

/* ── Events Listing: True Dynamic Fit — image sets its OWN height, zero cropping ── */

.event-card {
    border-radius: 10px;
    overflow: hidden;
    transition: box-shadow 0.3s, transform 0.3s;
    display: flex;
    flex-direction: column;
}
.event-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.12) !important;
}

/* Wrapper: NO fixed height, NO min/max-height — grows with the image */
.event-img-wrap {
    width: 100%;
    background: #f5f5f5;
    position: relative;
    display: block;
    line-height: 0;   /* removes inline gap under img */
}

/* Image: full width, height = auto so it NEVER crops */
.event-img-wrap img {
    width: 100%;
    height: auto;        /* ← KEY: natural height, no fixed constraint */
    display: block;
    object-fit: unset;   /* ← no object-fit at all — browser just scales proportionally */
}

.event-upcoming-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 2;
}


/* --- Extracted from pages/our-articles.php --- */

        .article-card .article-img:hover { transform: scale(1.08); }
        .article-title-link:hover { color: var(--primary) !important; }
        .article-card:hover .fa-arrow-right { transform: translateX(5px); }
        .transition-colors { transition: color 0.3s ease; }
        .transition-transform { transition: transform 0.3s ease; }
    

/* --- Extracted from pages/program-detail.php --- */

/* Smooth Hover Effects for Premium Feel */
.transition-all { transition: all 0.3s ease-in-out; }
.hover-translate:hover { transform: translateY(-4px); box-shadow: 0 10px 20px rgba(0,0,0,0.08) !important; border-color: rgba(13,110,253,0.2) !important; }
.syllabus-card:hover { background-color: #fff !important; border-color: var(--bs-primary) !important; }

/* Custom clamping class to force wrap and truncate properly */
.text-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word; 
}

/* ── Premium Responsive Product Image ── */
.program-product-img {
    width: 100%;
    max-height: 280px; /* Big showcase height on mobile */
    object-fit: contain;
    display: block;
    margin: 0 auto 1.5rem auto; /* Centered with spacing below on mobile */
}

.program-icon-fallback {
    text-align: center;
}

/* Desktop Text Wrapping */
@media (min-width: 768px) {
    .program-product-img {
        max-width: 45%;
        max-height: 320px;
        float: right;
        margin: 0 0 1.5rem 2.5rem !important; /* Forces text to elegantly wrap around it */
    }
    
    .program-icon-fallback {
        float: right;
        margin: 0 0 1.5rem 2.5rem;
        text-align: right;
    }
}


/* --- Extracted from pages/programs.php --- */

/* Smooth Hover Effects for Premium Feel */
.transition-all {
    transition: all 0.3s ease-in-out;
}
.program-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border-radius: 12px;
}
.program-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 35px rgba(0,0,0,0.1) !important;
}
.hover-translate:hover {
    transform: translateY(-5px);
    border-color: var(--bs-primary) !important;
}
.program-title a {
    transition: color 0.2s ease;
}
.program-title a:hover {
    color: var(--bs-primary) !important;
}


/* --- Extracted from includes/footer.php --- */

    /* ── WhatsApp Float ───────────────────────────────── */
    .imr-whatsapp-float {
        position: fixed;
        bottom: 22px;
        left: 16px;
        z-index: 1050;
        width: 58px;
        height: 58px;
        border-radius: 50%;
        background: #25d366;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        font-size: 30px;
        text-decoration: none;
        box-shadow: 0 4px 14px rgba(37,211,102,.5);
        animation: imrWaPulse 2.4s infinite;
        transition: transform .2s;
    }
    .imr-whatsapp-float:hover {
        transform: scale(1.1);
        color: #fff;
    }
    @keyframes imrWaPulse {
        0%,100% { box-shadow: 0 0 0 0 rgba(37,211,102,.5); }
        50%      { box-shadow: 0 0 0 12px rgba(37,211,102,0); }
    }

    /* ── Scroll to Top ────────────────────────────────── */
    .imr-scroll-top {
        position: fixed;
        bottom: 22px;
        right: 16px;
        z-index: 1050;
        width: 42px;
        height: 42px;
        background: #01152C;
        color: #fff;
        border: none;
        border-radius: 4px;
        font-size: 16px;
        cursor: pointer;
        display: none;
        align-items: center;
        justify-content: center;
        box-shadow: 0 4px 12px rgba(0,0,0,.25);
        transition: background .2s, transform .2s;
    }
    .imr-scroll-top.imr-visible { display: flex; }
    .imr-scroll-top:hover { background: #01152C; transform: translateY(-2px); }
    

/* --- Extracted from includes/navbar.php --- */

    /* ── ENQUIRY MODAL ─────────────────────────────────────────────── */
    .IMR-modal-overlay {
        display: none;
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,.60);
        z-index: 99999;
        align-items: center;
        justify-content: center;
        padding: 16px;
    }
    .IMR-modal-overlay.IMR-open {
        display: flex;
        animation: IMRFadeIn .25s ease;
    }
    @keyframes IMRFadeIn  { from{opacity:0} to{opacity:1} }
    @keyframes IMRSlideUp { from{transform:translateY(28px);opacity:0} to{transform:translateY(0);opacity:1} }

    .IMR-modal-box {
        position: relative;
        background: #fff;
        border-radius: 8px;
        overflow: hidden;
        display: flex;
        max-width: 800px;
        width: 100%;
        animation: IMRSlideUp .3s ease;
        max-height: 90vh;
        overflow-y: auto;
    }
    .IMR-modal-close {
        position: absolute;
        top: 12px; right: 14px;
        background: rgba(0,0,0,.45);
        border: none;
        color: #fff; font-size: 22px;
        cursor: pointer;
        border-radius: 50%;
        width: 34px; height: 34px;
        display: flex; align-items: center; justify-content: center;
        z-index: 10;
        transition: background .2s;
    }
    .IMR-modal-close:hover { background: rgba(0,0,0,.7); }

    .IMR-modal-poster {
        width: 42%;
        min-height: 400px;
        flex-shrink: 0;
        position: relative;
        overflow: hidden;
    }
    .IMR-poster-photo {
        width: 100%; height: 100%;
        object-fit: cover; display: block;
    }
    .IMR-poster-fallback-design {
        background: linear-gradient(160deg, #01152C 0%, #3d0000 60%, #1a1a2e 100%);
        width: 100%; height: 100%;
        display: flex; flex-direction: column;
        align-items: center; justify-content: center;
        padding: 24px 16px; text-align: center;
    }
    .IMR-pf-tag    { color: #f9b91b; font-size: 11px; font-weight: 700; letter-spacing: 2px; margin-bottom: 12px; }
    .IMR-pf-logo   { max-width: 80px; margin-bottom: 14px; }
    .IMR-pf-headline {
        color: #fff; font-weight: 900; font-size: 22px;
        line-height: 1.2; margin-bottom: 10px; letter-spacing: 1px;
    }
    .IMR-pf-headline span { color: #f9b91b; }
    .IMR-pf-sub    { color: rgba(255,255,255,.75); font-size: 11px; margin-bottom: 14px; }
    .IMR-pf-badge  {
        background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.2);
        border-radius: 6px; padding: 8px 14px; margin-bottom: 14px;
    }
    .IMR-pf-badge strong { display: block; font-size: 22px; color: #f9b91b; font-weight: 900; }
    .IMR-pf-badge span   { font-size: 10px; color: rgba(255,255,255,.7); letter-spacing: 1px; }
    .IMR-pf-stats  { display: flex; gap: 20px; margin-bottom: 14px; }
    .IMR-pf-stats div    { text-align: center; }
    .IMR-pf-stats strong { display: block; font-size: 18px; color: #fff; font-weight: 800; }
    .IMR-pf-stats small  { font-size: 9px; color: rgba(255,255,255,.6); letter-spacing: 0.5px; }
    .IMR-pf-programs {
        color: rgba(255,255,255,.65); font-size: 9.5px; line-height: 1.6;
        border-top: 1px solid rgba(255,255,255,.15); padding-top: 10px; margin-bottom: 10px;
    }
    .IMR-pf-programs strong { color: #f9b91b; display: block; margin-bottom: 4px; font-size: 10px; letter-spacing: 1px; }
    .IMR-pf-phone  { color: #f9b91b; font-size: 12px; font-weight: 700; }
    .IMR-pf-phone i { margin-right: 5px; }

    .IMR-modal-form {
        flex: 1;
        padding: 32px 24px;
        display: flex; flex-direction: column; justify-content: center;
    }
    .IMR-modal-form h4 {
        font-weight: 800; font-size: 17px; color: #01152C;
        margin-bottom: 18px; letter-spacing: 0.5px;
    }
    .IMR-enq-input {
        display: block; width: 100%;
        padding: 10px 14px;
        border: 1px solid #e0e0e0;
        border-radius: 6px;
        font-size: 13px;
        margin-bottom: 12px;
        outline: none;
        transition: border-color .2s;
        font-family: inherit;
    }
    .IMR-enq-input:focus { border-color: #01152C; box-shadow: 0 0 0 3px rgba(136,0,1,.08); }
    .IMR-enq-agree {
        display: flex; align-items: flex-start; gap: 8px;
        font-size: 12px; color: #555; margin-bottom: 14px; cursor: pointer; line-height: 1.4;
    }
    .IMR-enq-agree input { margin-top: 2px; flex-shrink: 0; accent-color: #01152C; }
    .IMR-enq-submit {
        width: 100%;
        background: #01152C; color: #fff;
        border: none; border-radius: 6px;
        padding: 12px;
        font-size: 14px; font-weight: 700;
        cursor: pointer; letter-spacing: 0.5px;
        transition: background .2s;
    }
    .IMR-enq-submit:hover { background: #01152C; }

    @media (max-width: 600px) {
        .IMR-modal-poster { display: none; }
        .IMR-modal-form   { padding: 28px 20px; }
    }

    /* ── COLLEGE TOURS DROPDOWN EXTRAS ────────────────────────────── */
    /* Count badge beside each category */
    .imr-tour-count {
        display: inline-block;
        background: #01152C;
        color: #fff;
        font-size: 10px;
        font-weight: 700;
        line-height: 1;
        padding: 2px 6px;
        border-radius: 10px;
        margin-left: 6px;
        vertical-align: middle;
    }
    /* Hairline divider in dropdown */
    .imr-tour-divider {
        pointer-events: none;
    }
    /* "All Tours" gets a slightly bolder treatment */
    .imr-tour-all-link > a {
        font-weight: 700 !important;
    }

    /* ── WHAT'S NEW PANEL ────────────────────────────────────────── */
    .IMR-wn-overlay {
        display: none;
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,.35);
        z-index: 1049;
    }
    .IMR-wn-overlay.IMR-open { display: block; }

    .IMR-wn-tab {
        position: fixed;
        left: -58px;
        top: 50%;
        transform: translateY(-50%) rotate(-90deg);
        transform-origin: center center;
        background: #01152C;
        color: #fff;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 1.5px;
        padding: 8px 18px;
        border-radius: 0 0 6px 6px;
        z-index: 1050;
        cursor: pointer;
        user-select: none;
        transition: left .2s ease;
        white-space: nowrap;
    }
    .IMR-wn-tab:hover { left: -52px; }
    .IMR-wn-badge {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: #f9b91b;
        color: #222;
        font-size: 10px;
        font-weight: 800;
        width: 18px; height: 18px;
        border-radius: 50%;
        margin-right: 6px;
        vertical-align: middle;
    }

    .IMR-wn-panel {
        position: fixed;
        right: -340px;
        top: 0; bottom: 0;
        width: 320px;
        background: #fff;
        z-index: 1050;
        box-shadow: -4px 0 20px rgba(0,0,0,.15);
        display: flex;
        flex-direction: column;
        transition: right .3s cubic-bezier(.4,0,.2,1);
        overflow: hidden;
    }
    .IMR-wn-panel.IMR-open { right: 0; }

    .IMR-wn-header {
        background: #01152C;
        padding: 16px 16px 14px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-shrink: 0;
    }
    .IMR-wn-header h5 {
        color: #fff; font-weight: 800;
        font-size: 14px; letter-spacing: 2px; margin: 0;
    }
    .IMR-wn-close {
        background: none; border: none;
        color: #fff; font-size: 22px;
        cursor: pointer; line-height: 1; padding: 0;
        transition: transform .2s;
    }
    .IMR-wn-close:hover { transform: rotate(90deg); }

    .IMR-wn-body { flex: 1; overflow-y: auto; }
    .IMR-wn-body::-webkit-scrollbar { width: 4px; }
    .IMR-wn-body::-webkit-scrollbar-thumb { background: #ccc; border-radius: 4px; }

    .IMR-wn-item {
        display: flex;
        gap: 12px;
        padding: 13px 15px;
        border-bottom: 1px solid #f0f0f0;
        text-decoration: none;
        color: inherit;
        transition: background .18s;
    }
    .IMR-wn-item:hover { background: #f7f7f7; }

    .IMR-wn-thumb {
        width: 76px; height: 64px;
        flex-shrink: 0;
        border-radius: 4px;
        overflow: hidden;
    }
    .IMR-wn-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
    .IMR-wn-no-thumb {
        width:100%; height:100%;
        background: linear-gradient(135deg, #01152C, #01152C);
        display:flex; align-items:center; justify-content:center;
        color: rgba(255,255,255,.5); font-size:20px;
    }

    .IMR-wn-info { flex: 1; min-width: 0; }
    .IMR-wn-info h6 {
        font-size: 12.5px; font-weight: 700; color: #222;
        margin: 0 0 5px; line-height: 1.4;
        display: -webkit-box;
        -webkit-line-clamp: 3;
    line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .IMR-wn-date { font-size:11px; color:#888; display:inline-block; margin-right:4px; }
    .IMR-wn-cat  {
        font-size:10px; color:#555;
        background:#f0f0f0; padding:1px 6px;
        border-radius:3px; display:inline-block;
    }

    .IMR-wn-empty { padding: 30px 20px; color:#888; font-size:13px; text-align:center; }

    .IMR-wn-footer {
        padding: 13px 16px;
        border-top: 2px solid #f0f0f0;
        text-align: center;
        flex-shrink: 0;
    }
    .IMR-wn-footer a { color:#01152C; font-size:13px; font-weight:700; text-decoration:none; }
    .IMR-wn-footer a:hover { text-decoration:underline; }

    /* ── RIGHT SOCIAL SIDEBAR ───────────────────────────────────────── */
    .IMR-social-sidebar {
        position: fixed;
        right: 0; top: 50%;
        transform: translateY(-50%);
        z-index: 1040;
        display: flex;
        flex-direction: column;
    }
    .IMR-social-sidebar a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 40px; height: 40px;
        color: #fff;
        font-size: 16px;
        text-decoration: none;
        transition: width .25s ease, opacity .2s;
        overflow: hidden;
    }
    .IMR-social-sidebar a:hover { width: 52px; opacity: .9; }
    .IMR-ss-fb { background: #1877f2; }
    .IMR-ss-ig { background: linear-gradient(180deg,#f09433 0%,#dc2743 50%,#bc1888 100%); }
    .IMR-ss-yt { background: #ff0000; }
    

/* --- Extracted from admin/enquiries.php --- */

/* ── Enquiry table: ensure dropdowns are never clipped ─── */
.admin-card                { overflow: visible !important; }
.admin-card .card-body     { overflow: visible !important; }
.d-none.d-lg-block.table-responsive-wrapper { overflow-x: auto; overflow-y: visible; }
.admin-table .dropdown-menu { min-width: 130px; }


/* --- Extracted from admin/page-banners.php --- */

.banner-upload-zone {
    border: 3px dashed #dee2e6;
    border-radius: 14px;
    padding: 40px 30px;
    text-align: center;
    cursor: pointer;
    transition: all .2s;
    background: #fafbfc;
    position: relative;
}
.banner-upload-zone:hover,
.banner-upload-zone.drag-over {
    border-color: var(--primary);
    background: rgba(136,0,1,.04);
}
.banner-upload-zone input[type=file] { display: none; }
.banner-preview-wrap {
    width: 100%;
    height: 200px;
    border-radius: 10px;
    overflow: hidden;
    border: 2px solid #e2e8f0;
    background: #f1f5f9;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.banner-preview-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.banner-preview-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #94a3b8;
}
.how-it-works-step {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 14px 0;
    border-bottom: 1px solid #f1f5f9;
}
.how-it-works-step:last-child { border-bottom: none; }
.step-num {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: linear-gradient(135deg, #01152C, #01152C);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 14px;
    flex-shrink: 0;
}


/* --- Extracted from admin/pages.php --- */

/* ════════════════════════════════════════════════════════════════════════════
   PAGES MANAGER — Mobile-first, beginner-friendly UI v4.0
════════════════════════════════════════════════════════════════════════════ */

/* ── Section cards ─────────────────────────────────────────────────────── */
.sec-card{background:#fff;border:1.5px solid #e9ecef;border-radius:14px;padding:14px 16px;margin-bottom:10px;display:flex;align-items:flex-start;gap:12px;transition:border-color .15s,box-shadow .15s;cursor:default;}
.sec-card:hover{border-color:#cbd5e1;box-shadow:0 4px 18px rgba(0,0,0,.07);}
.sec-card.sec-hidden{opacity:.5;}
.drag-handle{color:#cbd5e1;cursor:grab;flex-shrink:0;font-size:17px;padding:2px 1px;margin-top:2px;touch-action:none;}
.drag-handle:active{cursor:grabbing;color:#94a3b8;}
.order-bubble{width:26px;height:26px;border-radius:8px;background:#f1f5f9;color:#64748b;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.type-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:.3px;}
.sec-title{font-size:15px;font-weight:700;color:#1e293b;margin:5px 0 2px;line-height:1.3;}
.sec-preview{font-size:12.5px;color:#64748b;line-height:1.5;max-height:38px;overflow:hidden;}
.sec-actions{display:flex;gap:6px;align-items:center;flex-shrink:0;margin-left:auto;}
.sa-btn{width:34px;height:34px;border-radius:9px;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:13px;transition:filter .15s;}
.sa-btn:hover{filter:brightness(.88);}

/* ── Stats bar ─────────────────────────────────────────────────────────── */
.pg-stats{background:linear-gradient(130deg,#01152C,#01152C);border-radius:14px;padding:16px 20px;color:#fff;display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:22px;}
.pg-stats .st-n{font-size:22px;font-weight:800;line-height:1;}
.pg-stats .st-l{font-size:11px;opacity:.7;margin-top:2px;}
.pg-stats .pg-url{font-size:12px;background:rgba(255,255,255,.13);border-radius:8px;padding:6px 12px;display:inline-flex;align-items:center;gap:6px;word-break:break-all;}

/* ── Empty state ───────────────────────────────────────────────────────── */
.empty-state{text-align:center;padding:56px 20px;}
.empty-icon{width:80px;height:80px;background:#f1f5f9;border-radius:22px;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-size:32px;color:#cbd5e1;}

/* ═══════════════════════════════════════════════════════════════════════════
   MODAL  — full-viewport, fixed header+footer, scrollable center
═══════════════════════════════════════════════════════════════════════════ */
.imr-modal .modal-dialog{margin:.75rem auto;max-width:980px;}
.imr-modal .modal-content{
    display:flex;flex-direction:column;
    height:calc(100svh - 1.5rem);max-height:97svh;
    border-radius:14px;overflow:hidden;border:none;
    box-shadow:0 24px 64px rgba(0,0,0,.22);
}
.imr-modal .modal-header{
    flex:0 0 auto;
    background:linear-gradient(135deg,#01152C,#b30002);
    color:#fff;padding:14px 20px;border:none;
}
.imr-modal .modal-header .modal-title{font-size:16px;font-weight:700;}
.imr-modal .modal-header .modal-subtitle{font-size:12px;opacity:.78;margin-top:2px;}
.imr-modal .modal-body{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:0;-webkit-overflow-scrolling:touch;}
.imr-modal .modal-footer{
    flex:0 0 auto;
    background:#f8fafc;border-top:2px solid #e9ecef;
    padding:12px 20px;gap:10px;
}

/* ── Type picker sidebar ────────────────────────────────────────────────── */
.type-rail{background:#f8fafc;border-right:1.5px solid #e2e8f0;padding:14px 10px;overflow-y:auto;flex-shrink:0;width:200px;}
.type-rail-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#94a3b8;margin-bottom:10px;padding:0 4px;}
.type-btn{display:flex;align-items:center;gap:9px;border:1.5px solid #e9ecef;border-radius:9px;padding:8px 10px;cursor:pointer;transition:all .15s;background:#fff;width:100%;text-align:left;margin-bottom:5px;}
.type-btn:hover{border-color:#94a3b8;background:#f1f5f9;}
.type-btn.sel{border-color:#01152C!important;background:rgba(136,0,1,.07)!important;box-shadow:0 0 0 2px rgba(136,0,1,.12);}
.type-btn .t-dot{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px;}
.type-btn .t-lbl{font-size:11.5px;font-weight:600;color:#334155;line-height:1.3;}

/* ── Form area ──────────────────────────────────────────────────────────── */
.form-area{flex:1;padding:22px 26px;overflow-y:auto;-webkit-overflow-scrolling:touch;}
.type-header{display:flex;align-items:center;gap:14px;padding-bottom:16px;margin-bottom:18px;border-bottom:2px solid #f1f5f9;}
.type-icon-lg{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.type-name{font-size:18px;font-weight:700;color:#1e293b;}
.type-desc{font-size:12.5px;color:#64748b;margin-top:2px;}

/* ── Field groups ───────────────────────────────────────────────────────── */
.fg{background:#f8fafc;border:1.5px solid #e9ecef;border-radius:12px;padding:18px 20px;margin-bottom:16px;}
.fg-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:#64748b;margin-bottom:14px;display:flex;align-items:center;gap:7px;}
.fg .form-control,.fg .form-select{border-radius:8px;border-color:#d1d5db;font-size:14px;}
.fg .form-control:focus,.fg .form-select:focus{border-color:#01152C;box-shadow:0 0 0 3px rgba(136,0,1,.1);}
.fg textarea.form-control{min-height:120px;resize:vertical;}
.fg textarea.tall{min-height:200px;}

/* ── Dynamic rows (cards / checklist / links) ───────────────────────────── */
.dyn-row{background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;padding:12px 40px 12px 14px;margin-bottom:8px;position:relative;}
.dyn-row .rm-btn{position:absolute;top:9px;right:9px;width:24px;height:24px;border-radius:6px;background:#fee2e2;color:#dc2626;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;}
.dyn-row .rm-btn:hover{background:#dc2626;color:#fff;}
.add-row-btn{width:100%;border:2px dashed #d1d5db;border-radius:9px;padding:10px;background:transparent;color:#64748b;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:7px;margin-top:4px;}
.add-row-btn:hover{border-color:#01152C;color:#01152C;background:rgba(136,0,1,.04);}

/* ── Helpful tips (beginner UX) ─────────────────────────────────────────── */
.tip-box{background:#eff6ff;border:1px solid #bfdbfe;border-radius:9px;padding:10px 14px;font-size:12.5px;color:#1e40af;line-height:1.5;margin-bottom:14px;}
.tip-box i{color:#3b82f6;}

/* ── Mobile overrides ───────────────────────────────────────────────────── */
@media(max-width:991px){
    .type-rail{width:100%!important;max-height:200px;border-right:none;border-bottom:1.5px solid #e2e8f0;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px;padding:10px;}
    .type-rail-title{display:none;}
    .type-btn{margin-bottom:0;}
    .form-area{padding:16px;}
    .pg-stats{flex-direction:column;align-items:stretch;gap:10px;}
    .imr-modal .modal-dialog{margin:0;max-width:100%;}
    .imr-modal .modal-content{height:100svh;max-height:100svh;border-radius:0;}
}
@media(max-width:576px){
    .type-rail{grid-template-columns:repeat(2,1fr);}
    .fg{padding:14px;}
    .sec-actions .sa-btn-label{display:none;}
    .modal-footer .btn{padding:10px 16px;font-size:14px;}
}


/* --- Extracted from admin/popup-settings.php --- */

/* ── Mini poster preview — mirrors the real popup left panel ── */
.popup-poster-preview {
    background: linear-gradient(160deg, #01152C 0%, #01152C 100%);
    border-radius: 8px;
    padding: 16px 14px;
    color: #fff;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    font-family: 'Montserrat', sans-serif;
    min-height: 240px;
    justify-content: space-evenly;
}
.pp-tag   { font-size: 9px; letter-spacing: 2px; font-weight: 700; color: #f5c842; }
.pp-headline { font-size: 18px; font-weight: 800; line-height: 1.1; }
.pp-headline span { color: #f5c842; }
.pp-sub   { font-size: 10px; color: #f5c842; font-weight: 600; }
.pp-badge {
    width: 52px; height: 52px; border-radius: 50%;
    border: 2px solid #f5c842;
    background: rgba(255,255,255,.12);
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
}
.pp-badge strong { font-size: 16px; color: #f5c842; line-height: 1; display: block; }
.pp-badge small  { font-size: 7px; line-height: 1.3; display: block; }
.pp-stats { display: flex; gap: 12px; }
.pp-stats div  { text-align: center; }
.pp-stats strong { display: block; font-size: 14px; color: #f5c842; }
.pp-stats small  { font-size: 8px; }
.pp-phone { font-size: 10px; font-weight: 700; color: #f5c842; }


/* --- Extracted from index.php --- */

/* ── Custom Homepage Styles ── */
.hero-overlap-container { margin-top: -120px; position: relative; z-index: 10; }

/* ── OVERLAPPING WELCOME SECTION ── */
.imr-welcome-box {
    background: #002147;
    border-radius: 12px;
    padding: 15px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}
.welcome-left-side {
    padding: 20px 20px 20px 30px;
}
.welcome-left-side h2 { font-weight: 600; color: #fff; margin-bottom: 5px; font-size: 2.2rem; line-height: 1.2; }
.welcome-left-side h3 { font-weight: 500; color: #f9b91b; margin-bottom: 15px; font-size: 1.4rem; }
.welcome-left-side p { color: #fff; font-size: 14px; line-height: 1.5; opacity: 0.9; margin: 0; }

.welcome-item-card {
    border-radius: 10px;
    padding: 25px 15px;
    text-align: center;
    color: #fff !important;
    min-height: 200px;
    height: 100%;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    text-decoration: none !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
}
.welcome-item-card:hover { transform: translateY(-5px); box-shadow: 0 5px 15px rgba(0,0,0,0.3); }
.welcome-item-card i { font-size: 3rem; margin-bottom: 15px; color: #fff; }
.welcome-item-card h5 { font-weight: 700; text-transform: uppercase; margin-bottom: 10px; font-size: 15px; color: #fff; line-height: 1.2; }
.welcome-item-card p { font-size: 13px; margin: 0; line-height: 1.4; opacity: 0.95; color: #fff; font-weight: 400; }

.bg-card-yellow { background: #f9b91b; }
.bg-card-green  { background: #8ab600; }
.bg-card-orange { background: #eb5d36; }
.bg-card-teal   { background: #26c6da; }

/* ══ MOSAIC GRID ══ */
.mosaic-col { display: flex; flex-direction: column; }
.mosaic-box { flex: 1; min-height: 320px; width: 100%; position: relative; display: flex; flex-direction: column; overflow: hidden; }
.mosaic-img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; z-index: 1; }
.mosaic-text { padding: 40px; display: flex; flex-direction: column; justify-content: center; flex: 1; color: #fff; position: relative; z-index: 2; }
.mosaic-text h3 { font-weight: 800; margin-bottom: 15px; color: #fff; }
.mosaic-text p { font-size: 13px; opacity: 0.9; margin-bottom: 25px; line-height: 1.6; }
.mosaic-link { color: #fff; font-size: 12px; font-weight: 700; text-decoration: none; border-bottom: 2px solid #fff; padding-bottom: 2px; width: fit-content; transition: opacity 0.3s; }
.mosaic-link:hover { opacity: 0.7; color: #fff; }

/* Mobile: mosaic stacks as single column, no fixed height */
@media (max-width: 767px) {
    .mosaic-col { flex-direction: column; }
    .mosaic-box { min-height: 220px; }
    .mosaic-text { padding: 24px 20px; }
    .mosaic-text h3 { font-size: 1.3rem; margin-bottom: 10px; }
    /* Image boxes get a sensible height on mobile */
    .mosaic-box.img-box { min-height: 200px; }
}

/* ══ CELEBRITY SLIDER ══ */
.celeb-section {
    background: linear-gradient(135deg, #8b0000 0%, #3d0070 50%, #0a0026 100%);
    padding: 60px 0 70px;
    overflow: hidden;
}
.celeb-section-title {
    font-size: 2.4rem;
    font-weight: 800;
    color: #fff;
    margin-bottom: 45px;
    letter-spacing: 1px;
    text-shadow: 0 2px 12px rgba(0,0,0,0.4);
}
#celeb-carousel .item {
    padding: 6px 10px 20px;
}
.celeb-card {
    border-radius: 12px;
    overflow: hidden;
    border: 3px solid transparent;
    transition: transform 0.35s ease, box-shadow 0.35s ease;
    background: #0d0d0d;
    position: relative;
    height: 340px;
    display: flex;
    flex-direction: column;
}
.celeb-card:hover { transform: translateY(-8px) scale(1.02); }
.celeb-img-wrap { width: 100%; flex: 1; overflow: hidden; position: relative; }
.celeb-img-wrap img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; transition: transform 0.4s ease; }
.celeb-card:hover .celeb-img-wrap img { transform: scale(1.05); }
.celeb-name {
    font-weight: 700; font-size: 13px; text-align: center; color: #fff;
    padding: 10px 6px 0; letter-spacing: 0.3px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    position: absolute; bottom: -28px; left: 0; right: 0;
}
.neon-red    { border-color: #ff2020; box-shadow: 0 0 18px rgba(255,32,32,0.75),  0 0 6px rgba(255,32,32,0.4)  inset; }
.neon-blue   { border-color: #00aaff; box-shadow: 0 0 18px rgba(0,170,255,0.75),  0 0 6px rgba(0,170,255,0.4)  inset; }
.neon-purple { border-color: #cc00ff; box-shadow: 0 0 18px rgba(204,0,255,0.75),  0 0 6px rgba(204,0,255,0.4)  inset; }
.neon-yellow { border-color: #ffd700; box-shadow: 0 0 18px rgba(255,215,0,0.75),  0 0 6px rgba(255,215,0,0.4)  inset; }
.neon-green  { border-color: #00ff66; box-shadow: 0 0 18px rgba(0,255,102,0.75),  0 0 6px rgba(0,255,102,0.4)  inset; }
.neon-orange { border-color: #ff8800; box-shadow: 0 0 18px rgba(255,136,0,0.75),  0 0 6px rgba(255,136,0,0.4)  inset; }
.neon-cyan   { border-color: #00e5ff; box-shadow: 0 0 18px rgba(0,229,255,0.75),  0 0 6px rgba(0,229,255,0.4)  inset; }

#celeb-carousel { position: relative; }
#celeb-carousel .owl-nav {
    position: absolute; top: 42%; transform: translateY(-50%);
    width: calc(100% + 50px); left: -25px;
    display: flex; justify-content: space-between;
    pointer-events: none; z-index: 10;
}
#celeb-carousel .owl-nav button {
    pointer-events: auto;
    background: rgba(255,255,255,0.12) !important;
    border: 2px solid rgba(255,255,255,0.35) !important;
    color: #fff !important; font-size: 18px !important;
    width: 44px !important; height: 44px !important;
    border-radius: 50% !important; line-height: 1 !important;
    display: flex !important; align-items: center; justify-content: center;
    transition: background 0.25s, border-color 0.25s; outline: none !important;
}
#celeb-carousel .owl-nav button:hover {
    background: rgba(255,255,255,0.28) !important;
    border-color: rgba(255,255,255,0.7) !important;
}

/* Affiliations */
#affiliations-carousel .owl-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 100%; display: flex; justify-content: space-between; pointer-events: none; margin-top: -15px; }
#affiliations-carousel .owl-nav button { pointer-events: auto; background: none !important; border: none !important; color: #d0d0d0 !important; font-size: 40px !important; font-weight: 100 !important; line-height: 1 !important; margin: 0 -45px !important; outline: none !important; transition: color 0.3s; }
#affiliations-carousel .owl-nav button:hover { color: #f57c00 !important; }

/* Campus cards */
.campus-card { position: relative; border-radius: 12px; overflow: hidden; height: 260px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
.campus-card img { width: 100%; height: 100%; object-fit: cover; }
.campus-label { position: absolute; bottom: 0; left: 10%; right: 10%; background: #fff; padding: 12px; text-align: center; border-radius: 8px 8px 0 0; font-weight: 800; color: #333; font-size: 14px; box-shadow: 0 -2px 10px rgba(0,0,0,0.05); }

/* Alumni overlap */
.alumni-block { background: #01152C; color: #fff; padding: 40px 40px 40px 110px; border-radius: 12px; position: relative; margin-left: 80px; box-shadow: 0 10px 30px rgba(136,0,1,0.2); }
.alumni-avatar { position: absolute; left: -80px; top: 50%; transform: translateY(-50%); width: 160px; height: 160px; border: 4px solid #fff; border-radius: 10px; object-fit: cover; box-shadow: 0 10px 20px rgba(0,0,0,0.15); filter: grayscale(100%); }

.placed-item { display: flex; flex-direction: column; align-items: center; position: relative; }
.placed-bg { background: #01152C; border-radius: 50% 50% 0 0; padding: 25px 25px 0; display: inline-block; position: relative; }
.placed-circle { width: 130px; height: 130px; border-radius: 50%; border: 4px solid #fff; object-fit: cover; position: relative; z-index: 2; margin-top: -20px; background: #fff; }

.btnhover11:hover { background-color: #fff !important; color: #222 !important; border-color: #fff !important; }

/* ══ SPOTLIGHT FEATURES GRID — mobile fix ══
   Desktop: 3-col alternating image+text (col-lg-4, g-0)
   Mobile:  single column stack, images get natural height,
            text boxes shrink padding and font
*/
.spotlight-img-box {
    background-size: cover;
    background-position: center;
    min-height: 400px;
}
.spotlight-text-box {
    min-height: 400px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 60px 50px;
}
.spotlight-text-box h2 { font-size: 2.8rem; font-weight: 800; line-height: 1.2; color: #fff; margin-bottom: 20px; }
.spotlight-text-box p  { font-size: 16px; line-height: 1.6; color: rgba(255,255,255,0.9); margin-bottom: 32px; max-width: 90%; }

@media (max-width: 991px) {
    .spotlight-img-box  { min-height: 260px; }
    .spotlight-text-box { min-height: unset; padding: 40px 30px; }
    .spotlight-text-box h2 { font-size: 2rem; }
    .spotlight-text-box p  { font-size: 14px; max-width: 100%; }
}
@media (max-width: 575px) {
    .spotlight-img-box  { min-height: 200px; }
    .spotlight-text-box { padding: 28px 20px; }
    .spotlight-text-box h2 { font-size: 1.6rem; }
}

/* ══ HOME EVENT CARDS — fixed height wrapper + cover crop = uniform cards ══
   All 3 cards show images at the same height regardless of portrait/landscape.
   object-fit:cover fills the box cleanly — no grey gaps, no distortion.
   260px is generous enough for landscape shots and trims portrait ones neatly.
*/
.home-event-img-wrap {
    width: 100%;
    height: 260px;           /* fixed: every card image same height */
    overflow: hidden;
    display: block;
    line-height: 0;
}
.home-event-img-wrap img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;           /* fills box, crops neatly — no grey */
    object-position: center top; /* keep faces/top of image visible */
    transition: transform 0.4s ease;
}
.home-event-img-wrap:hover img {
    transform: scale(1.04); /* subtle zoom on hover */
}
@media (max-width: 575px) {
    .home-event-img-wrap { height: 220px; } /* slightly shorter on phones */
}

/* ══ GLOBAL MOBILE FIXES ══ */
@media (max-width: 991px) {
    .imr-welcome-box { padding: 20px; }
    .welcome-left-side { text-align: center; margin-bottom: 20px; padding: 10px; }
    .welcome-item-card { min-height: 180px; }
    #affiliations-carousel .owl-nav button { margin: 0 -15px !important; }
}
@media (max-width: 767px) {
    .hero-overlap-container { margin-top: 20px; }
    .celeb-section-title { font-size: 1.8rem; }
    .alumni-block { margin-left: 0; padding: 100px 20px 30px; text-align: center; margin-top: 80px; }
    .alumni-avatar { left: 50%; top: -80px; transform: translateX(-50%); }
}
@media (max-width: 767px) {
    .celeb-card { height: 240px; }
    #celeb-carousel .owl-nav { width: calc(100% + 20px); left: -10px; }
}


/* Desktop: carousel fills full height of the stats panel beside it */
.ev-counter-area .hlm-showcase,
.ev-counter-area .hlm-showcase .item,
.ev-counter-area .hlm-showcase .dlab-thum-bx { height: 100%; }
.ev-counter-area .hlm-showcase img {
    width: 100%; height: 100%;
    object-fit: cover; border-radius: 0; display: block;
    min-height: 400px; /* keeps desktop height even if owl collapses */
}

/* Stat cells — desktop */
.bento-stat-cell {
    display: flex; align-items: center; justify-content: center;
    padding: 30px 20px; text-align: center; min-height: 200px;
}
.bento-stat-cell .bv { font-size: 3.5rem; font-weight: 800; line-height: 1; color: #fff; margin-bottom: 6px; }
.bento-stat-cell .bl { font-size: 15px; font-weight: 500; line-height: 1.4; color: rgba(255,255,255,0.9); margin: 0; }

/* Mobile: image stacks full-width on top, stats 2×2 below */
@media (max-width: 991px) {
    .ev-counter-area .hlm-showcase img { min-height: 240px; }
    .bento-stat-cell               { min-height: 130px; padding: 18px 10px; }
    .bento-stat-cell .bv           { font-size: 2rem; }
    .bento-stat-cell .bl           { font-size: 12px; }
}
@media (max-width: 480px) {
    .ev-counter-area .hlm-showcase img { min-height: 200px; }
    .bento-stat-cell               { min-height: 110px; padding: 14px 8px; }
    .bento-stat-cell .bv           { font-size: clamp(1.3rem, 6vw, 1.8rem); }
    .bento-stat-cell .bl           { font-size: 11px; }
}


/* ══════════════════════════════════════════════════════════════
   LEADERSHIP MESSAGES V2 - UNCONSTRAINED DYNAMIC FIT
   ══════════════════════════════════════════════════════════════ */
.ldr-section {
    background: var(--bg-light);
    padding: 60px 0;
    position: relative;
    overflow: hidden;
}
.ldr-section::before {
    content: '';
    position: absolute; top: 0; left: 0; right: 0; height: 5px;
    background: linear-gradient(90deg, var(--primary) 0%, var(--gold) 50%, var(--primary) 100%);
}

.ldr-head { text-align: center; margin-bottom: 45px; }
.ldr-head h2 {
    font-family: var(--font-heading);
    font-size: 2.5rem; font-weight: 800; color: #222; margin-bottom: 8px;
}
.ldr-head h2 span { color: var(--primary); }
.ldr-head p { color: var(--text-light); font-size: 16px; margin: 0; }
.ldr-head-line { width: 60px; height: 3px; background: var(--primary); margin: 12px auto 0; border-radius: 2px; }

/* The portrait area is now completely dynamic */
.ldr-portrait-area {
    position: relative;
    padding: 12px;
    display: inline-block; /* wraps tightly around the natural image shape */
}

/* Beautiful dynamic background frame that scales behind any image */
.ldr-portrait-area::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    border: 4px solid var(--gold);
    border-radius: 12px;
    transform: translate(12px, 12px);
    z-index: 0;
    pointer-events: none;
}
.ldr-director-area::before { border-color: var(--primary); }

.ldr-portrait-area img {
    position: relative;
    z-index: 1;
    max-height: 420px; /* stops excessively tall images */
    width: auto;
    max-width: 100%;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    background: #fff;
    padding: 8px; /* gives a polaroid border feel */
}

.ldr-name-badge {
    margin-top: 25px;
}
.ldr-name-badge h5 {
    color: #222;
    font-family: var(--font-heading);
    font-size: 20px; font-weight: 800; margin: 0 0 4px;
}
.ldr-name-badge span {
    color: var(--primary);
    font-size: 12px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 1.5px;
    display: inline-block;
    padding: 4px 12px;
    background: rgba(136, 0, 1, 0.05);
    border-radius: 30px;
}

/* Typography for message content */
.ldr-msg-content { padding: 10px 0; }
.ldr-quote-icon {
    font-family: Georgia, serif;
    font-size: 5.5rem; font-weight: 900; line-height: 0.6;
    color: var(--primary); opacity: 0.06;
    display: block; margin-bottom: 20px;
    user-select: none;
}
.ldr-msg-content h3 {
    font-family: var(--font-heading);
    font-size: 1.8rem; font-weight: 800;
    color: #111; margin-bottom: 15px;
}
.ldr-msg-content p {
    font-size: 15.5px; line-height: 1.8;
    color: var(--text-light); margin-bottom: 25px;
    text-align: justify;
}
.ldr-readmore {
    display: inline-flex; align-items: center; gap: 10px;
    font-size: 14px; font-weight: 700;
    color: #fff !important; background: var(--primary);
    padding: 10px 26px; border-radius: 30px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(136, 0, 1, 0.2);
}
.ldr-readmore:hover {
    background: var(--gold);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(212, 175, 55, 0.3);
}

@media (max-width: 991px) {
    .ldr-msg-content { padding-top: 20px; text-align: center; }
    .ldr-msg-content p { text-align: center; }
    .ldr-portrait-area img { max-height: 380px; }
    .ldr-head h2 { font-size: 2.1rem; }
    .ldr-name-badge { margin-top: 20px; }
}
@media (max-width: 767px) {
    .ldr-section { padding: 50px 0; }
    .ldr-portrait-area { padding: 10px; }
    .ldr-portrait-area::before { transform: translate(10px, 10px); }
    .ldr-portrait-area img { max-height: 320px; }
    .ldr-msg-content { padding-top: 5px; }
    .ldr-msg-content h3 { font-size: 1.5rem; }
}
@media (max-width: 480px) {
    .ldr-quote-icon { font-size: 3.5rem; margin-bottom: 0px; margin-top: -10px; }
    .ldr-portrait-area img { max-height: 280px; }
    .ldr-msg-content p { font-size: 14.5px; text-align: justify; }
    .ldr-name-badge { margin-top: 15px; }
}


/* ══ COLLEGE TOURS SECTION ══ */
.tour-section {
    background: linear-gradient(135deg, #0d0d0d 0%, #01152C 50%, #0d0d0d 100%);
    padding: 70px 0 80px;
    overflow: hidden;
    position: relative;
}
.tour-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url('../images/pattern-dark.png') center/cover;
    opacity: 0.05;
    pointer-events: none;
}
.tour-section-title {
    font-size: 2.4rem;
    font-weight: 800;
    color: #fff;
    margin-bottom: 8px;
    letter-spacing: 0.5px;
}
.tour-section-subtitle {
    color: rgba(255,255,255,0.6);
    font-size: 14px;
    margin-bottom: 50px;
}

/* Video card */
.tour-card {
    border-radius: 12px;
    overflow: hidden;
    background: #1a1a1a;
    position: relative;
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.tour-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 50px rgba(0,0,0,0.6) !important;
}

/* Thumbnail wrapper — fixed aspect ratio 16:9 */
.tour-thumb-wrap {
    position: relative;
    width: 100%;
    padding-top: 56.25%; /* 16:9 */
    overflow: hidden;
    background: #111;
}
.tour-thumb-wrap img {
    position: absolute;
    inset: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}
.tour-card:hover .tour-thumb-wrap img { transform: scale(1.06); }

/* YouTube-style play button overlay */
.tour-play-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,0.28);
    transition: background 0.25s;
}
.tour-card:hover .tour-play-overlay { background: rgba(0,0,0,0.15); }

.tour-play-btn {
    width: 60px; height: 60px;
    background: rgba(255,0,0,0.88);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 20px rgba(255,0,0,0.5);
    transition: transform 0.25s, background 0.25s;
}
.tour-card:hover .tour-play-btn {
    transform: scale(1.12);
    background: #ff0000;
}
.tour-play-btn i { color: #fff; font-size: 22px; margin-left: 4px; }

/* Duration badge */
.tour-duration-badge {
    position: absolute;
    bottom: 8px; right: 8px;
    background: rgba(0,0,0,0.82);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 4px;
    letter-spacing: 0.5px;
}

/* Category badge */
.tour-cat-badge {
    position: absolute;
    top: 10px; left: 10px;
    background: #01152C;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 20px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

/* Card body */
.tour-card-body {
    padding: 14px 16px 18px;
}
.tour-card-title {
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    margin: 0 0 6px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.tour-card-desc {
    font-size: 12px;
    color: rgba(255,255,255,0.55);
    line-height: 1.5;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Owl carousel nav for dark bg */
#tour-carousel .owl-nav {
    position: absolute; top: 38%; transform: translateY(-50%);
    width: calc(100% + 60px); left: -30px;
    display: flex; justify-content: space-between;
    pointer-events: none; z-index: 10;
}
#tour-carousel .owl-nav button {
    pointer-events: auto;
    background: rgba(255,255,255,0.1) !important;
    border: 2px solid rgba(255,255,255,0.3) !important;
    color: #fff !important;
    width: 44px !important; height: 44px !important;
    border-radius: 50% !important;
    font-size: 18px !important;
    display: flex !important; align-items: center; justify-content: center;
    transition: background 0.2s, border-color 0.2s;
    outline: none !important;
}
#tour-carousel .owl-nav button:hover {
    background: rgba(255,0,0,0.6) !important;
    border-color: rgba(255,0,0,0.8) !important;
}
@media (max-width: 767px) {
    #tour-carousel .owl-nav { width: calc(100% + 20px); left: -10px; }
    .tour-section-title { font-size: 1.8rem; }
}

/* ── YouTube Lightbox ── */
.imr-yt-lightbox {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.92);
    z-index: 99999;
    align-items: center;
    justify-content: center;
    padding: 16px;
}
.imr-yt-lightbox.open {
    display: flex;
    animation: IMRFadeIn .2s ease;
}
.imr-yt-inner {
    position: relative;
    width: 100%;
    max-width: 900px;
    background: #000;
    border-radius: 8px;
    overflow: hidden;
}
.imr-yt-ratio {
    position: relative;
    padding-top: 56.25%;
}
.imr-yt-ratio iframe {
    position: absolute;
    inset: 0;
    width: 100%; height: 100%;
    border: none;
}
.imr-yt-close {
    position: absolute;
    top: -40px; right: 0;
    background: none; border: none;
    color: #fff; font-size: 30px;
    cursor: pointer; line-height: 1;
    transition: transform .2s;
}
.imr-yt-close:hover { transform: rotate(90deg); }


.alumni-overlap-box {
    background-color: #01152C;
    position: relative;
    min-height: 240px;
    display: flex;
    align-items: center;
    margin-left: 120px;
    margin-top: 50px;
    margin-bottom: 50px;
}
.alumni-overlap-img {
    position: absolute;
    left: -120px;
    top: 50%;
    transform: translateY(-50%);
    width: 260px;
    height: 260px;
    z-index: 2;
    box-shadow: 0 5px 20px rgba(0,0,0,0.3);
    background: #fff;
}
.alumni-overlap-content {
    padding-left: 180px;
    padding-right: 40px;
    padding-top: 40px;
    padding-bottom: 40px;
    width: 100%;
}
@media (max-width: 991px) {
    .alumni-overlap-box {
        margin-left: 0;
        margin-top: 100px;
        flex-direction: column;
        text-align: center;
    }
    .alumni-overlap-img {
        left: 50%;
        top: -100px;
        transform: translateX(-50%);
        width: 180px;
        height: 180px;
    }
    .alumni-overlap-content {
        padding-left: 20px;
        padding-right: 20px;
        padding-top: 100px;
    }
}