/* ============================================================
   BFSI Academy – Phase 2 Main Stylesheet
   Bootstrap 5 + Custom Design System
   ============================================================ */

:root {
  --navy:       #1E3A4C;
  --navy-dark:  #152b3a;
  --navy-light: #2a4d62;
  --green:      #1F4D3A;
  --gold:       #C8A24D;
  --gold-light: #d9b86a;
  --gold-dark:  #a8842d;
  --off-white:  #f8f6f0;
  --font-head:  'Playfair Display', Georgia, serif;
  --font-body:  'Inter', -apple-system, sans-serif;
}

body { font-family: var(--font-body); color: #3a3a4a; }

/* ── Buttons ─────────────────────────────────────────────── */
.btn-gold { background: var(--gold); color: var(--navy-dark); border: 2px solid var(--gold); font-weight: 600; transition: all .3s ease; }
.btn-gold:hover { background: var(--gold-light); border-color: var(--gold-light); color: var(--navy-dark); transform: translateY(-1px); box-shadow: 0 4px 16px rgba(200,162,77,.35); }
.btn-navy { background: var(--navy); color: #fff; border: 2px solid var(--navy); font-weight: 600; }
.btn-navy:hover { background: var(--navy-dark); color: #fff; }
.btn-outline-navy { color: var(--navy); border: 2px solid var(--navy); background: transparent; font-weight: 600; }
.btn-outline-navy:hover { background: var(--navy); color: #fff; }
.btn-xs { padding: 3px 10px; font-size: .75rem; border-radius: 4px; }

/* ── Navbar ──────────────────────────────────────────────── */
.bfsi-navbar { background: rgba(255,255,255,.97) !important; backdrop-filter: blur(8px); border-bottom: 1px solid transparent; transition: all .3s ease; box-shadow: none; }
.bfsi-navbar.scrolled { border-bottom-color: #e4e6ea; box-shadow: 0 2px 12px rgba(0,0,0,.07); }
.bfsi-navbar .nav-link { font-weight: 500; color: #3a3a4a !important; font-size: .9rem; position: relative; }
.bfsi-navbar .nav-link::after { content:''; position:absolute; bottom:-2px; left:0; width:0; height:2px; background:var(--gold); transition:width .3s; }
.bfsi-navbar .nav-link:hover { color: var(--navy) !important; }
.bfsi-navbar .nav-link:hover::after { width:100%; }
.logo-img { object-fit: contain; }

/* ── Hero Slider ─────────────────────────────────────────── */
.hero-slider { margin-top: 0; }
.carousel-bg-img { height: 520px; object-fit: cover; filter: brightness(.55); }
.carousel-bg-default { height: 520px; background: linear-gradient(135deg, var(--navy-dark) 0%, var(--navy) 50%, var(--green) 100%); }
.carousel-item { position: relative; }
.carousel-caption { position: absolute; inset: 0; padding: 80px 0 40px; }
.slide-badge { display:inline-block; background:rgba(200,162,77,.2); border:1px solid rgba(200,162,77,.5); color:var(--gold); font-size:.75rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; padding:5px 14px; border-radius:100px; }
.slide-title { font-family:var(--font-head); font-size:clamp(2rem,4vw,3.2rem); font-weight:700; color:#fff; line-height:1.2; margin-bottom:16px; }
.slide-subtitle { font-size:1.05rem; color:rgba(255,255,255,.8); max-width:600px; margin:0 auto; }

/* Fallback hero */
.hero-fallback { background: linear-gradient(135deg, var(--navy-dark) 0%, var(--navy) 60%, var(--green) 100%); padding: 120px 0 80px; }
.hero-title { font-family:var(--font-head); font-size:clamp(2rem,4vw,3.2rem); font-weight:700; color:#fff; line-height:1.2; }
.hero-title em { color:var(--gold); font-style:italic; }
.hero-sub { color:rgba(255,255,255,.75); font-size:1.05rem; max-width:520px; margin:0 auto; }

/* Trust bar */
.trust-bar { background: var(--navy-dark); padding: 20px 0; }
.trust-item { display:flex; flex-direction:column; align-items:center; border-right:1px solid rgba(255,255,255,.1); }
.trust-item:last-child { border-right:none; }
.trust-num { font-family:var(--font-head); font-size:1.8rem; font-weight:700; color:var(--gold); line-height:1; }
.trust-label { font-size:.7rem; font-weight:600; color:rgba(255,255,255,.5); text-transform:uppercase; letter-spacing:.05em; margin-top:4px; }

/* ── Sections ────────────────────────────────────────────── */
.section-pad { padding: 88px 0; }
.eyebrow { display:inline-block; font-size:.75rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); margin-bottom:10px; }
.section-title { font-family:var(--font-head); font-size:clamp(1.7rem,3vw,2.4rem); font-weight:700; color:var(--navy); line-height:1.25; margin-bottom:16px; }
.section-title em { font-style:italic; color:var(--gold-dark); }
.section-intro { font-size:1rem; color:#6b7280; line-height:1.8; max-width:640px; }

/* ── Feature Cards ───────────────────────────────────────── */
.feature-card { background:#fff; border:1px solid #e4e6ea; border-radius:12px; padding:28px 24px; box-shadow:0 2px 12px rgba(30,58,76,.07); transition:all .3s ease; }
.feature-card:hover { transform:translateY(-6px); box-shadow:0 8px 32px rgba(30,58,76,.12); border-color:var(--gold); }
.feature-icon { width:48px; height:48px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:1.3rem; margin-bottom:16px; }
.icon-navy  { background:rgba(30,58,76,.1); }
.icon-green { background:rgba(31,77,58,.1); }
.icon-gold  { background:rgba(200,162,77,.12); }
.feature-card h5 { font-family:var(--font-head); font-size:1rem; font-weight:600; color:var(--navy); margin-bottom:10px; }
.feature-card p  { font-size:.88rem; color:#6b7280; line-height:1.65; margin:0; }

/* ── Program Cards ───────────────────────────────────────── */
.program-card { background:#fff; border:1px solid #e4e6ea; border-radius:12px; padding:28px 24px; display:flex; flex-direction:column; transition:all .3s ease; box-shadow:0 2px 10px rgba(30,58,76,.06); }
.program-card:hover { transform:translateY(-5px); box-shadow:0 8px 28px rgba(30,58,76,.12); border-color:var(--navy); }
.program-card--gold { border-color:var(--gold); background:linear-gradient(135deg,#fff 0%,rgba(200,162,77,.04) 100%); }
.prog-badge { display:inline-block; padding:3px 12px; border-radius:100px; font-size:.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.badge-navy { background:rgba(30,58,76,.08); color:var(--navy); }
.badge-gold { background:rgba(200,162,77,.15); color:var(--gold-dark); }
.program-card h5 { font-family:var(--font-head); font-size:1rem; font-weight:600; color:var(--navy); line-height:1.3; }
.program-card p  { font-size:.88rem; color:#6b7280; line-height:1.65; }
.prog-meta { font-size:.78rem; font-weight:600; color:#9ca3af; }

/* ── Placement ───────────────────────────────────────────── */
.placement-list { list-style:none; padding:0; margin:0; }
.placement-list li { display:flex; gap:16px; align-items:flex-start; margin-bottom:24px; }
.pl-icon { font-size:1.3rem; width:40px; height:40px; background:rgba(30,58,76,.07); border-radius:10px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.placement-list strong { display:block; font-size:.92rem; font-weight:600; color:var(--navy); margin-bottom:4px; }
.placement-list p { font-size:.86rem; color:#6b7280; margin:0; line-height:1.6; }
.placement-panel { background:var(--navy); border-radius:16px; padding:32px; }
.pp-stat { text-align:center; }
.pp-num { font-family:var(--font-head); font-size:2.5rem; font-weight:700; color:var(--gold); line-height:1; }
.pp-label { font-size:.75rem; font-weight:600; color:rgba(255,255,255,.5); text-transform:uppercase; letter-spacing:.06em; margin-top:6px; }
.pp-item { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:8px; padding:14px; color:#fff; }
.pp-item strong { display:block; font-size:.9rem; }
.pp-item small { color:rgba(255,255,255,.5); }
.pp-disclaimer { font-size:.75rem; color:rgba(255,255,255,.4); border-left:3px solid var(--gold); padding:8px 12px; margin:0; line-height:1.6; }

/* ── Contact / Enquiry ───────────────────────────────────── */
.contact-list { display:flex; flex-direction:column; gap:12px; }
.contact-item { display:flex; align-items:center; gap:10px; font-size:.95rem; font-weight:500; color:var(--navy); text-decoration:none; transition:color .2s; }
.contact-item:hover { color:var(--gold-dark); }
.form-card { background:#fff; border-radius:12px; padding:40px 36px; box-shadow:0 8px 40px rgba(30,58,76,.1); border:1px solid #e4e6ea; }

/* ── Footer ──────────────────────────────────────────────── */
.bfsi-footer { background: var(--navy-dark); color:rgba(255,255,255,.7); }
.footer-logo-img { object-fit:contain; filter:brightness(0) invert(1); }
.footer-about { font-size:.85rem; line-height:1.75; max-width:280px; }
.footer-heading { font-family:var(--font-head); font-size:.9rem; font-weight:600; color:var(--gold); margin-bottom:16px; }
.footer-links { list-style:none; padding:0; margin:0; }
.footer-links li { margin-bottom:8px; }
.footer-links a { font-size:.85rem; color:rgba(255,255,255,.6); transition:color .2s; text-decoration:none; }
.footer-links a:hover { color:var(--gold); }
.footer-contact-list { list-style:none; padding:0; margin:0; }
.footer-contact-list li { margin-bottom:10px; }
.footer-contact-list a { font-size:.85rem; color:rgba(255,255,255,.65); text-decoration:none; transition:color .2s; }
.footer-contact-list a:hover { color:var(--gold); }
.footer-bottom { border-top:1px solid rgba(255,255,255,.1); padding:20px 0; }
.footer-bottom p { font-size:.78rem; color:rgba(255,255,255,.4); }
.footer-disclaimer { font-size:.7rem !important; margin-top:4px; }

/* ── Fade-in animation ───────────────────────────────────── */
.fade-in { opacity:0; transform:translateY(20px); transition:opacity .6s ease, transform .6s ease; }
.fade-in.visible { opacity:1; transform:translateY(0); }

@media (max-width:768px) {
  .section-pad { padding: 60px 0; }
  .carousel-bg-img, .carousel-bg-default { height: 380px; }
  .slide-title { font-size: 1.6rem; }
  .form-card { padding: 24px 20px; }
}
