/* FOOTER */
.footer {
  background-color: #1a1a1a;
  padding: 40px;
}

.footer-contenido {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  gap: 60px;
  justify-content: space-around;
}

.footer-col-1 {
  width: 30%;
}

.footer-col-2 {
  width: 20%;
}

.footer-col-3 {
  width: 20%;
}

.footer-logo {
  margin-bottom: 16px;
}

.footer-logo img {
  display: block;
  height: 46px;
  width: auto;
}

.footer-descripcion {
  font-family: 'DM Sans', sans-serif;
  font-weight: 400;
  font-size: 1rem;
  color: #ffffff;
  line-height: 1.7;
}

.footer-titulo-columna {
  font-family: 'Outfit', sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  color: #aaaaaa;
  margin-bottom: 20px;
}

.footer-enlaces {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.footer-enlaces a {
  color: #ffffff;
  text-decoration: none;
  font-size: 1rem;
  display: flex;
  align-items: center;
  gap: 8px;
}

.footer-contacto a {
  color: #ffffff;
  text-decoration: none;
  font-size: 1rem;
  display: flex;
  align-items: center;
  gap: 8px;
}

.footer-enlaces a i {
  color: var(--marca-rojo);
  font-size: 0.8rem;
}

.footer-contacto {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 24px;
}

.footer-contacto li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  color: #ffffff;
  font-size: 0.9rem;
}

.footer-contacto i {
  color: var(--marca-rojo);
  margin-top: 2px;
  font-size: 0.8rem;
}

.footer-redes {
  display: flex;
  /* Los iconos ya llevan 8px de relleno transparente cada uno para llegar a los
     44px pulsables, asi que el hueco visual entre circulos lo dan esos rellenos
     (16px, antes 12px). Con gap las zonas pulsables quedarian demasiado separadas. */
  gap: 0;
}

.footer-red {
  /* 44x44 para poder tocar el icono de la red social sin fallar. El circulo
     naranja se mantiene visualmente igual con un fondo de 28px centrado. */
  width: 44px;
  height: 44px;
  background-clip: content-box;
  padding: 8px;
  background-color: var(--marca-rojo);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: transform 0.3s ease;
}

.footer-red i {
  color: #1a1a1a;
  font-size: 0.9rem;
}

.footer-red:hover {
  transform: scale(1.15);
}

.footer-copy {
  max-width: 1400px;
  margin: 40px auto 0;
  padding-top: 24px;
  border-top: 1px solid #2d2d2d;
  text-align: center;
}

.footer-copy p {
  color: #aaaaaa;
  font-size: 1rem;
}

/* La segunda condicion cubre el telefono en apaisado (R-05): a 844x390 el pie
   recibia el layout de escritorio (columnas en fila) e incluia los iconos de
   redes sin la zona pulsable de 44px. */
@media (max-width: 768px),
       (max-width: 1024px) and (max-height: 500px) {
  .footer {
    padding: 30px 16px;
  }

  .footer-contenido {
    flex-direction: column;
    gap: 30px;
  }

  .footer-col-1,
  .footer-col-2,
  .footer-col-3 {
    width: 100%;
    text-align: center;
  }

  .footer-logo {
    font-size: 20px;
    justify-content: center;
    display: flex;
  }

  .footer-descripcion {
    font-size: 0.75rem;
  }

  .footer-titulo-columna {
    font-size: 0.9rem;
    margin-bottom: 12px;
  }

  .footer-enlaces a {
    font-size: 0.8rem;
    justify-content: center;
    /* 44px de alto para poder tocar el enlace sin fallar al de al lado */
    min-height: 44px;
    align-items: center;
  }

  .footer-contacto li {
    font-size: 0.8rem;
    justify-content: center;
    align-items: center;
    min-height: 44px;
  }

  /* Telefono y correo son enlaces: mismo alto de dedo */
  .footer-contacto li a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }

  .footer-redes {
    justify-content: center;
  }

  .footer-copy {
    margin-top: 20px;
    padding-top: 16px;
  }

  .footer-copy p {
    font-size: 0.75rem;
  }
}
/* Enlaces legales del pie. Van en una fila propia bajo el copyright,
   presentes en todas las paginas del sitio. Cada uno conserva los 44px
   de alto pulsable de R-03 sin agrandar el texto. */
.footer-legales {
  list-style: none;
  margin: 4px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 24px;
}

.footer-legales a {
  display: block;
  min-height: 44px;
  line-height: 44px;
  font-size: 13px;
  color: var(--texto-apagado);
  text-decoration: none;
}

.footer-legales a:hover,
.footer-legales a:focus {
  color: var(--marca-blanco);
  text-decoration: underline;
}

@media (max-width: 480px) {
  .footer-legales {
    gap: 0 16px;
  }
}
