/* A compact planner workspace; the other guide tabs retain normal page scrolling. */
.planner-page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 4%;background:#fffefa;border-bottom:1px solid #dfe5dc}
.journeys-page #journeys-view .planner-page-nav{flex:1;min-width:0;padding:0;border:0}
.planner-workspace-entry{flex:none}
.planner-short-label{display:none}
.planner-workspace-entry .j-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 15px;border-radius:8px;font-size:12px;white-space:nowrap}
.tp-picker-body,.tp-controls-footer{display:contents}
#trip-planner .tp-selected-details{margin:7px 0;border:1px solid #e1e9e1;border-radius:9px;background:#f7f9f5}
#trip-planner .tp-selected-details>summary{cursor:pointer;padding:8px 10px;color:#496b58;font-size:11px;font-weight:650;line-height:1.3}
#trip-planner .tp-selected-details>summary:focus-visible{outline:2px solid #a5534e;outline-offset:2px}
#trip-planner .tp-selected-details[open]{padding-bottom:8px}
#trip-planner .tp-selected-details[open]>.tp-selected-label,#trip-planner .tp-selected-details[open]>.tp-chips{margin-left:10px;margin-right:10px}
@media (min-width:851px) and (min-height:650px){
 .journeys-page.planner-route-active>.breadcrumbs{display:none}
 .journeys-page.planner-route-active #journeys-view{height:calc(100dvh - 90px);min-height:0;display:flex;flex-direction:column}
 .journeys-page.planner-route-active .planner-page-toolbar{flex:none;min-height:52px;padding:0 3.5%}
 .journeys-page.planner-route-active .planner-page-nav button{min-height:52px}
 .journeys-page.planner-route-active #routes{flex:1;min-height:0}
 .journeys-page.planner-route-active #trip-planner{height:100%;min-height:0;display:flex;flex-direction:column;padding:14px 3.5% 12px}
 .journeys-page.planner-route-active #trip-planner .tp-heading{flex:none;align-items:center;gap:24px;margin:0 0 12px}
 .journeys-page.planner-route-active #trip-planner .tp-heading>div{display:flex;align-items:baseline;gap:16px;min-width:0}
 .journeys-page.planner-route-active #trip-planner .tp-heading h1{font-size:clamp(23px,2.1vw,31px);line-height:1.2;margin:0}
 .journeys-page.planner-route-active #trip-planner .tp-heading>p{font-size:12px;line-height:1.45;text-align:right;max-width:380px}
 .journeys-page.planner-route-active #trip-planner .tp-layout{flex:1;min-height:0;grid-template-columns:clamp(280px,23vw,335px) minmax(0,1fr);border-radius:17px}
 .journeys-page.planner-route-active #trip-planner .tp-controls{min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:15px 17px 12px}
 .journeys-page.planner-route-active #trip-planner .tp-controls-title{flex:none;margin-bottom:8px}
 .journeys-page.planner-route-active #trip-planner .tp-controls-title h2{font-size:18px;margin:4px 0 0}
 .journeys-page.planner-route-active #trip-planner .tp-picker-body{display:block;flex:1 1 auto;min-height:65px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:3px}
 .journeys-page.planner-route-active #trip-planner .tp-controls-footer{display:block;flex:0 0 auto;max-height:66%;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
 .journeys-page.planner-route-active #trip-planner .tp-search{margin:0 0 9px}
 .journeys-page.planner-route-active #trip-planner .tp-search input{min-height:40px}
 .journeys-page.planner-route-active #trip-planner .tp-selected-label{margin:8px 0 4px}
 .journeys-page.planner-route-active #trip-planner .tp-order-list{max-height:90px}
 .journeys-page.planner-route-active #trip-planner .tp-order-row{padding:1px 0}
 .journeys-page.planner-route-active #trip-planner .tp-order-actions button{width:26px;height:26px}
 .journeys-page.planner-route-active #trip-planner .tp-order-suggest{margin-top:5px;padding:5px 8px}
 .journeys-page.planner-route-active #trip-planner .tp-city-filter{margin-top:8px}
 .journeys-page.planner-route-active #trip-planner .tp-city-list{min-height:0;max-height:160px}
 .journeys-page.planner-route-active #trip-planner .tp-city{min-height:46px;padding:5px}
 .journeys-page.planner-route-active #trip-planner .tp-city img,.journeys-page.planner-route-active #trip-planner .tp-city-image{width:34px;height:34px}
 .journeys-page.planner-route-active #trip-planner .tp-duration{margin-top:8px;padding-top:8px}
 .journeys-page.planner-route-active #trip-planner .tp-duration>.tp-kicker{display:none}
 .journeys-page.planner-route-active #trip-planner .tp-duration-row{margin-top:4px}
 .journeys-page.planner-route-active #trip-planner .tp-quick-days{margin-top:7px}
 .journeys-page.planner-route-active #trip-planner .tp-generate{margin-top:8px;padding:11px 14px;min-height:43px}
 .journeys-page.planner-route-active #trip-planner .tp-ai-status{margin:5px 2px 0;line-height:1.4;min-height:0}
 .journeys-page.planner-route-active #trip-planner .tp-result,.journeys-page.planner-route-active #trip-planner .tp-map,.journeys-page.planner-route-active #trip-planner .tp-map svg{height:100%;min-height:0}
 .journeys-page.planner-route-active #trip-planner .tp-result{overflow:hidden}
 .journeys-page.planner-route-active #trip-planner .tp-days{min-height:0;max-height:none}
 .journeys-page.planner-route-active #trip-planner.has-canvas.has-itinerary .tp-result,.journeys-page.planner-route-active #trip-planner.has-canvas.has-itinerary .tp-map{min-height:0}
 .journeys-page.planner-route-active #trip-planner.has-canvas.has-itinerary .tp-days{min-height:0}
 .journeys-page.planner-route-active #trip-planner.has-canvas.has-itinerary .tp-day-content{max-height:32%}
 .journeys-page.planner-route-active #trip-planner.has-canvas.has-itinerary .tp-board .ic-board{min-height:0;max-height:none}
 .journeys-page.planner-route-active #trip-planner .tp-disclaimer{flex:none;margin:5px 0 0;font-size:10px;line-height:1.35}
}
@media (max-width:850px){
 .planner-page-toolbar{gap:8px;padding:0 3%;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}
 .journeys-page #journeys-view .planner-page-nav{flex:0 0 auto;overflow:visible}
 .planner-page-nav button{min-height:48px;padding:0 4px;font-size:10px}
 .planner-full-label{display:none}
 .planner-short-label{display:inline}
 .journeys-page.planner-route-active .chat-trigger{display:none}
 .planner-workspace-entry{margin:0 0 0 auto}
 .planner-workspace-entry .j-button{min-height:34px;padding:0 7px;font-size:10px}
 #trip-planner{padding-top:24px;padding-bottom:36px}
 #trip-planner .tp-heading{margin-bottom:18px}
 #trip-planner .tp-heading h1{font-size:clamp(27px,7vw,36px);margin-top:6px}
 #trip-planner .tp-heading>p{margin-top:7px;line-height:1.5}
 #trip-planner .tp-controls{padding:16px}
 .journeys-page.planner-route-active>.breadcrumbs{display:none}
 #trip-planner .tp-picker-body{display:block;max-height:240px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
 #trip-planner .tp-controls-footer{display:block}
 #trip-planner .tp-city-list{max-height:130px}
 #trip-planner .tp-selected-label{margin-top:10px}
 #trip-planner .tp-duration>.tp-kicker{display:none}
 #trip-planner .tp-duration-row{margin-top:5px}
}
@media (prefers-reduced-motion:reduce){.planner-page-toolbar *{scroll-behavior:auto}}


/* The selected-city order is a dedicated card in the left picker flow, never a map overlay. */
#trip-planner .tp-selected-panel{position:relative;z-index:auto;inset:auto;width:100%;max-height:min(210px,28vh);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;margin:5px 0 10px;padding:11px 12px;border:1px solid #e1e9df;border-radius:12px;background:#f7f9f5;box-shadow:none;color:#294739}
#trip-planner .tp-selected-panel:focus{outline:none}
#trip-planner .tp-selected-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:10px;border-bottom:1px solid #e7ede5}
#trip-planner .tp-selected-panel-head strong{font-size:14px;line-height:1.35}
#trip-planner .tp-panel-count{font-size:10px;color:#86998c;white-space:nowrap}
#trip-planner .tp-selected-panel .tp-chips{margin:8px 0 0}
#trip-planner .tp-selected-panel .tp-order-heading{font-size:10px;margin-bottom:4px}
#trip-planner .tp-selected-panel .tp-order-list{max-height:112px;overflow:auto;overscroll-behavior:contain}
#trip-planner .tp-selected-panel .tp-order-row{padding:2px 0}
#trip-planner .tp-selected-panel .tp-order-suggest{margin-top:7px}
#trip-planner .tp-selected-panel .tp-chips>small{display:block;color:#7f9385;line-height:1.6;font-size:11px}
@media(max-width:850px){
 #trip-planner .tp-selected-panel{max-height:260px;margin:10px 0;padding:13px 14px;border-radius:12px;background:#f7faf6}
 #trip-planner .tp-selected-panel .tp-order-actions button{width:38px;height:38px}
}
#trip-planner .tp-selected-panel:focus-visible{outline:2px solid #a5534e;outline-offset:2px}
@media(min-width:851px){
 #trip-planner.has-canvas.has-itinerary .tp-live-style{top:auto;right:auto;left:18px;bottom:44px}
}

/* Real basemap fallback and optional external verification of each city-to-city leg. */
#trip-planner .tp-route-check{margin-top:10px;border-top:1px solid #e3ebe2;padding-top:8px}
#trip-planner .tp-route-check summary{cursor:pointer;color:#315f48;font-size:11px;font-weight:700;line-height:1.45}
#trip-planner .tp-route-check p{margin:8px 0;color:#718679;font-size:10px;line-height:1.55}
#trip-planner .tp-route-check ol{list-style:none;margin:0;padding:0;display:grid;gap:5px}
#trip-planner .tp-route-check a{display:block;padding:7px 8px;border-radius:7px;background:#edf4ed;color:#315b43;font-size:11px;line-height:1.4;overflow-wrap:anywhere}
#trip-planner .tp-route-check a:hover{background:#e0eee2}
#trip-planner .tp-route-check summary:focus-visible,#trip-planner .tp-route-check a:focus-visible{outline:2px solid #a5534e;outline-offset:2px}
#trip-planner .tp-map-unavailable{position:absolute;z-index:5;bottom:42px;left:18px;max-width:min(360px,calc(100% - 90px));padding:8px 10px;border:1px solid #d8b68f;border-radius:8px;background:#fff9ef;color:#725539;font-size:11px;line-height:1.5;box-shadow:0 3px 12px #34463714}
#trip-planner .tp-map-unavailable[hidden]{display:none}

/* Keep the reason and recovery action next to an incomplete or preserved itinerary. */
#trip-planner .tp-stream-error{margin:8px 0;padding:10px 12px;border:1px solid #ead2ca;border-radius:9px;background:#fff6f1;color:#824c40;font-size:11px;line-height:1.5}
#trip-planner .tp-stream-error p{margin:0 0 8px}
#trip-planner .tp-stream-error button{border:0;border-radius:7px;padding:7px 10px;background:#315543;color:white;font-size:11px;font-weight:700}
#trip-planner .tp-stream-error button:focus-visible{outline:2px solid #a5534e;outline-offset:2px}
@media(min-width:851px) and (min-height:650px){
 .journeys-page.planner-route-active #trip-planner.has-canvas.has-itinerary .tp-day-content:has(.tp-stream-error){max-height:48%}
}
