/*==============================================================
#
# EcoClimPro V2
# Forms CSS
# Version : 2.0
#
==============================================================*/


/*==============================================================
# Formulaire
==============================================================*/

.form{

    width:100%;

}

.form__grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:28px;

}

.form__group{

    display:flex;

    flex-direction:column;

}

.form__group--full{

    grid-column:1/-1;

}


/*==============================================================
# Labels
==============================================================*/

.form label{

    margin-bottom:10px;

    font-weight:600;

    color:var(--heading-color);

}


/*==============================================================
# Champs
==============================================================*/

.form input,
.form textarea,
.form select{

    width:100%;

    height:58px;

    padding:0 18px;

    border:1px solid var(--color-gray-300);

    border-radius:16px;

    background:#fff;

    transition:.30s;

    font-size:1rem;

    color:var(--text-color);

}

.form textarea{

    min-height:180px;

    padding:18px;

    resize:vertical;

}

.form select{

    appearance:none;

    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%2364748b' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");

    background-repeat:no-repeat;

    background-position:right 18px center;

}


/*==============================================================
# Focus
==============================================================*/

.form input:focus,
.form textarea:focus,
.form select:focus{

    border-color:var(--color-primary);

    box-shadow:0 0 0 4px rgba(10,108,176,.15);

}


/*==============================================================
# Placeholder
==============================================================*/

.form input::placeholder,
.form textarea::placeholder{

    color:var(--color-gray-400);

}


/*==============================================================
# Checkbox
==============================================================*/

.form__check{

    display:flex;

    align-items:flex-start;

    gap:12px;

}

.form__check input{

    width:20px;

    height:20px;

    margin-top:2px;

}


/*==============================================================
# Messages
==============================================================*/

.form-notice{

    padding:18px 22px;

    border-radius:16px;

    margin-bottom:25px;

    font-weight:600;

}

.form-notice--ok{

    background:#eaf8ee;

    color:#166534;

    border-left:5px solid var(--color-success);

}

.form-notice--ko{

    background:#fef2f2;

    color:#991b1b;

    border-left:5px solid var(--color-danger);

}


/*==============================================================
# Bouton
==============================================================*/

.form .btn{

    margin-top:12px;

}


/*==============================================================
# Contact
==============================================================*/

.contact-layout{

    display:grid;

    grid-template-columns:1.2fr .8fr;

    gap:50px;

}

.contact-card{

    background:#fff;

    padding:40px;

    border-radius:24px;

    box-shadow:var(--shadow-sm);

}

.contact-info{

    display:grid;

    gap:24px;

}

.contact-info__item{

    display:flex;

    gap:18px;

    align-items:flex-start;

}

.contact-info__icon{

    width:56px;

    height:56px;

    border-radius:16px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:var(--color-primary-light);

    color:var(--color-primary);

    font-size:1.4rem;

}


/*==============================================================
# Carte
==============================================================*/

.contact-map{

    overflow:hidden;

    border-radius:24px;

    box-shadow:var(--shadow-md);

    min-height:450px;

}

.contact-map iframe{

    width:100%;

    height:100%;

}


/*==============================================================
# Responsive
==============================================================*/

@media(max-width:991px){

.form__grid{

    grid-template-columns:1fr;

}

.contact-layout{

    grid-template-columns:1fr;

}

}

@media(max-width:768px){

.contact-card{

    padding:28px;

}

.form input,
.form select{

    height:54px;

}

}
