.form-label-left {
    width: 120px !important;
}

.form-label-right {
    width: 120px !important;
}

body, html {
    margin: 0;
    padding: 0;
    background: none;
}


.form-line .form-input,
.form-line .form-input-wide {
    width: auto;        /* отменяем 100% */
    flex: 1;            /* занимает оставшееся место */
}

.form-line .form-input,
.form-line .form-input-wide {
    width: auto;        /* отменяем 100% */
    flex: 1;            /* занимает оставшееся место */
}






.form-all {
    width: 600px;            /* как было */
    margin: 20px auto 0 auto; /* центрируем форму и шапку */
    padding-top: 0;
    font-family: Verdana;
    font-size: 12px;
	background-color: #f8fafe;  /* светлый фон формы */
    border-radius: 8px;          /* мягкие углы всей формы */
    padding-bottom: 20px;        /* внутренний отступ внизу */
}

/* Убираем серый фон у обёрток заголовков */
.form-header-group,
.header-text {
    background-color: transparent !important; /* прозрачный фон */
    box-shadow: none !important;              /* убираем тень, если есть */
    padding: 0 !important;                    /* сброс лишних внутренних отступов */
}




/* Шапка анкеты, горизонтальный Flex */
.application-header {
    display: flex;           /* логотип и заголовок в ряд */
    align-items: center;     /* вертикальное центрирование */
    justify-content: flex-start; /* слева */
    gap: 40px;               /* расстояние между логотипом и заголовком */

    background-color: #2F7F8F;
    padding: 15px 20px;
    border-radius: 8px 8px 0 0;
    font-family: 'Roboto', sans-serif;
    color: #ffffff;

    width: 100%;             /* растягиваем на всю ширину родителя */
    box-sizing: border-box;  /* padding учитывается */
}

/* Логотип */
.application-header .app-logo {
    max-width: 100px;
    height: auto;
}

/* Заголовок */
.application-header .application-title {
    font-size: 24px;
    font-weight: 700;
    margin: 0;
    white-space: nowrap;      /* предотвращаем перенос заголовка */
}

@media (max-width: 500px) {
    .application-header {
        flex-direction: column;    /* логотип сверху, заголовок снизу */
        align-items: center;       /* центрируем по горизонтали */
        gap: 10px;                 /* расстояние между ними меньше */
        text-align: center;
    }

    .application-header .application-title {
        font-size: 20px;           /* уменьшаем текст на мобильных */
    }
}


/* Подзаголовки секций анкеты с цветным фоном */
.form-section .form-header:not(.application-title) {
    font-family: Verdana, sans-serif;  /* твой любимый шрифт */
    font-size: 18px;                    /* чуть меньше шапки */
    font-weight: 500;                   /* medium */
    color: #ffffff;                     /* текст белый на фоне */
    margin: 20px 0 10px 0;              /* отступ сверху и снизу */
    padding: 12px 20px;                 /* внутренние отступы */
    background-color: #2F7F8F;          /* фирменный синий фон */
    border-radius: 10px;                /* закругленные углы */
    box-shadow: 0 2px 6px rgba(0,0,0,0.15); /* лёгкая тень для объёма */
    border: none;                        /* убираем лишние линии */
}




.form-line {
    background: none;
    border: none;
    box-shadow: none;
}

.form-line input,
.form-line textarea,
.form-line select {
    font-family: Verdana, sans-serif;
    font-size: 14px;
    color: #333333;
	
	background-color: #ffffff;
	border: 1px solid #e0e3e7;   /* мягче чем #ccc */
	border-radius: 8px;
	
	padding: 5px 6px;
	
	transition: all 0.2s ease;
}

.form-line input:focus,
.form-line textarea:focus,
.form-line select:focus {
    border-color: #2F7F8F;
    box-shadow: 0 0 0 2px rgba(47,127,143,0.15);
    outline: none;
}

.form-line input::placeholder,
.form-line textarea::placeholder {
    color: #888888;
    font-style: italic;
}


.form-section {
    padding: 15px 15px 10px 15px;
    margin-bottom: 15px;

    background-color: #f8fafe;
    border-radius: 10px;
}


.form-buttons-wrapper {
    text-align: center;
    margin-top: 20px;
}

.form-submit-button {
    font-family: Verdana, sans-serif;
    font-size: 15px;
    font-weight: 500;

    background-color: #2F7F8F;     /* основной цвет */
    color: #ffffff;

    padding: 12px 28px;
    border: none;
    border-radius: 8px;

    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.1s ease, box-shadow 0.2s ease;

    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.form-submit-button:hover {
    background-color: #266A78;  /* hover из твоей палитры */
}

.form-submit-button:active {
    transform: scale(0.98);
}

.form-submit-button:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(47,127,143,0.3);
}






/* скрываем стандартные checkbox и radio */
.form-checkbox,
.form-radio {
    display: none;
}

/* контейнер label */
.form-checkbox-item label {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-family: Verdana, sans-serif;
    font-size: 14px;
    color: #333;
}

/* сам квадратик */
.form-checkbox-item label:before {
    content: '';
    width: 18px;
    height: 18px;
    border: 1px solid #ccd0d5;
    border-radius: 5px;
    margin-right: 10px;
    background-color: #fff;
    transition: all 0.2s ease;
}

/* когда выбран */
.form-checkbox:checked + label:before {
    background-color: #2F7F8F;
    border-color: #2F7F8F;
}

/* галочка */
.form-checkbox:checked + label:after {
    content: '✓';
    position: absolute;
    margin-left: 5px;
    color: #fff;
    font-size: 14px;
}

.form-checkbox-item {
    position: relative;
}

/* label */
.form-radio-item label {
    position: relative;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    font-family: Verdana, sans-serif;
    font-size: 14px;
    color: #333;
}

/* внешний круг */
.form-radio-item label:before {
    content: '';
    width: 18px;
    height: 18px;
    border: 1px solid #ccd0d5;
    border-radius: 50%;
    margin-right: 10px;
    background-color: #fff;
    box-sizing: border-box;
}

/* checked круг */
.form-radio:checked + label:before {
    border-color: #2F7F8F;
}

/* ВНУТРЕННЯЯ ТОЧКА */
.form-radio:checked + label:after {
    content: '';
    position: absolute;

    width: 8px;
    height: 8px;
    background-color: #2F7F8F;
    border-radius: 50%;

    /* ключевой момент */
    left: 9px;              /* центр круга */
    top: 50%;
    transform: translate(-50%, -50%);
}

/* checked */
.form-radio:checked + label:before {
    border-color: #2F7F8F;
}

/* точка ВНУТРИ круга */
.form-radio:checked + label:after {
    content: '';
    position: absolute;

    width: 8px;
    height: 8px;
    background-color: #2F7F8F;
    border-radius: 50%;

    left: 9px;   /* центр круга */
    top: 50%;
    transform: translate(-50%, -50%);
}

.form-checkbox-item label:hover:before,
.form-radio-item label:hover:before {
    border-color: #2F7F8F;
    box-shadow: 0 0 3px rgba(47,127,143,0.3);
}



.form-line input:hover,
.form-line textarea:hover,
.form-line select:hover {
    border-color: #2F7F8F;
    box-shadow: 0 0 3px rgba(47,127,143,0.2);
}

.form-line select:focus {
    border-color: #2F7F8F;
    box-shadow: 0 0 3px rgba(47,127,143,0.2);
    outline: none;
}


.form-checkbox-item label:before,
.form-radio-item label:before {
    width: 16px;
    height: 16px;
}

.form-radio:checked + label:after {
    width: 6px;
    height: 6px;
    left: 8px;
}


