/* ════════════════════════════════
   FOOTER — responsive overrides
   Desktop styles live in event-page.css (not touched)
   ════════════════════════════════ */

@media (max-width: 960px) {
  .tb-footer {
    padding: 48px 24px 28px;
    gap: 28px;
  }

  .tb-fab {
    padding: 12px 20px;
    font-size: 9px;
    bottom: 20px;
    right: 20px;
    gap: 7px;
  }
}

/* ── Legal links ──
   Footer renders on the dark teal brand background (--tb-red-700).
   Light text values for WCAG AA compliance on that dark background. */
.tb-footer__legal {
  display: flex;
  flex-wrap: wrap;
  gap: var(--tb-space-2);
  align-items: center;
  justify-content: center;
  font-size: var(--tb-text-xs, 11px);
  color: rgba(255, 255, 255, 0.65);
  margin-top: var(--tb-space-2);
  padding-top: var(--tb-space-4);
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  width: 100%;
  max-width: 640px;
}

.tb-footer__legal a {
  color: rgba(255, 255, 255, 0.85);
  text-decoration: none;
  transition: color 0.2s;
}

.tb-footer__legal a:hover { color: #FFFFFF; }

.tb-footer__legal-sep { color: rgba(255, 255, 255, 0.35); }

/* ── Policy notice on payment forms ── */
.tb-form-policy-notice {
  font-size: var(--tb-text-xs, 11px);
  color: var(--tb-text-muted, rgba(0,0,0,0.5));
  text-align: center;
  margin: var(--tb-space-3) 0 0;
  line-height: 1.6;
}

.tb-form-policy-notice a {
  color: var(--tb-text, #1a1a1a);
  text-decoration: underline;
  text-underline-offset: 2px;
}
