/* -------------------------------------------------------------------------- */
/*                                Falcon Button                               */
/* -------------------------------------------------------------------------- */
     [data-bs-theme="dark"] body.bg {
        background: linear-gradient(135deg, #050e1d 0%, #091525 60%, #040c18 100%) !important;
      }
      [data-bs-theme="dark"] body { color: #c8d6e8; }
    
      [data-bs-theme="dark"] .card {
        background-color: transparent !important;
        border-color: #1c2e44 !important;
        color: #c8d6e8 !important;
      }
      [data-bs-theme="dark"] .card-header {
        background-color: #0c1624 !important;
        border-bottom-color: #1c2e44 !important;
        color: #dde8f8 !important;
      }
      [data-bs-theme="dark"] .card-footer {
        background-color: #0c1624 !important;
        border-top-color: #1c2e44 !important;
      }
      [data-bs-theme="dark"] .card-body {
        background-color: #101c2d !important;
      }
      [data-bs-theme="dark"] .card-footer a { color: #5ba3f5 !important; }
      [data-bs-theme="dark"] .text-muted { color: #7a8fa8 !important; }
      [data-bs-theme="dark"] h2, [data-bs-theme="dark"] h5, [data-bs-theme="dark"] h6 { color: #dde8f8 !important; }
      [data-bs-theme="dark"] p { color: #9ab0c8 !important; }
      [data-bs-theme="dark"] .news-item { border-bottom-color: #1c2e44 !important; }
      [data-bs-theme="dark"] .news-item h6 { color: #d0dff0 !important; }
      [data-bs-theme="dark"] .badge.bg-soft-primary {
        background-color: rgba(0,114,255,0.2) !important;
        color: #5ba3f5 !important;
      }
      [data-bs-theme="dark"] .newsletter-book { background: #101c2d !important; }
      [data-bs-theme="dark"] .book-spread img { background: #101c2d !important; }
      [data-bs-theme="dark"] section.py-6 { background-color: #080f1c; }
    
      /* Smooth transitions */
      *, *::before, *::after {
        transition: background-color 0.25s ease, border-color 0.2s ease, color 0.2s ease;
      }
      /* ── Overflow fix ── */
body {
  overflow-x: clip;
}

/* ── Canvas z-index fix ── */
body > *:not(#bg-canvas) {
  position: relative;
  z-index: 1;
}

/* ── Hero banner circle clip ── */
.hero-banner {
  overflow: hidden;
}

/* ── Grid mobile overflow fix ── */
.news-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
}
.highlights-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr));
}

/* ── Contact text wrap ── */
.contact-block p,
.contact-block a {
  word-break: break-word;
}

/* ── Messenger floating button ── */
.messenger-btn {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 9998;
  background: #0084ff;
  border-radius: 50%;
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(0,132,255,0.45);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  text-decoration: none;
}
.messenger-btn:hover {
  transform: scale(1.1);
  box-shadow: 0 8px 24px rgba(0,132,255,0.55);
}

/* -------------------------------------------------------------------------- */
/*  Page title default style (match Downloadables h2) applied site-wide except  */
/*  for the homepage which is identified by body.home                              */
/* -------------------------------------------------------------------------- */
body:not(.home) .container h1,
body:not(.home) .container h2,
body:not(.home) .page-hero__title,
body:not(.home) .display-4,
body:not(.home) .sci-posts-title,
body:not(.home) .pub-card__title,
body:not(.home) .archive-section h2 {
  font-family: Poppins, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  color: #ffffff !important;
  font-weight: 700 !important;
  text-align: center !important;
  margin-bottom: 1rem !important;
}

/* Sizes */
body:not(.home) .container h1,
body:not(.home) .page-hero__title,
body:not(.home) .display-4 { font-size: clamp(2rem, 4.5vw, 3rem); }
body:not(.home) .container h2,
body:not(.home) .sci-posts-title,
body:not(.home) .pub-card__title,
body:not(.home) .archive-section h2 { font-size: clamp(1.5rem, 3.2vw, 2rem); }

/* Maintain upstream spacing utilities */
body:not(.home) .mb-4 { margin-bottom: 1.5rem !important; }

/* About hero (used on about/history-style pages and Downloadables) */
.about-hero {
  background: linear-gradient(90deg, rgba(255,255,255,0.03), rgba(255,255,255,0.02));
  text-align: center;
  padding: 48px 16px 64px;
  border-radius: 12px;
}
.about-hero h1 {
  font-size: 2.5rem;
  font-weight: 800;
  color: #fff;
  margin-bottom: 10px;
  letter-spacing: -0.5px;
}
.about-hero p {
  font-size: 1.1rem;
  color: rgba(255,255,255,0.9);
  margin: 0;
}
 