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

.form{
    display:flex;
    flex-direction:column;
    gap:2rem;
}

.form__group{
    display:flex;
    flex-direction:column;
    gap:.8rem;
}

/* ==========================================================
   LABELS
========================================================== */

.form__label{
    font-size:1.5rem;
    font-weight:600;
    color:var(--color-text);
}

/* ==========================================================
   INPUTS
========================================================== */

.form__input,
.form__textarea,
.form__select{
    width:100%;
    padding:1.3rem 1.6rem;
    border:1px solid var(--color-border);
    border-radius:var(--radius-md);
    background:var(--color-surface);
    color:var(--color-text);
    transition:var(--transition);
}

.form__input::placeholder,
.form__textarea::placeholder{
    color:var(--color-text-light);
}

.form__input:focus,
.form__textarea:focus,
.form__select:focus{
    outline:none;
    border-color:var(--color-primary);
    box-shadow:0 0 0 4px rgba(37,99,235,.15);
}

.form__textarea{
    resize:vertical;
    min-height:180px;
}

/* ==========================================================
   FEEDBACK
========================================================== */

.form__error{
    color:var(--color-danger);
    font-size:1.4rem;
}

.form__success{
    color:var(--color-success);
    font-size:1.4rem;
}

.form__success p {
    color: var(--color-success);background-color: rgba(34, 197, 94, 0.1);
    border: 1px solid var(--color-success);
    padding: 1rem;
    border-radius: 8px;
    font-size: 1.4rem;
    margin-bottom: 2rem;
}

/* ==========================================================
   ACTIONS
========================================================== */

.form__actions{
    display:flex;
    justify-content:flex-end;
    gap:1.5rem;
}

/* ==========================
   Validation errors
   ========================== */

.form__field-error {
    margin-top: 0.35rem;
    color: #dc2626;
    font-size: 1.5rem;
    font-weight: 500;
}

.form__input--error,
.form__textarea--error {
    border: 2px solid #dc2626 !important;
    outline: none;
}

.form__input--error:focus,
.form__textarea--error:focus {
    border-color: #dc2626;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.15);
}

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

@media(max-width:768px){
    .form__actions{
        width:100%;
        flex-direction:column;
    }

    .form__actions .btn{
        width:100%;
    }

}