:root {
  --psp-topbar-blue: #081b2d;
}

/* Keep every call-to-action inside its box, including long mobile labels. */
body :is(.guten-button, .wp-element-button, .wp-block-button__link, button.guten-button) {
  box-sizing: border-box !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 56px;
  padding: 16px 20px !important;
  background-color: var(--psp-topbar-blue) !important;
  border-color: var(--psp-topbar-blue) !important;
  color: #fff !important;
  font-size: 14px !important;
  text-align: center !important;
  line-height: 1.2 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

body :is(.guten-button, .wp-element-button, .wp-block-button__link) span {
  max-width: 100% !important;
  color: #fff !important;
  font-size: inherit !important;
  text-align: center !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

body :is(.guten-button-wrapper, .wp-block-button) {
  max-width: 100% !important;
  min-width: 0 !important;
}

/* Gutenberg is not the only button style used in the service/resource blocks. */
body :is(.psp-home-service-button, .psp-resource-button) {
  display: inline-flex !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 52px;
  padding: 14px 16px !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: var(--psp-topbar-blue) !important;
  border-color: var(--psp-topbar-blue) !important;
  color: #fff !important;
  font-size: 14px !important;
  text-align: center !important;
  line-height: 1.2 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

/* The long resource labels stay on one line without enlarging their cards. */
body .psp-resource-button {
  font-size: 12px !important;
}

body :is(.psp-home-service-button, .psp-resource-button):hover,
body :is(.psp-home-service-button, .psp-resource-button):focus-visible {
  background-color: #0b2943 !important;
  border-color: #0b2943 !important;
  color: #fff !important;
}

/* Footer social icons: use the site's dark navy consistently. */
body .guten-xQ8gj8 .guten-social-icon > a,
body .guten-social-icon > a {
  background-color: var(--psp-topbar-blue) !important;
  border-color: var(--psp-topbar-blue) !important;
  color: #fff !important;
}
body .guten-xQ8gj8 .guten-social-icon > a i {
  color: #fff !important;
}
body .guten-xQ8gj8 .guten-social-icon > a svg {
  fill: #fff !important;
}
body .guten-xQ8gj8 .guten-social-icon > a:hover,
body .guten-xQ8gj8 .guten-social-icon > a:focus-visible {
  background-color: #0b2943 !important;
  border-color: #0b2943 !important;
}

body :is(.guten-button, .wp-element-button, .wp-block-button__link):hover,
body :is(.guten-button, .wp-element-button, .wp-block-button__link):focus-visible {
  background-color: #0b2943 !important;
  border-color: #0b2943 !important;
  color: #fff !important;
}

/* Shared dark CTA sections use the fixed header's blue instead of black. */
body .guten-dbhktv {
  background-color: var(--psp-topbar-blue) !important;
}

body .guten-dbhktv > .guten-container,
body .guten-dbhktv .guten-column-wrapper {
  background-color: transparent !important;
}

/* Team cards keep the same blue lower panel as the rest of the site. */
body .guten-NVGsj6 .profile-card .profile-body.bottom {
  background-color: var(--psp-topbar-blue) !important;
}

/* Footer columns: keep navigation labels on one line on desktop. */
body .hide-tablet.hide-mobile .guten-icon-list,
body .hide-tablet.hide-mobile .guten-icon-list .list-wrapper {
  width: max-content !important;
  max-width: none !important;
}

body .hide-tablet.hide-mobile .guten-icon-list .list-text {
  white-space: nowrap !important;
}

body .hide-tablet.hide-mobile .guten-icon-list-item {
  min-width: max-content !important;
}


/* Home footer: referências institucionais em fluxo natural, com ritmo vertical compacto. */
body.psp-spacing-home .guten-qAjwcF {
  margin-bottom: 8px !important;
}
body.psp-spacing-home .guten-ibRtdm {
  margin-top: -4px !important;
}
body.psp-spacing-home .guten-ibRtdm .swiper-container {
  padding-top: 4px !important;
}
body.psp-spacing-home .guten-ibRtdm .guten-testimonial-item .testimonial-box {
  margin: 8px 3px 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.psp-spacing-home .guten-ibRtdm .testimonial-slider {
  display: flex !important;
  flex-direction: column !important;
  overflow: visible !important;
}
body.psp-spacing-home .guten-ibRtdm .testimonial-slider::before {
  display: none !important;
}
body.psp-spacing-home .guten-ibRtdm .comment-content {
  order: 1 !important;
  display: flex !important;
  min-height: 130px;
  margin: 0 !important;
  padding: 26px 28px 32px !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: 0 3px 10px rgba(8,27,45,.12) !important;
  box-sizing: border-box !important;
}
body.psp-spacing-home .guten-ibRtdm .comment-content .profile-comment {
  min-height: 0 !important;
  margin: 0 !important;
}
body.psp-spacing-home .guten-ibRtdm .comment-bio {
  order: 2 !important;
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  margin: -14px 0 0 !important;
  text-align: center !important;
  z-index: 5;
}
body.psp-spacing-home .guten-ibRtdm .profile-image {
  display: flex !important;
  width: 84px !important;
  height: 84px !important;
  min-width: 84px !important;
  min-height: 84px !important;
  margin: 0 auto 12px !important;
  padding: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 50% !important;
  background: #f3f7fa !important;
  box-shadow: none !important;
  clip-path: circle(50%);
  box-sizing: border-box !important;
}
body.psp-spacing-home .guten-ibRtdm .profile-image > .psp-institution-link {
  display: flex !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
}
body.psp-spacing-home .guten-ibRtdm .profile-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  object-fit: contain !important;
  object-position: center !important;
  box-sizing: border-box !important;
}
body.psp-spacing-home .guten-ibRtdm .profile-info {
  display: block !important;
}
body.psp-spacing-home .guten-ibRtdm .profile-info .profile-name {
  display: inline-block;
  font-weight: 700;
}
body.psp-spacing-home .guten-ibRtdm .profile-info .profile-des {
  margin: 8px 0 0 !important;
}
body.psp-spacing-home .guten-ibRtdm .swiper-pagination {
  display: none !important;
}
body.psp-spacing-home .guten-azjT0Z {
  margin-top: 28px !important;
}
@media only screen and (max-width: 767px) {
  body.psp-spacing-home .guten-azjT0Z {
    margin: 24px 0 12px !important;
  }
}

/* Home 2026-10-01: spacing around stats on mobile and trajectory readability on desktop. */
@media only screen and (max-width: 767px) {
  body.psp-spacing-home .guten-vtuMLQ > .guten-container > .guten-TVlAqf {
    margin-top: 40px !important;
  }

  body.psp-spacing-home main > .section-wrapper[data-id="vtuMLQ"] > section.guten-vtuMLQ {
    padding-bottom: 40px !important;
  }
}

@media only screen and (min-width: 1025px) {
  body.psp-spacing-home .guten-LiIccz > .guten-background-overlay {
    background-image:
      linear-gradient(
        to bottom,
        rgba(8, 27, 45, 0.02) 0%,
        rgba(8, 27, 45, 0.10) 58%,
        rgba(8, 27, 45, 0.42) 100%
      ),
      url("/assets/images/home-servicos-fundo-desktop-20260929-paragon-v2.webp") !important;
    background-position: center 62% !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
  }
}
