
.zav-taxi-wrap{
  box-sizing:border-box;
  max-width:100%;
}
.zav-taxi-heading{
  margin:0 0 14px 0;
}
.zav-taxi-form *{
  box-sizing:border-box;
}

/* Steps */
.zav-taxi-steps{
  display:flex;
  gap:10px;
  align-items:center;
  margin:0 0 14px 0;
  flex-wrap:wrap;
}
.zav-step{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:10px;
  background:#fff;
  opacity:0.75;
}
.zav-step.is-active{
  opacity:1;
  border-color: #ff7d01;
}
.zav-step-pill{
  width:28px;height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid #ff7d01;
  font-weight:700;
  font-size:13px;
}
.zav-step-title{ font-weight:700; font-size:13px; line-height:1.2; }
.zav-step-sub{ font-size:12px; opacity:0.75; }

/* Panels */
.zav-step-panel{ display:none; }
.zav-step-panel.is-active{ display:block; }

.zav-taxi-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:12px;
}
.zav-taxi-field-full{
  grid-column: 1 / -1;
}
.zav-taxi-field label{
  display:block;
  font-size:13px;
  margin:0 0 6px 0;
  opacity:0.95;
}
.zav-taxi-field input,
.zav-taxi-field select,
.zav-taxi-field textarea{
  width:100%;
  border:1px solid #ff7d01;
  border-radius:4px;
  padding:12px 12px;
  font-size:14px;
  outline:none;
}
.zav-taxi-field textarea{ resize:vertical; }

.zav-taxi-actions,
.zav-taxi-nav{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.zav-taxi-actions{ margin-top:14px; }
.zav-taxi-nav{ margin-top:14px; justify-content:flex-end; }

.zav-taxi-btn{
  border:none;
  cursor:pointer;
  border-radius:4px;
  padding:12px 16px;
  font-size:14px;
  font-weight:600;
  background:#ff7d01;
  color:#fff;
}
.zav-taxi-btn:hover{ background:#ff7d01; color:#fff; }
.zav-taxi-btn:active{ transform: scale(0.99); }

.zav-taxi-btn-wa{ background:#ff7d01; }
.zav-taxi-btn-wa:hover{ background:#ff7d01; }

.zav-quote-box{
  border:1px solid rgba(0,0,0,0.08);
  border-radius:10px;
  padding:14px;
  background:#fff;
}
.zav-quote-title{ font-weight:800; font-size:14px; margin-bottom:6px; }
.zav-quote-sub{ font-size:13px; opacity:0.75; margin-bottom:10px; }
.zav-quote-summary{
  font-size:14px;
  line-height:1.6;
  padding:10px 12px;
  border-radius:8px;
  border:1px solid rgba(0,0,0,0.08);
  background:#fafafa;
}
.zav-quote-note{
  margin-top:10px;
  font-size:13px;
  opacity:0.85;
}

.zav-taxi-msg{
  margin-top:12px;
  padding:12px;
  border-radius:12px;
  font-size:14px;
}
.zav-taxi-msg.success{
  background:#ecfdf5;
  border:1px solid #a7f3d0;
  color:#065f46;
}
.zav-taxi-msg.error{
  background:#fef2f2;
  border:1px solid #fecaca;
  color:#991b1b;
}
@media (max-width: 640px){
  .zav-taxi-grid{ grid-template-columns: 1fr; }
  .zav-taxi-nav{ justify-content:stretch; }
  .zav-taxi-btn{ width:100%; }
}

.zav-quote-price{margin-top:10px;padding:12px;border:1px solid rgba(0,0,0,0.08);border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:10px;}
.zav-quote-price-label{font-weight:700;font-size:13px;opacity:0.8;}
.zav-quote-price-value{font-weight:900;font-size:18px;}
