/* =====================================================================
   ILACAD shared theme  -  v1
   Loaded once from footer.php, so every page that has the footer gets it.
   Colours: deep purple #701a75 / #3b0a40, gold #eab308, soft lavender #faf4fb
   No sliding animations - only gentle fades and hover lifts.
   ===================================================================== */
:root {
  --il-purple: #701a75;
  --il-purple-2: #8a1c8f;
  --il-deep: #3b0a40;
  --il-gold: #eab308;
  --il-soft: #faf4fb;
  --il-ink: #2d2433;
  --il-radius: 20px;
  --il-shadow: 0 10px 30px rgba(60, 10, 64, .12);
  --il-shadow-hover: 0 18px 44px rgba(112, 26, 117, .24);
}

html { scroll-behavior: smooth; }
body { font-family: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif; color: var(--il-ink); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
h1, h2, h3, h4, h5, h6 { font-family: 'Poppins', 'Inter', 'Segoe UI', sans-serif; }
::selection { background: var(--il-purple); color: #fff; }
img { image-rendering: auto; }

/* ---------- Top menu bar ---------- */
#navbar { background: linear-gradient(90deg, #6b0f70 0%, #8a1c8f 100%) !important; box-shadow: 0 6px 22px rgba(60, 10, 64, .28); }
#navbar a { transition: color .35s ease, opacity .35s ease; }
#navbar a:hover { color: var(--il-gold) !important; }

/* ---------- Page banners (hero strip on inner pages) ---------- */
.banner { position: relative; overflow: hidden; }
.banner > img { transition: transform 8s ease; transform: scale(1.02); }
.banner > .bg-black { background: linear-gradient(135deg, rgba(59, 10, 64, .78) 0%, rgba(20, 5, 24, .45) 100%) !important; opacity: 1 !important; }
.banner h1 { font-weight: 700; letter-spacing: .12em; text-shadow: 0 4px 22px rgba(0, 0, 0, .35); position: relative; padding-bottom: 18px; }
.banner h1::after { content: ""; position: absolute; left: 50%; bottom: 0; width: 70px; height: 3px; margin-left: -35px; border-radius: 3px; background: var(--il-gold); }

/* ---------- Purple title bars ---------- */
.full-width-container.bg-fuchsia-900 { background: linear-gradient(135deg, #701a75 0%, #4a0f4f 100%) !important; }
.full-width-container.bg-fuchsia-900 h2 { margin: 0 !important; padding: 26px 16px 30px !important; letter-spacing: .08em; position: relative; }
.full-width-container.bg-fuchsia-900 h2::after { content: ""; display: block; width: 64px; height: 3px; border-radius: 3px; background: var(--il-gold); margin: 12px auto 0; }

/* ---------- Cards, photos, panels ---------- */
.rounded-lg.shadow-md, .rounded-lg.shadow, .rounded.shadow, .shadow-lg.rounded-lg { border-radius: var(--il-radius) !important; box-shadow: var(--il-shadow) !important; transition: box-shadow .5s ease, transform .5s ease; }
.rounded-lg.shadow-md:hover, .shadow-lg.rounded-lg:hover { box-shadow: var(--il-shadow-hover) !important; }
img.rounded, img.rounded-lg { border-radius: var(--il-radius) !important; }
main img, section img { max-width: 100%; }
.card:has(.card-img-top) { border: 0; border-radius: 18px; overflow: hidden; box-shadow: 0 6px 22px rgba(60, 20, 70, .10); transition: box-shadow .5s ease, transform .5s ease; }
.card:has(.card-img-top):hover { box-shadow: var(--il-shadow-hover); transform: translateY(-3px); }
.card-img-top { transition: transform .8s ease; }
.card:hover .card-img-top { transform: scale(1.04); }

/* ---------- Buttons ---------- */
.btn-custom, .submit-btn, .btn-primary { border-radius: 50px !important; transition: background-color .35s ease, box-shadow .35s ease, transform .35s ease, color .35s ease !important; }
.btn-custom:hover, .submit-btn:hover { box-shadow: 0 10px 24px rgba(112, 26, 117, .35) !important; transform: translateY(-2px); }

/* ---------- Body text rhythm ---------- */
main p, section p { line-height: 1.75; }
.text-justify { text-align: left !important; hyphens: none !important; }

/* ---------- Floating Quick Enquiry (fix: no stray unstyled form on laptop widths) ---------- */
.popover-custom { display: none; }
.fixed-enquiry-btn { background: linear-gradient(135deg, #8a1c8f, #701a75) !important; box-shadow: 0 10px 26px rgba(112, 26, 117, .4) !important; letter-spacing: .02em; }
.fixed-enquiry-btn:hover { background: linear-gradient(135deg, #3b0a40, #701a75) !important; transform: translateY(-2px); }

/* ---------- Footer ---------- */
.site-footer { background: linear-gradient(160deg, #3b0a40 0%, #1d0521 100%) !important; color: rgba(255, 255, 255, .86); position: relative; padding-top: 64px !important; padding-bottom: 28px !important; }
.site-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, var(--il-gold), #c026d3, var(--il-gold)); }
.site-footer > .container { max-width: 1180px; padding: 0 20px; }
.site-footer p, .site-footer li, .site-footer a { font-size: .95rem; line-height: 1.8; color: rgba(255, 255, 255, .86) !important; }
.site-footer h6 { color: #fff !important; font-weight: 600; letter-spacing: .1em; font-size: .95rem !important; margin-bottom: 14px; padding-bottom: 12px; position: relative; }
.site-footer h6::after { content: ""; position: absolute; left: 0; bottom: 0; width: 36px; height: 3px; border-radius: 3px; background: var(--il-gold); }
.site-footer img { filter: drop-shadow(0 4px 14px rgba(0, 0, 0, .25)); }
.site-footer ul li { margin-bottom: 4px; }
.site-footer a { text-decoration: none !important; transition: color .3s ease, opacity .3s ease; }
.site-footer a:hover { color: var(--il-gold) !important; }
.site-footer ul.flex { gap: 10px; flex-wrap: wrap; }
.site-footer ul.flex li { margin: 0 !important; }
.site-footer ul.flex a { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: rgba(255, 255, 255, .1); transition: background .35s ease, transform .35s ease, color .35s ease; }
.site-footer ul.flex a:hover { background: var(--il-gold); color: #2d1330 !important; transform: translateY(-3px); }
.site-footer .slider-container { background: transparent !important; padding: 18px 0 0 !important; margin-top: 14px; border-top: 1px solid rgba(255, 255, 255, .14); }
.site-footer .slider-text, .site-footer .slider-text span { color: rgba(255, 255, 255, .6) !important; font-size: .88rem; }
.site-footer .w-full { border-top: 0; }
.site-footer .footer p { animation: none; }
.site-footer h6, .site-footer p, .site-footer ul, .site-footer a { animation: none !important; }

/* ---------- Gentle fade-in (added by JS to cards/sections) ---------- */
.il-sr { opacity: 0; transform: scale(.98); transition: opacity 1s ease, transform 1s ease; }
.il-sr.il-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .il-sr { opacity: 1; transform: none; transition: none; }
  .banner > img { transition: none; }
}

@media (max-width: 768px) {
  .banner h1 { letter-spacing: .06em; }
  .site-footer { padding-top: 44px !important; }
}

/* ---------- Faculty page: clean photo cards, names always visible (also shown on phones) ---------- */
.container2 { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 34px 28px; max-width: 1180px; margin: 0 auto; padding: 56px 20px 72px; min-height: 0 !important; }
.container2 .card { width: auto; height: auto; background: #fff; border-radius: 22px; overflow: hidden; box-shadow: var(--il-shadow); display: block; transition: box-shadow .5s ease, transform .5s ease; }
.container2 .card::before, .container2 .card::after { display: none !important; }
.container2 .card:hover { transform: translateY(-4px); box-shadow: var(--il-shadow-hover); }
.container2 .card .content { display: block; height: auto; padding: 0; gap: 0; background: transparent; overflow: hidden; border-radius: 0; z-index: auto; }
.container2 .faculty-image { display: block; width: 100%; height: 300px; object-fit: cover; object-position: center top; border-radius: 0 !important; margin: 0; transition: transform .8s ease; }
.container2 .card:hover .faculty-image { transform: scale(1.05); }
.container2 .card .text { position: static; transform: none !important; background: #fff; padding: 16px 14px 22px; z-index: 1; position: relative; }
.container2 .card .text h3 { color: var(--il-purple); font-size: 1.05rem; font-weight: 600; margin: 0 0 4px; text-align: center; }
.container2 .card .text h5 { color: #6b6272; font-size: .85rem; font-weight: 400; line-height: 1.45; margin: 0; text-align: center; }
@media (max-width: 768px) {
  .container2 { display: grid !important; grid-template-columns: repeat(2, 1fr); gap: 18px 14px; padding: 36px 14px 48px; }
  .container2 .faculty-image { height: 200px; }
  .container2 .card .text h3 { font-size: .92rem; }
  .container2 .card .text h5 { font-size: .75rem; }
}
