@charset "UTF-8";


.reservation {
    .relation__list {
        margin-block-start: 0.91rem;
    }

    .btn {
        min-width: 22.375rem;
    }

    .btn__wrapper {
        margin-block: 3.31rem;
    }
}

.reservation__title {
    margin-block-end: 1.62rem;
    color: var(--c-accent);
    font-size: 1.25rem;
    font-weight: 500;
    text-align: center;
}

.reservation__step {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.31rem;
    margin-block-end: 2.31rem;

    @media (max-width: 767px) {
        grid-template-columns: 1fr;
    }

    .reservation__step__item {
        position: relative;
        padding: 0.81rem 1.25rem 1.25rem;
        border-radius: 0.44rem 0.44rem 0 0;
        background-color: var(--c-white);

        &:not(:last-child)::after {
            position: absolute;
            top: 50%;
            left: calc(100% + 0.7rem);
            display: inline-block;
            width: 0;
            height: 0;
            border-width: 0.5rem 0 0.5rem 1.125rem;
            border-style: solid;
            border-color: transparent transparent transparent var(--c-accent);
            content: '';
            translate: 0 -50%;

            @media (max-width: 767px) {
                top: calc(100% + 0.7rem);
                left: 50%;
                border-width: 1.125rem 0.5rem 0 0.5rem;
                border-color: var(--c-accent) transparent transparent transparent;
                translate: -50% 0;
            }
        }
    }

    .reservation__step__num {
        color: var(--c-accent);
        font-size: 0.75rem;
        font-weight: 700;
        line-height: 1.6875rem;

        span {
            font-size: 1rem;
        }
    }

    .reservation__step__header {
        display: flex;
        align-items: center;
        gap: 0.69rem;
        margin-block-start: 0.62rem;
    }

    .reservation__step__icon {
        flex-shrink: 0;
    }

    .reservation__step__title {
        font-size: 1rem;
        font-weight: 700;
    }

    .reservation__step__text {
        margin-block-start: 1.75rem;
        font-size: 0.875rem;
        font-weight: 500;
        line-height: 1.375rem;

        br {
            @media (max-width: 1023px) {
                display: none;
            }
        }
    }
}

.box--attention {
    margin-block-end: 2.8rem;
    padding: 1.44rem 1.62rem;
    border: 1px solid var(--c-red);
    color: var(--c-red);

    p {
        line-height: 1.69;
        font-feature-settings: 'palt' on;
        letter-spacing: -0.05rem;

        &:not(:last-child) {
            margin-block-end: 1em;
            padding-block-end: 1em;
            border-block-end: 1px dashed currentColor;
        }
    }

    .note {
        display: block;
        font-size: 0.75rem;
    }
}
