/* =====================================================================================
   TRANG SƠ ĐỒ WEBSITE  (/sodo · /sitemap)  —  mới 2026-08-11
   User chốt: "dựng cho tôi 1 trang sitemap cho tất cả các giao diện".

   🔑 Trang này chạy TRONG MỌI VỎ (46 mẫu desktop cũ · bản responsive · vỏ landing gdnn*),
      nên CSS phải:
        · gói trong .qisodo, không đụng bất cứ selector chung nào;
        · KHÔNG cố định màu chữ/nền theo một giao diện — lấy màu nhấn của đơn vị qua
          --qi-color-site (token do ThemeStyles sinh từ SiteConfig.ColorSite), có giá trị lui
          khi vỏ đó không sinh token (vỏ mobile/landing đặt ViewData["LaMobileHoacTab"]);
        · tự co giãn: lưới auto-fit, không đặt chiều rộng cứng.
   ===================================================================================== */

.qisodo {
    --sodo-main: var(--qi-color-site, #0071a6);
    --sodo-vien: #e3e8ef;
    --sodo-nhat: #f6f8fb;
    --sodo-chu-nhat: #5a6472;
    max-width: 1200px;
    margin: 0 auto;
    padding: 14px 12px 28px;
    line-height: 1.55;
}

.qisodo *, .qisodo *::before, .qisodo *::after { box-sizing: border-box; }

/* Vỏ cũ khai `a { color: … }` ở nhiều nơi; khai kèm `a.` để đủ độ đặc hiệu mà không cần !important. */
.qisodo a, .qisodo a:link { color: inherit; text-decoration: none; }
.qisodo a:hover { color: var(--sodo-main); text-decoration: underline; }

.qisodo-duongdan { font-size: 13.5px; color: var(--sodo-chu-nhat); margin-bottom: 10px; }
.qisodo-duongdan span { margin: 0 6px; opacity: .6; }
.qisodo a.qisodo-duongdan-lk:hover { color: var(--sodo-main); }

.qisodo-tieude {
    margin: 0 0 6px; font-size: 26px; line-height: 1.25; font-weight: 700; color: var(--sodo-main);
}
.qisodo-mota { margin: 0 0 20px; font-size: 15px; color: var(--sodo-chu-nhat); }

/* ---------- Khối ---------- */
.qisodo-luoi {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; margin-bottom: 18px;
}
.qisodo-khoi {
    background: #fff; border: 1px solid var(--sodo-vien); border-radius: 8px; padding: 16px 18px 18px;
}
.qisodo-khoi-rong { margin-bottom: 18px; }
.qisodo-khoi h2 {
    margin: 0 0 12px; padding-bottom: 9px; font-size: 17px; font-weight: 700; text-transform: uppercase;
    color: var(--sodo-main); border-bottom: 2px solid var(--sodo-vien);
}
.qisodo-khoi h2 i { margin-right: 7px; }

/* ---------- Danh sách ---------- */
.qisodo-ds { list-style: none; margin: 0; padding: 0; }
.qisodo-ds li { position: relative; padding: 6px 0 6px 16px; font-size: 15px; }
.qisodo-ds li::before {
    content: ""; position: absolute; left: 0; top: 14px; width: 6px; height: 6px; border-radius: 50%;
    background: var(--sodo-main); opacity: .75;
}

/* Danh sách dàn ngang (đơn vị trực thuộc · liên kết ngoài): nhiều mục, ít chữ. */
.qisodo-ds-ngang {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 0 18px;
}

/* ---------- Cây chuyên mục ---------- */
.qisodo-cot3 { columns: 3 260px; column-gap: 26px; }
.qisodo-nhanh { break-inside: avoid; margin-bottom: 16px; }
.qisodo-nhanh h3 {
    margin: 0 0 6px; font-size: 15.5px; font-weight: 700; color: var(--sodo-main);
    padding-bottom: 5px; border-bottom: 1px dashed var(--sodo-vien);
}
.qisodo-ds-con li { font-size: 14.5px; padding-left: 14px; }
.qisodo-ds-con li::before { width: 5px; height: 5px; top: 13px; opacity: .5; }

/* ---------- Khổ hẹp ---------- */
@media (max-width: 760px) {
    .qisodo { padding: 10px 10px 22px; }
    .qisodo-tieude { font-size: 21px; }
    .qisodo-cot3 { columns: 1; }
    .qisodo-ds-ngang { grid-template-columns: minmax(0, 1fr); }
}

/* Nền tối của vài mẫu cũ: khối trắng vẫn đọc được, nhưng bỏ viền cho đỡ chỏi. */
@media (prefers-color-scheme: dark) {
    .qisodo-khoi { border-color: rgba(0,0,0,.12); }
}

/* Dải "Sơ đồ website" dán sau chân trang có kiểu dáng NGAY TRONG
   Partials/_DaiSoDoWeb.cshtml — nó xuất hiện ở mọi trang của mọi mẫu, thêm một tệp CSS
   riêng chỉ vì ~15 dòng là tốn thêm một request cho toàn hệ thống. */
