/* Footer only. The captured Wix desktop/mobile mesh and the News shell use
 * different offsets. Use their actual shared ancestors to override those
 * rules without changing the header, main content, links or blue background.
 * Balanced side tracks keep the social/link/copyright center on the page;
 * the existing JSNN branding remains on the left of the blue panel. */
body.oliveira-footer-centered #SITE_CONTAINER #site-root #SITE_FOOTER {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100vw !important;
  justify-self: start;
}
body.oliveira-footer-centered #SITE_CONTAINER #site-root #SITE_FOOTER [data-mesh-id="SITE_FOOTERinlineContent-gridContainer"] {
  --oliveira-footer-side: clamp(192px, 19vw, 252px);
  display: grid !important;
  grid-template-columns: var(--oliveira-footer-side) minmax(0, 1fr) var(--oliveira-footer-side) !important;
  grid-template-rows: min-content 1fr !important;
  gap: 0 !important;
  width: min(1328px, calc(100vw - 30px)) !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin-inline: auto !important;
  padding: 0 !important;
  box-sizing: border-box;
}
body.oliveira-footer-centered #SITE_CONTAINER #site-root #SITE_FOOTER [data-mesh-id="SITE_FOOTERinlineContent-gridContainer"] > :is(#comp-lhl1597e, #comp-lhl15972, #comp-lhl14m51) {
  position: relative !important;
  left: 0 !important;
  min-width: 0 !important;
  max-width: 100% !important;
  justify-self: center !important;
}
body.oliveira-footer-centered #SITE_CONTAINER #site-root #SITE_FOOTER #comp-lhl1597e {
  grid-area: 1 / 1 / 2 / 2 !important;
  margin: 29px 0 3px !important;
}
body.oliveira-footer-centered #SITE_CONTAINER #site-root #SITE_FOOTER #comp-lhl15972 {
  grid-area: 2 / 1 / 3 / 2 !important;
  margin: 0 0 24px !important;
  text-align: center;
}
body.oliveira-footer-centered #SITE_CONTAINER #site-root #SITE_FOOTER #comp-lhl14m51 {
  grid-area: 1 / 2 / 3 / 4 !important;
  width: 100% !important;
  height: auto !important;
  align-self: stretch !important;
  margin: 0 0 1px !important;
}
body.oliveira-footer-centered #SITE_CONTAINER #site-root #SITE_FOOTER [data-mesh-id="comp-lhl14m51inlineContent"] {
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
}
body.oliveira-footer-centered #SITE_CONTAINER #site-root #SITE_FOOTER [data-mesh-id="comp-lhl14m51inlineContent-gridContainer"] {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 24px 16px !important;
  box-sizing: border-box;
}
body.oliveira-footer-centered #SITE_CONTAINER #site-root #SITE_FOOTER [data-mesh-id="comp-lhl14m51inlineContent-gridContainer"] > :is(#comp-lhl14m5j, #comp-lhl14m5x, #comp-lhl14m5q) {
  position: relative !important;
  left: 0 !important;
  grid-area: auto !important;
  margin: 0 !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  flex: 0 0 auto;
  text-align: center;
}
body.oliveira-footer-centered #SITE_CONTAINER #site-root #SITE_FOOTER #comp-lhl14m5j {
  width: 100% !important;
}
body.oliveira-footer-centered #SITE_CONTAINER #site-root #SITE_FOOTER #comp-lhl14m5j > ul {
  /* The captured list is absolutely positioned; keep it in flow so its
   * icons reserve their own row inside the centered footer track. */
  position: static !important;
  height: auto !important;
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 0;
  padding: 0;
  max-width: 100%;
}
body.oliveira-footer-centered #SITE_CONTAINER #site-root #SITE_FOOTER #comp-lhl14m5j > ul > li {
  position: relative !important;
  inset: auto !important;
  margin: 0 !important;
  flex: 0 0 auto;
}
body.oliveira-footer-centered #SITE_CONTAINER #site-root #SITE_FOOTER :is(#comp-lhl14m5x, #comp-lhl14m5q) {
  width: 100% !important;
  overflow-wrap: anywhere;
}
body.oliveira-footer-centered #SITE_CONTAINER #site-root #SITE_FOOTER :is(#comp-lhl14m5x, #comp-lhl14m5q) p {
  white-space: normal;
  text-align: center !important;
}
@media screen and (max-width: 699px) {
  body.oliveira-footer-centered #SITE_CONTAINER #site-root #SITE_FOOTER [data-mesh-id="SITE_FOOTERinlineContent-gridContainer"] {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto !important;
  }
  body.oliveira-footer-centered #SITE_CONTAINER #site-root #SITE_FOOTER #comp-lhl14m51 {
    grid-area: 3 / 1 / 4 / 2 !important;
  }
  body.oliveira-footer-centered #SITE_CONTAINER #site-root #SITE_FOOTER [data-mesh-id="comp-lhl14m51inlineContent-gridContainer"] {
    width: 100% !important;
  }
}
