/* A floating day-by-day itinerary: route first, details on demand. */
#trip-planner.has-itinerary .tp-days{background:#fff;border:0;border-radius:24px;box-shadow:0 12px 35px #223a3525;overflow:hidden}
#trip-planner.has-itinerary .tp-days-head{position:relative;background:#fff;border:0;padding:16px 18px 5px;z-index:1}
#trip-planner.has-itinerary .tp-days-head span{font-size:10px;letter-spacing:.08em}
#trip-planner.has-itinerary .tp-days-head h2{font-size:17px;margin:3px 0 0}
#trip-planner.has-itinerary .tp-day-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px 14px 0;scrollbar-width:thin;scrollbar-color:#d9dedb transparent}
#trip-planner.has-itinerary .tp-result-summary{padding:0 4px 12px;margin:0;border:0}
#trip-planner.has-itinerary .tp-result-summary strong{font-size:14px;line-height:1.5}
#trip-planner.has-itinerary .tp-result-summary small{font-size:11px}
#trip-planner.has-itinerary .tp-source{font-size:9px;letter-spacing:.03em}
#trip-planner.has-itinerary .tp-notice{font-size:11px;line-height:1.5;padding:9px 11px;margin:0 0 12px;border-radius:10px;background:#f7f7f4}
#trip-planner.has-itinerary .tp-day-list{display:grid;gap:12px}
#trip-planner.has-itinerary .tp-day{display:block;text-align:left;width:100%;border:1px solid transparent;border-radius:15px;background:#f5f5f5;color:#252826;padding:15px;box-shadow:none;transition:background .22s,border-color .22s,transform .22s}
#trip-planner.has-itinerary .tp-day:hover{background:#eff3f1;transform:translateY(-2px)}
#trip-planner.has-itinerary .tp-day:focus-visible{outline:3px solid #237c72;outline-offset:2px}
#trip-planner.has-itinerary .tp-day.is-expanded{border-color:#c9ded2;background:#f1f7f3}
#trip-planner.has-itinerary .tp-day-title{display:flex;align-items:center;gap:12px;margin:0 0 8px}
#trip-planner.has-itinerary .tp-day-title strong{font-family:Arial,sans-serif;font-size:17px;font-weight:750;letter-spacing:.01em;color:#141715}
#trip-planner.has-itinerary .tp-day-badge{display:inline-flex;align-items:center;justify-content:center;min-width:50px;min-height:30px;padding:4px 7px;border:2px solid white;border-radius:8px;background:var(--day-color);color:#fff;font:700 12px/1 Arial,sans-serif;white-space:nowrap}
#trip-planner.has-itinerary .tp-day-arrow{margin-left:auto;font:400 28px/.7 Arial,sans-serif;color:#333;transition:transform .22s}
#trip-planner.has-itinerary .tp-day.is-expanded .tp-day-arrow{transform:rotate(90deg)}
#trip-planner.has-itinerary .tp-day-city{display:block;margin:0 0 5px;color:#929b96;font-size:12px;font-weight:700}
#trip-planner.has-itinerary .tp-day-stops{display:block;font-size:14px;line-height:1.8;overflow-wrap:anywhere;color:#323b36}
#trip-planner.has-itinerary .tp-day-stops i{font-style:normal;color:#b9c2bd;margin:0 3px}
#trip-planner.has-itinerary .tp-day-expanded{display:grid;grid-template-columns:70px minmax(0,1fr);gap:11px;margin:14px 0 0;padding-top:13px;border-top:1px solid #d8e5dc;font-size:12px;line-height:1.6;color:#52705e}
#trip-planner.has-itinerary .tp-day-expanded:not(:has(img)){grid-template-columns:1fr}
#trip-planner.has-itinerary .tp-day-expanded img{width:70px;height:70px;object-fit:cover;border-radius:9px}
#trip-planner.has-itinerary .tp-expanded-title{display:block;margin:0 0 4px;color:#233d30;font-size:13px}
#trip-planner.has-itinerary .tp-place-details{display:grid;gap:8px;margin:12px 0 0}
#trip-planner.has-itinerary .tp-place-details>span{display:block;border-top:1px solid #dce9df;padding-top:8px;font-size:12px}
#trip-planner.has-itinerary .tp-place-details small{display:block;margin-top:3px;color:#61776a;line-height:1.5}
#trip-planner.has-itinerary .tp-result-actions{position:sticky;bottom:0;z-index:2;margin:0 -14px;padding:12px 14px 14px;background:#fff}
#trip-planner.has-itinerary .tp-copy{display:flex;justify-content:center;align-items:center;gap:8px;width:100%;min-height:46px;border:0;border-radius:99px;background:#111;color:#fff;font-size:14px;font-weight:700;transition:background .2s,transform .2s}
#trip-planner.has-itinerary .tp-copy:hover{background:#284e3d;transform:translateY(-1px)}
#trip-planner.has-itinerary .tp-copy svg{position:static;visibility:visible;display:block;width:19px;height:19px;min-height:0;fill:none;stroke:currentColor;stroke-width:2}
#trip-planner.has-itinerary .tp-copy-status:empty{display:none}
#trip-planner.has-itinerary .tp-copy-status{display:block;margin:7px 4px 0;color:#38634c;font-size:11px}
#trip-planner.has-itinerary .tp-result-actions .tp-detail-link{display:block;margin:6px 0 0;padding:3px;border:0;background:none;color:#607b6a;text-align:center;font-size:11px}
@media(min-width:851px){
 #trip-planner.has-itinerary .tp-result{position:relative;display:block;min-width:0}
 #trip-planner.has-itinerary .tp-map{height:100%;min-height:740px}
 #trip-planner.has-itinerary .tp-days{position:absolute;z-index:6;top:15px;right:15px;bottom:15px;width:clamp(290px,24vw,350px);max-height:none;display:flex;flex-direction:column}
 #trip-planner.has-itinerary .tp-day-content{flex:1}
 #trip-planner.has-itinerary .tp-map-controls,#trip-planner.has-itinerary .tp-live-style{right:calc(clamp(290px,24vw,350px) + 29px)}
 #trip-planner.has-itinerary .tp-live-attribution{left:5px;right:auto;max-width:calc(100% - 390px)}
}
@media(max-width:850px){
 #trip-planner.has-itinerary .tp-days{margin:12px;max-height:620px;display:flex;flex-direction:column}
 #trip-planner.has-itinerary .tp-day-content{flex:1}
 #trip-planner.has-itinerary .tp-result-actions{padding-bottom:max(14px,env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){#trip-planner.has-itinerary .tp-day,#trip-planner.has-itinerary .tp-day-arrow,#trip-planner.has-itinerary .tp-copy{transition:none}#trip-planner.has-itinerary .tp-day:hover,#trip-planner.has-itinerary .tp-copy:hover{transform:none}}
