/*==================================================
    CONTACT SECTION
==================================================*/

.contact-section{

    padding:100px 0;

    background:#f8fafc;

}

/*==================================================
    WRAPPER
==================================================*/

.contact-wrapper{

    display:grid;

    grid-template-columns:1fr 1.2fr;

    gap:60px;

    align-items:start;

}

/*==================================================
    CONTACT INFORMATION
==================================================*/

.contact-info{

    position:sticky;

    top:100px;

}

.contact-info .section-badge{

    display:inline-block;

    padding:8px 20px;

    background:#e8f8ef;

    color:#00A651;

    border-radius:40px;

    font-size:14px;

    font-weight:700;

    margin-bottom:20px;

}

.contact-info h2{

    font-size:42px;

    font-weight:800;

    line-height:1.3;

    color:#1f2937;

    margin-bottom:22px;

}

.contact-info>p{

    font-size:17px;

    line-height:1.9;

    color:#6b7280;

    margin-bottom:40px;

}

/*==================================================
    INFO LIST
==================================================*/

.info-list{

    display:flex;

    flex-direction:column;

    gap:20px;

}

/*==================================================
    INFO CARD
==================================================*/

.info-card{

    display:flex;

    align-items:flex-start;

    gap:18px;

    padding:22px;

    background:#ffffff;

    border:1px solid #e5e7eb;

    border-radius:18px;

    transition:.35s;

}

.info-card:hover{

    transform:translateY(-4px);

    border-color:#00A651;

    box-shadow:0 18px 40px rgba(0,0,0,.08);

}

/*==================================================
    ICON
==================================================*/

.info-icon{

    width:58px;

    height:58px;

    border-radius:50%;

    background:#e8f8ef;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:24px;

    flex-shrink:0;

}

/*==================================================
    CONTENT
==================================================*/

.info-content h4{

    font-size:18px;

    font-weight:700;

    color:#1f2937;

    margin-bottom:8px;

}

.info-content p{

    font-size:15px;

    color:#6b7280;

    line-height:1.7;

}

/*==================================================
    CONTACT FORM CARD
==================================================*/

.contact-form-card{

    background:#ffffff;

    border-radius:24px;

    padding:40px;

    border:1px solid #e5e7eb;

    box-shadow:0 20px 60px rgba(0,0,0,.06);

}

.contact-form-card h3{

    font-size:34px;

    font-weight:800;

    color:#1f2937;

    margin-bottom:12px;

}

.contact-form-card>p{

    color:#6b7280;

    font-size:16px;

    line-height:1.8;

    margin-bottom:35px;

}

/*==================================================
    FORM
==================================================*/

.contact-form-card form{

    display:flex;

    flex-direction:column;

    gap:22px;

}

/*==================================================
    ROW
==================================================*/

.form-row{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:20px;

}

/*==================================================
    FORM GROUP
==================================================*/

.form-group{

    display:flex;

    flex-direction:column;

}

.form-group label{

    font-size:15px;

    font-weight:600;

    color:#374151;

    margin-bottom:10px;

}

/*==================================================
    INPUT
==================================================*/

.form-group input,

.form-group textarea{

    width:100%;

    padding:15px 18px;

    border:1px solid #d1d5db;

    border-radius:10px;

    background:#ffffff;

    font-size:15px;

    color:#374151;

    transition:.30s;

    outline:none;

}

.form-group textarea{

    resize:vertical;

    min-height:160px;

}

/*==================================================
    INPUT FOCUS
==================================================*/

.form-group input:focus,

.form-group textarea:focus{

    border-color:#00A651;

    box-shadow:0 0 0 4px rgba(0,166,81,.12);

}
/*==================================================
    FILE INPUT
==================================================*/

.form-group input[type="file"]{

    padding:12px;

    cursor:pointer;

    background:#ffffff;

}

/*==================================================
    BUTTON
==================================================*/

.contact-form-card .btn{

    display:inline-flex;

    justify-content:center;

    align-items:center;

    padding:15px 35px;

    font-size:16px;

    font-weight:700;

    border-radius:10px;

    margin-top:10px;

    transition:.35s;

}

.contact-form-card .btn:hover{

    transform:translateY(-3px);

    box-shadow:0 15px 35px rgba(0,166,81,.25);

}

/*==================================================
    PLACEHOLDER
==================================================*/

.form-group input::placeholder,

.form-group textarea::placeholder{

    color:#9ca3af;

}

/*==================================================
    LARGE DESKTOP
==================================================*/

@media (min-width:1400px){

    .contact-section{

        padding:120px 0;

    }

}

/*==================================================
    LAPTOP
==================================================*/

@media (max-width:1200px){

    .contact-wrapper{

        gap:40px;

    }

    .contact-info h2{

        font-size:36px;

    }

    .contact-form-card{

        padding:35px;

    }

}

/*==================================================
    TABLET
==================================================*/

@media (max-width:992px){

    .contact-section{

        padding:80px 0;

    }

    .contact-wrapper{

        grid-template-columns:1fr;

    }

    .contact-info{

        position:static;

    }

}

/*==================================================
    MOBILE
==================================================*/

@media (max-width:768px){

    .form-row{

        grid-template-columns:1fr;

    }

    .contact-info h2{

        font-size:32px;

    }

    .contact-form-card{

        padding:25px;

    }

    .contact-form-card h3{

        font-size:28px;

    }

}

/*==================================================
    SMALL MOBILE
==================================================*/

@media (max-width:576px){

    .contact-section{

        padding:65px 0;

    }

    .contact-info h2{

        font-size:28px;

    }

    .contact-info > p{

        font-size:15px;

    }

    .info-card{

        padding:18px;

    }

    .info-icon{

        width:50px;

        height:50px;

        font-size:20px;

    }

    .contact-form-card{

        padding:20px;

        border-radius:18px;

    }

    .contact-form-card h3{

        font-size:24px;

    }

    .form-group label{

        font-size:14px;

    }

    .form-group input,

    .form-group textarea{

        padding:14px 16px;

        font-size:14px;

    }

    .contact-form-card .btn{

        width:100%;

    }

}