/* ============================================================
   Supercharged Scientific — Consolidated Responsive CSS
   Replaces all previous Additional CSS iterations
   ============================================================ */

:root {
  --site-pad: 32px;      /* consistent side breathing room at every width */
  --content-max: 1600px; /* cap for content/card sections on large/4K/ultrawide screens */
  --text-max: 1300px;    /* cap for hero/body text so lines stay readable */
}

/* Safety net: nothing can ever cause horizontal scroll */
html, body { overflow-x: hidden; max-width: 100%; }
img, video, iframe, svg, embed, object { max-width: 100%; height: auto; }
p, li, h1, h2, h3, h4, h5, h6, a, span { overflow-wrap: break-word; word-wrap: break-word; }

/* Sticky footer on every page/screen size */
.wp-site-blocks { display: flex; flex-direction: column; min-height: 100vh; }
.wp-site-blocks > *:not(header):not(footer):not(.wp-block-spacer) { flex: 1 0 auto; }
.wp-site-blocks footer { margin-top: auto; flex-shrink: 0; }

/* Full-bleed sections: fixed side padding at any screen width */
.alignfull {
  padding-left: var(--site-pad) !important;
  padding-right: var(--site-pad) !important;
  box-sizing: border-box !important;
  max-width: none !important;
  width: 100% !important;
}

/* Content wrappers: fluid, but capped so lines don't stretch edge-to-edge
   on large monitors, ultrawide, or 4K screens */
.entry-content,
.service-outer-box,
.alignwide {
  width: 100% !important;
  max-width: min(100%, var(--content-max)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--site-pad) !important;
  padding-right: var(--site-pad) !important;
  box-sizing: border-box !important;
}

/* Hero banner text: fluid, capped for readability */
.banner-content {
  padding-left: var(--site-pad) !important;
  padding-right: var(--site-pad) !important;
  box-sizing: border-box !important;
}
.banner-content .banner-p,
.banner-content p {
  max-width: min(100%, var(--text-max)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Fluid headline/body sizing */
.wp-block-heading,
.banner-content h1 {
  font-size: clamp(1.6rem, 2.2vw + 1rem, 3rem) !important;
  line-height: 1.25 !important;
}
.banner-content p,
.entry-content p {
  font-size: clamp(1rem, 0.3vw + 0.9rem, 1.15rem) !important;
  line-height: 1.6 !important;
}

/* Decorative page-banner images (Evidence Generation, Evidence Synthesis,
   Analytics & Decision Support, Capacity Building, Publication Strategy, About):
   fill their frame at every screen size ≥769px */
@media (min-width: 769px) {
  .wp-block-cover.inner-cover-img {
    height: clamp(220px, 28vw, 420px) !important;
    min-height: 0 !important;
  }
  .wp-block-cover.inner-cover-img .wp-block-cover__image-background {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
}
/* Mobile (≤768px): keep these banners hidden, as before */
@media (max-width: 768px) {
  .inner-cover-img { display: none !important; }
}

/* Homepage hero background image: cap height so the low-res image
   isn't stretched too aggressively on tall/large screens */
.wp-block-cover.banner-image-cover { max-height: 480px !important; }

/* Overlay dim + focus outline */
.has-background-dim-60,
.has-background-dim {
  background-color: #00000059 !important;
}
a:focus {
  color: #ef4d48 !important;
  outline: 2px solid #ef4d48 !important;
}
/* Mobile fix: let the homepage hero grow to fit the text instead of
   cropping it at a fixed 480px — the background image auto-fills
   whatever height results, so nothing needs to be cropped */
@media (max-width: 768px) {
  .wp-block-cover.banner-image-cover {
    max-height: none !important;
    height: auto !important;
  }
}
/* Show full images, never cropped — homepage hero + all decorative page banners */
.wp-block-cover.banner-image-cover .wp-block-cover__image-background,
.wp-block-cover.inner-cover-img .wp-block-cover__image-background {
  object-fit: contain !important;
}/* Image fills 100% of its container's width and height, never cropped */
.wp-block-cover.banner-image-cover .wp-block-cover__image-background,
.wp-block-cover.inner-cover-img .wp-block-cover__image-background {
  object-fit: fill !important;
}

/* Contact form submit button - white text */
.wpcf7-form input.cf7-submit-white,
.wpcf7-form input[type="submit"].cf7-submit-white {
	  color: #ffffff !important;
}
}
.wp-block-cover__background has-background-dim{
	opacity:0 !important;
}
.wp-block-cover .wp-block-cover__background, .wp-block-cover .wp-block-cover__gradient-background, .wp-block-cover-image .wp-block-cover__background, .wp-block-cover-image .wp-block-cover__gradient-background, .wp-block-cover-image.has-background-dim:not(.has-background-gradient):before, .wp-block-cover.has-background-dim:not(.has-background-gradient):before{
	opacity:0!important;
}