/* Számlázási adatok ablak (online bankkártyás fizetés) — üveghatású "következő oldal" modal */
.bl-backdrop { position: fixed; inset: 0; z-index: 9000; display: flex; align-items: center; justify-content: center; padding: 16px;
  background: rgba(15, 28, 46, .38); -webkit-backdrop-filter: blur(14px) saturate(130%); backdrop-filter: blur(14px) saturate(130%);
  opacity: 0; transition: opacity .18s ease; overflow: auto; }
.bl-backdrop.bl-in { opacity: 1; }
.bl-panel { position: relative; width: 100%; max-width: 560px; margin: auto; padding: 26px 26px 22px; border-radius: 22px; color: var(--ink, #16202c);
  background: rgba(255, 255, 255, .78); border: 1px solid rgba(255, 255, 255, .85);
  -webkit-backdrop-filter: blur(22px); backdrop-filter: blur(22px);
  box-shadow: 0 30px 80px rgba(20, 40, 70, .35), inset 0 1px 0 rgba(255, 255, 255, .9);
  transform: translateY(14px) scale(.985); transition: transform .2s ease; }
.bl-backdrop.bl-in .bl-panel { transform: none; }
.bl-step { font-size: 12px; font-weight: 800; letter-spacing: 1.6px; text-transform: uppercase; color: var(--brand-dark, #2b86e0); }
.bl-title { margin: 4px 0 4px; font-size: 22px; line-height: 1.2; font-weight: 800; }
.bl-sub { margin: 0 0 16px; font-size: 14px; color: var(--muted, #5d6f84); line-height: 1.45; }
.bl-seg { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 5px; border-radius: 14px; background: rgba(40, 70, 110, .09); margin-bottom: 16px; }
.bl-seg button { border: 0; background: transparent; padding: 11px 8px; border-radius: 10px; font: inherit; font-weight: 700; font-size: 15px; color: var(--muted, #5d6f84); cursor: pointer; }
.bl-seg button.on { background: #fff; color: var(--ink, #16202c); box-shadow: 0 4px 14px rgba(30, 70, 120, .16); }
.bl-grid { display: grid; grid-template-columns: 1fr 2fr; gap: 10px; }
.bl-f { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.bl-f.full { grid-column: 1 / -1; }
.bl-f label { font-size: 12.5px; font-weight: 700; color: var(--muted, #5d6f84); }
.bl-f input, .bl-f select { width: 100%; box-sizing: border-box; padding: 11px 12px; border-radius: 11px; font: inherit; font-size: 15px; color: var(--ink, #16202c);
  background: rgba(255, 255, 255, .9); border: 1px solid var(--border, #e2e9f1); outline: none; }
.bl-f input:focus, .bl-f select:focus { border-color: var(--brand, #40aaf6); box-shadow: 0 0 0 3px rgba(64, 170, 246, .22); }
.bl-hint { font-size: 12.5px; min-height: 17px; color: var(--muted, #5d6f84); }
.bl-hint.ok { color: #1f9d55; font-weight: 700; }
.bl-hint.err { color: #c0392b; }
.bl-err { margin-top: 12px; padding: 10px 12px; border-radius: 10px; background: rgba(231, 76, 60, .12); color: #b03a2e; font-size: 13.5px; font-weight: 600; display: none; }
.bl-actions { display: flex; gap: 10px; margin-top: 18px; flex-wrap: wrap; }
.bl-actions .btn { flex: 1; min-width: 140px; justify-content: center; }
.bl-skip { display: block; width: 100%; margin-top: 10px; background: none; border: 0; font: inherit; font-size: 13.5px; color: var(--muted, #5d6f84); text-decoration: underline; cursor: pointer; padding: 6px; }
.bl-note { margin-top: 12px; font-size: 12.5px; color: var(--muted, #5d6f84); line-height: 1.45; }
@media (max-width: 520px) { .bl-panel { padding: 20px 16px 16px; border-radius: 18px; } .bl-grid { grid-template-columns: 1fr; } }
