/* Общая контактная секция и существующая форма CF7. */


.zhaluzi-guru-contact {
    container-type: inline-size;
    --zhaluzi-guru-page-edge: max(var(--zhaluzi-guru-gutter), calc((100cqw - var(--zhaluzi-guru-container)) / 2));
    background: var(--zhaluzi-guru-color-text);
    color: var(--zhaluzi-guru-color-inverse);
}

.zhaluzi-guru-contact__layout {
    display: grid;
    grid-template-columns: 29fr 48fr 23fr;
    align-items: center;
    gap: 2rem;
}

.zhaluzi-guru-contact__copy {
    padding-block: 2.5rem;
}

.zhaluzi-guru-contact__copy p {
    margin-bottom: 0;
}

.zhaluzi-guru-request {
    margin-block: 2.5rem;
    padding: 1.5rem;
    border-radius: var(--zhaluzi-guru-radius);
    background: var(--zhaluzi-guru-color-bg);
    color: var(--zhaluzi-guru-color-text);
}

.zhaluzi-guru-request__fields {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 1rem;
    margin-bottom: 1rem;
}

.zhaluzi-guru-request label {
    font-size: var(--zhaluzi-guru-text-small);
}

.zhaluzi-guru-request label > .wpcf7-form-control-wrap {
    display: block;
    margin-top: .375rem;
}

.zhaluzi-guru-contact__layout > .wpcf7,
.zhaluzi-guru-request__fields > label {
    min-width: 0;
}

.zhaluzi-guru-request .wpcf7-form-control-wrap > input,
.zhaluzi-guru-request .wpcf7-form-control-wrap > textarea {
    display: block;
}

.zhaluzi-guru-request textarea {
    min-height: 5rem;
}

.zhaluzi-guru-request__consent .wpcf7-list-item {
    display: block;
    margin: 0;
}

.zhaluzi-guru-request__consent label {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    padding-block: var(--zhaluzi-guru-space-3);
}

.zhaluzi-guru-request__consent input {
    flex: none;
    width: 1.125rem;
    height: 1.125rem;
    margin: .125rem 0 0;
}

.zhaluzi-guru-request__actions {
    position: relative;
}

.zhaluzi-guru-request__actions .wpcf7-submit {
    width: 100%;
}

.zhaluzi-guru-request__actions .wpcf7-spinner {
    position: absolute;
    right: .75rem;
    top: 50%;
    margin: 0;
    transform: translateY(-50%);
    pointer-events: none;
}

.zhaluzi-guru-request .wpcf7-not-valid-tip {
    color: var(--zhaluzi-guru-color-error);
    font-size: var(--zhaluzi-guru-text-small);
    margin-top: .375rem;
}

.wpcf7 form.zhaluzi-guru-request .wpcf7-response-output {
    margin: 1rem 0 0;
    padding: .75rem;
    font-size: var(--zhaluzi-guru-text-small);
    border-radius: var(--zhaluzi-guru-radius);
}

.zhaluzi-guru-request__notice {
    margin: 1rem 0 0;
    font-size: var(--zhaluzi-guru-text-small);
}

.zhaluzi-guru-contact__photo {
    align-self: stretch;
    position: relative;
    margin-right: calc(-1 * var(--zhaluzi-guru-page-edge));
}

.zhaluzi-guru-contact__photo img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 75rem) {
    .zhaluzi-guru-contact__layout {
        gap: 1.5rem;
    }

    .zhaluzi-guru-request__fields {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 64rem) {

    .zhaluzi-guru-contact__layout {
        grid-template-columns: 1fr 1.4fr;
    }

    .zhaluzi-guru-contact__photo {
        grid-column: 1 / -1;
        height: 18rem;
        margin: 0 calc(-1 * var(--zhaluzi-guru-page-edge));
    }

    .zhaluzi-guru-contact__photo img {
        object-position: center 62%;
    }
}

@media (max-width: 36rem) {
    .zhaluzi-guru-contact__layout {
        grid-template-columns: 1fr;
    }

    .zhaluzi-guru-contact__copy {
        padding: 2rem 0 0;
    }

    .zhaluzi-guru-contact__copy br {
        display: none;
    }

    .zhaluzi-guru-request {
        margin: 0 0 .5rem;
        padding: 1rem;
    }

    .zhaluzi-guru-contact__photo {
        height: 22rem;
    }
}
