/* registration.css */

.wizard-steps {display:flex;gap:.5rem;flex-wrap:wrap}
.wizard-steps .step {flex:1 1 auto;min-width:180px;border-radius:999px;padding:.5rem 1rem;border:1px solid rgba(255,255,255,.35);color:#fff;background:rgba(108,46,185,.25)}
.wizard-steps .step.active {background:#6C2EB9;border-color:#6C2EB9;color:#fff;font-weight:700}
.wizard-steps .step.done {background:rgba(108,46,185,.6);border-color:rgba(108,46,185,.6)}
.form-glass {background:rgba(255,255,255,.94);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.3);border-radius:16px}
.wizard-nav {display:flex;justify-content:space-between;gap:1rem}
.rate-card { border-radius: 14px; box-shadow: 0 8px 24px rgba(0,0,0,.06); }
.rate-icon { font-size: 1.75rem; }
.status-line i { width: 18px; text-align: center; }
.fixed-page-bg{position:fixed;inset:0;z-index:-1;background:url('../img/venue-bg.jpg') center/cover no-repeat}
.fixed-page-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.35)),rgba(108,46,185,.20)}
.mini-help{font-size:.9rem;opacity:.85}
.bank-box{background:#fff8e1;border:1px solid #e5c76b;border-radius:12px;padding:1rem}
.disabled .btn, .btn:disabled {pointer-events:none;opacity:.65}
.review-line{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px dashed rgba(0,0,0,.08);padding:.25rem 0}

/* Top inline bar */
.topbar {position:sticky; top:0; z-index:1030; padding:.75rem 0; background:rgba(16,16,16,.35); backdrop-filter: blur(4px);}
.cart-pill { position: relative; }
.cart-total { position:absolute; top:-8px; right:-10px; background:#fff; color:#6C2EB9; border-radius:999px; font-weight:700; font-size:.8rem; padding:2px 7px; border:1px solid rgba(0,0,0,.08); }
.guest-card{border:1px dashed rgba(0,0,0,.15); border-radius:12px; padding:12px;}

/* Required marker */
label.required::after {
  content: " *";
  color: #d63384; /* bootstrap pink-ish */
  font-weight: 700;
}

/* Invalid highlight (uses Bootstrap .is-invalid) */
.is-invalid, .is-invalid:focus {
  border-color: #dc3545 !important;
  box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .15) !important;
}

/* Ensure Next button looks solid */
.btn-solid {
  background-color: #6C2EB9;
  border-color: #6C2EB9;
  color: #fff;
}
.btn-solid:hover {
  filter: brightness(1.05);
}

/* Align nav: Back left, Next right (handled by wizard-nav flex) */
