.contacto {
    width: 100%;
    display: flex;
    justify-content: center;
    background-color: #F1FAFF;
    overflow: hidden;
}

.contacto img {
    margin: 40px 80px;
    width: 250px;
    transition: all 0.2s ease;
}

.contacto img:hover {
    transform: scale(0.95);
}

.redes {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    background-color: #F1FAFF;
    padding: 20px 0;
}

*,
*::after,
*::before {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.redes ul {
    display: flex;
    list-style: none;
    gap: 2.5rem;
}

.item a {
    text-decoration: none;
    width: 4.8rem;
    height: 4.8rem;
    background-color: #fff;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
    border: 3px solid #f0faff;
    overflow: hidden;
}

.item a::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 0;
    scale: 1 0;
    transform-origin: bottom;
    transition: scale 0.5s ease;
    background: var(--bg-color);
}

.item:hover a::before {
    scale: 1 1;
}

.icon1 {
    font-size: 2rem;
    color: #ee2a7b;
    transition: 0.5s ease;
    z-index: 2;
}

.icon2 {
    font-size: 2rem;
    color: #0077b5;
    transition: 0.5s ease;
    z-index: 2;
}

.icon3 {
    font-size: 2rem;
    color: #ff0000;
    transition: 0.5s ease;
    z-index: 2;
}

.item a:hover .icon1 {
    color: #f0faff;
    transform: rotateX(360deg) scale(1.15);
}

.item a:hover .icon2 {
    color: #f0faff;
    transform: rotateX(360deg) scale(1.15);
}

.item a:hover .icon3 {
    color: #f0faff;
    transform: rotateX(360deg) scale(1.15);
}

.item:nth-child(1) {
    --bg-color: linear-gradient(to bottom right, #f9ce34, #ee2a7b, #6228d7);
}

.item:nth-child(2) {
    --bg-color: #0077b5;
}

.item:nth-child(3) {
    --bg-color: #ff0000;
}

.item:nth-child(4) {
    --bg-color: #000;
}


@media screen and (max-width:600px) {

    .contacto {
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

}