/* Standard site styles — set Poppins as the default font across the app */
:root {
  /* Preferred font stack with robust fallbacks */
  --bbp-font-stack: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  /* Override Bootstrap's body font variable */
  --bs-body-font-family: var(--bbp-font-stack);
}

body {
  font-family: var(--bs-body-font-family);
}

/* Optional: ensure headings also use the body stack (Bootstrap already inherits) */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--bbp-font-stack);
}

/* You can add more site-wide styles below */

/* Brand logo defaults */
.brand-logo{
  height: 28px;
  width: auto;
  display: block;
}

@media (min-width: 992px){
  .brand-logo{ height: 30px; }
}
/* Sticky footer layout: footer stays at bottom when content is short */
html { height: 100%; }
body {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}
/* Prevent accidental horizontal scrollbars site-wide */
html, body { overflow-x: hidden; }
/* Make the first top-level container take remaining space */
body > .container-xxl { flex: 1 0 auto; }

  /* Global mobile tweaks across pages */
  @media (max-width: 575.98px) {
    .hero-panel {
      padding: 1.25rem !important;
    }
    .brand-logo {
      width: 40px;
      height: auto;
    }
    .offcanvas .nav-link {
      padding: 0.75rem 0;
      font-size: 1.125rem;
    }
  }
/* Footer pushes to the bottom when space remains */
.site-footer { margin-top: auto; }

/* Make images naturally responsive site-wide */
img { max-width: 100%; height: auto; }

/* Extra global responsiveness for small screens */
@media (max-width: 575.98px) {
  .container-xxl {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  /* Scale prominent hero headings across pages without changing HTML */
  .hero-panel h1 { font-size: 2rem; line-height: 1.2; }
  .lead { font-size: 1rem; }
  /* Full-width primary CTA buttons if used */
  .btn-cta { width: 100%; justify-content: center; }
  /* Hide purely decorative dotted waves on small screens */
  .dot-wave { display: none !important; }
}
@media (max-width: 767.98px) {
  .hero-panel { padding: 1.5rem !important; }
  .hero-panel h1 { font-size: 2.25rem; }
}
