.t-trip-workspace { align-items:start; }
.t-trip-workspace .t-trip-main { min-width:0; }
.t-trip-workspace #trip-message { margin:0 0 16px; }
.t-trip-workspace .t-trip-settings { position:sticky; top:96px; }
.t-trip-map-panel,.t-trip-itinerary-panel { scroll-margin-top:96px; }
.t-trip-workspace .t-trip-map-panel { position:relative; top:auto; margin:16px 0; overflow:hidden; }
.t-trip-workspace .t-map { height:510px; min-height:340px; }
.t-trip-route-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:10px; margin:16px 0; }
.t-trip-route-choice { text-align:left; padding:18px; background:#fff; color:var(--t-ink); border:1px solid var(--t-line); border-radius:14px; display:flex; flex-direction:column; gap:6px; }
.t-trip-route-choice strong { font-size:22px; line-height:1.2; }
.t-trip-route-choice span { font-size:12px; }
.t-trip-route-choice small { color:var(--t-muted); }
.t-trip-route-choice[aria-pressed=true] { border:2px solid var(--t-primary); padding:17px; background:#eff1ff; box-shadow:0 4px 16px #2e319214; }
.t-trip-discovery-bar { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:16px 0 0; }
.t-trip-discovery-bar strong { display:block; font-size:14px; }
.t-trip-discovery-bar p,.t-trip-discovery-bar label { font-size:12px; color:var(--t-muted); }
.t-trip-discovery-bar label { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.t-trip-discovery-bar select { width:100px; margin:0; }
.t-trip-section-title { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:12px; }
.t-trip-section-title h3 { margin-top:4px; }
.t-trip-section-title .t-button { flex-shrink:0; }
.t-trip-discovery,.t-trip-itinerary-panel { margin:20px 0; }
.t-trip-restaurants { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:18px 0; }
.t-trip-restaurant { border:1px solid var(--t-line); border-radius:13px; background:#fff; overflow:hidden; min-width:0; }
.t-trip-restaurant>button { border:0; background:none; color:inherit; width:100%; padding:14px; display:flex; gap:12px; text-align:left; align-items:flex-start; }
.t-trip-restaurant>button:hover { background:#f4f6fc; }
.t-trip-thumb { width:64px; height:68px; border-radius:10px; flex-shrink:0; object-fit:cover; background:#eef0f8; }
.t-trip-thumb-fallback { display:grid; place-items:center; font-size:25px; color:#7e89b0; }
.t-trip-restaurant-copy { min-width:0; display:flex; flex-direction:column; gap:5px; }
.t-trip-restaurant-copy strong { font-size:14px; line-height:1.35; }
.t-trip-restaurant-copy small { color:var(--t-muted); font-size:10px; line-height:1.4; }
.t-trip-restaurant-copy .t-trip-drive { color:var(--t-primary); font-size:12px; font-weight:650; }
.t-trip-cert { color:#157044; font-weight:650; font-size:10px; }
.t-trip-popup { width:300px; max-width:100%; font:13px/1.5 Poppins,"Segoe UI",sans-serif; color:#20245f; padding:2px 2px 8px; }
.t-trip-popup-photo { width:100%; height:115px; object-fit:cover; border-radius:10px; margin-bottom:12px; }
.t-trip-popup h3 { font-size:18px; margin:5px 0; }
.t-trip-popup p { margin:4px 0; font-size:12px; color:#65718a; }
.t-trip-popup-metrics { display:grid; grid-template-columns:1fr 1fr; gap:8px; background:#f0f3fb; border-radius:10px; padding:12px; margin:12px 0; }
.t-trip-popup-metrics strong { display:block; font-size:17px; }
.t-trip-popup-metrics small { font-size:10px; color:#65718a; }
.t-trip-popup .t-button { width:100%; margin:8px 0; padding:10px 14px; font:600 13px Poppins,"Segoe UI",sans-serif; }
.t-trip-popup a { font-size:12px; color:#2e3192; }
.t-trip-popup .t-trip-popup-warning { color:#9a5422; }
.t-trip-map-label { background:#fffffff2; border:1px solid #dce1f0; border-radius:5px; padding:2px 5px; box-shadow:0 1px 5px #0002; }
.t-trip-itinerary { list-style:none; padding:0; margin:20px 0; }
.t-trip-itinerary li { display:flex; align-items:flex-start; gap:14px; position:relative; padding:0 0 24px; }
.t-trip-itinerary li:last-child { padding-bottom:0; }
.t-trip-itinerary li:not(:last-child):before { content:""; position:absolute; left:16px; top:32px; bottom:0; width:2px; background:#dce1f0; }
.t-trip-itinerary-number { flex:0 0 34px; height:34px; border-radius:50%; background:#eef0fb; color:#2e3192; display:grid; place-items:center; font-weight:700; font-size:12px; z-index:1; }
.t-trip-itinerary-copy { flex:1; min-width:0; }
.t-trip-itinerary-copy strong { display:block; font-size:14px; }
.t-trip-itinerary-copy p { font-size:12px; color:var(--t-muted); }
.t-trip-itinerary .t-text-button { margin:0; font-size:11px; padding:4px; }
.t-trip-routing-note { margin-top:18px; }
@media (max-height:800px) { .t-trip-workspace .t-trip-settings { position:static; } }
@media (max-width:1100px) { .t-trip-restaurants { grid-template-columns:1fr; } .t-trip-discovery-bar { align-items:flex-start; flex-direction:column; gap:10px; } }
@media (max-width:767px) { .t-trip-workspace .t-trip-settings { position:static; } .t-trip-workspace .t-map { height:430px; } .t-trip-route-options { grid-template-columns:1fr; } .t-trip-route-choice { flex-direction:row; flex-wrap:wrap; align-items:center; gap:8px 14px; } .t-trip-route-choice small { width:100%; } .t-trip-section-title { align-items:flex-start; flex-direction:column; } .t-trip-popup { width:260px; } .t-trip-itinerary li { gap:10px; } }
