.street-site .train-trips-page { max-width: 58rem; }
.street-site .train-trips-page .page-heading p { max-width: 68ch; }
.street-site .train-trip-list { display: grid; gap: .85rem; margin-block: 1rem; }
.street-site .train-trips-page .train-trip { display: block; min-width: 0; margin: 0; padding: 0; }
.street-site .train-trip > summary { cursor: pointer; min-height: 44px; padding: .85rem 1rem; }
.street-site .train-trip > summary::marker { font-size: 1rem; }
.street-site .trip-title { font-weight: 800; font-size: 1.25rem; }
.street-site .trip-highlight { margin-left: .65rem; }
.street-site .trip-overview { display: block; font-size: .95rem; margin-top: .35rem; line-height: 1.5; }
.street-site .trip-body { padding: 0 1rem 1rem; border-top: 2px solid currentColor; }
.street-site .trip-body p { margin: .8rem 0; line-height: 1.55; }
.street-site .trip-catch { border-left: 3px solid currentColor; padding-left: .7rem; }
.street-site .trip-actions { flex-wrap: wrap; gap: .5rem; margin-block: 1rem; }
.street-site .trip-actions a, .street-site .trip-sources a { display: inline-block; min-height: 44px; padding-block: .65rem; overflow-wrap: anywhere; }
.street-site .trip-evidence > summary, .street-site .trip-advice > summary { cursor: pointer; min-height: 44px; padding-block: .65rem; }
.street-site .train-trips-page .trip-advice { display: block; }
.street-site .trip-review { font-weight: 600; }
.street-site .trip-activities { margin-block: 1.2rem; }
.street-site .trip-activities h2 { font-family: inherit; font-size: 1.1rem; margin-block: .8rem; }
.street-site .train-trips-page .trip-activity { display: block; min-width: 0; margin-block: .5rem; padding: 0; border: 1px solid currentColor; }
.street-site .trip-activity > summary { cursor: pointer; min-height: 44px; padding: .7rem; font-weight: 700; overflow-wrap: anywhere; }
.street-site .trip-activity-price { display: block; margin-top: .2rem; font-weight: 400; font-size: .9rem; }
.street-site .trip-activity-body { padding: 0 .7rem .5rem; }
.street-site .train-trip[hidden], .street-site .trip-budget-form[hidden], .street-site .trip-filters[hidden] { display: none; }
.street-site .trip-filters, .street-site .trip-budget-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; }
.street-site .trip-filters { padding: 1rem; border: 2px solid currentColor; margin-block: 1rem; background: var(--card, #e1e1e1); }
.street-site .trip-filters label, .street-site .trip-budget-fields label { display: grid; gap: .35rem; font-weight: 600; }
.street-site .trip-filters select, .street-site .trip-budget-fields input { width: 100%; min-width: 0; min-height: 44px; padding: .6rem; border: 2px solid currentColor; font: inherit; background: #fff; color: #171717; border-radius: 3px; }
.street-site .trip-filters button { justify-self: start; }
.street-site .trip-cost-breakdown { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .45rem 1rem; padding-block: .7rem; border-block: 1px solid currentColor; }
.street-site .trip-cost-breakdown dd { margin: 0; text-align: right; }
.street-site .trip-practical li { margin-block: .65rem; line-height: 1.55; }
.street-site .trip-budget-result { font-weight: 700; }
.street-site .trip-budget-form h3 { font-family: inherit; }
.street-site .trip-practical, .street-site .trip-budget { display: block; min-width: 0; margin-block: .7rem; padding: 0; border: 1px solid currentColor; }
.street-site .trip-practical > summary, .street-site .trip-budget > summary { cursor: pointer; min-height: 44px; padding: .7rem; font-weight: 700; overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .street-site .trip-highlight { display: block; margin: .2rem 0 0; }
  .street-site .trip-actions { display: grid; }
  .street-site .trip-filters, .street-site .trip-budget-fields { grid-template-columns: 1fr; }
  .street-site .trip-cost-breakdown { grid-template-columns: 1fr; }
  .street-site .trip-cost-breakdown dd { text-align: left; margin-bottom: .45rem; font-weight: 700; }
}
