/* dotascore/static/css/forms.css - СТИЛИ ФОРМ АВТОРИЗАЦИИ/РЕГИСТРАЦИИ */

/* ========================================================= */
/* --- ОБЩИЕ СТИЛИ И ФИКСЫ ДЛЯ МОБИЛЬНЫХ --- */
/* ========================================================= */

/* Предотвращение горизонтального скролла и смещения */
body, html {
    overflow-x: hidden;
    max-width: 100%;
    position: relative;
}

main {
    overflow-x: hidden;
    max-width: 100%;
}

/* ========================================================= */
/* --- ОБЩИЕ СТИЛИ ПОЛЕЙ ВВОДА --- */
/* ========================================================= */

.form-field-group input[type="text"],
.form-field-group input[type="email"],
.form-field-group input[type="password"] {
    width: 100%;
    padding: 10px 15px;
    background-color: #2a2a2a; 
    color: #ffffff;
    border: 1px solid #4a5460;
    border-radius: 5px;
    box-sizing: border-box; 
    transition: border-color 0.3s ease;
    font-size: 1em;
}

.form-field-group input[type="text"]:focus,
.form-field-group input[type="email"]:focus,
.form-field-group input[type="password"]:focus {
    border-color: #00FFFF; 
    outline: none;
    box-shadow: 0 0 5px rgba(0, 255, 255, 0.5);
}

.form-field-group ul {
    list-style: none;
}

/* ========================================================= */
/* --- СТИЛИ ДЛЯ КНОПКИ "ПОКАЗАТЬ ПАРОЛЬ" (ГЛАЗИК) --- */
/* ========================================================= */

/* Контейнер для поля ввода и иконки */
.password-container {
    position: relative; 
    width: 100%;
}

/* Стилизация иконки */
.password-toggle-icon {
    position: absolute;
    top: 50%;
    right: 15px; /* Отступ справа */
    transform: translateY(-50%);
    cursor: pointer; 
    user-select: none; 
    font-size: 1.2em;
    color: #b3b3b3;
    transition: color 0.2s ease;
}

.password-toggle-icon:hover {
    color: #00FFFF; /* Цвет при наведении */
}

/* Увеличиваем padding справа для поля пароля, чтобы иконка не перекрывала текст */
.password-container input[type="password"],
.password-container input[type="text"] {
    /* Используйте !important, чтобы переопределить стили из Style.css, 
       если они не были удалены или слишком специфичны. */
    padding-right: 40px !important; 
}


/* ========================================================= */
/* --- КНОПКА ВОЙТИ --- */
/* ========================================================= */
.form-submit-button {
    width: 100%;
    padding: 14px 20px;
    border-radius: 8px;
    background: linear-gradient(to bottom, #5a6470 0%, #4a5460 50%, #3a4450 100%);
    color: #ffffff;
    border: none;
    font-weight: bold;
    text-transform: uppercase;
    text-align: center;
    cursor: pointer;
    transition: 0.25s ease;
    box-shadow: 0 0 12px rgba(0, 255, 255, 0.2);
}

.form-submit-button:hover {
    background: linear-gradient(to bottom, #7a8490 0%, #6a7480 50%, #5a6470 100%);
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.3);
}

.form-submit-button:active {
    background: #3a4450;
    box-shadow: inset 2px 2px 6px rgba(0,0,0,0.5);
}

.auth-card {
    max-width: 420px;
    margin: 60px auto;
    padding: 32px 28px;

    background: rgba(12, 12, 12, 0.65);          /* лёгкая прозрачность */
    border: 1px solid rgba(0, 255, 255, 0.10);    /* едва заметная рамка */

    border-radius: 10px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.55);  /* мягкая тень вниз */

    backdrop-filter: blur(3px);                  /* аккуратный эффект стекла */
    overflow: visible;                           /* не обрезаем виджет */
}

/* Заголовок формы */
.auth-card h2 {
    margin-top: 0;
    margin-bottom: 25px;
    text-align: center;
    font-size: 1.6em;
    color: #e6e6e6;
}

/* Чтобы кнопка вписывалась красиво */
.auth-card .form-submit-button {
    margin-top: 10px;
}

/* ========================================================= */
/* --- АДАПТИВНОСТЬ ФОРМ (Mobile) --- */
/* ========================================================= */
@media (max-width: 600px) {
    .auth-card {
        max-width: 100%;
        width: calc(100% - 30px);
        margin: 20px auto;
        padding: 24px 20px;
        box-sizing: border-box;
        position: relative;
        left: 0;
        right: 0;
        transform: none;
    }

    .auth-card h1,
    .auth-card h2 {
        font-size: 1.3em;
        margin-bottom: 20px;
    }

    .form-field-group {
        width: 100%;
        box-sizing: border-box;
        overflow: visible;
    }

    .form-field-group input[type="text"],
    .form-field-group input[type="email"],
    .form-field-group input[type="password"] {
        padding: 10px 10px;
        border-radius: 3px;
        font-size: 0.95em;
        border: 1px solid #7d8b9d;
        background-color: #1e1e1e;
        box-sizing: border-box;
        width: 100%;
    }

    .password-container input[type="password"],
    .password-container input[type="text"] {
        padding-right: 40px !important;
    }

    .form-submit-button {
        padding: 12px 16px;
        font-size: 0.95em;
        width: 100%;
        box-sizing: border-box;
    }

    /* Friendly Captcha виджет внутри формы */
    .form-field-group .frc-captcha {
        max-width: 80%;
        width: 100% !important;
        overflow: visible !important;
        display: block;
        margin: 15px 0;
    }

    /* Дополнительная обертка для контейнера виджета */
    .form-field-group .frc-captcha > * {
        width: 100% !important;
        max-width: 80% !important;
        min-width: 0 !important;
    }

    /* Убираем overflow для div с виджетом */
    .auth-card form {
        overflow: visible;
    }
}