/* WIZARD — Rodin Tømrer & Snedker booking form (paper/orange palette) */
.wizard-progress{display:flex;align-items:center;gap:.4rem;margin:0 0 1.75rem}
.wizard-progress .dot{flex:1;height:3px;background:var(--line);border-radius:999px;overflow:hidden;position:relative;transition:background .25s}
.wizard-progress .dot.done{background:var(--orange)}
.wizard-progress .dot.current{background:linear-gradient(to right,var(--orange) 50%, var(--line) 50%)}
.wizard-progress .label{font-family:var(--display);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);min-width:50px;text-align:right}
.wizard-step{display:none;animation:stepIn .35s var(--ease)}
.wizard-step.active{display:block}
@keyframes stepIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
.wizard-step h3{font-family:var(--display);font-size:1.3rem;text-transform:uppercase;margin:0 0 .3rem}
.wizard-step .sub{color:var(--ink-soft);font-size:.88rem;margin:0 0 1.4rem;text-transform:none;font-family:var(--sans)}
.wizard-options{display:grid;gap:.6rem;grid-template-columns:1fr 1fr;margin-bottom:1.25rem}
.wizard-options.three{grid-template-columns:1fr 1fr 1fr}
.wizard-options label{display:flex;align-items:flex-start;gap:.65rem;padding:.85rem 1rem;border:1px solid var(--line-2);border-radius:8px;cursor:pointer;transition:border-color .2s, background .2s;font-size:.9rem;line-height:1.3}
.wizard-options label:hover{border-color:var(--orange)}
.wizard-options input[type=radio],.wizard-options input[type=checkbox]{margin-top:.15rem;accent-color:var(--orange);flex-shrink:0}
.wizard-options label:has(input:checked){border-color:var(--orange);background:var(--orange-pale)}
.wizard-options label b{display:block;color:var(--ink);font-weight:600}
.wizard-options label .price{float:right;font-family:var(--display);font-weight:700;color:var(--orange-deep)}
.wizard-options label small{display:block;color:var(--ink-faint);font-size:.75rem;margin-top:.15rem;font-weight:400}
.wizard-nav{display:flex;gap:.5rem;justify-content:space-between;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.wizard-btn{padding:.75rem 1.3rem;border-radius:8px;font-weight:700;font-size:.85rem;cursor:pointer;transition:background .2s, color .2s;font-family:var(--sans);border:none}
.wizard-btn.back{background:transparent;color:var(--ink);border:2px solid var(--line-2)}
.wizard-btn.back:hover{background:rgba(36,27,20,.05)}
.wizard-btn.next{background:var(--orange);color:var(--white);margin-left:auto}
.wizard-btn.next:hover{background:var(--orange-deep)}
.wizard-btn:disabled{opacity:.4;cursor:default}
.wizard-recap{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:1.25rem;margin-bottom:1rem}
.wizard-recap dl{display:grid;grid-template-columns:130px 1fr;gap:.6rem 1rem;margin:0;font-size:.85rem}
.wizard-recap dt{font-family:var(--display);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--orange-deep);padding-top:.15rem}
.wizard-recap dd{margin:0;color:var(--ink)}
.wizard-success{text-align:center;padding:2rem 1rem}
.wizard-success .check{width:5rem;height:5rem;border-radius:999px;background:var(--orange);color:var(--white);display:flex;align-items:center;justify-content:center;font-size:2.5rem;margin:0 auto 1.5rem;animation:popIn .5s var(--ease)}
@keyframes popIn{from{transform:scale(0)}to{transform:scale(1)}}
.wizard-success h3{font-family:var(--display);font-size:1.7rem;text-transform:uppercase;margin:0 0 .75rem}
.wizard-success p{color:var(--ink-soft);margin:0;line-height:1.6;text-transform:none}
.wizard-success a{color:var(--orange-deep);font-weight:700}
@media (max-width:520px){
  .wizard-options,.wizard-options.three{grid-template-columns:1fr}
  .wizard-recap dl{grid-template-columns:1fr;gap:.25rem 0}
  .wizard-recap dt{padding-top:.5rem}
}
