/* Background and feel */
.contact-section {
    background: linear-gradient(135deg, #f0f7ff, #ffffff);
    position: relative;
    overflow: hidden;
}

/* Decorative light blur “glow” orbs */
.contact-section::before,
.contact-section::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    opacity: 0.5;
    z-index: 0;
}

.contact-section::before {
    width: 300px;
    height: 300px;
    top: -50px;
    left: -80px;
}

.contact-section::after {
    width: 250px;
    height: 250px;
    bottom: -60px;
    right: -60px;
}

.contact-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    text-decoration: none;
    color: #212529;
    background: rgba(255, 255, 255, 0.6);
    padding: 1rem 1.5rem;
    border-radius: 50px;
    box-shadow: 0 2px 10px rgba(0, 123, 255, 0.05);
    transition: all 0.4s ease;
    position: relative;
    z-index: 1;
}

.contact-item:hover {
    transform: translateY(-4px);
    background: linear-gradient(90deg, rgba(0, 123, 255, 0.1), rgba(102, 16, 242, 0.1));
    box-shadow: 0 8px 25px rgba(13, 110, 253, 0.15);
    color: #0d6efd;
}

/* Icon style */
.icon-circle {
    background: linear-gradient(135deg, #007bff, #6610f2);
    color: #fff;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.6rem;
    transition: all 0.4s ease;
    box-shadow: 0 0 10px rgba(13, 110, 253, 0.3);
}

.contact-item:hover .icon-circle {
    transform: rotate(8deg) scale(1.1);
    box-shadow: 0 0 18px rgba(13, 110, 253, 0.5);
}

/* Text style */
.contact-item h5 {
    font-weight: 600;
}

.contact-item p {
    font-size: 1rem;
    color: #495057;
    transition: color 0.3s ease;
}

.contact-item:hover p {
    color: #0d6efd;
}