.travel-title { font-size: 21px; margin: 4px 0 18px; line-height: 1.3; }
.hotel-app-filter .travel-trip { display: flex; gap: 20px; border: 0; padding: 0; margin: 0 0 3px; }
.hotel-app-filter .travel-trip label { display: flex; flex-direction: row; align-items: center; gap: 7px; }
.hotel-app-filter .travel-trip input { width: 18px; height: 18px; padding: 0; accent-color: #35695a; }
.travel-swap { justify-self: end; width: 44px; height: 36px; margin-block: -8px; border: 1px solid #dbe6df; background: #f0f5f1; color: #35695a; border-radius: 12px; font-size: 23px; cursor: pointer; }
.travel-modify > summary { margin-bottom: 15px; }
.travel-modify[open] { margin-bottom: 25px; }
.travel-summary { margin: 16px 0; font-weight: 700; font-size: 16px; }
.travel-summary small { font-size: 12px; font-weight: 400; }
.travel-results > h2 { font-size: 18px; margin: 22px 0 12px; }
.travel-result { padding: 17px; border: 1px solid #dce6df; border-radius: 18px; margin-bottom: 14px; box-shadow: 0 5px 18px #1a423308; }
.travel-result header h3 { font-size: 17px; margin: 0; line-height: 1.3; }
.travel-result header > span, .travel-route { font-size: 12px; color: #5e7567; }
.travel-route { margin: 12px 0; }
.travel-times { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.travel-times strong { font-size: 21px; }
.travel-times strong:last-child { text-align: right; }
.travel-times small, .travel-fare small { display: block; font-size: 11px; font-weight: 400; color: #637a6b; }
.travel-seat-count { display: inline-block; background: #edf5ee; border-radius: 12px; padding: 3px 9px; font-size: 11px; margin: 12px 0; }
.travel-fare { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.travel-fare strong { font-size: 21px; }
.travel-fare > span { font-size: 13px; }
.travel-result-actions { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; border-top: 1px solid #e8ede9; padding-top: 12px; margin-top: 12px; }
.travel-result-actions > a:first-child { font-size: 12px; }
.travel-notice, .travel-empty { font-size: 12px; color: #617769; line-height: 1.6; margin: 18px 0; }
.travel-provider-detail { padding: 14px 22px 40px; }
.travel-back { font-size: 13px; }
.travel-provider-detail .shell { width: 100%; }
.travel-provider-detail .section { padding: 20px 0; }
.travel-provider-detail .transport-detail-heading, .travel-provider-detail .transport-booking-layout, .travel-provider-detail .departure-card { display: flex; flex-direction: column; align-items: stretch; }
.travel-provider-detail h1 { font-size: 26px; }
.travel-provider-detail h2 { font-size: 20px; }
.travel-provider-detail .lead { font-size: 14px; }
.travel-provider-detail .price-panel { text-align: left; }
.travel-provider-detail .booking-card { position: static; }
.hotel-app-content > .booking-card { position: static; width: 100%; margin-top: 24px; scroll-margin-top: var(--home-services-height, 165px); }
.hotel-app-content > .prose h2 { font-size: 20px; margin-top: 22px; }
.hotel-app-content > .prose p { font-size: 14px; }
