/* Journey shell: a quiet orientation layer from idea to departure. */
.journey-rail{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.35rem;
  width:100%;
  margin:0 0 clamp(1.25rem,3vw,2rem);
  padding:.4rem;
  border:1px solid rgba(180,207,207,.62);
  border-radius:17px;
  background:rgba(255,255,255,.78);
  box-shadow:0 8px 24px rgba(8,47,73,.05);
}
.journey-step{
  display:flex;
  align-items:center;
  gap:.55rem;
  min-width:0;
  padding:.65rem .72rem;
  border-radius:12px;
  color:#68808a;
  text-decoration:none;
}
.journey-step:hover{background:#f1faf8;color:#0f766e}
.journey-step.is-current{background:#082f49;color:#fff;box-shadow:0 5px 14px rgba(8,47,73,.14)}
.journey-number{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border-radius:50%;background:#e4f5f1;color:#0f766e;font-size:.72rem;font-weight:900}
.journey-step.is-current .journey-number{background:#8ff4df;color:#07384e}
.journey-step strong,.journey-step small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.journey-step strong{font-size:.78rem;line-height:1.1}
.journey-step small{margin-top:.12rem;font-size:.68rem;color:inherit;opacity:.72}
.journey-next{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:-.45rem 0 1.35rem;padding:.65rem .9rem;border-radius:12px;background:#eef8f6;color:#426a70;font-size:.82rem}
.journey-next strong{color:#082f49}
.journey-next a{color:#0f766e;font-weight:850;text-decoration:none;white-space:nowrap}
.page:has(#plannerForm) .planner-card{border-color:#c8e4df;background:linear-gradient(145deg,#fff,#f6fbfa);box-shadow:0 20px 50px rgba(8,47,73,.1)}
.page:has(#plannerForm) #plannerForm{max-width:1040px;margin-inline:auto}
.page:has(.trip-summary) .journey-rail{margin-bottom:1.15rem}
.page:has(.trip-summary) .trip-summary{box-shadow:0 20px 50px rgba(8,47,73,.16)}
.page:has(.trip-summary) .tabs{padding:.3rem;border:1px solid var(--line);border-radius:14px;background:#fff;width:max-content;max-width:100%}
.page:has(.trip-summary) .tab{border:0}
.page:has(.trip-summary) .tab.active{background:#0f766e}
@media(max-width:1080px){
  .journey-rail{grid-template-columns:repeat(4,minmax(145px,1fr));overflow-x:auto;scrollbar-width:none}
  .journey-rail::-webkit-scrollbar{display:none}
}
@media(max-width:680px){
  .journey-rail{display:flex;gap:.25rem;margin-inline:-1rem;width:calc(100% + 2rem);padding:.35rem 1rem;border-radius:0;border-inline:0;overflow-x:auto}
  .journey-step{flex:0 0 132px;padding:.62rem .6rem}
  .journey-step small{display:none}
  .journey-next{align-items:flex-start;display:block}
  .journey-next a{display:inline-block;margin-top:.45rem}
}
