:root{
  --bar-bg: rgba(0,0,0,.06);
  --bar-fill: linear-gradient(90deg, #8a6a4d, #b59b80);
}

.hero-compact{padding:2.2rem 0 1.6rem;}

.wizard{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:1rem;
}

.progress{
  width:100%; height:12px; border-radius:999px;
  background:var(--bar-bg);
  overflow:hidden;
}
.progress-bar{
  height:100%;
  background:var(--bar-fill);
  width:0;
  transition:width .2s ease;
}

.wizard-steps{
  display:grid; gap:1rem;
}

.step{
  display:none;
}
.step.active{
  display:grid;
  gap:.75rem;
  grid-template-columns:1.1fr .9fr;
}
@media (max-width:820px){
  .step.active{grid-template-columns:1fr;}
}

.step h3{margin:0;}
.step p{margin:0;}

.upload-box{
  border:1px dashed rgba(0,0,0,.2);
  border-radius:12px;
  padding:1rem;
  background:rgba(255,255,255,.7);
}
.upload-box input[type="file"]{
  width:100%;
  margin:.5rem 0 0;
}
.upload-actions{
  display:flex; gap:.75rem; flex-wrap:wrap; margin-top:.5rem;
}

.preview{
  background:#fff; border-radius:12px; box-shadow:var(--shadow);
  overflow:hidden; border:1px solid rgba(0,0,0,.04);
  min-height:220px; display:flex; align-items:center; justify-content:center;
}
.preview img{
  max-width:100%; height:auto; display:block;
}
.preview.empty{
  color:var(--muted); font-style:italic;
}

.wizard-actions{
  display:flex; justify-content:space-between; align-items:center; gap:1rem;
}
.wizard-actions .btn{min-width:140px; text-align:center;}

.select-row{
  display:flex; flex-wrap:wrap; gap:1rem; align-items:center;
}
.select-row select{
  padding:.65rem .75rem; border-radius:10px; border:1px solid #dcd2c4;
  font-size:1rem; font-family:inherit; background:#fff;
}

.result-card{margin-top:1rem;}
.result-row{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:1rem; align-items:center;
}
.result-stage{font-size:1.5rem; font-weight:800; display:flex; gap:.5rem; align-items:center;}
.badge{
  display:inline-block; padding:.2rem .6rem; border-radius:999px;
  background:var(--pink); color:var(--ink); font-weight:700; box-shadow:0 2px 0 rgba(0,0,0,.06);
}
.result-issues ul{margin:.35rem 0 0; padding-left:1.1rem;}
.tip{
  margin-top:.5rem; padding:.75rem 1rem; border-radius:12px;
  background:rgba(199,214,225,.35); border:1px solid rgba(0,0,0,.05);
}

.status{
  display:inline-flex; align-items:center; gap:.35rem;
  padding:.35rem .6rem; border-radius:10px; background:rgba(0,0,0,.04);
}

@media (max-width:640px){
  .wizard-actions{flex-direction:column;}
  .wizard-actions .btn{width:100%;}
}
