/* Forms base — extracted from style.css (move-only) */

/* ===== ОБЩИЕ ЭЛЕМЕНТЫ ФОРМ ===== */

/* Обязательные поля: ::after на лейбле или явная звёздочка в разметке */
.required-asterisk {
    color: var(--danger-color);
    font-size: 1em;
    margin-left: 2px;
    font-weight: bold;
}

.required-field::after {
    content: " *";
    color: var(--danger-color);
    font-weight: 200;
    font-size: 14px;
    margin-left: -2px;
}

.form-group {
    position: relative;
    margin-bottom: 20px;
}

.form-group:last-child {
    margin-bottom: 0;
}

/* Скрытые поля не должны занимать место */
.form-group input[type="hidden"] {
    position: absolute;
    width: 0;
    height: 0;
    margin: 0;
    padding: 0;
    border: none;
    visibility: hidden;
}

.text-muted {
    color: var(--secondary-color) !important;
}


.password-wrapper {
    position: relative;
}

.password-toggle {
    position: absolute;
    right: 5px;
    top: calc(14px);
    background: none;
    border: none;
    cursor: pointer;
    color: var(--secondary-color);
    padding: 0.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--viva-z-local-control);
}

.password-toggle:hover {
    color: var(--primary-color);
}

/* Form rows для register и прочих двухколоночных форм */
.form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--viva-form-row-gap, 1.5rem);
    align-items: start;
    width: 100%;
    box-sizing: border-box;
}

.form-row > .form-group {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.form-row.single {
    grid-template-columns: 1fr;
}




/* ============================================
   БЛОКИРОВКА АВТОЗАПОЛНЕНИЯ
   ============================================ */

/* Скрыть иконки LastPass, Dashlane, 1Password и др. */
div[id^="__lpform_"],
div[id*="lp-pom-"],
div[style*="2147483647"],
div[data-lastpass-icon-root],
div[data-lastpass-root],
span[data-lastpass-icon-root],
div[data-lastpass-fake-root],
/* Dashlane */
div[class*="dashlane"],
/* 1Password */
div[data-1p-ignore],
com-1password-button,
/* Bitwarden */
div[class*="bitwarden"] {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    position: absolute !important;
    pointer-events: none !important;
}

/* LastPass в .form-row создаёт лишнюю ячейку grid (с атрибутом style и без) */
.form-row > :is(
    div[data-lastpass-icon-root],
    div[data-lastpass-root],
    div[id^="__lpform_"],
    div[id*="lp-pom-"]
) {
    display: none !important;
    position: fixed !important;
    top: -9999px !important;
    left: -9999px !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    z-index: var(--viva-z-password-extension-hide) !important;
    pointer-events: none !important;
}

/* Скрыть нативные иконки браузера */
input::-ms-reveal,
input::-ms-clear {
    display: none !important;
}

/* Скрыть иконки автозаполнения */
input[data-lpignore="true"]::-ms-reveal,
input[data-lpignore="true"]::-ms-clear {
    display: none !important;
}
