/* Build 32: focused refinements for account panel, sticky breadcrumbs, partner card and footer. */

/* Keep every account-panel child within the central dropdown at all widths. */
.build31-header .nav-actions .account-panel {
  width: min(420px, calc(100vw - 32px)) !important;
  max-width: 420px !important;
  overflow: hidden !important;
}

.build31-header .account-panel,
.build31-header .account-panel * {
  box-sizing: border-box !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

.build31-header .account-panel strong,
.build31-header .account-panel p,
.build31-header .account-panel label,
.build31-header .account-panel a,
.build31-header .account-panel button {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

.build31-header .account-panel p {
  margin: 8px 0 14px !important;
  line-height: 1.5 !important;
}

.build31-header .account-login {
  display: grid !important;
  width: 100% !important;
  gap: 11px !important;
}

.build31-header .account-login label {
  display: grid !important;
  width: 100% !important;
  gap: 5px !important;
}

.build31-header .account-login input,
.build31-header .account-login button {
  display: block !important;
  width: 100% !important;
}

.build31-header .account-links {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px 14px !important;
  width: 100% !important;
  margin-top: 12px !important;
}

.build31-header .account-links a:last-child {
  text-align: right !important;
}

/* Only the scroll behaviour and stacking of the established breadcrumb change. */
.build29-breadcrumb {
  position: sticky !important;
  top: 79px !important;
  z-index: 1100 !important;
}

/* Match the established homepage partner-card family. */
.partner-one-card {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 26px !important;
  padding: 28px 32px !important;
  border: 1px solid #d7e6ee !important;
  border-radius: 22px !important;
  background: linear-gradient(135deg, #f8fcfd 0%, #eef8fb 100%) !important;
  box-shadow: 0 20px 50px rgba(3, 27, 45, .09) !important;
}

.partner-one-card img {
  width: 92px !important;
  height: 92px !important;
  object-fit: contain !important;
  border-radius: 18px !important;
}

.partner-one-card h2 {
  margin: 0 0 7px !important;
}

.partner-one-card p {
  max-width: 58ch !important;
  margin: 0 !important;
}

/* Compact, aligned footer without reducing logo legibility. */
.build14-footer {
  padding-top: 48px !important;
  padding-bottom: 18px !important;
}

.build14-footer .footer-grid.unified-footer {
  grid-template-columns: minmax(260px, 1.3fr) repeat(4, minmax(115px, 1fr)) !important;
  align-items: start !important;
  gap: 28px !important;
  padding-bottom: 30px !important;
}

.build14-footer .footer-brand {
  min-width: 0 !important;
  padding-right: 12px !important;
}

.build14-footer .brand-full-footer {
  width: min(310px, 100%) !important;
  max-width: 310px !important;
  height: auto !important;
}

.build14-footer .footer-contact {
  display: grid !important;
  gap: 3px !important;
  margin-top: 10px !important;
}

.build14-footer .footer-contact .comm-line {
  min-height: 22px !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}

.build14-footer .footer-contact button.comm-line {
  display: inline-flex !important;
  justify-content: flex-start !important;
  width: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.build14-footer .footer-grid > div:not(.footer-brand) {
  display: grid !important;
  align-content: start !important;
  gap: 6px !important;
}

.build14-footer .footer-grid h3 {
  margin: 0 0 8px !important;
}

.build14-footer .footer-grid a {
  margin: 0 !important;
  line-height: 1.45 !important;
}

.build14-footer .footer-bottom {
  margin-top: 0 !important;
  padding-top: 18px !important;
  padding-bottom: 0 !important;
}

@media (max-width: 1180px) {
  .build29-breadcrumb { top: 78px !important; }

  .build14-footer .footer-grid.unified-footer {
    grid-template-columns: minmax(250px, 1.25fr) repeat(2, minmax(150px, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  .partner-one-card {
    grid-template-columns: 76px minmax(0, 1fr) !important;
    gap: 18px !important;
    padding: 24px !important;
  }

  .partner-one-card img {
    width: 76px !important;
    height: 76px !important;
  }

  .partner-one-card .button {
    grid-column: 1 / -1 !important;
    justify-self: start !important;
  }

  .build14-footer .footer-grid.unified-footer {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 26px 24px !important;
  }

  .build14-footer .footer-brand {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 560px) {
  .build31-header .nav-actions .account-panel {
    position: fixed !important;
    top: 66px !important;
    right: 14px !important;
    left: 14px !important;
    width: auto !important;
    max-width: none !important;
  }

  .build31-header .account-links {
    grid-template-columns: 1fr !important;
  }

  .build31-header .account-links a:last-child {
    text-align: left !important;
  }

  .build29-breadcrumb { top: 67px !important; }

  .partner-one-card {
    grid-template-columns: 64px minmax(0, 1fr) !important;
    gap: 16px !important;
    padding: 20px !important;
  }

  .partner-one-card img {
    width: 64px !important;
    height: 64px !important;
  }

  .build14-footer {
    padding-top: 40px !important;
  }

  .build14-footer .footer-grid.unified-footer {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    padding-bottom: 24px !important;
  }

  .build14-footer .footer-brand {
    grid-column: auto !important;
    padding-right: 0 !important;
  }
}
