:root{
  --bg1:#030712; --bg2:#07101f;
  --glass: rgba(255,255,255,.06);
  --stroke: rgba(255,255,255,.10);
  --stroke2: rgba(255,255,255,.14);
  --txt:#eaf1ff;
  --muted: rgba(234,241,255,.72);
  --brand:#ff6a00;
  --brand2:#ffb07a;
  --blue:#3b82f6;
  --shadow: 0 18px 50px rgba(0,0,0,.45);
  --r: 18px;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--txt);
  background:
    radial-gradient(1000px 600px at 15% 10%, rgba(255,106,0,.18), transparent 55%),
    radial-gradient(900px 600px at 85% 20%, rgba(59,130,246,.18), transparent 60%),
    linear-gradient(180deg, var(--bg2), var(--bg1));
}
a{color:var(--brand2); text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1200px;margin:26px auto;padding:0 14px}
.wizard{
  border:1px solid var(--stroke);
  border-radius:24px;
  overflow:hidden;
  box-shadow: var(--shadow);
  background: rgba(12,18,34,.58);
  backdrop-filter: blur(16px);
}
.topbar{
  padding:16px 16px 12px;
  border-bottom:1px solid var(--stroke);
  display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.brand{font-weight:900;letter-spacing:.3px;display:flex;align-items:center;gap:10px}
.brandDot{
  width:12px;height:12px;border-radius:999px;
  background: linear-gradient(135deg, var(--brand), var(--brand2));
  box-shadow:0 0 22px rgba(255,106,0,.45);
}
.stepper{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.stepDot{display:flex;align-items:center;gap:10px;cursor:pointer;opacity:.66;transition:.2s}
.stepDot.active{opacity:1}
.stepDot .dot{
  width:28px;height:28px;border-radius:999px;border:1px solid var(--stroke2);
  display:grid;place-items:center;background: rgba(255,255,255,.04);
  font-size:12px;font-weight:800;
}
.stepDot.active .dot{
  border-color: rgba(255,106,0,.55);
  background: rgba(255,106,0,.10);
  box-shadow: 0 0 0 4px rgba(255,106,0,.10);
}
.stepDot .lbl{font-size:12px;color:var(--muted)}
.stepDot.active .lbl{color:var(--txt)}
.progressLine{height:6px;border-radius:999px;background: rgba(255,255,255,.08);width:260px;overflow:hidden;border:1px solid var(--stroke)}
.progressFill{
  height:100%;width:0%;
  background: linear-gradient(90deg, var(--brand), var(--blue));
  border-radius:999px;transition:.35s ease;
}
.content{display:grid;grid-template-columns:1fr 340px;gap:14px;padding:14px}
@media (max-width:980px){.content{grid-template-columns:1fr}.sidebar{order:-1}}
.card{background: var(--glass);border:1px solid var(--stroke);border-radius: var(--r);padding:14px}
.sidebar{display:flex;flex-direction:column;gap:12px}
.stickyActions{position:sticky;top:14px;display:flex;flex-direction:column;gap:10px}
.step{display:none}
.step.active{display:block;animation: stepIn .35s ease}
@keyframes stepIn{from{opacity:0;transform: translateY(10px)}to{opacity:1;transform:none}}
h2{margin:6px 0 14px;font-size:22px;letter-spacing:.2px}
.muted{color:var(--muted)} .small{font-size:12px}
.field span{display:block;color:var(--muted);font-size:13px;margin-bottom:6px}
input,select,textarea{
  width:100%;padding:12px;border-radius:14px;border:1px solid var(--stroke);
  background: rgba(3,7,18,.55); color:var(--txt); outline:none;
}
textarea{resize:vertical;min-height:120px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:720px){.grid2{grid-template-columns:1fr}}
.grid3{display:grid;grid-template-columns:1fr 180px 180px;gap:12px}
@media (max-width:900px){.grid3{grid-template-columns:1fr}}
.nav{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}
.btn{
  border:1px solid var(--stroke);border-radius:14px;padding:12px 14px;
  background: rgba(255,255,255,.03);color:var(--txt);cursor:pointer;transition:.2s;
}
.btn:hover{transform: translateY(-1px); border-color: rgba(255,255,255,.18)}
.btn.primary{
  background: linear-gradient(135deg, var(--brand), #ff8a2a);
  border-color: rgba(255,106,0,.55);
  color:#160a00;font-weight:900;
  box-shadow: 0 14px 30px rgba(255,106,0,.20);
}
.btn.ghost{background: rgba(255,255,255,.02)}
.btn.full{width:100%}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:720px){.cards{grid-template-columns:1fr}}
.venueCard{
  position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--stroke);
  background: rgba(255,255,255,.03);cursor:pointer;transition:.25s;min-height:140px;
}
.venueCard:hover{transform: translateY(-2px); border-color: rgba(59,130,246,.35)}
.venueCard.selected{border-color: rgba(255,106,0,.55);box-shadow: 0 0 0 4px rgba(255,106,0,.10)}
.venueImg{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(1.05) contrast(1.05);transform: scale(1.02)}
.venueOverlay{position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.72))}
.venueMeta{position:relative;padding:14px;display:flex;flex-direction:column;gap:8px}
.venueTitle{font-weight:900;font-size:16px}
.badges{display:flex;gap:8px;flex-wrap:wrap}
.badge{font-size:12px;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background: rgba(255,255,255,.06);color: rgba(255,255,255,.86)}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.chipPick{border:1px solid var(--stroke);background: rgba(255,255,255,.03);color:var(--txt);padding:10px 12px;border-radius:999px;cursor:pointer;transition:.18s}
.chipPick:hover{transform: translateY(-1px)}
.chipPick.on{border-color: rgba(59,130,246,.55);background: rgba(59,130,246,.12)}
.roomRow{padding:14px}
.stepperQty{display:flex;align-items:center;gap:8px}
.stepBtn{width:40px;height:40px;border-radius:14px;border:1px solid var(--stroke);background: rgba(255,255,255,.03);color:var(--txt);font-weight:900;cursor:pointer}
.stepBtn:hover{border-color: rgba(255,255,255,.18)}
.qtyBox{flex:1}
.flatpickr-calendar{background: rgba(3,7,18,.92)!important;border:1px solid var(--stroke)!important;border-radius:18px!important;box-shadow: var(--shadow)!important}
.flatpickr-day{border-radius:12px!important}
.flatpickr-day.is-booked{opacity:.35;text-decoration: line-through;position:relative}
.flatpickr-day.is-booked::after{content:"Booked";position:absolute;left:50%;bottom:2px;transform:translateX(-50%);font-size:9px;opacity:.85;white-space:nowrap}
.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange{
  background: linear-gradient(135deg, rgba(255,106,0,.92), rgba(59,130,246,.85))!important;
  border-color: transparent!important;color:#0b1220!important;font-weight:900;
}
.flatpickr-day.inRange{background: rgba(59,130,246,.20)!important;border-color: transparent!important}
#summary div{margin-bottom:8px;font-size:14px}
.hr{height:1px;background: rgba(255,255,255,.08);border:0;margin:12px 0}
#dateMsg{margin-top:10px;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,106,0,.25);background: rgba(255,106,0,.10)}
.mobileBar{
  display:none;position:fixed;left:0;right:0;bottom:0;padding:10px 12px;
  background: rgba(3,7,18,.78);backdrop-filter: blur(16px);
  border-top:1px solid rgba(255,255,255,.10);z-index:50;
}
.mobileBar .inner{max-width:1200px;margin:0 auto;display:flex;gap:10px;align-items:center;justify-content:space-between}
@media (max-width:980px){.mobileBar{display:block}.wrap{padding-bottom:84px}}

/* ===== Package pricing cards ===== */
.pkgGrid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:12px;
  margin-top:14px;
}
@media (max-width: 980px){
  .pkgGrid{ grid-template-columns: 1fr; }
}

.pkgCard{
  position:relative;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  padding:14px;
  overflow:hidden;
  transition:.25s;
}
.pkgCard:hover{
  transform: translateY(-2px);
  border-color: rgba(59,130,246,.35);
}
.pkgCard.selected{
  border-color: rgba(255,106,0,.55);
  box-shadow: 0 0 0 4px rgba(255,106,0,.10);
}

.pkgTag{
  position:absolute;
  top:12px; right:12px;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  background: linear-gradient(135deg, rgba(255,106,0,.95), rgba(59,130,246,.85));
  color:#0b1220;
}

.pkgTitle{ font-size:18px; font-weight:900; margin-top:4px; }
.pkgPrice{ font-size:22px; font-weight:900; margin-top:6px; }
.pkgSub{ margin-top:4px; }

.pkgList{
  margin-top:12px;
  padding-top:12px;
  border-top: 1px solid rgba(255,255,255,.08);
  display:flex;
  flex-direction:column;
  gap:8px;
}
.pkgItem{ font-size:13px; color: rgba(234,241,255,.88); }

/* ===== LIGHT THEME LAYOUT ===== */
body{
  background:#f6f8fb !important;
  color:#1f2937 !important;
}

.wrap{
  background:#f6f8fb !important;
}

.card{
  background:#ffffff !important;
  border:1px solid rgba(0,0,0,.08) !important;
  box-shadow:0 10px 30px rgba(0,0,0,.06);
}

.muted{ color:#6b7280 !important; }

.stepDot .dot{
  background:#e5e7eb !important;
  color:#111827 !important;
}
.stepDot.active .dot{
  background:linear-gradient(135deg,#ff6a00,#3b82f6) !important;
  color:#fff !important;
}

.field input,
.field select,
.field textarea{
  background:#ffffff !important;
  border:1px solid #d1d5db !important;
  color:#111827 !important;
}

.pkgCard{
  background:#ffffff !important;
  border:1px solid rgba(0,0,0,.08) !important;
}

.pkgCard:hover{
  border-color:#3b82f6 !important;
  transform:translateY(-2px);
}

.chipPick{
  background:#f3f4f6 !important;
  color:#111827 !important;
  border:1px solid #e5e7eb !important;
}

.chipPick.on{
  background:linear-gradient(135deg,#ff6a00,#3b82f6) !important;
  color:#fff !important;
}

.roomRow{
  background:#ffffff !important;
  border:1px solid rgba(0,0,0,.06) !important;
}

.sidebar{
  background:#ffffff !important;
}

.stickyActions{
  background:#ffffff !important;
  border-top:1px solid rgba(0,0,0,.08);
}

/* ===== ULTRA PREMIUM LIGHT UPGRADE ===== */
:root{
  --lbg:#f6f8fb;
  --lcard:#ffffff;
  --lstroke: rgba(15,23,42,.10);
  --lstroke2: rgba(15,23,42,.14);
  --ltxt:#0f172a;
  --lmuted:#64748b;
  --lshadow: 0 18px 55px rgba(15,23,42,.10);
  --lshadow2: 0 10px 24px rgba(15,23,42,.08);
}
body{
  background:
    radial-gradient(900px 520px at 10% 0%, rgba(255,106,0,.16), transparent 55%),
    radial-gradient(900px 520px at 90% 0%, rgba(59,130,246,.14), transparent 60%),
    linear-gradient(180deg, #ffffff, var(--lbg));
  color: var(--ltxt) !important;
}

/* wizard shell */
.wizard{
  border:1px solid var(--lstroke) !important;
  background: rgba(255,255,255,.72) !important;
  backdrop-filter: blur(14px);
  box-shadow: var(--lshadow);
}

/* topbar glow */
.topbar{
  background:
    linear-gradient(135deg, rgba(255,106,0,.10), rgba(59,130,246,.08)),
    rgba(255,255,255,.82) !important;
}
.brand{color: var(--ltxt)}
.brandDot{
  box-shadow: 0 0 24px rgba(255,106,0,.30);
}

/* cards */
.card{
  background: rgba(255,255,255,.88) !important;
  border:1px solid var(--lstroke) !important;
  box-shadow: var(--lshadow2);
}

/* sidebar glass */
.sidebar .card{
  background: rgba(255,255,255,.78) !important;
  backdrop-filter: blur(16px);
}

/* buttons */
.btn{
  background: rgba(255,255,255,.90) !important;
  color: var(--ltxt) !important;
  border:1px solid var(--lstroke2) !important;
}
.btn:hover{ box-shadow: 0 12px 26px rgba(15,23,42,.10); }
.btn.primary{
  color:#0b1220 !important;
  border-color: rgba(255,106,0,.35) !important;
  box-shadow: 0 16px 34px rgba(255,106,0,.18) !important;
}

/* venue cards hover glow */
.venueCard{
  background: rgba(255,255,255,.92) !important;
  border:1px solid var(--lstroke) !important;
  box-shadow: 0 10px 22px rgba(15,23,42,.08);
}
.venueCard::after{
  content:"";
  position:absolute; inset:-2px;
  background: linear-gradient(135deg, rgba(255,106,0,.22), rgba(59,130,246,.18), rgba(255,255,255,.0));
  border-radius:20px;
  opacity:0;
  transition:.25s;
  pointer-events:none;
}
.venueCard:hover::after{opacity:1}
.venueOverlay{ background: linear-gradient(180deg, rgba(255,255,255,.00), rgba(15,23,42,.55)) !important; }

/* chips */
.chipPick{
  background:#ffffff !important;
  border:1px solid var(--lstroke) !important;
  box-shadow: 0 8px 18px rgba(15,23,42,.06);
}
.chipPick.on{
  color:#fff !important;
  border-color: transparent !important;
  box-shadow: 0 16px 30px rgba(59,130,246,.16);
}

/* inputs */
input,select,textarea{
  background: rgba(255,255,255,.96) !important;
  color: var(--ltxt) !important;
  border:1px solid rgba(15,23,42,.14) !important;
}
input:focus,select:focus,textarea:focus{
  outline:none;
  border-color: rgba(59,130,246,.45) !important;
  box-shadow: 0 0 0 4px rgba(59,130,246,.14);
}

/* stepper */
.progressLine{
  background: rgba(15,23,42,.06) !important;
  border:1px solid rgba(15,23,42,.10) !important;
}
.stepDot .lbl{ color: var(--lmuted) !important; }
.stepDot.active .lbl{ color: var(--ltxt) !important; }

/* flatpickr - premium light */
.flatpickr-calendar{
  background: rgba(255,255,255,.96) !important;
  border:1px solid rgba(15,23,42,.12) !important;
  box-shadow: var(--lshadow);
}
.flatpickr-months .flatpickr-month,
.flatpickr-current-month,
.flatpickr-weekdays{
  color: var(--ltxt) !important;
}
.flatpickr-day{
  color: var(--ltxt) !important;
}
.flatpickr-day:hover{
  background: rgba(59,130,246,.10) !important;
}
.flatpickr-day.inRange{
  background: rgba(59,130,246,.14) !important;
  color: var(--ltxt) !important;
}
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected{
  color:#0b1220 !important;
}
.flatpickr-day.is-booked{
  background: rgba(239,68,68,.10) !important;
  color: rgba(15,23,42,.45) !important;
}

/* mobile bar */
.mobileBar{
  background: rgba(255,255,255,.82) !important;
  border-top:1px solid rgba(15,23,42,.12) !important;
}

/* ===== Smooth step transitions ===== */
.step{
  display:none;
  opacity:0;
  transform: translateY(8px);
  transition: opacity .22s ease, transform .22s ease;
  will-change: opacity, transform;
}
.step.active{
  display:block;
  opacity:1;
  transform: translateY(0);
}


.stepBtn{pointer-events:auto;}
