/* stylelint-disable selector-class-pattern */

.site-map {
    padding: 48px 0 80px;
    color: #4B4B4B;
    font-family: "Roboto Condensed", roboto, sans-serif;
}

.site-map__container {
    width: 100%;
    padding: 0 20px;
}

.site-map__title {
    position: relative;
    margin: 0 0 48px;
    padding: 0 0 18px;
    color: #000000;
    font-size: 38px;
    font-weight: 700;
    line-height: 1.1;
    text-align: left;
    text-transform: uppercase;
}

.site-map__title::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 124px;
    height: 12px;
    background: #00AAFF;
    content: "";
}

.site-map__section {
    padding: 0 0 30px;
}

.site-map__section + .site-map__section {
    padding-top: 30px;
    border-top: 1px solid #e1e5e9;
}

.site-map__section-title {
    margin: 0 0 28px;
    color: #000;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
}

.site-map__section-title:last-child {
    margin-bottom: 0;
}

.site-map a {
    color: #555c64;
    text-decoration: none;
    transition: color 0.2s ease;
}

.site-map__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 42px;
}

.site-map__column,
.site-map__group {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.site-map__group {
    gap: 16px;
    margin-bottom: 16px;
}

.site-map__group-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}

.site-map__category-group {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.site-map__accordion-toggle {
    display: none;
}

.site-map__group + .site-map__group {
    margin-top: 24px;
}

.site-map__group h3 {
    margin: 0;
    color: #808080;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
    margin-bottom: 16px;
}

.site-map__standalone-title {
    margin: 0 0 16px;
    color: #808080;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
}

.site-map__group-title_continuation {
    display: none;
}

.site-map__column > a,
.site-map__group > a,
.site-map__group-content > a,
.site-map__category-group > a,
.site-map__column > span,
.site-map__group > span,
.site-map__group-content > span,
.site-map__category-group > span {
    font-size: 16px;
    line-height: 1.2;
}

.site-map__column > a,
.site-map__column > span {
    margin-bottom: 16px;
}

.site-map__group > a,
.site-map__group-content > a,
.site-map__category-group > a,
.site-map__group > span,
.site-map__group-content > span,
.site-map__category-group > span {
    margin: 0;
}

.site-map__group > .site-map__category-link,
.site-map__group-content > .site-map__category-link,
.site-map__category-group > .site-map__category-link {
    color: #4b4b4b;
    font-family: "Roboto Condensed", roboto, sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 1.2;
}

.site-map__section-title a,
.site-map__group h3 a,
.site-map__standalone-title a {
    color: inherit;
}

.site-map a:hover,
.site-map a:focus-visible {
    color: #009fdf;
}

.site-map__section_compact {
    padding-bottom: 26px;
}

.site-map__section_compact .site-map__section-title {
    margin-bottom: 22px;
}

@media (width <= 1023px) {
    .site-map__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 32px;
    }
}

@media (width <= 767px) {
    .site-map {
        padding: 32px 0 52px;
    }

    .site-map__container {
        padding: 0 16px;
    }

    .site-map__title {
        margin-bottom: 36px;
        padding-bottom: 15px;
        font-size: 26px;
    }

    .site-map__title::after {
        width: 78px;
        height: 5px;
    }

    .site-map__grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .site-map__column {
        width: 100%;
    }

    .site-map__group,
    .site-map__group + .site-map__group {
        width: 100%;
        margin: 0;
        gap: 0;
    }

    .site-map__group h3 {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        min-height: 36px;
        color: #808080;
        font-size: 14px;
        font-weight: 700;
        margin-bottom: 0;
    }

    .site-map__standalone-title {
        display: flex;
        align-items: center;
        width: 100%;
        min-height: 36px;
        margin: 0;
        color: #808080;
        font-size: 14px;
        font-weight: 700;
    }

    .site-map__group .site-map__group-title_continuation {
        display: flex;
    }

    .site-map__accordion-toggle {
        position: relative;
        display: block;
        flex: 0 0 28px;
        width: 28px;
        height: 28px;
        margin-left: 12px;
        padding: 0;
        border: 0;
        background: transparent;
        cursor: pointer;
    }

    .site-map__accordion-toggle::before,
    .site-map__accordion-toggle::after {
        position: absolute;
        top: 50%;
        width: 7px;
        height: 1px;
        background: #8ba0ae;
        content: "";
        transition: transform 0.2s ease;
    }

    .site-map__accordion-toggle::before {
        left: 8px;
        transform: rotate(45deg);
    }

    .site-map__accordion-toggle::after {
        right: 8px;
        transform: rotate(-45deg);
    }

    .site-map__group_open .site-map__accordion-toggle::before {
        transform: rotate(-45deg);
    }

    .site-map__group_open .site-map__accordion-toggle::after {
        transform: rotate(45deg);
    }

    .site-map__group_mobile .site-map__group-content {
        display: none;
    }

    .site-map__group_mobile.site-map__group_open .site-map__group-content {
        display: flex;
        width: 100%;
        padding: 4px 0 12px;
    }

    .site-map__group-content > a {
        margin: 0;
    }

    .site-map__section-title {
        margin-bottom: 22px;
    }

    .site-map__section + .site-map__section {
        padding-top: 24px;
    }
}
