/**
 * Home audit form.
 * Original source: Elementor page 82282, section 1ffc89a, Quform form 1.
 */

.ait-home-audit {
    width: 100%;
    margin: 50px 0;
    padding: 50px 0 0;
    overflow: hidden;
    background: #e6e7ea;
    color: #212c4a;
}

.ait-home-audit *,
.ait-home-audit *::before,
.ait-home-audit *::after {
    box-sizing: border-box;
}

.ait-home-audit__container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    width: min(calc(100% - 40px), 1140px);
    margin: 0 auto;
}

.ait-home-audit__contact,
.ait-home-audit__request {
    min-width: 0;
}

.ait-home-audit__contact {
    padding: 0 56px 64px 0;
}

.ait-home-audit__request {
    padding: 0 0 64px 56px;
}

.ait-home-audit__title {
    max-width: 510px;
    margin: 0;
    color: #323f7c;
    font-family: "Space Grotesk", sans-serif;
    font-size: clamp(42px, 3.05vw, 58px);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.ait-home-audit__messengers {
    display: flex;
    align-items: center;
    gap: 15px;
    margin: 100px 0 40px;
}

.ait-home-audit__messenger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    transition: transform 180ms ease, filter 180ms ease;
}

.ait-home-audit__messenger:hover,
.ait-home-audit__messenger:focus-visible {
    transform: translateY(-3px);
    filter: brightness(1.05);
}

.ait-home-audit__messenger:focus-visible {
    outline: 3px solid #323f7c;
    outline-offset: 4px;
}

.ait-home-audit__messenger--viber {
    background: #7360f2;
}

.ait-home-audit__messenger--whatsapp {
    background: #25d366;
}

.ait-home-audit__messenger svg {
    width: 42px;
    height: 42px;
    fill: #fff;
}

.ait-home-audit__contact-copy {
    max-width: 500px;
    margin: 20px 0 0;
    font-family: "Roboto", "Open Sans", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.7;
}

.ait-home-audit__contact-copy a,
.ait-home-audit__privacy a {
    color: #fc3737;
    text-decoration: none;
}

.ait-home-audit__contact-copy a:hover,
.ait-home-audit__privacy a:hover {
    text-decoration: underline;
}

.ait-home-audit__intro {
    max-width: 535px;
    margin: 0 0 28px;
    font-family: "Open Sans", sans-serif;
    font-size: 18px;
    line-height: 1.65;
}

.ait-home-audit__form {
    position: relative;
}

.ait-home-audit__field {
    position: relative;
    margin: 0 0 5px;
}

.ait-home-audit__field input {
    display: block;
    width: 100%;
    min-height: 55px;
    margin: 0;
    padding: 15px 40px;
    border: 1px solid #d2d5dc;
    border-radius: 6px;
    background: #fff;
    color: #1c1c2b;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    line-height: 1.45;
    outline: none;
    transition: border-color 160ms ease, box-shadow 160ms ease;
}

.ait-home-audit__field--website input {
    padding-left: 20px;
}

.ait-home-audit__field input::placeholder {
    color: #6d7280;
    opacity: 1;
}

.ait-home-audit__field input:focus {
    border-color: #323f7c;
    box-shadow: 0 0 0 3px rgba(50, 63, 124, 0.13);
}

.ait-home-audit__field input[aria-invalid="true"] {
    border-color: #fc3737;
}

.ait-home-audit__field-icon {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 14px;
    display: inline-flex;
    width: 18px;
    height: 18px;
    transform: translateY(-50%);
    color: #1c1c2b;
    pointer-events: none;
}

.ait-home-audit__field-icon svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
}

.ait-home-audit__countries {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    margin: 10px 0 16px;
    padding: 0;
    border: 0;
}

.ait-home-audit__countries label {
    position: relative;
    display: inline-flex;
    align-items: center;
    margin: 0;
    cursor: pointer;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    line-height: 1.4;
}

.ait-home-audit__countries input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.ait-home-audit__countries span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.ait-home-audit__countries span::before {
    width: 15px;
    height: 15px;
    border: 1px solid #9ca2b2;
    border-radius: 50%;
    background: #fff;
    box-shadow: inset 0 0 0 3px #fff;
    content: "";
}

.ait-home-audit__countries input:checked + span::before {
    border-color: #fc3737;
    background: #fc3737;
}

.ait-home-audit__countries input:focus-visible + span {
    outline: 2px solid #323f7c;
    outline-offset: 3px;
}

.ait-home-audit__actions {
    display: grid;
    grid-template-columns: 252px minmax(0, 1fr);
    align-items: start;
    gap: 28px;
    margin-top: 22px;
}

.ait-home-audit__submit-wrap {
    position: relative;
    z-index: 0;
    display: inline-flex;
    width: 100%;
    min-height: 58px;
    isolation: isolate;
}

.ait-home-audit__submit {
    position: relative;
    z-index: 1;
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 58px;
    padding: 18px 60px;
    border: 0;
    border-radius: 6px;
    background: #fc3737;
    color: #fff;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.25;
    white-space: nowrap;
    cursor: pointer;
    transition: background 180ms ease, transform 180ms ease;
}

.ait-home-audit__submit-wrap::before {
    position: absolute;
    z-index: -1;
    left: 8px;
    bottom: -8px;
    width: 100%;
    height: 100%;
    border: 2px dashed #212c4a;
    border-radius: 6px;
    content: "";
    transition: opacity 0.9s, visibility 0.9s;
}

.ait-home-audit__submit-wrap:hover::before,
.ait-home-audit__submit-wrap:focus-within::before {
    visibility: hidden;
    opacity: 0;
}

.ait-home-audit__submit:hover {
    background: #e92d2d;
}

.ait-home-audit__submit:focus-visible {
    outline: 3px solid #323f7c;
    outline-offset: 4px;
}

.ait-home-audit__submit:disabled {
    cursor: wait;
    opacity: 0.72;
}

.ait-home-audit__privacy {
    margin: 0;
    padding-top: 2px;
    font-family: "Roboto", "Open Sans", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.55;
}

.ait-home-audit__status {
    min-height: 24px;
    margin-top: 18px;
    font-family: "Open Sans", sans-serif;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.5;
}

.ait-home-audit__status.is-success {
    color: #137a3d;
}

.ait-home-audit__status.is-error {
    color: #b51f2b;
}

.ait-home-audit__honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

@media (max-width: 1024px) {
    .ait-home-audit__container {
        width: min(calc(100% - 48px), 960px);
    }

    .ait-home-audit__contact {
        padding-right: 34px;
    }

    .ait-home-audit__request {
        padding-left: 34px;
    }

    .ait-home-audit__title {
        font-size: 44px;
    }

    .ait-home-audit__messengers {
        margin-top: 70px;
    }

    .ait-home-audit__actions {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .ait-home-audit__submit-wrap {
        width: min(100%, 270px);
    }

    .ait-home-audit__submit {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .ait-home-audit {
        margin: 35px 0;
        padding-top: 42px;
    }

    .ait-home-audit__container {
        grid-template-columns: 1fr;
        width: min(calc(100% - 32px), 560px);
    }

    .ait-home-audit__contact,
    .ait-home-audit__request {
        padding-right: 0;
        padding-left: 0;
    }

    .ait-home-audit__contact {
        padding-bottom: 48px;
    }

    .ait-home-audit__request {
        padding-bottom: 52px;
    }

    .ait-home-audit__title {
        max-width: 100%;
        font-size: clamp(36px, 11vw, 48px);
    }

    .ait-home-audit__messengers {
        margin: 48px 0 26px;
    }

    .ait-home-audit__messenger {
        width: 64px;
        height: 64px;
    }

    .ait-home-audit__messenger svg {
        width: 34px;
        height: 34px;
    }

    .ait-home-audit__intro {
        font-size: 17px;
    }

    .ait-home-audit__countries {
        gap: 10px 16px;
    }

    .ait-home-audit__actions {
        margin-top: 20px;
    }

    .ait-home-audit__submit {
        width: 100%;
    }
}

/* AIT_HOME_AUDIT_COUNTRY_TWO_UP
 * Belarus and Russia share the first mobile row;
 * Other countries remains below across the full width.
 */
@media (max-width: 420px) {
    .ait-home-audit__countries {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 16px;
        row-gap: 10px;
    }

    .ait-home-audit__countries label {
        min-width: 0;
    }

    .ait-home-audit__countries label:nth-of-type(-n+2) span {
        white-space: nowrap;
    }

    .ait-home-audit__countries label:last-of-type {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767px) {
    .ait-home-audit__submit-wrap {
        width: 100%;
    }
}

/* AIT AUDIT CONTACT SYMMETRY START */
@media (min-width: 1025px) {
    .ait-home-audit__messengers {
        position: static;
        top: auto;
        margin-top: 32px;
        transform: none;
    }
}
/* AIT AUDIT CONTACT SYMMETRY END */
