.journey-panel { color: #193c32; background: #fafbf4; border: 1px solid #a5b49c; margin-block: 1rem; padding: clamp(1rem, 3vw, 1.65rem); overflow-wrap: anywhere; }
.journey-panel * { box-sizing: border-box; }
.journey-panel h3, .journey-panel h4 { margin: 0; line-height: 1.25; }
.journey-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .5rem 1rem; margin-bottom: .85rem; }
.journey-head h3 { font-size: clamp(1.3rem, 3vw, 1.8rem); }
.journey-panel label, .journey-panel .journey-location { display: grid; min-width: 0; gap: .3rem; align-content: start; }
.journey-panel select, .journey-panel input:not([type=checkbox]), .journey-panel button { color: inherit; font: inherit; max-width: 100%; min-height: 44px; border: 1px solid #829781; padding: .42rem .65rem; background: white; border-radius: .18rem; }
.journey-panel input:not([type=checkbox]) { width: 100%; }
.journey-panel [type=checkbox] { width: 1.1rem; height: 1.1rem; accent-color: #264c3d; }
.journey-panel button, .journey-panel summary { cursor: pointer; }
.journey-panel button:hover { background: #e5ecdd; }
.journey-panel :is(a, button, select, input, summary):focus-visible { outline: 3px solid #487a51; outline-offset: 2px; }
.journey-panel .journey-tabs, .journey-actions { display: flex; flex-wrap: wrap; gap: .45rem; }
.journey-panel [aria-pressed=true], .journey-panel [type=submit] { color: white; background: #284c3e; border-color: #284c3e; }
.journey-panel [aria-pressed=true]:hover, .journey-panel [type=submit]:hover { background: #17392b; }
.journey-end { border-block: 1px solid #c9d2c3; padding: .65rem 0; margin: .75rem 0; }
.journey-end strong { margin-inline-end: .35rem; }
.journey-location { justify-items: start; }
.journey-panel summary { padding-block: .55rem; min-height: 44px; }
.journey-panel .journey-manual { width: min(100%, 20rem); }
.journey-when { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%, 12rem),1fr)); gap: .55rem; margin-block: .7rem; }
.journey-when .journey-by { display: flex; align-items: center; align-self: end; min-height: 44px; }
.journey-consent { display: block; margin-block: .5rem; }
.journey-option { padding: .9rem; background: white; border: 1px solid #c8d3c2; margin-top: .55rem; }
.journey-option p { margin: .55rem 0; }
.journey-tags, .journey-maps { display: flex; flex-wrap: wrap; gap: .3rem .6rem; align-items: center; }
.journey-tags span { padding: .2rem .48rem; margin-top: .45rem; background: #e6eedd; font-size: .9em; }
.journey-maps { border-top: 1px solid #c8d3c2; margin-top: .85rem; padding-top: .25rem; }
.journey-maps a { display: inline-flex; align-items: center; min-height: 44px; color: inherit; text-decoration: underline; }
.journey-legs { margin: 0; padding-inline-start: 1.7rem; }
.journey-legs li { padding: .3rem .5rem; border-inline-start: 3px solid var(--journey-line,#becab7); margin-bottom: .5rem; }
.journey-stops { padding-inline-start: 1.3rem; }
.journey-stops small { display: block; }
.journey-panel [data-journey-status]:empty { margin: 0; }
@media(max-width: 500px) { .journey-actions button { width: 100%; } }
.journey-legs small { display: block; }

.journey-nearby { margin: .75rem 0; padding-block: .8rem; border-block: 1px solid #bdc8b6; }
.journey-near-actions { display: flex; align-items: end; flex-wrap: wrap; gap: .5rem .75rem; margin: .6rem 0; }
.journey-near-actions label { max-width: 100%; }
.journey-panel .journey-near-actions button { font-weight: 600; background: #e3ecd9; }
.journey-stops { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%,15rem),1fr)); list-style: none; padding: 0; gap: .6rem; margin-top: .6rem; }
.journey-stops li { min-width: 0; padding: .65rem .8rem; border: 1px solid #bdc8b6; background: #fff; }
.journey-stops strong, .journey-stops small, .journey-stops [lang=ko] { display: block; }
.journey-lines { display: flex; flex-wrap: wrap; gap: .3rem; align-items: center; margin-block: .25rem; }
.journey-lines span { padding: .12rem .4rem; background: #e8efdf; font-weight: 600; }
.journey-walk-link { display: inline-flex; align-items: center; min-height: 44px; }
.journey-panel .journey-trailhead { margin-top: .85rem; }
.journey-panel .journey-trailhead select { width: min(100%, 28rem); }
.journey-panel .journey-hub { margin-top: .6rem; }
.journey-panel .journey-hub select { width: min(100%, 22rem); }
