/* Gói D mục 2: cụm nút nổi trang khách / cổng NCC – bên phải giữa màn hình; điện thoại: góc dưới phải. */
.nn-k { position: fixed; right: 8px; top: 50%; transform: translateY(-50%); z-index: 2147483000; display: flex; flex-direction: column; align-items: flex-end; gap: 6px; font: 14px/1.3 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.nn-k .nn-ds { display: flex; flex-direction: column; gap: 6px; align-items: stretch; }
.nn-k.nn-dong .nn-ds { display: none; }
.nn-k .nn-nut { display: flex; align-items: center; gap: 6px; min-height: 40px; padding: 6px 10px; border-radius: 20px; color: #fff; text-decoration: none; box-shadow: 0 2px 8px rgba(0,0,0,.18); white-space: nowrap; }
.nn-k .nn-goi { background: #0a7d3b; }
.nn-k .nn-zalo { background: #0068ff; }
.nn-k .nn-chat { background: #c2410c; }
.nn-k .nn-ic { font-weight: 700; width: 18px; text-align: center; }
.nn-k .nn-so { white-space: nowrap; font-weight: 600; }
.nn-k .nn-gon { border: 1px solid #c8ced6; background: #fff; color: #334; border-radius: 14px; padding: 2px 10px; font-size: 13px; cursor: pointer; min-height: 28px; }
.nn-k .nn-nut:focus-visible, .nn-k .nn-gon:focus-visible { outline: 3px solid #f59e0b; outline-offset: 2px; }
/* Chừa lề phải cho nội dung trang khi cụm mở (không che cột cuối, nút thao tác) */
html.nn-k-mo body { padding-right: 0; }
@media (min-width: 900px) { html.nn-k-mo main, html.nn-k-mo .wrap, html.nn-k-mo #app { margin-right: 200px; } }
@media (max-width: 899px) {
  .nn-k { top: auto; bottom: 8px; right: 8px; left: auto; transform: none; flex-direction: row-reverse; align-items: center; }
  .nn-k .nn-ds { flex-direction: row; align-items: center; }
  .nn-k .nn-nut { min-height: 44px; padding: 6px 12px; }
  .nn-k .nn-zalo .nn-chu, .nn-k .nn-chat .nn-chu, .nn-k .nn-goi .nn-chu { display: none; }
  .nn-k .nn-zalo, .nn-k .nn-chat { width: 44px; justify-content: center; padding: 6px 0; }
  html.nn-k-mo body { padding-bottom: 72px; }
}
@media print { .nn-k { display: none !important; } }
