.container-narrow{ max-width: 980px; }

.badge-soft{
  background: rgba(37,99,235,.10);
  border: 1px solid rgba(37,99,235,.20);
  color:#1d4ed8;
  border-radius: 999px;
  font-weight: 800;
}

.card-soft{
  border: 1px solid rgba(17,24,39,.10);
  border-radius: 18px;
  background:#fff;
}

.shadow-soft{ box-shadow: 0 14px 44px rgba(15,23,42,.08); }

.step-title{ display:flex; align-items:center; gap:.6rem; }
.step-badge{
  width: 28px; height: 28px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius: 999px;
  background: rgba(37,99,235,.10);
  border: 1px solid rgba(37,99,235,.20);
  color:#1d4ed8; font-weight: 900;
}

.suggest-box{
  display:none;
  border: 1px solid rgba(17,24,39,.10);
  border-radius: 14px;
  overflow:hidden;
  box-shadow: 0 18px 44px rgba(15,23,42,.14);
}
.suggest-box.show{ display:block; }
.suggest-item{
  padding:.75rem .9rem;
  cursor:pointer;
  background:#fff;
  border-bottom: 1px solid rgba(17,24,39,.06);
}
.suggest-item:last-child{ border-bottom:none; }
.suggest-item:hover{ background:#f3f4f6; }

.choice-chip{
  border: 1px solid rgba(17,24,39,.12);
  background:#fff;
  border-radius: 999px;
  padding: .55rem .85rem;
  font-weight: 700;
  cursor:pointer;
  transition: transform .08s ease, border-color .12s ease, background .12s ease;
}
.choice-chip:hover{ border-color: rgba(37,99,235,.35); }
.choice-chip.active{
  border-color: rgba(37,99,235,.70);
  background: rgba(37,99,235,.10);
  transform: scale(1.02);
}

.result-card{
  border: 1px solid rgba(17,24,39,.10);
  border-radius: 16px;
  padding: 12px;
  background:#fff;
  margin-bottom: 10px;
}
.result-card .price{
  font-weight: 900;
  font-size: 1.1rem;
}
.result-card .btn{
  border-radius: 12px;
}

.swipe-wrap{ margin-top: 6px; }
.swipe-wrap.disabled{ opacity:.55; pointer-events:none; }

.swipe-track{
  position: relative;
  height: 54px;
  border-radius: 999px;
  border: 1px solid rgba(17,24,39,.12);
  background: #fff;
  overflow: hidden;
  user-select: none;
}
.swipe-fill{
  position:absolute;
  left:0; top:0; bottom:0;
  width: 0%;
  background: rgba(34,197,94,.16);
}
.swipe-text{
  position:absolute;
  inset: 0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 800;
  color:#111827;
  padding: 0 18px;
  text-align:center;
  z-index: 2;
}
.swipe-handle{
  position:absolute;
  top: 4px;
  left: 4px;
  width: 46px;
  height: 46px;
  border-radius: 999px;
  background: #22c55e;
  color:#0b2a16;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 900;
  z-index: 3;
  box-shadow: 0 14px 26px rgba(34,197,94,.25);
  cursor: grab;
}
.swipe-handle:active{ cursor: grabbing; }
