/* 2026-11-09 TuaStampa footer v2 (design https://claude.ai/artifact/GR9LsBEzPJochebJuVzWyb, Viktor «Design ok»).
 * The same content as before; every logo in the same white tile; white text on a deeper blue (readable: the old 50 % white
 * on #007bff was below the contrast minimum); computer = 3 groups on one row, tablet = 2 + payments, phone = one column. */
.ts-footer.bg-primary { background-color: #0062cc !important; }
.ts-footer { padding: 44px 0 24px; color: #fff; font-size: 15px; }
.ts-footer a, .ts-footer a:hover, .ts-footer a:focus { color: #fff; }
.ts-footer a:hover, .ts-footer a:focus-visible { text-decoration: underline; }

.ts-footer__top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  grid-template-areas: "info pay ship";
  column-gap: 48px;
  row-gap: 28px;
  align-items: start;
}
.ts-footer__group { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.ts-footer__info { grid-area: info; }
.ts-footer__pay { grid-area: pay; align-items: center; }
.ts-footer__ship { grid-area: ship; align-items: flex-end; }
.ts-footer__label { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: rgba(255, 255, 255, .85); }
.ts-footer__links { display: flex; flex-wrap: wrap; gap: 0 24px; margin: 0; padding: 0; }
.ts-footer__links a { font-size: 15px; font-weight: 500; display: inline-flex; align-items: center; min-height: 32px; }
.ts-footer__tiles { display: flex; flex-wrap: wrap; gap: 8px; }
.ts-footer__tile { width: 64px; height: 40px; border-radius: 6px; background: #fff; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.ts-footer__tile img { max-width: 56px; max-height: 32px; width: auto; height: auto; }

.ts-footer__app { margin-top: 32px; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 12px 20px; }
.ts-footer__app-text { font-size: 15px; font-weight: 600; }
.ts-footer__badges { display: flex; gap: 10px; }
.ts-footer__badges img { height: 40px; width: auto; border-radius: 6px; display: block; }

.ts-footer__bot {
  margin-top: 32px; padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, .25);
  display: flex; justify-content: space-between; align-items: center; gap: 8px 24px;
  font-size: 13px; line-height: 1.5; color: rgba(255, 255, 255, .92);
}
.ts-footer__ver { white-space: nowrap; }

/* tablet: links + couriers on one row, payments below */
@media (max-width: 991px) {
  .ts-footer__top { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "info ship" "pay pay"; }
  .ts-footer__pay { align-items: flex-start; }
}

/* phone: one column */
@media (max-width: 767px) {
  .ts-footer { padding: 36px 0 24px; }
  .ts-footer__top { grid-template-columns: minmax(0, 1fr); grid-template-areas: "info" "pay" "ship"; }
  .ts-footer__ship { align-items: flex-start; }
  .ts-footer__pay .ts-footer__tiles { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; width: 100%; max-width: 360px; }
  .ts-footer__pay .ts-footer__tile { width: auto; }
  .ts-footer__tile img { max-width: 86%; max-height: 30px; }
  .ts-footer__links a { min-height: 44px; }
  .ts-footer__app { margin-top: 28px; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, .25); flex-direction: column; align-items: flex-start; }
  .ts-footer__bot { margin-top: 28px; flex-direction: column; align-items: flex-start; gap: 4px; }
  .ts-footer__sep { display: none; }
  .ts-footer__addr { display: block; }
}
@media (max-width: 374px) {
  .ts-footer__badges img { height: 36px; }
}
