/* SG-GLOVES 2.1.252: aligned desktop columns and usable, expanded mobile sections. */
@media (min-width: 768px) {
  body .footer.footer__main .footer__main-top.row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    align-items: start !important;
    gap: 24px !important;
    margin-inline: 0 !important;
  }

  /* Legacy clearfix pseudo-elements must not consume real grid columns. */
  body .footer.footer__main .footer__main-top.row::before,
  body .footer.footer__main .footer__main-top.row::after {
    display: none !important;
    content: none !important;
  }

  /* Some link-list versions wrap otherwise identical footer blocks. */
  body .footer.footer__main .footer__main-top.row > .links:not(.footer-block) {
    display: contents !important;
  }

  body .footer.footer__main .footer__main-top.row > .footer-block:empty,
  body .footer.footer__main .footer__main-top.row > .links > .footer-block:empty {
    display: none !important;
  }

  body .footer.footer__main .footer__main-top.row .footer-block {
    align-self: start !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding-inline: 0 !important;
    flex: 0 0 auto !important;
    grid-column: auto !important;
    grid-row: auto !important;
    order: 0 !important;
  }

  body .footer.footer__main .footer__main-top.row .footer-block__title {
    margin: 0 0 14px !important;
    padding: 0 !important;
  }

  body .footer.footer__main .footer__main-top.row .footer-block__title > a {
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
    color: inherit !important;
  }

  body .footer.footer__main .footer__main-top.row .footer-block__content {
    margin-block-start: 0 !important;
  }

  body .footer.footer__main .footer__main-top.row .ps-contactinfo,
  body .footer.footer__main .footer__main-top.row .block-contact {
    align-self: start !important;
    min-width: 0 !important;
    margin-block-start: 0 !important;
    order: 20 !important;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 767.98px) {
  body .footer.footer__main .footer__main-top.row .footer-block {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding-inline: 0 !important;
    border-bottom: 1px solid #e1e7ef;
  }

  body .footer.footer__main .footer__main-top.row .footer-block:empty { display: none !important; }

  body .footer.footer__main .footer__main-top.row > .links:not(.footer-block) {
    width: 100% !important;
    max-width: none !important;
    padding-inline: 0 !important;
  }

  body .footer.footer__main .footer__main-top.row .footer-block__title--toggle {
    position: relative;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px;
    min-height: 56px;
    margin: 0 !important;
    padding: 12px 0 !important;
  }

  body .footer.footer__main .footer__main-top.row .footer-block__title--toggle > a {
    margin: 0 !important;
    padding: 0 !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
  }

  body .footer.footer__main .footer__main-top.row .footer-block__title--toggle > button {
    position: static;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 32px;
    width: 32px !important;
    min-width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
    margin: 0 !important;
    padding: 6px !important;
    border: 1px solid #dce4ee !important;
    border-radius: 8px;
    background: #fff !important;
    color: var(--sg-brand-ink, #071b36) !important;
    box-shadow: none !important;
    cursor: pointer;
  }

  body .footer.footer__main .footer__main-top.row .footer-block__title--toggle > button::after {
    position: absolute;
    inset: 0;
    z-index: 1;
    content: '';
  }

  body .footer.footer__main .footer__main-top.row .footer-block__title--toggle > button:focus-visible {
    outline: 2px solid var(--sg-brand-yellow, #f4d36a);
    outline-offset: 3px;
  }

  body .footer.footer__main .footer__main-top.row .footer-block__title--toggle > button svg {
    display: block !important;
    flex: 0 0 18px;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    min-height: 18px !important;
    max-height: 18px !important;
    fill: none !important;
    stroke: currentColor;
    transform: rotate(0);
  }

  body .footer.footer__main .footer__main-top.row .footer-block__title--toggle > button[aria-expanded="true"] svg {
    transform: rotate(180deg);
  }

  body .footer.footer__main .footer__main-top.row .footer-block__content {
    min-width: 0;
    margin: 0 !important;
    padding: 0 0 16px !important;
    overflow-wrap: anywhere;
  }

  /* Override the old contact-only display:grid!important when Bootstrap closes it. */
  body .footer.footer__main .footer__main-top.row .footer-block__content.collapse:not(.show) {
    display: none !important;
  }

  body .footer.footer__main .footer__main-top.row .footer-block__content.collapse.show {
    display: block !important;
  }

  body .footer.footer__main .footer__main-top.row .ps-contactinfo > .footer-block__content.collapse.show {
    display: grid !important;
  }
}

@media (min-width: 1200px) {
  body .footer.footer__main .footer__main-top.row {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: clamp(22px, 2.4vw, 42px) !important;
  }

  /* Reserve contact's actual cell, not just its column in a later auto-row. */
  body .footer.footer__main .footer__main-top.row .ps-contactinfo,
  body .footer.footer__main .footer__main-top.row .block-contact {
    grid-column: 5 !important;
    grid-row: 1 !important;
  }
}

