#mcn-cookie-banner[hidden] {
    display: none !important;
}

.mcn-cookie-banner {
    position: fixed;
    z-index: 10000;
    right: 20px;
    bottom: 20px;
    left: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    max-width: 980px;
    margin: 0 auto;
    padding: 18px 22px;
    color: #fff;
    background: #2f7bed;
    border-radius: 8px;
    box-shadow: 0 8px 28px rgba(23, 59, 105, .35);
    font: 15px/1.45 Arial, sans-serif;
}

.mcn-cookie-banner__content {
    min-width: 0;
}

.mcn-cookie-banner__text {
    margin: 0 0 6px;
}

.mcn-cookie-banner__policy {
    color: #fff;
    text-decoration: underline;
}

.mcn-cookie-banner__actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 9px;
}

.mcn-cookie-banner__button,
.mcn-cookie-banner__close {
    border: 1px solid transparent;
    border-radius: 4px;
    cursor: pointer;
    font: inherit;
}

.mcn-cookie-banner__button {
    padding: 9px 14px;
    font-weight: 700;
}

.mcn-cookie-banner__button--accept {
    color: #2f7bed;
    background: #fff;
}

.mcn-cookie-banner__button--decline {
    color: #fff;
    background: transparent;
    border-color: rgba(255, 255, 255, .8);
}

.mcn-cookie-banner__close {
    width: 32px;
    height: 32px;
    padding: 0;
    color: #fff;
    background: transparent;
    border-color: transparent;
    font-size: 26px;
    line-height: 28px;
}

.mcn-cookie-banner__button:hover,
.mcn-cookie-banner__button:focus,
.mcn-cookie-banner__close:hover,
.mcn-cookie-banner__close:focus {
    outline: 2px solid #fff;
    outline-offset: 2px;
}

@media (max-width: 640px) {
    .mcn-cookie-banner {
        right: 10px;
        bottom: 10px;
        left: 10px;
        display: block;
        padding: 16px;
    }

    .mcn-cookie-banner__actions {
        margin-top: 14px;
    }

    /* Пока cookie-баннер виден — поднять плавающую кнопку мессенджера MAX, чтобы не наезжала на баннер */
    body:has(#mcn-cookie-banner:not([hidden])) .mrc-floating-button {
        bottom: 150px !important;
    }
}

.wpcf7 .wpcf7-response-output {
    padding: 12px 16px;
    border-width: 2px;
    border-radius: 4px;
    font-weight: 700;
}

.wpcf7 form.sent .wpcf7-response-output {
    color: #176b32;
    background: #e8f7ed;
    border-color: #238947;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output {
    color: #9d2525;
    background: #ffeded;
    border-color: #d94747;
}

/* Согласие на обработку ПД (pd-152fz): чекбокс в одну строку с текстом + акцент на незаполненном обязательном */
.wpcf7-acceptance .wpcf7-list-item {
    margin: 0;
}
.wpcf7-acceptance .wpcf7-list-item label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}
/* Текст согласия — компактный, не жирный (по правке владельца) */
.wpcf7-acceptance .wpcf7-list-item-label {
    font-size: 12px;
    font-weight: 400;
    line-height: 1.35;
}
.wpcf7-acceptance input[type="checkbox"] {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin-top: 2px;
    accent-color: #2f7bed;
}
/* Пустой обязательный чекбокс согласия — заметный красный акцент («без галки чуда не будет»).
   box-shadow с !important перебивает тему (input[type=checkbox]{box-shadow:none}). */
.wpcf7-acceptance input[type="checkbox"]:not(:checked) {
    outline: 2px solid #d94747;
    outline-offset: 1px;
    box-shadow: 0 0 0 3px rgba(217, 71, 71, .35) !important;
    accent-color: #d94747;
}
