/* ==========================================================
   FORMULARIO DE CONTACTO
========================================================== */

.contact-form .wpforms-container{
    margin-top: 1.75rem;
}

.contact-form .wpforms-form{
    display:flex;
    flex-direction:column;
    gap:1.25rem;
}

/* Grid */
.contact-form .wpforms-field-container{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:1.25rem;
}

.contact-form .wpforms-field{
    margin:0 !important;
    padding:0 !important;
}

.contact-form .wpforms-one-half{
    width:auto !important;
}

.contact-form .wpforms-first{
    clear:none !important;
}

.contact-form .wpforms-field-text,
.contact-form .wpforms-field-textarea{
    grid-column:1 / -1;
}

/* Labels ocultos */
.contact-form .wpforms-label-hide{
    display:none;
}

/* Campos */
.contact-form .wpforms-field input:not([type="hidden"]),
.contact-form .wpforms-field textarea{
    width:100% !important;
    padding:.95rem 1rem;
    border:1.5px solid #bfc7cf;
    border-radius:10px;
    background:#fff;
    color:var(--ink);
    font-size:.96rem;
    line-height:1.5;
    transition:all .25s ease;
    box-shadow:0 1px 2px rgba(0,0,0,.04);
}

/* Altura textarea */
.contact-form textarea{
    min-height:180px;
    resize:vertical;
}

/* Placeholder */
.contact-form input::placeholder,
.contact-form textarea::placeholder{
    color:#8b8f96;
    opacity:1;
}

/* Hover */
.contact-form input:hover,
.contact-form textarea:hover{
    border-color:#9ca8b5;
}

/* Focus */
.contact-form input:focus,
.contact-form textarea:focus{
    outline:none;
    border-color:var(--crest-red);
    box-shadow:
            0 0 0 3px rgba(179,18,23,.12),
            0 2px 8px rgba(0,0,0,.06);
}

/* Mensajes de error */
.contact-form .wpforms-error{
    font-size:.85rem;
    margin-top:.35rem;
    color:#b31217;
}

.contact-form input.wpforms-error,
.contact-form textarea.wpforms-error{
    border-color:#d62828 !important;
}

/* Campo honeypot */
.contact-form .wpforms-field-hp{
    display:none !important;
}

/* Contenedor del botón */
.contact-form .wpforms-submit-container{
    margin-top:.25rem;
}

/* Mensaje de éxito */
.contact-form .wpforms-confirmation-container-full{
    background:#f4fbf6;
    border:1px solid #b9dec2;
    color:#2f6d45;
    border-radius:12px;
    padding:1rem 1.25rem;
}

/* Responsive */
@media (max-width:768px){

    .contact-form .wpforms-field-container{
        grid-template-columns:1fr;
        gap:1rem;
    }

    .contact-form .wpforms-field-text,
    .contact-form .wpforms-field-textarea{
        grid-column:auto;
    }

}

.contact-info-card,
.contact-form-card{
    display:flex;
    flex-direction:column;
    height:100%;
}

.contact-info-extra{
    margin-top:auto;
    padding-top:1.5rem;
    border-top:1px solid var(--line);
}