/* =====================================================================
   v2.0 — доводка страниц авторизации/регистрации и сетки виджетов движка
   (классы .g-container/.g-row/.g-col-*/*.g-form-m* пришли из main.css и
   остаются, потому что разметку форм генерирует imageCMS).
   Подключается ПОСЛЕ theme-responsive.css.
   ===================================================================== */

.g-auth { padding: 40px 0 20px; }
.g-auth__card {
    max-width: 560px; margin: 0 auto; padding: 34px 34px 30px;
    background: var(--g-surface); border: 1px solid var(--g-line);
    border-radius: var(--g-r-lg); box-shadow: var(--g-sh-1);
}
.g-auth__card h1 { font-size: 26px; margin-bottom: 8px; }
.g-auth__card > p { color: var(--g-muted); margin-bottom: 22px; }

/* форма движка */
.g-form-m { width: auto; }
.g-form-m .g-form-m__field { margin-bottom: 18px; }
.g-form-m .g-form-m__field-title,
.g-form-m .g-form-m__field-desc { display: block; margin-bottom: 7px; font-size: 13.5px; font-weight: 700; color: var(--g-ink); }
.g-form-m .g-form-m__field-desc { color: var(--g-muted); font-weight: 500; }
.g-form-m .g-form-m__field-title_req::after { content: " *"; color: #c0392b; }
.g-form-m .g-form-m__field-input,
.g-form-m input[type="text"], .g-form-m input[type="password"], .g-form-m input[type="email"], .g-form-m textarea {
    width: 100%; padding: 13px 15px; border: 1.6px solid var(--g-line-d); border-radius: var(--g-r-sm);
    background: #fff; font-family: inherit; font-size: 15px; color: var(--g-ink); outline: none;
    transition: border-color .16s, box-shadow .16s;
}
.g-form-m .g-form-m__field-input:focus,
.g-form-m input:focus, .g-form-m textarea:focus { border-color: var(--g-brand); box-shadow: 0 0 0 4px rgba(15,143,118,.12); }
.g-form-m .g-form-m__field-error, .g-form-m .g-form-m__message_error {
    margin: 0 0 16px; padding: 12px 15px; border-radius: var(--g-r-sm);
    background: #fdf1ec; color: #a3341f; font-size: 14px; border-left: 3px solid #d9663f;
}
.g-form-m .g-form-m__field-captcha-image { border-radius: var(--g-r-sm); border: 1px solid var(--g-line); }
.g-form-m .g-btn_l, .g-form-m .g-form-m__button-submit, .g-form-m input[type="submit"], .g-form-m button[type="submit"] {
    display: inline-flex; align-items: center; justify-content: center; padding: 14px 26px; border: 0;
    border-radius: var(--g-pill); background: var(--g-brand); color: #fff;
    font-family: inherit; font-size: 15px; font-weight: 700; cursor: pointer; box-shadow: 0 6px 18px rgba(15,143,118,.26);
}
.g-form-m .g-btn_l:hover, .g-form-m input[type="submit"]:hover { background: var(--g-brand-d); }
.g-form-m__add-links { margin-top: 18px; font-size: 14px; }
.g-form-m__add-link { text-decoration: underline; text-underline-offset: 3px; }

/* сообщения валидации вне формы */
.validation-error, .field-error { color: #a3341f; font-size: 13.5px; }

/* виджетная сетка движка (галерея в сайдбаре и пр.) не должна ломать поток */
.g-container { width: 100%; max-width: var(--g-cont); margin: 0 auto; padding: 0 24px; }
.g-row { display: flex; flex-wrap: wrap; margin: 0 -12px; }
.g-row > [class*="g-col-"] { padding: 0 12px; min-width: 0; }
.g-col-3 { flex: 0 0 25%; max-width: 25%; }
.g-col-4 { flex: 0 0 33.3333%; max-width: 33.3333%; }
.g-col-6 { flex: 0 0 50%; max-width: 50%; }
.g-col-12, .g-col-12_from-m { flex: 0 0 100%; max-width: 100%; }
@media (max-width: 1023.98px) {
    .g-container { padding: 0 16px; }
    .g-col-3, .g-col-4, .g-col-6 { flex: 0 0 50%; max-width: 50%; }
}
@media (max-width: 559.98px) {
    .g-col-3, .g-col-4, .g-col-6 { flex: 0 0 100%; max-width: 100%; }
    .g-auth__card { padding: 24px 18px; border-radius: var(--g-r); }
}
