/* --- FOOTER --- */
.footer-section {
  background-color: var(
    --bg-color
  ); /* Utiliza el color de fondo principal (oscuro o claro según el tema) */
  color: var(--text-color);
  padding: 4rem 3rem 2rem; /* Espaciado superior, laterales, inferior */
  border-top: 1px solid rgba(128, 128, 128, 0.1); /* Línea separadora sutil superior */
  transition:
    background-color 0.3s ease,
    color 0.3s ease;
}

.footer-container {
  max-width: 1200px;
  margin: 0 auto;
}

/* --- FOOTER TOP: LOGO Y CONTACTO --- */
.footer-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
}

/* Reutilizando la clase .logo-container del header */
.footer-top .logo-container {
  /* No es necesario redefinir estilos, hereda los del header.css */
}

.contact-info {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.contact-item {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  font-size: 0.95rem;
  font-weight: 500;
}

.contact-item svg {
  color: var(--text-color); /* Íconos del color del texto actual */
  transition: color 0.3s ease;
}

/* --- FOOTER BOTTOM: COPYRIGHT Y ENLACES --- */
.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 2rem;
  font-size: 0.9rem;
  font-weight: 500;
}

.copyright {
  opacity: 0.9;
}

.legal-links {
  display: flex;
  gap: 2rem;
}

.legal-links a {
  color: var(--text-color);
  text-decoration: underline; /* Subrayado por defecto según tu diseño */
  transition: color 0.2s ease;
}

.legal-links a:hover {
  color: var(--secundario); /* Dorado al pasar el mouse */
}

/* --- RESPONSIVE FOOTER --- */
@media (max-width: 992px) {
  .footer-top {
    flex-direction: column;
    align-items: flex-start; /* Alinea logo y contacto a la izquierda */
    gap: 2.5rem;
  }
}

@media (max-width: 768px) {
  .footer-section {
    padding: 3rem 1.5rem 2rem;
  }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
  }

  .legal-links {
    gap: 1.5rem;
    display: flex;
    flex-direction: column;
  }
}

/* Pequeño ajuste para pantallas muy pequeñas (celulares verticales) */
@media (max-width: 480px) {
  .footer-top .logo-container {
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
  }

  .footer-top .logo-divider {
    width: 3px;
    height: 50px;
    margin: 0.5rem 0;
  }
}

.logo-animado {
  display: inline-flex; /* Permite que conviva en la misma línea que el párrafo */
  gap: 1px; /* Espacio entre "ByAndru" y "Web>" */
  vertical-align: baseline; /* Alinea el logo con el resto del texto */
  font-family: "Arimo", sans-serif;
  font-weight: 700;
  text-decoration: none; /* Quita el subrayado del enlace si lo deseas */
  cursor: pointer;
  color: var(
    --text-color
  ); /* Aplica el color del texto adaptándose al modo día/noche */
  transition: color 0.3s ease;
}

/* Contenedores de las palabras */
.logo-animado .linea-superior,
.logo-animado .linea-inferior {
  display: inline-flex;
  transition: 0.2s ease all;
}

/* Letras individuales */
.logo-animado span span {
  display: inline-block; /* Necesario para que el transform funcione */
  transition: transform 0.3s ease;
}

/* Hover de colores individuales (Opcional, sin cambiar tamaños) */
.logo-animado:hover .linea-superior {
  color: #d1c4e9;
}

.logo-animado:hover .linea-inferior {
  color: #000000;
}

/* Solo animamos los span que están dentro de las líneas (las letras) */
.logo-animado:hover > span > span {
  animation: ola 0.8s ease-in-out infinite;
  animation-delay: calc(0.1s * var(--i));
}

/* --- ANIMACIÓN DE OLA --- */
@keyframes ola {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5px); /* Salto suave */
  }
}
