/* Responsive route card with the official Yandex Maps route widget. */
.map-shell [hidden]{display:none!important}
.map-shell{display:grid;max-width:1100px;margin-inline:auto;grid-template-columns:minmax(0,760px) minmax(280px,340px);overflow:hidden;border:1px solid #dfe6df;border-radius:18px;background:#fff;box-shadow:0 18px 55px #123b3210}
.map-canvas{display:flex;flex-direction:column;position:relative;min-width:0;isolation:isolate;background:#e8eee8}
.route-map{height:500px;min-height:500px;width:100%;background:#e8eee8;z-index:0}
.route-map-frame{display:block;width:100%;height:100%;border:0;background:#e8eee8}
.map-toolbar{position:relative;order:-1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:#f4f7ef;border-bottom:1px solid #e0e8db}
.map-mode,.map-fit{pointer-events:auto;background:#fffffff5;box-shadow:0 3px 16px #173b3320;border:1px solid #ffffffc9;backdrop-filter:blur(8px)}
.map-mode{display:flex;align-items:center;gap:8px;padding:11px 13px;border-radius:9px;color:#194c40;font-size:9px;letter-spacing:1.1px;font-weight:800}
.map-mode i{width:7px;height:7px;flex:none;border-radius:50%;background:#19735d;box-shadow:0 0 0 3px #19735d17}
.map-fit{display:grid;place-items:center;min-width:40px;min-height:40px;border-radius:9px;color:#194c40;cursor:pointer}
.map-fit:hover{background:#edf6ed}.map-fit svg{width:19px;height:19px}
.map-status{position:relative;max-width:none;padding:10px 14px;border-top:1px solid #dce5dc;background:#f4f7ef;color:#35604f;font-size:10px;line-height:1.55}
.map-status:empty{display:none}.map-status.is-warning{color:#795a25;background:#fffbefed;border-color:#e5d6b5}
.route-card{padding:29px 26px;display:flex;flex-direction:column;min-width:0;background:linear-gradient(160deg,#ffffff,#f7f8f2)}
.route-card-kicker{display:flex;align-items:center;justify-content:space-between;font-size:9px;font-weight:800;letter-spacing:2px;color:#a67c40;margin-bottom:30px}
.route-card-kicker b{font-size:24px;line-height:1;font-weight:400}
.route-endpoints{position:relative;display:flex;flex-direction:column;gap:26px}
.route-endpoints:before{content:'';position:absolute;top:27px;bottom:27px;left:14px;border-left:1px dashed #bfcfc2}
.route-endpoint{position:relative;display:flex;align-items:center;gap:13px;min-width:0}
.route-endpoint-icon{display:grid;place-items:center;width:29px;height:29px;flex:none;z-index:1;border-radius:50%;color:#fff;background:#145b4b;font-size:11px;font-weight:800;box-shadow:0 0 0 5px #fff}
.route-endpoint-end .route-endpoint-icon{background:#b78942}
.route-endpoint-via .route-endpoint-icon{width:15px;height:15px;margin-inline:7px;background:#fff;border:3px solid #b78942;box-shadow:0 0 0 4px #fff}
.route-endpoint-copy{min-width:0}.route-endpoint small{display:block;font-size:8px;letter-spacing:1.4px;color:#8a968a;font-weight:800;margin-bottom:5px}
.route-endpoint strong{display:block;color:#173f34;font-size:19px;font-weight:700;line-height:1.4;overflow-wrap:anywhere}
.route-endpoint-via strong{font-size:13px}
.route-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;border-top:1px solid #dfe7dc;border-bottom:1px solid #dfe7dc;padding-block:21px;margin-block:26px 17px}
.route-stats small{display:block;color:#8a968a;font-size:8px;letter-spacing:1px;font-weight:800;margin-bottom:9px}
.route-stats strong{display:block;font-size:22px;line-height:1.25;letter-spacing:-.6px;color:#164c3e;white-space:nowrap}
.route-details{font-size:10px;font-weight:700;line-height:1.6;color:#3f6958;margin:0 0 7px}
.route-card .map-footnote{font-size:10px;color:#7f8e80;line-height:1.7;margin:0 0 10px}
.route-card .map-hint{font-size:10px;line-height:1.65;color:#7f8e80;margin:0 0 20px}
.route-actions{display:grid;gap:12px;margin-top:auto}
.route-actions .map-refresh{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:42px;border:1px solid #d7e4d8;background:#eaf1e7;border-radius:8px;font-size:11px;color:#215a47;padding:10px 8px;font-weight:800;cursor:pointer}
.route-actions .map-refresh:hover{background:#dfebda}.route-actions .map-refresh:disabled{opacity:.6;cursor:progress}
.route-external{font-size:10px;line-height:1.6;font-weight:700;text-align:center;color:#416f59;text-decoration:underline;text-underline-offset:3px}
.map-fit:focus-visible,.route-external:focus-visible,.map-refresh:focus-visible{outline:3px solid #b68c49;outline-offset:3px}
@media(max-width:1050px){.map-shell{grid-template-columns:minmax(0,1fr) 290px}.route-card{padding:27px 22px}.route-stats strong{font-size:20px}}
@media(max-width:700px){.map-shell{display:grid;grid-template-columns:minmax(0,1fr);border-radius:13px}.route-map{height:500px;min-height:500px}.map-toolbar{padding:9px 12px}.map-mode{font-size:8px;padding:10px;letter-spacing:.8px}.map-fit{min-width:35px;min-height:35px}.map-status{font-size:9px;padding:9px 12px}.route-card{padding:23px}.route-card-kicker{margin-bottom:20px}.route-endpoints{gap:22px}.route-endpoint strong{font-size:18px}.route-stats{margin-block:21px 14px;padding-block:18px}.route-stats strong{font-size:23px}.route-card .map-hint{margin-bottom:18px}.route-actions{grid-template-columns:1fr;gap:13px}}
@media(max-width:380px){.route-map{height:500px;min-height:500px}.route-card{padding:20px}.map-mode{font-size:7px;letter-spacing:.5px}.route-stats strong{font-size:21px}}
