/* Khung trang, footer, nút nổi — port từ bản mẫu, token từ DESIGN.md */
.b4t-topline{height:4px;background:linear-gradient(90deg,var(--b4t-color-primary),#56b9e9 68%,var(--b4t-color-accent) 68%)}
.b4t-section{margin:var(--b4t-section-gap) 0}
.b4t-footer{margin-top:var(--b4t-space-3xl);background:linear-gradient(160deg,var(--b4t-color-primary-strong),var(--b4t-color-ink));color:var(--b4t-color-primary-soft)}
.b4t-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1.1fr;gap:var(--b4t-space-2xl);padding:46px var(--b4t-gutter) 40px}
.b4t-footer__title{color:var(--b4t-color-on-primary);font-size:16px;font-weight:700;margin:0 0 var(--b4t-space-md);letter-spacing:.02em}
.b4t-footer__col a{color:var(--b4t-color-primary-soft);text-decoration:none}
.b4t-footer__col a:hover{color:var(--b4t-color-accent)}
.b4t-fbrand{display:inline-flex;align-items:center;margin-bottom:var(--b4t-space-md);background:#fff;padding:10px 16px;border-radius:var(--b4t-radius-md)}
.b4t-fbrand__logo{display:block;height:40px;width:auto}
.b4t-footer__contact{list-style:none;margin:0 0 var(--b4t-space-md);padding:0;display:grid;gap:10px;font-size:13.5px;line-height:1.5}
.b4t-footer__contact li{display:flex;gap:10px;align-items:flex-start}
.b4t-footer__contact svg{flex:none;margin-top:2px;color:var(--b4t-color-accent)}
.b4t-footer__dmca{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid rgba(255,255,255,.28);border-radius:var(--b4t-radius-xs);font-size:11px;letter-spacing:.06em;color:var(--b4t-color-on-primary)}
.b4t-footer__dmca b{color:var(--b4t-color-accent)}
.b4t-footer__links{list-style:none;margin:0;padding:0;display:grid;gap:11px;font-size:14px;counter-reset:fl}
.b4t-footer__links li{counter-increment:fl}
.b4t-footer__links li::before{content:counter(fl) ". ";color:var(--b4t-color-primary-soft);opacity:.7}
.b4t-footer__social{display:flex;gap:10px;margin-top:var(--b4t-space-lg)}
.b4t-footer__social a{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--b4t-radius-sm);background:rgba(255,255,255,.12);color:var(--b4t-color-on-primary)}
.b4t-footer__social a:hover{background:var(--b4t-color-accent);color:var(--b4t-color-on-accent)}
.b4t-footer__map iframe{width:100%;height:180px;border:0;border-radius:var(--b4t-radius-md);filter:saturate(.9)}
.b4t-footer__bar{border-top:1px solid rgba(255,255,255,.14);font-size:13px;color:var(--b4t-color-primary-soft)}
.b4t-footer__bar .b4t-container{padding-top:16px;padding-bottom:16px}
.b4t-float{position:fixed;z-index:60;right:18px;bottom:24px;display:flex;flex-direction:column;align-items:flex-end;gap:9px}
.b4t-float__contact,.b4t-float__top{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--b4t-touch-min);border:0;border-radius:var(--b4t-radius-lg);color:var(--b4t-color-on-primary);font:700 15px/1 var(--b4t-font-sans);text-decoration:none;box-shadow:var(--b4t-shadow-float);cursor:pointer}
.b4t-float__contact{min-width:132px;height:50px;padding:0 18px;background:var(--b4t-color-primary)}
.b4t-float__contact:hover{background:var(--b4t-color-primary-strong)}
.b4t-float__top{width:50px;height:50px;background:var(--b4t-color-ink)}
.b4t-float__top[hidden]{display:none}
.b4t-float__contact:focus-visible,.b4t-float__top:focus-visible{outline:3px solid var(--b4t-color-focus);outline-offset:3px}

.b4t-page-title{margin:var(--b4t-space-lg) 0 var(--b4t-space-md);font-size:clamp(26px,3vw,34px)}
.b4t-empty{margin:var(--b4t-space-2xl) 0;padding:var(--b4t-space-lg);background:var(--b4t-color-paper);border:1px dashed var(--b4t-color-line);border-radius:var(--b4t-radius-lg);color:var(--b4t-color-muted);text-align:center}
.b4t-group__empty{margin:0}
@media (max-width:900px){
  .b4t-footer__grid{grid-template-columns:1fr 1fr;gap:var(--b4t-space-xl)}
  .b4t-footer__brand,.b4t-footer__map{grid-column:1 / -1}
}
@media (max-width:600px){
  .b4t-footer__grid{grid-template-columns:1fr;gap:var(--b4t-space-lg);padding:32px var(--b4t-gutter)}
  .b4t-footer__map iframe{height:200px}
  .b4t-float{right:12px;bottom:16px;gap:7px}
  .b4t-float__contact{min-width:112px;height:44px;border-radius:var(--b4t-radius-md);font-size:14px}
  .b4t-float__top{width:44px;height:44px;border-radius:var(--b4t-radius-md)}
}
