/* === CRM FORM REDESIGN — CSS ONLY === */
/* Базовые переменные (подставьте свои значения) */
:root {
    --oz-primary: #0d6efd;
    --oz-red: #dc3545;
    --oz-text: #212529;
    --oz-text-muted: #6c757d;
    --oz-surface: #f8f9fa;
    --oz-border: #dee2e6;
    --soft-green: #d4edda;
    --radius-btn: 8px;
    --radius-card: 12px;
    --font-text: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
}

/* Контейнер формы */
.b24-form-wrapper {
    background: #fff;
    border-radius: var(--radius-card);
    padding: clamp(28px, 4vw, 40px);
    display: flex;
    flex-direction: column;
    gap: 18px;
    max-width: 100%;
    box-sizing: border-box;
}

/* Убираем лишние отступы */
.b24-form-header-padding,
.b24-form-padding-side {
    padding: 0 !important;
}

.b24-form-content {
    padding: 0 !important;
    width: 100%;
}

/* Обертка полей */
.b24-form-field {
    display: flex;
    flex-direction: column;
    margin-bottom: 0 !important;
    width: 100%;
}

/* Скрываем оригинальные лейблы (они всплывают поверх) */
.b24-form-control-label {
    display: none !important;
}

/* Стили для всех полей ввода */
.b24-form-control,
.b24-form-control input,
.b24-form-control select,
.b24-form-control textarea {
    width: 100% !important;
    background: var(--oz-surface) !important;
    box-shadow: inset 0 0 0 1px var(--oz-border) !important;
    border: 0 !important;
    color: var(--oz-text) !important;
    font-family: var(--font-text) !important;
    font-size: 15px !important;
    padding: 12px 14px !important;
    border-radius: var(--radius-btn) !important;
    transition: box-shadow 0.18s ease;
    min-height: auto !important;
    box-sizing: border-box !important;
}

/* Фокус */
.b24-form-control:focus,
.b24-form-control input:focus,
.b24-form-control select:focus,
.b24-form-control textarea:focus {
    outline: none !important;
    box-shadow: inset 0 0 0 2px var(--oz-primary) !important;
}

/* Текстареа */
.b24-form-control textarea {
    resize: vertical !important;
    min-height: 84px !important;
}

/* Кастомные лейблы — генерируем через псевдоэлементы */
.b24-form-field::before {
    content: attr(data-label);
    display: block;
    font-weight: 600;
    font-size: 13px;
    color: var(--oz-text);
    margin-bottom: 8px;
}

/* Заполняем data-label для каждого поля */
.b24-form-field-name::before {
    content: "Имя";
}
.b24-form-field-last-name::before {
    content: "Фамилия";
}
/* Но если нужно оставить как отдельные поля — раскомментировать:
.b24-form-field-last-name::before {
  content: "Фамилия";
  display: block !important;
}
.b24-form-field-last-name {
  display: block !important;
}
*/

.b24-form-field-string:not(.b24-form-field-name):not(.b24-form-field-last-name)::before {
    content: "Должность";
}
.b24-form-field-double::before {
    content: "Количество номеров";
}
.b24-form-field-phone::before {
    content: "Телефон";
}
.b24-form-field-email::before {
    content: "E-mail";
}
.b24-form-field-text::before {
    content: "Сообщение";
}

/* Обертка для контейнера управления */
.b24-form-control-container {
    position: relative;
    width: 100%;
}

/* Убираем иконки (если есть) */
.b24-form-control-icon-after::after {
    display: none !important;
}

/* Сетка для двух колонок */
.b24-form-field-name,
.b24-form-field-last-name,
.b24-form-field-string,
.b24-form-field-double,
.b24-form-field-phone,
.b24-form-field-email {
    display: inline-block !important;
    width: calc(50% - 8px) !important;
    vertical-align: top;
    margin: 4px;
}

.b24-form-field-double {
    /*margin-right: 16px !important;*/
}
.b24-form {
    font-family: var(--font-text);
}
/* Мобильная адаптация */
@media (max-width: 520px) {
    .b24-form-field-name,
    .b24-form-field-last-name,
    .b24-form-field-string,
    .b24-form-field-double,
    .b24-form-field-phone,
    .b24-form-field-email {
        display: flex !important;
        width: 100% !important;
        margin-right: 0 !important;
    }
}

/* Стилизация селектов (выпадающие списки) */
.b24-form-control select {
    appearance: auto !important;
    -webkit-appearance: auto !important;
}

/* Чекбокс согласия */
.b24-form-field-agreement {
    margin-top: 6px;
}

.b24-form-field-agreement .b24-form-control-container {
    display: flex !important;
    align-items: flex-start;
    gap: 10px;
    font-size: 13px;
    color: var(--oz-text-muted);
    line-height: 1.5;
}

.b24-form-field-agreement input[type="checkbox"] {
    width: auto !important;
    flex-shrink: 0;
    margin-top: 3px;
    accent-color: var(--oz-primary);
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
}

.b24-form-field-agreement .b24-form-control-desc {
    display: inline;
}

.b24-form-field-agreement .b24-form-control-required {
    color: var(--oz-red);
    margin-left: 2px;
}

/* Ссылка в согласии */
.b24-form-field-agreement-link {
    color: var(--oz-primary) !important;
    text-decoration: underline;
    cursor: pointer;
}

/* Убираем стандартный вывод ошибки */
.b24-form-control-alert-message {
    display: none !important;
}

/* Кнопка отправки */
.b24-form-btn {
    background: var(--oz-primary) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: var(--radius-btn) !important;
    padding: 15px !important;
    font-family: var(--font-text) !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    cursor: pointer;
    transition: background 0.18s ease;
    width: 100% !important;
    text-align: center;
    display: block;
}

.b24-form-btn:hover {
    background: #1c7ed6 !important;
}

.b24-form-btn:disabled {
    background: #0CA678 !important;
    cursor: default;
}

/* Контейнер кнопки */
.b24-form-btn-container {
    padding: 0 !important;
    margin-top: 4px;
}

.b24-form-btn-block {
    width: 100% !important;
}

/* Скрываем лишние элементы */
.b24-form-sign,
.b24-form-state-container .b24-form-loader,
.b24-form-state-container .b24-form-success,
.b24-form-state-container .b24-form-error,
.b24-form-state-container .b24-form-warning {
    /* display: none !important;*/
}

/* Сообщение об успехе (показываем через JS или можно стилизовать) */
.b24-form-state.b24-form-success {
    /* display: none !important;*/
}

/* Если нужно показать успех — раскомментировать и скрыть форму */

.b24-form-state.b24-form-success {
    /*display: block !important;*/
    background: var(--soft-green) !important;
    color: #0CA678 !important;
    border-radius: var(--radius-btn) !important;
    padding: 14px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-align: center;
}
/*
.b24-form-wrapper form {
  display: none !important;
}
*/

/* Скрываем дебаг-сообщение */
span[style*="color: red"] {
    display: none !important;
}

/* Убираем звездочку обязательности (она есть в data-label) */
.b24-form-control-required {
    display: none !important;
}

/* Добавляем звездочку в лейблы, где нужно */
.b24-form-field-name::before {
    content: "Имя *";
}
.b24-form-field-last-name::before {
    content: "Фамилия *";
}
.b24-form-field-phone::before {
    content: "Телефон *";
}
.b24-form-field-email::before {
    content: "E-mail *";
}
.b24-form-field-string:not(.b24-form-field-name):not(.b24-form-field-lastname)::before {
    content: "Должность *";
}

/* Для поля "Количество" звездочка не нужна */
.b24-form-field-double::before {
    content: "Количество номеров";
}

/* Стили для placeholder */
.b24-form-control::placeholder {
    color: #adb5bd;
    opacity: 1;
}

/* Убираем стандартные рамки у чекбокса */
.b24-form-field-agreement input[type="checkbox"] {
    border: 1px solid var(--oz-border) !important;
    border-radius: 4px !important;
    width: 16px !important;
    height: 16px !important;
    background: #fff !important;
    box-shadow: none !important;
}
