.logo { max-height: 70px; }
.main-topic { font-weight: 700; }

/* Hero/partner banner (match legacy look) */
.partner-banner {
  /* use image background provided by design */
  background: url('../images/gradient-background.png') center top / cover no-repeat;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  padding: 90px 120px 80px 120px; /* top and horizontal breathing room */
  min-height: 520px;
  width: 100%;
}

/* Allow the gradient to extend edge-to-edge regardless of container */
.partner-banner > .container,
.partner-banner > .container-fluid {
  width: 100%;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

/* Remove global wrapper padding/margins that create white gutters */
.wrapper {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Expand the top-level login container to viewport width (removes side gutters) */
.login > .wrapper > .container {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Neutralize Bootstrap row negative margins inside hero */
.partner-banner .row {
  margin-left: 0;
  margin-right: 0;
}

/* Ensure hero image scales nicely on smaller screens */
.partner-banner .page-section__image img {
  max-width: 100%;
  height: auto;
}

@media (max-width: 768px) {
  .partner-banner {
    padding: 24px 16px 56px 16px;
  }
}

/* Mobile gutters for content BELOW the hero */
@media (max-width: 768px) {
  .page-section > .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  /* neutralize all nested .row gutters under page sections */
  .page-section > .container .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  /* add same gutters for the white footer grid */
  .footer > .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .footer > .container .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* Footer styles to mirror legacy page */
.footer { padding: 40px 0 20px 0; border-top: 1px solid #ececec; }
.footer .page-section__link-list { list-style: none; padding-left: 0; margin: 0; }
.footer .page-section__link-list-item { margin: 6px 0; }
.footer .page-section__link-list-item a { color: #1b1b1b; text-decoration: none; }
.footer .page-section__link-list-item a:hover { text-decoration: underline; }
.footer__sub-footer { border-top: 1px solid #ececec; margin-top: 24px; padding-top: 24px; }

/* Column separators like legacy */
.page-section__card-left-border { border-left: 1px solid #ececec; }
.page-section__card-right-border { border-right: 1px solid #ececec; }

/* Copyright bar */
.footer__copyrights { background: #0e0e0e; color: #ffffff; padding: 18px 0; }
.footer__copyrights .container { border-top: none; }
.footer__copyrights, .footer__copyrights * { color: #ffffff !important; }
.footer__copyrights a { color: #ffffff !important; opacity: 0.7; text-decoration: none; }
.footer__copyrights a:hover { color: #ffffff !important; opacity: 1; text-decoration: underline; }
.footer__copyrights .mt-2 { color: #ffffff !important; opacity: 0.7; }
.footer__copyrights-logo img { height: 34px; width: auto; display: inline-block; image-rendering: -webkit-optimize-contrast; }

/* Spacing tweaks for sections */
.page-section { padding: 60px 0; }
.page-section.pt-0 { padding-top: 0; }
.page-section.pb-0 { padding-bottom: 0; }

/* Forms/buttons inside the hero card */
.submit-btn { background: #ef3a3a; border: none; }
.submit-btn:hover { background: #d92f2f; }



