/* Overrides for the inherited theme CSS (style.css), which fluid-scales headings and
   buttons very aggressively on large viewports (h2 up to 48px, buttons up to 24px/20px
   padding, nav links up to 22px), and sizes the header logo via negative margins meant
   for a much larger image than the compact badge we're using. Loaded after style.css so
   these win the cascade; !important is used deliberately here since style.css is a
   third-party compiled bundle with many overlapping breakpoint rules that would
   otherwise need to be fought one by one. */

/* --- Header logo & nav: consistent sizing, no overflow tricks --- */
.navbar-brand {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  display: flex !important;
  align-items: center !important;
}

.site-logo {
  height: 64px !important;
  max-height: 64px !important;
  width: auto !important;
}

.navbar {
  padding-top: 0.6rem !important;
  padding-bottom: 0.6rem !important;
}

.nav-link {
  font-size: clamp(0.9375rem, 0.85rem + 0.2vw, 1rem) !important;
}

@media (max-width: 767px) {
  .site-logo {
    height: 46px !important;
    max-height: 46px !important;
  }
}

/* --- Inner-page banner: style.css hardcodes margin-top in px, computed at build time
   for the theme's original (much taller/variable) header. Our header is a fixed, known
   height now, so replace those stale magic numbers with values that match it exactly,
   clearing the fixed header without the leftover gap. --- */
.banner-inner {
  margin-top: 84px !important;
}

@media (max-width: 767px) {
  .banner-inner {
    margin-top: 66px !important;
  }
}

/* --- Headings: bring the top of the scale down a bit --- */
h1 {
  font-size: clamp(1.75rem, 1.3rem + 3vw, 2.75rem) !important;
}

.block-title h2 {
  font-size: clamp(1.375rem, 1.15rem + 1.2vw, 2rem) !important;
}

.block-title h3,
.block-title h4 {
  font-size: clamp(1.1875rem, 1.05rem + 0.7vw, 1.5rem) !important;
}

.card-overlay__content h3,
.card-overlay__back h3 {
  font-size: clamp(1.125rem, 1rem + 0.5vw, 1.375rem) !important;
}

/* --- Buttons: a touch more substantial, closer to the heading scale --- */
.btn,
.btn-primary,
.btn-secondary {
  font-size: clamp(1rem, 0.9rem + 0.3vw, 1.125rem) !important;
  padding: 0.75rem 1.75rem !important;
}

/* --- Form textarea: Bootstrap's .form-control forces single-line input height --- */
textarea.form-control {
  height: auto !important;
  min-height: 150px !important;
}

/* --- Give nav button: border and size were heavier than every other outline button --- */
.nav-button {
  border-width: 1px !important;
  font-size: 0.9375rem !important;
  padding: 0.5rem 1.375rem !important;
}

/* --- Footer: newsletter input/heading and social icons were fluid-scaling oversized --- */
.subscribe-holder .form-control {
  padding: 0.75rem 1.25rem !important;
  height: auto !important;
}

.subscribe-left h2,
.subscribe-right h2 {
  font-size: 1.125rem !important;
}

.social-links ul li a {
  font-size: 1.125rem !important;
}
