urlset, sitemapindex {
    display: block;
    background-color: #ffffff;
    color: #333333;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    line-height: 1.5;
    margin: 0;
    padding: 24px;
    font-feature-settings: "tnum";
}

urlset::before, sitemapindex::before {
    display: block;
    background-color: #b1d1e8;
    color: #333333;
    font-size: 1.5rem;
    font-weight: 600;
    padding: 20px;
    margin: -24px -24px 24px -24px;
    border-bottom: 1px solid #e0e0e0;
}
urlset::before { content: "Henda.co.uk Sitemap"; }
sitemapindex::before { content: "Henda.co.uk Index"; }

urlset::after, sitemapindex::after {
    content: "© Copyright 2026 Henda.co.uk";
    display: block;
    text-align: center;
    padding: 24px 0 8px 0;
    margin-top: 24px;
    border-top: 1px solid #e0e0e0;
    font-size: 0.85rem;
    color: #666666;
}

url, sitemap {
    padding: 12px 8px;
    border-top: 1px solid #e0e0e0;
    display: grid;
    grid-template-columns: [col1-start] 55% [col1-end col2-start] minmax(100px, 1fr) [col2-end col3-start] minmax(100px, 1fr) [col3-end col4-start] minmax(100px, 1fr) [col4-end];
    gap: 12px;
    align-items: center;
    transition: background-color 0.15s ease;
}

url:hover, sitemap:hover {
    background-color: #eaeaea;
}

url:nth-of-type(odd), sitemap:nth-of-type(odd) {
    background-color: #f9f9f9;
}

loc {
    grid-column: col1-start / col1-end;
    display: block;
    font-size: 1rem;
    color: #0180AF;
    font-weight: 500;
    overflow-wrap: anywhere;
    padding-right: 8px;
}

lastmod { grid-column: col2-start / col2-end; }
changefreq { grid-column: col3-start / col3-end; }
priority { grid-column: col4-start / col4-end; }

lastmod, changefreq, priority {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 6px 12px;
    font-style: italic;
    font-size: 0.8rem;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    background: #ffffff;
    color: #666666;
    width: fit-content;
}

url:first-of-type, sitemap:first-of-type {
    padding-top: 50px;

    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
}

url:first-of-type loc::before, sitemap:first-of-type loc::before {
    content: "Target URL";
    display: block;
    transform: translateY(-38px);
    height: 0;
    font-size: 0.875rem;
    font-weight: 600;
    color: #666666;
}

url:first-of-type lastmod::before, sitemap:first-of-type lastmod::before {
    content: "Last Modified";
    display: block;
    transform: translateY(-44px);
    height: 0;
    font-size: 0.875rem;
    font-weight: 600;
    color: #666666;
    font-style: normal;
}

url:first-of-type changefreq::before, sitemap:first-of-type changefreq::before {
    content: "Change Freq";
    display: block;
    transform: translateY(-44px);
    height: 0;
    font-size: 0.875rem;
    font-weight: 600;
    color: #666666;
    font-style: normal;
}

url:first-of-type priority::before, sitemap:first-of-type priority::before {
    content: "Priority";
    display: block;
    transform: translateY(-44px);
    height: 0;
    font-size: 0.875rem;
    font-weight: 600;
    color: #666666;
    font-style: normal;
}

@media (max-width: 768px) {
    url:first-of-type, sitemap:first-of-type {
        padding-top: 16px;
    }

    url:first-of-type loc::before, sitemap:first-of-type loc::before { display: none; }

    url:first-of-type lastmod::before, sitemap:first-of-type lastmod::before { content: "Modified: "; font-weight: 600; font-size: 0.8rem; color: #666666; transform: none; height: auto; display: inline-block; }
    url:first-of-type changefreq::before, sitemap:first-of-type changefreq::before { content: "Freq: "; font-weight: 600; font-size: 0.8rem; color: #666666; transform: none; height: auto; display: inline-block; }
    url:first-of-type priority::before, sitemap:first-of-type priority::before { content: "Prio: "; font-weight: 600; font-size: 0.8rem; color: #666666; transform: none; height: auto; display: inline-block; }

    url:not(:first-of-type) lastmod::before, sitemap:not(:first-of-type) lastmod::before { content: "Modified: "; font-weight: 600; font-style: normal; margin-bottom: 2px; }
    url:not(:first-of-type) changefreq::before, sitemap:not(:first-of-type) changefreq::before { content: "Freq: "; font-weight: 600; font-style: normal; margin-bottom: 2px; }
    url:not(:first-of-type) priority::before, sitemap:not(:first-of-type) priority::before { content: "Prio: "; font-weight: 600; font-style: normal; margin-bottom: 2px; }

    url, sitemap {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 16px 8px;
    }
    loc {
        margin-bottom: 4px;
        padding-right: 0;
    }
    lastmod, changefreq, priority {
        margin: 4px 6px 0 0;
        flex-direction: row;
    }
}