
:root{
  --primary:#1a6b4a;
  --accent:#e8a020;
  --soft:#f9fafb;
  --white:#ffffff;
  --radius:16px;
  --shadow:0 10px 30px rgba(0,0,0,0.06);
}

*{box-sizing:border-box;margin:0;padding:0;font-family:'Cairo',sans-serif;}
body{background:var(--soft);color:#334155;}

.hero{
  text-align:center;
  padding:70px 10% 30px;
}
.hero h1{
  font-size:32px;
  color:var(--primary);
  margin-bottom:10px;
}
.hero p{
  max-width:600px;
  margin:auto;
  font-size:15px;
}

.wrapper{
  max-width:900px;
  margin:40px auto 100px;
}

.card{
  background:var(--white);
  padding:40px;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

/* Progress */
.progress{
  display:flex;
  justify-content:space-between;
  margin-bottom:40px;
}
.step{
  text-align:center;
  flex:1;
  position:relative;
}
.step::after{
  content:'';
  position:absolute;
  top:15px;
  left:-50%;
  width:100%;
  height:3px;
  background:#ddd;
  z-index:-1;
}
.step:first-child::after{display:none;}
.circle{
  width:30px;height:30px;
  border-radius:50%;
  background:#ddd;
  margin:auto;
  line-height:30px;
  color:#fff;
}
.active .circle{
  background:var(--accent);
}

/* Steps */
.form-step{display:none;}
.form-step.active{display:block;}

.grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:15px;
}

input, select, textarea{
  width:100%;
  padding:10px;
  border-radius:8px;
  border:1px solid #ddd;
}

textarea{grid-column:span 2;height:100px;}

.buttons{
  margin-top:20px;
  display:flex;
  justify-content:space-between;
}

button{
  padding:10px 25px;
  border:none;
  border-radius:25px;
  background:var(--accent);
  color:#fff;
  cursor:pointer;
}

.preview-img{
  width:120px;
  height:120px;
  border-radius:50%;
  object-fit:cover;
  margin-top:10px;
  display:none;
}

.alert{
  padding:15px;
  margin-bottom:20px;
  border-radius:8px;
}
.success{background:#d4edda;color:#155724;}
.error{background:#f8d7da;color:#721c24;}

@media(max-width:768px){
  .grid{grid-template-columns:1fr;}
  textarea{grid-column:span 1;}
}