/* ==========================================================================
   Sitemap page (page-sitemap.php)
   ========================================================================== */

.sitemap-intro {
    padding: 48px 0 8px;
}

.sitemap-title {
    font-size: 2rem;
    font-weight: 800;
    color: var(--lh-primary);
    margin: 0 0 12px;
}

.sitemap-lead {
    max-width: 720px;
    color: var(--lh-gray);
    line-height: 1.6;
    margin: 0;
}

.sitemap-body {
    padding-bottom: 64px;
}

.sitemap-section {
    padding: 32px 0;
    border-top: 1px solid var(--lh-gray-medium);
}

.sitemap-section:first-child {
    border-top: 0;
}

.sitemap-section-title {
    font-size: 0.875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--lh-primary);
    margin: 0 0 16px;
}

/* Auto-fitting groups: three across on desktop, one on a phone, with no
   breakpoint maths. */
.sitemap-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 32px;
}

.sitemap-group-title {
    font-size: 1rem;
    font-weight: 700;
    margin: 0 0 10px;
}

.sitemap-group-title a {
    color: var(--lh-primary);
    text-decoration: none;
}

.sitemap-group-title a:hover {
    color: var(--lh-primary-dark);
    text-decoration: underline;
}

.sitemap-list {
    list-style: none;
    margin: 0 0 16px;
    padding: 0;
}

.sitemap-list li {
    margin-bottom: 7px;
    line-height: 1.45;
}

.sitemap-list a {
    color: var(--lh-gray-dark);
    text-decoration: none;
    font-size: 0.9375rem;
}

.sitemap-list a:hover {
    color: var(--lh-primary);
    text-decoration: underline;
}

.sitemap-count {
    color: var(--lh-gray);
    font-size: 0.8125rem;
}

/* The long resource list flows into newspaper columns so ~65 links stay
   scannable instead of running one per line down the page. */
.sitemap-columns .sitemap-list {
    column-width: 300px;
    column-gap: 32px;
}

.sitemap-columns .sitemap-list li {
    break-inside: avoid;
}

.sitemap-xml p {
    margin: 0;
    color: var(--lh-gray);
    font-size: 0.9375rem;
}

@media (max-width: 768px) {
    .sitemap-intro {
        padding-top: 32px;
    }

    .sitemap-title {
        font-size: 1.5rem;
    }

    .sitemap-grid {
        gap: 24px;
    }

    /* One column on a phone; multi-column text is hard to follow on a
       narrow screen. */
    .sitemap-columns .sitemap-list {
        column-width: auto;
        columns: 1;
    }
}

/* Nested category subtree (Mini PCs > AMD Series > AD Series). */
.sitemap-subtree .sitemap-subtree {
    margin: 6px 0 6px 16px;
    padding-left: 10px;
    border-left: 2px solid var(--lh-gray-medium);
}
