.ac-call-booking {
    position: relative;
    width: 100%;
    overflow: hidden;
    color: #fff;
    text-align: center;
    background-color: #3580cb;
    background-image:
        url("bg-contact-l.png"),
        url("bg-contact-r.png"),
        linear-gradient(180deg, #5fd495 -62.89%, #3580cb 100%);
    background-repeat: no-repeat;
    background-position:
        left -80px bottom,
        right -40px top,
        center;
}

.ac-call-booking__inner {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 18px;
    max-width: 980px;
    margin: 0 auto;
    padding: 40px 15px;
}

.ac-call-booking__title,
.ac-call-booking__text {
    margin: 0;
    color: inherit;
}

.ac-call-booking__title {
    font-size: 48px;
    font-weight: 700;
    line-height: 1;
}

.ac-call-booking__text {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.7;
}

.ac-call-booking__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 320px;
    max-width: 100%;
    min-height: 56px;
    margin: 0 auto;
    padding: 0 28px;
    border: 1px solid #666;
    border-radius: 2px;
    background: #fff;
    box-shadow: 0 10px 26px rgb(0 0 0 / 18%);
    color: #246fae;
    cursor: pointer;
    font: inherit;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    transition: transform 120ms ease, opacity 120ms ease;
}

.ac-call-booking__button:hover {
    color: #246fae;
    opacity: .95;
    transform: translateY(-1px);
    background-color: #fffc;
}

.ac-call-booking__button:focus-visible {
    outline: 3px solid #001b4d;
    outline-offset: 3px;
}

/* The shortcode reuses the existing contact modal and CF7 instance. */
.contactUsModal--green {
    padding: 0;
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.contactUsModal--green .contactUsModalContent {
    width: 100vw;
    max-width: none;
    height: 100vh;
    max-height: none;
    padding: 0;
    border-radius: 0;
    background-color: #3580cb;
    background-image:
        url("bg-contact-l.png"),
        url("bg-contact-r.png"),
        linear-gradient(180deg, #5fd495 -62.89%, #3580cb 100%);
    background-repeat: no-repeat;
    background-position:
        left bottom,
        right top,
        center;
    color: #fff;
}

.contactUsModal--green .contactUsModal-inner {
    width: 100%;
    height: 100vh;
    max-height: none;
    padding: 42px 20px;
}

.contactUsModal--green .contactUsModalLogo,
.contactUsModal--green .contactUsModal-image,
.contactUsModal--green .contactUsModal-buttons-container,
.contactUsModal--green .contactUsModal-or-divider {
    display: none;
}

.contactUsModal--green .contactUsModalClose {
    top: 18px;
    right: 24px;
    color: #001b4d;
}

html[lang="he-IL"] .contactUsModal--green .contactUsModalClose {
    right: auto;
    left: 24px;
}

.contactUsModal--green .contactUsModal-title,
.contactUsModal--green .contactUsModal-description,
.contactUsModal--green .contactUsModal-form {
    width: min(100%, 680px);
    margin-inline: auto;
}

.contactUsModal--green .contactUsModal-title {
    padding: 0;
    color: #fff;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.2;
}

.contactUsModal--green .contactUsModal-description {
    display: block;
    margin-top: 8px;
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.4;
}

.contactUsModal--green .wpcf7 {
    padding: 18px 0 0;
}

.contactUsModal--green .wpcf7-list-item-label,
.contactUsModal--green .wpcf7-list-item-label a {
    color: #001b4d;
}

.contactUsModal--green .wpcf7-submit,
.contactUsModal--green input[type="submit"] {
    background: #fff !important;
    color: #246fae !important;
}

.contactUsModal--green .contactUsFormState__title,
.contactUsModal--green .contactUsFormState__message p {
    color: #fff;
}

@media (max-width: 1024px) {
    .ac-call-booking__inner {
        padding: 48px 14px;
    }

    .ac-call-booking__title {
        font-size: 44px;
    }

    .ac-call-booking__text {
        font-size: 18px;
    }
}

@media (max-width: 640px) {
    .ac-call-booking {
        background-size: 220px auto, 260px auto, cover;
    }

    .ac-call-booking__inner {
        gap: 18px;
        padding: 48px 22px;
    }

    .ac-call-booking__title {
        padding: 0 10px;
        font-size: 24px;
        line-height: 1.2;
    }

    .ac-call-booking__text {
        font-size: 16px;
        line-height: 1.375;
    }

    .ac-call-booking__button {
        width: 100%;
        min-height: 52px;
        font-size: 16px;
    }

    .contactUsModal--green .contactUsModalContent,
    .contactUsModal--green .contactUsModal-inner {
        height: 100dvh;
        max-height: 100dvh;
    }

    .contactUsModal--green .contactUsModalContent {
        background-size: 220px auto, 260px auto, cover;
    }

    .contactUsModal--green .contactUsModal-inner {
        padding: 52px 15px 24px;
    }

    .contactUsModal--green .contactUsModal-title {
        padding: 0 34px;
        font-size: 26px;
    }

    .contactUsModal--green .contactUsModal-description {
        font-size: 16px;
        line-height: 1.35;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ac-call-booking__button {
        transition: none;
    }
}
