/* --- Стили для формы регистрации --- */

/* Основная сетка формы */
.reg-form-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}

/* Строка в 3 колонки */
.reg-form-row-columns {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

/* Строка на всю ширину */
.reg-form-row-full {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.5rem;
}

/* Колонка */
.reg-column {
    display: grid;
    grid-template-rows: auto auto auto; /* лейбл + поле + ошибка */
    gap: 0.25rem;
}

/* Контейнер лейбла */
.reg-label-section {
    display: grid;
    grid-template-rows: auto auto;
    gap: 0.25rem;
}

/* Текст лейбла */
.reg-label-text {
    font-weight: bold;
    color: #333;
}

/* Обозначение обязательного поля */
.reg-required {
    color: #d00;
}

/* Подсказка под лейблом */
.reg-hint {
    font-size: 0.875rem;
    color: #666;
    font-style: italic;
}

/* Поля ввода */
.reg-input-field {
    padding: 0.75rem;
    border: 2px solid #ddd;
    border-radius: 4px;
    font-size: 1rem;
    font-family: 'Montserrat', sans-serif;
    transition: border-color 0.3s;
}

.reg-input-field:focus {
    outline: none;
    border-color: #007bff; /* Цвет фокуса */
}

.reg-input-field.error {
    border-color: #d00; /* Цвет ошибки */
}

/* Контейнер поля телефона (с префиксом) */
.reg-phone-grid {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.5rem;
    align-items: center;
}

/* Префикс телефона */
.reg-phone-prefix {
    padding: 0.75rem;
    background: #f8f9fa;
    border: 2px solid #ddd;
    border-left: none; /* Убираем левую границу у префикса */
    border-radius: 0 4px 4px 0; /* Скругление справа */
    font-weight: bold;
    white-space: nowrap; /* Не переносим текст */
}

/* Поле ввода телефона */
.reg-phone-input-wrapper .reg-input-field {
    border-radius: 4px 0 0 4px; /* Скругление слева */
    border-right: none; /* Убираем правую границу у input */
}

/* Кнопка загрузки файла */
.reg-upload-btn {
    background: #007bff;
    color: white;
    padding: 0.75rem 1.5rem;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 1rem;
    transition: background 0.3s;
    width: auto; /* Не растягиваем по ширине */
}

.reg-upload-btn:hover {
    background: #0056b3;
}

/* Список загруженных файлов */
.reg-file-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.5rem;
    margin-top: 0.5rem;
}

/* Элемент списка файла */
.reg-file-item {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 1rem;
    align-items: center;
    padding: 0.5rem;
    background: #f8f9fa;
    border-radius: 4px;
}

/* Кнопка удаления файла */
.reg-remove-file {
    background: #dc3545;
    color: white;
    border: none;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.875rem;
}

.reg-remove-file:hover {
    background: #c82333;
}

/* Контейнер чекбокса */
.reg-checkbox-grid {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.75rem;
    align-items: start;
}

/* Лейбл чекбокса */
.reg-checkbox-label {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.5rem;
    align-items: start;
    cursor: pointer;
    font-weight: normal; /* Убираем жирность с лейбла чекбокса */
}

/* Ссылка в чекбоксе */
.reg-policy-link {
    color: #007bff;
    text-decoration: none;
}

.reg-policy-link:hover {
    text-decoration: underline;
}

/* Сообщение об ошибке */
.reg-error-message {
    color: #d00;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

/* Кнопка отправки */
.reg-submit-btn {
    background: #28a745;
    color: white;
    padding: 1rem 2rem;
    border: none;
    border-radius: 4px;
    font-size: 1.1rem;
    cursor: pointer;
    transition: background 0.3s;
    justify-self: start; /* Прижимаем кнопку к левому краю */
    width: auto; /* Не растягиваем по ширине */
}

.reg-submit-btn:disabled {
    background: #6c757d;
    cursor: not-allowed;
}

.reg-submit-btn:not(:disabled):hover {
    background: #218838;
}

/* Адаптивность */
@media (max-width: 767px) {
    .reg-form-row-columns {
        grid-template-columns: 1fr;
    }
}