  /* ── Sitemap-specific styles only – no overrides to main.css layout ── */
    .sitemap-search-bar { position: sticky; top: 70px; z-index: 800; }
    .sitemap-search-bar .input-group-text { background: #fff; }

    .sitemap-filter-pills .btn { border-radius: 50px; font-size: 0.78rem; padding: 4px 14px; }

    .sitemap-section-card { border: 1px solid #e2e8f0; border-radius: 12px; overflow: hidden; margin-bottom: 20px; transition: box-shadow 0.2s; }
    .sitemap-section-card:hover { box-shadow: 0 4px 20px rgba(0,0,0,0.08); }

    .sitemap-section-header { cursor: pointer; user-select: none; padding: 16px 20px; display: flex; align-items: center; gap: 12px; background: #f8f9fa; border-bottom: 1px solid #e2e8f0; transition: background 0.15s; }
    .sitemap-section-header:hover { background: #eef2ff; }

    .sitemap-section-icon { width: 38px; height: 38px; border-radius: 9px; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; flex-shrink: 0; }

    .sitemap-section-meta { margin-left: auto; display: flex; align-items: center; gap: 10px; }
    .sitemap-section-meta .badge { font-size: 0.7rem; font-weight: 600; }

    .sitemap-chevron { transition: transform 0.25s ease; color: #6c757d; font-size: 1rem; }
    .sitemap-section-card.open .sitemap-chevron { transform: rotate(180deg); }

    .sitemap-links-body { display: none; padding: 16px 20px; background: #fff; }
    .sitemap-section-card.open .sitemap-links-body { display: block; }

    .sitemap-link-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 8px; }

    .sitemap-link-item { display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; border: 1px solid #e9ecef; border-radius: 8px; text-decoration: none; color: #212529; font-size: 0.82rem; transition: all 0.15s; background: #fafafa; }
    .sitemap-link-item:hover { border-color: #4154f1; background: #eef2ff; color: #4154f1; text-decoration: none; transform: translateX(2px); }
    .sitemap-link-item:hover .sitemap-link-arrow { opacity: 1; }

    .sitemap-link-icon { width: 24px; height: 24px; border-radius: 5px; background: #e9ecef; display: flex; align-items: center; justify-content: center; font-size: 0.7rem; flex-shrink: 0; margin-top: 1px; }

    .sitemap-link-text { flex: 1; }
    .sitemap-link-text .link-title { font-weight: 500; line-height: 1.3; display: block; }
    .sitemap-link-text .link-slug { font-size: 0.67rem; color: #6c757d; display: block; margin-top: 2px; font-family: monospace; word-break: break-all; }

    .sitemap-link-arrow { opacity: 0; color: #4154f1; font-size: 0.8rem; flex-shrink: 0; margin-top: 2px; transition: opacity 0.15s; }

    .sitemap-priority { font-size: 0.62rem; padding: 2px 6px; border-radius: 3px; font-weight: 600; flex-shrink: 0; margin-top: 2px; font-family: monospace; }
    .pri-10 { background: #d1fae5; color: #065f46; }
    .pri-09 { background: #dbeafe; color: #1e40af; }
    .pri-08 { background: #fef3c7; color: #92400e; }

    .sitemap-empty { display: none; text-align: center; padding: 48px 20px; color: #6c757d; }
    .sitemap-empty i { font-size: 3rem; margin-bottom: 12px; display: block; }

    .sitemap-stat-chip { background: rgba(255,255,255,0.15); border: 1px solid rgba(255,255,255,0.25); border-radius: 8px; padding: 8px 16px; text-align: center; }
    .sitemap-stat-chip .chip-num { font-size: 1.5rem; font-weight: 700; line-height: 1; display: block; }
    .sitemap-stat-chip .chip-label { font-size: 0.7rem; opacity: 0.85; text-transform: uppercase; letter-spacing: 0.06em; display: block; margin-top: 2px; }

    .sitemap-toc-link { display: flex; align-items: center; gap: 8px; padding: 6px 10px; border-radius: 6px; font-size: 0.8rem; color: #495057; text-decoration: none; transition: all 0.15s; border: none; background: none; width: 100%; text-align: left; cursor: pointer; }
    .sitemap-toc-link:hover { background: #eef2ff; color: #4154f1; }
    .sitemap-toc-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
    .sitemap-toc-count { margin-left: auto; font-size: 0.67rem; background: #e9ecef; padding: 1px 6px; border-radius: 10px; font-family: monospace; }

    .sitemap-section-divider { font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.1em; color: #6c757d; font-weight: 700; padding: 10px 4px 4px; border-bottom: 1px solid #e9ecef; margin-bottom: 6px; }

    @media (max-width: 768px) {
      .sitemap-link-grid { grid-template-columns: 1fr; }
      .sitemap-section-header { padding: 12px 14px; }
      .sitemap-links-body { padding: 12px 14px; }
    }