/* Base container spacing */
.footer-tm .footer-inner { padding-top: 16px; padding-bottom: 16px; }

/* Rows */
.footer-tm .ftm-row { margin-bottom: 16px; }

/* Pairs: 2-up on tablets, 1-up on phones */
@media (min-width: 768px) and (max-width: 991.98px) {
  .footer-tm .ftm-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
}
@media (max-width: 767.98px) {
  .footer-tm .ftm-pair { display: grid; grid-template-columns: 1fr; gap: 12px; }
}

/* Menu: 1 column on tm, we let desktop handle 2-cols in desktop CSS */
.footer-tm .footer-block-menu--single ul { columns: 1; column-gap: 0; }
.footer-tm .footer-block-menu--single li { break-inside: avoid; margin-bottom: 6px; }

/* Titles & spacing */
.footer-tm .footer-title { margin: 6px 0 8px; font-size: 1rem; }
.footer-tm .faded-line { margin: 12px 0; }

/* Social icons sizing */
.footer-tm .footer-social-icons a,
.footer-tm .footer-social-icons-share .share-btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 42px; height: 42px; border-radius: 50%; margin-right: 8px;
}

/* Images responsive */
.footer-tm .image-line img { width: 100%; height: auto; display: block; }

/* Divider below menu only on tm */
@media (max-width: 991.98px) {
  .mobile-only-hr {
    display: block; border: 0; border-top: 1px solid rgba(255,255,255,.15);
    margin: 20px 0 20px;
  }
}
