
/* BusLink 1.4: offline-friendly card and guide sharing */
.travel-hero{background:linear-gradient(135deg,#eaf3ff,#fff);padding:54px 0 48px;border-bottom:1px solid var(--line)}
.travel-hero .wrap{max-width:1050px}.travel-hero h1{font:800 clamp(32px,4.3vw,56px)/1.13 Manrope,system-ui,sans-serif;letter-spacing:-1.7px;margin:13px 0}.travel-hero p{font-size:17px;color:#506783;max-width:730px}
.travel-layout{display:grid;grid-template-columns:minmax(245px,.75fr) minmax(0,1.25fr);gap:28px;align-items:start}
.travel-tools{background:#f8fbff;border:1px solid #dae6f5;border-radius:22px;padding:25px;position:sticky;top:18px}
.travel-tools label{display:block;font-size:14px;font-weight:800;margin:0 0 10px}.travel-tools select{width:100%;padding:14px;border:1px solid #bed1e9;background:#fff;color:#183653;border-radius:12px;font:inherit}
.travel-tools .button-row{display:grid;gap:10px;margin-top:20px}.travel-tools button{background:#165cc7;color:#fff;border:0;border-radius:12px;padding:12px 16px;font:700 14px/1.4 system-ui;min-height:44px;text-align:center}.travel-tools button:nth-child(2){background:#177e63}.travel-tools button:nth-child(3),.travel-tools button:nth-child(4){background:#fff;color:#174b91;border:1px solid #b8cbea}
.travel-info{margin-top:20px;color:#586b80;font-size:13px;line-height:1.6}.travel-info strong{color:#233e62}
.boarding-card{background:#fff;border:1px solid #cbdcf0;border-radius:22px;box-shadow:0 18px 42px #092b5b0c;padding:30px 30px 25px;min-height:390px}
.boarding-card .card-eyebrow{display:inline-block;font-size:12px;font-weight:800;color:#165cbd;background:#e9f2ff;border-radius:100px;padding:7px 12px}
.boarding-card h2{font:800 clamp(26px,3vw,34px)/1.2 Manrope,system-ui,sans-serif;letter-spacing:-1px;margin:18px 0 23px}.card-fact,.card-warning{padding:18px 20px;border-radius:13px;margin:16px 0}.card-fact{background:#f1f6fe}.card-warning{background:#fff6e7;border:1px solid #f8e3bd}.card-fact strong,.card-warning strong{display:block;margin-bottom:7px}.card-fact p,.card-warning p{margin:0;color:#334d6a;line-height:1.6}.travel-links{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.travel-links a{font-weight:800;color:#0d55b7;border-bottom:1px solid #b8ceeb;font-size:14px}.travel-stamp{color:#6b7f94;font-size:12px;margin-top:25px}.card-status{font-size:13px;color:#147758;min-height:22px;margin-top:9px}
.travel-notice{background:#f8fafc;border:1px solid #e0e8f1;border-radius:17px;padding:24px;margin-top:34px;color:#566a80}.travel-notice h2{font-size:21px;color:var(--ink);margin:0 0 9px}.travel-notice p{margin:0}
.share-strip{padding:35px 0;background:#f2f7ff;border-top:1px solid #d8e6f8}.share-strip-inner{display:flex;gap:24px;align-items:center;justify-content:space-between}.share-strip h2{font-size:23px;letter-spacing:-.5px;margin:0}.share-strip p{margin:3px 0;color:#546d88;font-size:14px}.share-strip-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.share-action,.share-card-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid #bad2f3;border-radius:11px;background:white;color:#1353a5;font:800 13px/1.4 system-ui,sans-serif;padding:12px 14px;min-height:44px;white-space:nowrap}.share-action:first-child{background:#d9f4e9;border-color:#afdfca;color:#145f49}.share-copy{cursor:pointer}.share-card-link{background:#135ccf;color:#fff;border-color:#135ccf}
@media(max-width:860px){.travel-layout{grid-template-columns:1fr}.travel-tools{position:static}.share-strip-inner{flex-direction:column;align-items:flex-start}.share-strip-actions{width:100%}.share-action,.share-card-link{flex:1 1 auto}}
@media(max-width:580px){.boarding-card{padding:20px}.travel-hero{padding:36px 0}.travel-tools{padding:18px}.share-strip-actions{flex-direction:column;align-items:stretch}.share-action,.share-card-link{width:100%}}
@media print{.topbar,.nav-bdr,.footer,.travel-hero,.travel-tools,.travel-notice,.share-strip{display:none!important}.sec{padding:0!important}.travel-layout{display:block!important}.boarding-card{border:2px solid #293f5c;box-shadow:none;max-width:720px;margin:40px auto;min-height:auto}.travel-stamp{color:#444}}
.route-share{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:14px 0 3px}.route-copy-link{background:#fff!important;color:#1555b7!important;border:1px solid #c8d9ec!important}
@media(max-width:580px){.route-share{flex-direction:column;align-items:stretch}.route-share>*{width:100%;text-align:center}}
