/* Декоративные разделители плавно исчезают по краям и не конкурируют с содержимым */
:root {
    --quick-tickets-divider-light: rgba(54, 54, 54, 0.16);
    --quick-tickets-divider-dark: rgba(255, 255, 255, 0.22);
}

/* Навигация организации и подвал используют одинаковую линию на светлой поверхности */
#organisation .navigation,
#footer .bottom {
    position: relative;
}

#organisation .navigation::before,
#footer .bottom::before {
    position: absolute;
    right: 0;
    left: 0;
    height: 1px;
    background: linear-gradient(
        to right,
        transparent 0,
        var(--quick-tickets-divider-light) 10%,
        var(--quick-tickets-divider-light) 90%,
        transparent 100%
    );
    content: "";
    pointer-events: none;
}

#organisation .navigation::before,
#footer .bottom::before {
    top: 0;
}

/* Платёжные системы и социальные сети отделяются от основного подвала тем же мягким градиентом */
#footer .bottom::before {
    background: linear-gradient(
        to right,
        transparent 0,
        var(--quick-tickets-divider-dark) 10%,
        var(--quick-tickets-divider-dark) 90%,
        transparent 100%
    );
}

/* Смысловые части тёмной шапки мероприятия разделяются более светлой линией */
#organisation .event-viewer .event-element-head hr {
    height: 1px;
    margin: 18px 0;
    border: 0;
    background: linear-gradient(
        to right,
        transparent 0,
        var(--quick-tickets-divider-dark) 10%,
        var(--quick-tickets-divider-dark) 90%,
        transparent 100%
    );
}

/* Явные разделители и сведения о другой площадке используют одну спокойную линию */
hr.quick-tickets-divider,
#organisation #elems-list:not(.type_1) > .elem hr {
    height: 1px;
    margin: 18px 0;
    border: 0;
    background: linear-gradient(
        to right,
        transparent 0,
        var(--quick-tickets-divider-light) 10%,
        var(--quick-tickets-divider-light) 90%,
        transparent 100%
    );
}

/* Элементы обычных списков отделяются линией без резких вертикальных срезов */
#elems-list:not(.type_1) > .elem {
    position: relative;
}

#elems-list:not(.type_1) > .elem::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 1px;
    background: linear-gradient(
        to right,
        transparent 0,
        var(--quick-tickets-divider-light) 10%,
        var(--quick-tickets-divider-light) 90%,
        transparent 100%
    );
    content: "";
    pointer-events: none;
}

#elems-list:not(.type_1) > .elem:last-of-type::after {
    display: none;
}
