.tko-necrolog-form {
    --tko-form-black: #151515;
    --tko-form-border: #d9d9d9;
    --tko-form-soft: #f7f7f7;
    color: #171717;
    margin: 28px auto 54px;
    max-width: 820px;
    padding: 0 20px;
}

.tko-necrolog-form * {
    box-sizing: border-box;
}

.tko-necrolog-form__header {
    border-bottom: 1px solid var(--tko-form-border);
    margin-bottom: 26px;
    padding: 8px 0 22px;
}

.tko-necrolog-form__back {
    color: #333;
    display: inline-flex;
    font-size: 14px;
    font-weight: 700;
    gap: 7px;
    margin-bottom: 18px;
    text-decoration: none;
}

.tko-necrolog-form__back:hover,
.tko-necrolog-form__back:focus {
    color: #000;
    text-decoration: underline;
}

.tko-necrolog-form__eyebrow {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .1em;
    margin: 0 0 7px;
    text-transform: uppercase;
}

.tko-necrolog-form h2 {
    font-size: clamp(29px, 4vw, 42px);
    line-height: 1.1;
    margin: 0 0 10px;
}

.tko-necrolog-form__header > p,
.tko-necrolog-form__success > p {
    color: #555;
    line-height: 1.55;
}

.tko-necrolog-form .tko-necrologi-contact {
    background: var(--tko-form-soft);
    border-left: 3px solid var(--tko-form-black);
    margin: 18px 0 0;
    padding: 13px 15px;
}

.tko-necrolog-form .tko-necrologi-contact a,
.tko-necrolog-form__success a {
    color: #111;
    font-weight: 700;
}

.tko-necrolog-form__form fieldset {
    border: 0;
    margin: 0 0 30px;
    padding: 0;
}

.tko-necrolog-form__required-note {
    color: #555;
    font-size: 13px;
    margin: 0 0 22px;
    text-align: right;
}

.tko-necrolog-form__required {
    color: #a81717;
    font-weight: 700;
}

.tko-necrolog-form__check a {
    color: #111;
    font-weight: 700;
    text-decoration: underline;
}

.tko-necrolog-form__form legend {
    border-bottom: 2px solid var(--tko-form-black);
    font-size: 19px;
    font-weight: 700;
    margin-bottom: 18px;
    padding: 0 0 8px;
    width: 100%;
}

.tko-necrolog-form__field {
    margin-bottom: 18px;
}

.tko-necrolog-form__field > label {
    display: block;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 7px;
}

.tko-necrolog-form__field input:not([type="checkbox"]),
.tko-necrolog-form__field textarea {
    background: #fff;
    border: 1px solid #aaa;
    border-radius: 2px;
    font: inherit;
    line-height: 1.45;
    padding: 11px 12px;
    width: 100%;
}

.tko-necrolog-form__field input:focus,
.tko-necrolog-form__field textarea:focus {
    border-color: var(--tko-form-black);
    box-shadow: 0 0 0 2px rgba(0, 0, 0, .12);
    outline: 0;
}

.tko-necrolog-form__field--error input,
.tko-necrolog-form__field--error textarea {
    border-color: #a81717;
}

.tko-necrolog-form__help,
.tko-necrolog-form__error,
.tko-necrolog-form__review-note {
    font-size: 13px;
    margin: 6px 0 0;
}

.tko-necrolog-form__error {
    color: #a81717;
    font-weight: 700;
}

.tko-necrolog-form__check {
    display: grid;
    gap: 3px 10px;
    grid-template-columns: 20px minmax(0, 1fr);
}

.tko-necrolog-form__check input {
    margin: 3px 0 0;
}

.tko-necrolog-form__check > label {
    font-weight: 500;
    margin: 0;
}

.tko-necrolog-form__check .tko-necrolog-form__error {
    grid-column: 2;
}

.tko-necrolog-form__submit {
    background: var(--tko-form-black);
    border: 1px solid var(--tko-form-black);
    color: #fff;
    cursor: pointer;
    font-size: 15px;
    font-weight: 700;
    padding: 12px 20px;
}

.tko-necrolog-form__submit:hover,
.tko-necrolog-form__submit:focus {
    background: #353535;
}

.tko-necrolog-form__notice,
.tko-necrolog-form__success {
    background: var(--tko-form-soft);
    border-left: 4px solid var(--tko-form-black);
    padding: 20px 22px;
}

.tko-necrolog-form__notice--error {
    border-left-color: #a81717;
    color: #861111;
    margin-bottom: 22px;
}

.tko-necrolog-form__trap {
    height: 1px;
    left: -10000px;
    overflow: hidden;
    position: absolute;
    width: 1px;
}

@media (max-width: 800px) {
    .tko-necrolog-form {
        margin-top: 20px;
        padding: 0 14px;
    }

    .tko-necrolog-form__header {
        margin-bottom: 22px;
    }
}
