/* Pie común: solo marca, información útil y legal. */

.ft-main {
  max-width: 1296px;
  padding: 32px 48px 24px;
}

.ft-cols {
  grid-template-columns: minmax(220px, 1.45fr) repeat(2, minmax(150px, 1fr));
  gap: clamp(24px, 3vw, 42px);
}

.ft-col .ft-h,
.ft-col h2.ft-h {
  margin-bottom: 10px;
}

.ft-col a {
  padding: 3px 0;
  font-size: var(--fs-xs);
}

/* En móvil los enlaces del pie medían 25px de alto: por debajo del mínimo táctil de
   44px, y son nueve seguidos, así que fallar el objetivo golpea al de al lado. */
@media (max-width: 700px) {
  .ft-col a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 0;
  }
}

.ft-col-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(100%, 390px);
  justify-self: start;
  text-align: center;
}

.ft-col-brand .ft-logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.ft-col-brand .ft-logo img {
  display: block;
  height: auto;
}

.ft-col-brand .ft-logo .ft-mascot {
  width: 58px;
}

.ft-col-brand .ft-logo .ft-wordmark {
  width: 118px;
}

.ft-col-brand p {
  max-width: 280px;
  margin: 0 auto;
  font-size: var(--fs-xs);
  line-height: 1.45;
}

.ft-instagram-bio span {
  display: block;
}

.ft-instagram-bio span + span {
  margin-top: 2px;
}

.ft-col a[href*="instagram.com"] {
  display: none;
}

.ft-bottom {
  padding: 12px 48px;
  gap: 12px;
}

.ft-social a {
  width: 34px;
  height: 34px;
  border-width: 1px;
}

@media (max-width: 760px) {
  .ft-main {
    padding-inline: 24px;
  }

  .ft-cols {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 32px;
  }

  .ft-col-brand {
    grid-column: 1 / -1;
    width: 100%;
    justify-self: stretch;
  }

}

@media (max-width: 600px) {
  .ft-main {
    padding: 28px 20px 20px;
  }

  .ft-cols {
    gap: 22px 18px;
  }

  .ft-col-brand p {
    max-width: 34ch;
  }

  .ft-bottom {
    padding: 12px 20px;
    flex-direction: row;
    text-align: left;
  }

  .ft-brand {
    flex-direction: row;
  }

  .ft-bottom-right {
    margin-left: auto;
  }
}
