.medi-large-contact,
.medi-large-contact * {
    box-sizing: border-box;
}

.medi-large-contact {
    width: 100%;
    background: #f9e8d7;
    color: #2c2626;
    font-family: "Switzer", sans-serif;
}

.medi-large-contact__inner {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: clamp(66px, 6vw, 92px) 24px;
    display: grid;
    grid-template-columns: minmax(0, 0.93fr) minmax(0, 1.27fr);
    align-items: center;
    column-gap: clamp(52px, 6vw, 84px);
}

.medi-large-contact__widget,
.medi-large-contact__widget > .textwidget,
.medi-large-contact__widget > .custom-html-widget {
    display: contents;
}

.medi-large-contact__settings {
    display: none !important;
}

.medi-large-contact__image-wrap {
    height: clamp(510px, 43vw, 650px);
    grid-column: 1;
    grid-row: 1 / 7;
    align-self: center;
    overflow: hidden;
    border-radius: 22px;
}

.medi-large-contact__image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}

.medi-large-contact__title,
.medi-large-contact__intro,
.medi-large-contact__form-wrap,
.medi-large-contact__privacy,
.medi-large-contact__phone,
.medi-large-contact__hours-mobile {
    grid-column: 2;
}

.medi-large-contact__title {
    max-width: 650px;
    margin: 0;
    color: #2c2626;
    font-size: clamp(2.6rem, 3.75vw, 3.75rem);
    font-weight: 400;
    letter-spacing: -0.04em;
    line-height: 1.05;
}

.medi-large-contact__intro {
    max-width: 720px;
    margin: 36px 0 32px;
    color: #2c2626;
    font-size: clamp(1.1rem, 1.4vw, 1.35rem);
    font-weight: 400;
    line-height: 1.55;
}

.medi-large-contact .uacf7-form-wrapper-container > .row,
.medi-large-contact .uacf7-form-wrapper-container:not(:has(> .row)) {
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 20px 22px !important;
}

.medi-large-contact .uacf7-form-wrapper-container > .row > [class*="col-"],
.medi-large-contact .uacf7-form-wrapper-container:not(:has(> .row)) > * {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.medi-large-contact .uacf7-form-wrapper-container > .row > [class*="col-"]:nth-child(3),
.medi-large-contact .uacf7-form-wrapper-container:not(:has(> .row)) > :nth-child(3) {
    grid-column: 1 / -1;
}

.medi-large-contact .uacf7-form-wrapper-container > .row > [class*="col-"]:nth-child(4),
.medi-large-contact .uacf7-form-wrapper-container:not(:has(> .row)) > :nth-child(4) {
    grid-column: 1 / 2;
}

.medi-large-contact .wpcf7-form p,
.medi-large-contact .wpcf7-form-control-wrap {
    width: 100%;
    margin: 0 !important;
    display: block;
}

.medi-large-contact input[type="text"],
.medi-large-contact input[type="tel"],
.medi-large-contact input[type="email"] {
    width: 100% !important;
    height: 66px !important;
    margin: 0 !important;
    padding: 15px 22px !important;
    border: 1px solid #e0d8d2 !important;
    border-radius: 14px !important;
    background: #fff !important;
    color: #2c2626 !important;
    font-family: inherit !important;
    font-size: clamp(1rem, 1.2vw, 1.2rem) !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    box-shadow: none !important;
    outline: none !important;
}

.medi-large-contact input::placeholder {
    color: #746b68 !important;
    opacity: 1;
}

.medi-large-contact .wpcf7-submit {
    width: 100% !important;
    height: 66px !important;
    margin: 0 !important;
    padding: 13px 68px 13px 24px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background-color: #f71f0b !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='20' viewBox='0 0 25 20' fill='none'%3E%3Cpath d='M1 10H23M15 2L23 10L15 18' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 42px center !important;
    color: #fff !important;
    font-family: inherit !important;
    font-size: clamp(1rem, 1.25vw, 1.2rem) !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-transform: none !important;
    white-space: nowrap;
    box-shadow: none !important;
    cursor: pointer;
}

.medi-large-contact .wpcf7-submit:hover,
.medi-large-contact .wpcf7-submit:focus {
    background-color: #d91a0a !important;
}

.medi-large-contact .wpcf7-spinner {
    display: none !important;
}

.medi-large-contact .wpcf7-response-output {
    margin: 18px 0 0 !important;
    color: #2c2626;
}

.medi-large-contact__privacy {
    margin: 26px 0 0;
    color: #746b68;
    font-size: clamp(0.9rem, 1.05vw, 1.05rem);
    line-height: 1.45;
}

.medi-large-contact__phone {
    margin-top: 30px;
    display: inline-block;
    justify-self: start;
    color: #2c2626;
    font-size: clamp(1rem, 1.15vw, 1.15rem);
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
}

.medi-large-contact__phone:hover,
.medi-large-contact__phone:focus-visible {
    color: #f71f0b;
}

.medi-large-contact__phone-mobile,
.medi-large-contact__hours-mobile {
    display: none;
}

@media (max-width: 767px) {
    .medi-large-contact__inner {
        max-width: none;
        padding: 72px 30px 70px;
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }

    .medi-large-contact__title {
        order: 1;
        font-size: clamp(2.35rem, 9.2vw, 3rem);
        line-height: 1.08;
    }

    .medi-large-contact__intro {
        order: 2;
        margin: 34px 0 0;
        font-size: clamp(1.25rem, 5.2vw, 1.65rem);
        line-height: 1.62;
    }

    .medi-large-contact__image-wrap {
        width: 100%;
        height: auto;
        aspect-ratio: 1.16 / 1;
        margin: 38px 0 34px;
        order: 3;
        border-radius: 24px;
    }

    .medi-large-contact__form-wrap {
        order: 4;
    }

    .medi-large-contact__privacy {
        order: 5;
    }

    .medi-large-contact__phone {
        order: 6;
    }

    .medi-large-contact__hours-mobile {
        order: 7;
    }

    .medi-large-contact .uacf7-form-wrapper-container > .row,
    .medi-large-contact .uacf7-form-wrapper-container:not(:has(> .row)) {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 34px !important;
    }

    .medi-large-contact .uacf7-form-wrapper-container > .row > [class*="col-"],
    .medi-large-contact .uacf7-form-wrapper-container:not(:has(> .row)) > * {
        grid-column: 1 / -1 !important;
    }

    .medi-large-contact input[type="text"],
    .medi-large-contact input[type="tel"],
    .medi-large-contact input[type="email"],
    .medi-large-contact .wpcf7-submit {
        height: 88px !important;
        border-radius: 17px !important;
        font-size: clamp(1.2rem, 4.8vw, 1.55rem) !important;
    }

    .medi-large-contact input[type="text"],
    .medi-large-contact input[type="tel"],
    .medi-large-contact input[type="email"] {
        padding: 20px 30px !important;
    }

    .medi-large-contact .wpcf7-submit {
        padding: 16px 74px 16px 24px !important;
        background-position: right clamp(34px, 12vw, 80px) center !important;
    }

    .medi-large-contact__privacy {
        margin-top: 40px;
        font-size: clamp(1rem, 4vw, 1.25rem);
        line-height: 1.55;
    }

    .medi-large-contact__phone {
        margin-top: 48px;
        font-size: clamp(1.15rem, 4.6vw, 1.4rem);
    }

    .medi-large-contact__phone-desktop {
        display: none;
    }

    .medi-large-contact__phone-mobile {
        display: inline;
    }

    .medi-large-contact__hours-mobile {
        margin: 42px 0 0;
        display: block;
        color: #746b68;
        font-size: clamp(1rem, 4vw, 1.2rem);
        line-height: 1.4;
    }
}
