/*
 * The HTML sitemap (/sitemap). Heading reuses the theme's section title (like
 * /news); this file only lays out the directory columns.
 */
.sitemap__hero .sec-title-wrapper { padding-bottom: 0; text-align: left; }
.sitemap__hero .sec-title-wrapper .sec-title { padding-bottom: 0; }
.sitemap__hero .blog__text { padding-top: 60px; }
.sitemap__hero .blog__text p { max-width: 420px; }

.sitemap__home { padding-bottom: 50px; margin-bottom: 50px; border-bottom: 1px solid var(--white-4, #efefef); }
.sitemap__home a {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    font-weight: 500;
    font-size: 40px;
    line-height: 1;
    color: var(--black-2, #121212);
}
.sitemap__home a i { font-size: 24px; transition: transform .3s; }
.sitemap__home a:hover i { transform: translateX(6px); }

.sitemap__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 60px 40px;
}

.sitemap__heading {
    margin-bottom: 22px;
    padding-bottom: 14px;
    border-bottom: 2px solid var(--primary, #c9f31d);
    font-weight: 500;
    font-size: 22px;
    line-height: 1.3;
    color: var(--black-2, #121212);
}

.sitemap__list { margin: 0; padding: 0; list-style: none; }
.sitemap__list li { padding: 6px 0; }
.sitemap__list li.sitemap__child { padding-left: 18px; position: relative; }
.sitemap__list li.sitemap__child::before {
    content: "";
    position: absolute;
    left: 2px;
    top: 50%;
    width: 8px;
    height: 1px;
    background: var(--gray-2, #999);
}
.sitemap__list a {
    font-size: 17px;
    line-height: 1.5;
    color: var(--black-3, #555);
    transition: color .3s;
}
.sitemap__list a:hover,
.sitemap__list a[aria-current="page"] { color: var(--black-2, #121212); text-decoration: underline; text-underline-offset: 3px; }

.dark .sitemap__home a,
.dark .sitemap__heading,
.dark .sitemap__list a:hover { color: var(--white, #fff); }
.dark .sitemap__list a { color: var(--gray-2, #bbb); }

@media (max-width: 1199px) {
    .sitemap__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 991px) {
    .sitemap__hero .blog__text { padding-top: 20px; }
    .sitemap__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 24px; }
    .sitemap__home a { font-size: 30px; }
}
@media (max-width: 575px) {
    .sitemap__grid { grid-template-columns: 1fr; }
}
