/* ═══════════════════════════════════════════════
   theme.css — Bootstrap CSS-variable overrides ONLY
   Zero custom classes. Element selectors only.
   ═══════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;0,900;1,400&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600&display=swap');

/* ── 1. Bootstrap root-level token overrides ── */
:root {
  /* Brand colours */
  --bs-primary:              #1e6ab5;
  --bs-primary-rgb:          30,106,181;
  --bs-warning:              #f59e0b;
  --bs-warning-rgb:          245,158,11;
  --bs-dark:                 #0a1628;
  --bs-dark-rgb:             10,22,40;
  --bs-light:                #f8fafc;
  --bs-light-rgb:            248,250,252;
  /* Typography */
  --bs-body-font-family:     'DM Sans', system-ui, sans-serif;
  --bs-body-line-height:     1.72;
  /* Border-radius */
  --bs-border-radius:        .75rem;
  --bs-border-radius-lg:     1.25rem;
  --bs-border-radius-pill:   50rem;
  /* Buttons */
  --bs-btn-padding-x:        1.35rem;
  --bs-btn-padding-y:        .6rem;
  --bs-btn-font-weight:      600;
  --bs-btn-border-radius:    50rem;
}

/* ── 2. Heading font — element selector, not a class ── */
h1,h2,h3,h4,
.display-1,.display-2,.display-3,.display-4,.display-5,.display-6 {
  font-family: 'Playfair Display', Georgia, serif;
}

/* ── 3. Bootstrap component-variable overrides ── */
/* btn-primary */
.btn-primary {
  --bs-btn-bg:                  #1e6ab5;
  --bs-btn-border-color:        #1e6ab5;
  --bs-btn-hover-bg:            #155a99;
  --bs-btn-hover-border-color:  #155a99;
  --bs-btn-active-bg:           #0f4a80;
  --bs-btn-color:               #fff;
  --bs-btn-hover-color:         #fff;
  --bs-btn-active-color:        #fff;
}
/* btn-warning keeps dark text */
.btn-warning {
  --bs-btn-bg:                  #f59e0b;
  --bs-btn-border-color:        #f59e0b;
  --bs-btn-hover-bg:            #d97706;
  --bs-btn-hover-border-color:  #d97706;
  --bs-btn-color:               #0a1628;
  --bs-btn-hover-color:         #0a1628;
  --bs-btn-active-color:        #0a1628;
  --bs-btn-active-bg:           #b45309;
}
/* badge */
.badge.bg-warning { color: #0a1628 !important; }
/* navbar */
.navbar .nav-link.active,
.navbar .nav-link:hover { color: var(--bs-primary) !important; }
/* card hover lift — applies to Bootstrap's .card */
.card { transition: transform .22s ease, box-shadow .22s ease; }
.card:hover { transform: translateY(-4px); box-shadow: 0 12px 36px rgba(0,0,0,.12) !important; }
/* smooth scroll */
html { scroll-behavior: smooth; }
/* accordion flush border */
.accordion-button:not(.collapsed) { color: var(--bs-primary); }
/* sticky sidebar top offset */
.sticky-top { top: 76px; }
/* Override Bootstrap's sticky-top z-index for navbar only */
nav.sticky-top { top: 0; z-index: 1030; }
