/* Estilos generales del footer */
footer {
    background-color: #1a1a1a;
    color: #fff;
    text-align: center;
    padding: 20px 10px;
    font-size: 16px;
}

.footer-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: stretch;
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
}

.footer-info,
.footer-redes,
.footer-mapa {
    flex: 1;
    min-width: 250px;
}

/* Estilos de la información de contacto */
.footer-info h3,
.footer-redes h3,
.footer-mapa h3 {
    font-size: 18px;
    margin-bottom: 10px;
    color: #ff4c4c; /* Color rojo japonés */
}

.footer-info p {
    margin: 5px 0;
}

/* Estilos de los íconos de redes sociales */
.iconos-redes {
    display: flex;
    justify-content: center;
    gap: 15px;
}

.iconos-redes a {
    display: inline-block;
    color: aliceblue;
    width: 40px;
    height: 40px;
    transition: transform 0.3s ease-in-out;
}

.iconos-redes a:hover {
    transform: scale(1.1);
    color: #ffcc00;
}

.iconos-redes img {
    width: 100%;
    height: auto;
}

/* Estilos del mapa */
.footer-mapa #mapa {
    width: 100%;
    height: 250px;
    background-color: #444; /* Placeholder en caso de que el mapa no cargue */
    border-radius: 8px;
}

/* Copy del footer */
.footer-copy {
    margin-top: 20px;
    font-size: 14px;
    color: #aaa;
}

/* RESPONSIVE DESIGN */
@media (max-width: 768px) {
    .footer-container {
        flex-direction: column;
        text-align: center;
    }

    .footer-mapa #mapa {
        height: 200px;
    }

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

@media (max-width: 480px) {
    footer {
        font-size: 14px;
        padding: 15px 5px;
    }

    .iconos-redes a {
        width: 35px;
        height: 35px;
    }

    .footer-mapa #mapa {
        height: 180px;
    }
}
