/* SP v330: PC - menu trái luôn hiện, lấy dữ liệu/chức năng từ menu điện thoại, chỉ đổi cách hiển thị. */
.pcLeftMenu{
  display:none;
}

@media (min-width:1024px){
  :root{
    --pc-left-menu-width:260px; /* SP: chỉnh chiều ngang menu trái PC tại đây */
    --pc-left-menu-left:max(18px, calc((100vw - 1180px) / 2)); /* SP: chỉnh vị trí trái menu PC tại đây */
    --pc-left-menu-top:126px; /* SP v334: chỉnh vị trí menu PC: cho đỉnh menu cao bằng khung quảng cáo */
    --pc-left-menu-bottom:18px; /* SP: chỉnh khoảng cách menu tới đáy màn hình PC tại đây */
  }

  /* SP v420: PC - menu nằm trong layout trang, không còn là tab nổi.
     Mở overflow riêng ở trang chủ để position:sticky bám chắc khi cuộn. */
  body.is-pc-left-menu-home .pageShell{
    display:grid !important;
    grid-template-columns:var(--pc-left-menu-width) minmax(0, 1fr);
    column-gap:24px;
    align-items:start;
    width:min(100%, calc(1180px + var(--pc-left-menu-width) + 24px));
    max-width:calc(1180px + var(--pc-left-menu-width) + 24px);
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    overflow:visible !important; /* SP v420: bắt buộc để menu PC sticky không bị trượt lên */
  }

  body.is-pc-left-menu-home #page-home{
    grid-column:2;
    min-width:0;
  }

  .pcLeftMenu{
    position:sticky !important; /* SP v420: menu PC đứng yên khi cuộn, vẫn nằm trong layout trang */
    top:var(--pc-left-menu-top) !important;
    grid-column:1;
    align-self:start;
    margin-top:calc(var(--pc-left-menu-top) - var(--pc-topbar-height, 62px));
    height:calc(100dvh - var(--pc-left-menu-top) - var(--pc-left-menu-bottom));
    max-height:calc(100dvh - var(--pc-left-menu-top) - var(--pc-left-menu-bottom));
    z-index:40;
    width:var(--pc-left-menu-width);
    display:none;
    flex-direction:column;
    background:#fff;
    border:1px solid rgba(0,0,0,.08);
    border-radius:22px;
    box-shadow:0 10px 30px rgba(0,0,0,.06);
    overflow:hidden;
  }

  body.is-pc-left-menu-home .pcLeftMenu{
    display:flex;
  }

  .pcLeftMenu__head{
    flex:0 0 auto;
    padding:16px 16px 12px;
    border-bottom:1px solid rgba(0,0,0,.06);
    background:#fff;
  }

  .pcLeftMenu__title{
    margin:0;
    color:#111;
    font-size:20px; /* SP: cỡ chữ tiêu đề menu PC */
    font-weight:588;
    line-height:1.2;
  }

  .pcLeftMenu__body{
    flex:1 1 auto;
    min-height:0;
    overflow:auto;
    -webkit-overflow-scrolling:touch;
    padding:12px 10px 16px;
    scrollbar-width:none; /* SP: bỏ thanh lăn xám của menu PC */
  }

  .pcLeftMenu__body::-webkit-scrollbar{
    width:0;
    height:0;
    display:none;
  }

  .pcLeftMenu .categoryHome{
    display:grid;
    gap:10px;
    padding:0;
  }

  .pcLeftMenu .categoryBlock{
    border:1px solid rgba(0,0,0,.07);
    border-radius:16px;
    box-shadow:none;
    overflow:hidden;
    background:#fff;
  }

  .pcLeftMenu .categoryRow{
    min-height:46px; /* SP: chỉnh chiều cao dòng menu PC */
    padding:9px 10px;
    grid-template-columns:30px 1fr 14px;
    gap:8px;
    font-size:18px; /* SP: cỡ chữ nội dung menu PC */
    font-weight:500;
  }

  .pcLeftMenu .categoryRow--child{
    min-height:42px;
    padding-left:14px;
    background:#fff;
    font-size:16px !important; /* SP v337: chữ đen danh mục con menu PC */
    font-weight:500;
  }

  .pcLeftMenu .categoryRow--child .categoryRow__label{
    font-size:16px !important; /* SP v337: chữ đen danh mục con trong menu PC */
  }

  .pcLeftMenu .categoryIcon{
    width:28px; /* SP: chỉnh size icon menu PC */
    height:28px;
  }


  /* SP v337: ép đúng chữ màu đen của danh mục con trong menu PC xuống 16px, thắng mọi CSS PC global. */
  html body.is-pc-left-menu-home .pcLeftMenu button.categoryRow.categoryRow--child,
  html body.is-pc-left-menu-home .pcLeftMenu button.categoryRow.categoryRow--child span.categoryRow__label,
  html body.is-pc-left-menu-home .pcLeftMenu .categoryBlock__children .categoryRow__label{
    font-size:16px !important;
    line-height:1.22 !important;
  }

  .pcLeftMenu .categoryRow__label{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:normal;
    line-height:1.22;
  }

  .pcLeftMenu .categoryRow__arrow{
    font-size:22px;
    line-height:1;
  }

  .pcLeftMenu .categoryRow:hover,
  .pcLeftMenu .categoryRow.is-active{
    color:var(--pink);
    background:rgba(255,47,134,.055);
  }

  .pcLeftMenu .categoryBlock--accordion.is-collapsed .categoryBlock__children{
    display:none;
  }

  .pcLeftMenu .categoryBlock--accordion:not(.is-collapsed) .categoryRow--parent .categoryRow__arrow{
    transform:rotate(90deg);
  }

  /* SP v332: PC - kéo nguyên cụm nội dung chính về gần menu trái, nhìn cân giữa trang hơn. */
  body.is-pc-post-list-layout #page-home .homeFilters,
  body.is-pc-post-list-layout #page-home .homeAdBanner,
  body.is-pc-post-list-layout #page-home #homePostList,
  body.is-pc-post-list-layout #page-home .homeSection--latest,
  body.is-pc-post-list-layout #page-search-results #searchResultsPostList,
  body.is-pc-post-list-layout #page-search-results .homeSection--latest{
    margin-left:0 !important;
    margin-right:auto !important;
  }

  body.is-pc-post-list-layout #page-home .homeFilters,
  body.is-pc-post-list-layout #page-search-results .homeFilters{
    justify-content:flex-start !important;
  }

  /* SP v338: PC - dời bộ lọc trang chủ qua trái, mép trái thẳng hàng với logo top bar. Không đụng mobile/logic. */
  body.is-pc-left-menu-home #page-home .homeFilters,
  body.is-pc-left-menu-home #page-search-results .homeFilters{
    margin-left:calc(-1 * (var(--pc-left-menu-width) + 6px)) !important; /* SP: chỉnh 6px nếu muốn canh sát hơn với mép logo PC */
    margin-right:auto !important;
  }

  /* SP v334: menu PC chỉ hiện ở trang chủ, nên không chừa khoảng menu ở trang khác. */
}

@media (min-width:1024px) and (max-width:1180px){
  :root{
    --pc-left-menu-width:236px; /* SP: tự thu menu PC khi màn hình hẹp */
    --pc-left-menu-left:12px;
  }
}
