/* Sitemap Tree widget — static styles matching site palette:
   text #212121, primary blue #4A6BB3, gold accent #BAA64A */
.sitemap-tree {
    --sitemap-columns: 3;
}
.sitemap-tree ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.sitemap-tree__list--root {
    display: grid;
    grid-template-columns: repeat(var(--sitemap-columns), 1fr);
    gap: 48px 40px;
    align-items: start;
}
.sitemap-tree__link {
    display: inline-block;
    color: #212121;
    font-size: 16px;
    line-height: 24px;
    text-decoration: none;
    transition: color .15s ease;
}
.sitemap-tree__link:hover {
    color: #4A6BB3;
    text-decoration: underline;
    text-underline-offset: 3px;
}
/* Entries without a public URL (e.g. non-queryable post types) */
span.sitemap-tree__link--static,
span.sitemap-tree__link--static:hover {
    color: #212121;
    text-decoration: none;
    cursor: default;
}
/* Top level: branch heading with the site's gold line + dot motif */
.sitemap-tree__branch > .sitemap-tree__link {
    display: block;
    position: relative;
    font-family: 'Roboto', sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 28px;
    padding-bottom: 14px;
    margin-bottom: 18px;
    /* reserve two heading lines so the gold line aligns across columns */
    min-height: 70px;
}
.sitemap-tree__branch > .sitemap-tree__link:hover {
    text-decoration: none;
}
.sitemap-tree__branch > .sitemap-tree__link::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 4px;
    height: 1px;
    background: #BAA64A;
}
.sitemap-tree__branch > .sitemap-tree__link::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #BAA64A;
}
/* Nested levels: rounded elbow connectors */
.sitemap-tree__list .sitemap-tree__list {
    margin-left: 4px;
}
.sitemap-tree__list .sitemap-tree__list .sitemap-tree__list {
    margin-left: 26px;
}
.sitemap-tree__list .sitemap-tree__list .sitemap-tree__item {
    position: relative;
    padding-left: 26px;
    padding-top: 8px;
}
.sitemap-tree__list .sitemap-tree__list .sitemap-tree__item::before {
    content: "";
    position: absolute;
    left: 0;
    top: -8px;
    width: 16px;
    height: 28px;
    border-left: 1.5px solid #C9D5EC;
    border-bottom: 1.5px solid #C9D5EC;
    border-bottom-left-radius: 10px;
}
.sitemap-tree__list .sitemap-tree__list .sitemap-tree__item:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 0;
    top: -8px;
    bottom: 0;
    border-left: 1.5px solid #C9D5EC;
}
.sitemap-tree__empty {
    padding: 16px;
    background: #f3f7ff;
    border-radius: 4px;
    color: #666;
}
@media (max-width: 1024px) {
    .sitemap-tree__list--root {
        grid-template-columns: repeat(min(var(--sitemap-columns), 2), 1fr);
    }
}
@media (max-width: 767px) {
    .sitemap-tree__list--root {
        grid-template-columns: 1fr;
        gap: 32px;
    }
}
