.tpc-footer { background: var(--tpc-surface-color); border-top: 1px solid var(--tpc-border-color); margin-top: var(--tpc-space-10); }

.tpc-footer__grid { display: grid; grid-template-columns: 1fr; gap: var(--tpc-space-6); padding-block: var(--tpc-space-8); }
@media (min-width: 48em) { .tpc-footer__grid--2 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 64em) {
  .tpc-footer__grid--3 { grid-template-columns: repeat(3, 1fr); }
  .tpc-footer__grid--4 { grid-template-columns: repeat(4, 1fr); }
}
.tpc-widget__title { font-size: var(--tpc-text-base); margin-bottom: var(--tpc-space-3); }
.tpc-widget ul { margin: 0; padding: 0; list-style: none; }
.tpc-widget li + li { margin-top: .4rem; }
.tpc-widget a { text-decoration: none; color: var(--tpc-muted-color); }
.tpc-widget a:hover { color: var(--tpc-text-color); text-decoration: underline; }

.tpc-footer__bottom { border-top: 1px solid var(--tpc-border-color); }
.tpc-footer__bottom-inner {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
  gap: var(--tpc-space-4) var(--tpc-space-6); padding-block: var(--tpc-space-5); text-align: center;
  font-size: var(--tpc-text-sm); color: var(--tpc-muted-color);
}
.tpc-social, .tpc-payments, .tpc-footer__menu { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--tpc-space-3); margin: 0; padding: 0; list-style: none; }
.tpc-social__link, .tpc-footer__menu a { color: var(--tpc-muted-color); text-decoration: none; }
.tpc-social__link:hover, .tpc-footer__menu a:hover { color: var(--tpc-text-color); text-decoration: underline; }
.tpc-payments__item {
  padding: .25rem .6rem; border: 1px solid var(--tpc-border-color); border-radius: var(--tpc-border-radius);
  font-size: .75rem; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; background: var(--tpc-background-color);
}
.tpc-footer__copyright { width: 100%; margin: 0; }
@media (min-width: 64em) { .tpc-footer__bottom-inner { justify-content: space-between; text-align: left; } .tpc-footer__copyright { width: auto; order: 10; } }
