.pagina-contacto {
    box-sizing: border-box !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;

    width: min(1280px, calc(100% - 80px)) !important;
    max-width: 1280px !important;

    margin: 0 auto !important;
    padding: 125px 0 95px !important;

    color: #333333 !important;
    background: transparent !important;
}
.pagina-contacto,
.pagina-contacto * {
    box-sizing: border-box;
}
.titulo-contacto {
    width: 100% !important;
    max-width: 900px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #333333 !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: clamp(38px, 3.4vw, 52px) !important;
    font-weight: 400 !important;
    line-height: 1.08 !important;
    letter-spacing: -1px !important;
}
.barra-contacto {
    display: block !important;

    width: 88px !important;
    max-width: 88px !important;

    margin: 25px 0 32px !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
}
.barra-contacto figure {
    display: block !important;

    width: 88px !important;
    height: 2px !important;

    margin: 0 !important;
    padding: 0 !important;
}
.barra-contacto img {
    display: block !important;

    width: 88px !important;
    height: 2px !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: cover !important;
    opacity: 0.80 !important;
}
.texto-contacto {
    width: 100% !important;
    max-width: 820px !important;

    margin: 0 0 38px !important;
    padding: 0 !important;

    color: #5b544f !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;
}
.contacto-grid {
    display: grid !important;

    grid-template-columns:
        minmax(0, 1.58fr)
        minmax(320px, 0.70fr) !important;

    align-items: start !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    gap: clamp(38px, 4vw, 60px) !important;
}
.contacto-grid > * {
    width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;

    flex-basis: auto !important;
    flex-grow: 0 !important;
}
.contacto-formulario-contenedor {
    width: 100% !important;

    margin: 0 !important;
    padding: 40px 42px 44px !important;

    background:
        linear-gradient(
            145deg,
            #f6f1ec 0%,
            rgba(237, 229, 222, 0.78) 100%
        ) !important;

    border:
        1px solid rgba(128, 103, 91, 0.18) !important;

    border-radius: 10px !important;

    box-shadow:
        0 16px 40px rgba(93, 82, 65, 0.075) !important;
}
.titulo-formulario-contacto {
    margin: 0 0 28px !important;
    padding: 0 0 20px !important;

    color: #383330 !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 25px !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;

    border-bottom:
        1px solid rgba(128, 103, 91, 0.17) !important;
}
.contacto-formulario-contenedor .nf-form-cont,
.contacto-formulario-contenedor .nf-form-wrap,
.contacto-formulario-contenedor .nf-form-layout,
.contacto-formulario-contenedor .nf-form-content,
.contacto-formulario-contenedor ninja-forms,
.contacto-formulario-contenedor ninja-forms-display {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}
.contacto-formulario-contenedor .nf-form-fields-required {
    margin: 0 0 24px !important;
    padding: 0 !important;

    color: #706863 !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
}
.contacto-formulario-contenedor .ninja-forms-req-symbol {
    color: #9c463d !important;
}
.contacto-formulario-contenedor .nf-field-container {
    margin: 0 0 22px !important;
}
.contacto-formulario-contenedor
.nf-field-container:last-child {
    margin-bottom: 0 !important;
}
.contacto-formulario-contenedor .nf-field-label {
    margin: 0 0 8px !important;
    padding: 0 !important;
}
.contacto-formulario-contenedor .nf-field-label label {
    margin: 0 !important;
    padding: 0 !important;

    color: #383330 !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
}
.contacto-formulario-contenedor input[type="text"],
.contacto-formulario-contenedor input[type="email"],
.contacto-formulario-contenedor input[type="tel"],
.contacto-formulario-contenedor input[type="url"],
.contacto-formulario-contenedor input[type="number"],
.contacto-formulario-contenedor select,
.contacto-formulario-contenedor textarea {
    display: block !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 14px 15px !important;

    color: #333333 !important;
    background-color: rgba(246, 241, 236, 0.96) !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;

    border:
        1px solid rgba(128, 103, 91, 0.30) !important;

    border-radius: 5px !important;

    outline: none !important;
    box-shadow: none !important;

    transition:
        border-color 0.2s ease,
        background-color 0.2s ease,
        box-shadow 0.2s ease !important;
}
.contacto-formulario-contenedor input[type="text"],
.contacto-formulario-contenedor input[type="email"],
.contacto-formulario-contenedor input[type="tel"],
.contacto-formulario-contenedor input[type="url"],
.contacto-formulario-contenedor input[type="number"],
.contacto-formulario-contenedor select {
    min-height: 51px !important;
}
.contacto-formulario-contenedor textarea {
    min-height: 200px !important;
    resize: vertical !important;
}
.contacto-formulario-contenedor input::placeholder,
.contacto-formulario-contenedor textarea::placeholder {
    color: #99918c !important;
    opacity: 1 !important;
}
.contacto-formulario-contenedor input:focus,
.contacto-formulario-contenedor select:focus,
.contacto-formulario-contenedor textarea:focus {
    background-color: #ffffff !important;

    border-color: #9b6754 !important;

    box-shadow:
        0 0 0 3px rgba(155, 103, 84, 0.11) !important;
}
.contacto-formulario-contenedor .checkbox-container {
    width: 100% !important;

    margin: 0 0 21px !important;
    padding: 0 !important;
}
.contacto-formulario-contenedor
.checkbox-container
.checkbox-wrap {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;

    width: 100% !important;

    gap: 10px !important;

    margin: 0 !important;
    padding: 0 !important;
}
.contacto-formulario-contenedor
.checkbox-container
.nf-field-element {
    order: 1 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    flex: 0 0 auto !important;

    width: auto !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;
}
.contacto-formulario-contenedor
.checkbox-container
input[type="checkbox"],
.contacto-formulario-contenedor
.checkbox-container
input[type="checkbox"].nf-element {
    -webkit-appearance: checkbox !important;
    appearance: auto !important;

    position: static !important;

    display: inline-block !important;

    width: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;

    height: 18px !important;
    min-height: 18px !important;
    max-height: 18px !important;

    margin: 0 !important;
    padding: 0 !important;

    opacity: 1 !important;
    visibility: visible !important;

    clip: auto !important;
    clip-path: none !important;

    background: initial !important;
    background-image: none !important;

    border: initial !important;
    border-radius: initial !important;

    box-shadow: none !important;
    transform: none !important;

    accent-color: #9b6754 !important;

    cursor: pointer !important;
}
.contacto-formulario-contenedor
.checkbox-container
.nf-field-label {
    order: 2 !important;

    flex: 1 1 auto !important;

    width: auto !important;

    margin: 0 !important;
    padding: 0 !important;
}
.contacto-formulario-contenedor
.checkbox-container
.nf-field-label label {
    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #514b47 !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;

    cursor: pointer !important;
}
.contacto-formulario-contenedor
.checkbox-container
.nf-field-label a {
    color: #8e5f4d !important;

    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}
.contacto-formulario-contenedor textarea.g-recaptcha-response,
.contacto-formulario-contenedor .g-recaptcha-response {
    position: absolute !important;

    width: 1px !important;
    min-width: 1px !important;
    max-width: 1px !important;

    height: 1px !important;
    min-height: 1px !important;
    max-height: 1px !important;

    margin: -1px !important;
    padding: 0 !important;

    overflow: hidden !important;

    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;

    white-space: nowrap !important;

    opacity: 0 !important;
    visibility: hidden !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;

    resize: none !important;
    pointer-events: none !important;
}
.contacto-formulario-contenedor .recaptcha-container {
    width: 100% !important;

    margin: 2px 0 20px !important;
    padding: 0 !important;
}
.contacto-formulario-contenedor
.recaptcha-container
.nf-field-label {
    display: none !important;
}
.contacto-formulario-contenedor
.recaptcha-container
.nf-field-element {
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}
.contacto-formulario-contenedor .g-recaptcha {
    display: inline-block !important;

    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}
.contacto-formulario-contenedor .submit-container {
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}
.contacto-formulario-contenedor
.submit-container
.nf-field-element {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}
.contacto-formulario-contenedor input[type="button"],
.contacto-formulario-contenedor input[type="submit"],
.contacto-formulario-contenedor .nf-element[type="button"],
.contacto-formulario-contenedor .submit-container input {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-width: 195px !important;
    min-height: 50px !important;

    margin: 0 !important;
    padding: 15px 30px !important;

    color: #ffffff !important;

    background:
        linear-gradient(
            135deg,
            #a8735e 0%,
            #92604e 100%
        ) !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    letter-spacing: 0.9px !important;
    text-transform: uppercase !important;

    border: 1px solid #92604e !important;
    border-radius: 5px !important;

    box-shadow:
        0 7px 16px rgba(146, 96, 78, 0.15) !important;

    cursor: pointer !important;

    transition:
        background 0.22s ease,
        border-color 0.22s ease,
        transform 0.22s ease,
        box-shadow 0.22s ease !important;
}
.contacto-formulario-contenedor input[type="button"]:hover,
.contacto-formulario-contenedor input[type="submit"]:hover,
.contacto-formulario-contenedor .nf-element[type="button"]:hover,
.contacto-formulario-contenedor .submit-container input:hover {
    color: #ffffff !important;

    background:
        linear-gradient(
            135deg,
            #91604e 0%,
            #754a3c 100%
        ) !important;

    border-color: #754a3c !important;

    transform: translateY(-2px) !important;

    box-shadow:
        0 9px 20px rgba(117, 74, 60, 0.20) !important;
}
.contacto-formulario-contenedor input:disabled {
    opacity: 0.65 !important;
    cursor: not-allowed !important;
    transform: none !important;
}
.contacto-formulario-contenedor .nf-error-msg,
.contacto-formulario-contenedor .nf-error-field-errors {
    color: #9c3f36 !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
}
.contacto-formulario-contenedor
.nf-error
.nf-field-element
.nf-element {
    border-color: #9c3f36 !important;
}
.contacto-formulario-contenedor .nf-form-errors {
    margin-top: 18px !important;
}
.contacto-formulario-contenedor .nf-response-msg {
    margin: 0 !important;
    padding: 24px 25px !important;

    color: #393532 !important;

    background:
        linear-gradient(
            135deg,
            rgba(237, 229, 222, 0.92),
            rgba(246, 241, 236, 0.98)
        ) !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 14px !important;
    line-height: 1.7 !important;

    border:
        1px solid rgba(155, 103, 84, 0.23) !important;

    border-left:
        4px solid #9b6754 !important;

    border-radius: 6px !important;
}
.contacto-formulario-contenedor .nf-response-msg p {
    margin: 0 !important;
}
.contacto-datos {
    box-sizing: border-box !important;

    position: sticky !important;
    top: 100px !important;

    display: flex !important;
    flex-direction: column !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 35px 32px 32px !important;

    background:
        linear-gradient(
            155deg,
            #ede5de 0%,
            rgba(246, 241, 236, 0.96) 100%
        ) !important;

    border:
        1px solid rgba(128, 103, 91, 0.19) !important;

    border-radius: 10px !important;

    box-shadow:
        0 16px 40px rgba(93, 82, 65, 0.085) !important;

    gap: 0 !important;
}
.contacto-datos > * {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
}
.contacto-datos > h2,
.contacto-datos > h3 {
    margin: 0 0 30px !important;
    padding: 0 0 21px !important;

    color: #393431 !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 21px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;

    border-bottom:
        1px solid rgba(128, 103, 91, 0.17) !important;
}
.contacto-item {
    position: relative !important;

    display: block !important;

    min-height: 48px !important;

    margin: 0 0 22px !important;
    padding: 0 0 22px 58px !important;

    border-bottom:
        1px solid rgba(128, 103, 91, 0.15) !important;
}
.contacto-horario {
    margin-bottom: 25px !important;
}
.contacto-item::before {
    content: "";

    position: absolute;
    top: 1px;
    left: 0;

    width: 40px;
    height: 40px;

    background-color: rgba(246, 241, 236, 0.88) !important;

    background-repeat: no-repeat;
    background-position: center;
    background-size: 19px 19px;

    border:
        1px solid rgba(155, 103, 84, 0.23);

    border-radius: 50%;

    box-shadow:
        0 3px 10px rgba(93, 82, 65, 0.05) !important;
}
.contacto-direccion::before {
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%239b6754' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 11-8 11S4 15 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
}
.contacto-telefono::before {
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%239b6754' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.79 19.79 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.12.9.33 1.78.62 2.63a2 2 0 0 1-.45 2.11L8 9.73a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.85.29 1.73.5 2.63.62A2 2 0 0 1 22 16.92Z'/%3E%3C/svg%3E");
}
.contacto-email::before {
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%239b6754' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E");
}
.contacto-horario::before {
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%239b6754' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
}
.contacto-etiqueta {
    margin: 0 0 5px !important;
    padding: 0 !important;

    color: #8a5b49 !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    letter-spacing: 1.15px !important;
    text-transform: uppercase !important;
}
.contacto-valor {
    margin: 0 !important;
    padding: 0 !important;

    color: #47413d !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
}
.contacto-valor a {
    color: #765043 !important;
    text-decoration: none !important;

    overflow-wrap: anywhere !important;
}
.contacto-valor a:hover {
    color: #9b6754 !important;
    text-decoration: underline !important;
}
.contacto-datos .contacto-cita {
    position: relative !important;

    display: flex !important;
    align-items: center !important;

    width: 100% !important;
    min-width: 0 !important;
    min-height: 56px !important;

    gap: 12px !important;

    margin: 3px 0 0 !important;
    padding: 14px 16px !important;

    color: #514942 !important;

    background:
        linear-gradient(
            90deg,
            #ede5de 0%,
            #f6f1ec 100%
        ) !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;

    white-space: normal !important;
    overflow-wrap: break-word !important;

    border:
        1px solid rgba(155, 103, 84, 0.20) !important;

    border-radius: 8px !important;

    box-shadow:
        0 5px 14px rgba(93, 82, 65, 0.045) !important;
}
.contacto-datos .contacto-cita::before {
    content: "✓" !important;

    position: static !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    flex: 0 0 24px !important;

    width: 24px !important;
    height: 24px !important;

    margin: 0 !important;

    color: #ffffff !important;
    background-color: #9b6754 !important;

    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1 !important;

    border-radius: 50% !important;

    transform: none !important;
}
.contacto-mapa {
    width: 100% !important;

    margin: 58px 0 0 !important;

    overflow: hidden !important;

    background:
        linear-gradient(
            135deg,
            #ede5de,
            #f6f1ec
        ) !important;

    border:
        1px solid rgba(128, 103, 91, 0.17) !important;

    border-radius: 10px !important;

    box-shadow:
        0 15px 38px rgba(93, 82, 65, 0.075) !important;
}
.contacto-mapa iframe {
    display: block !important;

    width: 100% !important;
    height: 390px !important;

    margin: 0 !important;

    border: 0 !important;
}
@media (max-width: 1000px) {
.pagina-contacto {
        width: calc(100% - 48px) !important;
        padding: 110px 0 75px !important;
    }
.contacto-grid {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }
.contacto-datos {
        position: static !important;
    }
.contacto-formulario-contenedor,
    .contacto-datos {
        padding: 30px !important;
    }
.contacto-mapa {
        margin-top: 40px !important;
    }
.contacto-mapa iframe {
        height: 350px !important;
    }
}
@media (max-width: 600px) {
.pagina-contacto {
        width: calc(100% - 28px) !important;

        padding-top: 92px !important;
        padding-bottom: 55px !important;
    }
.titulo-contacto {
        font-size: clamp(34px, 9vw, 42px) !important;
        letter-spacing: -0.5px !important;
    }
.barra-contacto {
        width: 72px !important;
        max-width: 72px !important;

        margin: 22px 0 27px !important;
    }
.barra-contacto figure,
    .barra-contacto img {
        width: 72px !important;
    }
.texto-contacto {
        margin-bottom: 30px !important;
        font-size: 14px !important;
    }
.contacto-grid {
        gap: 22px !important;
    }
.contacto-formulario-contenedor,
    .contacto-datos {
        padding: 24px 19px !important;
        border-radius: 7px !important;
    }
.titulo-formulario-contacto {
        margin-bottom: 24px !important;
        font-size: 22px !important;
    }
.contacto-item {
        padding-left: 55px !important;
    }
.contacto-formulario-contenedor
    .nf-field-container {
        margin-bottom: 19px !important;
    }
.contacto-formulario-contenedor
    .checkbox-container
    .checkbox-wrap {
        align-items: flex-start !important;
    }
.contacto-formulario-contenedor
    .checkbox-container
    .nf-field-element {
        margin-top: 1px !important;
    }
.contacto-formulario-contenedor .g-recaptcha {
        transform: scale(0.90) !important;
        transform-origin: left top !important;

        margin-bottom: -8px !important;
    }
.contacto-formulario-contenedor
    input[type="button"],
    .contacto-formulario-contenedor
    input[type="submit"],
    .contacto-formulario-contenedor
    .nf-element[type="button"],
    .contacto-formulario-contenedor
    .submit-container input {
        width: 100% !important;
        min-width: 0 !important;
    }
.contacto-datos .contacto-cita {
        min-height: 0 !important;
        padding: 13px 14px !important;
    }
.contacto-datos .contacto-cita::before {
        flex-basis: 22px !important;

        width: 22px !important;
        height: 22px !important;
    }
.contacto-mapa {
        margin-top: 30px !important;
        border-radius: 7px !important;
    }
.contacto-mapa iframe {
        height: 300px !important;
    }
}
@media (max-width: 350px) {
:is(.page-id-2442, .page-id-2666) .contacto-formulario-contenedor .g-recaptcha {
        transform: scale(0.89) !important;
    }
}
body:is(.page-id-2442, .page-id-2666) .pagina-contacto .barra-contacto {
    display: block !important;

    width: 100px !important;
    max-width: 100px !important;

    height: 3px !important;

    margin: 25px 0 32px !important;
    padding: 0 !important;

    background-color: #a85e48 !important;
    border: 0 !important;
}
body:is(.page-id-2442, .page-id-2666) .pagina-contacto .barra-contacto figure,
body:is(.page-id-2442, .page-id-2666) .pagina-contacto .barra-contacto img {
    display: none !important;
}
@media (max-width: 600px) {
body:is(.page-id-2442, .page-id-2666) .pagina-contacto .barra-contacto {
        width: 100px !important;
        max-width: 100px !important;

        height: 3px !important;

        margin: 22px 0 27px !important;

        background-color: #a85e48 !important;
    }
}
