/* 6. Tablet + phone. Loaded last so it always wins. */
/* Safety net for sub-pixel rounding: clip (not hidden) so the sticky header and TOC bar keep working. */
@media (max-width: 921px) { html, body { overflow-x: clip; } }
@media (max-width: 1000px) {
  .menu { display: none; }
  .hoi-nhanh { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .the-luoi { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .chan-trong { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  :root { --le: 16px; }
  html { scroll-padding-top: 110px; }
  .dau { padding: 10px var(--le); gap: 10px; }
  .logo { font-size: 20px; }
  .tim { min-width: 0; width: 40px; height: 40px; padding: 0; justify-content: center; margin-left: auto; border-radius: 8px; }
  .tim-chu { display: none; }
  .nut-vuong { display: grid; }
  .ml-ngang { top: 61px; }
  .admin-bar .ml-ngang { top: 61px; }
  .admin-bar .dau { top: 0; }
  .chu-mo { padding: 26px var(--le) 22px; }
  .o-hoi { padding-left: 12px; }
  .hoi-nhanh { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 4px; }
  .hn { flex: 0 0 72%; scroll-snap-align: start; }
  .luc-dia { columns: 2; }
  .the-luoi { grid-template-columns: 1fr; }
  .bai { padding: 18px var(--le) 10px; gap: 14px; }
  .van { font-size: 17px; }
  .van h2 { font-size: 25px; }
  .van h3 { font-size: 21px; }
  .tom-nut { flex-direction: column; }
  .tom-nut .nut { width: 100%; }
  .khu-the { grid-template-columns: 1fr; }
  .doi { grid-template-columns: 1fr; }
  .cum-luoi { grid-template-columns: 1fr 1fr; }
  .cum-luoi a:nth-child(3n+1) { border-left: 1px solid var(--ke2); }
  .cum-luoi a:nth-child(2n+1) { border-left: 0; }
  .goc { grid-template-columns: 1fr; }
  .chan-trong { grid-template-columns: 1fr; gap: 22px; }
  .bang-dl table { font-size: 14px; }
  .bang-dl td, .bang-dl th { padding: 8px 10px; min-width: 96px; }
}
