.journey-planner{margin-top:34px;padding:30px;border:1px solid var(--line);background:var(--white)}
.journey-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:22px}
.journey-heading h3{font-size:32px;margin:0;letter-spacing:-.035em}
.journey-heading p{font-size:13px;color:var(--muted);max-width:440px;margin:0}
.journey-modes{border:0;padding:0;margin:0 0 24px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.journey-mode{position:relative;display:flex;justify-content:center;align-items:center;gap:9px;padding:12px 8px;min-height:49px;border:1px solid var(--line);font-size:14px;font-weight:700;cursor:pointer;background:var(--paper)}
.journey-mode input{position:absolute;opacity:0;width:1px;height:1px}
.journey-mode svg{width:22px;height:22px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.journey-mode:has(input:checked){background:var(--ink);border-color:var(--ink);color:white}
.journey-mode:has(input:focus-visible){outline:3px solid var(--gold);outline-offset:3px}
.journey-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px}
.journey-field label,.journey-direction label{display:block;font-size:13px;font-weight:700;margin-bottom:6px}
.journey-field input,.journey-field select,.journey-direction select{width:100%;min-height:48px;padding:10px 12px;background:white;color:var(--ink);border:1px solid var(--line);border-radius:0;font-size:14px}
.journey-direction{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.journey-direction label{margin:0;white-space:nowrap}
.journey-direction select{width:auto;max-width:100%;min-height:40px;padding:6px 30px 6px 10px;font-size:13px}
.journey-presets{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:17px;font-size:12px}
.journey-presets button{border:1px solid var(--line);background:var(--paper);padding:5px 10px;font-size:12px;min-height:34px}
.journey-presets button:hover{border-color:var(--blue);background:var(--cream)}
.journey-footer{display:flex;align-items:center;gap:22px;margin-top:24px}
.journey-footer .button{gap:20px;flex-shrink:0}
.journey-footer p{margin:0;font-size:12px;color:var(--muted)}
@media(max-width:700px){.journey-planner{padding:22px 18px}.journey-heading{display:block}.journey-heading h3{font-size:29px;margin-bottom:10px}.journey-fields{grid-template-columns:1fr;gap:16px}.journey-footer{align-items:stretch;flex-direction:column;gap:12px}.journey-footer .button{justify-content:center}.journey-mode{font-size:12px;flex-direction:column;gap:5px;padding:10px 3px}.journey-modes{gap:6px}.journey-direction{align-items:flex-start;flex-direction:column;gap:5px}.journey-direction select{width:100%}}
