.contact-modern {
    padding: 80px 0;
    background: linear-gradient(135deg, #0f2a3d, #1f3c50);
    color: #fff;
}

/* TITLE */
.contact-title {
    font-size: 36px;
    font-weight: 700;
    margin-bottom: 20px;
}

/* DESC */
.contact-desc {
    color: #ccc;
    margin-bottom: 25px;
}

/* INFO LIST */
.contact-info .info-item {
    margin-bottom: 12px;
    font-size: 16px;
}

/* BUTTON */
.call-btn {
    display: inline-block;
    margin-top: 20px;
    background: #ff5a1f;
    color: #fff;
    padding: 12px 30px;
    border-radius: 30px;
    text-decoration: none;
    font-weight: 600;
    transition: 0.3s;
}

.call-btn:hover {
    background: #e14c17;
}

/* IMAGE */
.call-girl {
    max-width: 320px;
    animation: float 3s ease-in-out infinite;
}

/* FLOAT ANIMATION */
@keyframes float {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }

    100% {
        transform: translateY(0);
    }
}

/* CALL POPUP */
.call-popup {
    position: absolute;
    top: 50%;
    right: 10%;
    background: #ff5a1f;
    color: #fff;
    padding: 10px 20px;
    border-radius: 20px;
    font-weight: 500;
    animation: bounce 1.5s infinite;
}

/* POPUP ANIMATION */
@keyframes bounce {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-8px);
    }
}

/* SECTION */
.contact-map-section {
    padding: 80px 0;
    background: linear-gradient(135deg, #f8fafc, #eef2ff);
}

/* MAP */
.map-box {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
}

/* CONTACT BOX */
.contact-box {
    background: #fff;
    padding: 30px;
    border-radius: 20px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
}

/* TITLE */
.contact-box h3 {
    font-weight: 700;
    margin-bottom: 10px;
}

.contact-sub {
    color: #64748b;
    margin-bottom: 20px;
}

/* INFO ITEM */
.info-item {
    display: flex;
    gap: 15px;
    margin-bottom: 15px;
    align-items: flex-start;
}

/* ICON */
.info-item span {
    font-size: 20px;
    background: #ff5a1f;
    color: #fff;
    padding: 10px;
    border-radius: 50%;
    min-width: 40px;
    text-align: center;
}

/* TEXT */
.info-item div {
    font-size: 15px;
    color: #334155;
}

/* HOVER EFFECT */
.contact-box:hover {
    transform: translateY(-5px);
    transition: 0.3s;
}