.nfc-passport-active .home-tip { display: none; }
.nfc-animating .topbar, .nfc-animating .pager { pointer-events: none; }
.visa-box.is-preview { border-style: dashed; }
.nfc-save-card {
  position: fixed;
  z-index: 56;
  inset-inline: 12px;
  bottom: calc(env(safe-area-inset-bottom, 0px) + 76px);
  max-width: 360px;
  margin-inline: auto;
  padding: 14px 16px;
  border: 1px solid #eee5e1;
  border-radius: 16px;
  background: #fff;
  color: #2b0a05;
  box-shadow: 0 8px 30px #19080330;
  font-family: 'DM Sans', sans-serif;
}
body:has(dialog[open], .mapa.is-open, .qcw-seal-overlay) .nfc-save-card { display: none; }
.nfc-save-card h2 { margin: 0 28px 5px 0; font: 700 17px/1.2 'DM Sans', sans-serif; }
.nfc-save-card p { margin: 0; color: #6f5b54; font-size: 12px; line-height: 1.45; }
.nfc-save-close { position: absolute; right: 2px; top: 2px; width: 44px; height: 44px; border: 0; border-radius: 50%; padding: 0; background: transparent; color: #6f5b54; font: 24px/1 sans-serif; cursor: pointer; }
.nfc-save-action { margin-top: 11px; width: 100%; min-height: 44px; border: 0; border-radius: 10px; padding: 10px; background: #ec3307; color: #fff; font: 700 13px/1.2 'DM Sans', sans-serif; cursor: pointer; }
.nfc-save-card button:focus-visible { outline: 2px solid #2b0a05; outline-offset: 2px; }
@media (max-height: 440px) { .nfc-save-card { bottom: 8px; right: 8px; left: auto; max-width: 280px; } }
