/* ============================================================
   IIBFM — modern UI overlay (loaded after style.css).
   Refreshes the look without touching the template markup.
   Brand gold (#ffbc3b) paired with a deep navy for a premium,
   modern finance-institute feel.
   ============================================================ */
:root {
  --ib-gold: #ffbc3b;
  --ib-gold-d: #f0a500;
  --ib-navy: #0c1e3a;
  --ib-navy-2: #122a4d;
  --ib-ink: #1f2a44;
  --ib-soft: #f6f8fc;
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; color: var(--ib-ink); letter-spacing: .1px; }
img { image-rendering: auto; }

/* ---------- Buttons ---------- */
.btn {
  border-radius: 999px !important;
  font-weight: 600;
  letter-spacing: .2px;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.btn-primary {
  background: linear-gradient(135deg, #ffc861, var(--ib-gold-d)) !important;
  border: none !important;
  color: #1a1306 !important;
  box-shadow: 0 8px 20px rgba(240, 165, 0, .25);
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(240, 165, 0, .38);
  color: #1a1306 !important;
  background: linear-gradient(135deg, #ffc861, #e89c00) !important;
}
.btn-primary::before { display: none !important; }
.btn-outline-primary { border-radius: 999px !important; border-color: var(--ib-gold-d); color: var(--ib-gold-d); }
.btn-outline-primary:hover { background: var(--ib-gold-d); color: #fff; }

/* ---------- Navbar ----------
   NOTE: the template's header uses a split gradient on `.navigation`
   (transparent left for the logo, gold right for the white nav links).
   We intentionally do NOT touch the navbar background here. Only a soft
   shadow on the fixed header for a bit of depth. */
.header.fixed-top { box-shadow: 0 4px 18px rgba(12, 30, 58, .08); }
.navbar .nav-link { font-weight: 500; }

/* ---------- Cards ---------- */
.card {
  border-radius: 16px !important;
  overflow: hidden;
  border: 1px solid #eef1f6 !important;
  box-shadow: 0 8px 28px rgba(12, 30, 58, .07);
  transition: transform .28s ease, box-shadow .28s ease;
}
.card:hover { transform: translateY(-6px); box-shadow: 0 22px 46px rgba(12, 30, 58, .13); }
.card .card-title { font-weight: 600; }
.card .card-img-top { transition: transform .4s ease; }
.card:hover .card-img-top { transform: scale(1.04); }
.hover-shadow:hover { box-shadow: 0 22px 46px rgba(12, 30, 58, .13) !important; }

/* ---------- Sections & headings ---------- */
.section-title { font-weight: 700; }
h1, h2, h3, h4 { letter-spacing: -.2px; }
.bg-light, .bg-gray { background: var(--ib-soft) !important; }

/* ---------- Forms ---------- */
.form-control { border-radius: 12px; border-color: #e5e9f2; padding: .65rem 1rem; transition: border-color .15s, box-shadow .15s; }
.form-control:focus { border-color: var(--ib-gold-d); box-shadow: 0 0 0 .2rem rgba(255, 188, 59, .18); }

/* ---------- Newsletter (modernised) ---------- */
.newsletter-block {
  background: linear-gradient(135deg, var(--ib-navy), var(--ib-navy-2)) !important;
  border-radius: 22px !important;
  box-shadow: 0 26px 60px rgba(12, 30, 58, .28);
  position: relative; overflow: hidden;
}
.newsletter-block::after {
  content: ""; position: absolute; top: -40px; right: -40px; width: 180px; height: 180px;
  background: radial-gradient(circle, rgba(255, 188, 59, .35), transparent 70%); pointer-events: none;
}
.newsletter-block h3 { font-weight: 700; }
.newsletter-block .input-wrapper { position: relative; max-width: 520px; }
.newsletter-block .form-control { border-radius: 999px; padding: .85rem 1.25rem; }
.newsletter-block .btn { padding: .7rem 1.6rem; }
.ib-newsletter-msg { display: none; margin-top: .85rem; font-weight: 600; color: #fff; }
.ib-newsletter-msg.show { display: block; animation: ibFade .4s ease; }
@keyframes ibFade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* ---------- Footer polish ---------- */
.bg-footer { background: var(--ib-navy) !important; }
.copyright { color: #aebbd2; }

/* ---------- Misc niceties ---------- */
::selection { background: rgba(255, 188, 59, .35); }
.page-title-section { background-blend-mode: multiply; }
a { transition: color .15s ease; }
.preloader { transition: opacity .3s ease; }

/* Rounded media in content */
.section img.img-fluid, .rounded-lg { border-radius: 14px; }
