/* ==========================================
   FORM SYSTEM
========================================== */

.form-group{

    display:flex;

    flex-direction:column;

    gap:10px;

    margin-bottom:24px;

}

.form-label{

    font-size:15px;

    font-weight:600;

    color:var(--text);

}

.form-control{

    width:100%;

    height:56px;

    padding:0 18px;

    border:1px solid var(--border);

    border-radius:var(--radius-md);

    background:var(--white);

    color:var(--text);

    transition:var(--transition);

    outline:none;

}

.form-control::placeholder{

    color:#A0A0A0;

}

.form-control:hover{

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

}

.form-control:focus{

    border-color:var(--primary);

    box-shadow:
    0 0 0 5px rgba(124,58,237,.12);

}
.form-textarea{

    min-height:160px;

    resize:vertical;

    padding:18px;

}
.form-select{

    appearance:none;

    cursor:pointer;

    background-image:url("../assets/icons/arrow-down.svg");

    background-repeat:no-repeat;

    background-position:right 18px center;

}
.is-valid{

    border-color:var(--success);

}

.is-valid:focus{

    box-shadow:
    0 0 0 5px rgba(34,197,94,.15);

}

.is-invalid{

    border-color:var(--danger);

}

.is-invalid:focus{

    box-shadow:
    0 0 0 5px rgba(239,68,68,.15);

}

.error-text{

    font-size:13px;

    color:var(--danger);

}

.success-text{

    font-size:13px;

    color:var(--success);

}
.form-check{

    display:flex;

    align-items:center;

    gap:10px;

}

.form-check input{

    width:18px;

    height:18px;

    accent-color:var(--primary);

}
.input-icon{

    position:relative;

}

.input-icon i{

    position:absolute;

    left:18px;

    top:50%;

    transform:translateY(-50%);

    color:var(--primary);

}

.input-icon .form-control{

    padding-left:48px;

}
.search-input{

    border-radius:var(--radius-pill);

}
.newsletter-input{

    border-radius:var(--radius-pill);

    padding-right:60px;

}