/*====================================================
                CONTACT PAGE CSS
====================================================*/

/*==============================
        CONTACT HERO
==============================*/

.contact-hero {

    padding: 180px 20px 100px;

    text-align: center;

    background: linear-gradient(135deg,
            var(--primary),
            var(--primary-light));

    color: #fff;

}

.contact-hero .hero-badge {

    display: inline-block;

    padding: 10px 22px;

    border-radius: 50px;

    background: rgba(255, 255, 255, .18);

    border: 1px solid rgba(255, 255, 255, .25);

    backdrop-filter: blur(12px);

    margin-bottom: 20px;

}

.contact-hero h1 {

    font-size: 3rem;

    margin-bottom: 15px;

    font-weight: 700;

}

.contact-hero p {

    max-width: 700px;

    margin: auto;

    line-height: 1.8;

    font-size: 1.05rem;

}



/*==============================
        CONTACT SECTION
==============================*/

.contact-container {

    max-width: 1300px;

    margin: 80px auto;

    padding: 0 20px;

    display: grid;

    grid-template-columns: 1fr 1.3fr;

    gap: 50px;

}



/*==============================
      CONTACT INFO CARD
==============================*/

.contact-info {

    background: #fff;

    padding: 35px;

    border-radius: 25px;

    box-shadow: var(--shadow);

}

.contact-info h2 {

    color: var(--primary);

    margin-bottom: 30px;

}

.info-box {

    display: flex;

    align-items: flex-start;

    gap: 18px;

    margin-bottom: 25px;

}

.info-box:last-child {

    margin-bottom: 0;

}

.info-box div h3 {

    color: var(--primary);

    margin-bottom: 6px;

}

.info-box div p {

    color: #555;

    line-height: 1.7;

}



/*==============================
        CONTACT FORM
==============================*/

.contact-form {

    background: #fff;

    padding: 40px;

    border-radius: 25px;

    box-shadow: var(--shadow);

}

.contact-form h2 {

    color: var(--primary);

    margin-bottom: 25px;

}

.contact-form form {

    display: flex;

    flex-direction: column;

    gap: 18px;

}

.contact-form input,

.contact-form textarea {

    width: 100%;

    padding: 16px 18px;

    border: 2px solid #ececff;

    border-radius: 15px;

    outline: none;

    font-size: 1rem;

    transition: .3s;

    resize: none;

    background: #fff;

}

.contact-form input:focus,

.contact-form textarea:focus {

    border-color: var(--primary);

    box-shadow: 0 0 0 4px rgba(147, 129, 255, .15);

}

.contact-form button {

    padding: 16px;

    border: none;

    border-radius: 15px;

    background: var(--primary);

    color: #fff;

    font-size: 1rem;

    font-weight: 600;

    cursor: pointer;

    transition: .3s;

}

.contact-form button:hover {

    background: #7d68ff;

    transform: translateY(-3px);

}



/*==============================
        MAP SECTION
==============================*/

.map-section {

    max-width: 1300px;

    margin: 70px auto;

    padding: 0 20px;

}

.map-section iframe {

    width: 100%;

    height: 450px;

    border: none;

    border-radius: 25px;

    box-shadow: var(--shadow);

}



/*==============================
        SOCIAL SECTION
==============================*/

.social-section {

    text-align: center;

    padding: 70px 20px;

}

.social-section h2 {

    color: var(--primary);

    margin-bottom: 35px;

}

.social-links {

    display: flex;

    justify-content: center;

    align-items: center;

    flex-wrap: wrap;

    gap: 20px;

    margin-top: 30px;

}

.social-links a {

    width: 65px;

    height: 65px;

    display: flex;

    justify-content: center;

    align-items: center;

    text-decoration: none;

    border-radius: 50%;

    background: #ffffff;

    color: var(--primary);

    font-size: 1.6rem;

    box-shadow: var(--shadow);

    transition: all .35s ease;

}

.social-links a:hover {

    background: var(--primary);

    color: #fff;

    transform: translateY(-8px) scale(1.08);

    box-shadow: 0 15px 35px rgba(147, 129, 255, .35);

}


/*==============================
      RESPONSIVE TABLET
==============================*/

@media(max-width:992px) {

    .contact-container {

        grid-template-columns: 1fr;

    }

}



/*==============================
      RESPONSIVE MOBILE
==============================*/

@media(max-width:768px) {

    .contact-hero {

        padding: 90px 20px 70px;

    }

    .contact-hero {
        padding: 90px 20px 70px;
    }

    .contact-hero h1 {
        font-size: 2.2rem;
    }

    .contact-hero p {
        font-size: 1rem;
    }

    .contact-form,

    .contact-info {

        padding: 25px;

    }

    .map-section iframe {

        height: 320px;

    }

    .social-links {

        gap: 15px;

    }

    .social-links a {

        width: 55px;

        height: 55px;

    }

}



/*==============================
      SMALL MOBILE
==============================*/

@media(max-width:480px) {

    .contact-hero h1 {

        font-size: 2.3rem;

    }

    .contact-hero p {

        font-size: .95rem;

    }

    .contact-form,

    .contact-info {

        padding: 20px;

    }

    .contact-form input,

    .contact-form textarea {

        padding: 14px;

    }

    .contact-form button {

        padding: 14px;

    }

}