.site-footer a.link-light { opacity: .9; text-decoration: none; }
.site-footer a.link-light:hover { opacity: 1; text-decoration: underline; }

.page-content h2 { margin-top: 1.25rem; }
.page-content p, .page-content li { line-height: 1.75; }


/* Navy navbar (matches footer #0b1b3b) */
.navbar-navy { background:#0b1b3b; }
.navbar-navy .navbar-brand { color:#fff; }
.navbar-navy .navbar-brand:hover { color:#fff; }
.navbar-navy .nav-link { color:rgba(255,255,255,.85); }
.navbar-navy .nav-link:hover,
.navbar-navy .nav-link:focus { color:#fff; }
.navbar-navy .nav-link.active { color:#fff; font-weight:600; }



/* If some pages still have this class, make it no-op */
body.has-fixed-nav { padding-top: 0 !important; }

/* (keep this — it’s helpful for anchor links) */
h1, h2, h3, h4, h5, h6 { scroll-margin-top: 84px; }

/* =========================
   Fixed navbar offset
   ========================= */
:root { --nav-h: 64px; }                /* default navbar height */
@media (min-width: 992px){ :root { --nav-h: 72px; } }
@media (min-width: 1400px){ :root { --nav-h: 76px; } }

/* Push page content below fixed nav (apply on <body class="has-fixed-nav">) */
body.has-fixed-nav { padding-top: calc(var(--nav-h) + 6px); }

/* Prevent anchored headings from hiding under the fixed nav */
h1, h2, h3, h4, h5, h6 { scroll-margin-top: calc(var(--nav-h) + 12px); }

/* Optional: a mild blur/glass effect so the nav feels lighter when scrolling */
.navbar.fixed-top, .navbar.sticky-top {
  background: rgba(255,255,255,.92) !important;
  backdrop-filter: saturate(160%) blur(6px);
  -webkit-backdrop-filter: saturate(160%) blur(6px);
  border-bottom: 1px solid rgba(0,0,0,.06);
}

/* =========================
   Content & media safety
   ========================= */
.post-content img,
article img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 1rem auto;
  border-radius: .5rem;
}

/* Cards on the home grid: keep cover images consistent */
.card-img-top {
  object-fit: cover;
  width: 100%;
  /* Use a nice default ratio; adjust if you prefer */
  aspect-ratio: 16 / 9;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

/* Small label/badge styling (categories, etc.) */
.badge, .label, .tag {
  font-weight: 600;
  letter-spacing: .02em;
}

/* =========================
   Cookie Banner Styles
   ========================= */
#cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #2b2b2b;
  color: #fff;
  text-align: center;
  padding: 14px;
  font-size: 15px;
  box-shadow: 0 -2px 10px rgba(0,0,0,0.3);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  z-index: 9999;
}
#cookie-banner p { margin: 0; }
#cookie-banner a { color: #00c853; text-decoration: underline; }
#cookie-banner button {
  background: #00c853;
  color: #fff;
  border: none;
  padding: 8px 16px;
  cursor: pointer;
  border-radius: 4px;
  font-weight: bold;
}
#cookie-banner button:hover { background: #00a846; }

/* =========================
   Navy footer
   ========================= */
.site-footer { background: #0b1b3b; color: #ffffff; }
.site-footer .footer-brand strong { color: #ffffff; }
.site-footer .footer-link { color: #dbeafe; text-decoration: none; }
.site-footer .footer-link:hover { color: #ffffff; text-decoration: underline; }
.site-footer hr { border-color: rgba(255,255,255,.15); }
.site-footer svg { vertical-align: middle; }

/* Stick footer to the bottom on short pages */
html, body { height: 100%; }
body { display: flex; flex-direction: column; }
main { flex: 1 0 auto; }
.site-footer { flex-shrink: 0; }
