/* ============================================================
   formfix.css v3 — фиксы форм (ТЗ «Техническая проверка путей обращения»)
   Ключевые стили ошибок продублированы инлайном в formfix.js,
   этот файл дополняет их и работает без JS (honeypot).
   ============================================================ */

/* --- фикс мигания при загрузке: попапы скрыты до прихода основных CSS
   (style2.css/otherstyle_compress.css грузятся асинхронно; открытие
   попапов идёт инлайн-стилем через jQuery fadeIn — оно сильнее) --- */
div.popup,
div.popup-faq {
    display: none; /* специфичность выше .popup из style2.css: слой работает независимо от порядка загрузки */
}

/* «второе окно» за попапом: декоративная рамка позиционируется от всего
   оверлея (width/height 100% от .popup) и рисуется почти на весь экран —
   посетители принимают её за вторую пустую форму. Скрываем. */
.popup .offset-border {
    display: none !important;
}

/* --- п.7 ТЗ: honeypot-поле "website" всегда скрыто (без JS) --- */
.req,
form .req,
div.req {
    display: none !important;
    visibility: hidden !important;
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

/* --- п.4 ТЗ: плашка ошибки под полем --- */
.formfix-error-wrap {
    flex: 0 0 100%;
    width: 100%;
    clear: both;
    position: relative;
    z-index: 5;
    margin: 6px 0 2px;
    text-align: left;
    line-height: 1.35;
}
.formfix-error-chip {
    display: inline-block;
    max-width: 100%;
    box-sizing: border-box;
    background: #e53935;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    font-style: normal;
    font-family: Arial, Helvetica, sans-serif;
    padding: 6px 12px;
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
}
@keyframes ffxShake {
    0%, 100% { transform: translateX(0); }
    20%, 60% { transform: translateX(-5px); }
    40%, 80% { transform: translateX(5px); }
}
.ffx-shake { animation: ffxShake .35s ease; }

/* серверные сообщения в warnText (запасной путь без JS) */
p.formfix-error {
    color: #e53935;
    font-size: 14px;
    margin: 6px 0;
}

/* --- сообщение об успехе внутри формы --- */
.formfix-success {
    text-align: center;
    padding: 18px 10px;
    width: 100%;
}

/* --- блокировка повторной отправки --- */
form.formfix-busy [type="submit"],
form.formfix-busy button {
    opacity: .6;
    pointer-events: none;
}

/* --- Яндекс SmartCaptcha: видимый виджет «Я не робот» --- */
.ffx-captcha {
    flex: 0 0 100%;
    width: 100%;
    max-width: 420px;
    min-width: 0;
    margin: 12px 0;
    clear: both;
    box-sizing: border-box;
}
.ffx-captcha iframe {
    max-width: 100% !important;
    display: block;
}
@media (max-width: 380px) {
    .ffx-captcha {
        max-width: 100%;
    }
    .ffx-captcha iframe {
        transform: scale(.92);
        transform-origin: 0 0;
    }
}

/* --- п.8 ТЗ: зоны нажатия и мобильная вёрстка --- */
form[action*="add.php"] input[type="submit"],
form[action*="add.php"] button[type="submit"] {
    min-height: 44px;
}
@media (max-width: 480px) {
    form[action*="add.php"] input[type="text"],
    form[action*="add.php"] input[type="tel"],
    form[action*="add.php"] textarea,
    form[action*="add.php"] select {
        max-width: 100%;
        box-sizing: border-box;
    }
    /* поля и кнопка в одну колонку на всю ширину — вместо узкой колонки
       рядом с местом под кнопку */
    form[action*="add.php"] .form_control {
        width: 100% !important;
    }
    form[action*="add.php"] input[type="submit"],
    form[action*="add.php"] button[type="submit"] {
        width: 100%;
    }
    /* калькулятор: телефон был сдвинут на 69px и имел ширину 250px —
       вылезал за экран вместе с плашкой ошибки */
    .calc #itemVozr {
        margin-left: 0 !important;
    }
    div.calc .item {
        float: none !important;
        width: 100% !important;
    }
    .calc select,
    div.calc input[name="f_name"],
    div.calc input[name="f_phone"] {
        width: 100% !important;
        max-width: 100%;
        box-sizing: border-box;
    }
}
