/*=========================*
 * CARD CONTACTO
 *=========================*/

.contacto-card {
    max-width: 750px;
    margin: 0 auto;

    border: none;
    border-radius: 18px;

    overflow: hidden;

    box-shadow: 0 15px 40px rgba(0, 0, 0, .10);
}


/* HEADER */

.contacto-card .card-header {
    background: #0d6efd;
    color: #fff;

    padding: 22px 25px;

    border: none;
}

.contacto-card .card-header h3 {
    margin: 0;
    font-weight: 700;
}

.contacto-card .card-header p {
    margin: 5px 0 0;
    opacity: .9;
}


/* BODY */

.contacto-card .card-body {
    padding: 30px;
    background: #fff;
}


/* LABEL */

.contacto-card .form-label {
    font-weight: 600;
    color: #343a40;
}


/* INPUTS */

.contacto-card .form-control {
    border-radius: 10px;
    padding: 11px 14px;
    border: 1px solid #dee2e6;
}


/* INPUT NORMAL ENFOCADO */

.contacto-card .form-control:focus {
    border-color: #0d6efd;

    box-shadow:
        0 0 0 3px rgba(13, 110, 253, .12);
}


/* INPUT INVÁLIDO */

.contacto-card .form-control.is-invalid {
    border-color: var(--bs-form-invalid-border-color);
}


/* INPUT INVÁLIDO CON FOCO */

.contacto-card .form-control.is-invalid:focus {
    border-color: var(--bs-form-invalid-border-color);

    box-shadow:
        0 0 0 3px rgba(220, 53, 69, .12);
}


/* INPUT VÁLIDO */

.contacto-card .form-control.is-valid {
    border-color: var(--bs-form-valid-border-color);
}


/* TEXTAREA */

.contacto-card textarea {
    resize: none;
}


/* MENSAJE DE ERROR */

.contacto-card .invalid-feedback {
    font-size: .875rem;
}


/* BOTÓN */

.contacto-card .btn-primary {
    padding: 10px 30px;

    border-radius: 10px;

    font-weight: 600;

    transition: all .25s ease;
}

.contacto-card .btn-primary:hover {
    transform: translateY(-2px);

    box-shadow:
        0 8px 20px rgba(13, 110, 253, .25);
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 576px) {

    .contacto-card .card-body {
        padding: 20px;
    }

    .contacto-card .card-header {
        padding: 20px;
    }

}