/* ========================================
   WIZARD — Equipment Guide
   ======================================== */
.wizard { padding:40px 0 80px; background:var(--dark); min-height:80vh; }
.wizard__container { max-width:900px; margin:0 auto; padding:0 24px; }

/* Progress */
.wizard__progress { margin-bottom:40px; }
.wizard__progress-bar { width:100%; height:4px; background:rgba(255,255,255,0.08); border-radius:2px; overflow:hidden; margin-bottom:16px; }
.wizard__progress-fill { height:100%; background:var(--primary); border-radius:2px; transition:width 0.5s ease; }
.wizard__steps { display:flex; justify-content:space-between; }
.wizard__step { display:flex; flex-direction:column; align-items:center; gap:6px; opacity:0.3; transition:opacity 0.3s; }
.wizard__step.active { opacity:1; }
.wizard__step-num { width:32px; height:32px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1); color:#888; font-family:var(--font-display); font-size:0.8rem; }
.wizard__step.active .wizard__step-num { background:var(--primary); border-color:var(--primary); color:var(--dark); }
.wizard__step-label { font-size:0.7rem; color:#888; letter-spacing:0.5px; }
.wizard__step.active .wizard__step-label { color:#fff; }

/* Panels */
.wizard__panel { display:none; }
.wizard__panel.active { display:block; animation:wFadeIn 0.4s ease; }
@keyframes wFadeIn { from{opacity:0;transform:translateY(10px);} to{opacity:1;transform:none;} }
.wizard__title { font-family:var(--font-display); font-size:clamp(1.5rem,3vw,2rem); color:#fff; letter-spacing:1px; margin-bottom:8px; text-align:center; }
.wizard__subtitle { color:#888; font-size:0.95rem; text-align:center; margin-bottom:32px; }

/* Step 1: Options row */
.wizard__options--row { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.wizard-option { cursor:pointer; }
.wizard-option input { display:none; }
.wizard-option__card { display:flex; flex-direction:column; align-items:center; gap:8px; padding:20px 16px; min-width:100px; width:100%; background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.08); border-radius:12px; color:#888; transition:all 0.25s; text-align:center; }
.wizard-option__card:hover { border-color:rgba(255,255,255,0.2); color:#fff; }
.wizard-option input:checked + .wizard-option__card { border-color:var(--primary); color:var(--primary); background:rgba(255,215,0,0.06); }
.wizard-option__label { font-family:var(--font-heading); font-size:0.75rem; letter-spacing:0.5px; line-height:1.3; }
.wizard-option__icon-img { width:40px; height:40px; object-fit:contain; }

/* Step 2: People */
.wizard__people { max-width:500px; margin:0 auto; text-align:center; }
.wizard__people-display { margin-bottom:24px; }
.wizard__people-value { font-family:var(--font-display); font-size:4rem; color:var(--primary); }
.wizard__people-unit { font-size:1rem; color:#888; margin-left:8px; }
.wizard__range { width:100%; -webkit-appearance:none; height:6px; background:rgba(255,255,255,0.08); border-radius:3px; outline:none; cursor:pointer; }
.wizard__range::-webkit-slider-thumb { -webkit-appearance:none; width:24px; height:24px; border-radius:50%; background:var(--primary); cursor:pointer; border:3px solid var(--dark); }
.wizard__range-labels { display:flex; justify-content:space-between; font-size:0.75rem; color:#666; margin-top:4px; }
.wizard__quick-btns { display:flex; gap:8px; justify-content:center; margin-top:20px; }
.wizard__quick-btns button { padding:8px 18px; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.1); border-radius:20px; color:#999; font-family:var(--font-display); font-size:0.8rem; cursor:pointer; transition:all 0.2s; }
.wizard__quick-btns button:hover { border-color:rgba(255,255,255,0.3); color:#fff; }
.wizard__quick-btns button.active { background:var(--primary); border-color:var(--primary); color:var(--dark); }

/* Step 3: Equipment */
.wizard__equipment { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.wizard-equip { cursor:pointer; }
.wizard-equip input { display:none; }
.wizard-equip__card { position:relative; background:var(--dark-2,#111); border:1px solid rgba(255,255,255,0.06); border-radius:10px; overflow:hidden; transition:all 0.25s; }
.wizard-equip__card:hover { border-color:rgba(255,255,255,0.2); }
.wizard-equip input:checked + .wizard-equip__card { border-color:var(--primary); }
.wizard-equip__card img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.wizard-equip__name { font-family:var(--font-heading); font-size:0.85rem; color:#fff; padding:12px 14px 2px; }
.wizard-equip__price { font-size:0.75rem; color:#888; padding:0 14px 8px; display:block; }

/* Inline qty inside card — shown only when checked */
.wizard-equip__qty { display:none; align-items:center; justify-content:center; gap:0; margin:0 14px 12px; border:1px solid rgba(255,255,255,0.12); border-radius:6px; overflow:hidden; }
.wizard-equip input:checked + .wizard-equip__card .wizard-equip__qty { display:flex; }
.wizard-equip__qty button { width:30px; height:30px; background:rgba(255,255,255,0.05); border:none; color:#ccc; font-size:1rem; cursor:pointer; flex-shrink:0; }
.wizard-equip__qty button:hover { background:rgba(255,215,0,0.15); color:#fff; }
.wz-qty-input { width:42px; height:30px; text-align:center; background:transparent; border:none; border-left:1px solid rgba(255,255,255,0.08); border-right:1px solid rgba(255,255,255,0.08); color:#fff; font-family:var(--font-display); font-size:0.85rem; -moz-appearance:textfield; }
.wz-qty-input::-webkit-inner-spin-button, .wz-qty-input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.wz-qty-unit { padding:0 10px; font-size:0.7rem; color:#888; font-family:var(--font-heading); letter-spacing:0.5px; }

/* Wizard Quantity Step (legacy) */
.wizard__qty-list { max-width:600px; margin:0 auto; }
.wz-qty-item { display:flex; align-items:center; gap:16px; padding:16px 20px; background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.08); border-radius:10px; margin-bottom:10px; flex-wrap:wrap; }
.wz-qty-item__name { font-family:var(--font-heading); font-size:0.9rem; color:#fff; flex:1; min-width:120px; }
.wz-qty-item__price { font-size:0.8rem; color:#22c55e; white-space:nowrap; }
.wz-qty-item__ctrl { display:flex; align-items:center; border:1px solid rgba(255,255,255,0.12); border-radius:8px; overflow:hidden; }
.wz-qty-item__ctrl button { width:36px; height:36px; background:rgba(255,255,255,0.05); border:none; color:#ccc; font-size:1.1rem; cursor:pointer; }
.wz-qty-item__ctrl button:hover { background:rgba(255,215,0,0.15); color:#fff; }
.wz-qty-step-input { width:50px; height:36px; text-align:center; background:transparent; border:none; border-left:1px solid rgba(255,255,255,0.08); border-right:1px solid rgba(255,255,255,0.08); color:#fff; font-family:var(--font-display); font-size:1rem; -moz-appearance:textfield; }
.wz-qty-step-input::-webkit-inner-spin-button, .wz-qty-step-input::-webkit-outer-spin-button { -webkit-appearance:none; }
.wz-qty-item__unit { font-size:0.75rem; color:#888; font-family:var(--font-heading); letter-spacing:0.5px; }
.wizard-equip__check { position:absolute; top:10px; right:10px; width:28px; height:28px; background:var(--primary); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--dark); opacity:0; transform:scale(0.5); transition:all 0.2s; }
.wizard-equip input:checked + .wizard-equip__card .wizard-equip__check { opacity:1; transform:scale(1); }

/* Step 4: Date */
.wizard__date-layout { display:grid; grid-template-columns:1fr auto; gap:30px; align-items:start; }
.wizard__calendar { background:#111; border:1px solid rgba(255,255,255,0.06); border-radius:12px; padding:20px; }
.wizard__cal-nav { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.wizard__cal-nav button { background:none; border:none; color:#888; font-size:1.2rem; cursor:pointer; padding:4px 10px; }
.wizard__cal-nav button:hover { color:var(--primary); }
.wizard__cal-nav span { font-family:var(--font-display); font-size:0.9rem; color:#fff; letter-spacing:1px; }
.wizard__cal-weekdays { display:grid; grid-template-columns:repeat(7,1fr); gap:2px; margin-bottom:4px; }
.wizard__cal-weekdays span { text-align:center; font-size:0.7rem; color:#666; padding:4px; }
.wizard__cal-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:3px; }
.wizard__cal-day { aspect-ratio:1; display:flex; align-items:center; justify-content:center; font-size:0.85rem; color:#ccc; background:rgba(255,255,255,0.03); border:none; border-radius:6px; cursor:pointer; transition:all 0.15s; }
.wizard__cal-day:hover:not(.wizard__cal-day--disabled) { background:rgba(255,215,0,0.1); color:#fff; }
.wizard__cal-day--empty { background:transparent; cursor:default; }
.wizard__cal-day--disabled { color:#333; cursor:not-allowed; }
.wizard__cal-day--selected { background:var(--primary) !important; color:var(--dark) !important; font-weight:700; }
.wizard__duration { background:#111; border:1px solid rgba(255,255,255,0.06); border-radius:12px; padding:20px; }
.wizard__duration h4 { font-family:var(--font-display); font-size:0.8rem; color:#888; letter-spacing:1.5px; margin-bottom:14px; }
.wizard__dur-btns { display:flex; flex-direction:column; gap:6px; }
.wizard__dur-btns button { padding:10px 16px; background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.08); border-radius:6px; color:#999; font-size:0.85rem; cursor:pointer; text-align:left; transition:all 0.2s; }
.wizard__dur-btns button:hover { border-color:rgba(255,255,255,0.2); color:#fff; }
.wizard__dur-btns button.active { background:var(--primary); border-color:var(--primary); color:var(--dark); }

/* Step 5: Summary */
.wizard__summary-layout { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.wizard__summary-card { background:#111; border:1px solid rgba(255,255,255,0.06); border-radius:12px; padding:24px; }
.wizard__sum-row { display:flex; justify-content:space-between; padding:10px 0; font-size:0.9rem; color:#999; border-bottom:1px solid rgba(255,255,255,0.05); }
.wizard__sum-row span:last-child { color:#fff; }
.wizard__sum-total { border-top:1px solid rgba(255,255,255,0.1); border-bottom:none; margin-top:8px; padding-top:14px; }
.wizard__sum-total span { font-family:var(--font-display); font-size:1.1rem; color:var(--primary) !important; }
.wizard__form-wrap { background:#111; border:1px solid rgba(255,255,255,0.06); border-radius:12px; padding:24px; }
.wizard__form-wrap h4 { font-family:var(--font-display); font-size:0.8rem; color:var(--primary); letter-spacing:1.5px; margin-bottom:16px; }
.wizard__form { display:flex; flex-direction:column; gap:10px; }
.wizard__form-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.wizard__form input, .wizard__form textarea { width:100%; padding:12px 14px; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.1); border-radius:8px; color:#fff; font-family:var(--font-body); font-size:0.9rem; outline:none; }
.wizard__form input:focus, .wizard__form textarea:focus { border-color:var(--primary); }
.wizard__form input::placeholder, .wizard__form textarea::placeholder { color:#666; }
.wizard__form-section { font-family:var(--font-display); font-size:0.7rem; color:var(--primary); letter-spacing:1.5px; margin:6px 0 2px; }
.wizard__submit { display:flex; align-items:center; justify-content:center; gap:10px; padding:16px; background:var(--primary); color:var(--dark); border:none; border-radius:8px; font-family:var(--font-display); font-size:0.9rem; letter-spacing:2px; cursor:pointer; transition:background 0.2s; }
.wizard__submit:hover { background:#fff; }

/* Success */
.wizard__success { text-align:center; padding:60px 20px; }
.wizard__success h2 { font-family:var(--font-display); color:#22c55e; letter-spacing:2px; margin:20px 0 10px; font-size:2rem; }
.wizard__success p { color:#888; line-height:1.6; }
.wizard__back-home { display:inline-block; margin-top:20px; color:var(--primary); font-family:var(--font-display); font-size:0.85rem; letter-spacing:1px; }

/* Navigation */
.wizard__nav { display:flex; justify-content:space-between; margin-top:40px; }
.wizard__nav-prev, .wizard__nav-next { display:flex; align-items:center; gap:8px; padding:14px 28px; font-family:var(--font-display); font-size:0.8rem; letter-spacing:1.5px; border-radius:8px; cursor:pointer; transition:all 0.2s; }
.wizard__nav-prev { background:transparent; border:1px solid rgba(255,255,255,0.1); color:#888; }
.wizard__nav-prev:hover { border-color:rgba(255,255,255,0.3); color:#fff; }
.wizard__nav-prev:disabled { opacity:0.3; cursor:not-allowed; }
.wizard__nav-next { background:var(--primary); border:none; color:var(--dark); }
.wizard__nav-next:hover { background:#fff; }

/* Responsive */
@media (max-width:768px) {
    .wizard__options--row { flex-direction:column; }
    .wizard__equipment { grid-template-columns:1fr 1fr; }
    .wizard__date-layout { grid-template-columns:1fr; }
    .wizard__summary-layout { grid-template-columns:1fr; }
    .wizard__form-row { grid-template-columns:1fr; }
    .wizard__steps { gap:4px; }
    .wizard__step-label { display:none; }
}
