/* Форма обращения субъекта ПДн (/info/law/pdn/).
   Базовые стили полей (.input, .input__elem, .input__checkbox, .btn) берутся из шаблона сайта,
   здесь — только раскладка и специфичные элементы. */

.pdn-form {
    --pdn-accent: #0b6bcb;
    --pdn-text: #1f2a37;
    --pdn-muted: #667085;
    --pdn-border: #d0d5dd;
    --pdn-bg-soft: #f4f6f9;
    --pdn-error: #d92d20;
    --pdn-success: #067647;
    max-width: 760px;
    margin-top: 24px;
    color: var(--pdn-text);
}

.pdn-form__section {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 24px;
}

.pdn-form__type {
    padding: 24px;
    border-radius: 8px;
    background: var(--pdn-bg-soft);
}

.pdn-form__type[hidden],
.pdn-form__field[hidden] {
    display: none;
}

.pdn-form__type-title {
    margin: 0;
    font-size: 18px;
    line-height: 1.35;
}

.pdn-form__intro {
    margin: 0;
    line-height: 1.5;
}

.pdn-form__heading {
    margin: 4px 0 -8px;
    font-weight: 600;
}

.pdn-form__notice {
    padding: 12px 16px;
    border-left: 3px solid var(--pdn-accent);
    background: #fff;
    font-size: 14px;
    line-height: 1.5;
}

.pdn-form__field .input {
    margin: 0;
}

.pdn-form__label {
    display: block;
    margin-bottom: 8px;
    padding: 0;
    font-weight: 600;
    line-height: 1.4;
}

.pdn-form__req {
    margin-left: 2px;
    color: var(--pdn-error);
}

.pdn-form__hint {
    margin: -2px 0 8px;
    color: var(--pdn-muted);
    font-size: 14px;
    line-height: 1.45;
}

.pdn-form__hint--example {
    margin: 6px 0 0;
    font-style: italic;
}

.pdn-form__textarea {
    min-height: 104px;
    resize: vertical;
}

.pdn-form__select {
    width: 100%;
    white-space: normal;
}

.pdn-form__date .input__elem {
    max-width: 220px;
}

.pdn-form__field--disabled .pdn-form__label,
.pdn-form__field--disabled .input__elem {
    opacity: .5;
}

/* Группы чекбоксов и переключателей */
.pdn-form__group {
    margin: 0;
    padding: 0;
    border: 0;
    min-width: 0;
}

.pdn-form__choice {
    display: flex;
    margin: 0 0 10px;
    cursor: pointer;
}

.pdn-form__choice:last-child {
    margin-bottom: 0;
}

.pdn-form__choice .input__checkbox-label {
    line-height: 1.45;
    margin: 0px 0 10px 0;
    align-items: flex-start;
}
.pdn-form__choice .input__checkbox-label:before{
    margin-top: -3px;
}

.pdn-form__radios {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.pdn-form__radios--inline {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 24px;
}

.pdn-form__radio {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    line-height: 1.45;
    cursor: pointer;
}

.pdn-form__radio input {
    flex: none;
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
    accent-color: var(--pdn-accent);
}

/* Ошибки */
.pdn-form__error:empty {
    display: none;
}

.pdn-form__error ul {
    margin: 6px 0 0;
    padding: 0;
}

.pdn-form__error li {
    list-style: none;
    color: var(--pdn-error);
    font-size: 14px;
}

.pdn-form .parsley-error,
.pdn-form .pdn-server-invalid {
    border-color: var(--pdn-error);
}

.pdn-form__message {
    margin-bottom: 16px;
    padding: 12px 16px;
    border-radius: 6px;
    background: #fef3f2;
    color: var(--pdn-error);
}

.pdn-form__message[hidden] {
    display: none;
}

/* Подвал */
.pdn-form__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 24px;
}

.pdn-form__submit[disabled] {
    opacity: .6;
    cursor: progress;
}

.pdn-form__captcha-notice {
    flex: 1 1 260px;
    color: var(--pdn-muted);
    font-size: 12px;
    line-height: 1.4;
}

.pdn-form__captcha-notice a {
    color: inherit;
    text-decoration: underline;
}

/* Ловушка для ботов */
.pdn-form__hp {
    position: absolute !important;
    left: -10000px !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* Успешная отправка */
.pdn-form__success {
    padding: 24px;
    /* border-radius: 8px; */
    /* background: #ecfdf3; */
    background: #f6f6f6;
    outline: none;
}

.pdn-form__success[hidden],
.pdn-form__form[hidden] {
    display: none;
}

.pdn-form__success-title {
    margin: 0 0 12px;
    color: #000;
}

.pdn-form__success p {
    margin: 0 0 8px;
}

@media (max-width: 600px) {
    .pdn-form__type {
        padding: 16px;
    }
}

/* Подтверждение email кодом */
.pdn-form__inline {
    display: flex;
    gap: 12px;
    align-items: stretch;
}

.pdn-form__inline .input {
    flex: 1 1 auto;
    min-width: 0;
}

.pdn-form__inline-btn {
    flex: none;
    white-space: nowrap;
}

.pdn-form__inline-btn[hidden] {
    display: none;
}

.pdn-form__inline-btn[disabled] {
    opacity: .6;
    cursor: progress;
}

.pdn-form__code {
    margin-top: 16px;
    padding: 16px;
    border-radius: 8px;
    background: var(--pdn-bg-soft);
}

.pdn-form__code[hidden],
.pdn-form__verified[hidden] {
    display: none;
}

.pdn-form__code-input {
    max-width: 160px;
    letter-spacing: .2em;
}

.pdn-form__code-input::placeholder {
    letter-spacing: normal;
}

.pdn-form__link {
    margin-top: 10px;
    padding: 0;
    border: 0;
    background: none;
    color: var(--pdn-accent);
    font: inherit;
    font-size: 14px;
    text-decoration: underline;
    cursor: pointer;
}

.pdn-form__link[disabled] {
    color: var(--pdn-muted);
    text-decoration: none;
    cursor: default;
}

.pdn-form__verified {
    display: flex;
    align-items: baseline;
    gap: 16px;
    font-size: 14px;
    margin-top: 8px;
    color: var(--pdn-success);
    font-weight: normal;
}

.pdn-form__verified .pdn-form__link {
    margin-top: 0;
    font-weight: 400;
}

.pdn-form input[readonly].input__elem {
    background: var(--pdn-bg-soft);
}

@media (max-width: 600px) {
    .pdn-form__inline {
        flex-direction: column;
    }

    .pdn-form__code-input {
        max-width: none;
    }
}
