.xgv-mobile-contact { display: none; }
@media (max-width: 767px) {
  :root { --xgv-contact-space: calc(74px + env(safe-area-inset-bottom, 0px)); }
  body #wrapper { padding-bottom: var(--xgv-contact-space); }
  .xgv-mobile-contact {
    position: fixed; inset: auto 0 0; z-index: 9998;
    display: grid; grid-template-columns: repeat(4,minmax(0,1fr));
    height: var(--xgv-contact-space); padding: 6px 10px calc(6px + env(safe-area-inset-bottom, 0px));
    gap: 6px; border-top: 1px solid #d6e4ec;
    background: #fff; box-shadow: 0 -3px 16px #1d425418;
  }
  .xgv-mobile-contact a {
    display: flex; flex-direction: column; justify-content: center; align-items: center;
    gap: 4px; min-height: 56px; min-width: 0; margin: 0; padding: 5px 3px;
    border: 0; border-radius: 9px; color: #205f85; background: #edf5f9;
    font: 600 12px/1.4 'Be Vietnam Pro',sans-serif; text-decoration: none; text-align: center;
  }
  .xgv-mobile-contact svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  .xgv-mobile-contact .xgv-mobile-contact-zalo { color: #0068d9; background: #edf4ff; }
  .xgv-mobile-contact .xgv-mobile-contact-quote { color: #fff; background: #dc650b; }
  .xgv-mobile-contact a:active { transform: translateY(1px); }
  .xgv-mobile-contact a:focus-visible { outline: 3px solid #ed882c; outline-offset: -3px; }
  body #wpwidget .widget-layout { bottom: calc(var(--xgv-contact-space) + 14px) !important; }
  body #wpwidget .widget-container:not(.widget-container--hide) {
    bottom: var(--xgv-contact-space) !important;
    right: 10px !important;
    max-width: calc(100vw - 20px) !important;
    max-height: calc(100dvh - var(--xgv-contact-space) - 20px) !important;
  }
  body #top-link { bottom: calc(var(--xgv-contact-space) + 12px); right: auto; left: 12px; }
}
