/* ==========================================================================
   Tribe Aura — Footer
   --------------------------------------------------------------------------
   Trust strip, newsletter, link columns, legal row.
   Mobile-first; breakpoints written literally: 480 / 768 / 1024 / 1280.
   ========================================================================== */

.ta-footer {
  flex-shrink: 0;
  background-color: var(--ta-color-bg-alt);
  color: var(--ta-color-text);
}


/* --------------------------------------------------------------------------
   Trust strip
   -------------------------------------------------------------------------- */

.ta-footer__trust {
  background-color: var(--ta-color-surface);
  border-block: var(--ta-border-width) solid var(--ta-color-border);
}

.ta-trust {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--ta-space-md);
  padding-block: var(--ta-space-lg);
}

@media (min-width: 768px) {
  .ta-trust {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--ta-space-lg);
  }
}

.ta-trust__item {
  display: flex;
  align-items: flex-start;
  gap: var(--ta-space-sm);
  margin: 0;
}

@media (min-width: 768px) {
  .ta-trust__item {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--ta-space-2xs);
  }
}

.ta-trust__icon {
  flex: 0 0 auto;
  color: var(--ta-color-accent);
}

.ta-trust__body {
  display: flex;
  flex-direction: column;
  gap: var(--ta-space-3xs);
}

.ta-trust__title {
  font-size: var(--ta-text-sm);
  font-weight: var(--ta-weight-medium);
}

.ta-trust__text {
  font-size: var(--ta-text-2xs);
  color: var(--ta-color-text-muted);
}


/* --------------------------------------------------------------------------
   Main footer
   -------------------------------------------------------------------------- */

/* --ta-section-y tops out at 96px, which is right for an editorial band on
   the page but far too heavy for a footer whose link columns are only a few
   items tall. The tight step (32 -> 56px) keeps it generous without the bulk. */
.ta-footer__main {
  padding-block: var(--ta-section-y-tight);
}

.ta-footer__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--ta-space-lg);
}

@media (min-width: 768px) {
  .ta-footer__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--ta-space-lg);
  }

  /* The brand block carries the newsletter, so it needs the full width until
     there is room for a genuine four-column row. */
  .ta-footer__brand {
    grid-column: 1 / -1;
  }
}

@media (min-width: 1024px) {
  .ta-footer__grid {
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: var(--ta-space-xl);
  }

  .ta-footer__brand {
    grid-column: auto;
  }
}

/* --- Brand block --- */

.ta-footer__brand .ta-brand {
  text-align: left;
}

.ta-footer__logo .ta-brand__logo,
.ta-footer__brand .ta-brand__logo {
  max-height: 2.25rem;
}

.ta-footer__brand .ta-brand__tagline {
  margin-top: var(--ta-space-3xs);
  font-family: var(--ta-font-display);
  font-size: var(--ta-text-base);
  font-style: italic;
  color: var(--ta-color-accent-soft);
}

.ta-footer__blurb {
  margin-top: var(--ta-space-sm);
  max-width: var(--ta-measure-narrow);
  font-size: var(--ta-text-sm);
  color: var(--ta-color-text-muted);
}

/* --- Newsletter --- */

.ta-newsletter {
  margin-top: var(--ta-space-lg);
  max-width: 26rem;
}

.ta-newsletter__label {
  display: block;
  font-size: var(--ta-text-2xs);
  font-weight: var(--ta-weight-semibold);
  letter-spacing: var(--ta-tracking-wider);
  text-transform: uppercase;
  margin-bottom: 0;
}

.ta-newsletter__row {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--ta-space-2xs);
  margin-top: var(--ta-space-2xs);
}

@media (min-width: 480px) {
  .ta-newsletter__row {
    grid-template-columns: 1fr auto;
  }
}

.ta-newsletter__field {
  background-color: var(--ta-color-surface);
}

.ta-newsletter__note {
  margin-top: var(--ta-space-3xs);
}

.ta-newsletter__note--error {
  color: var(--ta-color-danger);
}

/* --- Link columns --- */

.ta-footer__heading {
  font-family: var(--ta-font-body);
  font-size: var(--ta-text-2xs);
  font-weight: var(--ta-weight-semibold);
  letter-spacing: var(--ta-tracking-wider);
  text-transform: uppercase;
  color: var(--ta-color-text);
  margin-bottom: var(--ta-space-sm);
}

.ta-footer__links {
  display: flex;
  flex-direction: column;
  gap: var(--ta-space-2xs);
}

.ta-footer__links li {
  margin: 0;
}

/*
 * inline-flex + min-height, not padding: WCAG 2.2 AA (2.5.8) wants a 24x24 CSS
 * px target and these links were 17px tall. inline-flex keeps each target only
 * as WIDE as its own text — a block-level link would stretch the full column
 * and make neighbouring targets ambiguous to hit.
 *
 * These were missed on the first accessibility sweep because the audit treated
 * any link inside an <li> as exempt under 2.5.8's "inline" clause. That clause
 * is for a link in a SENTENCE, constrained by surrounding line-height; a footer
 * nav is a list of targets, not prose. Every page carries this footer, so it
 * was the single most widespread target-size issue on the site.
 */
.ta-footer__links a {
  display: inline-flex;
  align-items: center;
  min-height: 1.5rem;
  font-size: var(--ta-text-sm);
  color: var(--ta-color-text-muted);
  text-decoration: none;
}

.ta-footer__links a:hover {
  color: var(--ta-color-text);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}


/* --------------------------------------------------------------------------
   Legal row
   -------------------------------------------------------------------------- */

.ta-footer__bottom {
  border-top: var(--ta-border-width) solid var(--ta-color-border-strong);
}

.ta-footer__bottom-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--ta-space-sm);
  padding-block: var(--ta-space-md);
  text-align: center;
}

@media (min-width: 1024px) {
  .ta-footer__bottom-inner {
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
    text-align: left;
  }
}

.ta-footer__legal {
  margin: 0;
  max-width: none;
  font-size: var(--ta-text-2xs);
  color: var(--ta-color-text-muted);
}

.ta-footer__abn {
  margin-left: var(--ta-space-2xs);
}

.ta-footer__legal-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--ta-space-sm);
}

.ta-footer__legal-links li {
  margin: 0;
}

/* Same 24px target floor as the main footer nav above — these were 15px. */
.ta-footer__legal-links a {
  display: inline-flex;
  align-items: center;
  min-height: 1.5rem;
  font-size: var(--ta-text-2xs);
  color: var(--ta-color-text-muted);
  text-decoration: none;
}

.ta-footer__legal-links a:hover {
  color: var(--ta-color-text);
  text-decoration: underline;
}

/* --- Social --- */

.ta-social {
  display: flex;
  align-items: center;
  gap: var(--ta-space-3xs);
}

.ta-social li { margin: 0; }

.ta-social__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.5rem;
  min-width: 2.5rem;
  border-radius: var(--ta-radius-circle);
  color: var(--ta-color-text-muted);
  text-decoration: none;
  transition: color var(--ta-transition), background-color var(--ta-transition);
}

.ta-social__link:hover {
  background-color: var(--ta-color-surface);
  color: var(--ta-color-accent-soft);
}

/* --- Payment methods --- */

.ta-payments {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--ta-space-3xs);
}

.ta-payments__item {
  margin: 0;
  padding: var(--ta-space-3xs) var(--ta-space-2xs);
  background-color: var(--ta-color-surface);
  border: var(--ta-border-width) solid var(--ta-color-border-strong);
  border-radius: var(--ta-radius-xs);
  font-size: var(--ta-text-3xs);
  color: var(--ta-color-text-muted);
  white-space: nowrap;
}
