/* assets/trip-builder.css */
.lanselle-tb { font-family: Montserrat, system-ui, -apple-system, Segoe UI, Roboto, sans-serif; }
.lanselle-tb__card{
  max-width: 760px; margin: 24px auto; padding: 22px;
  border: 1px solid rgba(0,0,0,.08); border-radius: 18px;
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
  background: #fff;
}
.lanselle-tb__title{ font-size: 22px; font-weight: 600; margin-bottom: 6px; color:#1f2b2f; }
.lanselle-tb__intro{ color: rgba(0,0,0,.72); margin-bottom: 6px; }
.lanselle-tb__disclaimer{ color: rgba(0,0,0,.55); font-size: 13px; margin-bottom: 12px; }
.lanselle-tb__progress{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin: 10px 0 18px; }
.lanselle-tb__progressbar{ flex:1; height: 8px; border-radius: 999px; background: rgba(0,0,0,.06); overflow:hidden; }
.lanselle-tb__progressbar span{ display:block; height:100%; width:0%; background:#3A5861; border-radius:999px; transition: width .25s ease; }
.lanselle-tb__stepcount{ font-size: 13px; color: rgba(0,0,0,.55); white-space:nowrap; }
.lanselle-tb__step{ display:none; }
.lanselle-tb__step.is-active{ display:block; animation: fade .18s ease; }
@keyframes fade { from { opacity:.5; transform:translateY(3px);} to {opacity:1; transform:translateY(0);} }

.lanselle-tb__q{ font-size: 18px; font-weight: 600; margin-bottom: 12px; color:#1f2b2f; }
.lanselle-tb__opt{ display:flex; gap:10px; align-items:flex-start; padding: 12px 12px; border:1px solid rgba(0,0,0,.10);
  border-radius: 14px; margin-bottom: 10px; cursor:pointer; }
.lanselle-tb__opt:hover{ border-color: rgba(58,88,97,.55); }
.lanselle-tb__opt input{ margin-top: 3px; }
.lanselle-tb__opt span{ color: rgba(0,0,0,.78); }
.lanselle-tb__input{
  width:100%; padding: 12px 12px; border:1px solid rgba(0,0,0,.12);
  border-radius: 14px; font-size: 16px;
}
.lanselle-tb__nav{ display:flex; gap:10px; justify-content:space-between; margin-top: 14px; }
.lanselle-tb__btn{
  border:1px solid #3A5861; background:#3A5861; color:#fff;
  padding: 10px 14px; border-radius: 14px; cursor:pointer; font-weight:600;
}
.lanselle-tb__btn--ghost{ background:#fff; color:#3A5861; }
.lanselle-tb__btn[disabled]{ opacity:.55; cursor:not-allowed; }
.lanselle-tb__resultTitle{ font-size: 18px; font-weight: 700; margin: 8px 0 10px; }
.lanselle-tb__portrait{
  white-space:pre-line; padding: 14px; border:1px solid rgba(0,0,0,.08);
  border-radius: 14px; background: rgba(0,0,0,.02); color: rgba(0,0,0,.80);
}
.lanselle-tb__budget{ margin-top: 12px; padding: 14px; border-radius: 14px; border:1px solid rgba(0,0,0,.08); }
.lanselle-tb__actions{ display:flex; gap:10px; margin-top: 12px; flex-wrap:wrap; }
.lanselle-tb__small{ margin-top: 10px; color: rgba(0,0,0,.55); font-size: 13px; }
.lanselle-tb__error{ color:#b00020; margin-top:10px; font-size:14px; }
