@media screen{
 .route-detail-backdrop{padding:20px;overflow:hidden}
 .route-detail-modal{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:20px;width:min(1320px,100%);max-width:100%;max-height:calc(100dvh - 40px);min-height:0;overflow:auto;align-items:start;box-sizing:border-box;scrollbar-gutter:stable}
 .route-detail-modal>.route-detail-head{grid-column:1/-1;grid-row:1;margin:0;min-width:0;flex-wrap:wrap;align-items:center}
 .route-detail-head-actions{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-end;max-width:100%;gap:8px}
 .route-detail-modal>.jt-canonical-summary{grid-column:1;grid-row:2;order:0;padding:0;max-height:none;height:auto;overflow:visible;min-width:0;border:0}
 .jt-canonical-summary h3{font-size:16px;margin:0 0 14px;line-height:1.4}
 .jt-canonical-summary ol{list-style:none;counter-reset:jt-stop;margin:0;padding:0}
 .jt-canonical-summary li{counter-increment:jt-stop;position:relative;margin:0 0 12px;padding:16px 16px 16px 52px;border:1px solid #d5e3d9;border-radius:12px;overflow-wrap:anywhere;line-height:1.5}
 .jt-canonical-summary li::before{content:counter(jt-stop);position:absolute;left:13px;top:16px;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#176342;color:#fff;font-size:13px;font-weight:700}
 .jt-canonical-summary>strong:last-child{display:block;padding:15px;border-radius:10px;background:#173e29;color:white;line-height:1.5}
 .route-detail-modal>.route-detail-layout{grid-column:2;grid-row:2;display:flex;flex-direction:column;gap:16px;min-width:0;width:100%;align-items:stretch}
 .route-detail-layout>.route-map-section,.route-detail-layout>.route-detail-sidebar{width:100%;min-width:0;max-width:100%}
 .route-detail-modal .map-frame{height:clamp(280px,39vh,420px);width:100%;min-width:0;overflow:hidden;border-radius:12px}
 .route-detail-modal .leaflet-route-map{width:100%;height:100%}
 .route-detail-modal .route-itinerary{min-width:0;overflow-wrap:anywhere}
 .route-detail-modal .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;min-width:0}
 .route-detail-modal .detail-grid>div{min-width:0;overflow-wrap:anywhere}
 .route-detail-modal .route-detail-actions{display:flex;flex-wrap:wrap;gap:9px}
 .route-detail-modal .route-detail-actions button{max-width:100%;white-space:normal}
 .route-detail-modal .maps-link{white-space:normal;overflow-wrap:anywhere}
}
@media screen and (max-width:999px){
 .route-detail-backdrop{padding:10px}
 .route-detail-modal{grid-template-columns:minmax(0,1fr);max-height:calc(100dvh - 20px);gap:18px;padding:18px;border-radius:12px}
 .route-detail-modal>.jt-canonical-summary{grid-column:1;grid-row:2}
 .route-detail-modal>.route-detail-layout{grid-column:1;grid-row:3}
}
@media screen and (max-width:540px){
 .route-detail-backdrop{padding:0}
 .route-detail-modal{width:100%;max-height:100dvh;border-radius:0;padding:14px}
 .route-detail-head-actions{justify-content:flex-start}
 .route-detail-head h2{font-size:24px}
 .route-detail-head-actions button{font-size:12px;padding:9px}
 .route-detail-modal .map-frame{height:280px}
}
