/* Reset + nền + typography cơ bản + icon. */
* {
  box-sizing: border-box;
}

/* ---- Thanh cuộn: mảnh, bo tròn, màu thương hiệu (thanh thoát). Áp toàn site (mọi vùng
   cuộn: trang, dropdown gợi ý, modal…). Các dải cuộn ngang CỐ TÌNH ẩn (tabs/filter dùng
   scrollbar-width:none / display:none qua selector class) vẫn thắng vì class > '*'.
   Firefox: scrollbar-color kế thừa từ html → mọi vùng con. WebKit: tô bằng pseudo-element.
   Mẹo 'thanh thoát': viền trong suốt + background-clip:padding-box → thumb mảnh hơn rãnh. */
html {
  scrollbar-width: thin;
  scrollbar-color: var(--scrollbar-thumb) transparent;
}
*::-webkit-scrollbar {
  width: var(--scrollbar-size);
  height: var(--scrollbar-size);
}
*::-webkit-scrollbar-track {
  background: transparent;
}
*::-webkit-scrollbar-thumb {
  background: var(--scrollbar-thumb);
  border-radius: var(--r-pill);
  border: 2px solid transparent;
  background-clip: padding-box;
}
*::-webkit-scrollbar-thumb:hover {
  background: var(--scrollbar-thumb-hover);
  background-clip: padding-box;
}
*::-webkit-scrollbar-corner {
  background: transparent;
}

body {
  margin: 0;
  /* Inter (chính) + Be Vietnam Pro (fallback phủ dấu tiếng Việt 2 tầng). */
  font-family: "Inter", "Be Vietnam Pro", system-ui, sans-serif;
  background: var(--bg);
  color: var(--text);
  line-height: 1.55;
  font-size: 15px;
}

/* Số liệu kỹ thuật EV (km, kWh, SoH%, giá/kWh, biển số). */
.mono {
  font-family: "JetBrains Mono", ui-monospace, monospace;
}

a {
  color: var(--accent);
  text-decoration: none;
}

h1 {
  font-size: 1.75rem;
  font-weight: 700;
  text-align: center;
  margin: .2em 0;
}

.muted {
  color: var(--muted);
}

/* Icon FontAwesome inline (xem internal/ui/icon). Màu theo currentColor. */
.fa-icon {
  width: 1em;
  height: 1em;
  vertical-align: -0.125em;
  display: inline-block;
  flex: none;
}

.btn .fa-icon {
  margin-right: .4em;
}

/* <picture> chỉ là bọc nguồn AVIF — không chiếm layout, để CSS img cũ chạy nguyên */
/* picture { display: contents; } */

/* Chỉ cho trình đọc màn hình (visually hidden) — tiêu đề/nhãn ngữ cảnh không hiển thị. */
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
